@bettercms-ai/kit 0.1.0 → 1.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (947) hide show
  1. package/_virtual/_rolldown/runtime.js +13 -0
  2. package/adapters/icons.d.ts +15 -0
  3. package/adapters/icons.js +27 -0
  4. package/adapters/icons.js.map +1 -0
  5. package/adapters/lossy.d.ts +267 -0
  6. package/adapters/lossy.js +233 -0
  7. package/adapters/lossy.js.map +1 -0
  8. package/adapters/prod-types.d.ts +468 -0
  9. package/adapters/prod-types.js +646 -0
  10. package/adapters/prod-types.js.map +1 -0
  11. package/adapters/schema.d.ts +115 -0
  12. package/adapters/schema.js +2203 -0
  13. package/adapters/schema.js.map +1 -0
  14. package/adapters/values.d.ts +200 -0
  15. package/adapters/values.js +553 -0
  16. package/adapters/values.js.map +1 -0
  17. package/brand/logo.d.ts +17 -0
  18. package/brand/logo.js +9 -0
  19. package/brand/logo.js.map +1 -0
  20. package/context.d.ts +269 -0
  21. package/context.js +214 -0
  22. package/context.js.map +1 -0
  23. package/controls/button.d.ts +58 -0
  24. package/controls/button.js +507 -0
  25. package/controls/button.js.map +1 -0
  26. package/controls/c1.d.ts +11 -0
  27. package/controls/c1.js +24 -0
  28. package/controls/c1.js.map +1 -0
  29. package/controls/c2.d.ts +10 -0
  30. package/controls/c2.js +19 -0
  31. package/controls/c2.js.map +1 -0
  32. package/controls/choice.d.ts +39 -0
  33. package/controls/choice.js +410 -0
  34. package/controls/choice.js.map +1 -0
  35. package/controls/code-register.d.ts +1 -0
  36. package/controls/code-register.js +8 -0
  37. package/controls/code-register.js.map +1 -0
  38. package/controls/code.d.ts +42 -0
  39. package/controls/code.js +396 -0
  40. package/controls/code.js.map +1 -0
  41. package/controls/color.d.ts +5 -0
  42. package/controls/color.js +130 -0
  43. package/controls/color.js.map +1 -0
  44. package/controls/component-services.d.ts +114 -0
  45. package/controls/date-register.d.ts +1 -0
  46. package/controls/date-register.js +9 -0
  47. package/controls/date-register.js.map +1 -0
  48. package/controls/date-zone.d.ts +104 -0
  49. package/controls/date-zone.js +272 -0
  50. package/controls/date-zone.js.map +1 -0
  51. package/controls/date.d.ts +7 -0
  52. package/controls/date.js +458 -0
  53. package/controls/date.js.map +1 -0
  54. package/controls/form-picker-register.d.ts +1 -0
  55. package/controls/form-picker-register.js +19 -0
  56. package/controls/form-picker-register.js.map +1 -0
  57. package/controls/form-picker.d.ts +43 -0
  58. package/controls/form-picker.js +83 -0
  59. package/controls/form-picker.js.map +1 -0
  60. package/controls/icon-register.d.ts +1 -0
  61. package/controls/icon-register.js +8 -0
  62. package/controls/icon-register.js.map +1 -0
  63. package/controls/icon.d.ts +38 -0
  64. package/controls/icon.js +355 -0
  65. package/controls/icon.js.map +1 -0
  66. package/controls/index.d.ts +5 -0
  67. package/controls/index.js +37 -0
  68. package/controls/index.js.map +1 -0
  69. package/controls/json-register.d.ts +1 -0
  70. package/controls/json-register.js +8 -0
  71. package/controls/json-register.js.map +1 -0
  72. package/controls/json.d.ts +2 -0
  73. package/controls/json.js +72 -0
  74. package/controls/json.js.map +1 -0
  75. package/controls/link.d.ts +260 -0
  76. package/controls/link.js +1186 -0
  77. package/controls/link.js.map +1 -0
  78. package/controls/location-register.d.ts +1 -0
  79. package/controls/location-register.js +8 -0
  80. package/controls/location-register.js.map +1 -0
  81. package/controls/location.d.ts +16 -0
  82. package/controls/location.js +197 -0
  83. package/controls/location.js.map +1 -0
  84. package/controls/media-register.d.ts +1 -0
  85. package/controls/media-register.js +12 -0
  86. package/controls/media-register.js.map +1 -0
  87. package/controls/media-services.d.ts +40 -0
  88. package/controls/media.d.ts +73 -0
  89. package/controls/media.js +1076 -0
  90. package/controls/media.js.map +1 -0
  91. package/controls/number.d.ts +22 -0
  92. package/controls/number.js +195 -0
  93. package/controls/number.js.map +1 -0
  94. package/controls/reference-register.d.ts +1 -0
  95. package/controls/reference-register.js +10 -0
  96. package/controls/reference-register.js.map +1 -0
  97. package/controls/reference-services.d.ts +54 -0
  98. package/controls/reference.d.ts +23 -0
  99. package/controls/reference.js +761 -0
  100. package/controls/reference.js.map +1 -0
  101. package/controls/rich-text/blocks.d.ts +28 -0
  102. package/controls/rich-text/blocks.js +1532 -0
  103. package/controls/rich-text/blocks.js.map +1 -0
  104. package/controls/rich-text/catalog.d.ts +98 -0
  105. package/controls/rich-text/catalog.js +613 -0
  106. package/controls/rich-text/catalog.js.map +1 -0
  107. package/controls/rich-text/codec.d.ts +56 -0
  108. package/controls/rich-text/codec.js +32 -0
  109. package/controls/rich-text/codec.js.map +1 -0
  110. package/controls/rich-text/component-card.d.ts +14 -0
  111. package/controls/rich-text/component-card.js +706 -0
  112. package/controls/rich-text/component-card.js.map +1 -0
  113. package/controls/rich-text/control.d.ts +21 -0
  114. package/controls/rich-text/control.js +254 -0
  115. package/controls/rich-text/control.js.map +1 -0
  116. package/controls/rich-text/dom.d.ts +190 -0
  117. package/controls/rich-text/dom.js +690 -0
  118. package/controls/rich-text/dom.js.map +1 -0
  119. package/controls/rich-text/editor.d.ts +50 -0
  120. package/controls/rich-text/editor.js +1530 -0
  121. package/controls/rich-text/editor.js.map +1 -0
  122. package/controls/rich-text/floating.d.ts +23 -0
  123. package/controls/rich-text/floating.js +137 -0
  124. package/controls/rich-text/floating.js.map +1 -0
  125. package/controls/rich-text/index.d.ts +1 -0
  126. package/controls/rich-text/index.js +12 -0
  127. package/controls/rich-text/index.js.map +1 -0
  128. package/controls/rich-text/link-form.d.ts +13 -0
  129. package/controls/rich-text/link-form.js +111 -0
  130. package/controls/rich-text/link-form.js.map +1 -0
  131. package/controls/rich-text/markdown.d.ts +6 -0
  132. package/controls/rich-text/markdown.js +179 -0
  133. package/controls/rich-text/markdown.js.map +1 -0
  134. package/controls/rich-text/ops.d.ts +35 -0
  135. package/controls/rich-text/ops.js +314 -0
  136. package/controls/rich-text/ops.js.map +1 -0
  137. package/controls/rich-text/toolbar.d.ts +85 -0
  138. package/controls/rich-text/toolbar.js +338 -0
  139. package/controls/rich-text/toolbar.js.map +1 -0
  140. package/controls/scale.d.ts +56 -0
  141. package/controls/scale.js +563 -0
  142. package/controls/scale.js.map +1 -0
  143. package/controls/slot-register.d.ts +1 -0
  144. package/controls/slot-register.js +16 -0
  145. package/controls/slot-register.js.map +1 -0
  146. package/controls/slot-services.d.ts +97 -0
  147. package/controls/slot-services.js +38 -0
  148. package/controls/slot-services.js.map +1 -0
  149. package/controls/slot.d.ts +33 -0
  150. package/controls/slot.js +348 -0
  151. package/controls/slot.js.map +1 -0
  152. package/controls/table/index.d.ts +1 -0
  153. package/controls/table/index.js +12 -0
  154. package/controls/table/index.js.map +1 -0
  155. package/controls/table/prod.d.ts +21 -0
  156. package/controls/table/prod.js +79 -0
  157. package/controls/table/prod.js.map +1 -0
  158. package/controls/table/refs.d.ts +50 -0
  159. package/controls/table/refs.js +68 -0
  160. package/controls/table/refs.js.map +1 -0
  161. package/controls/table/stored.d.ts +15 -0
  162. package/controls/table/stored.js +44 -0
  163. package/controls/table/stored.js.map +1 -0
  164. package/controls/table/table-editor.d.ts +103 -0
  165. package/controls/table/table-editor.js +2722 -0
  166. package/controls/table/table-editor.js.map +1 -0
  167. package/controls/table/table-link.d.ts +24 -0
  168. package/controls/table/table-link.js +180 -0
  169. package/controls/table/table-link.js.map +1 -0
  170. package/controls/table/table.d.ts +9 -0
  171. package/controls/table/table.js +103 -0
  172. package/controls/table/table.js.map +1 -0
  173. package/controls/text.d.ts +17 -0
  174. package/controls/text.js +287 -0
  175. package/controls/text.js.map +1 -0
  176. package/engine/array.d.ts +101 -0
  177. package/engine/array.js +893 -0
  178. package/engine/array.js.map +1 -0
  179. package/engine/bits.d.ts +24 -0
  180. package/engine/bits.js +60 -0
  181. package/engine/bits.js.map +1 -0
  182. package/engine/breadcrumb.d.ts +45 -0
  183. package/engine/breadcrumb.js +87 -0
  184. package/engine/breadcrumb.js.map +1 -0
  185. package/engine/expand.d.ts +68 -0
  186. package/engine/expand.js +170 -0
  187. package/engine/expand.js.map +1 -0
  188. package/engine/field-list.d.ts +20 -0
  189. package/engine/field-list.js +19 -0
  190. package/engine/field-list.js.map +1 -0
  191. package/engine/field-shell.d.ts +49 -0
  192. package/engine/field-shell.js +860 -0
  193. package/engine/field-shell.js.map +1 -0
  194. package/engine/frame.d.ts +120 -0
  195. package/engine/frame.js +599 -0
  196. package/engine/frame.js.map +1 -0
  197. package/engine/group-summary.d.ts +4 -0
  198. package/engine/group-summary.js +66 -0
  199. package/engine/group-summary.js.map +1 -0
  200. package/engine/grouping.d.ts +224 -0
  201. package/engine/grouping.js +824 -0
  202. package/engine/grouping.js.map +1 -0
  203. package/engine/item-list.d.ts +89 -0
  204. package/engine/item-list.js +703 -0
  205. package/engine/item-list.js.map +1 -0
  206. package/engine/kit-field.d.ts +72 -0
  207. package/engine/kit-field.js +523 -0
  208. package/engine/kit-field.js.map +1 -0
  209. package/engine/schema-form.d.ts +91 -0
  210. package/engine/schema-form.js +320 -0
  211. package/engine/schema-form.js.map +1 -0
  212. package/engine/slot.d.ts +13 -0
  213. package/engine/slot.js +226 -0
  214. package/engine/slot.js.map +1 -0
  215. package/index.d.ts +46 -0
  216. package/index.js +55 -0
  217. package/index.js.map +1 -0
  218. package/kit.css +56 -0
  219. package/lib/cn.d.ts +4 -0
  220. package/lib/cn.js +53 -0
  221. package/lib/cn.js.map +1 -0
  222. package/lib/columns.d.ts +14 -0
  223. package/lib/columns.js +27 -0
  224. package/lib/columns.js.map +1 -0
  225. package/lib/frames.d.ts +36 -0
  226. package/lib/frames.js +214 -0
  227. package/lib/frames.js.map +1 -0
  228. package/lib/icons.d.ts +16 -0
  229. package/lib/icons.js +172 -0
  230. package/lib/icons.js.map +1 -0
  231. package/lib/path.d.ts +29 -0
  232. package/lib/path.js +64 -0
  233. package/lib/path.js.map +1 -0
  234. package/lib/schema.d.ts +49 -0
  235. package/lib/schema.js +287 -0
  236. package/lib/schema.js.map +1 -0
  237. package/lib/utils.d.ts +7 -0
  238. package/lib/utils.js +37 -0
  239. package/lib/utils.js.map +1 -0
  240. package/lib/validate.d.ts +20 -0
  241. package/lib/validate.js +150 -0
  242. package/lib/validate.js.map +1 -0
  243. package/package.json +31 -59
  244. package/schema/adapters.d.ts +28 -0
  245. package/schema/adapters.js +493 -0
  246. package/schema/adapters.js.map +1 -0
  247. package/schema/help.d.ts +25 -0
  248. package/schema/help.js +54 -0
  249. package/schema/help.js.map +1 -0
  250. package/schema/scale.d.ts +69 -0
  251. package/schema/scale.js +250 -0
  252. package/schema/scale.js.map +1 -0
  253. package/schema/sources.d.ts +103 -0
  254. package/schema/sources.js +65 -0
  255. package/schema/sources.js.map +1 -0
  256. package/schema/table.d.ts +319 -0
  257. package/schema/table.js +1198 -0
  258. package/schema/table.js.map +1 -0
  259. package/schema/types.d.ts +269 -0
  260. package/schema/types.js +14 -0
  261. package/schema/types.js.map +1 -0
  262. package/types.d.ts +17 -0
  263. package/ui/action-tray.d.ts +54 -0
  264. package/ui/action-tray.js +153 -0
  265. package/ui/action-tray.js.map +1 -0
  266. package/ui/button.d.ts +57 -0
  267. package/ui/button.js +202 -0
  268. package/ui/button.js.map +1 -0
  269. package/ui/choice-switch.d.ts +36 -0
  270. package/ui/choice-switch.js +57 -0
  271. package/ui/choice-switch.js.map +1 -0
  272. package/ui/controls.d.ts +83 -0
  273. package/ui/controls.js +319 -0
  274. package/ui/controls.js.map +1 -0
  275. package/ui/display.d.ts +156 -0
  276. package/ui/display.js +444 -0
  277. package/ui/display.js.map +1 -0
  278. package/ui/expanded-editor-modal.d.ts +26 -0
  279. package/ui/expanded-editor-modal.js +140 -0
  280. package/ui/expanded-editor-modal.js.map +1 -0
  281. package/ui/field-context.d.ts +12 -0
  282. package/ui/field-context.js +23 -0
  283. package/ui/field-context.js.map +1 -0
  284. package/ui/floating-panel.d.ts +152 -0
  285. package/ui/floating-panel.js +912 -0
  286. package/ui/floating-panel.js.map +1 -0
  287. package/ui/index.d.ts +12 -0
  288. package/ui/index.js +13 -0
  289. package/ui/input.d.ts +78 -0
  290. package/ui/input.js +250 -0
  291. package/ui/input.js.map +1 -0
  292. package/ui/mode-bar.d.ts +31 -0
  293. package/ui/mode-bar.js +65 -0
  294. package/ui/mode-bar.js.map +1 -0
  295. package/ui/overlay.d.ts +123 -0
  296. package/ui/overlay.js +378 -0
  297. package/ui/overlay.js.map +1 -0
  298. package/ui/path-crumbs.d.ts +90 -0
  299. package/ui/path-crumbs.js +532 -0
  300. package/ui/path-crumbs.js.map +1 -0
  301. package/ui/presence.d.ts +16 -0
  302. package/ui/presence.js +65 -0
  303. package/ui/presence.js.map +1 -0
  304. package/ui/select.d.ts +66 -0
  305. package/ui/select.js +405 -0
  306. package/ui/select.js.map +1 -0
  307. package/ui/shortcut-hint.d.ts +14 -0
  308. package/ui/shortcut-hint.js +35 -0
  309. package/ui/shortcut-hint.js.map +1 -0
  310. package/ui/surfaces.d.ts +23 -0
  311. package/ui/surfaces.js +26 -0
  312. package/ui/surfaces.js.map +1 -0
  313. package/ui/tooltip-root.d.ts +12 -0
  314. package/ui/tooltip-root.js +76 -0
  315. package/ui/tooltip-root.js.map +1 -0
  316. package/ui/variants.d.ts +15 -0
  317. package/ui/variants.js +14 -0
  318. package/ui/variants.js.map +1 -0
  319. package/LICENSE +0 -21
  320. package/README.md +0 -27
  321. package/dist/_chunks-cjs/_visual-editing.js +0 -5898
  322. package/dist/_chunks-cjs/refractor.js +0 -22
  323. package/dist/_chunks-es/_visual-editing.mjs +0 -5904
  324. package/dist/_chunks-es/refractor.mjs +0 -25
  325. package/dist/_color.d.mts +0 -119
  326. package/dist/_color.d.ts +0 -119
  327. package/dist/_color.js +0 -1412
  328. package/dist/_color.mjs +0 -1411
  329. package/dist/_visual-editing.d.mts +0 -1126
  330. package/dist/_visual-editing.d.ts +0 -1126
  331. package/dist/_visual-editing.js +0 -30
  332. package/dist/_visual-editing.mjs +0 -30
  333. package/dist/index.d.mts +0 -3140
  334. package/dist/index.d.ts +0 -3140
  335. package/dist/index.js +0 -2036
  336. package/dist/index.mjs +0 -2044
  337. package/dist/theme.d.mts +0 -1506
  338. package/dist/theme.d.ts +0 -1506
  339. package/dist/theme.js +0 -4126
  340. package/dist/theme.mjs +0 -4126
  341. package/exports/_visual-editing.ts +0 -31
  342. package/exports/index.ts +0 -1
  343. package/exports/theme.ts +0 -1
  344. package/src/color/index.d.mts +0 -119
  345. package/src/color/index.mjs +0 -1411
  346. package/src/core/__workshop__/constants.ts +0 -293
  347. package/src/core/_compat.ts +0 -264
  348. package/src/core/components/autocomplete/__mocks__/apiStore.ts +0 -49
  349. package/src/core/components/autocomplete/__mocks__/countries.ts +0 -245
  350. package/src/core/components/autocomplete/__workshop__/async.tsx +0 -156
  351. package/src/core/components/autocomplete/__workshop__/constrainedHeight.tsx +0 -137
  352. package/src/core/components/autocomplete/__workshop__/custom.tsx +0 -89
  353. package/src/core/components/autocomplete/__workshop__/example.tsx +0 -79
  354. package/src/core/components/autocomplete/__workshop__/focusAndBlur.tsx +0 -36
  355. package/src/core/components/autocomplete/__workshop__/fullscreen.tsx +0 -294
  356. package/src/core/components/autocomplete/__workshop__/index.ts +0 -39
  357. package/src/core/components/autocomplete/__workshop__/types.ts +0 -4
  358. package/src/core/components/autocomplete/autocomplete.styles.tsx +0 -39
  359. package/src/core/components/autocomplete/autocomplete.tsx +0 -767
  360. package/src/core/components/autocomplete/autocompleteOption.tsx +0 -45
  361. package/src/core/components/autocomplete/autocompleteReducer.ts +0 -47
  362. package/src/core/components/autocomplete/constants.ts +0 -28
  363. package/src/core/components/autocomplete/index.ts +0 -2
  364. package/src/core/components/autocomplete/types.ts +0 -108
  365. package/src/core/components/breadcrumbs/__workshop__/example.tsx +0 -62
  366. package/src/core/components/breadcrumbs/__workshop__/index.ts +0 -14
  367. package/src/core/components/breadcrumbs/breadcrumbs.styles.ts +0 -18
  368. package/src/core/components/breadcrumbs/breadcrumbs.test.tsx +0 -51
  369. package/src/core/components/breadcrumbs/breadcrumbs.tsx +0 -133
  370. package/src/core/components/breadcrumbs/index.ts +0 -1
  371. package/src/core/components/dialog/__workshop__/activate.tsx +0 -134
  372. package/src/core/components/dialog/__workshop__/autoFocus.tsx +0 -29
  373. package/src/core/components/dialog/__workshop__/index.ts +0 -19
  374. package/src/core/components/dialog/__workshop__/layering.tsx +0 -41
  375. package/src/core/components/dialog/__workshop__/nested.tsx +0 -72
  376. package/src/core/components/dialog/__workshop__/onScroll.tsx +0 -39
  377. package/src/core/components/dialog/__workshop__/panes.tsx +0 -82
  378. package/src/core/components/dialog/__workshop__/position.tsx +0 -30
  379. package/src/core/components/dialog/__workshop__/props.tsx +0 -75
  380. package/src/core/components/dialog/__workshop__/provider.tsx +0 -11
  381. package/src/core/components/dialog/__workshop__/wrapped.tsx +0 -76
  382. package/src/core/components/dialog/dialog.tsx +0 -430
  383. package/src/core/components/dialog/dialogContext.ts +0 -20
  384. package/src/core/components/dialog/dialogProvider.tsx +0 -35
  385. package/src/core/components/dialog/index.ts +0 -4
  386. package/src/core/components/dialog/styles.ts +0 -77
  387. package/src/core/components/dialog/useDialog.ts +0 -11
  388. package/src/core/components/hotkeys/__workshop__/index.ts +0 -14
  389. package/src/core/components/hotkeys/__workshop__/plain.tsx +0 -9
  390. package/src/core/components/hotkeys/hotkeys.test.tsx +0 -42
  391. package/src/core/components/hotkeys/hotkeys.tsx +0 -66
  392. package/src/core/components/hotkeys/index.ts +0 -1
  393. package/src/core/components/index.ts +0 -9
  394. package/src/core/components/menu/__workshop__/asComponent.tsx +0 -45
  395. package/src/core/components/menu/__workshop__/avatarMenu.tsx +0 -51
  396. package/src/core/components/menu/__workshop__/closableMenuButton.tsx +0 -46
  397. package/src/core/components/menu/__workshop__/constrainedInBoundary.tsx +0 -134
  398. package/src/core/components/menu/__workshop__/customMenuItem.tsx +0 -45
  399. package/src/core/components/menu/__workshop__/customSelectedState.tsx +0 -39
  400. package/src/core/components/menu/__workshop__/disableFocusOnClose.tsx +0 -40
  401. package/src/core/components/menu/__workshop__/groups.tsx +0 -156
  402. package/src/core/components/menu/__workshop__/index.ts +0 -89
  403. package/src/core/components/menu/__workshop__/menuButton.tsx +0 -80
  404. package/src/core/components/menu/__workshop__/menuGroupRight.tsx +0 -58
  405. package/src/core/components/menu/__workshop__/nestedMenu.tsx +0 -22
  406. package/src/core/components/menu/__workshop__/onCloseMenuButton.tsx +0 -41
  407. package/src/core/components/menu/__workshop__/selectedItem.tsx +0 -69
  408. package/src/core/components/menu/__workshop__/shouldFocus.tsx +0 -47
  409. package/src/core/components/menu/__workshop__/tones.tsx +0 -25
  410. package/src/core/components/menu/__workshop__/withoutArrow.tsx +0 -32
  411. package/src/core/components/menu/helpers.ts +0 -82
  412. package/src/core/components/menu/index.ts +0 -5
  413. package/src/core/components/menu/menu.spacing.test.tsx +0 -63
  414. package/src/core/components/menu/menu.test.tsx +0 -125
  415. package/src/core/components/menu/menu.tsx +0 -178
  416. package/src/core/components/menu/menuButton.tsx +0 -268
  417. package/src/core/components/menu/menuContext.ts +0 -18
  418. package/src/core/components/menu/menuDivider.ts +0 -23
  419. package/src/core/components/menu/menuGroup.spacing.test.tsx +0 -63
  420. package/src/core/components/menu/menuGroup.tsx +0 -233
  421. package/src/core/components/menu/menuItem.spacing.test.tsx +0 -59
  422. package/src/core/components/menu/menuItem.tsx +0 -197
  423. package/src/core/components/menu/useMenu.ts +0 -21
  424. package/src/core/components/menu/useMenuController.ts +0 -231
  425. package/src/core/components/skeleton/__workshop__/delay.tsx +0 -70
  426. package/src/core/components/skeleton/__workshop__/index.ts +0 -11
  427. package/src/core/components/skeleton/__workshop__/skeleton.tsx +0 -64
  428. package/src/core/components/skeleton/index.ts +0 -2
  429. package/src/core/components/skeleton/skeleton.tsx +0 -57
  430. package/src/core/components/skeleton/styles.ts +0 -50
  431. package/src/core/components/skeleton/textSkeleton.tsx +0 -122
  432. package/src/core/components/tab/__workshop__/example.tsx +0 -79
  433. package/src/core/components/tab/__workshop__/index.ts +0 -14
  434. package/src/core/components/tab/index.ts +0 -3
  435. package/src/core/components/tab/tab.tsx +0 -101
  436. package/src/core/components/tab/tabList.test.tsx +0 -48
  437. package/src/core/components/tab/tabList.tsx +0 -70
  438. package/src/core/components/tab/tabPanel.tsx +0 -39
  439. package/src/core/components/toast/__workshop__/hook.tsx +0 -71
  440. package/src/core/components/toast/__workshop__/index.ts +0 -19
  441. package/src/core/components/toast/__workshop__/toast.tsx +0 -26
  442. package/src/core/components/toast/index.ts +0 -4
  443. package/src/core/components/toast/styles.ts +0 -77
  444. package/src/core/components/toast/toast.test.tsx +0 -101
  445. package/src/core/components/toast/toast.tsx +0 -198
  446. package/src/core/components/toast/toastContext.ts +0 -7
  447. package/src/core/components/toast/toastLayer.tsx +0 -51
  448. package/src/core/components/toast/toastProvider.tsx +0 -113
  449. package/src/core/components/toast/toastState.ts +0 -6
  450. package/src/core/components/toast/types.ts +0 -26
  451. package/src/core/components/toast/useToast.ts +0 -25
  452. package/src/core/components/tree/__workshop__/basic.perf.ts +0 -19
  453. package/src/core/components/tree/__workshop__/basic.tsx +0 -105
  454. package/src/core/components/tree/__workshop__/index.ts +0 -21
  455. package/src/core/components/tree/__workshop__/tabFromElement.tsx +0 -84
  456. package/src/core/components/tree/helpers.ts +0 -105
  457. package/src/core/components/tree/index.ts +0 -4
  458. package/src/core/components/tree/style.ts +0 -105
  459. package/src/core/components/tree/tree.test.tsx +0 -55
  460. package/src/core/components/tree/tree.tsx +0 -240
  461. package/src/core/components/tree/treeContext.ts +0 -10
  462. package/src/core/components/tree/treeGroup.tsx +0 -28
  463. package/src/core/components/tree/treeItem.test.tsx +0 -65
  464. package/src/core/components/tree/treeItem.tsx +0 -224
  465. package/src/core/components/tree/types.ts +0 -25
  466. package/src/core/components/tree/useTree.ts +0 -17
  467. package/src/core/constants.ts +0 -79
  468. package/src/core/helpers/animation.ts +0 -27
  469. package/src/core/helpers/element.ts +0 -55
  470. package/src/core/helpers/focus.ts +0 -100
  471. package/src/core/helpers/index.ts +0 -4
  472. package/src/core/helpers/scroll.ts +0 -15
  473. package/src/core/hooks/index.ts +0 -12
  474. package/src/core/hooks/useArrayProp.ts +0 -17
  475. package/src/core/hooks/useClickOutside.test.tsx +0 -482
  476. package/src/core/hooks/useClickOutside.ts +0 -118
  477. package/src/core/hooks/useClickOutsideEvent.test.tsx +0 -115
  478. package/src/core/hooks/useClickOutsideEvent.ts +0 -73
  479. package/src/core/hooks/useCustomValidity.ts +0 -13
  480. package/src/core/hooks/useDelayed.test.ts +0 -88
  481. package/src/core/hooks/useDelayedState.ts +0 -36
  482. package/src/core/hooks/useElementRect/__workshop__/example.tsx +0 -32
  483. package/src/core/hooks/useElementRect/__workshop__/index.ts +0 -14
  484. package/src/core/hooks/useElementRect/index.ts +0 -1
  485. package/src/core/hooks/useElementRect/useElementRect.ts +0 -13
  486. package/src/core/hooks/useElementSize.ts +0 -19
  487. package/src/core/hooks/useForwardedRef.ts +0 -19
  488. package/src/core/hooks/useGlobalKeyDown.ts +0 -24
  489. package/src/core/hooks/useIsomorphicEffect.ts +0 -7
  490. package/src/core/hooks/useMatchMedia.ts +0 -28
  491. package/src/core/hooks/useMediaIndex/__workshop__/index.ts +0 -14
  492. package/src/core/hooks/useMediaIndex/__workshop__/test.tsx +0 -14
  493. package/src/core/hooks/useMediaIndex/index.ts +0 -1
  494. package/src/core/hooks/useMediaIndex/useMediaIndex.test.tsx +0 -36
  495. package/src/core/hooks/useMediaIndex/useMediaIndex.ts +0 -102
  496. package/src/core/hooks/useMounted.ts +0 -15
  497. package/src/core/hooks/usePrefersDark.hydration.test.tsx +0 -56
  498. package/src/core/hooks/usePrefersDark.test.tsx +0 -19
  499. package/src/core/hooks/usePrefersDark.ts +0 -16
  500. package/src/core/hooks/usePrefersReducedMotion.hydration.test.tsx +0 -56
  501. package/src/core/hooks/usePrefersReducedMotion.test.tsx +0 -19
  502. package/src/core/hooks/usePrefersReducedMotion.ts +0 -16
  503. package/src/core/index.ts +0 -10
  504. package/src/core/lib/createGlobalScopedContext.ts +0 -36
  505. package/src/core/lib/globalScope.ts +0 -19
  506. package/src/core/lib/isRecord.ts +0 -3
  507. package/src/core/middleware/origin.ts +0 -47
  508. package/src/core/observers/elementSizeObserver.ts +0 -116
  509. package/src/core/observers/index.ts +0 -2
  510. package/src/core/observers/resizeObserver.ts +0 -9
  511. package/src/core/primitives/_selectable/index.ts +0 -1
  512. package/src/core/primitives/_selectable/selectable.tsx +0 -15
  513. package/src/core/primitives/_selectable/style.ts +0 -115
  514. package/src/core/primitives/avatar/__workshop__/asButton.tsx +0 -14
  515. package/src/core/primitives/avatar/__workshop__/index.ts +0 -29
  516. package/src/core/primitives/avatar/__workshop__/stack.tsx +0 -25
  517. package/src/core/primitives/avatar/__workshop__/withinButton.tsx +0 -63
  518. package/src/core/primitives/avatar/__workshop__/withinMenuItem.tsx +0 -70
  519. package/src/core/primitives/avatar/avatar.tsx +0 -200
  520. package/src/core/primitives/avatar/avatarCounter.tsx +0 -91
  521. package/src/core/primitives/avatar/avatarStack.tsx +0 -100
  522. package/src/core/primitives/avatar/index.ts +0 -4
  523. package/src/core/primitives/avatar/styles.ts +0 -167
  524. package/src/core/primitives/avatar/types.ts +0 -17
  525. package/src/core/primitives/badge/__workshop__/index.ts +0 -19
  526. package/src/core/primitives/badge/__workshop__/props.tsx +0 -30
  527. package/src/core/primitives/badge/__workshop__/tones.tsx +0 -21
  528. package/src/core/primitives/badge/badge.test.tsx +0 -16
  529. package/src/core/primitives/badge/badge.tsx +0 -70
  530. package/src/core/primitives/badge/index.ts +0 -1
  531. package/src/core/primitives/badge/styles.ts +0 -20
  532. package/src/core/primitives/badge/types.ts +0 -8
  533. package/src/core/primitives/box/__workshop__/asComponent.tsx +0 -31
  534. package/src/core/primitives/box/__workshop__/index.ts +0 -24
  535. package/src/core/primitives/box/__workshop__/props.tsx +0 -20
  536. package/src/core/primitives/box/__workshop__/responsive.tsx +0 -20
  537. package/src/core/primitives/box/box.test.tsx +0 -142
  538. package/src/core/primitives/box/box.tsx +0 -154
  539. package/src/core/primitives/box/index.ts +0 -1
  540. package/src/core/primitives/button/__workshop__/custom.tsx +0 -51
  541. package/src/core/primitives/button/__workshop__/customIcons.tsx +0 -30
  542. package/src/core/primitives/button/__workshop__/disabled.tsx +0 -74
  543. package/src/core/primitives/button/__workshop__/index.ts +0 -59
  544. package/src/core/primitives/button/__workshop__/labelUploadButton.tsx +0 -36
  545. package/src/core/primitives/button/__workshop__/mixedChildren.tsx +0 -12
  546. package/src/core/primitives/button/__workshop__/props.tsx +0 -55
  547. package/src/core/primitives/button/__workshop__/stacked.tsx +0 -58
  548. package/src/core/primitives/button/__workshop__/styled1.tsx +0 -17
  549. package/src/core/primitives/button/__workshop__/styled2.tsx +0 -19
  550. package/src/core/primitives/button/__workshop__/uploadButton.tsx +0 -28
  551. package/src/core/primitives/button/button.test.tsx +0 -82
  552. package/src/core/primitives/button/button.tsx +0 -210
  553. package/src/core/primitives/button/index.ts +0 -1
  554. package/src/core/primitives/button/styles.ts +0 -117
  555. package/src/core/primitives/card/__workshop__/allTones.tsx +0 -25
  556. package/src/core/primitives/card/__workshop__/asButton.tsx +0 -107
  557. package/src/core/primitives/card/__workshop__/asComponent.tsx +0 -27
  558. package/src/core/primitives/card/__workshop__/checkered.tsx +0 -26
  559. package/src/core/primitives/card/__workshop__/index.ts +0 -18
  560. package/src/core/primitives/card/__workshop__/interactive.tsx +0 -30
  561. package/src/core/primitives/card/__workshop__/listNavigation.tsx +0 -80
  562. package/src/core/primitives/card/__workshop__/props.tsx +0 -53
  563. package/src/core/primitives/card/__workshop__/selected.tsx +0 -94
  564. package/src/core/primitives/card/__workshop__/styled.tsx +0 -14
  565. package/src/core/primitives/card/card.tsx +0 -128
  566. package/src/core/primitives/card/index.ts +0 -2
  567. package/src/core/primitives/card/styles.ts +0 -147
  568. package/src/core/primitives/card/types.ts +0 -11
  569. package/src/core/primitives/checkbox/__workshop__/example.tsx +0 -25
  570. package/src/core/primitives/checkbox/__workshop__/index.ts +0 -13
  571. package/src/core/primitives/checkbox/__workshop__/props.tsx +0 -33
  572. package/src/core/primitives/checkbox/__workshop__/readOnly.tsx +0 -16
  573. package/src/core/primitives/checkbox/__workshop__/tones.tsx +0 -28
  574. package/src/core/primitives/checkbox/checkbox.tsx +0 -73
  575. package/src/core/primitives/checkbox/index.ts +0 -1
  576. package/src/core/primitives/checkbox/styles.ts +0 -128
  577. package/src/core/primitives/code/__workshop__/index.ts +0 -19
  578. package/src/core/primitives/code/__workshop__/opticalAlignment.tsx +0 -48
  579. package/src/core/primitives/code/__workshop__/props.tsx +0 -21
  580. package/src/core/primitives/code/code.tsx +0 -55
  581. package/src/core/primitives/code/index.ts +0 -1
  582. package/src/core/primitives/code/refractor.tsx +0 -20
  583. package/src/core/primitives/code/styles.ts +0 -77
  584. package/src/core/primitives/container/__workshop__/example.tsx +0 -20
  585. package/src/core/primitives/container/__workshop__/index.ts +0 -8
  586. package/src/core/primitives/container/container.tsx +0 -54
  587. package/src/core/primitives/container/index.ts +0 -2
  588. package/src/core/primitives/container/styles.ts +0 -23
  589. package/src/core/primitives/container/types.ts +0 -6
  590. package/src/core/primitives/flex/__workshop__/example.tsx +0 -34
  591. package/src/core/primitives/flex/__workshop__/gap.tsx +0 -25
  592. package/src/core/primitives/flex/__workshop__/index.ts +0 -11
  593. package/src/core/primitives/flex/flex.tsx +0 -64
  594. package/src/core/primitives/flex/index.ts +0 -1
  595. package/src/core/primitives/grid/__workshop__/index.ts +0 -10
  596. package/src/core/primitives/grid/__workshop__/responsive.tsx +0 -54
  597. package/src/core/primitives/grid/grid.test.tsx +0 -80
  598. package/src/core/primitives/grid/grid.tsx +0 -74
  599. package/src/core/primitives/grid/index.ts +0 -1
  600. package/src/core/primitives/heading/__workshop__/index.ts +0 -19
  601. package/src/core/primitives/heading/__workshop__/opticalAlignment.tsx +0 -54
  602. package/src/core/primitives/heading/__workshop__/plain.tsx +0 -32
  603. package/src/core/primitives/heading/heading.tsx +0 -88
  604. package/src/core/primitives/heading/index.ts +0 -1
  605. package/src/core/primitives/heading/styles.ts +0 -64
  606. package/src/core/primitives/heading/types.ts +0 -7
  607. package/src/core/primitives/index.ts +0 -27
  608. package/src/core/primitives/inline/__workshop__/index.ts +0 -8
  609. package/src/core/primitives/inline/__workshop__/plain.tsx +0 -27
  610. package/src/core/primitives/inline/index.ts +0 -1
  611. package/src/core/primitives/inline/inline.test.tsx +0 -51
  612. package/src/core/primitives/inline/inline.tsx +0 -63
  613. package/src/core/primitives/inline/styles.ts +0 -32
  614. package/src/core/primitives/inline/types.ts +0 -6
  615. package/src/core/primitives/kbd/__workshop__/index.ts +0 -8
  616. package/src/core/primitives/kbd/__workshop__/plain.tsx +0 -9
  617. package/src/core/primitives/kbd/index.ts +0 -1
  618. package/src/core/primitives/kbd/kbd.tsx +0 -69
  619. package/src/core/primitives/label/__workshop__/index.ts +0 -19
  620. package/src/core/primitives/label/__workshop__/opticalAlignment.tsx +0 -48
  621. package/src/core/primitives/label/__workshop__/plain.tsx +0 -24
  622. package/src/core/primitives/label/index.ts +0 -1
  623. package/src/core/primitives/label/label.tsx +0 -87
  624. package/src/core/primitives/label/styles.ts +0 -45
  625. package/src/core/primitives/popover/__workshop__/AlignedStory.tsx +0 -77
  626. package/src/core/primitives/popover/__workshop__/MarginsStory.tsx +0 -31
  627. package/src/core/primitives/popover/__workshop__/MatchReferenceWidthStory.tsx +0 -32
  628. package/src/core/primitives/popover/__workshop__/OpenOnMountStory.tsx +0 -11
  629. package/src/core/primitives/popover/__workshop__/PlainStory.tsx +0 -71
  630. package/src/core/primitives/popover/__workshop__/RecursiveStory.tsx +0 -71
  631. package/src/core/primitives/popover/__workshop__/SidePanelStory.tsx +0 -89
  632. package/src/core/primitives/popover/__workshop__/TestStory.tsx +0 -97
  633. package/src/core/primitives/popover/__workshop__/index.ts +0 -49
  634. package/src/core/primitives/popover/constants.ts +0 -22
  635. package/src/core/primitives/popover/floating-ui/size.ts +0 -99
  636. package/src/core/primitives/popover/helpers.ts +0 -31
  637. package/src/core/primitives/popover/index.ts +0 -2
  638. package/src/core/primitives/popover/popover.tsx +0 -511
  639. package/src/core/primitives/popover/popoverCard.tsx +0 -166
  640. package/src/core/primitives/popover/types.ts +0 -7
  641. package/src/core/primitives/radio/__workshop__/example.tsx +0 -63
  642. package/src/core/primitives/radio/__workshop__/index.ts +0 -11
  643. package/src/core/primitives/radio/__workshop__/plain.tsx +0 -28
  644. package/src/core/primitives/radio/index.ts +0 -1
  645. package/src/core/primitives/radio/radio.tsx +0 -51
  646. package/src/core/primitives/radio/styles.ts +0 -117
  647. package/src/core/primitives/select/__workshop__/index.ts +0 -11
  648. package/src/core/primitives/select/__workshop__/plain.tsx +0 -27
  649. package/src/core/primitives/select/__workshop__/readOnly.tsx +0 -23
  650. package/src/core/primitives/select/index.ts +0 -1
  651. package/src/core/primitives/select/select.test.tsx +0 -52
  652. package/src/core/primitives/select/select.tsx +0 -94
  653. package/src/core/primitives/select/styles.ts +0 -166
  654. package/src/core/primitives/spinner/__workshop__/Props.tsx +0 -15
  655. package/src/core/primitives/spinner/__workshop__/index.ts +0 -14
  656. package/src/core/primitives/spinner/index.ts +0 -1
  657. package/src/core/primitives/spinner/spinner.tsx +0 -46
  658. package/src/core/primitives/stack/__workshop__/index.ts +0 -14
  659. package/src/core/primitives/stack/__workshop__/plain.tsx +0 -32
  660. package/src/core/primitives/stack/index.ts +0 -1
  661. package/src/core/primitives/stack/stack.test.tsx +0 -57
  662. package/src/core/primitives/stack/stack.tsx +0 -57
  663. package/src/core/primitives/stack/styles.ts +0 -32
  664. package/src/core/primitives/switch/__workshop__/example.tsx +0 -23
  665. package/src/core/primitives/switch/__workshop__/index.ts +0 -11
  666. package/src/core/primitives/switch/__workshop__/props.tsx +0 -21
  667. package/src/core/primitives/switch/index.ts +0 -1
  668. package/src/core/primitives/switch/styles.ts +0 -173
  669. package/src/core/primitives/switch/switch.tsx +0 -68
  670. package/src/core/primitives/text/__workshop__/colored.tsx +0 -30
  671. package/src/core/primitives/text/__workshop__/example.tsx +0 -39
  672. package/src/core/primitives/text/__workshop__/index.ts +0 -24
  673. package/src/core/primitives/text/__workshop__/opticalAlignment.tsx +0 -48
  674. package/src/core/primitives/text/index.ts +0 -1
  675. package/src/core/primitives/text/styles.ts +0 -74
  676. package/src/core/primitives/text/text.tsx +0 -89
  677. package/src/core/primitives/textArea/__workshop__/index.ts +0 -14
  678. package/src/core/primitives/textArea/__workshop__/plain.tsx +0 -50
  679. package/src/core/primitives/textArea/index.ts +0 -1
  680. package/src/core/primitives/textArea/textArea.tsx +0 -120
  681. package/src/core/primitives/textInput/__workshop__/clearButton.tsx +0 -30
  682. package/src/core/primitives/textInput/__workshop__/customValidity.tsx +0 -17
  683. package/src/core/primitives/textInput/__workshop__/index.ts +0 -44
  684. package/src/core/primitives/textInput/__workshop__/plain.tsx +0 -98
  685. package/src/core/primitives/textInput/__workshop__/readOnly.tsx +0 -9
  686. package/src/core/primitives/textInput/__workshop__/states.tsx +0 -53
  687. package/src/core/primitives/textInput/__workshop__/tones.tsx +0 -277
  688. package/src/core/primitives/textInput/__workshop__/typed.tsx +0 -23
  689. package/src/core/primitives/textInput/index.ts +0 -1
  690. package/src/core/primitives/textInput/textInput.test.tsx +0 -48
  691. package/src/core/primitives/textInput/textInput.tsx +0 -395
  692. package/src/core/primitives/tooltip/__workshop__/customPortal.tsx +0 -102
  693. package/src/core/primitives/tooltip/__workshop__/index.ts +0 -29
  694. package/src/core/primitives/tooltip/__workshop__/overflowingBoundary.tsx +0 -74
  695. package/src/core/primitives/tooltip/__workshop__/props.tsx +0 -107
  696. package/src/core/primitives/tooltip/__workshop__/resizableBoundary.tsx +0 -86
  697. package/src/core/primitives/tooltip/constants.ts +0 -23
  698. package/src/core/primitives/tooltip/index.ts +0 -2
  699. package/src/core/primitives/tooltip/tooltip.test.tsx +0 -452
  700. package/src/core/primitives/tooltip/tooltip.tsx +0 -495
  701. package/src/core/primitives/tooltip/tooltipCard.tsx +0 -109
  702. package/src/core/primitives/tooltip/tooltipDelayGroup/index.ts +0 -4
  703. package/src/core/primitives/tooltip/tooltipDelayGroup/tooltipDelayGroupContext.tsx +0 -11
  704. package/src/core/primitives/tooltip/tooltipDelayGroup/tooltipDelayGroupProvider.tsx +0 -57
  705. package/src/core/primitives/tooltip/tooltipDelayGroup/types.ts +0 -10
  706. package/src/core/primitives/tooltip/tooltipDelayGroup/useTooltipDelayGroup.ts +0 -13
  707. package/src/core/primitives/types.ts +0 -179
  708. package/src/core/styles/border/borderStyle.ts +0 -56
  709. package/src/core/styles/border/index.ts +0 -2
  710. package/src/core/styles/border/types.ts +0 -10
  711. package/src/core/styles/box/boxStyle.ts +0 -69
  712. package/src/core/styles/box/index.ts +0 -2
  713. package/src/core/styles/box/types.ts +0 -11
  714. package/src/core/styles/card/_cardColorStyle.ts +0 -108
  715. package/src/core/styles/card/index.ts +0 -1
  716. package/src/core/styles/flex/flexItemStyle.ts +0 -27
  717. package/src/core/styles/flex/flexStyle.ts +0 -70
  718. package/src/core/styles/flex/index.ts +0 -3
  719. package/src/core/styles/flex/types.ts +0 -25
  720. package/src/core/styles/focusRing/index.ts +0 -25
  721. package/src/core/styles/font/codeFontStyle.ts +0 -13
  722. package/src/core/styles/font/headingFontStyle.ts +0 -13
  723. package/src/core/styles/font/index.ts +0 -6
  724. package/src/core/styles/font/labelFontStyle.ts +0 -13
  725. package/src/core/styles/font/responsiveFont.ts +0 -103
  726. package/src/core/styles/font/textAlignStyle.ts +0 -19
  727. package/src/core/styles/font/textFontStyle.ts +0 -13
  728. package/src/core/styles/font/types.ts +0 -35
  729. package/src/core/styles/grid/gridItemStyle.ts +0 -82
  730. package/src/core/styles/grid/gridStyle.ts +0 -108
  731. package/src/core/styles/grid/index.ts +0 -3
  732. package/src/core/styles/grid/types.ts +0 -37
  733. package/src/core/styles/helpers.ts +0 -72
  734. package/src/core/styles/index.ts +0 -5
  735. package/src/core/styles/input/index.ts +0 -2
  736. package/src/core/styles/input/responsiveInputPaddingStyle.ts +0 -78
  737. package/src/core/styles/input/textInputStyle.ts +0 -263
  738. package/src/core/styles/internal.ts +0 -12
  739. package/src/core/styles/margin/index.ts +0 -2
  740. package/src/core/styles/margin/marginStyle.ts +0 -21
  741. package/src/core/styles/margin/marginsStyle.test.ts +0 -33
  742. package/src/core/styles/margin/types.ts +0 -9
  743. package/src/core/styles/padding/index.ts +0 -2
  744. package/src/core/styles/padding/paddingStyle.test.ts +0 -33
  745. package/src/core/styles/padding/paddingStyle.ts +0 -21
  746. package/src/core/styles/padding/types.ts +0 -12
  747. package/src/core/styles/radius/index.ts +0 -2
  748. package/src/core/styles/radius/radiusStyle.ts +0 -23
  749. package/src/core/styles/radius/types.ts +0 -8
  750. package/src/core/styles/shadow/index.ts +0 -2
  751. package/src/core/styles/shadow/shadowStyle.ts +0 -29
  752. package/src/core/styles/shadow/types.ts +0 -6
  753. package/src/core/styles/types.ts +0 -8
  754. package/src/core/theme/__workshop__/build/Root.tsx +0 -367
  755. package/src/core/theme/__workshop__/build/helpers.ts +0 -46
  756. package/src/core/theme/__workshop__/build/story.tsx +0 -465
  757. package/src/core/theme/__workshop__/canvas.tsx +0 -352
  758. package/src/core/theme/__workshop__/color.tsx +0 -62
  759. package/src/core/theme/__workshop__/debug/story.tsx +0 -408
  760. package/src/core/theme/__workshop__/index.ts +0 -39
  761. package/src/core/theme/__workshop__/layer.tsx +0 -78
  762. package/src/core/theme/__workshop__/nestedProvider.tsx +0 -15
  763. package/src/core/theme/index.ts +0 -5
  764. package/src/core/theme/theme.test.tsx +0 -73
  765. package/src/core/theme/themeColorProvider.tsx +0 -29
  766. package/src/core/theme/themeContext.ts +0 -10
  767. package/src/core/theme/themeProvider.tsx +0 -62
  768. package/src/core/theme/types.ts +0 -12
  769. package/src/core/theme/useRootTheme.ts +0 -17
  770. package/src/core/theme/useTheme.ts +0 -16
  771. package/src/core/types/avatar.ts +0 -14
  772. package/src/core/types/badge.ts +0 -12
  773. package/src/core/types/box.ts +0 -19
  774. package/src/core/types/button.ts +0 -21
  775. package/src/core/types/card.ts +0 -6
  776. package/src/core/types/component.ts +0 -32
  777. package/src/core/types/dialog.ts +0 -4
  778. package/src/core/types/flex.ts +0 -30
  779. package/src/core/types/grid.ts +0 -14
  780. package/src/core/types/gridItem.ts +0 -29
  781. package/src/core/types/index.ts +0 -15
  782. package/src/core/types/placement.ts +0 -18
  783. package/src/core/types/popover.ts +0 -4
  784. package/src/core/types/radius.ts +0 -4
  785. package/src/core/types/selectable.ts +0 -6
  786. package/src/core/types/text.ts +0 -4
  787. package/src/core/utils/arrow/arrow.tsx +0 -123
  788. package/src/core/utils/arrow/cmds.ts +0 -91
  789. package/src/core/utils/arrow/index.ts +0 -1
  790. package/src/core/utils/boundaryElement/__workshop__/index.ts +0 -14
  791. package/src/core/utils/boundaryElement/__workshop__/plain.tsx +0 -19
  792. package/src/core/utils/boundaryElement/boundaryElement.test.tsx +0 -100
  793. package/src/core/utils/boundaryElement/boundaryElementContext.ts +0 -7
  794. package/src/core/utils/boundaryElement/boundaryElementProvider.tsx +0 -24
  795. package/src/core/utils/boundaryElement/index.ts +0 -3
  796. package/src/core/utils/boundaryElement/types.ts +0 -7
  797. package/src/core/utils/boundaryElement/useBoundaryElement.ts +0 -26
  798. package/src/core/utils/conditionalWrapper/conditionalWrapper.tsx +0 -21
  799. package/src/core/utils/conditionalWrapper/index.ts +0 -1
  800. package/src/core/utils/elementQuery/__workshop__/customMedia.tsx +0 -30
  801. package/src/core/utils/elementQuery/__workshop__/index.ts +0 -14
  802. package/src/core/utils/elementQuery/elementQuery.tsx +0 -53
  803. package/src/core/utils/elementQuery/helpers.ts +0 -27
  804. package/src/core/utils/elementQuery/index.ts +0 -1
  805. package/src/core/utils/errorBoundary.tsx +0 -48
  806. package/src/core/utils/getElementRef.ts +0 -26
  807. package/src/core/utils/index.ts +0 -9
  808. package/src/core/utils/layer/__workshop__/_debug.tsx +0 -17
  809. package/src/core/utils/layer/__workshop__/index.ts +0 -24
  810. package/src/core/utils/layer/__workshop__/multipleRoots.tsx +0 -49
  811. package/src/core/utils/layer/__workshop__/nested.tsx +0 -98
  812. package/src/core/utils/layer/__workshop__/responsiveZOffset.tsx +0 -13
  813. package/src/core/utils/layer/getLayerContext.test.ts +0 -30
  814. package/src/core/utils/layer/getLayerContext.ts +0 -21
  815. package/src/core/utils/layer/index.ts +0 -4
  816. package/src/core/utils/layer/layer.test.tsx +0 -108
  817. package/src/core/utils/layer/layer.tsx +0 -98
  818. package/src/core/utils/layer/layerContext.ts +0 -7
  819. package/src/core/utils/layer/layerProvider.tsx +0 -111
  820. package/src/core/utils/layer/types.ts +0 -9
  821. package/src/core/utils/layer/useLayer.ts +0 -26
  822. package/src/core/utils/portal/__workshop__/index.ts +0 -14
  823. package/src/core/utils/portal/__workshop__/named.tsx +0 -63
  824. package/src/core/utils/portal/index.ts +0 -4
  825. package/src/core/utils/portal/portal.test.tsx +0 -103
  826. package/src/core/utils/portal/portal.ts +0 -32
  827. package/src/core/utils/portal/portalContext.ts +0 -31
  828. package/src/core/utils/portal/portalProvider.tsx +0 -47
  829. package/src/core/utils/portal/types.ts +0 -9
  830. package/src/core/utils/portal/usePortal.ts +0 -25
  831. package/src/core/utils/spanWithTextOverflow.tsx +0 -10
  832. package/src/core/utils/srOnly/index.ts +0 -1
  833. package/src/core/utils/srOnly/srOnly.tsx +0 -36
  834. package/src/core/utils/virtualList/__workshop__/changingProps.tsx +0 -36
  835. package/src/core/utils/virtualList/__workshop__/elementScroll.tsx +0 -24
  836. package/src/core/utils/virtualList/__workshop__/index.ts +0 -29
  837. package/src/core/utils/virtualList/__workshop__/infiniteList.tsx +0 -48
  838. package/src/core/utils/virtualList/__workshop__/windowScrolll.tsx +0 -22
  839. package/src/core/utils/virtualList/index.ts +0 -1
  840. package/src/core/utils/virtualList/virtualList.tsx +0 -200
  841. package/src/theme/build/_deprecated/color/_selectable/createSelectableTones.ts +0 -76
  842. package/src/theme/build/_deprecated/color/_solid/createSolidTones.ts +0 -54
  843. package/src/theme/build/_deprecated/color/button/createButtonModes.ts +0 -22
  844. package/src/theme/build/_deprecated/color/button/createButtonTones.ts +0 -55
  845. package/src/theme/build/_deprecated/color/card/createCardStates.ts +0 -60
  846. package/src/theme/build/_deprecated/color/color.test.ts +0 -63
  847. package/src/theme/build/_deprecated/color/defaults.ts +0 -390
  848. package/src/theme/build/_deprecated/color/factory.ts +0 -142
  849. package/src/theme/build/_deprecated/color/index.ts +0 -1
  850. package/src/theme/build/_deprecated/color/input/createInputModes.ts +0 -81
  851. package/src/theme/build/_deprecated/color/muted/createMuted.ts +0 -54
  852. package/src/theme/build/_deprecated/color/spot/createSpot.ts +0 -20
  853. package/src/theme/build/buildColorTheme.test.ts +0 -183
  854. package/src/theme/build/buildColorTheme.ts +0 -499
  855. package/src/theme/build/buildTheme.test.ts +0 -87
  856. package/src/theme/build/buildTheme.ts +0 -36
  857. package/src/theme/build/colorToken/colorToken.ts +0 -19
  858. package/src/theme/build/colorToken/compileColorToken.ts +0 -21
  859. package/src/theme/build/colorToken/index.ts +0 -2
  860. package/src/theme/build/colorToken/types.ts +0 -6
  861. package/src/theme/build/index.ts +0 -3
  862. package/src/theme/build/lib/color-fns/blend/index.ts +0 -3
  863. package/src/theme/build/lib/color-fns/blend/mix.ts +0 -21
  864. package/src/theme/build/lib/color-fns/blend/multiply.ts +0 -18
  865. package/src/theme/build/lib/color-fns/blend/screen.ts +0 -18
  866. package/src/theme/build/lib/color-fns/color-fns.test.ts +0 -68
  867. package/src/theme/build/lib/color-fns/contrastRatio.ts +0 -31
  868. package/src/theme/build/lib/color-fns/convert.ts +0 -150
  869. package/src/theme/build/lib/color-fns/index.ts +0 -6
  870. package/src/theme/build/lib/color-fns/parse.ts +0 -60
  871. package/src/theme/build/lib/color-fns/rgba.ts +0 -10
  872. package/src/theme/build/lib/color-fns/types.ts +0 -28
  873. package/src/theme/build/lib/isRecord.ts +0 -3
  874. package/src/theme/build/lib/lazy.ts +0 -30
  875. package/src/theme/build/lib/utils.ts +0 -19
  876. package/src/theme/build/merge.ts +0 -26
  877. package/src/theme/build/mixThemeColor.test.ts +0 -21
  878. package/src/theme/build/mixThemeColor.ts +0 -53
  879. package/src/theme/build/renderColorTheme.ts +0 -532
  880. package/src/theme/build/renderColorValue.ts +0 -85
  881. package/src/theme/build/resolveColorTokens.ts +0 -268
  882. package/src/theme/build/theme.test.ts +0 -27
  883. package/src/theme/config/helpers.ts +0 -55
  884. package/src/theme/config/index.ts +0 -4
  885. package/src/theme/config/system.ts +0 -115
  886. package/src/theme/config/tokens/color/index.ts +0 -1
  887. package/src/theme/config/tokens/color/types.ts +0 -133
  888. package/src/theme/config/tokens/index.ts +0 -4
  889. package/src/theme/config/tokens/parseTokenKey.test.ts +0 -64
  890. package/src/theme/config/tokens/parseTokenKey.ts +0 -67
  891. package/src/theme/config/tokens/parseTokenValue.test.ts +0 -42
  892. package/src/theme/config/tokens/parseTokenValue.ts +0 -133
  893. package/src/theme/config/tokens/types.ts +0 -53
  894. package/src/theme/config/types.ts +0 -46
  895. package/src/theme/defaults/colorPalette.ts +0 -5
  896. package/src/theme/defaults/colorTokens.ts +0 -648
  897. package/src/theme/defaults/config.ts +0 -84
  898. package/src/theme/defaults/fonts.ts +0 -227
  899. package/src/theme/getScopedTheme.ts +0 -98
  900. package/src/theme/index.ts +0 -5
  901. package/src/theme/system/avatar.ts +0 -14
  902. package/src/theme/system/color/_constants.ts +0 -45
  903. package/src/theme/system/color/_helpers.ts +0 -24
  904. package/src/theme/system/color/_system.ts +0 -40
  905. package/src/theme/system/color/avatar.ts +0 -15
  906. package/src/theme/system/color/badge.ts +0 -16
  907. package/src/theme/system/color/button.ts +0 -17
  908. package/src/theme/system/color/color.ts +0 -34
  909. package/src/theme/system/color/index.ts +0 -13
  910. package/src/theme/system/color/input.ts +0 -25
  911. package/src/theme/system/color/kbd.ts +0 -8
  912. package/src/theme/system/color/selectable.ts +0 -12
  913. package/src/theme/system/color/shadow.ts +0 -7
  914. package/src/theme/system/color/state.ts +0 -43
  915. package/src/theme/system/color/syntax.ts +0 -41
  916. package/src/theme/system/css.ts +0 -14
  917. package/src/theme/system/focusRing.ts +0 -7
  918. package/src/theme/system/font.ts +0 -52
  919. package/src/theme/system/index.ts +0 -11
  920. package/src/theme/system/input.ts +0 -33
  921. package/src/theme/system/layer.ts +0 -8
  922. package/src/theme/system/shadow.ts +0 -19
  923. package/src/theme/system/styles.ts +0 -13
  924. package/src/theme/system/theme.ts +0 -138
  925. package/src/theme/system/v0/avatar.ts +0 -10
  926. package/src/theme/system/v0/color/_generic.ts +0 -35
  927. package/src/theme/system/v0/color/_system.ts +0 -17
  928. package/src/theme/system/v0/color/base.ts +0 -21
  929. package/src/theme/system/v0/color/button.ts +0 -42
  930. package/src/theme/system/v0/color/card.ts +0 -19
  931. package/src/theme/system/v0/color/color.ts +0 -40
  932. package/src/theme/system/v0/color/index.ts +0 -11
  933. package/src/theme/system/v0/color/input.ts +0 -34
  934. package/src/theme/system/v0/color/muted.ts +0 -26
  935. package/src/theme/system/v0/color/selectable.ts +0 -31
  936. package/src/theme/system/v0/color/solid.ts +0 -26
  937. package/src/theme/system/v0/color/spot.ts +0 -13
  938. package/src/theme/system/v0/index.ts +0 -3
  939. package/src/theme/system/v0/input.ts +0 -23
  940. package/src/theme/versioning/getTheme_v2.ts +0 -57
  941. package/src/theme/versioning/index.ts +0 -5
  942. package/src/theme/versioning/is_v0.ts +0 -6
  943. package/src/theme/versioning/is_v2.ts +0 -6
  944. package/src/theme/versioning/themeColor_v0_v2.ts +0 -243
  945. package/src/theme/versioning/themeColor_v2_v2_9.ts +0 -49
  946. package/src/theme/versioning/v0_v2.ts +0 -94
  947. package/src/theme/versioning/v2_v0.ts +0 -135
