themelia-react-ui 2.0.5 → 2.0.6

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 (489) hide show
  1. package/CHANGELOG.md +76 -0
  2. package/MIGRATION.md +119 -0
  3. package/README.md +13 -6
  4. package/dist/{accordion-B9MHG0cT.js → accordion-0tQUZ20r.js} +7 -7
  5. package/dist/accordion-0tQUZ20r.js.map +1 -0
  6. package/dist/{action-menu-Dr8K-ghE.js → action-menu-C0gjzLyE.js} +7 -7
  7. package/dist/{action-menu-Dr8K-ghE.js.map → action-menu-C0gjzLyE.js.map} +1 -1
  8. package/dist/{ai-artifact-C58tQcBy.js → ai-artifact-CGGpQryR.js} +172 -157
  9. package/dist/ai-artifact-CGGpQryR.js.map +1 -0
  10. package/dist/{app-shell-B_IuNWOo.js → app-shell-EHuuRDGy.js} +5 -5
  11. package/dist/{app-shell-B_IuNWOo.js.map → app-shell-EHuuRDGy.js.map} +1 -1
  12. package/dist/{attachment-Dg_69lPS.js → attachment-BCpA4e7i.js} +8 -8
  13. package/dist/{attachment-Dg_69lPS.js.map → attachment-BCpA4e7i.js.map} +1 -1
  14. package/dist/{auth-DTkkshS8.js → auth-B0girIk_.js} +15 -15
  15. package/dist/auth-B0girIk_.js.map +1 -0
  16. package/dist/{avatar-CeZaFmNH.js → avatar-B9Jnp-T-.js} +3 -3
  17. package/dist/{avatar-CeZaFmNH.js.map → avatar-B9Jnp-T-.js.map} +1 -1
  18. package/dist/{badge-xIiV_E7f.js → badge-wWauMgAt.js} +3 -3
  19. package/dist/{badge-xIiV_E7f.js.map → badge-wWauMgAt.js.map} +1 -1
  20. package/dist/base/accordion.js +1 -1
  21. package/dist/base/action-menu.js +1 -1
  22. package/dist/base/attachment.js +1 -1
  23. package/dist/base/avatar.js +1 -1
  24. package/dist/base/badge.js +1 -1
  25. package/dist/base/batch-action-bar.js +1 -1
  26. package/dist/base/buttons.js +1 -1
  27. package/dist/base/cards.js +2 -2
  28. package/dist/base/carousel.js +3 -3
  29. package/dist/base/cascader.js +1 -1
  30. package/dist/base/chart.js +1 -1
  31. package/dist/base/choice-inputs.js +2 -2
  32. package/dist/base/code-block.js +1 -1
  33. package/dist/base/combobox.js +1 -1
  34. package/dist/base/command.js +1 -1
  35. package/dist/base/copyable.js +1 -1
  36. package/dist/base/date-pickers.js +2 -2
  37. package/dist/base/display.js +6 -6
  38. package/dist/base/feedback.js +4 -4
  39. package/dist/base/forms-numeric.js +1 -1
  40. package/dist/base/forms.js +2 -2
  41. package/dist/base/inline-edit.js +8 -8
  42. package/dist/base/item.js +1 -1
  43. package/dist/base/media-gallery.js +1 -1
  44. package/dist/base/metadata-list.js +1 -1
  45. package/dist/base/navigation.js +6 -6
  46. package/dist/base/popover-menu.js +1 -1
  47. package/dist/base/popover.js +1 -1
  48. package/dist/base/qr-code.js +1 -1
  49. package/dist/base/repeaters.js +195 -188
  50. package/dist/base/repeaters.js.map +1 -1
  51. package/dist/base/sheet.js +1 -1
  52. package/dist/base/sidebar.js +2 -2
  53. package/dist/base/signature-pad.js +7 -7
  54. package/dist/base/skeleton.js +1 -1
  55. package/dist/base/spinner.js +5 -5
  56. package/dist/base/spinner.js.map +1 -1
  57. package/dist/base/structure.js +1 -1
  58. package/dist/base/table.js +1 -1
  59. package/dist/base/text-inputs.js +2 -2
  60. package/dist/base/toaster.js +1 -1
  61. package/dist/base/tree.js +1 -1
  62. package/dist/base/upload-queue.js +1 -1
  63. package/dist/base/upload.js +3 -3
  64. package/dist/base/value-inputs.js +1 -1
  65. package/dist/{batch-action-bar-Cb8cuvyy.js → batch-action-bar-BoqWIIpV.js} +5 -5
  66. package/dist/{batch-action-bar-Cb8cuvyy.js.map → batch-action-bar-BoqWIIpV.js.map} +1 -1
  67. package/dist/blocks/admin.js +17 -17
  68. package/dist/blocks/ai.js +227 -221
  69. package/dist/blocks/ai.js.map +1 -1
  70. package/dist/blocks/analytics/usage-card.js +1 -1
  71. package/dist/blocks/analytics.js +424 -449
  72. package/dist/blocks/analytics.js.map +1 -1
  73. package/dist/blocks/collaboration.js +1 -1
  74. package/dist/blocks/commerce/receipt.js +1 -1
  75. package/dist/blocks/commerce.js +225 -220
  76. package/dist/blocks/commerce.js.map +1 -1
  77. package/dist/blocks/data-display.js +2 -2
  78. package/dist/blocks/onboarding.js +5 -5
  79. package/dist/blocks/planning.js +11 -11
  80. package/dist/blocks/timelines.js +1 -1
  81. package/dist/{breadcrumbs-J-K2kl4c.js → breadcrumbs-Bp9Ke7kd.js} +4 -4
  82. package/dist/breadcrumbs-Bp9Ke7kd.js.map +1 -0
  83. package/dist/{button-S2Cubiiz.js → button-ChBovTx0.js} +2 -2
  84. package/dist/{button-S2Cubiiz.js.map → button-ChBovTx0.js.map} +1 -1
  85. package/dist/{buttons-BedGfygC.js → buttons-DeW0bQeK.js} +6 -6
  86. package/dist/{buttons-BedGfygC.js.map → buttons-DeW0bQeK.js.map} +1 -1
  87. package/dist/{cards-rNX1M4Xn.js → cards-CNXnmvV5.js} +8 -8
  88. package/dist/{cards-rNX1M4Xn.js.map → cards-CNXnmvV5.js.map} +1 -1
  89. package/dist/{cascader-B1MiqkBq.js → cascader-CrAl9zD5.js} +15 -15
  90. package/dist/{cascader-B1MiqkBq.js.map → cascader-CrAl9zD5.js.map} +1 -1
  91. package/dist/{chart-Darg_0Kv.js → chart-I7ROnsl8.js} +5 -5
  92. package/dist/{chart-Darg_0Kv.js.map → chart-I7ROnsl8.js.map} +1 -1
  93. package/dist/{checkbox-fflqmODR.js → checkbox-MoyHIAPs.js} +3 -3
  94. package/dist/{checkbox-fflqmODR.js.map → checkbox-MoyHIAPs.js.map} +1 -1
  95. package/dist/{choice-inputs-zUgBZfE4.js → choice-inputs-DHGtx0QV.js} +122 -110
  96. package/dist/choice-inputs-DHGtx0QV.js.map +1 -0
  97. package/dist/{code-block-BzmM9Eig.js → code-block-BSJyq9e-.js} +7 -7
  98. package/dist/{code-block-BzmM9Eig.js.map → code-block-BSJyq9e-.js.map} +1 -1
  99. package/dist/{collapsible-BkAI_XD4.js → collapsible-BzJ91LUG.js} +3 -3
  100. package/dist/{collapsible-BkAI_XD4.js.map → collapsible-BzJ91LUG.js.map} +1 -1
  101. package/dist/{collection-content-gDh1v6O4.js → collection-content-CSnwtOTH.js} +3 -3
  102. package/dist/{collection-content-gDh1v6O4.js.map → collection-content-CSnwtOTH.js.map} +1 -1
  103. package/dist/{combobox-BEx0vJgF.js → combobox-Bcvu5J8O.js} +11 -10
  104. package/dist/{combobox-BEx0vJgF.js.map → combobox-Bcvu5J8O.js.map} +1 -1
  105. package/dist/combobox-C2JiSQPc.js +915 -0
  106. package/dist/combobox-C2JiSQPc.js.map +1 -0
  107. package/dist/{command-CrlPIL6m.js → command-9e52NPgK.js} +6 -6
  108. package/dist/{command-CrlPIL6m.js.map → command-9e52NPgK.js.map} +1 -1
  109. package/dist/{comments-Dmpp0YIc.js → comments-BsgErEqd.js} +33 -28
  110. package/dist/comments-BsgErEqd.js.map +1 -0
  111. package/dist/components/base/choice-inputs/choice-types.d.ts +4 -0
  112. package/dist/components/base/choice-inputs/pill-radio-group.d.ts +7 -6
  113. package/dist/components/base/combobox/combobox-field.d.ts +2 -2
  114. package/dist/components/base/date-pickers/date-picker-internals.d.ts +3 -1
  115. package/dist/components/base/date-pickers/datepicker.types.d.ts +10 -4
  116. package/dist/components/base/date-pickers/time-picker.d.ts +17 -3
  117. package/dist/components/base/feedback/state-display.d.ts +5 -1
  118. package/dist/components/base/feedback/state-display.strings.d.ts +9 -0
  119. package/dist/components/base/forms/form-field.d.ts +7 -2
  120. package/dist/components/base/forms-numeric/coordinates-input.d.ts +4 -1
  121. package/dist/components/base/forms-numeric/decimal-input.d.ts +2 -2
  122. package/dist/components/base/forms-numeric/dimensions-input.d.ts +4 -1
  123. package/dist/components/base/forms-numeric/numeric-composite-field.d.ts +12 -0
  124. package/dist/components/base/forms-numeric/weight-input.d.ts +6 -1
  125. package/dist/components/base/navigation/language-switcher.d.ts +12 -4
  126. package/dist/components/base/repeaters/key-value-editor.d.ts +2 -1
  127. package/dist/components/base/sidebar/sidebar.d.ts +2 -0
  128. package/dist/components/base/upload/avatar-upload.d.ts +2 -1
  129. package/dist/components/base/upload/image-upload.d.ts +2 -1
  130. package/dist/components/blocks/ai/ai-citation/types.d.ts +2 -0
  131. package/dist/components/blocks/ai/ai-reasoning/types.d.ts +2 -0
  132. package/dist/components/blocks/ai/ai-sources/types.d.ts +2 -0
  133. package/dist/components/blocks/ai/ai-tool-call/types.d.ts +2 -0
  134. package/dist/components/blocks/analytics/metric/metric.d.ts +4 -0
  135. package/dist/components/blocks/analytics/metric-comparison/metric-comparison.d.ts +2 -0
  136. package/dist/components/blocks/analytics/metric-grid/metric-grid.d.ts +4 -5
  137. package/dist/components/blocks/analytics/types.d.ts +2 -2
  138. package/dist/components/blocks/commerce/order-status/types.d.ts +4 -0
  139. package/dist/components/blocks/data-display/empty-state/empty-state.types.d.ts +4 -3
  140. package/dist/components/features/activities/activities.types.d.ts +18 -11
  141. package/dist/components/features/activities/hooks/use-activity-resources.d.ts +2 -1
  142. package/dist/components/features/ai-chat/hooks/use-ai-chat-scroll.d.ts +1 -1
  143. package/dist/components/features/appointment-calendar/appointment-calendar.d.ts +1 -1
  144. package/dist/components/features/appointment-calendar/appointment-calendar.types.d.ts +4 -2
  145. package/dist/components/features/combobox/async-resource-combobox.d.ts +2 -2
  146. package/dist/components/features/combobox/combobox.d.ts +2 -2
  147. package/dist/components/features/combobox/hooks/use-combobox-core.d.ts +2 -1
  148. package/dist/components/features/combobox/hooks/use-combobox-state.d.ts +1 -0
  149. package/dist/components/features/combobox/hooks/use-load-more.d.ts +1 -0
  150. package/dist/components/features/combobox/types.d.ts +37 -8
  151. package/dist/components/features/email-composer/types.d.ts +3 -1
  152. package/dist/components/features/filters/facets/date-facet.d.ts +4 -2
  153. package/dist/components/features/filters/facets/range-facet.d.ts +12 -0
  154. package/dist/components/features/filters/filters.types.d.ts +3 -3
  155. package/dist/components/features/filters/partials/date-filter-content.d.ts +3 -2
  156. package/dist/components/features/filters/partials/filter-popover-content.d.ts +4 -2
  157. package/dist/components/features/filters/partials/range-filter-content.d.ts +12 -0
  158. package/dist/components/features/filters/utils/filter-utils.d.ts +5 -1
  159. package/dist/components/features/media-library/hooks/use-media-library.d.ts +1 -1
  160. package/dist/components/features/media-library/media-library.d.ts +1 -1
  161. package/dist/components/features/media-library/media-library.strings.d.ts +6 -0
  162. package/dist/components/features/media-library/media-library.types.d.ts +36 -8
  163. package/dist/components/features/media-library/partials/media-library-partials.d.ts +3 -3
  164. package/dist/components/features/mentions/hooks/use-mentions.d.ts +16 -1
  165. package/dist/components/features/mentions/partials/mention-inline-suggestions.d.ts +5 -1
  166. package/dist/components/features/mentions/utils/split-html-by-mentions.d.ts +1 -7
  167. package/dist/components/features/overlays/hooks/use-overlay-visibility.d.ts +2 -2
  168. package/dist/components/features/products/products.types.d.ts +2 -2
  169. package/dist/components/features/questionnaire/questionnaire.types.d.ts +3 -0
  170. package/dist/components/features/resource/resource.d.ts +1 -1
  171. package/dist/components/features/resource/resource.types.d.ts +2 -0
  172. package/dist/components/features/rich-text-editor/form-rich-text-editor.d.ts +1 -1
  173. package/dist/components/features/rich-text-editor/partials/caret-helpers.d.ts +1 -1
  174. package/dist/components/features/rich-text-editor/partials/editor-field-aria.d.ts +14 -0
  175. package/dist/components/features/rich-text-editor/partials/rich-text-editor-toolbar.d.ts +3 -1
  176. package/dist/components/features/rich-text-editor/rich-text-editor.recipes.d.ts +1 -1
  177. package/dist/components/features/rich-text-editor/rich-text-editor.types.d.ts +17 -3
  178. package/dist/components/features/schema-form/hooks/use-schema-form.d.ts +5 -1
  179. package/dist/components/features/schema-form/partials/schema-form-field.d.ts +3 -1
  180. package/dist/components/features/schema-form/schema-form.utils.d.ts +1 -1
  181. package/dist/components/features/suggestions/suggestions.types.d.ts +1 -1
  182. package/dist/components/features/table/data-table.d.ts +1 -1
  183. package/dist/components/features/table/index.d.ts +1 -0
  184. package/dist/components/features/table/table-body.d.ts +1 -1
  185. package/dist/components/features/table/table-helpers.d.ts +6 -3
  186. package/dist/components/features/table/table.strings.d.ts +3 -0
  187. package/dist/components/features/table/table.types.d.ts +17 -1
  188. package/dist/components/layout/header/header.types.d.ts +3 -2
  189. package/dist/components/layout/layout.types.d.ts +5 -3
  190. package/dist/components/layout/navigation/side-nav.d.ts +3 -2
  191. package/dist/components/layout/normalize-layout-path.d.ts +1 -0
  192. package/dist/components/layout/settings/settings.d.ts +1 -1
  193. package/dist/components/layout/sidebar/app-sidebar.d.ts +1 -1
  194. package/dist/components/layout/sidebar/sidebar-navigation-rail.d.ts +3 -1
  195. package/dist/components/layout/sidebar/sidebar.context.d.ts +1 -0
  196. package/dist/components/layout/sidebar/sidebar.types.d.ts +2 -0
  197. package/dist/components/primitives/link.d.ts +3 -2
  198. package/dist/components/primitives/money.d.ts +1 -1
  199. package/dist/components/primitives/number.d.ts +1 -1
  200. package/dist/components/typography/rich-text/rich-text-tree.d.ts +7 -5
  201. package/dist/{containers-CIxwbZt5.js → containers-CSdc32h9.js} +2 -2
  202. package/dist/{containers-CIxwbZt5.js.map → containers-CSdc32h9.js.map} +1 -1
  203. package/dist/{copyable-DIznBqiT.js → copyable-3fdHfMR3.js} +4 -4
  204. package/dist/{copyable-DIznBqiT.js.map → copyable-3fdHfMR3.js.map} +1 -1
  205. package/dist/{data-display-BdgCAw8T.js → data-display-Cmj-xZYl.js} +16 -15
  206. package/dist/data-display-Cmj-xZYl.js.map +1 -0
  207. package/dist/{date-Cq8ioE4o.js → date-Br0FicVv.js} +4 -4
  208. package/dist/{date-Cq8ioE4o.js.map → date-Br0FicVv.js.map} +1 -1
  209. package/dist/date-picker-CyQlFYsP.js +1617 -0
  210. package/dist/date-picker-CyQlFYsP.js.map +1 -0
  211. package/dist/date-pickers-tj2MXmXd.js +185 -0
  212. package/dist/date-pickers-tj2MXmXd.js.map +1 -0
  213. package/dist/{display-KsZLw9Ov.js → display-CT_N2a3w.js} +7 -7
  214. package/dist/{display-KsZLw9Ov.js.map → display-CT_N2a3w.js.map} +1 -1
  215. package/dist/{dropdown-menu-CLs8Lihj.js → dropdown-menu-C08iIugv.js} +6 -6
  216. package/dist/{dropdown-menu-CLs8Lihj.js.map → dropdown-menu-C08iIugv.js.map} +1 -1
  217. package/dist/features/activities.js +283 -270
  218. package/dist/features/activities.js.map +1 -1
  219. package/dist/features/ai-chat.js +40 -27
  220. package/dist/features/ai-chat.js.map +1 -1
  221. package/dist/features/appointment-calendar.js +126 -126
  222. package/dist/features/appointment-calendar.js.map +1 -1
  223. package/dist/features/async-preview.js +9 -9
  224. package/dist/features/combobox.js +1 -1
  225. package/dist/features/comments.js +1 -1
  226. package/dist/features/data-view.js +10 -10
  227. package/dist/features/email-composer.js +24 -19
  228. package/dist/features/email-composer.js.map +1 -1
  229. package/dist/features/event-calendar.js +129 -125
  230. package/dist/features/event-calendar.js.map +1 -1
  231. package/dist/features/filters.js +2 -2
  232. package/dist/features/global-search.js +16 -20
  233. package/dist/features/global-search.js.map +1 -1
  234. package/dist/features/kanban.js +18 -28
  235. package/dist/features/kanban.js.map +1 -1
  236. package/dist/features/map/style.css +15 -0
  237. package/dist/features/map.js +331 -314
  238. package/dist/features/map.js.map +1 -1
  239. package/dist/features/media-library.js +1044 -866
  240. package/dist/features/media-library.js.map +1 -1
  241. package/dist/features/mentions.js +2 -2
  242. package/dist/features/overlays.js +1 -1
  243. package/dist/features/products.js +978 -964
  244. package/dist/features/products.js.map +1 -1
  245. package/dist/features/questionnaire.js +159 -152
  246. package/dist/features/questionnaire.js.map +1 -1
  247. package/dist/features/resource-assignment.js +8 -8
  248. package/dist/features/resource.js +74 -71
  249. package/dist/features/resource.js.map +1 -1
  250. package/dist/features/rich-text-editor.js +28 -19
  251. package/dist/features/rich-text-editor.js.map +1 -1
  252. package/dist/features/schema-form.js +297 -256
  253. package/dist/features/schema-form.js.map +1 -1
  254. package/dist/features/suggestions.js +57 -50
  255. package/dist/features/suggestions.js.map +1 -1
  256. package/dist/features/sync.js +3 -3
  257. package/dist/features/table.js +1 -1
  258. package/dist/features/theme-tweaker.js +400 -399
  259. package/dist/features/theme-tweaker.js.map +1 -1
  260. package/dist/feedback-Dzo1xtAU.js +246 -0
  261. package/dist/feedback-Dzo1xtAU.js.map +1 -0
  262. package/dist/{field-affordance-recipes-DWcNcOjh.js → field-affordance-recipes-D6H7tVJi.js} +2 -2
  263. package/dist/{field-affordance-recipes-DWcNcOjh.js.map → field-affordance-recipes-D6H7tVJi.js.map} +1 -1
  264. package/dist/field-control-attributes-B6i335wr.js +18 -0
  265. package/dist/field-control-attributes-B6i335wr.js.map +1 -0
  266. package/dist/{field-state-recipes-BVA2CWHo.js → field-state-recipes-7sza8QbC.js} +4 -2
  267. package/dist/{field-state-recipes-BVA2CWHo.js.map → field-state-recipes-7sza8QbC.js.map} +1 -1
  268. package/dist/{filters-DzgSJpMK.js → filters-Dl80yYtN.js} +763 -605
  269. package/dist/filters-Dl80yYtN.js.map +1 -0
  270. package/dist/form-field-CAPdwdnZ.js +74 -0
  271. package/dist/form-field-CAPdwdnZ.js.map +1 -0
  272. package/dist/{form-sizing-Bs2qFUeE.js → form-sizing-CgcrUbLU.js} +2 -2
  273. package/dist/{form-sizing-Bs2qFUeE.js.map → form-sizing-CgcrUbLU.js.map} +1 -1
  274. package/dist/{forms-C0RGnJTe.js → forms-B3W8CH7-.js} +8 -8
  275. package/dist/{forms-C0RGnJTe.js.map → forms-B3W8CH7-.js.map} +1 -1
  276. package/dist/forms-numeric-CwjQJe-O.js +991 -0
  277. package/dist/forms-numeric-CwjQJe-O.js.map +1 -0
  278. package/dist/{header-DMMxG__r.js → header-ZIIsRKxP.js} +113 -113
  279. package/dist/header-ZIIsRKxP.js.map +1 -0
  280. package/dist/hooks/use-files.d.ts +2 -0
  281. package/dist/{hooks-DB6CJ4MR.js → hooks-BitHSh-Y.js} +3 -3
  282. package/dist/{hooks-DB6CJ4MR.js.map → hooks-BitHSh-Y.js.map} +1 -1
  283. package/dist/{icon-badge-DZF-YjQp.js → icon-badge-npxF1SLX.js} +2 -2
  284. package/dist/{icon-badge-DZF-YjQp.js.map → icon-badge-npxF1SLX.js.map} +1 -1
  285. package/dist/index.js +1 -1
  286. package/dist/{input-CvyDQlY7.js → input-7KAc7XQL.js} +6 -6
  287. package/dist/{input-CvyDQlY7.js.map → input-7KAc7XQL.js.map} +1 -1
  288. package/dist/{input-DMBwAZmr.js → input-DIREVYHs.js} +3 -3
  289. package/dist/{input-DMBwAZmr.js.map → input-DIREVYHs.js.map} +1 -1
  290. package/dist/{interaction-recipes-XR9ZpVYL.js → interaction-recipes-4wZ2tvfb.js} +2 -2
  291. package/dist/{interaction-recipes-XR9ZpVYL.js.map → interaction-recipes-4wZ2tvfb.js.map} +1 -1
  292. package/dist/{item-DjCcM18E.js → item-FfWnaYST.js} +99 -98
  293. package/dist/item-FfWnaYST.js.map +1 -0
  294. package/dist/layout/app-shell.js +1 -1
  295. package/dist/layout/auth.js +1 -1
  296. package/dist/layout/containers.js +1 -1
  297. package/dist/layout/header.js +1 -1
  298. package/dist/layout/hooks.js +1 -1
  299. package/dist/layout/navigation.js +1 -1
  300. package/dist/layout/page.js +1 -1
  301. package/dist/layout/settings.js +1 -1
  302. package/dist/layout/sidebar.js +2 -2
  303. package/dist/layout/workspace.js +1 -1
  304. package/dist/layout.js +11 -11
  305. package/dist/layout.types-E_GAApzO.js +30 -0
  306. package/dist/layout.types-E_GAApzO.js.map +1 -0
  307. package/dist/lib/field-control-attributes.d.ts +11 -0
  308. package/dist/lib/field-state-recipes.d.ts +2 -0
  309. package/dist/lib/format.d.ts +1 -0
  310. package/dist/lib/surface-recipes.d.ts +1 -1
  311. package/dist/lib/token-merge.generated.d.ts +6 -6
  312. package/dist/lib/utils.js +1 -1
  313. package/dist/{media-gallery-C-vChPmE.js → media-gallery-C81DAnKI.js} +6 -6
  314. package/dist/{media-gallery-C-vChPmE.js.map → media-gallery-C81DAnKI.js.map} +1 -1
  315. package/dist/{mentions-0_4nWuI-.js → mentions-qOnedSt4.js} +236 -167
  316. package/dist/mentions-qOnedSt4.js.map +1 -0
  317. package/dist/message-BJHnn43M.js +135 -0
  318. package/dist/message-BJHnn43M.js.map +1 -0
  319. package/dist/{metadata-list-C3MkU-Om.js → metadata-list-XkqZ_UXH.js} +11 -11
  320. package/dist/{metadata-list-C3MkU-Om.js.map → metadata-list-XkqZ_UXH.js.map} +1 -1
  321. package/dist/{navigation-DaRjthVk.js → navigation-BgtPJAhi.js} +119 -119
  322. package/dist/navigation-BgtPJAhi.js.map +1 -0
  323. package/dist/{navigation-C90-oQFq.js → navigation-Bt-v7rWP.js} +52 -46
  324. package/dist/navigation-Bt-v7rWP.js.map +1 -0
  325. package/dist/normalize-layout-path-BmEgg6fu.js +14 -0
  326. package/dist/normalize-layout-path-BmEgg6fu.js.map +1 -0
  327. package/dist/{number-CRU3kGuk.js → number-CYqBcrSj.js} +78 -86
  328. package/dist/number-CYqBcrSj.js.map +1 -0
  329. package/dist/{overflow-tab-bar-IVFVQFV6.js → overflow-tab-bar-BQCA2Zn2.js} +7 -7
  330. package/dist/{overflow-tab-bar-IVFVQFV6.js.map → overflow-tab-bar-BQCA2Zn2.js.map} +1 -1
  331. package/dist/{overlays-BSgCtM2v.js → overlays-CC8zI3Du.js} +264 -260
  332. package/dist/overlays-CC8zI3Du.js.map +1 -0
  333. package/dist/{page-DUUKDAjo.js → page-BoQ1VaFJ.js} +13 -13
  334. package/dist/{page-DUUKDAjo.js.map → page-BoQ1VaFJ.js.map} +1 -1
  335. package/dist/{page-header-commands-7P3sfE9u.js → page-header-commands-DIKspJfx.js} +4 -4
  336. package/dist/{page-header-commands-7P3sfE9u.js.map → page-header-commands-DIKspJfx.js.map} +1 -1
  337. package/dist/{pagination-CgCjElfu.js → pagination-Br8TdV9A.js} +4 -4
  338. package/dist/{pagination-CgCjElfu.js.map → pagination-Br8TdV9A.js.map} +1 -1
  339. package/dist/{popover-B85RenIl.js → popover-k8TdUcAt.js} +10 -10
  340. package/dist/popover-k8TdUcAt.js.map +1 -0
  341. package/dist/{popover-menu-DlnQ2zlR.js → popover-menu-yn-o0kyA.js} +7 -7
  342. package/dist/{popover-menu-DlnQ2zlR.js.map → popover-menu-yn-o0kyA.js.map} +1 -1
  343. package/dist/{popover.recipes-DdiEp0rd.js → popover.recipes-DJ0AkUan.js} +2 -2
  344. package/dist/{popover.recipes-DdiEp0rd.js.map → popover.recipes-DJ0AkUan.js.map} +1 -1
  345. package/dist/{portal-recipes-BpsV_iRw.js → portal-recipes-DyUXqUtD.js} +2 -2
  346. package/dist/{portal-recipes-BpsV_iRw.js.map → portal-recipes-DyUXqUtD.js.map} +1 -1
  347. package/dist/{primitives-ByWgGUgt.js → primitives-BkkQjYl7.js} +22 -17
  348. package/dist/primitives-BkkQjYl7.js.map +1 -0
  349. package/dist/primitives.js +4 -4
  350. package/dist/{progress-BJhQP9WX.js → progress-DZFXXzPs.js} +4 -4
  351. package/dist/{progress-BJhQP9WX.js.map → progress-DZFXXzPs.js.map} +1 -1
  352. package/dist/{receipt-tOc7B3hw.js → receipt-C7LhOg7Q.js} +6 -6
  353. package/dist/{receipt-tOc7B3hw.js.map → receipt-C7LhOg7Q.js.map} +1 -1
  354. package/dist/rich-text-BnTzZjIo.js +45 -0
  355. package/dist/rich-text-BnTzZjIo.js.map +1 -0
  356. package/dist/rich-text-editor-CAurDwT5.js +1273 -0
  357. package/dist/rich-text-editor-CAurDwT5.js.map +1 -0
  358. package/dist/{rich-text-editor-toolbar-laT3tpBT.js → rich-text-editor-toolbar-DbXig7Jk.js} +36 -35
  359. package/dist/rich-text-editor-toolbar-DbXig7Jk.js.map +1 -0
  360. package/dist/rich-text-tree-BqyQ_7-R.js +66 -0
  361. package/dist/rich-text-tree-BqyQ_7-R.js.map +1 -0
  362. package/dist/{sanitize-html-DsQmI48u.js → sanitize-html-BWkH4dLM.js} +29 -16
  363. package/dist/sanitize-html-BWkH4dLM.js.map +1 -0
  364. package/dist/{scroll-area-B0dB2cBi.js → scroll-area-Bj6CRUif.js} +2 -2
  365. package/dist/{scroll-area-B0dB2cBi.js.map → scroll-area-Bj6CRUif.js.map} +1 -1
  366. package/dist/{separator-Bb17I4pu.js → separator-B9ewiCGO.js} +2 -2
  367. package/dist/{separator-Bb17I4pu.js.map → separator-B9ewiCGO.js.map} +1 -1
  368. package/dist/{separator-Ct_WSWTJ.js → separator-DM6gs2vu.js} +3 -3
  369. package/dist/{separator-Ct_WSWTJ.js.map → separator-DM6gs2vu.js.map} +1 -1
  370. package/dist/services/actions.js +1 -1
  371. package/dist/settings-DZPHgpx4.js +155 -0
  372. package/dist/settings-DZPHgpx4.js.map +1 -0
  373. package/dist/{sheet-BGPERY55.js → sheet-C4DHsgLk.js} +6 -6
  374. package/dist/{sheet-BGPERY55.js.map → sheet-C4DHsgLk.js.map} +1 -1
  375. package/dist/sidebar-C8BnDwTH.js +709 -0
  376. package/dist/sidebar-C8BnDwTH.js.map +1 -0
  377. package/dist/{sidebar-f9gRWXIR.js → sidebar-CmD6a-HK.js} +16 -13
  378. package/dist/sidebar-CmD6a-HK.js.map +1 -0
  379. package/dist/{skeleton-BapcJd9C.js → skeleton-DDgdhmu9.js} +5 -5
  380. package/dist/{skeleton-BapcJd9C.js.map → skeleton-DDgdhmu9.js.map} +1 -1
  381. package/dist/{smart-card-CW0hjetE.js → smart-card-B6vLxqa_.js} +8 -8
  382. package/dist/{smart-card-CW0hjetE.js.map → smart-card-B6vLxqa_.js.map} +1 -1
  383. package/dist/{structure-DuxKl954.js → structure-DZJ2wbAU.js} +2 -2
  384. package/dist/{structure-DuxKl954.js.map → structure-DZJ2wbAU.js.map} +1 -1
  385. package/dist/style.css +1 -1
  386. package/dist/{surface-recipes-BKRVW8Os.js → surface-recipes-C8mNycaY.js} +2 -2
  387. package/dist/{surface-recipes-BKRVW8Os.js.map → surface-recipes-C8mNycaY.js.map} +1 -1
  388. package/dist/{table-CFOWY9pQ.js → table-CBonSdTp.js} +534 -486
  389. package/dist/table-CBonSdTp.js.map +1 -0
  390. package/dist/{table-B4TE7iOV.js → table-CXSPHH25.js} +75 -71
  391. package/dist/table-CXSPHH25.js.map +1 -0
  392. package/dist/{tabs-e7ko9S2o.js → tabs-C4Kr_hCr.js} +50 -49
  393. package/dist/tabs-C4Kr_hCr.js.map +1 -0
  394. package/dist/{text-inputs-B1culiSK.js → text-inputs-jdkS3ReG.js} +9 -9
  395. package/dist/{text-inputs-B1culiSK.js.map → text-inputs-jdkS3ReG.js.map} +1 -1
  396. package/dist/{timelines-D3Sl9ueq.js → timelines-CoPwdJP0.js} +10 -10
  397. package/dist/{timelines-D3Sl9ueq.js.map → timelines-CoPwdJP0.js.map} +1 -1
  398. package/dist/{tooltip-8wz5S_Zr.js → tooltip-31NwIpTo.js} +4 -4
  399. package/dist/{tooltip-8wz5S_Zr.js.map → tooltip-31NwIpTo.js.map} +1 -1
  400. package/dist/{tree-CzUJHnFs.js → tree-CeYVzdFE.js} +6 -6
  401. package/dist/{tree-CzUJHnFs.js.map → tree-CeYVzdFE.js.map} +1 -1
  402. package/dist/typography/rich-text.js +1 -1
  403. package/dist/{typography-BQnine1k.js → typography-C7-YMW1S.js} +2 -2
  404. package/dist/{typography-BQnine1k.js.map → typography-C7-YMW1S.js.map} +1 -1
  405. package/dist/typography.js +1 -1
  406. package/dist/{upload-BOW6U2tI.js → upload-Hdm5gObf.js} +303 -291
  407. package/dist/upload-Hdm5gObf.js.map +1 -0
  408. package/dist/{upload-queue-qUXn1ykN.js → upload-queue-D0sYPuqo.js} +8 -8
  409. package/dist/{upload-queue-qUXn1ykN.js.map → upload-queue-D0sYPuqo.js.map} +1 -1
  410. package/dist/{usage-card-BeSLY0i0.js → usage-card-9s8hLDfn.js} +9 -9
  411. package/dist/{usage-card-BeSLY0i0.js.map → usage-card-9s8hLDfn.js.map} +1 -1
  412. package/dist/{utils-B6kKb8jB.js → utils-DhuoqFy4.js} +31 -37
  413. package/dist/utils-DhuoqFy4.js.map +1 -0
  414. package/dist/{value-inputs-skdVB2zh.js → value-inputs-D3aPgq9H.js} +15 -15
  415. package/dist/{value-inputs-skdVB2zh.js.map → value-inputs-D3aPgq9H.js.map} +1 -1
  416. package/dist/{value-typography-uAmWUAL1.js → value-typography-uSzzG9Gf.js} +32 -26
  417. package/dist/value-typography-uSzzG9Gf.js.map +1 -0
  418. package/dist/{workspace-DHeHv0qw.js → workspace-CC8Vchiu.js} +12 -12
  419. package/dist/{workspace-DHeHv0qw.js.map → workspace-CC8Vchiu.js.map} +1 -1
  420. package/docs/consumer-skill/examples/edit.tsx +3 -3
  421. package/docs/consumer-skill/references/agents-md.md +19 -19
  422. package/docs/consumer-skill/references/analytics.md +15 -0
  423. package/docs/consumer-skill/references/component-contracts.json +14724 -13057
  424. package/docs/consumer-skill/references/composition.md +21 -4
  425. package/docs/consumer-skill/references/design-contract.md +1 -0
  426. package/docs/consumer-skill/references/installation.md +51 -8
  427. package/docs/consumer-skill/references/integration.md +24 -1
  428. package/docs/consumer-skill/references/public-api.json +172 -34
  429. package/docs/consumer-skill/references/review.md +51 -11
  430. package/docs/consumer-skill/references/rhf-workflows.md +72 -0
  431. package/docs/consumer-skill/references/theming.md +7 -2
  432. package/docs/consumer-skill/references/tokens.json +1 -1
  433. package/docs/consumer-skill/scripts/composition-policy.mjs +144 -30
  434. package/docs/consumer-skill/scripts/setup-skills.mjs +46 -9
  435. package/package.json +4 -2
  436. package/templates/admin-shell-template.tsx +1 -2
  437. package/templates/customers-template.tsx +18 -16
  438. package/dist/accordion-B9MHG0cT.js.map +0 -1
  439. package/dist/ai-artifact-C58tQcBy.js.map +0 -1
  440. package/dist/auth-DTkkshS8.js.map +0 -1
  441. package/dist/breadcrumbs-J-K2kl4c.js.map +0 -1
  442. package/dist/choice-inputs-zUgBZfE4.js.map +0 -1
  443. package/dist/combobox-BwzoXFSG.js +0 -884
  444. package/dist/combobox-BwzoXFSG.js.map +0 -1
  445. package/dist/comments-Dmpp0YIc.js.map +0 -1
  446. package/dist/data-display-BdgCAw8T.js.map +0 -1
  447. package/dist/date-picker-RlIzKom_.js +0 -1551
  448. package/dist/date-picker-RlIzKom_.js.map +0 -1
  449. package/dist/date-pickers-DY-CpXS1.js +0 -179
  450. package/dist/date-pickers-DY-CpXS1.js.map +0 -1
  451. package/dist/feedback-Dm4izqFn.js +0 -240
  452. package/dist/feedback-Dm4izqFn.js.map +0 -1
  453. package/dist/filters-DzgSJpMK.js.map +0 -1
  454. package/dist/form-field-BriWAXyg.js +0 -63
  455. package/dist/form-field-BriWAXyg.js.map +0 -1
  456. package/dist/forms-numeric-DIhghX1Q.js +0 -910
  457. package/dist/forms-numeric-DIhghX1Q.js.map +0 -1
  458. package/dist/header-DMMxG__r.js.map +0 -1
  459. package/dist/item-DjCcM18E.js.map +0 -1
  460. package/dist/layout.types-Cn7aUzJp.js +0 -20
  461. package/dist/layout.types-Cn7aUzJp.js.map +0 -1
  462. package/dist/mentions-0_4nWuI-.js.map +0 -1
  463. package/dist/message-g8p7eVtN.js +0 -128
  464. package/dist/message-g8p7eVtN.js.map +0 -1
  465. package/dist/navigation-C90-oQFq.js.map +0 -1
  466. package/dist/navigation-DaRjthVk.js.map +0 -1
  467. package/dist/number-CRU3kGuk.js.map +0 -1
  468. package/dist/overlays-BSgCtM2v.js.map +0 -1
  469. package/dist/popover-B85RenIl.js.map +0 -1
  470. package/dist/primitives-ByWgGUgt.js.map +0 -1
  471. package/dist/rich-text-Dth5E882.js +0 -78
  472. package/dist/rich-text-Dth5E882.js.map +0 -1
  473. package/dist/rich-text-editor-C1fOjBTd.js +0 -1195
  474. package/dist/rich-text-editor-C1fOjBTd.js.map +0 -1
  475. package/dist/rich-text-editor-toolbar-laT3tpBT.js.map +0 -1
  476. package/dist/safe-image-src-C6kQSMBZ.js +0 -17
  477. package/dist/safe-image-src-C6kQSMBZ.js.map +0 -1
  478. package/dist/sanitize-html-DsQmI48u.js.map +0 -1
  479. package/dist/settings-Bar5wiSo.js +0 -167
  480. package/dist/settings-Bar5wiSo.js.map +0 -1
  481. package/dist/sidebar-D-JYMMbY.js +0 -686
  482. package/dist/sidebar-D-JYMMbY.js.map +0 -1
  483. package/dist/sidebar-f9gRWXIR.js.map +0 -1
  484. package/dist/table-B4TE7iOV.js.map +0 -1
  485. package/dist/table-CFOWY9pQ.js.map +0 -1
  486. package/dist/tabs-e7ko9S2o.js.map +0 -1
  487. package/dist/upload-BOW6U2tI.js.map +0 -1
  488. package/dist/utils-B6kKb8jB.js.map +0 -1
  489. package/dist/value-typography-uAmWUAL1.js.map +0 -1
