@reformer/ui-kit 7.0.0 → 8.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/llms.txt +3 -15
- package/package.json +1 -1
package/llms.txt
CHANGED
|
@@ -435,7 +435,6 @@ import { Textarea } from '@reformer/ui-kit';
|
|
|
435
435
|
- [03-choice-fields.md](03-choice-fields.md) — Select, Checkbox, RadioGroup.
|
|
436
436
|
- [05-form-field-integration.md](05-form-field-integration.md) — как все эти поля автоматически подключаются через `FormField`.
|
|
437
437
|
- [06-troubleshooting.md](06-troubleshooting.md) — «number возвращает строку», «mask пропускает символы», «password toggle не появляется».
|
|
438
|
-
- Эталон: `examples/registration-form/RegistrationForm.tsx`, `examples/complex-multy-step-form/schemas/schema.ts` (monorepo examples).
|
|
439
438
|
|
|
440
439
|
## 12. Checkbox
|
|
441
440
|
|
|
@@ -801,7 +800,6 @@ const form = createForm<{ city: string }>({ model, schema });
|
|
|
801
800
|
- [02-text-fields.md](02-text-fields.md) — `Input`, `InputMask`, `InputPassword`, `Textarea`.
|
|
802
801
|
- [05-form-field-integration.md](05-form-field-integration.md) — `FormField` распознаёт `Checkbox` и не дублирует label.
|
|
803
802
|
- [06-troubleshooting.md](06-troubleshooting.md) — «Select не показывает options», «options vs resource», «onBlur не срабатывает на Select/RadioGroup».
|
|
804
|
-
- Эталон: `examples/complex-multy-step-form/schemas/schema.ts` (monorepo example) — большой пример с `Select` и `Checkbox` в реальной форме.
|
|
805
803
|
|
|
806
804
|
## 16. Button
|
|
807
805
|
|
|
@@ -1205,8 +1203,6 @@ function CreditApplicationPage() {
|
|
|
1205
1203
|
}
|
|
1206
1204
|
```
|
|
1207
1205
|
|
|
1208
|
-
Эталон: `examples/complex-multy-step-form-renderer/CreditApplicationFormRenderer.tsx` (monorepo example).
|
|
1209
|
-
|
|
1210
1206
|
`testId` рендерер берёт из `componentProps.testId` листа schema:
|
|
1211
1207
|
|
|
1212
1208
|
```tsx
|
|
@@ -1298,7 +1294,6 @@ const form = createForm<{ accept: boolean }>({ model, schema });
|
|
|
1298
1294
|
- [04-layout-and-buttons.md](04-layout-and-buttons.md) — `Button` для submit/prev/next.
|
|
1299
1295
|
- [06-troubleshooting.md](06-troubleshooting.md) — «label дублируется», «error не появляется», «FormField не подцепляет ошибки».
|
|
1300
1296
|
- CDK-хуки: [@reformer/cdk/form-field](../../../reformer-cdk/docs/llms/) (`FormField.Root`, `useFormFieldContext`).
|
|
1301
|
-
- Эталон: `examples/complex-multy-step-form-renderer/CreditApplicationFormRenderer.tsx` (monorepo example) — `FormField` как `fieldWrapper` целой multi-step формы.
|
|
1302
1297
|
|
|
1303
1298
|
## 25. 1. `Input type="number"` возвращает строку, а не число (или `null`)
|
|
1304
1299
|
|
|
@@ -1680,14 +1675,7 @@ const handleSubmit = async () => {
|
|
|
1680
1675
|
> **`config` не привязан к типу формы.** `FormWizardConfig` — это `{ validateStep?, validateAll? }`,
|
|
1681
1676
|
> оба колбэка возвращают `boolean | Promise<boolean>`. Канон M1 — прогонять
|
|
1682
1677
|
> `validateFormModel(model, schema)` (именно он исполняет `validators` листьев;
|
|
1683
|
-
> `form.validate()` по нодам схемные правила НЕ запустит).
|
|
1684
|
-
> `examples/complex-multy-step-form/schemas/validation.ts`. Реальный эталон собирает конфиг фабрикой:
|
|
1685
|
-
>
|
|
1686
|
-
> ```tsx
|
|
1687
|
-
> import { makeCreditValidationConfig } from './schemas/validation';
|
|
1688
|
-
> const config = useMemo(() => makeCreditValidationConfig(model), [model]);
|
|
1689
|
-
> // → { validateStep: (step) => Promise<boolean>, validateAll: () => Promise<boolean> }
|
|
1690
|
-
> ```
|
|
1678
|
+
> `form.validate()` по нодам схемные правила НЕ запустит).
|
|
1691
1679
|
|
|
1692
1680
|
### Альтернатива — imperative submit с values
|
|
1693
1681
|
|
|
@@ -1914,7 +1902,7 @@ const renderSchema = createRenderSchema<CreditApplication>(() => ({
|
|
|
1914
1902
|
|
|
1915
1903
|
ui-kit FormArraySection маркирован `__selfManagedChildren = true` — родитель-renderer пробрасывает `form` без рекурсии.
|
|
1916
1904
|
|
|
1917
|
-
> Альтернатива — нативный array-узел движка `{ array: model.properties, initialValue, item: (im) => ({ children: [ { value: im.$.field, component } ] }) }
|
|
1905
|
+
> Альтернатива — нативный array-узел движка `{ array: model.properties, initialValue, item: (im) => ({ children: [ { value: im.$.field, component } ] }) }`.
|
|
1918
1906
|
|
|
1919
1907
|
## 45. JSON (renderer-json)
|
|
1920
1908
|
|
|
@@ -2118,7 +2106,7 @@ const onSubmit = async () => {
|
|
|
2118
2106
|
|
|
2119
2107
|
Cross-field правила (например, «доп. телефон отличается от основного») — это
|
|
2120
2108
|
именованные `ModelValidator<value, scope, root>` в том же массиве `validators`
|
|
2121
|
-
(читают корень формы через третий аргумент).
|
|
2109
|
+
(читают корень формы через третий аргумент).
|
|
2122
2110
|
|
|
2123
2111
|
## 51. Advanced — strict mask через FormField + children slot
|
|
2124
2112
|
|