PHPackages                             sugarcraft/candy-forms - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. [CLI &amp; Console](/categories/cli)
4. /
5. sugarcraft/candy-forms

ActiveLibrary[CLI &amp; Console](/categories/cli)

sugarcraft/candy-forms
======================

Foundation lib for form primitives (TextInput, TextArea, ItemList, Viewport, FilePicker, Field interface, Confirm, Form) extracted from sugar-bits and sugar-prompt.

0909↑888.9%PHP

Since Jul 12Pushed 1w agoCompare

[ Source](https://github.com/sugarcraft/candy-forms)[ Packagist](https://packagist.org/packages/sugarcraft/candy-forms)[ RSS](/packages/sugarcraft-candy-forms/feed)WikiDiscussions master Synced 1w ago

READMEChangelogDependenciesVersions (1)Used By (0)

CandyForms
==========

[](#candyforms)

Foundation lib for form and input primitives — the raw component implementations that `sugar-bits` and `sugar-prompt` re-export. Extracted out of those two leaf libs so the form/prompt engine can ship as a single standalone dependency.

Install
-------

[](#install)

```
composer require sugarcraft/candy-forms
```

Role
----

[](#role)

CandyForms owns the full primitive + form surface:

- **Input primitives** — `TextInput`, `TextArea`, `ItemList`, `Viewport`, `FilePicker`, `Cursor`, `Scrollbar`, `Spinner`.
- **Form engine** — `Field` interface + `Field\{Input,Text,Confirm,Select, MultiSelect,Note,FilePicker}`, `Form`, `Group`, `KeyMap`, `Theme`, `Fuzzy\FuzzyMatcher`, and `Validator\{Required,Email,MinLength,MaxLength,Pattern}`.

`sugar-bits` (`SugarCraft\Bits\*`) and `sugar-prompt` (`SugarCraft\Prompt\*`) now expose these classes as thin `class_alias` shims pointing back here, so existing imports keep working while the canonical implementation lives in `SugarCraft\Forms\*`.

Quickstart
----------

[](#quickstart)

A single-field form:

```