@@ -1,34 +1,34 @@
1
1
  "use client";
2
2
  import { useStrings as e } from "../lib/strings.js";
3
- import { t } from "../utils-B6kKb8jB.js";
4
- import { n } from "../buttons-BedGfygC.js";
5
- import { c as r } from "../typography-BQnine1k.js";
3
+ import { t } from "../utils-DhuoqFy4.js";
4
+ import { n } from "../buttons-DeW0bQeK.js";
5
+ import { c as r } from "../typography-C7-YMW1S.js";
6
6
  import { t as i } from "../text.styles-B64My8RZ.js";
7
- import { t as a } from "../structure-DuxKl954.js";
8
- import { t as o } from "../smart-card-CW0hjetE.js";
7
+ import { t as a } from "../structure-DZJ2wbAU.js";
8
+ import { t as o } from "../smart-card-B6vLxqa_.js";
9
9
  import { n as s } from "../composition.recipes-COdiFhxB.js";
10
- import { t as c } from "../input-CvyDQlY7.js";
11
- import { t as l } from "../form-field-BriWAXyg.js";
12
- import { d as u } from "../text-inputs-B1culiSK.js";
13
- import { a as d, i as f, l as p, o as m, r as h } from "../choice-inputs-zUgBZfE4.js";
14
- import { n as g } from "../display-KsZLw9Ov.js";
15
- import { u as _ } from "../value-inputs-skdVB2zh.js";
16
- import { d as v } from "../forms-numeric-DIhghX1Q.js";
17
- import { s as y } from "../data-display-BdgCAw8T.js";
18
- import { Fragment as b, useCallback as x, useEffect as S, useId as C, useMemo as w, useState as T } from "react";
19
- import { jsx as E, jsxs as D } from "react/jsx-runtime";
10
+ import { t as c } from "../input-7KAc7XQL.js";
11
+ import { t as l } from "../form-field-CAPdwdnZ.js";
12
+ import { d as u } from "../text-inputs-jdkS3ReG.js";
13
+ import { a as d, i as f, l as p, o as m, r as h } from "../choice-inputs-DHGtx0QV.js";
14
+ import { n as g } from "../display-CT_N2a3w.js";
15
+ import { u as _ } from "../value-inputs-D3aPgq9H.js";
16
+ import { d as v } from "../forms-numeric-CwjQJe-O.js";
17
+ import { s as y } from "../data-display-Cmj-xZYl.js";
18
+ import { Fragment as b, useCallback as x, useEffect as S, useId as C, useLayoutEffect as w, useMemo as T, useRef as E, useState as D } from "react";
19
+ import { jsx as O, jsxs as k } from "react/jsx-runtime";
20
20
  //#region src/components/features/schema-form/schema-form.utils.ts
