themelia-react-ui 2.0.3 → 2.0.4

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 (421) hide show
  1. package/CHANGELOG.md +50 -0
  2. package/README.md +65 -28
  3. package/dist/{accordion-Cjb6sx0G.js → accordion-96o0pN62.js} +5 -5
  4. package/dist/{accordion-Cjb6sx0G.js.map → accordion-96o0pN62.js.map} +1 -1
  5. package/dist/action-menu-CHgs8vmj.js +281 -0
  6. package/dist/action-menu-CHgs8vmj.js.map +1 -0
  7. package/dist/{affordance-geometry.generated-tF36bREk.js → affordance-geometry.generated-B8yGOr8-.js} +7 -1
  8. package/dist/affordance-geometry.generated-B8yGOr8-.js.map +1 -0
  9. package/dist/{ai-artifact-DvTwDVyL.js → ai-artifact-BZUGwBq6.js} +277 -276
  10. package/dist/ai-artifact-BZUGwBq6.js.map +1 -0
  11. package/dist/{app-shell-C4FhvCqF.js → app-shell-D63ATkIK.js} +84 -83
  12. package/dist/app-shell-D63ATkIK.js.map +1 -0
  13. package/dist/{attachment-BxDfL2mw.js → attachment-DkoqHPPl.js} +7 -7
  14. package/dist/{attachment-BxDfL2mw.js.map → attachment-DkoqHPPl.js.map} +1 -1
  15. package/dist/{auth-BGua8ouh.js → auth-D2FVZ1MH.js} +10 -10
  16. package/dist/{auth-BGua8ouh.js.map → auth-D2FVZ1MH.js.map} +1 -1
  17. package/dist/{avatar-DAPlDvhJ.js → avatar-DWO_HHhB.js} +5 -5
  18. package/dist/{avatar-DAPlDvhJ.js.map → avatar-DWO_HHhB.js.map} +1 -1
  19. package/dist/{badge-HpFqoqSY.js → badge-DErMA7ul.js} +4 -4
  20. package/dist/{badge-HpFqoqSY.js.map → badge-DErMA7ul.js.map} +1 -1
  21. package/dist/base/accordion.js +1 -1
  22. package/dist/base/action-menu.js +1 -1
  23. package/dist/base/attachment.js +1 -1
  24. package/dist/base/avatar.js +1 -1
  25. package/dist/base/badge.js +1 -1
  26. package/dist/base/batch-action-bar.js +1 -1
  27. package/dist/base/buttons.js +1 -1
  28. package/dist/base/cards.js +2 -2
  29. package/dist/base/carousel.js +3 -3
  30. package/dist/base/cascader.js +13 -13
  31. package/dist/base/chart.js +1 -1
  32. package/dist/base/choice-inputs.js +2 -2
  33. package/dist/base/code-block.js +1 -1
  34. package/dist/base/combobox.js +1 -1
  35. package/dist/base/command.js +1 -1
  36. package/dist/base/copyable.js +1 -1
  37. package/dist/base/date-pickers.js +2 -2
  38. package/dist/base/display.js +6 -6
  39. package/dist/base/feedback.js +3 -3
  40. package/dist/base/forms-numeric.js +1 -1
  41. package/dist/base/forms.js +3 -3
  42. package/dist/base/inline-edit.js +10 -10
  43. package/dist/base/item.js +1 -1
  44. package/dist/base/media-gallery.js +1 -1
  45. package/dist/base/metadata-list.js +1 -1
  46. package/dist/base/navigation.js +6 -6
  47. package/dist/base/popover-menu.js +1 -1
  48. package/dist/base/popover.js +1 -1
  49. package/dist/base/qr-code.js +1 -1
  50. package/dist/base/repeaters.js +9 -9
  51. package/dist/base/sheet.js +1 -1
  52. package/dist/base/sidebar.js +1 -1
  53. package/dist/base/signature-pad.js +6 -6
  54. package/dist/base/skeleton.js +1 -1
  55. package/dist/base/spinner.js +4 -4
  56. package/dist/base/structure.js +1 -1
  57. package/dist/base/table.js +1 -1
  58. package/dist/base/text-inputs.js +2 -2
  59. package/dist/base/toaster.js +3 -3
  60. package/dist/base/tree.js +1 -1
  61. package/dist/base/upload-queue.js +1 -1
  62. package/dist/base/upload.js +3 -3
  63. package/dist/base/value-inputs.js +1 -1
  64. package/dist/{batch-action-bar-DnUJ21NQ.js → batch-action-bar-CdfIkCsV.js} +4 -4
  65. package/dist/{batch-action-bar-DnUJ21NQ.js.map → batch-action-bar-CdfIkCsV.js.map} +1 -1
  66. package/dist/blocks/admin.js +20 -20
  67. package/dist/blocks/admin.js.map +1 -1
  68. package/dist/blocks/ai.js +15 -15
  69. package/dist/blocks/analytics/usage-card.js +1 -1
  70. package/dist/blocks/analytics.js +17 -17
  71. package/dist/blocks/analytics.js.map +1 -1
  72. package/dist/blocks/collaboration.js +1 -1
  73. package/dist/blocks/commerce/receipt.js +1 -1
  74. package/dist/blocks/commerce.js +570 -567
  75. package/dist/blocks/commerce.js.map +1 -1
  76. package/dist/blocks/data-display.js +2 -2
  77. package/dist/blocks/onboarding.js +5 -5
  78. package/dist/blocks/planning.js +11 -11
  79. package/dist/blocks/timelines.js +1 -1
  80. package/dist/{breadcrumbs-C-oqs1sQ.js → breadcrumbs-B-WFKecD.js} +4 -4
  81. package/dist/{breadcrumbs-C-oqs1sQ.js.map → breadcrumbs-B-WFKecD.js.map} +1 -1
  82. package/dist/{button-DVzspB_G.js → button-DkmK-z8E.js} +2 -2
  83. package/dist/{button-DVzspB_G.js.map → button-DkmK-z8E.js.map} +1 -1
  84. package/dist/{buttons-DPZekJFu.js → buttons-BbfzgczK.js} +8 -8
  85. package/dist/{buttons-DPZekJFu.js.map → buttons-BbfzgczK.js.map} +1 -1
  86. package/dist/{cards-BaBZR-AU.js → cards-4JTWqvVe.js} +10 -10
  87. package/dist/cards-4JTWqvVe.js.map +1 -0
  88. package/dist/{chart-ZOYyK2xG.js → chart-C19flDQb.js} +4 -4
  89. package/dist/{chart-ZOYyK2xG.js.map → chart-C19flDQb.js.map} +1 -1
  90. package/dist/{checkbox-AWIhNhmo.js → checkbox-CzYUTPeJ.js} +9 -5
  91. package/dist/checkbox-CzYUTPeJ.js.map +1 -0
  92. package/dist/{choice-inputs-CNHvARCJ.js → choice-inputs-JLtij2y4.js} +182 -176
  93. package/dist/choice-inputs-JLtij2y4.js.map +1 -0
  94. package/dist/{code-block-DeneBJR_.js → code-block-CGNaUtAE.js} +7 -7
  95. package/dist/{code-block-DeneBJR_.js.map → code-block-CGNaUtAE.js.map} +1 -1
  96. package/dist/{collapsible-C-_l4hpy.js → collapsible-Do4G0zcC.js} +3 -3
  97. package/dist/{collapsible-C-_l4hpy.js.map → collapsible-Do4G0zcC.js.map} +1 -1
  98. package/dist/{collection-content-By56pLog.js → collection-content-C0e8SsTm.js} +3 -3
  99. package/dist/{collection-content-By56pLog.js.map → collection-content-C0e8SsTm.js.map} +1 -1
  100. package/dist/{combobox-Dxo2fAYQ.js → combobox-CBJDs6w_.js} +12 -12
  101. package/dist/{combobox-Dxo2fAYQ.js.map → combobox-CBJDs6w_.js.map} +1 -1
  102. package/dist/{combobox-DaHESuiL.js → combobox-hbhSS18O.js} +7 -7
  103. package/dist/{combobox-DaHESuiL.js.map → combobox-hbhSS18O.js.map} +1 -1
  104. package/dist/{command-C25VMRII.js → command-D8NrBj-b.js} +7 -7
  105. package/dist/{command-C25VMRII.js.map → command-D8NrBj-b.js.map} +1 -1
  106. package/dist/{comments-DD0DUPwJ.js → comments-Di4w0H_S.js} +383 -382
  107. package/dist/comments-Di4w0H_S.js.map +1 -0
  108. package/dist/components/base/action-menu/action-menu.d.ts +2 -0
  109. package/dist/components/base/cards/card.recipes.d.ts +12 -5
  110. package/dist/components/base/cards/smart-card.types.d.ts +12 -7
  111. package/dist/components/base/choice-inputs/checkbox.d.ts +7 -2
  112. package/dist/components/base/choice-inputs/switch-card.d.ts +7 -0
  113. package/dist/components/base/choice-inputs/toggle-field.d.ts +7 -0
  114. package/dist/components/base/date-pickers/datepicker.types.d.ts +7 -0
  115. package/dist/components/base/forms/controlled-form-field.d.ts +6 -6
  116. package/dist/components/base/forms/form-field.d.ts +5 -3
  117. package/dist/components/base/forms/index.d.ts +1 -0
  118. package/dist/components/base/forms/server-errors.d.ts +16 -0
  119. package/dist/components/base/forms/workflow.d.ts +5 -2
  120. package/dist/components/base/metadata-list/metadata-list.d.ts +3 -1
  121. package/dist/components/base/navigation/page-header/page-header.d.ts +4 -2
  122. package/dist/components/base/structure/composition.recipes.d.ts +17 -0
  123. package/dist/components/base/text-inputs/hooks/use-form-field-state.d.ts +7 -2
  124. package/dist/components/base/text-inputs/input.d.ts +4 -2
  125. package/dist/components/base/text-inputs/textarea.d.ts +4 -2
  126. package/dist/components/base/value-inputs/date-time-input.d.ts +2 -1
  127. package/dist/components/base/value-inputs/slider.d.ts +5 -1
  128. package/dist/components/base/value-inputs/tags-input.d.ts +5 -1
  129. package/dist/components/typography/text.styles.d.ts +26 -1
  130. package/dist/composition.recipes-COdiFhxB.js +19 -0
  131. package/dist/composition.recipes-COdiFhxB.js.map +1 -0
  132. package/dist/containers-CRmHf7GP.js +104 -0
  133. package/dist/containers-CRmHf7GP.js.map +1 -0
  134. package/dist/{copyable-ClBuk_UK.js → copyable-CnGCZdX4.js} +4 -4
  135. package/dist/{copyable-ClBuk_UK.js.map → copyable-CnGCZdX4.js.map} +1 -1
  136. package/dist/{data-display-DT_khPl_.js → data-display-D4oujtx0.js} +239 -238
  137. package/dist/data-display-D4oujtx0.js.map +1 -0
  138. package/dist/{date-DCrsDTZc.js → date-Q7jnXxpk.js} +5 -5
  139. package/dist/{date-DCrsDTZc.js.map → date-Q7jnXxpk.js.map} +1 -1
  140. package/dist/{date-picker-B2K3ucWn.js → date-picker-zOt1oNss.js} +102 -90
  141. package/dist/date-picker-zOt1oNss.js.map +1 -0
  142. package/dist/date-pickers-cj8IXbDC.js +179 -0
  143. package/dist/date-pickers-cj8IXbDC.js.map +1 -0
  144. package/dist/{display-hAc1HjpI.js → display-BB4BL_-K.js} +8 -8
  145. package/dist/{display-hAc1HjpI.js.map → display-BB4BL_-K.js.map} +1 -1
  146. package/dist/{dropdown-menu-Cl4X7L5S.js → dropdown-menu-CjY8Vt7W.js} +8 -8
  147. package/dist/{dropdown-menu-Cl4X7L5S.js.map → dropdown-menu-CjY8Vt7W.js.map} +1 -1
  148. package/dist/features/activities.js +11 -11
  149. package/dist/features/ai-chat.js +9 -9
  150. package/dist/features/appointment-calendar.js +222 -220
  151. package/dist/features/appointment-calendar.js.map +1 -1
  152. package/dist/features/async-preview.js +8 -8
  153. package/dist/features/combobox.js +1 -1
  154. package/dist/features/comments.js +1 -1
  155. package/dist/features/data-view.js +10 -10
  156. package/dist/features/email-composer.js +275 -274
  157. package/dist/features/email-composer.js.map +1 -1
  158. package/dist/features/event-calendar.js +199 -198
  159. package/dist/features/event-calendar.js.map +1 -1
  160. package/dist/features/filters.js +1 -1
  161. package/dist/features/global-search.js +12 -12
  162. package/dist/features/kanban.js +4 -4
  163. package/dist/features/map.js +7 -7
  164. package/dist/features/media-library.js +623 -622
  165. package/dist/features/media-library.js.map +1 -1
  166. package/dist/features/mentions.js +1 -1
  167. package/dist/features/overlays.js +1 -1
  168. package/dist/features/products.js +973 -969
  169. package/dist/features/products.js.map +1 -1
  170. package/dist/features/questionnaire.js +12 -12
  171. package/dist/features/resource-assignment.js +8 -8
  172. package/dist/features/resource.js +113 -112
  173. package/dist/features/resource.js.map +1 -1
  174. package/dist/features/rich-text-editor.js +2 -2
  175. package/dist/features/schema-form.js +254 -253
  176. package/dist/features/schema-form.js.map +1 -1
  177. package/dist/features/suggestions.js +3 -3
  178. package/dist/features/sync.js +3 -3
  179. package/dist/features/table.js +1 -1
  180. package/dist/features/theme-tweaker.js +19 -19
  181. package/dist/features/theme-tweaker.js.map +1 -1
  182. package/dist/{feedback-BYIhtitP.js → feedback-DZNL5Lg1.js} +9 -9
  183. package/dist/{feedback-BYIhtitP.js.map → feedback-DZNL5Lg1.js.map} +1 -1
  184. package/dist/{field-affordance-recipes-DZhnIL_Y.js → field-affordance-recipes-DjwGx8eM.js} +2 -2
  185. package/dist/{field-affordance-recipes-DZhnIL_Y.js.map → field-affordance-recipes-DjwGx8eM.js.map} +1 -1
  186. package/dist/{filters-DJVAveHA.js → filters-BcT-uoFy.js} +19 -19
  187. package/dist/{filters-DJVAveHA.js.map → filters-BcT-uoFy.js.map} +1 -1
  188. package/dist/{form-field-CwH9y77i.js → form-field-CsgRmdit.js} +14 -8
  189. package/dist/form-field-CsgRmdit.js.map +1 -0
  190. package/dist/{form-sizing-BdP_Mf5p.js → form-sizing-NXgjkmBG.js} +3 -3
  191. package/dist/{form-sizing-BdP_Mf5p.js.map → form-sizing-NXgjkmBG.js.map} +1 -1
  192. package/dist/{forms-B9G_xwzi.js → forms-BV5m5aQF.js} +83 -65
  193. package/dist/forms-BV5m5aQF.js.map +1 -0
  194. package/dist/{forms-numeric-B_jraJaQ.js → forms-numeric-Cd33AKbD.js} +288 -288
  195. package/dist/forms-numeric-Cd33AKbD.js.map +1 -0
  196. package/dist/{header-BSfIEWbI.js → header-BA697l4a.js} +14 -14
  197. package/dist/{header-BSfIEWbI.js.map → header-BA697l4a.js.map} +1 -1
  198. package/dist/hooks/useFormErrors.d.ts +1 -1
  199. package/dist/{hooks-ClH9thn4.js → hooks-BQ-L7Uu2.js} +2 -2
  200. package/dist/{hooks-ClH9thn4.js.map → hooks-BQ-L7Uu2.js.map} +1 -1
  201. package/dist/{icon-badge-DYKIwvOV.js → icon-badge-COWbCCWu.js} +3 -3
  202. package/dist/{icon-badge-DYKIwvOV.js.map → icon-badge-COWbCCWu.js.map} +1 -1
  203. package/dist/index.js +2 -2
  204. package/dist/input-Cdw4k0fb.js +289 -0
  205. package/dist/input-Cdw4k0fb.js.map +1 -0
  206. package/dist/{input-CZw8iU99.js → input-DOPL5_QE.js} +3 -3
  207. package/dist/{input-CZw8iU99.js.map → input-DOPL5_QE.js.map} +1 -1
  208. package/dist/item-BvZ2DR_x.js +277 -0
  209. package/dist/item-BvZ2DR_x.js.map +1 -0
  210. package/dist/layout/app-shell.js +1 -1
  211. package/dist/layout/auth.js +1 -1
  212. package/dist/layout/containers.js +1 -1
  213. package/dist/layout/header.js +1 -1
  214. package/dist/layout/hooks.js +1 -1
  215. package/dist/layout/navigation.js +1 -1
  216. package/dist/layout/page.js +1 -1
  217. package/dist/layout/settings.js +1 -1
  218. package/dist/layout/sidebar.js +2 -2
  219. package/dist/layout/workspace.js +1 -1
  220. package/dist/layout.js +10 -10
  221. package/dist/lib/affordance-geometry.generated.d.ts +6 -0
  222. package/dist/lib/ui-provider/types.d.ts +1 -1
  223. package/dist/lib/utils.js +1 -1
  224. package/dist/{media-gallery-3zIVLMWH.js → media-gallery-CSl5W1Fy.js} +6 -6
  225. package/dist/{media-gallery-3zIVLMWH.js.map → media-gallery-CSl5W1Fy.js.map} +1 -1
  226. package/dist/{mentions-CGlEJ15c.js → mentions-RKOQaaIB.js} +8 -8
  227. package/dist/{mentions-CGlEJ15c.js.map → mentions-RKOQaaIB.js.map} +1 -1
  228. package/dist/{message-DZ_ruyUV.js → message-INU2xsxu.js} +4 -4
  229. package/dist/{message-DZ_ruyUV.js.map → message-INU2xsxu.js.map} +1 -1
  230. package/dist/metadata-list-qVV7AVxa.js +443 -0
  231. package/dist/metadata-list-qVV7AVxa.js.map +1 -0
  232. package/dist/{navigation-BzhHI3lo.js → navigation-BQNcg1jT.js} +8 -8
  233. package/dist/{navigation-BzhHI3lo.js.map → navigation-BQNcg1jT.js.map} +1 -1
  234. package/dist/{navigation-Bnotn4AQ.js → navigation-DLF3E1IC.js} +7 -7
  235. package/dist/{navigation-Bnotn4AQ.js.map → navigation-DLF3E1IC.js.map} +1 -1
  236. package/dist/{navigation-row-recipes-BFLCk_Aq.js → navigation-row-recipes-WZEs-hYo.js} +2 -2
  237. package/dist/{navigation-row-recipes-BFLCk_Aq.js.map → navigation-row-recipes-WZEs-hYo.js.map} +1 -1
  238. package/dist/{number-DbV1Dija.js → number-E_OiIfJz.js} +5 -5
  239. package/dist/{number-DbV1Dija.js.map → number-E_OiIfJz.js.map} +1 -1
  240. package/dist/{overflow-tab-bar-CWY7Nogn.js → overflow-tab-bar-CrbqMteP.js} +107 -105
  241. package/dist/overflow-tab-bar-CrbqMteP.js.map +1 -0
  242. package/dist/{overlays-tMkF-VAN.js → overlays-BlKynmde.js} +228 -227
  243. package/dist/overlays-BlKynmde.js.map +1 -0
  244. package/dist/page-CIwNUtGr.js +227 -0
  245. package/dist/page-CIwNUtGr.js.map +1 -0
  246. package/dist/page-header-commands-DFMlNYzN.js +128 -0
  247. package/dist/page-header-commands-DFMlNYzN.js.map +1 -0
  248. package/dist/{pagination-BL25hu2s.js → pagination-Ch8X_47u.js} +5 -5
  249. package/dist/{pagination-BL25hu2s.js.map → pagination-Ch8X_47u.js.map} +1 -1
  250. package/dist/{popover-menu-Cn9rUkdc.js → popover-menu-BYaCdFhf.js} +6 -6
  251. package/dist/{popover-menu-Cn9rUkdc.js.map → popover-menu-BYaCdFhf.js.map} +1 -1
  252. package/dist/{popover-gnTOhbFM.js → popover-uwzX2vo7.js} +4 -4
  253. package/dist/{popover-gnTOhbFM.js.map → popover-uwzX2vo7.js.map} +1 -1
  254. package/dist/{primitives-BFK08r9M.js → primitives-Du64iDbb.js} +6 -6
  255. package/dist/{primitives-BFK08r9M.js.map → primitives-Du64iDbb.js.map} +1 -1
  256. package/dist/primitives.js +4 -4
  257. package/dist/{progress-B1VnCT0K.js → progress-BvF2oCdV.js} +5 -5
  258. package/dist/{progress-B1VnCT0K.js.map → progress-BvF2oCdV.js.map} +1 -1
  259. package/dist/{receipt-BVSOH3Xo.js → receipt-D789Jwyy.js} +6 -6
  260. package/dist/{receipt-BVSOH3Xo.js.map → receipt-D789Jwyy.js.map} +1 -1
  261. package/dist/{rich-text-GOUyKQ-s.js → rich-text-CLJEf76s.js} +4 -4
  262. package/dist/{rich-text-GOUyKQ-s.js.map → rich-text-CLJEf76s.js.map} +1 -1
  263. package/dist/{rich-text-editor-cRLC-eBK.js → rich-text-editor-Cm1dpUpQ.js} +10 -10
  264. package/dist/{rich-text-editor-cRLC-eBK.js.map → rich-text-editor-Cm1dpUpQ.js.map} +1 -1
  265. package/dist/{rich-text-editor-toolbar-DfXg0-VC.js → rich-text-editor-toolbar-L__e4x47.js} +4 -4
  266. package/dist/{rich-text-editor-toolbar-DfXg0-VC.js.map → rich-text-editor-toolbar-L__e4x47.js.map} +1 -1
  267. package/dist/{scroll-area-DcI-M1UT.js → scroll-area-La5RXsEk.js} +2 -2
  268. package/dist/{scroll-area-DcI-M1UT.js.map → scroll-area-La5RXsEk.js.map} +1 -1
  269. package/dist/{separator-Bom7NsGO.js → separator-DAEV0w65.js} +2 -2
  270. package/dist/{separator-Bom7NsGO.js.map → separator-DAEV0w65.js.map} +1 -1
  271. package/dist/{separator-BDV-Y648.js → separator-GNfPG-90.js} +3 -3
  272. package/dist/{separator-BDV-Y648.js.map → separator-GNfPG-90.js.map} +1 -1
  273. package/dist/services/actions.js +1 -1
  274. package/dist/settings-BA2iboic.js +174 -0
  275. package/dist/settings-BA2iboic.js.map +1 -0
  276. package/dist/{sheet-ijlsjq-n.js → sheet-DoAxTb2J.js} +7 -7
  277. package/dist/{sheet-ijlsjq-n.js.map → sheet-DoAxTb2J.js.map} +1 -1
  278. package/dist/{sidebar-DkTO4VTO.js → sidebar-ByqKR_W5.js} +13 -13
  279. package/dist/{sidebar-DkTO4VTO.js.map → sidebar-ByqKR_W5.js.map} +1 -1
  280. package/dist/{sidebar-Db6gkh3U.js → sidebar-D2iSnGJ7.js} +11 -11
  281. package/dist/{sidebar-Db6gkh3U.js.map → sidebar-D2iSnGJ7.js.map} +1 -1
  282. package/dist/{skeleton-Byjnt7qr.js → skeleton-CUj8O5Bd.js} +3 -3
  283. package/dist/{skeleton-Byjnt7qr.js.map → skeleton-CUj8O5Bd.js.map} +1 -1
  284. package/dist/smart-card-CqkzQsK-.js +614 -0
  285. package/dist/smart-card-CqkzQsK-.js.map +1 -0
  286. package/dist/{structure-BmisBK-3.js → structure-C0V0_Fyf.js} +3 -3
  287. package/dist/{structure-BmisBK-3.js.map → structure-C0V0_Fyf.js.map} +1 -1
  288. package/dist/{structure.recipes-EPz60cU8.js → structure.recipes-BB4-n58V.js} +2 -2
  289. package/dist/{structure.recipes-EPz60cU8.js.map → structure.recipes-BB4-n58V.js.map} +1 -1
  290. package/dist/style.css +1 -1
  291. package/dist/{table-DsfzoUia.js → table-CpvnzJn9.js} +3 -3
  292. package/dist/{table-DsfzoUia.js.map → table-CpvnzJn9.js.map} +1 -1
  293. package/dist/{table-BweFy_P9.js → table-DH7rozUv.js} +19 -19
  294. package/dist/{table-BweFy_P9.js.map → table-DH7rozUv.js.map} +1 -1
  295. package/dist/{tabs-CDocW5D1.js → tabs-eqVsJZWO.js} +7 -7
  296. package/dist/{tabs-CDocW5D1.js.map → tabs-eqVsJZWO.js.map} +1 -1
  297. package/dist/{text-inputs-f9Ia-aCi.js → text-inputs-DXItiR0O.js} +101 -98
  298. package/dist/text-inputs-DXItiR0O.js.map +1 -0
  299. package/dist/{text.styles-g4He6UIW.js → text.styles-B64My8RZ.js} +25 -10
  300. package/dist/text.styles-B64My8RZ.js.map +1 -0
  301. package/dist/theme.css +152 -112
  302. package/dist/{timelines-CwM_9IhD.js → timelines-DmtztAY_.js} +10 -10
  303. package/dist/{timelines-CwM_9IhD.js.map → timelines-DmtztAY_.js.map} +1 -1
  304. package/dist/{tooltip-yiRJUFjp.js → tooltip-B4hjKtoV.js} +3 -3
  305. package/dist/{tooltip-yiRJUFjp.js.map → tooltip-B4hjKtoV.js.map} +1 -1
  306. package/dist/{tree-WnKQzwbq.js → tree-CV11PURP.js} +8 -8
  307. package/dist/{tree-WnKQzwbq.js.map → tree-CV11PURP.js.map} +1 -1
  308. package/dist/typography/rich-text.js +1 -1
  309. package/dist/typography-CSyJrh28.js +117 -0
  310. package/dist/typography-CSyJrh28.js.map +1 -0
  311. package/dist/typography.js +1 -1
  312. package/dist/{ui-provider-C_U0Xma4.js → ui-provider-CQCuCBcy.js} +3 -3
  313. package/dist/ui-provider-CQCuCBcy.js.map +1 -0
  314. package/dist/ui-provider.js +1 -1
  315. package/dist/{upload-CXyxmQBP.js → upload-C9SA0X-8.js} +11 -11
  316. package/dist/{upload-CXyxmQBP.js.map → upload-C9SA0X-8.js.map} +1 -1
  317. package/dist/{upload-queue-Boscubn9.js → upload-queue-DhQJiSRc.js} +9 -9
  318. package/dist/{upload-queue-Boscubn9.js.map → upload-queue-DhQJiSRc.js.map} +1 -1
  319. package/dist/{usage-card-BhO5eqkX.js → usage-card-DVTRDmGz.js} +134 -133
  320. package/dist/usage-card-DVTRDmGz.js.map +1 -0
  321. package/dist/{utils-BRhFDwuU.js → utils-CF3c95Io.js} +68 -5
  322. package/dist/utils-CF3c95Io.js.map +1 -0
  323. package/dist/value-inputs-C0o70p-U.js +980 -0
  324. package/dist/value-inputs-C0o70p-U.js.map +1 -0
  325. package/dist/{value-typography-BP8OG6h5.js → value-typography-ClupF0Gz.js} +2 -2
  326. package/dist/{value-typography-BP8OG6h5.js.map → value-typography-ClupF0Gz.js.map} +1 -1
  327. package/dist/workspace-9EFVXUyk.js +410 -0
  328. package/dist/workspace-9EFVXUyk.js.map +1 -0
  329. package/docs/consumer-skill/SKILL.md +14 -129
  330. package/docs/consumer-skill/examples/app-layout.tsx +22 -12
  331. package/docs/consumer-skill/examples/authentication.tsx +77 -0
  332. package/docs/consumer-skill/examples/edit.tsx +30 -38
  333. package/docs/consumer-skill/examples/manifest.json +51 -1
  334. package/docs/consumer-skill/examples/rhf-bindings.tsx +86 -0
  335. package/docs/consumer-skill/examples/rhf-edit-page.tsx +141 -0
  336. package/docs/consumer-skill/examples/rhf-overlay-form.tsx +92 -0
  337. package/docs/consumer-skill/examples/rhf-transport.tsx +28 -0
  338. package/docs/consumer-skill/references/agents-md.md +17 -7
  339. package/docs/consumer-skill/references/authentication.md +42 -0
  340. package/docs/consumer-skill/references/component-contracts.json +319824 -0
  341. package/docs/consumer-skill/references/composition-mapping.md +92 -0
  342. package/docs/consumer-skill/references/composition.md +43 -19
  343. package/docs/consumer-skill/references/design-contract.md +32 -0
  344. package/docs/consumer-skill/references/discovery.md +84 -7
  345. package/docs/consumer-skill/references/installation.md +40 -36
  346. package/docs/consumer-skill/references/integration.md +6 -2
  347. package/docs/consumer-skill/references/public-api.json +1519 -65
  348. package/docs/consumer-skill/references/review.md +9 -4
  349. package/docs/consumer-skill/references/rhf-workflows.md +86 -0
  350. package/docs/consumer-skill/references/screen-archetypes.md +22 -0
  351. package/docs/consumer-skill/references/theming.md +8 -9
  352. package/docs/consumer-skill/references/tokens.json +12 -3
  353. package/docs/consumer-skill/references/workflows.md +2 -1
  354. package/docs/consumer-skill/scripts/composition-schema.d.mts +2 -0
  355. package/docs/consumer-skill/scripts/composition-schema.mjs +32 -0
  356. package/docs/consumer-skill/scripts/composition.mjs +198 -0
  357. package/docs/consumer-skill/scripts/discovery.mjs +42 -10
  358. package/docs/consumer-skill/scripts/inspect-component.mjs +11 -0
  359. package/docs/consumer-skill/scripts/inspect-tokens.mjs +11 -0
  360. package/docs/consumer-skill/scripts/inspection.mjs +138 -0
  361. package/docs/consumer-skill/scripts/map-composition.mjs +12 -0
  362. package/docs/consumer-skill/scripts/setup-skills.mjs +76 -0
  363. package/docs/consumer-skills/themelia-components/SKILL.md +30 -0
  364. package/docs/consumer-skills/themelia-composition/SKILL.md +35 -0
  365. package/docs/consumer-skills/themelia-forms/SKILL.md +12 -0
  366. package/docs/consumer-skills/themelia-foundation/SKILL.md +14 -0
  367. package/docs/consumer-skills/themelia-tokenization/SKILL.md +35 -0
  368. package/package.json +4 -2
  369. package/templates/README.md +39 -0
  370. package/templates/admin-shell-template.tsx +382 -0
  371. package/templates/analytics-operations-template.tsx +376 -0
  372. package/templates/customers-template.tsx +509 -0
  373. package/templates/index.ts +29 -0
  374. package/templates/orders-template.tsx +1102 -0
  375. package/templates/products-template.tsx +834 -0
  376. package/templates/user-permissions-template.tsx +450 -0
  377. package/dist/action-menu-CllU52Mm.js +0 -280
  378. package/dist/action-menu-CllU52Mm.js.map +0 -1
  379. package/dist/affordance-geometry.generated-tF36bREk.js.map +0 -1
  380. package/dist/ai-artifact-DvTwDVyL.js.map +0 -1
  381. package/dist/app-shell-C4FhvCqF.js.map +0 -1
  382. package/dist/cards-BaBZR-AU.js.map +0 -1
  383. package/dist/checkbox-AWIhNhmo.js.map +0 -1
  384. package/dist/choice-inputs-CNHvARCJ.js.map +0 -1
  385. package/dist/comments-DD0DUPwJ.js.map +0 -1
  386. package/dist/containers-Mu1LMGV1.js +0 -103
  387. package/dist/containers-Mu1LMGV1.js.map +0 -1
  388. package/dist/data-display-DT_khPl_.js.map +0 -1
  389. package/dist/date-picker-B2K3ucWn.js.map +0 -1
  390. package/dist/date-pickers-Ds8gLaoP.js +0 -175
  391. package/dist/date-pickers-Ds8gLaoP.js.map +0 -1
  392. package/dist/form-field-CwH9y77i.js.map +0 -1
  393. package/dist/forms-B9G_xwzi.js.map +0 -1
  394. package/dist/forms-numeric-B_jraJaQ.js.map +0 -1
  395. package/dist/input-DQdEd0YD.js +0 -263
  396. package/dist/input-DQdEd0YD.js.map +0 -1
  397. package/dist/item-K5_ghvze.js +0 -275
  398. package/dist/item-K5_ghvze.js.map +0 -1
  399. package/dist/metadata-list-8N16ZMW_.js +0 -405
  400. package/dist/metadata-list-8N16ZMW_.js.map +0 -1
  401. package/dist/overflow-tab-bar-CWY7Nogn.js.map +0 -1
  402. package/dist/overlays-tMkF-VAN.js.map +0 -1
  403. package/dist/page-CL9YeH_V.js +0 -224
  404. package/dist/page-CL9YeH_V.js.map +0 -1
  405. package/dist/page-header-commands-DOb6WsfD.js +0 -126
  406. package/dist/page-header-commands-DOb6WsfD.js.map +0 -1
  407. package/dist/settings-ybnjVwbd.js +0 -171
  408. package/dist/settings-ybnjVwbd.js.map +0 -1
  409. package/dist/smart-card-DiC5aac3.js +0 -604
  410. package/dist/smart-card-DiC5aac3.js.map +0 -1
  411. package/dist/text-inputs-f9Ia-aCi.js.map +0 -1
  412. package/dist/text.styles-g4He6UIW.js.map +0 -1
  413. package/dist/typography-UTnveOEy.js +0 -117
  414. package/dist/typography-UTnveOEy.js.map +0 -1
  415. package/dist/ui-provider-C_U0Xma4.js.map +0 -1
  416. package/dist/usage-card-BhO5eqkX.js.map +0 -1
  417. package/dist/utils-BRhFDwuU.js.map +0 -1
  418. package/dist/value-inputs-TaX4OjNk.js +0 -963
  419. package/dist/value-inputs-TaX4OjNk.js.map +0 -1
  420. package/dist/workspace-B-OEm3Kf.js +0 -408
  421. package/dist/workspace-B-OEm3Kf.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"avatar-DAPlDvhJ.js","names":["Avatar","AvatarPrimitive","AvatarImage","AvatarFallback","AvatarBadge","AvatarGroup","AvatarGroupCount","Avatar","React","PrimitiveAvatar","PrimitiveAvatarImage","PrimitiveAvatarFallback","PrimitiveAvatarBadge","PrimitiveAvatarGroup","PrimitiveAvatarGroupCount","Avatar","useDensityConfig","resolveComponentScale","cn","affordanceGeometry","Text","toneRecipes","formatInitials","React$1","Avatar$2","props","Avatar","size","className","AvatarImage$1","AvatarFallback$1","AvatarBadge$1","AvatarGroup$1","AvatarGroupCount$1","AVATAR_SIZE_CLASSNAMES","getPrimitiveSize","Avatar$1","sizeProp","defaultScale","AvatarImage","AvatarFallback","children","AvatarBadge","AvatarGroup","AvatarGroupCount","FALLBACK_TONES","FALLBACK_TONE_CLASSNAMES","pickFallbackTone","override","StackedAvatars","visible","users","max","overflow","overflowContent","overflowFormatter","initials","user","fallbackTone","avatarClassName","index","showOverflow"],"sources":["../src/components/ui/avatar.tsx","../src/components/base/avatar/avatar.tsx","../src/components/base/avatar/stacked-avatars.tsx"],"sourcesContent":["import { Avatar as AvatarPrimitive } from \"@base-ui/react/avatar\"\nimport * as React from \"react\"\n\nimport { cn } from \"../../lib/utils\"\n\nfunction Avatar({\n className,\n size = \"default\",\n ...props\n}: AvatarPrimitive.Root.Props & {\n size?: \"default\" | \"sm\" | \"lg\"\n}) {\n return (\n <AvatarPrimitive.Root\n data-slot=\"avatar\"\n data-size={size}\n className={cn(\n \"size-8 rounded-full after:rounded-full data-[size=lg]:size-10 data-[size=sm]:size-6 after:border-border group/avatar relative flex shrink-0 select-none after:absolute after:inset-0 after:border after:mix-blend-darken dark:after:mix-blend-lighten\",\n className\n )}\n {...props}\n />\n )\n}\n\nfunction AvatarImage({ className, ...props }: AvatarPrimitive.Image.Props) {\n return (\n <AvatarPrimitive.Image\n data-slot=\"avatar-image\"\n className={cn(\n \"rounded-full aspect-square size-full object-cover\",\n className\n )}\n {...props}\n />\n )\n}\n\nfunction AvatarFallback({\n className,\n ...props\n}: AvatarPrimitive.Fallback.Props) {\n return (\n <AvatarPrimitive.Fallback\n data-slot=\"avatar-fallback\"\n className={cn(\n \"bg-muted text-muted-foreground rounded-full flex size-full items-center justify-center text-sm group-data-[size=sm]/avatar:text-xs\",\n className\n )}\n {...props}\n />\n )\n}\n\nfunction AvatarBadge({ className, ...props }: React.ComponentProps<\"span\">) {\n return (\n <span\n data-slot=\"avatar-badge\"\n className={cn(\n \"bg-primary text-primary-foreground ring-background absolute end-0 bottom-0 z-10 inline-flex items-center justify-center rounded-full bg-blend-color ring-2 select-none\",\n \"group-data-[size=sm]/avatar:size-2 group-data-[size=sm]/avatar:[&>svg]:hidden\",\n \"group-data-[size=default]/avatar:size-2.5 group-data-[size=default]/avatar:[&>svg]:size-2\",\n \"group-data-[size=lg]/avatar:size-3 group-data-[size=lg]/avatar:[&>svg]:size-2\",\n className\n )}\n {...props}\n />\n )\n}\n\nfunction AvatarGroup({ className, ...props }: React.ComponentProps<\"div\">) {\n return (\n <div\n data-slot=\"avatar-group\"\n className={cn(\n \"*:data-[slot=avatar]:ring-background group/avatar-group flex -space-x-2 *:data-[slot=avatar]:ring-2\",\n className\n )}\n {...props}\n />\n )\n}\n\nfunction AvatarGroupCount({\n className,\n ...props\n}: React.ComponentProps<\"div\">) {\n return (\n <div\n data-slot=\"avatar-group-count\"\n className={cn(\"bg-muted text-muted-foreground size-8 rounded-full text-sm group-has-data-[size=lg]/avatar-group:size-10 group-has-data-[size=sm]/avatar-group:size-6 [&>svg]:size-icon group-has-data-[size=lg]/avatar-group:[&>svg]:size-icon-lg group-has-data-[size=sm]/avatar-group:[&>svg]:size-icon-sm ring-background relative flex shrink-0 items-center justify-center ring-2\", className)}\n {...props}\n />\n )\n}\n\nexport {\n Avatar,\n AvatarImage,\n AvatarFallback,\n AvatarGroup,\n AvatarGroupCount,\n AvatarBadge,\n}\n","/**\n * Avatar — tokenized base wrapper around the shadcn/Base UI avatar primitive.\n * Public sizing uses the shared component scale.\n */\nimport * as React from 'react';\n\nimport {\n\tAvatar as PrimitiveAvatar,\n\tAvatarBadge as PrimitiveAvatarBadge,\n\tAvatarFallback as PrimitiveAvatarFallback,\n\tAvatarGroup as PrimitiveAvatarGroup,\n\tAvatarGroupCount as PrimitiveAvatarGroupCount,\n\tAvatarImage as PrimitiveAvatarImage,\n} from '../../ui/avatar';\nimport { useDensityConfig, type ComponentScale } from '../../../lib/ui-provider';\nimport { resolveComponentScale } from '../../../lib/ui-provider/scale';\nimport { Text } from '../../typography';\nimport { cn } from '../../../lib/utils';\nimport { affordanceGeometry } from '../../../lib/affordance-geometry.generated';\n\nexport type AvatarSize = ComponentScale;\n\nexport interface AvatarProps\n\textends Omit<React.ComponentPropsWithoutRef<typeof PrimitiveAvatar>, 'size'> {\n\t/** Size preset. */\n\tsize?: AvatarSize;\n}\n\nexport type AvatarImageProps = React.ComponentPropsWithoutRef<typeof PrimitiveAvatarImage>;\nexport type AvatarFallbackProps = React.ComponentPropsWithoutRef<typeof PrimitiveAvatarFallback>;\nexport type AvatarBadgeProps = React.ComponentPropsWithoutRef<typeof PrimitiveAvatarBadge>;\nexport type AvatarGroupProps = React.ComponentPropsWithoutRef<typeof PrimitiveAvatarGroup>;\nexport type AvatarGroupCountProps = React.ComponentPropsWithoutRef<typeof PrimitiveAvatarGroupCount>;\n\nconst AVATAR_SIZE_CLASSNAMES: Record<AvatarSize, string> = {\n\tsm: 'size-avatar-sm data-[size=sm]:size-avatar-sm',\n\tmd: 'size-avatar',\n\tlg: 'size-avatar-lg data-[size=lg]:size-avatar-lg',\n};\n\nfunction getPrimitiveSize(size: AvatarSize): NonNullable<React.ComponentPropsWithoutRef<typeof PrimitiveAvatar>['size']> {\n\tif (size === 'sm') return 'sm';\n\tif (size === 'lg') return 'lg';\n\treturn 'default';\n}\n\nconst Avatar = React.forwardRef<React.ElementRef<typeof PrimitiveAvatar>, AvatarProps>(\n\t({ size: sizeProp, className, ...props }, ref) => {\n\t\tconst { defaultScale } = useDensityConfig();\n\t\tconst size = resolveComponentScale(sizeProp, defaultScale);\n\t\treturn (\n\t\t\t<PrimitiveAvatar\n\t\t\t\tref={ref}\n\t\t\t\tsize={getPrimitiveSize(size)}\n\t\t\t\tdata-scale={size}\n\t\t\t\tclassName={cn('avatar--component', AVATAR_SIZE_CLASSNAMES[size], className)}\n\t\t\t\t{...props}\n\t\t\t/>\n\t\t);\n\t},\n);\nAvatar.displayName = 'Avatar';\n\nconst AvatarImage = React.forwardRef<React.ElementRef<typeof PrimitiveAvatarImage>, AvatarImageProps>(\n\t({ className, ...props }, ref) => (\n\t\t<PrimitiveAvatarImage\n\t\t\tref={ref}\n\t\t\tclassName={cn('avatar--image', className)}\n\t\t\t{...props}\n\t\t/>\n\t),\n);\nAvatarImage.displayName = 'AvatarImage';\n\nconst AvatarFallback = React.forwardRef<React.ElementRef<typeof PrimitiveAvatarFallback>, AvatarFallbackProps>(\n\t({ className, children, ...props }, ref) => (\n\t\t<PrimitiveAvatarFallback\n\t\t\tref={ref}\n\t\t\tclassName={cn('avatar--fallback text-xs font-medium leading-none', className)}\n\t\t\t{...props}\n\t\t>\n\t\t\t{typeof children === 'string' || typeof children === 'number' || typeof children === 'bigint' ? (\n\t\t\t\t<Text tag=\"span\" size=\"inherit\" weight=\"medium\" lineHeight=\"none\" className=\"text-inherit\">\n\t\t\t\t\t{children}\n\t\t\t\t</Text>\n\t\t\t) : children}\n\t\t</PrimitiveAvatarFallback>\n\t),\n);\nAvatarFallback.displayName = 'AvatarFallback';\n\nconst AvatarBadge = React.forwardRef<React.ElementRef<typeof PrimitiveAvatarBadge>, AvatarBadgeProps>(\n\t({ className, ...props }, ref) => (\n\t\t<PrimitiveAvatarBadge\n\t\t\tref={ref}\n\t\t\tclassName={cn('avatar--badge', className)}\n\t\t\t{...props}\n\t\t/>\n\t),\n);\nAvatarBadge.displayName = 'AvatarBadge';\n\nconst AvatarGroup = React.forwardRef<React.ElementRef<typeof PrimitiveAvatarGroup>, AvatarGroupProps>(\n\t({ className, ...props }, ref) => (\n\t\t<PrimitiveAvatarGroup\n\t\t\tref={ref}\n\t\t\tclassName={cn('avatar-group--component isolate items-center', affordanceGeometry.avatarOverlap.md, affordanceGeometry.avatarOverlap.sm, affordanceGeometry.avatarOverlap.lg, className)}\n\t\t\t{...props}\n\t\t/>\n\t),\n);\nAvatarGroup.displayName = 'AvatarGroup';\n\nconst AvatarGroupCount = React.forwardRef<React.ElementRef<typeof PrimitiveAvatarGroupCount>, AvatarGroupCountProps>(\n\t({ className, children, ...props }, ref) => (\n\t\t<PrimitiveAvatarGroupCount\n\t\t\tref={ref}\n\t\t\tclassName={cn(\n\t\t\t\t'avatar-group-count--component size-avatar text-xs',\n\t\t\t\t'group-has-data-[size=sm]/avatar-group:size-avatar-sm',\n\t\t\t\t'group-has-data-[size=lg]/avatar-group:size-avatar-lg',\n\t\t\t\tclassName,\n\t\t\t)}\n\t\t\t{...props}\n\t\t>\n\t\t\t{typeof children === 'string' || typeof children === 'number' || typeof children === 'bigint' ? (\n\t\t\t\t<Text tag=\"span\" size=\"inherit\" weight=\"medium\" lineHeight=\"none\" className=\"text-inherit\">\n\t\t\t\t\t{children}\n\t\t\t\t</Text>\n\t\t\t) : children}\n\t\t</PrimitiveAvatarGroupCount>\n\t),\n);\nAvatarGroupCount.displayName = 'AvatarGroupCount';\n\nexport {\n\tAvatar,\n\tAvatarImage,\n\tAvatarFallback,\n\tAvatarGroup,\n\tAvatarGroupCount,\n\tAvatarBadge,\n};\n","/**\n * StackedAvatars — overlapping avatar group with optional `+N` overflow chip,\n * configurable size, and an optional semantic `tone` for fallbacks (initials)\n * when the consumer hasn't passed `imageUrl`.\n *\n * Fallbacks are neutral by default: colour states meaning, so a person's\n * initials are not tinted by a hash of their name. Pass `tone` per user when a\n * fallback does carry meaning; numeric tones map onto the semantic token set.\n */\nimport * as React from 'react';\nimport {\n\tAvatar,\n\tAvatarFallback,\n\tAvatarGroup,\n\tAvatarGroupCount,\n\tAvatarImage,\n} from './avatar';\nimport { formatInitials } from '../../primitives/initials-format';\nimport { Text } from '../../typography';\nimport { useDensityConfig, type ComponentScale } from '../../../lib/ui-provider';\nimport { resolveComponentScale } from '../../../lib/ui-provider/scale';\nimport { cn } from '../../../lib/utils';\nimport type { SemanticTone } from '../../../lib/component-vocabulary';\nimport { toneRecipes } from '../../../lib/tone-recipes';\n\nexport type StackedAvatarsSize = ComponentScale;\nexport type StackedAvatarTone = SemanticTone;\n\nexport interface StackedAvatarUser {\n\t/** Stable identity for this entry. */\n\tid?: string;\n\t/** The person's name; supplies the initials and the hover title. */\n\tname: string;\n\timageUrl?: string;\n\t/** Semantic tone for this user's fallback. Defaults to `neutral`. Numeric values map to the token set. */\n\ttone?: StackedAvatarTone | number;\n}\n\nexport interface StackedAvatarsProps {\n\tusers: StackedAvatarUser[];\n\tmax?: number;\n\t/** Size preset. */\n\tsize?: StackedAvatarsSize;\n\tclassName?: string;\n\t/** Whether to render a `+N` count when `users.length > max`. Default `true`. */\n\tshowOverflow?: boolean;\n\t/** Provide custom overflow text (e.g. \"+12 more\"). Default `+N`. */\n\toverflowFormatter?: (overflow: number) => React.ReactNode;\n\t/** Extra class names applied to each avatar root. */\n\tavatarClassName?: string;\n}\n\nconst FALLBACK_TONES: StackedAvatarTone[] = [\n\t'neutral',\n\t'primary',\n\t'secondary',\n\t'info',\n\t'success',\n];\n\nconst FALLBACK_TONE_CLASSNAMES: Record<StackedAvatarTone, string> = {\n\tneutral: 'bg-muted text-muted-foreground',\n\tprimary: `${toneRecipes.primary.tint} ${toneRecipes.primary.ink}`,\n\tsecondary: 'bg-secondary text-secondary-foreground',\n\tinfo: `${toneRecipes.info.tint} ${toneRecipes.info.ink}`,\n\tsuccess: `${toneRecipes.success.tint} ${toneRecipes.success.ink}`,\n\twarning: `${toneRecipes.warning.tint} ${toneRecipes.warning.ink}`,\n\tdestructive: `${toneRecipes.destructive.tint} ${toneRecipes.destructive.ink}`,\n};\n\nfunction pickFallbackTone(override?: StackedAvatarTone | number): StackedAvatarTone {\n\tif (typeof override === 'string') {\n\t\treturn override;\n\t}\n\tif (typeof override === 'number') {\n\t\treturn FALLBACK_TONES[Math.abs(override) % FALLBACK_TONES.length];\n\t}\n\treturn 'neutral';\n}\n\nexport function StackedAvatars({\n\tusers,\n\tmax = 4,\n\tsize: sizeProp,\n\tclassName,\n\tshowOverflow = true,\n\toverflowFormatter,\n\tavatarClassName,\n}: StackedAvatarsProps) {\n\tconst { defaultScale } = useDensityConfig();\n\tconst size = resolveComponentScale(sizeProp, defaultScale);\n\tconst visible = users.slice(0, max);\n\tconst overflow = Math.max(0, users.length - max);\n\tconst overflowContent = overflowFormatter ? overflowFormatter(overflow) : `+${overflow}`;\n\n\treturn (\n\t\t<AvatarGroup className={cn('stacked-avatars--component', className)}>\n\t\t\t{visible.map((user, index) => {\n\t\t\t\tconst initials = formatInitials(user.name, {\n\t\t\t\t\tmaxCharacters: size === 'sm' ? 1 : 2,\n\t\t\t\t\tfallback: '?',\n\t\t\t\t});\n\t\t\t\tconst fallbackTone = pickFallbackTone(user.tone);\n\t\t\t\treturn (\n\t\t\t\t\t<Avatar\n\t\t\t\t\t\tkey={user.id ?? `${user.name}-${index}`}\n\t\t\t\t\t\tsize={size}\n\t\t\t\t\t\tclassName={cn('ring-background', avatarClassName)}\n\t\t\t\t\t\ttitle={user.name}\n\t\t\t\t\t>\n\t\t\t\t\t\t{user.imageUrl ? (\n\t\t\t\t\t\t\t<AvatarImage src={user.imageUrl} alt={user.name} />\n\t\t\t\t\t\t) : null}\n\t\t\t\t\t\t<AvatarFallback className={FALLBACK_TONE_CLASSNAMES[fallbackTone]}>\n\t\t\t\t\t\t\t{initials}\n\t\t\t\t\t\t</AvatarFallback>\n\t\t\t\t\t</Avatar>\n\t\t\t\t);\n\t\t\t})}\n\t\t\t{!!showOverflow && overflow > 0 && (\n\t\t\t\t<AvatarGroupCount data-scale={size} data-size={size === 'md' ? 'default' : size}>\n\t\t\t\t\t{typeof overflowContent === 'string' || typeof overflowContent === 'number' || typeof overflowContent === 'bigint' ? (\n\t\t\t\t\t\t<Text tag=\"span\" size=\"inherit\" weight=\"medium\" lineHeight=\"none\" className=\"text-inherit\">\n\t\t\t\t\t\t\t{overflowContent}\n\t\t\t\t\t\t</Text>\n\t\t\t\t\t) : overflowContent}\n\t\t\t\t</AvatarGroupCount>\n\t\t\t)}\n\t\t</AvatarGroup>\n\t);\n}\n\nStackedAvatars.displayName = 'StackedAvatars';\n"],"mappings":"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"}
