mlform 0.1.8 → 0.1.10

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 (387) hide show
  1. package/README.md +21 -17
  2. package/dist/builtins-D8rXH4ED.js +725 -0
  3. package/dist/{design-system-Dxx1Sh7r.js → design-6suKVQDo.js} +577 -396
  4. package/dist/mlform/builtins.mjs +2 -0
  5. package/dist/mlform/design.mjs +2 -0
  6. package/dist/mlform/kit.mjs +1896 -3
  7. package/dist/mlform/primitives.mjs +2 -2
  8. package/dist/mlform/runtime.mjs +3 -5
  9. package/dist/mlform/schema.mjs +2 -102
  10. package/dist/mlform/transport.mjs +2 -2
  11. package/dist/{primitives-Duag8Lj0.js → primitives-k9HTnd72.js} +2304 -3348
  12. package/dist/runtime-CI7vlp9i.js +1703 -0
  13. package/dist/schema-DSAZ6bts.js +88 -0
  14. package/dist/{transport-CtVX8ZUT.js → transport-CO6udZ6z.js} +633 -605
  15. package/dist/types/builtins/definitions/collections.d.ts +70 -0
  16. package/dist/types/builtins/definitions/fields/boolean.d.ts +9 -0
  17. package/dist/types/builtins/definitions/fields/category.d.ts +12 -0
  18. package/dist/types/builtins/definitions/fields/date.d.ts +10 -0
  19. package/dist/types/builtins/definitions/fields/long-text.d.ts +11 -0
  20. package/dist/types/{src/runtime/builtins → builtins/definitions}/fields/mapped-category.d.ts +3 -2
  21. package/dist/types/{src/runtime/builtins → builtins/definitions}/fields/multi-choice.d.ts +3 -2
  22. package/dist/types/builtins/definitions/fields/number.d.ts +12 -0
  23. package/dist/types/builtins/definitions/fields/rating.d.ts +10 -0
  24. package/dist/types/builtins/definitions/fields/series-helpers.d.ts +52 -0
  25. package/dist/types/builtins/definitions/fields/series.d.ts +3 -0
  26. package/dist/types/{src/runtime/builtins → builtins/definitions}/fields/single-choice.d.ts +3 -2
  27. package/dist/types/builtins/definitions/fields/text.d.ts +11 -0
  28. package/dist/types/{src/shared/object.d.ts → builtins/definitions/fields/value-helpers.d.ts} +1 -0
  29. package/dist/types/builtins/definitions/index.d.ts +14 -0
  30. package/dist/types/builtins/definitions/reports/classifier.d.ts +9 -0
  31. package/dist/types/builtins/definitions/reports/regressor.d.ts +9 -0
  32. package/dist/types/{src/runtime/builtins → builtins/definitions}/shared.d.ts +16 -1
  33. package/dist/types/builtins/index.d.ts +5 -0
  34. package/dist/types/builtins/mapped-category-behavior.d.ts +2 -0
  35. package/dist/types/builtins/registry-pack.d.ts +10 -0
  36. package/dist/types/design/recipes/collections.d.ts +2 -0
  37. package/dist/types/design/recipes/index.d.ts +2 -0
  38. package/dist/types/{src/design-system → design}/registry/builtins.d.ts +0 -3
  39. package/dist/types/{src/design-system → design}/registry/index.d.ts +3 -1
  40. package/dist/types/design/resolve/index.d.ts +4 -0
  41. package/dist/types/{src/design-system/resolve/index.d.ts → design/resolve/resolve-design.d.ts} +0 -3
  42. package/dist/types/design/runtime/controller-helpers.d.ts +12 -0
  43. package/dist/types/{src/design-system → design}/runtime/index.d.ts +3 -3
  44. package/dist/types/design/themes/airbnb.d.ts +2 -0
  45. package/dist/types/design/themes/clickhouse.d.ts +2 -0
  46. package/dist/types/design/themes/collections.d.ts +2 -0
  47. package/dist/types/design/themes/index.d.ts +3 -0
  48. package/dist/types/{src/design-system → design}/types.d.ts +1 -1
  49. package/dist/types/{src/kit → kit}/constants.d.ts +3 -11
  50. package/dist/types/{src/kit → kit}/defaults.d.ts +4 -4
  51. package/dist/types/kit/disclosure-root-styles.d.ts +1 -0
  52. package/dist/types/kit/error-navigation.d.ts +3 -0
  53. package/dist/types/kit/index.d.ts +7 -0
  54. package/dist/types/{src/presentation → kit/kinds}/define-field-kind.d.ts +11 -3
  55. package/dist/types/kit/kinds/define-report-kind.d.ts +40 -0
  56. package/dist/types/kit/kinds/index.d.ts +3 -0
  57. package/dist/types/kit/kinds/register-kind.d.ts +5 -0
  58. package/dist/types/{src/kit → kit}/layout-helpers.d.ts +7 -11
  59. package/dist/types/kit/layout-node-render.d.ts +18 -0
  60. package/dist/types/{src/kit → kit}/layout-node-resolver.d.ts +1 -1
  61. package/dist/types/{src/kit/accordion-root.d.ts → kit/layout-root.d.ts} +3 -4
  62. package/dist/types/{src/kit → kit}/layout-types.d.ts +8 -36
  63. package/dist/types/{src/kit → kit}/layout-utils.d.ts +0 -1
  64. package/dist/types/{src/kit → kit}/layout.d.ts +2 -2
  65. package/dist/types/{src/kit → kit}/mount-types.d.ts +8 -7
  66. package/dist/types/{src/kit → kit}/panel-nav.d.ts +1 -1
  67. package/dist/types/{src/kit → kit}/tabs-root.d.ts +1 -2
  68. package/dist/types/kit/types.d.ts +4 -0
  69. package/dist/types/kit/view-core-types.d.ts +110 -0
  70. package/dist/types/{src/kit → kit}/view-layout-state.d.ts +10 -3
  71. package/dist/types/{src/kit → kit}/view-navigation.d.ts +4 -4
  72. package/dist/types/kit/view-snapshot-cache.d.ts +14 -0
  73. package/dist/types/kit/view-snapshot.d.ts +15 -0
  74. package/dist/types/kit/view-types.d.ts +1 -0
  75. package/dist/types/kit/view.d.ts +2 -0
  76. package/dist/types/{src/kit → kit}/wizard-root.d.ts +1 -2
  77. package/dist/types/{src/primitives → primitives}/base-async-report-element.d.ts +1 -1
  78. package/dist/types/{src/primitives → primitives}/base-field-element.d.ts +3 -3
  79. package/dist/types/{src/primitives → primitives}/base-report-element.d.ts +3 -3
  80. package/dist/types/primitives/components/descriptor-content.d.ts +4 -0
  81. package/dist/types/primitives/components/error-focus.d.ts +5 -0
  82. package/dist/types/{src/primitives → primitives}/components/field-frame-feedback.d.ts +3 -3
  83. package/dist/types/{src/primitives → primitives}/components/field-frame.d.ts +3 -3
  84. package/dist/types/{src/primitives → primitives}/components/form-errors.d.ts +2 -2
  85. package/dist/types/primitives/components/form-root-presenters.d.ts +12 -0
  86. package/dist/types/primitives/components/form-root-split-styles.d.ts +1 -0
  87. package/dist/types/{src/primitives → primitives}/components/form-root-state.d.ts +4 -6
  88. package/dist/types/{src/primitives → primitives}/components/form-root-templates.d.ts +4 -8
  89. package/dist/types/{src/primitives → primitives}/components/form-root.d.ts +4 -4
  90. package/dist/types/{src/primitives → primitives}/components/report-frame.d.ts +4 -4
  91. package/dist/types/{src/primitives → primitives}/components/submit-button.d.ts +2 -2
  92. package/dist/types/{src/primitives → primitives}/constants.d.ts +6 -9
  93. package/dist/types/primitives/controller-types.d.ts +96 -0
  94. package/dist/types/primitives/descriptor-resolution.d.ts +6 -0
  95. package/dist/types/primitives/descriptors/content.d.ts +61 -0
  96. package/dist/types/primitives/descriptors/field.d.ts +32 -0
  97. package/dist/types/primitives/descriptors/index.d.ts +5 -0
  98. package/dist/types/primitives/descriptors/registry.d.ts +11 -0
  99. package/dist/types/primitives/descriptors/report.d.ts +20 -0
  100. package/dist/types/primitives/fields/series-field-renderers.d.ts +18 -0
  101. package/dist/types/primitives/index.d.ts +13 -0
  102. package/dist/types/primitives/mount-form.d.ts +4 -0
  103. package/dist/types/primitives/request-runner.d.ts +13 -0
  104. package/dist/types/{src/primitives → primitives}/types.d.ts +16 -53
  105. package/dist/types/runtime/create-runtime-helpers.d.ts +11 -0
  106. package/dist/types/{src/runtime → runtime}/errors.d.ts +3 -4
  107. package/dist/types/runtime/index.d.ts +10 -0
  108. package/dist/types/{src/runtime → runtime}/reports/controller.d.ts +3 -2
  109. package/dist/types/{src/runtime → runtime}/runtime-behaviors.d.ts +1 -1
  110. package/dist/types/{src/runtime → runtime}/runtime-controller.d.ts +1 -5
  111. package/dist/types/{src/runtime → runtime}/state/engine.d.ts +1 -2
  112. package/dist/types/runtime/submission/create-submitter.d.ts +2 -0
  113. package/dist/types/{src/runtime → runtime}/submission/index.d.ts +1 -1
  114. package/dist/types/{src/runtime → runtime}/submission/lifecycle.d.ts +1 -2
  115. package/dist/types/runtime/submission/pending-patches.d.ts +2 -0
  116. package/dist/types/{src/runtime → runtime}/submission/pipeline.d.ts +1 -1
  117. package/dist/types/runtime/submission/report-fetches.d.ts +2 -0
  118. package/dist/types/runtime/submission/stream-events.d.ts +13 -0
  119. package/dist/types/{src/runtime → runtime}/submission/types.d.ts +1 -2
  120. package/dist/types/{src/runtime → runtime}/types/behavior.d.ts +1 -1
  121. package/dist/types/{src/runtime → runtime}/types/field.d.ts +3 -10
  122. package/dist/types/{src/runtime → runtime}/types/form.d.ts +9 -13
  123. package/dist/types/runtime/types/index.d.ts +7 -0
  124. package/dist/types/{src/runtime → runtime}/types/pipeline.d.ts +10 -10
  125. package/dist/types/runtime/types/registry.d.ts +5 -0
  126. package/dist/types/runtime/types/report.d.ts +16 -0
  127. package/dist/types/{src/runtime → runtime}/types/transport.d.ts +4 -5
  128. package/dist/types/{src/runtime → runtime}/utils.d.ts +1 -3
  129. package/dist/types/{src/runtime → runtime}/validation/form.d.ts +1 -1
  130. package/dist/types/schema/ids.d.ts +1 -0
  131. package/dist/types/{src/schema → schema}/index.d.ts +3 -1
  132. package/dist/types/schema/registry.d.ts +7 -0
  133. package/dist/types/schema/report-fetch-request.d.ts +6 -0
  134. package/dist/types/{src/schema → schema}/types/form.d.ts +0 -3
  135. package/dist/types/{src/schema → schema}/types/registry.d.ts +0 -5
  136. package/dist/types/{src/schema → schema}/types/report.d.ts +25 -3
  137. package/dist/types/schema/types/submit.d.ts +11 -0
  138. package/dist/types/transport/composition/fanout-options.d.ts +9 -0
  139. package/dist/types/{src/transport → transport}/errors.d.ts +1 -2
  140. package/dist/types/{src/transport → transport}/index.d.ts +2 -0
  141. package/dist/types/transport/request-runner.d.ts +16 -0
  142. package/package.json +13 -26
  143. package/dist/builtins-DegwhFGA.js +0 -3507
  144. package/dist/builtins-ml-9qB2MOxt.js +0 -51
  145. package/dist/errors-B3H1wRwj.js +0 -8
  146. package/dist/kit-CuRF6dhL.js +0 -1847
  147. package/dist/mlform/behaviors.mjs +0 -32
  148. package/dist/mlform/builtins-ml.mjs +0 -3
  149. package/dist/mlform/design-system.mjs +0 -2
  150. package/dist/mlform/presentation.mjs +0 -2
  151. package/dist/mlform.mjs +0 -8
  152. package/dist/presentation-CkQuYheR.js +0 -200
  153. package/dist/runtime-DMjDVo0H.js +0 -1824
  154. package/dist/strings-CWwrrYzz.js +0 -4
  155. package/dist/types/src/behaviors/index.d.ts +0 -3
  156. package/dist/types/src/builtins-ml/index.d.ts +0 -5
  157. package/dist/types/src/design-system/recipes/index.d.ts +0 -4
  158. package/dist/types/src/design-system/themes/index.d.ts +0 -5
  159. package/dist/types/src/index.d.ts +0 -13
  160. package/dist/types/src/kit/accordion-root-styles.d.ts +0 -1
  161. package/dist/types/src/kit/accordion.d.ts +0 -2
  162. package/dist/types/src/kit/index.d.ts +0 -9
  163. package/dist/types/src/kit/layout-node-render.d.ts +0 -18
  164. package/dist/types/src/kit/tabs.d.ts +0 -2
  165. package/dist/types/src/kit/types.d.ts +0 -5
  166. package/dist/types/src/kit/view-snapshot-cache.d.ts +0 -14
  167. package/dist/types/src/kit/view-snapshot.d.ts +0 -15
  168. package/dist/types/src/kit/view-types.d.ts +0 -172
  169. package/dist/types/src/kit/view.d.ts +0 -8
  170. package/dist/types/src/kit/wizard.d.ts +0 -2
  171. package/dist/types/src/packs/default.d.ts +0 -2
  172. package/dist/types/src/packs/index.d.ts +0 -3
  173. package/dist/types/src/packs/ml.d.ts +0 -2
  174. package/dist/types/src/packs/shared.d.ts +0 -25
  175. package/dist/types/src/presentation/define-explanation-kind.d.ts +0 -11
  176. package/dist/types/src/presentation/define-report-kind.d.ts +0 -15
  177. package/dist/types/src/presentation/index.d.ts +0 -10
  178. package/dist/types/src/presentation/register-kind.d.ts +0 -6
  179. package/dist/types/src/presentation/registry.d.ts +0 -15
  180. package/dist/types/src/presentation/types/explanation.d.ts +0 -32
  181. package/dist/types/src/presentation/types/field.d.ts +0 -36
  182. package/dist/types/src/presentation/types/presentation.d.ts +0 -61
  183. package/dist/types/src/presentation/types/report.d.ts +0 -41
  184. package/dist/types/src/primitives/base-explanation-element.d.ts +0 -22
  185. package/dist/types/src/primitives/components/declarative-explanation.d.ts +0 -5
  186. package/dist/types/src/primitives/components/explanation-panel.d.ts +0 -24
  187. package/dist/types/src/primitives/components/form-root-presenters.d.ts +0 -17
  188. package/dist/types/src/primitives/components/presentation.d.ts +0 -4
  189. package/dist/types/src/primitives/index.d.ts +0 -8
  190. package/dist/types/src/primitives/mount-form.d.ts +0 -4
  191. package/dist/types/src/primitives/presentation.d.ts +0 -8
  192. package/dist/types/src/runtime/builtins/fields/boolean.d.ts +0 -8
  193. package/dist/types/src/runtime/builtins/fields/category.d.ts +0 -11
  194. package/dist/types/src/runtime/builtins/fields/date.d.ts +0 -9
  195. package/dist/types/src/runtime/builtins/fields/long-text.d.ts +0 -10
  196. package/dist/types/src/runtime/builtins/fields/number.d.ts +0 -11
  197. package/dist/types/src/runtime/builtins/fields/rating.d.ts +0 -9
  198. package/dist/types/src/runtime/builtins/fields/series.d.ts +0 -20
  199. package/dist/types/src/runtime/builtins/fields/text.d.ts +0 -10
  200. package/dist/types/src/runtime/builtins/index.d.ts +0 -103
  201. package/dist/types/src/runtime/builtins/reports/classifier.d.ts +0 -8
  202. package/dist/types/src/runtime/builtins/reports/regressor.d.ts +0 -8
  203. package/dist/types/src/runtime/declarative/explanation.d.ts +0 -2
  204. package/dist/types/src/runtime/declarative/field.d.ts +0 -2
  205. package/dist/types/src/runtime/declarative/presentation.d.ts +0 -61
  206. package/dist/types/src/runtime/declarative/report.d.ts +0 -2
  207. package/dist/types/src/runtime/explanations/controller.d.ts +0 -13
  208. package/dist/types/src/runtime/index.d.ts +0 -16
  209. package/dist/types/src/runtime/registry/index.d.ts +0 -5
  210. package/dist/types/src/runtime/reports/index.d.ts +0 -1
  211. package/dist/types/src/runtime/schema/index.d.ts +0 -7
  212. package/dist/types/src/runtime/submission/create-submitter.d.ts +0 -2
  213. package/dist/types/src/runtime/submission/explanations.d.ts +0 -2
  214. package/dist/types/src/runtime/types/explanation.d.ts +0 -22
  215. package/dist/types/src/runtime/types/index.d.ts +0 -9
  216. package/dist/types/src/runtime/types/registry.d.ts +0 -6
  217. package/dist/types/src/runtime/types/report.d.ts +0 -23
  218. package/dist/types/src/schema/registry.d.ts +0 -9
  219. package/dist/types/src/schema/types/explanation.d.ts +0 -43
  220. package/dist/types/src/shared/errors.d.ts +0 -3
  221. package/dist/types/src/shared/index.d.ts +0 -3
  222. package/dist/types/src/shared/strings.d.ts +0 -1
  223. /package/dist/types/{src/runtime → builtins}/constants.d.ts +0 -0
  224. /package/dist/types/{src/design-system → design}/constants.d.ts +0 -0
  225. /package/dist/types/{src/design-system → design}/contract/component-keys.d.ts +0 -0
  226. /package/dist/types/{src/design-system → design}/contract/component-tokens.d.ts +0 -0
  227. /package/dist/types/{src/design-system → design}/contract/global-tokens.d.ts +0 -0
  228. /package/dist/types/{src/design-system → design}/contract/index.d.ts +0 -0
  229. /package/dist/types/{src/design-system → design}/contract/token-keys.d.ts +0 -0
  230. /package/dist/types/{src/design-system → design}/index.d.ts +0 -0
  231. /package/dist/types/{src/design-system → design}/recipes/contrast.d.ts +0 -0
  232. /package/dist/types/{src/design-system → design}/recipes/default.d.ts +0 -0
  233. /package/dist/types/{src/design-system → design}/recipes/minimal.d.ts +0 -0
  234. /package/dist/types/{src/design-system → design}/recipes/soft.d.ts +0 -0
  235. /package/dist/types/{src/design-system → design}/registry/create-registry.d.ts +0 -0
  236. /package/dist/types/{src/design-system → design}/registry/deep-freeze.d.ts +0 -0
  237. /package/dist/types/{src/design-system → design}/registry/define-recipe.d.ts +0 -0
  238. /package/dist/types/{src/design-system → design}/registry/define-theme.d.ts +0 -0
  239. /package/dist/types/{src/design-system → design}/registry/define-token-maps.d.ts +0 -0
  240. /package/dist/types/{src/design-system → design}/resolve/diagnostics.d.ts +0 -0
  241. /package/dist/types/{src/design-system → design}/resolve/merge-config.d.ts +0 -0
  242. /package/dist/types/{src/design-system → design}/resolve/migrate-tokens.d.ts +0 -0
  243. /package/dist/types/{src/design-system → design}/resolve/resolve-mode.d.ts +0 -0
  244. /package/dist/types/{src/design-system → design}/resolve/resolve-recipe.d.ts +0 -0
  245. /package/dist/types/{src/design-system → design}/resolve/resolve-theme.d.ts +0 -0
  246. /package/dist/types/{src/design-system → design}/resolve/resolve-tokens.d.ts +0 -0
  247. /package/dist/types/{src/design-system → design}/runtime/apply-tokens.d.ts +0 -0
  248. /package/dist/types/{src/design-system/runtime/attach-design-system.d.ts → design/runtime/attach-design.d.ts} +0 -0
  249. /package/dist/types/{src/design-system → design}/runtime/create-stylesheet.d.ts +0 -0
  250. /package/dist/types/{src/design-system → design}/runtime/declarations.d.ts +0 -0
  251. /package/dist/types/{src/design-system/runtime/design-system-controller.d.ts → design/runtime/design-controller.d.ts} +0 -0
  252. /package/dist/types/{src/design-system → design}/runtime/fingerprint.d.ts +0 -0
  253. /package/dist/types/{src/design-system → design}/runtime/host-observer.d.ts +0 -0
  254. /package/dist/types/{src/design-system → design}/runtime/host-state.d.ts +0 -0
  255. /package/dist/types/{src/design-system/runtime/hydrate-design-system.d.ts → design/runtime/hydrate-design.d.ts} +0 -0
  256. /package/dist/types/{src/design-system → design}/runtime/hydration-state.d.ts +0 -0
  257. /package/dist/types/{src/design-system → design}/runtime/inherited-scheme.d.ts +0 -0
  258. /package/dist/types/{src/design-system → design}/runtime/media.d.ts +0 -0
  259. /package/dist/types/{src/design-system → design}/themes/cobalt.d.ts +0 -0
  260. /package/dist/types/{src/design-system → design}/themes/graphite.d.ts +0 -0
  261. /package/dist/types/{src/design-system → design}/themes/neutral.d.ts +0 -0
  262. /package/dist/types/{src/design-system → design}/themes/sage.d.ts +0 -0
  263. /package/dist/types/{src/design-system → design}/themes/sunset.d.ts +0 -0
  264. /package/dist/types/{src/design-system → design}/tokens/base.d.ts +0 -0
  265. /package/dist/types/{src/design-system → design}/tokens/contrast.d.ts +0 -0
  266. /package/dist/types/{src/design-system → design}/tokens/density.d.ts +0 -0
  267. /package/dist/types/{src/design-system → design}/tokens/forced-colors.d.ts +0 -0
  268. /package/dist/types/{src/design-system → design}/tokens/index.d.ts +0 -0
  269. /package/dist/types/{src/design-system → design}/tokens/motion.d.ts +0 -0
  270. /package/dist/types/{src/kit → kit}/mount-form.d.ts +0 -0
  271. /package/dist/types/{src/kit → kit}/step-indicator.d.ts +0 -0
  272. /package/dist/types/{src/kit → kit}/tabs-root-styles.d.ts +0 -0
  273. /package/dist/types/{src/kit → kit}/wizard-constants.d.ts +0 -0
  274. /package/dist/types/{src/kit → kit}/wizard-root-styles.d.ts +0 -0
  275. /package/dist/types/{src/primitives → primitives}/components/declarative-field.d.ts +0 -0
  276. /package/dist/types/{src/primitives → primitives}/components/declarative-report.d.ts +0 -0
  277. /package/dist/types/{src/primitives → primitives}/components/field-frame-styles.d.ts +0 -0
  278. /package/dist/types/{src/primitives → primitives}/components/form-root-styles.d.ts +0 -0
  279. /package/dist/types/{src/primitives → primitives}/components/unsupported-component.d.ts +0 -0
  280. /package/dist/types/{src/primitives → primitives}/controller-binding.d.ts +0 -0
  281. /package/dist/types/{src/primitives → primitives}/fields/boolean-field.d.ts +0 -0
  282. /package/dist/types/{src/primitives → primitives}/fields/category-field.d.ts +0 -0
  283. /package/dist/types/{src/primitives → primitives}/fields/date-field.d.ts +0 -0
  284. /package/dist/types/{src/primitives → primitives}/fields/long-text-field.d.ts +0 -0
  285. /package/dist/types/{src/primitives → primitives}/fields/multi-choice-field.d.ts +0 -0
  286. /package/dist/types/{src/primitives → primitives}/fields/number-field.d.ts +0 -0
  287. /package/dist/types/{src/primitives → primitives}/fields/rating-field.d.ts +0 -0
  288. /package/dist/types/{src/primitives → primitives}/fields/series-field-helpers.d.ts +0 -0
  289. /package/dist/types/{src/primitives → primitives}/fields/series-field-styles.d.ts +0 -0
  290. /package/dist/types/{src/primitives → primitives}/fields/series-field.d.ts +0 -0
  291. /package/dist/types/{src/primitives → primitives}/fields/single-choice-field.d.ts +0 -0
  292. /package/dist/types/{src/primitives → primitives}/fields/text-field.d.ts +0 -0
  293. /package/dist/types/{src/primitives → primitives}/register.d.ts +0 -0
  294. /package/dist/types/{src/primitives → primitives}/registry.d.ts +0 -0
  295. /package/dist/types/{src/primitives → primitives}/reports/classifier-report.d.ts +0 -0
  296. /package/dist/types/{src/primitives → primitives}/reports/regressor-report.d.ts +0 -0
  297. /package/dist/types/{src/primitives → primitives}/utils.d.ts +0 -0
  298. /package/dist/types/{src/runtime → runtime}/comparison.d.ts +0 -0
  299. /package/dist/types/{src/runtime → runtime}/create-runtime.d.ts +0 -0
  300. /package/dist/types/{src/runtime → runtime}/equality.d.ts +0 -0
  301. /package/dist/types/{src/runtime → runtime}/fields/controller.d.ts +0 -0
  302. /package/dist/types/{src/runtime/explanations → runtime/fields}/index.d.ts +0 -0
  303. /package/dist/types/{src/runtime → runtime}/fields/state-calculations.d.ts +0 -0
  304. /package/dist/types/{src/runtime → runtime}/fields/state.d.ts +0 -0
  305. /package/dist/types/{src/runtime → runtime}/form.d.ts +0 -0
  306. /package/dist/types/{src/runtime → runtime}/paths.d.ts +0 -0
  307. /package/dist/types/{src/runtime/fields → runtime/reports}/index.d.ts +0 -0
  308. /package/dist/types/{src/runtime → runtime}/runtime-refresh.d.ts +0 -0
  309. /package/dist/types/{src/runtime → runtime}/runtime-values.d.ts +0 -0
  310. /package/dist/types/{src/runtime → runtime}/state/index.d.ts +0 -0
  311. /package/dist/types/{src/runtime → runtime}/state/snapshots.d.ts +0 -0
  312. /package/dist/types/{src/runtime → runtime}/state/store.d.ts +0 -0
  313. /package/dist/types/{src/runtime → runtime}/submission/abort.d.ts +0 -0
  314. /package/dist/types/{src/runtime → runtime}/submission/error-flow.d.ts +0 -0
  315. /package/dist/types/{src/runtime → runtime}/submission/field-updates.d.ts +0 -0
  316. /package/dist/types/{src/runtime → runtime}/submission/report-updates.d.ts +0 -0
  317. /package/dist/types/{src/runtime → runtime}/submission/reports.d.ts +0 -0
  318. /package/dist/types/{src/runtime → runtime}/submission/request.d.ts +0 -0
  319. /package/dist/types/{src/runtime → runtime}/submission/result.d.ts +0 -0
  320. /package/dist/types/{src/runtime → runtime}/submission/stream-progress.d.ts +0 -0
  321. /package/dist/types/{src/runtime → runtime}/submission/submitter.d.ts +0 -0
  322. /package/dist/types/{src/runtime → runtime}/validation/conditions.d.ts +0 -0
  323. /package/dist/types/{src/runtime → runtime}/validation/field-state.d.ts +0 -0
  324. /package/dist/types/{src/runtime → runtime}/validation/field-validator.d.ts +0 -0
  325. /package/dist/types/{src/runtime → runtime}/validation/field.d.ts +0 -0
  326. /package/dist/types/{src/runtime → runtime}/validation/index.d.ts +0 -0
  327. /package/dist/types/{src/runtime → runtime}/values.d.ts +0 -0
  328. /package/dist/types/{src/schema → schema}/normalize.d.ts +0 -0
  329. /package/dist/types/{src/schema → schema}/types/field.d.ts +0 -0
  330. /package/dist/types/{src/transport → transport}/capabilities.d.ts +0 -0
  331. /package/dist/types/{src/transport → transport}/clone.d.ts +0 -0
  332. /package/dist/types/{src/transport → transport}/composition/fallback.d.ts +0 -0
  333. /package/dist/types/{src/transport → transport}/composition/fanout-helpers.d.ts +0 -0
  334. /package/dist/types/{src/transport → transport}/composition/fanout.d.ts +0 -0
  335. /package/dist/types/{src/transport → transport}/composition/hedged.d.ts +0 -0
  336. /package/dist/types/{src/transport → transport}/composition/index.d.ts +0 -0
  337. /package/dist/types/{src/transport → transport}/composition/load-balancing.d.ts +0 -0
  338. /package/dist/types/{src/transport → transport}/composition/pipeline.d.ts +0 -0
  339. /package/dist/types/{src/transport → transport}/composition/quorum-fanout.d.ts +0 -0
  340. /package/dist/types/{src/transport → transport}/composition/racing.d.ts +0 -0
  341. /package/dist/types/{src/transport → transport}/composition/routing.d.ts +0 -0
  342. /package/dist/types/{src/transport → transport}/constants.d.ts +0 -0
  343. /package/dist/types/{src/transport → transport}/internal-core.d.ts +0 -0
  344. /package/dist/types/{src/transport → transport}/internal-errors.d.ts +0 -0
  345. /package/dist/types/{src/transport → transport}/internal-request.d.ts +0 -0
  346. /package/dist/types/{src/transport → transport}/internal-routing.d.ts +0 -0
  347. /package/dist/types/{src/transport → transport}/internal-sse.d.ts +0 -0
  348. /package/dist/types/{src/transport → transport}/internal-stream.d.ts +0 -0
  349. /package/dist/types/{src/transport → transport}/internal.d.ts +0 -0
  350. /package/dist/types/{src/transport → transport}/middleware/auth.d.ts +0 -0
  351. /package/dist/types/{src/transport → transport}/middleware/cache.d.ts +0 -0
  352. /package/dist/types/{src/transport → transport}/middleware/circuit-breaker.d.ts +0 -0
  353. /package/dist/types/{src/transport → transport}/middleware/dedup.d.ts +0 -0
  354. /package/dist/types/{src/transport → transport}/middleware/index.d.ts +0 -0
  355. /package/dist/types/{src/transport → transport}/middleware/logging.d.ts +0 -0
  356. /package/dist/types/{src/transport → transport}/middleware/metrics.d.ts +0 -0
  357. /package/dist/types/{src/transport → transport}/middleware/pipe.d.ts +0 -0
  358. /package/dist/types/{src/transport → transport}/middleware/rate-limit.d.ts +0 -0
  359. /package/dist/types/{src/transport → transport}/middleware/retry.d.ts +0 -0
  360. /package/dist/types/{src/transport → transport}/middleware/timeout.d.ts +0 -0
  361. /package/dist/types/{src/transport → transport}/middleware/tracing.d.ts +0 -0
  362. /package/dist/types/{src/transport → transport}/middleware/transform.d.ts +0 -0
  363. /package/dist/types/{src/transport → transport}/policy-context.d.ts +0 -0
  364. /package/dist/types/{src/transport → transport}/protocols/graphql.d.ts +0 -0
  365. /package/dist/types/{src/transport → transport}/protocols/grpc.d.ts +0 -0
  366. /package/dist/types/{src/transport → transport}/protocols/index.d.ts +0 -0
  367. /package/dist/types/{src/transport → transport}/protocols/json.d.ts +0 -0
  368. /package/dist/types/{src/transport → transport}/protocols/sse.d.ts +0 -0
  369. /package/dist/types/{src/transport → transport}/protocols/websocket.d.ts +0 -0
  370. /package/dist/types/{src/transport → transport}/runtime.d.ts +0 -0
  371. /package/dist/types/{src/transport → transport}/state/cache-store.d.ts +0 -0
  372. /package/dist/types/{src/transport → transport}/state/circuit-breaker.d.ts +0 -0
  373. /package/dist/types/{src/transport → transport}/state/health.d.ts +0 -0
  374. /package/dist/types/{src/transport → transport}/state/index.d.ts +0 -0
  375. /package/dist/types/{src/transport → transport}/state/rate-limiter.d.ts +0 -0
  376. /package/dist/types/{src/transport → transport}/state/session.d.ts +0 -0
  377. /package/dist/types/{src/transport → transport}/types/capabilities.d.ts +0 -0
  378. /package/dist/types/{src/transport → transport}/types/core.d.ts +0 -0
  379. /package/dist/types/{src/transport → transport}/types/events.d.ts +0 -0
  380. /package/dist/types/{src/transport → transport}/types/index.d.ts +0 -0
  381. /package/dist/types/{src/transport → transport}/types/middleware.d.ts +0 -0
  382. /package/dist/types/{src/transport → transport}/types/options-http.d.ts +0 -0
  383. /package/dist/types/{src/transport → transport}/types/options-middleware.d.ts +0 -0
  384. /package/dist/types/{src/transport → transport}/types/options-routing.d.ts +0 -0
  385. /package/dist/types/{src/transport → transport}/types/options.d.ts +0 -0
  386. /package/dist/types/{src/transport → transport}/types/session.d.ts +0 -0
  387. /package/dist/types/{src/transport → transport}/types/state.d.ts +0 -0
