themelia-react-ui 2.0.3 → 2.0.5

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 (648) hide show
  1. package/CHANGELOG.md +185 -0
  2. package/README.md +168 -36
  3. package/dist/{accordion-Cjb6sx0G.js → accordion-B9MHG0cT.js} +11 -11
  4. package/dist/accordion-B9MHG0cT.js.map +1 -0
  5. package/dist/action-menu-Dr8K-ghE.js +284 -0
  6. package/dist/action-menu-Dr8K-ghE.js.map +1 -0
  7. package/dist/{affordance-geometry.generated-tF36bREk.js → affordance-geometry.generated-P-aVJisu.js} +42 -36
  8. package/dist/affordance-geometry.generated-P-aVJisu.js.map +1 -0
  9. package/dist/{ai-artifact-DvTwDVyL.js → ai-artifact-C58tQcBy.js} +387 -350
  10. package/dist/ai-artifact-C58tQcBy.js.map +1 -0
  11. package/dist/app-shell-B_IuNWOo.js +321 -0
  12. package/dist/app-shell-B_IuNWOo.js.map +1 -0
  13. package/dist/{attachment-BxDfL2mw.js → attachment-Dg_69lPS.js} +9 -9
  14. package/dist/{attachment-BxDfL2mw.js.map → attachment-Dg_69lPS.js.map} +1 -1
  15. package/dist/{auth-BGua8ouh.js → auth-DTkkshS8.js} +44 -47
  16. package/dist/auth-DTkkshS8.js.map +1 -0
  17. package/dist/{avatar-DAPlDvhJ.js → avatar-CeZaFmNH.js} +8 -8
  18. package/dist/avatar-CeZaFmNH.js.map +1 -0
  19. package/dist/{badge-HpFqoqSY.js → badge-xIiV_E7f.js} +5 -5
  20. package/dist/{badge-HpFqoqSY.js.map → badge-xIiV_E7f.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 +2 -372
  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 +2 -2
  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 +7 -7
  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 +12 -12
  51. package/dist/base/repeaters.js.map +1 -1
  52. package/dist/base/sheet.js +1 -1
  53. package/dist/base/sidebar.js +2 -2
  54. package/dist/base/signature-pad.js +7 -7
  55. package/dist/base/signature-pad.js.map +1 -1
  56. package/dist/base/skeleton.js +1 -1
  57. package/dist/base/spinner.js +4 -4
  58. package/dist/base/structure.js +1 -1
  59. package/dist/base/table.js +1 -1
  60. package/dist/base/text-inputs.js +2 -2
  61. package/dist/base/toaster.js +36 -36
  62. package/dist/base/toaster.js.map +1 -1
  63. package/dist/base/tree.js +1 -1
  64. package/dist/base/upload-queue.js +1 -1
  65. package/dist/base/upload.js +3 -3
  66. package/dist/base/value-inputs.js +1 -1
  67. package/dist/{batch-action-bar-DnUJ21NQ.js → batch-action-bar-Cb8cuvyy.js} +6 -6
  68. package/dist/batch-action-bar-Cb8cuvyy.js.map +1 -0
  69. package/dist/blocks/admin.js +23 -23
  70. package/dist/blocks/admin.js.map +1 -1
  71. package/dist/blocks/ai.js +230 -216
  72. package/dist/blocks/ai.js.map +1 -1
  73. package/dist/blocks/analytics/usage-card.js +1 -1
  74. package/dist/blocks/analytics.js +326 -307
  75. package/dist/blocks/analytics.js.map +1 -1
  76. package/dist/blocks/collaboration.js +1 -1
  77. package/dist/blocks/commerce/receipt.js +1 -1
  78. package/dist/blocks/commerce.js +1247 -1169
  79. package/dist/blocks/commerce.js.map +1 -1
  80. package/dist/blocks/data-display.js +2 -2
  81. package/dist/blocks/onboarding.js +6 -6
  82. package/dist/blocks/onboarding.js.map +1 -1
  83. package/dist/blocks/planning.js +11 -11
  84. package/dist/blocks/timelines.js +1 -1
  85. package/dist/{breadcrumbs-C-oqs1sQ.js → breadcrumbs-J-K2kl4c.js} +6 -6
  86. package/dist/{breadcrumbs-C-oqs1sQ.js.map → breadcrumbs-J-K2kl4c.js.map} +1 -1
  87. package/dist/{button-DVzspB_G.js → button-S2Cubiiz.js} +3 -3
  88. package/dist/button-S2Cubiiz.js.map +1 -0
  89. package/dist/{buttons-DPZekJFu.js → buttons-BedGfygC.js} +16 -16
  90. package/dist/buttons-BedGfygC.js.map +1 -0
  91. package/dist/cards-rNX1M4Xn.js +69 -0
  92. package/dist/cards-rNX1M4Xn.js.map +1 -0
  93. package/dist/cascader-B1MiqkBq.js +439 -0
  94. package/dist/cascader-B1MiqkBq.js.map +1 -0
  95. package/dist/chart-Darg_0Kv.js +162 -0
  96. package/dist/chart-Darg_0Kv.js.map +1 -0
  97. package/dist/{checkbox-AWIhNhmo.js → checkbox-fflqmODR.js} +9 -5
  98. package/dist/checkbox-fflqmODR.js.map +1 -0
  99. package/dist/choice-inputs-zUgBZfE4.js +777 -0
  100. package/dist/choice-inputs-zUgBZfE4.js.map +1 -0
  101. package/dist/{code-block-DeneBJR_.js → code-block-BzmM9Eig.js} +9 -9
  102. package/dist/code-block-BzmM9Eig.js.map +1 -0
  103. package/dist/{collapsible-C-_l4hpy.js → collapsible-BkAI_XD4.js} +5 -5
  104. package/dist/{collapsible-C-_l4hpy.js.map → collapsible-BkAI_XD4.js.map} +1 -1
  105. package/dist/{collection-content-By56pLog.js → collection-content-gDh1v6O4.js} +3 -3
  106. package/dist/{collection-content-By56pLog.js.map → collection-content-gDh1v6O4.js.map} +1 -1
  107. package/dist/combobox-BEx0vJgF.js +362 -0
  108. package/dist/combobox-BEx0vJgF.js.map +1 -0
  109. package/dist/{combobox-Dxo2fAYQ.js → combobox-BwzoXFSG.js} +254 -247
  110. package/dist/combobox-BwzoXFSG.js.map +1 -0
  111. package/dist/{command-C25VMRII.js → command-CrlPIL6m.js} +12 -12
  112. package/dist/command-CrlPIL6m.js.map +1 -0
  113. package/dist/{comments-DD0DUPwJ.js → comments-Dmpp0YIc.js} +380 -379
  114. package/dist/comments-Dmpp0YIc.js.map +1 -0
  115. package/dist/components/base/action-menu/action-menu.d.ts +9 -1
  116. package/dist/components/base/buttons/button-group.recipes.d.ts +2 -2
  117. package/dist/components/base/cards/card.recipes.d.ts +16 -7
  118. package/dist/components/base/cards/partials/card-primitives.d.ts +9 -2
  119. package/dist/components/base/cards/partials/smart-card-header-row.d.ts +3 -1
  120. package/dist/components/base/cards/smart-card.types.d.ts +11 -7
  121. package/dist/components/base/cascader/cascader-panel.d.ts +76 -0
  122. package/dist/components/base/chart/chart.d.ts +6 -1
  123. package/dist/components/base/choice-inputs/checkbox.d.ts +7 -2
  124. package/dist/components/base/choice-inputs/choice-types.d.ts +1 -1
  125. package/dist/components/base/choice-inputs/switch-card.d.ts +7 -0
  126. package/dist/components/base/choice-inputs/toggle-field.d.ts +7 -0
  127. package/dist/components/base/combobox/index.d.ts +4 -2
  128. package/dist/components/base/date-pickers/datepicker.types.d.ts +7 -0
  129. package/dist/components/base/feedback/alert.d.ts +1 -1
  130. package/dist/components/base/forms/controlled-form-field.d.ts +6 -6
  131. package/dist/components/base/forms/form-field.d.ts +5 -3
  132. package/dist/components/base/forms/form-sizing.d.ts +7 -7
  133. package/dist/components/base/forms/index.d.ts +1 -0
  134. package/dist/components/base/forms/server-errors.d.ts +16 -0
  135. package/dist/components/base/forms/workflow.d.ts +11 -2
  136. package/dist/components/base/forms-numeric/coordinates-input.d.ts +4 -0
  137. package/dist/components/base/metadata-list/metadata-list.d.ts +3 -1
  138. package/dist/components/base/navigation/dropdown-menu.d.ts +1 -1
  139. package/dist/components/base/navigation/page-header/page-header-commands.d.ts +14 -7
  140. package/dist/components/base/navigation/page-header/page-header.d.ts +13 -4
  141. package/dist/components/base/popover/popover.d.ts +3 -3
  142. package/dist/components/base/popover/popover.recipes.d.ts +10 -6
  143. package/dist/components/base/sheet/sheet.d.ts +2 -0
  144. package/dist/components/base/sidebar/index.d.ts +1 -1
  145. package/dist/components/base/sidebar/sidebar.d.ts +27 -5
  146. package/dist/components/base/structure/composition.recipes.d.ts +17 -0
  147. package/dist/components/base/text-inputs/hooks/use-form-field-state.d.ts +7 -2
  148. package/dist/components/base/text-inputs/input.d.ts +4 -2
  149. package/dist/components/base/text-inputs/textarea.d.ts +4 -2
  150. package/dist/components/base/toaster/index.d.ts +1 -0
  151. package/dist/components/base/value-inputs/date-time-input.d.ts +2 -1
  152. package/dist/components/base/value-inputs/slider.d.ts +5 -1
  153. package/dist/components/base/value-inputs/tags-input.d.ts +5 -1
  154. package/dist/components/blocks/ai/ai-file-tree/types.d.ts +1 -1
  155. package/dist/components/blocks/ai/ai-tool-call/types.d.ts +3 -1
  156. package/dist/components/blocks/ai/ai.strings.d.ts +2 -0
  157. package/dist/components/blocks/analytics/metric-comparison/metric-comparison.d.ts +2 -0
  158. package/dist/components/blocks/analytics/usage-card/usage-card.strings.d.ts +2 -0
  159. package/dist/components/blocks/commerce/cart-summary/cart-summary.d.ts +1 -1
  160. package/dist/components/blocks/commerce/cart-summary/types.d.ts +3 -1
  161. package/dist/components/blocks/commerce/discount-stack/discount-stack.d.ts +1 -1
  162. package/dist/components/blocks/commerce/discount-stack/types.d.ts +3 -1
  163. package/dist/components/blocks/commerce/fulfillment-group/fulfillment-group.d.ts +1 -1
  164. package/dist/components/blocks/commerce/fulfillment-group/types.d.ts +11 -2
  165. package/dist/components/blocks/commerce/index.d.ts +7 -6
  166. package/dist/components/blocks/commerce/inventory-section/inventory-section.d.ts +1 -1
  167. package/dist/components/blocks/commerce/inventory-section/types.d.ts +7 -2
  168. package/dist/components/blocks/commerce/invoice-header/index.d.ts +2 -1
  169. package/dist/components/blocks/commerce/invoice-header/invoice-header.d.ts +1 -1
  170. package/dist/components/blocks/commerce/invoice-header/types.d.ts +20 -6
  171. package/dist/components/blocks/commerce/invoice-line-items/invoice-line-items.d.ts +1 -1
  172. package/dist/components/blocks/commerce/invoice-line-items/types.d.ts +24 -7
  173. package/dist/components/blocks/commerce/invoice-mini/index.d.ts +2 -1
  174. package/dist/components/blocks/commerce/invoice-mini/types.d.ts +7 -1
  175. package/dist/components/blocks/commerce/order-customer/order-customer.d.ts +1 -1
  176. package/dist/components/blocks/commerce/order-customer/types.d.ts +9 -1
  177. package/dist/components/blocks/commerce/refund-status/refund-status.d.ts +1 -1
  178. package/dist/components/blocks/commerce/refund-status/types.d.ts +3 -1
  179. package/dist/components/blocks/commerce/shipment-tracking/shipment-tracking.d.ts +1 -1
  180. package/dist/components/blocks/commerce/shipment-tracking/types.d.ts +3 -1
  181. package/dist/components/blocks/commerce/tax-breakdown/tax-breakdown.d.ts +1 -1
  182. package/dist/components/blocks/commerce/tax-breakdown/types.d.ts +3 -1
  183. package/dist/components/features/activities/activities.types.d.ts +8 -2
  184. package/dist/components/features/activities/partials/activity-marker.d.ts +7 -3
  185. package/dist/components/features/activities/partials/activity-row.d.ts +24 -0
  186. package/dist/components/features/event-calendar/colors.d.ts +2 -2
  187. package/dist/components/features/event-calendar/event-calendar.types.d.ts +4 -0
  188. package/dist/components/features/filters/facets/select-facet.d.ts +2 -1
  189. package/dist/components/features/filters/filters.strings.d.ts +4 -0
  190. package/dist/components/features/filters/filters.types.d.ts +3 -0
  191. package/dist/components/features/filters/partials/filter-editor-header.d.ts +16 -0
  192. package/dist/components/features/filters/partials/filter-popover-content.d.ts +1 -1
  193. package/dist/components/features/filters/partials/nested-filter-options.d.ts +21 -0
  194. package/dist/components/features/filters/partials/regular-filter-content.d.ts +2 -1
  195. package/dist/components/features/filters/utils/filter-utils.d.ts +21 -3
  196. package/dist/components/features/global-search/global-search.types.d.ts +2 -0
  197. package/dist/components/features/global-search/partials/global-search-input.d.ts +10 -0
  198. package/dist/components/features/global-search/partials/global-search-result-row.d.ts +7 -1
  199. package/dist/components/features/media-library/media-library.strings.d.ts +2 -0
  200. package/dist/components/features/media-library/media-library.types.d.ts +14 -4
  201. package/dist/components/features/media-library/partials/media-library-partials.d.ts +1 -1
  202. package/dist/components/features/products/components/product-options-matrix.d.ts +1 -1
  203. package/dist/components/features/products/components/product-variant-editor.d.ts +1 -1
  204. package/dist/components/features/products/components/product-variants-manager.d.ts +1 -1
  205. package/dist/components/features/products/products.strings.d.ts +9 -1
  206. package/dist/components/features/products/products.types.d.ts +43 -6
  207. package/dist/components/features/resource/resource.d.ts +5 -1
  208. package/dist/components/features/resource/resource.types.d.ts +12 -1
  209. package/dist/components/features/rich-text-editor/partials/image-uploads.d.ts +1 -1
  210. package/dist/components/features/rich-text-editor/rich-text-editor.recipes.d.ts +12 -2
  211. package/dist/components/features/table/partials/resource-cell.d.ts +22 -5
  212. package/dist/components/features/table/table.types.d.ts +1 -1
  213. package/dist/components/layout/app-shell/app-shell.types.d.ts +35 -6
  214. package/dist/components/layout/app-shell/index.d.ts +1 -1
  215. package/dist/components/layout/app-shell/shell-regions.d.ts +27 -0
  216. package/dist/components/layout/app-shell/sidebar-inset-layout.d.ts +1 -1
  217. package/dist/components/layout/app-shell/stacked-layout.d.ts +1 -1
  218. package/dist/components/layout/app-shell/topbar-sidebar-layout.d.ts +1 -1
  219. package/dist/components/layout/containers/two-column-layout.d.ts +2 -0
  220. package/dist/components/layout/header/header.recipes.d.ts +6 -0
  221. package/dist/components/layout/header/header.types.d.ts +6 -6
  222. package/dist/components/layout/navigation/section-nav/section-nav.d.ts +5 -0
  223. package/dist/components/layout/page/index.d.ts +2 -1
  224. package/dist/components/layout/page/page.d.ts +1 -0
  225. package/dist/components/layout/page/page.strings.d.ts +11 -0
  226. package/dist/components/layout/page/page.types.d.ts +69 -17
  227. package/dist/components/layout/page/partials/page-header.d.ts +1 -1
  228. package/dist/components/layout/settings/settings.d.ts +9 -2
  229. package/dist/components/layout/sidebar/app-sidebar.d.ts +1 -1
  230. package/dist/components/layout/sidebar/components/sidebar-grouped-navigation.d.ts +1 -1
  231. package/dist/components/layout/sidebar/components/sidebar-navigation.d.ts +1 -1
  232. package/dist/components/layout/sidebar/index.d.ts +2 -1
  233. package/dist/components/layout/sidebar/sidebar-navigation-rail.d.ts +36 -0
  234. package/dist/components/layout/sidebar/sidebar.context.d.ts +5 -7
  235. package/dist/components/layout/sidebar/sidebar.types.d.ts +48 -10
  236. package/dist/components/layout/sidebar/sidebar.utils.d.ts +9 -1
  237. package/dist/components/layout/workspace/workspace.types.d.ts +8 -1
  238. package/dist/components/typography/text.styles.d.ts +26 -1
  239. package/dist/components/ui/alert-dialog.d.ts +2 -2
  240. package/dist/components/ui/combobox.d.ts +1 -1
  241. package/dist/components/ui/dialog.d.ts +2 -2
  242. package/dist/components/ui/overlay-layer.d.ts +18 -0
  243. package/dist/components/ui/sheet.d.ts +5 -1
  244. package/dist/components/ui/sidebar-state.d.ts +82 -0
  245. package/dist/components/ui/sidebar.d.ts +5 -17
  246. package/dist/composition.recipes-COdiFhxB.js +19 -0
  247. package/dist/composition.recipes-COdiFhxB.js.map +1 -0
  248. package/dist/containers-CIxwbZt5.js +112 -0
  249. package/dist/containers-CIxwbZt5.js.map +1 -0
  250. package/dist/{control-group-recipes-DBXmfh2E.js → control-group-recipes-fMuFo0H7.js} +6 -6
  251. package/dist/control-group-recipes-fMuFo0H7.js.map +1 -0
  252. package/dist/{copyable-ClBuk_UK.js → copyable-DIznBqiT.js} +7 -7
  253. package/dist/{copyable-ClBuk_UK.js.map → copyable-DIznBqiT.js.map} +1 -1
  254. package/dist/{data-display-DT_khPl_.js → data-display-BdgCAw8T.js} +277 -285
  255. package/dist/data-display-BdgCAw8T.js.map +1 -0
  256. package/dist/{date-DCrsDTZc.js → date-Cq8ioE4o.js} +5 -5
  257. package/dist/{date-DCrsDTZc.js.map → date-Cq8ioE4o.js.map} +1 -1
  258. package/dist/{date-picker-B2K3ucWn.js → date-picker-RlIzKom_.js} +501 -480
  259. package/dist/date-picker-RlIzKom_.js.map +1 -0
  260. package/dist/date-pickers-DY-CpXS1.js +179 -0
  261. package/dist/date-pickers-DY-CpXS1.js.map +1 -0
  262. package/dist/{display-hAc1HjpI.js → display-KsZLw9Ov.js} +9 -9
  263. package/dist/{display-hAc1HjpI.js.map → display-KsZLw9Ov.js.map} +1 -1
  264. package/dist/dropdown-menu-CLs8Lihj.js +194 -0
  265. package/dist/dropdown-menu-CLs8Lihj.js.map +1 -0
  266. package/dist/features/activities.js +302 -253
  267. package/dist/features/activities.js.map +1 -1
  268. package/dist/features/ai-chat.js +15 -14
  269. package/dist/features/ai-chat.js.map +1 -1
  270. package/dist/features/appointment-calendar.js +222 -220
  271. package/dist/features/appointment-calendar.js.map +1 -1
  272. package/dist/features/async-preview.js +11 -10
  273. package/dist/features/async-preview.js.map +1 -1
  274. package/dist/features/combobox.js +1 -1
  275. package/dist/features/comments.js +1 -1
  276. package/dist/features/data-view.js +13 -13
  277. package/dist/features/data-view.js.map +1 -1
  278. package/dist/features/email-composer.js +249 -249
  279. package/dist/features/email-composer.js.map +1 -1
  280. package/dist/features/event-calendar.js +264 -269
  281. package/dist/features/event-calendar.js.map +1 -1
  282. package/dist/features/filters.js +1 -1
  283. package/dist/features/global-search.js +167 -138
  284. package/dist/features/global-search.js.map +1 -1
  285. package/dist/features/kanban.js +6 -7
  286. package/dist/features/kanban.js.map +1 -1
  287. package/dist/features/map.js +269 -260
  288. package/dist/features/map.js.map +1 -1
  289. package/dist/features/media-library.js +827 -777
  290. package/dist/features/media-library.js.map +1 -1
  291. package/dist/features/mentions.js +1 -1
  292. package/dist/features/overlays.js +1 -1
  293. package/dist/features/products.js +1246 -1169
  294. package/dist/features/products.js.map +1 -1
  295. package/dist/features/questionnaire.js +13 -13
  296. package/dist/features/questionnaire.js.map +1 -1
  297. package/dist/features/resource-assignment.js +8 -8
  298. package/dist/features/resource.js +127 -123
  299. package/dist/features/resource.js.map +1 -1
  300. package/dist/features/rich-text-editor.js +2 -2
  301. package/dist/features/schema-form.js +254 -253
  302. package/dist/features/schema-form.js.map +1 -1
  303. package/dist/features/suggestions.js +3 -3
  304. package/dist/features/sync.js +3 -3
  305. package/dist/features/table.js +1 -1
  306. package/dist/features/theme-tweaker.js +95 -96
  307. package/dist/features/theme-tweaker.js.map +1 -1
  308. package/dist/{feedback-BYIhtitP.js → feedback-Dm4izqFn.js} +81 -80
  309. package/dist/feedback-Dm4izqFn.js.map +1 -0
  310. package/dist/{field-affordance-recipes-DZhnIL_Y.js → field-affordance-recipes-DWcNcOjh.js} +4 -4
  311. package/dist/field-affordance-recipes-DWcNcOjh.js.map +1 -0
  312. package/dist/{filters-DJVAveHA.js → filters-DzgSJpMK.js} +693 -645
  313. package/dist/filters-DzgSJpMK.js.map +1 -0
  314. package/dist/{form-field-CwH9y77i.js → form-field-BriWAXyg.js} +14 -8
  315. package/dist/form-field-BriWAXyg.js.map +1 -0
  316. package/dist/{form-sizing-BdP_Mf5p.js → form-sizing-Bs2qFUeE.js} +4 -4
  317. package/dist/form-sizing-Bs2qFUeE.js.map +1 -0
  318. package/dist/forms-C0RGnJTe.js +216 -0
  319. package/dist/forms-C0RGnJTe.js.map +1 -0
  320. package/dist/{forms-numeric-B_jraJaQ.js → forms-numeric-DIhghX1Q.js} +295 -291
  321. package/dist/forms-numeric-DIhghX1Q.js.map +1 -0
  322. package/dist/{header-BSfIEWbI.js → header-DMMxG__r.js} +67 -63
  323. package/dist/header-DMMxG__r.js.map +1 -0
  324. package/dist/header.recipes-BigdJjw1.js +6 -0
  325. package/dist/header.recipes-BigdJjw1.js.map +1 -0
  326. package/dist/hooks/useFormErrors.d.ts +1 -1
  327. package/dist/{hooks-ClH9thn4.js → hooks-DB6CJ4MR.js} +26 -14
  328. package/dist/hooks-DB6CJ4MR.js.map +1 -0
  329. package/dist/{icon-badge-DYKIwvOV.js → icon-badge-DZF-YjQp.js} +4 -4
  330. package/dist/{icon-badge-DYKIwvOV.js.map → icon-badge-DZF-YjQp.js.map} +1 -1
  331. package/dist/index.js +4 -5
  332. package/dist/input-CvyDQlY7.js +289 -0
  333. package/dist/input-CvyDQlY7.js.map +1 -0
  334. package/dist/input-DMBwAZmr.js +21 -0
  335. package/dist/input-DMBwAZmr.js.map +1 -0
  336. package/dist/item-DjCcM18E.js +277 -0
  337. package/dist/item-DjCcM18E.js.map +1 -0
  338. package/dist/layout/app-shell.js +1 -1
  339. package/dist/layout/auth.js +1 -1
  340. package/dist/layout/containers.js +1 -1
  341. package/dist/layout/header.js +1 -1
  342. package/dist/layout/hooks.js +1 -1
  343. package/dist/layout/navigation.js +1 -1
  344. package/dist/layout/page.js +2 -2
  345. package/dist/layout/settings.js +1 -1
  346. package/dist/layout/sidebar.js +3 -3
  347. package/dist/layout/workspace.js +1 -1
  348. package/dist/layout.js +11 -11
  349. package/dist/lib/affordance-geometry.generated.d.ts +41 -35
  350. package/dist/lib/control-group-recipes.d.ts +5 -5
  351. package/dist/lib/field-affordance-recipes.d.ts +2 -2
  352. package/dist/lib/motion-recipes.d.ts +3 -0
  353. package/dist/lib/navigation-row-recipes.d.ts +7 -7
  354. package/dist/lib/overlay-anatomy-recipes.d.ts +3 -3
  355. package/dist/lib/portal-recipes.d.ts +3 -0
  356. package/dist/lib/token-merge.generated.d.ts +13 -10
  357. package/dist/lib/ui-provider/types.d.ts +1 -1
  358. package/dist/lib/utils.js +1 -1
  359. package/dist/map-demo-tile.svg +1 -1
  360. package/dist/{media-gallery-3zIVLMWH.js → media-gallery-C-vChPmE.js} +6 -6
  361. package/dist/{media-gallery-3zIVLMWH.js.map → media-gallery-C-vChPmE.js.map} +1 -1
  362. package/dist/{mentions-CGlEJ15c.js → mentions-0_4nWuI-.js} +10 -10
  363. package/dist/{mentions-CGlEJ15c.js.map → mentions-0_4nWuI-.js.map} +1 -1
  364. package/dist/{message-DZ_ruyUV.js → message-g8p7eVtN.js} +7 -7
  365. package/dist/message-g8p7eVtN.js.map +1 -0
  366. package/dist/metadata-list-C3MkU-Om.js +443 -0
  367. package/dist/metadata-list-C3MkU-Om.js.map +1 -0
  368. package/dist/{motion-recipes-ChBg4HBq.js → motion-recipes-DitYv6P2.js} +10 -2
  369. package/dist/motion-recipes-DitYv6P2.js.map +1 -0
  370. package/dist/navigation-C90-oQFq.js +255 -0
  371. package/dist/navigation-C90-oQFq.js.map +1 -0
  372. package/dist/{navigation-BzhHI3lo.js → navigation-DaRjthVk.js} +101 -82
  373. package/dist/navigation-DaRjthVk.js.map +1 -0
  374. package/dist/{navigation-row-recipes-BFLCk_Aq.js → navigation-row-recipes-BGVLvU_O.js} +9 -9
  375. package/dist/navigation-row-recipes-BGVLvU_O.js.map +1 -0
  376. package/dist/{number-DbV1Dija.js → number-CRU3kGuk.js} +5 -5
  377. package/dist/{number-DbV1Dija.js.map → number-CRU3kGuk.js.map} +1 -1
  378. package/dist/overflow-tab-bar-IVFVQFV6.js +172 -0
  379. package/dist/overflow-tab-bar-IVFVQFV6.js.map +1 -0
  380. package/dist/overlays-BSgCtM2v.js +1013 -0
  381. package/dist/overlays-BSgCtM2v.js.map +1 -0
  382. package/dist/page-DUUKDAjo.js +331 -0
  383. package/dist/page-DUUKDAjo.js.map +1 -0
  384. package/dist/page-header-commands-7P3sfE9u.js +193 -0
  385. package/dist/page-header-commands-7P3sfE9u.js.map +1 -0
  386. package/dist/{pagination-BL25hu2s.js → pagination-CgCjElfu.js} +7 -7
  387. package/dist/{pagination-BL25hu2s.js.map → pagination-CgCjElfu.js.map} +1 -1
  388. package/dist/popover-B85RenIl.js +201 -0
  389. package/dist/popover-B85RenIl.js.map +1 -0
  390. package/dist/{popover-menu-Cn9rUkdc.js → popover-menu-DlnQ2zlR.js} +7 -7
  391. package/dist/{popover-menu-Cn9rUkdc.js.map → popover-menu-DlnQ2zlR.js.map} +1 -1
  392. package/dist/{popover.recipes-D3j8R8Yp.js → popover.recipes-DdiEp0rd.js} +18 -11
  393. package/dist/popover.recipes-DdiEp0rd.js.map +1 -0
  394. package/dist/portal-recipes-BpsV_iRw.js +9 -0
  395. package/dist/portal-recipes-BpsV_iRw.js.map +1 -0
  396. package/dist/{primitives-BFK08r9M.js → primitives-ByWgGUgt.js} +6 -6
  397. package/dist/{primitives-BFK08r9M.js.map → primitives-ByWgGUgt.js.map} +1 -1
  398. package/dist/primitives.js +4 -4
  399. package/dist/{progress-B1VnCT0K.js → progress-BJhQP9WX.js} +9 -9
  400. package/dist/{progress-B1VnCT0K.js.map → progress-BJhQP9WX.js.map} +1 -1
  401. package/dist/{receipt-BVSOH3Xo.js → receipt-tOc7B3hw.js} +7 -7
  402. package/dist/receipt-tOc7B3hw.js.map +1 -0
  403. package/dist/{rich-text-GOUyKQ-s.js → rich-text-Dth5E882.js} +4 -4
  404. package/dist/{rich-text-GOUyKQ-s.js.map → rich-text-Dth5E882.js.map} +1 -1
  405. package/dist/{rich-text-editor-cRLC-eBK.js → rich-text-editor-C1fOjBTd.js} +429 -430
  406. package/dist/rich-text-editor-C1fOjBTd.js.map +1 -0
  407. package/dist/{rich-text-editor-toolbar-DfXg0-VC.js → rich-text-editor-toolbar-laT3tpBT.js} +33 -29
  408. package/dist/rich-text-editor-toolbar-laT3tpBT.js.map +1 -0
  409. package/dist/{scroll-area-DcI-M1UT.js → scroll-area-B0dB2cBi.js} +2 -2
  410. package/dist/{scroll-area-DcI-M1UT.js.map → scroll-area-B0dB2cBi.js.map} +1 -1
  411. package/dist/{separator-Bom7NsGO.js → separator-Bb17I4pu.js} +2 -2
  412. package/dist/{separator-Bom7NsGO.js.map → separator-Bb17I4pu.js.map} +1 -1
  413. package/dist/{separator-BDV-Y648.js → separator-Ct_WSWTJ.js} +3 -3
  414. package/dist/{separator-BDV-Y648.js.map → separator-Ct_WSWTJ.js.map} +1 -1
  415. package/dist/services/actions.js +1 -1
  416. package/dist/settings-Bar5wiSo.js +167 -0
  417. package/dist/settings-Bar5wiSo.js.map +1 -0
  418. package/dist/sheet-BGPERY55.js +250 -0
  419. package/dist/sheet-BGPERY55.js.map +1 -0
  420. package/dist/sidebar-D-JYMMbY.js +686 -0
  421. package/dist/sidebar-D-JYMMbY.js.map +1 -0
  422. package/dist/sidebar-f9gRWXIR.js +1001 -0
  423. package/dist/sidebar-f9gRWXIR.js.map +1 -0
  424. package/dist/skeleton-BapcJd9C.js +265 -0
  425. package/dist/skeleton-BapcJd9C.js.map +1 -0
  426. package/dist/smart-card-CW0hjetE.js +617 -0
  427. package/dist/smart-card-CW0hjetE.js.map +1 -0
  428. package/dist/{structure-BmisBK-3.js → structure-DuxKl954.js} +3 -3
  429. package/dist/{structure-BmisBK-3.js.map → structure-DuxKl954.js.map} +1 -1
  430. package/dist/{structure.recipes-EPz60cU8.js → structure.recipes-BB4-n58V.js} +2 -2
  431. package/dist/{structure.recipes-EPz60cU8.js.map → structure.recipes-BB4-n58V.js.map} +1 -1
  432. package/dist/style.css +1 -1
  433. package/dist/{table-DsfzoUia.js → table-B4TE7iOV.js} +3 -3
  434. package/dist/{table-DsfzoUia.js.map → table-B4TE7iOV.js.map} +1 -1
  435. package/dist/{table-BweFy_P9.js → table-CFOWY9pQ.js} +394 -388
  436. package/dist/table-CFOWY9pQ.js.map +1 -0
  437. package/dist/{tabs-CDocW5D1.js → tabs-e7ko9S2o.js} +11 -11
  438. package/dist/tabs-e7ko9S2o.js.map +1 -0
  439. package/dist/{text-inputs-f9Ia-aCi.js → text-inputs-B1culiSK.js} +107 -104
  440. package/dist/text-inputs-B1culiSK.js.map +1 -0
  441. package/dist/{text.styles-g4He6UIW.js → text.styles-B64My8RZ.js} +25 -10
  442. package/dist/text.styles-B64My8RZ.js.map +1 -0
  443. package/dist/theme.css +192 -149
  444. package/dist/{timelines-CwM_9IhD.js → timelines-D3Sl9ueq.js} +13 -12
  445. package/dist/timelines-D3Sl9ueq.js.map +1 -0
  446. package/dist/tooltip-8wz5S_Zr.js +113 -0
  447. package/dist/tooltip-8wz5S_Zr.js.map +1 -0
  448. package/dist/{tree-WnKQzwbq.js → tree-CzUJHnFs.js} +9 -9
  449. package/dist/{tree-WnKQzwbq.js.map → tree-CzUJHnFs.js.map} +1 -1
  450. package/dist/typography/rich-text.js +1 -1
  451. package/dist/typography-BQnine1k.js +117 -0
  452. package/dist/typography-BQnine1k.js.map +1 -0
  453. package/dist/typography.js +1 -1
  454. package/dist/ui-provider-C-74NVLc.js +178 -0
  455. package/dist/ui-provider-C-74NVLc.js.map +1 -0
  456. package/dist/ui-provider.js +2 -3
  457. package/dist/{upload-CXyxmQBP.js → upload-BOW6U2tI.js} +25 -24
  458. package/dist/upload-BOW6U2tI.js.map +1 -0
  459. package/dist/{upload-queue-Boscubn9.js → upload-queue-qUXn1ykN.js} +16 -14
  460. package/dist/upload-queue-qUXn1ykN.js.map +1 -0
  461. package/dist/{usage-card-BhO5eqkX.js → usage-card-BeSLY0i0.js} +145 -137
  462. package/dist/usage-card-BeSLY0i0.js.map +1 -0
  463. package/dist/{utils-BRhFDwuU.js → utils-B6kKb8jB.js} +303 -144
  464. package/dist/utils-B6kKb8jB.js.map +1 -0
  465. package/dist/value-inputs-skdVB2zh.js +980 -0
  466. package/dist/value-inputs-skdVB2zh.js.map +1 -0
  467. package/dist/{value-typography-BP8OG6h5.js → value-typography-uAmWUAL1.js} +2 -2
  468. package/dist/{value-typography-BP8OG6h5.js.map → value-typography-uAmWUAL1.js.map} +1 -1
  469. package/dist/workspace-DHeHv0qw.js +411 -0
  470. package/dist/workspace-DHeHv0qw.js.map +1 -0
  471. package/docs/consumer-skill/SKILL.md +15 -129
  472. package/docs/consumer-skill/agents/themelia-ui-designer.md +96 -0
  473. package/docs/consumer-skill/examples/app-layout.tsx +74 -13
  474. package/docs/consumer-skill/examples/authentication.tsx +77 -0
  475. package/docs/consumer-skill/examples/commerce-lines.tsx +271 -0
  476. package/docs/consumer-skill/examples/custom-composition.tsx +21 -0
  477. package/docs/consumer-skill/examples/detail.tsx +5 -4
  478. package/docs/consumer-skill/examples/edit.tsx +30 -38
  479. package/docs/consumer-skill/examples/editable-sections.tsx +38 -0
  480. package/docs/consumer-skill/examples/index-table.tsx +4 -4
  481. package/docs/consumer-skill/examples/manifest.json +88 -1
  482. package/docs/consumer-skill/examples/product-media.tsx +41 -0
  483. package/docs/consumer-skill/examples/product-parts.tsx +81 -0
  484. package/docs/consumer-skill/examples/rhf-bindings.tsx +86 -0
  485. package/docs/consumer-skill/examples/rhf-edit-page.tsx +141 -0
  486. package/docs/consumer-skill/examples/rhf-overlay-form.tsx +105 -0
  487. package/docs/consumer-skill/examples/rhf-transport.tsx +28 -0
  488. package/docs/consumer-skill/examples/token-domain-structure.tsx +68 -0
  489. package/docs/consumer-skill/references/agents-md.md +23 -11
  490. package/docs/consumer-skill/references/analytics.md +18 -1
  491. package/docs/consumer-skill/references/authentication.md +42 -0
  492. package/docs/consumer-skill/references/commerce-composition.md +97 -0
  493. package/docs/consumer-skill/references/component-contracts.json +325201 -0
  494. package/docs/consumer-skill/references/composition-mapping.md +106 -0
  495. package/docs/consumer-skill/references/composition.md +198 -46
  496. package/docs/consumer-skill/references/critique-rubric.md +98 -0
  497. package/docs/consumer-skill/references/custom-composition.md +261 -0
  498. package/docs/consumer-skill/references/data-reading.md +79 -0
  499. package/docs/consumer-skill/references/design-contract.md +43 -9
  500. package/docs/consumer-skill/references/discovery.md +109 -8
  501. package/docs/consumer-skill/references/domain-structures.md +124 -0
  502. package/docs/consumer-skill/references/installation.md +51 -36
  503. package/docs/consumer-skill/references/integration.md +41 -2
  504. package/docs/consumer-skill/references/product-composition.md +94 -0
  505. package/docs/consumer-skill/references/public-api.json +4390 -475
  506. package/docs/consumer-skill/references/review.md +47 -5
  507. package/docs/consumer-skill/references/rhf-workflows.md +93 -0
  508. package/docs/consumer-skill/references/screen-archetypes.md +34 -0
  509. package/docs/consumer-skill/references/screen-decisions.md +126 -0
  510. package/docs/consumer-skill/references/theming.md +25 -27
  511. package/docs/consumer-skill/references/tokens.json +20 -11
  512. package/docs/consumer-skill/references/view-craft.md +153 -0
  513. package/docs/consumer-skill/references/view-spec.md +73 -0
  514. package/docs/consumer-skill/references/workflows.md +9 -2
  515. package/docs/consumer-skill/scripts/composition-policy.mjs +39 -3
  516. package/docs/consumer-skill/scripts/composition-schema.d.mts +2 -0
  517. package/docs/consumer-skill/scripts/composition-schema.mjs +32 -0
  518. package/docs/consumer-skill/scripts/composition.mjs +254 -0
  519. package/docs/consumer-skill/scripts/discovery.mjs +96 -10
  520. package/docs/consumer-skill/scripts/inspect-component.mjs +11 -0
  521. package/docs/consumer-skill/scripts/inspect-tokens.mjs +11 -0
  522. package/docs/consumer-skill/scripts/inspection.mjs +193 -0
  523. package/docs/consumer-skill/scripts/map-composition.mjs +12 -0
  524. package/docs/consumer-skill/scripts/setup-skills.mjs +111 -0
  525. package/docs/consumer-skill/scripts/surface-policy.mjs +5 -5
  526. package/docs/consumer-skills/themelia-components/SKILL.md +31 -0
  527. package/docs/consumer-skills/themelia-composition/SKILL.md +34 -0
  528. package/docs/consumer-skills/themelia-design/SKILL.md +55 -0
  529. package/docs/consumer-skills/themelia-forms/SKILL.md +12 -0
  530. package/docs/consumer-skills/themelia-foundation/SKILL.md +15 -0
  531. package/docs/consumer-skills/themelia-tokenization/SKILL.md +42 -0
  532. package/package.json +4 -2
  533. package/templates/README.md +39 -0
  534. package/templates/admin-shell-template.tsx +382 -0
  535. package/templates/analytics-operations-template.tsx +376 -0
  536. package/templates/customers-template.tsx +509 -0
  537. package/templates/index.ts +29 -0
  538. package/templates/orders-template.tsx +1102 -0
  539. package/templates/products-template.tsx +834 -0
  540. package/templates/user-permissions-template.tsx +450 -0
  541. package/dist/accordion-Cjb6sx0G.js.map +0 -1
  542. package/dist/action-menu-CllU52Mm.js +0 -280
  543. package/dist/action-menu-CllU52Mm.js.map +0 -1
  544. package/dist/affordance-geometry.generated-tF36bREk.js.map +0 -1
  545. package/dist/ai-artifact-DvTwDVyL.js.map +0 -1
  546. package/dist/app-shell-C4FhvCqF.js +0 -236
  547. package/dist/app-shell-C4FhvCqF.js.map +0 -1
  548. package/dist/auth-BGua8ouh.js.map +0 -1
  549. package/dist/avatar-DAPlDvhJ.js.map +0 -1
  550. package/dist/base/cascader.js.map +0 -1
  551. package/dist/batch-action-bar-DnUJ21NQ.js.map +0 -1
  552. package/dist/button-DVzspB_G.js.map +0 -1
  553. package/dist/buttons-DPZekJFu.js.map +0 -1
  554. package/dist/cards-BaBZR-AU.js +0 -68
  555. package/dist/cards-BaBZR-AU.js.map +0 -1
  556. package/dist/chart-ZOYyK2xG.js +0 -155
  557. package/dist/chart-ZOYyK2xG.js.map +0 -1
  558. package/dist/checkbox-AWIhNhmo.js.map +0 -1
  559. package/dist/choice-inputs-CNHvARCJ.js +0 -770
  560. package/dist/choice-inputs-CNHvARCJ.js.map +0 -1
  561. package/dist/code-block-DeneBJR_.js.map +0 -1
  562. package/dist/combobox-DaHESuiL.js +0 -355
  563. package/dist/combobox-DaHESuiL.js.map +0 -1
  564. package/dist/combobox-Dxo2fAYQ.js.map +0 -1
  565. package/dist/command-C25VMRII.js.map +0 -1
  566. package/dist/comments-DD0DUPwJ.js.map +0 -1
  567. package/dist/containers-Mu1LMGV1.js +0 -103
  568. package/dist/containers-Mu1LMGV1.js.map +0 -1
  569. package/dist/control-group-recipes-DBXmfh2E.js.map +0 -1
  570. package/dist/data-display-DT_khPl_.js.map +0 -1
  571. package/dist/date-picker-B2K3ucWn.js.map +0 -1
  572. package/dist/date-pickers-Ds8gLaoP.js +0 -175
  573. package/dist/date-pickers-Ds8gLaoP.js.map +0 -1
  574. package/dist/dropdown-menu-Cl4X7L5S.js +0 -193
  575. package/dist/dropdown-menu-Cl4X7L5S.js.map +0 -1
  576. package/dist/feedback-BYIhtitP.js.map +0 -1
  577. package/dist/field-affordance-recipes-DZhnIL_Y.js.map +0 -1
  578. package/dist/filters-DJVAveHA.js.map +0 -1
  579. package/dist/form-field-CwH9y77i.js.map +0 -1
  580. package/dist/form-sizing-BdP_Mf5p.js.map +0 -1
  581. package/dist/forms-B9G_xwzi.js +0 -194
  582. package/dist/forms-B9G_xwzi.js.map +0 -1
  583. package/dist/forms-numeric-B_jraJaQ.js.map +0 -1
  584. package/dist/header-BSfIEWbI.js.map +0 -1
  585. package/dist/hooks-ClH9thn4.js.map +0 -1
  586. package/dist/input-CZw8iU99.js +0 -21
  587. package/dist/input-CZw8iU99.js.map +0 -1
  588. package/dist/input-DQdEd0YD.js +0 -263
  589. package/dist/input-DQdEd0YD.js.map +0 -1
  590. package/dist/item-K5_ghvze.js +0 -275
  591. package/dist/item-K5_ghvze.js.map +0 -1
  592. package/dist/message-DZ_ruyUV.js.map +0 -1
  593. package/dist/metadata-list-8N16ZMW_.js +0 -405
  594. package/dist/metadata-list-8N16ZMW_.js.map +0 -1
  595. package/dist/motion-recipes-ChBg4HBq.js.map +0 -1
  596. package/dist/navigation-Bnotn4AQ.js +0 -145
  597. package/dist/navigation-Bnotn4AQ.js.map +0 -1
  598. package/dist/navigation-BzhHI3lo.js.map +0 -1
  599. package/dist/navigation-row-recipes-BFLCk_Aq.js.map +0 -1
  600. package/dist/overflow-tab-bar-CWY7Nogn.js +0 -282
  601. package/dist/overflow-tab-bar-CWY7Nogn.js.map +0 -1
  602. package/dist/overlays-tMkF-VAN.js +0 -1003
  603. package/dist/overlays-tMkF-VAN.js.map +0 -1
  604. package/dist/page-CL9YeH_V.js +0 -224
  605. package/dist/page-CL9YeH_V.js.map +0 -1
  606. package/dist/page-header-commands-DOb6WsfD.js +0 -126
  607. package/dist/page-header-commands-DOb6WsfD.js.map +0 -1
  608. package/dist/popover-gnTOhbFM.js +0 -198
  609. package/dist/popover-gnTOhbFM.js.map +0 -1
  610. package/dist/popover.recipes-D3j8R8Yp.js.map +0 -1
  611. package/dist/receipt-BVSOH3Xo.js.map +0 -1
  612. package/dist/rich-text-editor-cRLC-eBK.js.map +0 -1
  613. package/dist/rich-text-editor-toolbar-DfXg0-VC.js.map +0 -1
  614. package/dist/settings-ybnjVwbd.js +0 -171
  615. package/dist/settings-ybnjVwbd.js.map +0 -1
  616. package/dist/sheet-ijlsjq-n.js +0 -213
  617. package/dist/sheet-ijlsjq-n.js.map +0 -1
  618. package/dist/sidebar-Db6gkh3U.js +0 -619
  619. package/dist/sidebar-Db6gkh3U.js.map +0 -1
  620. package/dist/sidebar-DkTO4VTO.js +0 -512
  621. package/dist/sidebar-DkTO4VTO.js.map +0 -1
  622. package/dist/skeleton-Byjnt7qr.js +0 -264
  623. package/dist/skeleton-Byjnt7qr.js.map +0 -1
  624. package/dist/smart-card-DiC5aac3.js +0 -604
  625. package/dist/smart-card-DiC5aac3.js.map +0 -1
  626. package/dist/table-BweFy_P9.js.map +0 -1
  627. package/dist/tabs-CDocW5D1.js.map +0 -1
  628. package/dist/text-inputs-f9Ia-aCi.js.map +0 -1
  629. package/dist/text.styles-g4He6UIW.js.map +0 -1
  630. package/dist/theme-scope-BJ6eE2xt.js +0 -50
  631. package/dist/theme-scope-BJ6eE2xt.js.map +0 -1
  632. package/dist/timelines-CwM_9IhD.js.map +0 -1
  633. package/dist/tooltip-yiRJUFjp.js +0 -111
  634. package/dist/tooltip-yiRJUFjp.js.map +0 -1
  635. package/dist/typography-UTnveOEy.js +0 -117
  636. package/dist/typography-UTnveOEy.js.map +0 -1
  637. package/dist/ui-provider-C_U0Xma4.js +0 -136
  638. package/dist/ui-provider-C_U0Xma4.js.map +0 -1
  639. package/dist/upload-CXyxmQBP.js.map +0 -1
  640. package/dist/upload-queue-Boscubn9.js.map +0 -1
  641. package/dist/usage-card-BhO5eqkX.js.map +0 -1
  642. package/dist/use-mobile-vaLKwgyf.js +0 -15
  643. package/dist/use-mobile-vaLKwgyf.js.map +0 -1
  644. package/dist/utils-BRhFDwuU.js.map +0 -1
  645. package/dist/value-inputs-TaX4OjNk.js +0 -963
  646. package/dist/value-inputs-TaX4OjNk.js.map +0 -1
  647. package/dist/workspace-B-OEm3Kf.js +0 -408
  648. package/dist/workspace-B-OEm3Kf.js.map +0 -1
@@ -1,31 +1,33 @@
1
1
  "use client";
2
- import { c as e, o as t } from "../ui-provider-C_U0Xma4.js";
2
+ import { f as e, u as t } from "../ui-provider-C-74NVLc.js";
3
3
  import { useStrings as n } from "../lib/strings.js";
4
- import { t as r } from "../utils-BRhFDwuU.js";
5
- import { n as i } from "../buttons-DPZekJFu.js";
6
- import { c as a, s as o } from "../typography-UTnveOEy.js";
7
- import { t as s } from "../focus-recipes-B653VaLq.js";
8
- import { t as c } from "../structure-BmisBK-3.js";
9
- import { i as l, t as u } from "../tone-recipes-BPsRAvhu.js";
10
- import { h as d, m as f, p, t as m, v as h } from "../smart-card-DiC5aac3.js";
11
- import { t as g } from "../feedback-BYIhtitP.js";
12
- import { n as _ } from "../action-menu-CllU52Mm.js";
13
- import { r as v } from "../skeleton-Byjnt7qr.js";
14
- import { t as y } from "../interaction-recipes-XR9ZpVYL.js";
15
- import { t as b } from "../initials-format-CDoQEOd_.js";
16
- import { i as x, n as S, s as C } from "../avatar-DAPlDvhJ.js";
17
- import { t as w } from "../badge-HpFqoqSY.js";
18
- import { l as T } from "../choice-inputs-CNHvARCJ.js";
19
- import { o as E } from "../display-hAc1HjpI.js";
20
- import { t as ee } from "../scroll-area-DcI-M1UT.js";
21
- import { i as D, n as O, r as te, t as ne, u as re } from "../item-K5_ghvze.js";
22
- import { i as ie, r as ae, t as oe } from "../tabs-CDocW5D1.js";
23
- import { s as se } from "../data-display-DT_khPl_.js";
24
- import { isValidElement as ce, useEffect as k, useId as le, useLayoutEffect as ue, useMemo as A, useRef as j, useState as M } from "react";
25
- import { Fragment as de, jsx as N, jsxs as P } from "react/jsx-runtime";
26
- import { ChevronLeft as fe, ChevronRight as pe, Plus as me, TriangleAlert as he } from "lucide-react";
4
+ import { t as r } from "../utils-B6kKb8jB.js";
5
+ import { n as i } from "../buttons-BedGfygC.js";
6
+ import { c as a, s as o } from "../typography-BQnine1k.js";
7
+ import { n as s } from "../text.styles-B64My8RZ.js";
8
+ import { t as c } from "../focus-recipes-B653VaLq.js";
9
+ import { t as l } from "../structure-DuxKl954.js";
10
+ import { i as u, t as d } from "../tone-recipes-BPsRAvhu.js";
11
+ import { h as f, m as p, p as m, t as h, v as g } from "../smart-card-CW0hjetE.js";
12
+ import { t as _ } from "../feedback-Dm4izqFn.js";
13
+ import { t as v } from "../composition.recipes-COdiFhxB.js";
14
+ import { n as y } from "../action-menu-Dr8K-ghE.js";
15
+ import { r as b } from "../skeleton-BapcJd9C.js";
16
+ import { t as x } from "../interaction-recipes-XR9ZpVYL.js";
17
+ import { t as S } from "../initials-format-CDoQEOd_.js";
18
+ import { i as C, n as w, s as T } from "../avatar-CeZaFmNH.js";
19
+ import { t as E } from "../badge-xIiV_E7f.js";
20
+ import { l as D } from "../choice-inputs-zUgBZfE4.js";
21
+ import { o as O } from "../display-KsZLw9Ov.js";
22
+ import { t as k } from "../scroll-area-B0dB2cBi.js";
23
+ import { i as ee, n as te, r as ne, t as re, u as ie } from "../item-DjCcM18E.js";
24
+ import { i as ae, r as oe, t as se } from "../tabs-e7ko9S2o.js";
25
+ import { s as ce } from "../data-display-BdgCAw8T.js";
26
+ import { isValidElement as le, useEffect as A, useId as ue, useLayoutEffect as de, useMemo as j, useRef as M, useState as N } from "react";
27
+ import { Fragment as fe, jsx as P, jsxs as F } from "react/jsx-runtime";
28
+ import { ChevronLeft as pe, ChevronRight as me, Plus as he, TriangleAlert as ge } from "lucide-react";
27
29
  //#region src/components/features/appointment-calendar/appointment-calendar.types.ts
28
- var ge = {
30
+ var _e = {
29
31
  formatBooked: (e) => `${e} booked`,
30
32
  formatConflicts: (e) => e === 1 ? "1 conflict" : `${e} conflicts`,
31
33
  viewLabel: "View",
@@ -61,22 +63,22 @@ var ge = {
61
63
  errorDescription: "The appointments could not be loaded.",
62
64
  retry: "Retry",
63
65
  formatActionsLabel: (e) => `Actions for ${e}`
64
- }, F = [
66
+ }, I = [
65
67
  "chart-1",
66
68
  "chart-2",
67
69
  "chart-3",
68
70
  "chart-4",
69
71
  "chart-5"
70
- ], I = {
72
+ ], L = {
71
73
  "chart-1": "bg-chart-1",
72
74
  "chart-2": "bg-chart-2",
73
75
  "chart-3": "bg-chart-3",
74
76
  "chart-4": "bg-chart-4",
75
77
  "chart-5": "bg-chart-5"
76
78
  };
77
- function L(e, t) {
79
+ function ve(e, t) {
78
80
  let n = e.findIndex((e) => e.id === t);
79
- return n < 0 ? "chart-1" : e[n]?.color ?? F[n % F.length] ?? "chart-1";
81
+ return n < 0 ? "chart-1" : e[n]?.color ?? I[n % I.length] ?? "chart-1";
80
82
  }
81
83
  function R(e) {
82
84
  return new Date(e.getFullYear(), e.getMonth(), e.getDate());
@@ -95,25 +97,25 @@ function H(e, t) {
95
97
  let n = R(e);
96
98
  return z(n, -((n.getDay() - t + 7) % 7));
97
99
  }
98
- function _e(e, t) {
100
+ function ye(e, t) {
99
101
  let n = H(e, t);
100
102
  return Array.from({ length: 7 }, (e, t) => z(n, t));
101
103
  }
102
- function ve(e, t) {
104
+ function be(e, t) {
103
105
  let n = H(new Date(e.getFullYear(), e.getMonth(), 1), t);
104
106
  return Array.from({ length: 6 }, (e, t) => Array.from({ length: 7 }, (e, r) => z(n, t * 7 + r)));
105
107
  }
106
- function ye(e, t) {
108
+ function xe(e, t) {
107
109
  let n = R(t).getTime(), r = z(t, 1).getTime();
108
110
  return e.start.getTime() < r && e.end.getTime() > n;
109
111
  }
110
112
  function U(e, t) {
111
- return e.filter((e) => ye(e, t)).sort((e, t) => e.start.getTime() - t.start.getTime() || e.end.getTime() - t.end.getTime());
113
+ return e.filter((e) => xe(e, t)).sort((e, t) => e.start.getTime() - t.start.getTime() || e.end.getTime() - t.end.getTime());
112
114
  }
113
- function be(e, t, n) {
115
+ function Se(e, t, n) {
114
116
  return e.filter((e) => (t === "all" || e.category === t) && (n === "all" || e.staff?.id === n));
115
117
  }
116
- function xe(e) {
118
+ function Ce(e) {
117
119
  let t = /* @__PURE__ */ new Map();
118
120
  for (let n of e) {
119
121
  if (!n.staff || n.status === "cancelled") continue;
@@ -135,15 +137,15 @@ function xe(e) {
135
137
  }
136
138
  return n.sort((e, t) => e.start.getTime() - t.start.getTime());
137
139
  }
138
- function Se(e) {
140
+ function we(e) {
139
141
  return new Set(e.flatMap((e) => e.appointments.map((e) => e.id)));
140
142
  }
141
- function Ce(e) {
143
+ function Te(e) {
142
144
  let t = /* @__PURE__ */ new Map();
143
145
  for (let n of e) n.staff && !t.has(n.staff.id) && t.set(n.staff.id, n.staff);
144
146
  return [...t.values()];
145
147
  }
146
- function we(e, t) {
148
+ function Ee(e, t) {
147
149
  let { hour12: n } = new Intl.DateTimeFormat(t, { hour: "numeric" }).resolvedOptions();
148
150
  if (!n) return new Intl.DateTimeFormat(t, {
149
151
  hour: "2-digit",
@@ -155,112 +157,112 @@ function we(e, t) {
155
157
  };
156
158
  return new Intl.DateTimeFormat(t, r).format(e);
157
159
  }
158
- function Te(e) {
160
+ function W(e) {
159
161
  return typeof e == "string" ? e : e?.name;
160
162
  }
161
163
  //#endregion
162
164
  //#region src/components/features/appointment-calendar/partials/appointment-agenda.tsx
163
- var W = {
165
+ var G = {
164
166
  confirmed: "success",
165
167
  pending: "warning",
166
168
  completed: "neutral",
167
169
  cancelled: "neutral",
168
170
  noShow: "destructive"
169
171
  };
170
- function G({ appointment: e, context: t }) {
171
- let n = le(), i = Te(e.client), o = e.staff, { open: c, conflict: u } = t, d = t.actions.length > 0, f = [
172
+ function De({ appointment: e, context: t }) {
173
+ let n = ue(), i = W(e.client), o = e.staff, { open: s, conflict: l } = t, d = t.actions.length > 0, f = [
172
174
  `${n}-title`,
173
175
  `${n}-status`,
174
176
  `${n}-detail`,
175
177
  o && `${n}-staff`
176
- ].filter(Boolean).join(" "), p = j(null), m = j(!1);
177
- return ue(() => {
178
+ ].filter(Boolean).join(" "), p = M(null), m = M(!1);
179
+ return de(() => {
178
180
  !d && m.current && (m.current = !1, (!document.activeElement || document.activeElement === document.body) && p.current?.focus());
179
- }, [d]), /* @__PURE__ */ P(ne, {
181
+ }, [d]), /* @__PURE__ */ F(re, {
180
182
  variant: "outline",
181
183
  size: "sm",
182
184
  padding: "default",
183
185
  "data-status": e.status,
184
- "data-conflict": u ? "" : void 0,
185
- className: r("appointment-agenda--row relative w-full flex-nowrap", !!c && y.rowHover, u && r(l.destructive.wash, l.destructive.edge)),
186
+ "data-conflict": l ? "" : void 0,
187
+ className: r("appointment-agenda--row relative w-full flex-nowrap", !!s && x.rowHover, l && r(u.destructive.wash, u.destructive.edge)),
186
188
  children: [
187
- !!c && /* @__PURE__ */ N("button", {
189
+ !!s && /* @__PURE__ */ P("button", {
188
190
  ref: p,
189
191
  type: "button",
190
192
  "aria-labelledby": f,
191
- onClick: c,
192
- className: r("appointment-agenda--open absolute inset-0 z-0 cursor-pointer rounded-inner focus-visible:outline-none", y.nativeButtonReset, s.inset)
193
+ onClick: s,
194
+ className: r("appointment-agenda--open absolute inset-0 z-0 cursor-pointer rounded-radius focus-visible:outline-none", x.nativeButtonReset, c.inset)
193
195
  }),
194
- /* @__PURE__ */ N("span", {
196
+ /* @__PURE__ */ P("span", {
195
197
  "aria-hidden": "true",
196
198
  className: r("appointment-agenda--stripe w-1 shrink-0 self-stretch rounded-full", t.categoryColorClass)
197
199
  }),
198
- /* @__PURE__ */ P(te, {
200
+ /* @__PURE__ */ F(ne, {
199
201
  className: "min-w-0",
200
- children: [/* @__PURE__ */ P(re, {
202
+ children: [/* @__PURE__ */ F(ie, {
201
203
  className: "flex-wrap",
202
- children: [/* @__PURE__ */ N(a, {
204
+ children: [/* @__PURE__ */ P(a, {
203
205
  type: "inherit",
204
206
  id: `${n}-title`,
205
207
  tag: "span",
206
208
  weight: "medium",
207
209
  className: "truncate",
208
210
  children: e.title
209
- }), /* @__PURE__ */ N(w, {
211
+ }), /* @__PURE__ */ P(E, {
210
212
  id: `${n}-status`,
211
213
  tone: t.statusTone,
212
214
  size: "sm",
213
215
  children: t.statusLabel
214
216
  })]
215
- }), /* @__PURE__ */ N(D, {
217
+ }), /* @__PURE__ */ P(ee, {
216
218
  id: `${n}-detail`,
217
219
  clamp: 1,
218
220
  children: i ? `${t.time} · ${i}` : t.time
219
221
  })]
220
222
  }),
221
- (!!o || d) && /* @__PURE__ */ P(O, {
223
+ (!!o || d) && /* @__PURE__ */ F(te, {
222
224
  onFocus: () => {
223
225
  m.current = !0;
224
226
  },
225
227
  onBlur: (e) => {
226
228
  e.relatedTarget instanceof Node && !e.currentTarget.contains(e.relatedTarget) && (m.current = !1);
227
229
  },
228
- children: [!!o && /* @__PURE__ */ P(de, { children: [/* @__PURE__ */ N(E, { children: /* @__PURE__ */ N("span", {
230
+ children: [!!o && /* @__PURE__ */ F(fe, { children: [/* @__PURE__ */ P(O, { children: /* @__PURE__ */ P("span", {
229
231
  id: `${n}-staff`,
230
232
  children: o.name
231
- }) }), /* @__PURE__ */ P(S, {
233
+ }) }), /* @__PURE__ */ F(w, {
232
234
  size: "sm",
233
235
  "aria-hidden": "true",
234
- children: [!!o.avatarUrl && /* @__PURE__ */ N(C, {
236
+ children: [!!o.avatarUrl && /* @__PURE__ */ P(T, {
235
237
  src: o.avatarUrl,
236
238
  alt: ""
237
- }), /* @__PURE__ */ N(x, { children: b(o.name) })]
239
+ }), /* @__PURE__ */ P(C, { children: S(o.name) })]
238
240
  })] }), t.actionsMenu]
239
241
  })
240
242
  ]
241
243
  });
242
244
  }
243
- function Ee({ days: e, appointments: t, categories: n, conflicts: r, heading: i, loading: s, error: l, onRetry: u, locale: d, onAppointmentClick: f, appointmentActions: p, renderAppointment: h, strings: y }) {
244
- let b = e.map((e) => ({
245
+ function Oe({ days: e, appointments: t, categories: n, conflicts: r, heading: i, loading: c, error: u, onRetry: d, locale: f, onAppointmentClick: p, appointmentActions: m, renderAppointment: g, strings: v }) {
246
+ let x = e.map((e) => ({
245
247
  day: e,
246
248
  items: U(t, e)
247
- })), x = b.reduce((e, t) => e + t.items.length, 0), S = new Intl.DateTimeFormat(d, {
249
+ })), S = x.reduce((e, t) => e + t.items.length, 0), C = new Intl.DateTimeFormat(f, {
248
250
  weekday: "long",
249
251
  month: "long",
250
252
  day: "numeric"
251
- }), C = e.length > 1, w = (e) => {
252
- let t = r.has(e.id), i = (p?.(e) ?? []).filter((e) => e.visible !== !1), a = {
253
+ }), w = e.length > 1, T = (e) => {
254
+ let t = r.has(e.id), i = (m?.(e) ?? []).filter((e) => e.visible !== !1), a = {
253
255
  category: n.find((t) => t.id === e.category),
254
- categoryColorClass: I[L(n, e.category)],
256
+ categoryColorClass: L[ve(n, e.category)],
255
257
  conflict: t,
256
- statusLabel: t ? y.conflict : y.status[e.status],
257
- statusTone: t ? "destructive" : W[e.status],
258
- time: y.formatTimeRange(we(e.start, d), we(e.end, d)),
259
- open: f ? () => f(e) : void 0,
258
+ statusLabel: t ? v.conflict : v.status[e.status],
259
+ statusTone: t ? "destructive" : G[e.status],
260
+ time: v.formatTimeRange(Ee(e.start, f), Ee(e.end, f)),
261
+ open: p ? () => p(e) : void 0,
260
262
  actions: i,
261
- actionsMenu: i.length > 0 ? /* @__PURE__ */ N(_, {
263
+ actionsMenu: i.length > 0 ? /* @__PURE__ */ P(y, {
262
264
  actions: i,
263
- srText: y.formatActionsLabel(e.title),
265
+ srText: v.formatActionsLabel(e.title),
264
266
  buttonProps: {
265
267
  size: "sm",
266
268
  className: "appointment-agenda--actions relative z-10"
@@ -269,67 +271,67 @@ function Ee({ days: e, appointments: t, categories: n, conflicts: r, heading: i,
269
271
  };
270
272
  return {
271
273
  ...a,
272
- defaultRender: () => /* @__PURE__ */ N(G, {
274
+ defaultRender: () => /* @__PURE__ */ P(De, {
273
275
  appointment: e,
274
276
  context: a
275
277
  })
276
278
  };
277
- }, T = (e) => /* @__PURE__ */ N(c, {
278
- render: /* @__PURE__ */ N("ul", {}),
279
+ }, E = (e) => /* @__PURE__ */ P(l, {
280
+ render: /* @__PURE__ */ P("ul", {}),
279
281
  gap: "sm",
280
282
  className: "appointment-agenda--list m-0 list-none p-0",
281
283
  children: e.map((e) => {
282
- let t = w(e);
283
- return /* @__PURE__ */ N("li", {
284
+ let t = T(e);
285
+ return /* @__PURE__ */ P("li", {
284
286
  className: "min-w-0",
285
- children: h ? h(e, t) : t.defaultRender()
287
+ children: g ? g(e, t) : t.defaultRender()
286
288
  }, e.id);
287
289
  })
288
290
  }), D;
289
- return D = s ? /* @__PURE__ */ P(c, {
291
+ return D = c ? /* @__PURE__ */ F(l, {
290
292
  gap: "sm",
291
293
  "aria-busy": "true",
292
294
  className: "appointment-agenda--loading",
293
- children: [/* @__PURE__ */ N(E, { children: y.loading }), Array.from({ length: 4 }, (e, t) => /* @__PURE__ */ N(v, { className: "h-control-lg w-full rounded-inner" }, t))]
294
- }) : l ? ce(l) ? l : /* @__PURE__ */ N(g, {
295
+ children: [/* @__PURE__ */ P(O, { children: v.loading }), Array.from({ length: 4 }, (e, t) => /* @__PURE__ */ P(b, { className: "h-control-lg w-full rounded-radius" }, t))]
296
+ }) : u ? le(u) ? u : /* @__PURE__ */ P(_, {
295
297
  variant: "inline",
296
- title: y.errorTitle,
297
- description: l instanceof Error ? l.message : typeof l == "string" || typeof l == "number" ? String(l) : y.errorDescription,
298
- onRetry: u,
299
- retryLabel: y.retry,
298
+ title: v.errorTitle,
299
+ description: u instanceof Error ? u.message : typeof u == "string" || typeof u == "number" ? String(u) : v.errorDescription,
300
+ onRetry: d,
301
+ retryLabel: v.retry,
300
302
  className: "appointment-agenda--error"
301
- }) : x === 0 ? /* @__PURE__ */ N(se, {
303
+ }) : S === 0 ? /* @__PURE__ */ P(ce, {
302
304
  padding: "sm",
303
- title: y.empty,
305
+ title: v.empty,
304
306
  description: !1,
305
- ariaLabel: y.empty,
307
+ ariaLabel: v.empty,
306
308
  className: "appointment-agenda--empty"
307
- }) : C ? /* @__PURE__ */ N(c, {
309
+ }) : w ? /* @__PURE__ */ P(l, {
308
310
  gap: "xl",
309
- children: b.filter((e) => e.items.length > 0).map((e) => /* @__PURE__ */ P(c, {
310
- render: /* @__PURE__ */ N("section", {}),
311
+ children: x.filter((e) => e.items.length > 0).map((e) => /* @__PURE__ */ F(l, {
312
+ render: /* @__PURE__ */ P("section", {}),
311
313
  gap: "sm",
312
- "aria-label": S.format(e.day),
314
+ "aria-label": C.format(e.day),
313
315
  className: "appointment-agenda--day",
314
- children: [/* @__PURE__ */ N(o, {
316
+ children: [/* @__PURE__ */ P(o, {
315
317
  className: "text-inherit",
316
318
  tag: "h3",
317
- size: "sm",
318
- children: S.format(e.day)
319
- }), T(e.items)]
319
+ size: s.subsection,
320
+ children: C.format(e.day)
321
+ }), E(e.items)]
320
322
  }, e.day.toISOString()))
321
- }) : T(b[0]?.items ?? []), /* @__PURE__ */ N(m, {
323
+ }) : E(x[0]?.items ?? []), /* @__PURE__ */ P(h, {
322
324
  surface: "card",
323
325
  title: i,
324
- headerEnd: /* @__PURE__ */ N(a, {
326
+ headerEnd: c || u ? void 0 : /* @__PURE__ */ P(a, {
325
327
  size: "xs",
326
328
  type: "secondary",
327
329
  className: "tabular-nums",
328
- children: y.formatCount(x)
330
+ children: v.formatCount(S)
329
331
  }),
330
332
  className: "appointment-agenda--component h-full min-h-0",
331
333
  contentClassName: "min-h-0 flex-1",
332
- children: /* @__PURE__ */ N(ee, {
334
+ children: /* @__PURE__ */ P(k, {
333
335
  className: "appointment-agenda--scroll h-full min-h-0",
334
336
  children: D
335
337
  })
@@ -337,25 +339,25 @@ function Ee({ days: e, appointments: t, categories: n, conflicts: r, heading: i,
337
339
  }
338
340
  //#endregion
339
341
  //#region src/components/features/appointment-calendar/partials/appointment-month.tsx
340
- var De = 3;
341
- function Oe({ selected: e, onSelect: t, onVisibleMonthChange: n, appointments: o, categories: l, weekStartsOn: d, locale: f, strings: p }) {
342
- let [m, h] = M(e), g = j(null), _ = j(!1), v = A(() => /* @__PURE__ */ new Date(), []);
343
- k(() => h(e), [e]);
344
- let b = m.getFullYear() * 12 + m.getMonth();
345
- k(() => {
346
- n?.(new Date(Math.floor(b / 12), b % 12, 1));
347
- }, [b, n]), k(() => {
342
+ var K = 3;
343
+ function ke({ selected: e, onSelect: t, onVisibleMonthChange: n, appointments: o, categories: s, weekStartsOn: u, locale: f, strings: p }) {
344
+ let [m, h] = N(e), g = M(null), _ = M(!1), v = j(() => /* @__PURE__ */ new Date(), []);
345
+ A(() => h(e), [e]);
346
+ let y = m.getFullYear() * 12 + m.getMonth();
347
+ A(() => {
348
+ n?.(new Date(Math.floor(y / 12), y % 12, 1));
349
+ }, [y, n]), A(() => {
348
350
  _.current && (_.current = !1, g.current?.querySelector("[data-focus-target]")?.focus());
349
351
  }, [m]);
350
- let x = A(() => ve(m, d), [m, d]), S = A(() => new Intl.DateTimeFormat(f, { month: "long" }), [f]), C = A(() => new Intl.DateTimeFormat(f, { weekday: "short" }), [f]), w = A(() => new Intl.DateTimeFormat(f, {
352
+ let b = j(() => be(m, u), [m, u]), S = j(() => new Intl.DateTimeFormat(f, { month: "long" }), [f]), C = j(() => new Intl.DateTimeFormat(f, { weekday: "short" }), [f]), w = j(() => new Intl.DateTimeFormat(f, {
351
353
  weekday: "long",
352
354
  month: "long",
353
355
  day: "numeric",
354
356
  year: "numeric"
355
- }), [f]), E = A(() => Array.from({ length: 12 }, (e, t) => ({
357
+ }), [f]), T = j(() => Array.from({ length: 12 }, (e, t) => ({
356
358
  value: String(t),
357
359
  label: S.format(new Date(2e3, t, 1))
358
- })), [S]), ee = A(() => {
360
+ })), [S]), E = j(() => {
359
361
  let e = /* @__PURE__ */ new Set([v.getFullYear(), m.getFullYear()]);
360
362
  for (let t of o) e.add(t.start.getFullYear());
361
363
  let t = Math.min(...e) - 1, n = Math.max(...e) + 1;
@@ -367,62 +369,62 @@ function Oe({ selected: e, onSelect: t, onVisibleMonthChange: n, appointments: o
367
369
  o,
368
370
  m,
369
371
  v
370
- ]), D = (e, n = !1) => {
372
+ ]), O = (e, n = !1) => {
371
373
  _.current = !0, h(e), n && t(e);
372
- }, O = (n) => {
374
+ }, k = (n) => {
373
375
  let r = V(e, n);
374
376
  h(r), t(r);
375
377
  };
376
- return /* @__PURE__ */ P(c, {
378
+ return /* @__PURE__ */ F(l, {
377
379
  gap: "lg",
378
380
  className: "appointment-month--component min-w-0",
379
- children: [/* @__PURE__ */ P("div", {
381
+ children: [/* @__PURE__ */ F("div", {
380
382
  className: "appointment-month--header flex min-w-0 items-center gap-space-xs",
381
383
  children: [
382
- /* @__PURE__ */ N(i, {
384
+ /* @__PURE__ */ P(i, {
383
385
  type: "button",
384
386
  tone: "secondary",
385
387
  buttonStyle: "ghost",
386
388
  size: "sm",
387
389
  iconOnly: !0,
388
390
  "aria-label": p.previousMonth,
389
- onClick: () => O(-1),
390
- children: /* @__PURE__ */ N(fe, {
391
+ onClick: () => k(-1),
392
+ children: /* @__PURE__ */ P(pe, {
391
393
  "aria-hidden": "true",
392
394
  className: "size-icon"
393
395
  })
394
396
  }),
395
- /* @__PURE__ */ N(T, {
397
+ /* @__PURE__ */ P(D, {
396
398
  size: "sm",
397
399
  "aria-label": p.monthLabel,
398
- options: E,
400
+ options: T,
399
401
  value: String(e.getMonth()),
400
- onValueChange: (t) => t !== void 0 && O(Number(t) - e.getMonth()),
402
+ onValueChange: (t) => t !== void 0 && k(Number(t) - e.getMonth()),
401
403
  className: "min-w-0 flex-1"
402
404
  }),
403
- /* @__PURE__ */ N(T, {
405
+ /* @__PURE__ */ P(D, {
404
406
  size: "sm",
405
407
  "aria-label": p.yearLabel,
406
- options: ee,
408
+ options: E,
407
409
  value: String(e.getFullYear()),
408
- onValueChange: (t) => t !== void 0 && O((Number(t) - e.getFullYear()) * 12),
410
+ onValueChange: (t) => t !== void 0 && k((Number(t) - e.getFullYear()) * 12),
409
411
  className: "min-w-0 flex-1"
410
412
  }),
411
- /* @__PURE__ */ N(i, {
413
+ /* @__PURE__ */ P(i, {
412
414
  type: "button",
413
415
  tone: "secondary",
414
416
  buttonStyle: "ghost",
415
417
  size: "sm",
416
418
  iconOnly: !0,
417
419
  "aria-label": p.nextMonth,
418
- onClick: () => O(1),
419
- children: /* @__PURE__ */ N(pe, {
420
+ onClick: () => k(1),
421
+ children: /* @__PURE__ */ P(me, {
420
422
  "aria-hidden": "true",
421
423
  className: "size-icon"
422
424
  })
423
425
  })
424
426
  ]
425
- }), /* @__PURE__ */ P("div", {
427
+ }), /* @__PURE__ */ F("div", {
426
428
  ref: g,
427
429
  role: "grid",
428
430
  "aria-label": `${S.format(m)} ${m.getFullYear()}`,
@@ -432,18 +434,18 @@ function Oe({ selected: e, onSelect: t, onVisibleMonthChange: n, appointments: o
432
434
  ArrowRight: () => z(m, 1),
433
435
  ArrowUp: () => z(m, -7),
434
436
  ArrowDown: () => z(m, 7),
435
- Home: () => H(m, d),
436
- End: () => z(H(m, d), 6),
437
+ Home: () => H(m, u),
438
+ End: () => z(H(m, u), 6),
437
439
  PageUp: () => V(m, -1),
438
440
  PageDown: () => V(m, 1)
439
441
  }[e.key];
440
- t && (e.preventDefault(), D(t()));
442
+ t && (e.preventDefault(), O(t()));
441
443
  },
442
444
  className: "appointment-month--grid grid min-w-0 grid-cols-7 gap-space-2xs",
443
- children: [/* @__PURE__ */ N("div", {
445
+ children: [/* @__PURE__ */ P("div", {
444
446
  role: "row",
445
447
  className: "contents",
446
- children: x[0]?.map((e) => /* @__PURE__ */ N(a, {
448
+ children: b[0]?.map((e) => /* @__PURE__ */ P(a, {
447
449
  tag: "div",
448
450
  role: "columnheader",
449
451
  size: "xs",
@@ -453,29 +455,29 @@ function Oe({ selected: e, onSelect: t, onVisibleMonthChange: n, appointments: o
453
455
  className: "appointment-month--weekday py-space-xs",
454
456
  children: C.format(e)
455
457
  }, e.getDay()))
456
- }), x.map((t) => /* @__PURE__ */ N("div", {
458
+ }), b.map((t) => /* @__PURE__ */ P("div", {
457
459
  role: "row",
458
460
  className: "contents",
459
461
  children: t.map((t) => {
460
- let n = U(o, t), i = [...new Set(n.map((e) => e.category))], a = B(t, e), c = B(t, m), d = t.getMonth() !== m.getMonth();
461
- return /* @__PURE__ */ N("div", {
462
+ let n = U(o, t), i = [...new Set(n.map((e) => e.category))], a = B(t, e), l = B(t, m), u = t.getMonth() !== m.getMonth();
463
+ return /* @__PURE__ */ P("div", {
462
464
  role: "gridcell",
463
465
  "aria-selected": a,
464
466
  className: "flex min-w-0 justify-center",
465
- children: /* @__PURE__ */ P("button", {
467
+ children: /* @__PURE__ */ F("button", {
466
468
  type: "button",
467
- tabIndex: c ? 0 : -1,
468
- "data-focus-target": c ? "" : void 0,
469
+ tabIndex: l ? 0 : -1,
470
+ "data-focus-target": l ? "" : void 0,
469
471
  "data-selected": a ? "" : void 0,
470
- "data-outside": d ? "" : void 0,
472
+ "data-outside": u ? "" : void 0,
471
473
  "aria-current": B(t, v) ? "date" : void 0,
472
474
  "aria-label": p.formatDayLabel(w.format(t), n.length),
473
- onClick: () => D(t, !0),
474
- className: r(y.nativeButtonReset, "appointment-month--day relative flex size-action flex-col items-center justify-center rounded-inner text-sm tabular-nums outline-none", s.edge, a ? "bg-primary font-semibold text-primary-foreground" : r(y.rowHover, d ? "text-muted-foreground" : "text-foreground"), !a && B(t, v) && "font-semibold"),
475
- children: [t.getDate(), i.length > 0 && /* @__PURE__ */ N("span", {
475
+ onClick: () => O(t, !0),
476
+ className: r(x.nativeButtonReset, "appointment-month--day relative flex size-action flex-col items-center justify-center rounded-radius text-sm tabular-nums outline-none", c.edge, a ? "bg-primary font-semibold text-primary-foreground" : r(x.rowHover, u ? "text-muted-foreground" : "text-foreground"), !a && B(t, v) && "font-semibold"),
477
+ children: [t.getDate(), i.length > 0 && /* @__PURE__ */ P("span", {
476
478
  "aria-hidden": "true",
477
479
  className: "appointment-month--dots absolute inset-x-0 bottom-space-2xs flex justify-center gap-space-2xs",
478
- children: i.slice(0, De).map((e) => /* @__PURE__ */ N("span", { className: r(u.inline, I[L(l, e)]) }, e))
480
+ children: i.slice(0, K).map((e) => /* @__PURE__ */ P("span", { className: r(d.inline, L[ve(s, e)]) }, e))
479
481
  })]
480
482
  })
481
483
  }, t.toISOString());
@@ -486,198 +488,198 @@ function Oe({ selected: e, onSelect: t, onVisibleMonthChange: n, appointments: o
486
488
  }
487
489
  //#endregion
488
490
  //#region src/components/features/appointment-calendar/appointment-calendar.tsx
489
- function K(e, t, n) {
490
- let [r, i] = M(t);
491
+ function q(e, t, n) {
492
+ let [r, i] = N(t);
491
493
  return [e ?? r, (t) => {
492
494
  e === void 0 && i(t), n?.(t);
493
495
  }];
494
496
  }
495
- function q({ appointments: s, categories: l, staff: g, title: _, date: v, defaultDate: y, onDateChange: b, view: x, defaultView: S = "day", onViewChange: C, category: w, defaultCategory: E = "all", onCategoryChange: ee, staffId: D, defaultStaffId: O = "all", onStaffChange: te, onAppointmentClick: ne, appointmentActions: re, renderAppointment: se, onRangeChange: ce, onCreateAppointment: le, onConflictsDismiss: ue, loading: de = !1, error: fe, onRetry: pe, weekStartsOn: F, strings: B, className: V }) {
496
- let H = n(ge, B), { locale: U } = e(), Te = t(), W = F ?? Te.weekStartsOn ?? 0, [G, De] = K(v, y ?? R(/* @__PURE__ */ new Date()), b), [q, ke] = K(x, S, C), [J, Ae] = K(w, E, ee), [Y, je] = K(D, O, te), [Me, Ne] = M(""), [Pe, Fe] = M(() => new Date(G.getFullYear(), G.getMonth(), 1)), Ie = A(() => g ?? Ce(s), [g, s]), X = A(() => q === "week" ? _e(G, W) : [R(G)], [
497
- q,
497
+ function Ae({ appointments: s, categories: c, staff: u, title: _, date: y, defaultDate: b, onDateChange: x, view: S, defaultView: C = "day", onViewChange: w, category: T, defaultCategory: E = "all", onCategoryChange: O, staffId: k, defaultStaffId: ee = "all", onStaffChange: te, onAppointmentClick: ne, appointmentActions: re, renderAppointment: ie, onRangeChange: ce, onCreateAppointment: le, onConflictsDismiss: ue, loading: de = !1, error: fe, onRetry: pe, weekStartsOn: me, strings: I, className: B }) {
498
+ let V = n(_e, I), { locale: H } = e(), U = t(), W = me ?? U.weekStartsOn ?? 0, [G, De] = q(y, b ?? R(/* @__PURE__ */ new Date()), x), [K, Ae] = q(S, C, w), [J, je] = q(T, E, O), [Y, Me] = q(k, ee, te), [Ne, Pe] = N(""), [Fe, Ie] = N(() => new Date(G.getFullYear(), G.getMonth(), 1)), Le = j(() => u ?? Te(s), [u, s]), X = j(() => K === "week" ? ye(G, W) : [R(G)], [
499
+ K,
498
500
  G,
499
501
  W
500
- ]), Z = A(() => be(s, J, Y), [
502
+ ]), Z = j(() => Se(s, J, Y), [
501
503
  s,
502
504
  J,
503
505
  Y
504
- ]), Q = A(() => {
505
- let e = [...ve(Pe, W).flat(), ...X].map((e) => e.getTime());
506
+ ]), Q = j(() => {
507
+ let e = [...be(Fe, W).flat(), ...X].map((e) => e.getTime());
506
508
  return {
507
509
  start: new Date(Math.min(...e)),
508
510
  end: z(new Date(Math.max(...e)), 1)
509
511
  };
510
512
  }, [
511
- Pe,
513
+ Fe,
512
514
  W,
513
515
  X
514
- ]), Le = j("");
515
- k(() => {
516
+ ]), Re = M("");
517
+ A(() => {
516
518
  let e = `${Q.start.getTime()}:${Q.end.getTime()}`;
517
- e !== Le.current && (Le.current = e, ce?.(Q));
519
+ e !== Re.current && (Re.current = e, ce?.(Q));
518
520
  }, [Q, ce]);
519
- let Re = A(() => Z.filter((e) => X.some((t) => ye(e, t))), [Z, X]), $ = A(() => xe(be(s, "all", Y).filter((e) => X.some((t) => ye(e, t)))), [
521
+ let ze = j(() => Z.filter((e) => X.some((t) => xe(e, t))), [Z, X]), $ = j(() => Ce(Se(s, "all", Y).filter((e) => X.some((t) => xe(e, t)))), [
520
522
  s,
521
523
  Y,
522
524
  X
523
- ]), ze = A(() => Se($), [$]), Be = Re.filter((e) => ze.has(e.id)).length, Ve = Re.filter((e) => e.status !== "cancelled").length, He = [...ze].sort().join("|"), Ue = $.length > 0 && Me !== He, We = new Intl.DateTimeFormat(U, {
525
+ ]), Be = j(() => we($), [$]), Ve = ze.filter((e) => Be.has(e.id)).length, He = ze.filter((e) => e.status !== "cancelled").length, Ue = [...Be].sort().join("|"), We = $.length > 0 && Ne !== Ue, Ge = new Intl.DateTimeFormat(H, {
524
526
  weekday: "long",
525
527
  month: "long",
526
528
  day: "numeric"
527
- }), Ge = new Intl.DateTimeFormat(U, {
529
+ }), Ke = new Intl.DateTimeFormat(H, {
528
530
  month: "long",
529
531
  day: "numeric"
530
- }), Ke = q === "week" ? H.formatWeekRange(Ge.format(X[0] ?? G), Ge.format(X[X.length - 1] ?? G)) : We.format(G), qe = (e) => {
531
- Ne(He), ue?.(e);
532
+ }), qe = K === "week" ? V.formatWeekRange(Ke.format(X[0] ?? G), Ke.format(X[X.length - 1] ?? G)) : Ge.format(G), Je = (e) => {
533
+ Pe(Ue), ue?.(e);
532
534
  };
533
- return /* @__PURE__ */ P(c, {
535
+ return /* @__PURE__ */ F(l, {
534
536
  gap: "xl",
535
537
  "data-slot": "appointment-calendar",
536
- "data-view": q,
537
- className: r("appointment-calendar--component @container/appointment-calendar min-h-0 min-w-0", V),
538
+ "data-view": K,
539
+ className: r("appointment-calendar--component @container/appointment-calendar min-h-0 min-w-0", B),
538
540
  children: [
539
- /* @__PURE__ */ P("div", {
541
+ /* @__PURE__ */ F("div", {
540
542
  className: "appointment-calendar--header flex min-w-0 flex-wrap items-start justify-between gap-space-lg",
541
- children: [/* @__PURE__ */ P(c, {
543
+ children: [/* @__PURE__ */ F(l, {
542
544
  gap: "xs",
543
545
  className: "min-w-0",
544
- children: [!!_ && /* @__PURE__ */ N(o, {
546
+ children: [!!_ && /* @__PURE__ */ P(o, {
545
547
  className: "text-inherit",
546
548
  tag: "h2",
547
549
  size: "lg",
548
550
  children: _
549
- }), /* @__PURE__ */ P(a, {
551
+ }), !de && !fe && /* @__PURE__ */ F(a, {
550
552
  size: "xs",
551
553
  type: "secondary",
552
554
  className: "appointment-calendar--counts tabular-nums",
553
- children: [H.formatBooked(Ve), Be > 0 && ` · ${H.formatConflicts(Be)}`]
555
+ children: [V.formatBooked(He), Ve > 0 && ` · ${V.formatConflicts(Ve)}`]
554
556
  })]
555
- }), /* @__PURE__ */ P("div", {
556
- className: "appointment-calendar--actions flex min-w-0 flex-wrap items-center gap-space-sm",
557
+ }), /* @__PURE__ */ F("div", {
558
+ className: r("appointment-calendar--actions flex min-w-0 flex-wrap items-center", v.commands),
557
559
  children: [
558
- /* @__PURE__ */ N(oe, {
559
- value: q,
560
- onValueChange: (e) => (e === "day" || e === "week") && ke(e),
561
- children: /* @__PURE__ */ N(ae, {
560
+ /* @__PURE__ */ P(se, {
561
+ value: K,
562
+ onValueChange: (e) => (e === "day" || e === "week") && Ae(e),
563
+ children: /* @__PURE__ */ P(oe, {
562
564
  role: "group",
563
- "aria-label": H.viewLabel,
565
+ "aria-label": V.viewLabel,
564
566
  "aria-orientation": void 0,
565
567
  activateOnFocus: !0,
566
- children: ["day", "week"].map((e) => /* @__PURE__ */ N(ie, {
568
+ children: ["day", "week"].map((e) => /* @__PURE__ */ P(ae, {
567
569
  value: e,
568
570
  role: "button",
569
571
  "aria-selected": void 0,
570
572
  "aria-controls": void 0,
571
- "aria-pressed": q === e,
572
- children: H[e]
573
+ "aria-pressed": K === e,
574
+ children: V[e]
573
575
  }, e))
574
576
  })
575
577
  }),
576
- Ie.length > 0 && /* @__PURE__ */ N(T, {
577
- "aria-label": H.staffLabel,
578
+ Le.length > 0 && /* @__PURE__ */ P(D, {
579
+ "aria-label": V.staffLabel,
578
580
  options: [{
579
581
  value: "all",
580
- label: H.allStaff
581
- }, ...Ie.map((e) => ({
582
+ label: V.allStaff
583
+ }, ...Le.map((e) => ({
582
584
  value: e.id,
583
585
  label: e.name
584
586
  }))],
585
587
  value: Y,
586
- onValueChange: (e) => je(e ?? "all"),
588
+ onValueChange: (e) => Me(e ?? "all"),
587
589
  className: "appointment-calendar--staff w-44"
588
590
  }),
589
- !!le && /* @__PURE__ */ P(i, {
591
+ !!le && /* @__PURE__ */ F(i, {
590
592
  type: "button",
591
593
  tone: "primary",
592
594
  onClick: () => le(G),
593
595
  className: "appointment-calendar--create",
594
- children: [/* @__PURE__ */ N(me, {
596
+ children: [/* @__PURE__ */ P(he, {
595
597
  "aria-hidden": "true",
596
598
  className: "size-icon"
597
- }), H.newAppointment]
599
+ }), V.newAppointment]
598
600
  })
599
601
  ]
600
602
  })]
601
603
  }),
602
- Ue && /* @__PURE__ */ P(p, {
604
+ We && /* @__PURE__ */ F(m, {
603
605
  tone: "destructive",
604
606
  className: "appointment-calendar--alert",
605
607
  children: [
606
- /* @__PURE__ */ N(he, { "aria-hidden": "true" }),
607
- /* @__PURE__ */ N(h, { children: H.conflictTitle }),
608
- /* @__PURE__ */ N(d, { children: $.map((e) => H.formatConflict(e.staff.name, e.appointments.length, we(e.start, U))).join(" ") }),
609
- /* @__PURE__ */ N(f, { children: /* @__PURE__ */ N(i, {
608
+ /* @__PURE__ */ P(ge, { "aria-hidden": "true" }),
609
+ /* @__PURE__ */ P(g, { children: V.conflictTitle }),
610
+ /* @__PURE__ */ P(f, { children: $.map((e) => V.formatConflict(e.staff.name, e.appointments.length, Ee(e.start, H))).join(" ") }),
611
+ /* @__PURE__ */ P(p, { children: /* @__PURE__ */ P(i, {
610
612
  type: "button",
611
613
  size: "sm",
612
- onClick: () => qe($),
613
- children: H.dismiss
614
+ onClick: () => Je($),
615
+ children: V.dismiss
614
616
  }) })
615
617
  ]
616
618
  }),
617
- /* @__PURE__ */ P("div", {
619
+ /* @__PURE__ */ F("div", {
618
620
  className: "appointment-calendar--body grid min-h-0 min-w-0 flex-1 gap-space-xl @3xl/appointment-calendar:grid-cols-[minmax(17rem,20rem)_minmax(0,1fr)]",
619
- children: [/* @__PURE__ */ N(m, {
621
+ children: [/* @__PURE__ */ P(h, {
620
622
  surface: "card",
621
623
  className: "appointment-calendar--aside min-w-0 self-start",
622
- children: /* @__PURE__ */ P(c, {
624
+ children: /* @__PURE__ */ F(l, {
623
625
  gap: "xl",
624
- children: [/* @__PURE__ */ N(Oe, {
626
+ children: [/* @__PURE__ */ P(ke, {
625
627
  selected: G,
626
628
  onSelect: De,
627
- onVisibleMonthChange: Fe,
629
+ onVisibleMonthChange: Ie,
628
630
  appointments: Z,
629
- categories: l,
631
+ categories: c,
630
632
  weekStartsOn: W,
631
- locale: U,
632
- strings: H
633
- }), l.length > 0 && /* @__PURE__ */ N(oe, {
633
+ locale: H,
634
+ strings: V
635
+ }), c.length > 0 && /* @__PURE__ */ P(se, {
634
636
  value: J,
635
- onValueChange: (e) => typeof e == "string" && Ae(e),
636
- children: /* @__PURE__ */ N(ae, {
637
+ onValueChange: (e) => typeof e == "string" && je(e),
638
+ children: /* @__PURE__ */ P(oe, {
637
639
  variant: "chips",
638
640
  role: "group",
639
- "aria-label": H.categoriesLabel,
641
+ "aria-label": V.categoriesLabel,
640
642
  "aria-orientation": void 0,
641
643
  activateOnFocus: !0,
642
644
  children: [{
643
645
  id: "all",
644
- label: H.allCategories
645
- }, ...l].map((e) => /* @__PURE__ */ P(ie, {
646
+ label: V.allCategories
647
+ }, ...c].map((e) => /* @__PURE__ */ F(ae, {
646
648
  value: e.id,
647
649
  role: "button",
648
650
  "aria-selected": void 0,
649
651
  "aria-controls": void 0,
650
652
  "aria-pressed": J === e.id,
651
653
  className: "appointment-calendar--category gap-space-xs",
652
- children: [e.id !== "all" && /* @__PURE__ */ N("span", {
654
+ children: [e.id !== "all" && /* @__PURE__ */ P("span", {
653
655
  "aria-hidden": "true",
654
- className: r(u.inline, I[L(l, e.id)])
656
+ className: r(d.inline, L[ve(c, e.id)])
655
657
  }), e.label]
656
658
  }, e.id))
657
659
  })
658
660
  })]
659
661
  })
660
- }), /* @__PURE__ */ N(Ee, {
662
+ }), /* @__PURE__ */ P(Oe, {
661
663
  days: X,
662
664
  appointments: Z,
663
- categories: l,
664
- conflicts: ze,
665
- heading: Ke,
665
+ categories: c,
666
+ conflicts: Be,
667
+ heading: qe,
666
668
  loading: de,
667
669
  error: fe,
668
670
  onRetry: pe,
669
- locale: U,
671
+ locale: H,
670
672
  onAppointmentClick: ne,
671
673
  appointmentActions: re,
672
- renderAppointment: se,
673
- strings: H
674
+ renderAppointment: ie,
675
+ strings: V
674
676
  })]
675
677
  })
676
678
  ]
677
679
  });
678
680
  }
679
- q.displayName = "AppointmentCalendar";
681
+ Ae.displayName = "AppointmentCalendar";
680
682
  //#endregion
681
- export { q as AppointmentCalendar, U as appointmentsOn, ge as defaultAppointmentCalendarStrings, be as filterAppointments, xe as findConflicts };
683
+ export { Ae as AppointmentCalendar, U as appointmentsOn, _e as defaultAppointmentCalendarStrings, Se as filterAppointments, Ce as findConflicts };
682
684
 
683
685
  //# sourceMappingURL=appointment-calendar.js.map