1
+ {"version":3,"file":"avatar-DWO_HHhB.js","names":["Avatar","AvatarPrimitive","AvatarImage","AvatarFallback","AvatarBadge","AvatarGroup","AvatarGroupCount","Avatar","React","PrimitiveAvatar","PrimitiveAvatarImage","PrimitiveAvatarFallback","PrimitiveAvatarBadge","PrimitiveAvatarGroup","PrimitiveAvatarGroupCount","Avatar","useDensityConfig","resolveComponentScale","cn","affordanceGeometry","Text","toneRecipes","formatInitials","React$1","Avatar$2","props","Avatar","size","className","AvatarImage$1","AvatarFallback$1","AvatarBadge$1","AvatarGroup$1","AvatarGroupCount$1","AVATAR_SIZE_CLASSNAMES","getPrimitiveSize","Avatar$1","sizeProp","defaultScale","AvatarImage","AvatarFallback","children","AvatarBadge","AvatarGroup","AvatarGroupCount","FALLBACK_TONES","FALLBACK_TONE_CLASSNAMES","pickFallbackTone","override","StackedAvatars","visible","users","max","overflow","overflowContent","overflowFormatter","initials","user","fallbackTone","avatarClassName","index","showOverflow"],"sources":["../src/components/ui/avatar.tsx","../src/components/base/avatar/avatar.tsx","../src/components/base/avatar/stacked-avatars.tsx"],"sourcesContent":["import { Avatar as AvatarPrimitive } from \"@base-ui/react/avatar\"\nimport * as React from \"react\"\n\nimport { cn } from \"../../lib/utils\"\n\nfunction Avatar({\n className,\n size = \"default\",\n ...props\n}: AvatarPrimitive.Root.Props & {\n size?: \"default\" | \"sm\" | \"lg\"\n}) {\n return (\n <AvatarPrimitive.Root\n data-slot=\"avatar\"\n data-size={size}\n className={cn(\n \"size-8 rounded-full after:rounded-full data-[size=lg]:size-10 data-[size=sm]:size-6 after:border-border group/avatar relative flex shrink-0 select-none after:absolute after:inset-0 after:border after:mix-blend-darken dark:after:mix-blend-lighten\",\n className\n )}\n {...props}\n />\n )\n}\n\nfunction AvatarImage({ className, ...props }: AvatarPrimitive.Image.Props) {\n return (\n <AvatarPrimitive.Image\n data-slot=\"avatar-image\"\n className={cn(\n \"rounded-full aspect-square size-full object-cover\",\n className\n )}\n {...props}\n />\n )\n}\n\nfunction AvatarFallback({\n className,\n ...props\n}: AvatarPrimitive.Fallback.Props) {\n return (\n <AvatarPrimitive.Fallback\n data-slot=\"avatar-fallback\"\n className={cn(\n \"bg-muted text-muted-foreground rounded-full flex size-full items-center justify-center text-sm group-data-[size=sm]/avatar:text-xs\",\n className\n )}\n {...props}\n />\n )\n}\n\nfunction AvatarBadge({ className, ...props }: React.ComponentProps<\"span\">) {\n return (\n <span\n data-slot=\"avatar-badge\"\n className={cn(\n \"bg-primary text-primary-foreground ring-background absolute end-0 bottom-0 z-10 inline-flex items-center justify-center rounded-full bg-blend-color ring-2 select-none\",\n \"group-data-[size=sm]/avatar:size-2 group-data-[size=sm]/avatar:[&>svg]:hidden\",\n \"group-data-[size=default]/avatar:size-2.5 group-data-[size=default]/avatar:[&>svg]:size-2\",\n \"group-data-[size=lg]/avatar:size-3 group-data-[size=lg]/avatar:[&>svg]:size-2\",\n className\n )}\n {...props}\n />\n )\n}\n\nfunction AvatarGroup({ className, ...props }: React.ComponentProps<\"div\">) {\n return (\n <div\n data-slot=\"avatar-group\"\n className={cn(\n \"*:data-[slot=avatar]:ring-background group/avatar-group flex -space-x-2 *:data-[slot=avatar]:ring-2\",\n className\n )}\n {...props}\n />\n )\n}\n\nfunction AvatarGroupCount({\n className,\n ...props\n}: React.ComponentProps<\"div\">) {\n return (\n <div\n data-slot=\"avatar-group-count\"\n className={cn(\"bg-muted text-muted-foreground size-8 rounded-full text-sm group-has-data-[size=lg]/avatar-group:size-10 group-has-data-[size=sm]/avatar-group:size-6 [&>svg]:size-icon group-has-data-[size=lg]/avatar-group:[&>svg]:size-icon-lg group-has-data-[size=sm]/avatar-group:[&>svg]:size-icon-sm ring-background relative flex shrink-0 items-center justify-center ring-2\", className)}\n {...props}\n />\n )\n}\n\nexport {\n Avatar,\n AvatarImage,\n AvatarFallback,\n AvatarGroup,\n AvatarGroupCount,\n AvatarBadge,\n}\n","/**\n * Avatar — tokenized base wrapper around the shadcn/Base UI avatar primitive.\n * Public sizing uses the shared component scale.\n */\nimport * as React from 'react';\n\nimport {\n\tAvatar as PrimitiveAvatar,\n\tAvatarBadge as PrimitiveAvatarBadge,\n\tAvatarFallback as PrimitiveAvatarFallback,\n\tAvatarGroup as PrimitiveAvatarGroup,\n\tAvatarGroupCount as PrimitiveAvatarGroupCount,\n\tAvatarImage as PrimitiveAvatarImage,\n} from '../../ui/avatar';\nimport { useDensityConfig, type ComponentScale } from '../../../lib/ui-provider';\nimport { resolveComponentScale } from '../../../lib/ui-provider/scale';\nimport { Text } from '../../typography';\nimport { cn } from '../../../lib/utils';\nimport { affordanceGeometry } from '../../../lib/affordance-geometry.generated';\n\nexport type AvatarSize = ComponentScale;\n\nexport interface AvatarProps\n\textends Omit<React.ComponentPropsWithoutRef<typeof PrimitiveAvatar>, 'size'> {\n\t/** Size preset. */\n\tsize?: AvatarSize;\n}\n\nexport type AvatarImageProps = React.ComponentPropsWithoutRef<typeof PrimitiveAvatarImage>;\nexport type AvatarFallbackProps = React.ComponentPropsWithoutRef<typeof PrimitiveAvatarFallback>;\nexport type AvatarBadgeProps = React.ComponentPropsWithoutRef<typeof PrimitiveAvatarBadge>;\nexport type AvatarGroupProps = React.ComponentPropsWithoutRef<typeof PrimitiveAvatarGroup>;\nexport type AvatarGroupCountProps = React.ComponentPropsWithoutRef<typeof PrimitiveAvatarGroupCount>;\n\nconst AVATAR_SIZE_CLASSNAMES: Record<AvatarSize, string> = {\n\tsm: 'size-avatar-sm data-[size=sm]:size-avatar-sm',\n\tmd: 'size-avatar',\n\tlg: 'size-avatar-lg data-[size=lg]:size-avatar-lg',\n};\n\nfunction getPrimitiveSize(size: AvatarSize): NonNullable<React.ComponentPropsWithoutRef<typeof PrimitiveAvatar>['size']> {\n\tif (size === 'sm') return 'sm';\n\tif (size === 'lg') return 'lg';\n\treturn 'default';\n}\n\nconst Avatar = React.forwardRef<React.ElementRef<typeof PrimitiveAvatar>, AvatarProps>(\n\t({ size: sizeProp, className, ...props }, ref) => {\n\t\tconst { defaultScale } = useDensityConfig();\n\t\tconst size = resolveComponentScale(sizeProp, defaultScale);\n\t\treturn (\n\t\t\t<PrimitiveAvatar\n\t\t\t\tref={ref}\n\t\t\t\tsize={getPrimitiveSize(size)}\n\t\t\t\tdata-scale={size}\n\t\t\t\tclassName={cn('avatar--component', AVATAR_SIZE_CLASSNAMES[size], className)}\n\t\t\t\t{...props}\n\t\t\t/>\n\t\t);\n\t},\n);\nAvatar.displayName = 'Avatar';\n\nconst AvatarImage = React.forwardRef<React.ElementRef<typeof PrimitiveAvatarImage>, AvatarImageProps>(\n\t({ className, ...props }, ref) => (\n\t\t<PrimitiveAvatarImage\n\t\t\tref={ref}\n\t\t\tclassName={cn('avatar--image', className)}\n\t\t\t{...props}\n\t\t/>\n\t),\n);\nAvatarImage.displayName = 'AvatarImage';\n\nconst AvatarFallback = React.forwardRef<React.ElementRef<typeof PrimitiveAvatarFallback>, AvatarFallbackProps>(\n\t({ className, children, ...props }, ref) => (\n\t\t<PrimitiveAvatarFallback\n\t\t\tref={ref}\n\t\t\tclassName={cn('avatar--fallback text-xs font-medium leading-none', className)}\n\t\t\t{...props}\n\t\t>\n\t\t\t{typeof children === 'string' || typeof children === 'number' || typeof children === 'bigint' ? (\n\t\t\t\t<Text tag=\"span\" size=\"inherit\" weight=\"medium\" lineHeight=\"none\" className=\"text-inherit\">\n\t\t\t\t\t{children}\n\t\t\t\t</Text>\n\t\t\t) : children}\n\t\t</PrimitiveAvatarFallback>\n\t),\n);\nAvatarFallback.displayName = 'AvatarFallback';\n\nconst AvatarBadge = React.forwardRef<React.ElementRef<typeof PrimitiveAvatarBadge>, AvatarBadgeProps>(\n\t({ className, ...props }, ref) => (\n\t\t<PrimitiveAvatarBadge\n\t\t\tref={ref}\n\t\t\tclassName={cn('avatar--badge', className)}\n\t\t\t{...props}\n\t\t/>\n\t),\n);\nAvatarBadge.displayName = 'AvatarBadge';\n\nconst AvatarGroup = React.forwardRef<React.ElementRef<typeof PrimitiveAvatarGroup>, AvatarGroupProps>(\n\t({ className, ...props }, ref) => (\n\t\t<PrimitiveAvatarGroup\n\t\t\tref={ref}\n\t\t\tclassName={cn('avatar-group--component isolate items-center', affordanceGeometry.avatarOverlap.md, affordanceGeometry.avatarOverlap.sm, affordanceGeometry.avatarOverlap.lg, className)}\n\t\t\t{...props}\n\t\t/>\n\t),\n);\nAvatarGroup.displayName = 'AvatarGroup';\n\nconst AvatarGroupCount = React.forwardRef<React.ElementRef<typeof PrimitiveAvatarGroupCount>, AvatarGroupCountProps>(\n\t({ className, children, ...props }, ref) => (\n\t\t<PrimitiveAvatarGroupCount\n\t\t\tref={ref}\n\t\t\tclassName={cn(\n\t\t\t\t'avatar-group-count--component size-avatar text-xs',\n\t\t\t\t'group-has-data-[size=sm]/avatar-group:size-avatar-sm',\n\t\t\t\t'group-has-data-[size=lg]/avatar-group:size-avatar-lg',\n\t\t\t\tclassName,\n\t\t\t)}\n\t\t\t{...props}\n\t\t>\n\t\t\t{typeof children === 'string' || typeof children === 'number' || typeof children === 'bigint' ? (\n\t\t\t\t<Text tag=\"span\" size=\"inherit\" weight=\"medium\" lineHeight=\"none\" className=\"text-inherit\">\n\t\t\t\t\t{children}\n\t\t\t\t</Text>\n\t\t\t) : children}\n\t\t</PrimitiveAvatarGroupCount>\n\t),\n);\nAvatarGroupCount.displayName = 'AvatarGroupCount';\n\nexport {\n\tAvatar,\n\tAvatarImage,\n\tAvatarFallback,\n\tAvatarGroup,\n\tAvatarGroupCount,\n\tAvatarBadge,\n};\n","/**\n * StackedAvatars — overlapping avatar group with optional `+N` overflow chip,\n * configurable size, and an optional semantic `tone` for fallbacks (initials)\n * when the consumer hasn't passed `imageUrl`.\n *\n * Fallbacks are neutral by default: colour states meaning, so a person's\n * initials are not tinted by a hash of their name. Pass `tone` per user when a\n * fallback does carry meaning; numeric tones map onto the semantic token set.\n */\nimport * as React from 'react';\nimport {\n\tAvatar,\n\tAvatarFallback,\n\tAvatarGroup,\n\tAvatarGroupCount,\n\tAvatarImage,\n} from './avatar';\nimport { formatInitials } from '../../primitives/initials-format';\nimport { Text } from '../../typography';\nimport { useDensityConfig, type ComponentScale } from '../../../lib/ui-provider';\nimport { resolveComponentScale } from '../../../lib/ui-provider/scale';\nimport { cn } from '../../../lib/utils';\nimport type { SemanticTone } from '../../../lib/component-vocabulary';\nimport { toneRecipes } from '../../../lib/tone-recipes';\n\nexport type StackedAvatarsSize = ComponentScale;\nexport type StackedAvatarTone = SemanticTone;\n\nexport interface StackedAvatarUser {\n\t/** Stable identity for this entry. */\n\tid?: string;\n\t/** The person's name; supplies the initials and the hover title. */\n\tname: string;\n\timageUrl?: string;\n\t/** Semantic tone for this user's fallback. Defaults to `neutral`. Numeric values map to the token set. */\n\ttone?: StackedAvatarTone | number;\n}\n\nexport interface StackedAvatarsProps {\n\tusers: StackedAvatarUser[];\n\tmax?: number;\n\t/** Size preset. */\n\tsize?: StackedAvatarsSize;\n\tclassName?: string;\n\t/** Whether to render a `+N` count when `users.length > max`. Default `true`. */\n\tshowOverflow?: boolean;\n\t/** Provide custom overflow text (e.g. \"+12 more\"). Default `+N`. */\n\toverflowFormatter?: (overflow: number) => React.ReactNode;\n\t/** Extra class names applied to each avatar root. */\n\tavatarClassName?: string;\n}\n\nconst FALLBACK_TONES: StackedAvatarTone[] = [\n\t'neutral',\n\t'primary',\n\t'secondary',\n\t'info',\n\t'success',\n];\n\nconst FALLBACK_TONE_CLASSNAMES: Record<StackedAvatarTone, string> = {\n\tneutral: 'bg-muted text-muted-foreground',\n\tprimary: `${toneRecipes.primary.tint} ${toneRecipes.primary.ink}`,\n\tsecondary: 'bg-secondary text-secondary-foreground',\n\tinfo: `${toneRecipes.info.tint} ${toneRecipes.info.ink}`,\n\tsuccess: `${toneRecipes.success.tint} ${toneRecipes.success.ink}`,\n\twarning: `${toneRecipes.warning.tint} ${toneRecipes.warning.ink}`,\n\tdestructive: `${toneRecipes.destructive.tint} ${toneRecipes.destructive.ink}`,\n};\n\nfunction pickFallbackTone(override?: StackedAvatarTone | number): StackedAvatarTone {\n\tif (typeof override === 'string') {\n\t\treturn override;\n\t}\n\tif (typeof override === 'number') {\n\t\treturn FALLBACK_TONES[Math.abs(override) % FALLBACK_TONES.length];\n\t}\n\treturn 'neutral';\n}\n\nexport function StackedAvatars({\n\tusers,\n\tmax = 4,\n\tsize: sizeProp,\n\tclassName,\n\tshowOverflow = true,\n\toverflowFormatter,\n\tavatarClassName,\n}: StackedAvatarsProps) {\n\tconst { defaultScale } = useDensityConfig();\n\tconst size = resolveComponentScale(sizeProp, defaultScale);\n\tconst visible = users.slice(0, max);\n\tconst overflow = Math.max(0, users.length - max);\n\tconst overflowContent = overflowFormatter ? overflowFormatter(overflow) : `+${overflow}`;\n\n\treturn (\n\t\t<AvatarGroup className={cn('stacked-avatars--component', className)}>\n\t\t\t{visible.map((user, index) => {\n\t\t\t\tconst initials = formatInitials(user.name, {\n\t\t\t\t\tmaxCharacters: size === 'sm' ? 1 : 2,\n\t\t\t\t\tfallback: '?',\n\t\t\t\t});\n\t\t\t\tconst fallbackTone = pickFallbackTone(user.tone);\n\t\t\t\treturn (\n\t\t\t\t\t<Avatar\n\t\t\t\t\t\tkey={user.id ?? `${user.name}-${index}`}\n\t\t\t\t\t\tsize={size}\n\t\t\t\t\t\tclassName={cn('ring-background', avatarClassName)}\n\t\t\t\t\t\ttitle={user.name}\n\t\t\t\t\t>\n\t\t\t\t\t\t{user.imageUrl ? (\n\t\t\t\t\t\t\t<AvatarImage src={user.imageUrl} alt={user.name} />\n\t\t\t\t\t\t) : null}\n\t\t\t\t\t\t<AvatarFallback className={FALLBACK_TONE_CLASSNAMES[fallbackTone]}>\n\t\t\t\t\t\t\t{initials}\n\t\t\t\t\t\t</AvatarFallback>\n\t\t\t\t\t</Avatar>\n\t\t\t\t);\n\t\t\t})}\n\t\t\t{!!showOverflow && overflow > 0 && (\n\t\t\t\t<AvatarGroupCount data-scale={size} data-size={size === 'md' ? 'default' : size}>\n\t\t\t\t\t{typeof overflowContent === 'string' || typeof overflowContent === 'number' || typeof overflowContent === 'bigint' ? (\n\t\t\t\t\t\t<Text tag=\"span\" size=\"inherit\" weight=\"medium\" lineHeight=\"none\" className=\"text-inherit\">\n\t\t\t\t\t\t\t{overflowContent}\n\t\t\t\t\t\t</Text>\n\t\t\t\t\t) : overflowContent}\n\t\t\t\t</AvatarGroupCount>\n\t\t\t)}\n\t\t</AvatarGroup>\n\t);\n}\n\nStackedAvatars.displayName = 'StackedAvatars';\n"],"mappings":"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"}
@@ -1,7 +1,7 @@
1
1
  "use client";
