themelia-react-ui 1.0.1 → 2.0.0

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 (640) hide show
  1. package/CHANGELOG.md +417 -0
  2. package/README.md +67 -16
  3. package/dist/{accordion-B-5Focs8.js → accordion-CQXVcd7Q.js} +15 -15
  4. package/dist/accordion-CQXVcd7Q.js.map +1 -0
  5. package/dist/action-menu-BTpyPWJ2.js +264 -0
  6. package/dist/action-menu-BTpyPWJ2.js.map +1 -0
  7. package/dist/affordance-geometry.generated-CCIXb2A1.js +68 -0
  8. package/dist/affordance-geometry.generated-CCIXb2A1.js.map +1 -0
  9. package/dist/{ai-artifact-B5tPpXnS.js → ai-artifact-2PQ2fItc.js} +206 -215
  10. package/dist/ai-artifact-2PQ2fItc.js.map +1 -0
  11. package/dist/{app-shell-at8Kt4l_.js → app-shell-BE_j8-AT.js} +11 -10
  12. package/dist/app-shell-BE_j8-AT.js.map +1 -0
  13. package/dist/{attachment-BO2R47wn.js → attachment-q69dlt5Y.js} +14 -14
  14. package/dist/attachment-q69dlt5Y.js.map +1 -0
  15. package/dist/auth-M3vGMgDR.js +723 -0
  16. package/dist/auth-M3vGMgDR.js.map +1 -0
  17. package/dist/{avatar-Bpzty83c.js → avatar-djdaaQ_s.js} +15 -13
  18. package/dist/avatar-djdaaQ_s.js.map +1 -0
  19. package/dist/{badge-BZXZT9wd.js → badge-0tATj-tW.js} +9 -9
  20. package/dist/badge-0tATj-tW.js.map +1 -0
  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 +33 -35
  29. package/dist/base/carousel.js.map +1 -1
  30. package/dist/base/cascader.js +246 -222
  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 +94 -92
  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 +7 -4
  51. package/dist/base/qr-code.js.map +1 -1
  52. package/dist/base/repeaters.js +53 -53
  53. package/dist/base/repeaters.js.map +1 -1
  54. package/dist/base/sheet.js +1 -1
  55. package/dist/base/sidebar.js +1 -1
  56. package/dist/base/signature-pad.js +84 -82
  57. package/dist/base/signature-pad.js.map +1 -1
  58. package/dist/base/skeleton.js +1 -1
  59. package/dist/base/spinner.js +1 -1
  60. package/dist/base/structure.js +1 -1
  61. package/dist/base/table.js +1 -1
  62. package/dist/base/text-inputs.js +2 -2
  63. package/dist/base/toaster.js +7 -7
  64. package/dist/base/toaster.js.map +1 -1
  65. package/dist/base/tree.js +1 -1
  66. package/dist/base/upload-queue.js +1 -1
  67. package/dist/base/upload.js +3 -3
  68. package/dist/base/value-inputs.js +1 -1
  69. package/dist/blocks/admin.js +228 -219
  70. package/dist/blocks/admin.js.map +1 -1
  71. package/dist/blocks/ai.js +182 -212
  72. package/dist/blocks/ai.js.map +1 -1
  73. package/dist/blocks/analytics/usage-card.js +1 -1
  74. package/dist/blocks/analytics.js +665 -620
  75. package/dist/blocks/analytics.js.map +1 -1
  76. package/dist/blocks/collaboration.js +2 -2
  77. package/dist/blocks/commerce/receipt.js +1 -1
  78. package/dist/blocks/commerce.js +1439 -1553
  79. package/dist/blocks/commerce.js.map +1 -1
  80. package/dist/blocks/data-display.js +1 -1
  81. package/dist/blocks/onboarding.js +6 -6
  82. package/dist/blocks/onboarding.js.map +1 -1
  83. package/dist/blocks/planning.js +88 -97
  84. package/dist/blocks/planning.js.map +1 -1
  85. package/dist/blocks/timelines.js +1 -1
  86. package/dist/{breadcrumbs-DdQ_I5ra.js → breadcrumbs-BG_FfMK4.js} +10 -9
  87. package/dist/breadcrumbs-BG_FfMK4.js.map +1 -0
  88. package/dist/button-BS3KDg00.js +674 -0
  89. package/dist/button-BS3KDg00.js.map +1 -0
  90. package/dist/{button-BS6l5JUw.js → button-R9CCoH7A.js} +3 -3
  91. package/dist/button-R9CCoH7A.js.map +1 -0
  92. package/dist/buttons-DS0ZIwJ_.js +99 -0
  93. package/dist/buttons-DS0ZIwJ_.js.map +1 -0
  94. package/dist/{cards-Cum56XOF.js → cards-QoJ4syG9.js} +12 -12
  95. package/dist/{cards-Cum56XOF.js.map → cards-QoJ4syG9.js.map} +1 -1
  96. package/dist/chart-DwYRKKc-.js +152 -0
  97. package/dist/chart-DwYRKKc-.js.map +1 -0
  98. package/dist/checkbox-B7ygNTYp.js +35 -0
  99. package/dist/checkbox-B7ygNTYp.js.map +1 -0
  100. package/dist/choice-inputs-DrJ17tpL.js +752 -0
  101. package/dist/choice-inputs-DrJ17tpL.js.map +1 -0
  102. package/dist/{code-block-xHKbAJDj.js → code-block-CD0B7M93.js} +27 -27
  103. package/dist/code-block-CD0B7M93.js.map +1 -0
  104. package/dist/{collapsible-DsnktFNv.js → collapsible-oMUGM4tr.js} +3 -3
  105. package/dist/{collapsible-DsnktFNv.js.map → collapsible-oMUGM4tr.js.map} +1 -1
  106. package/dist/{collection-content-C4fthJV_.js → collection-content-Ys-OZOkY.js} +3 -3
  107. package/dist/{collection-content-C4fthJV_.js.map → collection-content-Ys-OZOkY.js.map} +1 -1
  108. package/dist/combobox-6dvVny2q.js +272 -0
  109. package/dist/combobox-6dvVny2q.js.map +1 -0
  110. package/dist/combobox-CB7039j7.js +865 -0
  111. package/dist/combobox-CB7039j7.js.map +1 -0
  112. package/dist/{command-C0xe7u9B.js → command-kPMPjIxJ.js} +35 -31
  113. package/dist/command-kPMPjIxJ.js.map +1 -0
  114. package/dist/{comments-DviPLnwy.js → comments-You0Bzbr.js} +434 -409
  115. package/dist/comments-You0Bzbr.js.map +1 -0
  116. package/dist/components/base/accordion/accordion-variants.d.ts +3 -3
  117. package/dist/components/base/action-menu/action-menu.d.ts +7 -2
  118. package/dist/components/base/avatar/stacked-avatars.d.ts +5 -4
  119. package/dist/components/base/badge/badge.d.ts +1 -1
  120. package/dist/components/base/badge/badge.recipes.d.ts +4 -4
  121. package/dist/components/base/buttons/base-button.d.ts +7 -0
  122. package/dist/components/base/buttons/button-group.recipes.d.ts +2 -2
  123. package/dist/components/base/buttons/button.recipes.d.ts +10 -19
  124. package/dist/components/base/buttons/button.variants.d.ts +1 -0
  125. package/dist/components/base/buttons/loader-button.d.ts +3 -1
  126. package/dist/components/base/buttons/text-button.d.ts +2 -2
  127. package/dist/components/base/buttons/use-pending-button-focus.d.ts +3 -0
  128. package/dist/components/base/cards/card.recipes.d.ts +13 -5
  129. package/dist/components/base/cards/partials/card-primitives.d.ts +9 -4
  130. package/dist/components/base/cards/smart-card.types.d.ts +1 -1
  131. package/dist/components/base/carousel/carousel.d.ts +3 -1
  132. package/dist/components/base/chart/chart.d.ts +7 -7
  133. package/dist/components/base/choice-inputs/checkbox.d.ts +6 -7
  134. package/dist/components/base/choice-inputs/choice-types.d.ts +10 -1
  135. package/dist/components/base/choice-inputs/pill-radio-group.d.ts +9 -0
  136. package/dist/components/base/choice-inputs/select-popup.d.ts +9 -1
  137. package/dist/components/base/choice-inputs/switch-card.d.ts +1 -1
  138. package/dist/components/base/date-pickers/date-picker-field.d.ts +23 -0
  139. package/dist/components/base/date-pickers/date-picker.recipes.d.ts +5 -18
  140. package/dist/components/base/date-pickers/datepicker.types.d.ts +16 -3
  141. package/dist/components/base/display/alert-dialog.d.ts +8 -2
  142. package/dist/components/base/display/content-block.d.ts +4 -2
  143. package/dist/components/base/display/date-block.d.ts +1 -1
  144. package/dist/components/base/display/dialog.d.ts +12 -5
  145. package/dist/components/base/display/surface-title.d.ts +6 -1
  146. package/dist/components/base/feedback/alert.d.ts +1 -1
  147. package/dist/components/base/feedback/state-display.d.ts +5 -4
  148. package/dist/components/base/forms/form-field.d.ts +1 -0
  149. package/dist/components/base/forms/form-sizing.d.ts +35 -3
  150. package/dist/components/base/forms/workflow.d.ts +2 -0
  151. package/dist/components/base/forms-numeric/coordinates-input.d.ts +3 -0
  152. package/dist/components/base/forms-numeric/rounding-mode-select.d.ts +4 -1
  153. package/dist/components/base/navigation/dropdown-menu.d.ts +2 -2
  154. package/dist/components/base/navigation/language-switcher.d.ts +4 -1
  155. package/dist/components/base/navigation/overflow-tab-bar.d.ts +7 -0
  156. package/dist/components/base/navigation/page-header/page-header.d.ts +4 -1
  157. package/dist/components/base/navigation/tabs.d.ts +3 -5
  158. package/dist/components/base/popover/popover.recipes.d.ts +3 -3
  159. package/dist/components/base/qr-code/qr-code.d.ts +2 -0
  160. package/dist/components/base/sheet/index.d.ts +29 -1
  161. package/dist/components/base/sheet/sheet.d.ts +14 -5
  162. package/dist/components/base/spinner/spinner.d.ts +3 -2
  163. package/dist/components/base/structure/structure.types.d.ts +1 -1
  164. package/dist/components/base/table/index.d.ts +1 -1
  165. package/dist/components/base/text-inputs/clear-native-field.d.ts +2 -0
  166. package/dist/components/base/text-inputs/input-group.d.ts +2 -2
  167. package/dist/components/base/text-inputs/input-trailing-action.d.ts +3 -0
  168. package/dist/components/base/upload/upload.recipes.d.ts +11 -0
  169. package/dist/components/base/value-inputs/date-time-input.d.ts +4 -2
  170. package/dist/components/base/value-inputs/tags-input.d.ts +2 -0
  171. package/dist/components/blocks/admin/api-key-list/api-key-list.types.d.ts +1 -1
  172. package/dist/components/blocks/analytics/format-metric-value.d.ts +11 -1
  173. package/dist/components/blocks/analytics/index.d.ts +1 -1
  174. package/dist/components/blocks/analytics/types.d.ts +1 -1
  175. package/dist/components/blocks/analytics/use-metric-format-options.d.ts +3 -0
  176. package/dist/components/blocks/collaboration/message/message.recipes.d.ts +12 -0
  177. package/dist/components/blocks/commerce/address-card/address-card.d.ts +1 -1
  178. package/dist/components/blocks/commerce/address-card/types.d.ts +3 -1
  179. package/dist/components/blocks/commerce/booking-calendar-event-card/booking-calendar-event-card.d.ts +4 -0
  180. package/dist/components/blocks/commerce/booking-calendar-event-card/booking-calendar-event-card.types.d.ts +2 -2
  181. package/dist/components/blocks/commerce/discount-stack/types.d.ts +1 -1
  182. package/dist/components/blocks/commerce/inventory-section/types.d.ts +4 -1
  183. package/dist/components/blocks/commerce/loyalty-points/types.d.ts +1 -1
  184. package/dist/components/blocks/commerce/order-status/types.d.ts +4 -0
  185. package/dist/components/blocks/commerce/payment-method/payment-method.d.ts +1 -1
  186. package/dist/components/blocks/commerce/payment-method/types.d.ts +3 -1
  187. package/dist/components/blocks/commerce/seo-listing/seo-listing-card.d.ts +1 -1
  188. package/dist/components/blocks/commerce/seo-listing/types.d.ts +3 -1
  189. package/dist/components/blocks/commerce/vendor-profile/types.d.ts +4 -1
  190. package/dist/components/blocks/data-display/dense-info-card/dense-info.strings.d.ts +4 -1
  191. package/dist/components/blocks/data-display/empty-state/partials/illustrations/document-stack.d.ts +1 -4
  192. package/dist/components/blocks/data-display/empty-state/partials/illustrations/inbox-clean.d.ts +1 -4
  193. package/dist/components/blocks/data-display/empty-state/partials/illustrations/index.d.ts +3 -3
  194. package/dist/components/blocks/data-display/empty-state/partials/illustrations/stacked-cards.d.ts +1 -6
  195. package/dist/components/blocks/data-display/inline-stat/inline-stat.d.ts +4 -1
  196. package/dist/components/features/combobox/components/error-message.d.ts +1 -1
  197. package/dist/components/features/comments/hooks/use-attachment-upload.d.ts +5 -0
  198. package/dist/components/features/filters/facets/search-facet.d.ts +0 -12
  199. package/dist/components/features/filters/facets/tags-facet.d.ts +1 -1
  200. package/dist/components/features/global-search/partials/global-search-idle-state.d.ts +1 -1
  201. package/dist/components/features/media-library/media-library.d.ts +1 -1
  202. package/dist/components/features/media-library/media-library.types.d.ts +9 -1
  203. package/dist/components/features/media-library/partials/media-library-partials.d.ts +1 -1
  204. package/dist/components/features/overlays/alert-dialog.d.ts +1 -1
  205. package/dist/components/features/overlays/drawer.d.ts +1 -1
  206. package/dist/components/features/overlays/hooks/use-overlay-actions.d.ts +2 -2
  207. package/dist/components/features/overlays/hooks/use-overlay-visibility.d.ts +11 -4
  208. package/dist/components/features/overlays/hooks/use-pending-overlay-focus.d.ts +2 -0
  209. package/dist/components/features/overlays/overlay-tone-icon.d.ts +37 -0
  210. package/dist/components/features/overlays/overlays.types.d.ts +46 -22
  211. package/dist/components/features/products/components/product-variants-manager.d.ts +1 -1
  212. package/dist/components/features/products/partials/index.d.ts +1 -1
  213. package/dist/components/features/products/partials/product-metric-tile.d.ts +6 -0
  214. package/dist/components/features/products/partials/product-tone.d.ts +11 -1
  215. package/dist/components/features/products/products.types.d.ts +2 -1
  216. package/dist/components/features/rich-text-editor/rich-text-editor.recipes.d.ts +2 -1
  217. package/dist/components/features/table/data-table.d.ts +1 -1
  218. package/dist/components/features/table/partials/cell-renderers.d.ts +1 -1
  219. package/dist/components/features/table/table.types.d.ts +1 -1
  220. package/dist/components/features/theme-tweaker/theme-provider-settings.d.ts +3 -1
  221. package/dist/components/layout/auth/auth.types.d.ts +1 -0
  222. package/dist/components/layout/page/index.d.ts +1 -1
  223. package/dist/components/layout/page/page.d.ts +0 -1
  224. package/dist/components/layout/page/page.types.d.ts +62 -6
  225. package/dist/components/layout/page/partials/page-header-commands.d.ts +13 -0
  226. package/dist/components/layout/page/partials/page-header.d.ts +1 -1
  227. package/dist/components/layout/sidebar/sidebar.context.d.ts +1 -1
  228. package/dist/components/layout/sidebar/sidebar.types.d.ts +4 -0
  229. package/dist/components/layout/workspace/workspace.types.d.ts +3 -0
  230. package/dist/components/primitives/date.d.ts +16 -3
  231. package/dist/components/primitives/dimensions.d.ts +6 -0
  232. package/dist/components/primitives/duration.d.ts +6 -0
  233. package/dist/components/primitives/file-size.d.ts +6 -0
  234. package/dist/components/primitives/index.d.ts +1 -1
  235. package/dist/components/primitives/initials.d.ts +11 -2
  236. package/dist/components/primitives/link.d.ts +7 -0
  237. package/dist/components/primitives/money.d.ts +29 -7
  238. package/dist/components/primitives/number.d.ts +17 -0
  239. package/dist/components/primitives/value-typography.d.ts +54 -0
  240. package/dist/components/primitives/value.d.ts +31 -6
  241. package/dist/components/typography/heading.d.ts +13 -2
  242. package/dist/components/typography/index.d.ts +1 -1
  243. package/dist/components/typography/label.d.ts +3 -0
  244. package/dist/components/typography/running-text.d.ts +12 -0
  245. package/dist/components/typography/text-link.d.ts +23 -1
  246. package/dist/components/typography/text.d.ts +12 -0
  247. package/dist/components/typography/text.styles.d.ts +37 -5
  248. package/dist/components/ui/button.d.ts +1 -1
  249. package/dist/components/ui/checkbox.d.ts +5 -0
  250. package/dist/components/ui/overlay.recipes.d.ts +15 -2
  251. package/dist/components/ui/popover.d.ts +1 -1
  252. package/dist/components/ui/select.d.ts +3 -1
  253. package/dist/components/ui/sidebar.d.ts +1 -1
  254. package/dist/components/ui/switch.d.ts +5 -0
  255. package/dist/components/ui/table.d.ts +2 -1
  256. package/dist/container.recipes-D9t8MHR3.js +27 -0
  257. package/dist/container.recipes-D9t8MHR3.js.map +1 -0
  258. package/dist/{containers-6s-ucRQQ.js → containers-D_L4mTVb.js} +34 -57
  259. package/dist/containers-D_L4mTVb.js.map +1 -0
  260. package/dist/control-group-recipes-DBXmfh2E.js +21 -0
  261. package/dist/control-group-recipes-DBXmfh2E.js.map +1 -0
  262. package/dist/{copyable-B7SBXJMr.js → copyable-DDjTeW_j.js} +6 -6
  263. package/dist/{copyable-B7SBXJMr.js.map → copyable-DDjTeW_j.js.map} +1 -1
  264. package/dist/data-display-3xWQUnMA.js +1335 -0
  265. package/dist/data-display-3xWQUnMA.js.map +1 -0
  266. package/dist/date-picker-DrDFj8Lo.js +1527 -0
  267. package/dist/date-picker-DrDFj8Lo.js.map +1 -0
  268. package/dist/date-pickers-CnFCb0n2.js +174 -0
  269. package/dist/date-pickers-CnFCb0n2.js.map +1 -0
  270. package/dist/date-uf3z37Nm.js +144 -0
  271. package/dist/date-uf3z37Nm.js.map +1 -0
  272. package/dist/{display-CFM5myut.js → display-DrdvPwF0.js} +25 -25
  273. package/dist/display-DrdvPwF0.js.map +1 -0
  274. package/dist/{dropdown-menu-BlnyHr-9.js → dropdown-menu-CURh59jb.js} +22 -15
  275. package/dist/dropdown-menu-CURh59jb.js.map +1 -0
  276. package/dist/features/activities.js +177 -163
  277. package/dist/features/activities.js.map +1 -1
  278. package/dist/features/ai-chat.js +187 -183
  279. package/dist/features/ai-chat.js.map +1 -1
  280. package/dist/features/async-preview.js +9 -9
  281. package/dist/features/async-preview.js.map +1 -1
  282. package/dist/features/combobox.js +1 -1
  283. package/dist/features/comments.js +1 -1
  284. package/dist/features/data-view.js +25 -23
  285. package/dist/features/data-view.js.map +1 -1
  286. package/dist/features/email-composer/engine.js +1 -1
  287. package/dist/features/email-composer.js +353 -355
  288. package/dist/features/email-composer.js.map +1 -1
  289. package/dist/features/event-calendar.js +346 -354
  290. package/dist/features/event-calendar.js.map +1 -1
  291. package/dist/features/filters.js +1 -1
  292. package/dist/features/global-search.js +225 -227
  293. package/dist/features/global-search.js.map +1 -1
  294. package/dist/features/kanban.js +29 -29
  295. package/dist/features/kanban.js.map +1 -1
  296. package/dist/features/map.js +59 -58
  297. package/dist/features/map.js.map +1 -1
  298. package/dist/features/media-library.js +898 -900
  299. package/dist/features/media-library.js.map +1 -1
  300. package/dist/features/mentions.js +1 -1
  301. package/dist/features/overlays.js +1 -1
  302. package/dist/features/products.js +1412 -1444
  303. package/dist/features/products.js.map +1 -1
  304. package/dist/features/questionnaire.js +51 -49
  305. package/dist/features/questionnaire.js.map +1 -1
  306. package/dist/features/resource-assignment.js +103 -97
  307. package/dist/features/resource-assignment.js.map +1 -1
  308. package/dist/features/resource.js +13 -13
  309. package/dist/features/resource.js.map +1 -1
  310. package/dist/features/rich-text-editor.js +2 -2
  311. package/dist/features/schema-form.js +187 -183
  312. package/dist/features/schema-form.js.map +1 -1
  313. package/dist/features/suggestions.js +3 -3
  314. package/dist/features/sync.js +7 -7
  315. package/dist/features/sync.js.map +1 -1
  316. package/dist/features/table.js +1 -1
  317. package/dist/features/theme-tweaker.js +508 -503
  318. package/dist/features/theme-tweaker.js.map +1 -1
  319. package/dist/{feedback-DWUkgEjR.js → feedback-C7nR0UtT.js} +30 -31
  320. package/dist/feedback-C7nR0UtT.js.map +1 -0
  321. package/dist/field-affordance-recipes-CkOCdE2y.js +46 -0
  322. package/dist/field-affordance-recipes-CkOCdE2y.js.map +1 -0
  323. package/dist/{field-state-recipes-CBTRt9Bt.js → field-state-recipes-C-MFBX_8.js} +5 -5
  324. package/dist/field-state-recipes-C-MFBX_8.js.map +1 -0
  325. package/dist/{filters-BhsUtsxW.js → filters-Da-gNPsE.js} +760 -765
  326. package/dist/filters-Da-gNPsE.js.map +1 -0
  327. package/dist/{form-field-Bn7ZH1rA.js → form-field-VZRULhUK.js} +20 -12
  328. package/dist/form-field-VZRULhUK.js.map +1 -0
  329. package/dist/form-sizing-uWP4lzVh.js +126 -0
  330. package/dist/form-sizing-uWP4lzVh.js.map +1 -0
  331. package/dist/{forms-B7pzS25o.js → forms-DDeEnXSY.js} +38 -38
  332. package/dist/forms-DDeEnXSY.js.map +1 -0
  333. package/dist/forms-numeric-D3CO60IF.js +905 -0
  334. package/dist/forms-numeric-D3CO60IF.js.map +1 -0
  335. package/dist/{header-C59QZyxV.js → header-2ycNqGOR.js} +42 -37
  336. package/dist/header-2ycNqGOR.js.map +1 -0
  337. package/dist/{hooks-CM1Vp9Pe.js → hooks-DQ5SPwZw.js} +2 -2
  338. package/dist/{hooks-CM1Vp9Pe.js.map → hooks-DQ5SPwZw.js.map} +1 -1
  339. package/dist/{http-CLTVJc5I.js → http-CdEIHyQf.js} +2 -2
  340. package/dist/http-CdEIHyQf.js.map +1 -0
  341. package/dist/{icon-badge-Dv0RYQwj.js → icon-badge-DKlaKXoo.js} +4 -4
  342. package/dist/{icon-badge-Dv0RYQwj.js.map → icon-badge-DKlaKXoo.js.map} +1 -1
  343. package/dist/index.js +2 -2
  344. package/dist/input-BoLm9Hks.js +20 -0
  345. package/dist/input-BoLm9Hks.js.map +1 -0
  346. package/dist/input-DhQdBnV3.js +255 -0
  347. package/dist/input-DhQdBnV3.js.map +1 -0
  348. package/dist/item-xzh8Df65.js +264 -0
  349. package/dist/item-xzh8Df65.js.map +1 -0
  350. package/dist/layout/app-shell.js +1 -1
  351. package/dist/layout/auth.js +1 -1
  352. package/dist/layout/containers.js +1 -1
  353. package/dist/layout/header.js +1 -1
  354. package/dist/layout/hooks.js +1 -1
  355. package/dist/layout/navigation.js +1 -1
  356. package/dist/layout/page.js +1 -1
  357. package/dist/layout/settings.js +1 -1
  358. package/dist/layout/sidebar.js +2 -2
  359. package/dist/layout/workspace.js +1 -1
  360. package/dist/layout.js +10 -10
  361. package/dist/lib/affordance-geometry.generated.d.ts +46 -10
  362. package/dist/lib/control-group-recipes.d.ts +22 -0
  363. package/dist/lib/field-affordance-recipes.d.ts +70 -2
  364. package/dist/lib/field-state-recipes.d.ts +6 -4
  365. package/dist/lib/format.d.ts +9 -0
  366. package/dist/lib/money-format.d.ts +30 -0
  367. package/dist/lib/navigation-row-recipes.d.ts +3 -2
  368. package/dist/lib/overlay-anatomy-recipes.d.ts +2 -2
  369. package/dist/lib/surface-recipes.d.ts +13 -8
  370. package/dist/lib/token-merge.generated.d.ts +144 -2
  371. package/dist/lib/track-recipes.d.ts +1 -1
  372. package/dist/lib/ui-provider/provider.d.ts +7 -2
  373. package/dist/lib/ui-provider/store.d.ts +6 -2
  374. package/dist/lib/ui-provider/types.d.ts +9 -4
  375. package/dist/lib/use-prefers-reduced-motion.d.ts +2 -0
  376. package/dist/lib/utils.js +1 -1
  377. package/dist/media-gallery-DQUQ0m3O.js +201 -0
  378. package/dist/media-gallery-DQUQ0m3O.js.map +1 -0
  379. package/dist/{mentions-B8Ko-fhS.js → mentions-DwnO1hh4.js} +40 -39
  380. package/dist/{mentions-B8Ko-fhS.js.map → mentions-DwnO1hh4.js.map} +1 -1
  381. package/dist/message-YfFmbXNP.js +127 -0
  382. package/dist/message-YfFmbXNP.js.map +1 -0
  383. package/dist/{navigation-BUIn2Qxx.js → navigation-Cbp5V8gG.js} +27 -28
  384. package/dist/navigation-Cbp5V8gG.js.map +1 -0
  385. package/dist/navigation-Cs1npsPm.js +300 -0
  386. package/dist/navigation-Cs1npsPm.js.map +1 -0
  387. package/dist/{navigation-row-recipes-GVh11KiT.js → navigation-row-recipes-DlU-4QYO.js} +3 -3
  388. package/dist/navigation-row-recipes-DlU-4QYO.js.map +1 -0
  389. package/dist/number-CKRBYmZK.js +352 -0
  390. package/dist/number-CKRBYmZK.js.map +1 -0
  391. package/dist/overlay.recipes-CNO2S9V6.js +34 -0
  392. package/dist/overlay.recipes-CNO2S9V6.js.map +1 -0
  393. package/dist/overlays-DhZO7N-I.js +994 -0
  394. package/dist/overlays-DhZO7N-I.js.map +1 -0
  395. package/dist/page-C6R_8jFt.js +325 -0
  396. package/dist/page-C6R_8jFt.js.map +1 -0
  397. package/dist/{page-header-DQRa0jug.js → page-header-hUTzcRZX.js} +12 -12
  398. package/dist/page-header-hUTzcRZX.js.map +1 -0
  399. package/dist/{pagination-C29vvt3I.js → pagination-Cm0jqa3I.js} +21 -21
  400. package/dist/pagination-Cm0jqa3I.js.map +1 -0
  401. package/dist/{popover-CoLDEg19.js → popover-Dcv_9jxr.js} +23 -22
  402. package/dist/popover-Dcv_9jxr.js.map +1 -0
  403. package/dist/{popover-menu-GLIQTJTx.js → popover-menu-DnRFKnHP.js} +6 -6
  404. package/dist/{popover-menu-GLIQTJTx.js.map → popover-menu-DnRFKnHP.js.map} +1 -1
  405. package/dist/{popover.recipes-zgBhMlUu.js → popover.recipes-wmbvL8Ah.js} +5 -5
  406. package/dist/popover.recipes-wmbvL8Ah.js.map +1 -0
  407. package/dist/primitives-BHrwQXFC.js +379 -0
  408. package/dist/primitives-BHrwQXFC.js.map +1 -0
  409. package/dist/primitives.js +5 -5
  410. package/dist/{progress-BOe8l_FZ.js → progress-Br9WTFya.js} +12 -11
  411. package/dist/progress-Br9WTFya.js.map +1 -0
  412. package/dist/{receipt-BM8xsGFy.js → receipt-CV89q1fs.js} +8 -8
  413. package/dist/{receipt-BM8xsGFy.js.map → receipt-CV89q1fs.js.map} +1 -1
  414. package/dist/rich-text-editor-CF8QYt5p.js +574 -0
  415. package/dist/rich-text-editor-CF8QYt5p.js.map +1 -0
  416. package/dist/{rich-text-editor.recipes-DxvOE0Lp.js → rich-text-editor.recipes-CnrbmTS1.js} +35 -26
  417. package/dist/rich-text-editor.recipes-CnrbmTS1.js.map +1 -0
  418. package/dist/{rich-text-B7sBAdDG.js → rich-text-j-FGAeZW.js} +4 -4
  419. package/dist/{rich-text-B7sBAdDG.js.map → rich-text-j-FGAeZW.js.map} +1 -1
  420. package/dist/{scroll-area-BheMQ270.js → scroll-area-DRdr16Pt.js} +3 -3
  421. package/dist/scroll-area-DRdr16Pt.js.map +1 -0
  422. package/dist/{separator-DO0EbCEm.js → separator-BMEvwnSX.js} +2 -2
  423. package/dist/{separator-DO0EbCEm.js.map → separator-BMEvwnSX.js.map} +1 -1
  424. package/dist/{separator-Gk_WXH-l.js → separator-Do5GWDYi.js} +4 -4
  425. package/dist/separator-Do5GWDYi.js.map +1 -0
  426. package/dist/services/actions/action-adapters.d.ts +4 -0
  427. package/dist/services/actions.js +8 -3
  428. package/dist/services/actions.js.map +1 -1
  429. package/dist/{settings-BnCyyPOJ.js → settings-DHk0L2MF.js} +20 -19
  430. package/dist/settings-DHk0L2MF.js.map +1 -0
  431. package/dist/sheet-DRFNY1_D.js +207 -0
  432. package/dist/sheet-DRFNY1_D.js.map +1 -0
  433. package/dist/sidebar-Cb8WzOvE.js +511 -0
  434. package/dist/sidebar-Cb8WzOvE.js.map +1 -0
  435. package/dist/{sidebar-DPR7fmqN.js → sidebar-Crc9M9JV.js} +220 -201
  436. package/dist/sidebar-Crc9M9JV.js.map +1 -0
  437. package/dist/{skeleton-CmT1ppqb.js → skeleton-DVMXr15h.js} +5 -5
  438. package/dist/{skeleton-CmT1ppqb.js.map → skeleton-DVMXr15h.js.map} +1 -1
  439. package/dist/smart-card-Bek-TwUp.js +599 -0
  440. package/dist/smart-card-Bek-TwUp.js.map +1 -0
  441. package/dist/{spinner-BY9HbUEh.js → spinner-CmTAbEp0.js} +8 -6
  442. package/dist/spinner-CmTAbEp0.js.map +1 -0
  443. package/dist/{structure-MvKVq-oL.js → structure-hzCW-XsV.js} +3 -3
  444. package/dist/{structure-MvKVq-oL.js.map → structure-hzCW-XsV.js.map} +1 -1
  445. package/dist/{structure.recipes-Bqhf9oIh.js → structure.recipes-EPz60cU8.js} +37 -19
  446. package/dist/structure.recipes-EPz60cU8.js.map +1 -0
  447. package/dist/style.css +1 -1
  448. package/dist/surface-recipes-DOdoBXGm.js +28 -0
  449. package/dist/surface-recipes-DOdoBXGm.js.map +1 -0
  450. package/dist/table-D6zKeYQX.js +162 -0
  451. package/dist/table-D6zKeYQX.js.map +1 -0
  452. package/dist/table-Dn4XSrSB.js +1444 -0
  453. package/dist/table-Dn4XSrSB.js.map +1 -0
  454. package/dist/tabs-Dk8E_knt.js +189 -0
  455. package/dist/tabs-Dk8E_knt.js.map +1 -0
  456. package/dist/text-inputs-BFpku0Qd.js +331 -0
  457. package/dist/text-inputs-BFpku0Qd.js.map +1 -0
  458. package/dist/{text.styles-BwB7vAF2.js → text.styles-g4He6UIW.js} +26 -15
  459. package/dist/text.styles-g4He6UIW.js.map +1 -0
  460. package/dist/theme.css +90 -124
  461. package/dist/themes/green.css +24 -0
  462. package/dist/{timelines-B9ICkQcV.js → timelines-CxuAFIc2.js} +97 -104
  463. package/dist/timelines-CxuAFIc2.js.map +1 -0
  464. package/dist/track-recipes-CDcKmndW.js +10 -0
  465. package/dist/track-recipes-CDcKmndW.js.map +1 -0
  466. package/dist/{tree-BdWSaoFT.js → tree-BotPlyiD.js} +13 -13
  467. package/dist/{tree-BdWSaoFT.js.map → tree-BotPlyiD.js.map} +1 -1
  468. package/dist/typography/rich-text.js +1 -1
  469. package/dist/typography-CAr3dQhX.js +116 -0
  470. package/dist/typography-CAr3dQhX.js.map +1 -0
  471. package/dist/typography.js +2 -2
  472. package/dist/{ui-provider-CftIB6TY.js → ui-provider-D2_TeLqw.js} +22 -22
  473. package/dist/ui-provider-D2_TeLqw.js.map +1 -0
  474. package/dist/ui-provider.js +1 -1
  475. package/dist/{upload-D8Za5x_c.js → upload-B0WHW7ak.js} +278 -274
  476. package/dist/upload-B0WHW7ak.js.map +1 -0
  477. package/dist/{upload-queue-hIIYBLS7.js → upload-queue-BHZ_wBfd.js} +72 -75
  478. package/dist/upload-queue-BHZ_wBfd.js.map +1 -0
  479. package/dist/{usage-card-DnmnJ58D.js → usage-card-U0YBLTNT.js} +31 -33
  480. package/dist/usage-card-U0YBLTNT.js.map +1 -0
  481. package/dist/utils-Cospvlj1.js +4445 -0
  482. package/dist/utils-Cospvlj1.js.map +1 -0
  483. package/dist/value-inputs-CjfzGMsN.js +854 -0
  484. package/dist/value-inputs-CjfzGMsN.js.map +1 -0
  485. package/dist/value-typography-Deb3yQZg.js +116 -0
  486. package/dist/value-typography-Deb3yQZg.js.map +1 -0
  487. package/dist/{workspace-C1PZmk8L.js → workspace-YoFjXi6i.js} +97 -105
  488. package/dist/workspace-YoFjXi6i.js.map +1 -0
  489. package/docs/consumer-skill/SKILL.md +123 -119
  490. package/docs/consumer-skill/examples/analytics.tsx +34 -0
  491. package/docs/consumer-skill/examples/app-layout.tsx +42 -14
  492. package/docs/consumer-skill/examples/detail.tsx +20 -5
  493. package/docs/consumer-skill/examples/edit.tsx +1 -1
  494. package/docs/consumer-skill/examples/layout-blocks.tsx +20 -0
  495. package/docs/consumer-skill/examples/manifest.json +37 -3
  496. package/docs/consumer-skill/examples/scoped-directory.tsx +2 -2
  497. package/docs/consumer-skill/examples/website.tsx +56 -0
  498. package/docs/consumer-skill/references/analytics.md +70 -0
  499. package/docs/consumer-skill/references/composition.md +195 -9
  500. package/docs/consumer-skill/references/design-contract.md +33 -7
  501. package/docs/consumer-skill/references/discovery.md +80 -5
  502. package/docs/consumer-skill/references/installation.md +22 -0
  503. package/docs/consumer-skill/references/integration.md +46 -1
  504. package/docs/consumer-skill/references/public-api.json +2083 -237
  505. package/docs/consumer-skill/references/review.md +74 -6
  506. package/docs/consumer-skill/references/theming.md +59 -8
  507. package/docs/consumer-skill/references/tokens.json +180 -9
  508. package/docs/consumer-skill/references/workflows.md +34 -0
  509. package/docs/consumer-skill/scripts/check-composition.mjs +1 -1
  510. package/docs/consumer-skill/scripts/composition-policy.mjs +271 -18
  511. package/docs/consumer-skill/scripts/discovery.mjs +69 -9
  512. package/docs/consumer-skill/scripts/pin-button-defaults.mjs +95 -0
  513. package/docs/consumer-skill/scripts/surface-policy.mjs +44 -0
  514. package/package.json +11 -6
  515. package/dist/accordion-B-5Focs8.js.map +0 -1
  516. package/dist/action-menu-Cx3SdfbN.js +0 -265
  517. package/dist/action-menu-Cx3SdfbN.js.map +0 -1
  518. package/dist/affordance-geometry.generated-D8Jcfb0G.js +0 -32
  519. package/dist/affordance-geometry.generated-D8Jcfb0G.js.map +0 -1
  520. package/dist/ai-artifact-B5tPpXnS.js.map +0 -1
  521. package/dist/app-shell-at8Kt4l_.js.map +0 -1
  522. package/dist/attachment-BO2R47wn.js.map +0 -1
  523. package/dist/auth-OFwWSAap.js +0 -704
  524. package/dist/auth-OFwWSAap.js.map +0 -1
  525. package/dist/avatar-Bpzty83c.js.map +0 -1
  526. package/dist/badge-BZXZT9wd.js.map +0 -1
  527. package/dist/breadcrumbs-DdQ_I5ra.js.map +0 -1
  528. package/dist/button-BS6l5JUw.js.map +0 -1
  529. package/dist/buttons-Co6GavvM.js +0 -674
  530. package/dist/buttons-Co6GavvM.js.map +0 -1
  531. package/dist/chart-DVfcwQu6.js +0 -149
  532. package/dist/chart-DVfcwQu6.js.map +0 -1
  533. package/dist/checkbox-BavDRjF7.js +0 -34
  534. package/dist/checkbox-BavDRjF7.js.map +0 -1
  535. package/dist/choice-inputs-CC7XqPQO.js +0 -619
  536. package/dist/choice-inputs-CC7XqPQO.js.map +0 -1
  537. package/dist/code-block-xHKbAJDj.js.map +0 -1
  538. package/dist/combobox-DEbdr-3u.js +0 -273
  539. package/dist/combobox-DEbdr-3u.js.map +0 -1
  540. package/dist/combobox-xv3yJbzl.js +0 -850
  541. package/dist/combobox-xv3yJbzl.js.map +0 -1
  542. package/dist/command-C0xe7u9B.js.map +0 -1
  543. package/dist/comments-DviPLnwy.js.map +0 -1
  544. package/dist/containers-6s-ucRQQ.js.map +0 -1
  545. package/dist/data-display-cWIRdeaf.js +0 -1129
  546. package/dist/data-display-cWIRdeaf.js.map +0 -1
  547. package/dist/date-BFNMnrS5.js +0 -140
  548. package/dist/date-BFNMnrS5.js.map +0 -1
  549. package/dist/date-picker-CA6ogMQB.js +0 -1521
  550. package/dist/date-picker-CA6ogMQB.js.map +0 -1
  551. package/dist/date-pickers-BPIKLdsD.js +0 -224
  552. package/dist/date-pickers-BPIKLdsD.js.map +0 -1
  553. package/dist/display-CFM5myut.js.map +0 -1
  554. package/dist/dropdown-menu-BlnyHr-9.js.map +0 -1
  555. package/dist/feedback-DWUkgEjR.js.map +0 -1
  556. package/dist/field-affordance-recipes-IjzPrCTw.js +0 -17
  557. package/dist/field-affordance-recipes-IjzPrCTw.js.map +0 -1
  558. package/dist/field-state-recipes-CBTRt9Bt.js.map +0 -1
  559. package/dist/filters-BhsUtsxW.js.map +0 -1
  560. package/dist/form-field-Bn7ZH1rA.js.map +0 -1
  561. package/dist/form-sizing-BWs70_a2.js +0 -100
  562. package/dist/form-sizing-BWs70_a2.js.map +0 -1
  563. package/dist/format-iamDSqs2.js +0 -110
  564. package/dist/format-iamDSqs2.js.map +0 -1
  565. package/dist/forms-B7pzS25o.js.map +0 -1
  566. package/dist/forms-numeric-BUBxELBv.js +0 -867
  567. package/dist/forms-numeric-BUBxELBv.js.map +0 -1
  568. package/dist/header-C59QZyxV.js.map +0 -1
  569. package/dist/http-CLTVJc5I.js.map +0 -1
  570. package/dist/input-WwYQZJzG.js +0 -202
  571. package/dist/input-WwYQZJzG.js.map +0 -1
  572. package/dist/input-ci9fIgFH.js +0 -20
  573. package/dist/input-ci9fIgFH.js.map +0 -1
  574. package/dist/item-pJ0GsOiJ.js +0 -257
  575. package/dist/item-pJ0GsOiJ.js.map +0 -1
  576. package/dist/media-gallery-DhDRgnVZ.js +0 -200
  577. package/dist/media-gallery-DhDRgnVZ.js.map +0 -1
  578. package/dist/message-COsdEvXT.js +0 -108
  579. package/dist/message-COsdEvXT.js.map +0 -1
  580. package/dist/navigation-BUIn2Qxx.js.map +0 -1
  581. package/dist/navigation-DBEu4POU.js +0 -267
  582. package/dist/navigation-DBEu4POU.js.map +0 -1
  583. package/dist/navigation-row-recipes-GVh11KiT.js.map +0 -1
  584. package/dist/number-BNT_BIzJ.js +0 -269
  585. package/dist/number-BNT_BIzJ.js.map +0 -1
  586. package/dist/overlay.recipes-BxW5FIfK.js +0 -6
  587. package/dist/overlay.recipes-BxW5FIfK.js.map +0 -1
  588. package/dist/overlays-B11wZka6.js +0 -982
  589. package/dist/overlays-B11wZka6.js.map +0 -1
  590. package/dist/page-BV6ioQg3.js +0 -202
  591. package/dist/page-BV6ioQg3.js.map +0 -1
  592. package/dist/page-header-DQRa0jug.js.map +0 -1
  593. package/dist/pagination-C29vvt3I.js.map +0 -1
  594. package/dist/popover-CoLDEg19.js.map +0 -1
  595. package/dist/popover.recipes-zgBhMlUu.js.map +0 -1
  596. package/dist/primitives-DKPOGVpj.js +0 -330
  597. package/dist/primitives-DKPOGVpj.js.map +0 -1
  598. package/dist/progress-BOe8l_FZ.js.map +0 -1
  599. package/dist/rich-text-editor-CoVrTiSv.js +0 -575
  600. package/dist/rich-text-editor-CoVrTiSv.js.map +0 -1
  601. package/dist/rich-text-editor.recipes-DxvOE0Lp.js.map +0 -1
  602. package/dist/scroll-area-BheMQ270.js.map +0 -1
  603. package/dist/select-B2mb-qN2.js +0 -108
  604. package/dist/select-B2mb-qN2.js.map +0 -1
  605. package/dist/separator-Gk_WXH-l.js.map +0 -1
  606. package/dist/settings-BnCyyPOJ.js.map +0 -1
  607. package/dist/sheet-B-q914Ad.js +0 -205
  608. package/dist/sheet-B-q914Ad.js.map +0 -1
  609. package/dist/sidebar-C_2p3Tfj.js +0 -501
  610. package/dist/sidebar-C_2p3Tfj.js.map +0 -1
  611. package/dist/sidebar-DPR7fmqN.js.map +0 -1
  612. package/dist/smart-card-CYLn46e6.js +0 -578
  613. package/dist/smart-card-CYLn46e6.js.map +0 -1
  614. package/dist/spinner-BY9HbUEh.js.map +0 -1
  615. package/dist/structure.recipes-Bqhf9oIh.js.map +0 -1
  616. package/dist/surface-recipes-CQfRr-VL.js +0 -27
  617. package/dist/surface-recipes-CQfRr-VL.js.map +0 -1
  618. package/dist/table-BS39xnlq.js +0 -1424
  619. package/dist/table-BS39xnlq.js.map +0 -1
  620. package/dist/table-DnlAJ-xR.js +0 -146
  621. package/dist/table-DnlAJ-xR.js.map +0 -1
  622. package/dist/tabs-B5cNMWiP.js +0 -187
  623. package/dist/tabs-B5cNMWiP.js.map +0 -1
  624. package/dist/text-inputs-Dh9XGyiS.js +0 -331
  625. package/dist/text-inputs-Dh9XGyiS.js.map +0 -1
  626. package/dist/text.styles-BwB7vAF2.js.map +0 -1
  627. package/dist/timelines-B9ICkQcV.js.map +0 -1
  628. package/dist/track-recipes-LLPNVwFg.js +0 -10
  629. package/dist/track-recipes-LLPNVwFg.js.map +0 -1
  630. package/dist/typography-Cv8MT-82.js +0 -96
  631. package/dist/typography-Cv8MT-82.js.map +0 -1
  632. package/dist/ui-provider-CftIB6TY.js.map +0 -1
  633. package/dist/upload-D8Za5x_c.js.map +0 -1
  634. package/dist/upload-queue-hIIYBLS7.js.map +0 -1
  635. package/dist/usage-card-DnmnJ58D.js.map +0 -1
  636. package/dist/utils-C2EKeIw3.js +0 -72
  637. package/dist/utils-C2EKeIw3.js.map +0 -1
  638. package/dist/value-inputs-DX2dbxjj.js +0 -824
  639. package/dist/value-inputs-DX2dbxjj.js.map +0 -1
  640. package/dist/workspace-C1PZmk8L.js.map +0 -1
