@ankhorage/zora 9.0.1 → 11.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.
Files changed (237) hide show
  1. package/CHANGELOG.md +17 -0
  2. package/README.md +2 -2
  3. package/dist/constants.d.ts +2 -1
  4. package/dist/constants.d.ts.map +1 -1
  5. package/dist/constants.js +2 -1
  6. package/dist/constants.js.map +1 -1
  7. package/dist/features/bottom-sheet/bottomSheetMeta.d.ts +1 -1
  8. package/dist/features/card/cardMeta.d.ts +1 -1
  9. package/dist/features/card/mediaCardMeta.d.ts +1 -1
  10. package/dist/features/card/postCardMeta.d.ts +1 -1
  11. package/dist/features/form/adapters/inbound/Form.d.ts +5 -0
  12. package/dist/features/form/adapters/inbound/Form.d.ts.map +1 -0
  13. package/dist/features/form/adapters/inbound/Form.js +18 -0
  14. package/dist/features/form/adapters/inbound/Form.js.map +1 -0
  15. package/dist/{components/form → features/form/adapters/inbound}/FormActions.d.ts +1 -1
  16. package/dist/features/form/adapters/inbound/FormActions.d.ts.map +1 -0
  17. package/dist/{components/form → features/form/adapters/inbound}/FormActions.js +3 -3
  18. package/dist/features/form/adapters/inbound/FormActions.js.map +1 -0
  19. package/dist/features/form/adapters/inbound/FormError.d.ts +5 -0
  20. package/dist/features/form/adapters/inbound/FormError.d.ts.map +1 -0
  21. package/dist/features/form/adapters/inbound/FormError.js +18 -0
  22. package/dist/features/form/adapters/inbound/FormError.js.map +1 -0
  23. package/dist/features/form/adapters/inbound/FormField.d.ts +5 -0
  24. package/dist/features/form/adapters/inbound/FormField.d.ts.map +1 -0
  25. package/dist/{patterns/form-field → features/form/adapters/inbound}/FormField.js +5 -4
  26. package/dist/features/form/adapters/inbound/FormField.js.map +1 -0
  27. package/dist/features/form/formActionsMeta.d.ts +9 -0
  28. package/dist/features/form/formActionsMeta.d.ts.map +1 -0
  29. package/dist/features/form/formActionsMeta.js +9 -0
  30. package/dist/features/form/formActionsMeta.js.map +1 -0
  31. package/dist/features/form/formErrorMeta.d.ts +32 -0
  32. package/dist/features/form/formErrorMeta.d.ts.map +1 -0
  33. package/dist/features/form/formErrorMeta.js +19 -0
  34. package/dist/features/form/formErrorMeta.js.map +1 -0
  35. package/dist/{components/form/meta.d.ts → features/form/formFieldMeta.d.ts} +28 -39
  36. package/dist/features/form/formFieldMeta.d.ts.map +1 -0
  37. package/dist/features/form/formFieldMeta.js +35 -0
  38. package/dist/features/form/formFieldMeta.js.map +1 -0
  39. package/dist/features/form/formMeta.d.ts +61 -0
  40. package/dist/features/form/formMeta.d.ts.map +1 -0
  41. package/dist/features/form/formMeta.js +34 -0
  42. package/dist/features/form/formMeta.js.map +1 -0
  43. package/dist/features/form/public.d.ts +8 -0
  44. package/dist/features/form/public.d.ts.map +1 -0
  45. package/dist/features/form/public.js +7 -0
  46. package/dist/features/form/public.js.map +1 -0
  47. package/dist/{components → features}/form/useFormController.d.ts +1 -1
  48. package/dist/features/form/useFormController.d.ts.map +1 -0
  49. package/dist/{components → features}/form/useFormController.js +1 -1
  50. package/dist/features/form/useFormController.js.map +1 -0
  51. package/dist/{components/form → features/form/utils}/validation.d.ts +1 -1
  52. package/dist/features/form/utils/validation.d.ts.map +1 -0
  53. package/dist/{components/form → features/form/utils}/validation.js +2 -4
  54. package/dist/features/form/utils/validation.js.map +1 -0
  55. package/dist/features/keyboard-avoiding-view/adapters/inbound/KeyboardAvoidingView.d.ts +5 -0
  56. package/dist/features/keyboard-avoiding-view/adapters/inbound/KeyboardAvoidingView.d.ts.map +1 -0
  57. package/dist/features/keyboard-avoiding-view/adapters/inbound/KeyboardAvoidingView.js +10 -0
  58. package/dist/features/keyboard-avoiding-view/adapters/inbound/KeyboardAvoidingView.js.map +1 -0
  59. package/dist/features/keyboard-avoiding-view/keyboardAvoidingViewMeta.d.ts +36 -0
  60. package/dist/features/keyboard-avoiding-view/keyboardAvoidingViewMeta.d.ts.map +1 -0
  61. package/dist/features/keyboard-avoiding-view/keyboardAvoidingViewMeta.js +37 -0
  62. package/dist/features/keyboard-avoiding-view/keyboardAvoidingViewMeta.js.map +1 -0
  63. package/dist/features/keyboard-avoiding-view/public.d.ts +3 -0
  64. package/dist/features/keyboard-avoiding-view/public.d.ts.map +1 -0
  65. package/dist/features/keyboard-avoiding-view/public.js +3 -0
  66. package/dist/features/keyboard-avoiding-view/public.js.map +1 -0
  67. package/dist/features/layout/boxMeta.d.ts +1 -1
  68. package/dist/features/layout/containerMeta.d.ts +1 -1
  69. package/dist/features/layout/gridMeta.d.ts +1 -1
  70. package/dist/features/layout/stackMeta.d.ts +1 -1
  71. package/dist/features/list/flatListMeta.d.ts +1 -1
  72. package/dist/features/list/sectionListMeta.d.ts +1 -1
  73. package/dist/features/surface/surfaceMeta.d.ts +1 -1
  74. package/dist/features/uploader/adapters/inbound/Uploader.d.ts.map +1 -1
  75. package/dist/features/uploader/adapters/inbound/Uploader.js +1 -1
  76. package/dist/features/uploader/adapters/inbound/Uploader.js.map +1 -1
  77. package/dist/index.d.ts +3 -4
  78. package/dist/index.d.ts.map +1 -1
  79. package/dist/index.js +2 -2
  80. package/dist/index.js.map +1 -1
  81. package/dist/layout/screen/meta.d.ts +1 -1
  82. package/dist/layout/screen-section/meta.d.ts +1 -1
  83. package/dist/metadata/allowedChildren.d.ts +3 -3
  84. package/dist/metadata/allowedChildren.d.ts.map +1 -1
  85. package/dist/metadata/allowedChildren.js +2 -2
  86. package/dist/metadata/allowedChildren.js.map +1 -1
  87. package/dist/metadata/bindableComponentMeta.d.ts +2 -2
  88. package/dist/metadata/componentMeta.d.ts.map +1 -1
  89. package/dist/metadata/componentMeta.js +6 -3
  90. package/dist/metadata/componentMeta.js.map +1 -1
  91. package/dist/patterns/auth/AuthForm.d.ts +21 -0
  92. package/dist/patterns/auth/AuthForm.d.ts.map +1 -0
  93. package/dist/patterns/auth/AuthForm.js +19 -0
  94. package/dist/patterns/auth/AuthForm.js.map +1 -0
  95. package/dist/patterns/auth/AuthFormField.d.ts +16 -0
  96. package/dist/patterns/auth/AuthFormField.d.ts.map +1 -0
  97. package/dist/patterns/auth/AuthFormField.js +38 -0
  98. package/dist/patterns/auth/AuthFormField.js.map +1 -0
  99. package/dist/patterns/auth/ForgotPasswordForm.d.ts.map +1 -1
  100. package/dist/patterns/auth/ForgotPasswordForm.js +2 -2
  101. package/dist/patterns/auth/ForgotPasswordForm.js.map +1 -1
  102. package/dist/patterns/auth/OtpForm.d.ts.map +1 -1
  103. package/dist/patterns/auth/OtpForm.js +2 -2
  104. package/dist/patterns/auth/OtpForm.js.map +1 -1
  105. package/dist/patterns/auth/SignInForm.d.ts.map +1 -1
  106. package/dist/patterns/auth/SignInForm.js +2 -2
  107. package/dist/patterns/auth/SignInForm.js.map +1 -1
  108. package/dist/patterns/auth/SignUpForm.d.ts.map +1 -1
  109. package/dist/patterns/auth/SignUpForm.js +2 -2
  110. package/dist/patterns/auth/SignUpForm.js.map +1 -1
  111. package/dist/patterns/auth/types.d.ts +1 -1
  112. package/dist/patterns/auth/types.d.ts.map +1 -1
  113. package/dist/patterns/auth/types.js.map +1 -1
  114. package/dist/patterns/auth/utils.d.ts +1 -1
  115. package/dist/patterns/auth/utils.d.ts.map +1 -1
  116. package/dist/patterns/auth/utils.js.map +1 -1
  117. package/dist/patterns/inspector-field/InspectorField.js +1 -1
  118. package/dist/patterns/inspector-field/InspectorField.js.map +1 -1
  119. package/dist/patterns/message-bubble/meta.d.ts +1 -1
  120. package/dist/patterns/notice/meta.d.ts +1 -1
  121. package/dist/patterns/panel/meta.d.ts +1 -1
  122. package/dist/patterns/reader/meta.d.ts +2 -2
  123. package/dist/patterns/scanner/meta.d.ts +2 -2
  124. package/dist/registry.js +3 -3
  125. package/dist/registry.js.map +1 -1
  126. package/dist/{components/form/types.d.ts → types/form.d.ts} +12 -28
  127. package/dist/types/form.d.ts.map +1 -0
  128. package/dist/types/form.js +2 -0
  129. package/dist/types/form.js.map +1 -0
  130. package/dist/types/keyboard-avoiding-view.d.ts +6 -0
  131. package/dist/types/keyboard-avoiding-view.d.ts.map +1 -0
  132. package/dist/types/keyboard-avoiding-view.js +2 -0
  133. package/dist/types/keyboard-avoiding-view.js.map +1 -0
  134. package/package.json +3 -2
  135. package/src/audit.test.ts +2 -4
  136. package/src/constants.ts +2 -1
  137. package/src/featureManifest.test.ts +7 -0
  138. package/src/features/form/adapters/inbound/Form.tsx +39 -0
  139. package/src/{components/form → features/form/adapters/inbound}/FormActions.tsx +4 -4
  140. package/src/features/form/adapters/inbound/FormError.tsx +22 -0
  141. package/src/{patterns/form-field → features/form/adapters/inbound}/FormField.tsx +6 -4
  142. package/src/features/form/formActionsMeta.ts +9 -0
  143. package/src/features/form/formErrorMeta.ts +19 -0
  144. package/src/features/form/formFieldMeta.ts +35 -0
  145. package/src/features/form/formMeta.ts +34 -0
  146. package/src/{components/form/index.ts → features/form/public.ts} +6 -7
  147. package/src/{components → features}/form/useFormController.ts +2 -2
  148. package/src/{components/form → features/form/utils}/validation.test.ts +4 -1
  149. package/src/{components/form → features/form/utils}/validation.ts +4 -8
  150. package/src/features/keyboard-avoiding-view/adapters/inbound/KeyboardAvoidingView.tsx +18 -0
  151. package/src/features/keyboard-avoiding-view/keyboardAvoidingViewMeta.ts +38 -0
  152. package/src/features/keyboard-avoiding-view/public.ts +5 -0
  153. package/src/features/uploader/adapters/inbound/Uploader.tsx +1 -1
  154. package/src/index.ts +31 -29
  155. package/src/metadata/allowedChildren.ts +2 -2
  156. package/src/metadata/componentMeta.test.ts +32 -2
  157. package/src/metadata/componentMeta.ts +6 -3
  158. package/src/patterns/auth/AuthForm.tsx +68 -0
  159. package/src/patterns/auth/AuthFormField.tsx +81 -0
  160. package/src/patterns/auth/ForgotPasswordForm.tsx +3 -2
  161. package/src/patterns/auth/OtpForm.tsx +3 -2
  162. package/src/patterns/auth/SignInForm.tsx +3 -2
  163. package/src/patterns/auth/SignUpForm.tsx +3 -2
  164. package/src/patterns/auth/types.ts +1 -1
  165. package/src/patterns/auth/utils.ts +1 -1
  166. package/src/patterns/inspector-field/InspectorField.tsx +1 -1
  167. package/src/platformAcceptance.test.ts +1 -1
  168. package/src/registry.ts +3 -3
  169. package/src/showcaseCoverage.test.ts +1 -0
  170. package/src/theme/themeScopeStructure.test.ts +5 -7
  171. package/src/{components/form/types.ts → types/form.ts} +12 -36
  172. package/src/types/keyboard-avoiding-view.ts +10 -0
  173. package/dist/components/form/Form.d.ts +0 -7
  174. package/dist/components/form/Form.d.ts.map +0 -1
  175. package/dist/components/form/Form.js +0 -34
  176. package/dist/components/form/Form.js.map +0 -1
  177. package/dist/components/form/FormActions.d.ts.map +0 -1
  178. package/dist/components/form/FormActions.js.map +0 -1
  179. package/dist/components/form/FormError.d.ts +0 -7
  180. package/dist/components/form/FormError.d.ts.map +0 -1
  181. package/dist/components/form/FormError.js +0 -21
  182. package/dist/components/form/FormError.js.map +0 -1
  183. package/dist/components/form/FormField.d.ts +0 -7
  184. package/dist/components/form/FormField.d.ts.map +0 -1
  185. package/dist/components/form/FormField.js +0 -81
  186. package/dist/components/form/FormField.js.map +0 -1
  187. package/dist/components/form/index.d.ts +0 -8
  188. package/dist/components/form/index.d.ts.map +0 -1
  189. package/dist/components/form/index.js +0 -7
  190. package/dist/components/form/index.js.map +0 -1
  191. package/dist/components/form/meta.d.ts.map +0 -1
  192. package/dist/components/form/meta.js +0 -94
  193. package/dist/components/form/meta.js.map +0 -1
  194. package/dist/components/form/types.d.ts.map +0 -1
  195. package/dist/components/form/types.js +0 -2
  196. package/dist/components/form/types.js.map +0 -1
  197. package/dist/components/form/useFormController.d.ts.map +0 -1
  198. package/dist/components/form/useFormController.js.map +0 -1
  199. package/dist/components/form/validation.d.ts.map +0 -1
  200. package/dist/components/form/validation.js.map +0 -1
  201. package/dist/features/splash-screen/adapters/inbound/SplashScreen.d.ts +0 -11
  202. package/dist/features/splash-screen/adapters/inbound/SplashScreen.d.ts.map +0 -1
  203. package/dist/features/splash-screen/adapters/inbound/SplashScreen.js +0 -55
  204. package/dist/features/splash-screen/adapters/inbound/SplashScreen.js.map +0 -1
  205. package/dist/features/splash-screen/public.d.ts +0 -3
  206. package/dist/features/splash-screen/public.d.ts.map +0 -1
  207. package/dist/features/splash-screen/public.js +0 -2
  208. package/dist/features/splash-screen/public.js.map +0 -1
  209. package/dist/features/splash-screen/splashScreenMeta.d.ts +0 -39
  210. package/dist/features/splash-screen/splashScreenMeta.d.ts.map +0 -1
  211. package/dist/features/splash-screen/splashScreenMeta.js +0 -40
  212. package/dist/features/splash-screen/splashScreenMeta.js.map +0 -1
  213. package/dist/patterns/form-field/FormField.d.ts +0 -4
  214. package/dist/patterns/form-field/FormField.d.ts.map +0 -1
  215. package/dist/patterns/form-field/FormField.js.map +0 -1
  216. package/dist/patterns/form-field/index.d.ts +0 -2
  217. package/dist/patterns/form-field/index.d.ts.map +0 -1
  218. package/dist/patterns/form-field/index.js +0 -2
  219. package/dist/patterns/form-field/index.js.map +0 -1
  220. package/dist/patterns/form-field/types.d.ts +0 -9
  221. package/dist/patterns/form-field/types.d.ts.map +0 -1
  222. package/dist/patterns/form-field/types.js +0 -2
  223. package/dist/patterns/form-field/types.js.map +0 -1
  224. package/dist/types/splash-screen.d.ts +0 -16
  225. package/dist/types/splash-screen.d.ts.map +0 -1
  226. package/dist/types/splash-screen.js +0 -2
  227. package/dist/types/splash-screen.js.map +0 -1
  228. package/src/components/form/Form.tsx +0 -74
  229. package/src/components/form/FormError.tsx +0 -34
  230. package/src/components/form/FormField.tsx +0 -157
  231. package/src/components/form/meta.ts +0 -98
  232. package/src/features/splash-screen/adapters/inbound/SplashScreen.tsx +0 -98
  233. package/src/features/splash-screen/public.ts +0 -2
  234. package/src/features/splash-screen/splashScreenMeta.ts +0 -41
  235. package/src/patterns/form-field/index.ts +0 -1
  236. package/src/patterns/form-field/types.ts +0 -16
  237. package/src/types/splash-screen.ts +0 -18