2
- import { n as e, s as t, v as n } from "./ui-provider-C_U0Xma4.js";
3
- import { t as r } from "./utils-BRhFDwuU.js";
4
- import { c as i } from "./typography-UTnveOEy.js";
2
+ import { n as e, s as t, v as n } from "./ui-provider-CQCuCBcy.js";
3
+ import { t as r } from "./utils-CF3c95Io.js";
4
+ import { c as i } from "./typography-CSyJrh28.js";
5
5
  import { i as a, t as o } from "./tone-recipes-BPsRAvhu.js";
6
6
  import * as s from "react";
7
7
  import { jsx as c, jsxs as l } from "react/jsx-runtime";
@@ -90,4 +90,4 @@ g.displayName = "Badge";
90
90
  //#endregion
91
91
  export { g as t };
92
92
 
93
- //# sourceMappingURL=badge-HpFqoqSY.js.map
93
+ //# sourceMappingURL=badge-DErMA7ul.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"badge-HpFqoqSY.js","names":["Badge","React","styles","React","BaseBadge","useBadgeConfig","useDensityConfig","resolveComponentScale","cn","Text","toneRecipes","dotRecipes","React$1","Badge$1","props","useRender","asChild","children","className","badgeRecipes","toneClassMap","sizeClassMap","Badge","toneProp","sizeProp","resolvedSize","defaultScale","tone","defaultTone","isSimpleText","inline","pending","pulse","dot","important","TriangleAlert"],"sources":["../src/components/ui/badge.tsx","../src/components/base/badge/badge.recipes.ts","../src/components/base/badge/badge.tsx"],"sourcesContent":["import * as React from 'react';\nimport { useRender } from '@base-ui/react/use-render';\nimport { cn } from '../../lib/utils';\n\nfunction Badge({ className, asChild = false, children, ...props }:\n\tReact.ComponentProps<'span'> & { asChild?: boolean }) {\n\treturn useRender({\n\t\tdefaultTagName: 'span',\n\t\trender: asChild && React.isValidElement(children) ? children : undefined,\n\t\tprops: { ...props, 'data-slot': 'badge', className: cn(className), ...(asChild ? {} : { children }) },\n\t});\n}\n\nexport { Badge };\n","import { dotRecipes, toneRecipes } from '../../../lib/tone-recipes';\n\n/** Private Tailwind recipes; public props and DOM hooks remain owned by the component. */\nexport const badgeRecipes = {\n\t// Content-sized in both axes (`w-fit h-fit`) so the badge never stretches yet\n\t// follows its parent's alignment: centred in an `items-center` row, at the\n\t// start edge of a left-aligned column. No `self-*` override of the parent.\n\troot: \"inline-flex items-center justify-center shrink-0 h-fit rounded-radius font-sans font-medium border border-transparent w-fit max-w-full whitespace-nowrap overflow-visible box-border align-middle\",\n\t// The two text-xs sizes take one and a half 2xs steps of block padding (3px at\n\t// the default space scale): taller chips at the same type size, so sm reads 20px\n\t// and md 23px. Written from the root space scale so scoped spacing applies.\n\t// Inline badges keep the 2xs step to sit inside a running line of text.\n\tsizeSm: \"min-h-0 py-[calc(0.1875rem*var(--space-scale))] px-control-xs gap-space-xs text-xs leading-none\",\n\tsizeMd: \"min-h-0 py-[calc(0.1875rem*var(--space-scale))] px-control-xs gap-space-xs text-xs leading-tight\",\n\tsizeLg: \"min-h-0 py-space-xs px-control-sm gap-space-sm text-sm leading-tight\",\n\tisInline: \"inline-flex align-baseline text-xs py-space-2xs px-control-xs leading-none\",\n\tisPending: \"[&_.badge-dot]:bg-transparent [&_.badge-dot]:border-[1.5px] [&_.badge-dot]:border-current\",\n\tisPulse: \"[&_.badge-dot]:animate-badge-pulse motion-reduce:[&_.badge-dot]:animate-none\",\n\tdot: `badge-dot ${dotRecipes.inline} bg-current`,\n\ticon: \"size-icon-sm shrink-0\",\n\tlabel: \"inline-flex min-w-0 max-w-full items-center gap-space-xs overflow-hidden text-ellipsis whitespace-nowrap\",\n\ttonePrimary: \"bg-primary text-primary-foreground border-primary\",\n\ttoneNeutral: \"bg-foreground/8 text-foreground border-transparent\",\n\ttoneSecondary: \"bg-foreground/8 text-foreground border-transparent\",\n\ttoneSuccess: `${toneRecipes.success.tint} ${toneRecipes.success.ink} ${toneRecipes.success.edge}`,\n\ttoneInfo: `${toneRecipes.info.tint} ${toneRecipes.info.ink} ${toneRecipes.info.edge}`,\n\ttoneWarning: `${toneRecipes.warning.tint} ${toneRecipes.warning.ink} ${toneRecipes.warning.edge}`,\n\ttoneDestructive: `${toneRecipes.destructive.tint} ${toneRecipes.destructive.ink} ${toneRecipes.destructive.edge}`,\n} as const satisfies Record<string, string>;\n","/**\n * Badge — blocks badge with canonical semantic tones, package display scale, optional dot indicator\n * (with pulse + pending states), inline mode, and an `important` flag that swaps in a warning icon.\n */\nimport { TriangleAlert } from 'lucide-react';\nimport * as React from \"react\"\n\nimport { Badge as BaseBadge } from \"../../ui/badge\"\nimport { Text } from '../../typography';\nimport {\n\tuseBadgeConfig,\n\tuseDensityConfig,\n\ttype BadgeSize,\n\ttype BadgeTone,\n} from '../../../lib/ui-provider';\nimport { resolveComponentScale } from '../../../lib/ui-provider/scale';\nimport { cn } from '../../../lib/utils';\nimport { badgeRecipes as styles } from './badge.recipes';\n\nexport interface BadgeProps extends Omit<React.ComponentProps<'span'>, 'content'> {\n\t/** Semantic tone. Falls back to `UIProvider.badge.defaultTone`, then `neutral`: an untoned badge carries no state. */\n\ttone?: BadgeTone\n\t/** Display scale. Falls back to `UIProvider.density.defaultScale`. */\n\tsize?: BadgeSize\n\t/** Renders inline with surrounding text rather than as a standalone chip. */\n\tinline?: boolean;\n\t/** Shows a status dot before the label. */\n\tdot?: boolean;\n\t/** Animates the dot, for live or in-progress states. Requires `dot`. */\n\tpulse?: boolean;\n\t/** Draws the dot hollow, marking a state that has not started. Requires `dot`. */\n\tpending?: boolean;\n\t/** Swaps in a warning icon ahead of the label. */\n\timportant?: boolean;\n}\n\nconst toneClassMap: Record<BadgeTone, string> = {\n\tneutral: styles.toneNeutral,\n\tprimary: styles.tonePrimary,\n\tsecondary: styles.toneSecondary,\n\tdestructive: styles.toneDestructive,\n\tsuccess: styles.toneSuccess,\n\twarning: styles.toneWarning,\n\tinfo: styles.toneInfo,\n};\n\nconst sizeClassMap: Record<BadgeSize, string> = {\n\tsm: styles.sizeSm,\n\tmd: styles.sizeMd,\n\tlg: styles.sizeLg,\n};\n\n/**\n * Blocks Badge using shared Tailwind recipes and stable semantic BEM hooks.\n */\nexport const Badge = React.forwardRef<HTMLSpanElement, BadgeProps>(function Badge({\n\ttone: toneProp,\n\tclassName,\n\tsize: sizeProp,\n\tinline = false,\n\tdot = false,\n\tpending = false,\n\tpulse = false,\n\timportant = false,\n\tchildren,\n\t...props\n}: BadgeProps, ref) {\n\tconst { defaultTone } = useBadgeConfig();\n\tconst { defaultScale } = useDensityConfig();\n\tconst resolvedSize = resolveComponentScale(sizeProp, defaultScale);\n\tconst tone = toneProp ?? defaultTone ?? 'neutral';\n\tconst isSimpleText = typeof children === 'string' || typeof children === 'number' || typeof children === 'bigint';\n\n\treturn (\n\t\t<BaseBadge\n\t\t\tref={ref}\n\t\t\tdata-slot=\"badge\"\n\t\t\tdata-tone={tone}\n\t\t\tdata-size={resolvedSize}\n\t\t\tdata-inline={inline || undefined}\n\t\t\tdata-pending={pending || undefined}\n\t\t\tclassName={cn(\n\t\t\t\t'badge--component',\n\t\t\t\tstyles.root,\n\t\t\t\ttoneClassMap[tone],\n\t\t\t\tsizeClassMap[resolvedSize],\n\t\t\t\tinline && styles.isInline,\n\t\t\t\tpending && styles.isPending,\n\t\t\t\tpulse && styles.isPulse,\n\t\t\t\tclassName,\n\t\t\t)}\n\t\t\t{...props}\n\t\t>\n\t\t\t{!!dot && <span aria-hidden=\"true\" className={styles.dot} />}\n\t\t\t{!!important && !dot && <TriangleAlert aria-hidden=\"true\" className={styles.icon} />}\n\t\t\t<span className={styles.label}>\n\t\t\t\t{isSimpleText ? (\n\t\t\t\t\t<Text tag=\"span\" size=\"inherit\" weight=\"medium\" lineHeight={resolvedSize === 'sm' || inline ? 'none' : 'tight'} className=\"text-inherit\">\n\t\t\t\t\t\t{children}\n\t\t\t\t\t</Text>\n\t\t\t\t) : children}\n\t\t\t</span>\n\t\t</BaseBadge>\n\t);\n});\n\nBadge.displayName = 'Badge';\n"],"mappings":";;;;;;;;;;AAIA,SAASA,EAAM,EAAE,cAAW,aAAU,IAAO,aAAU,GAAGc,KACH;CACtD,OAAOC,EAAU;EAChB,gBAAgB;EAChB,QAAQC,KAAWf,EAAM,eAAegB,CAAQ,IAAIA,IAAW,KAAA;EAC/D,OAAO;GAAE,GAAGH;GAAO,aAAa;GAAS,WAAWN,EAAGU,CAAS;GAAG,GAAIF,IAAU,CAAC,IAAI,EAAE,YAAS;EAAG;CACrG,CAAC;AACF;;;ACRA,IAAaG,IAAe;CAI3B,MAAM;CAKN,QAAQ;CACR,QAAQ;CACR,QAAQ;CACR,UAAU;CACV,WAAW;CACX,SAAS;CACT,KAAK,aAAaR,EAAW,OAAO;CACpC,MAAM;CACN,OAAO;CACP,aAAa;CACb,aAAa;CACb,eAAe;CACf,aAAa,GAAGD,EAAY,QAAQ,KAAK,GAAGA,EAAY,QAAQ,IAAI,GAAGA,EAAY,QAAQ;CAC3F,UAAU,GAAGA,EAAY,KAAK,KAAK,GAAGA,EAAY,KAAK,IAAI,GAAGA,EAAY,KAAK;CAC/E,aAAa,GAAGA,EAAY,QAAQ,KAAK,GAAGA,EAAY,QAAQ,IAAI,GAAGA,EAAY,QAAQ;CAC3F,iBAAiB,GAAGA,EAAY,YAAY,KAAK,GAAGA,EAAY,YAAY,IAAI,GAAGA,EAAY,YAAY;AAC5G,GCQMU,IAA0C;CAC/C,SAASlB,EAAO;CAChB,SAASA,EAAO;CAChB,WAAWA,EAAO;CAClB,aAAaA,EAAO;CACpB,SAASA,EAAO;CAChB,SAASA,EAAO;CAChB,MAAMA,EAAO;AACd,GAEMmB,IAA0C;CAC/C,IAAInB,EAAO;CACX,IAAIA,EAAO;CACX,IAAIA,EAAO;AACZ,GAKaoB,IAAQnB,EAAM,WAAwC,SAAe,EACjF,MAAMoB,GACN,cACA,MAAMC,GACN,YAAS,IACT,SAAM,IACN,aAAU,IACV,WAAQ,IACR,eAAY,IACZ,aACA,GAAGV,KACW,GAAK;CACnB,IAAM,EAAE,mBAAgBT,EAAe,GACjC,EAAE,oBAAiBC,EAAiB,GACpCmB,IAAelB,EAAsBiB,GAAUE,CAAY,GAC3DC,IAAOJ,KAAYK,KAAe,WAClCC,IAAe,OAAOZ,KAAa,YAAY,OAAOA,KAAa,YAAY,OAAOA,KAAa;CAEzG,OACC,kBAACb,GAAD;EACM;EACL,aAAU;EACV,aAAWuB;EACX,aAAWF;EACX,eAAaK,KAAU,KAAA;EACvB,gBAAcC,KAAW,KAAA;EACzB,WAAWvB,EACV,oBACAN,EAAO,MACPkB,EAAaO,IACbN,EAAaI,IACbK,KAAU5B,EAAO,UACjB6B,KAAW7B,EAAO,WAClB8B,KAAS9B,EAAO,SAChBgB,CACD;EACA,GAAIJ;EAjBL,UAAA;GAmBE,CAAC,CAACmB,KAAO,kBAAC,QAAD;IAAM,eAAY;IAAO,WAAW/B,EAAO;GAAM,CAAA;GAC1D,CAAC,CAACgC,KAAa,CAACD,KAAO,kBAACE,GAAD;IAAe,eAAY;IAAO,WAAWjC,EAAO;GAAO,CAAA;GACnF,kBAAC,QAAD;IAAM,WAAWA,EAAO;IACtB,UAAA2B,IACA,kBAACpB,GAAD;KAAM,KAAI;KAAO,MAAK;KAAU,QAAO;KAAS,YAAYgB,MAAiB,QAAQK,IAAS,SAAS;KAAS,WAAU;KACxH;IACI,CAAA,IACHb;GACC,CAAA;EACI;;AAEb,CAAC;AAED,EAAM,cAAc"}
1
+ {"version":3,"file":"badge-DErMA7ul.js","names":["Badge","React","styles","React","BaseBadge","useBadgeConfig","useDensityConfig","resolveComponentScale","cn","Text","toneRecipes","dotRecipes","React$1","Badge$1","props","useRender","asChild","children","className","badgeRecipes","toneClassMap","sizeClassMap","Badge","toneProp","sizeProp","resolvedSize","defaultScale","tone","defaultTone","isSimpleText","inline","pending","pulse","dot","important","TriangleAlert"],"sources":["../src/components/ui/badge.tsx","../src/components/base/badge/badge.recipes.ts","../src/components/base/badge/badge.tsx"],"sourcesContent":["import * as React from 'react';\nimport { useRender } from '@base-ui/react/use-render';\nimport { cn } from '../../lib/utils';\n\nfunction Badge({ className, asChild = false, children, ...props }:\n\tReact.ComponentProps<'span'> & { asChild?: boolean }) {\n\treturn useRender({\n\t\tdefaultTagName: 'span',\n\t\trender: asChild && React.isValidElement(children) ? children : undefined,\n\t\tprops: { ...props, 'data-slot': 'badge', className: cn(className), ...(asChild ? {} : { children }) },\n\t});\n}\n\nexport { Badge };\n","import { dotRecipes, toneRecipes } from '../../../lib/tone-recipes';\n\n/** Private Tailwind recipes; public props and DOM hooks remain owned by the component. */\nexport const badgeRecipes = {\n\t// Content-sized in both axes (`w-fit h-fit`) so the badge never stretches yet\n\t// follows its parent's alignment: centred in an `items-center` row, at the\n\t// start edge of a left-aligned column. No `self-*` override of the parent.\n\troot: \"inline-flex items-center justify-center shrink-0 h-fit rounded-radius font-sans font-medium border border-transparent w-fit max-w-full whitespace-nowrap overflow-visible box-border align-middle\",\n\t// The two text-xs sizes take one and a half 2xs steps of block padding (3px at\n\t// the default space scale): taller chips at the same type size, so sm reads 20px\n\t// and md 23px. Written from the root space scale so scoped spacing applies.\n\t// Inline badges keep the 2xs step to sit inside a running line of text.\n\tsizeSm: \"min-h-0 py-[calc(0.1875rem*var(--space-scale))] px-control-xs gap-space-xs text-xs leading-none\",\n\tsizeMd: \"min-h-0 py-[calc(0.1875rem*var(--space-scale))] px-control-xs gap-space-xs text-xs leading-tight\",\n\tsizeLg: \"min-h-0 py-space-xs px-control-sm gap-space-sm text-sm leading-tight\",\n\tisInline: \"inline-flex align-baseline text-xs py-space-2xs px-control-xs leading-none\",\n\tisPending: \"[&_.badge-dot]:bg-transparent [&_.badge-dot]:border-[1.5px] [&_.badge-dot]:border-current\",\n\tisPulse: \"[&_.badge-dot]:animate-badge-pulse motion-reduce:[&_.badge-dot]:animate-none\",\n\tdot: `badge-dot ${dotRecipes.inline} bg-current`,\n\ticon: \"size-icon-sm shrink-0\",\n\tlabel: \"inline-flex min-w-0 max-w-full items-center gap-space-xs overflow-hidden text-ellipsis whitespace-nowrap\",\n\ttonePrimary: \"bg-primary text-primary-foreground border-primary\",\n\ttoneNeutral: \"bg-foreground/8 text-foreground border-transparent\",\n\ttoneSecondary: \"bg-foreground/8 text-foreground border-transparent\",\n\ttoneSuccess: `${toneRecipes.success.tint} ${toneRecipes.success.ink} ${toneRecipes.success.edge}`,\n\ttoneInfo: `${toneRecipes.info.tint} ${toneRecipes.info.ink} ${toneRecipes.info.edge}`,\n\ttoneWarning: `${toneRecipes.warning.tint} ${toneRecipes.warning.ink} ${toneRecipes.warning.edge}`,\n\ttoneDestructive: `${toneRecipes.destructive.tint} ${toneRecipes.destructive.ink} ${toneRecipes.destructive.edge}`,\n} as const satisfies Record<string, string>;\n","/**\n * Badge — blocks badge with canonical semantic tones, package display scale, optional dot indicator\n * (with pulse + pending states), inline mode, and an `important` flag that swaps in a warning icon.\n */\nimport { TriangleAlert } from 'lucide-react';\nimport * as React from \"react\"\n\nimport { Badge as BaseBadge } from \"../../ui/badge\"\nimport { Text } from '../../typography';\nimport {\n\tuseBadgeConfig,\n\tuseDensityConfig,\n\ttype BadgeSize,\n\ttype BadgeTone,\n} from '../../../lib/ui-provider';\nimport { resolveComponentScale } from '../../../lib/ui-provider/scale';\nimport { cn } from '../../../lib/utils';\nimport { badgeRecipes as styles } from './badge.recipes';\n\nexport interface BadgeProps extends Omit<React.ComponentProps<'span'>, 'content'> {\n\t/** Semantic tone. Falls back to `UIProvider.badge.defaultTone`, then `neutral`: an untoned badge carries no state. */\n\ttone?: BadgeTone\n\t/** Display scale. Falls back to `UIProvider.density.defaultScale`. */\n\tsize?: BadgeSize\n\t/** Renders inline with surrounding text rather than as a standalone chip. */\n\tinline?: boolean;\n\t/** Shows a status dot before the label. */\n\tdot?: boolean;\n\t/** Animates the dot, for live or in-progress states. Requires `dot`. */\n\tpulse?: boolean;\n\t/** Draws the dot hollow, marking a state that has not started. Requires `dot`. */\n\tpending?: boolean;\n\t/** Swaps in a warning icon ahead of the label. */\n\timportant?: boolean;\n}\n\nconst toneClassMap: Record<BadgeTone, string> = {\n\tneutral: styles.toneNeutral,\n\tprimary: styles.tonePrimary,\n\tsecondary: styles.toneSecondary,\n\tdestructive: styles.toneDestructive,\n\tsuccess: styles.toneSuccess,\n\twarning: styles.toneWarning,\n\tinfo: styles.toneInfo,\n};\n\nconst sizeClassMap: Record<BadgeSize, string> = {\n\tsm: styles.sizeSm,\n\tmd: styles.sizeMd,\n\tlg: styles.sizeLg,\n};\n\n/**\n * Blocks Badge using shared Tailwind recipes and stable semantic BEM hooks.\n */\nexport const Badge = React.forwardRef<HTMLSpanElement, BadgeProps>(function Badge({\n\ttone: toneProp,\n\tclassName,\n\tsize: sizeProp,\n\tinline = false,\n\tdot = false,\n\tpending = false,\n\tpulse = false,\n\timportant = false,\n\tchildren,\n\t...props\n}: BadgeProps, ref) {\n\tconst { defaultTone } = useBadgeConfig();\n\tconst { defaultScale } = useDensityConfig();\n\tconst resolvedSize = resolveComponentScale(sizeProp, defaultScale);\n\tconst tone = toneProp ?? defaultTone ?? 'neutral';\n\tconst isSimpleText = typeof children === 'string' || typeof children === 'number' || typeof children === 'bigint';\n\n\treturn (\n\t\t<BaseBadge\n\t\t\tref={ref}\n\t\t\tdata-slot=\"badge\"\n\t\t\tdata-tone={tone}\n\t\t\tdata-size={resolvedSize}\n\t\t\tdata-inline={inline || undefined}\n\t\t\tdata-pending={pending || undefined}\n\t\t\tclassName={cn(\n\t\t\t\t'badge--component',\n\t\t\t\tstyles.root,\n\t\t\t\ttoneClassMap[tone],\n\t\t\t\tsizeClassMap[resolvedSize],\n\t\t\t\tinline && styles.isInline,\n\t\t\t\tpending && styles.isPending,\n\t\t\t\tpulse && styles.isPulse,\n\t\t\t\tclassName,\n\t\t\t)}\n\t\t\t{...props}\n\t\t>\n\t\t\t{!!dot && <span aria-hidden=\"true\" className={styles.dot} />}\n\t\t\t{!!important && !dot && <TriangleAlert aria-hidden=\"true\" className={styles.icon} />}\n\t\t\t<span className={styles.label}>\n\t\t\t\t{isSimpleText ? (\n\t\t\t\t\t<Text tag=\"span\" size=\"inherit\" weight=\"medium\" lineHeight={resolvedSize === 'sm' || inline ? 'none' : 'tight'} className=\"text-inherit\">\n\t\t\t\t\t\t{children}\n\t\t\t\t\t</Text>\n\t\t\t\t) : children}\n\t\t\t</span>\n\t\t</BaseBadge>\n\t);\n});\n\nBadge.displayName = 'Badge';\n"],"mappings":";;;;;;;;;;AAIA,SAASA,EAAM,EAAE,cAAW,aAAU,IAAO,aAAU,GAAGc,KACH;CACtD,OAAOC,EAAU;EAChB,gBAAgB;EAChB,QAAQC,KAAWf,EAAM,eAAegB,CAAQ,IAAIA,IAAW,KAAA;EAC/D,OAAO;GAAE,GAAGH;GAAO,aAAa;GAAS,WAAWN,EAAGU,CAAS;GAAG,GAAIF,IAAU,CAAC,IAAI,EAAE,YAAS;EAAG;CACrG,CAAC;AACF;;;ACRA,IAAaG,IAAe;CAI3B,MAAM;CAKN,QAAQ;CACR,QAAQ;CACR,QAAQ;CACR,UAAU;CACV,WAAW;CACX,SAAS;CACT,KAAK,aAAaR,EAAW,OAAO;CACpC,MAAM;CACN,OAAO;CACP,aAAa;CACb,aAAa;CACb,eAAe;CACf,aAAa,GAAGD,EAAY,QAAQ,KAAK,GAAGA,EAAY,QAAQ,IAAI,GAAGA,EAAY,QAAQ;CAC3F,UAAU,GAAGA,EAAY,KAAK,KAAK,GAAGA,EAAY,KAAK,IAAI,GAAGA,EAAY,KAAK;CAC/E,aAAa,GAAGA,EAAY,QAAQ,KAAK,GAAGA,EAAY,QAAQ,IAAI,GAAGA,EAAY,QAAQ;CAC3F,iBAAiB,GAAGA,EAAY,YAAY,KAAK,GAAGA,EAAY,YAAY,IAAI,GAAGA,EAAY,YAAY;AAC5G,GCQMU,IAA0C;CAC/C,SAASlB,EAAO;CAChB,SAASA,EAAO;CAChB,WAAWA,EAAO;CAClB,aAAaA,EAAO;CACpB,SAASA,EAAO;CAChB,SAASA,EAAO;CAChB,MAAMA,EAAO;AACd,GAEMmB,IAA0C;CAC/C,IAAInB,EAAO;CACX,IAAIA,EAAO;CACX,IAAIA,EAAO;AACZ,GAKaoB,IAAQnB,EAAM,WAAwC,SAAe,EACjF,MAAMoB,GACN,cACA,MAAMC,GACN,YAAS,IACT,SAAM,IACN,aAAU,IACV,WAAQ,IACR,eAAY,IACZ,aACA,GAAGV,KACW,GAAK;CACnB,IAAM,EAAE,mBAAgBT,EAAe,GACjC,EAAE,oBAAiBC,EAAiB,GACpCmB,IAAelB,EAAsBiB,GAAUE,CAAY,GAC3DC,IAAOJ,KAAYK,KAAe,WAClCC,IAAe,OAAOZ,KAAa,YAAY,OAAOA,KAAa,YAAY,OAAOA,KAAa;CAEzG,OACC,kBAACb,GAAD;EACM;EACL,aAAU;EACV,aAAWuB;EACX,aAAWF;EACX,eAAaK,KAAU,KAAA;EACvB,gBAAcC,KAAW,KAAA;EACzB,WAAWvB,EACV,oBACAN,EAAO,MACPkB,EAAaO,IACbN,EAAaI,IACbK,KAAU5B,EAAO,UACjB6B,KAAW7B,EAAO,WAClB8B,KAAS9B,EAAO,SAChBgB,CACD;EACA,GAAIJ;EAjBL,UAAA;GAmBE,CAAC,CAACmB,KAAO,kBAAC,QAAD;IAAM,eAAY;IAAO,WAAW/B,EAAO;GAAM,CAAA;GAC1D,CAAC,CAACgC,KAAa,CAACD,KAAO,kBAACE,GAAD;IAAe,eAAY;IAAO,WAAWjC,EAAO;GAAO,CAAA;GACnF,kBAAC,QAAD;IAAM,WAAWA,EAAO;IACtB,UAAA2B,IACA,kBAACpB,GAAD;KAAM,KAAI;KAAO,MAAK;KAAU,QAAO;KAAS,YAAYgB,MAAiB,QAAQK,IAAS,SAAS;KAAS,WAAU;KACxH;IACI,CAAA,IACHb;GACC,CAAA;EACI;;AAEb,CAAC;AAED,EAAM,cAAc"}
@@ -1,3 +1,3 @@
1
1
  "use client";