@@ -1,1847 +0,0 @@
1
- import { f as e, h as t, r as n } from "./design-system-Dxx1Sh7r.js";
2
- import { t as r } from "./strings-CWwrrYzz.js";
3
- import { i, n as a } from "./builtins-ml-9qB2MOxt.js";
4
- import { a as o, t as s } from "./runtime-DMjDVo0H.js";
5
- import { _ as c, b as l, d as u, f as d, g as f, h as p, m, o as h, p as g, r as _, s as v, t as y, v as b, x, y as S } from "./primitives-Duag8Lj0.js";
6
- //#region src/kit/defaults.ts
7
- var C = { ...d }, w = {
8
- mode: "auto",
9
- theme: "neutral",
10
- recipe: "default"
11
- }, ee = (e) => {
12
- if (!e) return a().registry;
13
- let t = s();
14
- for (let n of e.listFields()) t.registerField(n);
15
- for (let n of e.listReports()) t.registerReport(n);
16
- for (let n of e.listExplanations()) t.registerExplanation(n);
17
- return t;
18
- }, te = (e) => e?.clone() ?? _(), ne = (e) => e?.clone() ?? t.clone(), T = (e = {}) => ({
19
- ...C,
20
- ...e
21
- }), E = (t = {}) => e(w, t), re = x`
22
- :host {
23
- display: block;
24
- inline-size: 100%;
25
- block-size: 100%;
26
- color: var(--mlf-shell-color, var(--mlf-color-text, #0f172a));
27
- background: var(--mlf-shell-bg, var(--mlf-color-bg, #f5f7fa));
28
- font-family: var(--mlf-font-family-body);
29
- }
30
- *,
31
- *::before,
32
- *::after {
33
- box-sizing: border-box;
34
- }
35
- .root {
36
- display: grid;
37
- grid-template-rows: auto 1fr auto;
38
- min-height: 100%;
39
- border-radius: var(--mlf-panel-radius, 12px);
40
- border: var(--mlf-border-width, 1px) solid
41
- var(--mlf-panel-border, var(--mlf-color-border, #e2e8f0));
42
- background: var(--mlf-panel-bg, var(--mlf-color-surface, #ffffff));
43
- box-shadow:
44
- 0 2px 4px var(--mlf-panel-shadow-soft, rgba(0, 0, 0, 0.04)),
45
- 0 8px 16px var(--mlf-panel-shadow, rgba(0, 0, 0, 0.04));
46
- overflow: hidden;
47
- }
48
- .header,
49
- .footer {
50
- display: flex;
51
- align-items: center;
52
- justify-content: space-between;
53
- gap: 0.75rem;
54
- padding: 0.85rem 1rem;
55
- background: var(--mlf-panel-header-bg, rgba(255, 255, 255, 0.6));
56
- border-bottom: var(--mlf-border-width, 1px) solid
57
- var(--mlf-panel-border, var(--mlf-color-border, #e2e8f0));
58
- }
59
- .footer {
60
- border-bottom: none;
61
- border-top: var(--mlf-border-width, 1px) solid
62
- var(--mlf-panel-border, var(--mlf-color-border, #e2e8f0));
63
- background: var(--mlf-panel-footer-bg, var(--mlf-color-bg-light, #f5f7fa));
64
- }
65
- .title {
66
- margin: 0;
67
- font-size: 1rem;
68
- font-weight: 700;
69
- }
70
- .actions {
71
- display: inline-flex;
72
- gap: 0.5rem;
73
- flex-wrap: wrap;
74
- }
75
- .body {
76
- display: grid;
77
- gap: 0;
78
- overflow-y: auto;
79
- overflow-x: hidden;
80
- }
81
- .section + .section {
82
- border-top: var(--mlf-border-width, 1px) solid
83
- var(--mlf-panel-border, var(--mlf-color-border, #e2e8f0));
84
- }
85
- .section-toggle {
86
- inline-size: 100%;
87
- display: flex;
88
- align-items: center;
89
- justify-content: space-between;
90
- gap: 0.75rem;
91
- padding: 1rem;
92
- border: none;
93
- background: transparent;
94
- color: inherit;
95
- font: inherit;
96
- text-align: left;
97
- cursor: pointer;
98
- }
99
- .section-copy,
100
- .nested-copy {
101
- display: grid;
102
- gap: 0.35rem;
103
- }
104
- .section-title {
105
- margin: 0;
106
- font-size: 0.96rem;
107
- font-weight: 700;
108
- }
109
- .section-description,
110
- .nested-description {
111
- margin: 0;
112
- font-size: var(--mlf-font-size-sm, 0.84rem);
113
- color: var(--mlf-color-text-muted, #475569);
114
- line-height: 1.5;
115
- }
116
- .chevron {
117
- font-size: 1.1rem;
118
- color: var(--mlf-color-text-muted, #475569);
119
- }
120
- .section-panel {
121
- display: grid;
122
- gap: 1rem;
123
- padding: 0 1rem 1rem;
124
- }
125
- .collection,
126
- .section-children,
127
- .nested-section,
128
- .group {
129
- display: grid;
130
- gap: var(--mlf-section-gap, 1rem);
131
- }
132
- .nested-copy {
133
- padding: 0 0.5rem;
134
- }
135
- .nested-title {
136
- margin: 0;
137
- font-size: 0.95rem;
138
- font-weight: 700;
139
- }
140
- .group.columns-2 {
141
- grid-template-columns: repeat(2, minmax(0, 1fr));
142
- }
143
- .group.columns-3 {
144
- grid-template-columns: repeat(3, minmax(0, 1fr));
145
- }
146
- .btn {
147
- display: inline-flex;
148
- align-items: center;
149
- justify-content: center;
150
- min-height: 2.5rem;
151
- padding: 0.5rem 1rem;
152
- border-radius: var(--mlf-input-radius, 12px);
153
- border: var(--mlf-border-width, 1px) solid var(--mlf-input-border, #e2e8f0);
154
- background: #fff;
155
- color: var(--mlf-color-text, #0f172a);
156
- font: inherit;
157
- font-size: 0.92rem;
158
- font-weight: 600;
159
- cursor: pointer;
160
- }
161
- .btn-submit {
162
- border-color: var(--mlf-submit-bg, var(--mlf-color-accent, #1e40af));
163
- background: var(--mlf-submit-bg, var(--mlf-color-accent, #1e40af));
164
- color: var(--mlf-submit-color, #ffffff);
165
- }
166
- .btn:disabled {
167
- cursor: not-allowed;
168
- opacity: 0.55;
169
- }
170
- @media (max-width: 900px) {
171
- .group.columns-2,
172
- .group.columns-3 {
173
- grid-template-columns: minmax(0, 1fr);
174
- }
175
- .header,
176
- .footer {
177
- flex-direction: column;
178
- align-items: stretch;
179
- }
180
- }
181
- `, D = {
182
- invalidDesignSystemSnapshot: "replaceDesignSystem requires an explicit mode, theme, and recipe.",
183
- fieldDuplicateInLayout: (e) => `Field "${e}" appears multiple times in layout.`,
184
- fieldMissingInLayout: (e) => `Field "${e}" is missing from layout.`,
185
- reportDuplicateInLayout: (e) => `Report "${e}" appears multiple times in layout.`,
186
- explanationDuplicateInLayout: (e) => `Explanation "${e}" appears multiple times in layout.`,
187
- unknownFieldReference: (e) => `Layout references unknown field "${e}".`,
188
- unknownReportReference: (e) => `Layout references unknown report "${e}".`,
189
- unknownExplanationReference: (e) => `Layout references unknown explanation "${e}".`,
190
- wizardRequiresSteps: "Wizard layout must define at least one step.",
191
- wizardStepEmpty: (e) => `Wizard step "${e}" must contain at least one layout node.`,
192
- tabsRequiresTabs: "Tabs layout must define at least one tab.",
193
- tabEmpty: (e) => `Tab "${e}" must contain at least one layout node.`,
194
- accordionRequiresSections: "Accordion layout must define at least one section.",
195
- accordionSectionEmpty: (e) => `Accordion section "${e}" must contain at least one layout node.`,
196
- wizardMissingLayout: "mountWizardForm requires a wizard layout.",
197
- tabsMissingLayout: "mountTabsForm requires a tabs layout.",
198
- accordionMissingLayout: "mountAccordionForm requires an accordion layout.",
199
- nonWizardNextStep: "nextStep() is only available for wizard layouts.",
200
- nonWizardGoToStep: "goToStep() is only available for wizard layouts.",
201
- nonTabsSetActiveTab: "setActiveTab() is only available for tabs layouts.",
202
- nonAccordionToggleSection: "Accordion section controls are only available for accordion layouts.",
203
- unknownTab: (e) => `Unknown tab "${e}".`,
204
- unknownWizardStep: (e) => `Unknown wizard step "${e}".`,
205
- unknownAccordionSection: (e) => `Unknown accordion section "${e}".`
206
- }, O = {
207
- wizard: "mlf-kit-wizard",
208
- tabs: "mlf-kit-tabs",
209
- accordion: "mlf-kit-accordion",
210
- stepIndicator: "mlf-kit-step-indicator"
211
- }, k = ({ node: e, snapshot: t, registry: n, primitiveText: r = g, sectionClass: i, sectionCopyClass: a, sectionTitleClass: o, sectionDescriptionClass: s, childrenClass: c, groupBaseClass: u }) => {
212
- switch (e.kind) {
213
- case "section": return l`
214
- <section class=${i} data-section-id=${e.id}>
215
- ${e.title || e.description ? l`
216
- <div class=${a}>
217
- ${e.title ? l`<h2 class=${o}>${e.title}</h2>` : S}
218
- ${e.description ? l`<p class=${s}>${e.description}</p>` : S}
219
- </div>
220
- ` : S}
221
- <div class=${c}>
222
- ${h(e.children, (t, n) => `${e.id}-${n}`, (e) => k({
223
- node: e,
224
- snapshot: t,
225
- registry: n,
226
- primitiveText: r,
227
- sectionClass: i,
228
- sectionCopyClass: a,
229
- sectionTitleClass: o,
230
- sectionDescriptionClass: s,
231
- childrenClass: c,
232
- groupBaseClass: u
233
- }))}
234
- </div>
235
- </section>
236
- `;
237
- case "group": return l`
238
- <div
239
- class=${`${u}${e.columns ? ` columns-${e.columns}` : ""}`}
240
- data-group-id=${e.id}
241
- >
242
- ${h(e.children, (t, n) => `${e.id}-${n}`, (e) => k({
243
- node: e,
244
- snapshot: t,
245
- registry: n,
246
- primitiveText: r,
247
- sectionClass: i,
248
- sectionCopyClass: a,
249
- sectionTitleClass: o,
250
- sectionDescriptionClass: s,
251
- childrenClass: c,
252
- groupBaseClass: u
253
- }))}
254
- </div>
255
- `;
256
- case "field": {
257
- let i = t.fields.find((t) => t.id === e.field);
258
- return i ? l`
259
- <mlf-field-frame
260
- .controller=${i.controller}
261
- .descriptor=${i.descriptor}
262
- .registry=${n}
263
- .text=${r}
264
- ></mlf-field-frame>
265
- ` : S;
266
- }
267
- case "report": {
268
- let i = t.reports.find((t) => t.id === e.report);
269
- return i ? l`
270
- <mlf-report-frame
271
- .controller=${i.controller}
272
- .descriptor=${i.descriptor}
273
- .registry=${n}
274
- .text=${r}
275
- .lastResult=${t.form.lastResult}
276
- ></mlf-report-frame>
277
- ` : S;
278
- }
279
- case "explanation": {
280
- let i = t.explanations.find((t) => t.id === e.explanation);
281
- return i ? l`
282
- <mlf-explanation-panel
283
- .controller=${i.controller}
284
- .descriptor=${i.descriptor}
285
- .registry=${n}
286
- .text=${r}
287
- .lastResult=${t.form.lastResult}
288
- ></mlf-explanation-panel>
289
- ` : S;
290
- }
291
- }
292
- }, A = class extends b {
293
- static styles = re;
294
- #e;
295
- get view() {
296
- return this.#e;
297
- }
298
- set view(e) {
299
- this.#e = e;
300
- }
301
- #t;
302
- get registry() {
303
- return this.#t;
304
- }
305
- set registry(e) {
306
- this.#t = e;
307
- }
308
- #n = g;
309
- get primitiveText() {
310
- return this.#n;
311
- }
312
- set primitiveText(e) {
313
- this.#n = e;
314
- }
315
- #r = "Submit";
316
- get submitLabel() {
317
- return this.#r;
318
- }
319
- set submitLabel(e) {
320
- this.#r = e;
321
- }
322
- #i = "Validating...";
323
- get validatingLabel() {
324
- return this.#i;
325
- }
326
- set validatingLabel(e) {
327
- this.#i = e;
328
- }
329
- #a = "Submitting...";
330
- get submittingLabel() {
331
- return this.#a;
332
- }
333
- set submittingLabel(e) {
334
- this.#a = e;
335
- }
336
- #o = null;
337
- get snapshot() {
338
- return this.#o;
339
- }
340
- set snapshot(e) {
341
- this.#o = e;
342
- }
343
- #s = null;
344
- willUpdate(e) {
345
- e.has("view") && (this.#s?.(), this.#s = null, this.snapshot = this.view?.getSnapshot() ?? null, this.view && (this.#s = this.view.subscribe((e) => {
346
- this.snapshot = e;
347
- })));
348
- }
349
- disconnectedCallback() {
350
- this.#s?.(), this.#s = null, super.disconnectedCallback();
351
- }
352
- render() {
353
- let e = this.snapshot, t = e?.accordion;
354
- if (!e || !t || e.layout.kind !== "accordion") return l``;
355
- let n = e.form.status, r = n === "validating" ? this.validatingLabel : n === "submitting" ? this.submittingLabel : this.submitLabel;
356
- return l`
357
- <section class="root" part="accordion-panel">
358
- <header class="header">
359
- <h1 class="title">Accordion Form</h1>
360
- <div class="actions">
361
- <button type="button" class="btn" @click=${this.#c}>Open all</button>
362
- <button type="button" class="btn" @click=${this.#l}>Close all</button>
363
- </div>
364
- </header>
365
-
366
- <div class="body">
367
- ${h(e.layout.sections, (e) => e.id, (n) => {
368
- let r = t.openSectionIds.includes(n.id);
369
- return l`
370
- <section class="section">
371
- <button
372
- type="button"
373
- class="section-toggle"
374
- aria-expanded=${String(r)}
375
- @click=${() => this.view?.toggleSection(n.id)}
376
- >
377
- <span class="section-copy">
378
- <span class="section-title">${n.title}</span>
379
- ${n.description ? l`<span class="section-description">${n.description}</span>` : S}
380
- </span>
381
- <span class="chevron">${r ? "−" : "+"}</span>
382
- </button>
383
- ${r ? l`
384
- <div class="section-panel">
385
- <div class="collection">
386
- ${h(n.children, (e, t) => `${n.id}-${t}`, (t) => k({
387
- node: t,
388
- snapshot: e,
389
- registry: this.registry,
390
- primitiveText: this.primitiveText,
391
- sectionClass: "nested-section",
392
- sectionCopyClass: "nested-copy",
393
- sectionTitleClass: "nested-title",
394
- sectionDescriptionClass: "nested-description",
395
- childrenClass: "section-children",
396
- groupBaseClass: "group"
397
- }))}
398
- </div>
399
- </div>
400
- ` : S}
401
- </section>
402
- `;
403
- })}
404
- </div>
405
-
406
- <footer class="footer" part="actions">
407
- <span>${t.openSectionIds.length} / ${t.sectionCount} open</span>
408
- <button
409
- type="button"
410
- class="btn btn-submit"
411
- ?disabled=${n === "validating" || n === "submitting"}
412
- @click=${this.#u}
413
- >
414
- ${r}
415
- </button>
416
- </footer>
417
- </section>
418
- `;
419
- }
420
- #c = () => {
421
- this.view?.openAllSections();
422
- };
423
- #l = () => {
424
- this.view?.closeAllSections();
425
- };
426
- #u = async () => {
427
- await this.view?.submit();
428
- };
429
- };
430
- u([f({ attribute: !1 })], A.prototype, "view", null), u([f({ attribute: !1 })], A.prototype, "registry", null), u([f({ attribute: !1 })], A.prototype, "primitiveText", null), u([f({ type: String })], A.prototype, "submitLabel", null), u([f({ type: String })], A.prototype, "validatingLabel", null), u([f({ type: String })], A.prototype, "submittingLabel", null), u([p()], A.prototype, "snapshot", null), A = u([c(O.accordion)], A);
431
- //#endregion
432
- //#region src/kit/layout-helpers.ts
433
- var ie = (e, t, n) => ({
434
- fieldIds: new Set(e.map((e) => e.id)),
435
- reportIds: new Set(t.map((e) => e.id)),
436
- explanationIds: new Set(n.map((e) => e.id))
437
- }), ae = () => ({
438
- fieldStepIds: /* @__PURE__ */ new Map(),
439
- reportStepIds: /* @__PURE__ */ new Map(),
440
- explanationStepIds: /* @__PURE__ */ new Map(),
441
- fieldTabIds: /* @__PURE__ */ new Map(),
442
- reportTabIds: /* @__PURE__ */ new Map(),
443
- explanationTabIds: /* @__PURE__ */ new Map(),
444
- fieldIdsInLayout: /* @__PURE__ */ new Set(),
445
- reportIdsInLayout: /* @__PURE__ */ new Set(),
446
- explanationIdsInLayout: /* @__PURE__ */ new Set()
447
- }), j = (e, t, n) => {
448
- let i = r(t ?? e) || e, a = n.get(i) ?? 0;
449
- return n.set(i, a + 1), a === 0 ? i : `${i}-${a + 1}`;
450
- }, oe = (e, t) => {
451
- if (!t.fieldIds.has(e)) throw TypeError(D.unknownFieldReference(e));
452
- }, se = (e, t) => {
453
- if (!t.reportIds.has(e)) throw TypeError(D.unknownReportReference(e));
454
- }, ce = (e, t) => {
455
- if (!t.explanationIds.has(e)) throw TypeError(D.unknownExplanationReference(e));
456
- }, le = (e, t, n, r) => {
457
- if (t.fieldIdsInLayout.has(e)) throw TypeError(D.fieldDuplicateInLayout(e));
458
- t.fieldIdsInLayout.add(e), n && t.fieldStepIds.set(e, n), r && t.fieldTabIds.set(e, r);
459
- }, ue = (e, t, n, r) => {
460
- if (t.reportIdsInLayout.has(e)) throw TypeError(D.reportDuplicateInLayout(e));
461
- t.reportIdsInLayout.add(e), n && t.reportStepIds.set(e, n), r && t.reportTabIds.set(e, r);
462
- }, de = (e, t, n, r) => {
463
- if (t.explanationIdsInLayout.has(e)) throw TypeError(D.explanationDuplicateInLayout(e));
464
- t.explanationIdsInLayout.add(e), n && t.explanationStepIds.set(e, n), r && t.explanationTabIds.set(e, r);
465
- }, fe = (e, t, n) => [
466
- ...e.map((e) => ({
467
- kind: "field",
468
- field: e.id
469
- })),
470
- ...t.map((e) => ({
471
- kind: "explanation",
472
- explanation: e.id
473
- })),
474
- ...n.map((e) => ({
475
- kind: "report",
476
- report: e.id
477
- }))
478
- ], M = (e, t) => {
479
- for (let n of e) if (!t.fieldIdsInLayout.has(n.id)) throw TypeError(D.fieldMissingInLayout(n.id));
480
- }, N = (e, t, n, r, i, a) => e.map((e) => {
481
- switch (e.kind) {
482
- case "section": return {
483
- kind: "section",
484
- id: j("section", e.id ?? e.title, r),
485
- title: e.title,
486
- description: e.description,
487
- children: N(e.children, t, n, r, i, a)
488
- };
489
- case "group": return {
490
- kind: "group",
491
- id: j("group", e.id, r),
492
- columns: e.columns,
493
- children: N(e.children, t, n, r, i, a)
494
- };
495
- case "field": return oe(e.field, t), le(e.field, n, i, a), {
496
- kind: "field",
497
- field: e.field
498
- };
499
- case "report": return se(e.report, t), ue(e.report, n, i, a), {
500
- kind: "report",
501
- report: e.report
502
- };
503
- case "explanation": return ce(e.explanation, t), de(e.explanation, n, i, a), {
504
- kind: "explanation",
505
- explanation: e.explanation
506
- };
507
- }
508
- }), pe = (e, t, n, r) => {
509
- let i = ie(t, n, r), a = ae(), o = /* @__PURE__ */ new Map();
510
- if (!e || e.kind === void 0 || e.kind === "single-page") {
511
- let s = N(e?.children ?? fe(t, r, n), i, a, o, null, null);
512
- return M(t, a), {
513
- layout: {
514
- kind: "single-page",
515
- children: s
516
- },
517
- maps: a
518
- };
519
- }
520
- if (e.kind === "tabs") {
521
- if (e.tabs.length === 0) throw TypeError(D.tabsRequiresTabs);
522
- let n = /* @__PURE__ */ new Map(), r = e.tabs.map((e, t) => {
523
- let r = j("tab", e.id ?? e.title ?? `tab-${t + 1}`, n), s = N(e.children, i, a, o, null, r);
524
- if (s.length === 0) throw TypeError(D.tabEmpty(r));
525
- return {
526
- id: r,
527
- title: e.title,
528
- description: e.description,
529
- children: s
530
- };
531
- });
532
- return M(t, a), {
533
- layout: {
534
- kind: "tabs",
535
- tabs: r
536
- },
537
- maps: a
538
- };
539
- }
540
- if (e.kind === "accordion") {
541
- if (e.sections.length === 0) throw TypeError(D.accordionRequiresSections);
542
- let n = /* @__PURE__ */ new Map(), r = e.sections.map((e, t) => {
543
- let r = j("section", e.id ?? e.title ?? `section-${t + 1}`, n), s = N(e.children, i, a, o, null, r);
544
- if (s.length === 0) throw TypeError(D.accordionSectionEmpty(r));
545
- return {
546
- id: r,
547
- title: e.title,
548
- description: e.description,
549
- defaultOpen: e.defaultOpen ?? t === 0,
550
- children: s
551
- };
552
- });
553
- return M(t, a), {
554
- layout: {
555
- kind: "accordion",
556
- sections: r
557
- },
558
- maps: a
559
- };
560
- }
561
- let s = e;
562
- if (s.steps.length === 0) throw TypeError(D.wizardRequiresSteps);
563
- let c = /* @__PURE__ */ new Map(), l = s.steps.map((e, t) => {
564
- let n = j("step", e.id ?? e.title ?? `step-${t + 1}`, c), r = N(e.children, i, a, o, n, null);
565
- if (r.length === 0) throw TypeError(D.wizardStepEmpty(n));
566
- return {
567
- id: n,
568
- title: e.title,
569
- description: e.description,
570
- children: r
571
- };
572
- });
573
- return M(t, a), {
574
- layout: {
575
- kind: "wizard",
576
- steps: l
577
- },
578
- maps: a
579
- };
580
- }, P = (e, t) => {
581
- if (t(e), "children" in e) for (let n of e.children) P(n, t);
582
- }, F = (e, t) => {
583
- switch (e.kind) {
584
- case "single-page":
585
- for (let n of e.children) P(n, t);
586
- return;
587
- case "wizard":
588
- for (let n of e.steps) for (let e of n.children) P(e, t);
589
- return;
590
- case "tabs":
591
- for (let n of e.tabs) for (let e of n.children) P(e, t);
592
- return;
593
- case "accordion": for (let n of e.sections) for (let e of n.children) P(e, t);
594
- }
595
- }, I = (e) => {
596
- let t = [];
597
- return F(e, (e) => {
598
- t.push(e);
599
- }), t;
600
- }, L = (e) => {
601
- let t = {
602
- fields: [],
603
- reports: [],
604
- explanations: []
605
- };
606
- for (let n of I(e)) switch (n.kind) {
607
- case "field":
608
- t.fields.push(n.field);
609
- break;
610
- case "report":
611
- t.reports.push(n.report);
612
- break;
613
- case "explanation":
614
- t.explanations.push(n.explanation);
615
- break;
616
- default: break;
617
- }
618
- return t;
619
- }, R = (e, t, n) => {
620
- if (n.length === 0) return null;
621
- let r = Math.min(Math.max(t, 0), n.length - 1);
622
- return {
623
- kind: e,
624
- index: r,
625
- count: n.length,
626
- currentId: n[r] ?? n[0],
627
- canGoNext: r < n.length - 1,
628
- canGoPrev: r > 0
629
- };
630
- }, z = ({ layout: e, stepIndex: t, formState: n }) => {
631
- let r = R("wizard-step", t, (e.kind === "wizard" ? e.steps : []).map((e) => e.id));
632
- return r ? {
633
- stepIndex: r.index,
634
- stepCount: r.count,
635
- currentStepId: r.currentId,
636
- canNext: n.status !== "validating" && n.status !== "submitting",
637
- canPrev: r.canGoPrev,
638
- isLastStep: r.index === r.count - 1
639
- } : null;
640
- }, B = ({ layout: e, activeTabIndex: t }) => {
641
- let n = R("tab", t, (e.kind === "tabs" ? e.tabs : []).map((e) => e.id));
642
- return n ? {
643
- activeTabIndex: n.index,
644
- tabCount: n.count,
645
- currentTabId: n.currentId,
646
- canGoNext: n.canGoNext,
647
- canGoPrev: n.canGoPrev
648
- } : null;
649
- }, V = ({ layout: e, openSectionIds: t }) => {
650
- let n = e.kind === "accordion" ? e.sections : [];
651
- return n.length === 0 ? null : {
652
- openSectionIds: n.map((e) => e.id).filter((e) => t.has(e)),
653
- sectionCount: n.length
654
- };
655
- }, me = (e) => ({
656
- form: e.formState,
657
- wizard: z(e),
658
- tabs: B(e),
659
- accordion: V(e)
660
- }), H = (e, t, n, r, i, a) => e.kind === "wizard" ? i === (e.steps[t]?.id ?? null) : e.kind === "tabs" ? a === (e.tabs[n]?.id ?? null) : e.kind === "accordion" ? a !== null && r.has(a) : !0, he = (e, t, n, r, i, a) => {
661
- let o = n.maps.fieldStepIds.get(e.id) ?? null, s = n.maps.fieldTabIds.get(e.id) ?? null, c = t.getField(e.kind);
662
- return {
663
- id: e.id,
664
- kind: e.kind,
665
- config: e.config,
666
- controller: e,
667
- state: e.state,
668
- descriptor: c?.describe(e.config, {
669
- fieldId: e.id,
670
- state: e.state,
671
- value: e.state.value
672
- }) ?? v(e),
673
- stepId: o,
674
- tabId: s,
675
- visibleInLayout: H(n.layout, r, i, a, o, s)
676
- };
677
- }, ge = (e, t, n, r, i, a, o) => {
678
- let s = r.maps.reportStepIds.get(e.id) ?? null, c = r.maps.reportTabIds.get(e.id) ?? null, l = n.getReport(e.kind);
679
- return {
680
- id: e.id,
681
- kind: e.kind,
682
- config: e.config,
683
- controller: e,
684
- state: e.state,
685
- descriptor: l ? l.describe(e.config, {
686
- reportId: e.id,
687
- state: e.state,
688
- payload: e.state.payload,
689
- result: t.state.lastResult
690
- }) : null,
691
- stepId: s,
692
- tabId: c,
693
- visibleInLayout: H(r.layout, i, a, o, s, c)
694
- };
695
- }, _e = (e, t, n, r, i, a) => {
696
- let o = n.maps.explanationStepIds.get(e.id) ?? null, s = n.maps.explanationTabIds.get(e.id) ?? null, c = t.getExplanation(e.kind);
697
- return {
698
- id: e.id,
699
- kind: e.kind,
700
- config: e.config,
701
- controller: e,
702
- state: e.state,
703
- descriptor: c ? c.describe(e.config, {
704
- explanationId: e.id,
705
- state: e.state
706
- }) : null,
707
- stepId: o,
708
- tabId: s,
709
- visibleInLayout: H(n.layout, r, i, a, o, s)
710
- };
711
- }, ve = ({ form: e, presentationRegistry: t, resolvedLayout: n, stepIndex: r, activeTabIndex: i, openSectionIds: a }) => ({
712
- form: e.state,
713
- layout: n.layout,
714
- fields: e.fields.map((e) => he(e, t, n, r, i, a)),
715
- reports: e.reports.map((o) => ge(o, e, t, n, r, i, a)),
716
- explanations: e.explanations.map((e) => _e(e, t, n, r, i, a)),
717
- wizard: z({
718
- layout: n.layout,
719
- stepIndex: r,
720
- activeTabIndex: i,
721
- openSectionIds: a,
722
- formState: e.state
723
- }),
724
- tabs: B({
725
- layout: n.layout,
726
- stepIndex: r,
727
- activeTabIndex: i,
728
- openSectionIds: a,
729
- formState: e.state
730
- }),
731
- accordion: V({
732
- layout: n.layout,
733
- stepIndex: r,
734
- activeTabIndex: i,
735
- openSectionIds: a,
736
- formState: e.state
737
- })
738
- }), ye = (e, t, n, r, i) => me({
739
- formState: e.state,
740
- layout: t,
741
- stepIndex: n,
742
- activeTabIndex: r,
743
- openSectionIds: i
744
- }), be = ({ form: e, presentationRegistry: t, resolvedLayout: n, getStepIndex: r, getActiveTabIndex: i, getOpenSectionIds: a }) => {
745
- let o = e.state, s = -1, c = -1, l = "", u = null;
746
- return () => {
747
- let d = r(), f = i(), p = a(), m = e.state, h = Array.from(p).sort().join("|");
748
- return u && o === m && s === d && c === f && l === h ? u : (o = m, s = d, c = f, l = h, u = ve({
749
- form: e,
750
- presentationRegistry: t,
751
- resolvedLayout: n,
752
- stepIndex: d,
753
- activeTabIndex: f,
754
- openSectionIds: p
755
- }), u);
756
- };
757
- }, xe = async (e, t, n) => {
758
- if (t.layout.kind !== "wizard") return !1;
759
- let r = t.layout.steps[n]?.id;
760
- if (!r) return !1;
761
- let i = e.fields.filter((e) => t.maps.fieldStepIds.get(e.id) === r && e.state.visible);
762
- return (await Promise.all(i.map((e) => e.validate()))).every((e) => e.errors.length === 0);
763
- }, Se = (e, t, n, r) => {
764
- switch (e.layout.kind) {
765
- case "single-page": return e.layout.children;
766
- case "wizard": return e.layout.steps[t]?.children ?? [];
767
- case "tabs": return e.layout.tabs[n]?.children ?? [];
768
- case "accordion": return e.layout.sections.filter((e) => r.has(e.id)).flatMap((e) => e.children);
769
- }
770
- }, U = (e, t, n) => {
771
- if (e.layout.kind !== "accordion") throw TypeError(D.nonAccordionToggleSection);
772
- if (!t.some((e) => e.id === n)) throw TypeError(D.unknownAccordionSection(n));
773
- }, W = (e) => {
774
- if (e.layout.kind !== "accordion") throw TypeError(D.nonAccordionToggleSection);
775
- }, G = (e) => {
776
- let t = !e.registry || !e.presentationRegistry || !e.behaviors ? a() : null, n = e.registry ? ee(e.registry) : t.registry, r = e.presentationRegistry?.clone() ?? t.presentationRegistry;
777
- e.registry && !e.presentationRegistry && i(r, n);
778
- let s = te(e.primitiveRegistry), c = ne(e.designSystemRegistry), l = o({
779
- schema: e.schema,
780
- registry: n,
781
- behaviors: e.behaviors ?? t?.behaviors,
782
- transport: e.transport,
783
- initialValues: e.initialValues,
784
- validators: e.validators,
785
- hooks: e.hooks,
786
- hookFailurePolicy: e.hookFailurePolicy,
787
- inactiveFieldPolicy: e.inactiveFieldPolicy,
788
- listenerErrorPolicy: e.listenerErrorPolicy,
789
- onListenerError: e.onListenerError
790
- }), u = pe(e.layout, l.fields, l.reports, l.explanations), d = 0, f = 0, p = new Set(u.layout.kind === "accordion" ? u.layout.sections.filter((e) => e.defaultOpen).map((e) => e.id) : []), m = /* @__PURE__ */ new Set(), h = u.layout.kind === "wizard" ? u.layout.steps : [], g = u.layout.kind === "tabs" ? u.layout.tabs : [], _ = u.layout.kind === "accordion" ? u.layout.sections : [], v = L(u.layout), y = /* @__PURE__ */ new Map();
791
- for (let e of I(u.layout)) "id" in e && y.set(e.id, e);
792
- let b = () => ye(l, u.layout, d, f, p), x = be({
793
- form: l,
794
- presentationRegistry: r,
795
- resolvedLayout: u,
796
- getStepIndex: () => d,
797
- getActiveTabIndex: () => f,
798
- getOpenSectionIds: () => p
799
- }), S = () => {
800
- let e = x();
801
- for (let t of m) t(e);
802
- };
803
- return l.subscribe(() => {
804
- S();
805
- }), Object.freeze({
806
- form: l,
807
- engineRegistry: n,
808
- presentationRegistry: r,
809
- primitiveRegistry: s,
810
- designSystemRegistry: c,
811
- get state() {
812
- return b();
813
- },
814
- getSnapshot: x,
815
- getNodeById(e) {
816
- return y.get(e);
817
- },
818
- getField(e) {
819
- return x().fields.find((t) => t.id === e);
820
- },
821
- getReport(e) {
822
- return x().reports.find((t) => t.id === e);
823
- },
824
- getExplanation(e) {
825
- return x().explanations.find((t) => t.id === e);
826
- },
827
- getVisibleFields() {
828
- return x().fields.filter((e) => e.visibleInLayout && e.state.visible);
829
- },
830
- getVisibleReports() {
831
- return x().reports.filter((e) => e.visibleInLayout);
832
- },
833
- getVisibleExplanations() {
834
- return x().explanations.filter((e) => e.visibleInLayout);
835
- },
836
- getActiveLayoutNodes() {
837
- return Se(u, d, f, p);
838
- },
839
- getLayoutReferences() {
840
- return v;
841
- },
842
- validate() {
843
- return l.validate();
844
- },
845
- submit(e) {
846
- return l.submit(e);
847
- },
848
- reset() {
849
- l.reset();
850
- },
851
- subscribe(e) {
852
- return m.add(e), () => {
853
- m.delete(e);
854
- };
855
- },
856
- async nextStep() {
857
- return u.layout.kind !== "wizard" || !await xe(l, u, d) ? !1 : (d < h.length - 1 && (d += 1, S()), !0);
858
- },
859
- prevStep() {
860
- u.layout.kind === "wizard" && d > 0 && (--d, S());
861
- },
862
- async goToStep(e) {
863
- if (u.layout.kind !== "wizard") throw TypeError(D.nonWizardGoToStep);
864
- let t = h.findIndex((t) => t.id === e);
865
- if (t < 0) throw TypeError(D.unknownWizardStep(e));
866
- if (t <= d) return d = t, S(), !0;
867
- for (; d < t;) if (!await this.nextStep()) return !1;
868
- return !0;
869
- },
870
- setActiveTab(e) {
871
- if (u.layout.kind !== "tabs") throw TypeError(D.nonTabsSetActiveTab);
872
- let t = g.findIndex((t) => t.id === e);
873
- if (t < 0) throw TypeError(D.unknownTab(e));
874
- t !== f && (f = t, S());
875
- },
876
- nextTab() {
877
- return u.layout.kind !== "tabs" || f >= g.length - 1 ? !1 : (f += 1, S(), !0);
878
- },
879
- prevTab() {
880
- return u.layout.kind !== "tabs" || f <= 0 ? !1 : (--f, S(), !0);
881
- },
882
- toggleSection(e) {
883
- U(u, _, e), p.has(e) ? p.delete(e) : p.add(e), S();
884
- },
885
- openSection(e) {
886
- U(u, _, e), p.has(e) || (p.add(e), S());
887
- },
888
- closeSection(e) {
889
- U(u, _, e), p.delete(e) && S();
890
- },
891
- openAllSections() {
892
- W(u), p = new Set(_.map((e) => e.id)), S();
893
- },
894
- closeAllSections() {
895
- W(u), p = /* @__PURE__ */ new Set(), S();
896
- }
897
- });
898
- }, K = Symbol("mlform.kit.accordion.mounted"), Ce = (e) => "view" in e, we = (e, t) => {
899
- let r = e;
900
- r[K]?.unmount();
901
- let i = Ce(t) ? t.view : G({
902
- schema: t.schema,
903
- transport: t.transport,
904
- registry: t.registry,
905
- primitiveRegistry: t.primitiveRegistry,
906
- designSystemRegistry: t.designSystemRegistry,
907
- designSystem: t.designSystem,
908
- initialValues: t.initialValues,
909
- validators: t.validators,
910
- hooks: t.hooks,
911
- hookFailurePolicy: t.hookFailurePolicy,
912
- inactiveFieldPolicy: t.inactiveFieldPolicy,
913
- listenerErrorPolicy: t.listenerErrorPolicy,
914
- onListenerError: t.onListenerError,
915
- layout: t.layout
916
- });
917
- if (i.getSnapshot().layout.kind !== "accordion") throw TypeError(D.accordionMissingLayout);
918
- let a = T(t.labels), o = m(t.primitiveText), s = E(t.designSystem), c = document.createElement(O.accordion);
919
- c.view = i, c.registry = i.primitiveRegistry, c.primitiveText = o, c.submitLabel = a.submit, c.validatingLabel = a.validating, c.submittingLabel = a.submitting, e.replaceChildren(c);
920
- let l = n(c, {
921
- config: s,
922
- registry: i.designSystemRegistry,
923
- onChange: t.onDesignSystemChange
924
- }), u = !1, d = Object.freeze({
925
- view: i,
926
- form: i.form,
927
- host: c,
928
- designSystem: l,
929
- unmount() {
930
- u || (u = !0, r[K] === d && delete r[K], i.form.abortSubmit("unmount"), l.disconnect(), c.remove());
931
- }
932
- });
933
- return r[K] = d, d;
934
- }, q = Symbol("mlform.kit.mounted"), Te = (e) => {
935
- if (!e.mode || !e.theme || !e.recipe) throw TypeError(D.invalidDesignSystemSnapshot);
936
- }, Ee = (e, t) => {
937
- let r = e;
938
- r[q]?.unmount();
939
- let i = G({
940
- schema: t.schema,
941
- transport: t.transport,
942
- registry: t.registry,
943
- presentationRegistry: t.presentationRegistry,
944
- primitiveRegistry: t.primitiveRegistry,
945
- designSystemRegistry: t.designSystemRegistry,
946
- designSystem: t.designSystem,
947
- initialValues: t.initialValues,
948
- validators: t.validators,
949
- hooks: t.hooks,
950
- hookFailurePolicy: t.hookFailurePolicy,
951
- inactiveFieldPolicy: t.inactiveFieldPolicy,
952
- listenerErrorPolicy: t.listenerErrorPolicy,
953
- onListenerError: t.onListenerError,
954
- reportPane: t.reportPane,
955
- reportTransport: t.reportTransport,
956
- labels: t.labels,
957
- primitiveText: t.primitiveText,
958
- containerStrategy: t.containerStrategy,
959
- onDesignSystemChange: t.onDesignSystemChange
960
- }), a = T(t.labels), o = E(t.designSystem), s = y(e, i.form, {
961
- registry: i.primitiveRegistry,
962
- presentationRegistry: i.presentationRegistry,
963
- layout: t.layout,
964
- containerStrategy: t.containerStrategy,
965
- formLabel: a.form,
966
- reportsLabel: a.reports,
967
- submitLabel: a.submit,
968
- validatingLabel: a.validating,
969
- submittingLabel: a.submitting,
970
- reportPane: t.reportPane,
971
- text: t.primitiveText,
972
- reportTransport: t.reportTransport
973
- }), c = n(s.host, {
974
- config: o,
975
- registry: i.designSystemRegistry,
976
- onChange: t.onDesignSystemChange
977
- }), l = !1, u = Object.freeze({
978
- form: i.form,
979
- host: s.host,
980
- engineRegistry: i.engineRegistry,
981
- presentationRegistry: i.presentationRegistry,
982
- primitiveRegistry: i.primitiveRegistry,
983
- designSystemRegistry: i.designSystemRegistry,
984
- designSystem: c,
985
- updateDesignSystem(e) {
986
- c.update(e);
987
- },
988
- replaceDesignSystem(e) {
989
- Te(e), c.replace(e);
990
- },
991
- resetDesignSystem() {
992
- c.reset();
993
- },
994
- unmount() {
995
- l || (l = !0, r[q] === u && delete r[q], i.form.abortSubmit("unmount"), c.disconnect(), s.unmount());
996
- }
997
- });
998
- return r[q] = u, u;
999
- }, De = (e) => {
1000
- e.unmount();
1001
- }, Oe = x`
1002
- :host {
1003
- display: block;
1004
- flex: 1 1 auto;
1005
- align-self: stretch;
1006
- inline-size: 100%;
1007
- block-size: 100%;
1008
- color: var(--mlf-shell-color, var(--mlf-color-text, #0f172a));
1009
- background: var(--mlf-shell-bg, var(--mlf-color-bg, #f5f7fa));
1010
- font-family: var(--mlf-font-family-body);
1011
- min-width: 0;
1012
- min-height: 0;
1013
- }
1014
- *,
1015
- *::before,
1016
- *::after {
1017
- box-sizing: border-box;
1018
- }
1019
- .root {
1020
- display: grid;
1021
- grid-template-rows: auto 1fr auto;
1022
- inline-size: 100%;
1023
- block-size: 100%;
1024
- min-width: 0;
1025
- min-height: 0;
1026
- overflow: hidden;
1027
- border-radius: var(--mlf-panel-radius, 12px);
1028
- border: var(--mlf-border-width, 1px) solid
1029
- var(--mlf-panel-border, var(--mlf-color-border, #e2e8f0));
1030
- background: var(--mlf-panel-bg, var(--mlf-color-surface, #ffffff));
1031
- box-shadow:
1032
- 0 2px 4px var(--mlf-panel-shadow-soft, rgba(0, 0, 0, 0.04)),
1033
- 0 8px 16px var(--mlf-panel-shadow, rgba(0, 0, 0, 0.04));
1034
- }
1035
- .tablist {
1036
- display: flex;
1037
- gap: 0.35rem;
1038
- overflow-x: auto;
1039
- padding: 0.85rem 1rem 0;
1040
- border-bottom: var(--mlf-border-width, 1px) solid
1041
- var(--mlf-panel-border, var(--mlf-color-border, #e2e8f0));
1042
- background: var(--mlf-panel-header-bg, rgba(255, 255, 255, 0.6));
1043
- scrollbar-width: thin;
1044
- }
1045
- .tab {
1046
- position: relative;
1047
- border: none;
1048
- border-radius: 12px 12px 0 0;
1049
- background: transparent;
1050
- color: var(--mlf-color-text-muted, #475569);
1051
- font: inherit;
1052
- font-size: 0.94rem;
1053
- font-weight: 600;
1054
- padding: 0.85rem 1rem 0.75rem;
1055
- cursor: pointer;
1056
- white-space: nowrap;
1057
- }
1058
- .tab[aria-selected="true"] {
1059
- color: var(--mlf-color-text, #0f172a);
1060
- background: color-mix(in srgb, var(--mlf-color-surface, #ffffff) 94%, transparent);
1061
- }
1062
- .tab[aria-selected="true"]::after {
1063
- content: "";
1064
- position: absolute;
1065
- inset-inline: 0.8rem;
1066
- inset-block-end: 0;
1067
- block-size: 3px;
1068
- border-radius: 999px;
1069
- background: var(--mlf-color-accent, #1e40af);
1070
- }
1071
- .tab-panel {
1072
- display: grid;
1073
- grid-template-rows: auto 1fr;
1074
- min-width: 0;
1075
- min-height: 0;
1076
- overflow: hidden;
1077
- }
1078
- .tab-header {
1079
- display: grid;
1080
- gap: 0.35rem;
1081
- padding: 1rem 1.25rem 0.5rem;
1082
- }
1083
- .tab-title {
1084
- margin: 0;
1085
- font-size: 1.08rem;
1086
- font-weight: 700;
1087
- color: var(--mlf-color-text, #0f172a);
1088
- line-height: 1.3;
1089
- }
1090
- .tab-description {
1091
- margin: 0;
1092
- font-size: var(--mlf-font-size-sm, 0.84rem);
1093
- color: var(--mlf-color-text-muted, #475569);
1094
- line-height: 1.5;
1095
- }
1096
- .body {
1097
- display: grid;
1098
- align-content: start;
1099
- gap: 1rem;
1100
- padding: 0.5rem 1rem 1.25rem;
1101
- overflow-y: auto;
1102
- overflow-x: hidden;
1103
- }
1104
- .collection,
1105
- .section-children,
1106
- .group {
1107
- display: grid;
1108
- gap: var(--mlf-section-gap, 1rem);
1109
- }
1110
- .section {
1111
- display: grid;
1112
- gap: 0.9rem;
1113
- }
1114
- .section-copy {
1115
- display: grid;
1116
- gap: 0.35rem;
1117
- padding: 0 0.5rem;
1118
- }
1119
- .section-title {
1120
- margin: 0;
1121
- font-size: 0.95rem;
1122
- font-weight: 700;
1123
- color: var(--mlf-color-text, #0f172a);
1124
- }
1125
- .section-description {
1126
- margin: 0;
1127
- font-size: var(--mlf-font-size-sm, 0.84rem);
1128
- color: var(--mlf-color-text-muted, #475569);
1129
- line-height: 1.5;
1130
- }
1131
- .group.columns-2 {
1132
- grid-template-columns: repeat(2, minmax(0, 1fr));
1133
- }
1134
- .group.columns-3 {
1135
- grid-template-columns: repeat(3, minmax(0, 1fr));
1136
- }
1137
- .footer {
1138
- display: flex;
1139
- align-items: center;
1140
- justify-content: space-between;
1141
- gap: 0.75rem;
1142
- padding: 0.85rem 1rem 1rem;
1143
- border-top: var(--mlf-border-width, 1px) solid
1144
- var(--mlf-panel-border, var(--mlf-color-border, #e2e8f0));
1145
- background: var(--mlf-panel-footer-bg, var(--mlf-color-bg-light, #f5f7fa));
1146
- }
1147
- .nav {
1148
- display: inline-flex;
1149
- gap: 0.5rem;
1150
- }
1151
- .btn {
1152
- display: inline-flex;
1153
- align-items: center;
1154
- justify-content: center;
1155
- min-height: 2.5rem;
1156
- padding: 0.5rem 1rem;
1157
- border-radius: var(--mlf-input-radius, 12px);
1158
- border: var(--mlf-border-width, 1px) solid var(--mlf-input-border, #e2e8f0);
1159
- background: #fff;
1160
- color: var(--mlf-color-text, #0f172a);
1161
- font: inherit;
1162
- font-size: 0.92rem;
1163
- font-weight: 600;
1164
- cursor: pointer;
1165
- }
1166
- .btn:disabled {
1167
- cursor: not-allowed;
1168
- opacity: 0.55;
1169
- }
1170
- .btn-submit {
1171
- border-color: var(--mlf-submit-bg, var(--mlf-color-accent, #1e40af));
1172
- background: var(--mlf-submit-bg, var(--mlf-color-accent, #1e40af));
1173
- color: var(--mlf-submit-color, #ffffff);
1174
- }
1175
- @media (max-width: 900px) {
1176
- .group.columns-2,
1177
- .group.columns-3 {
1178
- grid-template-columns: minmax(0, 1fr);
1179
- }
1180
- .footer {
1181
- flex-direction: column;
1182
- align-items: stretch;
1183
- }
1184
- .nav {
1185
- justify-content: space-between;
1186
- }
1187
- }
1188
- `, J = class extends b {
1189
- static styles = Oe;
1190
- #e;
1191
- get view() {
1192
- return this.#e;
1193
- }
1194
- set view(e) {
1195
- this.#e = e;
1196
- }
1197
- #t;
1198
- get registry() {
1199
- return this.#t;
1200
- }
1201
- set registry(e) {
1202
- this.#t = e;
1203
- }
1204
- #n = g;
1205
- get primitiveText() {
1206
- return this.#n;
1207
- }
1208
- set primitiveText(e) {
1209
- this.#n = e;
1210
- }
1211
- #r = "Submit";
1212
- get submitLabel() {
1213
- return this.#r;
1214
- }
1215
- set submitLabel(e) {
1216
- this.#r = e;
1217
- }
1218
- #i = "Validating...";
1219
- get validatingLabel() {
1220
- return this.#i;
1221
- }
1222
- set validatingLabel(e) {
1223
- this.#i = e;
1224
- }
1225
- #a = "Submitting...";
1226
- get submittingLabel() {
1227
- return this.#a;
1228
- }
1229
- set submittingLabel(e) {
1230
- this.#a = e;
1231
- }
1232
- #o = null;
1233
- get snapshot() {
1234
- return this.#o;
1235
- }
1236
- set snapshot(e) {
1237
- this.#o = e;
1238
- }
1239
- #s = null;
1240
- willUpdate(e) {
1241
- e.has("view") && (this.#s?.(), this.#s = null, this.snapshot = this.view?.getSnapshot() ?? null, this.view && (this.#s = this.view.subscribe((e) => {
1242
- this.snapshot = e;
1243
- })));
1244
- }
1245
- disconnectedCallback() {
1246
- this.#s?.(), this.#s = null, super.disconnectedCallback();
1247
- }
1248
- render() {
1249
- let e = this.snapshot, t = e?.tabs;
1250
- if (!e || !t || e.layout.kind !== "tabs") return l``;
1251
- let n = e.layout.tabs[t.activeTabIndex];
1252
- if (!n) return l``;
1253
- let r = e.form.status, i = r === "validating" ? this.validatingLabel : r === "submitting" ? this.submittingLabel : this.submitLabel;
1254
- return l`
1255
- <section class="root" part="tabs-panel">
1256
- <div class="tablist" role="tablist" aria-label="Form sections">
1257
- ${h(e.layout.tabs, (e) => e.id, (e, n) => l`
1258
- <button
1259
- type="button"
1260
- class="tab"
1261
- role="tab"
1262
- aria-selected=${String(n === t.activeTabIndex)}
1263
- aria-controls=${`panel-${e.id}`}
1264
- id=${`tab-${e.id}`}
1265
- @click=${() => this.view?.setActiveTab(e.id)}
1266
- >
1267
- ${e.title}
1268
- </button>
1269
- `)}
1270
- </div>
1271
-
1272
- <div
1273
- class="tab-panel"
1274
- role="tabpanel"
1275
- id=${`panel-${n.id}`}
1276
- aria-labelledby=${`tab-${n.id}`}
1277
- >
1278
- ${n.title || n.description ? l`
1279
- <header class="tab-header">
1280
- <h1 class="tab-title">${n.title}</h1>
1281
- ${n.description ? l`<p class="tab-description">${n.description}</p>` : S}
1282
- </header>
1283
- ` : S}
1284
-
1285
- <div class="body">
1286
- <div class="collection">
1287
- ${h(n.children, (e, t) => `${n.id}-${t}`, (t) => k({
1288
- node: t,
1289
- snapshot: e,
1290
- registry: this.registry,
1291
- primitiveText: this.primitiveText,
1292
- sectionClass: "section",
1293
- sectionCopyClass: "section-copy",
1294
- sectionTitleClass: "section-title",
1295
- sectionDescriptionClass: "section-description",
1296
- childrenClass: "section-children",
1297
- groupBaseClass: "group"
1298
- }))}
1299
- </div>
1300
- </div>
1301
- </div>
1302
-
1303
- <footer class="footer" part="actions">
1304
- <div class="nav">
1305
- <button
1306
- type="button"
1307
- class="btn"
1308
- ?disabled=${!t.canGoPrev}
1309
- @click=${() => this.view?.prevTab()}
1310
- >
1311
- Previous
1312
- </button>
1313
- <button
1314
- type="button"
1315
- class="btn"
1316
- ?disabled=${!t.canGoNext}
1317
- @click=${() => this.view?.nextTab()}
1318
- >
1319
- Next
1320
- </button>
1321
- </div>
1322
- <button
1323
- type="button"
1324
- class="btn btn-submit"
1325
- ?disabled=${r === "validating" || r === "submitting"}
1326
- @click=${this.#c}
1327
- >
1328
- ${i}
1329
- </button>
1330
- </footer>
1331
- </section>
1332
- `;
1333
- }
1334
- #c = async () => {
1335
- await this.view?.submit();
1336
- };
1337
- };
1338
- u([f({ attribute: !1 })], J.prototype, "view", null), u([f({ attribute: !1 })], J.prototype, "registry", null), u([f({ attribute: !1 })], J.prototype, "primitiveText", null), u([f({ type: String })], J.prototype, "submitLabel", null), u([f({ type: String })], J.prototype, "validatingLabel", null), u([f({ type: String })], J.prototype, "submittingLabel", null), u([p()], J.prototype, "snapshot", null), J = u([c(O.tabs)], J);
1339
- //#endregion
1340
- //#region src/kit/tabs.ts
1341
- var Y = Symbol("mlform.kit.tabs.mounted"), ke = (e) => "view" in e, Ae = (e, t) => {
1342
- let r = e;
1343
- r[Y]?.unmount();
1344
- let i = ke(t) ? t.view : G({
1345
- schema: t.schema,
1346
- transport: t.transport,
1347
- registry: t.registry,
1348
- primitiveRegistry: t.primitiveRegistry,
1349
- designSystemRegistry: t.designSystemRegistry,
1350
- designSystem: t.designSystem,
1351
- initialValues: t.initialValues,
1352
- validators: t.validators,
1353
- hooks: t.hooks,
1354
- hookFailurePolicy: t.hookFailurePolicy,
1355
- inactiveFieldPolicy: t.inactiveFieldPolicy,
1356
- listenerErrorPolicy: t.listenerErrorPolicy,
1357
- onListenerError: t.onListenerError,
1358
- layout: t.layout
1359
- });
1360
- if (i.getSnapshot().layout.kind !== "tabs") throw TypeError(D.tabsMissingLayout);
1361
- let a = T(t.labels), o = m(t.primitiveText), s = E(t.designSystem), c = document.createElement(O.tabs);
1362
- c.view = i, c.registry = i.primitiveRegistry, c.primitiveText = o, c.submitLabel = a.submit, c.validatingLabel = a.validating, c.submittingLabel = a.submitting, e.replaceChildren(c);
1363
- let l = n(c, {
1364
- config: s,
1365
- registry: i.designSystemRegistry,
1366
- onChange: t.onDesignSystemChange
1367
- }), u = !1, d = Object.freeze({
1368
- view: i,
1369
- form: i.form,
1370
- host: c,
1371
- designSystem: l,
1372
- unmount() {
1373
- u || (u = !0, r[Y] === d && delete r[Y], i.form.abortSubmit("unmount"), l.disconnect(), c.remove());
1374
- }
1375
- });
1376
- return r[Y] = d, d;
1377
- }, X = class extends b {
1378
- static styles = x`
1379
- :host {
1380
- display: block;
1381
- min-width: 0;
1382
- }
1383
-
1384
- *,
1385
- *::before,
1386
- *::after {
1387
- box-sizing: border-box;
1388
- }
1389
-
1390
- .indicator {
1391
- display: grid;
1392
- gap: 0.5rem;
1393
- }
1394
-
1395
- .header {
1396
- display: flex;
1397
- align-items: center;
1398
- justify-content: space-between;
1399
- gap: 1rem;
1400
- }
1401
-
1402
- .step-label {
1403
- font-size: var(--mlf-font-size-sm, 0.84rem);
1404
- font-weight: 600;
1405
- letter-spacing: 0.05em;
1406
- text-transform: uppercase;
1407
- color: var(--mlf-color-text-muted, #475569);
1408
- }
1409
-
1410
- .step-fraction {
1411
- font-size: var(--mlf-font-size-sm, 0.84rem);
1412
- font-weight: 700;
1413
- color: var(--mlf-color-accent, #1e40af);
1414
- }
1415
-
1416
- .track {
1417
- height: 4px;
1418
- border-radius: 999px;
1419
- background: var(--mlf-color-border, #e2e8f0);
1420
- overflow: hidden;
1421
- }
1422
-
1423
- .fill {
1424
- height: 100%;
1425
- border-radius: 999px;
1426
- background: var(--mlf-color-accent, #1e40af);
1427
- transition: width 0.3s ease;
1428
- }
1429
-
1430
- .dots {
1431
- display: flex;
1432
- gap: 0.4rem;
1433
- flex-wrap: wrap;
1434
- }
1435
-
1436
- .dot {
1437
- width: 8px;
1438
- height: 8px;
1439
- border-radius: 50%;
1440
- background: var(--mlf-color-border, #e2e8f0);
1441
- transition:
1442
- background-color 0.2s ease,
1443
- transform 0.2s ease;
1444
- }
1445
-
1446
- .dot.active {
1447
- background: var(--mlf-color-accent, #1e40af);
1448
- transform: scale(1.25);
1449
- }
1450
-
1451
- .dot.done {
1452
- background: color-mix(in srgb, var(--mlf-color-accent, #1e40af) 50%, transparent);
1453
- }
1454
- `;
1455
- #e = 1;
1456
- get current() {
1457
- return this.#e;
1458
- }
1459
- set current(e) {
1460
- this.#e = e;
1461
- }
1462
- #t = 1;
1463
- get total() {
1464
- return this.#t;
1465
- }
1466
- set total(e) {
1467
- this.#t = e;
1468
- }
1469
- #n = "Step";
1470
- get label() {
1471
- return this.#n;
1472
- }
1473
- set label(e) {
1474
- this.#n = e;
1475
- }
1476
- render() {
1477
- let e = this.total > 0 ? Math.round(this.current / this.total * 100) : 0;
1478
- return l`
1479
- <div
1480
- class="indicator"
1481
- role="status"
1482
- aria-label=${`${this.label} ${this.current} of ${this.total}`}
1483
- >
1484
- <div class="header">
1485
- <span class="step-label">${this.label}</span>
1486
- <span class="step-fraction">${this.current} / ${this.total}</span>
1487
- </div>
1488
- <div class="track" aria-hidden="true">
1489
- <div class="fill" style="width: ${e}%"></div>
1490
- </div>
1491
- <div class="dots" aria-hidden="true">
1492
- ${Array.from({ length: this.total }, (e, t) => l`<div class=${t + 1 < this.current ? "dot done" : t + 1 === this.current ? "dot active" : "dot"}></div>`)}
1493
- </div>
1494
- </div>
1495
- `;
1496
- }
1497
- };
1498
- u([f({ type: Number })], X.prototype, "current", null), u([f({ type: Number })], X.prototype, "total", null), u([f({ type: String })], X.prototype, "label", null), X = u([c(O.stepIndicator)], X);
1499
- //#endregion
1500
- //#region src/kit/wizard-constants.ts
1501
- var Z = {
1502
- prev: "Previous",
1503
- next: "Next",
1504
- submit: "Submit",
1505
- validating: "Validating...",
1506
- submitting: "Submitting..."
1507
- }, je = Object.freeze({
1508
- stepLabel: (e, t) => `Step ${e} of ${t}`,
1509
- prevLabel: "Previous",
1510
- nextLabel: "Next",
1511
- submitLabel: "Submit",
1512
- validatingLabel: "Validating...",
1513
- submittingLabel: "Submitting..."
1514
- }), Me = (e) => e ? Object.freeze({
1515
- ...je,
1516
- ...e
1517
- }) : je, Ne = x`
1518
- :host {
1519
- display: block;
1520
- flex: 1 1 auto;
1521
- align-self: stretch;
1522
- inline-size: 100%;
1523
- block-size: 100%;
1524
- color: var(--mlf-shell-color, var(--mlf-color-text, #0f172a));
1525
- background: var(--mlf-shell-bg, var(--mlf-color-bg, #f5f7fa));
1526
- font-family: var(--mlf-font-family-body);
1527
- min-width: 0;
1528
- min-height: 0;
1529
- }
1530
- *,
1531
- *::before,
1532
- *::after {
1533
- box-sizing: border-box;
1534
- }
1535
- .root {
1536
- display: grid;
1537
- grid-template-rows: 1fr;
1538
- gap: var(--mlf-shell-gap, 1rem);
1539
- inline-size: 100%;
1540
- block-size: 100%;
1541
- min-width: 0;
1542
- min-height: 0;
1543
- }
1544
- .panel {
1545
- display: flex;
1546
- flex-direction: column;
1547
- min-width: 0;
1548
- min-height: 0;
1549
- overflow: hidden;
1550
- border-radius: var(--mlf-panel-radius, 12px);
1551
- border: var(--mlf-border-width, 1px) solid
1552
- var(--mlf-panel-border, var(--mlf-color-border, #e2e8f0));
1553
- background: var(--mlf-panel-bg, var(--mlf-color-surface, #ffffff));
1554
- box-shadow:
1555
- 0 2px 4px var(--mlf-panel-shadow-soft, rgba(0, 0, 0, 0.04)),
1556
- 0 8px 16px var(--mlf-panel-shadow, rgba(0, 0, 0, 0.04));
1557
- }
1558
- .pane-header {
1559
- flex: 0 0 auto;
1560
- display: grid;
1561
- gap: 0.85rem;
1562
- padding: 1rem 1.5rem;
1563
- border-bottom: var(--mlf-border-width, 1px) solid
1564
- var(--mlf-panel-border, var(--mlf-color-border, #e2e8f0));
1565
- background: var(--mlf-panel-header-bg, rgba(255, 255, 255, 0.6));
1566
- backdrop-filter: blur(var(--mlf-header-blur, 3px));
1567
- -webkit-backdrop-filter: blur(var(--mlf-header-blur, 3px));
1568
- }
1569
- .step-title {
1570
- margin: 0;
1571
- font-size: 1.1rem;
1572
- font-weight: 700;
1573
- color: var(--mlf-pane-title-color, var(--mlf-color-text, #0f172a));
1574
- line-height: 1.3;
1575
- }
1576
- .step-description {
1577
- margin: 0;
1578
- font-size: var(--mlf-font-size-sm, 0.84rem);
1579
- color: var(--mlf-color-text-muted, #475569);
1580
- line-height: 1.5;
1581
- }
1582
- .pane-body {
1583
- flex: 1 1 auto;
1584
- display: grid;
1585
- align-content: start;
1586
- gap: 1rem;
1587
- padding: 1rem 1rem 1.25rem;
1588
- overflow-y: auto;
1589
- overflow-x: hidden;
1590
- }
1591
- .collection,
1592
- .section-children,
1593
- .section,
1594
- .group {
1595
- display: grid;
1596
- gap: var(--mlf-section-gap, 1rem);
1597
- }
1598
- .section-copy {
1599
- display: grid;
1600
- gap: 0.35rem;
1601
- padding: 0 0.5rem;
1602
- }
1603
- .section-title {
1604
- margin: 0;
1605
- font-size: 0.95rem;
1606
- font-weight: 700;
1607
- color: var(--mlf-color-text, #0f172a);
1608
- }
1609
- .section-description {
1610
- margin: 0;
1611
- font-size: var(--mlf-font-size-sm, 0.84rem);
1612
- color: var(--mlf-color-text-muted, #475569);
1613
- line-height: 1.5;
1614
- }
1615
- .group.columns-2 {
1616
- grid-template-columns: repeat(2, minmax(0, 1fr));
1617
- }
1618
- .group.columns-3 {
1619
- grid-template-columns: repeat(3, minmax(0, 1fr));
1620
- }
1621
- .actions {
1622
- flex: 0 0 auto;
1623
- display: flex;
1624
- align-items: center;
1625
- justify-content: space-between;
1626
- gap: 1rem;
1627
- padding: 0.75rem 1.5rem;
1628
- border-top: var(--mlf-border-width, 1px) solid
1629
- var(--mlf-panel-border, var(--mlf-color-border, #e2e8f0));
1630
- background: var(--mlf-panel-footer-bg, var(--mlf-color-bg-light, #f5f7fa));
1631
- }
1632
- .btn {
1633
- display: inline-flex;
1634
- align-items: center;
1635
- justify-content: center;
1636
- gap: 0.5rem;
1637
- min-height: 2.5rem;
1638
- padding: 0.5rem 1.25rem;
1639
- border: var(--mlf-border-width, 1px) solid transparent;
1640
- border-radius: var(--mlf-input-radius, 12px);
1641
- font: inherit;
1642
- font-size: 0.95rem;
1643
- font-weight: 600;
1644
- cursor: pointer;
1645
- transition:
1646
- background-color 0.2s ease,
1647
- border-color 0.2s ease,
1648
- opacity 0.2s ease;
1649
- }
1650
- .btn:disabled {
1651
- cursor: not-allowed;
1652
- opacity: 0.55;
1653
- }
1654
- .btn-prev {
1655
- background: transparent;
1656
- border-color: var(--mlf-input-border, var(--mlf-color-border, #e2e8f0));
1657
- color: var(--mlf-color-text-muted, #475569);
1658
- }
1659
- .btn-next,
1660
- .btn-submit {
1661
- background: var(--mlf-submit-bg, var(--mlf-color-accent, #1e40af));
1662
- border-color: var(--mlf-submit-bg, var(--mlf-color-accent, #1e40af));
1663
- color: var(--mlf-submit-color, #ffffff);
1664
- }
1665
- .spacer {
1666
- flex: 1 1 auto;
1667
- }
1668
- @media (max-width: 900px) {
1669
- .group.columns-2,
1670
- .group.columns-3 {
1671
- grid-template-columns: minmax(0, 1fr);
1672
- }
1673
- }
1674
- `, Q = class extends b {
1675
- static styles = Ne;
1676
- #e;
1677
- get view() {
1678
- return this.#e;
1679
- }
1680
- set view(e) {
1681
- this.#e = e;
1682
- }
1683
- #t;
1684
- get registry() {
1685
- return this.#t;
1686
- }
1687
- set registry(e) {
1688
- this.#t = e;
1689
- }
1690
- #n = g;
1691
- get primitiveText() {
1692
- return this.#n;
1693
- }
1694
- set primitiveText(e) {
1695
- this.#n = e;
1696
- }
1697
- #r = Z;
1698
- get labels() {
1699
- return this.#r;
1700
- }
1701
- set labels(e) {
1702
- this.#r = e;
1703
- }
1704
- #i = Me();
1705
- get text() {
1706
- return this.#i;
1707
- }
1708
- set text(e) {
1709
- this.#i = e;
1710
- }
1711
- #a = null;
1712
- get snapshot() {
1713
- return this.#a;
1714
- }
1715
- set snapshot(e) {
1716
- this.#a = e;
1717
- }
1718
- #o = null;
1719
- willUpdate(e) {
1720
- e.has("view") && (this.#o?.(), this.#o = null, this.snapshot = this.view?.getSnapshot() ?? null, this.view && (this.#o = this.view.subscribe((e) => {
1721
- this.snapshot = e;
1722
- })));
1723
- }
1724
- disconnectedCallback() {
1725
- this.#o?.(), this.#o = null, super.disconnectedCallback();
1726
- }
1727
- render() {
1728
- let e = this.snapshot, t = e?.wizard;
1729
- if (!e || !t || e.layout.kind !== "wizard") return l``;
1730
- let n = e.layout.steps[t.stepIndex];
1731
- if (!n) return l``;
1732
- let r = e.form.status, i = r === "validating" || r === "submitting", a = t.isLastStep ? r === "validating" ? this.labels.validating : r === "submitting" ? this.labels.submitting : this.labels.submit : this.labels.next;
1733
- return l`
1734
- <div class="root">
1735
- <section class="panel" part="wizard-panel">
1736
- <header class="pane-header">
1737
- <mlf-kit-step-indicator
1738
- .current=${t.stepIndex + 1}
1739
- .total=${t.stepCount}
1740
- .label=${this.text.stepLabel(t.stepIndex + 1, t.stepCount).split(" ")[0] ?? "Step"}
1741
- ></mlf-kit-step-indicator>
1742
- <h1 class="step-title">${n.title}</h1>
1743
- ${n.description ? l`<p class="step-description">${n.description}</p>` : S}
1744
- </header>
1745
-
1746
- <div class="pane-body">
1747
- <div class="collection">
1748
- ${h(n.children, (e, t) => `${n.id}-${t}`, (t) => k({
1749
- node: t,
1750
- snapshot: e,
1751
- registry: this.registry,
1752
- primitiveText: this.primitiveText,
1753
- sectionClass: "section",
1754
- sectionCopyClass: "section-copy",
1755
- sectionTitleClass: "section-title",
1756
- sectionDescriptionClass: "section-description",
1757
- childrenClass: "section-children",
1758
- groupBaseClass: "group"
1759
- }))}
1760
- </div>
1761
- </div>
1762
-
1763
- <div class="actions" part="actions">
1764
- <button
1765
- type="button"
1766
- class="btn btn-prev"
1767
- ?disabled=${!t.canPrev || i}
1768
- @click=${this.#s}
1769
- >
1770
- ${this.labels.prev}
1771
- </button>
1772
- <span class="spacer"></span>
1773
- <button
1774
- type="button"
1775
- class=${t.isLastStep ? "btn btn-submit" : "btn btn-next"}
1776
- ?disabled=${i}
1777
- @click=${t.isLastStep ? this.#l : this.#c}
1778
- >
1779
- ${a}
1780
- </button>
1781
- </div>
1782
- </section>
1783
- </div>
1784
- `;
1785
- }
1786
- #s = () => {
1787
- this.view?.prevStep();
1788
- };
1789
- #c = async () => {
1790
- await this.view?.nextStep();
1791
- };
1792
- #l = async () => {
1793
- this.view && await this.view.nextStep() && await this.view.submit();
1794
- };
1795
- };
1796
- u([f({ attribute: !1 })], Q.prototype, "view", null), u([f({ attribute: !1 })], Q.prototype, "registry", null), u([f({ attribute: !1 })], Q.prototype, "primitiveText", null), u([f({ attribute: !1 })], Q.prototype, "labels", null), u([f({ attribute: !1 })], Q.prototype, "text", null), u([p()], Q.prototype, "snapshot", null), Q = u([c(O.wizard)], Q);
1797
- //#endregion
1798
- //#region src/kit/wizard.ts
1799
- var $ = Symbol("mlform.kit.wizard.mounted"), Pe = (e) => "view" in e, Fe = (e, t) => {
1800
- let r = e;
1801
- r[$]?.unmount();
1802
- let i = Pe(t) ? t.view : G({
1803
- schema: t.schema,
1804
- transport: t.transport,
1805
- registry: t.registry,
1806
- primitiveRegistry: t.primitiveRegistry,
1807
- designSystemRegistry: t.designSystemRegistry,
1808
- designSystem: t.designSystem,
1809
- initialValues: t.initialValues,
1810
- validators: t.validators,
1811
- hooks: t.hooks,
1812
- hookFailurePolicy: t.hookFailurePolicy,
1813
- inactiveFieldPolicy: t.inactiveFieldPolicy,
1814
- listenerErrorPolicy: t.listenerErrorPolicy,
1815
- onListenerError: t.onListenerError,
1816
- layout: t.layout
1817
- });
1818
- if (i.getSnapshot().layout.kind !== "wizard") throw TypeError(D.wizardMissingLayout);
1819
- let a = document.createElement(O.wizard), o = {
1820
- ...Z,
1821
- ...t.labels
1822
- }, s = Me({
1823
- ...t.text,
1824
- prevLabel: o.prev,
1825
- nextLabel: o.next,
1826
- submitLabel: o.submit,
1827
- validatingLabel: o.validating,
1828
- submittingLabel: o.submitting
1829
- }), c = m(t.primitiveText), l = E(t.designSystem);
1830
- a.view = i, a.registry = i.primitiveRegistry, a.primitiveText = c, a.labels = o, a.text = s, e.replaceChildren(a);
1831
- let u = n(a, {
1832
- config: l,
1833
- registry: i.designSystemRegistry,
1834
- onChange: t.onDesignSystemChange
1835
- }), d = !1, f = Object.freeze({
1836
- view: i,
1837
- form: i.form,
1838
- host: a,
1839
- designSystem: u,
1840
- unmount() {
1841
- d || (d = !0, r[$] === f && delete r[$], i.form.abortSubmit("unmount"), u.disconnect(), a.remove());
1842
- }
1843
- });
1844
- return r[$] = f, f;
1845
- };
1846
- //#endregion
1847
- export { we as a, I as c, C as d, De as i, F as l, Ae as n, G as o, Ee as r, L as s, Fe as t, w as u };