@@ -0,0 +1 @@
1
+ {"version":3,"file":"item-list.js","names":[],"sources":["../../src/kit/engine/item-list.tsx"],"sourcesContent":["/**\n * ITEM LIST — arrays of one line each (CPO D47): feature lists, bullets, \"what's included\", key points\n * (V2 HEAD 9829bf1 kit/engine/item-list.tsx).\n * Each item is a row you type into directly: grip · auto-growing input (founder rule: the whole text shows) · ⋯.\n * No drill frame, no expand. Keyboard: Enter adds the next item, Backspace on an empty row removes it, a multi-line\n * paste becomes several items, ⌥↑ / ⌥↓ move the row, ↑ / ↓ at the edges of the text step between rows. None of these\n * keys are printed on screen (D44); they live in aria labels and the ⋯ menu.\n *\n * Works for arrays of primitives (string / text / url / email / number) AND arrays of one-field objects\n * (`[{ _key, text }]`), which read and write that one field and keep their `_key`.\n *\n * Kit deviation: V2 sorts with @dnd-kit, which is not on the kit's package allow-list. `useDragReorder` below is the\n * kit's sortable: pointer drag on the grip (4px activation, siblings slide out of the way like dnd-kit's vertical\n * strategy), and dnd-kit's KeyboardSensor + sortableKeyboardCoordinates on a focused grip: Space / Enter picks the row\n * up, the arrow keys move it (siblings slide, nothing is written yet), Space / Enter / Tab drops it as ONE reorder\n * (one undo step), Escape puts it back. `sort.a11y` is dnd-kit's accessibility markup (hidden instructions + a visually\n * hidden `role=\"status\"` live region), rendered where V2's DndContext rendered it: right after the sortable children.\n */\nimport * as React from \"react\";\nimport { useReducedMotion } from \"framer-motion\";\nimport { IconArrowDown, IconArrowUp, IconCopy, IconDots, IconGripVertical, IconPlus, IconTrash } from \"@tabler/icons-react\";\nimport { Button } from \"../ui/button\";\nimport { Textarea } from \"../ui/input\";\nimport { Menu, MenuContent, MenuItem, MenuSeparator, MenuTrigger } from \"../ui/overlay\";\nimport { cn } from \"../lib/cn\";\nimport type { FieldPath, FieldSchema } from \"../schema/types\";\nimport { useForm, useKitServices } from \"../context\";\nimport { newKey, pathKey } from \"../lib/path\";\nimport { itemNoun } from \"../lib/schema\";\n\nexport type ItemKind = \"text\" | \"number\" | \"url\" | \"email\";\n\nexport interface ItemListAdapter {\n kind: ItemKind;\n /** the text shown in the row */\n read: (item: unknown) => string;\n /** a new list item holding `value` (objects keep `prev`'s other keys and `_key`) */\n write: (value: unknown, prev?: unknown) => unknown;\n /** the stable key of an item, when it carries one (`_key` on objects) */\n keyOf?: (item: unknown) => string | undefined;\n /** the path of the editable value inside item `i` (canvas anchoring, issues) */\n valuePath: (i: number) => FieldPath;\n placeholder?: string;\n}\n\n/** V2 controls/text TEXT_FOCUS: a list row's input shows the field focus border only, no ring shadow. */\nconst TEXT_FOCUS = \"focus:shadow-none focus-visible:shadow-none\";\nconst EASE = \"cubic-bezier(0.22, 1, 0.36, 1)\";\n\n\nconst cap = (s: string) => s.charAt(0).toUpperCase() + s.slice(1);\n/** \"- Net-30\", \"• Net-30\", \"1. Net-30\", \"[x] Net-30\" → \"Net-30\" */\nconst stripBullet = (s: string) => s.replace(/^\\s*(?:[-*•‣◦▪–—]|\\d+[.)]|\\[[ xX]\\])\\s+/, \"\").trim();\nconst move = <T,>(list: T[], from: number, to: number): T[] => {\n const next = list.slice();\n const [it] = next.splice(from, 1);\n next.splice(to, 0, it);\n return next;\n};\n/** dnd-kit's arrayMove, for callers that reorder lists. */\nexport const arrayMove = move;\n\nfunction toValue(kind: ItemKind, text: string): unknown {\n if (kind === \"number\") {\n const t = text.trim();\n if (!t) return null;\n const n = Number(t.replace(/,/g, \"\"));\n return Number.isFinite(n) ? n : undefined;\n }\n return kind === \"url\" || kind === \"email\" ? text.trim() : text;\n}\n\n/* ── Sortable (the kit's stand-in for @dnd-kit) ─────────────────────── */\ninterface DragState {\n id: string;\n from: number;\n over: number;\n dx: number;\n dy: number;\n /** how far a sibling slides to make room (dragged height + the list gap) */\n shift: number;\n /** item rects at pick-up (grid tiles slide into their neighbour's rect) */\n rects: (DOMRect | undefined)[];\n /** picked up from the keyboard: the row glides between slots instead of following a pointer */\n keyboard?: boolean;\n}\n\n/** Tiles on the first row of a grid at pick-up (↑ / ↓ jump by this many, like sortableKeyboardCoordinates). */\nconst columns = (rects: (DOMRect | undefined)[]) => {\n const top = rects[0]?.top;\n return top == null ? 1 : Math.max(1, rects.filter((r) => r?.top === top).length);\n};\n\n/**\n * Sortable rows by id. `register(id)` goes on the element that moves, `handle(id)` on its grip. Pointer: drag past\n * `distance` px to pick up; the row follows the pointer, siblings slide (list axis by one row, grid into the\n * neighbour's rect), the drop commits ONE reorder.\n * Keyboard on the grip (dnd-kit KeyboardSensor): Space / Enter picks up; ↑ / ↓ (← / → too in a grid, where ↑ / ↓ jump\n * a row of tiles) move it one slot; Space / Enter / Tab drops it as ONE reorder; Escape (or leaving the grip) cancels\n * with nothing written. Focus stays on the grip.\n */\nexport function useDragReorder(\n ids: string[],\n onReorder: (from: number, to: number) => void,\n { axis = \"y\", disabled = false, distance = 4 }: { axis?: \"y\" | \"grid\"; disabled?: boolean; distance?: number } = {},\n) {\n const [drag, setDrag] = React.useState<DragState | null>(null);\n const [announcement, setOwnAnnouncement] = React.useState(\"\");\n const ownId = React.useId();\n /* inside a shared sort (V2's one DndContext over several lists) the instructions and live region are the context's */\n const shared = React.useContext(SharedSortContext);\n const describedBy = shared?.id ?? ownId;\n const setAnnouncement = shared?.announce ?? setOwnAnnouncement;\n /* reduced motion: the keyboard glide and the neighbours' slide jump straight to their place */\n const glide = useReducedMotion() ? \"none\" : `transform 200ms ${EASE}`;\n const els = React.useRef(new Map<string, HTMLElement>());\n const grips = React.useRef(new Map<string, HTMLElement>());\n const refocus = React.useRef<string | null>(null);\n /* the keyboard drag, read synchronously by key handlers (state lags a render behind) */\n const kb = React.useRef<DragState | null>(null);\n const setKb = (s: DragState | null) => {\n kb.current = s;\n setDrag(s);\n };\n const latest = React.useRef({ ids, onReorder });\n latest.current = { ids, onReorder };\n\n React.useLayoutEffect(() => {\n const id = refocus.current;\n if (!id) return;\n refocus.current = null;\n const g = grips.current.get(id);\n if (g && document.activeElement !== g) g.focus();\n });\n\n const register = (id: string) => (el: HTMLElement | null) => {\n if (el) els.current.set(id, el);\n else els.current.delete(id);\n };\n\n const onPointerDown = (id: string) => (e: React.PointerEvent) => {\n if (disabled || e.button !== 0 || kb.current) return;\n e.stopPropagation();\n const from = latest.current.ids.indexOf(id);\n if (from < 0) return;\n const x0 = e.clientX;\n const y0 = e.clientY;\n let rects: (DOMRect | undefined)[] = [];\n let state: DragState | null = null;\n const userSelect = document.body.style.userSelect;\n const onMove = (ev: PointerEvent) => {\n const dx = ev.clientX - x0;\n const dy = ev.clientY - y0;\n if (!state) {\n if (Math.hypot(dx, dy) < distance) return;\n rects = latest.current.ids.map((k) => els.current.get(k)?.getBoundingClientRect());\n const r = rects[from];\n const next = rects[from + 1] ?? rects[from - 1];\n const gap = r && next ? Math.max(0, next.top > r.top ? next.top - r.bottom : r.top - next.bottom) : 0;\n state = { id, from, over: from, dx, dy, shift: (r?.height ?? 0) + gap, rects };\n document.body.style.userSelect = \"none\";\n setAnnouncement(`Picked up item ${from + 1} of ${latest.current.ids.length}.`);\n }\n const hit = rects.findIndex((r) => r && ev.clientY >= r.top && ev.clientY <= r.bottom && (axis === \"y\" || (ev.clientX >= r.left && ev.clientX <= r.right)));\n state = { ...state, dx, dy, over: hit >= 0 ? hit : state.over };\n setDrag(state);\n };\n const end = (commit: boolean) => {\n window.removeEventListener(\"pointermove\", onMove);\n window.removeEventListener(\"pointerup\", onUp);\n window.removeEventListener(\"pointercancel\", onCancel);\n document.body.style.userSelect = userSelect;\n const s = state;\n setDrag(null);\n if (!s) return;\n /* the click that ends a drag never opens the row under it */\n const swallow = (ce: MouseEvent) => {\n ce.stopPropagation();\n ce.preventDefault();\n };\n window.addEventListener(\"click\", swallow, { capture: true, once: true });\n window.setTimeout(() => window.removeEventListener(\"click\", swallow, { capture: true }), 0);\n if (commit && s.over !== s.from) latest.current.onReorder(s.from, s.over);\n setAnnouncement(commit ? `Item dropped at position ${s.over + 1} of ${latest.current.ids.length}.` : `Dragging was cancelled. Item ${s.from + 1} was dropped.`);\n };\n const onUp = () => end(true);\n const onCancel = () => end(false);\n window.addEventListener(\"pointermove\", onMove);\n window.addEventListener(\"pointerup\", onUp);\n window.addEventListener(\"pointercancel\", onCancel);\n };\n\n /** where the picked-up row sits over slot `over` (the sortable strategies' target rect) */\n const offset = (s: DragState, over: number) => {\n const a = s.rects[s.from];\n const b = s.rects[over];\n if (!a || !b || over === s.from) return { dx: 0, dy: 0 };\n if (axis === \"grid\") return { dx: b.left - a.left, dy: b.top - a.top };\n return { dx: 0, dy: over > s.from ? b.bottom - a.bottom : b.top - a.top };\n };\n\n const onKeyDown = (id: string) => (e: React.KeyboardEvent) => {\n if (disabled || e.nativeEvent.isComposing) return;\n const { ids: list, onReorder: commit } = latest.current;\n const n = list.length;\n const s = kb.current;\n if (!s) {\n if (e.key !== \" \" && e.key !== \"Enter\") return;\n const from = list.indexOf(id);\n if (from < 0 || drag) return;\n e.preventDefault();\n e.stopPropagation();\n const rects = list.map((k) => els.current.get(k)?.getBoundingClientRect());\n const r = rects[from];\n const next = rects[from + 1] ?? rects[from - 1];\n const gap = r && next ? Math.max(0, next.top > r.top ? next.top - r.bottom : r.top - next.bottom) : 0;\n setKb({ id, from, over: from, dx: 0, dy: 0, shift: (r?.height ?? 0) + gap, rects, keyboard: true });\n setAnnouncement(`Picked up item ${from + 1} of ${n}.`);\n return;\n }\n if (s.id !== id) return;\n if (e.key === \" \" || e.key === \"Enter\" || e.key === \"Tab\") {\n if (e.key !== \"Tab\") {\n e.preventDefault();\n refocus.current = id;\n }\n e.stopPropagation();\n setKb(null);\n // the list changed under the drag (another writer): nothing is moved, and the reason is announced\n if (list[s.from] !== id) return setAnnouncement(`The list changed while moving. Item ${s.from + 1} was not moved.`);\n if (s.over !== s.from) commit(s.from, s.over);\n setAnnouncement(`Item dropped at position ${s.over + 1} of ${n}.`);\n return;\n }\n if (e.key === \"Escape\") {\n e.preventDefault();\n e.stopPropagation();\n refocus.current = id;\n setKb(null);\n setAnnouncement(`Dragging was cancelled. Item ${s.from + 1} was dropped.`);\n return;\n }\n const rowStep = axis === \"grid\" ? columns(s.rects) : 1;\n const step =\n e.key === \"ArrowDown\" ? rowStep : e.key === \"ArrowUp\" ? -rowStep :\n axis === \"grid\" && e.key === \"ArrowRight\" ? 1 : axis === \"grid\" && e.key === \"ArrowLeft\" ? -1 : 0;\n if (!step) return;\n e.preventDefault();\n e.stopPropagation();\n const to = s.over + step;\n if (to < 0 || to >= n) return;\n setKb({ ...s, over: to, ...offset(s, to) });\n setAnnouncement(`Item moved to position ${to + 1} of ${n}.`);\n };\n\n /* focus leaving a picked-up grip (a click elsewhere) puts the row back, like Escape */\n const onBlur = (id: string) => () => {\n const s = kb.current;\n if (!s || s.id !== id) return;\n setKb(null);\n setAnnouncement(`Dragging was cancelled. Item ${s.from + 1} was dropped.`);\n };\n\n const handle = (id: string) => ({\n ref: (el: HTMLElement | null) => {\n if (el) grips.current.set(id, el);\n else grips.current.delete(id);\n },\n onPointerDown: onPointerDown(id),\n onKeyDown: onKeyDown(id),\n onBlur: onBlur(id),\n \"aria-pressed\": drag?.id === id ? true : undefined,\n \"aria-roledescription\": \"sortable\",\n \"aria-describedby\": describedBy,\n \"data-drag-handle\": id,\n });\n\n const style = (id: string): React.CSSProperties | undefined => {\n if (!drag) return undefined;\n if (id === drag.id) return { transform: `translate3d(${axis === \"grid\" ? drag.dx : 0}px, ${drag.dy}px, 0)`, zIndex: 10, position: \"relative\", transition: drag.keyboard ? glide : \"none\" };\n const i = ids.indexOf(id);\n const { from, over, shift } = drag;\n if (axis === \"grid\") {\n /* dnd-kit rectSortingStrategy (V2 grid lists): each tile between the pick-up and the hover slot slides into its\n neighbour's rect, so the gap opens where the tile will land */\n const to = from < over && i > from && i <= over ? i - 1 : from > over && i >= over && i < from ? i + 1 : i;\n const a = drag.rects[i];\n const b = drag.rects[to];\n const t = to !== i && a && b ? `translate3d(${b.left - a.left}px, ${b.top - a.top}px, 0)` : undefined;\n return { transform: t, transition: glide };\n }\n const dy = from < over && i > from && i <= over ? -shift : from > over && i >= over && i < from ? shift : 0;\n return { transform: dy ? `translate3d(0, ${dy}px, 0)` : undefined, transition: glide };\n };\n\n const a11y = shared ? null : <SortAnnouncer id={describedBy} announcement={announcement} />;\n return { register, handle, style, active: drag?.id ?? null, over: drag ? ids[drag.over] ?? null : null, a11y };\n}\n\nconst SharedSortContext = React.createContext<{ id: string; announce: (message: string) => void } | null>(null);\n\n/**\n * One announcer for several sortable lists, as V2 has where ONE DndContext wraps them (a table's row groups): the\n * lists under `SharedSortProvider value={value}` describe their grips with its instructions and announce into its live region, and `a11y`\n * renders once where V2's DndContext rendered it (after its children).\n */\nexport function useSharedSort() {\n const [announcement, setAnnouncement] = React.useState(\"\");\n const id = React.useId();\n const value = React.useMemo(() => ({ id, announce: setAnnouncement }), [id]);\n return { value, a11y: <SortAnnouncer id={id} announcement={announcement} /> };\n}\nexport const SharedSortProvider = SharedSortContext.Provider;\n\n/* dnd-kit's LiveRegion style: visually hidden, still read by screen readers */\nconst LIVE_REGION: React.CSSProperties = {\n position: \"fixed\", top: 0, left: 0, width: 1, height: 1, margin: -1, border: 0, padding: 0, overflow: \"hidden\",\n clip: \"rect(0 0 0 0)\", clipPath: \"inset(100%)\", whiteSpace: \"nowrap\",\n};\n/**\n * dnd-kit's <Accessibility> (V2 got it from every DndContext): the drag instructions (display: none, named by each\n * handle's aria-describedby) and an assertive `role=\"status\"` live region with the last move. Like dnd-kit it renders\n * only after mount.\n */\nfunction SortAnnouncer({ id, announcement }: { id: string; announcement: string }) {\n const [mounted, setMounted] = React.useState(false);\n React.useEffect(() => setMounted(true), []);\n if (!mounted) return null;\n return (\n <>\n <div id={id} style={{ display: \"none\" }}>\n To pick up a draggable item, press the space bar or enter. While dragging, use the arrow keys to move the item. Press space or enter again to drop the item in its new position, or press escape to cancel.\n </div>\n <div style={LIVE_REGION} role=\"status\" aria-live=\"assertive\" aria-atomic>\n {announcement}\n </div>\n </>\n );\n}\n\n/** Keys for list items that have none (primitives): stable across our own edits, regenerated on outside changes. */\nfunction useRowKeys(list: unknown[], keyOf?: (item: unknown) => string | undefined) {\n const local = React.useRef<string[]>([]);\n if (keyOf) return { keys: list.map((it, i) => keyOf(it) ?? `i${i}`), set: (_: string[]) => {} };\n if (local.current.length !== list.length) {\n const next = local.current.slice(0, list.length);\n while (next.length < list.length) next.push(newKey());\n local.current = next;\n }\n return { keys: local.current, set: (k: string[]) => (local.current = k) };\n}\n\nexport function ItemList({\n field,\n path,\n list,\n readOnly,\n adapter,\n inputId,\n}: {\n field: FieldSchema;\n path: FieldPath;\n list: unknown[];\n readOnly: boolean;\n adapter: ItemListAdapter;\n /** the field label's `htmlFor` lands on the first row */\n inputId?: string;\n}) {\n const form = useForm()!;\n const { toast } = useKitServices();\n const { min, max } = field.validation ?? {};\n const noun = itemNoun(field);\n const { keys, set: setKeys } = useRowKeys(list, adapter.keyOf);\n const inputs = React.useRef(new Map<string, HTMLTextAreaElement>());\n const addRef = React.useRef<HTMLButtonElement>(null);\n const focusReq = React.useRef<{ key: string; caret: \"start\" | \"end\" | number } | null>(null);\n const atMax = max != null && list.length >= max;\n const atMin = min != null && list.length <= min;\n\n // Apply a pending focus after the list re-renders (add / remove / move / paste).\n React.useLayoutEffect(() => {\n const req = focusReq.current;\n if (!req) return;\n const el = inputs.current.get(req.key);\n if (!el) return;\n focusReq.current = null;\n el.focus({ preventScroll: false });\n const at = req.caret === \"start\" ? 0 : req.caret === \"end\" ? el.value.length : Math.min(req.caret, el.value.length);\n el.setSelectionRange(at, at);\n el.scrollIntoView?.({ block: \"nearest\" });\n });\n\n const commit = (next: unknown[], nextKeys: string[]) => {\n setKeys(nextKeys);\n form.setAt(path, next);\n };\n const limitToast = () => toast?.(\"Limit reached\", { description: `${field.title} allows ${max} at most.` });\n\n /** Insert `values` after row i (and optionally replace row i itself in the same write). */\n const insertAfter = (i: number, values: unknown[], caret: \"start\" | \"end\" = \"end\", current?: unknown) => {\n const room = max == null ? values.length : Math.max(0, max - list.length);\n if (room === 0) return limitToast();\n const take = values.slice(0, room);\n if (take.length < values.length) toast?.(\"Some lines were left out\", { description: `${field.title} allows ${max} at most, so ${values.length - take.length} didn't fit.` });\n const items = take.map((v) => adapter.write(v));\n const newKeys = items.map((it) => adapter.keyOf?.(it) ?? newKey());\n const head = current === undefined ? list.slice(0, i + 1) : [...list.slice(0, i), current];\n commit([...head, ...items, ...list.slice(i + 1)], [...keys.slice(0, i + 1), ...newKeys, ...keys.slice(i + 1)]);\n focusReq.current = { key: newKeys[newKeys.length - 1], caret };\n };\n const add = () => {\n if (atMax) return limitToast();\n insertAfter(list.length - 1, [adapter.kind === \"number\" ? null : \"\"]);\n };\n const removeAt = (i: number, opts: { undo?: boolean; focus?: \"prev\" | \"none\" } = {}) => {\n if (atMin) return toast?.(`At least ${min} required`, { description: `${field.title} needs ${min} or more.` });\n const prevList = list;\n const prevKeys = keys;\n commit(list.filter((_, j) => j !== i), keys.filter((_, j) => j !== i));\n if (opts.focus !== \"none\") {\n const target = i > 0 ? keys[i - 1] : keys[i + 1];\n if (target) focusReq.current = { key: target, caret: i > 0 ? \"end\" : \"start\" };\n else window.setTimeout(() => addRef.current?.focus(), 0);\n }\n if (opts.undo) {\n const text = adapter.read(prevList[i]);\n toast?.(text ? `“${text.length > 40 ? `${text.slice(0, 38)}…` : text}” removed` : `${cap(noun)} removed`, {\n action: { label: \"Undo\", onClick: () => commit(prevList, prevKeys) },\n duration: 10_000,\n });\n }\n };\n const moveRow = (i: number, d: -1 | 1, keepFocus = false) => {\n const to = i + d;\n if (to < 0 || to >= list.length) return;\n const caret = inputs.current.get(keys[i])?.selectionStart ?? \"end\";\n commit(move(list, i, to), move(keys, i, to));\n if (keepFocus) focusReq.current = { key: keys[i], caret };\n };\n const duplicate = (i: number) => {\n if (atMax) return limitToast();\n insertAfter(i, [toValue(adapter.kind, adapter.read(list[i])) ?? adapter.read(list[i])]);\n };\n const focusRow = (i: number, caret: \"start\" | \"end\") => {\n const el = inputs.current.get(keys[i]);\n if (!el) return;\n el.focus();\n const at = caret === \"start\" ? 0 : el.value.length;\n el.setSelectionRange(at, at);\n };\n\n const sort = useDragReorder(keys, (from, to) => commit(move(list, from, to), move(keys, from, to)), { disabled: readOnly });\n\n const n = list.length;\n return (\n <div className=\"flex flex-col gap-1.5\">\n {n ? (\n <>\n <ul className=\"flex flex-col gap-1.5\" aria-label={field.title}>\n {list.map((item, i) => (\n <ItemRow\n key={keys[i]}\n rowKey={keys[i]}\n sort={sort}\n index={i}\n count={n}\n noun={noun}\n item={item}\n adapter={adapter}\n readOnly={readOnly}\n fieldKey={pathKey([...path, ...adapter.valuePath(i)])}\n invalid={!!form.visibleIssue(pathKey([...path, ...adapter.valuePath(i)]))}\n inputId={i === 0 ? inputId : undefined}\n canAdd={!atMax}\n canRemove={!atMin}\n min={min}\n register={(el) => (el ? inputs.current.set(keys[i], el) : inputs.current.delete(keys[i]))}\n onChange={(v) => form.setAt([...path, i], adapter.write(v, item))}\n onBlur={() => form.touch(pathKey([...path, ...adapter.valuePath(i)]))}\n onEnter={(caretAtStart) => {\n if (!adapter.read(item).trim() && i === n - 1) return; // an empty last row doesn't spawn another\n if (atMax) return limitToast();\n // caret at the very start of a filled row: insert ABOVE (like a list in a doc)\n if (caretAtStart && adapter.read(item)) {\n const k = adapter.write(adapter.kind === \"number\" ? null : \"\");\n const nk = adapter.keyOf?.(k) ?? newKey();\n commit([...list.slice(0, i), k, ...list.slice(i)], [...keys.slice(0, i), nk, ...keys.slice(i)]);\n focusReq.current = { key: keys[i], caret: \"start\" };\n return;\n }\n insertAfter(i, [adapter.kind === \"number\" ? null : \"\"]);\n }}\n onBackspaceEmpty={() => removeAt(i, { focus: \"prev\" })}\n onPasteLines={(first, rest, caret) => {\n const items = rest.map((t) => toValue(adapter.kind, t)).filter((v) => v !== undefined);\n const current = adapter.write(toValue(adapter.kind, first) ?? first, item);\n if (items.length && !atMax) insertAfter(i, items, \"end\", current);\n else {\n if (items.length) limitToast();\n form.setAt([...path, i], current);\n focusReq.current = { key: keys[i], caret };\n }\n }}\n onMove={(d) => moveRow(i, d, true)}\n onStep={(d) => {\n const j = i + d;\n if (j >= 0 && j < n) focusRow(j, d < 0 ? \"end\" : \"start\");\n }}\n onDuplicate={() => duplicate(i)}\n onRemove={() => removeAt(i, { undo: true })}\n onMenuMove={(d) => moveRow(i, d)}\n />\n ))}\n </ul>\n {sort.a11y}\n </>\n ) : null}\n {readOnly ? (n ? null : <span className=\"text-kit-sm text-kit-fg-3\">Nothing here yet.</span>) : (\n <Button ref={addRef} size=\"sm\" variant=\"ghost\" className=\"-ml-1 self-start text-kit-fg-2\" leftIcon={<IconPlus stroke={1.5} />} disabled={atMax} onClick={add}>\n Add {noun}\n </Button>\n )}\n </div>\n );\n}\n\nfunction ItemRow({\n rowKey, sort, index, count, noun, item, adapter, readOnly, fieldKey, invalid, inputId, canAdd, canRemove, min, register,\n onChange, onBlur, onEnter, onBackspaceEmpty, onPasteLines, onMove, onStep, onDuplicate, onRemove, onMenuMove,\n}: {\n rowKey: string; sort: ReturnType<typeof useDragReorder>; index: number; count: number; noun: string; item: unknown; adapter: ItemListAdapter; readOnly: boolean;\n fieldKey: string; invalid: boolean; inputId?: string; canAdd: boolean; canRemove: boolean; min?: number;\n register: (el: HTMLTextAreaElement | null) => void;\n onChange: (v: unknown) => void; onBlur: () => void; onEnter: (caretAtStart: boolean) => void; onBackspaceEmpty: () => void;\n onPasteLines: (first: string, rest: string[], caret: number) => void; onMove: (d: -1 | 1) => void; onStep: (d: -1 | 1) => void;\n onDuplicate: () => void; onRemove: () => void; onMenuMove: (d: -1 | 1) => void;\n}) {\n const isDragging = sort.active === rowKey;\n const text = adapter.read(item);\n // numbers keep what you're typing (\"1.\", \"-\") until it parses\n const [draft, setDraft] = React.useState<string | null>(null);\n const shown = draft ?? text;\n const label = `${cap(noun)} ${index + 1} of ${count}`;\n const name = text ? `“${text.length > 32 ? `${text.slice(0, 30)}…` : text}”` : `${noun} ${index + 1}`;\n return (\n <li\n ref={sort.register(rowKey)}\n style={sort.style(rowKey)}\n data-field-key={fieldKey}\n className={cn(\"group/il relative flex items-start gap-1\", isDragging && \"z-10 rounded-kit-md bg-kit-surface shadow-kit-lg\")}\n >\n {readOnly ? null : (\n <button\n type=\"button\"\n aria-label={`Reorder ${name}`}\n {...sort.handle(rowKey)}\n className=\"relative mt-1.5 flex h-5 w-4 shrink-0 cursor-grab touch-none items-center justify-center rounded-kit-sm text-kit-fg-4 transition-colors before:absolute before:-inset-1.5 hover:text-kit-fg-2 active:cursor-grabbing\"\n >\n <IconGripVertical className=\"size-3.5\" stroke={1.5} />\n </button>\n )}\n <div className=\"min-w-0 flex-1\">\n <Textarea\n ref={register}\n id={inputId}\n rows={1}\n value={shown}\n readOnly={readOnly}\n aria-label={label}\n aria-invalid={invalid || undefined}\n placeholder={adapter.placeholder ?? cap(noun)}\n inputMode={adapter.kind === \"number\" ? \"decimal\" : adapter.kind === \"url\" ? \"url\" : adapter.kind === \"email\" ? \"email\" : undefined}\n spellCheck={adapter.kind === \"text\"}\n onBlur={() => {\n setDraft(null);\n onBlur();\n }}\n onChange={(e) => {\n const raw = e.target.value.replace(/\\r?\\n/g, \" \");\n if (adapter.kind === \"number\") {\n setDraft(raw);\n const v = toValue(\"number\", raw);\n if (v !== undefined) onChange(v);\n return;\n }\n onChange(toValue(adapter.kind, raw));\n }}\n onPaste={(e) => {\n if (readOnly) return;\n const clip = e.clipboardData.getData(\"text/plain\");\n if (!/\\r?\\n/.test(clip.trim())) return; // one line: the browser pastes it\n const lines = clip.split(/\\r?\\n/).map(stripBullet).filter(Boolean);\n if (lines.length < 2) return;\n e.preventDefault();\n const el = e.currentTarget;\n const before = el.value.slice(0, el.selectionStart);\n const after = el.value.slice(el.selectionEnd);\n const rest = lines.slice(1);\n rest[rest.length - 1] = `${rest[rest.length - 1]}${after}`;\n onPasteLines(`${before}${lines[0]}`, rest, before.length + lines[0].length);\n }}\n onKeyDown={(e) => {\n if (readOnly || e.nativeEvent.isComposing) return;\n const el = e.currentTarget;\n const atStart = el.selectionStart === 0 && el.selectionEnd === 0;\n const atEnd = el.selectionStart === el.value.length && el.selectionEnd === el.value.length;\n if (e.key === \"Enter\" && !e.shiftKey && !e.metaKey && !e.ctrlKey) {\n e.preventDefault();\n onEnter(atStart && el.value.length > 0);\n } else if (e.key === \"Backspace\" && !el.value && canRemove) {\n e.preventDefault();\n onBackspaceEmpty();\n } else if (e.altKey && (e.key === \"ArrowUp\" || e.key === \"ArrowDown\")) {\n e.preventDefault();\n onMove(e.key === \"ArrowUp\" ? -1 : 1);\n } else if (e.key === \"ArrowUp\" && atStart && !e.shiftKey) {\n if (index > 0) {\n e.preventDefault();\n onStep(-1);\n }\n } else if (e.key === \"ArrowDown\" && atEnd && !e.shiftKey) {\n if (index < count - 1) {\n e.preventDefault();\n onStep(1);\n }\n }\n }}\n className={cn(TEXT_FOCUS, \"min-h-8 py-1.5 leading-5\")}\n />\n </div>\n {readOnly ? null : (\n <Menu>\n <MenuTrigger\n aria-label={`${cap(noun)} ${index + 1} actions`}\n className=\"mt-0.5 flex size-7 shrink-0 items-center justify-center rounded-kit-md text-kit-fg-4 transition-colors hover:bg-kit-hover hover:text-kit-fg group-focus-within/il:text-kit-fg-3 group-hover/il:text-kit-fg-3 data-[popup-open]:bg-kit-hover data-[popup-open]:text-kit-fg\"\n >\n <IconDots className=\"size-4\" stroke={1.5} />\n </MenuTrigger>\n <MenuContent align=\"end\" className=\"w-48\">\n <MenuItem icon={<IconCopy stroke={1.5} />} disabled={!canAdd} onClick={onDuplicate}>{canAdd ? \"Duplicate\" : \"Duplicate · limit reached\"}</MenuItem>\n <MenuSeparator />\n <MenuItem icon={<IconArrowUp stroke={1.5} />} disabled={index === 0} shortcut=\"⌥↑\" onClick={() => onMenuMove(-1)}>Move up</MenuItem>\n <MenuItem icon={<IconArrowDown stroke={1.5} />} disabled={index === count - 1} shortcut=\"⌥↓\" onClick={() => onMenuMove(1)}>Move down</MenuItem>\n <MenuSeparator />\n <MenuItem danger icon={<IconTrash stroke={1.5} />} disabled={!canRemove} onClick={onRemove}>{canRemove ? \"Delete\" : `Delete · at least ${min} required`}</MenuItem>\n </MenuContent>\n </Menu>\n )}\n </li>\n );\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AA8CA,IAAM,aAAa;AACnB,IAAM,OAAO;AAGb,IAAM,OAAO,MAAc,EAAE,OAAO,EAAE,CAAC,aAAa,GAAG,EAAE,MAAM,EAAE;;AAEjE,IAAM,eAAe,MAAc,EAAE,QAAQ,2CAA2C,GAAG,CAAC,MAAM;AAClG,IAAM,QAAY,MAAW,MAAc,OAAoB;CAC7D,MAAM,OAAO,KAAK,OAAO;CACzB,MAAM,CAAC,MAAM,KAAK,OAAO,MAAM,EAAE;AACjC,MAAK,OAAO,IAAI,GAAG,GAAG;AACtB,QAAO;;;AAGT,IAAa,YAAY;AAEzB,SAAS,QAAQ,MAAgB,MAAuB;AACtD,KAAI,SAAS,UAAU;EACrB,MAAM,IAAI,KAAK,MAAM;AACrB,MAAI,CAAC,EAAG,QAAO;EACf,MAAM,IAAI,OAAO,EAAE,QAAQ,MAAM,GAAG,CAAC;AACrC,SAAO,OAAO,SAAS,EAAE,GAAG,IAAI,KAAA;;AAElC,QAAO,SAAS,SAAS,SAAS,UAAU,KAAK,MAAM,GAAG;;;AAmB5D,IAAM,WAAW,UAAmC;CAClD,MAAM,MAAM,MAAM,IAAI;AACtB,QAAO,OAAO,OAAO,IAAI,KAAK,IAAI,GAAG,MAAM,QAAQ,MAAM,GAAG,QAAQ,IAAI,CAAC,OAAO;;;;;;;;;;AAWlF,SAAgB,eACd,KACA,WACA,EAAE,OAAO,KAAK,WAAW,OAAO,WAAW,MAAsE,EAAE,EACnH;CACA,MAAM,CAAC,MAAM,WAAW,MAAM,SAA2B,KAAK;CAC9D,MAAM,CAAC,cAAc,sBAAsB,MAAM,SAAS,GAAG;CAC7D,MAAM,QAAQ,MAAM,OAAO;CAE3B,MAAM,SAAS,MAAM,WAAW,kBAAkB;CAClD,MAAM,cAAc,QAAQ,MAAM;CAClC,MAAM,kBAAkB,QAAQ,YAAY;CAE5C,MAAM,QAAQ,kBAAkB,GAAG,SAAS,mBAAmB;CAC/D,MAAM,MAAM,MAAM,uBAAO,IAAI,KAA0B,CAAC;CACxD,MAAM,QAAQ,MAAM,uBAAO,IAAI,KAA0B,CAAC;CAC1D,MAAM,UAAU,MAAM,OAAsB,KAAK;CAEjD,MAAM,KAAK,MAAM,OAAyB,KAAK;CAC/C,MAAM,SAAS,MAAwB;AACrC,KAAG,UAAU;AACb,UAAQ,EAAE;;CAEZ,MAAM,SAAS,MAAM,OAAO;EAAE;EAAK;EAAW,CAAC;AAC/C,QAAO,UAAU;EAAE;EAAK;EAAW;AAEnC,OAAM,sBAAsB;EAC1B,MAAM,KAAK,QAAQ;AACnB,MAAI,CAAC,GAAI;AACT,UAAQ,UAAU;EAClB,MAAM,IAAI,MAAM,QAAQ,IAAI,GAAG;AAC/B,MAAI,KAAK,SAAS,kBAAkB,EAAG,GAAE,OAAO;GAChD;CAEF,MAAM,YAAY,QAAgB,OAA2B;AAC3D,MAAI,GAAI,KAAI,QAAQ,IAAI,IAAI,GAAG;MAC1B,KAAI,QAAQ,OAAO,GAAG;;CAG7B,MAAM,iBAAiB,QAAgB,MAA0B;AAC/D,MAAI,YAAY,EAAE,WAAW,KAAK,GAAG,QAAS;AAC9C,IAAE,iBAAiB;EACnB,MAAM,OAAO,OAAO,QAAQ,IAAI,QAAQ,GAAG;AAC3C,MAAI,OAAO,EAAG;EACd,MAAM,KAAK,EAAE;EACb,MAAM,KAAK,EAAE;EACb,IAAI,QAAiC,EAAE;EACvC,IAAI,QAA0B;EAC9B,MAAM,aAAa,SAAS,KAAK,MAAM;EACvC,MAAM,UAAU,OAAqB;GACnC,MAAM,KAAK,GAAG,UAAU;GACxB,MAAM,KAAK,GAAG,UAAU;AACxB,OAAI,CAAC,OAAO;AACV,QAAI,KAAK,MAAM,IAAI,GAAG,GAAG,SAAU;AACnC,YAAQ,OAAO,QAAQ,IAAI,KAAK,MAAM,IAAI,QAAQ,IAAI,EAAE,EAAE,uBAAuB,CAAC;IAClF,MAAM,IAAI,MAAM;IAChB,MAAM,OAAO,MAAM,OAAO,MAAM,MAAM,OAAO;IAC7C,MAAM,MAAM,KAAK,OAAO,KAAK,IAAI,GAAG,KAAK,MAAM,EAAE,MAAM,KAAK,MAAM,EAAE,SAAS,EAAE,MAAM,KAAK,OAAO,GAAG;AACpG,YAAQ;KAAE;KAAI;KAAM,MAAM;KAAM;KAAI;KAAI,QAAQ,GAAG,UAAU,KAAK;KAAK;KAAO;AAC9E,aAAS,KAAK,MAAM,aAAa;AACjC,oBAAgB,kBAAkB,OAAO,EAAE,MAAM,OAAO,QAAQ,IAAI,OAAO,GAAG;;GAEhF,MAAM,MAAM,MAAM,WAAW,MAAM,KAAK,GAAG,WAAW,EAAE,OAAO,GAAG,WAAW,EAAE,WAAW,SAAS,OAAQ,GAAG,WAAW,EAAE,QAAQ,GAAG,WAAW,EAAE,OAAQ;AAC3J,WAAQ;IAAE,GAAG;IAAO;IAAI;IAAI,MAAM,OAAO,IAAI,MAAM,MAAM;IAAM;AAC/D,WAAQ,MAAM;;EAEhB,MAAM,OAAO,WAAoB;AAC/B,UAAO,oBAAoB,eAAe,OAAO;AACjD,UAAO,oBAAoB,aAAa,KAAK;AAC7C,UAAO,oBAAoB,iBAAiB,SAAS;AACrD,YAAS,KAAK,MAAM,aAAa;GACjC,MAAM,IAAI;AACV,WAAQ,KAAK;AACb,OAAI,CAAC,EAAG;GAER,MAAM,WAAW,OAAmB;AAClC,OAAG,iBAAiB;AACpB,OAAG,gBAAgB;;AAErB,UAAO,iBAAiB,SAAS,SAAS;IAAE,SAAS;IAAM,MAAM;IAAM,CAAC;AACxE,UAAO,iBAAiB,OAAO,oBAAoB,SAAS,SAAS,EAAE,SAAS,MAAM,CAAC,EAAE,EAAE;AAC3F,OAAI,UAAU,EAAE,SAAS,EAAE,KAAM,QAAO,QAAQ,UAAU,EAAE,MAAM,EAAE,KAAK;AACzE,mBAAgB,SAAS,4BAA4B,EAAE,OAAO,EAAE,MAAM,OAAO,QAAQ,IAAI,OAAO,KAAK,gCAAgC,EAAE,OAAO,EAAE,eAAe;;EAEjK,MAAM,aAAa,IAAI,KAAK;EAC5B,MAAM,iBAAiB,IAAI,MAAM;AACjC,SAAO,iBAAiB,eAAe,OAAO;AAC9C,SAAO,iBAAiB,aAAa,KAAK;AAC1C,SAAO,iBAAiB,iBAAiB,SAAS;;;CAIpD,MAAM,UAAU,GAAc,SAAiB;EAC7C,MAAM,IAAI,EAAE,MAAM,EAAE;EACpB,MAAM,IAAI,EAAE,MAAM;AAClB,MAAI,CAAC,KAAK,CAAC,KAAK,SAAS,EAAE,KAAM,QAAO;GAAE,IAAI;GAAG,IAAI;GAAG;AACxD,MAAI,SAAS,OAAQ,QAAO;GAAE,IAAI,EAAE,OAAO,EAAE;GAAM,IAAI,EAAE,MAAM,EAAE;GAAK;AACtE,SAAO;GAAE,IAAI;GAAG,IAAI,OAAO,EAAE,OAAO,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,EAAE;GAAK;;CAG3E,MAAM,aAAa,QAAgB,MAA2B;AAC5D,MAAI,YAAY,EAAE,YAAY,YAAa;EAC3C,MAAM,EAAE,KAAK,MAAM,WAAW,WAAW,OAAO;EAChD,MAAM,IAAI,KAAK;EACf,MAAM,IAAI,GAAG;AACb,MAAI,CAAC,GAAG;AACN,OAAI,EAAE,QAAQ,OAAO,EAAE,QAAQ,QAAS;GACxC,MAAM,OAAO,KAAK,QAAQ,GAAG;AAC7B,OAAI,OAAO,KAAK,KAAM;AACtB,KAAE,gBAAgB;AAClB,KAAE,iBAAiB;GACnB,MAAM,QAAQ,KAAK,KAAK,MAAM,IAAI,QAAQ,IAAI,EAAE,EAAE,uBAAuB,CAAC;GAC1E,MAAM,IAAI,MAAM;GAChB,MAAM,OAAO,MAAM,OAAO,MAAM,MAAM,OAAO;GAC7C,MAAM,MAAM,KAAK,OAAO,KAAK,IAAI,GAAG,KAAK,MAAM,EAAE,MAAM,KAAK,MAAM,EAAE,SAAS,EAAE,MAAM,KAAK,OAAO,GAAG;AACpG,SAAM;IAAE;IAAI;IAAM,MAAM;IAAM,IAAI;IAAG,IAAI;IAAG,QAAQ,GAAG,UAAU,KAAK;IAAK;IAAO,UAAU;IAAM,CAAC;AACnG,mBAAgB,kBAAkB,OAAO,EAAE,MAAM,EAAE,GAAG;AACtD;;AAEF,MAAI,EAAE,OAAO,GAAI;AACjB,MAAI,EAAE,QAAQ,OAAO,EAAE,QAAQ,WAAW,EAAE,QAAQ,OAAO;AACzD,OAAI,EAAE,QAAQ,OAAO;AACnB,MAAE,gBAAgB;AAClB,YAAQ,UAAU;;AAEpB,KAAE,iBAAiB;AACnB,SAAM,KAAK;AAEX,OAAI,KAAK,EAAE,UAAU,GAAI,QAAO,gBAAgB,uCAAuC,EAAE,OAAO,EAAE,iBAAiB;AACnH,OAAI,EAAE,SAAS,EAAE,KAAM,QAAO,EAAE,MAAM,EAAE,KAAK;AAC7C,mBAAgB,4BAA4B,EAAE,OAAO,EAAE,MAAM,EAAE,GAAG;AAClE;;AAEF,MAAI,EAAE,QAAQ,UAAU;AACtB,KAAE,gBAAgB;AAClB,KAAE,iBAAiB;AACnB,WAAQ,UAAU;AAClB,SAAM,KAAK;AACX,mBAAgB,gCAAgC,EAAE,OAAO,EAAE,eAAe;AAC1E;;EAEF,MAAM,UAAU,SAAS,SAAS,QAAQ,EAAE,MAAM,GAAG;EACrD,MAAM,OACJ,EAAE,QAAQ,cAAc,UAAU,EAAE,QAAQ,YAAY,CAAC,UACzD,SAAS,UAAU,EAAE,QAAQ,eAAe,IAAI,SAAS,UAAU,EAAE,QAAQ,cAAc,KAAK;AAClG,MAAI,CAAC,KAAM;AACX,IAAE,gBAAgB;AAClB,IAAE,iBAAiB;EACnB,MAAM,KAAK,EAAE,OAAO;AACpB,MAAI,KAAK,KAAK,MAAM,EAAG;AACvB,QAAM;GAAE,GAAG;GAAG,MAAM;GAAI,GAAG,OAAO,GAAG,GAAG;GAAE,CAAC;AAC3C,kBAAgB,0BAA0B,KAAK,EAAE,MAAM,EAAE,GAAG;;CAI9D,MAAM,UAAU,aAAqB;EACnC,MAAM,IAAI,GAAG;AACb,MAAI,CAAC,KAAK,EAAE,OAAO,GAAI;AACvB,QAAM,KAAK;AACX,kBAAgB,gCAAgC,EAAE,OAAO,EAAE,eAAe;;CAG5E,MAAM,UAAU,QAAgB;EAC9B,MAAM,OAA2B;AAC/B,OAAI,GAAI,OAAM,QAAQ,IAAI,IAAI,GAAG;OAC5B,OAAM,QAAQ,OAAO,GAAG;;EAE/B,eAAe,cAAc,GAAG;EAChC,WAAW,UAAU,GAAG;EACxB,QAAQ,OAAO,GAAG;EAClB,gBAAgB,MAAM,OAAO,KAAK,OAAO,KAAA;EACzC,wBAAwB;EACxB,oBAAoB;EACpB,oBAAoB;EACrB;CAED,MAAM,SAAS,OAAgD;AAC7D,MAAI,CAAC,KAAM,QAAO,KAAA;AAClB,MAAI,OAAO,KAAK,GAAI,QAAO;GAAE,WAAW,eAAe,SAAS,SAAS,KAAK,KAAK,EAAE,MAAM,KAAK,GAAG;GAAS,QAAQ;GAAI,UAAU;GAAY,YAAY,KAAK,WAAW,QAAQ;GAAQ;EAC1L,MAAM,IAAI,IAAI,QAAQ,GAAG;EACzB,MAAM,EAAE,MAAM,MAAM,UAAU;AAC9B,MAAI,SAAS,QAAQ;GAGnB,MAAM,KAAK,OAAO,QAAQ,IAAI,QAAQ,KAAK,OAAO,IAAI,IAAI,OAAO,QAAQ,KAAK,QAAQ,IAAI,OAAO,IAAI,IAAI;GACzG,MAAM,IAAI,KAAK,MAAM;GACrB,MAAM,IAAI,KAAK,MAAM;AAErB,UAAO;IAAE,WADC,OAAO,KAAK,KAAK,IAAI,eAAe,EAAE,OAAO,EAAE,KAAK,MAAM,EAAE,MAAM,EAAE,IAAI,UAAU,KAAA;IACrE,YAAY;IAAO;;EAE5C,MAAM,KAAK,OAAO,QAAQ,IAAI,QAAQ,KAAK,OAAO,CAAC,QAAQ,OAAO,QAAQ,KAAK,QAAQ,IAAI,OAAO,QAAQ;AAC1G,SAAO;GAAE,WAAW,KAAK,kBAAkB,GAAG,UAAU,KAAA;GAAW,YAAY;GAAO;;CAGxF,MAAM,OAAO,SAAS,OAAO,oBAAC,eAAD;EAAe,IAAI;EAA2B;EAAgB,CAAA;AAC3F,QAAO;EAAE;EAAU;EAAQ;EAAO,QAAQ,MAAM,MAAM;EAAM,MAAM,OAAO,IAAI,KAAK,SAAS,OAAO;EAAM;EAAM;;AAGhH,IAAM,oBAAoB,MAAM,cAA0E,KAAK;;;;;;AAO/G,SAAgB,gBAAgB;CAC9B,MAAM,CAAC,cAAc,mBAAmB,MAAM,SAAS,GAAG;CAC1D,MAAM,KAAK,MAAM,OAAO;AAExB,QAAO;EAAE,OADK,MAAM,eAAe;GAAE;GAAI,UAAU;GAAiB,GAAG,CAAC,GAAG,CAAC;EAC5D,MAAM,oBAAC,eAAD;GAAmB;GAAkB;GAAgB,CAAA;EAAE;;AAE/E,IAAa,qBAAqB,kBAAkB;AAGpD,IAAM,cAAmC;CACvC,UAAU;CAAS,KAAK;CAAG,MAAM;CAAG,OAAO;CAAG,QAAQ;CAAG,QAAQ;CAAI,QAAQ;CAAG,SAAS;CAAG,UAAU;CACtG,MAAM;CAAiB,UAAU;CAAe,YAAY;CAC7D;;;;;;AAMD,SAAS,cAAc,EAAE,IAAI,gBAAsD;CACjF,MAAM,CAAC,SAAS,cAAc,MAAM,SAAS,MAAM;AACnD,OAAM,gBAAgB,WAAW,KAAK,EAAE,EAAE,CAAC;AAC3C,KAAI,CAAC,QAAS,QAAO;AACrB,QACE,qBAAA,UAAA,EAAA,UAAA,CACE,oBAAC,OAAD;EAAS;EAAI,OAAO,EAAE,SAAS,QAAQ;YAAE;EAEnC,CAAA,EACN,oBAAC,OAAD;EAAK,OAAO;EAAa,MAAK;EAAS,aAAU;EAAY,eAAA;YAC1D;EACG,CAAA,CACL,EAAA,CAAA;;;AAKP,SAAS,WAAW,MAAiB,OAA+C;CAClF,MAAM,QAAQ,MAAM,OAAiB,EAAE,CAAC;AACxC,KAAI,MAAO,QAAO;EAAE,MAAM,KAAK,KAAK,IAAI,MAAM,MAAM,GAAG,IAAI,IAAI,IAAI;EAAE,MAAM,MAAgB;EAAI;AAC/F,KAAI,MAAM,QAAQ,WAAW,KAAK,QAAQ;EACxC,MAAM,OAAO,MAAM,QAAQ,MAAM,GAAG,KAAK,OAAO;AAChD,SAAO,KAAK,SAAS,KAAK,OAAQ,MAAK,KAAK,QAAQ,CAAC;AACrD,QAAM,UAAU;;AAElB,QAAO;EAAE,MAAM,MAAM;EAAS,MAAM,MAAiB,MAAM,UAAU;EAAI;;AAG3E,SAAgB,SAAS,EACvB,OACA,MACA,MACA,UACA,SACA,WASC;CACD,MAAM,OAAO,SAAS;CACtB,MAAM,EAAE,UAAU,gBAAgB;CAClC,MAAM,EAAE,KAAK,QAAQ,MAAM,cAAc,EAAE;CAC3C,MAAM,OAAO,SAAS,MAAM;CAC5B,MAAM,EAAE,MAAM,KAAK,YAAY,WAAW,MAAM,QAAQ,MAAM;CAC9D,MAAM,SAAS,MAAM,uBAAO,IAAI,KAAkC,CAAC;CACnE,MAAM,SAAS,MAAM,OAA0B,KAAK;CACpD,MAAM,WAAW,MAAM,OAAgE,KAAK;CAC5F,MAAM,QAAQ,OAAO,QAAQ,KAAK,UAAU;CAC5C,MAAM,QAAQ,OAAO,QAAQ,KAAK,UAAU;AAG5C,OAAM,sBAAsB;EAC1B,MAAM,MAAM,SAAS;AACrB,MAAI,CAAC,IAAK;EACV,MAAM,KAAK,OAAO,QAAQ,IAAI,IAAI,IAAI;AACtC,MAAI,CAAC,GAAI;AACT,WAAS,UAAU;AACnB,KAAG,MAAM,EAAE,eAAe,OAAO,CAAC;EAClC,MAAM,KAAK,IAAI,UAAU,UAAU,IAAI,IAAI,UAAU,QAAQ,GAAG,MAAM,SAAS,KAAK,IAAI,IAAI,OAAO,GAAG,MAAM,OAAO;AACnH,KAAG,kBAAkB,IAAI,GAAG;AAC5B,KAAG,iBAAiB,EAAE,OAAO,WAAW,CAAC;GACzC;CAEF,MAAM,UAAU,MAAiB,aAAuB;AACtD,UAAQ,SAAS;AACjB,OAAK,MAAM,MAAM,KAAK;;CAExB,MAAM,mBAAmB,QAAQ,iBAAiB,EAAE,aAAa,GAAG,MAAM,MAAM,UAAU,IAAI,YAAY,CAAC;;CAG3G,MAAM,eAAe,GAAW,QAAmB,QAAyB,OAAO,YAAsB;EACvG,MAAM,OAAO,OAAO,OAAO,OAAO,SAAS,KAAK,IAAI,GAAG,MAAM,KAAK,OAAO;AACzE,MAAI,SAAS,EAAG,QAAO,YAAY;EACnC,MAAM,OAAO,OAAO,MAAM,GAAG,KAAK;AAClC,MAAI,KAAK,SAAS,OAAO,OAAQ,SAAQ,4BAA4B,EAAE,aAAa,GAAG,MAAM,MAAM,UAAU,IAAI,eAAe,OAAO,SAAS,KAAK,OAAO,eAAe,CAAC;EAC5K,MAAM,QAAQ,KAAK,KAAK,MAAM,QAAQ,MAAM,EAAE,CAAC;EAC/C,MAAM,UAAU,MAAM,KAAK,OAAO,QAAQ,QAAQ,GAAG,IAAI,QAAQ,CAAC;AAElE,SAAO;GAAC,GADK,YAAY,KAAA,IAAY,KAAK,MAAM,GAAG,IAAI,EAAE,GAAG,CAAC,GAAG,KAAK,MAAM,GAAG,EAAE,EAAE,QAAQ;GACzE,GAAG;GAAO,GAAG,KAAK,MAAM,IAAI,EAAE;GAAC,EAAE;GAAC,GAAG,KAAK,MAAM,GAAG,IAAI,EAAE;GAAE,GAAG;GAAS,GAAG,KAAK,MAAM,IAAI,EAAE;GAAC,CAAC;AAC9G,WAAS,UAAU;GAAE,KAAK,QAAQ,QAAQ,SAAS;GAAI;GAAO;;CAEhE,MAAM,YAAY;AAChB,MAAI,MAAO,QAAO,YAAY;AAC9B,cAAY,KAAK,SAAS,GAAG,CAAC,QAAQ,SAAS,WAAW,OAAO,GAAG,CAAC;;CAEvE,MAAM,YAAY,GAAW,OAAoD,EAAE,KAAK;AACtF,MAAI,MAAO,QAAO,QAAQ,YAAY,IAAI,YAAY,EAAE,aAAa,GAAG,MAAM,MAAM,SAAS,IAAI,YAAY,CAAC;EAC9G,MAAM,WAAW;EACjB,MAAM,WAAW;AACjB,SAAO,KAAK,QAAQ,GAAG,MAAM,MAAM,EAAE,EAAE,KAAK,QAAQ,GAAG,MAAM,MAAM,EAAE,CAAC;AACtE,MAAI,KAAK,UAAU,QAAQ;GACzB,MAAM,SAAS,IAAI,IAAI,KAAK,IAAI,KAAK,KAAK,IAAI;AAC9C,OAAI,OAAQ,UAAS,UAAU;IAAE,KAAK;IAAQ,OAAO,IAAI,IAAI,QAAQ;IAAS;OACzE,QAAO,iBAAiB,OAAO,SAAS,OAAO,EAAE,EAAE;;AAE1D,MAAI,KAAK,MAAM;GACb,MAAM,OAAO,QAAQ,KAAK,SAAS,GAAG;AACtC,WAAQ,OAAO,IAAI,KAAK,SAAS,KAAK,GAAG,KAAK,MAAM,GAAG,GAAG,CAAC,KAAK,KAAK,aAAa,GAAG,IAAI,KAAK,CAAC,WAAW;IACxG,QAAQ;KAAE,OAAO;KAAQ,eAAe,OAAO,UAAU,SAAS;KAAE;IACpE,UAAU;IACX,CAAC;;;CAGN,MAAM,WAAW,GAAW,GAAW,YAAY,UAAU;EAC3D,MAAM,KAAK,IAAI;AACf,MAAI,KAAK,KAAK,MAAM,KAAK,OAAQ;EACjC,MAAM,QAAQ,OAAO,QAAQ,IAAI,KAAK,GAAG,EAAE,kBAAkB;AAC7D,SAAO,KAAK,MAAM,GAAG,GAAG,EAAE,KAAK,MAAM,GAAG,GAAG,CAAC;AAC5C,MAAI,UAAW,UAAS,UAAU;GAAE,KAAK,KAAK;GAAI;GAAO;;CAE3D,MAAM,aAAa,MAAc;AAC/B,MAAI,MAAO,QAAO,YAAY;AAC9B,cAAY,GAAG,CAAC,QAAQ,QAAQ,MAAM,QAAQ,KAAK,KAAK,GAAG,CAAC,IAAI,QAAQ,KAAK,KAAK,GAAG,CAAC,CAAC;;CAEzF,MAAM,YAAY,GAAW,UAA2B;EACtD,MAAM,KAAK,OAAO,QAAQ,IAAI,KAAK,GAAG;AACtC,MAAI,CAAC,GAAI;AACT,KAAG,OAAO;EACV,MAAM,KAAK,UAAU,UAAU,IAAI,GAAG,MAAM;AAC5C,KAAG,kBAAkB,IAAI,GAAG;;CAG9B,MAAM,OAAO,eAAe,OAAO,MAAM,OAAO,OAAO,KAAK,MAAM,MAAM,GAAG,EAAE,KAAK,MAAM,MAAM,GAAG,CAAC,EAAE,EAAE,UAAU,UAAU,CAAC;CAE3H,MAAM,IAAI,KAAK;AACf,QACE,qBAAC,OAAD;EAAK,WAAU;YAAf,CACG,IACC,qBAAA,UAAA,EAAA,UAAA,CACE,oBAAC,MAAD;GAAI,WAAU;GAAwB,cAAY,MAAM;aACrD,KAAK,KAAK,MAAM,MACf,oBAAC,SAAD;IAEE,QAAQ,KAAK;IACP;IACN,OAAO;IACP,OAAO;IACD;IACA;IACG;IACC;IACV,UAAU,QAAQ,CAAC,GAAG,MAAM,GAAG,QAAQ,UAAU,EAAE,CAAC,CAAC;IACrD,SAAS,CAAC,CAAC,KAAK,aAAa,QAAQ,CAAC,GAAG,MAAM,GAAG,QAAQ,UAAU,EAAE,CAAC,CAAC,CAAC;IACzE,SAAS,MAAM,IAAI,UAAU,KAAA;IAC7B,QAAQ,CAAC;IACT,WAAW,CAAC;IACP;IACL,WAAW,OAAQ,KAAK,OAAO,QAAQ,IAAI,KAAK,IAAI,GAAG,GAAG,OAAO,QAAQ,OAAO,KAAK,GAAG;IACxF,WAAW,MAAM,KAAK,MAAM,CAAC,GAAG,MAAM,EAAE,EAAE,QAAQ,MAAM,GAAG,KAAK,CAAC;IACjE,cAAc,KAAK,MAAM,QAAQ,CAAC,GAAG,MAAM,GAAG,QAAQ,UAAU,EAAE,CAAC,CAAC,CAAC;IACrE,UAAU,iBAAiB;AACzB,SAAI,CAAC,QAAQ,KAAK,KAAK,CAAC,MAAM,IAAI,MAAM,IAAI,EAAG;AAC/C,SAAI,MAAO,QAAO,YAAY;AAE9B,SAAI,gBAAgB,QAAQ,KAAK,KAAK,EAAE;MACtC,MAAM,IAAI,QAAQ,MAAM,QAAQ,SAAS,WAAW,OAAO,GAAG;MAC9D,MAAM,KAAK,QAAQ,QAAQ,EAAE,IAAI,QAAQ;AACzC,aAAO;OAAC,GAAG,KAAK,MAAM,GAAG,EAAE;OAAE;OAAG,GAAG,KAAK,MAAM,EAAE;OAAC,EAAE;OAAC,GAAG,KAAK,MAAM,GAAG,EAAE;OAAE;OAAI,GAAG,KAAK,MAAM,EAAE;OAAC,CAAC;AAC/F,eAAS,UAAU;OAAE,KAAK,KAAK;OAAI,OAAO;OAAS;AACnD;;AAEF,iBAAY,GAAG,CAAC,QAAQ,SAAS,WAAW,OAAO,GAAG,CAAC;;IAEzD,wBAAwB,SAAS,GAAG,EAAE,OAAO,QAAQ,CAAC;IACtD,eAAe,OAAO,MAAM,UAAU;KACpC,MAAM,QAAQ,KAAK,KAAK,MAAM,QAAQ,QAAQ,MAAM,EAAE,CAAC,CAAC,QAAQ,MAAM,MAAM,KAAA,EAAU;KACtF,MAAM,UAAU,QAAQ,MAAM,QAAQ,QAAQ,MAAM,MAAM,IAAI,OAAO,KAAK;AAC1E,SAAI,MAAM,UAAU,CAAC,MAAO,aAAY,GAAG,OAAO,OAAO,QAAQ;UAC5D;AACH,UAAI,MAAM,OAAQ,aAAY;AAC9B,WAAK,MAAM,CAAC,GAAG,MAAM,EAAE,EAAE,QAAQ;AACjC,eAAS,UAAU;OAAE,KAAK,KAAK;OAAI;OAAO;;;IAG9C,SAAS,MAAM,QAAQ,GAAG,GAAG,KAAK;IAClC,SAAS,MAAM;KACb,MAAM,IAAI,IAAI;AACd,SAAI,KAAK,KAAK,IAAI,EAAG,UAAS,GAAG,IAAI,IAAI,QAAQ,QAAQ;;IAE3D,mBAAmB,UAAU,EAAE;IAC/B,gBAAgB,SAAS,GAAG,EAAE,MAAM,MAAM,CAAC;IAC3C,aAAa,MAAM,QAAQ,GAAG,EAAE;IAChC,EAlDK,KAAK,GAkDV,CACF;GACC,CAAA,EACJ,KAAK,KACL,EAAA,CAAA,GACD,MACH,WAAY,IAAI,OAAO,oBAAC,QAAD;GAAM,WAAU;aAA4B;GAAwB,CAAA,GAC1F,qBAAC,QAAD;GAAQ,KAAK;GAAQ,MAAK;GAAK,SAAQ;GAAQ,WAAU;GAAiC,UAAU,oBAAC,UAAD,EAAU,QAAQ,KAAO,CAAA;GAAE,UAAU;GAAO,SAAS;aAAzJ,CAA8J,QACvJ,KACE;KAEP;;;AAIV,SAAS,QAAQ,EACf,QAAQ,MAAM,OAAO,OAAO,MAAM,MAAM,SAAS,UAAU,UAAU,SAAS,SAAS,QAAQ,WAAW,KAAK,UAC/G,UAAU,QAAQ,SAAS,kBAAkB,cAAc,QAAQ,QAAQ,aAAa,UAAU,cAQjG;CACD,MAAM,aAAa,KAAK,WAAW;CACnC,MAAM,OAAO,QAAQ,KAAK,KAAK;CAE/B,MAAM,CAAC,OAAO,YAAY,MAAM,SAAwB,KAAK;CAC7D,MAAM,QAAQ,SAAS;CACvB,MAAM,QAAQ,GAAG,IAAI,KAAK,CAAC,GAAG,QAAQ,EAAE,MAAM;CAC9C,MAAM,OAAO,OAAO,IAAI,KAAK,SAAS,KAAK,GAAG,KAAK,MAAM,GAAG,GAAG,CAAC,KAAK,KAAK,KAAK,GAAG,KAAK,GAAG,QAAQ;AAClG,QACE,qBAAC,MAAD;EACE,KAAK,KAAK,SAAS,OAAO;EAC1B,OAAO,KAAK,MAAM,OAAO;EACzB,kBAAgB;EAChB,WAAW,GAAG,4CAA4C,cAAc,mDAAmD;YAJ7H;GAMG,WAAW,OACV,oBAAC,UAAD;IACE,MAAK;IACL,cAAY,WAAW;IACvB,GAAI,KAAK,OAAO,OAAO;IACvB,WAAU;cAEV,oBAAC,kBAAD;KAAkB,WAAU;KAAW,QAAQ;KAAO,CAAA;IAC/C,CAAA;GAEX,oBAAC,OAAD;IAAK,WAAU;cACb,oBAAC,UAAD;KACE,KAAK;KACL,IAAI;KACJ,MAAM;KACN,OAAO;KACG;KACV,cAAY;KACZ,gBAAc,WAAW,KAAA;KACzB,aAAa,QAAQ,eAAe,IAAI,KAAK;KAC7C,WAAW,QAAQ,SAAS,WAAW,YAAY,QAAQ,SAAS,QAAQ,QAAQ,QAAQ,SAAS,UAAU,UAAU,KAAA;KACzH,YAAY,QAAQ,SAAS;KAC7B,cAAc;AACZ,eAAS,KAAK;AACd,cAAQ;;KAEV,WAAW,MAAM;MACf,MAAM,MAAM,EAAE,OAAO,MAAM,QAAQ,UAAU,IAAI;AACjD,UAAI,QAAQ,SAAS,UAAU;AAC7B,gBAAS,IAAI;OACb,MAAM,IAAI,QAAQ,UAAU,IAAI;AAChC,WAAI,MAAM,KAAA,EAAW,UAAS,EAAE;AAChC;;AAEF,eAAS,QAAQ,QAAQ,MAAM,IAAI,CAAC;;KAEtC,UAAU,MAAM;AACd,UAAI,SAAU;MACd,MAAM,OAAO,EAAE,cAAc,QAAQ,aAAa;AAClD,UAAI,CAAC,QAAQ,KAAK,KAAK,MAAM,CAAC,CAAE;MAChC,MAAM,QAAQ,KAAK,MAAM,QAAQ,CAAC,IAAI,YAAY,CAAC,OAAO,QAAQ;AAClE,UAAI,MAAM,SAAS,EAAG;AACtB,QAAE,gBAAgB;MAClB,MAAM,KAAK,EAAE;MACb,MAAM,SAAS,GAAG,MAAM,MAAM,GAAG,GAAG,eAAe;MACnD,MAAM,QAAQ,GAAG,MAAM,MAAM,GAAG,aAAa;MAC7C,MAAM,OAAO,MAAM,MAAM,EAAE;AAC3B,WAAK,KAAK,SAAS,KAAK,GAAG,KAAK,KAAK,SAAS,KAAK;AACnD,mBAAa,GAAG,SAAS,MAAM,MAAM,MAAM,OAAO,SAAS,MAAM,GAAG,OAAO;;KAE7E,YAAY,MAAM;AAChB,UAAI,YAAY,EAAE,YAAY,YAAa;MAC3C,MAAM,KAAK,EAAE;MACb,MAAM,UAAU,GAAG,mBAAmB,KAAK,GAAG,iBAAiB;MAC/D,MAAM,QAAQ,GAAG,mBAAmB,GAAG,MAAM,UAAU,GAAG,iBAAiB,GAAG,MAAM;AACpF,UAAI,EAAE,QAAQ,WAAW,CAAC,EAAE,YAAY,CAAC,EAAE,WAAW,CAAC,EAAE,SAAS;AAChE,SAAE,gBAAgB;AAClB,eAAQ,WAAW,GAAG,MAAM,SAAS,EAAE;iBAC9B,EAAE,QAAQ,eAAe,CAAC,GAAG,SAAS,WAAW;AAC1D,SAAE,gBAAgB;AAClB,yBAAkB;iBACT,EAAE,WAAW,EAAE,QAAQ,aAAa,EAAE,QAAQ,cAAc;AACrE,SAAE,gBAAgB;AAClB,cAAO,EAAE,QAAQ,YAAY,KAAK,EAAE;iBAC3B,EAAE,QAAQ,aAAa,WAAW,CAAC,EAAE;WAC1C,QAAQ,GAAG;AACb,UAAE,gBAAgB;AAClB,eAAO,GAAG;;iBAEH,EAAE,QAAQ,eAAe,SAAS,CAAC,EAAE;WAC1C,QAAQ,QAAQ,GAAG;AACrB,UAAE,gBAAgB;AAClB,eAAO,EAAE;;;;KAIf,WAAW,GAAG,YAAY,2BAA2B;KACrD,CAAA;IACE,CAAA;GACL,WAAW,OACV,qBAAC,MAAD,EAAA,UAAA,CACE,oBAAC,aAAD;IACE,cAAY,GAAG,IAAI,KAAK,CAAC,GAAG,QAAQ,EAAE;IACtC,WAAU;cAEV,oBAAC,UAAD;KAAU,WAAU;KAAS,QAAQ;KAAO,CAAA;IAChC,CAAA,EACd,qBAAC,aAAD;IAAa,OAAM;IAAM,WAAU;cAAnC;KACE,oBAAC,UAAD;MAAU,MAAM,oBAAC,UAAD,EAAU,QAAQ,KAAO,CAAA;MAAE,UAAU,CAAC;MAAQ,SAAS;gBAAc,SAAS,cAAc;MAAuC,CAAA;KACnJ,oBAAC,eAAD,EAAiB,CAAA;KACjB,oBAAC,UAAD;MAAU,MAAM,oBAAC,aAAD,EAAa,QAAQ,KAAO,CAAA;MAAE,UAAU,UAAU;MAAG,UAAS;MAAK,eAAe,WAAW,GAAG;gBAAE;MAAkB,CAAA;KACpI,oBAAC,UAAD;MAAU,MAAM,oBAAC,eAAD,EAAe,QAAQ,KAAO,CAAA;MAAE,UAAU,UAAU,QAAQ;MAAG,UAAS;MAAK,eAAe,WAAW,EAAE;gBAAE;MAAoB,CAAA;KAC/I,oBAAC,eAAD,EAAiB,CAAA;KACjB,oBAAC,UAAD;MAAU,QAAA;MAAO,MAAM,oBAAC,WAAD,EAAW,QAAQ,KAAO,CAAA;MAAE,UAAU,CAAC;MAAW,SAAS;gBAAW,YAAY,WAAW,qBAAqB,IAAI;MAAsB,CAAA;KACvJ;MACT,EAAA,CAAA;GAEN"}
@@ -0,0 +1,72 @@
1
+ /**
2
+ * KitField — renders ONE field of the schema at `path` (must be inside <SchemaForm>): the shell + the control for its
3
+ * type (V2 HEAD 9829bf1 kit/engine/kit-field.tsx).
4
+ *
5
+ * Arrays (array.tsx) and slots (slot.tsx) get their rows; objects open inline (FieldInset), drill (NavRow -> a frame),
6
+ * popover or dialog (NestedForm: its own navigation stack). Primitive types dispatch through the CONTROLS table, which
7
+ * the controls lanes fill. Every SchemaType has a control there; a type that is none of them (a schema newer than this
8
+ * kit) edits its raw value in the JSON control (FallbackControl), never nothing and never a stand-in.
9
+ */
10
+ import * as React from "react";
11
+ import type { ComponentType } from "react";
12
+ import type { FieldPath, FieldSchema, SchemaType } from "../schema/types";
13
+ import type { ControlProps } from "../types";
14
+ import { type NestedFormProps } from "./array";
15
+ export interface KitFieldProps {
16
+ field: FieldSchema;
17
+ path: (string | number)[];
18
+ parent?: Record<string, unknown>;
19
+ }
20
+ /** Type → control. Registered by the controls lane; a type with no entry edits its raw value (FallbackControl). */
21
+ export declare const CONTROLS: Partial<Record<SchemaType, ComponentType<ControlProps>>>;
22
+ /**
23
+ * Type → label-row action (DESIGN 4.4: slug Generate, rich text expand, table Edit in full screen), registered by the
24
+ * controls lane next to its control. It gets the control's props. V2 draws it only while the field is editable, except
25
+ * the types in ACTION_WHEN_READ_ONLY, whose action takes `readOnly` and decides for itself (slug Generate).
26
+ */
27
+ export declare const ACTIONS: Partial<Record<SchemaType, ComponentType<ControlProps>>>;
28
+ export declare const ACTION_WHEN_READ_ONLY: Set<SchemaType>;
29
+ /** D58: the field for the lens: read-only (plain text) when it can't edit it. Hidden fields never reach here
30
+ * (SchemaForm drops them from the schema). */
31
+ export declare function useFieldAccess(field: FieldSchema): {
32
+ readOnly: boolean;
33
+ };
34
+ /** CPO D39: the field's help line — schema text first, then a line computed from its settings, then the house convention. */
35
+ export declare function withDefaultHelp(field: FieldSchema, isPublished?: boolean, readOnly?: boolean): FieldSchema;
36
+ export declare function KitField({ field, path, parent }: KitFieldProps): import("react/jsx-runtime").JSX.Element | null;
37
+ /**
38
+ * A row that opens something (V2 NavRow): type tile, title over a summary line, the field's chrome (from RowChrome),
39
+ * the issue rollup and a chevron.
40
+ * Like V2 it always draws its button and chevron, also with no `onClick` (a popover trigger around it opens on the
41
+ * click). Only `inert` (the form draws no frames, so nothing can open) leaves both out.
42
+ */
43
+ export declare function NavRow({ icon, title, subtitle, path, onClick, inert, className, trailing, }: {
44
+ icon?: string;
45
+ title: string;
46
+ subtitle?: string;
47
+ path?: FieldPath;
48
+ onClick?: () => void;
49
+ inert?: boolean;
50
+ className?: string;
51
+ trailing?: React.ReactNode;
52
+ }): import("react/jsx-runtime").JSX.Element;
53
+ /**
54
+ * A dialog gets its OWN navigation stack: lists inside it drill inside the dialog (breadcrumb, Esc, stepper), never the
55
+ * panel behind. Writes go straight into the parent form at `path`.
56
+ */
57
+ export declare function NestedForm({ fields, title, icon, path, navRef }: NestedFormProps): import("react/jsx-runtime").JSX.Element;
58
+ export declare function plainOf(field: FieldSchema, value: unknown): string;
59
+ /**
60
+ * Every SchemaType has a kit control (kit-field.test checks CONTROLS against the type list in schema/types.ts). A field
61
+ * whose type is none of them edits its raw stored value in the JSON control, tagged `data-kit-fallback="<type>"`: the
62
+ * value is shown and kept, and an edit is written only once it parses.
63
+ */
64
+ export declare function FallbackControl(props: ControlProps): import("react/jsx-runtime").JSX.Element;
65
+ /**
66
+ * A control that cannot carry a stored value unchanged (rich text holding formatting its editor would drop) hands that
67
+ * value to the host's control for the type (KitServices.LegacyControl: the dashboard's FieldRenderer arm), bare inside
68
+ * the kit FieldShell, which owns the label and the help; the control names its reason above it. The box carries
69
+ * `data-kit-legacy="<type>"`, so the parity harness counts it (mismatch class `legacy-control`). A host with no legacy
70
+ * service, or a control that throws while rendering, says why in words; the form around it keeps working.
71
+ */
72
+ export declare function LegacyFallback(props: ControlProps): import("react/jsx-runtime").JSX.Element;