21
- var O = {
21
+ var ee = {
22
22
  1: "grid grid-cols-1 gap-space-xl",
23
23
  2: "grid grid-cols-1 gap-space-xl @md/schema-form:grid-cols-2",
24
24
  3: "grid grid-cols-1 gap-space-xl @md/schema-form:grid-cols-2 @xl/schema-form:grid-cols-3"
25
- }, ee = {
25
+ }, te = {
26
26
  auto: "",
27
27
  half: "@md/schema-form:col-span-1",
28
28
  third: "@xl/schema-form:col-span-1",
29
29
  full: "@md/schema-form:col-span-full @xl/schema-form:col-span-full"
30
30
  };
31
- function k(e, t, n) {
31
+ function A(e, t, n) {
32
32
  if (typeof e.hidden == "function") try {
33
33
  return e.hidden(t);
34
34
  } catch (e) {
@@ -36,7 +36,7 @@ function k(e, t, n) {
36
36
  }
37
37
  return e.hidden ?? !1;
38
38
  }
39
- function te(e, t, n) {
39
+ function ne(e, t, n) {
40
40
  if (typeof e.disabled == "function") try {
41
41
  return e.disabled(t);
42
42
  } catch (e) {
@@ -44,11 +44,11 @@ function te(e, t, n) {
44
44
  }
45
45
  return e.disabled ?? !1;
46
46
  }
47
- function ne(e, t, n) {
48
- return e.filter((e) => !k(e, t, n));
47
+ function re(e, t, n) {
48
+ return e.filter((e) => !A(e, t, n));
49
49
  }
50
- function re(e, t, n, r, i) {
51
- let a = ne(e.fields, t, i), o = new Map(a.map((e) => [e.key, e])), s = /* @__PURE__ */ new Set(), c = [];
50
+ function ie(e, t, n, r, i) {
51
+ let a = re(e.fields, t, i), o = new Map(a.map((e) => [e.key, e])), s = /* @__PURE__ */ new Set(), c = [];
52
52
  for (let t of e.sections ?? []) {
53
53
  let e = t.fields ? t.fields.map((e) => o.get(e)).filter((e) => e !== void 0) : a.filter((e) => e.sectionId === t.id);
54
54
  for (let t of e) s.add(t.key);
@@ -71,31 +71,31 @@ function re(e, t, n, r, i) {
71
71
  columns: r
72
72
  }), c.filter((e) => e.fields.length > 0);
73
73
  }
74
- function A(e) {
74
+ function j(e) {
75
75
  return e == null ? "" : typeof e == "string" ? e : typeof e == "number" || typeof e == "boolean" ? String(e) : JSON.stringify(e);
76
76
  }
77
- function j(e) {
77
+ function M(e) {
78
78
  return Array.isArray(e) ? e.map((e) => String(e)) : [];
79
79
  }
80
- function M(e) {
80
+ function N(e) {
81
81
  return e === !0 || e === "true" || e === 1;
82
82
  }
83
- function ie(e, t = !1) {
83
+ function P(e, t = !1) {
84
84
  let n = e.trim();
85
85
  if (n.length === 0) return null;
86
86
  let r = t ? Number.parseInt(n, 10) : Number.parseFloat(n);
87
87
  return Number.isNaN(r) ? null : r;
88
88
  }
89
- function N(e, t = 2) {
89
+ function F(e, t = 2, n = !1) {
90
90
  if (e == null) return "";
91
- if (typeof e == "string") return e;
91
+ if (typeof e == "string") return n ? JSON.stringify(e) : e;
92
92
  try {
93
93
  return JSON.stringify(e, null, t);
94
94
  } catch {
95
95
  return String(e);
96
96
  }
97
97
  }
98
- function P(e) {
98
+ function I(e) {
99
99
  let t = e.trim();
100
100
  if (t.length === 0) return {
101
101
  value: null,
@@ -115,113 +115,127 @@ function P(e) {
115
115
  }
116
116
  //#endregion
117
117
  //#region src/components/features/schema-form/hooks/use-schema-form.ts
118
- function F(e, t) {
118
+ function L(e, t) {
119
119
  let n = { ...t };
120
120
  for (let t of e) t.defaultValue !== void 0 && n[t.key] === void 0 && (n[t.key] = t.defaultValue);
121
121
  return n;
122
122
  }
123
- function I(e) {
123
+ function R(e) {
124
124
  return e == null ? !0 : typeof e == "string" ? e.trim().length === 0 : Array.isArray(e) ? e.length === 0 : !1;
125
125
  }
126
- function ae(e) {
126
+ function z(e) {
127
127
  let t = {};
128
128
  for (let [n, r] of Object.entries(e ?? {})) r && (t[n] = r);
129
129
  return t;
130
130
  }
131
- function L({ fields: e, value: t, defaultValue: n, errors: r, onValueChange: i, onFieldChange: a, formatRequiredError: o, validationError: s, onError: c }) {
132
- let l = t !== void 0, u = w(() => F(e, n), [n, e]), [d, f] = T(() => u), [p, m] = T({}), h = w(() => l ? {
133
- ...u,
134
- ...t
135
- } : d, [
136
- u,
137
- d,
138
- l,
139
- t
140
- ]), g = w(() => ({
141
- ...p,
142
- ...ae(r)
143
- }), [r, p]), _ = x((e) => {
144
- l || f(e), i?.(e);
145
- }, [l, i]), v = x((e, t) => {
131
+ function B(e) {
132
+ let { fields: t, value: n, defaultValue: r, errors: i } = e, a = n !== void 0, o = T(() => L(t, r), [r, t]), [s, c] = D(() => o), [l, u] = D({}), d = E(/* @__PURE__ */ new Set()), f = T(() => a ? {
133
+ ...o,
134
+ ...n
135
+ } : s, [
136
+ o,
137
+ s,
138
+ a,
139
+ n
140
+ ]), p = E(f), m = E(f), h = E(e);
141
+ w(() => {
142
+ p.current = f, m.current = f;
143
+ }, [f]), w(() => {
144
+ h.current = e;
145
+ }, [e]);
146
+ let g = T(() => ({
147
+ ...l,
148
+ ...z(i)
149
+ }), [i, l]), _ = x((e) => {
150
+ if (m.current = e, h.current.value === void 0) {
151
+ c(e);
152
+ return;
153
+ }
154
+ queueMicrotask(() => {
155
+ m.current === e && (m.current = p.current);
156
+ });
157
+ }, []), v = x((e) => {
158
+ _(e), h.current.onValueChange?.(e);
159
+ }, [_]), y = x((e, t) => {
146
160
  let n = {
147
- ...h,
161
+ ...m.current,
148
162
  [e]: t
149
163
  };
150
- l || f(n), m((t) => {
164
+ _(n), u((t) => {
151
165
  if (!t[e]) return t;
152
166
  let n = { ...t };
153
167
  return delete n[e], n;
154
- }), a?.(e, t, n), i?.(n);
155
- }, [
156
- l,
157
- a,
158
- i,
159
- h
160
- ]), y = x(() => {
161
- let t = F(e, n);
162
- return l || f(t), m({}), i?.(t), t;
163
- }, [
164
- n,
165
- e,
166
- l,
167
- i
168
- ]), b = x(() => {
169
- let t = {};
170
- for (let n of e) {
171
- if (k(n, h, c)) continue;
172
- let e = h[n.key];
173
- if (n.required && I(e)) {
174
- t[n.key] = o(n.label);
168
+ }), h.current.onFieldChange?.(e, t, n), h.current.onValueChange?.(n);
169
+ }, [_]), b = x((e, t) => {
170
+ t ? d.current.delete(e) : d.current.add(e);
171
+ }, []), S = x(() => {
172
+ let { fields: e, defaultValue: t, onValueChange: n } = h.current, r = L(e, t);
173
+ return _(r), d.current.clear(), u({}), n?.(r), r;
174
+ }, [_]), C = x(() => {
175
+ let { fields: e, formatRequiredError: t, onError: n, validationError: r } = h.current, i = m.current, a = {}, o = !1;
176
+ for (let s of e) {
177
+ if (A(s, i, n)) continue;
178
+ if (s.type === "json" && d.current.has(s.key)) {
179
+ o = !0;
175
180
  continue;
176
181
  }
177
- let r = Array.isArray(n.validate) ? n.validate : n.validate ? [n.validate] : [];
178
- for (let i of r) try {
179
- let r = i(e, h, n);
180
- if (typeof r == "string" && r.length > 0) {
181
- t[n.key] = r;
182
+ let e = i[s.key];
183
+ if (s.required && R(e)) {
184
+ a[s.key] = t(s.label);
185
+ continue;
186
+ }
187
+ let c = Array.isArray(s.validate) ? s.validate : s.validate ? [s.validate] : [];
188
+ for (let t of c) try {
189
+ let n = t(e, i, s);
190
+ if (typeof n == "string" && n.length > 0) {
191
+ a[s.key] = n;
182
192
  break;
183
193
  }
184
194
  } catch (e) {
185
- c?.(e), t[n.key] = s;
195
+ n?.(e), a[s.key] = r;
186
196
  break;
187
197
  }
198
+ if (!a[s.key] && typeof e == "number" && (s.type === "number" || s.type === "integer" || s.type === "decimal")) {
199
+ let { min: t, max: n } = {
200
+ min: s.min,
201
+ max: s.max,
202
+ ...s.numberProps
203
+ };
204
+ (t !== void 0 && e < t || n !== void 0 && e > n) && (a[s.key] = r);
205
+ }
188
206
  }
189
- return m(t), Object.keys(t).length === 0;
190
- }, [
191
- e,
192
- o,
193
- c,
194
- s,
195
- h
196
- ]);
207
+ return u(a), !o && Object.keys(a).length === 0;
208
+ }, []);
197
209
  return {
198
- values: h,
210
+ values: f,
199
211
  errors: g,
200
212
  getFieldError: x((e) => g[e], [g]),
201
- getFieldValue: x((e) => h[e], [h]),
202
- setFieldValue: v,
203
- setValues: _,
204
- reset: y,
205
- validate: b
213
+ getFieldValue: x((e) => f[e], [f]),
214
+ getValues: x(() => m.current, []),
215
+ setFieldValue: y,
216
+ setValues: v,
217
+ setFieldParseValidity: b,
218
+ reset: S,
219
+ validate: C
206
220
  };
207
221
  }
208
222
  //#endregion
209
223
  //#region src/components/features/schema-form/partials/schema-form-actions.tsx
210
- function R({ submitLabel: e, resetLabel: r, showReset: i = !1, disabled: o = !1, submitDisabled: c = !1, resetDisabled: l = !1, submitting: u = !1, onReset: d, className: f }) {
211
- return /* @__PURE__ */ D(a, {
224
+ function V({ submitLabel: e, resetLabel: r, showReset: i = !1, disabled: o = !1, submitDisabled: c = !1, resetDisabled: l = !1, submitting: u = !1, onReset: d, className: f }) {
225
+ return /* @__PURE__ */ k(a, {
212
226
  direction: "horizontal",
213
227
  align: "center",
214
228
  justify: "end",
215
229
  gap: s.commands,
216
230
  className: t("schema-form-actions--component", f),
217
- children: [!!i && /* @__PURE__ */ E(n, {
231
+ children: [!!i && /* @__PURE__ */ O(n, {
218
232
  type: "button",
219
233
  tone: "secondary",
220
234
  buttonStyle: "outline",
221
235
  disabled: o || l || u,
222
236
  onClick: d,
223
237
  children: r
224
- }), /* @__PURE__ */ E(n, {
238
+ }), /* @__PURE__ */ O(n, {
225
239
  type: "submit",
226
240
  tone: "primary",
227
241
  loading: u,
@@ -230,11 +244,11 @@ function R({ submitLabel: e, resetLabel: r, showReset: i = !1, disabled: o = !1,
230
244
  })]
231
245
  });
232
246
  }
233
- R.displayName = "SchemaFormActions";
247
+ V.displayName = "SchemaFormActions";
234
248
  //#endregion
235
249
  //#region src/components/features/schema-form/partials/schema-form-empty.tsx
236
- function z({ title: e, description: n, className: r }) {
237
- return /* @__PURE__ */ E(y, {
250
+ function H({ title: e, description: n, className: r }) {
251
+ return /* @__PURE__ */ O(y, {
238
252
  title: e,
239
253
  description: n,
240
254
  padding: "md",
@@ -242,21 +256,21 @@ function z({ title: e, description: n, className: r }) {
242
256
  className: t("schema-form-empty--component bg-muted/30", r)
243
257
  });
244
258
  }
245
- z.displayName = "SchemaFormEmpty";
259
+ H.displayName = "SchemaFormEmpty";
246
260
  //#endregion
247
261
  //#region src/components/features/schema-form/partials/schema-form-field.tsx
248
- function B(e) {
262
+ function U(e) {
249
263
  return e.hint ?? e.description;
250
264
  }
251
- function V(e, t, n, r) {
265
+ function W(e, t, n, r) {
252
266
  if (e.formatValue) try {
253
267
  return e.formatValue(t, n);
254
268
  } catch (e) {
255
269
  r?.(e);
256
270
  }
257
- return A(t);
271
+ return j(t);
258
272
  }
259
- function H(e, t, n, r) {
273
+ function G(e, t, n, r) {
260
274
  if (e.parseValue) try {
261
275
  return e.parseValue(t, n);
262
276
  } catch (e) {
@@ -264,15 +278,35 @@ function H(e, t, n, r) {
264
278
  }
265
279
  return t;
266
280
  }
267
- function U(e, t, n, r, i) {
281
+ function K(e, t, n, r, i) {
268
282
  if (e.parseValue) try {
269
283
  return e.parseValue(t, n);
270
284
  } catch (e) {
271
285
  i?.(e);
272
286
  }
273
- return ie(t, r);
287
+ return P(t, r);
274
288
  }
275
- function W(e, t, n, r) {
289
+ function ae({ field: e, value: t, values: n, onParsedChange: r, onParseError: i, onFocus: a, onBlur: o, ...s }) {
290
+ let c = E(!1), [l, u] = D(null), d = l && Object.is(l.value, t) ? l : null;
291
+ return l && !d && u(null), /* @__PURE__ */ O(v, {
292
+ ...s,
293
+ value: d?.text ?? W(e, t, n, i),
294
+ onFocus: (e) => {
295
+ c.current = !0, a?.(e);
296
+ },
297
+ onBlur: (e) => {
298
+ c.current = !1, u(null), o?.(e);
299
+ },
300
+ onChange: (t) => {
301
+ let a = t.target.value, o = K(e, a, n, e.type === "integer", i);
302
+ c.current && u({
303
+ text: a,
304
+ value: o
305
+ }), r(o);
306
+ }
307
+ });
308
+ }
309
+ function q(e, t, n, r) {
276
310
  if (e.type === "json" && e.parseValue) try {
277
311
  return {
278
312
  value: e.parseValue(t, n),
@@ -284,78 +318,81 @@ function W(e, t, n, r) {
284
318
  valid: !1
285
319
  };
286
320
  }
287
- return P(t);
321
+ return I(t);
288
322
  }
289
- function oe(e) {
323
+ function J(e) {
290
324
  if (!e.icon) return;
291
325
  let t = e.icon;
292
- return /* @__PURE__ */ E(t, {
326
+ return /* @__PURE__ */ O(t, {
293
327
  className: "size-icon",
294
328
  "aria-hidden": "true"
295
329
  });
296
330
  }
297
- function G({ field: e, value: n, values: r, error: i, disabled: a, fieldId: o, onValueChange: s, onError: c, strings: d }) {
298
- let f = e.type === "json" ? e.jsonIndent ?? 2 : 2, [p, m] = T(() => N(n, f)), [h, g] = T(), [_, v] = T(!1);
331
+ function Y({ field: e, value: n, values: r, error: i, disabled: a, fieldId: o, onValueChange: s, onError: c, strings: d, onParseValidityChange: f }) {
332
+ let p = e.type === "json" ? e.jsonIndent ?? 2 : 2, m = !e.parseValue, [h, g] = D(() => F(n, p)), [_, v] = D(), [y, b] = D(!1), x = E(null);
299
333
  if (S(() => {
300
- _ || m(N(n, f));
334
+ if (y) return;
335
+ let t = x.current && Object.is(x.current.value, n) ? x.current : null;
336
+ g(F(n, p, m && !!t?.valid)), !t && x.current && (x.current = null, v(void 0), f?.(e.key, !0));
301
337
  }, [
338
+ e.key,
339
+ p,
340
+ y,
302
341
  f,
303
- _,
342
+ m,
304
343
  n
305
- ]), e.type !== "json") return null;
306
- let y = (t) => {
307
- let n = W(e, t, r, c);
308
- return g(n.valid ? void 0 : d.jsonParseError), s(n.value), n;
344
+ ]), S(() => () => f?.(e.key, !0), [e.key, f]), e.type !== "json") return null;
345
+ let C = (t) => {
346
+ let n = q(e, t, r, c);
347
+ return x.current = n, v(n.valid ? void 0 : d.jsonParseError), f?.(e.key, n.valid), s(n.value), n;
309
348
  };
310
- return /* @__PURE__ */ E(l, {
349
+ return /* @__PURE__ */ O(l, {
311
350
  label: e.label,
312
351
  required: e.required,
313
- hint: B(e),
352
+ hint: U(e),
314
353
  helperText: e.helperText,
315
- error: i ?? h,
354
+ error: i ?? _,
316
355
  htmlFor: o,
317
356
  supportingTextId: `${o}-supporting`,
318
357
  className: "schema-form-field--component schema-form-field--json",
319
- children: /* @__PURE__ */ E(u, {
358
+ children: /* @__PURE__ */ O(u, {
320
359
  id: o,
321
360
  name: e.key,
322
- value: p,
361
+ value: h,
323
362
  rows: e.rows ?? 6,
324
363
  disabled: a,
325
- invalid: !!(i ?? h),
364
+ invalid: !!(i ?? _),
326
365
  placeholder: e.placeholder,
327
366
  spellCheck: !1,
328
367
  className: t("font-mono", e.controlClassName),
329
- onFocus: () => v(!0),
330
- onChange: (t) => {
331
- let n = t.target.value;
332
- m(n);
333
- let i = W(e, n, r, c);
334
- g(i.valid ? void 0 : d.jsonParseError), s(i.value);
368
+ onFocus: () => b(!0),
369
+ onChange: (e) => {
370
+ let t = e.target.value;
371
+ g(t), C(t);
335
372
  },
336
373
  onBlur: () => {
337
- v(!1);
338
- let e = y(p);
339
- e.valid && m(N(e.value, f));
374
+ b(!1);
375
+ let e = C(h);
376
+ e.valid && g(F(e.value, p, m));
340
377
  },
341
378
  ...e.textareaProps,
342
- "aria-describedby": [e.textareaProps?.["aria-describedby"], i || h || e.helperText || B(e) ? `${o}-supporting` : void 0].filter(Boolean).join(" ") || void 0
379
+ "aria-describedby": [e.textareaProps?.["aria-describedby"], i || _ || e.helperText || U(e) ? `${o}-supporting` : void 0].filter(Boolean).join(" ") || void 0
343
380
  })
344
381
  });
345
382
  }
346
- function K({ field: e, value: n, values: r, error: i, disabled: a, required: o, fieldId: s, onValueChange: g, onError: y, strings: b, className: x }) {
383
+ function X({ field: e, value: n, values: r, error: i, disabled: a, required: o, fieldId: s, onValueChange: g, onError: v, strings: y, className: b, onParseValidityChange: x }) {
347
384
  let S = e.type ?? "text", C = {
348
385
  label: e.label,
349
386
  required: o,
350
- hint: B(e),
387
+ hint: U(e),
351
388
  helperText: e.helperText,
352
389
  error: i,
353
390
  htmlFor: s,
354
391
  supportingTextId: `${s}-supporting`,
355
- className: t("schema-form-field--component", x)
356
- }, w = e.controlClassName, T = i || e.helperText || B(e) ? `${s}-supporting` : void 0;
357
- if (S === "custom" && e.type === "custom") return /* @__PURE__ */ E("div", {
358
- className: t("schema-form-field--component schema-form-field--custom", x),
392
+ className: t("schema-form-field--component", b)
393
+ }, w = e.controlClassName, T = i || e.helperText || U(e) ? `${s}-supporting` : void 0;
394
+ if (S === "custom" && e.type === "custom") return /* @__PURE__ */ O("div", {
395
+ className: t("schema-form-field--component schema-form-field--custom", b),
359
396
  children: e.render({
360
397
  field: e,
361
398
  value: n,
@@ -365,16 +402,16 @@ function K({ field: e, value: n, values: r, error: i, disabled: a, required: o,
365
402
  required: o,
366
403
  fieldId: s,
367
404
  onValueChange: g,
368
- onError: y
405
+ onError: v
369
406
  })
370
407
  });
371
408
  if (S === "switch" && e.type === "switch") {
372
- let r = M(n);
373
- return e.switchStyle === "card" ? /* @__PURE__ */ E(l, {
409
+ let r = N(n);
410
+ return e.switchStyle === "card" ? /* @__PURE__ */ O(l, {
374
411
  error: i,
375
412
  supportingTextId: `${s}-supporting`,
376
- className: t("schema-form-field--component schema-form-field--switch-card", x),
377
- children: /* @__PURE__ */ E(m, {
413
+ className: t("schema-form-field--component schema-form-field--switch-card", b),
414
+ children: /* @__PURE__ */ O(m, {
378
415
  label: e.label,
379
416
  description: e.description,
380
417
  hint: e.hint,
@@ -387,11 +424,11 @@ function K({ field: e, value: n, values: r, error: i, disabled: a, required: o,
387
424
  ...e.switchCardProps,
388
425
  "aria-describedby": [e.switchCardProps?.["aria-describedby"], i ? `${s}-supporting` : void 0].filter(Boolean).join(" ") || void 0
389
426
  })
390
- }) : /* @__PURE__ */ E(l, {
427
+ }) : /* @__PURE__ */ O(l, {
391
428
  error: i,
392
429
  supportingTextId: `${s}-supporting`,
393
- className: t("schema-form-field--component schema-form-field--switch", x),
394
- children: /* @__PURE__ */ E(d, {
430
+ className: t("schema-form-field--component schema-form-field--switch", b),
431
+ children: /* @__PURE__ */ O(d, {
395
432
  label: e.label,
396
433
  description: e.description ?? e.hint,
397
434
  name: e.key,
@@ -405,7 +442,7 @@ function K({ field: e, value: n, values: r, error: i, disabled: a, required: o,
405
442
  })
406
443
  });
407
444
  }
408
- if (S === "json") return /* @__PURE__ */ E(G, {
445
+ if (S === "json") return /* @__PURE__ */ O(Y, {
409
446
  field: e,
410
447
  value: n,
411
448
  values: r,
@@ -414,14 +451,15 @@ function K({ field: e, value: n, values: r, error: i, disabled: a, required: o,
414
451
  required: o,
415
452
  fieldId: s,
416
453
  onValueChange: g,
417
- onError: y,
418
- strings: b
454
+ onError: v,
455
+ strings: y,
456
+ onParseValidityChange: x
419
457
  });
420
458
  if (S === "textarea" && e.type === "textarea") {
421
- let t = V(e, n, r, y);
422
- return /* @__PURE__ */ E(l, {
459
+ let t = W(e, n, r, v);
460
+ return /* @__PURE__ */ O(l, {
423
461
  ...C,
424
- children: /* @__PURE__ */ E(u, {
462
+ children: /* @__PURE__ */ O(u, {
425
463
  "aria-describedby": T,
426
464
  id: s,
427
465
  name: e.key,
@@ -432,32 +470,32 @@ function K({ field: e, value: n, values: r, error: i, disabled: a, required: o,
432
470
  invalid: !!i,
433
471
  placeholder: e.placeholder,
434
472
  className: w,
435
- onChange: (t) => g(H(e, t.target.value, r, y)),
473
+ onChange: (t) => g(G(e, t.target.value, r, v)),
436
474
  ...e.textareaProps
437
475
  })
438
476
  });
439
477
  }
440
478
  if ((S === "number" || S === "integer" || S === "decimal") && (e.type === "number" || e.type === "integer" || e.type === "decimal")) {
441
- let t = V(e, n, r, y), c = e.type === "integer", u = c ? 0 : e.decimalPlaces ?? (e.type === "decimal" ? 2 : 4);
442
- return /* @__PURE__ */ E(l, {
479
+ let t = e.type === "integer" ? 0 : e.decimalPlaces ?? (e.type === "decimal" ? 2 : 4);
480
+ return /* @__PURE__ */ O(l, {
443
481
  ...C,
444
- children: /* @__PURE__ */ E(v, {
482
+ children: /* @__PURE__ */ O(ae, {
483
+ field: e,
484
+ value: n,
485
+ values: r,
486
+ onParsedChange: g,
487
+ onParseError: v,
445
488
  id: s,
446
489
  name: e.key,
447
- value: t,
448
490
  min: e.min,
449
491
  max: e.max,
450
492
  step: e.step,
451
- decimalPlaces: u,
493
+ decimalPlaces: t,
452
494
  disabled: a,
453
495
  required: o,
454
496
  invalid: !!i,
455
497
  placeholder: e.placeholder,
456
498
  className: w,
457
- onChange: (t) => {
458
- let n = t.target.value;
459
- g(U(e, n, r, c, y));
460
- },
461
499
  ...e.numberProps,
462
500
  "aria-describedby": [e.numberProps?.["aria-describedby"], T].filter(Boolean).join(" ") || void 0
463
501
  })
@@ -468,13 +506,13 @@ function K({ field: e, value: n, values: r, error: i, disabled: a, required: o,
468
506
  value: e.value,
469
507
  label: e.label,
470
508
  disabled: e.disabled,
471
- icon: oe(e)
509
+ icon: J(e)
472
510
  }));
473
- return /* @__PURE__ */ E(l, {
511
+ return /* @__PURE__ */ O(l, {
474
512
  ...C,
475
- children: /* @__PURE__ */ E(p, {
513
+ children: /* @__PURE__ */ O(p, {
476
514
  name: e.key,
477
- value: A(n),
515
+ value: j(n),
478
516
  options: t,
479
517
  allowClear: e.allowClear,
480
518
  disabled: a,
@@ -489,11 +527,11 @@ function K({ field: e, value: n, values: r, error: i, disabled: a, required: o,
489
527
  })
490
528
  });
491
529
  }
492
- if (S === "radio-cards" && e.type === "radio-cards") return /* @__PURE__ */ E(l, {
530
+ if (S === "radio-cards" && e.type === "radio-cards") return /* @__PURE__ */ O(l, {
493
531
  ...C,
494
- children: /* @__PURE__ */ E(h, {
532
+ children: /* @__PURE__ */ O(h, {
495
533
  name: e.key,
496
- value: A(n),
534
+ value: j(n),
497
535
  options: e.options,
498
536
  columns: e.columns,
499
537
  disabled: a,
@@ -504,11 +542,11 @@ function K({ field: e, value: n, values: r, error: i, disabled: a, required: o,
504
542
  "aria-describedby": [e.radioProps?.["aria-describedby"], T].filter(Boolean).join(" ") || void 0
505
543
  })
506
544
  });
507
- if (S === "checkbox-cards" && e.type === "checkbox-cards") return /* @__PURE__ */ E(l, {
545
+ if (S === "checkbox-cards" && e.type === "checkbox-cards") return /* @__PURE__ */ O(l, {
508
546
  ...C,
509
- children: /* @__PURE__ */ E(f, {
547
+ children: /* @__PURE__ */ O(f, {
510
548
  name: e.key,
511
- value: j(n),
549
+ value: M(n),
512
550
  options: e.options,
513
551
  columns: e.columns,
514
552
  disabled: a,
@@ -519,11 +557,11 @@ function K({ field: e, value: n, values: r, error: i, disabled: a, required: o,
519
557
  "aria-describedby": [e.checkboxProps?.["aria-describedby"], T].filter(Boolean).join(" ") || void 0
520
558
  })
521
559
  });
522
- if (S === "tags" && e.type === "tags") return /* @__PURE__ */ E(l, {
560
+ if (S === "tags" && e.type === "tags") return /* @__PURE__ */ O(l, {
523
561
  ...C,
524
- children: /* @__PURE__ */ E(_, {
562
+ children: /* @__PURE__ */ O(_, {
525
563
  id: s,
526
- value: j(n),
564
+ value: M(n),
527
565
  recommendations: e.recommendations,
528
566
  maxTags: e.maxTags,
529
567
  disabled: a,
@@ -535,29 +573,29 @@ function K({ field: e, value: n, values: r, error: i, disabled: a, required: o,
535
573
  "aria-describedby": [e.tagsProps?.["aria-describedby"], T].filter(Boolean).join(" ") || void 0
536
574
  })
537
575
  });
538
- let D = S === "text" ? "text" : S, O = e.type === void 0 || e.type === "text" || e.type === "email" || e.type === "password" || e.type === "url" || e.type === "tel" || e.type === "search" ? e.inputProps : void 0, ee = V(e, n, r, y);
539
- return /* @__PURE__ */ E(l, {
576
+ let E = S === "text" ? "text" : S, D = e.type === void 0 || e.type === "text" || e.type === "email" || e.type === "password" || e.type === "url" || e.type === "tel" || e.type === "search" ? e.inputProps : void 0, k = W(e, n, r, v);
577
+ return /* @__PURE__ */ O(l, {
540
578
  ...C,
541
- children: /* @__PURE__ */ E(c, {
579
+ children: /* @__PURE__ */ O(c, {
542
580
  id: s,
543
581
  name: e.key,
544
- type: D,
545
- value: ee,
582
+ type: E,
583
+ value: k,
546
584
  disabled: a,
547
585
  required: o,
548
586
  invalid: !!i,
549
587
  placeholder: e.placeholder,
550
588
  className: w,
551
- onChange: (t) => g(H(e, t.target.value, r, y)),
552
- ...O,
553
- "aria-describedby": [O?.["aria-describedby"], T].filter(Boolean).join(" ") || void 0
589
+ onChange: (t) => g(G(e, t.target.value, r, v)),
590
+ ...D,
591
+ "aria-describedby": [D?.["aria-describedby"], T].filter(Boolean).join(" ") || void 0
554
592
  })
555
593
  });
556
594
  }
557
- K.displayName = "SchemaFormFieldRenderer";
595
+ X.displayName = "SchemaFormFieldRenderer";
558
596
  //#endregion
559
597
  //#region src/components/features/schema-form/schema-form.strings.ts
560
- var q = {
598
+ var oe = {
561
599
  submitLabel: "Save changes",
562
600
  resetLabel: "Reset",
563
601
  defaultSectionTitle: "General",
@@ -573,179 +611,182 @@ function se(e) {
573
611
  return e.replace(/[^a-zA-Z0-9_-]/g, "-");
574
612
  }
575
613
  function ce({ section: e }) {
576
- return !e.title && !e.description ? null : /* @__PURE__ */ D(a, {
614
+ return !e.title && !e.description ? null : /* @__PURE__ */ k(a, {
577
615
  gap: "normal",
578
616
  className: "schema-form--section-heading",
579
- children: [!!e.title && /* @__PURE__ */ E(r, {
617
+ children: [!!e.title && /* @__PURE__ */ O(r, {
580
618
  ...i.subsection,
581
619
  className: "schema-form--section-title",
582
620
  children: e.title
583
- }), !!e.description && /* @__PURE__ */ E(r, {
621
+ }), !!e.description && /* @__PURE__ */ O(r, {
584
622
  ...i.structuralDescription,
585
623
  className: "schema-form--section-description",
586
624
  children: e.description
587
625
  })]
588
626
  });
589
627
  }
590
- function J({ schema: n, value: i, defaultValue: c, errors: l, disabled: u = !1, layout: d = "form", columns: f = 2, id: p, name: m, title: h, description: _, headerSlot: v, footerSlot: y, actionsSlot: x, emptySlot: S, showActions: T, submitLabel: k, resetLabel: ne, submitDisabled: A = !1, resetDisabled: j = !1, submitting: M = !1, onValueChange: ie, onFieldChange: N, onSubmit: P, onReset: F, onError: I, renderField: ae, renderSection: B, strings: V, className: H, contentClassName: U, sectionClassName: W, fieldClassName: oe }) {
591
- let G = C(), J = p ?? `schema-form-${G}`, Y = e(q, V), X = L({
628
+ function Z({ schema: n, value: i, defaultValue: c, errors: l, disabled: u = !1, layout: d = "form", columns: f = 2, id: p, name: m, title: h, description: _, headerSlot: v, footerSlot: y, actionsSlot: x, emptySlot: S, showActions: w, submitLabel: E, resetLabel: D, submitDisabled: A = !1, resetDisabled: re = !1, submitting: j = !1, onValueChange: M, onFieldChange: N, onSubmit: P, onReset: F, onError: I, renderField: L, renderSection: R, strings: z, className: U, contentClassName: W, sectionClassName: G, fieldClassName: K }) {
629
+ let ae = C(), q = p ?? `schema-form-${ae}`, J = e(oe, z), Y = B({
592
630
  fields: n.fields,
593
631
  value: i,
594
632
  defaultValue: c,
595
633
  errors: l,
596
- onValueChange: ie,
634
+ onValueChange: M,
597
635
  onFieldChange: N,
598
- formatRequiredError: Y.formatRequiredError,
599
- validationError: Y.validationError,
636
+ formatRequiredError: J.formatRequiredError,
637
+ validationError: J.validationError,
600
638
  onError: I
601
- }), Z = w(() => re(n, X.values, Y.defaultSectionTitle, f, I), [
639
+ }), Z = T(() => ie(n, Y.values, J.defaultSectionTitle, f, I), [
602
640
  f,
603
- X.values,
641
+ Y.values,
604
642
  I,
605
643
  n,
606
- Y.defaultSectionTitle
644
+ J.defaultSectionTitle
607
645
  ]), le = Z.some((e) => e.fields.length > 0), ue = {
608
- setFieldValue: X.setFieldValue,
609
- setValues: X.setValues,
610
- reset: X.reset,
611
- validate: X.validate
612
- }, de = T ?? !!(P || F || x), fe = k ?? Y.submitLabel, pe = ne ?? Y.resetLabel, me = (e) => {
613
- let n = `${J}-${se(e.key)}`, r = u || te(e, X.values, I), i = {
646
+ setFieldValue: Y.setFieldValue,
647
+ setValues: Y.setValues,
648
+ reset: Y.reset,
649
+ validate: Y.validate
650
+ }, de = w ?? !!(P || F || x), fe = E ?? J.submitLabel, pe = D ?? J.resetLabel, me = (e) => {
651
+ let n = `${q}-${se(e.key)}`, r = u || ne(e, Y.values, I), i = {
614
652
  field: e,
615
- value: X.getFieldValue(e.key),
616
- values: X.values,
617
- error: X.getFieldError(e.key),
653
+ value: Y.getFieldValue(e.key),
654
+ values: Y.values,
655
+ error: Y.getFieldError(e.key),
618
656
  disabled: r,
619
657
  required: !!e.required,
620
658
  fieldId: n,
621
- onValueChange: (t) => X.setFieldValue(e.key, t),
659
+ onValueChange: (t) => Y.setFieldValue(e.key, t),
622
660
  onError: I
623
- }, a = /* @__PURE__ */ E(K, {
661
+ }, a = /* @__PURE__ */ O(X, {
624
662
  ...i,
625
- strings: Y
663
+ strings: J,
664
+ onParseValidityChange: Y.setFieldParseValidity
626
665
  });
627
- return /* @__PURE__ */ E("div", {
628
- className: t("schema-form--field", ee[e.width ?? "auto"], e.className, oe),
629
- children: ae?.({
666
+ return /* @__PURE__ */ O("div", {
667
+ className: t("schema-form--field", te[e.width ?? "auto"], e.className, K),
668
+ children: L?.({
630
669
  ...i,
631
670
  defaultField: a
632
671
  }) ?? a
633
672
  }, e.key);
634
- }, Q = (e) => /* @__PURE__ */ E("div", {
635
- className: t("schema-form--section-fields", O[e.columns]),
673
+ }, he = (e) => /* @__PURE__ */ O("div", {
674
+ className: t("schema-form--section-fields", ee[e.columns]),
636
675
  children: e.fields.map(me)
637
- }), he = (e) => {
638
- let n = Q(e), r = B?.({
676
+ }), ge = (e) => {
677
+ let n = he(e), r = R?.({
639
678
  section: e,
640
679
  fields: n,
641
- values: X.values
680
+ values: Y.values
642
681
  });
643
- return r == null ? /* @__PURE__ */ D(a, {
644
- render: /* @__PURE__ */ E("section", {}),
682
+ return r == null ? /* @__PURE__ */ k(a, {
683
+ render: /* @__PURE__ */ O("section", {}),
645
684
  gap: "lg",
646
- className: t("schema-form--section", e.className, W),
685
+ className: t("schema-form--section", e.className, G),
647
686
  children: [
648
- /* @__PURE__ */ E(ce, { section: e }),
687
+ /* @__PURE__ */ O(ce, { section: e }),
649
688
  n,
650
- !!e.footerSlot && /* @__PURE__ */ E("div", {
689
+ !!e.footerSlot && /* @__PURE__ */ O("div", {
651
690
  className: "schema-form--section-footer",
652
691
  children: e.footerSlot
653
692
  })
654
693
  ]
655
- }, e.id) : /* @__PURE__ */ E(b, { children: r }, e.id);
656
- }, ge = (e) => {
657
- let n = Q(e), r = B?.({
694
+ }, e.id) : /* @__PURE__ */ O(b, { children: r }, e.id);
695
+ }, _e = (e) => {
696
+ let n = he(e), r = R?.({
658
697
  section: e,
659
698
  fields: n,
660
- values: X.values
699
+ values: Y.values
661
700
  });
662
- return r == null ? /* @__PURE__ */ E(g, {
663
- className: t("schema-form--section-card", e.className, W),
701
+ return r == null ? /* @__PURE__ */ O(g, {
702
+ className: t("schema-form--section-card", e.className, G),
664
703
  icon: e.icon,
665
704
  title: e.title,
666
705
  description: e.description,
667
706
  footerSlot: e.footerSlot,
668
707
  children: n
669
- }, e.id) : /* @__PURE__ */ E(b, { children: r }, e.id);
670
- }, $ = x ?? (de ? /* @__PURE__ */ E(R, {
708
+ }, e.id) : /* @__PURE__ */ O(b, { children: r }, e.id);
709
+ }, Q = x ?? (de ? /* @__PURE__ */ O(V, {
671
710
  submitLabel: fe,
672
711
  resetLabel: pe,
673
712
  showReset: !!F,
674
713
  disabled: u,
675
714
  submitDisabled: A,
676
- resetDisabled: j,
677
- submitting: M,
715
+ resetDisabled: re,
716
+ submitting: j,
678
717
  onReset: () => {
679
- let e = X.reset();
718
+ let e = Y.reset();
680
719
  F?.(e, ue);
681
720
  }
682
- }) : null), _e = S ?? /* @__PURE__ */ E(z, {
683
- title: Y.emptyTitle,
684
- description: Y.emptyDescription
721
+ }) : null), $ = S ?? /* @__PURE__ */ O(H, {
722
+ title: J.emptyTitle,
723
+ description: J.emptyDescription
685
724
  });
686
- return /* @__PURE__ */ E("form", {
687
- id: J,
725
+ return /* @__PURE__ */ O("form", {
726
+ id: q,
688
727
  name: m,
689
728
  noValidate: !0,
690
- className: t("schema-form--component @container/schema-form", H),
729
+ className: t("schema-form--component @container/schema-form", U),
691
730
  onSubmit: async (e) => {
692
- if (e.preventDefault(), !(u || A || M) && X.validate()) try {
693
- await P?.(X.values, ue, e);
731
+ if (e.preventDefault(), u || A || j) return;
732
+ let t = Y.getValues();
733
+ if (Y.validate()) try {
734
+ await P?.(t, ue, e);
694
735
  } catch (e) {
695
736
  I?.(e);
696
737
  }
697
738
  },
698
- children: d === "cards" ? /* @__PURE__ */ D(a, {
739
+ children: d === "cards" ? /* @__PURE__ */ k(a, {
699
740
  gap: s.subjects,
700
- className: t("schema-form--cards", U),
741
+ className: t("schema-form--cards", W),
701
742
  children: [
702
- !!(h ?? n.title ?? _ ?? n.description ?? v) && /* @__PURE__ */ D(a, {
743
+ !!(h ?? n.title ?? _ ?? n.description ?? v) && /* @__PURE__ */ k(a, {
703
744
  direction: "horizontal",
704
745
  align: "start",
705
746
  justify: "between",
706
747
  gap: "xl",
707
748
  className: "schema-form--header",
708
- children: [/* @__PURE__ */ D(a, {
749
+ children: [/* @__PURE__ */ k(a, {
709
750
  gap: "normal",
710
751
  className: "min-w-0",
711
- children: [!!(h ?? n.title) && /* @__PURE__ */ E(r, {
752
+ children: [!!(h ?? n.title) && /* @__PURE__ */ O(r, {
712
753
  type: "inherit",
713
754
  size: "base",
714
755
  weight: "semibold",
715
756
  className: "schema-form--title",
716
757
  children: h ?? n.title
717
- }), !!(_ ?? n.description) && /* @__PURE__ */ E(r, {
758
+ }), !!(_ ?? n.description) && /* @__PURE__ */ O(r, {
718
759
  type: "secondary",
719
760
  className: "schema-form--description",
720
761
  children: _ ?? n.description
721
762
  })]
722
763
  }), v]
723
764
  }),
724
- le ? Z.map(ge) : _e,
765
+ le ? Z.map(_e) : $,
725
766
  y,
726
- $
767
+ Q
727
768
  ]
728
- }) : /* @__PURE__ */ E(o, {
769
+ }) : /* @__PURE__ */ O(o, {
729
770
  surface: "flat",
730
771
  padding: "none",
731
772
  className: "schema-form--surface",
732
773
  gap: s.subjects,
733
774
  contentGap: s.subjects,
734
- contentClassName: t("schema-form--content", U),
775
+ contentClassName: t("schema-form--content", W),
735
776
  title: h ?? n.title,
736
777
  description: _ ?? n.description,
737
778
  headerEnd: v,
738
- footerSlot: y || $ ? /* @__PURE__ */ D(a, {
779
+ footerSlot: y || Q ? /* @__PURE__ */ k(a, {
739
780
  gap: "lg",
740
781
  className: "schema-form--footer",
741
- children: [y, $]
782
+ children: [y, Q]
742
783
  }) : void 0,
743
- children: le ? Z.map(he) : _e
784
+ children: le ? Z.map(ge) : $
744
785
  })
745
786
  });
746
787
  }
747
- J.displayName = "SchemaForm";
788
+ Z.displayName = "SchemaForm";
748
789
  //#endregion
749
- export { J as SchemaForm, R as SchemaFormActions, z as SchemaFormEmpty, K as SchemaFormFieldRenderer, q as defaultSchemaFormStrings, L as useSchemaForm };
790
+ export { Z as SchemaForm, V as SchemaFormActions, H as SchemaFormEmpty, X as SchemaFormFieldRenderer, oe as defaultSchemaFormStrings, B as useSchemaForm };
750
791
 
751
792
  //# sourceMappingURL=schema-form.js.map