package/CHANGELOG.md CHANGED
@@ -1,5 +1,22 @@
1
1
  # Changelog
2
2
 
3
+ ## 11.0.0
4
+
5
+ ### Major Changes
6
+
7
+ - 70a48ec: Replace the config-driven `Form` API with compositional `Form`, `FormField`, and `FormError` manifest nodes under canonical feature ownership.
8
+
9
+ `Form` now accepts `FormField` and global `FormError` children instead of `fields`, `values`, `onChange`, `errors`, `error`, and `footer`. Compose each control explicitly inside a `FormField`, keep field errors on `FormField.errorText`, and place global submission errors directly inside `Form`. The submit callback no longer receives values; controlled field state remains owned by the consumer.
10
+
11
+ Email rules now use the shared `@ankhorage/utility/regex` validation semantics.
12
+
13
+ ## 10.0.0
14
+
15
+ ### Major Changes
16
+
17
+ - 8e3d5db: Add a manifest-authorable KeyboardAvoidingView feature backed by the Surface layout primitive, and
18
+ remove the obsolete React-rendered SplashScreen API.
19
+
3
20
  ## 9.0.1
4
21
 
5
22
  ### Patch Changes
package/README.md CHANGED
@@ -1,9 +1,9 @@
1
1
  <!-- markdownlint-disable MD013 MD033 -->