2
- import { c as e, l as t, n, s as r, t as i, u as a } from "../accordion-Cjb6sx0G.js";
2
+ import { c as e, l as t, n, s as r, t as i, u as a } from "../accordion-96o0pN62.js";
3
3
  export { r as Accordion, e as AccordionContent, t as AccordionItem, a as AccordionTrigger, i as SmartAccordion, n as defaultSmartAccordionStrings };
@@ -1,3 +1,3 @@
1
1
  "use client";
2
- import { n as e, r as t, t as n } from "../action-menu-CllU52Mm.js";
2
+ import { n as e, r as t, t as n } from "../action-menu-CHgs8vmj.js";
3
3
  export { n as ActionButtons, e as ActionMenu, t as defaultActionMenuStrings };
@@ -1,3 +1,3 @@
1
1
  "use client";
2
- import { a as e, c as t, i as n, l as r, n as i, o as a, r as o, s, t as c, u as l } from "../attachment-BxDfL2mw.js";
2
+ import { a as e, c as t, i as n, l as r, n as i, o as a, r as o, s, t as c, u as l } from "../attachment-DkoqHPPl.js";
3
3
  export { c as Attachment, i as AttachmentActions, o as AttachmentContent, n as AttachmentDescription, e as AttachmentFileIcon, a as AttachmentMedia, s as AttachmentProgress, t as AttachmentTitle, l as defaultAttachmentStrings, r as getAttachmentKind };
