themelia-react-ui 1.0.1 → 1.0.2

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 (488) hide show
  1. package/CHANGELOG.md +137 -0
  2. package/README.md +59 -13
  3. package/dist/{accordion-B-5Focs8.js → accordion-BRTcsp8J.js} +8 -8
  4. package/dist/accordion-BRTcsp8J.js.map +1 -0
  5. package/dist/{action-menu-Cx3SdfbN.js → action-menu-Drxw_vJk.js} +36 -36
  6. package/dist/action-menu-Drxw_vJk.js.map +1 -0
  7. package/dist/affordance-geometry.generated-CL84ZN9A.js +63 -0
  8. package/dist/affordance-geometry.generated-CL84ZN9A.js.map +1 -0
  9. package/dist/{ai-artifact-B5tPpXnS.js → ai-artifact-DLVdK0Py.js} +151 -155
  10. package/dist/ai-artifact-DLVdK0Py.js.map +1 -0
  11. package/dist/{app-shell-at8Kt4l_.js → app-shell-C_fKpljx.js} +11 -10
  12. package/dist/app-shell-C_fKpljx.js.map +1 -0
  13. package/dist/{attachment-BO2R47wn.js → attachment-DbjUWsP0.js} +12 -12
  14. package/dist/{attachment-BO2R47wn.js.map → attachment-DbjUWsP0.js.map} +1 -1
  15. package/dist/auth-CAQcasMV.js +723 -0
  16. package/dist/auth-CAQcasMV.js.map +1 -0
  17. package/dist/{avatar-Bpzty83c.js → avatar-Bu2HhitA.js} +6 -6
  18. package/dist/{avatar-Bpzty83c.js.map → avatar-Bu2HhitA.js.map} +1 -1
  19. package/dist/{badge-BZXZT9wd.js → badge-CzId1Wlm.js} +4 -4
  20. package/dist/{badge-BZXZT9wd.js.map → badge-CzId1Wlm.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/buttons.js +3 -2
  27. package/dist/base/cards.js +3 -3
  28. package/dist/base/carousel.js +25 -27
  29. package/dist/base/carousel.js.map +1 -1
  30. package/dist/base/cascader.js +150 -148
  31. package/dist/base/cascader.js.map +1 -1
  32. package/dist/base/chart.js +1 -1
  33. package/dist/base/choice-inputs.js +2 -2
  34. package/dist/base/code-block.js +1 -1
  35. package/dist/base/combobox.js +1 -1
  36. package/dist/base/command.js +1 -1
  37. package/dist/base/copyable.js +1 -1
  38. package/dist/base/date-pickers.js +3 -3
  39. package/dist/base/display.js +7 -7
  40. package/dist/base/feedback.js +4 -4
  41. package/dist/base/forms-numeric.js +1 -1
  42. package/dist/base/forms.js +2 -2
  43. package/dist/base/inline-edit.js +40 -43
  44. package/dist/base/inline-edit.js.map +1 -1
  45. package/dist/base/item.js +1 -1
  46. package/dist/base/media-gallery.js +1 -1
  47. package/dist/base/navigation.js +6 -6
  48. package/dist/base/popover-menu.js +1 -1
  49. package/dist/base/popover.js +1 -1
  50. package/dist/base/qr-code.js +1 -1
  51. package/dist/base/repeaters.js +33 -33
  52. package/dist/base/repeaters.js.map +1 -1
  53. package/dist/base/sheet.js +1 -1
  54. package/dist/base/sidebar.js +1 -1
  55. package/dist/base/signature-pad.js +83 -81
  56. package/dist/base/signature-pad.js.map +1 -1
  57. package/dist/base/skeleton.js +1 -1
  58. package/dist/base/spinner.js +1 -1
  59. package/dist/base/structure.js +1 -1
  60. package/dist/base/table.js +1 -1
  61. package/dist/base/text-inputs.js +2 -2
  62. package/dist/base/toaster.js +6 -6
  63. package/dist/base/toaster.js.map +1 -1
  64. package/dist/base/tree.js +1 -1
  65. package/dist/base/upload-queue.js +1 -1
  66. package/dist/base/upload.js +3 -3
  67. package/dist/base/value-inputs.js +1 -1
  68. package/dist/blocks/admin.js +134 -134
  69. package/dist/blocks/admin.js.map +1 -1
  70. package/dist/blocks/ai.js +120 -117
  71. package/dist/blocks/ai.js.map +1 -1
  72. package/dist/blocks/analytics/usage-card.js +1 -1
  73. package/dist/blocks/analytics.js +510 -472
  74. package/dist/blocks/analytics.js.map +1 -1
  75. package/dist/blocks/collaboration.js +2 -2
  76. package/dist/blocks/commerce/receipt.js +1 -1
  77. package/dist/blocks/commerce.js +395 -383
  78. package/dist/blocks/commerce.js.map +1 -1
  79. package/dist/blocks/data-display.js +1 -1
  80. package/dist/blocks/onboarding.js +6 -6
  81. package/dist/blocks/onboarding.js.map +1 -1
  82. package/dist/blocks/planning.js +36 -36
  83. package/dist/blocks/planning.js.map +1 -1
  84. package/dist/blocks/timelines.js +1 -1
  85. package/dist/{breadcrumbs-DdQ_I5ra.js → breadcrumbs-BuYz5SDU.js} +9 -8
  86. package/dist/breadcrumbs-BuYz5SDU.js.map +1 -0
  87. package/dist/button-BZDasD04.js +651 -0
  88. package/dist/button-BZDasD04.js.map +1 -0
  89. package/dist/{button-BS6l5JUw.js → button-BZyfTvwm.js} +3 -3
  90. package/dist/button-BZyfTvwm.js.map +1 -0
  91. package/dist/buttons-D_6KJvEE.js +99 -0
  92. package/dist/buttons-D_6KJvEE.js.map +1 -0
  93. package/dist/{cards-Cum56XOF.js → cards-qGSErLw_.js} +12 -12
  94. package/dist/{cards-Cum56XOF.js.map → cards-qGSErLw_.js.map} +1 -1
  95. package/dist/chart-Bsc5BICK.js +150 -0
  96. package/dist/chart-Bsc5BICK.js.map +1 -0
  97. package/dist/{checkbox-BavDRjF7.js → checkbox-BQNDjUCh.js} +3 -3
  98. package/dist/checkbox-BQNDjUCh.js.map +1 -0
  99. package/dist/choice-inputs-Mk3iWbhr.js +725 -0
  100. package/dist/choice-inputs-Mk3iWbhr.js.map +1 -0
  101. package/dist/{code-block-xHKbAJDj.js → code-block-DzHKRybS.js} +23 -23
  102. package/dist/code-block-DzHKRybS.js.map +1 -0
  103. package/dist/{collapsible-DsnktFNv.js → collapsible-ClvC7Bj3.js} +3 -3
  104. package/dist/{collapsible-DsnktFNv.js.map → collapsible-ClvC7Bj3.js.map} +1 -1
  105. package/dist/{collection-content-C4fthJV_.js → collection-content-D6S8cv_n.js} +3 -3
  106. package/dist/{collection-content-C4fthJV_.js.map → collection-content-D6S8cv_n.js.map} +1 -1
  107. package/dist/{combobox-DEbdr-3u.js → combobox-BFnbJJp3.js} +18 -18
  108. package/dist/combobox-BFnbJJp3.js.map +1 -0
  109. package/dist/{combobox-xv3yJbzl.js → combobox-hozNwUcc.js} +313 -316
  110. package/dist/combobox-hozNwUcc.js.map +1 -0
  111. package/dist/{command-C0xe7u9B.js → command-BnmSchli.js} +9 -9
  112. package/dist/command-BnmSchli.js.map +1 -0
  113. package/dist/comments-u5L0OGip.js +1156 -0
  114. package/dist/comments-u5L0OGip.js.map +1 -0
  115. package/dist/components/base/buttons/button-group.recipes.d.ts +1 -1
  116. package/dist/components/base/buttons/button.recipes.d.ts +10 -19
  117. package/dist/components/base/buttons/use-pending-button-focus.d.ts +3 -0
  118. package/dist/components/base/cards/card.recipes.d.ts +13 -5
  119. package/dist/components/base/cards/partials/card-primitives.d.ts +9 -4
  120. package/dist/components/base/cards/smart-card.types.d.ts +1 -1
  121. package/dist/components/base/date-pickers/date-picker.recipes.d.ts +5 -18
  122. package/dist/components/base/date-pickers/datepicker.types.d.ts +3 -0
  123. package/dist/components/base/forms/form-field.d.ts +1 -0
  124. package/dist/components/base/forms/form-sizing.d.ts +3 -3
  125. package/dist/components/base/navigation/tabs.d.ts +3 -5
  126. package/dist/components/base/popover/popover.recipes.d.ts +3 -3
  127. package/dist/components/base/table/index.d.ts +1 -1
  128. package/dist/components/base/text-inputs/clear-native-field.d.ts +2 -0
  129. package/dist/components/base/text-inputs/input-trailing-action.d.ts +3 -0
  130. package/dist/components/blocks/analytics/types.d.ts +1 -1
  131. package/dist/components/blocks/collaboration/message/message.recipes.d.ts +12 -0
  132. package/dist/components/blocks/data-display/empty-state/partials/illustrations/document-stack.d.ts +1 -4
  133. package/dist/components/blocks/data-display/empty-state/partials/illustrations/inbox-clean.d.ts +1 -4
  134. package/dist/components/blocks/data-display/empty-state/partials/illustrations/index.d.ts +3 -3
  135. package/dist/components/blocks/data-display/empty-state/partials/illustrations/stacked-cards.d.ts +1 -6
  136. package/dist/components/features/combobox/components/error-message.d.ts +1 -1
  137. package/dist/components/features/comments/hooks/use-attachment-upload.d.ts +5 -0
  138. package/dist/components/features/filters/facets/search-facet.d.ts +0 -12
  139. package/dist/components/features/filters/facets/tags-facet.d.ts +1 -1
  140. package/dist/components/features/media-library/media-library.d.ts +1 -1
  141. package/dist/components/features/media-library/media-library.types.d.ts +9 -1
  142. package/dist/components/features/media-library/partials/media-library-partials.d.ts +1 -1
  143. package/dist/components/features/overlays/hooks/use-pending-overlay-focus.d.ts +2 -0
  144. package/dist/components/features/overlays/overlays.types.d.ts +5 -4
  145. package/dist/components/features/rich-text-editor/rich-text-editor.recipes.d.ts +2 -1
  146. package/dist/components/features/table/data-table.d.ts +1 -1
  147. package/dist/components/features/table/table.types.d.ts +1 -1
  148. package/dist/components/features/theme-tweaker/theme-provider-settings.d.ts +3 -1
  149. package/dist/components/layout/auth/auth.types.d.ts +1 -0
  150. package/dist/components/layout/page/page.d.ts +0 -1
  151. package/dist/components/layout/page/page.types.d.ts +9 -3
  152. package/dist/components/layout/sidebar/sidebar.context.d.ts +1 -1
  153. package/dist/components/layout/sidebar/sidebar.types.d.ts +4 -0
  154. package/dist/components/layout/workspace/workspace.types.d.ts +3 -0
  155. package/dist/components/typography/heading.d.ts +5 -2
  156. package/dist/components/typography/index.d.ts +1 -1
  157. package/dist/components/typography/text.styles.d.ts +10 -0
  158. package/dist/components/ui/popover.d.ts +1 -1
  159. package/dist/components/ui/sidebar.d.ts +1 -1
  160. package/dist/components/ui/table.d.ts +2 -1
  161. package/dist/container.recipes-D9t8MHR3.js +27 -0
  162. package/dist/container.recipes-D9t8MHR3.js.map +1 -0
  163. package/dist/{containers-6s-ucRQQ.js → containers-DqB-bSYE.js} +33 -56
  164. package/dist/containers-DqB-bSYE.js.map +1 -0
  165. package/dist/control-group-recipes-DBXmfh2E.js +21 -0
  166. package/dist/control-group-recipes-DBXmfh2E.js.map +1 -0
  167. package/dist/{copyable-B7SBXJMr.js → copyable-BTSByfmq.js} +6 -6
  168. package/dist/{copyable-B7SBXJMr.js.map → copyable-BTSByfmq.js.map} +1 -1
  169. package/dist/{data-display-cWIRdeaf.js → data-display-Bihs9Ven.js} +545 -332
  170. package/dist/data-display-Bihs9Ven.js.map +1 -0
  171. package/dist/{date-BFNMnrS5.js → date-DOKhJPu7.js} +4 -4
  172. package/dist/{date-BFNMnrS5.js.map → date-DOKhJPu7.js.map} +1 -1
  173. package/dist/{date-picker-CA6ogMQB.js → date-picker-DzP5HQq7.js} +492 -472
  174. package/dist/date-picker-DzP5HQq7.js.map +1 -0
  175. package/dist/date-pickers-BpgGz7S-.js +196 -0
  176. package/dist/date-pickers-BpgGz7S-.js.map +1 -0
  177. package/dist/{display-CFM5myut.js → display-CS6Hbk18.js} +8 -8
  178. package/dist/{display-CFM5myut.js.map → display-CS6Hbk18.js.map} +1 -1
  179. package/dist/{dropdown-menu-BlnyHr-9.js → dropdown-menu-D-boNgGO.js} +7 -7
  180. package/dist/{dropdown-menu-BlnyHr-9.js.map → dropdown-menu-D-boNgGO.js.map} +1 -1
  181. package/dist/features/activities.js +152 -141
  182. package/dist/features/activities.js.map +1 -1
  183. package/dist/features/ai-chat.js +182 -179
  184. package/dist/features/ai-chat.js.map +1 -1
  185. package/dist/features/async-preview.js +9 -9
  186. package/dist/features/async-preview.js.map +1 -1
  187. package/dist/features/combobox.js +1 -1
  188. package/dist/features/comments.js +1 -1
  189. package/dist/features/data-view.js +25 -23
  190. package/dist/features/data-view.js.map +1 -1
  191. package/dist/features/email-composer/engine.js +1 -1
  192. package/dist/features/email-composer.js +103 -104
  193. package/dist/features/email-composer.js.map +1 -1
  194. package/dist/features/event-calendar.js +375 -373
  195. package/dist/features/event-calendar.js.map +1 -1
  196. package/dist/features/filters.js +1 -1
  197. package/dist/features/global-search.js +222 -224
  198. package/dist/features/global-search.js.map +1 -1
  199. package/dist/features/kanban.js +29 -29
  200. package/dist/features/kanban.js.map +1 -1
  201. package/dist/features/map.js +59 -58
  202. package/dist/features/map.js.map +1 -1
  203. package/dist/features/media-library.js +856 -855
  204. package/dist/features/media-library.js.map +1 -1
  205. package/dist/features/mentions.js +1 -1
  206. package/dist/features/overlays.js +1 -1
  207. package/dist/features/products.js +1209 -1209
  208. package/dist/features/products.js.map +1 -1
  209. package/dist/features/questionnaire.js +52 -52
  210. package/dist/features/questionnaire.js.map +1 -1
  211. package/dist/features/resource-assignment.js +29 -31
  212. package/dist/features/resource-assignment.js.map +1 -1
  213. package/dist/features/resource.js +13 -13
  214. package/dist/features/resource.js.map +1 -1
  215. package/dist/features/rich-text-editor.js +2 -2
  216. package/dist/features/schema-form.js +82 -82
  217. package/dist/features/schema-form.js.map +1 -1
  218. package/dist/features/suggestions.js +3 -3
  219. package/dist/features/sync.js +4 -4
  220. package/dist/features/sync.js.map +1 -1
  221. package/dist/features/table.js +1 -1
  222. package/dist/features/theme-tweaker.js +456 -450
  223. package/dist/features/theme-tweaker.js.map +1 -1
  224. package/dist/{feedback-DWUkgEjR.js → feedback-CJkUAapr.js} +29 -29
  225. package/dist/feedback-CJkUAapr.js.map +1 -0
  226. package/dist/field-affordance-recipes-uKY4MsZ_.js +25 -0
  227. package/dist/field-affordance-recipes-uKY4MsZ_.js.map +1 -0
  228. package/dist/{field-state-recipes-CBTRt9Bt.js → field-state-recipes-DQQpiLWC.js} +3 -3
  229. package/dist/field-state-recipes-DQQpiLWC.js.map +1 -0
  230. package/dist/{filters-BhsUtsxW.js → filters-D6FF8L6s.js} +715 -720
  231. package/dist/filters-D6FF8L6s.js.map +1 -0
  232. package/dist/{form-field-Bn7ZH1rA.js → form-field-CZwrkP7m.js} +17 -9
  233. package/dist/form-field-CZwrkP7m.js.map +1 -0
  234. package/dist/{form-sizing-BWs70_a2.js → form-sizing-QP8aIRaW.js} +8 -5
  235. package/dist/form-sizing-QP8aIRaW.js.map +1 -0
  236. package/dist/{forms-B7pzS25o.js → forms-B5NCbkSC.js} +35 -35
  237. package/dist/{forms-B7pzS25o.js.map → forms-B5NCbkSC.js.map} +1 -1
  238. package/dist/forms-numeric-Crrm80Lm.js +867 -0
  239. package/dist/forms-numeric-Crrm80Lm.js.map +1 -0
  240. package/dist/{header-C59QZyxV.js → header-kxruN3RM.js} +53 -49
  241. package/dist/header-kxruN3RM.js.map +1 -0
  242. package/dist/{hooks-CM1Vp9Pe.js → hooks-BrlnCwQd.js} +2 -2
  243. package/dist/{hooks-CM1Vp9Pe.js.map → hooks-BrlnCwQd.js.map} +1 -1
  244. package/dist/{http-CLTVJc5I.js → http-CdEIHyQf.js} +2 -2
  245. package/dist/http-CdEIHyQf.js.map +1 -0
  246. package/dist/{icon-badge-Dv0RYQwj.js → icon-badge-Btc6pQrp.js} +4 -4
  247. package/dist/{icon-badge-Dv0RYQwj.js.map → icon-badge-Btc6pQrp.js.map} +1 -1
  248. package/dist/index.js +2 -2
  249. package/dist/input-SX9V0AL3.js +255 -0
  250. package/dist/input-SX9V0AL3.js.map +1 -0
  251. package/dist/input-vxcaNCYC.js +20 -0
  252. package/dist/input-vxcaNCYC.js.map +1 -0
  253. package/dist/{item-pJ0GsOiJ.js → item-DE4YnuJx.js} +18 -17
  254. package/dist/item-DE4YnuJx.js.map +1 -0
  255. package/dist/layout/app-shell.js +1 -1
  256. package/dist/layout/auth.js +1 -1
  257. package/dist/layout/containers.js +1 -1
  258. package/dist/layout/header.js +1 -1
  259. package/dist/layout/hooks.js +1 -1
  260. package/dist/layout/navigation.js +1 -1
  261. package/dist/layout/page.js +1 -1
  262. package/dist/layout/settings.js +1 -1
  263. package/dist/layout/sidebar.js +2 -2
  264. package/dist/layout/workspace.js +1 -1
  265. package/dist/layout.js +10 -10
  266. package/dist/lib/affordance-geometry.generated.d.ts +40 -9
  267. package/dist/lib/control-group-recipes.d.ts +22 -0
  268. package/dist/lib/field-affordance-recipes.d.ts +35 -2
  269. package/dist/lib/field-state-recipes.d.ts +2 -2
  270. package/dist/lib/navigation-row-recipes.d.ts +3 -2
  271. package/dist/lib/overlay-anatomy-recipes.d.ts +1 -1
  272. package/dist/lib/surface-recipes.d.ts +5 -2
  273. package/dist/lib/token-merge.generated.d.ts +144 -2
  274. package/dist/lib/ui-provider/types.d.ts +4 -2
  275. package/dist/lib/use-prefers-reduced-motion.d.ts +2 -0
  276. package/dist/lib/utils.js +1 -1
  277. package/dist/{media-gallery-DhDRgnVZ.js → media-gallery-DLp3HAz0.js} +75 -74
  278. package/dist/media-gallery-DLp3HAz0.js.map +1 -0
  279. package/dist/{mentions-B8Ko-fhS.js → mentions-Cl0Kt_Pd.js} +52 -50
  280. package/dist/{mentions-B8Ko-fhS.js.map → mentions-Cl0Kt_Pd.js.map} +1 -1
  281. package/dist/message-SZUNB1eX.js +127 -0
  282. package/dist/message-SZUNB1eX.js.map +1 -0
  283. package/dist/{navigation-DBEu4POU.js → navigation-DnQSNMT0.js} +64 -55
  284. package/dist/navigation-DnQSNMT0.js.map +1 -0
  285. package/dist/{navigation-BUIn2Qxx.js → navigation-DyytsLRB.js} +37 -37
  286. package/dist/navigation-DyytsLRB.js.map +1 -0
  287. package/dist/{navigation-row-recipes-GVh11KiT.js → navigation-row-recipes-DQEXQcqY.js} +3 -3
  288. package/dist/navigation-row-recipes-DQEXQcqY.js.map +1 -0
  289. package/dist/{number-BNT_BIzJ.js → number-DasMFWEG.js} +4 -4
  290. package/dist/{number-BNT_BIzJ.js.map → number-DasMFWEG.js.map} +1 -1
  291. package/dist/overlays-DUbs1KEi.js +1011 -0
  292. package/dist/overlays-DUbs1KEi.js.map +1 -0
  293. package/dist/{page-BV6ioQg3.js → page-hGmT4nWK.js} +75 -64
  294. package/dist/page-hGmT4nWK.js.map +1 -0
  295. package/dist/{page-header-DQRa0jug.js → page-header-D8nERkn5.js} +9 -9
  296. package/dist/page-header-D8nERkn5.js.map +1 -0
  297. package/dist/{pagination-C29vvt3I.js → pagination-NLGqRirf.js} +20 -20
  298. package/dist/pagination-NLGqRirf.js.map +1 -0
  299. package/dist/{popover-CoLDEg19.js → popover-CghIYdQf.js} +23 -22
  300. package/dist/popover-CghIYdQf.js.map +1 -0
  301. package/dist/{popover-menu-GLIQTJTx.js → popover-menu-B4PoWhRl.js} +6 -6
  302. package/dist/{popover-menu-GLIQTJTx.js.map → popover-menu-B4PoWhRl.js.map} +1 -1
  303. package/dist/{popover.recipes-zgBhMlUu.js → popover.recipes-QlD4JenO.js} +5 -5
  304. package/dist/popover.recipes-QlD4JenO.js.map +1 -0
  305. package/dist/{primitives-DKPOGVpj.js → primitives-C7ff0QaI.js} +120 -113
  306. package/dist/primitives-C7ff0QaI.js.map +1 -0
  307. package/dist/primitives.js +3 -3
  308. package/dist/{progress-BOe8l_FZ.js → progress-BroqrAyV.js} +10 -9
  309. package/dist/progress-BroqrAyV.js.map +1 -0
  310. package/dist/{receipt-BM8xsGFy.js → receipt-BuJynLgf.js} +8 -8
  311. package/dist/{receipt-BM8xsGFy.js.map → receipt-BuJynLgf.js.map} +1 -1
  312. package/dist/{rich-text-B7sBAdDG.js → rich-text-DlxDOtf4.js} +4 -4
  313. package/dist/{rich-text-B7sBAdDG.js.map → rich-text-DlxDOtf4.js.map} +1 -1
  314. package/dist/rich-text-editor-BKyG7rWz.js +574 -0
  315. package/dist/rich-text-editor-BKyG7rWz.js.map +1 -0
  316. package/dist/{rich-text-editor.recipes-DxvOE0Lp.js → rich-text-editor.recipes-B72Nfuze.js} +35 -26
  317. package/dist/rich-text-editor.recipes-B72Nfuze.js.map +1 -0
  318. package/dist/{scroll-area-BheMQ270.js → scroll-area-D-pIhEKl.js} +3 -3
  319. package/dist/scroll-area-D-pIhEKl.js.map +1 -0
  320. package/dist/{separator-Gk_WXH-l.js → separator-BNIgG3au.js} +3 -3
  321. package/dist/{separator-Gk_WXH-l.js.map → separator-BNIgG3au.js.map} +1 -1
  322. package/dist/{separator-DO0EbCEm.js → separator-BhtFyo4x.js} +2 -2
  323. package/dist/{separator-DO0EbCEm.js.map → separator-BhtFyo4x.js.map} +1 -1
  324. package/dist/services/actions.js +1 -1
  325. package/dist/{settings-BnCyyPOJ.js → settings-DOTOzeZ2.js} +10 -9
  326. package/dist/{settings-BnCyyPOJ.js.map → settings-DOTOzeZ2.js.map} +1 -1
  327. package/dist/{sheet-B-q914Ad.js → sheet-BFhrNehm.js} +11 -11
  328. package/dist/sheet-BFhrNehm.js.map +1 -0
  329. package/dist/{sidebar-DPR7fmqN.js → sidebar-CyR4XKwR.js} +219 -200
  330. package/dist/sidebar-CyR4XKwR.js.map +1 -0
  331. package/dist/{sidebar-C_2p3Tfj.js → sidebar-SvGJ0Zwi.js} +63 -58
  332. package/dist/sidebar-SvGJ0Zwi.js.map +1 -0
  333. package/dist/{skeleton-CmT1ppqb.js → skeleton-3F0uhYn3.js} +4 -4
  334. package/dist/{skeleton-CmT1ppqb.js.map → skeleton-3F0uhYn3.js.map} +1 -1
  335. package/dist/{smart-card-CYLn46e6.js → smart-card-DjGVV2xr.js} +171 -165
  336. package/dist/smart-card-DjGVV2xr.js.map +1 -0
  337. package/dist/{spinner-BY9HbUEh.js → spinner-Cpf7oRkF.js} +5 -5
  338. package/dist/{spinner-BY9HbUEh.js.map → spinner-Cpf7oRkF.js.map} +1 -1
  339. package/dist/{structure-MvKVq-oL.js → structure-CRdqVawd.js} +2 -2
  340. package/dist/{structure-MvKVq-oL.js.map → structure-CRdqVawd.js.map} +1 -1
  341. package/dist/style.css +1 -1
  342. package/dist/{surface-recipes-CQfRr-VL.js → surface-recipes-Dd__PD-w.js} +4 -3
  343. package/dist/surface-recipes-Dd__PD-w.js.map +1 -0
  344. package/dist/{table-DnlAJ-xR.js → table-CLtJTxoR.js} +17 -16
  345. package/dist/table-CLtJTxoR.js.map +1 -0
  346. package/dist/table-CcRDZiLP.js +1444 -0
  347. package/dist/table-CcRDZiLP.js.map +1 -0
  348. package/dist/tabs-BNgu7g0u.js +188 -0
  349. package/dist/tabs-BNgu7g0u.js.map +1 -0
  350. package/dist/text-inputs-DsR56TR-.js +330 -0
  351. package/dist/text-inputs-DsR56TR-.js.map +1 -0
  352. package/dist/{text.styles-BwB7vAF2.js → text.styles-Q4sGAIgA.js} +18 -10
  353. package/dist/text.styles-Q4sGAIgA.js.map +1 -0
  354. package/dist/theme.css +77 -115
  355. package/dist/{timelines-B9ICkQcV.js → timelines-D1pkt3se.js} +84 -78
  356. package/dist/timelines-D1pkt3se.js.map +1 -0
  357. package/dist/{tree-BdWSaoFT.js → tree-BtmYyMZV.js} +8 -8
  358. package/dist/{tree-BdWSaoFT.js.map → tree-BtmYyMZV.js.map} +1 -1
  359. package/dist/typography/rich-text.js +1 -1
  360. package/dist/typography-BxQgiZyw.js +96 -0
  361. package/dist/typography-BxQgiZyw.js.map +1 -0
  362. package/dist/typography.js +1 -1
  363. package/dist/{ui-provider-CftIB6TY.js → ui-provider-DRPn3qNl.js} +3 -2
  364. package/dist/ui-provider-DRPn3qNl.js.map +1 -0
  365. package/dist/ui-provider.js +1 -1
  366. package/dist/{upload-D8Za5x_c.js → upload-CDbYw1WN.js} +326 -323
  367. package/dist/upload-CDbYw1WN.js.map +1 -0
  368. package/dist/{upload-queue-hIIYBLS7.js → upload-queue-CNd_hH_a.js} +25 -25
  369. package/dist/upload-queue-CNd_hH_a.js.map +1 -0
  370. package/dist/{usage-card-DnmnJ58D.js → usage-card-VyJLUwRr.js} +53 -54
  371. package/dist/usage-card-VyJLUwRr.js.map +1 -0
  372. package/dist/utils-BvH9PSmq.js +4275 -0
  373. package/dist/utils-BvH9PSmq.js.map +1 -0
  374. package/dist/value-inputs-D0KCrfVC.js +840 -0
  375. package/dist/value-inputs-D0KCrfVC.js.map +1 -0
  376. package/dist/{workspace-C1PZmk8L.js → workspace-CcR8r-Nt.js} +115 -122
  377. package/dist/workspace-CcR8r-Nt.js.map +1 -0
  378. package/docs/consumer-skill/SKILL.md +110 -119
  379. package/docs/consumer-skill/examples/analytics.tsx +34 -0
  380. package/docs/consumer-skill/examples/app-layout.tsx +42 -12
  381. package/docs/consumer-skill/examples/detail.tsx +20 -4
  382. package/docs/consumer-skill/examples/manifest.json +13 -1
  383. package/docs/consumer-skill/examples/website.tsx +56 -0
  384. package/docs/consumer-skill/references/analytics.md +70 -0
  385. package/docs/consumer-skill/references/composition.md +116 -2
  386. package/docs/consumer-skill/references/design-contract.md +33 -7
  387. package/docs/consumer-skill/references/discovery.md +76 -5
  388. package/docs/consumer-skill/references/integration.md +14 -0
  389. package/docs/consumer-skill/references/public-api.json +2023 -218
  390. package/docs/consumer-skill/references/review.md +55 -3
  391. package/docs/consumer-skill/references/theming.md +52 -7
  392. package/docs/consumer-skill/references/tokens.json +177 -9
  393. package/docs/consumer-skill/references/workflows.md +32 -0
  394. package/docs/consumer-skill/scripts/check-composition.mjs +1 -1
  395. package/docs/consumer-skill/scripts/composition-policy.mjs +179 -17
  396. package/docs/consumer-skill/scripts/discovery.mjs +61 -9
  397. package/docs/consumer-skill/scripts/surface-policy.mjs +44 -0
  398. package/package.json +7 -4
  399. package/dist/accordion-B-5Focs8.js.map +0 -1
  400. package/dist/action-menu-Cx3SdfbN.js.map +0 -1
  401. package/dist/affordance-geometry.generated-D8Jcfb0G.js +0 -32
  402. package/dist/affordance-geometry.generated-D8Jcfb0G.js.map +0 -1
  403. package/dist/ai-artifact-B5tPpXnS.js.map +0 -1
  404. package/dist/app-shell-at8Kt4l_.js.map +0 -1
  405. package/dist/auth-OFwWSAap.js +0 -704
  406. package/dist/auth-OFwWSAap.js.map +0 -1
  407. package/dist/breadcrumbs-DdQ_I5ra.js.map +0 -1
  408. package/dist/button-BS6l5JUw.js.map +0 -1
  409. package/dist/buttons-Co6GavvM.js +0 -674
  410. package/dist/buttons-Co6GavvM.js.map +0 -1
  411. package/dist/chart-DVfcwQu6.js +0 -149
  412. package/dist/chart-DVfcwQu6.js.map +0 -1
  413. package/dist/checkbox-BavDRjF7.js.map +0 -1
  414. package/dist/choice-inputs-CC7XqPQO.js +0 -619
  415. package/dist/choice-inputs-CC7XqPQO.js.map +0 -1
  416. package/dist/code-block-xHKbAJDj.js.map +0 -1
  417. package/dist/combobox-DEbdr-3u.js.map +0 -1
  418. package/dist/combobox-xv3yJbzl.js.map +0 -1
  419. package/dist/command-C0xe7u9B.js.map +0 -1
  420. package/dist/comments-DviPLnwy.js +0 -1132
  421. package/dist/comments-DviPLnwy.js.map +0 -1
  422. package/dist/containers-6s-ucRQQ.js.map +0 -1
  423. package/dist/data-display-cWIRdeaf.js.map +0 -1
  424. package/dist/date-picker-CA6ogMQB.js.map +0 -1
  425. package/dist/date-pickers-BPIKLdsD.js +0 -224
  426. package/dist/date-pickers-BPIKLdsD.js.map +0 -1
  427. package/dist/feedback-DWUkgEjR.js.map +0 -1
  428. package/dist/field-affordance-recipes-IjzPrCTw.js +0 -17
  429. package/dist/field-affordance-recipes-IjzPrCTw.js.map +0 -1
  430. package/dist/field-state-recipes-CBTRt9Bt.js.map +0 -1
  431. package/dist/filters-BhsUtsxW.js.map +0 -1
  432. package/dist/form-field-Bn7ZH1rA.js.map +0 -1
  433. package/dist/form-sizing-BWs70_a2.js.map +0 -1
  434. package/dist/forms-numeric-BUBxELBv.js +0 -867
  435. package/dist/forms-numeric-BUBxELBv.js.map +0 -1
  436. package/dist/header-C59QZyxV.js.map +0 -1
  437. package/dist/http-CLTVJc5I.js.map +0 -1
  438. package/dist/input-WwYQZJzG.js +0 -202
  439. package/dist/input-WwYQZJzG.js.map +0 -1
  440. package/dist/input-ci9fIgFH.js +0 -20
  441. package/dist/input-ci9fIgFH.js.map +0 -1
  442. package/dist/item-pJ0GsOiJ.js.map +0 -1
  443. package/dist/media-gallery-DhDRgnVZ.js.map +0 -1
  444. package/dist/message-COsdEvXT.js +0 -108
  445. package/dist/message-COsdEvXT.js.map +0 -1
  446. package/dist/navigation-BUIn2Qxx.js.map +0 -1
  447. package/dist/navigation-DBEu4POU.js.map +0 -1
  448. package/dist/navigation-row-recipes-GVh11KiT.js.map +0 -1
  449. package/dist/overlays-B11wZka6.js +0 -982
  450. package/dist/overlays-B11wZka6.js.map +0 -1
  451. package/dist/page-BV6ioQg3.js.map +0 -1
  452. package/dist/page-header-DQRa0jug.js.map +0 -1
  453. package/dist/pagination-C29vvt3I.js.map +0 -1
  454. package/dist/popover-CoLDEg19.js.map +0 -1
  455. package/dist/popover.recipes-zgBhMlUu.js.map +0 -1
  456. package/dist/primitives-DKPOGVpj.js.map +0 -1
  457. package/dist/progress-BOe8l_FZ.js.map +0 -1
  458. package/dist/rich-text-editor-CoVrTiSv.js +0 -575
  459. package/dist/rich-text-editor-CoVrTiSv.js.map +0 -1
  460. package/dist/rich-text-editor.recipes-DxvOE0Lp.js.map +0 -1
  461. package/dist/scroll-area-BheMQ270.js.map +0 -1
  462. package/dist/select-B2mb-qN2.js +0 -108
  463. package/dist/select-B2mb-qN2.js.map +0 -1
  464. package/dist/sheet-B-q914Ad.js.map +0 -1
  465. package/dist/sidebar-C_2p3Tfj.js.map +0 -1
  466. package/dist/sidebar-DPR7fmqN.js.map +0 -1
  467. package/dist/smart-card-CYLn46e6.js.map +0 -1
  468. package/dist/surface-recipes-CQfRr-VL.js.map +0 -1
  469. package/dist/table-BS39xnlq.js +0 -1424
  470. package/dist/table-BS39xnlq.js.map +0 -1
  471. package/dist/table-DnlAJ-xR.js.map +0 -1
  472. package/dist/tabs-B5cNMWiP.js +0 -187
  473. package/dist/tabs-B5cNMWiP.js.map +0 -1
  474. package/dist/text-inputs-Dh9XGyiS.js +0 -331
  475. package/dist/text-inputs-Dh9XGyiS.js.map +0 -1
  476. package/dist/text.styles-BwB7vAF2.js.map +0 -1
  477. package/dist/timelines-B9ICkQcV.js.map +0 -1
  478. package/dist/typography-Cv8MT-82.js +0 -96
  479. package/dist/typography-Cv8MT-82.js.map +0 -1
  480. package/dist/ui-provider-CftIB6TY.js.map +0 -1
  481. package/dist/upload-D8Za5x_c.js.map +0 -1
  482. package/dist/upload-queue-hIIYBLS7.js.map +0 -1
  483. package/dist/usage-card-DnmnJ58D.js.map +0 -1
  484. package/dist/utils-C2EKeIw3.js +0 -72
  485. package/dist/utils-C2EKeIw3.js.map +0 -1
  486. package/dist/value-inputs-DX2dbxjj.js +0 -824
  487. package/dist/value-inputs-DX2dbxjj.js.map +0 -1
  488. package/dist/workspace-C1PZmk8L.js.map +0 -1
@@ -1,18 +1,21 @@
1
1
  "use client";
2
- import { o as e } from "../ui-provider-CftIB6TY.js";
3
- import { useStrings as t } from "../lib/strings.js";
4
- import { t as n } from "../utils-C2EKeIw3.js";
5
- import { n as r } from "../buttons-Co6GavvM.js";
6
- import { a as i, i as a } from "../typography-Cv8MT-82.js";
7
- import { r as o, t as s } from "../date-BFNMnrS5.js";
8
- import { t as c } from "../date-pickers-BPIKLdsD.js";
9
- import { c as l } from "../choice-inputs-CC7XqPQO.js";
10
- import { useCallback as u, useMemo as d, useState as f } from "react";
11
- import { Fragment as p, jsx as m, jsxs as h } from "react/jsx-runtime";
12
- import { Calendar as g, ChevronLeft as _, ChevronRight as v, ExternalLink as y, User as b, Users as x } from "lucide-react";
13
- import { addMonths as S, addWeeks as C, eachDayOfInterval as w, endOfMonth as T, endOfWeek as E, format as D, isSameDay as O, isSameMonth as k, isToday as A, isWeekend as j, startOfDay as M, startOfMonth as N, startOfWeek as P, subMonths as F, subWeeks as I } from "date-fns";
2
+ import { _ as e, o as t, s as n } from "../ui-provider-DRPn3qNl.js";
3
+ import { useStrings as r } from "../lib/strings.js";
4
+ import { t as i } from "../utils-BvH9PSmq.js";
5
+ import { a, i as o } from "../typography-BxQgiZyw.js";
6
+ import { t as s } from "../button-BZDasD04.js";
7
+ import { t as c } from "../structure-CRdqVawd.js";
8
+ import { r as l, t as u } from "../date-DOKhJPu7.js";
9
+ import { t as d } from "../field-affordance-recipes-uKY4MsZ_.js";
10
+ import { c as f } from "../choice-inputs-Mk3iWbhr.js";
11
+ import { t as p } from "../date-pickers-BpgGz7S-.js";
12
+ import { r as m, t as h } from "../control-group-recipes-DBXmfh2E.js";
13
+ import { useCallback as g, useMemo as _, useState as v } from "react";
14
+ import { Fragment as y, jsx as b, jsxs as x } from "react/jsx-runtime";
15
+ import { Calendar as S, ChevronLeft as C, ChevronRight as w, ExternalLink as T, User as E, Users as ee } from "lucide-react";
16
+ import { addMonths as D, addWeeks as O, eachDayOfInterval as k, endOfMonth as A, endOfWeek as j, format as M, isSameDay as N, isSameMonth as P, isToday as F, isWeekend as I, startOfDay as L, startOfMonth as R, startOfWeek as z, subMonths as te, subWeeks as B } from "date-fns";
14
17
  //#region src/components/features/event-calendar/event-calendar.types.ts
15
- var L = {
18
+ var V = {
16
19
  gray: "bg-muted-foreground",
17
20
  red: "bg-destructive",
18
21
  orange: "bg-warning",
@@ -22,10 +25,10 @@ var L = {
22
25
  blue: "bg-info",
23
26
  purple: "bg-primary"
24
27
  };
25
- function R(e) {
28
+ function H(e) {
26
29
  return e?.colorToken ?? "gray";
27
30
  }
28
- var z = {
31
+ var U = {
29
32
  today: "Today",
30
33
  previous: "Previous",
31
34
  next: "Next",
@@ -50,75 +53,75 @@ var z = {
50
53
  };
51
54
  //#endregion
52
55
  //#region src/components/features/event-calendar/event-calendar-event-badge.tsx
53
- function B({ event: e, category: t, compact: a = !1, onClick: o }) {
54
- let s = L[R(t)], c = e.allDay ? null : D(e.startDate, "HH:mm"), l = e.metadata?.calendar_cell_title, u = typeof l == "string" && l.trim() !== "" ? l : e.title, d = c ? `${u} at ${c}` : u;
55
- return /* @__PURE__ */ h(r, {
56
+ function W({ event: e, category: t, compact: n = !1, onClick: r }) {
57
+ let o = V[H(t)], s = e.allDay ? null : M(e.startDate, "HH:mm"), c = e.metadata?.calendar_cell_title, l = typeof c == "string" && c.trim() !== "" ? c : e.title, u = s ? `${l} at ${s}` : l;
58
+ return /* @__PURE__ */ b("button", {
56
59
  type: "button",
57
- tone: "secondary",
58
- buttonStyle: "ghost",
59
- size: a ? "sm" : "md",
60
60
  onClick: (e) => {
61
- e.stopPropagation(), o?.();
61
+ e.stopPropagation(), r?.();
62
62
  },
63
- className: n("event-calendar-event-badge--component", "group/event flex w-full min-w-0 items-center gap-space-xs rounded-radius-md border border-border/60 bg-card px-1.5", "justify-start text-left shadow-none transition-colors hover:bg-accent/50", "max-sm:h-3 max-sm:justify-center max-sm:gap-0 max-sm:border-transparent max-sm:bg-transparent max-sm:px-0", a ? "h-5" : "h-6"),
64
- "aria-label": d,
65
- title: typeof u == "string" ? u : void 0,
66
- children: [
67
- /* @__PURE__ */ m("span", {
68
- "aria-hidden": "true",
69
- className: n("size-1.5 shrink-0 rounded-full", s)
70
- }),
71
- /* @__PURE__ */ m(i, {
72
- tag: "span",
73
- size: "xs",
74
- weight: "medium",
75
- className: "min-w-0 flex-1 truncate max-sm:hidden",
76
- children: u
77
- }),
78
- !!c && /* @__PURE__ */ m(i, {
79
- tag: "span",
80
- size: "xs",
81
- type: "secondary",
82
- className: "shrink-0 whitespace-nowrap tabular-nums max-sm:hidden",
83
- children: c
84
- })
85
- ]
63
+ className: i("event-calendar-event-badge--component", d.inline, d.focus, "@container/calendar-event group/calendar-event w-full min-w-0 cursor-pointer text-left text-card-foreground"),
64
+ "aria-label": u,
65
+ title: u,
66
+ children: /* @__PURE__ */ x("span", {
67
+ className: i("box-border flex w-full min-w-0 items-center gap-space-xs overflow-hidden rounded-radius border border-border bg-card px-space-xs group-hover/calendar-event:bg-accent group-hover/calendar-event:text-accent-foreground", n ? "py-space-2xs" : "py-space-xs", "@max-[4rem]/calendar-event:justify-center @max-[4rem]/calendar-event:border-transparent @max-[4rem]/calendar-event:bg-transparent @max-[4rem]/calendar-event:px-0 @max-[4rem]/calendar-event:py-space-2xs"),
68
+ children: [
69
+ /* @__PURE__ */ b("span", {
70
+ "aria-hidden": "true",
71
+ className: i("size-1.5 shrink-0 rounded-full", o)
72
+ }),
73
+ /* @__PURE__ */ b(a, {
74
+ tag: "span",
75
+ size: "xs",
76
+ weight: "medium",
77
+ className: "hidden min-w-0 flex-1 truncate @min-[4rem]/calendar-event:block",
78
+ children: l
79
+ }),
80
+ !!s && /* @__PURE__ */ b(a, {
81
+ tag: "span",
82
+ size: "xs",
83
+ type: "secondary",
84
+ className: "hidden shrink-0 whitespace-nowrap tabular-nums @min-[4rem]/calendar-event:inline",
85
+ children: s
86
+ })
87
+ ]
88
+ })
86
89
  });
87
90
  }
88
- B.displayName = "EventCalendarEventBadge";
91
+ W.displayName = "EventCalendarEventBadge";
89
92
  //#endregion
90
93
  //#region src/components/features/event-calendar/use-event-calendar-data.tsx
91
- function V(e, t, n, r = {}) {
94
+ function G(e, t, n, r = {}) {
92
95
  let { weekStartsOn: i = 1, showWeekends: a = !0, visibleCategories: o } = r;
93
- return d(() => {
94
- let r = N(t), s = T(t), c, l;
95
- n === "month" ? (c = P(r, { weekStartsOn: i }), l = E(s, { weekStartsOn: i })) : n === "week" ? (c = P(t, { weekStartsOn: i }), l = E(t, { weekStartsOn: i })) : (c = r, l = s);
96
- let u = w({
96
+ return _(() => {
97
+ let r = R(t), s = A(t), c, l;
98
+ n === "month" ? (c = z(r, { weekStartsOn: i }), l = j(s, { weekStartsOn: i })) : n === "week" ? (c = z(t, { weekStartsOn: i }), l = j(t, { weekStartsOn: i })) : (c = r, l = s);
99
+ let u = k({
97
100
  start: c,
98
101
  end: l
99
102
  }), d = o && o.length > 0 ? e.filter((e) => o.includes(e.category)) : e, f = /* @__PURE__ */ new Map();
100
103
  return d.forEach((e) => {
101
- let t = M(e.startDate);
104
+ let t = L(e.startDate);
102
105
  if (Number.isNaN(t.getTime())) return;
103
106
  let n = t;
104
107
  if (e.endDate && !Number.isNaN(e.endDate.getTime())) {
105
- let r = M(e.endDate);
108
+ let r = L(e.endDate);
106
109
  !Number.isNaN(r.getTime()) && r.getTime() >= t.getTime() && (n = r);
107
110
  }
108
- w({
111
+ k({
109
112
  start: t,
110
113
  end: n
111
114
  }).forEach((t) => {
112
115
  let n = t.toISOString().split("T")[0];
113
116
  f.has(n) || f.set(n, []), f.get(n).push(e);
114
117
  });
115
- }), u.filter((e) => a || !j(e)).map((e) => {
118
+ }), u.filter((e) => a || !I(e)).map((e) => {
116
119
  let n = e.toISOString().split("T")[0], r = [...f.get(n) || []].sort((e, t) => e.allDay && !t.allDay ? -1 : !e.allDay && t.allDay ? 1 : e.startDate.getTime() - t.startDate.getTime());
117
120
  return {
118
121
  date: e,
119
- isCurrentMonth: k(e, t),
120
- isToday: A(e),
121
- isWeekend: j(e),
122
+ isCurrentMonth: P(e, t),
123
+ isToday: F(e),
124
+ isWeekend: I(e),
122
125
  events: r,
123
126
  eventCount: r.length,
124
127
  hasMultipleEvents: r.length > 1
@@ -133,69 +136,67 @@ function V(e, t, n, r = {}) {
133
136
  o
134
137
  ]);
135
138
  }
136
- function H(e, t) {
139
+ function ne(e, t) {
137
140
  return e.filter((e) => {
138
- let n = M(e.startDate), r = e.endDate ? M(e.endDate) : n, i = M(t);
139
- return O(i, n) || O(i, r) || i > n && i < r;
141
+ let n = L(e.startDate), r = e.endDate ? L(e.endDate) : n, i = L(t);
142
+ return N(i, n) || N(i, r) || i > n && i < r;
140
143
  }).sort((e, t) => e.allDay && !t.allDay ? -1 : !e.allDay && t.allDay ? 1 : e.startDate.getTime() - t.startDate.getTime());
141
144
  }
142
- function U(e, t) {
145
+ function K(e, t) {
143
146
  return e.find((e) => e.id === t);
144
147
  }
145
148
  //#endregion
146
149
  //#region src/components/features/event-calendar/event-calendar-day-cell.tsx
147
- function W({ data: e, categories: t, maxEvents: a = 3, onClick: o, onEventClick: s, compact: c = !1, strings: l, renderEvent: u }) {
148
- let d = {
149
- booking: l?.booking ?? z.booking,
150
- bookings: l?.bookings ?? z.bookings
151
- }, { date: f, isCurrentMonth: p, isToday: g, isWeekend: _, events: v, eventCount: y } = e, b = v.slice(0, a), x = Math.max(0, y - a);
152
- return /* @__PURE__ */ m("div", {
153
- className: n("event-calendar-day-cell--component", "p-0 relative w-full border-r border-b border-border last:border-r-0 [&:nth-child(7n)]:border-r-0"),
154
- children: /* @__PURE__ */ h("div", {
155
- onClick: o,
156
- className: n("event-calendar-day-cell--surface", "relative w-full min-h-24 p-space-md transition-colors", "hover:bg-accent", "flex flex-col items-start gap-space-xs", g && "h-full bg-accent text-accent-foreground", c && "min-h-20 p-space-xs"),
150
+ function q({ data: e, categories: t, maxEvents: n = 3, onClick: r, onEventClick: o, compact: s = !1, strings: c, renderEvent: l }) {
151
+ let u = {
152
+ booking: c?.booking ?? U.booking,
153
+ bookings: c?.bookings ?? U.bookings
154
+ }, { date: f, isCurrentMonth: p, isToday: m, isWeekend: h, events: g, eventCount: _ } = e, v = g.slice(0, n), y = Math.max(0, _ - n);
155
+ return /* @__PURE__ */ b("div", {
156
+ className: i("event-calendar-day-cell--component", "box-border h-full p-0 relative w-full border-r border-b border-border last:border-r-0 [&:nth-child(7n)]:border-r-0"),
157
+ children: /* @__PURE__ */ x("div", {
158
+ onClick: r,
159
+ className: i("event-calendar-day-cell--surface", "box-border relative h-full w-full min-h-24 p-space-md transition-colors", "hover:bg-accent", "flex flex-col items-start gap-space-xs", m && "h-full bg-accent text-accent-foreground", s && "min-h-20 p-space-xs"),
157
160
  "data-date": f.toISOString(),
158
- "data-today": g,
159
- "data-weekend": _,
161
+ "data-today": m,
162
+ "data-weekend": h,
160
163
  "data-current-month": p,
161
- children: [/* @__PURE__ */ m(r, {
164
+ children: [/* @__PURE__ */ b("button", {
162
165
  type: "button",
163
- tone: "secondary",
164
- buttonStyle: "ghost",
165
166
  onClick: (e) => {
166
- e.stopPropagation(), o();
167
+ e.stopPropagation(), r();
167
168
  },
168
- className: n("event-calendar-day-cell--date", "h-auto px-0 py-0 hover:bg-transparent", "rounded-radius-sm focus-visible:ring-2 focus-visible:ring-ring focus-visible:z-10"),
169
+ className: i("event-calendar-day-cell--date", d.target, d.focus, "text-inherit"),
169
170
  "aria-label": f.toDateString(),
170
- children: /* @__PURE__ */ m(i, {
171
- className: n("font-normal leading-none", g && "font-semibold", !p && "text-muted-foreground", c && "text-xs"),
171
+ children: /* @__PURE__ */ b(a, {
172
+ className: i("font-normal leading-none", m && "font-semibold", !p && "text-muted-foreground", s && "text-xs"),
172
173
  children: f.getDate()
173
174
  })
174
- }), /* @__PURE__ */ h("div", {
175
+ }), /* @__PURE__ */ x("div", {
175
176
  className: "w-full space-y-space-2xs",
176
- children: [b.map((n) => {
177
- let r = U(t, n.category);
178
- return u ? /* @__PURE__ */ m("div", { children: u(n, r) }, n.id) : /* @__PURE__ */ m(B, {
177
+ children: [v.map((n) => {
178
+ let i = K(t, n.category);
179
+ return l ? /* @__PURE__ */ b("div", { children: l(n, i) }, n.id) : /* @__PURE__ */ b(W, {
179
180
  event: n,
180
- category: r,
181
- compact: c || e.hasMultipleEvents,
181
+ category: i,
182
+ compact: s || e.hasMultipleEvents,
182
183
  onClick: () => {
183
- s ? s(n) : o();
184
+ o ? o(n) : r();
184
185
  }
185
186
  }, n.id);
186
- }), x > 0 && /* @__PURE__ */ h("div", {
187
+ }), y > 0 && /* @__PURE__ */ x("div", {
187
188
  className: "flex items-center gap-space-xs py-space-2xs px-space-md",
188
- children: [/* @__PURE__ */ m("div", {
189
+ children: [/* @__PURE__ */ b("div", {
189
190
  className: "flex items-center -space-x-1",
190
- children: t.slice(0, 3).map((e, t) => /* @__PURE__ */ m("span", { className: n("h-1.5 w-1.5 rounded-full border border-background", L[R(e)]) }, e.id || t))
191
- }), /* @__PURE__ */ h(i, {
191
+ children: t.slice(0, 3).map((e, t) => /* @__PURE__ */ b("span", { className: i("h-1.5 w-1.5 rounded-full border border-background", V[H(e)]) }, e.id || t))
192
+ }), /* @__PURE__ */ x(a, {
192
193
  size: "xs",
193
194
  type: "secondary",
194
195
  className: "font-medium text-xs",
195
196
  children: [
196
- x,
197
+ y,
197
198
  " ",
198
- x === 1 ? d.booking : d.bookings
199
+ y === 1 ? u.booking : u.bookings
199
200
  ]
200
201
  })]
201
202
  })]
@@ -203,115 +204,114 @@ function W({ data: e, categories: t, maxEvents: a = 3, onClick: o, onEventClick:
203
204
  })
204
205
  });
205
206
  }
206
- W.displayName = "EventCalendarDayCell";
207
+ q.displayName = "EventCalendarDayCell";
207
208
  //#endregion
208
209
  //#region src/components/features/event-calendar/event-calendar-header.tsx
209
- var G = (e, t) => {
210
+ var J = (e, t) => {
210
211
  if (!e) return null;
211
- if (e.element) return /* @__PURE__ */ m("div", {
212
+ if (e.element) return /* @__PURE__ */ b("div", {
212
213
  className: "event-calendar-header--action-slot",
213
214
  children: e.element
214
215
  }, e.id || t);
215
- let i = e.icon, a = e.id || `action-${t}`, o = () => {
216
+ let n = e.icon, r = e.id || `action-${t}`, a = () => {
216
217
  e.onClick?.();
217
- }, s = e.buttonStyle === "link" ? "ghost" : e.buttonStyle ?? "solid";
218
- return /* @__PURE__ */ h(r, {
218
+ }, o = e.buttonStyle === "link" ? "ghost" : e.buttonStyle ?? "solid";
219
+ return /* @__PURE__ */ x(s, {
219
220
  tone: e.tone ?? "primary",
220
- buttonStyle: s,
221
- onClick: o,
222
- className: n("gap-space-md", e.buttonStyle === "link" && "underline underline-offset-4"),
221
+ buttonStyle: o,
222
+ onClick: a,
223
+ className: i("gap-space-md", e.buttonStyle === "link" && "underline underline-offset-4"),
223
224
  disabled: !!e.disabled,
224
- children: [!!i && /* @__PURE__ */ m(i, { className: "size-icon" }), e.label]
225
- }, a);
225
+ children: [!!n && /* @__PURE__ */ b(n, { className: "size-icon" }), e.label]
226
+ }, r);
226
227
  };
227
- function K({ currentDate: e, viewMode: n, displayLabel: i, onPrevious: o, onNext: s, onToday: u, onViewModeChange: f, onDateChange: g, locale: y, actions: b, strings: x, rangeMode: S = "date", minDate: C, maxDate: w, prevDisabled: T = !1, nextDisabled: E = !1 }) {
228
- let D = t(z, x), O = d(() => (b || []).filter((e) => e.visible !== !1), [b]), k = d(() => [
228
+ function Y({ currentDate: t, viewMode: a, displayLabel: c, onPrevious: l, onNext: u, onToday: d, onViewModeChange: g, onDateChange: v, locale: S, actions: T, strings: E, rangeMode: ee = "date", minDate: D, maxDate: O, prevDisabled: k = !1, nextDisabled: A = !1 }) {
229
+ let { defaultScale: j } = n(), M = e(void 0, j), N = r(U, E), P = _(() => (T || []).filter((e) => e.visible !== !1), [T]), F = _(() => [
229
230
  {
230
231
  value: "month",
231
- label: D.viewMode.month
232
+ label: N.viewMode.month
232
233
  },
233
234
  {
234
235
  value: "week",
235
- label: D.viewMode.week
236
+ label: N.viewMode.week
236
237
  },
237
238
  {
238
239
  value: "agenda",
239
- label: D.viewMode.agenda
240
+ label: N.viewMode.agenda
240
241
  }
241
242
  ], [
242
- D.viewMode.month,
243
- D.viewMode.week,
244
- D.viewMode.agenda
243
+ N.viewMode.month,
244
+ N.viewMode.week,
245
+ N.viewMode.agenda
245
246
  ]);
246
- return /* @__PURE__ */ m("div", {
247
+ return /* @__PURE__ */ b("div", {
247
248
  className: "event-calendar-header--component @container/event-calendar-header mb-space-xl min-w-0",
248
- children: /* @__PURE__ */ h("div", {
249
+ children: /* @__PURE__ */ x("div", {
249
250
  className: "event-calendar-header--layout flex min-w-0 flex-col items-stretch gap-space-lg @2xl/event-calendar-header:flex-row @2xl/event-calendar-header:items-center @2xl/event-calendar-header:justify-between @2xl/event-calendar-header:gap-space-xl",
250
- children: [/* @__PURE__ */ h("div", {
251
+ children: [/* @__PURE__ */ x("div", {
251
252
  className: "event-calendar-header--title flex min-w-0 flex-wrap items-center gap-space-lg @2xl/event-calendar-header:flex-none",
252
- children: [/* @__PURE__ */ m(a, {
253
+ children: [/* @__PURE__ */ b(o, {
253
254
  tag: "h3",
254
255
  className: "min-w-0 break-words",
255
- children: i
256
- }), /* @__PURE__ */ m(c, {
256
+ children: c
257
+ }), /* @__PURE__ */ b(p, {
257
258
  iconOnly: !0,
258
259
  className: "min-w-0 max-w-full",
259
260
  value: {
260
- month: e.getMonth(),
261
- year: e.getFullYear()
261
+ month: t.getMonth(),
262
+ year: t.getFullYear()
262
263
  },
263
264
  onValueChange: (e) => {
264
- e.date && g?.(e.date);
265
+ e.date && v?.(e.date);
265
266
  },
266
- fromYear: C?.getFullYear(),
267
- toYear: w?.getFullYear(),
268
- locale: y,
269
- strings: D.monthYearPicker
267
+ fromYear: D?.getFullYear(),
268
+ toYear: O?.getFullYear(),
269
+ locale: S,
270
+ strings: N.monthYearPicker
270
271
  })]
271
- }), /* @__PURE__ */ h("div", {
272
+ }), /* @__PURE__ */ x("div", {
272
273
  className: "event-calendar-header--controls flex w-full min-w-0 flex-wrap items-center gap-space-md @2xl/event-calendar-header:w-auto @2xl/event-calendar-header:flex-1 @2xl/event-calendar-header:justify-end",
273
274
  children: [
274
- O.length > 0 && /* @__PURE__ */ h(p, { children: [/* @__PURE__ */ m("div", {
275
+ P.length > 0 && /* @__PURE__ */ x(y, { children: [/* @__PURE__ */ b("div", {
275
276
  className: "event-calendar-header--actions flex min-w-0 flex-wrap items-center gap-space-md",
276
- children: O.map((e, t) => G(e, t))
277
- }), /* @__PURE__ */ m("div", { className: "event-calendar-header--separator mx-space-sm hidden h-6 w-px bg-border @sm/event-calendar-header:block" })] }),
278
- /* @__PURE__ */ m(r, {
277
+ children: P.map((e, t) => J(e, t))
278
+ }), /* @__PURE__ */ b("div", { className: "event-calendar-header--separator mx-space-sm hidden h-6 w-px bg-border @sm/event-calendar-header:block" })] }),
279
+ /* @__PURE__ */ b(s, {
279
280
  tone: "secondary",
280
281
  buttonStyle: "outline",
281
- onClick: u,
282
- className: "hidden @md/event-calendar-header:inline-flex",
283
- children: D.today
282
+ onClick: d,
283
+ children: N.today
284
284
  }),
285
- /* @__PURE__ */ h("div", {
286
- className: "flex items-center rounded-radius border border-border",
287
- children: [/* @__PURE__ */ m(r, {
285
+ /* @__PURE__ */ x("div", {
286
+ className: i("event-calendar-header--navigation", m.joinedFrame, h[M]),
287
+ children: [/* @__PURE__ */ b(s, {
288
288
  tone: "secondary",
289
289
  buttonStyle: "ghost",
290
- size: "md",
290
+ size: M,
291
291
  iconOnly: !0,
292
- onClick: o,
293
- disabled: T,
294
- className: "border-border rounded-r-none border-r",
295
- "aria-label": D.previous,
296
- children: /* @__PURE__ */ m(_, { className: "size-icon" })
297
- }), /* @__PURE__ */ m(r, {
292
+ onClick: l,
293
+ disabled: k,
294
+ className: i(m.joinedItem, m.firstItem, "border-border border-e"),
295
+ "aria-label": N.previous,
296
+ children: /* @__PURE__ */ b(C, { className: "size-icon rtl:rotate-180" })
297
+ }), /* @__PURE__ */ b(s, {
298
298
  tone: "secondary",
299
299
  buttonStyle: "ghost",
300
- size: "md",
300
+ size: M,
301
301
  iconOnly: !0,
302
- onClick: s,
303
- disabled: E,
304
- className: "rounded-l-none",
305
- "aria-label": D.next,
306
- children: /* @__PURE__ */ m(v, { className: "size-icon" })
302
+ onClick: u,
303
+ disabled: A,
304
+ className: i(m.joinedItem, m.lastItem),
305
+ "aria-label": N.next,
306
+ children: /* @__PURE__ */ b(w, { className: "size-icon rtl:rotate-180" })
307
307
  })]
308
308
  }),
309
- !!f && /* @__PURE__ */ m(l, {
310
- "aria-label": D.viewMode.label,
311
- value: n,
312
- options: k,
309
+ !!g && /* @__PURE__ */ b(f, {
310
+ "aria-label": N.viewMode.label,
311
+ value: a,
312
+ options: F,
313
313
  onValueChange: (e) => {
314
- e && f(e);
314
+ e && g(e);
315
315
  },
316
316
  className: "w-full max-w-full @sm/event-calendar-header:w-28"
317
317
  })
@@ -320,10 +320,10 @@ function K({ currentDate: e, viewMode: n, displayLabel: i, onPrevious: o, onNext
320
320
  })
321
321
  });
322
322
  }
323
- K.displayName = "EventCalendarHeader";
323
+ Y.displayName = "EventCalendarHeader";
324
324
  //#endregion
325
325
  //#region src/components/features/event-calendar/colors.ts
326
- var ee = {
326
+ var X = {
327
327
  gray: {
328
328
  badgeBg: "bg-muted",
329
329
  border: "border-border",
@@ -365,37 +365,37 @@ var ee = {
365
365
  swatch: "bg-primary"
366
366
  }
367
367
  };
368
- function q(e) {
369
- let t = R(e);
368
+ function Z(e) {
369
+ let t = H(e);
370
370
  return {
371
- dot: L[t],
372
- ...ee[t]
371
+ dot: V[t],
372
+ ...X[t]
373
373
  };
374
374
  }
375
- function J(e) {
376
- return L[R(e)];
375
+ function Q(e) {
376
+ return V[H(e)];
377
377
  }
378
378
  //#endregion
379
379
  //#region src/components/features/event-calendar/event-calendar-legend.tsx
380
- function Y({ categories: e, visibleCategories: t, onToggleCategory: a, enableFiltering: o = !1 }) {
381
- let s = !t || t.length === 0, c = (e) => !o || s || t?.includes(e), l = (e) => {
382
- o && a && a(e);
380
+ function $({ categories: e, visibleCategories: t, onToggleCategory: n, enableFiltering: r = !1 }) {
381
+ let o = !t || t.length === 0, c = (e) => !r || o || t?.includes(e), l = (e) => {
382
+ r && n && n(e);
383
383
  };
384
- return e.length === 0 ? null : /* @__PURE__ */ m("div", {
385
- role: o ? "group" : void 0,
386
- "aria-label": o ? "Filter event categories" : void 0,
387
- className: n("event-calendar-legend--component", "flex flex-wrap items-center gap-space-sm py-space-xs"),
384
+ return e.length === 0 ? null : /* @__PURE__ */ b("div", {
385
+ role: r ? "group" : void 0,
386
+ "aria-label": r ? "Filter event categories" : void 0,
387
+ className: i("event-calendar-legend--component", "flex flex-wrap items-center gap-space-sm py-space-xs"),
388
388
  children: e.map((e) => {
389
- let t = c(e.id), a = q(e), s = e.icon, u = "group inline-flex items-center gap-space-sm rounded-full border px-space-sm py-space-xs transition-colors", d = /* @__PURE__ */ h(p, { children: [
390
- /* @__PURE__ */ m("span", {
391
- className: n("inline-block size-2 rounded-full", t ? a.swatch : "bg-muted-foreground/40"),
389
+ let t = c(e.id), n = Z(e), o = e.icon, u = "group inline-flex items-center gap-space-sm rounded-inner border px-space-sm py-space-xs transition-colors", d = /* @__PURE__ */ x(y, { children: [
390
+ /* @__PURE__ */ b("span", {
391
+ className: i("inline-block size-2 rounded-radius", t ? n.swatch : "bg-muted-foreground/40"),
392
392
  "aria-hidden": "true"
393
393
  }),
394
- !!s && /* @__PURE__ */ m(s, {
395
- className: n("size-icon-sm", t ? "text-foreground" : "text-muted-foreground"),
394
+ !!o && /* @__PURE__ */ b(o, {
395
+ className: i("size-icon-sm", t ? "text-foreground" : "text-muted-foreground"),
396
396
  "aria-hidden": "true"
397
397
  }),
398
- /* @__PURE__ */ m(i, {
398
+ /* @__PURE__ */ b(a, {
399
399
  tag: "span",
400
400
  size: "xs",
401
401
  weight: "medium",
@@ -403,216 +403,217 @@ function Y({ categories: e, visibleCategories: t, onToggleCategory: a, enableFil
403
403
  children: e.label
404
404
  })
405
405
  ] });
406
- return o ? /* @__PURE__ */ m(r, {
406
+ return r ? /* @__PURE__ */ b(s, {
407
407
  type: "button",
408
408
  tone: "secondary",
409
409
  buttonStyle: "ghost",
410
410
  size: "sm",
411
411
  "aria-pressed": t,
412
412
  onClick: () => l(e.id),
413
- className: n(u, "h-auto cursor-pointer shadow-none focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring/40", t ? "border-border bg-card hover:bg-muted/40" : "border-dashed border-border/60 bg-transparent text-muted-foreground hover:bg-muted/30"),
413
+ className: i(u, "h-auto cursor-pointer shadow-none focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring", t ? "border-border bg-card hover:bg-muted/40" : "border-dashed border-border/60 bg-transparent text-muted-foreground hover:bg-muted/30"),
414
414
  children: d
415
- }, e.id) : /* @__PURE__ */ m("span", {
416
- className: n(u, "border-border bg-card cursor-default"),
415
+ }, e.id) : /* @__PURE__ */ b("span", {
416
+ className: i(u, "border-border bg-card cursor-default"),
417
417
  children: d
418
418
  }, e.id);
419
419
  })
420
420
  });
421
421
  }
422
- Y.displayName = "EventCalendarLegend";
422
+ $.displayName = "EventCalendarLegend";
423
423
  //#endregion
424
424
  //#region src/components/features/event-calendar/use-event-calendar.tsx
425
- function te({ events: e, locale: t, date: n, defaultDate: r = /* @__PURE__ */ new Date(), viewMode: i, defaultViewMode: a = "month", onDateChange: o, onViewModeChange: s, dataOptions: c = {} }) {
426
- let [l, p] = f(r), [m, h] = f(a), g = n ?? l, _ = i ?? m, v = u((e) => {
427
- n === void 0 && p(e), o?.(e);
428
- }, [n, o]), y = u((e) => {
429
- i === void 0 && h(e), s?.(e);
430
- }, [s, i]), b = V(e, g, _, c), x = d(() => c.visibleCategories && c.visibleCategories.length > 0 ? e.filter((e) => c.visibleCategories.includes(e.category)) : e, [e, c.visibleCategories]);
425
+ function re({ events: e, locale: t, date: n, defaultDate: r = /* @__PURE__ */ new Date(), viewMode: i, defaultViewMode: a = "month", onDateChange: o, onViewModeChange: s, dataOptions: c = {} }) {
426
+ let [l, u] = v(r), [d, f] = v(a), p = n ?? l, m = i ?? d, h = g((e) => {
427
+ n === void 0 && u(e), o?.(e);
428
+ }, [n, o]), y = g((e) => {
429
+ i === void 0 && f(e), s?.(e);
430
+ }, [s, i]), b = G(e, p, m, c), x = _(() => c.visibleCategories && c.visibleCategories.length > 0 ? e.filter((e) => c.visibleCategories.includes(e.category)) : e, [e, c.visibleCategories]);
431
431
  return {
432
- currentDate: g,
433
- viewMode: _,
432
+ currentDate: p,
433
+ viewMode: m,
434
434
  calendarDays: b,
435
435
  visibleEvents: x,
436
- goToToday: u(() => {
437
- v(/* @__PURE__ */ new Date());
438
- }, [v]),
439
- goToNextPeriod: u(() => {
440
- let e = _ === "month" ? S(g, 1) : C(g, 1);
441
- v(e);
436
+ goToToday: g(() => {
437
+ h(/* @__PURE__ */ new Date());
438
+ }, [h]),
439
+ goToNextPeriod: g(() => {
440
+ let e = m === "month" ? D(p, 1) : O(p, 1);
441
+ h(e);
442
442
  }, [
443
- v,
444
- g,
445
- _
443
+ h,
444
+ p,
445
+ m
446
446
  ]),
447
- goToPreviousPeriod: u(() => {
448
- let e = _ === "month" ? F(g, 1) : I(g, 1);
449
- v(e);
447
+ goToPreviousPeriod: g(() => {
448
+ let e = m === "month" ? te(p, 1) : B(p, 1);
449
+ h(e);
450
450
  }, [
451
- v,
452
- g,
453
- _
451
+ h,
452
+ p,
453
+ m
454
454
  ]),
455
- setDate: u((e) => {
456
- v(e);
457
- }, [v]),
458
- setViewMode: u((e) => {
455
+ setDate: g((e) => {
456
+ h(e);
457
+ }, [h]),
458
+ setViewMode: g((e) => {
459
459
  y(e);
460
460
  }, [y]),
461
- displayLabel: d(() => {
462
- if (_ === "month") return D(g, "MMMM yyyy", { locale: t });
463
- if (_ === "week") {
461
+ displayLabel: _(() => {
462
+ if (m === "month") return M(p, "MMMM yyyy", { locale: t });
463
+ if (m === "week") {
464
464
  let e = b[0]?.date, n = b[b.length - 1]?.date;
465
- return e && n ? `${D(e, "MMM d", { locale: t })} - ${D(n, "MMM d, yyyy", { locale: t })}` : D(g, "MMMM yyyy", { locale: t });
465
+ return e && n ? `${M(e, "MMM d", { locale: t })} - ${M(n, "MMM d, yyyy", { locale: t })}` : M(p, "MMMM yyyy", { locale: t });
466
466
  }
467
- return D(g, "MMMM yyyy", { locale: t });
467
+ return M(p, "MMMM yyyy", { locale: t });
468
468
  }, [
469
- g,
470
- _,
469
+ p,
470
+ m,
471
471
  b,
472
472
  t
473
473
  ]),
474
- hasEvents: d(() => x.length > 0, [x])
474
+ hasEvents: _(() => x.length > 0, [x])
475
475
  };
476
476
  }
477
477
  //#endregion
478
478
  //#region src/components/features/event-calendar/event-calendar.tsx
479
- function ne(e, t) {
479
+ function ie(e, t) {
480
480
  if (!e) return !1;
481
481
  if (Array.isArray(e)) return e.some((e) => e.toDateString() === t.toDateString());
482
482
  if (typeof e == "function") return e(t);
483
483
  let n = e.dates?.some((e) => e.toDateString() === t.toDateString()) ?? !1, r = e.predicate?.(t) ?? !1;
484
484
  return n || r;
485
485
  }
486
- function X({ events: r, categories: a, viewMode: o, defaultViewMode: s, onViewModeChange: c, date: l, defaultDate: u, onDateChange: p, onEventClick: g, onDayClick: _, maxEventsPerDay: v = 3, showLegend: y = !0, showHeader: b = !0, showWeekends: x = !0, weekStartsOn: S, locale: C, enableCategoryFilter: w = !1, visibleCategories: T, onVisibleCategoriesChange: E, loading: D = !1, emptyStateMessage: O, className: k, compact: A = !1, actions: j, strings: M, dayHeadingVariant: N = "default", dayHeadingClassName: P, renderDayHeading: F, rangeMode: I = "date", minDate: L, maxDate: R, disabledDates: B, filterEvent: V, renderEvent: H, renderDayCell: U }) {
487
- let G = t(z, M), [ee, q] = f([]), J = T ?? ee, { weekStartsOn: X, locale: Z } = e(), Q = S ?? X ?? 1, re = C ?? Z, ie = (e) => {
488
- let t = J.includes(e) ? J.filter((t) => t !== e) : [...J, e];
489
- E ? E(t) : q(t);
490
- }, $ = te({
491
- events: r,
492
- locale: re,
486
+ function ae({ events: e, categories: n, viewMode: o, defaultViewMode: s, onViewModeChange: c, date: l, defaultDate: u, onDateChange: d, onEventClick: f, onDayClick: p, maxEventsPerDay: m = 3, showLegend: h = !0, showHeader: g = !0, showWeekends: y = !0, weekStartsOn: S, locale: C, enableCategoryFilter: w = !1, visibleCategories: T, onVisibleCategoriesChange: E, loading: ee = !1, emptyStateMessage: D, className: O, compact: k = !1, actions: A, strings: j, dayHeadingVariant: M = "default", dayHeadingClassName: N, renderDayHeading: P, rangeMode: F = "date", minDate: I, maxDate: L, disabledDates: R, filterEvent: z, renderEvent: te, renderDayCell: B }) {
487
+ let V = r(U, j), [H, W] = v([]), G = T ?? H, { weekStartsOn: ne, locale: K } = t(), J = S ?? ne ?? 1, X = C ?? K, Z = (e) => {
488
+ let t = G.includes(e) ? G.filter((t) => t !== e) : [...G, e];
489
+ E ? E(t) : W(t);
490
+ }, Q = re({
491
+ events: e,
492
+ locale: X,
493
493
  date: l,
494
494
  defaultDate: u,
495
495
  viewMode: o,
496
496
  defaultViewMode: s,
497
- onDateChange: p,
497
+ onDateChange: d,
498
498
  onViewModeChange: c,
499
499
  dataOptions: {
500
- weekStartsOn: Q,
501
- showWeekends: x,
502
- visibleCategories: J.length > 0 ? J : void 0
500
+ weekStartsOn: J,
501
+ showWeekends: y,
502
+ visibleCategories: G.length > 0 ? G : void 0
503
503
  }
504
- }), ae = d(() => {
505
- let e = G.weekdaysShort;
506
- return Q === 1 ? [...e.slice(1), e[0]] : e;
507
- }, [G.weekdaysShort, Q]), oe = (e) => {
508
- ne(B, e.date) || L && e.date < L || R && e.date > R || _?.(e.date, e.events);
509
- }, se = d(() => V ? $.calendarDays.map((e) => ({
504
+ }), ae = _(() => {
505
+ let e = V.weekdaysShort;
506
+ return J === 1 ? [...e.slice(1), e[0]] : e;
507
+ }, [V.weekdaysShort, J]), oe = (e) => {
508
+ ie(R, e.date) || I && e.date < I || L && e.date > L || p?.(e.date, e.events);
509
+ }, se = _(() => z ? Q.calendarDays.map((e) => ({
510
510
  ...e,
511
- events: e.events.filter(V),
512
- eventCount: e.events.filter(V).length,
513
- hasMultipleEvents: e.events.filter(V).length > 1
514
- })) : $.calendarDays, [$.calendarDays, V]);
511
+ events: e.events.filter(z),
512
+ eventCount: e.events.filter(z).length,
513
+ hasMultipleEvents: e.events.filter(z).length > 1
514
+ })) : Q.calendarDays, [Q.calendarDays, z]);
515
515
  function ce(e) {
516
- return !!(ne(B, e) || L && e < L || R && e > R);
516
+ return !!(ie(R, e) || I && e < I || L && e > L);
517
517
  }
518
- let le = d(() => {
519
- let e = $.calendarDays;
518
+ let le = _(() => {
519
+ let e = Q.calendarDays;
520
520
  if (e.length === 0) return {
521
521
  prev: !1,
522
522
  next: !1
523
523
  };
524
524
  let t = e[0].date, n = e[e.length - 1].date;
525
525
  return {
526
- prev: !!L && t <= L,
527
- next: !!R && n >= R
526
+ prev: !!I && t <= I,
527
+ next: !!L && n >= L
528
528
  };
529
529
  }, [
530
- $.calendarDays,
531
- L,
532
- R
530
+ Q.calendarDays,
531
+ I,
532
+ L
533
533
  ]);
534
- if (D) return /* @__PURE__ */ m("div", {
535
- className: n("event-calendar--component", "flex items-center justify-center py-12"),
536
- children: /* @__PURE__ */ m(i, {
534
+ if (ee) return /* @__PURE__ */ b("div", {
535
+ className: i("event-calendar--component", "flex items-center justify-center p-surface-lg", O),
536
+ role: "status",
537
+ children: /* @__PURE__ */ b(a, {
537
538
  type: "secondary",
538
- children: G.loading
539
+ children: V.loading
539
540
  })
540
541
  });
541
- let ue = o ? c : void 0, de = w ? ie : void 0;
542
- return /* @__PURE__ */ h("div", {
543
- className: n("event-calendar--component w-full space-y-space-xl", k),
542
+ let ue = o ? c : void 0, de = w ? Z : void 0;
543
+ return /* @__PURE__ */ x("div", {
544
+ className: i("event-calendar--component w-full space-y-space-xl", O),
544
545
  children: [
545
- !!b && /* @__PURE__ */ m(K, {
546
- currentDate: $.currentDate,
547
- viewMode: $.viewMode,
548
- displayLabel: $.displayLabel,
549
- onPrevious: $.goToPreviousPeriod,
550
- onNext: $.goToNextPeriod,
551
- onToday: $.goToToday,
546
+ !!g && /* @__PURE__ */ b(Y, {
547
+ currentDate: Q.currentDate,
548
+ viewMode: Q.viewMode,
549
+ displayLabel: Q.displayLabel,
550
+ onPrevious: Q.goToPreviousPeriod,
551
+ onNext: Q.goToNextPeriod,
552
+ onToday: Q.goToToday,
552
553
  onViewModeChange: ue,
553
- onDateChange: $.setDate,
554
- locale: re,
555
- actions: j,
556
- rangeMode: I,
557
- minDate: L,
558
- maxDate: R,
554
+ onDateChange: Q.setDate,
555
+ locale: X,
556
+ actions: A,
557
+ rangeMode: F,
558
+ minDate: I,
559
+ maxDate: L,
559
560
  prevDisabled: le.prev,
560
561
  nextDisabled: le.next,
561
562
  strings: {
562
- today: G.today,
563
- previous: G.previous,
564
- next: G.next,
565
- viewMode: G.viewMode,
566
- monthYearPicker: G.monthYearPicker
563
+ today: V.today,
564
+ previous: V.previous,
565
+ next: V.next,
566
+ viewMode: V.viewMode,
567
+ monthYearPicker: V.monthYearPicker
567
568
  }
568
569
  }),
569
- !!y && a.length > 0 && /* @__PURE__ */ m(Y, {
570
- categories: a,
571
- visibleCategories: J,
570
+ !!h && n.length > 0 && /* @__PURE__ */ b($, {
571
+ categories: n,
572
+ visibleCategories: G,
572
573
  onToggleCategory: de,
573
574
  enableFiltering: w
574
575
  }),
575
- !$.hasEvents && O ? /* @__PURE__ */ m("div", {
576
+ !Q.hasEvents && D ? /* @__PURE__ */ b("div", {
576
577
  className: "flex items-center justify-center rounded-radius border border-dashed border-border p-surface",
577
- children: /* @__PURE__ */ m(i, {
578
+ children: /* @__PURE__ */ b(a, {
578
579
  type: "secondary",
579
- children: O
580
+ children: D
580
581
  })
581
- }) : /* @__PURE__ */ h("div", {
582
+ }) : /* @__PURE__ */ x("div", {
582
583
  className: "bg-background rounded-radius border border-border",
583
- children: [/* @__PURE__ */ m("div", {
584
- className: n("grid grid-cols-7", N === "bordered" && "border-b border-border mb-0", N === "tinted" && "bg-muted/40 rounded-t-radius mb-0 overflow-hidden", N === "accent" && "bg-primary/8 rounded-t-radius mb-0 overflow-hidden", N === "default" && "mb-space-md"),
585
- children: ae.map((e, t) => F ? /* @__PURE__ */ m("div", { children: F(e, t) }, e) : /* @__PURE__ */ m("div", {
586
- className: n("text-center h-8 flex items-center justify-center", P),
587
- children: /* @__PURE__ */ m(i, {
584
+ children: [/* @__PURE__ */ b("div", {
585
+ className: i("grid grid-cols-7", M === "bordered" && "border-b border-border mb-0", M === "tinted" && "bg-muted/40 rounded-t-radius mb-0 overflow-hidden", M === "accent" && "bg-primary/8 rounded-t-radius mb-0 overflow-hidden", M === "default" && "mb-space-md"),
586
+ children: ae.map((e, t) => P ? /* @__PURE__ */ b("div", { children: P(e, t) }, e) : /* @__PURE__ */ b("div", {
587
+ className: i("text-center h-8 flex items-center justify-center", N),
588
+ children: /* @__PURE__ */ b(a, {
588
589
  size: "xs",
589
- weight: N === "accent" ? "medium" : "regular",
590
- className: n(N === "default" && "text-muted-foreground", N === "tinted" && "text-muted-foreground", N === "bordered" && "text-foreground", N === "accent" && "text-primary-accent"),
590
+ weight: M === "accent" ? "medium" : "regular",
591
+ className: i(M === "default" && "text-muted-foreground", M === "tinted" && "text-muted-foreground", M === "bordered" && "text-foreground", M === "accent" && "text-primary-accent"),
591
592
  children: e
592
593
  })
593
594
  }, e))
594
- }), /* @__PURE__ */ m("div", {
595
+ }), /* @__PURE__ */ b("div", {
595
596
  className: "grid grid-cols-7",
596
597
  children: se.map((e) => {
597
- let t = ce(e.date), r = () => /* @__PURE__ */ m(W, {
598
+ let t = ce(e.date), r = () => /* @__PURE__ */ b(q, {
598
599
  data: e,
599
- categories: a,
600
- maxEvents: v,
600
+ categories: n,
601
+ maxEvents: m,
601
602
  onClick: () => oe(e),
602
- onEventClick: g ? (t) => {
603
- ce(e.date) || g(t);
603
+ onEventClick: f ? (t) => {
604
+ ce(e.date) || f(t);
604
605
  } : void 0,
605
- compact: A,
606
+ compact: k,
606
607
  strings: {
607
- booking: G.booking,
608
- bookings: G.bookings
608
+ booking: V.booking,
609
+ bookings: V.bookings
609
610
  },
610
- renderEvent: H
611
+ renderEvent: te
611
612
  });
612
- return /* @__PURE__ */ m("div", {
613
- className: n(t && "pointer-events-none opacity-40"),
613
+ return /* @__PURE__ */ b("div", {
614
+ className: i(t && "pointer-events-none opacity-40"),
614
615
  "aria-disabled": t || void 0,
615
- children: U ? U(e, r) : r()
616
+ children: B ? B(e, r) : r()
616
617
  }, e.date.toISOString());
617
618
  })
618
619
  })]
@@ -620,92 +621,93 @@ function X({ events: r, categories: a, viewMode: o, defaultViewMode: s, onViewMo
620
621
  ]
621
622
  });
622
623
  }
623
- X.displayName = "EventCalendar";
624
+ ae.displayName = "EventCalendar";
624
625
  //#endregion
625
626
  //#region src/components/features/event-calendar/event-calendar-event-card.tsx
626
- var Z = {
627
+ var oe = {
627
628
  guest: "guest",
628
629
  guests: "guests"
629
630
  };
630
- function Q({ event: e, category: c, onClick: l, strings: u }) {
631
- let d = t(Z, u), f = !!l, _ = () => {
632
- l && l();
633
- }, v = e.metadata || {}, S = v.customer_name, C = v.guest_count, w = v.service_name, T = J(c), E = /* @__PURE__ */ h(p, { children: [
634
- /* @__PURE__ */ h("div", {
635
- className: "event-calendar-event-card--header mb-space-lg flex min-w-0 items-start justify-between gap-space-lg",
636
- children: [/* @__PURE__ */ h("div", {
637
- className: "flex min-w-0 flex-1 flex-col items-start gap-space-xs sm:flex-row sm:flex-wrap sm:items-center sm:gap-x-space-md",
638
- children: [/* @__PURE__ */ m(a, {
639
- tag: "h5",
640
- containerClassName: "event-calendar-event-card--heading min-w-0 max-w-full sm:w-auto",
641
- className: "break-words",
642
- children: e.title
643
- }), !!c && /* @__PURE__ */ h("div", {
644
- className: "event-calendar-event-card--category inline-flex min-w-0 max-w-full items-center gap-space-xs",
645
- children: [/* @__PURE__ */ m("span", {
646
- "aria-hidden": "true",
647
- className: n("event-calendar-event-card--category-dot size-1.5 shrink-0 rounded-full", T)
648
- }), /* @__PURE__ */ m(i, {
649
- tag: "span",
650
- size: "xs",
651
- weight: "medium",
652
- className: "min-w-0 break-words",
653
- children: c.label
631
+ function se({ event: e, category: t, onClick: n, strings: s }) {
632
+ let d = r(oe, s), f = !!n, p = () => {
633
+ n && n();
634
+ }, m = e.metadata || {}, h = m.customer_name, g = m.guest_count, _ = m.service_name, v = Q(t), y = /* @__PURE__ */ x(c, {
635
+ gap: "lg",
636
+ children: [
637
+ /* @__PURE__ */ x("div", {
638
+ className: "event-calendar-event-card--header flex min-w-0 items-start justify-between gap-space-lg",
639
+ children: [/* @__PURE__ */ x("div", {
640
+ className: "flex min-w-0 flex-1 flex-col items-start gap-space-xs sm:flex-row sm:flex-wrap sm:items-center sm:gap-x-space-md",
641
+ children: [/* @__PURE__ */ b(o, {
642
+ tag: "h5",
643
+ containerClassName: "event-calendar-event-card--heading min-w-0 max-w-full sm:w-auto",
644
+ className: "break-words",
645
+ children: e.title
646
+ }), !!t && /* @__PURE__ */ x("div", {
647
+ className: "event-calendar-event-card--category inline-flex min-w-0 max-w-full items-center gap-space-xs",
648
+ children: [/* @__PURE__ */ b("span", {
649
+ "aria-hidden": "true",
650
+ className: i("event-calendar-event-card--category-dot size-1.5 shrink-0 rounded-full", v)
651
+ }), /* @__PURE__ */ b(a, {
652
+ tag: "span",
653
+ size: "xs",
654
+ weight: "medium",
655
+ className: "min-w-0 break-words",
656
+ children: t.label
657
+ })]
654
658
  })]
659
+ }), !!f && !!e.url && /* @__PURE__ */ b(T, { className: "h-3.5 w-3.5 text-muted-foreground flex-shrink-0" })]
660
+ }),
661
+ /* @__PURE__ */ x("div", {
662
+ className: "grid grid-cols-1 sm:grid-cols-2 gap-space-md",
663
+ children: [!!h && /* @__PURE__ */ x("div", {
664
+ className: "flex items-center gap-space-sm",
665
+ children: [/* @__PURE__ */ b(E, { className: "h-3.5 w-3.5 text-muted-foreground flex-shrink-0" }), /* @__PURE__ */ b(a, {
666
+ className: "truncate",
667
+ children: h
668
+ })]
669
+ }), g !== void 0 && g > 0 && /* @__PURE__ */ x("div", {
670
+ className: "flex items-center gap-space-sm",
671
+ children: [/* @__PURE__ */ b(ee, { className: "h-3.5 w-3.5 text-muted-foreground flex-shrink-0" }), /* @__PURE__ */ x(a, { children: [
672
+ g,
673
+ " ",
674
+ g === 1 ? d.guest : d.guests
675
+ ] })]
655
676
  })]
656
- }), !!f && !!e.url && /* @__PURE__ */ m(y, { className: "h-3.5 w-3.5 text-muted-foreground flex-shrink-0" })]
657
- }),
658
- /* @__PURE__ */ h("div", {
659
- className: "grid grid-cols-1 sm:grid-cols-2 gap-space-md mb-space-lg",
660
- children: [!!S && /* @__PURE__ */ h("div", {
661
- className: "flex items-center gap-space-sm",
662
- children: [/* @__PURE__ */ m(b, { className: "h-3.5 w-3.5 text-muted-foreground flex-shrink-0" }), /* @__PURE__ */ m(i, {
663
- className: "truncate",
664
- children: S
677
+ }),
678
+ !!_ && /* @__PURE__ */ b(a, {
679
+ type: "secondary",
680
+ className: "line-clamp-1",
681
+ children: _
682
+ }),
683
+ /* @__PURE__ */ x("div", {
684
+ className: "flex items-center gap-space-sm pt-space-md border-t border-border/50",
685
+ children: [/* @__PURE__ */ b(S, { className: "h-3.5 w-3.5 text-muted-foreground flex-shrink-0" }), e.allDay ? /* @__PURE__ */ b(u, {
686
+ value: e.startDate,
687
+ preset: "long",
688
+ size: "xs",
689
+ type: "secondary"
690
+ }) : /* @__PURE__ */ b(l, {
691
+ value: e.startDate,
692
+ preset: "long",
693
+ size: "xs",
694
+ type: "secondary"
665
695
  })]
666
- }), C !== void 0 && C > 0 && /* @__PURE__ */ h("div", {
667
- className: "flex items-center gap-space-sm",
668
- children: [/* @__PURE__ */ m(x, { className: "h-3.5 w-3.5 text-muted-foreground flex-shrink-0" }), /* @__PURE__ */ h(i, { children: [
669
- C,
670
- " ",
671
- C === 1 ? d.guest : d.guests
672
- ] })]
673
- })]
674
- }),
675
- !!w && /* @__PURE__ */ m(i, {
676
- type: "secondary",
677
- className: "mb-space-md line-clamp-1",
678
- children: w
679
- }),
680
- /* @__PURE__ */ h("div", {
681
- className: "flex items-center gap-space-sm pt-space-md border-t border-border/50",
682
- children: [/* @__PURE__ */ m(g, { className: "h-3.5 w-3.5 text-muted-foreground flex-shrink-0" }), e.allDay ? /* @__PURE__ */ m(s, {
683
- value: e.startDate,
684
- preset: "long",
685
- size: "xs",
686
- type: "secondary"
687
- }) : /* @__PURE__ */ m(o, {
688
- value: e.startDate,
689
- preset: "long",
690
- size: "xs",
691
- type: "secondary"
692
- })]
693
- })
694
- ] }), D = n("w-full min-w-0 text-left p-surface border border-border rounded-radius bg-card transition-none", f ? "cursor-pointer focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring" : "");
695
- return f ? /* @__PURE__ */ m(r, {
696
+ })
697
+ ]
698
+ }), C = i("w-full min-w-0 text-left p-surface border border-border rounded-radius bg-card transition-none", f ? "cursor-pointer focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring" : "");
699
+ return f ? /* @__PURE__ */ b("button", {
696
700
  type: "button",
697
- tone: "secondary",
698
- buttonStyle: "ghost",
699
- onClick: _,
700
- className: n("event-calendar-event-card--component", "h-auto flex-col items-stretch justify-start whitespace-normal shadow-none", D),
701
- children: E
702
- }) : /* @__PURE__ */ m("div", {
703
- className: n("event-calendar-event-card--component", D),
704
- children: E
701
+ onClick: p,
702
+ className: i("event-calendar-event-card--component", "box-border m-0 flex h-auto flex-col items-stretch justify-start whitespace-normal font-sans text-foreground shadow-none hover:bg-muted/40", C),
703
+ children: y
704
+ }) : /* @__PURE__ */ b("div", {
705
+ className: i("event-calendar-event-card--component", C),
706
+ children: y
705
707
  });
706
708
  }
707
- Q.displayName = "EventCalendarEventCard";
709
+ se.displayName = "EventCalendarEventCard";
708
710
  //#endregion
709
- export { X as EventCalendar, W as EventCalendarDayCell, B as EventCalendarEventBadge, Q as EventCalendarEventCard, K as EventCalendarHeader, Y as EventCalendarLegend, L as calendarTokenDot, Z as defaultEventCalendarEventCardStrings, z as defaultEventCalendarStrings, q as getCalendarColorClasses, J as getCalendarDotClass, U as getCategoryById, H as getEventsForDay, R as resolveCategoryColorToken, te as useEventCalendar, V as useEventCalendarData };
711
+ export { ae as EventCalendar, q as EventCalendarDayCell, W as EventCalendarEventBadge, se as EventCalendarEventCard, Y as EventCalendarHeader, $ as EventCalendarLegend, V as calendarTokenDot, oe as defaultEventCalendarEventCardStrings, U as defaultEventCalendarStrings, Z as getCalendarColorClasses, Q as getCalendarDotClass, K as getCategoryById, ne as getEventsForDay, H as resolveCategoryColorToken, re as useEventCalendar, G as useEventCalendarData };
710
712
 
711
713
  //# sourceMappingURL=event-calendar.js.map