2
2
  <!-- This file is generated by Paradox. Do not edit manually. -->
3
3
 
4
- # ZORA
4
+ # @ankhorage/zora
5
5
 
6
- ![license: MIT](././paradox/badges/license.svg) ![npm: v8.0.0](././paradox/badges/npm.svg) ![runtime: bun](././paradox/badges/runtime.svg) ![typescript: strict](././paradox/badges/typescript.svg) ![eslint: checked](././paradox/badges/eslint.svg) ![prettier: checked](././paradox/badges/prettier.svg) ![build: checked](././paradox/badges/build.svg) ![tests: checked](././paradox/badges/tests.svg) ![docs: paradox](././paradox/badges/docs.svg)
6
+ ![license: MIT](././paradox/badges/license.svg) ![npm: v10.0.0](././paradox/badges/npm.svg) ![runtime: bun](././paradox/badges/runtime.svg) ![typescript: strict](././paradox/badges/typescript.svg) ![eslint: checked](././paradox/badges/eslint.svg) ![prettier: checked](././paradox/badges/prettier.svg) ![build: checked](././paradox/badges/build.svg) ![tests: checked](././paradox/badges/tests.svg) ![docs: paradox](././paradox/badges/docs.svg)
7
7
 
8
8
  Opinionated React Native and React Native Web UI kit built on @ankhorage/surface.
9
9
 
