themelia-react-ui 2.0.5 → 2.0.6

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 (489) hide show
  1. package/CHANGELOG.md +76 -0
  2. package/MIGRATION.md +119 -0
  3. package/README.md +13 -6
  4. package/dist/{accordion-B9MHG0cT.js → accordion-0tQUZ20r.js} +7 -7
  5. package/dist/accordion-0tQUZ20r.js.map +1 -0
  6. package/dist/{action-menu-Dr8K-ghE.js → action-menu-C0gjzLyE.js} +7 -7
  7. package/dist/{action-menu-Dr8K-ghE.js.map → action-menu-C0gjzLyE.js.map} +1 -1
  8. package/dist/{ai-artifact-C58tQcBy.js → ai-artifact-CGGpQryR.js} +172 -157
  9. package/dist/ai-artifact-CGGpQryR.js.map +1 -0
  10. package/dist/{app-shell-B_IuNWOo.js → app-shell-EHuuRDGy.js} +5 -5
  11. package/dist/{app-shell-B_IuNWOo.js.map → app-shell-EHuuRDGy.js.map} +1 -1
  12. package/dist/{attachment-Dg_69lPS.js → attachment-BCpA4e7i.js} +8 -8
  13. package/dist/{attachment-Dg_69lPS.js.map → attachment-BCpA4e7i.js.map} +1 -1
  14. package/dist/{auth-DTkkshS8.js → auth-B0girIk_.js} +15 -15
  15. package/dist/auth-B0girIk_.js.map +1 -0
  16. package/dist/{avatar-CeZaFmNH.js → avatar-B9Jnp-T-.js} +3 -3
  17. package/dist/{avatar-CeZaFmNH.js.map → avatar-B9Jnp-T-.js.map} +1 -1
  18. package/dist/{badge-xIiV_E7f.js → badge-wWauMgAt.js} +3 -3
  19. package/dist/{badge-xIiV_E7f.js.map → badge-wWauMgAt.js.map} +1 -1
  20. package/dist/base/accordion.js +1 -1
  21. package/dist/base/action-menu.js +1 -1
  22. package/dist/base/attachment.js +1 -1
  23. package/dist/base/avatar.js +1 -1
  24. package/dist/base/badge.js +1 -1
  25. package/dist/base/batch-action-bar.js +1 -1
  26. package/dist/base/buttons.js +1 -1
  27. package/dist/base/cards.js +2 -2
  28. package/dist/base/carousel.js +3 -3
  29. package/dist/base/cascader.js +1 -1
  30. package/dist/base/chart.js +1 -1
  31. package/dist/base/choice-inputs.js +2 -2
  32. package/dist/base/code-block.js +1 -1
  33. package/dist/base/combobox.js +1 -1
  34. package/dist/base/command.js +1 -1
  35. package/dist/base/copyable.js +1 -1
  36. package/dist/base/date-pickers.js +2 -2
  37. package/dist/base/display.js +6 -6
  38. package/dist/base/feedback.js +4 -4
  39. package/dist/base/forms-numeric.js +1 -1
  40. package/dist/base/forms.js +2 -2
  41. package/dist/base/inline-edit.js +8 -8
  42. package/dist/base/item.js +1 -1
  43. package/dist/base/media-gallery.js +1 -1
  44. package/dist/base/metadata-list.js +1 -1
  45. package/dist/base/navigation.js +6 -6
  46. package/dist/base/popover-menu.js +1 -1
  47. package/dist/base/popover.js +1 -1
  48. package/dist/base/qr-code.js +1 -1
  49. package/dist/base/repeaters.js +195 -188
  50. package/dist/base/repeaters.js.map +1 -1
  51. package/dist/base/sheet.js +1 -1
  52. package/dist/base/sidebar.js +2 -2
  53. package/dist/base/signature-pad.js +7 -7
  54. package/dist/base/skeleton.js +1 -1
  55. package/dist/base/spinner.js +5 -5
  56. package/dist/base/spinner.js.map +1 -1
  57. package/dist/base/structure.js +1 -1
  58. package/dist/base/table.js +1 -1
  59. package/dist/base/text-inputs.js +2 -2
  60. package/dist/base/toaster.js +1 -1
  61. package/dist/base/tree.js +1 -1
  62. package/dist/base/upload-queue.js +1 -1
  63. package/dist/base/upload.js +3 -3
  64. package/dist/base/value-inputs.js +1 -1
  65. package/dist/{batch-action-bar-Cb8cuvyy.js → batch-action-bar-BoqWIIpV.js} +5 -5
  66. package/dist/{batch-action-bar-Cb8cuvyy.js.map → batch-action-bar-BoqWIIpV.js.map} +1 -1
  67. package/dist/blocks/admin.js +17 -17
  68. package/dist/blocks/ai.js +227 -221
  69. package/dist/blocks/ai.js.map +1 -1
  70. package/dist/blocks/analytics/usage-card.js +1 -1
  71. package/dist/blocks/analytics.js +424 -449
  72. package/dist/blocks/analytics.js.map +1 -1
  73. package/dist/blocks/collaboration.js +1 -1
  74. package/dist/blocks/commerce/receipt.js +1 -1
  75. package/dist/blocks/commerce.js +225 -220
  76. package/dist/blocks/commerce.js.map +1 -1
  77. package/dist/blocks/data-display.js +2 -2
  78. package/dist/blocks/onboarding.js +5 -5
  79. package/dist/blocks/planning.js +11 -11
  80. package/dist/blocks/timelines.js +1 -1
  81. package/dist/{breadcrumbs-J-K2kl4c.js → breadcrumbs-Bp9Ke7kd.js} +4 -4
  82. package/dist/breadcrumbs-Bp9Ke7kd.js.map +1 -0
  83. package/dist/{button-S2Cubiiz.js → button-ChBovTx0.js} +2 -2
  84. package/dist/{button-S2Cubiiz.js.map → button-ChBovTx0.js.map} +1 -1
  85. package/dist/{buttons-BedGfygC.js → buttons-DeW0bQeK.js} +6 -6
  86. package/dist/{buttons-BedGfygC.js.map → buttons-DeW0bQeK.js.map} +1 -1
  87. package/dist/{cards-rNX1M4Xn.js → cards-CNXnmvV5.js} +8 -8
  88. package/dist/{cards-rNX1M4Xn.js.map → cards-CNXnmvV5.js.map} +1 -1
  89. package/dist/{cascader-B1MiqkBq.js → cascader-CrAl9zD5.js} +15 -15
  90. package/dist/{cascader-B1MiqkBq.js.map → cascader-CrAl9zD5.js.map} +1 -1
  91. package/dist/{chart-Darg_0Kv.js → chart-I7ROnsl8.js} +5 -5
  92. package/dist/{chart-Darg_0Kv.js.map → chart-I7ROnsl8.js.map} +1 -1
  93. package/dist/{checkbox-fflqmODR.js → checkbox-MoyHIAPs.js} +3 -3
  94. package/dist/{checkbox-fflqmODR.js.map → checkbox-MoyHIAPs.js.map} +1 -1
  95. package/dist/{choice-inputs-zUgBZfE4.js → choice-inputs-DHGtx0QV.js} +122 -110
  96. package/dist/choice-inputs-DHGtx0QV.js.map +1 -0
  97. package/dist/{code-block-BzmM9Eig.js → code-block-BSJyq9e-.js} +7 -7
  98. package/dist/{code-block-BzmM9Eig.js.map → code-block-BSJyq9e-.js.map} +1 -1
  99. package/dist/{collapsible-BkAI_XD4.js → collapsible-BzJ91LUG.js} +3 -3
  100. package/dist/{collapsible-BkAI_XD4.js.map → collapsible-BzJ91LUG.js.map} +1 -1
  101. package/dist/{collection-content-gDh1v6O4.js → collection-content-CSnwtOTH.js} +3 -3
  102. package/dist/{collection-content-gDh1v6O4.js.map → collection-content-CSnwtOTH.js.map} +1 -1
  103. package/dist/{combobox-BEx0vJgF.js → combobox-Bcvu5J8O.js} +11 -10
  104. package/dist/{combobox-BEx0vJgF.js.map → combobox-Bcvu5J8O.js.map} +1 -1
  105. package/dist/combobox-C2JiSQPc.js +915 -0
  106. package/dist/combobox-C2JiSQPc.js.map +1 -0
  107. package/dist/{command-CrlPIL6m.js → command-9e52NPgK.js} +6 -6
  108. package/dist/{command-CrlPIL6m.js.map → command-9e52NPgK.js.map} +1 -1
  109. package/dist/{comments-Dmpp0YIc.js → comments-BsgErEqd.js} +33 -28
  110. package/dist/comments-BsgErEqd.js.map +1 -0
  111. package/dist/components/base/choice-inputs/choice-types.d.ts +4 -0
  112. package/dist/components/base/choice-inputs/pill-radio-group.d.ts +7 -6
  113. package/dist/components/base/combobox/combobox-field.d.ts +2 -2
  114. package/dist/components/base/date-pickers/date-picker-internals.d.ts +3 -1
  115. package/dist/components/base/date-pickers/datepicker.types.d.ts +10 -4
  116. package/dist/components/base/date-pickers/time-picker.d.ts +17 -3
  117. package/dist/components/base/feedback/state-display.d.ts +5 -1
  118. package/dist/components/base/feedback/state-display.strings.d.ts +9 -0
  119. package/dist/components/base/forms/form-field.d.ts +7 -2
  120. package/dist/components/base/forms-numeric/coordinates-input.d.ts +4 -1
  121. package/dist/components/base/forms-numeric/decimal-input.d.ts +2 -2
  122. package/dist/components/base/forms-numeric/dimensions-input.d.ts +4 -1
  123. package/dist/components/base/forms-numeric/numeric-composite-field.d.ts +12 -0
  124. package/dist/components/base/forms-numeric/weight-input.d.ts +6 -1
  125. package/dist/components/base/navigation/language-switcher.d.ts +12 -4
  126. package/dist/components/base/repeaters/key-value-editor.d.ts +2 -1
  127. package/dist/components/base/sidebar/sidebar.d.ts +2 -0
  128. package/dist/components/base/upload/avatar-upload.d.ts +2 -1
  129. package/dist/components/base/upload/image-upload.d.ts +2 -1
  130. package/dist/components/blocks/ai/ai-citation/types.d.ts +2 -0
  131. package/dist/components/blocks/ai/ai-reasoning/types.d.ts +2 -0
  132. package/dist/components/blocks/ai/ai-sources/types.d.ts +2 -0
  133. package/dist/components/blocks/ai/ai-tool-call/types.d.ts +2 -0
  134. package/dist/components/blocks/analytics/metric/metric.d.ts +4 -0
  135. package/dist/components/blocks/analytics/metric-comparison/metric-comparison.d.ts +2 -0
  136. package/dist/components/blocks/analytics/metric-grid/metric-grid.d.ts +4 -5
  137. package/dist/components/blocks/analytics/types.d.ts +2 -2
  138. package/dist/components/blocks/commerce/order-status/types.d.ts +4 -0
  139. package/dist/components/blocks/data-display/empty-state/empty-state.types.d.ts +4 -3
  140. package/dist/components/features/activities/activities.types.d.ts +18 -11
  141. package/dist/components/features/activities/hooks/use-activity-resources.d.ts +2 -1
  142. package/dist/components/features/ai-chat/hooks/use-ai-chat-scroll.d.ts +1 -1
  143. package/dist/components/features/appointment-calendar/appointment-calendar.d.ts +1 -1
  144. package/dist/components/features/appointment-calendar/appointment-calendar.types.d.ts +4 -2
  145. package/dist/components/features/combobox/async-resource-combobox.d.ts +2 -2
  146. package/dist/components/features/combobox/combobox.d.ts +2 -2
  147. package/dist/components/features/combobox/hooks/use-combobox-core.d.ts +2 -1
  148. package/dist/components/features/combobox/hooks/use-combobox-state.d.ts +1 -0
  149. package/dist/components/features/combobox/hooks/use-load-more.d.ts +1 -0
  150. package/dist/components/features/combobox/types.d.ts +37 -8
  151. package/dist/components/features/email-composer/types.d.ts +3 -1
  152. package/dist/components/features/filters/facets/date-facet.d.ts +4 -2
  153. package/dist/components/features/filters/facets/range-facet.d.ts +12 -0
  154. package/dist/components/features/filters/filters.types.d.ts +3 -3
  155. package/dist/components/features/filters/partials/date-filter-content.d.ts +3 -2
  156. package/dist/components/features/filters/partials/filter-popover-content.d.ts +4 -2
  157. package/dist/components/features/filters/partials/range-filter-content.d.ts +12 -0
  158. package/dist/components/features/filters/utils/filter-utils.d.ts +5 -1
  159. package/dist/components/features/media-library/hooks/use-media-library.d.ts +1 -1
  160. package/dist/components/features/media-library/media-library.d.ts +1 -1
  161. package/dist/components/features/media-library/media-library.strings.d.ts +6 -0
  162. package/dist/components/features/media-library/media-library.types.d.ts +36 -8
  163. package/dist/components/features/media-library/partials/media-library-partials.d.ts +3 -3
  164. package/dist/components/features/mentions/hooks/use-mentions.d.ts +16 -1
  165. package/dist/components/features/mentions/partials/mention-inline-suggestions.d.ts +5 -1
  166. package/dist/components/features/mentions/utils/split-html-by-mentions.d.ts +1 -7
  167. package/dist/components/features/overlays/hooks/use-overlay-visibility.d.ts +2 -2
  168. package/dist/components/features/products/products.types.d.ts +2 -2
  169. package/dist/components/features/questionnaire/questionnaire.types.d.ts +3 -0
  170. package/dist/components/features/resource/resource.d.ts +1 -1
  171. package/dist/components/features/resource/resource.types.d.ts +2 -0
  172. package/dist/components/features/rich-text-editor/form-rich-text-editor.d.ts +1 -1
  173. package/dist/components/features/rich-text-editor/partials/caret-helpers.d.ts +1 -1
  174. package/dist/components/features/rich-text-editor/partials/editor-field-aria.d.ts +14 -0
  175. package/dist/components/features/rich-text-editor/partials/rich-text-editor-toolbar.d.ts +3 -1
  176. package/dist/components/features/rich-text-editor/rich-text-editor.recipes.d.ts +1 -1
  177. package/dist/components/features/rich-text-editor/rich-text-editor.types.d.ts +17 -3
  178. package/dist/components/features/schema-form/hooks/use-schema-form.d.ts +5 -1
  179. package/dist/components/features/schema-form/partials/schema-form-field.d.ts +3 -1
  180. package/dist/components/features/schema-form/schema-form.utils.d.ts +1 -1
  181. package/dist/components/features/suggestions/suggestions.types.d.ts +1 -1
  182. package/dist/components/features/table/data-table.d.ts +1 -1
  183. package/dist/components/features/table/index.d.ts +1 -0
  184. package/dist/components/features/table/table-body.d.ts +1 -1
  185. package/dist/components/features/table/table-helpers.d.ts +6 -3
  186. package/dist/components/features/table/table.strings.d.ts +3 -0
  187. package/dist/components/features/table/table.types.d.ts +17 -1
  188. package/dist/components/layout/header/header.types.d.ts +3 -2
  189. package/dist/components/layout/layout.types.d.ts +5 -3
  190. package/dist/components/layout/navigation/side-nav.d.ts +3 -2
  191. package/dist/components/layout/normalize-layout-path.d.ts +1 -0
  192. package/dist/components/layout/settings/settings.d.ts +1 -1
  193. package/dist/components/layout/sidebar/app-sidebar.d.ts +1 -1
  194. package/dist/components/layout/sidebar/sidebar-navigation-rail.d.ts +3 -1
  195. package/dist/components/layout/sidebar/sidebar.context.d.ts +1 -0
  196. package/dist/components/layout/sidebar/sidebar.types.d.ts +2 -0
  197. package/dist/components/primitives/link.d.ts +3 -2
  198. package/dist/components/primitives/money.d.ts +1 -1
  199. package/dist/components/primitives/number.d.ts +1 -1
  200. package/dist/components/typography/rich-text/rich-text-tree.d.ts +7 -5
  201. package/dist/{containers-CIxwbZt5.js → containers-CSdc32h9.js} +2 -2
  202. package/dist/{containers-CIxwbZt5.js.map → containers-CSdc32h9.js.map} +1 -1
  203. package/dist/{copyable-DIznBqiT.js → copyable-3fdHfMR3.js} +4 -4
  204. package/dist/{copyable-DIznBqiT.js.map → copyable-3fdHfMR3.js.map} +1 -1
  205. package/dist/{data-display-BdgCAw8T.js → data-display-Cmj-xZYl.js} +16 -15
  206. package/dist/data-display-Cmj-xZYl.js.map +1 -0
  207. package/dist/{date-Cq8ioE4o.js → date-Br0FicVv.js} +4 -4
  208. package/dist/{date-Cq8ioE4o.js.map → date-Br0FicVv.js.map} +1 -1
  209. package/dist/date-picker-CyQlFYsP.js +1617 -0
  210. package/dist/date-picker-CyQlFYsP.js.map +1 -0
  211. package/dist/date-pickers-tj2MXmXd.js +185 -0
  212. package/dist/date-pickers-tj2MXmXd.js.map +1 -0
  213. package/dist/{display-KsZLw9Ov.js → display-CT_N2a3w.js} +7 -7
  214. package/dist/{display-KsZLw9Ov.js.map → display-CT_N2a3w.js.map} +1 -1
  215. package/dist/{dropdown-menu-CLs8Lihj.js → dropdown-menu-C08iIugv.js} +6 -6
  216. package/dist/{dropdown-menu-CLs8Lihj.js.map → dropdown-menu-C08iIugv.js.map} +1 -1
  217. package/dist/features/activities.js +283 -270
  218. package/dist/features/activities.js.map +1 -1
  219. package/dist/features/ai-chat.js +40 -27
  220. package/dist/features/ai-chat.js.map +1 -1
  221. package/dist/features/appointment-calendar.js +126 -126
  222. package/dist/features/appointment-calendar.js.map +1 -1
  223. package/dist/features/async-preview.js +9 -9
  224. package/dist/features/combobox.js +1 -1
  225. package/dist/features/comments.js +1 -1
  226. package/dist/features/data-view.js +10 -10
  227. package/dist/features/email-composer.js +24 -19
  228. package/dist/features/email-composer.js.map +1 -1
  229. package/dist/features/event-calendar.js +129 -125
  230. package/dist/features/event-calendar.js.map +1 -1
  231. package/dist/features/filters.js +2 -2
  232. package/dist/features/global-search.js +16 -20
  233. package/dist/features/global-search.js.map +1 -1
  234. package/dist/features/kanban.js +18 -28
  235. package/dist/features/kanban.js.map +1 -1
  236. package/dist/features/map/style.css +15 -0
  237. package/dist/features/map.js +331 -314
  238. package/dist/features/map.js.map +1 -1
  239. package/dist/features/media-library.js +1044 -866
  240. package/dist/features/media-library.js.map +1 -1
  241. package/dist/features/mentions.js +2 -2
  242. package/dist/features/overlays.js +1 -1
  243. package/dist/features/products.js +978 -964
  244. package/dist/features/products.js.map +1 -1
  245. package/dist/features/questionnaire.js +159 -152
  246. package/dist/features/questionnaire.js.map +1 -1
  247. package/dist/features/resource-assignment.js +8 -8
  248. package/dist/features/resource.js +74 -71
  249. package/dist/features/resource.js.map +1 -1
  250. package/dist/features/rich-text-editor.js +28 -19
  251. package/dist/features/rich-text-editor.js.map +1 -1
  252. package/dist/features/schema-form.js +297 -256
  253. package/dist/features/schema-form.js.map +1 -1
  254. package/dist/features/suggestions.js +57 -50
  255. package/dist/features/suggestions.js.map +1 -1
  256. package/dist/features/sync.js +3 -3
  257. package/dist/features/table.js +1 -1
  258. package/dist/features/theme-tweaker.js +400 -399
  259. package/dist/features/theme-tweaker.js.map +1 -1
  260. package/dist/feedback-Dzo1xtAU.js +246 -0
  261. package/dist/feedback-Dzo1xtAU.js.map +1 -0
  262. package/dist/{field-affordance-recipes-DWcNcOjh.js → field-affordance-recipes-D6H7tVJi.js} +2 -2
  263. package/dist/{field-affordance-recipes-DWcNcOjh.js.map → field-affordance-recipes-D6H7tVJi.js.map} +1 -1
  264. package/dist/field-control-attributes-B6i335wr.js +18 -0
  265. package/dist/field-control-attributes-B6i335wr.js.map +1 -0
  266. package/dist/{field-state-recipes-BVA2CWHo.js → field-state-recipes-7sza8QbC.js} +4 -2
  267. package/dist/{field-state-recipes-BVA2CWHo.js.map → field-state-recipes-7sza8QbC.js.map} +1 -1
  268. package/dist/{filters-DzgSJpMK.js → filters-Dl80yYtN.js} +763 -605
  269. package/dist/filters-Dl80yYtN.js.map +1 -0
  270. package/dist/form-field-CAPdwdnZ.js +74 -0
  271. package/dist/form-field-CAPdwdnZ.js.map +1 -0
  272. package/dist/{form-sizing-Bs2qFUeE.js → form-sizing-CgcrUbLU.js} +2 -2
  273. package/dist/{form-sizing-Bs2qFUeE.js.map → form-sizing-CgcrUbLU.js.map} +1 -1
  274. package/dist/{forms-C0RGnJTe.js → forms-B3W8CH7-.js} +8 -8
  275. package/dist/{forms-C0RGnJTe.js.map → forms-B3W8CH7-.js.map} +1 -1
  276. package/dist/forms-numeric-CwjQJe-O.js +991 -0
  277. package/dist/forms-numeric-CwjQJe-O.js.map +1 -0
  278. package/dist/{header-DMMxG__r.js → header-ZIIsRKxP.js} +113 -113
  279. package/dist/header-ZIIsRKxP.js.map +1 -0
  280. package/dist/hooks/use-files.d.ts +2 -0
  281. package/dist/{hooks-DB6CJ4MR.js → hooks-BitHSh-Y.js} +3 -3
  282. package/dist/{hooks-DB6CJ4MR.js.map → hooks-BitHSh-Y.js.map} +1 -1
  283. package/dist/{icon-badge-DZF-YjQp.js → icon-badge-npxF1SLX.js} +2 -2
  284. package/dist/{icon-badge-DZF-YjQp.js.map → icon-badge-npxF1SLX.js.map} +1 -1
  285. package/dist/index.js +1 -1
  286. package/dist/{input-CvyDQlY7.js → input-7KAc7XQL.js} +6 -6
  287. package/dist/{input-CvyDQlY7.js.map → input-7KAc7XQL.js.map} +1 -1
  288. package/dist/{input-DMBwAZmr.js → input-DIREVYHs.js} +3 -3
  289. package/dist/{input-DMBwAZmr.js.map → input-DIREVYHs.js.map} +1 -1
  290. package/dist/{interaction-recipes-XR9ZpVYL.js → interaction-recipes-4wZ2tvfb.js} +2 -2
  291. package/dist/{interaction-recipes-XR9ZpVYL.js.map → interaction-recipes-4wZ2tvfb.js.map} +1 -1
  292. package/dist/{item-DjCcM18E.js → item-FfWnaYST.js} +99 -98
  293. package/dist/item-FfWnaYST.js.map +1 -0
  294. package/dist/layout/app-shell.js +1 -1
  295. package/dist/layout/auth.js +1 -1
  296. package/dist/layout/containers.js +1 -1
  297. package/dist/layout/header.js +1 -1
  298. package/dist/layout/hooks.js +1 -1
  299. package/dist/layout/navigation.js +1 -1
  300. package/dist/layout/page.js +1 -1
  301. package/dist/layout/settings.js +1 -1
  302. package/dist/layout/sidebar.js +2 -2
  303. package/dist/layout/workspace.js +1 -1
  304. package/dist/layout.js +11 -11
  305. package/dist/layout.types-E_GAApzO.js +30 -0
  306. package/dist/layout.types-E_GAApzO.js.map +1 -0
  307. package/dist/lib/field-control-attributes.d.ts +11 -0
  308. package/dist/lib/field-state-recipes.d.ts +2 -0
  309. package/dist/lib/format.d.ts +1 -0
  310. package/dist/lib/surface-recipes.d.ts +1 -1
  311. package/dist/lib/token-merge.generated.d.ts +6 -6
  312. package/dist/lib/utils.js +1 -1
  313. package/dist/{media-gallery-C-vChPmE.js → media-gallery-C81DAnKI.js} +6 -6
  314. package/dist/{media-gallery-C-vChPmE.js.map → media-gallery-C81DAnKI.js.map} +1 -1
  315. package/dist/{mentions-0_4nWuI-.js → mentions-qOnedSt4.js} +236 -167
  316. package/dist/mentions-qOnedSt4.js.map +1 -0
  317. package/dist/message-BJHnn43M.js +135 -0
  318. package/dist/message-BJHnn43M.js.map +1 -0
  319. package/dist/{metadata-list-C3MkU-Om.js → metadata-list-XkqZ_UXH.js} +11 -11
  320. package/dist/{metadata-list-C3MkU-Om.js.map → metadata-list-XkqZ_UXH.js.map} +1 -1
  321. package/dist/{navigation-DaRjthVk.js → navigation-BgtPJAhi.js} +119 -119
  322. package/dist/navigation-BgtPJAhi.js.map +1 -0
  323. package/dist/{navigation-C90-oQFq.js → navigation-Bt-v7rWP.js} +52 -46
  324. package/dist/navigation-Bt-v7rWP.js.map +1 -0
  325. package/dist/normalize-layout-path-BmEgg6fu.js +14 -0
  326. package/dist/normalize-layout-path-BmEgg6fu.js.map +1 -0
  327. package/dist/{number-CRU3kGuk.js → number-CYqBcrSj.js} +78 -86
  328. package/dist/number-CYqBcrSj.js.map +1 -0
  329. package/dist/{overflow-tab-bar-IVFVQFV6.js → overflow-tab-bar-BQCA2Zn2.js} +7 -7
  330. package/dist/{overflow-tab-bar-IVFVQFV6.js.map → overflow-tab-bar-BQCA2Zn2.js.map} +1 -1
  331. package/dist/{overlays-BSgCtM2v.js → overlays-CC8zI3Du.js} +264 -260
  332. package/dist/overlays-CC8zI3Du.js.map +1 -0
  333. package/dist/{page-DUUKDAjo.js → page-BoQ1VaFJ.js} +13 -13
  334. package/dist/{page-DUUKDAjo.js.map → page-BoQ1VaFJ.js.map} +1 -1
  335. package/dist/{page-header-commands-7P3sfE9u.js → page-header-commands-DIKspJfx.js} +4 -4
  336. package/dist/{page-header-commands-7P3sfE9u.js.map → page-header-commands-DIKspJfx.js.map} +1 -1
  337. package/dist/{pagination-CgCjElfu.js → pagination-Br8TdV9A.js} +4 -4
  338. package/dist/{pagination-CgCjElfu.js.map → pagination-Br8TdV9A.js.map} +1 -1
  339. package/dist/{popover-B85RenIl.js → popover-k8TdUcAt.js} +10 -10
  340. package/dist/popover-k8TdUcAt.js.map +1 -0
  341. package/dist/{popover-menu-DlnQ2zlR.js → popover-menu-yn-o0kyA.js} +7 -7
  342. package/dist/{popover-menu-DlnQ2zlR.js.map → popover-menu-yn-o0kyA.js.map} +1 -1
  343. package/dist/{popover.recipes-DdiEp0rd.js → popover.recipes-DJ0AkUan.js} +2 -2
  344. package/dist/{popover.recipes-DdiEp0rd.js.map → popover.recipes-DJ0AkUan.js.map} +1 -1
  345. package/dist/{portal-recipes-BpsV_iRw.js → portal-recipes-DyUXqUtD.js} +2 -2
  346. package/dist/{portal-recipes-BpsV_iRw.js.map → portal-recipes-DyUXqUtD.js.map} +1 -1
  347. package/dist/{primitives-ByWgGUgt.js → primitives-BkkQjYl7.js} +22 -17
  348. package/dist/primitives-BkkQjYl7.js.map +1 -0
  349. package/dist/primitives.js +4 -4
  350. package/dist/{progress-BJhQP9WX.js → progress-DZFXXzPs.js} +4 -4
  351. package/dist/{progress-BJhQP9WX.js.map → progress-DZFXXzPs.js.map} +1 -1
  352. package/dist/{receipt-tOc7B3hw.js → receipt-C7LhOg7Q.js} +6 -6
  353. package/dist/{receipt-tOc7B3hw.js.map → receipt-C7LhOg7Q.js.map} +1 -1
  354. package/dist/rich-text-BnTzZjIo.js +45 -0
  355. package/dist/rich-text-BnTzZjIo.js.map +1 -0
  356. package/dist/rich-text-editor-CAurDwT5.js +1273 -0
  357. package/dist/rich-text-editor-CAurDwT5.js.map +1 -0
  358. package/dist/{rich-text-editor-toolbar-laT3tpBT.js → rich-text-editor-toolbar-DbXig7Jk.js} +36 -35
  359. package/dist/rich-text-editor-toolbar-DbXig7Jk.js.map +1 -0
  360. package/dist/rich-text-tree-BqyQ_7-R.js +66 -0
  361. package/dist/rich-text-tree-BqyQ_7-R.js.map +1 -0
  362. package/dist/{sanitize-html-DsQmI48u.js → sanitize-html-BWkH4dLM.js} +29 -16
  363. package/dist/sanitize-html-BWkH4dLM.js.map +1 -0
  364. package/dist/{scroll-area-B0dB2cBi.js → scroll-area-Bj6CRUif.js} +2 -2
  365. package/dist/{scroll-area-B0dB2cBi.js.map → scroll-area-Bj6CRUif.js.map} +1 -1
  366. package/dist/{separator-Bb17I4pu.js → separator-B9ewiCGO.js} +2 -2
  367. package/dist/{separator-Bb17I4pu.js.map → separator-B9ewiCGO.js.map} +1 -1
  368. package/dist/{separator-Ct_WSWTJ.js → separator-DM6gs2vu.js} +3 -3
  369. package/dist/{separator-Ct_WSWTJ.js.map → separator-DM6gs2vu.js.map} +1 -1
  370. package/dist/services/actions.js +1 -1
  371. package/dist/settings-DZPHgpx4.js +155 -0
  372. package/dist/settings-DZPHgpx4.js.map +1 -0
  373. package/dist/{sheet-BGPERY55.js → sheet-C4DHsgLk.js} +6 -6
  374. package/dist/{sheet-BGPERY55.js.map → sheet-C4DHsgLk.js.map} +1 -1
  375. package/dist/sidebar-C8BnDwTH.js +709 -0
  376. package/dist/sidebar-C8BnDwTH.js.map +1 -0
  377. package/dist/{sidebar-f9gRWXIR.js → sidebar-CmD6a-HK.js} +16 -13
  378. package/dist/sidebar-CmD6a-HK.js.map +1 -0
  379. package/dist/{skeleton-BapcJd9C.js → skeleton-DDgdhmu9.js} +5 -5
  380. package/dist/{skeleton-BapcJd9C.js.map → skeleton-DDgdhmu9.js.map} +1 -1
  381. package/dist/{smart-card-CW0hjetE.js → smart-card-B6vLxqa_.js} +8 -8
  382. package/dist/{smart-card-CW0hjetE.js.map → smart-card-B6vLxqa_.js.map} +1 -1
  383. package/dist/{structure-DuxKl954.js → structure-DZJ2wbAU.js} +2 -2
  384. package/dist/{structure-DuxKl954.js.map → structure-DZJ2wbAU.js.map} +1 -1
  385. package/dist/style.css +1 -1
  386. package/dist/{surface-recipes-BKRVW8Os.js → surface-recipes-C8mNycaY.js} +2 -2
  387. package/dist/{surface-recipes-BKRVW8Os.js.map → surface-recipes-C8mNycaY.js.map} +1 -1
  388. package/dist/{table-CFOWY9pQ.js → table-CBonSdTp.js} +534 -486
  389. package/dist/table-CBonSdTp.js.map +1 -0
  390. package/dist/{table-B4TE7iOV.js → table-CXSPHH25.js} +75 -71
  391. package/dist/table-CXSPHH25.js.map +1 -0
  392. package/dist/{tabs-e7ko9S2o.js → tabs-C4Kr_hCr.js} +50 -49
  393. package/dist/tabs-C4Kr_hCr.js.map +1 -0
  394. package/dist/{text-inputs-B1culiSK.js → text-inputs-jdkS3ReG.js} +9 -9
  395. package/dist/{text-inputs-B1culiSK.js.map → text-inputs-jdkS3ReG.js.map} +1 -1
  396. package/dist/{timelines-D3Sl9ueq.js → timelines-CoPwdJP0.js} +10 -10
  397. package/dist/{timelines-D3Sl9ueq.js.map → timelines-CoPwdJP0.js.map} +1 -1
  398. package/dist/{tooltip-8wz5S_Zr.js → tooltip-31NwIpTo.js} +4 -4
  399. package/dist/{tooltip-8wz5S_Zr.js.map → tooltip-31NwIpTo.js.map} +1 -1
  400. package/dist/{tree-CzUJHnFs.js → tree-CeYVzdFE.js} +6 -6
  401. package/dist/{tree-CzUJHnFs.js.map → tree-CeYVzdFE.js.map} +1 -1
  402. package/dist/typography/rich-text.js +1 -1
  403. package/dist/{typography-BQnine1k.js → typography-C7-YMW1S.js} +2 -2
  404. package/dist/{typography-BQnine1k.js.map → typography-C7-YMW1S.js.map} +1 -1
  405. package/dist/typography.js +1 -1
  406. package/dist/{upload-BOW6U2tI.js → upload-Hdm5gObf.js} +303 -291
  407. package/dist/upload-Hdm5gObf.js.map +1 -0
  408. package/dist/{upload-queue-qUXn1ykN.js → upload-queue-D0sYPuqo.js} +8 -8
  409. package/dist/{upload-queue-qUXn1ykN.js.map → upload-queue-D0sYPuqo.js.map} +1 -1
  410. package/dist/{usage-card-BeSLY0i0.js → usage-card-9s8hLDfn.js} +9 -9
  411. package/dist/{usage-card-BeSLY0i0.js.map → usage-card-9s8hLDfn.js.map} +1 -1
  412. package/dist/{utils-B6kKb8jB.js → utils-DhuoqFy4.js} +31 -37
  413. package/dist/utils-DhuoqFy4.js.map +1 -0
  414. package/dist/{value-inputs-skdVB2zh.js → value-inputs-D3aPgq9H.js} +15 -15
  415. package/dist/{value-inputs-skdVB2zh.js.map → value-inputs-D3aPgq9H.js.map} +1 -1
  416. package/dist/{value-typography-uAmWUAL1.js → value-typography-uSzzG9Gf.js} +32 -26
  417. package/dist/value-typography-uSzzG9Gf.js.map +1 -0
  418. package/dist/{workspace-DHeHv0qw.js → workspace-CC8Vchiu.js} +12 -12
  419. package/dist/{workspace-DHeHv0qw.js.map → workspace-CC8Vchiu.js.map} +1 -1
  420. package/docs/consumer-skill/examples/edit.tsx +3 -3
  421. package/docs/consumer-skill/references/agents-md.md +19 -19
  422. package/docs/consumer-skill/references/analytics.md +15 -0
  423. package/docs/consumer-skill/references/component-contracts.json +14724 -13057
  424. package/docs/consumer-skill/references/composition.md +21 -4
  425. package/docs/consumer-skill/references/design-contract.md +1 -0
  426. package/docs/consumer-skill/references/installation.md +51 -8
  427. package/docs/consumer-skill/references/integration.md +24 -1
  428. package/docs/consumer-skill/references/public-api.json +172 -34
  429. package/docs/consumer-skill/references/review.md +51 -11
  430. package/docs/consumer-skill/references/rhf-workflows.md +72 -0
  431. package/docs/consumer-skill/references/theming.md +7 -2
  432. package/docs/consumer-skill/references/tokens.json +1 -1
  433. package/docs/consumer-skill/scripts/composition-policy.mjs +144 -30
  434. package/docs/consumer-skill/scripts/setup-skills.mjs +46 -9
  435. package/package.json +4 -2
  436. package/templates/admin-shell-template.tsx +1 -2
  437. package/templates/customers-template.tsx +18 -16
  438. package/dist/accordion-B9MHG0cT.js.map +0 -1
  439. package/dist/ai-artifact-C58tQcBy.js.map +0 -1
  440. package/dist/auth-DTkkshS8.js.map +0 -1
  441. package/dist/breadcrumbs-J-K2kl4c.js.map +0 -1
  442. package/dist/choice-inputs-zUgBZfE4.js.map +0 -1
  443. package/dist/combobox-BwzoXFSG.js +0 -884
  444. package/dist/combobox-BwzoXFSG.js.map +0 -1
  445. package/dist/comments-Dmpp0YIc.js.map +0 -1
  446. package/dist/data-display-BdgCAw8T.js.map +0 -1
  447. package/dist/date-picker-RlIzKom_.js +0 -1551
  448. package/dist/date-picker-RlIzKom_.js.map +0 -1
  449. package/dist/date-pickers-DY-CpXS1.js +0 -179
  450. package/dist/date-pickers-DY-CpXS1.js.map +0 -1
  451. package/dist/feedback-Dm4izqFn.js +0 -240
  452. package/dist/feedback-Dm4izqFn.js.map +0 -1
  453. package/dist/filters-DzgSJpMK.js.map +0 -1
  454. package/dist/form-field-BriWAXyg.js +0 -63
  455. package/dist/form-field-BriWAXyg.js.map +0 -1
  456. package/dist/forms-numeric-DIhghX1Q.js +0 -910
  457. package/dist/forms-numeric-DIhghX1Q.js.map +0 -1
  458. package/dist/header-DMMxG__r.js.map +0 -1
  459. package/dist/item-DjCcM18E.js.map +0 -1
  460. package/dist/layout.types-Cn7aUzJp.js +0 -20
  461. package/dist/layout.types-Cn7aUzJp.js.map +0 -1
  462. package/dist/mentions-0_4nWuI-.js.map +0 -1
  463. package/dist/message-g8p7eVtN.js +0 -128
  464. package/dist/message-g8p7eVtN.js.map +0 -1
  465. package/dist/navigation-C90-oQFq.js.map +0 -1
  466. package/dist/navigation-DaRjthVk.js.map +0 -1
  467. package/dist/number-CRU3kGuk.js.map +0 -1
  468. package/dist/overlays-BSgCtM2v.js.map +0 -1
  469. package/dist/popover-B85RenIl.js.map +0 -1
  470. package/dist/primitives-ByWgGUgt.js.map +0 -1
  471. package/dist/rich-text-Dth5E882.js +0 -78
  472. package/dist/rich-text-Dth5E882.js.map +0 -1
  473. package/dist/rich-text-editor-C1fOjBTd.js +0 -1195
  474. package/dist/rich-text-editor-C1fOjBTd.js.map +0 -1
  475. package/dist/rich-text-editor-toolbar-laT3tpBT.js.map +0 -1
  476. package/dist/safe-image-src-C6kQSMBZ.js +0 -17
  477. package/dist/safe-image-src-C6kQSMBZ.js.map +0 -1
  478. package/dist/sanitize-html-DsQmI48u.js.map +0 -1
  479. package/dist/settings-Bar5wiSo.js +0 -167
  480. package/dist/settings-Bar5wiSo.js.map +0 -1
  481. package/dist/sidebar-D-JYMMbY.js +0 -686
  482. package/dist/sidebar-D-JYMMbY.js.map +0 -1
  483. package/dist/sidebar-f9gRWXIR.js.map +0 -1
  484. package/dist/table-B4TE7iOV.js.map +0 -1
  485. package/dist/table-CFOWY9pQ.js.map +0 -1
  486. package/dist/tabs-e7ko9S2o.js.map +0 -1
  487. package/dist/upload-BOW6U2tI.js.map +0 -1
  488. package/dist/utils-B6kKb8jB.js.map +0 -1
  489. package/dist/value-typography-uAmWUAL1.js.map +0 -1
