themelia-react-ui 0.0.0-stage → 1.0.1

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 (1367) hide show
  1. package/CHANGELOG.md +116 -0
  2. package/LICENSE +21 -0
  3. package/README.md +282 -2
  4. package/THIRD_PARTY_NOTICES.md +65 -0
  5. package/dist/accordion-B-5Focs8.js +205 -0
  6. package/dist/accordion-B-5Focs8.js.map +1 -0
  7. package/dist/action-menu-Cx3SdfbN.js +265 -0
  8. package/dist/action-menu-Cx3SdfbN.js.map +1 -0
  9. package/dist/action-presentation.js +11 -0
  10. package/dist/action-presentation.js.map +1 -0
  11. package/dist/affordance-geometry.generated-D8Jcfb0G.js +32 -0
  12. package/dist/affordance-geometry.generated-D8Jcfb0G.js.map +1 -0
  13. package/dist/ai-artifact-B5tPpXnS.js +1121 -0
  14. package/dist/ai-artifact-B5tPpXnS.js.map +1 -0
  15. package/dist/anchored-positioning-DPnKTvNs.js +6 -0
  16. package/dist/anchored-positioning-DPnKTvNs.js.map +1 -0
  17. package/dist/app-shell-at8Kt4l_.js +235 -0
  18. package/dist/app-shell-at8Kt4l_.js.map +1 -0
  19. package/dist/attachment-BO2R47wn.js +244 -0
  20. package/dist/attachment-BO2R47wn.js.map +1 -0
  21. package/dist/auth-OFwWSAap.js +704 -0
  22. package/dist/auth-OFwWSAap.js.map +1 -0
  23. package/dist/avatar-Bpzty83c.js +178 -0
  24. package/dist/avatar-Bpzty83c.js.map +1 -0
  25. package/dist/badge-BZXZT9wd.js +92 -0
  26. package/dist/badge-BZXZT9wd.js.map +1 -0
  27. package/dist/base/accordion.js +3 -0
  28. package/dist/base/action-menu.js +3 -0
  29. package/dist/base/attachment.js +3 -0
  30. package/dist/base/avatar.js +3 -0
  31. package/dist/base/badge.js +3 -0
  32. package/dist/base/buttons.js +3 -0
  33. package/dist/base/cards.js +4 -0
  34. package/dist/base/carousel.js +251 -0
  35. package/dist/base/carousel.js.map +1 -0
  36. package/dist/base/cascader.js +361 -0
  37. package/dist/base/cascader.js.map +1 -0
  38. package/dist/base/chart.js +3 -0
  39. package/dist/base/choice-inputs.js +4 -0
  40. package/dist/base/code-block.js +3 -0
  41. package/dist/base/combobox.js +3 -0
  42. package/dist/base/command.js +3 -0
  43. package/dist/base/copyable.js +3 -0
  44. package/dist/base/date-pickers.js +4 -0
  45. package/dist/base/display.js +8 -0
  46. package/dist/base/feedback.js +5 -0
  47. package/dist/base/forms-numeric.js +3 -0
  48. package/dist/base/forms.js +4 -0
  49. package/dist/base/inline-edit.js +236 -0
  50. package/dist/base/inline-edit.js.map +1 -0
  51. package/dist/base/item.js +3 -0
  52. package/dist/base/media-gallery.js +3 -0
  53. package/dist/base/navigation.js +8 -0
  54. package/dist/base/popover-menu.js +3 -0
  55. package/dist/base/popover.js +3 -0
  56. package/dist/base/qr-code.js +63 -0
  57. package/dist/base/qr-code.js.map +1 -0
  58. package/dist/base/repeaters.js +620 -0
  59. package/dist/base/repeaters.js.map +1 -0
  60. package/dist/base/sheet.js +3 -0
  61. package/dist/base/sidebar.js +3 -0
  62. package/dist/base/signature-pad.js +364 -0
  63. package/dist/base/signature-pad.js.map +1 -0
  64. package/dist/base/skeleton.js +3 -0
  65. package/dist/base/spinner.js +3 -0
  66. package/dist/base/structure.js +3 -0
  67. package/dist/base/table.js +3 -0
  68. package/dist/base/text-inputs.js +4 -0
  69. package/dist/base/toaster.js +102 -0
  70. package/dist/base/toaster.js.map +1 -0
  71. package/dist/base/tree.js +3 -0
  72. package/dist/base/upload-queue.js +3 -0
  73. package/dist/base/upload.js +5 -0
  74. package/dist/base/value-inputs.js +3 -0
  75. package/dist/blocks/admin.js +478 -0
  76. package/dist/blocks/admin.js.map +1 -0
  77. package/dist/blocks/ai.js +1021 -0
  78. package/dist/blocks/ai.js.map +1 -0
  79. package/dist/blocks/analytics/usage-card.js +3 -0
  80. package/dist/blocks/analytics.js +1500 -0
  81. package/dist/blocks/analytics.js.map +1 -0
  82. package/dist/blocks/collaboration.js +3 -0
  83. package/dist/blocks/commerce/receipt.js +3 -0
  84. package/dist/blocks/commerce.js +3393 -0
  85. package/dist/blocks/commerce.js.map +1 -0
  86. package/dist/blocks/data-display.js +3 -0
  87. package/dist/blocks/onboarding.js +128 -0
  88. package/dist/blocks/onboarding.js.map +1 -0
  89. package/dist/blocks/planning.js +311 -0
  90. package/dist/blocks/planning.js.map +1 -0
  91. package/dist/blocks/timelines.js +3 -0
  92. package/dist/breadcrumbs-DdQ_I5ra.js +127 -0
  93. package/dist/breadcrumbs-DdQ_I5ra.js.map +1 -0
  94. package/dist/button-BS6l5JUw.js +47 -0
  95. package/dist/button-BS6l5JUw.js.map +1 -0
  96. package/dist/buttons-Co6GavvM.js +674 -0
  97. package/dist/buttons-Co6GavvM.js.map +1 -0
  98. package/dist/cards-Cum56XOF.js +66 -0
  99. package/dist/cards-Cum56XOF.js.map +1 -0
  100. package/dist/chart-DVfcwQu6.js +149 -0
  101. package/dist/chart-DVfcwQu6.js.map +1 -0
  102. package/dist/checkbox-BavDRjF7.js +34 -0
  103. package/dist/checkbox-BavDRjF7.js.map +1 -0
  104. package/dist/choice-inputs-CC7XqPQO.js +619 -0
  105. package/dist/choice-inputs-CC7XqPQO.js.map +1 -0
  106. package/dist/code-block-xHKbAJDj.js +183 -0
  107. package/dist/code-block-xHKbAJDj.js.map +1 -0
  108. package/dist/collapsible-DsnktFNv.js +81 -0
  109. package/dist/collapsible-DsnktFNv.js.map +1 -0
  110. package/dist/collection-content-C4fthJV_.js +53 -0
  111. package/dist/collection-content-C4fthJV_.js.map +1 -0
  112. package/dist/combobox-DEbdr-3u.js +273 -0
  113. package/dist/combobox-DEbdr-3u.js.map +1 -0
  114. package/dist/combobox-xv3yJbzl.js +850 -0
  115. package/dist/combobox-xv3yJbzl.js.map +1 -0
  116. package/dist/command-C0xe7u9B.js +421 -0
  117. package/dist/command-C0xe7u9B.js.map +1 -0
  118. package/dist/comments-DviPLnwy.js +1132 -0
  119. package/dist/comments-DviPLnwy.js.map +1 -0
  120. package/dist/component-vocabulary.js +26 -0
  121. package/dist/component-vocabulary.js.map +1 -0
  122. package/dist/components/base/accordion/accordion-variants.d.ts +36 -0
  123. package/dist/components/base/accordion/accordion.d.ts +20 -0
  124. package/dist/components/base/accordion/accordion.strings.d.ts +15 -0
  125. package/dist/components/base/accordion/accordion.types.d.ts +74 -0
  126. package/dist/components/base/accordion/index.d.ts +4 -0
  127. package/dist/components/base/accordion/smart-accordion.d.ts +7 -0
  128. package/dist/components/base/action-menu/action-menu.d.ts +147 -0
  129. package/dist/components/base/action-menu/action-menu.strings.d.ts +4 -0
  130. package/dist/components/base/action-menu/index.d.ts +11 -0
  131. package/dist/components/base/attachment/attachment.d.ts +17 -0
  132. package/dist/components/base/attachment/attachment.types.d.ts +49 -0
  133. package/dist/components/base/attachment/index.d.ts +2 -0
  134. package/dist/components/base/avatar/avatar.d.ts +24 -0
  135. package/dist/components/base/avatar/index.d.ts +14 -0
  136. package/dist/components/base/avatar/stacked-avatars.d.ts +39 -0
  137. package/dist/components/base/badge/badge.d.ts +22 -0
  138. package/dist/components/base/badge/badge.recipes.d.ts +20 -0
  139. package/dist/components/base/badge/index.d.ts +2 -0
  140. package/dist/components/base/buttons/base-button.d.ts +24 -0
  141. package/dist/components/base/buttons/button-group.d.ts +28 -0
  142. package/dist/components/base/buttons/button-group.recipes.d.ts +6 -0
  143. package/dist/components/base/buttons/button.d.ts +47 -0
  144. package/dist/components/base/buttons/button.recipes.d.ts +23 -0
  145. package/dist/components/base/buttons/button.variants.d.ts +8 -0
  146. package/dist/components/base/buttons/index.d.ts +7 -0
  147. package/dist/components/base/buttons/loader-button.d.ts +40 -0
  148. package/dist/components/base/buttons/text-button.d.ts +19 -0
  149. package/dist/components/base/buttons/tooltip-button.d.ts +7 -0
  150. package/dist/components/base/cards/card-actions.d.ts +41 -0
  151. package/dist/components/base/cards/card.recipes.d.ts +28 -0
  152. package/dist/components/base/cards/index.d.ts +5 -0
  153. package/dist/components/base/cards/partials/card-primitives.d.ts +21 -0
  154. package/dist/components/base/cards/partials/has-renderable-content.d.ts +8 -0
  155. package/dist/components/base/cards/partials/smart-card-actions-menu.d.ts +8 -0
  156. package/dist/components/base/cards/partials/smart-card-alert.d.ts +20 -0
  157. package/dist/components/base/cards/partials/smart-card-header-row.d.ts +33 -0
  158. package/dist/components/base/cards/partials/smart-card-skeleton.d.ts +16 -0
  159. package/dist/components/base/cards/smart-card.d.ts +9 -0
  160. package/dist/components/base/cards/smart-card.strings.d.ts +18 -0
  161. package/dist/components/base/cards/smart-card.tokens.d.ts +44 -0
  162. package/dist/components/base/cards/smart-card.types.d.ts +146 -0
  163. package/dist/components/base/carousel/carousel.d.ts +105 -0
  164. package/dist/components/base/carousel/carousel.strings.d.ts +6 -0
  165. package/dist/components/base/carousel/index.d.ts +2 -0
  166. package/dist/components/base/cascader/cascader.d.ts +2 -0
  167. package/dist/components/base/cascader/cascader.types.d.ts +57 -0
  168. package/dist/components/base/cascader/index.d.ts +2 -0
  169. package/dist/components/base/chart/chart.d.ts +99 -0
  170. package/dist/components/base/chart/index.d.ts +9 -0
  171. package/dist/components/base/choice-inputs/card-checkbox-group.d.ts +27 -0
  172. package/dist/components/base/choice-inputs/card-radio-group.d.ts +19 -0
  173. package/dist/components/base/choice-inputs/checkbox.d.ts +17 -0
  174. package/dist/components/base/choice-inputs/choice-types.d.ts +57 -0
  175. package/dist/components/base/choice-inputs/index.d.ts +28 -0
  176. package/dist/components/base/choice-inputs/list-radio-group.d.ts +13 -0
  177. package/dist/components/base/choice-inputs/pill-radio-group.d.ts +27 -0
  178. package/dist/components/base/choice-inputs/select-popup.d.ts +26 -0
  179. package/dist/components/base/choice-inputs/select.d.ts +94 -0
  180. package/dist/components/base/choice-inputs/switch-card.d.ts +36 -0
  181. package/dist/components/base/choice-inputs/switch.d.ts +38 -0
  182. package/dist/components/base/choice-inputs/toggle-field.d.ts +41 -0
  183. package/dist/components/base/code-block/code-block.d.ts +3 -0
  184. package/dist/components/base/code-block/code-block.types.d.ts +46 -0
  185. package/dist/components/base/code-block/index.d.ts +2 -0
  186. package/dist/components/base/code-block/use-code-copy.d.ts +6 -0
  187. package/dist/components/base/combobox/index.d.ts +27 -0
  188. package/dist/components/base/command/command.d.ts +73 -0
  189. package/dist/components/base/command/index.d.ts +1 -0
  190. package/dist/components/base/copyable/copyable.d.ts +36 -0
  191. package/dist/components/base/copyable/index.d.ts +1 -0
  192. package/dist/components/base/date-pickers/date-picker-footer.d.ts +14 -0
  193. package/dist/components/base/date-pickers/date-picker-header.d.ts +10 -0
  194. package/dist/components/base/date-pickers/date-picker-helpers.d.ts +87 -0
  195. package/dist/components/base/date-pickers/date-picker-internals.d.ts +10 -0
  196. package/dist/components/base/date-pickers/date-picker-multiple.d.ts +20 -0
  197. package/dist/components/base/date-pickers/date-picker-range.d.ts +15 -0
  198. package/dist/components/base/date-pickers/date-picker-single.d.ts +15 -0
  199. package/dist/components/base/date-pickers/date-picker.d.ts +3 -0
  200. package/dist/components/base/date-pickers/date-picker.recipes.d.ts +18 -0
  201. package/dist/components/base/date-pickers/date-pickers.strings.d.ts +14 -0
  202. package/dist/components/base/date-pickers/datepicker.types.d.ts +285 -0
  203. package/dist/components/base/date-pickers/index.d.ts +7 -0
  204. package/dist/components/base/date-pickers/month-year-picker.d.ts +4 -0
  205. package/dist/components/base/date-pickers/time-picker.d.ts +70 -0
  206. package/dist/components/base/display/alert-dialog.d.ts +25 -0
  207. package/dist/components/base/display/boolean-indicator.d.ts +25 -0
  208. package/dist/components/base/display/collapsible.d.ts +21 -0
  209. package/dist/components/base/display/content-block.d.ts +73 -0
  210. package/dist/components/base/display/content-block.strings.d.ts +5 -0
  211. package/dist/components/base/display/date-block.d.ts +70 -0
  212. package/dist/components/base/display/dialog.d.ts +35 -0
  213. package/dist/components/base/display/icon-badge/icon-badge.d.ts +45 -0
  214. package/dist/components/base/display/icon-badge/index.d.ts +1 -0
  215. package/dist/components/base/display/icon-size.d.ts +5 -0
  216. package/dist/components/base/display/index.d.ts +31 -0
  217. package/dist/components/base/display/placeholder-pattern.d.ts +7 -0
  218. package/dist/components/base/display/scroll-area.d.ts +12 -0
  219. package/dist/components/base/display/separator.d.ts +10 -0
  220. package/dist/components/base/display/surface-title.d.ts +10 -0
  221. package/dist/components/base/display/tooltip.d.ts +28 -0
  222. package/dist/components/base/display/visually-hidden.d.ts +14 -0
  223. package/dist/components/base/feedback/alert.d.ts +49 -0
  224. package/dist/components/base/feedback/empty.d.ts +48 -0
  225. package/dist/components/base/feedback/index.d.ts +27 -0
  226. package/dist/components/base/feedback/progress.d.ts +81 -0
  227. package/dist/components/base/feedback/progress.strings.d.ts +5 -0
  228. package/dist/components/base/feedback/state-display.d.ts +39 -0
  229. package/dist/components/base/forms/controlled-form-field.d.ts +32 -0
  230. package/dist/components/base/forms/controlled-form-field.strings.d.ts +7 -0
  231. package/dist/components/base/forms/form-field.d.ts +38 -0
  232. package/dist/components/base/forms/form-sizing.d.ts +86 -0
  233. package/dist/components/base/forms/index.d.ts +4 -0
  234. package/dist/components/base/forms/operation-password-form.d.ts +16 -0
  235. package/dist/components/base/forms/workflow.d.ts +68 -0
  236. package/dist/components/base/forms-numeric/coordinates-input.d.ts +47 -0
  237. package/dist/components/base/forms-numeric/currency-input.d.ts +44 -0
  238. package/dist/components/base/forms-numeric/decimal-input.d.ts +53 -0
  239. package/dist/components/base/forms-numeric/dimensions-input.d.ts +79 -0
  240. package/dist/components/base/forms-numeric/index.d.ts +21 -0
  241. package/dist/components/base/forms-numeric/money-input.d.ts +67 -0
  242. package/dist/components/base/forms-numeric/money-input.strings.d.ts +6 -0
  243. package/dist/components/base/forms-numeric/percentage-input.d.ts +8 -0
  244. package/dist/components/base/forms-numeric/rounding-mode-select.d.ts +12 -0
  245. package/dist/components/base/forms-numeric/weight-input.d.ts +54 -0
  246. package/dist/components/base/inline-edit/index.d.ts +2 -0
  247. package/dist/components/base/inline-edit/inline-edit.d.ts +81 -0
  248. package/dist/components/base/inline-edit/inline-edit.recipes.d.ts +6 -0
  249. package/dist/components/base/item/index.d.ts +2 -0
  250. package/dist/components/base/item/item.d.ts +12 -0
  251. package/dist/components/base/item/item.types.d.ts +100 -0
  252. package/dist/components/base/media-gallery/index.d.ts +2 -0
  253. package/dist/components/base/media-gallery/media-gallery.d.ts +45 -0
  254. package/dist/components/base/navigation/breadcrumbs.d.ts +37 -0
  255. package/dist/components/base/navigation/dropdown-menu.d.ts +45 -0
  256. package/dist/components/base/navigation/index.d.ts +21 -0
  257. package/dist/components/base/navigation/language-switcher.d.ts +12 -0
  258. package/dist/components/base/navigation/navigation-tabs.d.ts +40 -0
  259. package/dist/components/base/navigation/overflow-tab-bar.d.ts +43 -0
  260. package/dist/components/base/navigation/page-header/index.d.ts +1 -0
  261. package/dist/components/base/navigation/page-header/page-header.d.ts +88 -0
  262. package/dist/components/base/navigation/pagination.d.ts +61 -0
  263. package/dist/components/base/navigation/tab-scroll-viewport.d.ts +12 -0
  264. package/dist/components/base/navigation/tabs.d.ts +23 -0
  265. package/dist/components/base/popover/collection-content.d.ts +22 -0
  266. package/dist/components/base/popover/index.d.ts +1 -0
  267. package/dist/components/base/popover/popover.d.ts +54 -0
  268. package/dist/components/base/popover/popover.recipes.d.ts +29 -0
  269. package/dist/components/base/popover-menu/index.d.ts +3 -0
  270. package/dist/components/base/popover-menu/popover-menu.d.ts +82 -0
  271. package/dist/components/base/popover-menu/popover-menu.types.d.ts +30 -0
  272. package/dist/components/base/qr-code/index.d.ts +8 -0
  273. package/dist/components/base/qr-code/qr-code.d.ts +13 -0
  274. package/dist/components/base/repeaters/index.d.ts +21 -0
  275. package/dist/components/base/repeaters/key-value-editor.d.ts +27 -0
  276. package/dist/components/base/repeaters/localized-object-field.d.ts +35 -0
  277. package/dist/components/base/repeaters/localized-string-field.d.ts +25 -0
  278. package/dist/components/base/repeaters/localized-string-repeater.d.ts +44 -0
  279. package/dist/components/base/repeaters/object-repeater.d.ts +66 -0
  280. package/dist/components/base/repeaters/repeater.d.ts +87 -0
  281. package/dist/components/base/repeaters/repeaters.strings.d.ts +16 -0
  282. package/dist/components/base/repeaters/string-repeater.d.ts +65 -0
  283. package/dist/components/base/repeaters/string-repeater.utils.d.ts +2 -0
  284. package/dist/components/base/sheet/index.d.ts +1 -0
  285. package/dist/components/base/sheet/sheet.d.ts +35 -0
  286. package/dist/components/base/sidebar/index.d.ts +6 -0
  287. package/dist/components/base/sidebar/sidebar.d.ts +135 -0
  288. package/dist/components/base/signature-pad/index.d.ts +4 -0
  289. package/dist/components/base/signature-pad/signature-pad.d.ts +4 -0
  290. package/dist/components/base/signature-pad/signature-pad.types.d.ts +66 -0
  291. package/dist/components/base/signature-pad/signature-pad.utils.d.ts +8 -0
  292. package/dist/components/base/skeleton/index.d.ts +14 -0
  293. package/dist/components/base/skeleton/skeleton.d.ts +54 -0
  294. package/dist/components/base/spinner/index.d.ts +1 -0
  295. package/dist/components/base/spinner/spinner.d.ts +32 -0
  296. package/dist/components/base/structure/adaptive-grid.d.ts +3 -0
  297. package/dist/components/base/structure/grid-cell.d.ts +3 -0
  298. package/dist/components/base/structure/grid.d.ts +3 -0
  299. package/dist/components/base/structure/index.d.ts +5 -0
  300. package/dist/components/base/structure/stack.d.ts +3 -0
  301. package/dist/components/base/structure/structure.context.d.ts +6 -0
  302. package/dist/components/base/structure/structure.recipes.d.ts +33 -0
  303. package/dist/components/base/structure/structure.responsive.d.ts +5 -0
  304. package/dist/components/base/structure/structure.types.d.ts +51 -0
  305. package/dist/components/base/table/index.d.ts +18 -0
  306. package/dist/components/base/text-inputs/hooks/index.d.ts +1 -0
  307. package/dist/components/base/text-inputs/hooks/use-form-field-state.d.ts +48 -0
  308. package/dist/components/base/text-inputs/index.d.ts +21 -0
  309. package/dist/components/base/text-inputs/input-group.d.ts +46 -0
  310. package/dist/components/base/text-inputs/input.d.ts +45 -0
  311. package/dist/components/base/text-inputs/password-input.d.ts +28 -0
  312. package/dist/components/base/text-inputs/slug-field.d.ts +21 -0
  313. package/dist/components/base/text-inputs/textarea.d.ts +37 -0
  314. package/dist/components/base/toaster/index.d.ts +1 -0
  315. package/dist/components/base/toaster/toaster.d.ts +6 -0
  316. package/dist/components/base/tree/hierarchy.d.ts +11 -0
  317. package/dist/components/base/tree/index.d.ts +2 -0
  318. package/dist/components/base/tree/tree.d.ts +3 -0
  319. package/dist/components/base/tree/tree.types.d.ts +47 -0
  320. package/dist/components/base/upload/avatar-upload.d.ts +39 -0
  321. package/dist/components/base/upload/dropzone.d.ts +40 -0
  322. package/dist/components/base/upload/file-picker-input.d.ts +15 -0
  323. package/dist/components/base/upload/file-upload.d.ts +9 -0
  324. package/dist/components/base/upload/file-upload.strings.d.ts +18 -0
  325. package/dist/components/base/upload/file-upload.types.d.ts +68 -0
  326. package/dist/components/base/upload/file-upload.validation.d.ts +21 -0
  327. package/dist/components/base/upload/image-upload.d.ts +57 -0
  328. package/dist/components/base/upload/index.d.ts +26 -0
  329. package/dist/components/base/upload/use-file-drop-target.d.ts +22 -0
  330. package/dist/components/base/upload-queue/index.d.ts +3 -0
  331. package/dist/components/base/upload-queue/upload-progress-list.d.ts +55 -0
  332. package/dist/components/base/upload-queue/upload-tray.d.ts +46 -0
  333. package/dist/components/base/value-inputs/color-input.d.ts +26 -0
  334. package/dist/components/base/value-inputs/date-time-input.d.ts +19 -0
  335. package/dist/components/base/value-inputs/index.d.ts +25 -0
  336. package/dist/components/base/value-inputs/phone-input.d.ts +48 -0
  337. package/dist/components/base/value-inputs/slider.d.ts +59 -0
  338. package/dist/components/base/value-inputs/tags-input.d.ts +67 -0
  339. package/dist/components/blocks/admin/action-surfaces/index.d.ts +127 -0
  340. package/dist/components/blocks/admin/admin.strings.d.ts +11 -0
  341. package/dist/components/blocks/admin/api-key-list/api-key-list.d.ts +2 -0
  342. package/dist/components/blocks/admin/api-key-list/api-key-list.strings.d.ts +16 -0
  343. package/dist/components/blocks/admin/api-key-list/api-key-list.types.d.ts +58 -0
  344. package/dist/components/blocks/admin/api-key-list/index.d.ts +3 -0
  345. package/dist/components/blocks/admin/index.d.ts +4 -0
  346. package/dist/components/blocks/admin/role-permission/index.d.ts +2 -0
  347. package/dist/components/blocks/admin/role-permission/role-permission.d.ts +5 -0
  348. package/dist/components/blocks/admin/role-permission/types.d.ts +26 -0
  349. package/dist/components/blocks/ai/ai-agent/ai-agent.d.ts +5 -0
  350. package/dist/components/blocks/ai/ai-agent/index.d.ts +2 -0
  351. package/dist/components/blocks/ai/ai-agent/types.d.ts +30 -0
  352. package/dist/components/blocks/ai/ai-artifact/ai-artifact.d.ts +5 -0
  353. package/dist/components/blocks/ai/ai-artifact/index.d.ts +2 -0
  354. package/dist/components/blocks/ai/ai-artifact/types.d.ts +50 -0
  355. package/dist/components/blocks/ai/ai-attachment/ai-attachment.d.ts +5 -0
  356. package/dist/components/blocks/ai/ai-attachment/index.d.ts +2 -0
  357. package/dist/components/blocks/ai/ai-attachment/types.d.ts +35 -0
  358. package/dist/components/blocks/ai/ai-chain-of-thought/ai-chain-of-thought.d.ts +5 -0
  359. package/dist/components/blocks/ai/ai-chain-of-thought/index.d.ts +2 -0
  360. package/dist/components/blocks/ai/ai-chain-of-thought/types.d.ts +36 -0
  361. package/dist/components/blocks/ai/ai-citation/ai-citation.d.ts +5 -0
  362. package/dist/components/blocks/ai/ai-citation/index.d.ts +2 -0
  363. package/dist/components/blocks/ai/ai-citation/types.d.ts +38 -0
  364. package/dist/components/blocks/ai/ai-classification/ai-classification.d.ts +2 -0
  365. package/dist/components/blocks/ai/ai-classification/index.d.ts +2 -0
  366. package/dist/components/blocks/ai/ai-classification/types.d.ts +27 -0
  367. package/dist/components/blocks/ai/ai-code-block/ai-code-block.d.ts +6 -0
  368. package/dist/components/blocks/ai/ai-code-block/index.d.ts +2 -0
  369. package/dist/components/blocks/ai/ai-code-block/types.d.ts +38 -0
  370. package/dist/components/blocks/ai/ai-confidence/ai-confidence.d.ts +5 -0
  371. package/dist/components/blocks/ai/ai-confidence/index.d.ts +2 -0
  372. package/dist/components/blocks/ai/ai-confidence/types.d.ts +25 -0
  373. package/dist/components/blocks/ai/ai-confirmation/ai-confirmation.d.ts +5 -0
  374. package/dist/components/blocks/ai/ai-confirmation/index.d.ts +2 -0
  375. package/dist/components/blocks/ai/ai-confirmation/types.d.ts +40 -0
  376. package/dist/components/blocks/ai/ai-feedback/ai-feedback.d.ts +5 -0
  377. package/dist/components/blocks/ai/ai-feedback/index.d.ts +2 -0
  378. package/dist/components/blocks/ai/ai-feedback/types.d.ts +24 -0
  379. package/dist/components/blocks/ai/ai-file-tree/ai-file-tree.d.ts +5 -0
  380. package/dist/components/blocks/ai/ai-file-tree/index.d.ts +2 -0
  381. package/dist/components/blocks/ai/ai-file-tree/types.d.ts +59 -0
  382. package/dist/components/blocks/ai/ai-inline-citation/ai-inline-citation.d.ts +5 -0
  383. package/dist/components/blocks/ai/ai-inline-citation/index.d.ts +2 -0
  384. package/dist/components/blocks/ai/ai-inline-citation/types.d.ts +22 -0
  385. package/dist/components/blocks/ai/ai-message-bubble/ai-message-bubble.d.ts +6 -0
  386. package/dist/components/blocks/ai/ai-message-bubble/index.d.ts +2 -0
  387. package/dist/components/blocks/ai/ai-message-bubble/types.d.ts +35 -0
  388. package/dist/components/blocks/ai/ai-package-info/ai-package-info.d.ts +5 -0
  389. package/dist/components/blocks/ai/ai-package-info/index.d.ts +2 -0
  390. package/dist/components/blocks/ai/ai-package-info/types.d.ts +39 -0
  391. package/dist/components/blocks/ai/ai-prompt-suggestions/ai-prompt-suggestions.d.ts +5 -0
  392. package/dist/components/blocks/ai/ai-prompt-suggestions/index.d.ts +2 -0
  393. package/dist/components/blocks/ai/ai-prompt-suggestions/types.d.ts +26 -0
  394. package/dist/components/blocks/ai/ai-reasoning/ai-reasoning.d.ts +5 -0
  395. package/dist/components/blocks/ai/ai-reasoning/index.d.ts +2 -0
  396. package/dist/components/blocks/ai/ai-reasoning/types.d.ts +32 -0
  397. package/dist/components/blocks/ai/ai-shimmer/ai-shimmer.d.ts +5 -0
  398. package/dist/components/blocks/ai/ai-shimmer/index.d.ts +2 -0
  399. package/dist/components/blocks/ai/ai-shimmer/types.d.ts +11 -0
  400. package/dist/components/blocks/ai/ai-sources/ai-sources.d.ts +5 -0
  401. package/dist/components/blocks/ai/ai-sources/index.d.ts +2 -0
  402. package/dist/components/blocks/ai/ai-sources/types.d.ts +44 -0
  403. package/dist/components/blocks/ai/ai-summary/ai-summary.d.ts +2 -0
  404. package/dist/components/blocks/ai/ai-summary/index.d.ts +2 -0
  405. package/dist/components/blocks/ai/ai-summary/types.d.ts +32 -0
  406. package/dist/components/blocks/ai/ai-task/ai-task.d.ts +5 -0
  407. package/dist/components/blocks/ai/ai-task/index.d.ts +2 -0
  408. package/dist/components/blocks/ai/ai-task/types.d.ts +38 -0
  409. package/dist/components/blocks/ai/ai-token-usage/ai-token-usage.d.ts +5 -0
  410. package/dist/components/blocks/ai/ai-token-usage/index.d.ts +2 -0
  411. package/dist/components/blocks/ai/ai-token-usage/types.d.ts +22 -0
  412. package/dist/components/blocks/ai/ai-tool-call/ai-tool-call.d.ts +5 -0
  413. package/dist/components/blocks/ai/ai-tool-call/index.d.ts +2 -0
  414. package/dist/components/blocks/ai/ai-tool-call/types.d.ts +38 -0
  415. package/dist/components/blocks/ai/ai.strings.d.ts +36 -0
  416. package/dist/components/blocks/ai/index.d.ts +24 -0
  417. package/dist/components/blocks/ai/use-copy-feedback.d.ts +6 -0
  418. package/dist/components/blocks/analytics/activity-heatmap/activity-heatmap.d.ts +5 -0
  419. package/dist/components/blocks/analytics/activity-heatmap/index.d.ts +2 -0
  420. package/dist/components/blocks/analytics/activity-heatmap/types.d.ts +20 -0
  421. package/dist/components/blocks/analytics/analytics.strings.d.ts +35 -0
  422. package/dist/components/blocks/analytics/atoms/metric-skeleton.d.ts +13 -0
  423. package/dist/components/blocks/analytics/atoms/metric-sparkline.d.ts +15 -0
  424. package/dist/components/blocks/analytics/atoms/metric-trend-chip.d.ts +15 -0
  425. package/dist/components/blocks/analytics/chart-card/chart-card.d.ts +42 -0
  426. package/dist/components/blocks/analytics/chart-card/index.d.ts +1 -0
  427. package/dist/components/blocks/analytics/format-metric-value.d.ts +8 -0
  428. package/dist/components/blocks/analytics/index.d.ts +35 -0
  429. package/dist/components/blocks/analytics/metric/index.d.ts +1 -0
  430. package/dist/components/blocks/analytics/metric/metric.d.ts +28 -0
  431. package/dist/components/blocks/analytics/metric-bar/index.d.ts +1 -0
  432. package/dist/components/blocks/analytics/metric-bar/metric-bar.d.ts +22 -0
  433. package/dist/components/blocks/analytics/metric-comparison/index.d.ts +1 -0
  434. package/dist/components/blocks/analytics/metric-comparison/metric-comparison.d.ts +26 -0
  435. package/dist/components/blocks/analytics/metric-gradient/index.d.ts +1 -0
  436. package/dist/components/blocks/analytics/metric-gradient/metric-gradient.d.ts +19 -0
  437. package/dist/components/blocks/analytics/metric-grid/index.d.ts +1 -0
  438. package/dist/components/blocks/analytics/metric-grid/metric-grid.d.ts +33 -0
  439. package/dist/components/blocks/analytics/metric-micro-grid/index.d.ts +1 -0
  440. package/dist/components/blocks/analytics/metric-micro-grid/metric-micro-grid.d.ts +23 -0
  441. package/dist/components/blocks/analytics/time-ruler/index.d.ts +2 -0
  442. package/dist/components/blocks/analytics/time-ruler/time-ruler.d.ts +5 -0
  443. package/dist/components/blocks/analytics/time-ruler/types.d.ts +32 -0
  444. package/dist/components/blocks/analytics/types.d.ts +83 -0
  445. package/dist/components/blocks/analytics/usage-card/index.d.ts +3 -0
  446. package/dist/components/blocks/analytics/usage-card/types.d.ts +52 -0
  447. package/dist/components/blocks/analytics/usage-card/usage-card.d.ts +6 -0
  448. package/dist/components/blocks/analytics/usage-card/usage-card.data.d.ts +19 -0
  449. package/dist/components/blocks/analytics/usage-card/usage-card.strings.d.ts +22 -0
  450. package/dist/components/blocks/collaboration/index.d.ts +1 -0
  451. package/dist/components/blocks/collaboration/message/index.d.ts +2 -0
  452. package/dist/components/blocks/collaboration/message/message.d.ts +8 -0
  453. package/dist/components/blocks/collaboration/message/message.types.d.ts +30 -0
  454. package/dist/components/blocks/commerce/address-card/address-card.d.ts +5 -0
  455. package/dist/components/blocks/commerce/address-card/index.d.ts +2 -0
  456. package/dist/components/blocks/commerce/address-card/types.d.ts +43 -0
  457. package/dist/components/blocks/commerce/booking-calendar-event-card/booking-calendar-event-card.d.ts +12 -0
  458. package/dist/components/blocks/commerce/booking-calendar-event-card/booking-calendar-event-card.types.d.ts +36 -0
  459. package/dist/components/blocks/commerce/booking-calendar-event-card/index.d.ts +2 -0
  460. package/dist/components/blocks/commerce/cart-summary/cart-summary.d.ts +5 -0
  461. package/dist/components/blocks/commerce/cart-summary/index.d.ts +2 -0
  462. package/dist/components/blocks/commerce/cart-summary/types.d.ts +53 -0
  463. package/dist/components/blocks/commerce/coupon-input/coupon-input.d.ts +5 -0
  464. package/dist/components/blocks/commerce/coupon-input/index.d.ts +2 -0
  465. package/dist/components/blocks/commerce/coupon-input/types.d.ts +35 -0
  466. package/dist/components/blocks/commerce/discount-stack/discount-stack.d.ts +5 -0
  467. package/dist/components/blocks/commerce/discount-stack/index.d.ts +2 -0
  468. package/dist/components/blocks/commerce/discount-stack/types.d.ts +27 -0
  469. package/dist/components/blocks/commerce/format-signed-amount.d.ts +22 -0
  470. package/dist/components/blocks/commerce/giftcard-card/giftcard-card.d.ts +62 -0
  471. package/dist/components/blocks/commerce/giftcard-card/index.d.ts +2 -0
  472. package/dist/components/blocks/commerce/giftcard-card/partials/giftcard-compact.d.ts +10 -0
  473. package/dist/components/blocks/commerce/giftcard-card/partials/giftcard-copy-button.d.ts +9 -0
  474. package/dist/components/blocks/commerce/giftcard-card/partials/giftcard-dark.d.ts +7 -0
  475. package/dist/components/blocks/commerce/giftcard-card/partials/giftcard-full.d.ts +11 -0
  476. package/dist/components/blocks/commerce/giftcard-card/partials/giftcard-illustrated.d.ts +10 -0
  477. package/dist/components/blocks/commerce/giftcard-card/partials/giftcard-minimal.d.ts +10 -0
  478. package/dist/components/blocks/commerce/giftcard-card/types.d.ts +83 -0
  479. package/dist/components/blocks/commerce/index.d.ts +34 -0
  480. package/dist/components/blocks/commerce/inventory-level/index.d.ts +3 -0
  481. package/dist/components/blocks/commerce/inventory-level/inventory-level.d.ts +5 -0
  482. package/dist/components/blocks/commerce/inventory-level/inventory-level.strings.d.ts +10 -0
  483. package/dist/components/blocks/commerce/inventory-level/types.d.ts +20 -0
  484. package/dist/components/blocks/commerce/inventory-section/index.d.ts +2 -0
  485. package/dist/components/blocks/commerce/inventory-section/inventory-section.d.ts +5 -0
  486. package/dist/components/blocks/commerce/inventory-section/types.d.ts +105 -0
  487. package/dist/components/blocks/commerce/invoice-header/index.d.ts +2 -0
  488. package/dist/components/blocks/commerce/invoice-header/invoice-header.d.ts +5 -0
  489. package/dist/components/blocks/commerce/invoice-header/types.d.ts +51 -0
  490. package/dist/components/blocks/commerce/invoice-line-items/index.d.ts +2 -0
  491. package/dist/components/blocks/commerce/invoice-line-items/invoice-line-items.d.ts +5 -0
  492. package/dist/components/blocks/commerce/invoice-line-items/types.d.ts +64 -0
  493. package/dist/components/blocks/commerce/invoice-mini/index.d.ts +2 -0
  494. package/dist/components/blocks/commerce/invoice-mini/invoice-mini.d.ts +5 -0
  495. package/dist/components/blocks/commerce/invoice-mini/types.d.ts +28 -0
  496. package/dist/components/blocks/commerce/loyalty-points/index.d.ts +2 -0
  497. package/dist/components/blocks/commerce/loyalty-points/loyalty-points.d.ts +5 -0
  498. package/dist/components/blocks/commerce/loyalty-points/types.d.ts +32 -0
  499. package/dist/components/blocks/commerce/order-status/index.d.ts +2 -0
  500. package/dist/components/blocks/commerce/order-status/order-status.d.ts +5 -0
  501. package/dist/components/blocks/commerce/order-status/types.d.ts +35 -0
  502. package/dist/components/blocks/commerce/order-timeline/index.d.ts +2 -0
  503. package/dist/components/blocks/commerce/order-timeline/order-timeline.d.ts +5 -0
  504. package/dist/components/blocks/commerce/order-timeline/types.d.ts +22 -0
  505. package/dist/components/blocks/commerce/payment-method/index.d.ts +2 -0
  506. package/dist/components/blocks/commerce/payment-method/payment-method.d.ts +5 -0
  507. package/dist/components/blocks/commerce/payment-method/types.d.ts +33 -0
  508. package/dist/components/blocks/commerce/payment-timeline/index.d.ts +2 -0
  509. package/dist/components/blocks/commerce/payment-timeline/payment-timeline.d.ts +5 -0
  510. package/dist/components/blocks/commerce/payment-timeline/types.d.ts +15 -0
  511. package/dist/components/blocks/commerce/receipt/index.d.ts +3 -0
  512. package/dist/components/blocks/commerce/receipt/receipt-items.d.ts +2 -0
  513. package/dist/components/blocks/commerce/receipt/receipt.d.ts +3 -0
  514. package/dist/components/blocks/commerce/receipt/types.d.ts +42 -0
  515. package/dist/components/blocks/commerce/refund-status/index.d.ts +2 -0
  516. package/dist/components/blocks/commerce/refund-status/refund-status.d.ts +5 -0
  517. package/dist/components/blocks/commerce/refund-status/types.d.ts +37 -0
  518. package/dist/components/blocks/commerce/seo-listing/index.d.ts +3 -0
  519. package/dist/components/blocks/commerce/seo-listing/seo-listing-card.d.ts +5 -0
  520. package/dist/components/blocks/commerce/seo-listing/seo-listing-score.d.ts +5 -0
  521. package/dist/components/blocks/commerce/seo-listing/types.d.ts +92 -0
  522. package/dist/components/blocks/commerce/shipment-tracking/index.d.ts +2 -0
  523. package/dist/components/blocks/commerce/shipment-tracking/shipment-tracking.d.ts +5 -0
  524. package/dist/components/blocks/commerce/shipment-tracking/types.d.ts +44 -0
  525. package/dist/components/blocks/commerce/subscription-summary/index.d.ts +2 -0
  526. package/dist/components/blocks/commerce/subscription-summary/subscription-summary.d.ts +5 -0
  527. package/dist/components/blocks/commerce/subscription-summary/types.d.ts +39 -0
  528. package/dist/components/blocks/commerce/tax-breakdown/index.d.ts +2 -0
  529. package/dist/components/blocks/commerce/tax-breakdown/tax-breakdown.d.ts +5 -0
  530. package/dist/components/blocks/commerce/tax-breakdown/types.d.ts +34 -0
  531. package/dist/components/blocks/commerce/upcoming-booking/index.d.ts +2 -0
  532. package/dist/components/blocks/commerce/upcoming-booking/types.d.ts +29 -0
  533. package/dist/components/blocks/commerce/upcoming-booking/upcoming-booking.d.ts +5 -0
  534. package/dist/components/blocks/commerce/vendor-profile/index.d.ts +3 -0
  535. package/dist/components/blocks/commerce/vendor-profile/types.d.ts +86 -0
  536. package/dist/components/blocks/commerce/vendor-profile/vendor-profile.d.ts +2 -0
  537. package/dist/components/blocks/commerce/voucher-entry/index.d.ts +2 -0
  538. package/dist/components/blocks/commerce/voucher-entry/types.d.ts +33 -0
  539. package/dist/components/blocks/commerce/voucher-entry/voucher-entry.d.ts +5 -0
  540. package/dist/components/blocks/data-display/dense-info-card/dense-info.strings.d.ts +6 -0
  541. package/dist/components/blocks/data-display/dense-info-card/helpers.d.ts +19 -0
  542. package/dist/components/blocks/data-display/dense-info-card/index.d.ts +7 -0
  543. package/dist/components/blocks/data-display/dense-info-card/partials/dense-info-classification.d.ts +5 -0
  544. package/dist/components/blocks/data-display/dense-info-card/partials/dense-info-dashboard.d.ts +5 -0
  545. package/dist/components/blocks/data-display/dense-info-card/partials/dense-info-financial.d.ts +5 -0
  546. package/dist/components/blocks/data-display/dense-info-card/partials/dense-info-project.d.ts +5 -0
  547. package/dist/components/blocks/data-display/dense-info-card/partials/dense-info-score.d.ts +5 -0
  548. package/dist/components/blocks/data-display/dense-info-card/types.d.ts +183 -0
  549. package/dist/components/blocks/data-display/empty-state/empty-state.d.ts +2 -0
  550. package/dist/components/blocks/data-display/empty-state/empty-state.strings.d.ts +19 -0
  551. package/dist/components/blocks/data-display/empty-state/empty-state.types.d.ts +86 -0
  552. package/dist/components/blocks/data-display/empty-state/index.d.ts +5 -0
  553. package/dist/components/blocks/data-display/empty-state/partials/illustrations/document-stack.d.ts +9 -0
  554. package/dist/components/blocks/data-display/empty-state/partials/illustrations/inbox-clean.d.ts +9 -0
  555. package/dist/components/blocks/data-display/empty-state/partials/illustrations/index.d.ts +25 -0
  556. package/dist/components/blocks/data-display/empty-state/partials/illustrations/search-glass.d.ts +9 -0
  557. package/dist/components/blocks/data-display/empty-state/partials/illustrations/stacked-cards.d.ts +11 -0
  558. package/dist/components/blocks/data-display/empty-state/partials/illustrations/types.d.ts +4 -0
  559. package/dist/components/blocks/data-display/empty-state/partials/illustrations/users-circle.d.ts +9 -0
  560. package/dist/components/blocks/data-display/index.d.ts +6 -0
  561. package/dist/components/blocks/data-display/inline-stat/index.d.ts +1 -0
  562. package/dist/components/blocks/data-display/inline-stat/inline-stat.d.ts +35 -0
  563. package/dist/components/blocks/data-display/metadata/index.d.ts +4 -0
  564. package/dist/components/blocks/data-display/metadata/metadata-list.d.ts +78 -0
  565. package/dist/components/blocks/data-display/metadata/metadata-list.strings.d.ts +18 -0
  566. package/dist/components/blocks/data-display/metadata/metadata-value.d.ts +142 -0
  567. package/dist/components/blocks/data-display/relationship-card-frame.d.ts +40 -0
  568. package/dist/components/blocks/onboarding/checklist/checklist.d.ts +2 -0
  569. package/dist/components/blocks/onboarding/checklist/checklist.strings.d.ts +15 -0
  570. package/dist/components/blocks/onboarding/checklist/checklist.types.d.ts +64 -0
  571. package/dist/components/blocks/onboarding/checklist/index.d.ts +4 -0
  572. package/dist/components/blocks/onboarding/checklist/partials/step-status-indicator.d.ts +12 -0
  573. package/dist/components/blocks/onboarding/index.d.ts +7 -0
  574. package/dist/components/blocks/planning/index.d.ts +3 -0
  575. package/dist/components/blocks/planning/task-card.d.ts +3 -0
  576. package/dist/components/blocks/planning/task-card.strings.d.ts +15 -0
  577. package/dist/components/blocks/planning/task-card.types.d.ts +66 -0
  578. package/dist/components/blocks/timelines/changelog/changelog-timeline.d.ts +5 -0
  579. package/dist/components/blocks/timelines/changelog/index.d.ts +2 -0
  580. package/dist/components/blocks/timelines/changelog/types.d.ts +33 -0
  581. package/dist/components/blocks/timelines/index.d.ts +5 -0
  582. package/dist/components/blocks/timelines/milestones/index.d.ts +2 -0
  583. package/dist/components/blocks/timelines/milestones/milestones-timeline.d.ts +5 -0
  584. package/dist/components/blocks/timelines/milestones/types.d.ts +32 -0
  585. package/dist/components/blocks/timelines/shared/index.d.ts +1 -0
  586. package/dist/components/blocks/timelines/shared/timeline.d.ts +40 -0
  587. package/dist/components/blocks/timelines/steps-card/index.d.ts +2 -0
  588. package/dist/components/blocks/timelines/steps-card/steps-card.d.ts +9 -0
  589. package/dist/components/blocks/timelines/steps-card/types.d.ts +38 -0
  590. package/dist/components/features/activities/activities-feed.d.ts +5 -0
  591. package/dist/components/features/activities/activities.config.d.ts +6 -0
  592. package/dist/components/features/activities/activities.strings.d.ts +38 -0
  593. package/dist/components/features/activities/activities.types.d.ts +431 -0
  594. package/dist/components/features/activities/activity-event-adapter.d.ts +38 -0
  595. package/dist/components/features/activities/activity-log.d.ts +6 -0
  596. package/dist/components/features/activities/hooks/index.d.ts +2 -0
  597. package/dist/components/features/activities/hooks/use-activity-feed.d.ts +44 -0
  598. package/dist/components/features/activities/hooks/use-activity-resources.d.ts +22 -0
  599. package/dist/components/features/activities/index.d.ts +8 -0
  600. package/dist/components/features/activities/partials/activity-actions-menu.d.ts +11 -0
  601. package/dist/components/features/activities/partials/activity-changes.d.ts +8 -0
  602. package/dist/components/features/activities/partials/activity-date-label.d.ts +9 -0
  603. package/dist/components/features/activities/partials/activity-empty-state.d.ts +9 -0
  604. package/dist/components/features/activities/partials/activity-headline.d.ts +20 -0
  605. package/dist/components/features/activities/partials/activity-marker.d.ts +25 -0
  606. package/dist/components/features/activities/partials/activity-resource-tag.d.ts +11 -0
  607. package/dist/components/features/activities/partials/activity-row.d.ts +68 -0
  608. package/dist/components/features/activities/partials/index.d.ts +8 -0
  609. package/dist/components/features/activities/partials/tone-tokens.d.ts +25 -0
  610. package/dist/components/features/ai-chat/ai-chat.d.ts +81 -0
  611. package/dist/components/features/ai-chat/ai-chat.strings.d.ts +56 -0
  612. package/dist/components/features/ai-chat/ai-chat.types.d.ts +170 -0
  613. package/dist/components/features/ai-chat/hooks/index.d.ts +1 -0
  614. package/dist/components/features/ai-chat/hooks/use-ai-chat-scroll.d.ts +15 -0
  615. package/dist/components/features/ai-chat/index.d.ts +5 -0
  616. package/dist/components/features/ai-chat/partials/ai-chat-attachments-strip.d.ts +15 -0
  617. package/dist/components/features/ai-chat/partials/ai-chat-conversation.d.ts +28 -0
  618. package/dist/components/features/ai-chat/partials/ai-chat-empty-state.d.ts +22 -0
  619. package/dist/components/features/ai-chat/partials/ai-chat-message.d.ts +21 -0
  620. package/dist/components/features/ai-chat/partials/ai-chat-prompt-input.d.ts +59 -0
  621. package/dist/components/features/ai-chat/partials/ai-chat-queue.d.ts +19 -0
  622. package/dist/components/features/ai-chat/partials/ai-chat-suggestions-row.d.ts +18 -0
  623. package/dist/components/features/ai-chat/partials/index.d.ts +7 -0
  624. package/dist/components/features/async-preview/async-preview.d.ts +84 -0
  625. package/dist/components/features/async-preview/async-preview.strings.d.ts +14 -0
  626. package/dist/components/features/async-preview/async-preview.types.d.ts +133 -0
  627. package/dist/components/features/async-preview/hooks/index.d.ts +1 -0
  628. package/dist/components/features/async-preview/hooks/use-async-preview.d.ts +8 -0
  629. package/dist/components/features/async-preview/index.d.ts +6 -0
  630. package/dist/components/features/async-preview/partials/index.d.ts +1 -0
  631. package/dist/components/features/async-preview/preview-trigger-cell.d.ts +45 -0
  632. package/dist/components/features/combobox/async-resource-combobox.d.ts +94 -0
  633. package/dist/components/features/combobox/combobox.d.ts +20 -0
  634. package/dist/components/features/combobox/combobox.strings.d.ts +14 -0
  635. package/dist/components/features/combobox/components/combobox-dropdown.d.ts +57 -0
  636. package/dist/components/features/combobox/components/error-message.d.ts +15 -0
  637. package/dist/components/features/combobox/components/highlighted-text.d.ts +14 -0
  638. package/dist/components/features/combobox/components/index.d.ts +13 -0
  639. package/dist/components/features/combobox/components/loading-more.d.ts +15 -0
  640. package/dist/components/features/combobox/components/status-content.d.ts +21 -0
  641. package/dist/components/features/combobox/constants.d.ts +19 -0
  642. package/dist/components/features/combobox/hooks/index.d.ts +2 -0
  643. package/dist/components/features/combobox/hooks/use-combobox-core.d.ts +30 -0
  644. package/dist/components/features/combobox/hooks/use-debounced-search.d.ts +10 -0
  645. package/dist/components/features/combobox/hooks/use-grouped-items.d.ts +9 -0
  646. package/dist/components/features/combobox/hooks/use-load-more.d.ts +12 -0
  647. package/dist/components/features/combobox/index.d.ts +13 -0
  648. package/dist/components/features/combobox/types.d.ts +184 -0
  649. package/dist/components/features/comments/comments-provider.d.ts +15 -0
  650. package/dist/components/features/comments/comments.d.ts +2 -0
  651. package/dist/components/features/comments/comments.strings.d.ts +91 -0
  652. package/dist/components/features/comments/comments.types.d.ts +369 -0
  653. package/dist/components/features/comments/hooks/index.d.ts +4 -0
  654. package/dist/components/features/comments/hooks/use-attachment-upload.d.ts +28 -0
  655. package/dist/components/features/comments/hooks/use-comments.d.ts +34 -0
  656. package/dist/components/features/comments/index.d.ts +8 -0
  657. package/dist/components/features/comments/partials/comment-attachment-chip.d.ts +23 -0
  658. package/dist/components/features/comments/partials/comment-composer.d.ts +12 -0
  659. package/dist/components/features/comments/partials/comment-content.d.ts +13 -0
  660. package/dist/components/features/comments/partials/comment-empty.d.ts +12 -0
  661. package/dist/components/features/comments/partials/comment-item.d.ts +3 -0
  662. package/dist/components/features/comments/partials/comment-timeline.d.ts +3 -0
  663. package/dist/components/features/comments/partials/index.d.ts +9 -0
  664. package/dist/components/features/data-view/data-view-filtering.d.ts +3 -0
  665. package/dist/components/features/data-view/data-view.d.ts +7 -0
  666. package/dist/components/features/data-view/data-view.strings.d.ts +9 -0
  667. package/dist/components/features/data-view/data-view.types.d.ts +191 -0
  668. package/dist/components/features/data-view/hooks/index.d.ts +1 -0
  669. package/dist/components/features/data-view/hooks/use-data-view.d.ts +2 -0
  670. package/dist/components/features/data-view/index.d.ts +4 -0
  671. package/dist/components/features/email-composer/document.d.ts +8 -0
  672. package/dist/components/features/email-composer/email-composer.d.ts +2 -0
  673. package/dist/components/features/email-composer/email-html.d.ts +5 -0
  674. package/dist/components/features/email-composer/engine.d.ts +18 -0
  675. package/dist/components/features/email-composer/http.d.ts +6 -0
  676. package/dist/components/features/email-composer/index.d.ts +6 -0
  677. package/dist/components/features/email-composer/partials/body-editor.d.ts +11 -0
  678. package/dist/components/features/email-composer/partials/data-status.d.ts +8 -0
  679. package/dist/components/features/email-composer/partials/html-preview.d.ts +6 -0
  680. package/dist/components/features/email-composer/partials/recipients.d.ts +14 -0
  681. package/dist/components/features/email-composer/partials/variables.d.ts +11 -0
  682. package/dist/components/features/email-composer/strings.d.ts +79 -0
  683. package/dist/components/features/email-composer/types.d.ts +195 -0
  684. package/dist/components/features/email-composer/use-composer.d.ts +119 -0
  685. package/dist/components/features/event-calendar/colors.d.ts +29 -0
  686. package/dist/components/features/event-calendar/event-calendar-day-cell.d.ts +5 -0
  687. package/dist/components/features/event-calendar/event-calendar-event-badge.d.ts +5 -0
  688. package/dist/components/features/event-calendar/event-calendar-event-card.d.ts +16 -0
  689. package/dist/components/features/event-calendar/event-calendar-header.d.ts +8 -0
  690. package/dist/components/features/event-calendar/event-calendar-legend.d.ts +5 -0
  691. package/dist/components/features/event-calendar/event-calendar.d.ts +5 -0
  692. package/dist/components/features/event-calendar/event-calendar.types.d.ts +350 -0
  693. package/dist/components/features/event-calendar/index.d.ts +11 -0
  694. package/dist/components/features/event-calendar/use-event-calendar-data.d.ts +15 -0
  695. package/dist/components/features/event-calendar/use-event-calendar.d.ts +24 -0
  696. package/dist/components/features/filters/facets/async-select-facet.d.ts +28 -0
  697. package/dist/components/features/filters/facets/date-facet.d.ts +18 -0
  698. package/dist/components/features/filters/facets/range-facet.d.ts +30 -0
  699. package/dist/components/features/filters/facets/search-facet.d.ts +27 -0
  700. package/dist/components/features/filters/facets/select-facet.d.ts +19 -0
  701. package/dist/components/features/filters/facets/tags-facet.d.ts +27 -0
  702. package/dist/components/features/filters/filter-context.d.ts +61 -0
  703. package/dist/components/features/filters/filter-layout.d.ts +16 -0
  704. package/dist/components/features/filters/filter-query.d.ts +21 -0
  705. package/dist/components/features/filters/filters.strings.d.ts +103 -0
  706. package/dist/components/features/filters/filters.types.d.ts +222 -0
  707. package/dist/components/features/filters/hooks/index.d.ts +3 -0
  708. package/dist/components/features/filters/hooks/use-async-options.d.ts +16 -0
  709. package/dist/components/features/filters/hooks/use-filter-groups.d.ts +16 -0
  710. package/dist/components/features/filters/index.d.ts +42 -0
  711. package/dist/components/features/filters/operator-options.d.ts +9 -0
  712. package/dist/components/features/filters/partials/active-filter-item.d.ts +37 -0
  713. package/dist/components/features/filters/partials/async-filter-content.d.ts +21 -0
  714. package/dist/components/features/filters/partials/date-filter-content.d.ts +14 -0
  715. package/dist/components/features/filters/partials/filter-error-boundary.d.ts +9 -0
  716. package/dist/components/features/filters/partials/filter-list-content.d.ts +24 -0
  717. package/dist/components/features/filters/partials/filter-list-item.d.ts +19 -0
  718. package/dist/components/features/filters/partials/filter-operator-select.d.ts +22 -0
  719. package/dist/components/features/filters/partials/filter-pill.d.ts +26 -0
  720. package/dist/components/features/filters/partials/filter-popover-content.d.ts +36 -0
  721. package/dist/components/features/filters/partials/filter-tabs.d.ts +14 -0
  722. package/dist/components/features/filters/partials/filter-value-display.d.ts +21 -0
  723. package/dist/components/features/filters/partials/filters-button.d.ts +32 -0
  724. package/dist/components/features/filters/partials/index.d.ts +14 -0
  725. package/dist/components/features/filters/partials/regular-filter-content.d.ts +28 -0
  726. package/dist/components/features/filters/partials/search-filters-list.d.ts +25 -0
  727. package/dist/components/features/filters/partials/tags-filter-content.d.ts +28 -0
  728. package/dist/components/features/filters/utils/filter-utils.d.ts +37 -0
  729. package/dist/components/features/filters/validators.d.ts +63 -0
  730. package/dist/components/features/global-search/global-search-dialog.d.ts +13 -0
  731. package/dist/components/features/global-search/global-search.d.ts +52 -0
  732. package/dist/components/features/global-search/global-search.strings.d.ts +36 -0
  733. package/dist/components/features/global-search/global-search.types.d.ts +105 -0
  734. package/dist/components/features/global-search/hooks/index.d.ts +2 -0
  735. package/dist/components/features/global-search/hooks/use-global-search.d.ts +33 -0
  736. package/dist/components/features/global-search/index.d.ts +9 -0
  737. package/dist/components/features/global-search/partials/global-search-empty-state.d.ts +7 -0
  738. package/dist/components/features/global-search/partials/global-search-footer.d.ts +13 -0
  739. package/dist/components/features/global-search/partials/global-search-idle-state.d.ts +12 -0
  740. package/dist/components/features/global-search/partials/global-search-input.d.ts +17 -0
  741. package/dist/components/features/global-search/partials/global-search-result-row.d.ts +16 -0
  742. package/dist/components/features/global-search/partials/global-search-tabs.d.ts +13 -0
  743. package/dist/components/features/global-search/partials/index.d.ts +12 -0
  744. package/dist/components/features/global-search/partials/tone-palettes.d.ts +8 -0
  745. package/dist/components/features/kanban/hooks/index.d.ts +1 -0
  746. package/dist/components/features/kanban/hooks/use-kanban.d.ts +32 -0
  747. package/dist/components/features/kanban/index.d.ts +5 -0
  748. package/dist/components/features/kanban/kanban-context.d.ts +25 -0
  749. package/dist/components/features/kanban/kanban-keyboard.d.ts +10 -0
  750. package/dist/components/features/kanban/kanban.d.ts +38 -0
  751. package/dist/components/features/kanban/kanban.strings.d.ts +24 -0
  752. package/dist/components/features/kanban/kanban.types.d.ts +168 -0
  753. package/dist/components/features/map/index.d.ts +13 -0
  754. package/dist/components/features/map/map.d.ts +166 -0
  755. package/dist/components/features/map/place-autocomplete.d.ts +97 -0
  756. package/dist/components/features/map/public-leaflet.types.d.ts +71 -0
  757. package/dist/components/features/map/use-map-color-scheme.d.ts +2 -0
  758. package/dist/components/features/media-library/hooks/index.d.ts +1 -0
  759. package/dist/components/features/media-library/hooks/use-media-library.d.ts +5 -0
  760. package/dist/components/features/media-library/index.d.ts +6 -0
  761. package/dist/components/features/media-library/media-library.d.ts +3 -0
  762. package/dist/components/features/media-library/media-library.strings.d.ts +124 -0
  763. package/dist/components/features/media-library/media-library.types.d.ts +568 -0
  764. package/dist/components/features/media-library/media-resource-gallery.d.ts +2 -0
  765. package/dist/components/features/media-library/partials/index.d.ts +1 -0
  766. package/dist/components/features/media-library/partials/media-library-partials.d.ts +10 -0
  767. package/dist/components/features/mentions/hooks/index.d.ts +2 -0
  768. package/dist/components/features/mentions/hooks/use-mentions-search.d.ts +41 -0
  769. package/dist/components/features/mentions/hooks/use-mentions.d.ts +35 -0
  770. package/dist/components/features/mentions/index.d.ts +5 -0
  771. package/dist/components/features/mentions/mentions.strings.d.ts +26 -0
  772. package/dist/components/features/mentions/mentions.types.d.ts +100 -0
  773. package/dist/components/features/mentions/partials/index.d.ts +4 -0
  774. package/dist/components/features/mentions/partials/mention-chip.d.ts +29 -0
  775. package/dist/components/features/mentions/partials/mention-content.d.ts +22 -0
  776. package/dist/components/features/mentions/partials/mention-inline-suggestions.d.ts +36 -0
  777. package/dist/components/features/mentions/partials/mention-picker.d.ts +31 -0
  778. package/dist/components/features/mentions/utils/build-mention-html.d.ts +24 -0
  779. package/dist/components/features/mentions/utils/index.d.ts +3 -0
  780. package/dist/components/features/mentions/utils/parse-mentions-from-html.d.ts +13 -0
  781. package/dist/components/features/mentions/utils/split-html-by-mentions.d.ts +16 -0
  782. package/dist/components/features/overlays/alert-dialog.d.ts +4 -0
  783. package/dist/components/features/overlays/dialog.d.ts +4 -0
  784. package/dist/components/features/overlays/drawer.d.ts +4 -0
  785. package/dist/components/features/overlays/hooks/index.d.ts +2 -0
  786. package/dist/components/features/overlays/hooks/use-overlay-actions.d.ts +24 -0
  787. package/dist/components/features/overlays/hooks/use-overlay-visibility.d.ts +36 -0
  788. package/dist/components/features/overlays/index.d.ts +6 -0
  789. package/dist/components/features/overlays/overlays.strings.d.ts +19 -0
  790. package/dist/components/features/overlays/overlays.types.d.ts +169 -0
  791. package/dist/components/features/products/components/index.d.ts +17 -0
  792. package/dist/components/features/products/components/product-contract-overview.d.ts +5 -0
  793. package/dist/components/features/products/components/product-details-card.d.ts +5 -0
  794. package/dist/components/features/products/components/product-operations-card.d.ts +5 -0
  795. package/dist/components/features/products/components/product-option-action-menu.d.ts +5 -0
  796. package/dist/components/features/products/components/product-options-matrix.d.ts +5 -0
  797. package/dist/components/features/products/components/product-options-summary.d.ts +5 -0
  798. package/dist/components/features/products/components/product-overview.d.ts +5 -0
  799. package/dist/components/features/products/components/product-policies-card.d.ts +5 -0
  800. package/dist/components/features/products/components/product-quote-preview-card.d.ts +5 -0
  801. package/dist/components/features/products/components/product-readiness-card.d.ts +5 -0
  802. package/dist/components/features/products/components/product-structure-card.d.ts +5 -0
  803. package/dist/components/features/products/components/product-variant-action-menu.d.ts +5 -0
  804. package/dist/components/features/products/components/product-variant-details.d.ts +5 -0
  805. package/dist/components/features/products/components/product-variant-editor.d.ts +5 -0
  806. package/dist/components/features/products/components/product-variants-bulk-table.d.ts +5 -0
  807. package/dist/components/features/products/components/product-variants-manager.d.ts +5 -0
  808. package/dist/components/features/products/components/product-variants-table.d.ts +5 -0
  809. package/dist/components/features/products/index.d.ts +3 -0
  810. package/dist/components/features/products/partials/index.d.ts +7 -0
  811. package/dist/components/features/products/partials/product-actions.d.ts +10 -0
  812. package/dist/components/features/products/partials/product-empty-state.d.ts +10 -0
  813. package/dist/components/features/products/partials/product-metric-tile.d.ts +4 -0
  814. package/dist/components/features/products/partials/product-rows.d.ts +35 -0
  815. package/dist/components/features/products/partials/product-tone.d.ts +8 -0
  816. package/dist/components/features/products/partials/product-values.d.ts +1 -0
  817. package/dist/components/features/products/partials/product-variant-table-parts.d.ts +28 -0
  818. package/dist/components/features/products/products.strings.d.ts +308 -0
  819. package/dist/components/features/products/products.types.d.ts +906 -0
  820. package/dist/components/features/questionnaire/index.d.ts +3 -0
  821. package/dist/components/features/questionnaire/questionnaire-control.d.ts +3 -0
  822. package/dist/components/features/questionnaire/questionnaire.d.ts +2 -0
  823. package/dist/components/features/questionnaire/questionnaire.types.d.ts +98 -0
  824. package/dist/components/features/questionnaire/questionnaire.utils.d.ts +5 -0
  825. package/dist/components/features/resource/index.d.ts +3 -0
  826. package/dist/components/features/resource/resource.d.ts +8 -0
  827. package/dist/components/features/resource/resource.strings.d.ts +12 -0
  828. package/dist/components/features/resource/resource.types.d.ts +161 -0
  829. package/dist/components/features/resource-assignment/hooks/index.d.ts +2 -0
  830. package/dist/components/features/resource-assignment/hooks/use-shared-resource-card.d.ts +32 -0
  831. package/dist/components/features/resource-assignment/index.d.ts +6 -0
  832. package/dist/components/features/resource-assignment/partials/default-shared-resource-partials.d.ts +31 -0
  833. package/dist/components/features/resource-assignment/partials/index.d.ts +1 -0
  834. package/dist/components/features/resource-assignment/resource-assignment.d.ts +12 -0
  835. package/dist/components/features/resource-assignment/resource-assignment.strings.d.ts +17 -0
  836. package/dist/components/features/resource-assignment/resource-assignment.types.d.ts +193 -0
  837. package/dist/components/features/rich-text-editor/form-rich-text-editor.d.ts +6 -0
  838. package/dist/components/features/rich-text-editor/index.d.ts +5 -0
  839. package/dist/components/features/rich-text-editor/partials/caret-helpers.d.ts +28 -0
  840. package/dist/components/features/rich-text-editor/partials/counts-footer.d.ts +32 -0
  841. package/dist/components/features/rich-text-editor/partials/html-helpers.d.ts +7 -0
  842. package/dist/components/features/rich-text-editor/partials/index.d.ts +7 -0
  843. package/dist/components/features/rich-text-editor/partials/rich-text-editor-fallback.d.ts +8 -0
  844. package/dist/components/features/rich-text-editor/partials/rich-text-editor-tiptap.d.ts +3 -0
  845. package/dist/components/features/rich-text-editor/partials/rich-text-editor-toolbar.d.ts +33 -0
  846. package/dist/components/features/rich-text-editor/rich-text-editor.d.ts +3 -0
  847. package/dist/components/features/rich-text-editor/rich-text-editor.recipes.d.ts +6 -0
  848. package/dist/components/features/rich-text-editor/rich-text-editor.strings.d.ts +32 -0
  849. package/dist/components/features/rich-text-editor/rich-text-editor.types.d.ts +111 -0
  850. package/dist/components/features/schema-form/hooks/index.d.ts +1 -0
  851. package/dist/components/features/schema-form/hooks/use-schema-form.d.ts +23 -0
  852. package/dist/components/features/schema-form/index.d.ts +5 -0
  853. package/dist/components/features/schema-form/partials/index.d.ts +3 -0
  854. package/dist/components/features/schema-form/partials/schema-form-actions.d.ts +23 -0
  855. package/dist/components/features/schema-form/partials/schema-form-empty.d.ts +12 -0
  856. package/dist/components/features/schema-form/partials/schema-form-field.d.ts +12 -0
  857. package/dist/components/features/schema-form/schema-form.d.ts +5 -0
  858. package/dist/components/features/schema-form/schema-form.strings.d.ts +11 -0
  859. package/dist/components/features/schema-form/schema-form.types.d.ts +271 -0
  860. package/dist/components/features/schema-form/schema-form.utils.d.ts +18 -0
  861. package/dist/components/features/suggestions/hooks/index.d.ts +1 -0
  862. package/dist/components/features/suggestions/hooks/use-suggestions.d.ts +9 -0
  863. package/dist/components/features/suggestions/index.d.ts +4 -0
  864. package/dist/components/features/suggestions/suggestions.d.ts +5 -0
  865. package/dist/components/features/suggestions/suggestions.strings.d.ts +16 -0
  866. package/dist/components/features/suggestions/suggestions.types.d.ts +79 -0
  867. package/dist/components/features/sync/index.d.ts +3 -0
  868. package/dist/components/features/sync/sync-range-dialog-form.d.ts +5 -0
  869. package/dist/components/features/sync/sync.strings.d.ts +18 -0
  870. package/dist/components/features/sync/sync.types.d.ts +44 -0
  871. package/dist/components/features/table/column-visibility-toggle.d.ts +5 -0
  872. package/dist/components/features/table/data-table.d.ts +6 -0
  873. package/dist/components/features/table/filter-bar.d.ts +5 -0
  874. package/dist/components/features/table/hooks.d.ts +47 -0
  875. package/dist/components/features/table/index.d.ts +16 -0
  876. package/dist/components/features/table/pagination.d.ts +5 -0
  877. package/dist/components/features/table/partials/cell-renderers.d.ts +141 -0
  878. package/dist/components/features/table/partials/cell-value.d.ts +121 -0
  879. package/dist/components/features/table/partials/fullscreen-toggle.d.ts +16 -0
  880. package/dist/components/features/table/partials/resource-cell.d.ts +63 -0
  881. package/dist/components/features/table/partials/table-link.d.ts +3 -0
  882. package/dist/components/features/table/table-actions.d.ts +5 -0
  883. package/dist/components/features/table/table-body.d.ts +5 -0
  884. package/dist/components/features/table/table-header.d.ts +6 -0
  885. package/dist/components/features/table/table-helpers.d.ts +39 -0
  886. package/dist/components/features/table/table-toolbar.d.ts +5 -0
  887. package/dist/components/features/table/table.strings.d.ts +3 -0
  888. package/dist/components/features/table/table.types.d.ts +489 -0
  889. package/dist/components/features/theme-tweaker/admin-ui-theme-provider.d.ts +6 -0
  890. package/dist/components/features/theme-tweaker/index.d.ts +10 -0
  891. package/dist/components/features/theme-tweaker/theme-provider-settings.d.ts +49 -0
  892. package/dist/components/features/theme-tweaker/theme-scope.d.ts +7 -0
  893. package/dist/components/features/theme-tweaker/theme-tweaker.d.ts +2 -0
  894. package/dist/components/features/theme-tweaker/theme-tweaker.fields.d.ts +7 -0
  895. package/dist/components/features/theme-tweaker/theme-tweaker.recipes.d.ts +25 -0
  896. package/dist/components/features/theme-tweaker/theme-tweaker.strings.d.ts +75 -0
  897. package/dist/components/features/theme-tweaker/theme-tweaker.types.d.ts +161 -0
  898. package/dist/components/features/theme-tweaker/theme-tweaker.utils.d.ts +23 -0
  899. package/dist/components/features/theme-tweaker/use-applied-theme.d.ts +11 -0
  900. package/dist/components/layout/app-shell/app-layout.d.ts +12 -0
  901. package/dist/components/layout/app-shell/app-shell.types.d.ts +151 -0
  902. package/dist/components/layout/app-shell/index.d.ts +6 -0
  903. package/dist/components/layout/app-shell/sidebar-inset-layout.d.ts +2 -0
  904. package/dist/components/layout/app-shell/stacked-layout.d.ts +2 -0
  905. package/dist/components/layout/app-shell/topbar-sidebar-layout.d.ts +2 -0
  906. package/dist/components/layout/auth/auth-card.d.ts +2 -0
  907. package/dist/components/layout/auth/auth-footer-links.d.ts +2 -0
  908. package/dist/components/layout/auth/auth-form.d.ts +11 -0
  909. package/dist/components/layout/auth/auth-hooks.d.ts +4 -0
  910. package/dist/components/layout/auth/auth-method-switch.d.ts +4 -0
  911. package/dist/components/layout/auth/auth-shell.d.ts +2 -0
  912. package/dist/components/layout/auth/auth-social-providers.d.ts +3 -0
  913. package/dist/components/layout/auth/auth-split-panel.d.ts +2 -0
  914. package/dist/components/layout/auth/auth.strings.d.ts +21 -0
  915. package/dist/components/layout/auth/auth.types.d.ts +282 -0
  916. package/dist/components/layout/auth/index.d.ts +10 -0
  917. package/dist/components/layout/containers/container.recipes.d.ts +5 -0
  918. package/dist/components/layout/containers/containers.types.d.ts +17 -0
  919. package/dist/components/layout/containers/content-container.d.ts +3 -0
  920. package/dist/components/layout/containers/index.d.ts +5 -0
  921. package/dist/components/layout/containers/page-viewport.d.ts +3 -0
  922. package/dist/components/layout/containers/section.d.ts +3 -0
  923. package/dist/components/layout/containers/two-column-layout.d.ts +27 -0
  924. package/dist/components/layout/header/header.d.ts +2 -0
  925. package/dist/components/layout/header/header.types.d.ts +198 -0
  926. package/dist/components/layout/header/index.d.ts +9 -0
  927. package/dist/components/layout/header/partials/header-breadcrumbs.d.ts +4 -0
  928. package/dist/components/layout/header/partials/header-global-search-trigger.d.ts +2 -0
  929. package/dist/components/layout/header/partials/header-notifications.d.ts +2 -0
  930. package/dist/components/layout/header/partials/header-search.d.ts +2 -0
  931. package/dist/components/layout/header/partials/header-tool-button.d.ts +4 -0
  932. package/dist/components/layout/header/partials/header-tool-popover.d.ts +2 -0
  933. package/dist/components/layout/header/partials/header-user-menu.d.ts +2 -0
  934. package/dist/components/layout/hooks/index.d.ts +3 -0
  935. package/dist/components/layout/hooks/use-active-path.d.ts +1 -0
  936. package/dist/components/layout/hooks/use-command-shortcut.d.ts +7 -0
  937. package/dist/components/layout/hooks/use-layout-link.d.ts +2 -0
  938. package/dist/components/layout/index.d.ts +24 -0
  939. package/dist/components/layout/layout.types.d.ts +91 -0
  940. package/dist/components/layout/navigation/breadcrumb-progress/breadcrumb-progress.d.ts +5 -0
  941. package/dist/components/layout/navigation/breadcrumb-progress/index.d.ts +2 -0
  942. package/dist/components/layout/navigation/breadcrumb-progress/types.d.ts +24 -0
  943. package/dist/components/layout/navigation/category-nav/category-nav.d.ts +5 -0
  944. package/dist/components/layout/navigation/category-nav/index.d.ts +2 -0
  945. package/dist/components/layout/navigation/category-nav/types.d.ts +22 -0
  946. package/dist/components/layout/navigation/index.d.ts +17 -0
  947. package/dist/components/layout/navigation/section-nav/index.d.ts +1 -0
  948. package/dist/components/layout/navigation/section-nav/section-nav.d.ts +29 -0
  949. package/dist/components/layout/navigation/side-nav.d.ts +58 -0
  950. package/dist/components/layout/page/index.d.ts +4 -0
  951. package/dist/components/layout/page/page.d.ts +3 -0
  952. package/dist/components/layout/page/page.types.d.ts +138 -0
  953. package/dist/components/layout/page/partials/page-actions.d.ts +2 -0
  954. package/dist/components/layout/page/partials/page-header.d.ts +2 -0
  955. package/dist/components/layout/settings/index.d.ts +1 -0
  956. package/dist/components/layout/settings/settings.d.ts +65 -0
  957. package/dist/components/layout/sidebar/app-sidebar.d.ts +7 -0
  958. package/dist/components/layout/sidebar/components/sidebar-grouped-navigation.d.ts +4 -0
  959. package/dist/components/layout/sidebar/components/sidebar-logo.d.ts +10 -0
  960. package/dist/components/layout/sidebar/components/sidebar-navigation-footer.d.ts +2 -0
  961. package/dist/components/layout/sidebar/components/sidebar-navigation-user.d.ts +23 -0
  962. package/dist/components/layout/sidebar/components/sidebar-navigation.d.ts +4 -0
  963. package/dist/components/layout/sidebar/components/sidebar-workspace-dropdown.d.ts +2 -0
  964. package/dist/components/layout/sidebar/index.d.ts +11 -0
  965. package/dist/components/layout/sidebar/sidebar.context.d.ts +17 -0
  966. package/dist/components/layout/sidebar/sidebar.d.ts +9 -0
  967. package/dist/components/layout/sidebar/sidebar.types.d.ts +218 -0
  968. package/dist/components/layout/sidebar/sidebar.utils.d.ts +29 -0
  969. package/dist/components/layout/workspace/index.d.ts +3 -0
  970. package/dist/components/layout/workspace/workspace.d.ts +6 -0
  971. package/dist/components/layout/workspace/workspace.strings.d.ts +18 -0
  972. package/dist/components/layout/workspace/workspace.types.d.ts +141 -0
  973. package/dist/components/primitives/date.d.ts +63 -0
  974. package/dist/components/primitives/dimensions.d.ts +30 -0
  975. package/dist/components/primitives/duration.d.ts +23 -0
  976. package/dist/components/primitives/file-size.d.ts +23 -0
  977. package/dist/components/primitives/index.d.ts +11 -0
  978. package/dist/components/primitives/initials-format.d.ts +21 -0
  979. package/dist/components/primitives/initials.d.ts +16 -0
  980. package/dist/components/primitives/link.d.ts +28 -0
  981. package/dist/components/primitives/money.d.ts +79 -0
  982. package/dist/components/primitives/name.d.ts +16 -0
  983. package/dist/components/primitives/number.d.ts +23 -0
  984. package/dist/components/primitives/value.d.ts +23 -0
  985. package/dist/components/typography/content-typography.d.ts +4 -0
  986. package/dist/components/typography/display-label.d.ts +5 -0
  987. package/dist/components/typography/heading.d.ts +16 -0
  988. package/dist/components/typography/index.d.ts +10 -0
  989. package/dist/components/typography/label.d.ts +8 -0
  990. package/dist/components/typography/rich-text/index.d.ts +2 -0
  991. package/dist/components/typography/rich-text/rich-text.d.ts +6 -0
  992. package/dist/components/typography/text-link.d.ts +7 -0
  993. package/dist/components/typography/text.d.ts +17 -0
  994. package/dist/components/typography/text.styles.d.ts +50 -0
  995. package/dist/components/ui/accordion.d.ts +6 -0
  996. package/dist/components/ui/alert-dialog.d.ts +21 -0
  997. package/dist/components/ui/avatar.d.ts +11 -0
  998. package/dist/components/ui/badge.d.ts +5 -0
  999. package/dist/components/ui/breadcrumb.d.ts +11 -0
  1000. package/dist/components/ui/button-group.d.ts +12 -0
  1001. package/dist/components/ui/button.d.ts +12 -0
  1002. package/dist/components/ui/calendar.d.ts +10 -0
  1003. package/dist/components/ui/card.d.ts +11 -0
  1004. package/dist/components/ui/checkbox.d.ts +6 -0
  1005. package/dist/components/ui/collapsible.d.ts +9 -0
  1006. package/dist/components/ui/combobox.d.ts +40 -0
  1007. package/dist/components/ui/command.d.ts +50 -0
  1008. package/dist/components/ui/dialog.d.ts +26 -0
  1009. package/dist/components/ui/disclosure-panel.d.ts +14 -0
  1010. package/dist/components/ui/empty.d.ts +11 -0
  1011. package/dist/components/ui/input-group.d.ts +18 -0
  1012. package/dist/components/ui/input.d.ts +3 -0
  1013. package/dist/components/ui/item.d.ts +22 -0
  1014. package/dist/components/ui/overlay.recipes.d.ts +2 -0
  1015. package/dist/components/ui/pagination.d.ts +17 -0
  1016. package/dist/components/ui/popover.d.ts +22 -0
  1017. package/dist/components/ui/select.d.ts +18 -0
  1018. package/dist/components/ui/separator.d.ts +3 -0
  1019. package/dist/components/ui/sheet.d.ts +25 -0
  1020. package/dist/components/ui/sidebar.d.ts +64 -0
  1021. package/dist/components/ui/skeleton.d.ts +2 -0
  1022. package/dist/components/ui/slot.d.ts +6 -0
  1023. package/dist/components/ui/sonner.d.ts +3 -0
  1024. package/dist/components/ui/switch.d.ts +5 -0
  1025. package/dist/components/ui/table.d.ts +13 -0
  1026. package/dist/components/ui/tabs.d.ts +10 -0
  1027. package/dist/components/ui/textarea.d.ts +3 -0
  1028. package/dist/components/ui/toggle-group.d.ts +12 -0
  1029. package/dist/components/ui/toggle.d.ts +8 -0
  1030. package/dist/components/ui/tooltip.d.ts +13 -0
  1031. package/dist/containers-6s-ucRQQ.js +125 -0
  1032. package/dist/containers-6s-ucRQQ.js.map +1 -0
  1033. package/dist/content-typography-CnwgMJ37.js +6 -0
  1034. package/dist/content-typography-CnwgMJ37.js.map +1 -0
  1035. package/dist/copyable-B7SBXJMr.js +65 -0
  1036. package/dist/copyable-B7SBXJMr.js.map +1 -0
  1037. package/dist/data-display-cWIRdeaf.js +1129 -0
  1038. package/dist/data-display-cWIRdeaf.js.map +1 -0
  1039. package/dist/date-BFNMnrS5.js +140 -0
  1040. package/dist/date-BFNMnrS5.js.map +1 -0
  1041. package/dist/date-picker-CA6ogMQB.js +1521 -0
  1042. package/dist/date-picker-CA6ogMQB.js.map +1 -0
  1043. package/dist/date-pickers-BPIKLdsD.js +224 -0
  1044. package/dist/date-pickers-BPIKLdsD.js.map +1 -0
  1045. package/dist/disclosure-panel-B0HFNZ9x.js +35 -0
  1046. package/dist/disclosure-panel-B0HFNZ9x.js.map +1 -0
  1047. package/dist/display-CFM5myut.js +343 -0
  1048. package/dist/display-CFM5myut.js.map +1 -0
  1049. package/dist/dropdown-menu-BlnyHr-9.js +186 -0
  1050. package/dist/dropdown-menu-BlnyHr-9.js.map +1 -0
  1051. package/dist/editable-text-recipe-Bkm6wKHp.js +10 -0
  1052. package/dist/editable-text-recipe-Bkm6wKHp.js.map +1 -0
  1053. package/dist/favicon.svg +1 -0
  1054. package/dist/features/activities.js +1360 -0
  1055. package/dist/features/activities.js.map +1 -0
  1056. package/dist/features/ai-chat.js +567 -0
  1057. package/dist/features/ai-chat.js.map +1 -0
  1058. package/dist/features/async-preview.js +478 -0
  1059. package/dist/features/async-preview.js.map +1 -0
  1060. package/dist/features/combobox.js +3 -0
  1061. package/dist/features/comments.js +3 -0
  1062. package/dist/features/data-view.js +519 -0
  1063. package/dist/features/data-view.js.map +1 -0
  1064. package/dist/features/email-composer/engine.js +2 -0
  1065. package/dist/features/email-composer.js +1099 -0
  1066. package/dist/features/email-composer.js.map +1 -0
  1067. package/dist/features/event-calendar.js +711 -0
  1068. package/dist/features/event-calendar.js.map +1 -0
  1069. package/dist/features/filters.js +3 -0
  1070. package/dist/features/global-search.js +593 -0
  1071. package/dist/features/global-search.js.map +1 -0
  1072. package/dist/features/kanban.js +425 -0
  1073. package/dist/features/kanban.js.map +1 -0
  1074. package/dist/features/map/images/layers-2x.png +0 -0
  1075. package/dist/features/map/images/layers.png +0 -0
  1076. package/dist/features/map/images/marker-icon-2x.png +0 -0
  1077. package/dist/features/map/images/marker-icon.png +0 -0
  1078. package/dist/features/map/images/marker-shadow.png +0 -0
  1079. package/dist/features/map/images/spritesheet-2x.png +0 -0
  1080. package/dist/features/map/images/spritesheet.png +0 -0
  1081. package/dist/features/map/images/spritesheet.svg +156 -0
  1082. package/dist/features/map/style.css +809 -0
  1083. package/dist/features/map.js +1052 -0
  1084. package/dist/features/map.js.map +1 -0
  1085. package/dist/features/media-library.js +2007 -0
  1086. package/dist/features/media-library.js.map +1 -0
  1087. package/dist/features/mentions.js +3 -0
  1088. package/dist/features/overlays.js +3 -0
  1089. package/dist/features/products.js +3077 -0
  1090. package/dist/features/products.js.map +1 -0
  1091. package/dist/features/questionnaire.js +366 -0
  1092. package/dist/features/questionnaire.js.map +1 -0
  1093. package/dist/features/resource-assignment.js +317 -0
  1094. package/dist/features/resource-assignment.js.map +1 -0
  1095. package/dist/features/resource.js +254 -0
  1096. package/dist/features/resource.js.map +1 -0
  1097. package/dist/features/rich-text-editor.js +23 -0
  1098. package/dist/features/rich-text-editor.js.map +1 -0
  1099. package/dist/features/schema-form.js +744 -0
  1100. package/dist/features/schema-form.js.map +1 -0
  1101. package/dist/features/suggestions.js +149 -0
  1102. package/dist/features/suggestions.js.map +1 -0
  1103. package/dist/features/sync.js +136 -0
  1104. package/dist/features/sync.js.map +1 -0
  1105. package/dist/features/table.js +3 -0
  1106. package/dist/features/theme-tweaker.js +2083 -0
  1107. package/dist/features/theme-tweaker.js.map +1 -0
  1108. package/dist/feedback-DWUkgEjR.js +233 -0
  1109. package/dist/feedback-DWUkgEjR.js.map +1 -0
  1110. package/dist/field-affordance-recipes-IjzPrCTw.js +17 -0
  1111. package/dist/field-affordance-recipes-IjzPrCTw.js.map +1 -0
  1112. package/dist/field-state-recipes-CBTRt9Bt.js +11 -0
  1113. package/dist/field-state-recipes-CBTRt9Bt.js.map +1 -0
  1114. package/dist/filters-BhsUtsxW.js +2203 -0
  1115. package/dist/filters-BhsUtsxW.js.map +1 -0
  1116. package/dist/form-field-Bn7ZH1rA.js +48 -0
  1117. package/dist/form-field-Bn7ZH1rA.js.map +1 -0
  1118. package/dist/form-sizing-BWs70_a2.js +100 -0
  1119. package/dist/form-sizing-BWs70_a2.js.map +1 -0
  1120. package/dist/format-iamDSqs2.js +110 -0
  1121. package/dist/format-iamDSqs2.js.map +1 -0
  1122. package/dist/forms-B7pzS25o.js +194 -0
  1123. package/dist/forms-B7pzS25o.js.map +1 -0
  1124. package/dist/forms-numeric-BUBxELBv.js +867 -0
  1125. package/dist/forms-numeric-BUBxELBv.js.map +1 -0
  1126. package/dist/header-C59QZyxV.js +452 -0
  1127. package/dist/header-C59QZyxV.js.map +1 -0
  1128. package/dist/hooks/use-debounce.d.ts +1 -0
  1129. package/dist/hooks/use-debounced-callback.d.ts +40 -0
  1130. package/dist/hooks/use-files.d.ts +48 -0
  1131. package/dist/hooks/use-mobile.d.ts +2 -0
  1132. package/dist/hooks/useFormErrors.d.ts +7 -0
  1133. package/dist/hooks-CM1Vp9Pe.js +88 -0
  1134. package/dist/hooks-CM1Vp9Pe.js.map +1 -0
  1135. package/dist/http-CLTVJc5I.js +331 -0
  1136. package/dist/http-CLTVJc5I.js.map +1 -0
  1137. package/dist/icon-badge-Dv0RYQwj.js +53 -0
  1138. package/dist/icon-badge-Dv0RYQwj.js.map +1 -0
  1139. package/dist/icon-size-B6PVwjbC.js +18 -0
  1140. package/dist/icon-size-B6PVwjbC.js.map +1 -0
  1141. package/dist/index.d.ts +14 -0
  1142. package/dist/index.js +7 -0
  1143. package/dist/initials-format-CDoQEOd_.js +35 -0
  1144. package/dist/initials-format-CDoQEOd_.js.map +1 -0
  1145. package/dist/input-WwYQZJzG.js +202 -0
  1146. package/dist/input-WwYQZJzG.js.map +1 -0
  1147. package/dist/input-ci9fIgFH.js +20 -0
  1148. package/dist/input-ci9fIgFH.js.map +1 -0
  1149. package/dist/item-pJ0GsOiJ.js +257 -0
  1150. package/dist/item-pJ0GsOiJ.js.map +1 -0
  1151. package/dist/layout/app-shell.js +3 -0
  1152. package/dist/layout/auth.js +3 -0
  1153. package/dist/layout/containers.js +3 -0
  1154. package/dist/layout/header.js +3 -0
  1155. package/dist/layout/hooks.js +3 -0
  1156. package/dist/layout/navigation.js +3 -0
  1157. package/dist/layout/page.js +3 -0
  1158. package/dist/layout/settings.js +3 -0
  1159. package/dist/layout/sidebar.js +4 -0
  1160. package/dist/layout/workspace.js +3 -0
  1161. package/dist/layout.js +13 -0
  1162. package/dist/layout.types-Cn7aUzJp.js +20 -0
  1163. package/dist/layout.types-Cn7aUzJp.js.map +1 -0
  1164. package/dist/lib/action-presentation.d.ts +15 -0
  1165. package/dist/lib/affordance-geometry.generated.d.ts +27 -0
  1166. package/dist/lib/anchored-positioning.d.ts +5 -0
  1167. package/dist/lib/command-filter.d.ts +1 -0
  1168. package/dist/lib/component-vocabulary.d.ts +12 -0
  1169. package/dist/lib/editable-text-recipe.d.ts +6 -0
  1170. package/dist/lib/email-composer.d.ts +6 -0
  1171. package/dist/lib/field-affordance-recipes.d.ts +20 -0
  1172. package/dist/lib/field-state-recipes.d.ts +10 -0
  1173. package/dist/lib/format.d.ts +53 -0
  1174. package/dist/lib/motion-recipes.d.ts +8 -0
  1175. package/dist/lib/navigation-row-recipes.d.ts +26 -0
  1176. package/dist/lib/overlay-anatomy-recipes.d.ts +8 -0
  1177. package/dist/lib/row-recipes.d.ts +3 -0
  1178. package/dist/lib/sanitize-html.d.ts +8 -0
  1179. package/dist/lib/strings.d.ts +16 -0
  1180. package/dist/lib/strings.js +32 -0
  1181. package/dist/lib/strings.js.map +1 -0
  1182. package/dist/lib/surface-recipes.d.ts +27 -0
  1183. package/dist/lib/theme-scope.d.ts +31 -0
  1184. package/dist/lib/token-merge.generated.d.ts +2 -0
  1185. package/dist/lib/track-recipes.d.ts +4 -0
  1186. package/dist/lib/ui-provider/defaults.d.ts +12 -0
  1187. package/dist/lib/ui-provider/hooks.d.ts +13 -0
  1188. package/dist/lib/ui-provider/index.d.ts +28 -0
  1189. package/dist/lib/ui-provider/provider.d.ts +15 -0
  1190. package/dist/lib/ui-provider/scale.d.ts +5 -0
  1191. package/dist/lib/ui-provider/store.d.ts +11 -0
  1192. package/dist/lib/ui-provider/types.d.ts +157 -0
  1193. package/dist/lib/utils.d.ts +2 -0
  1194. package/dist/lib/utils.js +2 -0
  1195. package/dist/map-demo-tile.svg +1 -0
  1196. package/dist/media-gallery-DhDRgnVZ.js +200 -0
  1197. package/dist/media-gallery-DhDRgnVZ.js.map +1 -0
  1198. package/dist/mentions-B8Ko-fhS.js +563 -0
  1199. package/dist/mentions-B8Ko-fhS.js.map +1 -0
  1200. package/dist/message-COsdEvXT.js +108 -0
  1201. package/dist/message-COsdEvXT.js.map +1 -0
  1202. package/dist/motion-recipes-B6jKXEcN.js +27 -0
  1203. package/dist/motion-recipes-B6jKXEcN.js.map +1 -0
  1204. package/dist/navigation-BUIn2Qxx.js +265 -0
  1205. package/dist/navigation-BUIn2Qxx.js.map +1 -0
  1206. package/dist/navigation-DBEu4POU.js +267 -0
  1207. package/dist/navigation-DBEu4POU.js.map +1 -0
  1208. package/dist/navigation-row-recipes-GVh11KiT.js +29 -0
  1209. package/dist/navigation-row-recipes-GVh11KiT.js.map +1 -0
  1210. package/dist/number-BNT_BIzJ.js +269 -0
  1211. package/dist/number-BNT_BIzJ.js.map +1 -0
  1212. package/dist/overlay.recipes-BxW5FIfK.js +6 -0
  1213. package/dist/overlay.recipes-BxW5FIfK.js.map +1 -0
  1214. package/dist/overlays-B11wZka6.js +982 -0
  1215. package/dist/overlays-B11wZka6.js.map +1 -0
  1216. package/dist/page-BV6ioQg3.js +202 -0
  1217. package/dist/page-BV6ioQg3.js.map +1 -0
  1218. package/dist/page-header-DQRa0jug.js +112 -0
  1219. package/dist/page-header-DQRa0jug.js.map +1 -0
  1220. package/dist/pagination-C29vvt3I.js +149 -0
  1221. package/dist/pagination-C29vvt3I.js.map +1 -0
  1222. package/dist/popover-CoLDEg19.js +194 -0
  1223. package/dist/popover-CoLDEg19.js.map +1 -0
  1224. package/dist/popover-menu-GLIQTJTx.js +99 -0
  1225. package/dist/popover-menu-GLIQTJTx.js.map +1 -0
  1226. package/dist/popover.recipes-zgBhMlUu.js +34 -0
  1227. package/dist/popover.recipes-zgBhMlUu.js.map +1 -0
  1228. package/dist/primitives-DKPOGVpj.js +330 -0
  1229. package/dist/primitives-DKPOGVpj.js.map +1 -0
  1230. package/dist/primitives.js +7 -0
  1231. package/dist/progress-BOe8l_FZ.js +168 -0
  1232. package/dist/progress-BOe8l_FZ.js.map +1 -0
  1233. package/dist/receipt-BM8xsGFy.js +113 -0
  1234. package/dist/receipt-BM8xsGFy.js.map +1 -0
  1235. package/dist/rich-text-B7sBAdDG.js +32 -0
  1236. package/dist/rich-text-B7sBAdDG.js.map +1 -0
  1237. package/dist/rich-text-editor-CoVrTiSv.js +575 -0
  1238. package/dist/rich-text-editor-CoVrTiSv.js.map +1 -0
  1239. package/dist/rich-text-editor.recipes-DxvOE0Lp.js +72 -0
  1240. package/dist/rich-text-editor.recipes-DxvOE0Lp.js.map +1 -0
  1241. package/dist/rich-text-editor.strings-BpnIQgMl.js +25 -0
  1242. package/dist/rich-text-editor.strings-BpnIQgMl.js.map +1 -0
  1243. package/dist/row-recipes-DL8n7t_b.js +10 -0
  1244. package/dist/row-recipes-DL8n7t_b.js.map +1 -0
  1245. package/dist/sanitize-html-BG9FGe-j.js +64 -0
  1246. package/dist/sanitize-html-BG9FGe-j.js.map +1 -0
  1247. package/dist/scroll-area-BheMQ270.js +47 -0
  1248. package/dist/scroll-area-BheMQ270.js.map +1 -0
  1249. package/dist/select-B2mb-qN2.js +108 -0
  1250. package/dist/select-B2mb-qN2.js.map +1 -0
  1251. package/dist/separator-DO0EbCEm.js +17 -0
  1252. package/dist/separator-DO0EbCEm.js.map +1 -0
  1253. package/dist/separator-Gk_WXH-l.js +21 -0
  1254. package/dist/separator-Gk_WXH-l.js.map +1 -0
  1255. package/dist/services/actions/action-adapters.d.ts +77 -0
  1256. package/dist/services/actions/action-overlay-outlet.d.ts +3 -0
  1257. package/dist/services/actions/action-provider.d.ts +7 -0
  1258. package/dist/services/actions/action-scope.d.ts +3 -0
  1259. package/dist/services/actions/action-store.d.ts +55 -0
  1260. package/dist/services/actions/actions.strings.d.ts +2 -0
  1261. package/dist/services/actions/actions.types.d.ts +322 -0
  1262. package/dist/services/actions/hooks.d.ts +8 -0
  1263. package/dist/services/actions/index.d.ts +8 -0
  1264. package/dist/services/actions.js +811 -0
  1265. package/dist/services/actions.js.map +1 -0
  1266. package/dist/settings-BnCyyPOJ.js +160 -0
  1267. package/dist/settings-BnCyyPOJ.js.map +1 -0
  1268. package/dist/sheet-B-q914Ad.js +205 -0
  1269. package/dist/sheet-B-q914Ad.js.map +1 -0
  1270. package/dist/sidebar-C_2p3Tfj.js +501 -0
  1271. package/dist/sidebar-C_2p3Tfj.js.map +1 -0
  1272. package/dist/sidebar-DPR7fmqN.js +598 -0
  1273. package/dist/sidebar-DPR7fmqN.js.map +1 -0
  1274. package/dist/skeleton-CmT1ppqb.js +264 -0
  1275. package/dist/skeleton-CmT1ppqb.js.map +1 -0
  1276. package/dist/slot-CLF9kLrS.js +16 -0
  1277. package/dist/slot-CLF9kLrS.js.map +1 -0
  1278. package/dist/smart-card-CYLn46e6.js +578 -0
  1279. package/dist/smart-card-CYLn46e6.js.map +1 -0
  1280. package/dist/spinner-BY9HbUEh.js +78 -0
  1281. package/dist/spinner-BY9HbUEh.js.map +1 -0
  1282. package/dist/structure-MvKVq-oL.js +95 -0
  1283. package/dist/structure-MvKVq-oL.js.map +1 -0
  1284. package/dist/structure.recipes-Bqhf9oIh.js +548 -0
  1285. package/dist/structure.recipes-Bqhf9oIh.js.map +1 -0
  1286. package/dist/style.css +3 -0
  1287. package/dist/surface-recipes-CQfRr-VL.js +27 -0
  1288. package/dist/surface-recipes-CQfRr-VL.js.map +1 -0
  1289. package/dist/table-BS39xnlq.js +1424 -0
  1290. package/dist/table-BS39xnlq.js.map +1 -0
  1291. package/dist/table-DnlAJ-xR.js +146 -0
  1292. package/dist/table-DnlAJ-xR.js.map +1 -0
  1293. package/dist/tabs-B5cNMWiP.js +187 -0
  1294. package/dist/tabs-B5cNMWiP.js.map +1 -0
  1295. package/dist/text-inputs-Dh9XGyiS.js +331 -0
  1296. package/dist/text-inputs-Dh9XGyiS.js.map +1 -0
  1297. package/dist/text.styles-BwB7vAF2.js +64 -0
  1298. package/dist/text.styles-BwB7vAF2.js.map +1 -0
  1299. package/dist/theme-scope-kStaAer0.js +39 -0
  1300. package/dist/theme-scope-kStaAer0.js.map +1 -0
  1301. package/dist/theme.css +872 -0
  1302. package/dist/timelines-B9ICkQcV.js +446 -0
  1303. package/dist/timelines-B9ICkQcV.js.map +1 -0
  1304. package/dist/track-recipes-LLPNVwFg.js +10 -0
  1305. package/dist/track-recipes-LLPNVwFg.js.map +1 -0
  1306. package/dist/tree-BdWSaoFT.js +185 -0
  1307. package/dist/tree-BdWSaoFT.js.map +1 -0
  1308. package/dist/types/index.d.ts +11 -0
  1309. package/dist/types/locale.types.d.ts +7 -0
  1310. package/dist/types/pagination.types.d.ts +24 -0
  1311. package/dist/typography/rich-text.js +3 -0
  1312. package/dist/typography-Cv8MT-82.js +96 -0
  1313. package/dist/typography-Cv8MT-82.js.map +1 -0
  1314. package/dist/typography.js +3 -0
  1315. package/dist/ui-provider-CftIB6TY.js +128 -0
  1316. package/dist/ui-provider-CftIB6TY.js.map +1 -0
  1317. package/dist/ui-provider.js +4 -0
  1318. package/dist/upload-D8Za5x_c.js +849 -0
  1319. package/dist/upload-D8Za5x_c.js.map +1 -0
  1320. package/dist/upload-queue-hIIYBLS7.js +410 -0
  1321. package/dist/upload-queue-hIIYBLS7.js.map +1 -0
  1322. package/dist/usage-card-DnmnJ58D.js +458 -0
  1323. package/dist/usage-card-DnmnJ58D.js.map +1 -0
  1324. package/dist/use-debounce-DZ_1ZBPa.js +18 -0
  1325. package/dist/use-debounce-DZ_1ZBPa.js.map +1 -0
  1326. package/dist/use-debounced-callback-Cx1h-hdv.js +30 -0
  1327. package/dist/use-debounced-callback-Cx1h-hdv.js.map +1 -0
  1328. package/dist/use-file-drop-target-BX7GnhoQ.js +39 -0
  1329. package/dist/use-file-drop-target-BX7GnhoQ.js.map +1 -0
  1330. package/dist/use-mobile-vaLKwgyf.js +15 -0
  1331. package/dist/use-mobile-vaLKwgyf.js.map +1 -0
  1332. package/dist/utils-C2EKeIw3.js +72 -0
  1333. package/dist/utils-C2EKeIw3.js.map +1 -0
  1334. package/dist/value-inputs-DX2dbxjj.js +824 -0
  1335. package/dist/value-inputs-DX2dbxjj.js.map +1 -0
  1336. package/dist/workspace-C1PZmk8L.js +402 -0
  1337. package/dist/workspace-C1PZmk8L.js.map +1 -0
  1338. package/docs/consumer-skill/SKILL.md +135 -0
  1339. package/docs/consumer-skill/examples/app-layout.tsx +31 -0
  1340. package/docs/consumer-skill/examples/composition.tsx +37 -0
  1341. package/docs/consumer-skill/examples/content-workflow.tsx +13 -0
  1342. package/docs/consumer-skill/examples/destructive-confirm.tsx +42 -0
  1343. package/docs/consumer-skill/examples/detail.tsx +27 -0
  1344. package/docs/consumer-skill/examples/edit.tsx +61 -0
  1345. package/docs/consumer-skill/examples/email-composer.tsx +25 -0
  1346. package/docs/consumer-skill/examples/hierarchy-capture.tsx +25 -0
  1347. package/docs/consumer-skill/examples/index-table.tsx +36 -0
  1348. package/docs/consumer-skill/examples/manifest.json +108 -0
  1349. package/docs/consumer-skill/examples/planning-usage-edit.tsx +29 -0
  1350. package/docs/consumer-skill/examples/receipt.tsx +19 -0
  1351. package/docs/consumer-skill/examples/scoped-directory.tsx +77 -0
  1352. package/docs/consumer-skill/references/composition.md +273 -0
  1353. package/docs/consumer-skill/references/design-contract.md +146 -0
  1354. package/docs/consumer-skill/references/discovery.md +50 -0
  1355. package/docs/consumer-skill/references/installation.md +83 -0
  1356. package/docs/consumer-skill/references/integration.md +69 -0
  1357. package/docs/consumer-skill/references/public-api.json +17750 -0
  1358. package/docs/consumer-skill/references/review.md +74 -0
  1359. package/docs/consumer-skill/references/theming.md +56 -0
  1360. package/docs/consumer-skill/references/tokens.json +422 -0
  1361. package/docs/consumer-skill/references/workflows.md +135 -0
  1362. package/docs/consumer-skill/scripts/check-composition.mjs +31 -0
  1363. package/docs/consumer-skill/scripts/composition-policy.mjs +155 -0
  1364. package/docs/consumer-skill/scripts/discovery.mjs +84 -0
  1365. package/docs/consumer-skill/scripts/find-components.mjs +11 -0
  1366. package/docs/consumer-skill/scripts/surface-policy.mjs +22 -0
  1367. package/package.json +642 -4