@@ -1,3 +1,3 @@
1
1
  "use client";
2
- import { a as e, i as t, n, o as r, r as i, s as a, t as o } from "../avatar-DAPlDvhJ.js";
2
+ import { a as e, i as t, n, o as r, r as i, s as a, t as o } from "../avatar-DWO_HHhB.js";
3
3
  export { n as Avatar, i as AvatarBadge, t as AvatarFallback, e as AvatarGroup, r as AvatarGroupCount, a as AvatarImage, o as StackedAvatars };
@@ -1,3 +1,3 @@
1
1
  "use client";
2
- import { t as e } from "../badge-HpFqoqSY.js";
2
+ import { t as e } from "../badge-DErMA7ul.js";
3
3
  export { e as Badge };
@@ -1,3 +1,3 @@
1
1
  "use client";
2
- import { n as e, t } from "../batch-action-bar-DnUJ21NQ.js";
2
+ import { n as e, t } from "../batch-action-bar-CdfIkCsV.js";
3
3
  export { t as BatchActionBar, e as defaultBatchActionBarStrings };
@@ -1,3 +1,3 @@
1
1
  "use client";
2
- import { c as e, i as t, l as n, n as r, o as i, r as a, s as o, t as s } from "../buttons-DPZekJFu.js";
2
+ import { c as e, i as t, l as n, n as r, o as i, r as a, s as o, t as s } from "../buttons-BbfzgczK.js";
3
3
  export { a as BaseButton, t as BaseButtonLink, r as Button, i as ButtonGroup, o as ButtonGroupSeparator, e as ButtonGroupText, s as TextButton, n as buttonGroupVariants };