@@ -1,1551 +0,0 @@
1
- "use client";
2
- import { d as e, u as t } from "./ui-provider-C-74NVLc.js";
3
- import { useStrings as n } from "./lib/strings.js";
4
- import { t as r } from "./utils-B6kKb8jB.js";
5
- import { t as i } from "./affordance-geometry.generated-P-aVJisu.js";
6
- import { n as a } from "./buttons-BedGfygC.js";
7
- import { a as o, c as s, s as c } from "./typography-BQnine1k.js";
8
- import { t as l } from "./focus-recipes-B653VaLq.js";
9
- import { n as u, t as d } from "./button-S2Cubiiz.js";
10
- import { r as f, t as p } from "./structure-DuxKl954.js";
11
- import { o as m } from "./date-Cq8ioE4o.js";
12
- import { t as ee } from "./separator-Ct_WSWTJ.js";
13
- import { t as h } from "./field-state-recipes-BVA2CWHo.js";
14
- import { r as g } from "./field-affordance-recipes-DWcNcOjh.js";
15
- import { d as _, p as v, s as y, y as te } from "./form-sizing-Bs2qFUeE.js";
16
- import { t as b } from "./input-CvyDQlY7.js";
17
- import { c as ne, o as re, t as ie } from "./popover-B85RenIl.js";
18
- import { t as ae } from "./form-field-BriWAXyg.js";
19
- import * as x from "react";
20
- import { useEffect as S, useState as C } from "react";
21
- import { Fragment as oe, jsx as w, jsxs as T } from "react/jsx-runtime";
22
- import { Calendar as se, ChevronDownIcon as E, ChevronLeftIcon as D, ChevronRightIcon as ce, Clock as le } from "lucide-react";
23
- import { cva as O } from "class-variance-authority";
24
- import { addDays as k, endOfMonth as A, endOfWeek as j, format as M, startOfMonth as N, startOfWeek as P } from "date-fns";
25
- import { DayPicker as F, getDefaultClassNames as I } from "react-day-picker";
26
- import { Toggle as L } from "@base-ui/react/toggle";
27
- import { ToggleGroup as R } from "@base-ui/react/toggle-group";
28
- import { enUS as z } from "date-fns/locale";
29
- function B(e) {
30
- return e.toString().padStart(2, "0");
31
- }
32
- function V(e, t, n) {
33
- return Math.min(Math.max(e, t), n);
34
- }
35
- function H(e, t) {
36
- if (t <= 0) return e;
37
- let n = Math.floor(86399 / t) * t, r = Math.round(e / t) * t;
38
- return Math.max(0, Math.min(r, n));
39
- }
40
- function ue(e) {
41
- if (!e) return null;
42
- let t = e.split(":");
43
- if (t.length < 2 || t.length > 3) return null;
44
- let [n, r, i] = t, a = V(Number.parseInt(n, 10), 0, 23), o = V(Number.parseInt(r, 10), 0, 59), s = V(Number.parseInt(i ?? "0", 10), 0, 59);
45
- return Number.isNaN(a) || Number.isNaN(o) || Number.isNaN(s) ? null : {
46
- hours: a,
47
- minutes: o,
48
- seconds: s
49
- };
50
- }
51
- function de(e, t) {
52
- let n = t ? `:${B(e.seconds)}` : "";
53
- return `${B(e.hours)}:${B(e.minutes)}${n}`;
54
- }
55
- function U(e, t, n) {
56
- let r = Number.isFinite(e?.getTime?.()) ? e : /* @__PURE__ */ new Date(), i = r.getHours(), a = r.getMinutes(), o = t ? r.getSeconds() : 0, s = H(i * 3600 + a * 60 + o, n), c = Math.floor(s / 3600), l = Math.floor(s % 3600 / 60), u = s % 60;
57
- return {
58
- hours: c,
59
- minutes: l,
60
- seconds: t ? u : 0
61
- };
62
- }
63
- function W(e, t, n) {
64
- if (t === "12") {
65
- let t = e.hours >= 12 ? "PM" : "AM", r = e.hours % 12;
66
- return r === 0 && (r = 12), {
67
- hours: B(r),
68
- minutes: B(e.minutes),
69
- seconds: n ? B(e.seconds) : void 0,
70
- period: t
71
- };
72
- }
73
- return {
74
- hours: B(e.hours),
75
- minutes: B(e.minutes),
76
- seconds: n ? B(e.seconds) : void 0
77
- };
78
- }
79
- function G(e, t, n) {
80
- let r = (e) => {
81
- let t = Number.parseInt(e ?? "0", 10);
82
- return Number.isNaN(t) ? 0 : t;
83
- }, i = r(e.hours), a = V(r(e.minutes), 0, 59), o = n ? V(r(e.seconds), 0, 59) : 0;
84
- if (t === "12") {
85
- i = V(i, 1, 12);
86
- let t = (e.period ?? "AM") === "PM";
87
- i %= 12, t && (i += 12);
88
- } else i = V(i, 0, 23);
89
- return {
90
- hours: i,
91
- minutes: a,
92
- seconds: o
93
- };
94
- }
95
- function fe(e, t, n) {
96
- let r = H(e.hours * 3600 + e.minutes * 60 + e.seconds, t);
97
- return {
98
- hours: Math.floor(r / 3600),
99
- minutes: Math.floor(r % 3600 / 60),
100
- seconds: n ? r % 60 : 0
101
- };
102
- }
103
- function pe(e, t, n, r) {
104
- let i = B(e.minutes), a = t ? `:${B(e.seconds)}` : "";
105
- if (n === "24") return `${B(e.hours)}:${i}${a}`;
106
- let o = e.hours >= 12 ? "PM" : "AM", s = e.hours % 12;
107
- s === 0 && (s = 12);
108
- let c = o === "AM" ? r?.am ?? "AM" : r?.pm ?? "PM";
109
- return `${B(s)}:${i}${a} ${c}`;
110
- }
111
- var me = /'[^']*'/g, he = /[HKhk]|\bp\b|\bt\b|\ba\b/;
112
- function ge(e) {
113
- if (!e) return !1;
114
- let t = e.replace(me, "");
115
- return he.test(t);
116
- }
117
- function K(e) {
118
- return {
119
- startMonth: typeof e?.fromYear == "number" ? new Date(e.fromYear, 0) : void 0,
120
- endMonth: typeof e?.toYear == "number" ? new Date(e.toYear, 11) : void 0
121
- };
122
- }
123
- function _e(e, t, n, r) {
124
- let i = r ? { locale: r } : void 0;
125
- return {
126
- date: e,
127
- formatted: e ? M(e, t, i) : void 0,
128
- readable: e ? M(e, n, i) : void 0
129
- };
130
- }
131
- function q(e, t, n, r) {
132
- let i = r ? { locale: r } : void 0;
133
- return {
134
- dates: e,
135
- formatted: e.map((e) => M(e, t, i)),
136
- readable: e.map((e) => M(e, n, i))
137
- };
138
- }
139
- function ve(e, t, n, r) {
140
- let i = r ? { locale: r } : void 0;
141
- return {
142
- range: e,
143
- formatted: {
144
- from: e?.from ? M(e.from, t, i) : void 0,
145
- to: e?.to ? M(e.to, t, i) : void 0
146
- },
147
- readable: {
148
- from: e?.from ? M(e.from, n, i) : void 0,
149
- to: e?.to ? M(e.to, n, i) : void 0
150
- }
151
- };
152
- }
153
- function ye(e, t) {
154
- let n = typeof t == "string" ? ue(t) : t, r = new Date(e);
155
- return !Number.isFinite(r.getTime()) || !n ? /* @__PURE__ */ new Date(NaN) : (r.setHours(n.hours, n.minutes, n.seconds, 0), r);
156
- }
157
- function be(e, t) {
158
- return Math.ceil((t.getTime() - e.getTime()) / 864e5) + 1;
159
- }
160
- function xe(e, t, n) {
161
- if (!e?.from || !e?.to) return { isValid: !0 };
162
- let r = be(e.from, e.to);
163
- return t && r < t || n && r > n ? {
164
- isValid: !1,
165
- daysDiff: r
166
- } : {
167
- isValid: !0,
168
- daysDiff: r
169
- };
170
- }
171
- function Se(e, t, n, r) {
172
- if (!e?.from || !e?.to) return null;
173
- let i = be(e.from, e.to);
174
- return t && i < t ? r.minimumDays(t) : n && i > n ? r.maximumDays(n) : null;
175
- }
176
- function J(e, t, n, r, i) {
177
- return r && e.length === 0 ? i.datesRequired : t && e.length < t ? i.minimumDates(t) : n && e.length > 0 ? i.maximumDates(n) : null;
178
- }
179
- function Ce(e, t, n, r, i, a) {
180
- if (e) {
181
- let n = M(e, t, a ? { locale: a } : void 0);
182
- return i && (n += ` ${i}`), n;
183
- }
184
- return n ?? r;
185
- }
186
- function Y(e, t, n, r, i, a) {
187
- if (e.length > 0) {
188
- if (e.length === 1) {
189
- let n = a ? { locale: a } : void 0;
190
- return M(e[0], t, n);
191
- }
192
- return i.datesSelected(e.length);
193
- }
194
- return n ?? r;
195
- }
196
- function we(e, t, n, r, i) {
197
- return e?.from ? m(e, {
198
- format: t,
199
- locale: i
200
- }) ?? n ?? r : n ?? r;
201
- }
202
- //#endregion
203
- //#region src/components/base/date-pickers/date-picker-internals.ts
204
- function Te(e, t) {
205
- return {
206
- tone: e ?? "secondary",
207
- buttonStyle: t ?? "outline"
208
- };
209
- }
210
- function Ee(e) {
211
- return !e.mode || e.mode === "single";
212
- }
213
- function De(e) {
214
- return e.mode === "multiple";
215
- }
216
- function Oe(e) {
217
- return e.mode === "range";
218
- }
219
- function ke(e, t) {
220
- return [
221
- {
222
- label: e.today,
223
- getValue: () => ({
224
- from: /* @__PURE__ */ new Date(),
225
- to: /* @__PURE__ */ new Date()
226
- })
227
- },
228
- {
229
- label: e.thisWeek,
230
- getValue: () => ({
231
- from: P(/* @__PURE__ */ new Date(), { weekStartsOn: t }),
232
- to: j(/* @__PURE__ */ new Date(), { weekStartsOn: t })
233
- })
234
- },
235
- {
236
- label: e.thisMonth,
237
- getValue: () => ({
238
- from: N(/* @__PURE__ */ new Date()),
239
- to: A(/* @__PURE__ */ new Date())
240
- })
241
- },
242
- {
243
- label: e.last30Days,
244
- getValue: () => ({
245
- from: k(/* @__PURE__ */ new Date(), -30),
246
- to: /* @__PURE__ */ new Date()
247
- })
248
- }
249
- ];
250
- }
251
- //#endregion
252
- //#region src/components/ui/calendar.tsx
253
- function Ae({ className: e, classNames: t, showOutsideDays: n = !0, captionLayout: a = "label", buttonVariant: o = "ghost", locale: s, formatters: c, components: l, ...d }) {
254
- let f = I();
255
- return /* @__PURE__ */ w(F, {
256
- showOutsideDays: n,
257
- className: r("p-space-lg bg-background group/calendar [[data-slot=card-content]_&]:bg-transparent [[data-slot=popover-content]_&]:bg-transparent", i.calendarCell, String.raw`rtl:**:[.rdp-button\_next>svg]:rotate-180`, String.raw`rtl:**:[.rdp-button\_previous>svg]:rotate-180`, e),
258
- captionLayout: a,
259
- locale: s,
260
- formatters: {
261
- formatMonthDropdown: (e) => e.toLocaleString(s?.code, { month: "short" }),
262
- ...c
263
- },
264
- classNames: {
265
- root: r("w-fit", f.root),
266
- months: r("flex gap-space-xl flex-col md:flex-row relative", f.months),
267
- month: r("flex flex-col w-full gap-space-xl", f.month),
268
- nav: r("flex items-center gap-space-xs w-full absolute top-0 inset-x-0 justify-between", f.nav),
269
- button_previous: r(u({ variant: o }), "size-(--cell-size) aria-disabled:opacity-50 p-0 select-none", f.button_previous),
270
- button_next: r(u({ variant: o }), "size-(--cell-size) aria-disabled:opacity-50 p-0 select-none", f.button_next),
271
- month_caption: r("flex items-center justify-center h-(--cell-size) w-full px-(--cell-size)", f.month_caption),
272
- dropdowns: r("w-full flex items-center text-sm font-medium justify-center h-(--cell-size) gap-space-sm", f.dropdowns),
273
- dropdown_root: r("relative rounded-(--cell-radius)", f.dropdown_root),
274
- dropdown: r("absolute bg-popover inset-0 opacity-0", f.dropdown),
275
- caption_label: r("select-none font-medium", a === "label" ? "text-sm" : "rounded-(--cell-radius) flex items-center gap-space-xs text-sm [&>svg]:text-muted-foreground [&>svg]:size-icon-md", f.caption_label),
276
- month_grid: "w-full border-collapse",
277
- weekdays: r("flex", f.weekdays),
278
- weekday: r("text-muted-foreground rounded-(--cell-radius) flex-1 font-normal text-xs select-none", f.weekday),
279
- week: r("flex w-full mt-space-md", f.week),
280
- week_number_header: r("select-none w-(--cell-size)", f.week_number_header),
281
- week_number: r("text-xs select-none text-muted-foreground", f.week_number),
282
- day: r("relative w-full rounded-(--cell-radius) h-full p-0 text-center [&:last-child[data-selected=true]_button]:rounded-r-(--cell-radius) group/day aspect-square select-none", d.showWeekNumber ? "[&:nth-child(2)[data-selected=true]_button]:rounded-l-(--cell-radius)" : "[&:first-child[data-selected=true]_button]:rounded-l-(--cell-radius)", f.day),
283
- range_start: r("rounded-l-(--cell-radius) bg-muted relative after:bg-muted after:absolute after:inset-y-0 after:w-4 after:right-0 z-0 isolate", f.range_start),
284
- range_middle: r("rounded-none", f.range_middle),
285
- range_end: r("rounded-r-(--cell-radius) bg-muted relative after:bg-muted after:absolute after:inset-y-0 after:w-4 after:left-0 z-0 isolate", f.range_end),
286
- today: r("bg-muted text-foreground rounded-(--cell-radius) data-[selected=true]:rounded-none", f.today),
287
- outside: r("text-muted-foreground aria-selected:text-muted-foreground", f.outside),
288
- disabled: r("text-muted-foreground opacity-50", f.disabled),
289
- hidden: r("invisible", f.hidden),
290
- ...t
291
- },
292
- components: {
293
- Root: ({ className: e, rootRef: t, ...n }) => /* @__PURE__ */ w("div", {
294
- "data-slot": "calendar",
295
- ref: t,
296
- className: r(e),
297
- ...n
298
- }),
299
- Chevron: ({ className: e, orientation: t, ...n }) => t === "left" ? /* @__PURE__ */ w(D, {
300
- className: r("size-icon", e),
301
- ...n
302
- }) : t === "right" ? /* @__PURE__ */ w(ce, {
303
- className: r("size-icon", e),
304
- ...n
305
- }) : /* @__PURE__ */ w(E, {
306
- className: r(g.icon.md, e),
307
- ...n
308
- }),
309
- DayButton: ({ ...e }) => /* @__PURE__ */ w(je, {
310
- locale: s,
311
- ...e
312
- }),
313
- WeekNumber: ({ children: e, ...t }) => /* @__PURE__ */ w("td", {
314
- ...t,
315
- children: /* @__PURE__ */ w("div", {
316
- className: "flex size-(--cell-size) items-center justify-center text-center",
317
- children: e
318
- })
319
- }),
320
- ...l
321
- },
322
- ...d
323
- });
324
- }
325
- function je({ className: e, day: t, modifiers: n, locale: i, ...a }) {
326
- let o = I(), s = x.useRef(null);
327
- return x.useEffect(() => {
328
- n.focused && s.current?.focus();
329
- }, [n.focused]), /* @__PURE__ */ w(d, {
330
- ref: s,
331
- variant: "ghost",
332
- size: "icon",
333
- "data-day": t.date.toLocaleDateString(i?.code),
334
- "data-selected-single": !!n.selected && !n.range_start && !n.range_end && !n.range_middle,
335
- "data-range-start": n.range_start,
336
- "data-range-end": n.range_end,
337
- "data-range-middle": n.range_middle,
338
- className: r("data-[selected-single=true]:bg-primary data-[selected-single=true]:text-primary-foreground data-[range-middle=true]:bg-muted data-[range-middle=true]:text-foreground data-[range-start=true]:bg-primary data-[range-start=true]:text-primary-foreground data-[range-end=true]:bg-primary data-[range-end=true]:text-primary-foreground group-data-[focused=true]/day:inset-ring group-data-[focused=true]/day:inset-ring-ring group-data-[focused=true]/day:ring-ring/50 relative isolate z-10 flex aspect-square size-auto w-full min-w-(--cell-size) flex-col gap-space-xs border-0 leading-none font-normal group-data-[focused=true]/day:relative group-data-[focused=true]/day:z-10 group-data-[focused=true]/day:ring-3 data-[range-end=true]:rounded-(--cell-radius) data-[range-end=true]:rounded-r-(--cell-radius) data-[range-middle=true]:rounded-none data-[range-start=true]:rounded-(--cell-radius) data-[range-start=true]:rounded-l-(--cell-radius) [&>span]:text-xs [&>span]:opacity-70", o.day, e),
339
- ...a
340
- });
341
- }
342
- //#endregion
343
- //#region src/components/base/date-pickers/date-picker-field.tsx
344
- function Me({ rootRef: e, className: t, label: n, hint: i, error: a, triggerId: c, describedById: l, children: u }) {
345
- let d = typeof a == "string" && a !== "", f = !d && typeof i == "string" && i !== "";
346
- return /* @__PURE__ */ T(p, {
347
- ref: e,
348
- gap: "xs",
349
- className: t,
350
- children: [
351
- !!(n || f) && /* @__PURE__ */ T(p, {
352
- direction: "horizontal",
353
- align: "center",
354
- justify: "between",
355
- gap: "xs",
356
- children: [!!n && /* @__PURE__ */ w(o, {
357
- htmlFor: c,
358
- className: r("date-picker--label text-inherit", "leading-6"),
359
- children: n
360
- }), f && /* @__PURE__ */ w(s, {
361
- tag: "span",
362
- size: "xs",
363
- type: "secondary",
364
- className: "date-picker--hint",
365
- children: i
366
- })]
367
- }),
368
- u,
369
- d && /* @__PURE__ */ w(s, {
370
- id: l,
371
- size: "xs",
372
- type: "error",
373
- role: "alert",
374
- "aria-live": "polite",
375
- className: "date-picker--error",
376
- content: a
377
- })
378
- ]
379
- });
380
- }
381
- //#endregion
382
- //#region src/components/base/date-pickers/date-picker-footer.tsx
383
- function Ne({ config: e, output: t, hasSelection: n, autoSummary: i, className: o }) {
384
- let { text: c, actions: l, showOnlyWhenSelected: u = !1, showSummary: d = !1 } = e, f = l?.filter((e) => e.visible !== !1) ?? [], m = x.useMemo(() => {
385
- if (c) return typeof c == "function" ? c(t) : c;
386
- }, [c, t]), h = m || (d ? i : void 0);
387
- return u && !n || !h && f.length === 0 ? null : /* @__PURE__ */ T(oe, { children: [/* @__PURE__ */ w(ee, {}), /* @__PURE__ */ w("div", {
388
- className: r("date-picker-footer--component p-surface", o),
389
- children: /* @__PURE__ */ T(p, {
390
- gap: "lg",
391
- children: [!!h && /* @__PURE__ */ T(p, {
392
- gap: "xs",
393
- className: "date-picker-footer--summary",
394
- children: [
395
- !!d && !!m && !!i && /* @__PURE__ */ T(oe, { children: [/* @__PURE__ */ w(s, {
396
- type: "secondary",
397
- children: i
398
- }), /* @__PURE__ */ w(s, {
399
- weight: "medium",
400
- children: m
401
- })] }),
402
- !d && !!m && /* @__PURE__ */ w(s, {
403
- weight: "medium",
404
- children: m
405
- }),
406
- !!d && !m && !!i && /* @__PURE__ */ w(s, {
407
- type: "secondary",
408
- children: i
409
- })
410
- ]
411
- }), f.length > 0 && /* @__PURE__ */ w(p, {
412
- direction: "horizontal",
413
- gap: "md",
414
- align: "center",
415
- className: "date-picker-footer--actions",
416
- children: f.map((e) => {
417
- let n = typeof e.disabled == "function" ? e.disabled(t) : e.disabled, i = e.buttonStyle === "link" ? "ghost" : e.buttonStyle ?? "solid";
418
- return /* @__PURE__ */ w(a, {
419
- tone: e.tone ?? "primary",
420
- buttonStyle: i,
421
- disabled: n,
422
- loading: e.loading,
423
- onClick: () => e.onClick(t),
424
- className: r("flex-1", e.buttonStyle === "link" && "underline underline-offset-[0.2em]"),
425
- children: e.label
426
- }, e.label);
427
- })
428
- })]
429
- })
430
- })] });
431
- }
432
- Ne.displayName = "DatePickerFooter";
433
- //#endregion
434
- //#region src/components/base/date-pickers/date-picker-header.tsx
435
- function Pe({ config: e, className: t }) {
436
- let { title: n, description: i, icon: a, align: o = "left" } = e;
437
- return /* @__PURE__ */ w("div", {
438
- className: r("date-picker-header--component", "border-b border-border p-surface", o === "center" ? "text-center" : "text-left", t),
439
- children: /* @__PURE__ */ T(p, {
440
- direction: "horizontal",
441
- gap: "md",
442
- wrap: !1,
443
- children: [!!a && /* @__PURE__ */ w("div", {
444
- className: "shrink-0",
445
- children: /* @__PURE__ */ w(a, {
446
- "aria-hidden": "true",
447
- className: "size-icon text-muted-foreground"
448
- })
449
- }), /* @__PURE__ */ T(p, {
450
- gap: "dense",
451
- className: r("flex-1", o === "center" && !a && "text-center"),
452
- children: [/* @__PURE__ */ w(c, {
453
- tag: "h3",
454
- align: o === "center" ? "center" : "left",
455
- containerClassName: "space-y-0",
456
- children: n
457
- }), !!i && /* @__PURE__ */ w(s, {
458
- type: "secondary",
459
- children: i
460
- })]
461
- })]
462
- })
463
- });
464
- }
465
- Pe.displayName = "DatePickerHeader";
466
- //#endregion
467
- //#region src/components/base/date-pickers/date-picker.recipes.ts
468
- function Fe(t) {
469
- let { defaultScale: n } = e();
470
- return te(t, n);
471
- }
472
- var Ie = {
473
- sm: "w-control-sm",
474
- md: "w-control",
475
- lg: "w-control-lg"
476
- };
477
- function Le(e, t = !1) {
478
- return r(v(e), "justify-start", t && [Ie[e], "shrink-0 justify-center px-0"]);
479
- }
480
- //#endregion
481
- //#region src/components/base/date-pickers/date-pickers.strings.ts
482
- var Re = {
483
- selectDate: "Select a date",
484
- selectDates: "Select dates",
485
- selectDateRange: "Select date range",
486
- from: "From",
487
- to: "To",
488
- confirm: "Confirm",
489
- clear: "Clear",
490
- today: "Today",
491
- startDate: "Start date",
492
- endDate: "End date",
493
- startTime: "Start time",
494
- endTime: "End time",
495
- hours: "Hours",
496
- minutes: "Minutes",
497
- seconds: "Seconds",
498
- am: "AM",
499
- pm: "PM",
500
- minimumDays: (e) => `A minimum of ${e} days is required`,
501
- maximumDays: (e) => `A maximum of ${e} days is allowed`,
502
- minimumDates: (e) => `Select at least ${e} dates`,
503
- maximumDates: (e) => `Select up to ${e} dates`,
504
- datesRequired: "At least one date must be selected",
505
- datesSelected: (e) => `${e} dates selected`,
506
- lastWeek: "Last week",
507
- lastMonth: "Last month",
508
- lastYear: "Last year",
509
- nextWeek: "Next week",
510
- nextMonth: "Next month",
511
- nextYear: "Next year",
512
- thisWeek: "This Week",
513
- thisMonth: "This Month",
514
- last30Days: "Last 30 Days",
515
- selectMonthYear: "Select month and year",
516
- month: "Month",
517
- year: "Year"
518
- }, ze = O(`box-border border border-transparent py-0 font-sans text-foreground hover:text-foreground aria-pressed:bg-accent aria-pressed:text-accent-foreground ${l.frame} ${h.invalid} gap-space-xs rounded-radius text-sm font-medium transition-[color,background-color,box-shadow] [&_svg:not([class*='size-'])]:size-icon group/toggle hover:bg-muted inline-flex items-center justify-center whitespace-nowrap outline-none disabled:pointer-events-none disabled:opacity-50 [&_svg]:pointer-events-none [&_svg]:shrink-0`, {
519
- variants: {
520
- variant: {
521
- default: "bg-transparent",
522
- outline: "border-input hover:bg-muted border bg-transparent shadow-none"
523
- },
524
- size: {
525
- default: "h-control min-w-9 px-control",
526
- sm: "h-control-sm min-w-8 px-control-sm",
527
- lg: "h-control-lg min-w-10 px-control"
528
- }
529
- },
530
- defaultVariants: {
531
- variant: "default",
532
- size: "default"
533
- }
534
- }), Be = x.createContext({
535
- size: "default",
536
- variant: "default",
537
- spacing: 0,
538
- orientation: "horizontal"
539
- });
540
- function Ve({ className: e, variant: t, size: n, spacing: i = 0, orientation: a = "horizontal", children: o, ...s }) {
541
- return /* @__PURE__ */ w(R, {
542
- "data-slot": "toggle-group",
543
- "data-variant": t,
544
- "data-size": n,
545
- "data-spacing": i,
546
- "data-orientation": a,
547
- style: { "--gap": i },
548
- className: r("rounded-radius group/toggle-group flex w-fit flex-row items-center gap-[--spacing(var(--gap))] data-[orientation=vertical]:flex-col data-[orientation=vertical]:items-stretch", e),
549
- ...s,
550
- children: /* @__PURE__ */ w(Be.Provider, {
551
- value: {
552
- variant: t,
553
- size: n,
554
- spacing: i,
555
- orientation: a
556
- },
557
- children: o
558
- })
559
- });
560
- }
561
- function He({ className: e, children: t, variant: n = "default", size: i = "default", ...a }) {
562
- let o = x.useContext(Be);
563
- return /* @__PURE__ */ w(L, {
564
- "data-slot": "toggle-group-item",
565
- "data-variant": o.variant || n,
566
- "data-size": o.size || i,
567
- "data-spacing": o.spacing,
568
- className: r("border-border group-data-[spacing=0]/toggle-group:rounded-none group-data-[spacing=0]/toggle-group:px-control-sm group-data-[spacing=0]/toggle-group:shadow-none group-data-[orientation=horizontal]/toggle-group:data-[spacing=0]:first:rounded-l-radius group-data-[orientation=vertical]/toggle-group:data-[spacing=0]:first:rounded-t-radius group-data-[orientation=horizontal]/toggle-group:data-[spacing=0]:last:rounded-r-radius group-data-[orientation=vertical]/toggle-group:data-[spacing=0]:last:rounded-b-radius shrink-0 focus:z-10 focus-visible:z-10 group-data-[orientation=horizontal]/toggle-group:data-[spacing=0]:data-[variant=outline]:border-l-0 group-data-[orientation=vertical]/toggle-group:data-[spacing=0]:data-[variant=outline]:border-t-0 group-data-[orientation=horizontal]/toggle-group:data-[spacing=0]:data-[variant=outline]:first:border-l group-data-[orientation=vertical]/toggle-group:data-[spacing=0]:data-[variant=outline]:first:border-t", ze({
569
- variant: o.variant || n,
570
- size: o.size || i
571
- }), e),
572
- ...a,
573
- children: t
574
- });
575
- }
576
- //#endregion
577
- //#region src/components/base/date-pickers/time-picker.tsx
578
- var Ue = {
579
- placeholder: "Select time",
580
- hours: "Hours",
581
- minutes: "Minutes",
582
- seconds: "Seconds",
583
- am: "AM",
584
- pm: "PM"
585
- }, We = [
586
- "hours",
587
- "minutes",
588
- "seconds"
589
- ], X = "00", Z = "12", Q = "--", Ge = "aria-pressed:bg-primary aria-pressed:text-primary-foreground", Ke = {
590
- sm: "w-12",
591
- md: "w-14",
592
- lg: "w-16"
593
- };
594
- function qe(e) {
595
- return e.replace(/\D/g, "").slice(-2);
596
- }
597
- function $(e) {
598
- return e.length === 0 ? "00" : e.length === 1 ? `0${e}` : e;
599
- }
600
- function Je(e, t) {
601
- let n = t ? We : We.slice(0, 2), r = n.indexOf(e);
602
- return r > -1 && r < n.length - 1 ? n[r + 1] : null;
603
- }
604
- function Ye(e, t) {
605
- let n = t ? We : We.slice(0, 2), r = n.indexOf(e);
606
- return r > 0 ? n[r - 1] : null;
607
- }
608
- function Xe(e, t) {
609
- return t === "24" ? e : e % 12 || 12;
610
- }
611
- function Ze(e) {
612
- return e >= 12 ? "PM" : "AM";
613
- }
614
- function Qe(e, t) {
615
- return t === "12" ? {
616
- ...e,
617
- period: e.period ?? "AM"
618
- } : {
619
- ...e,
620
- period: void 0
621
- };
622
- }
623
- function $e(e) {
624
- return {
625
- hours: Q,
626
- minutes: Q,
627
- seconds: e ? Q : void 0
628
- };
629
- }
630
- function et(e, t) {
631
- let n = t === "12" ? Z : X;
632
- return {
633
- hours: e.hours === Q ? n : e.hours,
634
- minutes: e.minutes === Q ? X : e.minutes,
635
- seconds: e.seconds === Q ? X : e.seconds,
636
- period: e.period
637
- };
638
- }
639
- function tt(e, t, n) {
640
- let r = ue(e ?? void 0);
641
- return r ? Qe(W(r, t, n), t) : $e(n);
642
- }
643
- var nt = x.forwardRef(function({ value: t, onValueChange: i, mode: a = "inline", format: o = "24", precision: c = "minutes", step: l = 60, size: u, disabled: d, invalid: f, placeholder: p, strings: m, className: ee, id: h }, g) {
644
- let y = n(Ue, m), { defaultScale: ae } = e(), S = te(u, ae), C = c === "seconds", [oe, se] = x.useState(!1), E = x.useMemo(() => C ? We : We.slice(0, 2), [C]), [D, ce] = x.useState(() => tt(t, o, C)), O = x.useRef(D), k = x.useRef(!1), A = x.useRef(null), j = x.useCallback((e) => {
645
- O.current = e, ce(e);
646
- }, []), M = x.useRef({
647
- hours: null,
648
- minutes: null,
649
- seconds: null
650
- });
651
- x.useEffect(() => {
652
- if (k.current) {
653
- k.current = !1;
654
- return;
655
- }
656
- A.current = null, j(tt(t, o, C));
657
- }, [
658
- t,
659
- o,
660
- C,
661
- j
662
- ]);
663
- let N = x.useCallback((e) => de(e, C), [C]), P = x.useCallback((e) => {
664
- k.current = !0;
665
- let t = G(et(e, o), o, C);
666
- i?.(N(fe(t, l, C)));
667
- }, [
668
- o,
669
- C,
670
- i,
671
- l,
672
- N
673
- ]), F = x.useCallback((e) => {
674
- let t = fe(G(et(e, o), o, C), l, C);
675
- i?.(N(t)), j(Qe(W(t, o, C), o));
676
- }, [
677
- o,
678
- C,
679
- i,
680
- l,
681
- N,
682
- j
683
- ]), I = x.useCallback((e) => {
684
- if (!e) return;
685
- let t = M.current[e];
686
- t && (t.focus(), t.select());
687
- }, []), L = x.useCallback((e, t) => {
688
- let n = et(O.current, o), r = A.current, i = r && r.key === e && r.typed.length === 1 ? `${r.typed}${t}` : String(t);
689
- A.current = {
690
- key: e,
691
- typed: i
692
- };
693
- let a = Number.parseInt(i, 10), s = { ...n }, c = s.period ?? "AM";
694
- e === "hours" ? o === "24" ? s.hours = $(Math.min(Math.max(a, 0), 23).toString()) : a === 0 ? (c = "AM", s.hours = Z) : a > 12 ? (c = Ze(a), s.hours = $(Xe(a, "12").toString())) : (s.hours = $(Math.min(Math.max(a, 1), 12).toString()), c = n.period ?? Ze(a)) : e === "minutes" ? s.minutes = $(Math.min(Math.max(a, 0), 59).toString()) : e === "seconds" && (s.seconds = $(Math.min(Math.max(a, 0), 59).toString()));
695
- let l = {
696
- ...s,
697
- period: o === "12" ? c : void 0
698
- };
699
- j(l), P(l);
700
- }, [
701
- o,
702
- j,
703
- P
704
- ]), R = x.useCallback((e, t) => {
705
- A.current = null;
706
- let n = qe(t), r = { ...et(O.current, o) }, i = r.period ?? "AM";
707
- if (e === "hours") {
708
- if (o === "24") {
709
- let e = Number.parseInt(n || "0", 10);
710
- r.hours = $((Number.isNaN(e) ? 0 : Math.min(Math.max(e, 0), 23)).toString());
711
- } else {
712
- let e = Number.parseInt(n || "0", 10);
713
- Number.isNaN(e) ? (r.hours = Z, i = r.period ?? "AM") : n.length === 2 && e > 12 ? (i = Ze(e), r.hours = $(Xe(e, "12").toString())) : e === 0 ? (i = "AM", r.hours = Z) : (r.hours = $(Math.min(Math.max(e, 1), 12).toString()), n.length === 2 && (i = r.period ?? Ze(e)));
714
- }
715
- } else if (e === "minutes") {
716
- let e = Number.parseInt(n || "0", 10);
717
- r.minutes = $((Number.isNaN(e) ? 0 : Math.min(Math.max(e, 0), 59)).toString());
718
- } else if (e === "seconds") {
719
- let e = Number.parseInt(n || "0", 10);
720
- r.seconds = $((Number.isNaN(e) ? 0 : Math.min(Math.max(e, 0), 59)).toString());
721
- }
722
- let a = {
723
- ...r,
724
- period: o === "12" ? i : void 0
725
- };
726
- j(a), P(a);
727
- }, [
728
- o,
729
- j,
730
- P
731
- ]), z = x.useCallback((e) => {
732
- o === "12" && (A.current = null, F({
733
- ...et(O.current, o),
734
- period: e
735
- }));
736
- }, [F, o]), B = x.useCallback(() => {
737
- A.current = null, F(O.current);
738
- }, [F]), V = x.useCallback((e) => {
739
- A.current = null, e.target.select();
740
- }, []), H = x.useCallback((e, t) => {
741
- if (e.key.length === 1 && /\d/.test(e.key) && !e.metaKey && !e.ctrlKey && !e.altKey) {
742
- e.preventDefault(), L(t, Number.parseInt(e.key, 10));
743
- return;
744
- }
745
- if (e.key === "ArrowRight") {
746
- I(Je(t, C));
747
- return;
748
- }
749
- if (e.key === "ArrowLeft") {
750
- I(Ye(t, C));
751
- return;
752
- }
753
- if (e.key === "Backspace") {
754
- let n = e.currentTarget;
755
- n.selectionStart === 0 && n.selectionEnd === 0 && I(Ye(t, C));
756
- }
757
- }, [
758
- L,
759
- I,
760
- C
761
- ]), ue = x.useMemo(() => {
762
- if (o === "12") return D.period ? [D.period] : void 0;
763
- }, [o, D.period]), U = {
764
- hours: y.hours,
765
- minutes: y.minutes,
766
- seconds: y.seconds
767
- }, me = /* @__PURE__ */ T("div", {
768
- ref: a === "inline" ? g : void 0,
769
- className: r("flex items-center gap-space-md [&>.input--component]:w-auto [&>.input--component]:shrink-0", a === "inline" && ["time-picker--component", ee]),
770
- children: [E.map((e, t) => /* @__PURE__ */ T(x.Fragment, { children: [/* @__PURE__ */ w(b, {
771
- ref: (t) => {
772
- M.current[e] = t;
773
- },
774
- id: e === "hours" && a === "inline" ? h : void 0,
775
- value: D[e] ?? Q,
776
- onChange: (t) => R(e, t.target.value),
777
- onFocus: V,
778
- onBlur: B,
779
- onKeyDown: (t) => H(t, e),
780
- inputMode: "numeric",
781
- pattern: "\\d*",
782
- maxLength: 2,
783
- showCharacterCount: !1,
784
- disabled: d,
785
- invalid: f,
786
- "aria-label": U[e],
787
- size: S,
788
- className: r("time-picker--segment text-center", Ke[S])
789
- }), t < E.length - 1 && /* @__PURE__ */ w(s, {
790
- tag: "span",
791
- type: "secondary",
792
- children: ":"
793
- })] }, e)), o === "12" && /* @__PURE__ */ T(Ve, {
794
- value: ue,
795
- onValueChange: (e) => {
796
- let t = e[0];
797
- t && z(t);
798
- },
799
- disabled: d,
800
- variant: "outline",
801
- size: S === "sm" ? "sm" : "default",
802
- className: "time-picker--period",
803
- children: [/* @__PURE__ */ w(He, {
804
- value: "AM",
805
- "aria-label": y.am,
806
- className: r(_[S], Ge),
807
- children: /* @__PURE__ */ w(s, {
808
- tag: "span",
809
- size: "inherit",
810
- weight: "medium",
811
- lineHeight: "tight",
812
- className: "text-inherit",
813
- children: y.am
814
- })
815
- }), /* @__PURE__ */ w(He, {
816
- value: "PM",
817
- "aria-label": y.pm,
818
- className: r(_[S], Ge),
819
- children: /* @__PURE__ */ w(s, {
820
- tag: "span",
821
- size: "inherit",
822
- weight: "medium",
823
- lineHeight: "tight",
824
- className: "text-inherit",
825
- children: y.pm
826
- })
827
- })]
828
- })]
829
- });
830
- if (a === "inline") return me;
831
- let he = D.hours === Q && D.minutes === Q, ge = he ? p ?? y.placeholder : pe(G(et(D, o), o, C), C, o, {
832
- am: y.am,
833
- pm: y.pm
834
- });
835
- return /* @__PURE__ */ T(re, {
836
- open: oe,
837
- onOpenChange: se,
838
- children: [/* @__PURE__ */ T(ne, {
839
- ref: g,
840
- id: h,
841
- "aria-expanded": oe,
842
- "aria-invalid": f,
843
- disabled: d,
844
- className: r("time-picker--component", v(S), "justify-start", he && "text-muted-foreground", ee),
845
- children: [/* @__PURE__ */ w(le, { className: "size-icon shrink-0" }), /* @__PURE__ */ w(s, {
846
- tag: "span",
847
- size: "inherit",
848
- lineHeight: "tight",
849
- className: "min-w-0 truncate text-inherit",
850
- children: ge
851
- })]
852
- }), /* @__PURE__ */ w(ie, {
853
- className: "time-picker--panel w-auto",
854
- align: "start",
855
- children: me
856
- })]
857
- });
858
- });
859
- nt.displayName = "TimePicker";
860
- //#endregion
861
- //#region src/components/base/date-pickers/date-picker-single.tsx
862
- function rt({ value: e, defaultValue: t, onValueChange: n, format: i = "yyyy-MM-dd", readableFormat: o = "PPP", placeholder: c, closeOnSelect: l = !0, withTime: u, disabledDates: d, calendarProps: f, open: p, setOpen: m, t: h, dateFnsLocale: g, captionLayout: _, yearBounds: v, rootRef: te, ...b }) {
863
- let S = Fe(b.size), C = x.useId(), E = b.id ?? C, D = `${E}-description`, ce = b.error !== void 0 && b.error !== null && b.error !== "", le = ce || !!(b.invalid || b["aria-invalid"] && b["aria-invalid"] !== "false"), O = [b["aria-describedby"], ce ? D : void 0].filter(Boolean).join(" ") || void 0, k = u?.format ?? "24", A = u?.step ?? 60, j = u?.showSeconds ?? !1, N = ge(o), P = u?.showTimeInButton ?? !N, [F, I] = x.useState(() => e ?? t), [L, R] = x.useState(() => {
864
- let n = e ?? t;
865
- return n ? U(n, j, A) : null;
866
- }), z = x.useRef(e ?? t ?? void 0), B = x.useRef(!1), V = x.useRef(e !== void 0), H = x.useCallback((e, t) => {
867
- let n = e, r = t ?? L;
868
- if (e && u?.enabled && r) {
869
- let t = ye(e, r);
870
- n = Number.isFinite(t.getTime()) ? t : void 0;
871
- }
872
- return _e(n, i, o, g);
873
- }, [
874
- i,
875
- o,
876
- g,
877
- u,
878
- L
879
- ]);
880
- x.useEffect(() => {
881
- let r = !!u?.enabled, a = V.current, s = e !== void 0, c = (e, t) => {
882
- let a = fe(U(e, j, A), A, j);
883
- if (I((t) => t?.getTime?.() === e.getTime() ? t : e), R((e) => e && e.hours === a.hours && e.minutes === a.minutes && e.seconds === a.seconds ? e : a), z.current = e, B.current = !0, t && r) {
884
- let t = ye(e, a);
885
- n?.(_e(t, i, o, g));
886
- }
887
- };
888
- if (!r) {
889
- B.current = !1, z.current = e ?? t ?? void 0, I(e ?? t), V.current = s;
890
- return;
891
- }
892
- let l = z.current?.getTime?.(), d = e?.getTime?.();
893
- if (!s && a && t === void 0 && (B.current = !1, z.current = void 0), e !== void 0 && d !== l) {
894
- c(e, !1), V.current = s;
895
- return;
896
- }
897
- if (e === void 0 && t !== void 0) {
898
- (l !== t.getTime() || !B.current) && c(t, !1), V.current = s;
899
- return;
900
- }
901
- if (e === void 0 && t === void 0 && !B.current) {
902
- B.current = !0, V.current = s;
903
- return;
904
- }
905
- V.current = s;
906
- }, [
907
- u?.enabled,
908
- e,
909
- t,
910
- j,
911
- A,
912
- n,
913
- i,
914
- o,
915
- g
916
- ]), x.useEffect(() => {
917
- u?.enabled && R((e) => {
918
- if (!e) return e;
919
- let t = fe(e, A, j);
920
- return e.hours === t.hours && e.minutes === t.minutes && e.seconds === t.seconds ? e : t;
921
- });
922
- }, [
923
- u?.enabled,
924
- A,
925
- j
926
- ]);
927
- let W = x.useCallback((e) => {
928
- I(e);
929
- let t;
930
- u?.enabled && e && (B.current = !0, z.current = e, L || (t = U(e, j, A), R(t))), n?.(H(e, t)), l && e && m(!1);
931
- }, [
932
- n,
933
- H,
934
- l,
935
- m,
936
- u,
937
- L,
938
- j,
939
- A
940
- ]), G = x.useCallback((e) => {
941
- let t = ue(e ?? void 0);
942
- t && (R(t), F && n?.(H(F, t)));
943
- }, [
944
- F,
945
- n,
946
- H
947
- ]), me = x.useMemo(() => {
948
- if (u?.enabled && L) return pe(L, j, k, {
949
- am: h.am,
950
- pm: h.pm
951
- });
952
- }, [
953
- u?.enabled,
954
- L,
955
- j,
956
- k,
957
- h
958
- ]), he = x.useMemo(() => Ce(F, o, c, h.selectDate, P ? me : void 0, g), [
959
- F,
960
- o,
961
- c,
962
- h,
963
- me,
964
- P,
965
- g
966
- ]), K = x.useMemo(() => F ? M(F, o, { locale: g }) : void 0, [
967
- F,
968
- o,
969
- g
970
- ]);
971
- return /* @__PURE__ */ w(Me, {
972
- rootRef: te,
973
- className: b.className,
974
- label: b.label,
975
- hint: b.hint,
976
- error: b.error,
977
- triggerId: E,
978
- describedById: D,
979
- children: /* @__PURE__ */ T(re, {
980
- open: p,
981
- onOpenChange: m,
982
- children: [/* @__PURE__ */ w(ne, {
983
- ref: b.triggerRef,
984
- onBlur: b.onBlur,
985
- render: (e) => {
986
- let t = Te(b.buttonTone, b.buttonStyle);
987
- return /* @__PURE__ */ T(a, {
988
- ...e,
989
- id: E,
990
- tone: t.tone,
991
- buttonStyle: t.buttonStyle,
992
- size: S,
993
- "aria-invalid": le,
994
- "aria-describedby": O,
995
- className: r(Le(S), !F && "text-muted-foreground", e.className),
996
- disabled: b.disabled,
997
- children: [/* @__PURE__ */ w(se, {
998
- className: y[S],
999
- "aria-hidden": "true"
1000
- }), /* @__PURE__ */ w(s, {
1001
- tag: "span",
1002
- size: "inherit",
1003
- lineHeight: "tight",
1004
- className: "min-w-0 truncate text-inherit",
1005
- children: he
1006
- })]
1007
- });
1008
- }
1009
- }), /* @__PURE__ */ T(ie, {
1010
- inset: "flush",
1011
- className: "w-auto gap-0",
1012
- align: "start",
1013
- children: [
1014
- !!b.header && /* @__PURE__ */ w(Pe, { config: b.header }),
1015
- /* @__PURE__ */ w(Ae, {
1016
- mode: "single",
1017
- selected: F,
1018
- onSelect: W,
1019
- defaultMonth: F,
1020
- numberOfMonths: b.numberOfMonths,
1021
- showOutsideDays: b.showOutsideDays,
1022
- disabled: d ?? b.disabled,
1023
- locale: g,
1024
- captionLayout: _,
1025
- startMonth: v.startMonth,
1026
- endMonth: v.endMonth,
1027
- ...f
1028
- }),
1029
- !!u?.enabled && /* @__PURE__ */ T(oe, { children: [/* @__PURE__ */ w(ee, {}), /* @__PURE__ */ w("div", {
1030
- className: "date-picker--time p-surface",
1031
- children: /* @__PURE__ */ w(ae, {
1032
- label: h.startTime,
1033
- children: /* @__PURE__ */ w(nt, {
1034
- value: L ? de(L, j) : null,
1035
- onValueChange: G,
1036
- format: k,
1037
- precision: j ? "seconds" : "minutes",
1038
- step: A,
1039
- disabled: b.disabled,
1040
- size: "sm",
1041
- strings: {
1042
- hours: h.hours,
1043
- minutes: h.minutes,
1044
- seconds: h.seconds,
1045
- am: h.am,
1046
- pm: h.pm
1047
- }
1048
- })
1049
- })
1050
- })] }),
1051
- !!b.footer && /* @__PURE__ */ w(Ne, {
1052
- config: b.footer,
1053
- output: H(F),
1054
- hasSelection: !!F,
1055
- autoSummary: K
1056
- })
1057
- ]
1058
- })]
1059
- })
1060
- });
1061
- }
1062
- //#endregion
1063
- //#region src/components/base/date-pickers/date-picker-multiple.tsx
1064
- function it({ value: e, defaultValue: t, onValueChange: n, format: i = "yyyy-MM-dd", readableFormat: o = "PPP", placeholder: c, min: l, max: u, required: d, closeOnSelect: f = !1, disabledDates: p, calendarProps: m, open: h, setOpen: g, t: _, dateFnsLocale: v, captionLayout: te, yearBounds: b, rootRef: ae, ...S }) {
1065
- let C = Fe(S.size), E = x.useId(), D = S.id ?? E, ce = `${D}-description`, le = S.error !== void 0 && S.error !== null && S.error !== "", O = le || !!(S.invalid || S["aria-invalid"] && S["aria-invalid"] !== "false"), k = [S["aria-describedby"], le ? ce : void 0].filter(Boolean).join(" ") || void 0, [A, j] = x.useState(e ?? t ?? []);
1066
- x.useEffect(() => {
1067
- e !== void 0 && j(e);
1068
- }, [e]);
1069
- let M = x.useCallback((e) => q(e, i, o, v), [
1070
- i,
1071
- o,
1072
- v
1073
- ]), N = x.useCallback((e) => {
1074
- let t = Array.isArray(e) ? e : e ? [e] : [];
1075
- j(t), n?.(M(t)), f && t.length > 0 && g(!1);
1076
- }, [
1077
- n,
1078
- M,
1079
- f,
1080
- g
1081
- ]), P = x.useMemo(() => Y(A, o, c, _.selectDates, _, v), [
1082
- A,
1083
- o,
1084
- c,
1085
- _,
1086
- v
1087
- ]), F = x.useMemo(() => J(A, l, u, d, _), [
1088
- A,
1089
- l,
1090
- u,
1091
- d,
1092
- _
1093
- ]), I = x.useMemo(() => A.length > 0 ? _.datesSelected(A.length) : void 0, [A.length, _]);
1094
- return /* @__PURE__ */ w(Me, {
1095
- rootRef: ae,
1096
- className: S.className,
1097
- label: S.label,
1098
- hint: S.hint,
1099
- error: S.error,
1100
- triggerId: D,
1101
- describedById: ce,
1102
- children: /* @__PURE__ */ T(re, {
1103
- open: h,
1104
- onOpenChange: g,
1105
- children: [/* @__PURE__ */ w(ne, {
1106
- ref: S.triggerRef,
1107
- onBlur: S.onBlur,
1108
- render: (e) => {
1109
- let t = Te(S.buttonTone, S.buttonStyle);
1110
- return /* @__PURE__ */ T(a, {
1111
- ...e,
1112
- id: D,
1113
- tone: t.tone,
1114
- buttonStyle: t.buttonStyle,
1115
- size: C,
1116
- "aria-invalid": O,
1117
- "aria-describedby": k,
1118
- className: r(Le(C), A.length === 0 && "text-muted-foreground", e.className),
1119
- disabled: S.disabled,
1120
- children: [/* @__PURE__ */ w(se, {
1121
- className: y[C],
1122
- "aria-hidden": "true"
1123
- }), /* @__PURE__ */ w(s, {
1124
- tag: "span",
1125
- size: "inherit",
1126
- lineHeight: "tight",
1127
- className: "min-w-0 truncate text-inherit",
1128
- children: P
1129
- })]
1130
- });
1131
- }
1132
- }), /* @__PURE__ */ T(ie, {
1133
- inset: "flush",
1134
- className: "w-auto gap-0",
1135
- align: "start",
1136
- children: [
1137
- !!S.header && /* @__PURE__ */ w(Pe, { config: S.header }),
1138
- /* @__PURE__ */ w(Ae, {
1139
- mode: "multiple",
1140
- selected: A,
1141
- onSelect: N,
1142
- defaultMonth: A[0],
1143
- numberOfMonths: S.numberOfMonths,
1144
- showOutsideDays: S.showOutsideDays,
1145
- disabled: p ?? S.disabled,
1146
- locale: v,
1147
- captionLayout: te,
1148
- startMonth: b.startMonth,
1149
- endMonth: b.endMonth,
1150
- required: d,
1151
- max: u,
1152
- ...m
1153
- }),
1154
- !!F && /* @__PURE__ */ T(oe, { children: [/* @__PURE__ */ w(ee, {}), /* @__PURE__ */ w("div", {
1155
- className: "p-surface",
1156
- children: /* @__PURE__ */ w(s, {
1157
- type: "secondary",
1158
- children: F
1159
- })
1160
- })] }),
1161
- !!S.footer && /* @__PURE__ */ w(Ne, {
1162
- config: S.footer,
1163
- output: M(A),
1164
- hasSelection: A.length > 0,
1165
- autoSummary: I
1166
- })
1167
- ]
1168
- })]
1169
- })
1170
- });
1171
- }
1172
- function at() {
1173
- let [e, t] = C();
1174
- return S(() => {
1175
- let e = window.matchMedia("(max-width: 767px)"), n = () => {
1176
- t(window.innerWidth < 768);
1177
- };
1178
- return e.addEventListener("change", n), t(window.innerWidth < 768), () => e.removeEventListener("change", n);
1179
- }, []), !!e;
1180
- }
1181
- //#endregion
1182
- //#region src/components/base/date-pickers/date-picker-range.tsx
1183
- function ot({ value: e, defaultValue: n, onValueChange: o, format: c = "yyyy-MM-dd", readableFormat: l = "PPP", placeholder: u, withConfirm: d = !1, min: m, max: h, closeOnSelect: g = !0, withTime: _, presets: v, disabledDates: te, calendarProps: b, open: S, setOpen: C, t: E, dateFnsLocale: D, captionLayout: ce, yearBounds: le, rootRef: O, ...k }) {
1184
- let A = at(), j = k.numberOfMonths ?? (A ? 1 : 2), { weekStartsOn: N = 1 } = t(), P = v ?? ke(E, N), F = Fe(k.size), I = x.useId(), L = k.id ?? I, R = `${L}-description`, z = k.error !== void 0 && k.error !== null && k.error !== "", B = z || !!(k.invalid || k["aria-invalid"] && k["aria-invalid"] !== "false"), V = [k["aria-describedby"], z ? R : void 0].filter(Boolean).join(" ") || void 0, H = _?.format ?? "24", W = _?.step ?? 60, G = _?.showSeconds ?? !1, me = ge(l), he = _?.showTimeInButton ?? !me, K = _?.showTimeInSummary ?? !me, _e = e ?? n, [q, be] = x.useState(_e), [J, Ce] = x.useState(() => _e?.from ? U(_e.from, G, W) : null), [Y, Ee] = x.useState(() => _e?.to ? U(_e.to, G, W) : null), De = x.useRef(e), Oe = x.useMemo(() => Se(q, m, h, E), [
1185
- q,
1186
- m,
1187
- h,
1188
- E
1189
- ]), je = Oe != null && Oe !== "", Ie = typeof Oe == "string" ? Oe : "";
1190
- x.useEffect(() => {
1191
- e !== void 0 && be(e);
1192
- }, [e]), x.useEffect(() => {
1193
- if (!_?.enabled) {
1194
- De.current = e;
1195
- return;
1196
- }
1197
- let t = De.current, n = e?.from, r = e?.to;
1198
- n ? Ce(U(n, G, W)) : t?.from && Ce(null), r ? Ee(U(r, G, W)) : t?.to && Ee(null), De.current = e;
1199
- }, [
1200
- e,
1201
- _?.enabled,
1202
- G,
1203
- W
1204
- ]), x.useEffect(() => {
1205
- if (!_?.enabled) return;
1206
- let e = (e) => {
1207
- if (!e) return e;
1208
- let t = fe(e, W, G);
1209
- return e.hours === t.hours && e.minutes === t.minutes && e.seconds === t.seconds ? e : t;
1210
- };
1211
- Ce(e), Ee(e);
1212
- }, [
1213
- _?.enabled,
1214
- W,
1215
- G
1216
- ]);
1217
- let Re = x.useCallback((e) => {
1218
- let t = e;
1219
- return e && _?.enabled && (t = {
1220
- ...e,
1221
- from: e.from && J ? ye(e.from, J) : e.from,
1222
- to: e.to && Y ? ye(e.to, Y) : e.to
1223
- }), ve(t, c, l, D);
1224
- }, [
1225
- c,
1226
- l,
1227
- D,
1228
- _,
1229
- J,
1230
- Y
1231
- ]), ze = x.useCallback((e) => {
1232
- let t = ue(e ?? void 0);
1233
- t && Ce(t);
1234
- }, []), Be = x.useCallback((e) => {
1235
- let t = ue(e ?? void 0);
1236
- t && Ee(t);
1237
- }, []), Ve = x.useCallback((e, t, n) => t ? !n?.from || n.to ? {
1238
- from: t,
1239
- to: void 0
1240
- } : t < n.from ? {
1241
- from: t,
1242
- to: n.from
1243
- } : {
1244
- from: n.from,
1245
- to: t
1246
- } : e, []), He = x.useCallback((e, t) => {
1247
- let n = Ve(e, t, q);
1248
- if (be(n), d || _?.enabled) return;
1249
- o?.(Re(n));
1250
- let r = !!(n?.from && n?.to), i = xe(n, m, h).isValid;
1251
- g && r && i && C(!1);
1252
- }, [
1253
- q,
1254
- Ve,
1255
- d,
1256
- _,
1257
- o,
1258
- Re,
1259
- m,
1260
- h,
1261
- g,
1262
- C
1263
- ]), Ue = x.useCallback((e) => {
1264
- let t = e.getValue();
1265
- He(t);
1266
- }, [He]), We = x.useCallback(() => {
1267
- o?.(Re(q)), C(!1);
1268
- }, [
1269
- q,
1270
- o,
1271
- Re,
1272
- C
1273
- ]), X = x.useMemo(() => {
1274
- if (_?.enabled && J) return pe(J, G, H, {
1275
- am: E.am,
1276
- pm: E.pm
1277
- });
1278
- }, [
1279
- _?.enabled,
1280
- J,
1281
- G,
1282
- H,
1283
- E
1284
- ]), Z = x.useMemo(() => {
1285
- if (_?.enabled && Y) return pe(Y, G, H, {
1286
- am: E.am,
1287
- pm: E.pm
1288
- });
1289
- }, [
1290
- _?.enabled,
1291
- Y,
1292
- G,
1293
- H,
1294
- E
1295
- ]), Q = x.useMemo(() => {
1296
- if (_?.enabled && q?.from) {
1297
- let e = M(q.from, l, { locale: D }), t = he && X ? `${e} ${X}` : e;
1298
- if (q.to) {
1299
- let e = M(q.to, l, { locale: D });
1300
- return `${t} - ${he && Z ? `${e} ${Z}` : e}`;
1301
- }
1302
- return t;
1303
- }
1304
- return we(q, l, u, E.selectDateRange, D);
1305
- }, [
1306
- _?.enabled,
1307
- q,
1308
- l,
1309
- he,
1310
- X,
1311
- Z,
1312
- u,
1313
- E,
1314
- D
1315
- ]), Ge = x.useMemo(() => {
1316
- if (!q?.from || !q?.to) return;
1317
- let e = M(q.from, l, { locale: D }), t = M(q.to, l, { locale: D });
1318
- return `${K && X ? `${e} ${X}` : e} - ${K && Z ? `${t} ${Z}` : t}`;
1319
- }, [
1320
- q,
1321
- l,
1322
- D,
1323
- K,
1324
- X,
1325
- Z
1326
- ]);
1327
- return /* @__PURE__ */ w(Me, {
1328
- rootRef: O,
1329
- className: k.className,
1330
- label: k.label,
1331
- hint: k.hint,
1332
- error: k.error,
1333
- triggerId: L,
1334
- describedById: R,
1335
- children: /* @__PURE__ */ T(re, {
1336
- open: S,
1337
- onOpenChange: C,
1338
- children: [/* @__PURE__ */ w(ne, {
1339
- ref: k.triggerRef,
1340
- onBlur: k.onBlur,
1341
- render: (e) => {
1342
- let t = Te(k.buttonTone, k.buttonStyle);
1343
- return /* @__PURE__ */ T(a, {
1344
- ...e,
1345
- id: L,
1346
- tone: t.tone,
1347
- buttonStyle: t.buttonStyle,
1348
- size: F,
1349
- "aria-invalid": B,
1350
- "aria-describedby": V,
1351
- className: r(Le(F), !q && "text-muted-foreground", e.className),
1352
- disabled: k.disabled,
1353
- children: [/* @__PURE__ */ w(se, {
1354
- className: r(y[F], "shrink-0"),
1355
- "aria-hidden": "true"
1356
- }), /* @__PURE__ */ w(s, {
1357
- tag: "span",
1358
- size: "inherit",
1359
- lineHeight: "tight",
1360
- className: "min-w-0 truncate text-inherit",
1361
- children: Q
1362
- })]
1363
- });
1364
- }
1365
- }), /* @__PURE__ */ T(ie, {
1366
- inset: "flush",
1367
- className: "w-auto gap-0",
1368
- align: "start",
1369
- children: [!!k.header && /* @__PURE__ */ w(Pe, { config: k.header }), /* @__PURE__ */ T("div", {
1370
- className: "flex flex-col sm:flex-row",
1371
- children: [P.length > 0 && /* @__PURE__ */ w("div", {
1372
- className: "grid grid-cols-2 gap-space-2xs border-b border-border p-surface-xs sm:flex sm:min-w-30 sm:flex-col sm:border-r sm:border-b-0",
1373
- children: P.map((e) => /* @__PURE__ */ w(a, {
1374
- tone: "secondary",
1375
- buttonStyle: "ghost",
1376
- onClick: () => Ue(e),
1377
- className: "justify-start text-muted-foreground hover:text-foreground",
1378
- children: e.label
1379
- }, e.label))
1380
- }), /* @__PURE__ */ T("div", {
1381
- className: "flex flex-col",
1382
- children: [
1383
- /* @__PURE__ */ w(Ae, {
1384
- mode: "range",
1385
- selected: q,
1386
- onSelect: He,
1387
- defaultMonth: q?.from,
1388
- numberOfMonths: j,
1389
- showOutsideDays: k.showOutsideDays,
1390
- disabled: te ?? k.disabled,
1391
- locale: D,
1392
- captionLayout: ce,
1393
- startMonth: le.startMonth,
1394
- endMonth: le.endMonth,
1395
- ...b,
1396
- className: r(i.calendarCompactCell, b?.className)
1397
- }),
1398
- (() => {
1399
- let e = !!q?.from && !k.footer, t = !!_?.enabled && !!q?.from, n = !!(d || _?.enabled) && !k.footer;
1400
- return !e && !t && !je && !n ? null : /* @__PURE__ */ T(oe, { children: [/* @__PURE__ */ w(ee, {}), /* @__PURE__ */ w("div", {
1401
- className: "date-picker--range-footer p-surface",
1402
- children: /* @__PURE__ */ T(p, {
1403
- gap: "lg",
1404
- children: [
1405
- e && !!q?.from && /* @__PURE__ */ T(p, {
1406
- direction: "horizontal",
1407
- align: "center",
1408
- justify: "between",
1409
- gap: "xl",
1410
- children: [/* @__PURE__ */ T(p, {
1411
- direction: "horizontal",
1412
- align: "center",
1413
- gap: "md",
1414
- children: [/* @__PURE__ */ T(s, {
1415
- tag: "span",
1416
- type: "secondary",
1417
- children: [E.from, ":"]
1418
- }), /* @__PURE__ */ T(s, {
1419
- tag: "span",
1420
- weight: "medium",
1421
- children: [M(q.from, l, { locale: D }), K && X ? ` ${X}` : ""]
1422
- })]
1423
- }), !!q.to && /* @__PURE__ */ T(p, {
1424
- direction: "horizontal",
1425
- align: "center",
1426
- gap: "md",
1427
- children: [/* @__PURE__ */ T(s, {
1428
- tag: "span",
1429
- type: "secondary",
1430
- children: [E.to, ":"]
1431
- }), /* @__PURE__ */ T(s, {
1432
- tag: "span",
1433
- weight: "medium",
1434
- children: [M(q.to, l, { locale: D }), K && Z ? ` ${Z}` : ""]
1435
- })]
1436
- })]
1437
- }),
1438
- t && !!q?.from && /* @__PURE__ */ T(f, {
1439
- columns: {
1440
- base: 1,
1441
- sm: 2
1442
- },
1443
- gap: "lg",
1444
- children: [/* @__PURE__ */ w(ae, {
1445
- label: E.startTime,
1446
- children: /* @__PURE__ */ w(nt, {
1447
- value: J ? de(J, G) : null,
1448
- onValueChange: ze,
1449
- format: H,
1450
- precision: G ? "seconds" : "minutes",
1451
- step: W,
1452
- disabled: k.disabled,
1453
- size: "sm",
1454
- strings: {
1455
- hours: E.hours,
1456
- minutes: E.minutes,
1457
- seconds: E.seconds,
1458
- am: E.am,
1459
- pm: E.pm
1460
- }
1461
- })
1462
- }), !!q.to && /* @__PURE__ */ w(ae, {
1463
- label: E.endTime,
1464
- children: /* @__PURE__ */ w(nt, {
1465
- value: Y ? de(Y, G) : null,
1466
- onValueChange: Be,
1467
- format: H,
1468
- precision: G ? "seconds" : "minutes",
1469
- step: W,
1470
- disabled: k.disabled,
1471
- size: "sm",
1472
- strings: {
1473
- hours: E.hours,
1474
- minutes: E.minutes,
1475
- seconds: E.seconds,
1476
- am: E.am,
1477
- pm: E.pm
1478
- }
1479
- })
1480
- })]
1481
- }),
1482
- /* @__PURE__ */ w(s, {
1483
- type: "error",
1484
- content: Ie,
1485
- hidden: !je
1486
- }),
1487
- n && /* @__PURE__ */ w(a, {
1488
- tone: "primary",
1489
- onClick: We,
1490
- disabled: !q?.from || !q?.to || !!Oe,
1491
- className: "w-full",
1492
- children: E.confirm
1493
- })
1494
- ]
1495
- })
1496
- })] });
1497
- })(),
1498
- !!k.footer && /* @__PURE__ */ w(Ne, {
1499
- config: k.footer,
1500
- output: Re(q),
1501
- hasSelection: !!(q?.from && q?.to),
1502
- autoSummary: Ge
1503
- })
1504
- ]
1505
- })]
1506
- })]
1507
- })]
1508
- })
1509
- });
1510
- }
1511
- //#endregion
1512
- //#region src/components/base/date-pickers/date-picker.tsx
1513
- var st = x.forwardRef(function(e, i) {
1514
- let [a, o] = x.useState(!1), s = t(), c = e.locale ?? s.locale ?? z, l = n(Re, e.strings), u = x.useMemo(() => e.enableYearDropdown || e.yearSelection?.enabled ? "dropdown" : "label", [e.enableYearDropdown, e.yearSelection]), d = x.useMemo(() => K(e.yearSelection), [e.yearSelection]), f = r("date-picker--component", e.className);
1515
- return Ee(e) ? /* @__PURE__ */ w(rt, {
1516
- ...e,
1517
- rootRef: i,
1518
- className: f,
1519
- open: a,
1520
- setOpen: o,
1521
- t: l,
1522
- dateFnsLocale: c,
1523
- captionLayout: u,
1524
- yearBounds: d
1525
- }) : De(e) ? /* @__PURE__ */ w(it, {
1526
- ...e,
1527
- rootRef: i,
1528
- className: f,
1529
- open: a,
1530
- setOpen: o,
1531
- t: l,
1532
- dateFnsLocale: c,
1533
- captionLayout: u,
1534
- yearBounds: d
1535
- }) : Oe(e) ? /* @__PURE__ */ w(ot, {
1536
- ...e,
1537
- rootRef: i,
1538
- className: f,
1539
- open: a,
1540
- setOpen: o,
1541
- t: l,
1542
- dateFnsLocale: c,
1543
- captionLayout: u,
1544
- yearBounds: d
1545
- }) : null;
1546
- });
1547
- st.displayName = "DatePicker";
1548
- //#endregion
1549
- export { Le as a, Ne as c, Re as i, Me as l, nt as n, Fe as o, Ue as r, Pe as s, st as t, Te as u };
1550
-
1551
- //# sourceMappingURL=date-picker-RlIzKom_.js.map