@@ -1,1521 +0,0 @@
1
- "use client";
2
- import { o as e, s as t } from "./ui-provider-CftIB6TY.js";
3
- import { useStrings as n } from "./lib/strings.js";
4
- import { t as r } from "./utils-C2EKeIw3.js";
5
- import { n as i } from "./buttons-Co6GavvM.js";
6
- import { a, i as o, n as s } from "./typography-Cv8MT-82.js";
7
- import { n as c, t as l } from "./button-BS6l5JUw.js";
8
- import { r as u, t as d } from "./structure-MvKVq-oL.js";
9
- import { o as f } from "./date-BFNMnrS5.js";
10
- import { t as ee } from "./separator-Gk_WXH-l.js";
11
- import { d as p, p as m, u as h } from "./form-sizing-BWs70_a2.js";
12
- import { t as te } from "./input-WwYQZJzG.js";
13
- import { c as ne, o as re, t as ie } from "./popover-CoLDEg19.js";
14
- import { t as g } from "./use-mobile-vaLKwgyf.js";
15
- import * as _ from "react";
16
- import { Fragment as ae, jsx as v, jsxs as y } from "react/jsx-runtime";
17
- import { Calendar as oe, ChevronDownIcon as b, ChevronLeftIcon as x, ChevronRightIcon as S, Clock as se } from "lucide-react";
18
- import { cva as C } from "class-variance-authority";
19
- import { addDays as w, endOfMonth as T, endOfWeek as E, format as D, startOfMonth as O, startOfWeek as ce } from "date-fns";
20
- import { DayPicker as k, getDefaultClassNames as le } from "react-day-picker";
21
- import { Toggle as A } from "@base-ui/react/toggle";
22
- import { ToggleGroup as j } from "@base-ui/react/toggle-group";
23
- import { enUS as M } from "date-fns/locale";
24
- function N(e) {
25
- return e.toString().padStart(2, "0");
26
- }
27
- function P(e, t, n) {
28
- return Math.min(Math.max(e, t), n);
29
- }
30
- function F(e, t) {
31
- if (t <= 0) return e;
32
- let n = Math.floor(86399 / t) * t, r = Math.round(e / t) * t;
33
- return Math.max(0, Math.min(r, n));
34
- }
35
- function I(e) {
36
- if (!e) return null;
37
- let t = e.split(":");
38
- if (t.length < 2 || t.length > 3) return null;
39
- let [n, r, i] = t, a = P(Number.parseInt(n, 10), 0, 23), o = P(Number.parseInt(r, 10), 0, 59), s = P(Number.parseInt(i ?? "0", 10), 0, 59);
40
- return Number.isNaN(a) || Number.isNaN(o) || Number.isNaN(s) ? null : {
41
- hours: a,
42
- minutes: o,
43
- seconds: s
44
- };
45
- }
46
- function ue(e, t) {
47
- let n = t ? `:${N(e.seconds)}` : "";
48
- return `${N(e.hours)}:${N(e.minutes)}${n}`;
49
- }
50
- function L(e, t, n) {
51
- let r = Number.isFinite(e?.getTime?.()) ? e : /* @__PURE__ */ new Date(), i = r.getHours(), a = r.getMinutes(), o = t ? r.getSeconds() : 0, s = F(i * 3600 + a * 60 + o, n), c = Math.floor(s / 3600), l = Math.floor(s % 3600 / 60), u = s % 60;
52
- return {
53
- hours: c,
54
- minutes: l,
55
- seconds: t ? u : 0
56
- };
57
- }
58
- function R(e, t, n) {
59
- if (t === "12") {
60
- let t = e.hours >= 12 ? "PM" : "AM", r = e.hours % 12;
61
- return r === 0 && (r = 12), {
62
- hours: N(r),
63
- minutes: N(e.minutes),
64
- seconds: n ? N(e.seconds) : void 0,
65
- period: t
66
- };
67
- }
68
- return {
69
- hours: N(e.hours),
70
- minutes: N(e.minutes),
71
- seconds: n ? N(e.seconds) : void 0
72
- };
73
- }
74
- function z(e, t, n) {
75
- let r = (e) => {
76
- let t = Number.parseInt(e ?? "0", 10);
77
- return Number.isNaN(t) ? 0 : t;
78
- }, i = r(e.hours), a = P(r(e.minutes), 0, 59), o = n ? P(r(e.seconds), 0, 59) : 0;
79
- if (t === "12") {
80
- i = P(i, 1, 12);
81
- let t = (e.period ?? "AM") === "PM";
82
- i %= 12, t && (i += 12);
83
- } else i = P(i, 0, 23);
84
- return {
85
- hours: i,
86
- minutes: a,
87
- seconds: o
88
- };
89
- }
90
- function de(e, t, n) {
91
- let r = F(e.hours * 3600 + e.minutes * 60 + e.seconds, t);
92
- return {
93
- hours: Math.floor(r / 3600),
94
- minutes: Math.floor(r % 3600 / 60),
95
- seconds: n ? r % 60 : 0
96
- };
97
- }
98
- function fe(e, t, n, r) {
99
- let i = N(e.minutes), a = t ? `:${N(e.seconds)}` : "";
100
- if (n === "24") return `${N(e.hours)}:${i}${a}`;
101
- let o = e.hours >= 12 ? "PM" : "AM", s = e.hours % 12;
102
- s === 0 && (s = 12);
103
- let c = o === "AM" ? r?.am ?? "AM" : r?.pm ?? "PM";
104
- return `${N(s)}:${i}${a} ${c}`;
105
- }
106
- var B = /'[^']*'/g, V = /[HKhk]|\bp\b|\bt\b|\ba\b/;
107
- function pe(e) {
108
- if (!e) return !1;
109
- let t = e.replace(B, "");
110
- return V.test(t);
111
- }
112
- function H(e) {
113
- return {
114
- startMonth: typeof e?.fromYear == "number" ? new Date(e.fromYear, 0) : void 0,
115
- endMonth: typeof e?.toYear == "number" ? new Date(e.toYear, 11) : void 0
116
- };
117
- }
118
- function me(e, t, n, r) {
119
- let i = r ? { locale: r } : void 0;
120
- return {
121
- date: e,
122
- formatted: e ? D(e, t, i) : void 0,
123
- readable: e ? D(e, n, i) : void 0
124
- };
125
- }
126
- function U(e, t, n, r) {
127
- let i = r ? { locale: r } : void 0;
128
- return {
129
- dates: e,
130
- formatted: e.map((e) => D(e, t, i)),
131
- readable: e.map((e) => D(e, n, i))
132
- };
133
- }
134
- function he(e, t, n, r) {
135
- let i = r ? { locale: r } : void 0;
136
- return {
137
- range: e,
138
- formatted: {
139
- from: e?.from ? D(e.from, t, i) : void 0,
140
- to: e?.to ? D(e.to, t, i) : void 0
141
- },
142
- readable: {
143
- from: e?.from ? D(e.from, n, i) : void 0,
144
- to: e?.to ? D(e.to, n, i) : void 0
145
- }
146
- };
147
- }
148
- function ge(e, t) {
149
- let n = typeof t == "string" ? I(t) : t, r = new Date(e);
150
- return !Number.isFinite(r.getTime()) || !n ? /* @__PURE__ */ new Date(NaN) : (r.setHours(n.hours, n.minutes, n.seconds, 0), r);
151
- }
152
- function W(e, t) {
153
- return Math.ceil((t.getTime() - e.getTime()) / 864e5) + 1;
154
- }
155
- function _e(e, t, n) {
156
- if (!e?.from || !e?.to) return { isValid: !0 };
157
- let r = W(e.from, e.to);
158
- return t && r < t || n && r > n ? {
159
- isValid: !1,
160
- daysDiff: r
161
- } : {
162
- isValid: !0,
163
- daysDiff: r
164
- };
165
- }
166
- function ve(e, t, n, r) {
167
- if (!e?.from || !e?.to) return null;
168
- let i = W(e.from, e.to);
169
- return t && i < t ? r.minimumDays(t) : n && i > n ? r.maximumDays(n) : null;
170
- }
171
- function G(e, t, n, r, i) {
172
- return r && e.length === 0 ? i.datesRequired : t && e.length < t ? i.minimumDates(t) : n && e.length > 0 ? i.maximumDates(n) : null;
173
- }
174
- function ye(e, t, n, r, i, a) {
175
- if (e) {
176
- let n = D(e, t, a ? { locale: a } : void 0);
177
- return i && (n += ` ${i}`), n;
178
- }
179
- return n ?? r;
180
- }
181
- function be(e, t, n, r, i, a) {
182
- if (e.length > 0) {
183
- if (e.length === 1) {
184
- let n = a ? { locale: a } : void 0;
185
- return D(e[0], t, n);
186
- }
187
- return i.datesSelected(e.length);
188
- }
189
- return n ?? r;
190
- }
191
- function xe(e, t, n, r, i) {
192
- return e?.from ? f(e, {
193
- format: t,
194
- locale: i
195
- }) ?? n ?? r : n ?? r;
196
- }
197
- //#endregion
198
- //#region src/components/base/date-pickers/date-picker-internals.ts
199
- function Se(e, t) {
200
- return {
201
- tone: e ?? "secondary",
202
- buttonStyle: t ?? "outline"
203
- };
204
- }
205
- function Ce(e) {
206
- return !e.mode || e.mode === "single";
207
- }
208
- function we(e) {
209
- return e.mode === "multiple";
210
- }
211
- function K(e) {
212
- return e.mode === "range";
213
- }
214
- function Te(e, t) {
215
- return [
216
- {
217
- label: e.today,
218
- getValue: () => ({
219
- from: /* @__PURE__ */ new Date(),
220
- to: /* @__PURE__ */ new Date()
221
- })
222
- },
223
- {
224
- label: e.thisWeek,
225
- getValue: () => ({
226
- from: ce(/* @__PURE__ */ new Date(), { weekStartsOn: t }),
227
- to: E(/* @__PURE__ */ new Date(), { weekStartsOn: t })
228
- })
229
- },
230
- {
231
- label: e.thisMonth,
232
- getValue: () => ({
233
- from: O(/* @__PURE__ */ new Date()),
234
- to: T(/* @__PURE__ */ new Date())
235
- })
236
- },
237
- {
238
- label: e.last30Days,
239
- getValue: () => ({
240
- from: w(/* @__PURE__ */ new Date(), -30),
241
- to: /* @__PURE__ */ new Date()
242
- })
243
- }
244
- ];
245
- }
246
- //#endregion
247
- //#region src/components/ui/calendar.tsx
248
- function Ee({ className: e, classNames: t, showOutsideDays: n = !0, captionLayout: i = "label", buttonVariant: a = "ghost", locale: o, formatters: s, components: l, ...u }) {
249
- let d = le();
250
- return /* @__PURE__ */ v(k, {
251
- showOutsideDays: n,
252
- className: r("p-3 [--cell-radius:var(--radius-md)] [--cell-size:--spacing(8)] bg-background group/calendar [[data-slot=card-content]_&]:bg-transparent [[data-slot=popover-content]_&]:bg-transparent", String.raw`rtl:**:[.rdp-button\_next>svg]:rotate-180`, String.raw`rtl:**:[.rdp-button\_previous>svg]:rotate-180`, e),
253
- captionLayout: i,
254
- locale: o,
255
- formatters: {
256
- formatMonthDropdown: (e) => e.toLocaleString(o?.code, { month: "short" }),
257
- ...s
258
- },
259
- classNames: {
260
- root: r("w-fit", d.root),
261
- months: r("flex gap-space-xl flex-col md:flex-row relative", d.months),
262
- month: r("flex flex-col w-full gap-space-xl", d.month),
263
- nav: r("flex items-center gap-space-xs w-full absolute top-0 inset-x-0 justify-between", d.nav),
264
- button_previous: r(c({ variant: a }), "size-(--cell-size) aria-disabled:opacity-50 p-0 select-none", d.button_previous),
265
- button_next: r(c({ variant: a }), "size-(--cell-size) aria-disabled:opacity-50 p-0 select-none", d.button_next),
266
- month_caption: r("flex items-center justify-center h-(--cell-size) w-full px-(--cell-size)", d.month_caption),
267
- dropdowns: r("w-full flex items-center text-sm font-medium justify-center h-(--cell-size) gap-space-sm", d.dropdowns),
268
- dropdown_root: r("relative rounded-(--cell-radius)", d.dropdown_root),
269
- dropdown: r("absolute bg-popover inset-0 opacity-0", d.dropdown),
270
- caption_label: r("select-none font-medium", i === "label" ? "text-sm" : "rounded-(--cell-radius) flex items-center gap-space-xs text-sm [&>svg]:text-muted-foreground [&>svg]:size-3.5", d.caption_label),
271
- month_grid: "w-full border-collapse",
272
- weekdays: r("flex", d.weekdays),
273
- weekday: r("text-muted-foreground rounded-(--cell-radius) flex-1 font-normal text-[0.8rem] select-none", d.weekday),
274
- week: r("flex w-full mt-space-md", d.week),
275
- week_number_header: r("select-none w-(--cell-size)", d.week_number_header),
276
- week_number: r("text-[0.8rem] select-none text-muted-foreground", d.week_number),
277
- 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", u.showWeekNumber ? "[&:nth-child(2)[data-selected=true]_button]:rounded-l-(--cell-radius)" : "[&:first-child[data-selected=true]_button]:rounded-l-(--cell-radius)", d.day),
278
- 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", d.range_start),
279
- range_middle: r("rounded-none", d.range_middle),
280
- 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", d.range_end),
281
- today: r("bg-muted text-foreground rounded-(--cell-radius) data-[selected=true]:rounded-none", d.today),
282
- outside: r("text-muted-foreground aria-selected:text-muted-foreground", d.outside),
283
- disabled: r("text-muted-foreground opacity-50", d.disabled),
284
- hidden: r("invisible", d.hidden),
285
- ...t
286
- },
287
- components: {
288
- Root: ({ className: e, rootRef: t, ...n }) => /* @__PURE__ */ v("div", {
289
- "data-slot": "calendar",
290
- ref: t,
291
- className: r(e),
292
- ...n
293
- }),
294
- Chevron: ({ className: e, orientation: t, ...n }) => v(t === "left" ? x : t === "right" ? S : b, {
295
- className: r("size-4", e),
296
- ...n
297
- }),
298
- DayButton: ({ ...e }) => /* @__PURE__ */ v(De, {
299
- locale: o,
300
- ...e
301
- }),
302
- WeekNumber: ({ children: e, ...t }) => /* @__PURE__ */ v("td", {
303
- ...t,
304
- children: /* @__PURE__ */ v("div", {
305
- className: "flex size-(--cell-size) items-center justify-center text-center",
306
- children: e
307
- })
308
- }),
309
- ...l
310
- },
311
- ...u
312
- });
313
- }
314
- function De({ className: e, day: t, modifiers: n, locale: i, ...a }) {
315
- let o = le(), s = _.useRef(null);
316
- return _.useEffect(() => {
317
- n.focused && s.current?.focus();
318
- }, [n.focused]), /* @__PURE__ */ v(l, {
319
- variant: "ghost",
320
- size: "icon",
321
- "data-day": t.date.toLocaleDateString(i?.code),
322
- "data-selected-single": !!n.selected && !n.range_start && !n.range_end && !n.range_middle,
323
- "data-range-start": n.range_start,
324
- "data-range-end": n.range_end,
325
- "data-range-middle": n.range_middle,
326
- 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:border-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-1 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-[3px] 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),
327
- ...a
328
- });
329
- }
330
- //#endregion
331
- //#region src/components/base/date-pickers/date-picker-footer.tsx
332
- function Oe({ config: e, output: t, hasSelection: n, autoSummary: o, className: s }) {
333
- let { text: c, actions: l, showOnlyWhenSelected: u = !1, showSummary: f = !1 } = e, p = l?.filter((e) => e.visible !== !1) ?? [], m = _.useMemo(() => {
334
- if (c) return typeof c == "function" ? c(t) : c;
335
- }, [c, t]), h = m || (f ? o : void 0);
336
- return u && !n || !h && p.length === 0 ? null : /* @__PURE__ */ y(ae, { children: [/* @__PURE__ */ v(ee, {}), /* @__PURE__ */ v("div", {
337
- className: r("date-picker-footer--component p-surface", s),
338
- children: /* @__PURE__ */ y(d, {
339
- gap: "lg",
340
- children: [!!h && /* @__PURE__ */ y(d, {
341
- gap: "xs",
342
- className: "date-picker-footer--summary",
343
- children: [
344
- !!f && !!m && !!o && /* @__PURE__ */ y(ae, { children: [/* @__PURE__ */ v(a, {
345
- type: "secondary",
346
- children: o
347
- }), /* @__PURE__ */ v(a, {
348
- weight: "medium",
349
- children: m
350
- })] }),
351
- !f && !!m && /* @__PURE__ */ v(a, {
352
- weight: "medium",
353
- children: m
354
- }),
355
- !!f && !m && !!o && /* @__PURE__ */ v(a, {
356
- type: "secondary",
357
- children: o
358
- })
359
- ]
360
- }), p.length > 0 && /* @__PURE__ */ v(d, {
361
- direction: "horizontal",
362
- gap: "md",
363
- align: "center",
364
- className: "date-picker-footer--actions",
365
- children: p.map((e) => {
366
- let n = typeof e.disabled == "function" ? e.disabled(t) : e.disabled, a = e.buttonStyle === "link" ? "ghost" : e.buttonStyle ?? "solid";
367
- return /* @__PURE__ */ v(i, {
368
- tone: e.tone ?? "primary",
369
- buttonStyle: a,
370
- disabled: n,
371
- loading: e.loading,
372
- onClick: () => e.onClick(t),
373
- className: r("flex-1", e.buttonStyle === "link" && "underline underline-offset-4"),
374
- children: e.label
375
- }, e.label);
376
- })
377
- })]
378
- })
379
- })] });
380
- }
381
- Oe.displayName = "DatePickerFooter";
382
- //#endregion
383
- //#region src/components/base/date-pickers/date-picker-header.tsx
384
- function ke({ config: e, className: t }) {
385
- let { title: n, description: i, icon: s, align: c = "left" } = e;
386
- return /* @__PURE__ */ v("div", {
387
- className: r("date-picker-header--component", "border-b border-border p-surface", c === "center" ? "text-center" : "text-left", t),
388
- children: /* @__PURE__ */ y(d, {
389
- direction: "horizontal",
390
- gap: "md",
391
- wrap: !1,
392
- children: [!!s && /* @__PURE__ */ v("div", {
393
- className: "shrink-0",
394
- children: /* @__PURE__ */ v(s, { className: "h-5 w-5 text-primary-accent" })
395
- }), /* @__PURE__ */ y(d, {
396
- gap: "sm",
397
- className: r("flex-1", c === "center" && !s && "text-center"),
398
- children: [/* @__PURE__ */ v(o, {
399
- tag: "h3",
400
- align: c === "center" ? "center" : "left",
401
- containerClassName: "space-y-0",
402
- children: n
403
- }), !!i && /* @__PURE__ */ v(a, {
404
- type: "secondary",
405
- children: i
406
- })]
407
- })]
408
- })
409
- });
410
- }
411
- ke.displayName = "DatePickerHeader";
412
- //#endregion
413
- //#region src/components/base/date-pickers/date-picker.recipes.ts
414
- var Ae = [
415
- "!h-control !px-control !py-space-xs !rounded-radius !border !border-input !bg-transparent !shadow-none",
416
- "!text-sm !font-normal !text-foreground",
417
- "hover:!bg-transparent",
418
- "focus-visible:!border-input focus-visible:!ring-ring/50 focus-visible:!ring-2",
419
- "aria-invalid:!ring-destructive/20 dark:aria-invalid:!ring-destructive/40 aria-invalid:!border-destructive",
420
- "disabled:pointer-events-none disabled:cursor-not-allowed disabled:opacity-50"
421
- ].join(" "), q = {
422
- selectDate: "Select a date",
423
- selectDates: "Select dates",
424
- selectDateRange: "Select date range",
425
- from: "From",
426
- to: "To",
427
- confirm: "Confirm",
428
- clear: "Clear",
429
- today: "Today",
430
- startDate: "Start date",
431
- endDate: "End date",
432
- startTime: "Start time",
433
- endTime: "End time",
434
- hours: "Hours",
435
- minutes: "Minutes",
436
- seconds: "Seconds",
437
- am: "AM",
438
- pm: "PM",
439
- minimumDays: (e) => `A minimum of ${e} days is required`,
440
- maximumDays: (e) => `A maximum of ${e} days is allowed`,
441
- minimumDates: (e) => `Select at least ${e} dates`,
442
- maximumDates: (e) => `Select up to ${e} dates`,
443
- datesRequired: "At least one date must be selected",
444
- datesSelected: (e) => `${e} dates selected`,
445
- lastWeek: "Last week",
446
- lastMonth: "Last month",
447
- lastYear: "Last year",
448
- nextWeek: "Next week",
449
- nextMonth: "Next month",
450
- nextYear: "Next year",
451
- thisWeek: "This Week",
452
- thisMonth: "This Month",
453
- last30Days: "Last 30 Days",
454
- selectMonthYear: "Select month and year",
455
- month: "Month",
456
- year: "Year"
457
- }, je = C("hover:text-foreground aria-pressed:bg-muted focus-visible:border-ring focus-visible:ring-ring/50 aria-invalid:ring-destructive/20 aria-invalid:border-destructive gap-1 rounded-md text-sm font-medium transition-[color,box-shadow] [&_svg:not([class*='size-'])]:size-4 group/toggle hover:bg-muted inline-flex items-center justify-center whitespace-nowrap outline-none focus-visible:ring-[3px] disabled:pointer-events-none disabled:opacity-50 [&_svg]:pointer-events-none [&_svg]:shrink-0", {
458
- variants: {
459
- variant: {
460
- default: "bg-transparent",
461
- outline: "border-input hover:bg-muted border bg-transparent shadow-xs"
462
- },
463
- size: {
464
- default: "h-9 min-w-9 px-2",
465
- sm: "h-8 min-w-8 px-1.5",
466
- lg: "h-10 min-w-10 px-2.5"
467
- }
468
- },
469
- defaultVariants: {
470
- variant: "default",
471
- size: "default"
472
- }
473
- }), J = _.createContext({
474
- size: "default",
475
- variant: "default",
476
- spacing: 0,
477
- orientation: "horizontal"
478
- });
479
- function Me({ className: e, variant: t, size: n, spacing: i = 0, orientation: a = "horizontal", children: o, ...s }) {
480
- return /* @__PURE__ */ v(j, {
481
- "data-slot": "toggle-group",
482
- "data-variant": t,
483
- "data-size": n,
484
- "data-spacing": i,
485
- "data-orientation": a,
486
- style: { "--gap": i },
487
- className: r("rounded-radius data-[spacing=0]:data-[variant=outline]:shadow-xs 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),
488
- ...s,
489
- children: /* @__PURE__ */ v(J.Provider, {
490
- value: {
491
- variant: t,
492
- size: n,
493
- spacing: i,
494
- orientation: a
495
- },
496
- children: o
497
- })
498
- });
499
- }
500
- function Ne({ className: e, children: t, variant: n = "default", size: i = "default", ...a }) {
501
- let o = _.useContext(J);
502
- return /* @__PURE__ */ v(A, {
503
- "data-slot": "toggle-group-item",
504
- "data-variant": o.variant || n,
505
- "data-size": o.size || i,
506
- "data-spacing": o.spacing,
507
- className: r("border-border data-[state=on]:bg-muted group-data-[spacing=0]/toggle-group:rounded-none group-data-[spacing=0]/toggle-group:px-2 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", je({
508
- variant: o.variant || n,
509
- size: o.size || i
510
- }), e),
511
- ...a,
512
- children: t
513
- });
514
- }
515
- //#endregion
516
- //#region src/components/base/date-pickers/time-picker.tsx
517
- var Pe = {
518
- placeholder: "Select time",
519
- hours: "Hours",
520
- minutes: "Minutes",
521
- seconds: "Seconds",
522
- am: "AM",
523
- pm: "PM"
524
- }, Fe = [
525
- "hours",
526
- "minutes",
527
- "seconds"
528
- ], Ie = "00", Y = "12", X = "--", Le = {
529
- sm: "w-12",
530
- md: "w-14",
531
- lg: "w-16"
532
- };
533
- function Re(e) {
534
- return e.replace(/\D/g, "").slice(-2);
535
- }
536
- function Z(e) {
537
- return e.length === 0 ? "00" : e.length === 1 ? `0${e}` : e;
538
- }
539
- function ze(e, t) {
540
- let n = t ? Fe : Fe.slice(0, 2), r = n.indexOf(e);
541
- return r > -1 && r < n.length - 1 ? n[r + 1] : null;
542
- }
543
- function Be(e, t) {
544
- let n = t ? Fe : Fe.slice(0, 2), r = n.indexOf(e);
545
- return r > 0 ? n[r - 1] : null;
546
- }
547
- function Q(e, t) {
548
- return t === "24" ? e : e % 12 || 12;
549
- }
550
- function $(e) {
551
- return e >= 12 ? "PM" : "AM";
552
- }
553
- function Ve(e, t) {
554
- return t === "12" ? {
555
- ...e,
556
- period: e.period ?? "AM"
557
- } : {
558
- ...e,
559
- period: void 0
560
- };
561
- }
562
- function He(e) {
563
- return {
564
- hours: X,
565
- minutes: X,
566
- seconds: e ? X : void 0
567
- };
568
- }
569
- function Ue(e, t) {
570
- let n = t === "12" ? Y : Ie;
571
- return {
572
- hours: e.hours === X ? n : e.hours,
573
- minutes: e.minutes === X ? Ie : e.minutes,
574
- seconds: e.seconds === X ? Ie : e.seconds,
575
- period: e.period
576
- };
577
- }
578
- function We(e, t, n) {
579
- let r = I(e ?? void 0);
580
- return r ? Ve(R(r, t, n), t) : He(n);
581
- }
582
- var Ge = _.forwardRef(function({ value: e, onValueChange: i, mode: o = "inline", format: s = "24", precision: c = "minutes", step: l = 60, size: u, disabled: d, invalid: f, placeholder: ee, strings: g, className: ae, id: oe }, b) {
583
- let x = n(Pe, g), { defaultScale: S } = t(), C = m(u, S), w = c === "seconds", [T, E] = _.useState(!1), D = _.useMemo(() => w ? Fe : Fe.slice(0, 2), [w]), [O, ce] = _.useState(() => We(e, s, w)), k = _.useRef(O), le = _.useRef(!1), A = _.useRef(null), j = _.useCallback((e) => {
584
- k.current = e, ce(e);
585
- }, []), M = _.useRef({
586
- hours: null,
587
- minutes: null,
588
- seconds: null
589
- });
590
- _.useEffect(() => {
591
- if (le.current) {
592
- le.current = !1;
593
- return;
594
- }
595
- A.current = null, j(We(e, s, w));
596
- }, [
597
- e,
598
- s,
599
- w,
600
- j
601
- ]);
602
- let N = _.useCallback((e) => ue(e, w), [w]), P = _.useCallback((e) => {
603
- le.current = !0;
604
- let t = z(Ue(e, s), s, w);
605
- i?.(N(de(t, l, w)));
606
- }, [
607
- s,
608
- w,
609
- i,
610
- l,
611
- N
612
- ]), F = _.useCallback((e) => {
613
- let t = de(z(Ue(e, s), s, w), l, w);
614
- i?.(N(t)), j(Ve(R(t, s, w), s));
615
- }, [
616
- s,
617
- w,
618
- i,
619
- l,
620
- N,
621
- j
622
- ]), I = _.useCallback((e) => {
623
- if (!e) return;
624
- let t = M.current[e];
625
- t && (t.focus(), t.select());
626
- }, []), L = _.useCallback((e, t) => {
627
- let n = Ue(k.current, s), r = A.current, i = r && r.key === e && r.typed.length === 1 ? `${r.typed}${t}` : String(t);
628
- A.current = {
629
- key: e,
630
- typed: i
631
- };
632
- let a = Number.parseInt(i, 10), o = { ...n }, c = o.period ?? "AM";
633
- e === "hours" ? s === "24" ? o.hours = Z(Math.min(Math.max(a, 0), 23).toString()) : a === 0 ? (c = "AM", o.hours = Y) : a > 12 ? (c = $(a), o.hours = Z(Q(a, "12").toString())) : (o.hours = Z(Math.min(Math.max(a, 1), 12).toString()), c = n.period ?? $(a)) : e === "minutes" ? o.minutes = Z(Math.min(Math.max(a, 0), 59).toString()) : e === "seconds" && (o.seconds = Z(Math.min(Math.max(a, 0), 59).toString()));
634
- let l = {
635
- ...o,
636
- period: s === "12" ? c : void 0
637
- };
638
- j(l), P(l);
639
- }, [
640
- s,
641
- j,
642
- P
643
- ]), B = _.useCallback((e, t) => {
644
- A.current = null;
645
- let n = Re(t), r = { ...Ue(k.current, s) }, i = r.period ?? "AM";
646
- if (e === "hours") {
647
- if (s === "24") {
648
- let e = Number.parseInt(n || "0", 10);
649
- r.hours = Z((Number.isNaN(e) ? 0 : Math.min(Math.max(e, 0), 23)).toString());
650
- } else {
651
- let e = Number.parseInt(n || "0", 10);
652
- Number.isNaN(e) ? (r.hours = Y, i = r.period ?? "AM") : n.length === 2 && e > 12 ? (i = $(e), r.hours = Z(Q(e, "12").toString())) : e === 0 ? (i = "AM", r.hours = Y) : (r.hours = Z(Math.min(Math.max(e, 1), 12).toString()), n.length === 2 && (i = r.period ?? $(e)));
653
- }
654
- } else if (e === "minutes") {
655
- let e = Number.parseInt(n || "0", 10);
656
- r.minutes = Z((Number.isNaN(e) ? 0 : Math.min(Math.max(e, 0), 59)).toString());
657
- } else if (e === "seconds") {
658
- let e = Number.parseInt(n || "0", 10);
659
- r.seconds = Z((Number.isNaN(e) ? 0 : Math.min(Math.max(e, 0), 59)).toString());
660
- }
661
- let a = {
662
- ...r,
663
- period: s === "12" ? i : void 0
664
- };
665
- j(a), P(a);
666
- }, [
667
- s,
668
- j,
669
- P
670
- ]), V = _.useCallback((e) => {
671
- s === "12" && (A.current = null, F({
672
- ...Ue(k.current, s),
673
- period: e
674
- }));
675
- }, [F, s]), pe = _.useCallback(() => {
676
- A.current = null, F(k.current);
677
- }, [F]), H = _.useCallback((e) => {
678
- A.current = null, e.target.select();
679
- }, []), me = _.useCallback((e, t) => {
680
- if (e.key.length === 1 && /\d/.test(e.key) && !e.metaKey && !e.ctrlKey && !e.altKey) {
681
- e.preventDefault(), L(t, Number.parseInt(e.key, 10));
682
- return;
683
- }
684
- if (e.key === "ArrowRight") {
685
- I(ze(t, w));
686
- return;
687
- }
688
- if (e.key === "ArrowLeft") {
689
- I(Be(t, w));
690
- return;
691
- }
692
- if (e.key === "Backspace") {
693
- let n = e.currentTarget;
694
- n.selectionStart === 0 && n.selectionEnd === 0 && I(Be(t, w));
695
- }
696
- }, [
697
- L,
698
- I,
699
- w
700
- ]), U = _.useMemo(() => {
701
- if (s === "12") return O.period ? [O.period] : void 0;
702
- }, [s, O.period]), he = {
703
- hours: x.hours,
704
- minutes: x.minutes,
705
- seconds: x.seconds
706
- }, ge = /* @__PURE__ */ y("div", {
707
- ref: o === "inline" ? b : void 0,
708
- className: r("flex items-center gap-space-md [&>.input--component]:w-auto [&>.input--component]:shrink-0", o === "inline" && ["time-picker--component", ae]),
709
- children: [D.map((e, t) => /* @__PURE__ */ y(_.Fragment, { children: [/* @__PURE__ */ v(te, {
710
- ref: (t) => {
711
- M.current[e] = t;
712
- },
713
- id: e === "hours" && o === "inline" ? oe : void 0,
714
- value: O[e] ?? X,
715
- onChange: (t) => B(e, t.target.value),
716
- onFocus: H,
717
- onBlur: pe,
718
- onKeyDown: (t) => me(t, e),
719
- inputMode: "numeric",
720
- pattern: "\\d*",
721
- maxLength: 2,
722
- showCharacterCount: !1,
723
- disabled: d,
724
- invalid: f,
725
- "aria-label": he[e],
726
- size: C,
727
- className: r("time-picker--segment text-center", Le[C])
728
- }), t < D.length - 1 && /* @__PURE__ */ v(a, {
729
- tag: "span",
730
- type: "secondary",
731
- children: ":"
732
- })] }, e)), s === "12" && /* @__PURE__ */ y(Me, {
733
- value: U,
734
- onValueChange: (e) => {
735
- let t = e[0];
736
- t && V(t);
737
- },
738
- disabled: d,
739
- size: C === "sm" ? "sm" : "default",
740
- className: "time-picker--period ml-1",
741
- children: [/* @__PURE__ */ v(Ne, {
742
- value: "AM",
743
- "aria-label": x.am,
744
- className: h[C],
745
- children: /* @__PURE__ */ v(a, {
746
- tag: "span",
747
- size: "inherit",
748
- weight: "medium",
749
- lineHeight: "tight",
750
- className: "text-inherit",
751
- children: x.am
752
- })
753
- }), /* @__PURE__ */ v(Ne, {
754
- value: "PM",
755
- "aria-label": x.pm,
756
- className: h[C],
757
- children: /* @__PURE__ */ v(a, {
758
- tag: "span",
759
- size: "inherit",
760
- weight: "medium",
761
- lineHeight: "tight",
762
- className: "text-inherit",
763
- children: x.pm
764
- })
765
- })]
766
- })]
767
- });
768
- if (o === "inline") return ge;
769
- let W = O.hours === X && O.minutes === X, _e = W ? ee ?? x.placeholder : fe(z(Ue(O, s), s, w), w, s, {
770
- am: x.am,
771
- pm: x.pm
772
- });
773
- return /* @__PURE__ */ y(re, {
774
- open: T,
775
- onOpenChange: E,
776
- children: [/* @__PURE__ */ y(ne, {
777
- ref: b,
778
- id: oe,
779
- "aria-expanded": T,
780
- "aria-invalid": f,
781
- disabled: d,
782
- className: r("time-picker--component", p(C), "justify-start", W && "text-muted-foreground", ae),
783
- children: [/* @__PURE__ */ v(se, { className: "size-icon shrink-0" }), /* @__PURE__ */ v(a, {
784
- tag: "span",
785
- size: "inherit",
786
- lineHeight: "tight",
787
- className: "min-w-0 truncate text-inherit",
788
- children: _e
789
- })]
790
- }), /* @__PURE__ */ v(ie, {
791
- className: "time-picker--panel w-auto",
792
- align: "start",
793
- children: ge
794
- })]
795
- });
796
- });
797
- Ge.displayName = "TimePicker";
798
- //#endregion
799
- //#region src/components/base/date-pickers/date-picker-single.tsx
800
- function Ke({ value: e, defaultValue: t, onValueChange: n, format: o = "yyyy-MM-dd", readableFormat: c = "PPP", placeholder: l, closeOnSelect: u = !0, withTime: f, disabledDates: p, calendarProps: m, open: h, setOpen: te, t: g, dateFnsLocale: b, captionLayout: x, yearBounds: S, rootRef: C, ...w }) {
801
- let T = _.useId(), E = `${T}-description`, O = w.error !== void 0 && w.error !== null && w.error !== "", ce = O ? E : void 0, k = w.hint !== void 0 && w.hint !== null && w.hint !== "", le = typeof w.error == "string" ? w.error : "", A = typeof w.hint == "string" ? w.hint : "", j = f?.format ?? "24", M = f?.step ?? 60, N = f?.showSeconds ?? !1, P = pe(c), F = f?.showTimeInButton ?? !P, [R, z] = _.useState(() => e ?? t), [B, V] = _.useState(() => {
802
- let n = e ?? t;
803
- return n ? L(n, N, M) : null;
804
- }), H = _.useRef(e ?? t ?? void 0), U = _.useRef(!1), he = _.useRef(e !== void 0), W = _.useCallback((e, t) => {
805
- let n = e, r = t ?? B;
806
- if (e && f?.enabled && r) {
807
- let t = ge(e, r);
808
- n = Number.isFinite(t.getTime()) ? t : void 0;
809
- }
810
- return me(n, o, c, b);
811
- }, [
812
- o,
813
- c,
814
- b,
815
- f,
816
- B
817
- ]);
818
- _.useEffect(() => {
819
- let r = !!f?.enabled, i = he.current, a = e !== void 0, s = (e, t) => {
820
- let i = de(L(e, N, M), M, N);
821
- if (z((t) => t?.getTime?.() === e.getTime() ? t : e), V((e) => e && e.hours === i.hours && e.minutes === i.minutes && e.seconds === i.seconds ? e : i), H.current = e, U.current = !0, t && r) {
822
- let t = ge(e, i);
823
- n?.(me(t, o, c, b));
824
- }
825
- };
826
- if (!r) {
827
- U.current = !1, H.current = e ?? t ?? void 0, z(e ?? t), he.current = a;
828
- return;
829
- }
830
- let l = H.current?.getTime?.(), u = e?.getTime?.();
831
- if (!a && i && t === void 0 && (U.current = !1, H.current = void 0), e !== void 0 && u !== l) {
832
- s(e, !1), he.current = a;
833
- return;
834
- }
835
- if (e === void 0 && t !== void 0) {
836
- (l !== t.getTime() || !U.current) && s(t, !1), he.current = a;
837
- return;
838
- }
839
- if (e === void 0 && t === void 0 && !U.current) {
840
- U.current = !0, he.current = a;
841
- return;
842
- }
843
- he.current = a;
844
- }, [
845
- f?.enabled,
846
- e,
847
- t,
848
- N,
849
- M,
850
- n,
851
- o,
852
- c,
853
- b
854
- ]), _.useEffect(() => {
855
- f?.enabled && V((e) => {
856
- if (!e) return e;
857
- let t = de(e, M, N);
858
- return e.hours === t.hours && e.minutes === t.minutes && e.seconds === t.seconds ? e : t;
859
- });
860
- }, [
861
- f?.enabled,
862
- M,
863
- N
864
- ]);
865
- let _e = _.useCallback((e) => {
866
- z(e);
867
- let t;
868
- f?.enabled && e && (U.current = !0, H.current = e, B || (t = L(e, N, M), V(t))), n?.(W(e, t)), u && e && te(!1);
869
- }, [
870
- n,
871
- W,
872
- u,
873
- te,
874
- f,
875
- B,
876
- N,
877
- M
878
- ]), ve = _.useCallback((e) => {
879
- let t = I(e ?? void 0);
880
- t && (V(t), R && n?.(W(R, t)));
881
- }, [
882
- R,
883
- n,
884
- W
885
- ]), G = _.useMemo(() => {
886
- if (f?.enabled && B) return fe(B, N, j, {
887
- am: g.am,
888
- pm: g.pm
889
- });
890
- }, [
891
- f?.enabled,
892
- B,
893
- N,
894
- j,
895
- g
896
- ]), be = _.useMemo(() => ye(R, c, l, g.selectDate, F ? G : void 0, b), [
897
- R,
898
- c,
899
- l,
900
- g,
901
- G,
902
- F,
903
- b
904
- ]), xe = _.useMemo(() => R ? D(R, c, { locale: b }) : void 0, [
905
- R,
906
- c,
907
- b
908
- ]);
909
- return /* @__PURE__ */ y(d, {
910
- ref: C,
911
- gap: "md",
912
- className: w.className,
913
- children: [
914
- !!(w.label || k) && /* @__PURE__ */ y(d, {
915
- direction: "horizontal",
916
- align: "center",
917
- justify: "between",
918
- gap: "xs",
919
- children: [!!w.label && /* @__PURE__ */ v(s, {
920
- htmlFor: T,
921
- className: r("leading-6", O && "text-destructive"),
922
- children: w.label
923
- }), !O && !!k && /* @__PURE__ */ v(a, {
924
- tag: "span",
925
- size: "xs",
926
- type: "secondary",
927
- children: A
928
- })]
929
- }),
930
- /* @__PURE__ */ y(re, {
931
- open: h,
932
- onOpenChange: te,
933
- children: [/* @__PURE__ */ v(ne, { render: (e) => {
934
- let t = Se(w.buttonTone, w.buttonStyle);
935
- return /* @__PURE__ */ y(i, {
936
- ...e,
937
- id: T,
938
- tone: t.tone,
939
- buttonStyle: t.buttonStyle,
940
- "aria-invalid": O,
941
- "aria-describedby": ce,
942
- className: r("w-full justify-start text-left font-normal", Ae, !R && "text-muted-foreground", w.error && "border-destructive focus-visible:ring-destructive", e.className),
943
- disabled: w.disabled,
944
- children: [/* @__PURE__ */ v(oe, { className: "mr-control-gap size-icon" }), /* @__PURE__ */ v(a, {
945
- tag: "span",
946
- size: "inherit",
947
- lineHeight: "tight",
948
- className: "min-w-0 truncate text-inherit",
949
- children: be
950
- })]
951
- });
952
- } }), /* @__PURE__ */ y(ie, {
953
- inset: "flush",
954
- className: "w-auto gap-0",
955
- align: "start",
956
- children: [
957
- !!w.header && /* @__PURE__ */ v(ke, { config: w.header }),
958
- /* @__PURE__ */ v(Ee, {
959
- mode: "single",
960
- selected: R,
961
- onSelect: _e,
962
- defaultMonth: R,
963
- numberOfMonths: w.numberOfMonths,
964
- showOutsideDays: w.showOutsideDays,
965
- disabled: p ?? w.disabled,
966
- locale: b,
967
- captionLayout: x,
968
- startMonth: S.startMonth,
969
- endMonth: S.endMonth,
970
- ...m
971
- }),
972
- !!f?.enabled && /* @__PURE__ */ y(ae, { children: [/* @__PURE__ */ v(ee, {}), /* @__PURE__ */ y("div", {
973
- className: "p-surface",
974
- children: [/* @__PURE__ */ v(s, {
975
- size: "md",
976
- children: g.startTime
977
- }), /* @__PURE__ */ y("div", {
978
- className: "mt-space-md flex items-center gap-space-md",
979
- children: [/* @__PURE__ */ v(se, { className: "h-4 w-4 text-muted-foreground" }), /* @__PURE__ */ v(Ge, {
980
- value: B ? ue(B, N) : null,
981
- onValueChange: ve,
982
- format: j,
983
- precision: N ? "seconds" : "minutes",
984
- step: M,
985
- disabled: w.disabled,
986
- size: "sm",
987
- strings: {
988
- hours: g.hours,
989
- minutes: g.minutes,
990
- seconds: g.seconds,
991
- am: g.am,
992
- pm: g.pm
993
- }
994
- })]
995
- })]
996
- })] }),
997
- !!w.footer && /* @__PURE__ */ v(Oe, {
998
- config: w.footer,
999
- output: W(R),
1000
- hasSelection: !!R,
1001
- autoSummary: xe
1002
- })
1003
- ]
1004
- })]
1005
- }),
1006
- !!O && /* @__PURE__ */ v(a, {
1007
- id: E,
1008
- size: "xs",
1009
- type: "error",
1010
- content: le
1011
- })
1012
- ]
1013
- });
1014
- }
1015
- //#endregion
1016
- //#region src/components/base/date-pickers/date-picker-multiple.tsx
1017
- function qe({ value: e, defaultValue: t, onValueChange: n, format: o = "yyyy-MM-dd", readableFormat: c = "PPP", placeholder: l, min: u, max: f, required: p, closeOnSelect: m = !1, disabledDates: h, calendarProps: te, open: g, setOpen: b, t: x, dateFnsLocale: S, captionLayout: se, yearBounds: C, rootRef: w, ...T }) {
1018
- let E = _.useId(), D = `${E}-description`, O = T.error !== void 0 && T.error !== null && T.error !== "", ce = O ? D : void 0, k = T.hint !== void 0 && T.hint !== null && T.hint !== "", le = typeof T.error == "string" ? T.error : "", A = typeof T.hint == "string" ? T.hint : "", [j, M] = _.useState(e ?? t ?? []);
1019
- _.useEffect(() => {
1020
- e !== void 0 && M(e);
1021
- }, [e]);
1022
- let N = _.useCallback((e) => U(e, o, c, S), [
1023
- o,
1024
- c,
1025
- S
1026
- ]), P = _.useCallback((e) => {
1027
- let t = Array.isArray(e) ? e : e ? [e] : [];
1028
- M(t), n?.(N(t)), m && t.length > 0 && b(!1);
1029
- }, [
1030
- n,
1031
- N,
1032
- m,
1033
- b
1034
- ]), F = _.useMemo(() => be(j, c, l, x.selectDates, x, S), [
1035
- j,
1036
- c,
1037
- l,
1038
- x,
1039
- S
1040
- ]), I = _.useMemo(() => G(j, u, f, p, x), [
1041
- j,
1042
- u,
1043
- f,
1044
- p,
1045
- x
1046
- ]), ue = _.useMemo(() => j.length > 0 ? x.datesSelected(j.length) : void 0, [j.length, x]);
1047
- return /* @__PURE__ */ y(d, {
1048
- ref: w,
1049
- gap: "md",
1050
- className: T.className,
1051
- children: [
1052
- !!(T.label || k) && /* @__PURE__ */ y(d, {
1053
- direction: "horizontal",
1054
- align: "center",
1055
- justify: "between",
1056
- gap: "xs",
1057
- children: [!!T.label && /* @__PURE__ */ v(s, {
1058
- htmlFor: E,
1059
- className: r("leading-6", O && "text-destructive"),
1060
- children: T.label
1061
- }), !O && !!k && /* @__PURE__ */ v(a, {
1062
- tag: "span",
1063
- size: "xs",
1064
- type: "secondary",
1065
- children: A
1066
- })]
1067
- }),
1068
- /* @__PURE__ */ y(re, {
1069
- open: g,
1070
- onOpenChange: b,
1071
- children: [/* @__PURE__ */ v(ne, { render: (e) => {
1072
- let t = Se(T.buttonTone, T.buttonStyle);
1073
- return /* @__PURE__ */ y(i, {
1074
- ...e,
1075
- id: E,
1076
- tone: t.tone,
1077
- buttonStyle: t.buttonStyle,
1078
- "aria-invalid": O,
1079
- "aria-describedby": ce,
1080
- className: r("w-full justify-start text-left font-normal", Ae, j.length === 0 && "text-muted-foreground", T.error && "border-destructive focus-visible:ring-destructive", e.className),
1081
- disabled: T.disabled,
1082
- children: [/* @__PURE__ */ v(oe, { className: "mr-control-gap size-icon" }), /* @__PURE__ */ v(a, {
1083
- tag: "span",
1084
- size: "inherit",
1085
- lineHeight: "tight",
1086
- className: "min-w-0 truncate text-inherit",
1087
- children: F
1088
- })]
1089
- });
1090
- } }), /* @__PURE__ */ y(ie, {
1091
- inset: "flush",
1092
- className: "w-auto gap-0",
1093
- align: "start",
1094
- children: [
1095
- !!T.header && /* @__PURE__ */ v(ke, { config: T.header }),
1096
- /* @__PURE__ */ v(Ee, {
1097
- mode: "multiple",
1098
- selected: j,
1099
- onSelect: P,
1100
- defaultMonth: j[0],
1101
- numberOfMonths: T.numberOfMonths,
1102
- showOutsideDays: T.showOutsideDays,
1103
- disabled: h ?? T.disabled,
1104
- locale: S,
1105
- captionLayout: se,
1106
- startMonth: C.startMonth,
1107
- endMonth: C.endMonth,
1108
- required: p,
1109
- max: f,
1110
- ...te
1111
- }),
1112
- !!I && /* @__PURE__ */ y(ae, { children: [/* @__PURE__ */ v(ee, {}), /* @__PURE__ */ v("div", {
1113
- className: "p-surface",
1114
- children: /* @__PURE__ */ v(a, {
1115
- type: "secondary",
1116
- children: I
1117
- })
1118
- })] }),
1119
- !!T.footer && /* @__PURE__ */ v(Oe, {
1120
- config: T.footer,
1121
- output: N(j),
1122
- hasSelection: j.length > 0,
1123
- autoSummary: ue
1124
- })
1125
- ]
1126
- })]
1127
- }),
1128
- !!O && /* @__PURE__ */ v(a, {
1129
- id: D,
1130
- size: "xs",
1131
- type: "error",
1132
- content: le
1133
- })
1134
- ]
1135
- });
1136
- }
1137
- //#endregion
1138
- //#region src/components/base/date-pickers/date-picker-range.tsx
1139
- function Je({ value: t, defaultValue: n, onValueChange: o, format: c = "yyyy-MM-dd", readableFormat: l = "PPP", placeholder: f, withConfirm: p = !1, min: m, max: h, closeOnSelect: te = !0, withTime: b, presets: x, disabledDates: S, calendarProps: C, open: w, setOpen: T, t: E, dateFnsLocale: O, captionLayout: ce, yearBounds: k, rootRef: le, ...A }) {
1140
- let j = g(), M = A.numberOfMonths ?? (j ? 1 : 2), { weekStartsOn: N = 1 } = e(), P = x ?? Te(E, N), F = _.useId(), R = `${F}-description`, z = A.error !== void 0 && A.error !== null && A.error !== "", B = z ? R : void 0, V = A.hint !== void 0 && A.hint !== null && A.hint !== "", H = typeof A.error == "string" ? A.error : "", me = typeof A.hint == "string" ? A.hint : "", U = b?.format ?? "24", W = b?.step ?? 60, G = b?.showSeconds ?? !1, ye = pe(l), be = b?.showTimeInButton ?? !ye, Ce = b?.showTimeInSummary ?? !ye, we = t ?? n, [K, De] = _.useState(we), [q, je] = _.useState(() => we?.from ? L(we.from, G, W) : null), [J, Me] = _.useState(() => we?.to ? L(we.to, G, W) : null), Ne = _.useRef(t), Pe = _.useMemo(() => ve(K, m, h, E), [
1141
- K,
1142
- m,
1143
- h,
1144
- E
1145
- ]), Fe = Pe != null && Pe !== "", Ie = typeof Pe == "string" ? Pe : "";
1146
- _.useEffect(() => {
1147
- t !== void 0 && De(t);
1148
- }, [t]), _.useEffect(() => {
1149
- if (!b?.enabled) {
1150
- Ne.current = t;
1151
- return;
1152
- }
1153
- let e = Ne.current, n = t?.from, r = t?.to;
1154
- n ? je(L(n, G, W)) : e?.from && je(null), r ? Me(L(r, G, W)) : e?.to && Me(null), Ne.current = t;
1155
- }, [
1156
- t,
1157
- b?.enabled,
1158
- G,
1159
- W
1160
- ]), _.useEffect(() => {
1161
- if (!b?.enabled) return;
1162
- let e = (e) => {
1163
- if (!e) return e;
1164
- let t = de(e, W, G);
1165
- return e.hours === t.hours && e.minutes === t.minutes && e.seconds === t.seconds ? e : t;
1166
- };
1167
- je(e), Me(e);
1168
- }, [
1169
- b?.enabled,
1170
- W,
1171
- G
1172
- ]);
1173
- let Y = _.useCallback((e) => {
1174
- let t = e;
1175
- return e && b?.enabled && (t = {
1176
- ...e,
1177
- from: e.from && q ? ge(e.from, q) : e.from,
1178
- to: e.to && J ? ge(e.to, J) : e.to
1179
- }), he(t, c, l, O);
1180
- }, [
1181
- c,
1182
- l,
1183
- O,
1184
- b,
1185
- q,
1186
- J
1187
- ]), X = _.useCallback((e) => {
1188
- let t = I(e ?? void 0);
1189
- t && je(t);
1190
- }, []), Le = _.useCallback((e) => {
1191
- let t = I(e ?? void 0);
1192
- t && Me(t);
1193
- }, []), Re = _.useCallback((e, t, n) => t ? !n?.from || n.to ? {
1194
- from: t,
1195
- to: void 0
1196
- } : t < n.from ? {
1197
- from: t,
1198
- to: n.from
1199
- } : {
1200
- from: n.from,
1201
- to: t
1202
- } : e, []), Z = _.useCallback((e, t) => {
1203
- let n = Re(e, t, K);
1204
- if (De(n), p || b?.enabled) return;
1205
- o?.(Y(n));
1206
- let r = !!(n?.from && n?.to), i = _e(n, m, h).isValid;
1207
- te && r && i && T(!1);
1208
- }, [
1209
- K,
1210
- Re,
1211
- p,
1212
- b,
1213
- o,
1214
- Y,
1215
- m,
1216
- h,
1217
- te,
1218
- T
1219
- ]), ze = _.useCallback((e) => {
1220
- let t = e.getValue();
1221
- Z(t);
1222
- }, [Z]), Be = _.useCallback(() => {
1223
- o?.(Y(K)), T(!1);
1224
- }, [
1225
- K,
1226
- o,
1227
- Y,
1228
- T
1229
- ]), Q = _.useMemo(() => {
1230
- if (b?.enabled && q) return fe(q, G, U, {
1231
- am: E.am,
1232
- pm: E.pm
1233
- });
1234
- }, [
1235
- b?.enabled,
1236
- q,
1237
- G,
1238
- U,
1239
- E
1240
- ]), $ = _.useMemo(() => {
1241
- if (b?.enabled && J) return fe(J, G, U, {
1242
- am: E.am,
1243
- pm: E.pm
1244
- });
1245
- }, [
1246
- b?.enabled,
1247
- J,
1248
- G,
1249
- U,
1250
- E
1251
- ]), Ve = _.useMemo(() => {
1252
- if (b?.enabled && K?.from) {
1253
- let e = D(K.from, l, { locale: O }), t = be && Q ? `${e} ${Q}` : e;
1254
- if (K.to) {
1255
- let e = D(K.to, l, { locale: O });
1256
- return `${t} - ${be && $ ? `${e} ${$}` : e}`;
1257
- }
1258
- return t;
1259
- }
1260
- return xe(K, l, f, E.selectDateRange, O);
1261
- }, [
1262
- b?.enabled,
1263
- K,
1264
- l,
1265
- be,
1266
- Q,
1267
- $,
1268
- f,
1269
- E,
1270
- O
1271
- ]), He = _.useMemo(() => {
1272
- if (!K?.from || !K?.to) return;
1273
- let e = D(K.from, l, { locale: O }), t = D(K.to, l, { locale: O });
1274
- return `${Ce && Q ? `${e} ${Q}` : e} - ${Ce && $ ? `${t} ${$}` : t}`;
1275
- }, [
1276
- K,
1277
- l,
1278
- O,
1279
- Ce,
1280
- Q,
1281
- $
1282
- ]);
1283
- return /* @__PURE__ */ y(d, {
1284
- ref: le,
1285
- gap: "md",
1286
- className: A.className,
1287
- children: [
1288
- !!(A.label || V) && /* @__PURE__ */ y(d, {
1289
- direction: "horizontal",
1290
- align: "center",
1291
- justify: "between",
1292
- gap: "xs",
1293
- children: [!!A.label && /* @__PURE__ */ v(s, {
1294
- htmlFor: F,
1295
- className: r("leading-6", z && "text-destructive"),
1296
- children: A.label
1297
- }), !z && !!V && /* @__PURE__ */ v(a, {
1298
- tag: "span",
1299
- size: "xs",
1300
- type: "secondary",
1301
- children: me
1302
- })]
1303
- }),
1304
- /* @__PURE__ */ y(re, {
1305
- open: w,
1306
- onOpenChange: T,
1307
- children: [/* @__PURE__ */ v(ne, { render: (e) => {
1308
- let t = Se(A.buttonTone, A.buttonStyle);
1309
- return /* @__PURE__ */ y(i, {
1310
- ...e,
1311
- id: F,
1312
- tone: t.tone,
1313
- buttonStyle: t.buttonStyle,
1314
- "aria-invalid": z,
1315
- "aria-describedby": B,
1316
- className: r("w-full justify-start text-left font-normal", Ae, !K && "text-muted-foreground", A.error && "border-destructive focus-visible:ring-destructive", e.className),
1317
- disabled: A.disabled,
1318
- children: [/* @__PURE__ */ v(oe, { className: "mr-control-gap size-icon shrink-0" }), /* @__PURE__ */ v(a, {
1319
- tag: "span",
1320
- size: "inherit",
1321
- lineHeight: "tight",
1322
- className: "min-w-0 truncate text-inherit",
1323
- children: Ve
1324
- })]
1325
- });
1326
- } }), /* @__PURE__ */ y(ie, {
1327
- inset: "flush",
1328
- className: "w-auto gap-0",
1329
- align: "start",
1330
- children: [!!A.header && /* @__PURE__ */ v(ke, { config: A.header }), /* @__PURE__ */ y("div", {
1331
- className: "flex flex-col sm:flex-row",
1332
- children: [P.length > 0 && /* @__PURE__ */ v("div", {
1333
- 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",
1334
- children: P.map((e) => /* @__PURE__ */ v(i, {
1335
- tone: "secondary",
1336
- buttonStyle: "ghost",
1337
- onClick: () => ze(e),
1338
- className: "justify-start font-normal text-muted-foreground hover:text-foreground",
1339
- children: e.label
1340
- }, e.label))
1341
- }), /* @__PURE__ */ y("div", {
1342
- className: "flex flex-col",
1343
- children: [/* @__PURE__ */ v(Ee, {
1344
- mode: "range",
1345
- selected: K,
1346
- onSelect: Z,
1347
- defaultMonth: K?.from,
1348
- numberOfMonths: M,
1349
- showOutsideDays: A.showOutsideDays,
1350
- disabled: S ?? A.disabled,
1351
- locale: O,
1352
- captionLayout: ce,
1353
- startMonth: k.startMonth,
1354
- endMonth: k.endMonth,
1355
- ...C,
1356
- className: r("[--cell-size:1.875rem] sm:[--cell-size:--spacing(8)]", C?.className)
1357
- }), !!(K?.from || Pe || p || b?.enabled || A.footer) && /* @__PURE__ */ y(ae, { children: [/* @__PURE__ */ v(ee, {}), /* @__PURE__ */ v("div", {
1358
- className: "p-surface",
1359
- children: /* @__PURE__ */ y(d, {
1360
- gap: "lg",
1361
- children: [
1362
- !!K?.from && !A.footer && /* @__PURE__ */ y(d, {
1363
- direction: "horizontal",
1364
- align: "center",
1365
- justify: "between",
1366
- gap: "xl",
1367
- children: [/* @__PURE__ */ y(d, {
1368
- direction: "horizontal",
1369
- align: "center",
1370
- gap: "md",
1371
- children: [/* @__PURE__ */ y(a, {
1372
- tag: "span",
1373
- type: "secondary",
1374
- children: [E.from, ":"]
1375
- }), /* @__PURE__ */ y(a, {
1376
- tag: "span",
1377
- weight: "medium",
1378
- children: [D(K.from, l, { locale: O }), Ce && Q ? ` ${Q}` : ""]
1379
- })]
1380
- }), !!K.to && /* @__PURE__ */ y(d, {
1381
- direction: "horizontal",
1382
- align: "center",
1383
- gap: "md",
1384
- children: [/* @__PURE__ */ y(a, {
1385
- tag: "span",
1386
- type: "secondary",
1387
- children: [E.to, ":"]
1388
- }), /* @__PURE__ */ y(a, {
1389
- tag: "span",
1390
- weight: "medium",
1391
- children: [D(K.to, l, { locale: O }), Ce && $ ? ` ${$}` : ""]
1392
- })]
1393
- })]
1394
- }),
1395
- !!b?.enabled && !!K?.from && /* @__PURE__ */ y(u, {
1396
- columns: {
1397
- base: 1,
1398
- sm: 2
1399
- },
1400
- gap: "lg",
1401
- children: [/* @__PURE__ */ y("div", { children: [/* @__PURE__ */ v(s, {
1402
- size: "sm",
1403
- children: E.startTime
1404
- }), /* @__PURE__ */ y("div", {
1405
- className: "mt-1 flex items-center gap-space-md",
1406
- children: [/* @__PURE__ */ v(se, { className: "h-3 w-3 text-muted-foreground" }), /* @__PURE__ */ v(Ge, {
1407
- value: q ? ue(q, G) : null,
1408
- onValueChange: X,
1409
- format: U,
1410
- precision: G ? "seconds" : "minutes",
1411
- step: W,
1412
- disabled: A.disabled,
1413
- size: "sm",
1414
- strings: {
1415
- hours: E.hours,
1416
- minutes: E.minutes,
1417
- seconds: E.seconds,
1418
- am: E.am,
1419
- pm: E.pm
1420
- }
1421
- })]
1422
- })] }), !!K.to && /* @__PURE__ */ y("div", { children: [/* @__PURE__ */ v(s, {
1423
- size: "sm",
1424
- children: E.endTime
1425
- }), /* @__PURE__ */ y("div", {
1426
- className: "mt-1 flex items-center gap-space-md",
1427
- children: [/* @__PURE__ */ v(se, { className: "h-3 w-3 text-muted-foreground" }), /* @__PURE__ */ v(Ge, {
1428
- value: J ? ue(J, G) : null,
1429
- onValueChange: Le,
1430
- format: U,
1431
- precision: G ? "seconds" : "minutes",
1432
- step: W,
1433
- disabled: A.disabled,
1434
- size: "sm",
1435
- strings: {
1436
- hours: E.hours,
1437
- minutes: E.minutes,
1438
- seconds: E.seconds,
1439
- am: E.am,
1440
- pm: E.pm
1441
- }
1442
- })]
1443
- })] })]
1444
- }),
1445
- /* @__PURE__ */ v(a, {
1446
- type: "error",
1447
- content: Ie,
1448
- hidden: !Fe
1449
- }),
1450
- !!(p || b?.enabled) && !A.footer && /* @__PURE__ */ v(i, {
1451
- onClick: Be,
1452
- disabled: !K?.from || !K?.to || !!Pe,
1453
- className: "w-full",
1454
- children: E.confirm
1455
- }),
1456
- !!A.footer && /* @__PURE__ */ v("div", {
1457
- className: "-mx-space-lg -mb-space-lg",
1458
- children: /* @__PURE__ */ v(Oe, {
1459
- config: A.footer,
1460
- output: Y(K),
1461
- hasSelection: !!(K?.from && K?.to),
1462
- autoSummary: He
1463
- })
1464
- })
1465
- ]
1466
- })
1467
- })] })]
1468
- })]
1469
- })]
1470
- })]
1471
- }),
1472
- !!z && /* @__PURE__ */ v(a, {
1473
- id: R,
1474
- size: "xs",
1475
- type: "error",
1476
- content: H
1477
- })
1478
- ]
1479
- });
1480
- }
1481
- //#endregion
1482
- //#region src/components/base/date-pickers/date-picker.tsx
1483
- var Ye = _.forwardRef(function(t, i) {
1484
- let [a, o] = _.useState(!1), s = e(), c = t.locale ?? s.locale ?? M, l = n(q, t.strings), u = _.useMemo(() => t.enableYearDropdown || t.yearSelection?.enabled ? "dropdown" : "label", [t.enableYearDropdown, t.yearSelection]), d = _.useMemo(() => H(t.yearSelection), [t.yearSelection]), f = r("date-picker--component", t.className);
1485
- return Ce(t) ? /* @__PURE__ */ v(Ke, {
1486
- ...t,
1487
- rootRef: i,
1488
- className: f,
1489
- open: a,
1490
- setOpen: o,
1491
- t: l,
1492
- dateFnsLocale: c,
1493
- captionLayout: u,
1494
- yearBounds: d
1495
- }) : we(t) ? /* @__PURE__ */ v(qe, {
1496
- ...t,
1497
- rootRef: i,
1498
- className: f,
1499
- open: a,
1500
- setOpen: o,
1501
- t: l,
1502
- dateFnsLocale: c,
1503
- captionLayout: u,
1504
- yearBounds: d
1505
- }) : K(t) ? /* @__PURE__ */ v(Je, {
1506
- ...t,
1507
- rootRef: i,
1508
- className: f,
1509
- open: a,
1510
- setOpen: o,
1511
- t: l,
1512
- dateFnsLocale: c,
1513
- captionLayout: u,
1514
- yearBounds: d
1515
- }) : null;
1516
- });
1517
- Ye.displayName = "DatePicker";
1518
- //#endregion
1519
- export { Ae as a, q as i, Ge as n, ke as o, Pe as r, Oe as s, Ye as t };
1520
-
1521
- //# sourceMappingURL=date-picker-CA6ogMQB.js.map