@@ -1,4 +1,4 @@
1
1
  "use client";
2
- import { a as e, c as t, d as n, l as r, n as i, o as a, r as o, s, t as c, u as l } from "../smart-card-DiC5aac3.js";
3
- import { n as u, r as d, t as f } from "../cards-BaBZR-AU.js";
2
+ import { a as e, c as t, d as n, l as r, n as i, o as a, r as o, s, t as c, u as l } from "../smart-card-CqkzQsK-.js";
3
+ import { n as u, r as d, t as f } from "../cards-4JTWqvVe.js";
4
4
  export { c as Card, f as CardActionStrip, e as CardContent, a as CardDescription, s as CardFooter, t as CardHeader, u as CardPrimaryAction, r as CardShell, d as CardSkeleton, d as SmartCardSkeleton, l as CardTitle, i as SmartCard, o as defaultCardStrings, o as defaultSmartCardStrings, n as hasRenderableContent };
@@ -1,8 +1,8 @@
1
1
  "use client";
2
2
  import { useStrings as e } from "../lib/strings.js";
3
- import { t } from "../utils-BRhFDwuU.js";
4
- import { n } from "../buttons-DPZekJFu.js";
5
- import { c as r } from "../typography-UTnveOEy.js";
3
+ import { t } from "../utils-CF3c95Io.js";
4
+ import { n } from "../buttons-BbfzgczK.js";
5
+ import { c as r } from "../typography-CSyJrh28.js";
6
6
  import { r as i } from "../icon-size-B6PVwjbC.js";