@@ -10,12 +10,13 @@ export declare const FEATURE_MANIFEST_ELEMENTS: {
10
10
  readonly card: readonly ["Card", "MediaCard", "MetricCard", "PostCard", "ProductCard"];
11
11
  readonly chip: readonly ["Chip", "ChipGroup"];
12
12
  readonly 'data-table': readonly ["DataTable"];
13
+ readonly form: readonly ["Form", "FormError", "FormField"];
13
14
  readonly button: readonly ["Button", "IconButton", "ButtonGroup"];
14
15
  readonly icon: readonly ["Icon"];
15
16
  readonly image: readonly ["Image"];
17
+ readonly 'keyboard-avoiding-view': readonly ["KeyboardAvoidingView"];
16
18
  readonly layout: readonly ["Box", "Container", "ContentRail", "Divider", "Grid", "Stack"];
17
19
  readonly list: readonly ["FlatList", "SectionList"];
18
- readonly 'splash-screen': readonly ["SplashScreen"];
19
20
  readonly typography: readonly ["Heading", "Text"];
20
21
  readonly uploader: readonly ["Uploader"];
21
22
  readonly 'bottom-sheet': readonly ["BottomSheet"];
@@ -1 +1 @@
1
- {"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../src/constants.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,yBAAyB;;;;CAI5B,CAAC;AAEX,eAAO,MAAM,yBAAyB;;;;;;;;;;;;;;;;CAgB5B,CAAC"}
1
+ {"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../src/constants.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,yBAAyB;;;;CAI5B,CAAC;AAEX,eAAO,MAAM,yBAAyB;;;;;;;;;;;;;;;;;CAiB5B,CAAC"}
package/dist/constants.js CHANGED
@@ -10,12 +10,13 @@ export const FEATURE_MANIFEST_ELEMENTS = {
10
10
  card: ['Card', 'MediaCard', 'MetricCard', 'PostCard', 'ProductCard'],
11
11
  chip: ['Chip', 'ChipGroup'],
12
12
  'data-table': ['DataTable'],
13
+ form: ['Form', 'FormError', 'FormField'],
13
14
  button: ['Button', 'IconButton', 'ButtonGroup'],
14
15
  icon: ['Icon'],
15
16
  image: ['Image'],
17
+ 'keyboard-avoiding-view': ['KeyboardAvoidingView'],
16
18
  layout: ['Box', 'Container', 'ContentRail', 'Divider', 'Grid', 'Stack'],
17
19
  list: ['FlatList', 'SectionList'],
18
- 'splash-screen': ['SplashScreen'],
19
20
  typography: ['Heading', 'Text'],
20
21
  uploader: ['Uploader'],
21
22
  'bottom-sheet': ['BottomSheet'],
@@ -1 +1 @@
1
- {"version":3,"file":"constants.js","sourceRoot":"","sources":["../src/constants.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,yBAAyB,GAAG;IACvC,SAAS,EAAE,OAAO;IAClB,KAAK,EAAE,WAAW;IAClB,qBAAqB,EAAE,IAAI;CACnB,CAAC;AAEX,MAAM,CAAC,MAAM,yBAAyB,GAAG;IACvC,OAAO,EAAE,CAAC,SAAS,CAAC;IACpB,MAAM,EAAE,CAAC,QAAQ,EAAE,aAAa,CAAC;IACjC,KAAK,EAAE,CAAC,OAAO,CAAC;IAChB,IAAI,EAAE,CAAC,MAAM,EAAE,WAAW,EAAE,YAAY,EAAE,UAAU,EAAE,aAAa,CAAC;IACpE,IAAI,EAAE,CAAC,MAAM,EAAE,WAAW,CAAC;IAC3B,YAAY,EAAE,CAAC,WAAW,CAAC;IAC3B,MAAM,EAAE,CAAC,QAAQ,EAAE,YAAY,EAAE,aAAa,CAAC;IAC/C,IAAI,EAAE,CAAC,MAAM,CAAC;IACd,KAAK,EAAE,CAAC,OAAO,CAAC;IAChB,MAAM,EAAE,CAAC,KAAK,EAAE,WAAW,EAAE,aAAa,EAAE,SAAS,EAAE,MAAM,EAAE,OAAO,CAAC;IACvE,IAAI,EAAE,CAAC,UAAU,EAAE,aAAa,CAAC;IACjC,eAAe,EAAE,CAAC,cAAc,CAAC;IACjC,UAAU,EAAE,CAAC,SAAS,EAAE,MAAM,CAAC;IAC/B,QAAQ,EAAE,CAAC,UAAU,CAAC;IACtB,cAAc,EAAE,CAAC,aAAa,CAAC;CACvB,CAAC","sourcesContent":["export const COMPONENT_THEME_AUTHORING = {\n authority: 'theme',\n scope: 'component',\n allowInstanceOverride: true,\n} as const;\n\nexport const FEATURE_MANIFEST_ELEMENTS = {\n surface: ['Surface'],\n avatar: ['Avatar', 'AvatarGroup'],\n badge: ['Badge'],\n card: ['Card', 'MediaCard', 'MetricCard', 'PostCard', 'ProductCard'],\n chip: ['Chip', 'ChipGroup'],\n 'data-table': ['DataTable'],\n button: ['Button', 'IconButton', 'ButtonGroup'],\n icon: ['Icon'],\n image: ['Image'],\n layout: ['Box', 'Container', 'ContentRail', 'Divider', 'Grid', 'Stack'],\n list: ['FlatList', 'SectionList'],\n 'splash-screen': ['SplashScreen'],\n typography: ['Heading', 'Text'],\n uploader: ['Uploader'],\n 'bottom-sheet': ['BottomSheet'],\n} as const;\n"]}
1
+ {"version":3,"file":"constants.js","sourceRoot":"","sources":["../src/constants.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,yBAAyB,GAAG;IACvC,SAAS,EAAE,OAAO;IAClB,KAAK,EAAE,WAAW;IAClB,qBAAqB,EAAE,IAAI;CACnB,CAAC;AAEX,MAAM,CAAC,MAAM,yBAAyB,GAAG;IACvC,OAAO,EAAE,CAAC,SAAS,CAAC;IACpB,MAAM,EAAE,CAAC,QAAQ,EAAE,aAAa,CAAC;IACjC,KAAK,EAAE,CAAC,OAAO,CAAC;IAChB,IAAI,EAAE,CAAC,MAAM,EAAE,WAAW,EAAE,YAAY,EAAE,UAAU,EAAE,aAAa,CAAC;IACpE,IAAI,EAAE,CAAC,MAAM,EAAE,WAAW,CAAC;IAC3B,YAAY,EAAE,CAAC,WAAW,CAAC;IAC3B,IAAI,EAAE,CAAC,MAAM,EAAE,WAAW,EAAE,WAAW,CAAC;IACxC,MAAM,EAAE,CAAC,QAAQ,EAAE,YAAY,EAAE,aAAa,CAAC;IAC/C,IAAI,EAAE,CAAC,MAAM,CAAC;IACd,KAAK,EAAE,CAAC,OAAO,CAAC;IAChB,wBAAwB,EAAE,CAAC,sBAAsB,CAAC;IAClD,MAAM,EAAE,CAAC,KAAK,EAAE,WAAW,EAAE,aAAa,EAAE,SAAS,EAAE,MAAM,EAAE,OAAO,CAAC;IACvE,IAAI,EAAE,CAAC,UAAU,EAAE,aAAa,CAAC;IACjC,UAAU,EAAE,CAAC,SAAS,EAAE,MAAM,CAAC;IAC/B,QAAQ,EAAE,CAAC,UAAU,CAAC;IACtB,cAAc,EAAE,CAAC,aAAa,CAAC;CACvB,CAAC","sourcesContent":["export const COMPONENT_THEME_AUTHORING = {\n authority: 'theme',\n scope: 'component',\n allowInstanceOverride: true,\n} as const;\n\nexport const FEATURE_MANIFEST_ELEMENTS = {\n surface: ['Surface'],\n avatar: ['Avatar', 'AvatarGroup'],\n badge: ['Badge'],\n card: ['Card', 'MediaCard', 'MetricCard', 'PostCard', 'ProductCard'],\n chip: ['Chip', 'ChipGroup'],\n 'data-table': ['DataTable'],\n form: ['Form', 'FormError', 'FormField'],\n button: ['Button', 'IconButton', 'ButtonGroup'],\n icon: ['Icon'],\n image: ['Image'],\n 'keyboard-avoiding-view': ['KeyboardAvoidingView'],\n layout: ['Box', 'Container', 'ContentRail', 'Divider', 'Grid', 'Stack'],\n list: ['FlatList', 'SectionList'],\n typography: ['Heading', 'Text'],\n uploader: ['Uploader'],\n 'bottom-sheet': ['BottomSheet'],\n} as const;\n"]}
@@ -2,7 +2,7 @@ export declare const bottomSheetMeta: {
2
2
  readonly name: "BottomSheet";
3
3
  readonly category: "layout";
4
4
  readonly directManifestNode: true;
5
- readonly allowedChildren: readonly ["ActivityIndicator", "Surface", "Avatar", "AvatarGroup", "Badge", "MediaCard", "MetricCard", "Chip", "ChipGroup", "DataTable", "IconButton", "SplashScreen", "Uploader", "FlatList", "SectionList", "BottomSheet", "ProductCard", "Box", "Stack", "Grid", "Container", "Divider", "Text", "Heading", "Icon", "Image", "Button", "ButtonGroup", "RadioGroup", "ThemeModeToggle", "TextInput", "FormField", "Card", "Panel", "Notice", "EmptyState", "SectionHeader", "SettingsRow", "PostCard", "ChatListItem", "MessageBubble", "ProgressRing", "ReaderSurface", "ContentRail", "MissingElement"];
5
+ readonly allowedChildren: readonly ["ActivityIndicator", "Surface", "Avatar", "AvatarGroup", "Badge", "MediaCard", "MetricCard", "Chip", "ChipGroup", "DataTable", "IconButton", "Uploader", "FlatList", "SectionList", "BottomSheet", "ProductCard", "Box", "Stack", "Grid", "Container", "Divider", "Text", "Heading", "Icon", "Image", "KeyboardAvoidingView", "Button", "ButtonGroup", "RadioGroup", "ThemeModeToggle", "TextInput", "Form", "Card", "Panel", "Notice", "EmptyState", "SectionHeader", "SettingsRow", "PostCard", "ChatListItem", "MessageBubble", "ProgressRing", "ReaderSurface", "ContentRail", "MissingElement"];
6
6
  readonly description: "Controlled presentation through the shared single-sheet host. Bind dismiss to clear open.";
7
7
  readonly events: {
8
8
  readonly dismiss: {
@@ -2,7 +2,7 @@ export declare const cardMeta: {
2
2
  readonly name: "Card";
3
3
  readonly category: "component";
4
4
  readonly directManifestNode: true;
5
- readonly allowedChildren: readonly ["ActivityIndicator", "Surface", "Avatar", "AvatarGroup", "Badge", "MediaCard", "MetricCard", "Chip", "ChipGroup", "DataTable", "IconButton", "SplashScreen", "Uploader", "FlatList", "SectionList", "BottomSheet", "ProductCard", "Box", "Stack", "Grid", "Container", "Divider", "Text", "Heading", "Icon", "Image", "Button", "ButtonGroup", "RadioGroup", "ThemeModeToggle", "TextInput", "FormField", "Card", "Panel", "Notice", "EmptyState", "SectionHeader", "SettingsRow", "PostCard", "ChatListItem", "MessageBubble", "ProgressRing", "ReaderSurface", "ContentRail", "MissingElement"];
5
+ readonly allowedChildren: readonly ["ActivityIndicator", "Surface", "Avatar", "AvatarGroup", "Badge", "MediaCard", "MetricCard", "Chip", "ChipGroup", "DataTable", "IconButton", "Uploader", "FlatList", "SectionList", "BottomSheet", "ProductCard", "Box", "Stack", "Grid", "Container", "Divider", "Text", "Heading", "Icon", "Image", "KeyboardAvoidingView", "Button", "ButtonGroup", "RadioGroup", "ThemeModeToggle", "TextInput", "Form", "Card", "Panel", "Notice", "EmptyState", "SectionHeader", "SettingsRow", "PostCard", "ChatListItem", "MessageBubble", "ProgressRing", "ReaderSurface", "ContentRail", "MissingElement"];
6
6
  readonly blueprint: {
7
7
  readonly label: "Card";
8
8
  readonly defaultProps: {
@@ -2,7 +2,7 @@ export declare const mediaCardMeta: {
2
2
  readonly name: "MediaCard";
3
3
  readonly category: "component";
4
4
  readonly directManifestNode: true;
5
- readonly allowedChildren: readonly ["ActivityIndicator", "Surface", "Avatar", "AvatarGroup", "Badge", "MediaCard", "MetricCard", "Chip", "ChipGroup", "DataTable", "IconButton", "SplashScreen", "Uploader", "FlatList", "SectionList", "BottomSheet", "ProductCard", "Box", "Stack", "Grid", "Container", "Divider", "Text", "Heading", "Icon", "Image", "Button", "ButtonGroup", "RadioGroup", "ThemeModeToggle", "TextInput", "FormField", "Card", "Panel", "Notice", "EmptyState", "SectionHeader", "SettingsRow", "PostCard", "ChatListItem", "MessageBubble", "ProgressRing", "ReaderSurface", "ContentRail", "MissingElement"];
5
+ readonly allowedChildren: readonly ["ActivityIndicator", "Surface", "Avatar", "AvatarGroup", "Badge", "MediaCard", "MetricCard", "Chip", "ChipGroup", "DataTable", "IconButton", "Uploader", "FlatList", "SectionList", "BottomSheet", "ProductCard", "Box", "Stack", "Grid", "Container", "Divider", "Text", "Heading", "Icon", "Image", "KeyboardAvoidingView", "Button", "ButtonGroup", "RadioGroup", "ThemeModeToggle", "TextInput", "Form", "Card", "Panel", "Notice", "EmptyState", "SectionHeader", "SettingsRow", "PostCard", "ChatListItem", "MessageBubble", "ProgressRing", "ReaderSurface", "ContentRail", "MissingElement"];
6
6
  readonly events: {
7
7
  readonly press: {
8
8
  readonly label: "Press";
@@ -3,7 +3,7 @@ export declare const postCardMeta: {
3
3
  readonly category: "pattern";
4
4
  readonly description: "Social/content post card with author identity, body, media, actions, and comment previews.";
5
5
  readonly directManifestNode: true;
6
- readonly allowedChildren: readonly ["ActivityIndicator", "Surface", "Avatar", "AvatarGroup", "Badge", "MediaCard", "MetricCard", "Chip", "ChipGroup", "DataTable", "IconButton", "SplashScreen", "Uploader", "FlatList", "SectionList", "BottomSheet", "ProductCard", "Box", "Stack", "Grid", "Container", "Divider", "Text", "Heading", "Icon", "Image", "Button", "ButtonGroup", "RadioGroup", "ThemeModeToggle", "TextInput", "FormField", "Card", "Panel", "Notice", "EmptyState", "SectionHeader", "SettingsRow", "PostCard", "ChatListItem", "MessageBubble", "ProgressRing", "ReaderSurface", "ContentRail", "MissingElement"];
6
+ readonly allowedChildren: readonly ["ActivityIndicator", "Surface", "Avatar", "AvatarGroup", "Badge", "MediaCard", "MetricCard", "Chip", "ChipGroup", "DataTable", "IconButton", "Uploader", "FlatList", "SectionList", "BottomSheet", "ProductCard", "Box", "Stack", "Grid", "Container", "Divider", "Text", "Heading", "Icon", "Image", "KeyboardAvoidingView", "Button", "ButtonGroup", "RadioGroup", "ThemeModeToggle", "TextInput", "Form", "Card", "Panel", "Notice", "EmptyState", "SectionHeader", "SettingsRow", "PostCard", "ChatListItem", "MessageBubble", "ProgressRing", "ReaderSurface", "ContentRail", "MissingElement"];
7
7
  readonly blueprint: {
8
8
  readonly label: "Post card";
9
9
  readonly icon: {
@@ -0,0 +1,5 @@
1
+ import React from 'react';
2
+ import type { FormProps } from '../../../../types/form';
3
+ /*** Composes explicit form fields, form errors, and submit actions. */
4
+ export declare const Form: (props: FormProps) => React.ReactElement | null;
5
+ //# sourceMappingURL=Form.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Form.d.ts","sourceRoot":"","sources":["../../../../../src/features/form/adapters/inbound/Form.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAG1B,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,wBAAwB,CAAC;AAkCxD,uEAAuE;AACvE,eAAO,MAAM,IAAI,iDAAgC,CAAC"}
@@ -0,0 +1,18 @@
1
+ import React from 'react';
2
+ import { withZoraThemeScope } from '../../../../theme/withZoraThemeScope';
3
+ import { Stack } from '../../../layout/public';
4
+ import { FormActions } from './FormActions';
5
+ function FormInner({ themeId: _themeId, mode: _mode, children, onSubmit, loading = false, disabled = false, submitLabel = 'Submit', actions, testID, interactionPolicy, }) {
6
+ return (<Stack gap="m" testID={testID}>
7
+ {children}
8
+ <FormActions disabled={disabled} interactionPolicy={interactionPolicy} loading={loading} onSubmit={() => {
9
+ if (interactionPolicy !== 'passive')
10
+ void onSubmit?.();
11
+ }} submitLabel={submitLabel}>
12
+ {actions}
13
+ </FormActions>
14
+ </Stack>);
15
+ }
16
+ /*** Composes explicit form fields, form errors, and submit actions. */
17
+ export const Form = withZoraThemeScope(FormInner);
18
+ //# sourceMappingURL=Form.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Form.js","sourceRoot":"","sources":["../../../../../src/features/form/adapters/inbound/Form.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,OAAO,EAAE,kBAAkB,EAAE,MAAM,sCAAsC,CAAC;AAE1E,OAAO,EAAE,KAAK,EAAE,MAAM,wBAAwB,CAAC;AAC/C,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAE5C,SAAS,SAAS,CAAC,EACjB,OAAO,EAAE,QAAQ,EACjB,IAAI,EAAE,KAAK,EACX,QAAQ,EACR,QAAQ,EACR,OAAO,GAAG,KAAK,EACf,QAAQ,GAAG,KAAK,EAChB,WAAW,GAAG,QAAQ,EACtB,OAAO,EACP,MAAM,EACN,iBAAiB,GACP;IACV,OAAO,CACL,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,MAAM,CAAC,CAC5B;MAAA,CAAC,QAAQ,CACT;MAAA,CAAC,WAAW,CACV,QAAQ,CAAC,CAAC,QAAQ,CAAC,CACnB,iBAAiB,CAAC,CAAC,iBAAiB,CAAC,CACrC,OAAO,CAAC,CAAC,OAAO,CAAC,CACjB,QAAQ,CAAC,CAAC,GAAG,EAAE;YACb,IAAI,iBAAiB,KAAK,SAAS;gBAAE,KAAK,QAAQ,EAAE,EAAE,CAAC;QACzD,CAAC,CAAC,CACF,WAAW,CAAC,CAAC,WAAW,CAAC,CAEzB;QAAA,CAAC,OAAO,CACV;MAAA,EAAE,WAAW,CACf;IAAA,EAAE,KAAK,CAAC,CACT,CAAC;AACJ,CAAC;AAED,uEAAuE;AACvE,MAAM,CAAC,MAAM,IAAI,GAAG,kBAAkB,CAAC,SAAS,CAAC,CAAC","sourcesContent":["import React from 'react';\n\nimport { withZoraThemeScope } from '../../../../theme/withZoraThemeScope';\nimport type { FormProps } from '../../../../types/form';\nimport { Stack } from '../../../layout/public';\nimport { FormActions } from './FormActions';\n\nfunction FormInner({\n themeId: _themeId,\n mode: _mode,\n children,\n onSubmit,\n loading = false,\n disabled = false,\n submitLabel = 'Submit',\n actions,\n testID,\n interactionPolicy,\n}: FormProps) {\n return (\n <Stack gap=\"m\" testID={testID}>\n {children}\n <FormActions\n disabled={disabled}\n interactionPolicy={interactionPolicy}\n loading={loading}\n onSubmit={() => {\n if (interactionPolicy !== 'passive') void onSubmit?.();\n }}\n submitLabel={submitLabel}\n >\n {actions}\n </FormActions>\n </Stack>\n );\n}\n\n/*** Composes explicit form fields, form errors, and submit actions. */\nexport const Form = withZoraThemeScope(FormInner);\n"]}
@@ -1,5 +1,5 @@
1
1
  import React from 'react';
2
- import type { FormActionsProps } from './types';
2
+ import type { FormActionsProps } from '../../../../types/form';
3
3
  /***
4
4
  * Standard submit/action area for forms.
5
5
  */
@@ -0,0 +1 @@
1
+ {"version":3,"file":"FormActions.d.ts","sourceRoot":"","sources":["../../../../../src/features/form/adapters/inbound/FormActions.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAG1B,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AA+B/D;;GAEG;AACH,eAAO,MAAM,WAAW,wDAAuC,CAAC"}
@@ -1,7 +1,7 @@
1
1
  import React from 'react';
2
- import { Button } from '../../features/button/public';
3
- import { Box, Stack } from '../../features/layout/public';
4
- import { withZoraThemeScope } from '../../theme/withZoraThemeScope';
2
+ import { withZoraThemeScope } from '../../../../theme/withZoraThemeScope';
3
+ import { Button } from '../../../button/public';
4
+ import { Box, Stack } from '../../../layout/public';
5
5
  function FormActionsInner({ themeId: _themeId, mode: _mode, submitLabel = 'Submit', loading = false, disabled = false, onSubmit, children, testID, interactionPolicy, }) {
6
6
  return (<Stack gap="s" testID={testID}>
7
7
  <Button disabled={disabled} fullWidth interactionPolicy={interactionPolicy} loading={loading} onPress={onSubmit}>
@@ -0,0 +1 @@
1
+ {"version":3,"file":"FormActions.js","sourceRoot":"","sources":["../../../../../src/features/form/adapters/inbound/FormActions.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,OAAO,EAAE,kBAAkB,EAAE,MAAM,sCAAsC,CAAC;AAE1E,OAAO,EAAE,MAAM,EAAE,MAAM,wBAAwB,CAAC;AAChD,OAAO,EAAE,GAAG,EAAE,KAAK,EAAE,MAAM,wBAAwB,CAAC;AAEpD,SAAS,gBAAgB,CAAC,EACxB,OAAO,EAAE,QAAQ,EACjB,IAAI,EAAE,KAAK,EACX,WAAW,GAAG,QAAQ,EACtB,OAAO,GAAG,KAAK,EACf,QAAQ,GAAG,KAAK,EAChB,QAAQ,EACR,QAAQ,EACR,MAAM,EACN,iBAAiB,GACA;IACjB,OAAO,CACL,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,MAAM,CAAC,CAC5B;MAAA,CAAC,MAAM,CACL,QAAQ,CAAC,CAAC,QAAQ,CAAC,CACnB,SAAS,CACT,iBAAiB,CAAC,CAAC,iBAAiB,CAAC,CACrC,OAAO,CAAC,CAAC,OAAO,CAAC,CACjB,OAAO,CAAC,CAAC,QAAQ,CAAC,CAElB;QAAA,CAAC,WAAW,CACd;MAAA,EAAE,MAAM,CACR;MAAA,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,QAAQ,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAC1C;IAAA,EAAE,KAAK,CAAC,CACT,CAAC;AACJ,CAAC;AAED;;GAEG;AACH,MAAM,CAAC,MAAM,WAAW,GAAG,kBAAkB,CAAC,gBAAgB,CAAC,CAAC","sourcesContent":["import React from 'react';\n\nimport { withZoraThemeScope } from '../../../../theme/withZoraThemeScope';\nimport type { FormActionsProps } from '../../../../types/form';\nimport { Button } from '../../../button/public';\nimport { Box, Stack } from '../../../layout/public';\n\nfunction FormActionsInner({\n themeId: _themeId,\n mode: _mode,\n submitLabel = 'Submit',\n loading = false,\n disabled = false,\n onSubmit,\n children,\n testID,\n interactionPolicy,\n}: FormActionsProps) {\n return (\n <Stack gap=\"s\" testID={testID}>\n <Button\n disabled={disabled}\n fullWidth\n interactionPolicy={interactionPolicy}\n loading={loading}\n onPress={onSubmit}\n >\n {submitLabel}\n </Button>\n {children ? <Box>{children}</Box> : null}\n </Stack>\n );\n}\n\n/***\n * Standard submit/action area for forms.\n */\nexport const FormActions = withZoraThemeScope(FormActionsInner);\n"]}
@@ -0,0 +1,5 @@
1
+ import React from 'react';
2
+ import type { FormErrorProps } from '../../../../types/form';
3
+ /*** Displays a form-level validation or submission error. */
4
+ export declare const FormError: (props: FormErrorProps) => React.ReactElement | null;
5
+ //# sourceMappingURL=FormError.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"FormError.d.ts","sourceRoot":"","sources":["../../../../../src/features/form/adapters/inbound/FormError.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAI1B,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAC;AAgB7D,6DAA6D;AAC7D,eAAO,MAAM,SAAS,sDAAqC,CAAC"}
@@ -0,0 +1,18 @@
1
+ import React from 'react';
2
+ import { useZoraTheme } from '../../../../theme/useZoraTheme';
3
+ import { withZoraThemeScope } from '../../../../theme/withZoraThemeScope';
4
+ import { Box } from '../../../layout/public';
5
+ import { Text } from '../../../typography/public';
6
+ function FormErrorInner({ themeId: _themeId, mode: _mode, error, testID }) {
7
+ const { theme } = useZoraTheme();
8
+ if (!error)
9
+ return null;
10
+ return (<Box borderColor={theme.colors.error} borderWidth={1} p="s" radius="m" testID={testID}>
11
+ <Text color="error" variant="bodySmall">
12
+ {error}
13
+ </Text>
14
+ </Box>);
15
+ }
16
+ /*** Displays a form-level validation or submission error. */
17
+ export const FormError = withZoraThemeScope(FormErrorInner);
18
+ //# sourceMappingURL=FormError.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"FormError.js","sourceRoot":"","sources":["../../../../../src/features/form/adapters/inbound/FormError.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,OAAO,EAAE,YAAY,EAAE,MAAM,gCAAgC,CAAC;AAC9D,OAAO,EAAE,kBAAkB,EAAE,MAAM,sCAAsC,CAAC;AAE1E,OAAO,EAAE,GAAG,EAAE,MAAM,wBAAwB,CAAC;AAC7C,OAAO,EAAE,IAAI,EAAE,MAAM,4BAA4B,CAAC;AAElD,SAAS,cAAc,CAAC,EAAE,OAAO,EAAE,QAAQ,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,EAAkB;IACvF,MAAM,EAAE,KAAK,EAAE,GAAG,YAAY,EAAE,CAAC;IACjC,IAAI,CAAC,KAAK;QAAE,OAAO,IAAI,CAAC;IACxB,OAAO,CACL,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,MAAM,CAAC,CACpF;MAAA,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,WAAW,CACrC;QAAA,CAAC,KAAK,CACR;MAAA,EAAE,IAAI,CACR;IAAA,EAAE,GAAG,CAAC,CACP,CAAC;AACJ,CAAC;AAED,6DAA6D;AAC7D,MAAM,CAAC,MAAM,SAAS,GAAG,kBAAkB,CAAC,cAAc,CAAC,CAAC","sourcesContent":["import React from 'react';\n\nimport { useZoraTheme } from '../../../../theme/useZoraTheme';\nimport { withZoraThemeScope } from '../../../../theme/withZoraThemeScope';\nimport type { FormErrorProps } from '../../../../types/form';\nimport { Box } from '../../../layout/public';\nimport { Text } from '../../../typography/public';\n\nfunction FormErrorInner({ themeId: _themeId, mode: _mode, error, testID }: FormErrorProps) {\n const { theme } = useZoraTheme();\n if (!error) return null;\n return (\n <Box borderColor={theme.colors.error} borderWidth={1} p=\"s\" radius=\"m\" testID={testID}>\n <Text color=\"error\" variant=\"bodySmall\">\n {error}\n </Text>\n </Box>\n );\n}\n\n/*** Displays a form-level validation or submission error. */\nexport const FormError = withZoraThemeScope(FormErrorInner);\n"]}
@@ -0,0 +1,5 @@
1
+ import React from 'react';
2
+ import type { FormFieldProps } from '../../../../types/form';
3
+ /*** Groups one form control with its label, description, helper text, and field error. */
4
+ export declare const FormField: (props: FormFieldProps) => React.ReactElement | null;
5
+ //# sourceMappingURL=FormField.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"FormField.d.ts","sourceRoot":"","sources":["../../../../../src/features/form/adapters/inbound/FormField.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,MAAM,OAAO,CAAC;AAG1B,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAC;AAoC7D,0FAA0F;AAC1F,eAAO,MAAM,SAAS,sDAAqC,CAAC"}
@@ -1,9 +1,9 @@
1
1
  import { Field } from '@ankhorage/surface';
2
2
  import React from 'react';
3
- import { Stack } from '../../features/layout/public';
4
- import { Text } from '../../features/typography/public';
5
- import { withZoraThemeScope } from '../../theme/withZoraThemeScope';
6
- function FormFieldInner({ themeId: _themeId, mode: _mode, label, description, helperText, children, ...props }) {
3
+ import { withZoraThemeScope } from '../../../../theme/withZoraThemeScope';
4
+ import { Stack } from '../../../layout/public';
5
+ import { Text } from '../../../typography/public';
6
+ function FormFieldInner({ themeId: _themeId, mode: _mode, label, description, helperText, children, interactionPolicy: _interactionPolicy, ...props }) {
7
7
  return (<Field {...props} helperText={helperText} label={<Stack gap="xs">
8
8
  <Text variant="label" weight="semiBold">
9
9
  {label}
@@ -15,5 +15,6 @@ function FormFieldInner({ themeId: _themeId, mode: _mode, label, description, he
15
15
  {children}
16
16
  </Field>);
17
17
  }
18
+ /*** Groups one form control with its label, description, helper text, and field error. */
18
19
  export const FormField = withZoraThemeScope(FormFieldInner);
19
20
  //# sourceMappingURL=FormField.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"FormField.js","sourceRoot":"","sources":["../../../../../src/features/form/adapters/inbound/FormField.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,oBAAoB,CAAC;AAC3C,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,OAAO,EAAE,kBAAkB,EAAE,MAAM,sCAAsC,CAAC;AAE1E,OAAO,EAAE,KAAK,EAAE,MAAM,wBAAwB,CAAC;AAC/C,OAAO,EAAE,IAAI,EAAE,MAAM,4BAA4B,CAAC;AAElD,SAAS,cAAc,CAAC,EACtB,OAAO,EAAE,QAAQ,EACjB,IAAI,EAAE,KAAK,EACX,KAAK,EACL,WAAW,EACX,UAAU,EACV,QAAQ,EACR,iBAAiB,EAAE,kBAAkB,EACrC,GAAG,KAAK,EACO;IACf,OAAO,CACL,CAAC,KAAK,CACJ,IAAI,KAAK,CAAC,CACV,UAAU,CAAC,CAAC,UAAU,CAAC,CACvB,KAAK,CAAC,CACJ,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,CACb;UAAA,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,UAAU,CACrC;YAAA,CAAC,KAAK,CACR;UAAA,EAAE,IAAI,CACN;UAAA,CAAC,WAAW,CAAC,CAAC,CAAC,CACb,CAAC,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,OAAO,CAAC,WAAW,CACxC;cAAA,CAAC,WAAW,CACd;YAAA,EAAE,IAAI,CAAC,CACR,CAAC,CAAC,CAAC,IAAI,CACV;QAAA,EAAE,KAAK,CACT,CAAC,CAED;MAAA,CAAC,QAAQ,CACX;IAAA,EAAE,KAAK,CAAC,CACT,CAAC;AACJ,CAAC;AAED,0FAA0F;AAC1F,MAAM,CAAC,MAAM,SAAS,GAAG,kBAAkB,CAAC,cAAc,CAAC,CAAC","sourcesContent":["import { Field } from '@ankhorage/surface';\nimport React from 'react';\n\nimport { withZoraThemeScope } from '../../../../theme/withZoraThemeScope';\nimport type { FormFieldProps } from '../../../../types/form';\nimport { Stack } from '../../../layout/public';\nimport { Text } from '../../../typography/public';\n\nfunction FormFieldInner({\n themeId: _themeId,\n mode: _mode,\n label,\n description,\n helperText,\n children,\n interactionPolicy: _interactionPolicy,\n ...props\n}: FormFieldProps) {\n return (\n <Field\n {...props}\n helperText={helperText}\n label={\n <Stack gap=\"xs\">\n <Text variant=\"label\" weight=\"semiBold\">\n {label}\n </Text>\n {description ? (\n <Text emphasis=\"muted\" variant=\"bodySmall\">\n {description}\n </Text>\n ) : null}\n </Stack>\n }\n >\n {children}\n </Field>\n );\n}\n\n/*** Groups one form control with its label, description, helper text, and field error. */\nexport const FormField = withZoraThemeScope(FormFieldInner);\n"]}
@@ -0,0 +1,9 @@
1
+ export declare const formActionsMeta: {
2
+ readonly name: "FormActions";
3
+ readonly category: "component";
4
+ readonly directManifestNode: false;
5
+ readonly allowedChildren: readonly [];
6
+ readonly note: "Internal form action helper.";
7
+ readonly props: {};
8
+ };
9
+ //# sourceMappingURL=formActionsMeta.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"formActionsMeta.d.ts","sourceRoot":"","sources":["../../../src/features/form/formActionsMeta.ts"],"names":[],"mappings":"AACA,eAAO,MAAM,eAAe;;;;;;;CAOU,CAAC"}
@@ -0,0 +1,9 @@
1
+ export const formActionsMeta = {
2
+ name: 'FormActions',
3
+ category: 'component',
4
+ directManifestNode: false,
5
+ allowedChildren: [],
6
+ note: 'Internal form action helper.',
7
+ props: {},
8
+ };
9
+ //# sourceMappingURL=formActionsMeta.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"formActionsMeta.js","sourceRoot":"","sources":["../../../src/features/form/formActionsMeta.ts"],"names":[],"mappings":"AACA,MAAM,CAAC,MAAM,eAAe,GAAG;IAC7B,IAAI,EAAE,aAAa;IACnB,QAAQ,EAAE,WAAW;IACrB,kBAAkB,EAAE,KAAK;IACzB,eAAe,EAAE,EAAE;IACnB,IAAI,EAAE,8BAA8B;IACpC,KAAK,EAAE,EAAE;CAC2B,CAAC","sourcesContent":["import type { ZoraComponentMeta } from '../../metadata';\nexport const formActionsMeta = {\n name: 'FormActions',\n category: 'component',\n directManifestNode: false,\n allowedChildren: [],\n note: 'Internal form action helper.',\n props: {},\n} as const satisfies ZoraComponentMeta;\n"]}
@@ -0,0 +1,32 @@
1
+ export declare const formErrorMeta: {
2
+ readonly name: "FormError";
3
+ readonly category: "component";
4
+ readonly directManifestNode: true;
5
+ readonly allowedChildren: readonly [];
6
+ readonly blueprint: {
7
+ readonly label: "Form error";
8
+ readonly defaultProps: {
9
+ readonly error: "Unable to submit the form.";
10
+ };
11
+ };
12
+ readonly bindings: {
13
+ readonly props: {
14
+ readonly error: {
15
+ readonly label: "Error";
16
+ readonly description: "Global form or submission error.";
17
+ readonly value: {
18
+ readonly type: "unknown";
19
+ };
20
+ readonly acceptsFallback: true;
21
+ };
22
+ };
23
+ };
24
+ readonly props: {
25
+ readonly error: {
26
+ readonly type: "string";
27
+ readonly category: "Content";
28
+ readonly label: "Error";
29
+ };
30
+ };
31
+ };
32
+ //# sourceMappingURL=formErrorMeta.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"formErrorMeta.d.ts","sourceRoot":"","sources":["../../../src/features/form/formErrorMeta.ts"],"names":[],"mappings":"AACA,eAAO,MAAM,aAAa;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAiBY,CAAC"}
@@ -0,0 +1,19 @@
1
+ export const formErrorMeta = {
2
+ name: 'FormError',
3
+ category: 'component',
4
+ directManifestNode: true,
5
+ allowedChildren: [],
6
+ blueprint: { label: 'Form error', defaultProps: { error: 'Unable to submit the form.' } },
7
+ bindings: {
8
+ props: {
9
+ error: {
10
+ label: 'Error',
11
+ description: 'Global form or submission error.',
12
+ value: { type: 'unknown' },
13
+ acceptsFallback: true,
14
+ },
15
+ },
16
+ },
17
+ props: { error: { type: 'string', category: 'Content', label: 'Error' } },
18
+ };
19
+ //# sourceMappingURL=formErrorMeta.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"formErrorMeta.js","sourceRoot":"","sources":["../../../src/features/form/formErrorMeta.ts"],"names":[],"mappings":"AACA,MAAM,CAAC,MAAM,aAAa,GAAG;IAC3B,IAAI,EAAE,WAAW;IACjB,QAAQ,EAAE,WAAW;IACrB,kBAAkB,EAAE,IAAI;IACxB,eAAe,EAAE,EAAE;IACnB,SAAS,EAAE,EAAE,KAAK,EAAE,YAAY,EAAE,YAAY,EAAE,EAAE,KAAK,EAAE,4BAA4B,EAAE,EAAE;IACzF,QAAQ,EAAE;QACR,KAAK,EAAE;YACL,KAAK,EAAE;gBACL,KAAK,EAAE,OAAO;gBACd,WAAW,EAAE,kCAAkC;gBAC/C,KAAK,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;gBAC1B,eAAe,EAAE,IAAI;aACtB;SACF;KACF;IACD,KAAK,EAAE,EAAE,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,QAAQ,EAAE,SAAS,EAAE,KAAK,EAAE,OAAO,EAAE,EAAE;CACrC,CAAC","sourcesContent":["import type { ZoraComponentMeta } from '../../metadata';\nexport const formErrorMeta = {\n name: 'FormError',\n category: 'component',\n directManifestNode: true,\n allowedChildren: [],\n blueprint: { label: 'Form error', defaultProps: { error: 'Unable to submit the form.' } },\n bindings: {\n props: {\n error: {\n label: 'Error',\n description: 'Global form or submission error.',\n value: { type: 'unknown' },\n acceptsFallback: true,\n },\n },\n },\n props: { error: { type: 'string', category: 'Content', label: 'Error' } },\n} as const satisfies ZoraComponentMeta;\n"]}
@@ -1,51 +1,35 @@
1
- export declare const formMeta: {
2
- readonly name: "Form";
3
- readonly category: "component";
4
- readonly directManifestNode: false;
5
- readonly allowedChildren: readonly [];
6
- readonly note: "Form orchestration component; not represented as a manifest node in v1.";
7
- readonly events: {
8
- readonly submit: {
9
- readonly label: "Submit";
10
- readonly eventType: "form.submit";
11
- readonly description: "Emitted when the form submits its current values.";
12
- readonly payloadFields: readonly [{
13
- readonly path: "payload.values";
14
- readonly type: "record";
15
- readonly label: "Values";
16
- readonly description: "Submitted form values keyed by field name.";
17
- }];
18
- };
19
- };
20
- readonly props: {};
21
- };
22
- export declare const formActionsMeta: {
23
- readonly name: "FormActions";
24
- readonly category: "component";
25
- readonly directManifestNode: false;
26
- readonly allowedChildren: readonly [];
27
- readonly note: "Form helper component; not represented as a manifest node in v1.";
28
- readonly props: {};
29
- };
30
- export declare const formErrorMeta: {
31
- readonly name: "FormError";
32
- readonly category: "component";
33
- readonly directManifestNode: false;
34
- readonly allowedChildren: readonly [];
35
- readonly note: "Form helper component; not represented as a manifest node in v1.";
36
- readonly props: {};
37
- };
38
1
  export declare const formFieldMeta: {
39
2
  readonly name: "FormField";
40
3
  readonly category: "component";
41
4
  readonly directManifestNode: true;
42
- readonly allowedChildren: readonly ["TextInput"];
5
+ readonly allowedChildren: readonly ["Checkbox", "CheckboxGroup", "RadioGroup", "TextInput"];
43
6
  readonly blueprint: {
44
7
  readonly label: "Form field";
45
8
  readonly defaultProps: {
46
9
  readonly label: "Label";
47
10
  };
48
11
  };
12
+ readonly bindings: {
13
+ readonly props: {
14
+ readonly errorText: {
15
+ readonly label: "Error text";
16
+ readonly description: "Field-level validation error.";
17
+ readonly value: {
18
+ readonly type: "unknown";
19
+ };
20
+ readonly acceptsFallback: true;
21
+ };
22
+ readonly disabled: {
23
+ readonly label: "Disabled";
24
+ readonly description: "Whether the field is disabled.";
25
+ readonly value: {
26
+ readonly type: "boolean";
27
+ };
28
+ readonly acceptsFallback: true;
29
+ readonly acceptsTransforms: true;
30
+ };
31
+ };
32
+ };
49
33
  readonly props: {
50
34
  readonly label: {
51
35
  readonly type: "string";
@@ -63,6 +47,11 @@ export declare const formFieldMeta: {
63
47
  readonly category: "Content";
64
48
  readonly label: "Helper text";
65
49
  };
50
+ readonly errorText: {
51
+ readonly type: "string";
52
+ readonly category: "Validation";
53
+ readonly label: "Error text";
54
+ };
66
55
  readonly required: {
67
56
  readonly type: "boolean";
68
57
  readonly category: "Validation";
@@ -89,4 +78,4 @@ export declare const formFieldMeta: {
89
78
  };
90
79
  };
91
80
  };
92
- //# sourceMappingURL=meta.d.ts.map
81
+ //# sourceMappingURL=formFieldMeta.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"formFieldMeta.d.ts","sourceRoot":"","sources":["../../../src/features/form/formFieldMeta.ts"],"names":[],"mappings":"AACA,eAAO,MAAM,aAAa;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAiCY,CAAC"}
@@ -0,0 +1,35 @@
1
+ export const formFieldMeta = {
2
+ name: 'FormField',
3
+ category: 'component',
4
+ directManifestNode: true,
5
+ allowedChildren: ['Checkbox', 'CheckboxGroup', 'RadioGroup', 'TextInput'],
6
+ blueprint: { label: 'Form field', defaultProps: { label: 'Label' } },
7
+ bindings: {
8
+ props: {
9
+ errorText: {
10
+ label: 'Error text',
11
+ description: 'Field-level validation error.',
12
+ value: { type: 'unknown' },
13
+ acceptsFallback: true,
14
+ },
15
+ disabled: {
16
+ label: 'Disabled',
17
+ description: 'Whether the field is disabled.',
18
+ value: { type: 'boolean' },
19
+ acceptsFallback: true,
20
+ acceptsTransforms: true,
21
+ },
22
+ },
23
+ },
24
+ props: {
25
+ label: { type: 'string', category: 'Content', label: 'Label', default: 'Label' },
26
+ description: { type: 'string', category: 'Content', label: 'Description' },
27
+ helperText: { type: 'string', category: 'Content', label: 'Helper text' },
28
+ errorText: { type: 'string', category: 'Validation', label: 'Error text' },
29
+ required: { type: 'boolean', category: 'Validation', label: 'Required', default: false },
30
+ invalid: { type: 'boolean', category: 'Validation', label: 'Invalid', default: false },
31
+ disabled: { type: 'boolean', category: 'State', label: 'Disabled', default: false },
32
+ readOnly: { type: 'boolean', category: 'State', label: 'Read-only', default: false },
33
+ },
34
+ };
35
+ //# sourceMappingURL=formFieldMeta.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"formFieldMeta.js","sourceRoot":"","sources":["../../../src/features/form/formFieldMeta.ts"],"names":[],"mappings":"AACA,MAAM,CAAC,MAAM,aAAa,GAAG;IAC3B,IAAI,EAAE,WAAW;IACjB,QAAQ,EAAE,WAAW;IACrB,kBAAkB,EAAE,IAAI;IACxB,eAAe,EAAE,CAAC,UAAU,EAAE,eAAe,EAAE,YAAY,EAAE,WAAW,CAAC;IACzE,SAAS,EAAE,EAAE,KAAK,EAAE,YAAY,EAAE,YAAY,EAAE,EAAE,KAAK,EAAE,OAAO,EAAE,EAAE;IACpE,QAAQ,EAAE;QACR,KAAK,EAAE;YACL,SAAS,EAAE;gBACT,KAAK,EAAE,YAAY;gBACnB,WAAW,EAAE,+BAA+B;gBAC5C,KAAK,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;gBAC1B,eAAe,EAAE,IAAI;aACtB;YACD,QAAQ,EAAE;gBACR,KAAK,EAAE,UAAU;gBACjB,WAAW,EAAE,gCAAgC;gBAC7C,KAAK,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;gBAC1B,eAAe,EAAE,IAAI;gBACrB,iBAAiB,EAAE,IAAI;aACxB;SACF;KACF;IACD,KAAK,EAAE;QACL,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,QAAQ,EAAE,SAAS,EAAE,KAAK,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE;QAChF,WAAW,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,QAAQ,EAAE,SAAS,EAAE,KAAK,EAAE,aAAa,EAAE;QAC1E,UAAU,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,QAAQ,EAAE,SAAS,EAAE,KAAK,EAAE,aAAa,EAAE;QACzE,SAAS,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,QAAQ,EAAE,YAAY,EAAE,KAAK,EAAE,YAAY,EAAE;QAC1E,QAAQ,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,QAAQ,EAAE,YAAY,EAAE,KAAK,EAAE,UAAU,EAAE,OAAO,EAAE,KAAK,EAAE;QACxF,OAAO,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,QAAQ,EAAE,YAAY,EAAE,KAAK,EAAE,SAAS,EAAE,OAAO,EAAE,KAAK,EAAE;QACtF,QAAQ,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,QAAQ,EAAE,OAAO,EAAE,KAAK,EAAE,UAAU,EAAE,OAAO,EAAE,KAAK,EAAE;QACnF,QAAQ,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,QAAQ,EAAE,OAAO,EAAE,KAAK,EAAE,WAAW,EAAE,OAAO,EAAE,KAAK,EAAE;KACrF;CACmC,CAAC","sourcesContent":["import type { ZoraComponentMeta } from '../../metadata';\nexport const formFieldMeta = {\n name: 'FormField',\n category: 'component',\n directManifestNode: true,\n allowedChildren: ['Checkbox', 'CheckboxGroup', 'RadioGroup', 'TextInput'],\n blueprint: { label: 'Form field', defaultProps: { label: 'Label' } },\n bindings: {\n props: {\n errorText: {\n label: 'Error text',\n description: 'Field-level validation error.',\n value: { type: 'unknown' },\n acceptsFallback: true,\n },\n disabled: {\n label: 'Disabled',\n description: 'Whether the field is disabled.',\n value: { type: 'boolean' },\n acceptsFallback: true,\n acceptsTransforms: true,\n },\n },\n },\n props: {\n label: { type: 'string', category: 'Content', label: 'Label', default: 'Label' },\n description: { type: 'string', category: 'Content', label: 'Description' },\n helperText: { type: 'string', category: 'Content', label: 'Helper text' },\n errorText: { type: 'string', category: 'Validation', label: 'Error text' },\n required: { type: 'boolean', category: 'Validation', label: 'Required', default: false },\n invalid: { type: 'boolean', category: 'Validation', label: 'Invalid', default: false },\n disabled: { type: 'boolean', category: 'State', label: 'Disabled', default: false },\n readOnly: { type: 'boolean', category: 'State', label: 'Read-only', default: false },\n },\n} as const satisfies ZoraComponentMeta;\n"]}
@@ -0,0 +1,61 @@
1
+ export declare const formMeta: {
2
+ readonly name: "Form";
3
+ readonly category: "component";
4
+ readonly directManifestNode: true;
5
+ readonly allowedChildren: readonly ["FormError", "FormField"];
6
+ readonly blueprint: {
7
+ readonly label: "Form";
8
+ readonly defaultProps: {
9
+ readonly submitLabel: "Submit";
10
+ readonly loading: false;
11
+ readonly disabled: false;
12
+ };
13
+ };
14
+ readonly bindings: {
15
+ readonly events: {
16
+ readonly submit: {
17
+ readonly label: "Submit";
18
+ readonly description: "Runs when the form is submitted.";
19
+ readonly payload: {
20
+ readonly eventType: "form.submit";
21
+ readonly fields: readonly [];
22
+ };
23
+ };
24
+ };
25
+ };
26
+ readonly events: {
27
+ readonly submit: {
28
+ readonly label: "Submit";
29
+ readonly eventType: "form.submit";
30
+ readonly description: "Emitted when the form is submitted.";
31
+ readonly payloadFields: readonly [];
32
+ };
33
+ };
34
+ readonly slots: {
35
+ readonly actions: {
36
+ readonly label: "Actions";
37
+ readonly allowedChildren: readonly ["Button", "ButtonGroup"];
38
+ };
39
+ };
40
+ readonly props: {
41
+ readonly submitLabel: {
42
+ readonly type: "string";
43
+ readonly category: "Content";
44
+ readonly label: "Submit label";
45
+ readonly default: "Submit";
46
+ };
47
+ readonly loading: {
48
+ readonly type: "boolean";
49
+ readonly category: "State";
50
+ readonly label: "Loading";
51
+ readonly default: false;
52
+ };
53
+ readonly disabled: {
54
+ readonly type: "boolean";
55
+ readonly category: "State";
56
+ readonly label: "Disabled";
57
+ readonly default: false;
58
+ };
59
+ };
60
+ };
61
+ //# sourceMappingURL=formMeta.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"formMeta.d.ts","sourceRoot":"","sources":["../../../src/features/form/formMeta.ts"],"names":[],"mappings":"AACA,eAAO,MAAM,QAAQ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAgCiB,CAAC"}