@@ -0,0 +1 @@
1
+ {"version":3,"file":"choice-inputs-CC7XqPQO.js","names":["isScalar","baseui.SelectContent","baseui.SelectGroup","baseui.SelectItem","baseui.SelectLabel","baseui.SelectSeparator","baseui.Select","baseui.SelectTrigger","baseui.SelectValue","Switch","SwitchPrimitive","Switch","SwitchPrimitive","React","Switch","isSimpleText","Switch","isSimpleText","GRID_COLS","isSimpleText","RadioGroupPrimitive","RadioPrimitive","React","RadioGroupPrimitive","RadioPrimitive","React","resolveComponentScale","useTypographyConfig","useDensityConfig","cn","textSizes","Text","Label","Stack","collectionRowClasses","popoverRecipes","collectionRecipes","CollectionLabel","CollectionContent","formFieldTriggerClasses","formControlIconClasses","resolveFormControlSize","SelectLabel","SelectValue","SelectItem","SelectContent","SelectSeparator","SelectGroup","SelectTrigger","Select$1","Checkbox","React$1","SELECT_POPUP_BEM","selectPopupItemSizeClasses","isScalar$1","value","SelectPopupContent","props","className","SelectPopupGroup","SelectPopupItem","density","size","defaultTextSize","children","SelectPopupLabel","SelectPopupSeparator","defaultSelectStrings","CLEAR_VALUE","OPTION_VALUE_PREFIX","toInternalOptionValue","toInternalSelectedValue","toExternalValue","isScalar","typographyNode","DefaultOptionContent","option","Select","memo","forwardRef","isControlled","stringsProp","sizeProp","ariaLabel","ariaLabelledBy","ariaDescribedBy","ariaInvalid","triggerProps","strings","useStrings","defaultScale","resolvedPlaceholder","placeholder","internalOptions","useMemo","mapped","options","allowClear","internalValue","optionsByInternalValue","entry","normalizedValue","normalizedDefaultValue","defaultValue","handleValueChange","useCallback","externalValue","nextValue","onValueChange","serializeValue","invalid","selectedOption","currentValue","renderValue","contentClassName","rendered","renderOption","Switch$2","Switch","Switch$1","rest","resolvedAriaInvalid","resolvedInvalid","checked","SwitchCard","Icon","internal","setInternal","useState","generatedId","useId","id","name","hasDescription","description","describedById","handleToggle","disabled","newChecked","handleCardClick","label","hint","isSimpleText$3","ToggleField","inputId","labelId","descriptionId","set","next","onRowClick","Control","kind","v","TextBlock","controlPosition","choiceCardSizeTokens","choicePillSizeTokens","choiceListSizeTokens","choiceCardMarkerClasses","choiceCardMarkerClearance","isSimpleText$2","GRID_COLS$1","CardCheckboxGroup","selected","tokens","toggle","o","val","columns","optionLabel","isSelected","isDisabled","shouldIncludeHidden","nameAttr","CircleCheck","isSimpleText$1","GRID_COLS","CardRadioGroupImpl","gridClassName","RadioGroup","Radio","CardRadioGroup","isSimpleText","ListRadioGroup","rowPadding","Circle","PillRadioGroup","handleClick","optionValue","fullWidth","index"],"sources":["../src/components/base/choice-inputs/select-popup.tsx","../src/components/base/choice-inputs/select.tsx","../src/components/ui/switch.tsx","../src/components/base/choice-inputs/switch.tsx","../src/components/base/choice-inputs/switch-card.tsx","../src/components/base/choice-inputs/toggle-field.tsx","../src/components/base/choice-inputs/choice-types.ts","../src/components/base/choice-inputs/card-checkbox-group.tsx","../src/components/base/choice-inputs/card-radio-group.tsx","../src/components/base/choice-inputs/list-radio-group.tsx","../src/components/base/choice-inputs/pill-radio-group.tsx"],"sourcesContent":["import { CollectionLabel } from '../popover/collection-content';\nimport type { ComponentPropsWithoutRef, ReactNode } from 'react';\n\nimport * as baseui from '../../ui/select';\nimport { Text } from '../../typography';\nimport { textSizes } from '../../typography/text.styles';\nimport { useTypographyConfig, type FormControlSize } from '../../../lib/ui-provider';\nimport { cn } from '../../../lib/utils';\nimport { collectionRecipes, collectionRowClasses, popoverRecipes, type CollectionDensity } from '../popover/popover.recipes';\n\nconst SELECT_POPUP_BEM = {\n\tcontent: 'select-popup--component',\n\tgroup: 'select-popup--group',\n\titem: 'select-popup--item',\n\tlabel: 'select-popup--label',\n\tseparator: 'select-popup--separator',\n} as const;\n\nconst selectPopupItemSizeClasses: Record<FormControlSize, string> = {\n\tsm: \"[&_svg:not([class*='size-'])]:size-icon-sm\",\n\tmd: \"[&_svg:not([class*='size-'])]:size-icon\",\n\tlg: \"[&_svg:not([class*='size-'])]:size-icon-lg\",\n};\n\nfunction isScalar(value: ReactNode): value is string | number | bigint {\n\treturn typeof value === 'string' || typeof value === 'number' || typeof value === 'bigint';\n}\n\n/**\n * Private presentation layer for every Select-based form popup.\n *\n * It deliberately leaves Root/Trigger/Value state and form semantics with the\n * owning control, while centralizing the collection popup's compact surface inset, row\n * rhythm, option indicator clearance, icon sizing, and group anatomy.\n */\nexport function SelectPopupContent({\n\tclassName,\n\talign = 'start',\n\talignItemWithTrigger = false,\n\t...props\n}: ComponentPropsWithoutRef<typeof baseui.SelectContent>) {\n\treturn (\n\t\t<baseui.SelectContent\n\t\t\talign={align}\n\t\t\talignItemWithTrigger={alignItemWithTrigger}\n\t\t\tclassName={cn(\n\t\t\t\tSELECT_POPUP_BEM.content,\n\t\t\t\tpopoverRecipes.surface,\n\t\t\t\tpopoverRecipes.menu,\n\t\t\t\t'w-max min-w-(--anchor-width) max-w-(--available-width)',\n\t\t\t\tclassName,\n\t\t\t)}\n\t\t\t{...props}\n\t\t/>\n\t);\n}\n\nexport function SelectPopupGroup({\n\tclassName,\n\t...props\n}: ComponentPropsWithoutRef<typeof baseui.SelectGroup>) {\n\treturn (\n\t\t<baseui.SelectGroup\n\t\t\tclassName={cn(SELECT_POPUP_BEM.group, 'p-0', className)}\n\t\t\t{...props}\n\t\t/>\n\t);\n}\n\nexport interface SelectPopupItemProps\n\textends ComponentPropsWithoutRef<typeof baseui.SelectItem> {\n\t/** Match option typography, gap, icon, and indicator clearance to its trigger. */\n\tsize?: FormControlSize;\n\t/** Vertical option rhythm, independent from trigger/icon size. */\n\tdensity?: CollectionDensity;\n}\n\nexport function SelectPopupItem({\n\tchildren,\n\tclassName,\n\tsize = 'md',\n\tdensity = 'default',\n\t...props\n}: SelectPopupItemProps) {\n\tconst { defaultTextSize } = useTypographyConfig();\n\treturn (\n\t\t<baseui.SelectItem\n\t\t\tclassName={cn(\n\t\t\t\tSELECT_POPUP_BEM.item,\n\t\t\t\tcollectionRowClasses(density),\n\t\t\t\tcollectionRecipes.highlighted,\n\t\t\t\tcollectionRecipes.disabled,\n\t\t\t\tselectPopupItemSizeClasses[size],\n\t\t\t\ttextSizes[defaultTextSize ?? 'sm'],\n\t\t\t\tclassName,\n\t\t\t)}\n\t\t\t{...props}\n\t\t>\n\t\t\t{isScalar(children) ? <CollectionLabel>{children}</CollectionLabel> : children}\n\t\t</baseui.SelectItem>\n\t);\n}\n\nexport interface SelectPopupLabelProps\n\textends ComponentPropsWithoutRef<typeof baseui.SelectLabel> {\n\t/** Match the group label to the owning form control's text scale. */\n\tsize?: FormControlSize;\n}\n\nexport function SelectPopupLabel({\n\tchildren,\n\tclassName,\n\tsize = 'md',\n\t...props\n}: SelectPopupLabelProps) {\n\treturn (\n\t\t<baseui.SelectLabel\n\t\t\tclassName={cn(\n\t\t\t\tSELECT_POPUP_BEM.label,\n\t\t\t\t'px-row-x py-row-y',\n\t\t\t\tsize === 'sm' ? 'text-pxs' : size === 'lg' ? 'text-base' : 'text-sm',\n\t\t\t\tclassName,\n\t\t\t)}\n\t\t\t{...props}\n\t\t>\n\t\t\t{isScalar(children) ? (\n\t\t\t\t<Text tag=\"span\" size=\"inherit\" type=\"secondary\" lineHeight=\"tight\" className=\"text-inherit\">\n\t\t\t\t\t{children}\n\t\t\t\t</Text>\n\t\t\t) : children}\n\t\t</baseui.SelectLabel>\n\t);\n}\n\nexport function SelectPopupSeparator({\n\tclassName,\n\t...props\n}: ComponentPropsWithoutRef<typeof baseui.SelectSeparator>) {\n\treturn (\n\t\t<baseui.SelectSeparator\n\t\t\tclassName={cn(\n\t\t\t\tSELECT_POPUP_BEM.separator,\n\t\t\t\tpopoverRecipes.separator,\n\t\t\t\tclassName,\n\t\t\t)}\n\t\t\t{...props}\n\t\t/>\n\t);\n}\n","import { CollectionContent } from '../popover/collection-content';\nimport {\n\tforwardRef,\n\tmemo,\n\tuseCallback,\n\tuseMemo,\n\ttype ComponentPropsWithoutRef,\n\ttype FocusEventHandler,\n\ttype ReactNode,\n\ttype Ref,\n} from 'react';\n\nimport * as baseui from '../../ui/select';\nimport { Text } from '../../typography';\nimport { useDensityConfig, type FormControlSize } from '../../../lib/ui-provider';\nimport { useStrings, type StringsProp } from '../../../lib/strings';\nimport { cn } from '../../../lib/utils';\nimport type { CollectionDensity } from '../popover/popover.recipes';\n\nimport {\n\tformControlIconClasses,\n\tformControlInlineGapClasses,\n\tformFieldTriggerClasses,\n\tresolveFormControlSize,\n} from '../forms/form-sizing';\nimport {\n\tSelectPopupContent,\n\tSelectPopupGroup,\n\tSelectPopupItem,\n} from './select-popup';\n\nexport interface SelectStrings {\n\tplaceholder: string;\n}\n\nexport const defaultSelectStrings: SelectStrings = {\n\tplaceholder: 'Select an option',\n};\n\nexport interface SelectOption {\n\tvalue: string;\n\tlabel: string;\n\tdescription?: string;\n\ticon?: ReactNode;\n\tdisabled?: boolean;\n}\n\ntype BaseSelectTriggerProps = ComponentPropsWithoutRef<typeof baseui.SelectTrigger>;\n\ntype SelectTriggerProps = Omit<\n\tBaseSelectTriggerProps,\n\t| 'aria-describedby'\n\t| 'aria-invalid'\n\t| 'aria-label'\n\t| 'aria-labelledby'\n\t| 'children'\n\t| 'className'\n\t| 'defaultValue'\n\t| 'disabled'\n\t| 'form'\n\t| 'id'\n\t| 'name'\n\t| 'onBlur'\n\t| 'onChange'\n\t| 'onFocus'\n\t| 'required'\n\t| 'size'\n\t| 'value'\n>;\n\nexport interface SelectProps extends SelectTriggerProps {\n\t/** Popup option rhythm, independent from the trigger size. Defaults to default. */\n\tdensity?: CollectionDensity;\n\t/** Available options. An empty-string option clears the selection. */\n\toptions: SelectOption[];\n\n\t/** Placeholder text — overrides `strings.placeholder` when provided. */\n\tplaceholder?: string;\n\n\t/** String overrides (e.g. placeholder). */\n\tstrings?: StringsProp<SelectStrings>;\n\n\t/** Add a placeholder option that clears the current selection. */\n\tallowClear?: boolean;\n\n\t/** Error state for styling (passed from FormField). */\n\tinvalid?: boolean;\n\n\t/** Visual size. */\n\tsize?: FormControlSize;\n\n\t/** Additional class names for the trigger. */\n\tclassName?: string;\n\n\t/** Additional class names for the popup surface. */\n\tcontentClassName?: string;\n\n\t/** Canonical value callback. Returns `undefined` when the selection is cleared. */\n\tonValueChange?: (value: string | undefined) => void;\n\n\t/** Current value. Passing `value={undefined}` explicitly keeps the control controlled and clear. */\n\tvalue?: string | null;\n\n\t/** Initial value for an uncontrolled select. */\n\tdefaultValue?: string | null;\n\n\t/** Disabled state. */\n\tdisabled?: boolean;\n\n\t/** Read-only state. */\n\treadOnly?: boolean;\n\n\t/** Field name used by the hidden native input. */\n\tname?: string;\n\n\t/** The owning form id when the select is rendered outside that form. */\n\tform?: string;\n\n\t/** Native autocomplete hint forwarded to the hidden input. */\n\tautoComplete?: string;\n\n\t/** Ref to the hidden native input used for form submission. */\n\tinputRef?: Ref<HTMLInputElement>;\n\n\t/** Root id; Base UI applies it to the trigger/field contract. */\n\tid?: string;\n\n\t/** Required state. */\n\trequired?: boolean;\n\n\t/** Accessible label for externally-labelled or compact trigger contexts. */\n\t'aria-label'?: string;\n\n\t/** Ids of elements that label the trigger. */\n\t'aria-labelledby'?: string;\n\n\t/** Ids of elements that describe the trigger. */\n\t'aria-describedby'?: string;\n\n\t/** Native invalid state forwarded to the trigger. `invalid` takes precedence. */\n\t'aria-invalid'?: BaseSelectTriggerProps['aria-invalid'];\n\n\t/** Native focus callback forwarded to the trigger. */\n\tonFocus?: FocusEventHandler<HTMLButtonElement>;\n\n\t/** Native blur callback forwarded to the trigger. */\n\tonBlur?: FocusEventHandler<HTMLButtonElement>;\n\n\t/** Open state (controlled). */\n\topen?: boolean;\n\n\t/** Default open state. */\n\tdefaultOpen?: boolean;\n\n\t/** Open change handler. */\n\tonOpenChange?: (open: boolean) => void;\n\n\t/** Called after the popup's opening or closing animation completes. */\n\tonOpenChangeComplete?: (open: boolean) => void;\n\n\t/** Whether the open popup should isolate interaction from the rest of the page. */\n\tmodal?: boolean;\n\n\t/** Whether pointer movement should highlight popup options. */\n\thighlightItemOnHover?: boolean;\n\n\t/** Replace the default icon/label/description option presentation. */\n\trenderOption?: (option: SelectOption) => ReactNode;\n\n\t/** Replace the trigger value presentation. Receives `undefined` for the placeholder state. */\n\trenderValue?: (option: SelectOption | undefined) => ReactNode;\n}\n\ninterface InternalSelectOption {\n\tinternalValue: string;\n\toption: SelectOption;\n}\n\n// Base UI reserves the empty string for an empty native form value. Encoding every\n// real option keeps consumer values collision-free, including values that happen to\n// equal this component's clear sentinel.\nconst CLEAR_VALUE = '__admin_ui_select_clear__';\nconst OPTION_VALUE_PREFIX = '__admin_ui_select_option__:';\n\nfunction toInternalOptionValue(value: string): string {\n\treturn value === '' ? CLEAR_VALUE : `${OPTION_VALUE_PREFIX}${value}`;\n}\n\nfunction toInternalSelectedValue(value: string | null | undefined): string | null {\n\tif (value === '' || value === null || value === undefined) return null;\n\treturn `${OPTION_VALUE_PREFIX}${value}`;\n}\n\nfunction toExternalValue(value: string | null): string | undefined {\n\tif (value === null || value === CLEAR_VALUE) return undefined;\n\tif (value.startsWith(OPTION_VALUE_PREFIX)) return value.slice(OPTION_VALUE_PREFIX.length);\n\treturn undefined;\n}\n\nfunction isScalar(value: ReactNode): value is string | number | bigint {\n\treturn typeof value === 'string' || typeof value === 'number' || typeof value === 'bigint';\n}\n\nfunction typographyNode(value: ReactNode, className?: string): ReactNode {\n\tif (!isScalar(value)) return value;\n\n\treturn (\n\t\t<Text tag=\"span\" size=\"inherit\" lineHeight=\"tight\" className={cn('text-inherit', className)}>\n\t\t\t{value}\n\t\t</Text>\n\t);\n}\n\nfunction DefaultOptionContent({ option, size }: { option: SelectOption; size: FormControlSize }) {\n return <CollectionContent label={option.label} description={option.description} leading={option.icon} leadingDecorative wrap\n className=\"select--option-content\" leadingClassName={cn('select--option-icon',formControlIconClasses[size])}\n bodyClassName=\"select--option-text text-start\" labelClassName=\"select--option-label block\"\n descriptionClassName=\"select--option-description line-clamp-2\"/>;\n}\n\n/**\n * Canonical finite-option form control. `Select` owns the single Base UI state\n * engine used by both standard and descriptive option presentations.\n */\nexport const Select = memo(\n\tforwardRef<HTMLButtonElement, SelectProps>(function Select(props, ref) {\n\t\tconst isControlled = Object.prototype.hasOwnProperty.call(props, 'value');\n\t\tconst {\n\t\t\toptions,\n\t\t\tdensity,\n\t\t\tplaceholder,\n\t\t\tstrings: stringsProp,\n\t\t\tallowClear = false,\n\t\t\tinvalid,\n\t\t\tsize: sizeProp,\n\t\t\tclassName,\n\t\t\tcontentClassName,\n\t\t\tonValueChange,\n\t\t\tdisabled,\n\t\t\treadOnly,\n\t\t\tdefaultOpen,\n\t\t\topen,\n\t\t\tonOpenChange,\n\t\t\tonOpenChangeComplete,\n\t\t\tmodal,\n\t\t\thighlightItemOnHover,\n\t\t\tname,\n\t\t\tform,\n\t\t\tautoComplete,\n\t\t\tinputRef,\n\t\t\tid,\n\t\t\trequired,\n\t\t\t'aria-label': ariaLabel,\n\t\t\t'aria-labelledby': ariaLabelledBy,\n\t\t\t'aria-describedby': ariaDescribedBy,\n\t\t\t'aria-invalid': ariaInvalid,\n\t\t\tonFocus,\n\t\t\tonBlur,\n\t\t\tvalue,\n\t\t\tdefaultValue,\n\t\t\trenderOption,\n\t\t\trenderValue,\n\t\t\t...triggerProps\n\t\t} = props;\n\t\tconst strings = useStrings(defaultSelectStrings, stringsProp);\n\t\tconst { defaultScale } = useDensityConfig();\n\t\tconst size = resolveFormControlSize(sizeProp, defaultScale);\n\t\tconst resolvedPlaceholder = placeholder ?? strings.placeholder;\n\n\t\tconst internalOptions = useMemo<InternalSelectOption[]>(() => {\n\t\t\tconst mapped = options.map((option) => ({\n\t\t\t\toption,\n\t\t\t\tinternalValue: toInternalOptionValue(option.value),\n\t\t\t}));\n\n\t\t\tif (allowClear && !mapped.some(({ internalValue }) => internalValue === CLEAR_VALUE)) {\n\t\t\t\tmapped.unshift({\n\t\t\t\t\tinternalValue: CLEAR_VALUE,\n\t\t\t\t\toption: { value: '', label: resolvedPlaceholder },\n\t\t\t\t});\n\t\t\t}\n\n\t\t\treturn mapped;\n\t\t}, [allowClear, options, resolvedPlaceholder]);\n\n\t\tconst optionsByInternalValue = useMemo(\n\t\t\t() => new Map(internalOptions.map((entry) => [entry.internalValue, entry.option])),\n\t\t\t[internalOptions],\n\t\t);\n\t\tconst normalizedValue = toInternalSelectedValue(value);\n\t\tconst normalizedDefaultValue = toInternalSelectedValue(defaultValue);\n\n\t\tconst handleValueChange = useCallback(\n\t\t\t(nextValue: string | null) => {\n\t\t\t\tconst externalValue = toExternalValue(nextValue);\n\t\t\t\tonValueChange?.(externalValue);\n\t\t\t},\n\t\t\t[onValueChange],\n\t\t);\n\n\t\tconst serializeValue = useCallback((internalValue: string) => {\n\t\t\treturn toExternalValue(internalValue) ?? '';\n\t\t}, []);\n\n\t\tconst controlledValueProps = isControlled ? { value: normalizedValue } : {};\n\n\t\treturn (\n\t\t\t<baseui.Select\n\t\t\t\tonValueChange={handleValueChange}\n\t\t\t\tdisabled={disabled}\n\t\t\t\treadOnly={readOnly}\n\t\t\t\tdefaultOpen={defaultOpen}\n\t\t\t\topen={open}\n\t\t\t\tonOpenChange={onOpenChange}\n\t\t\t\tonOpenChangeComplete={onOpenChangeComplete}\n\t\t\t\tmodal={modal}\n\t\t\t\thighlightItemOnHover={highlightItemOnHover}\n\t\t\t\tname={name}\n\t\t\t\tform={form}\n\t\t\t\tautoComplete={autoComplete}\n\t\t\t\tinputRef={inputRef}\n\t\t\t\tid={id}\n\t\t\t\trequired={required}\n\t\t\t\tdefaultValue={normalizedDefaultValue}\n\t\t\t\titemToStringValue={serializeValue}\n\t\t\t\t{...controlledValueProps}\n\t\t\t>\n\t\t\t\t<baseui.SelectTrigger\n\t\t\t\t\tref={ref}\n\t\t\t\t\taria-label={ariaLabel}\n\t\t\t\t\taria-labelledby={ariaLabelledBy}\n\t\t\t\t\taria-describedby={ariaDescribedBy}\n\t\t\t\t\taria-invalid={invalid ? true : ariaInvalid}\n\t\t\t\t\tonFocus={onFocus}\n\t\t\t\t\tonBlur={onBlur}\n\t\t\t\t\tclassName={cn(\n\t\t\t\t\t\t'select--component select--trigger',\n\t\t\t\t\t\tformFieldTriggerClasses(size),\n\t\t\t\t\t\t'data-[placeholder]:text-muted-foreground',\n\t\t\t\t\t\tclassName,\n\t\t\t\t\t)}\n\t\t\t\t\t{...triggerProps}\n\t\t\t\t>\n\t\t\t\t\t<baseui.SelectValue className=\"select--value min-w-0\">\n\t\t\t\t\t\t{(currentValue: string | null) => {\n\t\t\t\t\t\t\tconst selectedOption = currentValue && currentValue !== CLEAR_VALUE\n\t\t\t\t\t\t\t\t? optionsByInternalValue.get(currentValue)\n\t\t\t\t\t\t\t\t: undefined;\n\t\t\t\t\t\t\tconst rendered = renderValue\n\t\t\t\t\t\t\t\t? renderValue(selectedOption)\n\t\t\t\t\t\t\t\t: selectedOption?.label ?? resolvedPlaceholder;\n\n\t\t\t\t\t\t\treturn typographyNode(rendered, 'min-w-0 truncate');\n\t\t\t\t\t\t}}\n\t\t\t\t\t</baseui.SelectValue>\n\t\t\t\t</baseui.SelectTrigger>\n\t\t\t\t<SelectPopupContent className={cn('select--content', contentClassName)}>\n\t\t\t\t\t<SelectPopupGroup className=\"select--group\">\n\t\t\t\t\t\t{internalOptions.map(({ internalValue, option }) => {\n\t\t\t\t\t\t\tconst rendered = renderOption?.(option);\n\n\t\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t\t<SelectPopupItem\n\t\t\t\t\t\t\t\t\tkey={internalValue}\n\t\t\t\t\t\t\t\t\tvalue={internalValue}\n\t\t\t\t\t\t\t\t\tlabel={option.label}\n\t\t\t\t\t\t\t\t\taria-label={option.label}\n\t\t\t\t\t\t\t\t\tdisabled={option.disabled}\n\t\t\t\t\t\t\t\t\tsize={size}\n\t\t\t\t\t\t\t\t\tdensity={density}\n\t\t\t\t\t\t\t\t\tclassName=\"select--item\"\n\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t{renderOption\n\t\t\t\t\t\t\t\t\t\t? typographyNode(rendered, 'select--option-custom')\n\t\t\t\t\t\t\t\t\t\t: <DefaultOptionContent option={option} size={size} />}\n\t\t\t\t\t\t\t\t</SelectPopupItem>\n\t\t\t\t\t\t\t);\n\t\t\t\t\t\t})}\n\t\t\t\t\t</SelectPopupGroup>\n\t\t\t\t</SelectPopupContent>\n\t\t\t</baseui.Select>\n\t\t);\n\t}),\n);\n\nSelect.displayName = 'Select';\n","import { Switch as SwitchPrimitive } from \"@base-ui/react/switch\"\n\nimport { cn } from \"../../lib/utils\"\n\nfunction Switch({\n className,\n size = \"default\",\n ...props\n}: SwitchPrimitive.Root.Props & {\n size?: \"sm\" | \"default\"\n}) {\n return (\n <SwitchPrimitive.Root\n data-slot=\"switch\"\n data-size={size}\n className={cn(\n \"data-checked:bg-primary data-unchecked:bg-input focus-visible:border-ring focus-visible:ring-ring/50 aria-invalid:ring-destructive/20 aria-invalid:border-destructive shrink-0 rounded-full border border-transparent focus-visible:ring-[3px] aria-invalid:ring-[3px] data-[size=default]:h-5 data-[size=default]:w-9 data-[size=sm]:h-4 data-[size=sm]:w-7 peer group/switch relative inline-flex items-center transition-all outline-none after:absolute after:-inset-x-3 after:-inset-y-2 data-disabled:cursor-not-allowed data-disabled:opacity-50\",\n className\n )}\n {...props}\n >\n <SwitchPrimitive.Thumb\n data-slot=\"switch-thumb\"\n className=\"bg-background rounded-full shadow-sm group-data-[size=default]/switch:size-4 group-data-[size=sm]/switch:size-3 group-data-[size=default]/switch:data-checked:translate-x-[16px] group-data-[size=sm]/switch:data-checked:translate-x-[12px] group-data-[size=default]/switch:data-unchecked:translate-x-0.5 group-data-[size=sm]/switch:data-unchecked:translate-x-0.5 pointer-events-none block ring-0 transition-transform\"\n />\n </SwitchPrimitive.Root>\n )\n}\n\nexport { Switch }\n","/**\n * Switch — canonical boolean switch wrapper around the internal shadcn primitive.\n *\n * `onValueChange` is the package-wide value callback.\n */\nimport { forwardRef, type ComponentProps } from 'react';\n\nimport { Switch as SwitchPrimitive } from '../../ui/switch';\nimport { useDensityConfig, type ComponentScale } from '../../../lib/ui-provider';\nimport { resolveComponentScale } from '../../../lib/ui-provider/scale';\nimport { cn } from '../../../lib/utils';\n\ntype BaseSwitchProps = ComponentProps<typeof SwitchPrimitive>;\ntype SwitchElement = React.ElementRef<typeof SwitchPrimitive>;\n\nexport interface SwitchProps extends Omit<BaseSwitchProps, 'onCheckedChange' | 'size'> {\n\t/** Component scale. Falls back to `UIProvider.density.defaultScale`. */\n\tsize?: ComponentScale;\n\t/** Controlled checked state. */\n\tchecked?: boolean;\n\t/** Initial checked state for uncontrolled usage. */\n\tdefaultChecked?: boolean;\n\t/** Disable interaction and native form participation changes. */\n\tdisabled?: boolean;\n\t/** Prevent changes while retaining the current submitted value. */\n\treadOnly?: boolean;\n\t/** Require the switch to be checked for native form validation. */\n\trequired?: boolean;\n\t/** Hidden input name used during native form submission. */\n\tname?: string;\n\t/** Hidden input value submitted while checked. */\n\tvalue?: string;\n\t/** Optional value submitted while unchecked. */\n\tuncheckedValue?: string;\n\t/** Associate the hidden input with a form by id. */\n\tform?: string;\n\t/** Canonical boolean value callback. */\n\tonValueChange?: (checked: boolean) => void;\n\n\t/** Error state for styling (passed from FormField). */\n\tinvalid?: boolean;\n}\n\n/** Canonical boolean control with native form state and value-first callbacks. */\nexport const Switch = forwardRef<SwitchElement, SwitchProps>(function Switch(\n\t{\n\t\tonValueChange,\n\t\tsize: sizeProp,\n\t\tinvalid,\n\t\tclassName,\n\t\tid,\n\t\tname,\n\t\t'aria-invalid': ariaInvalid,\n\t\t...rest\n\t},\n\tref,\n) {\n\tconst { defaultScale } = useDensityConfig();\n\tconst size = resolveComponentScale(sizeProp, defaultScale);\n\tconst resolvedAriaInvalid = invalid ? true : ariaInvalid;\n\tconst resolvedInvalid = resolvedAriaInvalid !== undefined && resolvedAriaInvalid !== false && resolvedAriaInvalid !== 'false';\n\n\treturn (\n\t\t<SwitchPrimitive\n\t\t\tref={ref}\n\t\t\t{...rest}\n\t\t\tid={id}\n\t\t\tname={name}\n\t\t\tonCheckedChange={(checked) => onValueChange?.(checked)}\n\t\t\tsize={size === 'sm' ? 'sm' : 'default'}\n\t\t\taria-invalid={resolvedAriaInvalid}\n\t\t\tclassName={cn(\n\t\t\t\t'switch--component',\n\t\t\t\tsize === 'lg' && 'h-6! w-11! [&_[data-slot=switch-thumb]]:size-5! [&[data-checked]_[data-slot=switch-thumb]]:translate-x-[20px]!',\n\t\t\t\tresolvedInvalid && 'data-unchecked:border-destructive',\n\t\t\t\tclassName,\n\t\t\t)}\n\t\t/>\n\t);\n});\n\nSwitch.displayName = 'Switch';\n","/**\n * SwitchCard — bordered settings card with an icon, title, optional\n * description, optional hint, and a trailing switch. The whole card is\n * clickable and toggles the switch; clicking inside the actual switch only\n * toggles once. Active state lifts the border and tints the surface.\n *\n * Use for top-of-list \"feature\" toggles where the switch needs more visual\n * weight than a `ToggleField`. For dense rows, prefer `ToggleField`.\n */\nimport { type LucideIcon } from 'lucide-react';\nimport * as React from 'react';\nimport { useCallback, useId, useMemo, useState } from 'react';\nimport { Stack } from '../structure';\nimport { Label, Text } from '../../typography';\nimport { cn } from '../../../lib/utils';\n\nimport { Switch } from './switch';\n\nexport interface SwitchCardProps {\n\t/** Additional supporting/error descriptions associated with the editable control. */\n\t'aria-describedby'?: string;\n\t/** Card title, also the switch's accessible name. */\n\tlabel: string;\n\t/** Supporting sentence under the label. */\n\tdescription?: string;\n\t/** Short guidance below the description. */\n\thint?: string;\n\t/** Leading glyph. */\n\ticon?: LucideIcon;\n\t/** Form field name, forwarded for native submits. */\n\tname?: string;\n\t/** Whether the switch is on. Controlled. */\n\tvalue?: boolean;\n\t/** Initial switch state for uncontrolled use. */\n\tdefaultValue?: boolean;\n\tonValueChange?: (checked: boolean) => void;\n\t/** Disables the switch and mutes the card. */\n\tdisabled?: boolean;\n\t/** Applies the invalid styling. */\n\tinvalid?: boolean;\n\tclassName?: string;\n}\n\nexport const SwitchCard = React.forwardRef<HTMLDivElement, SwitchCardProps>(function SwitchCard({\n\t'aria-describedby': ariaDescribedBy,\n\tlabel,\n\tdescription,\n\thint,\n\ticon: Icon,\n\tname,\n\tvalue,\n\tdefaultValue,\n\tonValueChange,\n\tdisabled = false,\n\tinvalid,\n\tclassName,\n}: SwitchCardProps, ref) {\n\tconst isControlled = value !== undefined;\n\tconst [internal, setInternal] = useState<boolean>(defaultValue ?? false);\n\tconst checked = isControlled ? value ?? false : internal;\n\tconst generatedId = useId();\n\tconst id = useMemo(() => name ?? generatedId, [name, generatedId]);\n\n\tconst hasDescription = typeof description === 'string' && description.trim() !== '';\n\tconst describedById = hasDescription ? `${id}-description` : undefined;\n\n\tconst handleToggle = useCallback(\n\t\t(newChecked: boolean) => {\n\t\t\tif (disabled) return;\n\t\t\tif (!isControlled) setInternal(newChecked);\n\t\t\tonValueChange?.(newChecked);\n\t\t},\n\t\t[disabled, isControlled, onValueChange],\n\t);\n\n\tconst handleCardClick = useCallback(\n\t\t(e: React.MouseEvent) => {\n\t\t\tif ((e.target as HTMLElement).closest('[role=\"switch\"]')) return;\n\t\t\thandleToggle(!checked);\n\t\t},\n\t\t[checked, handleToggle],\n\t);\n\n\treturn (\n\t\t<div\n\t\t\tref={ref}\n\t\t\taria-invalid={invalid || undefined}\n\t\t\tonClick={handleCardClick}\n\t\t\tclassName={cn('switch-card--component', \n\t\t\t\t'group relative flex items-start gap-space-lg rounded-radius border bg-card p-surface transition-[background,border-color,box-shadow] duration-150',\n\t\t\t\t'border-border',\n\t\t\t\tchecked && 'border-primary bg-primary/[0.04]',\n\t\t\t\t'aria-invalid:border-destructive aria-invalid:ring-2 aria-invalid:ring-destructive/20',\n\t\t\t\t!disabled && 'cursor-pointer hover:border-foreground/20 hover:bg-muted/30',\n\t\t\t\tdisabled && 'cursor-not-allowed opacity-50',\n\t\t\t\tclassName,\n\t\t\t)}\n\t\t>\n\t\t\t{!!name && (\n\t\t\t\t<input\n\t\t\t\t\ttype=\"hidden\"\n\t\t\t\t\tname={name}\n\t\t\t\t\tvalue={checked ? '1' : '0'}\n\t\t\t\t\taria-hidden=\"true\"\n\t\t\t\t/>\n\t\t\t)}\n\n\t\t\t{!!Icon && (\n\t\t\t\t<span\n\t\t\t\t\tclassName={cn(\n\t\t\t\t\t\t'mt-0.5 inline-flex size-9 shrink-0 items-center justify-center rounded-radius-md transition-colors',\n\t\t\t\t\t\tchecked\n\t\t\t\t\t\t\t? 'bg-primary/10 text-primary-accent'\n\t\t\t\t\t\t\t: 'bg-muted/50 text-muted-foreground group-hover:bg-muted group-hover:text-foreground',\n\t\t\t\t\t)}\n\t\t\t\t>\n\t\t\t\t\t<Icon className=\"size-icon\" />\n\t\t\t\t</span>\n\t\t\t)}\n\n\t\t\t\t<Stack gap=\"2xs\" className=\"min-w-0 flex-1\">\n\t\t\t\t<Label\n\t\t\t\t\thtmlFor={id}\n\t\t\t\t\tclassName={cn(\n\t\t\t\t\t\t'block font-semibold tracking-tight',\n\t\t\t\t\t\tdisabled ? 'cursor-not-allowed' : 'cursor-pointer',\n\t\t\t\t\t)}\n\t\t\t\t>\n\t\t\t\t\t{label}\n\t\t\t\t</Label>\n\t\t\t\t{!!hasDescription && (\n\t\t\t\t\t<Text id={describedById} type=\"secondary\" className=\"leading-snug\">\n\t\t\t\t\t\t{description}\n\t\t\t\t\t</Text>\n\t\t\t\t)}\n\t\t\t\t{!!hint && (\n\t\t\t\t\t<Text size=\"xs\" type=\"discrete\" className=\"leading-snug\">\n\t\t\t\t\t\t{hint}\n\t\t\t\t\t</Text>\n\t\t\t\t)}\n\t\t\t\t</Stack>\n\n\t\t\t<div className=\"mt-1 flex shrink-0 items-center\">\n\t\t\t\t<Switch\n\t\t\t\t\tid={id}\n\t\t\t\t\tchecked={checked}\n\t\t\t\t\tonValueChange={handleToggle}\n\t\t\t\t\tdisabled={disabled}\n\t\t\t\t\tinvalid={invalid}\n\t\t\t\t\taria-label={label}\n\t\t\t\t\taria-describedby={[ariaDescribedBy, describedById].filter(Boolean).join(' ') || undefined}\n\t\t\t\t/>\n\t\t\t</div>\n\t\t</div>\n\t);\n});\n\nSwitchCard.displayName = 'SwitchCard';\n","/**\n * ToggleField — inline label-and-control row for switches and checkboxes.\n *\n * Pattern: a left-aligned descriptive label/description block with the\n * control sitting on the trailing edge. Use for settings rows (e.g. \"Email\n * notifications\" + switch) where a full SwitchCard is too heavy and a bare\n * `Switch` + `<label>` is too brittle. The whole row is clickable and\n * keyboard-accessible.\n *\n * Two control kinds: `'switch'` (default) and `'checkbox'`. Both honour\n * controlled `value` / `defaultValue` / `onValueChange`. Strings are passed via\n * standard React props rather than a `strings` object — there are no\n * defaults to override.\n */\nimport type { ReactNode } from 'react';\nimport { forwardRef, useCallback, useId, useState } from 'react';\n\nimport { Stack } from '../structure';\nimport { Label, Text } from '../../typography';\nimport { cn } from '../../../lib/utils';\n\nimport { Checkbox } from './checkbox';\nimport { Switch } from './switch';\n\nexport type ToggleFieldKind = 'switch' | 'checkbox';\n\nexport interface ToggleFieldProps {\n\t/** Additional supporting/error descriptions associated with the editable control. */\n\t'aria-describedby'?: string;\n\t/** Control label. */\n\tlabel: ReactNode;\n\t/** Supporting sentence under the label. */\n\tdescription?: ReactNode;\n\t/** Which control renders — a switch or a checkbox. */\n\tkind?: ToggleFieldKind;\n\t/** Whether the control is on. Controlled. */\n\tvalue?: boolean;\n\t/** Initial state for uncontrolled use. */\n\tdefaultValue?: boolean;\n\tonValueChange?: (checked: boolean) => void;\n\t/** Disables the control. */\n\tdisabled?: boolean;\n\t/** Applies the invalid styling. */\n\tinvalid?: boolean;\n\t/** Form field name, forwarded for native submits. */\n\tname?: string;\n\tclassName?: string;\n\t/** Place the control on the leading edge instead of trailing (default). */\n\tcontrolPosition?: 'leading' | 'trailing';\n}\n\nfunction isSimpleText(value: ReactNode): value is string | number | bigint {\n\treturn typeof value === 'string' || typeof value === 'number' || typeof value === 'bigint';\n}\n\nexport const ToggleField = forwardRef<HTMLDivElement, ToggleFieldProps>(function ToggleField({\n\t'aria-describedby': ariaDescribedBy,\n\tlabel,\n\tdescription,\n\tkind = 'switch',\n\tvalue,\n\tdefaultValue,\n\tonValueChange,\n\tdisabled = false,\n\tinvalid = false,\n\tname,\n\tclassName,\n\tcontrolPosition = 'trailing',\n}: ToggleFieldProps, ref) {\n\tconst isControlled = value !== undefined;\n\tconst [internal, setInternal] = useState<boolean>(defaultValue ?? false);\n\tconst checked = isControlled ? value ?? false : internal;\n\tconst inputId = useId();\n\tconst labelId = `${inputId}-label`;\n\tconst hasDescription = description !== null && description !== undefined && description !== false;\n\tconst descriptionId = hasDescription ? `${inputId}-description` : undefined;\n\n\tconst set = useCallback(\n\t\t(next: boolean) => {\n\t\t\tif (disabled) return;\n\t\t\tif (!isControlled) setInternal(next);\n\t\t\tonValueChange?.(next);\n\t\t},\n\t\t[disabled, isControlled, onValueChange],\n\t);\n\n\tconst onRowClick = (e: React.MouseEvent) => {\n\t\t// Avoid double-toggle when clicking the control itself.\n\t\tconst target = e.target as HTMLElement;\n\t\tif (target.closest('[role=\"switch\"], [role=\"checkbox\"], input[type=\"checkbox\"]')) return;\n\t\tset(!checked);\n\t};\n\n\tconst Control =\n\t\tkind === 'switch' ? (\n\t\t\t<Switch\n\t\t\t\t// The row already expands the hit area; a horizontal switch hit\n\t\t\t\t// extension would overflow when this field sits at a surface edge.\n\t\t\t\tclassName=\"after:inset-x-0\"\n\t\t\t\tid={inputId}\n\t\t\t\tname={name}\n\t\t\t\tchecked={checked}\n\t\t\t\tonValueChange={set}\n\t\t\t\tdisabled={disabled}\n\t\t\t\tinvalid={invalid}\n\t\t\t\taria-labelledby={labelId}\n\t\t\t\taria-describedby={[ariaDescribedBy, descriptionId].filter(Boolean).join(' ') || undefined}\n\t\t\t/>\n\t\t) : (\n\t\t\t<Checkbox\n\t\t\t\tid={inputId}\n\t\t\t\tname={name}\n\t\t\t\tchecked={checked}\n\t\t\t\tonCheckedChange={(v) => set(v === true)}\n\t\t\t\tdisabled={disabled}\n\t\t\t\taria-invalid={invalid || undefined}\n\t\t\t\taria-labelledby={labelId}\n\t\t\t\taria-describedby={[ariaDescribedBy, descriptionId].filter(Boolean).join(' ') || undefined}\n\t\t\t/>\n\t\t);\n\n\tconst TextBlock = (\n\t\t<Stack gap=\"dense\" className=\"min-w-0 flex-1\">\n\t\t\t<div id={labelId}>\n\t\t\t\t{isSimpleText(label) ? (\n\t\t\t\t\t<Label\n\t\t\t\t\t\thtmlFor={inputId}\n\t\t\t\t\t\tclassName={cn(\n\t\t\t\t\t\t\t// Leading is left to `Label` so this sits on the same\n\t\t\t\t\t\t\t// baseline rhythm as the switch, checkbox, and switch-card\n\t\t\t\t\t\t\t// labels; `leading-snug` here made it the only inline\n\t\t\t\t\t\t\t// control label in the package at 19.25px.\n\t\t\t\t\t\t\t'block',\n\t\t\t\t\t\t\tdisabled ? 'cursor-not-allowed opacity-50' : 'cursor-pointer',\n\t\t\t\t\t\t)}\n\t\t\t\t\t>\n\t\t\t\t\t\t{label}\n\t\t\t\t\t</Label>\n\t\t\t\t) : label}\n\t\t\t</div>\n\t\t\t{hasDescription && (\n\t\t\t\t<div id={descriptionId}>\n\t\t\t\t\t{isSimpleText(description) ? (\n\t\t\t\t\t\t<Text size=\"xs\" type=\"secondary\" className=\"leading-snug\">\n\t\t\t\t\t\t\t{description}\n\t\t\t\t\t\t</Text>\n\t\t\t\t\t) : description}\n\t\t\t\t</div>\n\t\t\t)}\n\t\t</Stack>\n\t);\n\n\treturn (\n\t\t<Stack\n\t\t\tref={ref}\n\t\t\tdirection=\"horizontal\"\n\t\t\talign=\"start\"\n\t\t\twrap={false}\n\t\t\tgap=\"md\"\n\t\t\trole=\"group\"\n\t\t\tonClick={onRowClick}\n\t\t\tclassName={cn('toggle-field--component rounded-radius-md py-row-y',\n\t\t\t\tdisabled && 'pointer-events-none',\n\t\t\t\tclassName,\n\t\t\t)}\n\t\t>\n\t\t\t{controlPosition === 'leading' && <div className=\"mt-0.5 flex shrink-0\">{Control}</div>}\n\t\t\t{TextBlock}\n\t\t\t{controlPosition === 'trailing' && <div className=\"mt-0.5 flex shrink-0\">{Control}</div>}\n\t\t</Stack>\n\t);\n});\n\nToggleField.displayName = 'ToggleField';\n","/**\n * Shared types for choice-style form fields (CardRadio, CardCheckbox,\n * ListRadio, PillRadio). Each variant exports its own `Option` type that\n * extends `ChoiceOptionBase`, so consumers see one consistent option shape\n * across the family.\n *\n * Sizes follow the package component scale (`sm | md | lg`). CardRadio and\n * CardCheckbox additionally accept `size` to drive padding, icon size, and type\n * scale through shared form/display variables.\n */\nimport type { ComponentType, ReactNode } from 'react';\nimport type { ComponentScale } from '../../../lib/ui-provider';\n\nexport type ChoiceSize = ComponentScale;\n\nexport interface ChoiceOptionBase<TValue extends string = string> {\n\tvalue: TValue;\n\tlabel: ReactNode;\n\tdescription?: ReactNode;\n\ticon?: ComponentType<{ className?: string }>;\n\tdisabled?: boolean;\n}\n\nexport interface ChoiceGroupBaseProps {\n\t/** Supporting/error descriptions associated with the group. */\n\t'aria-describedby'?: string;\n\t/** Form field name (also used for hidden inputs and aria grouping). */\n\tname?: string;\n\t/** Disable the entire group. */\n\tdisabled?: boolean;\n\t/** Show error styling. */\n\tinvalid?: boolean;\n\t/** Density / control size. Defaults from `useDensityConfig().defaultScale`. */\n\tsize?: ChoiceSize;\n\tclassName?: string;\n}\n\n/**\n * Padding / icon-size token map shared across CardRadio + CardCheckbox so the\n * two variants line up visually when placed side-by-side.\n */\nexport const choiceCardSizeTokens: Record<\n\tChoiceSize,\n\t{ padding: string; iconBox: string; iconSize: string; gap: string }\n> = {\n\tsm: { padding: 'p-surface-xs', iconBox: 'size-avatar-sm', iconSize: 'size-icon-sm', gap: 'gap-space-sm' },\n\tmd: { padding: 'p-surface', iconBox: 'size-avatar', iconSize: 'size-icon', gap: 'gap-space-md' },\n\tlg: { padding: 'p-surface-lg', iconBox: 'size-avatar-lg', iconSize: 'size-icon-lg', gap: 'gap-space-lg' },\n};\n\n/**\n * Pill height / horizontal padding tokens. Shared across PillRadioGroup\n * and any future toggle-bar variant so they stack cleanly.\n */\nexport const choicePillSizeTokens: Record<ChoiceSize, string> = {\n\tsm: 'h-control-sm px-control-sm text-pxs',\n\tmd: 'h-control px-control text-sm',\n\tlg: 'h-control-lg px-control text-sm',\n};\n\n/**\n * Row padding tokens for ListRadio and any future inline list variant.\n */\nexport const choiceListSizeTokens: Record<ChoiceSize, string> = {\n\tsm: 'px-row-x py-row-y-sm',\n\tmd: 'px-row-x py-row-y',\n\tlg: 'px-row-x py-row-y-lg',\n};\n\n/** Shared selected-card marker and content clearance; derives from action/icon geometry. */\nexport const choiceCardMarkerClasses = 'absolute top-space-sm end-space-sm size-action-sm text-primary-foreground fill-primary stroke-primary-foreground';\nexport const choiceCardMarkerClearance = '[&>*:not(svg)]:max-w-[calc(100%_-_var(--spacing-action-sm))]';\n","/**\n * CardCheckboxGroup — multi-select group rendered as a grid of card-shaped\n * options with title, optional description, and optional leading icon.\n * Use for a small set of feature flags / preferences where each option\n * benefits from extra context that a flat checkbox list can't carry.\n *\n * Pairs with `CardRadioGroup` (single-select). Both share spacing tokens\n * from `./choice-types` so they line up when used side-by-side.\n */\nimport { CircleCheck, type LucideIcon } from 'lucide-react';\nimport { forwardRef, useState, useCallback, useMemo, type ReactNode } from 'react';\nimport { Text } from '../../typography';\nimport { cn } from '../../../lib/utils';\nimport { useDensityConfig } from '../../../lib/ui-provider';\nimport { resolveFormControlSize } from '../forms/form-sizing';\nimport {\n\tchoiceCardSizeTokens,\n\tchoiceCardMarkerClasses,\n\tchoiceCardMarkerClearance,\n\ttype ChoiceGroupBaseProps,\n\ttype ChoiceOptionBase,\n} from './choice-types';\n\nexport interface CardCheckboxOption extends ChoiceOptionBase {\n\t/** Leading glyph. */\n\ticon?: LucideIcon;\n}\n\nexport interface CardCheckboxGroupProps extends ChoiceGroupBaseProps {\n\t/** Choices offered. */\n\toptions: CardCheckboxOption[];\n\t/** Current value. Controlled. */\n\tvalue?: string[];\n\t/** Initial value for uncontrolled use. */\n\tdefaultValue?: string[];\n\tonValueChange?: (values: string[]) => void;\n\t/** How many columns the grid uses. */\n\tcolumns?: 1 | 2 | 3 | 4;\n}\n\nfunction isSimpleText(value: ReactNode): value is string | number | bigint {\n\treturn typeof value === 'string' || typeof value === 'number' || typeof value === 'bigint';\n}\n\n/*\n * Container widths, not viewport widths — a choice-card group is as likely to\n * sit in a settings rail or a drawer as at page width, and keyed to the screen\n * it laid three cards across a 300px column.\n *\n * 384/576/672 puts every tier clear of the widths this actually renders at: the\n * shipped three-up group is 672px wide, so the three-column step sits 96px\n * below it rather than exactly on it, and 384 keeps the two-column step above\n * every mobile mount (316px).\n */\nconst GRID_COLS: Record<NonNullable<CardCheckboxGroupProps['columns']>, string> = {\n\t1: 'grid grid-cols-1 gap-space-md',\n\t2: 'grid grid-cols-1 gap-space-md @sm/card-checkbox-group:grid-cols-2',\n\t3: 'grid grid-cols-1 gap-space-md @sm/card-checkbox-group:grid-cols-2 @xl/card-checkbox-group:grid-cols-3',\n\t4: 'grid grid-cols-1 gap-space-md @sm/card-checkbox-group:grid-cols-2 @2xl/card-checkbox-group:grid-cols-4',\n};\n\nexport const CardCheckboxGroup = forwardRef<HTMLDivElement, CardCheckboxGroupProps>(function CardCheckboxGroup({\n\t'aria-describedby': ariaDescribedBy,\n\toptions,\n\tvalue,\n\tdefaultValue,\n\tonValueChange,\n\tname,\n\tcolumns = 3,\n\tinvalid,\n\tdisabled,\n\tsize: sizeProp,\n\tclassName,\n}: CardCheckboxGroupProps, ref) {\n\tconst { defaultScale } = useDensityConfig();\n\tconst size = resolveFormControlSize(sizeProp, defaultScale);\n\n\tconst isControlled = value !== undefined;\n\tconst [internal, setInternal] = useState<string[]>(defaultValue ?? []);\n\tconst selected = useMemo(\n\t\t() => (isControlled ? value ?? [] : internal),\n\t\t[internal, isControlled, value],\n\t);\n\tconst tokens = choiceCardSizeTokens[size];\n\n\tconst toggle = useCallback(\n\t\t(val: string) => {\n\t\t\tif (disabled) return;\n\t\t\tif (options.find((o) => o.value === val)?.disabled) return;\n\t\t\tconst exists = selected.includes(val);\n\t\t\tconst next = exists ? selected.filter((v) => v !== val) : [...selected, val];\n\t\t\tif (!isControlled) setInternal(next);\n\t\t\tonValueChange?.(next);\n\t\t},\n\t\t[disabled, options, selected, isControlled, onValueChange],\n\t);\n\n\treturn (\n\t\t/*\n\t\t * The root exists to be the query container: an element cannot match its\n\t\t * own container query, so the grid whose columns react sits inside the\n\t\t * element being measured.\n\t\t */\n\t\t<div ref={ref} className={cn('card-checkbox-group--component @container/card-checkbox-group', className)}>\n\t\t\t<div\n\t\t\t\tclassName={cn('card-checkbox-group--grid', GRID_COLS[columns])}\n\t\t\t\trole=\"group\"\n\t\t\t\taria-describedby={ariaDescribedBy}\n\t\t\t\taria-invalid={invalid || undefined}\n\t\t\t\taria-disabled={disabled || undefined}\n\t\t\t>\n\t\t\t\t{options.map((option) => {\n\t\t\t\t\tconst Icon = option.icon;\n\t\t\t\t\tconst optionLabel = option.label;\n\t\t\t\t\tconst isSelected = selected.includes(option.value);\n\t\t\t\t\tconst isDisabled = disabled || option.disabled;\n\t\t\t\t\tconst shouldIncludeHidden = Boolean(name) && isSelected;\n\t\t\t\t\tconst nameAttr = name ? `${name}[]` : undefined;\n\n\t\t\t\t\treturn (\n\t\t\t\t\t\t<div key={option.value} className=\"relative\">\n\t\t\t\t\t\t\t<input\n\t\t\t\t\t\t\t\ttype=\"hidden\"\n\t\t\t\t\t\t\t\tname={nameAttr}\n\t\t\t\t\t\t\t\tvalue={option.value}\n\t\t\t\t\t\t\t\taria-hidden=\"true\"\n\t\t\t\t\t\t\t\thidden\n\t\t\t\t\t\t\t\tdisabled={!shouldIncludeHidden}\n\t\t\t\t\t\t\t/>\n\n\t\t\t\t\t\t\t<button\n\t\t\t\t\t\t\t\ttype=\"button\"\n\t\t\t\t\t\t\t\taria-pressed={isSelected}\n\t\t\t\t\t\t\t\taria-invalid={invalid || undefined}\n\t\t\t\t\t\t\t\tonClick={() => toggle(option.value)}\n\t\t\t\t\t\t\t\tdisabled={isDisabled}\n\t\t\t\t\t\t\t\tdata-selected={isSelected}\n\t\t\t\t\t\t\t\tclassName={cn(\n\t\t\t\t\t\t\t\t\t'group relative flex w-full flex-col items-start text-start outline-none cursor-pointer',\n\t\t\t\t\t\t\t\t\t'rounded-radius border bg-card transition-[color,box-shadow,background,border-color] duration-150',\n\t\t\t\t\t\t\t\t\t'border-border hover:border-foreground/20 hover:bg-muted/30',\n\t\t\t\t\t\t\t\t\t'focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring/50',\n\t\t\t\t\t\t\t\t\t'data-[selected=true]:border-primary data-[selected=true]:bg-primary/[0.04]',\n\t\t\t\t\t\t\t\t\ttokens.padding,\n\t\t\t\t\t\t\t\t\ttokens.gap,\n\t\t\t\t\t\t\t\tchoiceCardMarkerClearance,\n\t\t\t\t\t\t\t\t\t'aria-invalid:border-destructive aria-invalid:ring-2 aria-invalid:ring-destructive/20',\n\t\t\t\t\t\t\t\t\t'disabled:cursor-not-allowed disabled:opacity-50',\n\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t<CircleCheck\n\t\t\t\t\t\t\t\t\tclassName={cn(\n\t\t\t\t\t\t\t\t\t\tchoiceCardMarkerClasses,\n\t\t\t\t\t\t\t\t\t\t!isSelected && 'hidden',\n\t\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t\t/>\n\n\t\t\t\t\t\t\t\t{!!Icon && (\n\t\t\t\t\t\t\t\t\t<span\n\t\t\t\t\t\t\t\t\t\tclassName={cn(\n\t\t\t\t\t\t\t\t\t\t\t'inline-flex items-center justify-center rounded-radius-md bg-muted/50 text-muted-foreground group-hover:bg-muted',\n\t\t\t\t\t\t\t\t\t\t\t'group-data-[selected=true]:bg-primary/10 group-data-[selected=true]:text-primary-accent',\n\t\t\t\t\t\t\t\t\t\t\ttokens.iconBox,\n\t\t\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t<Icon className={tokens.iconSize} />\n\t\t\t\t\t\t\t\t\t</span>\n\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t\t{isSimpleText(optionLabel) ? (\n\t\t\t\t\t\t\t\t\t<Text tag=\"span\" weight=\"medium\">\n\t\t\t\t\t\t\t\t\t\t{optionLabel}\n\t\t\t\t\t\t\t\t\t</Text>\n\t\t\t\t\t\t\t\t) : optionLabel}\n\t\t\t\t\t\t\t\t{!!option.description && (\n\t\t\t\t\t\t\t\t\tisSimpleText(option.description) ? (\n\t\t\t\t\t\t\t\t\t\t<Text size=\"xs\" type=\"secondary\">\n\t\t\t\t\t\t\t\t\t\t\t{option.description}\n\t\t\t\t\t\t\t\t\t\t</Text>\n\t\t\t\t\t\t\t\t\t) : option.description\n\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t</button>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t);\n\t\t\t\t})}\n\t\t\t</div>\n\t\t</div>\n\t);\n});\n\nCardCheckboxGroup.displayName = 'CardCheckboxGroup';\n","/**\n * CardRadioGroup — single-select radio group rendered as a grid of card-shaped\n * options with title, optional description, and optional leading icon. Built\n * on `@base-ui/react/radio` for accessibility (keyboard navigation, focus\n * management, native form participation).\n *\n * Pairs with `CardCheckboxGroup` (multi-select). Shares spacing tokens from\n * `./choice-types`.\n */\nimport { Radio as RadioPrimitive } from '@base-ui/react/radio';\nimport { RadioGroup as RadioGroupPrimitive } from '@base-ui/react/radio-group';\nimport { CircleCheck, type LucideIcon } from 'lucide-react';\nimport * as React from 'react';\nimport { memo, useMemo, type ReactNode } from 'react';\nimport { Text } from '../../typography';\nimport { cn } from '../../../lib/utils';\nimport { useDensityConfig } from '../../../lib/ui-provider';\nimport { resolveFormControlSize } from '../forms/form-sizing';\nimport {\n\tchoiceCardSizeTokens,\n\tchoiceCardMarkerClasses,\n\tchoiceCardMarkerClearance,\n\ttype ChoiceGroupBaseProps,\n\ttype ChoiceOptionBase,\n} from './choice-types';\n\nexport interface CardRadioOption extends ChoiceOptionBase {\n\t/** Leading glyph. */\n\ticon?: LucideIcon;\n}\n\nexport interface CardRadioGroupProps extends ChoiceGroupBaseProps {\n\t/** Choices offered. */\n\toptions: CardRadioOption[];\n\t/** Current value. Controlled. */\n\tvalue?: string;\n\t/** Initial value for uncontrolled use. */\n\tdefaultValue?: string;\n\tonValueChange?: (value: string) => void;\n\t/** How many columns the grid uses. */\n\tcolumns?: 1 | 2 | 3 | 4;\n}\n\nfunction isSimpleText(value: ReactNode): value is string | number | bigint {\n\treturn typeof value === 'string' || typeof value === 'number' || typeof value === 'bigint';\n}\n\n/*\n * Container widths, not viewport widths — a choice-card group is as likely to\n * sit in a settings rail or a drawer as at page width, and keyed to the screen\n * it laid three cards across a 300px column.\n *\n * 384/576/672 puts every tier clear of the widths this actually renders at: the\n * shipped three-up group is 672px wide, so the three-column step sits 96px\n * below it rather than exactly on it, and 384 keeps the two-column step above\n * every mobile mount (316px).\n */\nconst GRID_COLS: Record<NonNullable<CardRadioGroupProps['columns']>, string> = {\n\t1: 'grid grid-cols-1 gap-space-md',\n\t2: 'grid grid-cols-1 gap-space-md @sm/card-radio-group:grid-cols-2',\n\t3: 'grid grid-cols-1 gap-space-md @sm/card-radio-group:grid-cols-2 @xl/card-radio-group:grid-cols-3',\n\t4: 'grid grid-cols-1 gap-space-md @sm/card-radio-group:grid-cols-2 @2xl/card-radio-group:grid-cols-4',\n};\n\nfunction CardRadioGroupImpl({\n\t'aria-describedby': ariaDescribedBy,\n\toptions,\n\tvalue,\n\tdefaultValue,\n\tonValueChange,\n\tname,\n\tcolumns = 3,\n\tinvalid,\n\tdisabled,\n\tsize: sizeProp,\n\tclassName,\n}: CardRadioGroupProps, ref: React.ForwardedRef<HTMLDivElement>) {\n\tconst { defaultScale } = useDensityConfig();\n\tconst size = resolveFormControlSize(sizeProp, defaultScale);\n\n\tconst tokens = choiceCardSizeTokens[size];\n\tconst gridClassName = useMemo(() => cn('card-radio-group--grid', GRID_COLS[columns]), [columns]);\n\n\treturn (\n\t\t/*\n\t\t * The root exists to be the query container: an element cannot match its\n\t\t * own container query, so the grid whose columns react sits inside the\n\t\t * element being measured.\n\t\t */\n\t\t<div ref={ref} className={cn('card-radio-group--component @container/card-radio-group', className)}>\n\t\t\t<RadioGroupPrimitive\n\t\t\t\tvalue={value}\n\t\t\t\tdefaultValue={defaultValue}\n\t\t\t\tonValueChange={(val) => val && onValueChange?.(val)}\n\t\t\t\tname={name}\n\t\t\t\tdisabled={disabled}\n\t\t\t\taria-describedby={ariaDescribedBy}\n\t\t\t\taria-invalid={invalid || undefined}\n\t\t\t\tclassName={gridClassName}\n\t\t\t>\n\t\t\t\t{options.map((option) => {\n\t\t\t\t\tconst Icon = option.icon;\n\t\t\t\t\tconst optionLabel = option.label;\n\t\t\t\t\treturn (\n\t\t\t\t\t\t<RadioPrimitive.Root\n\t\t\t\t\t\t\tkey={option.value}\n\t\t\t\t\t\t\tvalue={option.value}\n\t\t\t\t\t\t\tdisabled={disabled || option.disabled}\n\t\t\t\t\t\t\taria-invalid={invalid || undefined}\n\t\t\t\t\t\t\tclassName={cn(\n\t\t\t\t\t\t\t\t'relative group flex flex-col text-start outline-none cursor-pointer',\n\t\t\t\t\t\t\t\t'rounded-radius border bg-card transition-[color,box-shadow,background,border-color] duration-150',\n\t\t\t\t\t\t\t\t'border-border hover:border-foreground/20 hover:bg-muted/30',\n\t\t\t\t\t\t\t\t'focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring/50',\n\t\t\t\t\t\t\t\t'data-[checked]:border-primary data-[checked]:bg-primary/[0.04]',\n\t\t\t\t\t\t\t\ttokens.padding,\n\t\t\t\t\t\t\t\ttokens.gap,\n\t\t\t\t\t\t\t\tchoiceCardMarkerClearance,\n\t\t\t\t\t\t\t\t'aria-invalid:border-destructive aria-invalid:ring-2 aria-invalid:ring-destructive/20',\n\t\t\t\t\t\t\t\t'disabled:cursor-not-allowed disabled:opacity-50',\n\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t<RadioPrimitive.Indicator\n\t\t\t\t\t\t\t\trender={\n\t\t\t\t\t\t\t\t\t<CircleCheck className={choiceCardMarkerClasses} />\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t/>\n\n\t\t\t\t\t\t\t{!!Icon && (\n\t\t\t\t\t\t\t\t<span\n\t\t\t\t\t\t\t\t\tclassName={cn(\n\t\t\t\t\t\t\t\t\t\t'inline-flex items-center justify-center rounded-radius-md bg-muted/50 text-muted-foreground group-hover:bg-muted',\n\t\t\t\t\t\t\t\t\t\t'group-data-[checked]:bg-primary/10 group-data-[checked]:text-primary-accent',\n\t\t\t\t\t\t\t\t\t\ttokens.iconBox,\n\t\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t<Icon className={tokens.iconSize} />\n\t\t\t\t\t\t\t\t</span>\n\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t{isSimpleText(optionLabel) ? (\n\t\t\t\t\t\t\t\t<Text tag=\"span\" weight=\"semibold\">\n\t\t\t\t\t\t\t\t\t{optionLabel}\n\t\t\t\t\t\t\t\t</Text>\n\t\t\t\t\t\t\t) : optionLabel}\n\t\t\t\t\t\t\t{!!option.description && (\n\t\t\t\t\t\t\t\tisSimpleText(option.description) ? (\n\t\t\t\t\t\t\t\t\t<Text size=\"xs\" type=\"secondary\">\n\t\t\t\t\t\t\t\t\t\t{option.description}\n\t\t\t\t\t\t\t\t\t</Text>\n\t\t\t\t\t\t\t\t) : option.description\n\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t</RadioPrimitive.Root>\n\t\t\t\t\t);\n\t\t\t\t})}\n\t\t\t</RadioGroupPrimitive>\n\t\t</div>\n\t);\n}\n\nexport const CardRadioGroup = memo(React.forwardRef<HTMLDivElement, CardRadioGroupProps>(CardRadioGroupImpl));\nCardRadioGroup.displayName = 'CardRadioGroup';\n","/**\n * ListRadioGroup — single-select radio group rendered as a vertical list with\n * dividers between rows. Use when options have descriptive secondary text and\n * read better as a stack than a grid (e.g. plan tiers, role definitions).\n *\n * Pairs with `CardRadioGroup` for grid-style choices and `PillRadioGroup` for\n * inline compact toggles.\n */\nimport { Radio as RadioPrimitive } from '@base-ui/react/radio';\nimport { RadioGroup as RadioGroupPrimitive } from '@base-ui/react/radio-group';\nimport { Circle } from 'lucide-react';\nimport { forwardRef } from 'react';\nimport { Text } from '../../typography';\nimport { cn } from '../../../lib/utils';\nimport { useDensityConfig } from '../../../lib/ui-provider';\nimport { resolveFormControlSize } from '../forms/form-sizing';\nimport {\n\tchoiceListSizeTokens,\n\ttype ChoiceGroupBaseProps,\n\ttype ChoiceOptionBase,\n} from './choice-types';\n\nexport interface ListRadioOption extends ChoiceOptionBase {}\n\nexport interface ListRadioGroupProps extends ChoiceGroupBaseProps {\n\t/** Choices offered. */\n\toptions: ListRadioOption[];\n\t/** Current value. Controlled. */\n\tvalue?: string;\n\t/** Initial value for uncontrolled use. */\n\tdefaultValue?: string;\n\tonValueChange?: (value: string) => void;\n}\n\nfunction isSimpleText(value: React.ReactNode): value is string | number | bigint {\n\treturn typeof value === 'string' || typeof value === 'number' || typeof value === 'bigint';\n}\n\nexport const ListRadioGroup = forwardRef<HTMLDivElement, ListRadioGroupProps>(function ListRadioGroup({\n\toptions,\n\tvalue,\n\tdefaultValue,\n\tonValueChange,\n\tname,\n\tinvalid,\n\tdisabled,\n\tsize: sizeProp,\n\tclassName,\n}: ListRadioGroupProps, ref) {\n\tconst { defaultScale } = useDensityConfig();\n\tconst size = resolveFormControlSize(sizeProp, defaultScale);\n\n\tconst rowPadding = choiceListSizeTokens[size];\n\treturn (\n\t\t<RadioGroupPrimitive\n\t\t\tref={ref}\n\t\t\tvalue={value}\n\t\t\tdefaultValue={defaultValue}\n\t\t\tonValueChange={(val) => val && onValueChange?.(val)}\n\t\t\tname={name}\n\t\t\tdisabled={disabled}\n\t\t\taria-invalid={invalid || undefined}\n\t\t\tclassName={cn('list-radio-group--component', \n\t\t\t\t'overflow-hidden rounded-radius-md border border-border [&>[role=radio]~[role=radio]]:border-t [&>[role=radio]~[role=radio]]:border-border',\n\t\t\t\t'aria-invalid:border-destructive aria-invalid:ring-2 aria-invalid:ring-destructive/20',\n\t\t\t\tdisabled && 'pointer-events-none opacity-50',\n\t\t\t\tclassName,\n\t\t\t)}\n\t\t>\n\t\t\t{options.map((option) => (\n\t\t\t\t<RadioPrimitive.Root\n\t\t\t\t\tkey={option.value}\n\t\t\t\t\tvalue={option.value}\n\t\t\t\t\tdisabled={disabled || option.disabled}\n\t\t\t\t\tclassName={cn(\n\t\t\t\t\t\t'group flex w-full items-start gap-space-lg text-start outline-none cursor-pointer',\n\t\t\t\t\t\t'transition-colors hover:bg-muted/40 focus-visible:bg-muted/40',\n\t\t\t\t\t\t'data-[checked]:bg-primary/10',\n\t\t\t\t\t\t'disabled:cursor-not-allowed disabled:opacity-50',\n\t\t\t\t\t\trowPadding,\n\t\t\t\t\t)}\n\t\t\t\t>\n\t\t\t\t\t<div className=\"mt-0.5 flex h-5 w-5 shrink-0 items-center justify-center rounded-full border border-primary-accent group-data-[checked]:border-primary-accent group-not-data-[checked]:border-muted-foreground/50\">\n\t\t\t\t\t\t<RadioPrimitive.Indicator\n\t\t\t\t\t\t\trender={<Circle className=\"h-2.5 w-2.5 fill-primary-accent text-primary-accent\" />}\n\t\t\t\t\t\t/>\n\t\t\t\t\t</div>\n\t\t\t\t\t<div className=\"flex-1 min-w-0\">\n\t\t\t\t\t\t{isSimpleText(option.label) ? (\n\t\t\t\t\t\t\t<Text tag=\"span\" weight=\"medium\" lineHeight=\"tight\" className=\"block\">\n\t\t\t\t\t\t\t\t{option.label}\n\t\t\t\t\t\t\t</Text>\n\t\t\t\t\t\t) : option.label}\n\t\t\t\t\t\t{!!option.description && (\n\t\t\t\t\t\t\tisSimpleText(option.description) ? (\n\t\t\t\t\t\t\t\t<Text tag=\"span\" size=\"xs\" type=\"secondary\" className=\"block mt-0.5\">\n\t\t\t\t\t\t\t\t\t{option.description}\n\t\t\t\t\t\t\t\t</Text>\n\t\t\t\t\t\t\t) : option.description\n\t\t\t\t\t\t)}\n\t\t\t\t\t</div>\n\t\t\t\t</RadioPrimitive.Root>\n\t\t\t))}\n\t\t</RadioGroupPrimitive>\n\t);\n});\n\nListRadioGroup.displayName = 'ListRadioGroup';\n","/**\n * PillRadioGroup — compact, inline single-select rendered as connected pill\n * buttons. Best for 2–4 options where a full `<Select>` is too heavy and\n * cards are too tall (e.g. timeframe toggles, view-mode switchers).\n *\n * Custom-styled buttons rather than the shadcn ToggleGroup primitive: the\n * primitive strips inner rounding when spacing=0, which doesn't match this\n * design system's pill connector style.\n */\nimport * as React from 'react';\n\nimport { Text } from '../../typography';\nimport { cn } from '../../../lib/utils';\nimport { useDensityConfig } from '../../../lib/ui-provider';\nimport { resolveFormControlSize } from '../forms/form-sizing';\nimport {\n\tchoicePillSizeTokens,\n\ttype ChoiceGroupBaseProps,\n\ttype ChoiceOptionBase,\n} from './choice-types';\n\nexport interface PillRadioGroupOption extends ChoiceOptionBase {}\n\nexport interface PillRadioGroupProps\n\textends Omit<ChoiceGroupBaseProps, 'name'> {\n\t/** Form field name, forwarded for native submits. */\n\tname: string;\n\t/** Current value. Controlled. */\n\tvalue: string | null | undefined;\n\t/** Choices offered. */\n\toptions: PillRadioGroupOption[];\n\tonValueChange: (value: string | null) => void;\n\t/** Allow deselecting (click active pill to clear). Default false. */\n\tallowClear?: boolean;\n\t/** Stretch pills to fill the container. */\n\tfullWidth?: boolean;\n}\n\nexport const PillRadioGroup = React.forwardRef<HTMLDivElement, PillRadioGroupProps>(function PillRadioGroup({\n\tname,\n\tvalue,\n\toptions,\n\tonValueChange,\n\tallowClear = false,\n\tsize: sizeProp,\n\tfullWidth = false,\n\tdisabled = false,\n\tinvalid = false,\n\tclassName,\n}: PillRadioGroupProps, ref) {\n\tconst { defaultScale } = useDensityConfig();\n\tconst size = resolveFormControlSize(sizeProp, defaultScale);\n\n\tconst handleClick = React.useCallback(\n\t\t(optionValue: string) => {\n\t\t\tif (optionValue === value) {\n\t\t\t\tif (allowClear) onValueChange(null);\n\t\t\t} else {\n\t\t\t\tonValueChange(optionValue);\n\t\t\t}\n\t\t},\n\t\t[allowClear, onValueChange, value],\n\t);\n\n\treturn (\n\t\t<div\n\t\t\tref={ref}\n\t\t\tdata-name={name}\n\t\t\trole=\"radiogroup\"\n\t\t\taria-invalid={invalid || undefined}\n\t\t\tclassName={cn('pill-radio-group--component', \n\t\t\t\t'border-input inline-flex items-center overflow-hidden rounded-radius border',\n\t\t\t\tfullWidth && 'w-full',\n\t\t\t\t'aria-invalid:border-destructive aria-invalid:ring-2 aria-invalid:ring-destructive/20',\n\t\t\t\tdisabled && 'pointer-events-none opacity-50',\n\t\t\t\tclassName,\n\t\t\t)}\n\t\t>\n\t\t\t{options.map((option, index) => {\n\t\t\t\tconst isSelected = option.value === value;\n\t\t\t\tconst Icon = option.icon;\n\t\t\t\tconst optionLabel =\n\t\t\t\t\ttypeof option.label === 'string' ? option.label : undefined;\n\t\t\t\treturn (\n\t\t\t\t\t<button\n\t\t\t\t\t\tkey={option.value}\n\t\t\t\t\t\ttype=\"button\"\n\t\t\t\t\t\trole=\"radio\"\n\t\t\t\t\t\taria-checked={isSelected}\n\t\t\t\t\t\taria-label={optionLabel || option.value}\n\t\t\t\t\t\tdisabled={disabled || option.disabled}\n\t\t\t\t\t\tonClick={() => handleClick(option.value)}\n\t\t\t\t\t\tclassName={cn(\n\t\t\t\t\t\t\t'inline-flex select-none items-center justify-center font-medium transition-colors',\n\t\t\t\t\t\t\t'focus-visible:ring-ring/50 outline-none focus-visible:z-10 focus-visible:ring-2',\n\t\t\t\t\t\t\t'disabled:pointer-events-none disabled:opacity-50',\n\t\t\t\t\t\t\tchoicePillSizeTokens[size],\n\t\t\t\t\t\t\tfullWidth && 'flex-1',\n\t\t\t\t\t\t\tindex > 0 && 'border-input border-l',\n\t\t\t\t\t\t\tisSelected\n\t\t\t\t\t\t\t\t? 'bg-primary text-primary-foreground'\n\t\t\t\t\t\t\t\t: 'bg-background text-foreground hover:bg-muted',\n\t\t\t\t\t\t)}\n\t\t\t\t\t>\n\t\t\t\t\t\t{!!Icon && <Icon className={cn(size === 'sm' ? 'size-icon-sm' : 'size-icon', option.label && 'mr-space-sm')} />}\n\t\t\t\t\t\t{typeof option.label === 'string' || typeof option.label === 'number' || typeof option.label === 'bigint' ? (\n\t\t\t\t\t\t\t<Text tag=\"span\" size=\"inherit\" weight=\"medium\" lineHeight=\"tight\" className=\"text-inherit\">\n\t\t\t\t\t\t\t\t{option.label}\n\t\t\t\t\t\t\t</Text>\n\t\t\t\t\t\t) : option.label}\n\t\t\t\t\t</button>\n\t\t\t\t);\n\t\t\t})}\n\t\t</div>\n\t);\n});\n\nPillRadioGroup.displayName = 'PillRadioGroup';\n"],"mappings":"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"}
@@ -0,0 +1,183 @@
1
+ "use client";
2
+ import { useStrings as e } from "./lib/strings.js";
3
+ import { t } from "./utils-C2EKeIw3.js";
4
+ import { n } from "./buttons-Co6GavvM.js";
5
+ import { t as r } from "./text.styles-BwB7vAF2.js";
6
+ import { a as i } from "./typography-Cv8MT-82.js";
7
+ import { t as a } from "./structure-MvKVq-oL.js";
8
+ import { n as o } from "./surface-recipes-CQfRr-VL.js";
9
+ import { m as s } from "./primitives-DKPOGVpj.js";
10
+ import { forwardRef as c, useEffect as l, useRef as u, useState as d } from "react";
11
+ import { jsx as f, jsxs as p } from "react/jsx-runtime";
12
+ import { Check as m, Copy as h, WrapText as g } from "lucide-react";
13
+ //#region src/components/base/code-block/use-code-copy.ts
14
+ function _(e, t) {
15
+ let [n, r] = d(!1), [i, a] = d(!1), o = u(!1), s = u(0), c = u(void 0);
16
+ return l(() => (o.current = !0, r(!1), a(!1), () => {
17
+ o.current = !1, s.current += 1, clearTimeout(c.current);
18
+ }), [e]), {
19
+ copied: n,
20
+ failed: i,
21
+ copy: async (e) => {
22
+ let n = ++s.current;
23
+ clearTimeout(c.current), r(!1), a(!1);
24
+ try {
25
+ if (typeof navigator > "u" || !navigator.clipboard?.writeText) throw Error("Clipboard unavailable");
26
+ await navigator.clipboard.writeText(e);
27
+ } catch (e) {
28
+ return o.current && n === s.current && (a(!0), t?.(e)), !1;
29
+ }
30
+ return !o.current || n !== s.current ? !1 : (r(!0), c.current = setTimeout(() => r(!1), 1500), !0);
31
+ }
32
+ };
33
+ }
34
+ //#endregion
35
+ //#region src/components/base/code-block/code-block.types.ts
36
+ var v = {
37
+ copyAria: "Copy code",
38
+ copied: "Copied",
39
+ copyError: "Could not copy. Please try again.",
40
+ defaultLanguageLabel: "Code",
41
+ wrap: "Wrap lines",
42
+ contentAria: "Code content"
43
+ }, y = c(function({ code: c, language: l, filename: u, showLineNumbers: y = !1, startLine: b = 1, highlightLines: x, focusLines: S, diffLines: C, renderLine: w, hideHeader: T = !1, hideCopy: E = !1, maxHeight: D, headerStart: O, headerActions: k, wrap: A, defaultWrap: j = !1, onWrapChange: M, showWrapToggle: N = !1, onCopy: P, onCopyError: F, strings: I, className: L, ...R }, z) {
44
+ let B = e(v, I), [V, H] = d(j), U = A ?? V, { copied: W, failed: G, copy: K } = _(c, F), q = c.split("\n"), J = Number.isFinite(b) ? Math.max(1, Math.trunc(b)) : 1, Y = Object.keys(C ?? {}).length > 0, X = new Set(x), Z = new Set(S), Q = () => {
45
+ A === void 0 && H(!U), M?.(!U);
46
+ };
47
+ return /* @__PURE__ */ p("div", {
48
+ ...R,
49
+ ref: z,
50
+ "data-wrap": U || void 0,
51
+ className: t("code-block--component group/code-block w-full min-w-0 max-w-full overflow-hidden rounded-radius bg-card text-card-foreground", o.frame.shell, L),
52
+ children: [
53
+ !T && /* @__PURE__ */ p(a, {
54
+ direction: "horizontal",
55
+ align: "center",
56
+ gap: "sm",
57
+ wrap: !0,
58
+ className: t("code-block--header px-row-x py-row-y bg-muted text-muted-foreground", o.frame.header),
59
+ children: [
60
+ O,
61
+ /* @__PURE__ */ f(s, {
62
+ className: "min-w-0 truncate",
63
+ children: u || l || B.defaultLanguageLabel
64
+ }),
65
+ u && l && /* @__PURE__ */ f(i, {
66
+ tag: "span",
67
+ size: "xs",
68
+ type: "secondary",
69
+ children: l
70
+ }),
71
+ /* @__PURE__ */ p(a, {
72
+ direction: "horizontal",
73
+ align: "center",
74
+ gap: "xs",
75
+ className: "ms-auto shrink-0",
76
+ children: [
77
+ k,
78
+ N && /* @__PURE__ */ f(n, {
79
+ type: "button",
80
+ size: "sm",
81
+ iconOnly: !0,
82
+ tone: "secondary",
83
+ buttonStyle: "ghost",
84
+ "aria-label": B.wrap,
85
+ "aria-pressed": U,
86
+ onClick: Q,
87
+ children: /* @__PURE__ */ f(g, {
88
+ "aria-hidden": "true",
89
+ className: "size-icon-sm"
90
+ })
91
+ }),
92
+ !E && /* @__PURE__ */ f(n, {
93
+ type: "button",
94
+ size: "sm",
95
+ iconOnly: !0,
96
+ tone: "secondary",
97
+ buttonStyle: "ghost",
98
+ "aria-label": W ? B.copied : B.copyAria,
99
+ onClick: async () => {
100
+ await K(c) && P?.(c);
101
+ },
102
+ children: f(W ? m : h, {
103
+ "aria-hidden": "true",
104
+ className: "size-icon-sm"
105
+ })
106
+ })
107
+ ]
108
+ })
109
+ ]
110
+ }),
111
+ /* @__PURE__ */ f("div", {
112
+ className: "code-block--viewport min-w-0 max-w-full overflow-auto focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-inset",
113
+ tabIndex: 0,
114
+ role: "region",
115
+ "aria-label": B.contentAria,
116
+ style: D === void 0 ? void 0 : { maxHeight: D },
117
+ children: /* @__PURE__ */ f("pre", {
118
+ dir: "ltr",
119
+ className: t(r({ lineHeight: "relaxed" }), "code-block--pre m-0 px-row-x py-row-y font-mono text-inherit"),
120
+ children: /* @__PURE__ */ f("code", {
121
+ className: "block",
122
+ children: q.map((e, n) => {
123
+ let r = J + n, a = X.has(r), o = Z.size === 0 || Z.has(r), s = C?.[r];
124
+ return /* @__PURE__ */ p("span", {
125
+ "data-code-line": r,
126
+ "data-highlighted": a || void 0,
127
+ "data-focused": o ? "true" : "false",
128
+ "data-diff": s,
129
+ className: t("code-block--line flex min-w-0 gap-space-sm", a && "bg-accent text-accent-foreground", s === "add" && "bg-success text-success-foreground", s === "remove" && "bg-destructive text-destructive-foreground", !o && "opacity-50 group-hover/code-block:opacity-100 group-focus-within/code-block:opacity-100"),
130
+ children: [
131
+ y && /* @__PURE__ */ f(i, {
132
+ tag: "span",
133
+ size: "inherit",
134
+ type: "secondary",
135
+ numeric: !0,
136
+ "aria-hidden": "true",
137
+ style: { minWidth: `${String(J + q.length - 1).length}ch` },
138
+ className: t("code-block--number select-none shrink-0 text-right", s && "text-inherit"),
139
+ children: r
140
+ }),
141
+ Y && /* @__PURE__ */ f(i, {
142
+ tag: "span",
143
+ size: "inherit",
144
+ "aria-hidden": "true",
145
+ className: "code-block--diff font-mono select-none shrink-0 text-inherit",
146
+ children: s === "add" ? "+" : s === "remove" ? "−" : "\xA0"
147
+ }),
148
+ /* @__PURE__ */ f(i, {
149
+ tag: "span",
150
+ size: "inherit",
151
+ lineHeight: "relaxed",
152
+ className: t("code-block--text font-mono block min-w-0 flex-1 text-inherit", U ? "whitespace-pre-wrap break-words" : "whitespace-pre"),
153
+ children: w ? w({
154
+ text: e,
155
+ number: r,
156
+ highlighted: a,
157
+ focused: o,
158
+ diff: s
159
+ }) : e || "\xA0"
160
+ })
161
+ ]
162
+ }, r);
163
+ })
164
+ })
165
+ })
166
+ }),
167
+ G && /* @__PURE__ */ f("div", {
168
+ className: "px-row-x py-row-y",
169
+ children: /* @__PURE__ */ f(i, {
170
+ role: "alert",
171
+ size: "xs",
172
+ type: "error",
173
+ children: B.copyError
174
+ })
175
+ })
176
+ ]
177
+ });
178
+ });
179
+ y.displayName = "CodeBlock";
180
+ //#endregion
181
+ export { v as n, y as t };
182
+
183
+ //# sourceMappingURL=code-block-xHKbAJDj.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"code-block-xHKbAJDj.js","names":["resolveTextClassNames","Text","Stack","surfaceDividerRecipes","MonoValue","useCodeCopy","copied","setCopied","useState","failed","setFailed","mounted","useRef","attempt","timer","useEffect","source","request","text","error","onCopyError","defaultCodeBlockStrings","CodeBlock","forwardRef","wrapProp","stringsProp","props","strings","useStrings","uncontrolledWrap","setWrap","defaultWrap","wrap","code","lines","first","startLine","hasDiff","diffLines","highlights","highlightLines","focus","focusLines","handleWrap","onWrapChange","cn","className","hideHeader","headerStart","filename","language","headerActions","showWrapToggle","Button","WrapText","hideCopy","copy","onCopy","jsx","Check","Copy","maxHeight","number","index","highlighted","focused","diff","showLineNumbers","renderLine"],"sources":["../src/components/base/code-block/use-code-copy.ts","../src/components/base/code-block/code-block.types.ts","../src/components/base/code-block/code-block.tsx"],"sourcesContent":["import { useEffect, useRef, useState } from 'react';\n\n/** Clipboard lifecycle for code display; callbacks and text stay per mount. */\nexport function useCodeCopy(source: string, onCopyError?: (error: unknown) => void) {\n\tconst [copied, setCopied] = useState(false);\n\tconst [failed, setFailed] = useState(false);\n\tconst mounted = useRef(false);\n\tconst attempt = useRef(0);\n\tconst timer = useRef<ReturnType<typeof setTimeout> | undefined>(undefined);\n\n\tuseEffect(() => {\n\t\tmounted.current = true;\n\t\tsetCopied(false);\n\t\tsetFailed(false);\n\t\treturn () => {\n\t\t\tmounted.current = false;\n\t\t\tattempt.current += 1;\n\t\t\tclearTimeout(timer.current);\n\t\t};\n\t}, [source]);\n\n\tconst copy = async (text: string) => {\n\t\tconst request = ++attempt.current;\n\t\tclearTimeout(timer.current);\n\t\tsetCopied(false);\n\t\tsetFailed(false);\n\t\ttry {\n\t\t\tif (typeof navigator === 'undefined' || !navigator.clipboard?.writeText) {\n\t\t\t\tthrow new Error('Clipboard unavailable');\n\t\t\t}\n\t\t\tawait navigator.clipboard.writeText(text);\n\t\t} catch (error) {\n\t\t\tif (mounted.current && request === attempt.current) {\n\t\t\t\tsetFailed(true);\n\t\t\t\tonCopyError?.(error);\n\t\t\t}\n\t\t\treturn false;\n\t\t}\n\t\tif (!mounted.current || request !== attempt.current) return false;\n\t\tsetCopied(true);\n\t\ttimer.current = setTimeout(() => setCopied(false), 1500);\n\t\treturn true;\n\t};\n\n\treturn { copied, failed, copy };\n}\n","import type { ComponentPropsWithoutRef, ReactNode } from 'react';\nimport type { StringsProp } from '../../../lib/strings';\nexport interface CodeBlockStrings {\n copyAria: string; copied: string; copyError: string; defaultLanguageLabel: string; wrap: string; contentAria: string;\n}\nexport const defaultCodeBlockStrings: CodeBlockStrings = {\n copyAria: 'Copy code', copied: 'Copied', copyError: 'Could not copy. Please try again.', defaultLanguageLabel: 'Code', wrap: 'Wrap lines', contentAria: 'Code content',\n};\nexport interface CodeBlockLine {\n /** Source text, always used for copying even when a renderLine is supplied. */\n text: string;\n /** Source line number, starting at startLine. */\n number: number;\n highlighted: boolean;\n focused: boolean;\n diff?: 'add' | 'remove';\n}\nexport interface CodeBlockProps extends Omit<ComponentPropsWithoutRef<'div'>, 'children' | 'onCopy'> {\n code: string;\n language?: string;\n filename?: string;\n showLineNumbers?: boolean;\n /** First displayed line number. @default 1 */\n startLine?: number;\n highlightLines?: readonly number[];\n /** Dim other lines. Hover/focus restores context. Source numbers are one based. */\n focusLines?: readonly number[];\n diffLines?: Readonly<Record<number, 'add' | 'remove'>>;\n /** Caller-prepared syntax rendering, e.g. token spans. Plain text is server safe and escaped by React. Never pass untrusted HTML. */\n renderLine?: (line: CodeBlockLine) => ReactNode;\n hideHeader?: boolean;\n hideCopy?: boolean;\n maxHeight?: number | string;\n headerStart?: ReactNode;\n headerActions?: ReactNode;\n wrap?: boolean;\n defaultWrap?: boolean;\n onWrapChange?: (wrap: boolean) => void;\n showWrapToggle?: boolean;\n onCopy?: (code: string) => void;\n onCopyError?: (error: unknown) => void;\n strings?: StringsProp<CodeBlockStrings>;\n}\n","import { forwardRef, useState } from 'react';\nimport { Check, Copy, WrapText } from 'lucide-react';\nimport { Button } from '../buttons';\nimport { Stack } from '../structure';\nimport { Text } from '../../typography';\nimport { resolveTextClassNames } from '../../typography/text.styles';\nimport { MonoValue } from '../../primitives';\nimport { cn } from '../../../lib/utils';\nimport { useStrings } from '../../../lib/strings';\nimport { surfaceDividerRecipes } from '../../../lib/surface-recipes';\nimport { useCodeCopy } from './use-code-copy';\nimport { defaultCodeBlockStrings, type CodeBlockProps } from './code-block.types';\n\n/** Generic code display. Consumers own highlighting; source text remains the copy payload. */\nexport const CodeBlock = forwardRef<HTMLDivElement, CodeBlockProps>(function CodeBlock({\n code, language, filename, showLineNumbers = false, startLine = 1, highlightLines, focusLines, diffLines, renderLine,\n hideHeader = false, hideCopy = false, maxHeight, headerStart, headerActions, wrap: wrapProp, defaultWrap = false, onWrapChange, showWrapToggle = false,\n onCopy, onCopyError, strings: stringsProp, className, ...props\n}, ref) {\n const strings = useStrings(defaultCodeBlockStrings, stringsProp);\n const [uncontrolledWrap, setWrap] = useState(defaultWrap);\n const wrap = wrapProp ?? uncontrolledWrap;\n const { copied, failed, copy } = useCodeCopy(code, onCopyError);\n const lines = code.split('\\n');\n const first = Number.isFinite(startLine) ? Math.max(1, Math.trunc(startLine)) : 1;\n const hasDiff = Object.keys(diffLines ?? {}).length > 0;\n const highlights = new Set(highlightLines); const focus = new Set(focusLines);\n const handleWrap = () => { if (wrapProp === undefined) setWrap(!wrap); onWrapChange?.(!wrap); };\n return <div {...props} ref={ref} data-wrap={wrap || undefined} className={cn('code-block--component group/code-block w-full min-w-0 max-w-full overflow-hidden rounded-radius bg-card text-card-foreground', surfaceDividerRecipes.frame.shell, className)}>\n {!hideHeader && <Stack direction=\"horizontal\" align=\"center\" gap=\"sm\" wrap className={cn('code-block--header px-row-x py-row-y bg-muted text-muted-foreground', surfaceDividerRecipes.frame.header)}>\n {headerStart}\n <MonoValue className=\"min-w-0 truncate\">{filename || language || strings.defaultLanguageLabel}</MonoValue>\n {filename && language && <Text tag=\"span\" size=\"xs\" type=\"secondary\">{language}</Text>}\n <Stack direction=\"horizontal\" align=\"center\" gap=\"xs\" className=\"ms-auto shrink-0\">\n {headerActions}\n {showWrapToggle && <Button type=\"button\" size=\"sm\" iconOnly tone=\"secondary\" buttonStyle=\"ghost\" aria-label={strings.wrap} aria-pressed={wrap} onClick={handleWrap}><WrapText aria-hidden=\"true\" className=\"size-icon-sm\" /></Button>}\n {!hideCopy && <Button type=\"button\" size=\"sm\" iconOnly tone=\"secondary\" buttonStyle=\"ghost\" aria-label={copied ? strings.copied : strings.copyAria} onClick={async () => { if (await copy(code)) onCopy?.(code); }}>{copied ? <Check aria-hidden=\"true\" className=\"size-icon-sm\" /> : <Copy aria-hidden=\"true\" className=\"size-icon-sm\" />}</Button>}\n </Stack>\n </Stack>}\n <div className=\"code-block--viewport min-w-0 max-w-full overflow-auto focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-inset\" tabIndex={0} role=\"region\" aria-label={strings.contentAria} style={maxHeight !== undefined ? { maxHeight } : undefined}>\n <pre dir=\"ltr\" className={cn(resolveTextClassNames({ lineHeight: 'relaxed' }), 'code-block--pre m-0 px-row-x py-row-y font-mono text-inherit')}><code className=\"block\">\n {lines.map((text, index) => {\n const number = first + index; const highlighted = highlights.has(number); const focused = focus.size === 0 || focus.has(number); const diff = diffLines?.[number];\n return <span key={number} data-code-line={number} data-highlighted={highlighted || undefined} data-focused={focused ? 'true' : 'false'} data-diff={diff} className={cn('code-block--line flex min-w-0 gap-space-sm', highlighted && 'bg-accent text-accent-foreground', diff === 'add' && 'bg-success text-success-foreground', diff === 'remove' && 'bg-destructive text-destructive-foreground', !focused && 'opacity-50 group-hover/code-block:opacity-100 group-focus-within/code-block:opacity-100')}>\n {showLineNumbers && <Text tag=\"span\" size=\"inherit\" type=\"secondary\" numeric aria-hidden=\"true\" style={{ minWidth: `${String(first + lines.length - 1).length}ch` }} className={cn(\"code-block--number select-none shrink-0 text-right\", diff && \"text-inherit\")}>{number}</Text>}\n {hasDiff && <Text tag=\"span\" size=\"inherit\" aria-hidden=\"true\" className=\"code-block--diff font-mono select-none shrink-0 text-inherit\">{diff === 'add' ? '+' : diff === 'remove' ? '−' : '\\u00a0'}</Text>}\n <Text tag=\"span\" size=\"inherit\" lineHeight=\"relaxed\" className={cn('code-block--text font-mono block min-w-0 flex-1 text-inherit', wrap ? 'whitespace-pre-wrap break-words' : 'whitespace-pre')}>{renderLine ? renderLine({ text, number, highlighted, focused, diff }) : text || '\\u00a0'}</Text>\n </span>;\n })}\n </code></pre>\n </div>\n {failed && <div className=\"px-row-x py-row-y\"><Text role=\"alert\" size=\"xs\" type=\"error\">{strings.copyError}</Text></div>}\n </div>;\n});\nCodeBlock.displayName = 'CodeBlock';\n"],"mappings":"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"}
@@ -0,0 +1,81 @@
1
+ "use client";
2
+ import { t as e } from "./utils-C2EKeIw3.js";
3
+ import { a as t } from "./typography-Cv8MT-82.js";
4
+ import { t as n } from "./motion-recipes-B6jKXEcN.js";
5
+ import { t as r } from "./slot-CLF9kLrS.js";
6
+ import { t as i } from "./disclosure-panel-B0HFNZ9x.js";
7
+ import * as a from "react";
8
+ import { jsx as o } from "react/jsx-runtime";
9
+ import { Collapsible as s } from "@base-ui/react/collapsible";
10
+ //#region src/components/ui/collapsible.tsx
11
+ function c({ ...e }) {
12
+ return /* @__PURE__ */ o(s.Root, {
13
+ "data-slot": "collapsible",
14
+ ...e
15
+ });
16
+ }
17
+ function l({ asChild: e = !1, nativeButton: t, render: n, children: i, ...c }) {
18
+ let l = e ? /* @__PURE__ */ o(r, {}) : void 0, u = typeof n == "function" ? ((e, t) => {
19
+ let { nativeButton: r, ...i } = e;
20
+ return n(i, t);
21
+ }) : n, d = !0;
22
+ e && a.isValidElement(i) && (d = typeof i.type == "string" ? i.type === "button" : !("href" in (i.props ?? {})));
23
+ let f = t ?? (!e || d);
24
+ return /* @__PURE__ */ o(s.Trigger, {
25
+ "data-slot": "collapsible-trigger",
26
+ render: l ?? u,
27
+ nativeButton: f,
28
+ ...c,
29
+ children: i
30
+ });
31
+ }
32
+ function u({ className: t, render: r, ...a }) {
33
+ return /* @__PURE__ */ o(s.Panel, {
34
+ "data-slot": "collapsible-content",
35
+ className: e("box-border h-(--collapsible-panel-height)", n.disclosure, t),
36
+ ...a,
37
+ render: (e, t) => /* @__PURE__ */ o(i, {
38
+ props: e,
39
+ state: t,
40
+ render: r,
41
+ heightVariable: "--collapsible-panel-height"
42
+ })
43
+ });
44
+ }
45
+ //#endregion
46
+ //#region src/components/base/display/collapsible.tsx
47
+ function d(e) {
48
+ return typeof e == "string" || typeof e == "number" || typeof e == "bigint";
49
+ }
50
+ function f({ className: t, ...n }) {
51
+ return /* @__PURE__ */ o(c, {
52
+ className: e("collapsible--component", t),
53
+ ...n
54
+ });
55
+ }
56
+ function p({ className: n, children: r, ...i }) {
57
+ return /* @__PURE__ */ o(l, {
58
+ className: e("collapsible-trigger--component active:translate-y-0!", n),
59
+ ...i,
60
+ children: d(r) ? /* @__PURE__ */ o(t, {
61
+ tag: "span",
62
+ size: "inherit",
63
+ weight: "medium",
64
+ lineHeight: "tight",
65
+ className: "text-inherit",
66
+ children: r
67
+ }) : r
68
+ });
69
+ }
70
+ function m({ className: n, children: r, ...i }) {
71
+ return /* @__PURE__ */ o(u, {
72
+ className: e("collapsible-content--component", n),
73
+ ...i,
74
+ children: d(r) ? /* @__PURE__ */ o(t, { children: r }) : r
75
+ });
76
+ }
77
+ f.displayName = "Collapsible", p.displayName = "CollapsibleTrigger", m.displayName = "CollapsibleContent";
78
+ //#endregion
79
+ export { m as n, p as r, f as t };
80
+
81
+ //# sourceMappingURL=collapsible-DsnktFNv.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"collapsible-DsnktFNv.js","names":["Collapsible","CollapsiblePrimitive","CollapsibleTrigger","React","CollapsibleContent","Collapsible","CollapsiblePrimitive","CollapsibleTriggerPrimitive","CollapsibleContentPrimitive","cn","Text","motionRecipes","Slot","DisclosurePanelElement","React$1","Collapsible$2","props","Collapsible","CollapsibleTrigger$1","slotRender","asChild","safeRender","render","_nativeButton","rest","renderProps","state","inferredNativeButton","children","resolvedNativeButton","nativeButton","CollapsibleContent$1","className","panelProps","isSimpleText","value","Collapsible$1","CollapsibleTrigger","CollapsibleContent"],"sources":["../src/components/ui/collapsible.tsx","../src/components/base/display/collapsible.tsx"],"sourcesContent":["import { DisclosurePanelElement } from './disclosure-panel';\nimport { motionRecipes } from '../../lib/motion-recipes';\nimport { cn } from '../../lib/utils';\nimport { Collapsible as CollapsiblePrimitive } from \"@base-ui/react/collapsible\"\nimport * as React from \"react\"\n\nimport { Slot } from \"./slot\"\n\nfunction Collapsible({ ...props }: CollapsiblePrimitive.Root.Props) {\n return <CollapsiblePrimitive.Root data-slot=\"collapsible\" {...props} />\n}\n\nfunction CollapsibleTrigger({\n asChild = false,\n nativeButton,\n render,\n children,\n ...props\n}: CollapsiblePrimitive.Trigger.Props & { asChild?: boolean; nativeButton?: boolean }) {\n const slotRender = asChild ? <Slot /> : undefined\n const safeRender: CollapsiblePrimitive.Trigger.Props[\"render\"] = typeof render === \"function\"\n ? ((renderProps, state) => {\n const { nativeButton: _nativeButton, ...rest } = renderProps as Record<string, unknown>\n void _nativeButton\n return render(rest as typeof renderProps, state)\n })\n : render\n let inferredNativeButton = true\n if (asChild && React.isValidElement(children)) {\n if (typeof children.type === \"string\") {\n inferredNativeButton = children.type === \"button\"\n } else {\n const childProps = (children.props ?? {}) as Record<string, unknown>\n inferredNativeButton = !(\"href\" in childProps)\n }\n }\n const resolvedNativeButton = nativeButton ?? (asChild ? inferredNativeButton : true)\n return (\n <CollapsiblePrimitive.Trigger\n data-slot=\"collapsible-trigger\"\n render={slotRender ?? safeRender}\n nativeButton={resolvedNativeButton}\n {...props}\n >\n {children}\n </CollapsiblePrimitive.Trigger>\n )\n}\n\nfunction CollapsibleContent({ className, render, ...props }: CollapsiblePrimitive.Panel.Props) {\n return (\n <CollapsiblePrimitive.Panel data-slot=\"collapsible-content\" className={cn(\"box-border h-(--collapsible-panel-height)\", motionRecipes.disclosure, className)} {...props} render={(panelProps, state) => <DisclosurePanelElement props={panelProps} state={state} render={render} heightVariable=\"--collapsible-panel-height\" />} />\n )\n}\n\nexport { Collapsible, CollapsibleTrigger, CollapsibleContent }\n","/** Tokenized base wrappers for inline disclosure behavior. */\nimport type { ComponentProps, ReactNode } from 'react';\n\nimport {\n\tCollapsible as CollapsiblePrimitive,\n\tCollapsibleContent as CollapsibleContentPrimitive,\n\tCollapsibleTrigger as CollapsibleTriggerPrimitive,\n} from '../../ui/collapsible';\nimport { Text } from '../../typography';\nimport { cn } from '../../../lib/utils';\n\nexport type CollapsibleProps = ComponentProps<typeof CollapsiblePrimitive>;\nexport type CollapsibleTriggerProps = ComponentProps<typeof CollapsibleTriggerPrimitive>;\nexport type CollapsibleContentProps = ComponentProps<typeof CollapsibleContentPrimitive>;\n\nfunction isSimpleText(value: ReactNode): value is string | number | bigint {\n\treturn typeof value === 'string' || typeof value === 'number' || typeof value === 'bigint';\n}\n\n/** Root disclosure state. Supports controlled and uncontrolled open state. */\nexport function Collapsible({ className, ...props }: CollapsibleProps) {\n\treturn (\n\t\t<CollapsiblePrimitive\n\t\t\tclassName={cn('collapsible--component', className)}\n\t\t\t{...props}\n\t\t/>\n\t);\n}\n\n/** Consumer-blocks control that toggles the disclosure panel. */\nexport function CollapsibleTrigger({ className, children, ...props }: CollapsibleTriggerProps) {\n\treturn (\n\t\t<CollapsibleTriggerPrimitive\n\t\t\tclassName={cn('collapsible-trigger--component active:translate-y-0!', className)}\n\t\t\t{...props}\n\t\t>\n\t\t\t{isSimpleText(children) ? (\n\t\t\t\t<Text tag=\"span\" size=\"inherit\" weight=\"medium\" lineHeight=\"tight\" className=\"text-inherit\">\n\t\t\t\t\t{children}\n\t\t\t\t</Text>\n\t\t\t) : children}\n\t\t</CollapsibleTriggerPrimitive>\n\t);\n}\n\n/** Mount-aware disclosure panel. The caller owns its surface and content. */\nexport function CollapsibleContent({ className, children, ...props }: CollapsibleContentProps) {\n\treturn (\n\t\t<CollapsibleContentPrimitive\n\t\t\tclassName={cn('collapsible-content--component', className)}\n\t\t\t{...props}\n\t\t>\n\t\t\t{isSimpleText(children) ? <Text>{children}</Text> : children}\n\t\t</CollapsibleContentPrimitive>\n\t);\n}\n\nCollapsible.displayName = 'Collapsible';\nCollapsibleTrigger.displayName = 'CollapsibleTrigger';\nCollapsibleContent.displayName = 'CollapsibleContent';\n"],"mappings":";;;;;;;;;;AAQA,SAASA,EAAY,EAAE,GAAGgB,KAA0C;CAClE,OAAO,kBAACf,EAAqB,MAAtB;EAA2B,aAAU;EAAc,GAAIe;CAAQ,CAAA;AACxE;AAEA,SAASd,EAAmB,EAC1B,aAAU,IACV,iBACA,WACA,aACA,GAAGc,KACkF;CACrF,IAAMG,IAAaC,IAAU,kBAACR,GAAD,CAAO,CAAA,IAAI,KAAA,GAClCS,IAA2D,OAAOC,KAAW,eAC7E,GAAa,MAAU;EACzB,IAAM,EAAE,cAAcC,GAAe,GAAGC,MAASC;EAEjD,OAAOH,EAAOE,GAA4BE,CAAK;CACjD,KACEJ,GACAK,IAAuB;CAC3B,AAAIP,KAAWjB,EAAM,eAAeyB,CAAQ,MAC1C,AAIED,IAJE,OAAOC,EAAS,QAAS,WACJA,EAAS,SAAS,WAGlB,EAAE,WADLA,EAAS,SAAS,CAAC;CAI3C,IAAMC,IAAuBC,MAAiB,MAAUH;CACxD,OACE,kBAAC1B,EAAqB,SAAtB;EACE,aAAU;EACV,QAAQkB,KAAcE;EACtB,cAAcQ;EACd,GAAIb;EAEH;CAC2B,CAAA;AAElC;AAEA,SAASZ,EAAmB,EAAE,cAAW,WAAQ,GAAGY,KAA2C;CAC7F,OACE,kBAACf,EAAqB,OAAtB;EAA4B,aAAU;EAAsB,WAAWQ,EAAG,6CAA6CE,EAAc,YAAYqB,CAAS;EAAG,GAAIhB;EAAO,SAAS,GAAY,MAAU,kBAACH,GAAD;GAAwB,OAAOoB;GAAmB;GAAe;GAAQ,gBAAe;EAA8B,CAAA;CAAI,CAAA;AAErU;;;ACtCA,SAASC,EAAa,GAAqD;CAC1E,OAAO,OAAOC,KAAU,YAAY,OAAOA,KAAU,YAAY,OAAOA,KAAU;AACnF;AAGA,SAAgB9B,EAAY,EAAE,cAAW,GAAGW,KAA2B;CACtE,OACC,kBAACV,GAAD;EACC,WAAWG,EAAG,0BAA0BuB,CAAS;EACjD,GAAIhB;CACJ,CAAA;AAEH;AAGA,SAAgBqB,EAAmB,EAAE,cAAW,aAAU,GAAGrB,KAAkC;CAC9F,OACC,kBAACT,GAAD;EACC,WAAWE,EAAG,wDAAwDuB,CAAS;EAC/E,GAAIhB;EAEH,UAAAkB,EAAaN,CAAQ,IACrB,kBAAClB,GAAD;GAAM,KAAI;GAAO,MAAK;GAAU,QAAO;GAAS,YAAW;GAAQ,WAAU;GAC3E;EACI,CAAA,IACHkB;CACwB,CAAA;AAE/B;AAGA,SAAgBU,EAAmB,EAAE,cAAW,aAAU,GAAGtB,KAAkC;CAC9F,OACC,kBAACR,GAAD;EACC,WAAWC,EAAG,kCAAkCuB,CAAS;EACzD,GAAIhB;EAEH,UAAAkB,EAAaN,CAAQ,IAAI,kBAAClB,GAAD,EAAO,YAAe,CAAA,IAAIkB;CACxB,CAAA;AAE/B;AAEA,EAAY,cAAc,eAC1B,EAAmB,cAAc,sBACjC,EAAmB,cAAc"}
@@ -0,0 +1,53 @@
1
+ "use client";
2
+ import { t as e } from "./utils-C2EKeIw3.js";
3
+ import { a as t } from "./typography-Cv8MT-82.js";
4
+ import { jsx as n, jsxs as r } from "react/jsx-runtime";
5
+ //#region src/components/base/popover/collection-content.tsx
6
+ function i(e) {
7
+ return typeof e == "string" || typeof e == "number" || typeof e == "bigint";
8
+ }
9
+ function a({ children: r, className: a }) {
10
+ return typeof r == "string" && !r.trim() ? r : i(r) ? /* @__PURE__ */ n(t, {
11
+ tag: "span",
12
+ size: "inherit",
13
+ weight: "medium",
14
+ lineHeight: "tight",
15
+ className: e("text-inherit text-start", a),
16
+ children: r
17
+ }) : a ? /* @__PURE__ */ n("span", {
18
+ className: a,
19
+ children: r
20
+ }) : r;
21
+ }
22
+ function o({ label: i, description: o, leading: s, trailing: c, leadingDecorative: l = !1, wrap: u = !1, className: d, leadingClassName: f, bodyClassName: p, labelClassName: m, descriptionClassName: h }) {
23
+ let g = u ? "whitespace-normal wrap-anywhere" : "truncate";
24
+ return /* @__PURE__ */ r("span", {
25
+ className: e("collection-content--component flex min-w-0 flex-1 items-center gap-space-sm", d),
26
+ children: [
27
+ s != null && s !== !1 && /* @__PURE__ */ n("span", {
28
+ "aria-hidden": l || void 0,
29
+ className: e("inline-flex shrink-0 items-center justify-center text-muted-foreground", f),
30
+ children: s
31
+ }),
32
+ /* @__PURE__ */ r("span", {
33
+ className: e("collection-content--copy flex min-w-0 flex-1 flex-col gap-dense", p),
34
+ children: [/* @__PURE__ */ n(a, {
35
+ className: e("min-w-0", g, m),
36
+ children: i
37
+ }), o != null && o !== !1 && o !== "" && /* @__PURE__ */ n(t, {
38
+ tag: "span",
39
+ size: "xs",
40
+ type: "secondary",
41
+ lineHeight: "tight",
42
+ className: e("text-start", g, h),
43
+ children: o
44
+ })]
45
+ }),
46
+ c
47
+ ]
48
+ });
49
+ }
50
+ //#endregion
51
+ export { a as n, o as t };
52
+
53
+ //# sourceMappingURL=collection-content-C4fthJV_.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"collection-content-C4fthJV_.js","names":["cn","Text","isScalar","value","CollectionLabel","children","className","CollectionContent","copyFlow","wrap","leading","leadingDecorative","leadingClassName","bodyClassName","labelClassName","label","description","descriptionClassName","trailing"],"sources":["../src/components/base/popover/collection-content.tsx"],"sourcesContent":["import type { ReactNode } from 'react';\nimport { Text } from '../../typography';\nimport { cn } from '../../../lib/utils';\n\nfunction isScalar(value: ReactNode) {\n\treturn typeof value === 'string' || typeof value === 'number' || typeof value === 'bigint';\n}\n\n/** Presentation only. Interactive primitives retain identity and behavior. */\nexport function CollectionLabel({ children, className }: { children: ReactNode; className?: string }) {\n\tif (typeof children === 'string' && !children.trim()) return children;\n\tif (!isScalar(children)) return className ? <span className={className}>{children}</span> : children;\n\treturn (\n\t\t<Text tag=\"span\" size=\"inherit\" weight=\"medium\" lineHeight=\"tight\" className={cn('text-inherit text-start', className)}>\n\t\t\t{children}\n\t\t</Text>\n\t);\n}\n\ninterface CollectionContentProps {\n\tlabel: ReactNode;\n\tdescription?: ReactNode;\n\tleading?: ReactNode;\n\ttrailing?: ReactNode;\n\tleadingDecorative?: boolean;\n\twrap?: boolean;\n\tclassName?: string;\n\tleadingClassName?: string;\n\tbodyClassName?: string;\n\tlabelClassName?: string;\n\tdescriptionClassName?: string;\n}\n\n/** Private copy grammar shared by option/action owners; rich slots are not cloned. */\nexport function CollectionContent({\n\tlabel, description, leading, trailing, leadingDecorative = false, wrap = false,\n\tclassName, leadingClassName, bodyClassName, labelClassName, descriptionClassName,\n}: CollectionContentProps) {\n\tconst copyFlow = wrap ? 'whitespace-normal wrap-anywhere' : 'truncate';\n\treturn (\n\t\t<span className={cn('collection-content--component flex min-w-0 flex-1 items-center gap-space-sm', className)}>\n\t\t\t{leading != null && leading !== false && (\n\t\t\t\t<span aria-hidden={leadingDecorative || undefined} className={cn('inline-flex shrink-0 items-center justify-center text-muted-foreground', leadingClassName)}>\n\t\t\t\t\t{leading}\n\t\t\t\t</span>\n\t\t\t)}\n\t\t\t<span className={cn('collection-content--copy flex min-w-0 flex-1 flex-col gap-dense', bodyClassName)}>\n\t\t\t\t<CollectionLabel className={cn('min-w-0', copyFlow, labelClassName)}>{label}</CollectionLabel>\n\t\t\t\t{description != null && description !== false && description !== '' && (\n\t\t\t\t\t<Text tag=\"span\" size=\"xs\" type=\"secondary\" lineHeight=\"tight\" className={cn('text-start', copyFlow, descriptionClassName)}>\n\t\t\t\t\t\t{description}\n\t\t\t\t\t</Text>\n\t\t\t\t)}\n\t\t\t</span>\n\t\t\t{trailing}\n\t\t</span>\n\t);\n}\n"],"mappings":";;;;;AAIA,SAASE,EAAS,GAAkB;CACnC,OAAO,OAAOC,KAAU,YAAY,OAAOA,KAAU,YAAY,OAAOA,KAAU;AACnF;AAGA,SAAgBC,EAAgB,EAAE,aAAU,gBAA0D;CAGrG,OAFI,OAAOC,KAAa,YAAY,CAACA,EAAS,KAAK,IAAUA,IACxDH,EAASG,CAAQ,IAErB,kBAACJ,GAAD;EAAM,KAAI;EAAO,MAAK;EAAU,QAAO;EAAS,YAAW;EAAQ,WAAWD,EAAG,2BAA2BM,CAAS;EACnH;CACI,CAAA,IAJyBA,IAAY,kBAAC,QAAD;EAAiB;EAAY;CAAe,CAAA,IAAID;AAM7F;AAiBA,SAAgBE,EAAkB,EACjC,UAAO,gBAAa,YAAS,aAAU,uBAAoB,IAAO,UAAO,IACzE,cAAW,qBAAkB,kBAAe,mBAAgB,2BAClC;CAC1B,IAAMC,IAAWC,IAAO,oCAAoC;CAC5D,OACC,kBAAC,QAAD;EAAM,WAAWT,EAAG,+EAA+EM,CAAS;EAA5G,UAAA;GACEI,KAAW,QAAQA,MAAY,MAC/B,kBAAC,QAAD;IAAM,eAAaC,KAAqB,KAAA;IAAW,WAAWX,EAAG,0EAA0EY,CAAgB;IACzJ,UAAAF;GACI,CAAA;GAEP,kBAAC,QAAD;IAAM,WAAWV,EAAG,mEAAmEa,CAAa;IAApG,UAAA,CACC,kBAACT,GAAD;KAAiB,WAAWJ,EAAG,WAAWQ,GAAUM,CAAc;KAAI,UAAAC;IAAuB,CAAA,GAC5FC,KAAe,QAAQA,MAAgB,MAASA,MAAgB,MAChE,kBAACf,GAAD;KAAM,KAAI;KAAO,MAAK;KAAK,MAAK;KAAY,YAAW;KAAQ,WAAWD,EAAG,cAAcQ,GAAUS,CAAoB;KACvH,UAAAD;IACI,CAAA,CAEF;;GACLE;EACI;;AAER"}