7
7
  import { createContext as a, forwardRef as o, useCallback as s, useContext as c, useEffect as l, useState as u } from "react";
8
8
  import { Fragment as d, jsx as f, jsxs as p } from "react/jsx-runtime";
@@ -1,19 +1,19 @@
1
1
  "use client";
2
- import { s as e } from "../ui-provider-C_U0Xma4.js";
3
- import { t } from "../utils-BRhFDwuU.js";
4
- import { n } from "../buttons-DPZekJFu.js";
5
- import { c as r } from "../typography-UTnveOEy.js";
6
- import { t as i } from "../structure-BmisBK-3.js";
2
+ import { s as e } from "../ui-provider-CQCuCBcy.js";
3
+ import { t } from "../utils-CF3c95Io.js";
4
+ import { n } from "../buttons-BbfzgczK.js";
5
+ import { c as r } from "../typography-CSyJrh28.js";
6
+ import { t as i } from "../structure-C0V0_Fyf.js";
7
7
  import { a } from "../surface-recipes-BKRVW8Os.js";
8
8
  import { a as ee, i as te } from "../popover.recipes-D3j8R8Yp.js";
9
- import { t as ne } from "../collection-content-By56pLog.js";
10
- import { n as re, r as o } from "../field-affordance-recipes-DZhnIL_Y.js";
11
- import { a as ie, o as ae, t as oe } from "../command-C25VMRII.js";
12
- import { p as se, y as ce } from "../form-sizing-BdP_Mf5p.js";
13
- import { r as le, t as ue } from "../input-DQdEd0YD.js";
14
- import { a as de, c as fe, i as pe, n as me, o as he, t as ge } from "../popover-gnTOhbFM.js";
15
- import { t as _e } from "../scroll-area-DcI-M1UT.js";
16
- import { n as ve, r as s, t as ye } from "../tree-WnKQzwbq.js";
9
+ import { t as ne } from "../collection-content-C0e8SsTm.js";
10
+ import { n as re, r as o } from "../field-affordance-recipes-DjwGx8eM.js";
11
+ import { a as ie, o as ae, t as oe } from "../command-D8NrBj-b.js";
12
+ import { p as se, y as ce } from "../form-sizing-NXgjkmBG.js";
13
+ import { r as le, t as ue } from "../input-Cdw4k0fb.js";
14
+ import { a as de, c as fe, i as pe, n as me, o as he, t as ge } from "../popover-uwzX2vo7.js";
15
+ import { t as _e } from "../scroll-area-La5RXsEk.js";
16
+ import { n as ve, r as s, t as ye } from "../tree-CV11PURP.js";
17
17
  import { useEffect as c, useLayoutEffect as be, useMemo as xe, useRef as l, useState as u } from "react";
18
18
  import { jsx as d, jsxs as f } from "react/jsx-runtime";
19
19
  import { ChevronDown as Se, ChevronLeft as Ce, ChevronRight as we } from "lucide-react";
@@ -1,3 +1,3 @@
1
1
  "use client";
2
- import { a as e, i as t, n, o as r, r as i, t as a } from "../chart-ZOYyK2xG.js";
2
+ import { a as e, i as t, n, o as r, r as i, t as a } from "../chart-C19flDQb.js";
3
3
  export { a as ChartContainer, n as ChartLegend, i as ChartLegendContent, t as ChartStyle, e as ChartTooltip, r as ChartTooltipContent };
@@ -1,4 +1,4 @@
1
1
  "use client";
2
- import { a as e, c as t, d as n, f as r, h as i, i as a, l as o, m as s, n as c, o as l, p as u, r as d, t as f, u as p } from "../choice-inputs-CNHvARCJ.js";
3
- import { t as m } from "../checkbox-AWIhNhmo.js";
2
+ import { a as e, c as t, d as n, f as r, h as i, i as a, l as o, m as s, n as c, o as l, p as u, r as d, t as f, u as p } from "../choice-inputs-JLtij2y4.js";
3
+ import { t as m } from "../checkbox-CzYUTPeJ.js";
4
4
  export { a as CardCheckboxGroup, d as CardRadioGroup, m as Checkbox, c as ListRadioGroup, f as PillRadioGroup, o as Select, n as SelectPopupContent, r as SelectPopupGroup, u as SelectPopupItem, s as SelectPopupLabel, i as SelectPopupSeparator, t as Switch, l as SwitchCard, e as ToggleField, p as defaultSelectStrings };
@@ -1,3 +1,3 @@
1
1
  "use client";
2
- import { n as e, t } from "../code-block-DeneBJR_.js";
2
+ import { n as e, t } from "../code-block-CGNaUtAE.js";
3
3
  export { t as CodeBlock, e as defaultCodeBlockStrings };
@@ -1,3 +1,3 @@
1
1
  "use client";
2
- import { C as e, E as t, S as n, T as r, _ as i, a, b as o, c as s, d as c, f as l, g as u, h as d, i as f, l as p, m, n as h, o as g, p as _, r as v, s as y, t as b, u as x, v as S, w as C, y as w } from "../combobox-DaHESuiL.js";
2
+ import { C as e, E as t, S as n, T as r, _ as i, a, b as o, c as s, d as c, f as l, g as u, h as d, i as f, l as p, m, n as h, o as g, p as _, r as v, s as y, t as b, u as x, v as S, w as C, y as w } from "../combobox-hbhSS18O.js";
3
3
  export { c as ComboboxArrow, l as ComboboxBackdrop, b as ComboboxChip, _ as ComboboxChips, m as ComboboxChipsInput, h as ComboboxClear, d as ComboboxCollection, u as ComboboxEmpty, i as ComboboxGroup, S as ComboboxGroupLabel, v as ComboboxInput, f as ComboboxInputTrigger, a as ComboboxItem, w as ComboboxItemIndicator, o as ComboboxList, g as ComboboxPopup, n as ComboboxPortal, e as ComboboxPositioner, x as ComboboxRoot, y as ComboboxSeparator, C as ComboboxStatus, s as ComboboxTrigger, r as ComboboxValue, p as defaultComboboxControlStrings, t as useComboboxFilter };
@@ -1,3 +1,3 @@
1
1
  "use client";
2
- import { a as e, c as t, i as n, n as r, o as i, r as a, s as o, t as s } from "../command-C25VMRII.js";
2
+ import { a as e, c as t, i as n, n as r, o as i, r as a, s as o, t as s } from "../command-D8NrBj-b.js";
3
3
  export { s as Command, r as CommandEmpty, a as CommandGroup, n as CommandInput, e as CommandItem, i as CommandList, o as CommandSeparator, t as CommandShortcut };
@@ -1,3 +1,3 @@
1
1
  "use client";
2
- import { n as e, t } from "../copyable-ClBuk_UK.js";
2
+ import { n as e, t } from "../copyable-CnGCZdX4.js";
3
3
  export { t as Copyable, e as defaultCopyableStrings };
@@ -1,4 +1,4 @@
1
1
  "use client";
2
- import { c as e, i as t, n, r, s as i, t as a } from "../date-picker-B2K3ucWn.js";
3
- import { t as o } from "../date-pickers-Ds8gLaoP.js";
2
+ import { c as e, i as t, n, r, s as i, t as a } from "../date-picker-zOt1oNss.js";
3
+ import { t as o } from "../date-pickers-cj8IXbDC.js";
4
4
  export { a as DatePicker, e as DatePickerFooter, i as DatePickerHeader, o as MonthYearPicker, n as TimePicker, t as defaultDatePickerStrings, r as defaultTimePickerStrings };
@@ -1,8 +1,8 @@
1
1
  "use client";
2
- import { i as e, n as t, r as n, t as r } from "../tooltip-yiRJUFjp.js";
3
- import { t as i } from "../icon-badge-DYKIwvOV.js";
4
- import { t as a } from "../separator-BDV-Y648.js";
5
- import { a as o, i as s, n as c, o as l, r as u, s as d, t as f } from "../display-hAc1HjpI.js";
6
- import { n as p, r as m, t as h } from "../collapsible-C-_l4hpy.js";
7
- import { n as g, t as _ } from "../scroll-area-DcI-M1UT.js";
2
+ import { i as e, n as t, r as n, t as r } from "../tooltip-B4hjKtoV.js";
3
+ import { t as i } from "../icon-badge-COWbCCWu.js";
4
+ import { t as a } from "../separator-GNfPG-90.js";
5
+ import { a as o, i as s, n as c, o as l, r as u, s as d, t as f } from "../display-BB4BL_-K.js";
6
+ import { n as p, r as m, t as h } from "../collapsible-Do4G0zcC.js";
7
+ import { n as g, t as _ } from "../scroll-area-La5RXsEk.js";
8
8
  export { f as BooleanIndicator, h as Collapsible, p as CollapsibleContent, m as CollapsibleTrigger, c as ContentBlock, s as DateBlock, i as IconBadge, d as PlaceholderPattern, _ as ScrollArea, g as ScrollBar, a as Separator, r as Tooltip, t as TooltipContent, n as TooltipProvider, e as TooltipTrigger, l as VisuallyHidden, u as defaultContentBlockStrings, o as defaultDateBlockStrings };
@@ -1,5 +1,5 @@
1
1
  "use client";
2
- import { _ as e, g as t, h as n, m as r, p as i, v as a } from "../smart-card-DiC5aac3.js";
3
- import { a as o, c as s, i as c, n as l, o as u, r as d, s as f, t as p } from "../feedback-BYIhtitP.js";
4
- import { a as m, i as h, n as g, o as _, r as v, t as y } from "../progress-B1VnCT0K.js";
2
+ import { _ as e, g as t, h as n, m as r, p as i, v as a } from "../smart-card-CqkzQsK-.js";
3
+ import { a as o, c as s, i as c, n as l, o as u, r as d, s as f, t as p } from "../feedback-DZNL5Lg1.js";
4
+ import { a as m, i as h, n as g, o as _, r as v, t as y } from "../progress-BvF2oCdV.js";
5
5
  export { i as Alert, r as AlertAction, n as AlertDescription, t as AlertMetadata, e as AlertMetadataItem, a as AlertTitle, d as Empty, c as EmptyContent, o as EmptyDescription, u as EmptyHeader, f as EmptyMedia, s as EmptyTitle, p as ErrorState, l as LoadingState, y as Progress, g as ProgressIndicator, v as ProgressLabel, h as ProgressTrack, m as ProgressValue, _ as defaultProgressStrings };
@@ -1,3 +1,3 @@
1
1
  "use client";
2
- import { a as e, c as t, d as n, i as r, l as i, n as a, o, r as s, s as c, t as l, u } from "../forms-numeric-B_jraJaQ.js";
2
+ import { a as e, c as t, d as n, i as r, l as i, n as a, o, r as s, s as c, t as l, u } from "../forms-numeric-Cd33AKbD.js";
3
3
  export { l as CoordinatesInput, t as CurrencyInput, n as DecimalInput, r as DimensionsInput, o as MoneyInput, u as PercentageInput, e as RoundingModeSelect, a as WeightInput, i as defaultCurrencyInputStrings, c as defaultMoneyInputStrings, s as defaultWeightInputStrings };
@@ -1,4 +1,4 @@
1
1
  "use client";
2
- import { t as e } from "../form-field-CwH9y77i.js";
3
- import { a as t, c as n, i as r, n as i, o as a, r as o, s, t as c } from "../forms-B9G_xwzi.js";
4
- export { s as ControlledFormField, i as DirtyStateBanner, o as ErrorSummary, r as FormActionsBar, e as FormField, t as FormSection, c as OperationPasswordForm, a as SubmitStateButton, n as defaultControlledFormFieldStrings };
2
+ import { t as e } from "../form-field-CsgRmdit.js";
3
+ import { a as t, c as n, i as r, l as i, n as a, o, r as s, s as c, t as l } from "../forms-BV5m5aQF.js";
4
+ export { n as ControlledFormField, a as DirtyStateBanner, s as ErrorSummary, r as FormActionsBar, e as FormField, t as FormSection, l as OperationPasswordForm, o as SubmitStateButton, c as applyServerErrors, i as defaultControlledFormFieldStrings };
@@ -1,16 +1,16 @@
1
1
  "use client";
2
- import { s as e } from "../ui-provider-C_U0Xma4.js";
2
+ import { s as e } from "../ui-provider-CQCuCBcy.js";
3
3
  import { useStrings as t } from "../lib/strings.js";
4
- import { t as n } from "../utils-BRhFDwuU.js";
5
- import { t as r } from "../affordance-geometry.generated-tF36bREk.js";
6
- import { n as i } from "../buttons-DPZekJFu.js";
7
- import { c as a } from "../typography-UTnveOEy.js";
8
- import { r as ee, t as te } from "../structure-BmisBK-3.js";
4
+ import { t as n } from "../utils-CF3c95Io.js";
5
+ import { t as r } from "../affordance-geometry.generated-B8yGOr8-.js";
6
+ import { n as i } from "../buttons-BbfzgczK.js";
7
+ import { c as a } from "../typography-CSyJrh28.js";
8
+ import { r as ee, t as te } from "../structure-C0V0_Fyf.js";
9
9
  import { t as ne } from "../editable-text-recipe-Cn61kEcv.js";
10
- import { _ as re, l as ie, p as ae, s as o, y as oe } from "../form-sizing-BdP_Mf5p.js";
11
- import { t as se } from "../input-DQdEd0YD.js";
12
- import { t as ce } from "../form-field-CwH9y77i.js";
13
- import { d as le } from "../text-inputs-f9Ia-aCi.js";
10
+ import { _ as re, l as ie, p as ae, s as o, y as oe } from "../form-sizing-NXgjkmBG.js";
11
+ import { t as se } from "../input-Cdw4k0fb.js";
12
+ import { t as ce } from "../form-field-CsgRmdit.js";
13
+ import { d as le } from "../text-inputs-DXItiR0O.js";
14
14
  import * as s from "react";
15
15
  import { jsx as c, jsxs as l } from "react/jsx-runtime";
16
16
  import { CheckIcon as ue, LoaderCircle as u, PencilIcon as de, XIcon as fe } from "lucide-react";
package/dist/base/item.js CHANGED
@@ -1,3 +1,3 @@
1
1
  "use client";
2
- import { a as e, c as t, i as n, l as r, n as i, o as a, r as o, s, t as c, u as l } from "../item-K5_ghvze.js";
2
+ import { a as e, c as t, i as n, l as r, n as i, o as a, r as o, s, t as c, u as l } from "../item-BvZ2DR_x.js";
3
3
  export { c as Item, i as ItemActions, o as ItemContent, n as ItemDescription, e as ItemFooter, a as ItemGroup, s as ItemHeader, t as ItemMedia, r as ItemSeparator, l as ItemTitle };
@@ -1,3 +1,3 @@
1
1
  "use client";
2
- import { n as e, t } from "../media-gallery-3zIVLMWH.js";
2
+ import { n as e, t } from "../media-gallery-CSl5W1Fy.js";
3
3
  export { t as MediaGallery, e as defaultMediaGalleryStrings };
@@ -1,3 +1,3 @@
1
1
  "use client";
2
- import { n as e, r as t, t as n } from "../metadata-list-8N16ZMW_.js";
2
+ import { n as e, r as t, t as n } from "../metadata-list-qVV7AVxa.js";
3
3
  export { n as MetadataList, e as MetadataValue, t as defaultMetadataListStrings };
@@ -1,8 +1,8 @@
1
1
  "use client";
2
- import { a as e, c as t, d as n, f as r, g as i, h as a, i as o, l as s, m as c, n as l, o as u, p as d, r as f, s as p, t as m, u as h } from "../dropdown-menu-Cl4X7L5S.js";
3
- import { n as g, t as _ } from "../breadcrumbs-C-oqs1sQ.js";
4
- import { n as v, r as y, t as b } from "../navigation-Bnotn4AQ.js";
5
- import { i as x, n as S, o as C, r as w, t as T } from "../tabs-CDocW5D1.js";
6
- import { n as E, r as D, t as O } from "../overflow-tab-bar-CWY7Nogn.js";
7
- import { a as k, c as A, i as j, n as M, o as N, r as P, s as F, t as I } from "../pagination-BL25hu2s.js";
2
+ import { a as e, c as t, d as n, f as r, g as i, h as a, i as o, l as s, m as c, n as l, o as u, p as d, r as f, s as p, t as m, u as h } from "../dropdown-menu-CjY8Vt7W.js";
3
+ import { n as g, t as _ } from "../breadcrumbs-B-WFKecD.js";
4
+ import { n as v, r as y, t as b } from "../navigation-DLF3E1IC.js";
5
+ import { i as x, n as S, o as C, r as w, t as T } from "../tabs-eqVsJZWO.js";
6
+ import { n as E, r as D, t as O } from "../overflow-tab-bar-CrbqMteP.js";
7
+ import { a as k, c as A, i as j, n as M, o as N, r as P, s as F, t as I } from "../pagination-Ch8X_47u.js";
8
8
  export { _ as Breadcrumbs, m as DropdownMenu, l as DropdownMenuCheckboxItem, f as DropdownMenuContent, o as DropdownMenuGroup, e as DropdownMenuItem, u as DropdownMenuLabel, p as DropdownMenuLinkItem, t as DropdownMenuPortal, s as DropdownMenuRadioGroup, h as DropdownMenuRadioItem, n as DropdownMenuSeparator, r as DropdownMenuShortcut, d as DropdownMenuSub, c as DropdownMenuSubContent, a as DropdownMenuSubTrigger, i as DropdownMenuTrigger, y as LanguageSwitcher, b as NavigationTabs, O as OverflowTabBar, D as PageHeading, I as PaginationContent, M as PaginationEllipsis, P as PaginationItem, j as PaginationLink, k as PaginationNext, N as PaginationPrevious, F as PaginationPrimitive, T as Tabs, S as TabsContent, w as TabsList, x as TabsTrigger, g as defaultBreadcrumbsStrings, v as defaultNavigationTabsStrings, E as defaultOverflowTabBarStrings, A as defaultPaginationStrings, C as defaultTabsScrollStrings };
@@ -1,3 +1,3 @@
1
1
  "use client";
2
- import { n as e, t } from "../popover-menu-Cn9rUkdc.js";
2
+ import { n as e, t } from "../popover-menu-BYaCdFhf.js";
3
3
  export { t as PopoverMenu, e as defaultPopoverMenuStrings };
@@ -1,3 +1,3 @@
1
1
  "use client";
2
- import { a as e, c as t, i as n, n as r, o as i, r as a, s as o, t as s } from "../popover-gnTOhbFM.js";
2
+ import { a as e, c as t, i as n, n as r, o as i, r as a, s as o, t as s } from "../popover-uwzX2vo7.js";
3
3
  export { i as Popover, o as PopoverAnchor, s as PopoverContent, r as PopoverDescription, a as PopoverFooter, n as PopoverHeader, e as PopoverTitle, t as PopoverTrigger };
@@ -1,5 +1,5 @@
1
1
  "use client";
2
- import { t as e } from "../utils-BRhFDwuU.js";
2
+ import { t as e } from "../utils-CF3c95Io.js";
3
3
  import { forwardRef as t, useEffect as n, useRef as r, useState as i } from "react";
4
4
  import { jsx as a } from "react/jsx-runtime";
5
5
  import { formatHex as o, parse as s } from "culori";
@@ -1,15 +1,15 @@
1
1
  "use client";
2
- import { s as e } from "../ui-provider-C_U0Xma4.js";
2
+ import { s as e } from "../ui-provider-CQCuCBcy.js";
3
3
  import { useStrings as t } from "../lib/strings.js";
4
- import { t as n } from "../utils-BRhFDwuU.js";
5
- import { t as r } from "../affordance-geometry.generated-tF36bREk.js";
6
- import { n as i } from "../buttons-DPZekJFu.js";
7
- import { a, c as o } from "../typography-UTnveOEy.js";
8
- import { t as s } from "../structure-BmisBK-3.js";
4
+ import { t as n } from "../utils-CF3c95Io.js";
5
+ import { t as r } from "../affordance-geometry.generated-B8yGOr8-.js";
6
+ import { n as i } from "../buttons-BbfzgczK.js";
7
+ import { a, c as o } from "../typography-CSyJrh28.js";
8
+ import { t as s } from "../structure-C0V0_Fyf.js";
9
9
  import { t as c } from "../interaction-recipes-XR9ZpVYL.js";
10
- import { t as l } from "../input-DQdEd0YD.js";
11
- import { t as u } from "../form-field-CwH9y77i.js";
12
- import { d } from "../text-inputs-f9Ia-aCi.js";
10
+ import { t as l } from "../input-Cdw4k0fb.js";
11
+ import { t as u } from "../form-field-CsgRmdit.js";
12
+ import { d } from "../text-inputs-DXItiR0O.js";
13
13
  import { forwardRef as f, memo as p, useCallback as m, useId as h, useMemo as g, useReducer as _, useRef as v, useState as y } from "react";
14
14
  import { jsx as b, jsxs as x } from "react/jsx-runtime";
15
15
  import { GripVertical as S, Plus as C, Trash2 as w, X as T } from "lucide-react";
@@ -1,3 +1,3 @@
1
1
  "use client";
2
- import { a as e, c as t, i as n, l as r, n as i, o as a, r as o, s, t as c } from "../sheet-ijlsjq-n.js";
2
+ import { a as e, c as t, i as n, l as r, n as i, o as a, r as o, s, t as c } from "../sheet-DoAxTb2J.js";
3
3
  export { c as Sheet, i as SheetBody, o as SheetClose, n as SheetContent, e as SheetDescription, a as SheetFooter, s as SheetHeader, t as SheetTitle, r as SheetTrigger };
@@ -1,3 +1,3 @@
1
1
  "use client";
2
- import { C as e, D as t, S as n, _ as r, a as i, b as a, c as o, d as s, f as c, g as l, h as u, i as d, l as f, m as p, n as m, o as h, p as g, r as _, s as v, t as y, u as b, v as x, w as S, x as C, y as w } from "../sidebar-Db6gkh3U.js";
2
+ import { C as e, D as t, S as n, _ as r, a as i, b as a, c as o, d as s, f as c, g as l, h as u, i as d, l as f, m as p, n as m, o as h, p as g, r as _, s as v, t as y, u as b, v as x, w as S, x as C, y as w } from "../sidebar-D2iSnGJ7.js";
3
3
  export { y as Sidebar, m as SidebarContent, _ as SidebarFooter, d as SidebarGroup, i as SidebarGroupAction, h as SidebarGroupContent, v as SidebarGroupLabel, o as SidebarHeader, f as SidebarInput, b as SidebarInset, s as SidebarMenu, c as SidebarMenuAction, g as SidebarMenuBadge, p as SidebarMenuButton, u as SidebarMenuItem, l as SidebarMenuSkeleton, r as SidebarMenuSub, x as SidebarMenuSubButton, w as SidebarMenuSubItem, a as SidebarProvider, C as SidebarRail, n as SidebarSeparator, e as SidebarTrigger, S as defaultSidebarStrings, t as useSidebar };
@@ -1,12 +1,12 @@
1
1
  "use client";
2
2
  import { useStrings as e } from "../lib/strings.js";
3
- import { t } from "../utils-BRhFDwuU.js";
4
- import { n } from "../buttons-DPZekJFu.js";
5
- import { c as r } from "../typography-UTnveOEy.js";
6
- import { t as i } from "../structure-BmisBK-3.js";
3
+ import { t } from "../utils-CF3c95Io.js";
4
+ import { n } from "../buttons-BbfzgczK.js";
5
+ import { c as r } from "../typography-CSyJrh28.js";
6
+ import { t as i } from "../structure-C0V0_Fyf.js";
7
7
  import { t as a } from "../field-state-recipes-BVA2CWHo.js";
8
- import { t as o } from "../input-DQdEd0YD.js";
9
- import { t as s } from "../form-field-CwH9y77i.js";
8
+ import { t as o } from "../input-Cdw4k0fb.js";
9
+ import { t as s } from "../form-field-CsgRmdit.js";
10
10
  import { forwardRef as c, useEffect as l, useId as u, useImperativeHandle as d, useLayoutEffect as ee, useMemo as te, useRef as f, useState as p } from "react";
11
11
  import { jsx as m, jsxs as h } from "react/jsx-runtime";
12
12
  //#region src/components/base/signature-pad/signature-pad.types.ts
@@ -1,3 +1,3 @@
1
1
  "use client";
2
- import { a as e, i as t, n, r, t as i } from "../skeleton-Byjnt7qr.js";
2
+ import { a as e, i as t, n, r, t as i } from "../skeleton-CUj8O5Bd.js";
3
3
  export { i as ContentSkeleton, n as PageSkeleton, r as Skeleton, t as TableSkeleton, e as TwoColumnPageSkeleton };
@@ -1,9 +1,9 @@
1
1
  "use client";
2
- import { f as e } from "../ui-provider-C_U0Xma4.js";
2
+ import { f as e } from "../ui-provider-CQCuCBcy.js";
3
3
  import { useStrings as t } from "../lib/strings.js";
4
- import { t as n } from "../utils-BRhFDwuU.js";
5
- import { c as r } from "../typography-UTnveOEy.js";
6
- import { t as i } from "../structure-BmisBK-3.js";
4
+ import { t as n } from "../utils-CF3c95Io.js";
5
+ import { c as r } from "../typography-CSyJrh28.js";
6
+ import { t as i } from "../structure-C0V0_Fyf.js";
7
7
  import { n as a } from "../track-recipes-CDcKmndW.js";
8
8
  import { forwardRef as o } from "react";
9
9
  import { jsx as s, jsxs as c } from "react/jsx-runtime";
@@ -1,3 +1,3 @@
1
1
  "use client";
2
- import { i as e, n as t, r as n, t as r } from "../structure-BmisBK-3.js";
2
+ import { i as e, n as t, r as n, t as r } from "../structure-C0V0_Fyf.js";
3
3
  export { e as AdaptiveGrid, n as Grid, t as GridCell, r as Stack };
@@ -1,3 +1,3 @@
1
1
  "use client";
2
- import { a as e, c as t, i as n, n as r, o as i, r as a, s as o, t as s } from "../table-DsfzoUia.js";
2
+ import { a as e, c as t, i as n, n as r, o as i, r as a, s as o, t as s } from "../table-CpvnzJn9.js";
3
3
  export { s as Table, r as TableBody, a as TableCaption, n as TableCell, e as TableFooter, i as TableHead, o as TableHeader, t as TableRow };
@@ -1,4 +1,4 @@
1
1
  "use client";
2
- import { n as e, t } from "../input-DQdEd0YD.js";
3
- import { a as n, c as r, d as i, i as a, l as o, n as s, o as c, r as l, s as u, t as d, u as f } from "../text-inputs-f9Ia-aCi.js";
2
+ import { n as e, t } from "../input-Cdw4k0fb.js";
3
+ import { a as n, c as r, d as i, i as a, l as o, n as s, o as c, r as l, s as u, t as d, u as f } from "../text-inputs-DXItiR0O.js";
4
4
  export { t as Input, n as InputGroup, c as InputGroupAddon, u as InputGroupButton, r as InputGroupInput, o as InputGroupText, f as InputGroupTextarea, l as PasswordInput, d as SlugField, i as Textarea, e as defaultInputStrings, a as defaultPasswordInputStrings, s as slugifyValue };
@@ -1,7 +1,7 @@
1
1
  "use client";
2
- import { p as e } from "../ui-provider-C_U0Xma4.js";
3
- import { t } from "../utils-BRhFDwuU.js";
4
- import { t as n } from "../affordance-geometry.generated-tF36bREk.js";
2
+ import { p as e } from "../ui-provider-CQCuCBcy.js";
3
+ import { t } from "../utils-CF3c95Io.js";
4
+ import { t as n } from "../affordance-geometry.generated-B8yGOr8-.js";
5
5
  import { jsx as r } from "react/jsx-runtime";
6
6
  import { CircleCheckIcon as i, InfoIcon as a, Loader2Icon as o, OctagonXIcon as s, TriangleAlertIcon as c } from "lucide-react";
7
7
  import { Toaster as l } from "sonner";
package/dist/base/tree.js CHANGED
@@ -1,3 +1,3 @@
1
1
  "use client";
2
- import { t as e } from "../tree-WnKQzwbq.js";
2
+ import { t as e } from "../tree-CV11PURP.js";
3
3
  export { e as Tree };
@@ -1,3 +1,3 @@
1
1
  "use client";
2
- import { i as e, n as t, r as n, t as r } from "../upload-queue-Boscubn9.js";
2
+ import { i as e, n as t, r as n, t as r } from "../upload-queue-DhQJiSRc.js";
3
3
  export { n as UploadProgressList, r as UploadTray, e as defaultUploadProgressListStrings, t as defaultUploadTrayStrings };