admin-ui-starter-kit 0.1.0 → 0.1.1
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.
- package/.agents/skills/component-library-rules/SKILL.md +19 -0
- package/.agents/skills/component-library-rules/references/components/base__metadata-list.md +2 -2
- package/.agents/skills/component-library-rules/references/import-paths.md +21 -0
- package/AGENTS.md +3 -1
- package/INTEGRATION.md +29 -2
- package/PUBLISHING.md +2 -0
- package/README.md +24 -0
- package/dist/_shared/accordion-CztqyaIN.js +130 -0
- package/dist/_shared/accordion-CztqyaIN.js.map +1 -0
- package/dist/_shared/accordion-D5uTCLCB.cjs +2 -0
- package/dist/_shared/accordion-D5uTCLCB.cjs.map +1 -0
- package/dist/_shared/action-menu-Yrj6VzFS.js +96 -0
- package/dist/_shared/action-menu-Yrj6VzFS.js.map +1 -0
- package/dist/_shared/action-menu-eVP8GGlv.cjs +2 -0
- package/dist/_shared/action-menu-eVP8GGlv.cjs.map +1 -0
- package/dist/_shared/ai-artifact-DaHXJTKg.cjs +3 -0
- package/dist/_shared/ai-artifact-DaHXJTKg.cjs.map +1 -0
- package/dist/_shared/ai-artifact-DyLn3JAs.js +1068 -0
- package/dist/_shared/ai-artifact-DyLn3JAs.js.map +1 -0
- package/dist/_shared/alert-BVw4Mq6H.js +48 -0
- package/dist/_shared/alert-BVw4Mq6H.js.map +1 -0
- package/dist/_shared/alert-DXSlR9ja.cjs +2 -0
- package/dist/_shared/alert-DXSlR9ja.cjs.map +1 -0
- package/dist/_shared/avatar-CpBz9pTv.js +52 -0
- package/dist/_shared/avatar-CpBz9pTv.js.map +1 -0
- package/dist/_shared/avatar-dg20YFFs.cjs +2 -0
- package/dist/_shared/avatar-dg20YFFs.cjs.map +1 -0
- package/dist/_shared/badge-BVCh_hfL.js +108 -0
- package/dist/_shared/badge-BVCh_hfL.js.map +1 -0
- package/dist/_shared/badge-C49SSz-6.cjs +2 -0
- package/dist/_shared/badge-C49SSz-6.cjs.map +1 -0
- package/dist/_shared/breadcrumbs-Bo7j5Rhv.cjs +2 -0
- package/dist/_shared/breadcrumbs-Bo7j5Rhv.cjs.map +1 -0
- package/dist/_shared/breadcrumbs-Dc93fqqE.js +111 -0
- package/dist/_shared/breadcrumbs-Dc93fqqE.js.map +1 -0
- package/dist/_shared/button-2xglT7yf.cjs +2 -0
- package/dist/_shared/button-2xglT7yf.cjs.map +1 -0
- package/dist/_shared/button-ChCkwoOD.js +176 -0
- package/dist/_shared/button-ChCkwoOD.js.map +1 -0
- package/dist/_shared/button-D0nF99a9.cjs +2 -0
- package/dist/_shared/button-D0nF99a9.cjs.map +1 -0
- package/dist/_shared/button-DBR4QI9E.js +46 -0
- package/dist/_shared/button-DBR4QI9E.js.map +1 -0
- package/dist/_shared/buttons-Bcnt1md_.js +143 -0
- package/dist/_shared/buttons-Bcnt1md_.js.map +1 -0
- package/dist/_shared/buttons-km9xqXJv.cjs +2 -0
- package/dist/_shared/buttons-km9xqXJv.cjs.map +1 -0
- package/dist/_shared/card-radio-group-BGH93O5-.js +158 -0
- package/dist/_shared/card-radio-group-BGH93O5-.js.map +1 -0
- package/dist/_shared/card-radio-group-Vq741uhL.cjs +2 -0
- package/dist/_shared/card-radio-group-Vq741uhL.cjs.map +1 -0
- package/dist/_shared/combobox-BgXAxjU2.js +746 -0
- package/dist/_shared/combobox-BgXAxjU2.js.map +1 -0
- package/dist/_shared/combobox-DuIyh3xJ.cjs +2 -0
- package/dist/_shared/combobox-DuIyh3xJ.cjs.map +1 -0
- package/dist/_shared/command-BbiijN61.js +39 -0
- package/dist/_shared/command-BbiijN61.js.map +1 -0
- package/dist/_shared/command-D7zTvyBJ.cjs +2 -0
- package/dist/_shared/command-D7zTvyBJ.cjs.map +1 -0
- package/dist/_shared/command-DGNtTI-V.cjs +2 -0
- package/dist/_shared/command-DGNtTI-V.cjs.map +1 -0
- package/dist/_shared/command-jKbwFRtS.js +123 -0
- package/dist/_shared/command-jKbwFRtS.js.map +1 -0
- package/dist/_shared/comments-CNUsdwGW.cjs +2 -0
- package/dist/_shared/comments-CNUsdwGW.cjs.map +1 -0
- package/dist/_shared/comments-CvmS7zG3.js +945 -0
- package/dist/_shared/comments-CvmS7zG3.js.map +1 -0
- package/dist/_shared/containers-BFDv7cCV.cjs +2 -0
- package/dist/_shared/containers-BFDv7cCV.cjs.map +1 -0
- package/dist/_shared/containers-C1-A_2PT.js +19 -0
- package/dist/_shared/containers-C1-A_2PT.js.map +1 -0
- package/dist/_shared/content-container-CwqFnaI0.cjs +2 -0
- package/dist/_shared/content-container-CwqFnaI0.cjs.map +1 -0
- package/dist/_shared/content-container-D_3JGBSc.js +33 -0
- package/dist/_shared/content-container-D_3JGBSc.js.map +1 -0
- package/dist/_shared/copyable-CHhCGMfW.js +38 -0
- package/dist/_shared/copyable-CHhCGMfW.js.map +1 -0
- package/dist/_shared/copyable-ndaiocYq.cjs +2 -0
- package/dist/_shared/copyable-ndaiocYq.cjs.map +1 -0
- package/dist/_shared/date-picker-B8O_qbik.js +1353 -0
- package/dist/_shared/date-picker-B8O_qbik.js.map +1 -0
- package/dist/_shared/date-picker-BnOjyuKS.cjs +2 -0
- package/dist/_shared/date-picker-BnOjyuKS.cjs.map +1 -0
- package/dist/_shared/date-pickers-Cas9cPlj.js +330 -0
- package/dist/_shared/date-pickers-Cas9cPlj.js.map +1 -0
- package/dist/_shared/date-pickers-Dk-G3RMy.cjs +2 -0
- package/dist/_shared/date-pickers-Dk-G3RMy.cjs.map +1 -0
- package/dist/_shared/dialog-67GmkMLC.js +101 -0
- package/dist/_shared/dialog-67GmkMLC.js.map +1 -0
- package/dist/_shared/dialog-BF_4uAhE.cjs +2 -0
- package/dist/_shared/dialog-BF_4uAhE.cjs.map +1 -0
- package/dist/_shared/display-B9xVWboG.cjs +8 -0
- package/dist/_shared/display-B9xVWboG.cjs.map +1 -0
- package/dist/_shared/display-BM_GxDAo.js +1237 -0
- package/dist/_shared/display-BM_GxDAo.js.map +1 -0
- package/dist/_shared/dropdown-menu-4nxEBMnd.js +147 -0
- package/dist/_shared/dropdown-menu-4nxEBMnd.js.map +1 -0
- package/dist/_shared/dropdown-menu-DZlWHqWS.cjs +2 -0
- package/dist/_shared/dropdown-menu-DZlWHqWS.cjs.map +1 -0
- package/dist/_shared/form-field-BQlki-8s.js +319 -0
- package/dist/_shared/form-field-BQlki-8s.js.map +1 -0
- package/dist/_shared/form-field-DzpwVS99.cjs +2 -0
- package/dist/_shared/form-field-DzpwVS99.cjs.map +1 -0
- package/dist/_shared/form-sizing-CcbB-OHF.js +21 -0
- package/dist/_shared/form-sizing-CcbB-OHF.js.map +1 -0
- package/dist/_shared/form-sizing-Cw12UeI6.cjs +2 -0
- package/dist/_shared/form-sizing-Cw12UeI6.cjs.map +1 -0
- package/dist/_shared/format-B2AdSQVn.cjs +2 -0
- package/dist/_shared/format-B2AdSQVn.cjs.map +1 -0
- package/dist/_shared/format-CP65h1vK.js +48 -0
- package/dist/_shared/format-CP65h1vK.js.map +1 -0
- package/dist/_shared/forms-B8aaNG44.cjs +2 -0
- package/dist/_shared/forms-B8aaNG44.cjs.map +1 -0
- package/dist/_shared/forms-BusuTZZ2.js +3374 -0
- package/dist/_shared/forms-BusuTZZ2.js.map +1 -0
- package/dist/_shared/header-DWfOUjFL.cjs +2 -0
- package/dist/_shared/header-DWfOUjFL.cjs.map +1 -0
- package/dist/_shared/header-KpdoLtP9.js +369 -0
- package/dist/_shared/header-KpdoLtP9.js.map +1 -0
- package/dist/_shared/heading-BprqyzDs.js +39 -0
- package/dist/_shared/heading-BprqyzDs.js.map +1 -0
- package/dist/_shared/heading-mZc_jan1.cjs +2 -0
- package/dist/_shared/heading-mZc_jan1.cjs.map +1 -0
- package/dist/_shared/hooks-C-uWoRq5.cjs +2 -0
- package/dist/_shared/hooks-C-uWoRq5.cjs.map +1 -0
- package/dist/_shared/hooks-D5HJtvvP.js +118 -0
- package/dist/_shared/hooks-D5HJtvvP.js.map +1 -0
- package/dist/_shared/icon-badge-BBqDyAUz.cjs +2 -0
- package/dist/_shared/icon-badge-BBqDyAUz.cjs.map +1 -0
- package/dist/_shared/icon-badge-Bi63T-bj.js +52 -0
- package/dist/_shared/icon-badge-Bi63T-bj.js.map +1 -0
- package/dist/_shared/input-B2YXTHqz.cjs +2 -0
- package/dist/_shared/input-B2YXTHqz.cjs.map +1 -0
- package/dist/_shared/input-BJb10xb9.cjs +2 -0
- package/dist/_shared/input-BJb10xb9.cjs.map +1 -0
- package/dist/_shared/input-CZxP5Xgj.js +17 -0
- package/dist/_shared/input-CZxP5Xgj.js.map +1 -0
- package/dist/_shared/input-DQahu2sm.js +182 -0
- package/dist/_shared/input-DQahu2sm.js.map +1 -0
- package/dist/_shared/item-Cu5JbZyZ.js +224 -0
- package/dist/_shared/item-Cu5JbZyZ.js.map +1 -0
- package/dist/_shared/item-Cx_7QZ2o.cjs +2 -0
- package/dist/_shared/item-Cx_7QZ2o.cjs.map +1 -0
- package/dist/_shared/mentions-CS3rIhze.js +493 -0
- package/dist/_shared/mentions-CS3rIhze.js.map +1 -0
- package/dist/_shared/mentions-D7gnP3Nf.cjs +2 -0
- package/dist/_shared/mentions-D7gnP3Nf.cjs.map +1 -0
- package/dist/_shared/metadata-CRsVWE8Y.cjs +2 -0
- package/dist/_shared/metadata-CRsVWE8Y.cjs.map +1 -0
- package/dist/_shared/metadata-CfG0FdFZ.js +236 -0
- package/dist/_shared/metadata-CfG0FdFZ.js.map +1 -0
- package/dist/_shared/money-display-Bd0rkjc9.js +198 -0
- package/dist/_shared/money-display-Bd0rkjc9.js.map +1 -0
- package/dist/_shared/money-display-DSFft9Mi.cjs +2 -0
- package/dist/_shared/money-display-DSFft9Mi.cjs.map +1 -0
- package/dist/_shared/navigation-Do9k5Xh1.js +420 -0
- package/dist/_shared/navigation-Do9k5Xh1.js.map +1 -0
- package/dist/_shared/navigation-QAAD3HJd.cjs +2 -0
- package/dist/_shared/navigation-QAAD3HJd.cjs.map +1 -0
- package/dist/_shared/overlays-B8AH8fNv.js +633 -0
- package/dist/_shared/overlays-B8AH8fNv.js.map +1 -0
- package/dist/_shared/overlays-DOcoRy8k.cjs +2 -0
- package/dist/_shared/overlays-DOcoRy8k.cjs.map +1 -0
- package/dist/_shared/page-BPCeKX9X.js +263 -0
- package/dist/_shared/page-BPCeKX9X.js.map +1 -0
- package/dist/_shared/page-DMM32sxi.cjs +2 -0
- package/dist/_shared/page-DMM32sxi.cjs.map +1 -0
- package/dist/_shared/popover-B1f_EUQS.cjs +2 -0
- package/dist/_shared/popover-B1f_EUQS.cjs.map +1 -0
- package/dist/_shared/popover-CgRGcFk9.js +83 -0
- package/dist/_shared/popover-CgRGcFk9.js.map +1 -0
- package/dist/_shared/popover-menu-BEKIT3LR.cjs +2 -0
- package/dist/_shared/popover-menu-BEKIT3LR.cjs.map +1 -0
- package/dist/_shared/popover-menu-BHdHLEVL.js +95 -0
- package/dist/_shared/popover-menu-BHdHLEVL.js.map +1 -0
- package/dist/_shared/rich-text-editor-0uoIoYXU.js +608 -0
- package/dist/_shared/rich-text-editor-0uoIoYXU.js.map +1 -0
- package/dist/_shared/rich-text-editor-wTiARGuB.cjs +2 -0
- package/dist/_shared/rich-text-editor-wTiARGuB.cjs.map +1 -0
- package/dist/_shared/scroll-area-Bo17wtZD.cjs +2 -0
- package/dist/_shared/scroll-area-Bo17wtZD.cjs.map +1 -0
- package/dist/_shared/scroll-area-Cj-hmB5D.js +41 -0
- package/dist/_shared/scroll-area-Cj-hmB5D.js.map +1 -0
- package/dist/_shared/select-07RRiTWc.js +85 -0
- package/dist/_shared/select-07RRiTWc.js.map +1 -0
- package/dist/_shared/select-BfiU7a4n.cjs +2 -0
- package/dist/_shared/select-BfiU7a4n.cjs.map +1 -0
- package/dist/_shared/separator-CN9zAJfs.cjs +2 -0
- package/dist/_shared/separator-CN9zAJfs.cjs.map +1 -0
- package/dist/_shared/separator-DR0uUMKa.js +16 -0
- package/dist/_shared/separator-DR0uUMKa.js.map +1 -0
- package/dist/_shared/sheet-B5FoGJAZ.cjs +2 -0
- package/dist/_shared/sheet-B5FoGJAZ.cjs.map +1 -0
- package/dist/_shared/sheet-cUI8cypP.js +100 -0
- package/dist/_shared/sheet-cUI8cypP.js.map +1 -0
- package/dist/_shared/sidebar-Bq7yKLrG.cjs +2 -0
- package/dist/_shared/sidebar-Bq7yKLrG.cjs.map +1 -0
- package/dist/_shared/sidebar-Da20tCUc.cjs +2 -0
- package/dist/_shared/sidebar-Da20tCUc.cjs.map +1 -0
- package/dist/_shared/sidebar-Q6TYE8Ux.js +371 -0
- package/dist/_shared/sidebar-Q6TYE8Ux.js.map +1 -0
- package/dist/_shared/sidebar-WmnQ55YY.js +537 -0
- package/dist/_shared/sidebar-WmnQ55YY.js.map +1 -0
- package/dist/_shared/skeleton-B3HWEc6G.js +14 -0
- package/dist/_shared/skeleton-B3HWEc6G.js.map +1 -0
- package/dist/_shared/skeleton-Cz_l8-fc.cjs +2 -0
- package/dist/_shared/skeleton-Cz_l8-fc.cjs.map +1 -0
- package/dist/_shared/slot-BgnZtKR5.js +18 -0
- package/dist/_shared/slot-BgnZtKR5.js.map +1 -0
- package/dist/_shared/slot-Dac1ipUC.cjs +2 -0
- package/dist/_shared/slot-Dac1ipUC.cjs.map +1 -0
- package/dist/_shared/smart-card-Bm_VxYUG.cjs +2 -0
- package/dist/_shared/smart-card-Bm_VxYUG.cjs.map +1 -0
- package/dist/_shared/smart-card-MT6JjkoI.js +360 -0
- package/dist/_shared/smart-card-MT6JjkoI.js.map +1 -0
- package/dist/_shared/spinner-BQjxJ_Kx.js +67 -0
- package/dist/_shared/spinner-BQjxJ_Kx.js.map +1 -0
- package/dist/_shared/spinner-Dvaa6GUm.cjs +2 -0
- package/dist/_shared/spinner-Dvaa6GUm.cjs.map +1 -0
- package/dist/_shared/switch-C0yyhsXZ.js +51 -0
- package/dist/_shared/switch-C0yyhsXZ.js.map +1 -0
- package/dist/_shared/switch-DozkSQNn.cjs +2 -0
- package/dist/_shared/switch-DozkSQNn.cjs.map +1 -0
- package/dist/_shared/textarea-Cgl-FPwu.js +119 -0
- package/dist/_shared/textarea-Cgl-FPwu.js.map +1 -0
- package/dist/_shared/textarea-D8wC0XlZ.cjs +2 -0
- package/dist/_shared/textarea-D8wC0XlZ.cjs.map +1 -0
- package/dist/_shared/tooltip-Cws4BiPT.js +49 -0
- package/dist/_shared/tooltip-Cws4BiPT.js.map +1 -0
- package/dist/_shared/tooltip-DyUi-Tac.cjs +2 -0
- package/dist/_shared/tooltip-DyUi-Tac.cjs.map +1 -0
- package/dist/_shared/typography-BW7iZBx7.cjs +2 -0
- package/dist/_shared/typography-BW7iZBx7.cjs.map +1 -0
- package/dist/_shared/typography-a3hydyvI.js +102 -0
- package/dist/_shared/typography-a3hydyvI.js.map +1 -0
- package/dist/components/base/accordion/index.cjs +1 -1
- package/dist/components/base/accordion/index.js +1 -1
- package/dist/components/base/badge/index.cjs +1 -1
- package/dist/components/base/badge/index.js +1 -1
- package/dist/components/base/buttons/index.cjs +1 -1
- package/dist/components/base/buttons/index.js +2 -2
- package/dist/components/base/cards/index.cjs +1 -1
- package/dist/components/base/cards/index.js +1 -1
- package/dist/components/base/combobox/index.cjs +1 -1
- package/dist/components/base/combobox/index.js +1 -1
- package/dist/components/base/command/index.cjs +1 -1
- package/dist/components/base/command/index.js +2 -2
- package/dist/components/base/copyable/index.cjs +1 -1
- package/dist/components/base/copyable/index.js +1 -1
- package/dist/components/base/currency/index.cjs +1 -1
- package/dist/components/base/currency/index.js +1 -1
- package/dist/components/base/date-pickers/index.cjs +1 -1
- package/dist/components/base/date-pickers/index.js +2 -2
- package/dist/components/base/display/index.cjs +1 -1
- package/dist/components/base/display/index.js +12 -11
- package/dist/components/base/display/metadata/index.cjs +1 -0
- package/dist/components/base/display/metadata/index.js +2 -0
- package/dist/components/base/event-calendar/index.cjs +1 -1
- package/dist/components/base/event-calendar/index.cjs.map +1 -1
- package/dist/components/base/event-calendar/index.js +4 -4
- package/dist/components/base/forms/index.cjs +1 -1
- package/dist/components/base/forms/index.js +6 -6
- package/dist/components/base/item/index.cjs +1 -1
- package/dist/components/base/item/index.js +1 -1
- package/dist/components/base/map/index.cjs +1 -1
- package/dist/components/base/map/index.js +3 -3
- package/dist/components/base/navigation/index.cjs +1 -1
- package/dist/components/base/navigation/index.js +4 -4
- package/dist/components/base/popover/index.cjs +1 -1
- package/dist/components/base/popover/index.js +1 -1
- package/dist/components/base/popover-menu/index.cjs +1 -1
- package/dist/components/base/popover-menu/index.js +1 -1
- package/dist/components/base/sheet/index.cjs +1 -1
- package/dist/components/base/sheet/index.js +1 -1
- package/dist/components/base/sidebar/index.cjs +1 -1
- package/dist/components/base/sidebar/index.js +1 -1
- package/dist/components/base/spinner/index.cjs +1 -1
- package/dist/components/base/spinner/index.js +1 -1
- package/dist/components/base/table/index.cjs +1 -1
- package/dist/components/base/table/index.js +7 -7
- package/dist/components/composed/admin/index.cjs +1 -1
- package/dist/components/composed/admin/index.cjs.map +1 -1
- package/dist/components/composed/admin/index.js +12 -12
- package/dist/components/composed/ai/index.cjs +1 -1
- package/dist/components/composed/ai/index.js +9 -9
- package/dist/components/composed/analytics/index.cjs +1 -1
- package/dist/components/composed/analytics/index.cjs.map +1 -1
- package/dist/components/composed/analytics/index.js +4 -4
- package/dist/components/composed/cards/index.cjs +1 -1
- package/dist/components/composed/cards/index.cjs.map +1 -1
- package/dist/components/composed/cards/index.js +8 -8
- package/dist/components/composed/commerce/index.cjs +1 -1
- package/dist/components/composed/commerce/index.cjs.map +1 -1
- package/dist/components/composed/commerce/index.js +9 -9
- package/dist/components/composed/dark-surfaces/index.cjs +1 -1
- package/dist/components/composed/dark-surfaces/index.cjs.map +1 -1
- package/dist/components/composed/dark-surfaces/index.js +6 -6
- package/dist/components/composed/data-display/index.cjs +1 -1
- package/dist/components/composed/data-display/index.cjs.map +1 -1
- package/dist/components/composed/data-display/index.js +7 -7
- package/dist/components/composed/navigation/index.cjs +1 -1
- package/dist/components/composed/navigation/index.js +4 -4
- package/dist/components/composed/onboarding/index.cjs +1 -1
- package/dist/components/composed/onboarding/index.js +2 -2
- package/dist/components/composed/timelines/index.cjs +1 -1
- package/dist/components/composed/timelines/index.js +2 -2
- package/dist/components/features/activities/index.cjs +1 -1
- package/dist/components/features/activities/index.js +4 -4
- package/dist/components/features/ai-chat/index.cjs +1 -1
- package/dist/components/features/ai-chat/index.cjs.map +1 -1
- package/dist/components/features/ai-chat/index.js +6 -6
- package/dist/components/features/card/index.cjs +1 -1
- package/dist/components/features/card/index.js +3 -3
- package/dist/components/features/comments/index.cjs +1 -1
- package/dist/components/features/comments/index.js +2 -2
- package/dist/components/features/event-log/index.cjs +1 -1
- package/dist/components/features/event-log/index.js +3 -3
- package/dist/components/features/filters/index.cjs +1 -1
- package/dist/components/features/filters/index.js +9 -9
- package/dist/components/features/global-search/index.cjs +1 -1
- package/dist/components/features/global-search/index.js +2 -2
- package/dist/components/features/kanban/index.cjs +1 -1
- package/dist/components/features/kanban/index.js +1 -1
- package/dist/components/features/mentions/index.cjs +1 -1
- package/dist/components/features/mentions/index.js +1 -1
- package/dist/components/features/overlays/index.cjs +1 -1
- package/dist/components/features/overlays/index.js +1 -1
- package/dist/components/features/rich-text-editor/index.cjs +1 -1
- package/dist/components/features/rich-text-editor/index.js +1 -1
- package/dist/components/features/suggestions/index.cjs +1 -1
- package/dist/components/features/suggestions/index.js +1 -1
- package/dist/components/features/sync/index.cjs +1 -1
- package/dist/components/features/sync/index.js +2 -2
- package/dist/components/layout/containers/index.cjs +1 -1
- package/dist/components/layout/containers/index.js +2 -2
- package/dist/components/layout/header/index.cjs +1 -1
- package/dist/components/layout/header/index.js +1 -1
- package/dist/components/layout/hooks/index.cjs +1 -1
- package/dist/components/layout/hooks/index.js +1 -1
- package/dist/components/layout/index.cjs +1 -1
- package/dist/components/layout/index.js +6 -6
- package/dist/components/layout/page/index.cjs +1 -1
- package/dist/components/layout/page/index.js +1 -1
- package/dist/components/layout/sidebar/index.cjs +1 -1
- package/dist/components/layout/sidebar/index.js +2 -2
- package/dist/components/typography/index.cjs +1 -1
- package/dist/components/typography/index.js +3 -2
- package/dist/showcase/assets/AreaChart-CJ57G5Ub.js +6 -0
- package/dist/showcase/assets/CSPContext-BA7DfnCI.js +1 -0
- package/dist/showcase/assets/CompositeItem-PwzgE4va.js +1 -0
- package/dist/showcase/assets/CompositeRoot-Du4CMlK7.js +1 -0
- package/dist/showcase/assets/DialogTrigger-FkENgwo6.js +1 -0
- package/dist/showcase/assets/FormContext-ChygLayp.js +1 -0
- package/dist/showcase/assets/PreviewLayout-z6vpJJGt.js +1 -0
- package/dist/showcase/assets/RadioGroup-CcDmbxOw.js +1 -0
- package/dist/showcase/assets/Separator-Dk4eN76U.js +1 -0
- package/dist/showcase/assets/ToolbarRootContext-D_KAA5hZ.js +1 -0
- package/dist/showcase/assets/accordion-dQszzfmw.js +172 -0
- package/dist/showcase/assets/accordion-variants-Dp4wxic-.js +1 -0
- package/dist/showcase/assets/action-menu-CBi2Eiy0.js +1 -0
- package/dist/showcase/assets/activities-DoXsgP4G.js +501 -0
- package/dist/showcase/assets/activities-feed-card-xz5FtkOm.js +1 -0
- package/dist/showcase/assets/admin-CxklUqAG.js +80 -0
- package/dist/showcase/assets/ai-artifact-DkhUdEbM.js +2 -0
- package/dist/showcase/assets/ai-chat-B6PuqkEu.js +568 -0
- package/dist/showcase/assets/ai-elements-D_rpj_ds.js +379 -0
- package/dist/showcase/assets/ai-new-CUPrAbOK.js +167 -0
- package/dist/showcase/assets/ai-tool-call-CEr-dGVx.js +1 -0
- package/dist/showcase/assets/ai-zxF_msJF.js +41 -0
- package/dist/showcase/assets/alert-771BE3Ny.js +59 -0
- package/dist/showcase/assets/alert-CG42DAlX.js +1 -0
- package/dist/showcase/assets/api-key-list-D6jUN7Fq.js +73 -0
- package/dist/showcase/assets/arrow-down-CUoXUyN1.js +1 -0
- package/dist/showcase/assets/arrow-left-Cdq69X6h.js +1 -0
- package/dist/showcase/assets/arrow-right-i25q9L2H.js +1 -0
- package/dist/showcase/assets/arrow-up-pnezegnF.js +1 -0
- package/dist/showcase/assets/arrow-up-right-CK3XnMah.js +1 -0
- package/dist/showcase/assets/avatar-LPmQqZQv.js +1 -0
- package/dist/showcase/assets/avatar-ZVFIQouy.js +57 -0
- package/dist/showcase/assets/badge-DK4bsgZC.js +28 -0
- package/dist/showcase/assets/badge-check-Cw5gkVcG.js +1 -0
- package/dist/showcase/assets/bell-BvJELoaV.js +1 -0
- package/dist/showcase/assets/bot-DRj6sdSR.js +1 -0
- package/dist/showcase/assets/box-BNND3M2m.js +1 -0
- package/dist/showcase/assets/brain-Cy3o-12l.js +1 -0
- package/dist/showcase/assets/brand-DvipEpFn.js +40 -0
- package/dist/showcase/assets/breadcrumb-B-LNuOyv.js +1 -0
- package/dist/showcase/assets/breadcrumb-Lzpc0yo4.js +52 -0
- package/dist/showcase/assets/breadcrumbs-DD6msKFZ.js +1 -0
- package/dist/showcase/assets/briefcase-LcAwoEmu.js +1 -0
- package/dist/showcase/assets/button-CuwcGzk1.js +44 -0
- package/dist/showcase/assets/button-group-CAImjDrl.js +1 -0
- package/dist/showcase/assets/buttons-DTjNHCMl.js +259 -0
- package/dist/showcase/assets/calendar-B1zW0q6I.js +1 -0
- package/dist/showcase/assets/calendar-Dlv72ytt.js +1 -0
- package/dist/showcase/assets/calendar-ls2A08Pn.js +16 -0
- package/dist/showcase/assets/card-BhtkM1BT.js +1 -0
- package/dist/showcase/assets/cards-BRpRXzGk.js +328 -0
- package/dist/showcase/assets/chart-column-BpQkEi1H.js +1 -0
- package/dist/showcase/assets/chevron-down-DyObdfSb.js +1 -0
- package/dist/showcase/assets/chevron-left-T7dHNxYM.js +1 -0
- package/dist/showcase/assets/chevron-right-D_EcqHpT.js +1 -0
- package/dist/showcase/assets/chevron-up-B38ivdGO.js +1 -0
- package/dist/showcase/assets/chevrons-up-down-SdRARzoq.js +1 -0
- package/dist/showcase/assets/circle-BrCPAmDA.js +1 -0
- package/dist/showcase/assets/circle-alert-DdhzLPY_.js +1 -0
- package/dist/showcase/assets/circle-check-DlA6zidQ.js +1 -0
- package/dist/showcase/assets/circle-check-big-DFGJANQF.js +1 -0
- package/dist/showcase/assets/circle-dot-BKmnVUqM.js +1 -0
- package/dist/showcase/assets/circle-question-mark-BNREvgVC.js +1 -0
- package/dist/showcase/assets/circle-x-C45QjHEs.js +1 -0
- package/dist/showcase/assets/clock-D1nKQzQo.js +1 -0
- package/dist/showcase/assets/code-xml-B8N3GRSu.js +1 -0
- package/dist/showcase/assets/collapsible-4TfcWyNs.js +1 -0
- package/dist/showcase/assets/collapsible-CKbZtvTj.js +27 -0
- package/dist/showcase/assets/combobox-DTdGPaU0.js +622 -0
- package/dist/showcase/assets/command-DymTXwL1.js +1 -0
- package/dist/showcase/assets/command-ksVIHQKJ.js +45 -0
- package/dist/showcase/assets/comment-composer-DC9oS1Yy.js +1 -0
- package/dist/showcase/assets/comment-item-CAmKnJa7.js +1 -0
- package/dist/showcase/assets/comments-Benk-2mV.js +349 -0
- package/dist/showcase/assets/commerce-Qz-mq8mQ.js +78 -0
- package/dist/showcase/assets/commerce-extras-CQRc3Bna.js +179 -0
- package/dist/showcase/assets/composite-DBDXLPyz.js +1 -0
- package/dist/showcase/assets/contact-card-DkL2nI3r.js +65 -0
- package/dist/showcase/assets/content-container-mRm6oJEa.js +1 -0
- package/dist/showcase/assets/copyable-DmLlmwzy.js +96 -0
- package/dist/showcase/assets/course-card-CJJoeZj9.js +113 -0
- package/dist/showcase/assets/cpu-BXJnF2Xy.js +1 -0
- package/dist/showcase/assets/credit-card-BQK3KKb2.js +1 -0
- package/dist/showcase/assets/currency-DBPUh8ee.js +149 -0
- package/dist/showcase/assets/dark-surfaces-LpPuIeYy.js +90 -0
- package/dist/showcase/assets/database-BZerpzGE.js +1 -0
- package/dist/showcase/assets/date-block-iiHUpbNX.js +1 -0
- package/dist/showcase/assets/date-picker-BQeBGL7T.js +1 -0
- package/dist/showcase/assets/date-pickers-CKcUEMMF.js +110 -0
- package/dist/showcase/assets/dense-info-DATmxRU8.js +106 -0
- package/dist/showcase/assets/dialog-Bqu5KDYH.js +1 -0
- package/dist/showcase/assets/display-Bj7uPXD4.js +392 -0
- package/dist/showcase/assets/dist-QK7JxeYv.js +1 -0
- package/dist/showcase/assets/dollar-sign-DFZs6vfz.js +1 -0
- package/dist/showcase/assets/download-5oGw_WbW.js +1 -0
- package/dist/showcase/assets/dropdown-menu-1CJgYn0S.js +1 -0
- package/dist/showcase/assets/dropzone-Co1uhsDn.js +1 -0
- package/dist/showcase/assets/ellipsis-cKRcvuyL.js +1 -0
- package/dist/showcase/assets/ellipsis-vertical-B1RErEkj.js +1 -0
- package/dist/showcase/assets/empty-Y2-4nCBr.js +1 -0
- package/dist/showcase/assets/empty-item-USa6xcUv.js +49 -0
- package/dist/showcase/assets/empty-state-DfhZ9AT5.js +188 -0
- package/dist/showcase/assets/enhanced-activities-DmAPVUSu.js +359 -0
- package/dist/showcase/assets/esm-BeGQ_ZTM.js +2 -0
- package/dist/showcase/assets/event-calendar-D-jGrrZS.js +138 -0
- package/dist/showcase/assets/event-log-tA_i4eR9.js +326 -0
- package/dist/showcase/assets/example-6phCHGsN.js +1 -0
- package/dist/showcase/assets/external-link-BuVHkCy0.js +1 -0
- package/dist/showcase/assets/eye-DC5HfGm6.js +1 -0
- package/dist/showcase/assets/feature-announcement-DwvxLytd.js +34 -0
- package/dist/showcase/assets/file-D-xM4vLy.js +1 -0
- package/dist/showcase/assets/file-text-tmG5vNbr.js +1 -0
- package/dist/showcase/assets/filters-CrGRXmq6.js +78 -0
- package/dist/showcase/assets/flag-CWrEtkY5.js +1 -0
- package/dist/showcase/assets/folder-open-Br-x1pjP.js +1 -0
- package/dist/showcase/assets/form-sizing-Bb5hiM45.js +1 -0
- package/dist/showcase/assets/format-D_ETCyg4.js +1 -0
- package/dist/showcase/assets/forms-B_MkQ3rm.js +790 -0
- package/dist/showcase/assets/generic-CdmsyXV3.js +1 -0
- package/dist/showcase/assets/getPseudoElementBounds-CZnCbCFP.js +1 -0
- package/dist/showcase/assets/gift-NkuklfU2.js +1 -0
- package/dist/showcase/assets/giftcard-cards-BAvevZ0i.js +85 -0
- package/dist/showcase/assets/git-branch-B_CBqPeO.js +1 -0
- package/dist/showcase/assets/global-search-D9teAbPe.js +90 -0
- package/dist/showcase/assets/globe-gzw45GU2.js +1 -0
- package/dist/showcase/assets/gradient-card-Xk2r7R5H.js +58 -0
- package/dist/showcase/assets/header-notifications-_aZCpE5A.js +1 -0
- package/dist/showcase/assets/heart-CEMKbRaZ.js +1 -0
- package/dist/showcase/assets/house-BlGXAcMH.js +1 -0
- package/dist/showcase/assets/icon-badge-z6N9reH_.js +1 -0
- package/dist/showcase/assets/image-B8mzmVBr.js +1 -0
- package/dist/showcase/assets/inbox-qdSnP4UV.js +1 -0
- package/dist/showcase/assets/index-B4ubXfly.js +10 -0
- package/dist/showcase/assets/inertValue-D5Q8cLku.js +1 -0
- package/dist/showcase/assets/info-DBvvNjc_.js +1 -0
- package/dist/showcase/assets/inline-stat-Bm1zVT8D.js +1 -0
- package/dist/showcase/assets/input-CBQR0aeX.js +1 -0
- package/dist/showcase/assets/input-OrUzpI55.js +1 -0
- package/dist/showcase/assets/input-group-DhqOen2N.js +47 -0
- package/dist/showcase/assets/input-group-l8xa5nUq.js +1 -0
- package/dist/showcase/assets/inputs-DbiJ0qy2.js +49 -0
- package/dist/showcase/assets/invoice-header-C6youIbL.js +36 -0
- package/dist/showcase/assets/invoice-items-g6dgryF-.js +36 -0
- package/dist/showcase/assets/invoice-mini-0iWhufpt.js +14 -0
- package/dist/showcase/assets/invoice-table-Bvdh3rRq.js +30 -0
- package/dist/showcase/assets/isSameDay-BpZEtJe8.js +1 -0
- package/dist/showcase/assets/isToday-F0CS28oK.js +1 -0
- package/dist/showcase/assets/italic-CJOEwjdc.js +1 -0
- package/dist/showcase/assets/item-BiMm1PPB.js +1 -0
- package/dist/showcase/assets/item-CN0cwdj_.js +1 -0
- package/dist/showcase/assets/item-DNqEUYLT.js +117 -0
- package/dist/showcase/assets/kanban-DxePEUiQ.js +175 -0
- package/dist/showcase/assets/label-Dx4WO-fg.js +1 -0
- package/dist/showcase/assets/layout-containers-DDl8rG8S.js +96 -0
- package/dist/showcase/assets/layout-header-Bu6IcDWu.js +170 -0
- package/dist/showcase/assets/layout-page-D-88Qnoy.js +122 -0
- package/dist/showcase/assets/layout-sidebar-Ctft10pk.js +224 -0
- package/dist/showcase/assets/layout-users-DtbZduBG.js +104 -0
- package/dist/showcase/assets/lib-D9BoOYUd.js +1 -0
- package/dist/showcase/assets/lock-CHurDI0n.js +1 -0
- package/dist/showcase/assets/mail-DZ1o1RLW.js +1 -0
- package/dist/showcase/assets/map-C8xiyT9X.js +124 -0
- package/dist/showcase/assets/map-pin-CAKaoYod.js +1 -0
- package/dist/showcase/assets/menus-C6mnp636.js +89 -0
- package/dist/showcase/assets/message-square-Zo5J_zU1.js +1 -0
- package/dist/showcase/assets/metadata-list-W83-UMhc.js +278 -0
- package/dist/showcase/assets/metric-BSvxidIX.js +1 -0
- package/dist/showcase/assets/metric-grid-Dtqx_3Lg.js +1 -0
- package/dist/showcase/assets/metric-trend-chip-mtvcJ_M9.js +1 -0
- package/dist/showcase/assets/metrics-analytics-bar-DQbyss7i.js +44 -0
- package/dist/showcase/assets/metrics-analytics-cards-CEBu5Uw0.js +77 -0
- package/dist/showcase/assets/metrics-comparison-Bs-R6v4y.js +76 -0
- package/dist/showcase/assets/metrics-heatmap-BKHWH8sM.js +27 -0
- package/dist/showcase/assets/metrics-inline-badge-BxVn0Y2p.js +17 -0
- package/dist/showcase/assets/metrics-kpi-row-DtACYEds.js +31 -0
- package/dist/showcase/assets/metrics-micro-grid-BkwUGOUR.js +42 -0
- package/dist/showcase/assets/metrics-overview-BAtrlzsI.js +192 -0
- package/dist/showcase/assets/metrics-stat-cards-iCRCNyHY.js +54 -0
- package/dist/showcase/assets/minus-C6eBW-2t.js +1 -0
- package/dist/showcase/assets/money-display-DjGRJ16l.js +1 -0
- package/dist/showcase/assets/month-year-picker-DTDebPqf.js +1 -0
- package/dist/showcase/assets/navigation-BrG8Chig.js +86 -0
- package/dist/showcase/assets/navigation-CfXQJbyM.js +230 -0
- package/dist/showcase/assets/navigation-extras-D_gzLlZ5.js +43 -0
- package/dist/showcase/assets/onboarding-checklist-1EerUwAo.js +119 -0
- package/dist/showcase/assets/overlays-2AB9-S1Z.js +88 -0
- package/dist/showcase/assets/overlays-CYt9o3Xq.js +393 -0
- package/dist/showcase/assets/package-BJMP-Fcr.js +1 -0
- package/dist/showcase/assets/page-action-button-BZxJ0X1j.js +1 -0
- package/dist/showcase/assets/page-header-B_rqHJhe.js +1 -0
- package/dist/showcase/assets/pagination-BHiQvvka.js +1 -0
- package/dist/showcase/assets/pagination-Dq0GruQd.js +42 -0
- package/dist/showcase/assets/paperclip-BMYKrUQo.js +1 -0
- package/dist/showcase/assets/pencil-BJ3VS_FO.js +1 -0
- package/dist/showcase/assets/phone-CsRIyvep.js +1 -0
- package/dist/showcase/assets/plus-D2JuXYLg.js +1 -0
- package/dist/showcase/assets/popover-DNT9755r.js +1 -0
- package/dist/showcase/assets/popover-KvGgcPNg.js +1 -0
- package/dist/showcase/assets/popover-menu-CJx30R65.js +1 -0
- package/dist/showcase/assets/progress-B7WuXcJR.js +1 -0
- package/dist/showcase/assets/progress-CweCSAUv.js +18 -0
- package/dist/showcase/assets/props-table-uDY4eIzt.js +1 -0
- package/dist/showcase/assets/quote-DAyyfzQd.js +1 -0
- package/dist/showcase/assets/receipt-C0mMZGbF.js +1 -0
- package/dist/showcase/assets/refresh-cw-X06JbXb-.js +1 -0
- package/dist/showcase/assets/resolveValueLabel-Bks7UDko.js +1 -0
- package/dist/showcase/assets/rich-text-editor-QJsb-qIe.js +124 -0
- package/dist/showcase/assets/rich-text-editor-h07VBNI9.js +141 -0
- package/dist/showcase/assets/rotate-ccw-D84bdX_x.js +1 -0
- package/dist/showcase/assets/scroll-area-0rT06pXZ.js +1 -0
- package/dist/showcase/assets/scroll-area-YXwdzGpN.js +32 -0
- package/dist/showcase/assets/select-BoWQDtUf.js +1 -0
- package/dist/showcase/assets/send-DJsk3cr1.js +1 -0
- package/dist/showcase/assets/separator-CLSnRcJa.js +28 -0
- package/dist/showcase/assets/separator-DWv-twD-.js +1 -0
- package/dist/showcase/assets/settings-Cb2MsAmN.js +1 -0
- package/dist/showcase/assets/sheet-Dn1-MYus.js +1 -0
- package/dist/showcase/assets/shield-DwLjF5ch.js +1 -0
- package/dist/showcase/assets/shield-alert-D8i6gzMK.js +1 -0
- package/dist/showcase/assets/shield-check-D5YRSBIz.js +1 -0
- package/dist/showcase/assets/shopping-bag-BqlAP4vn.js +1 -0
- package/dist/showcase/assets/sidebar.context-BAp_pBEB.js +1 -0
- package/dist/showcase/assets/skeleton-CeNPp4hr.js +1 -0
- package/dist/showcase/assets/skeleton-QPsnM_NR.js +29 -0
- package/dist/showcase/assets/smart-card-BisUbLPt.js +1 -0
- package/dist/showcase/assets/sonner-B7GzbBK2.js +22 -0
- package/dist/showcase/assets/sortable.esm-BDcEOHT7.js +5 -0
- package/dist/showcase/assets/sparkles-CF9P5Tqh.js +1 -0
- package/dist/showcase/assets/spinner-BeamEyJd.js +49 -0
- package/dist/showcase/assets/spinner-DoYBfalR.js +1 -0
- package/dist/showcase/assets/spinner-UsLsOYzn.js +30 -0
- package/dist/showcase/assets/square-pen-BGTVdnt1.js +1 -0
- package/dist/showcase/assets/stacked-avatars-BWfVX1Ov.js +1 -0
- package/dist/showcase/assets/star-NsPNO9gR.js +1 -0
- package/dist/showcase/assets/startOfDay-zJBpxLuW.js +1 -0
- package/dist/showcase/assets/styles-DA7a7hVy.js +1 -0
- package/dist/showcase/assets/switch-C62S4U2o.js +1 -0
- package/dist/showcase/assets/switch-CYQcinJZ.js +1 -0
- package/dist/showcase/assets/table-w4IABkpa.js +1 -0
- package/dist/showcase/assets/table-xgB63UrY.js +390 -0
- package/dist/showcase/assets/tabs-BFTEaTXj.js +19 -0
- package/dist/showcase/assets/tabs-oMJn9Ujq.js +1 -0
- package/dist/showcase/assets/text-button-BgcutPuu.js +1 -0
- package/dist/showcase/assets/text-link-CS9thOWL.js +1 -0
- package/dist/showcase/assets/textarea-BOBx4EM6.js +1 -0
- package/dist/showcase/assets/textarea-CTzYZZqa.js +1 -0
- package/dist/showcase/assets/timelines-CK07mEBK.js +186 -0
- package/dist/showcase/assets/toggle-group-CSPdPT6G.js +1 -0
- package/dist/showcase/assets/toggles-DDSdl-gA.js +71 -0
- package/dist/showcase/assets/toggles-group-Y2BdKEFB.js +32 -0
- package/dist/showcase/assets/trash-2-C-FAptQP.js +1 -0
- package/dist/showcase/assets/trending-up-BmLhdF_w.js +1 -0
- package/dist/showcase/assets/truck-pZdUS_as.js +1 -0
- package/dist/showcase/assets/typography-CnBH2z7f.js +214 -0
- package/dist/showcase/assets/ui-badge-Cl6INRO5.js +28 -0
- package/dist/showcase/assets/ui-card-B5P-thNu.js +30 -0
- package/dist/showcase/assets/ui-table-B32RILKk.js +42 -0
- package/dist/showcase/assets/upload-tray-mu6bR2ZE.js +138 -0
- package/dist/showcase/assets/useAnchoredPopupScrollLock-CzDaXxmM.js +1 -0
- package/dist/showcase/assets/useCollapsiblePanel-B0DZvDFu.js +1 -0
- package/dist/showcase/assets/useCompositeItem-BVIVLT9X.js +1 -0
- package/dist/showcase/assets/useCompositeListItem-JEMeTFPx.js +1 -0
- package/dist/showcase/assets/useControlled-ZjqBfPCn.js +1 -0
- package/dist/showcase/assets/useLabelableId-D8CZq8Bm.js +1 -0
- package/dist/showcase/assets/useOpenInteractionType-CopGCf3q.js +1 -0
- package/dist/showcase/assets/useRender-zuKv6JQF.js +1 -0
- package/dist/showcase/assets/useRole-08KeyiD3.js +1 -0
- package/dist/showcase/assets/useTriggerFocusGuards-DEuz5CGe.js +1 -0
- package/dist/showcase/assets/useValueChanged-BxFi_qyj.js +1 -0
- package/dist/showcase/assets/user-Bgc2t2_e.js +1 -0
- package/dist/showcase/assets/user-plus-F_TfagnP.js +1 -0
- package/dist/showcase/assets/users-B7G4yTCR.js +1 -0
- package/dist/showcase/assets/vendor-profile-BTQmsKM6.js +37 -0
- package/dist/showcase/assets/wrench-BdzICmjR.js +1 -0
- package/dist/showcase/assets/x-B156Wr-5.js +1 -0
- package/dist/showcase/assets/zap-B3iByjNV.js +1 -0
- package/dist/showcase/index.html +1 -1
- package/package.json +10 -1
- package/dist/_shared/accordion-7rwpgJ1k.cjs +0 -2
- package/dist/_shared/accordion-7rwpgJ1k.cjs.map +0 -1
- package/dist/_shared/accordion-DcduCEIo.js +0 -130
- package/dist/_shared/accordion-DcduCEIo.js.map +0 -1
- package/dist/_shared/action-menu-D0u-q0q-.cjs +0 -2
- package/dist/_shared/action-menu-D0u-q0q-.cjs.map +0 -1
- package/dist/_shared/action-menu-DUBXdReV.js +0 -96
- package/dist/_shared/action-menu-DUBXdReV.js.map +0 -1
- package/dist/_shared/ai-artifact-C3R0god0.cjs +0 -3
- package/dist/_shared/ai-artifact-C3R0god0.cjs.map +0 -1
- package/dist/_shared/ai-artifact-DMjQv_Si.js +0 -1068
- package/dist/_shared/ai-artifact-DMjQv_Si.js.map +0 -1
- package/dist/_shared/alert-B2cuJGAA.cjs +0 -2
- package/dist/_shared/alert-B2cuJGAA.cjs.map +0 -1
- package/dist/_shared/alert-BKUmOI2e.js +0 -48
- package/dist/_shared/alert-BKUmOI2e.js.map +0 -1
- package/dist/_shared/avatar-BcYcRORH.cjs +0 -2
- package/dist/_shared/avatar-BcYcRORH.cjs.map +0 -1
- package/dist/_shared/avatar-CNzG6jSZ.js +0 -52
- package/dist/_shared/avatar-CNzG6jSZ.js.map +0 -1
- package/dist/_shared/badge-BbUN6W7E.js +0 -108
- package/dist/_shared/badge-BbUN6W7E.js.map +0 -1
- package/dist/_shared/badge-BjtDcU1M.cjs +0 -2
- package/dist/_shared/badge-BjtDcU1M.cjs.map +0 -1
- package/dist/_shared/breadcrumbs-DctwTld5.js +0 -111
- package/dist/_shared/breadcrumbs-DctwTld5.js.map +0 -1
- package/dist/_shared/breadcrumbs-m0-gCdNj.cjs +0 -2
- package/dist/_shared/breadcrumbs-m0-gCdNj.cjs.map +0 -1
- package/dist/_shared/button-BCABTFLE.js +0 -46
- package/dist/_shared/button-BCABTFLE.js.map +0 -1
- package/dist/_shared/button-Ck2qS42n.js +0 -176
- package/dist/_shared/button-Ck2qS42n.js.map +0 -1
- package/dist/_shared/button-DjJ-mDI1.cjs +0 -2
- package/dist/_shared/button-DjJ-mDI1.cjs.map +0 -1
- package/dist/_shared/button-DjacsNTg.cjs +0 -2
- package/dist/_shared/button-DjacsNTg.cjs.map +0 -1
- package/dist/_shared/buttons-BVnjQ-uE.js +0 -143
- package/dist/_shared/buttons-BVnjQ-uE.js.map +0 -1
- package/dist/_shared/buttons-BdY6igTr.cjs +0 -2
- package/dist/_shared/buttons-BdY6igTr.cjs.map +0 -1
- package/dist/_shared/card-radio-group--GP1xrz_.js +0 -158
- package/dist/_shared/card-radio-group--GP1xrz_.js.map +0 -1
- package/dist/_shared/card-radio-group-DnQsWozr.cjs +0 -2
- package/dist/_shared/card-radio-group-DnQsWozr.cjs.map +0 -1
- package/dist/_shared/combobox-DBrRE1Dr.cjs +0 -2
- package/dist/_shared/combobox-DBrRE1Dr.cjs.map +0 -1
- package/dist/_shared/combobox-DYztEJaw.js +0 -746
- package/dist/_shared/combobox-DYztEJaw.js.map +0 -1
- package/dist/_shared/command-COvgXQ8r.cjs +0 -2
- package/dist/_shared/command-COvgXQ8r.cjs.map +0 -1
- package/dist/_shared/command-CvZ6Emb8.js +0 -39
- package/dist/_shared/command-CvZ6Emb8.js.map +0 -1
- package/dist/_shared/command-DTFQIUVG.cjs +0 -2
- package/dist/_shared/command-DTFQIUVG.cjs.map +0 -1
- package/dist/_shared/command-Sq8XbHbA.js +0 -123
- package/dist/_shared/command-Sq8XbHbA.js.map +0 -1
- package/dist/_shared/comments-BOFU1GYY.js +0 -945
- package/dist/_shared/comments-BOFU1GYY.js.map +0 -1
- package/dist/_shared/comments-BbTYFzx6.cjs +0 -2
- package/dist/_shared/comments-BbTYFzx6.cjs.map +0 -1
- package/dist/_shared/containers-BthqdOhA.cjs +0 -2
- package/dist/_shared/containers-BthqdOhA.cjs.map +0 -1
- package/dist/_shared/containers-CD2xs1nk.js +0 -19
- package/dist/_shared/containers-CD2xs1nk.js.map +0 -1
- package/dist/_shared/content-container-CFfYbWoa.js +0 -33
- package/dist/_shared/content-container-CFfYbWoa.js.map +0 -1
- package/dist/_shared/content-container-CReiVugL.cjs +0 -2
- package/dist/_shared/content-container-CReiVugL.cjs.map +0 -1
- package/dist/_shared/copyable-CweQ72QI.cjs +0 -2
- package/dist/_shared/copyable-CweQ72QI.cjs.map +0 -1
- package/dist/_shared/copyable-JgsTp6ev.js +0 -38
- package/dist/_shared/copyable-JgsTp6ev.js.map +0 -1
- package/dist/_shared/date-picker-DI4b-SeE.cjs +0 -2
- package/dist/_shared/date-picker-DI4b-SeE.cjs.map +0 -1
- package/dist/_shared/date-picker-DTazvODY.js +0 -1352
- package/dist/_shared/date-picker-DTazvODY.js.map +0 -1
- package/dist/_shared/date-pickers-CLzuzmuc.cjs +0 -2
- package/dist/_shared/date-pickers-CLzuzmuc.cjs.map +0 -1
- package/dist/_shared/date-pickers-CWPxP3zy.js +0 -330
- package/dist/_shared/date-pickers-CWPxP3zy.js.map +0 -1
- package/dist/_shared/dialog-2MJmaj_d.js +0 -101
- package/dist/_shared/dialog-2MJmaj_d.js.map +0 -1
- package/dist/_shared/dialog-KKD0i1T8.cjs +0 -2
- package/dist/_shared/dialog-KKD0i1T8.cjs.map +0 -1
- package/dist/_shared/display-BCy1Ti7T.cjs +0 -8
- package/dist/_shared/display-BCy1Ti7T.cjs.map +0 -1
- package/dist/_shared/display-DUpkE2aS.js +0 -1462
- package/dist/_shared/display-DUpkE2aS.js.map +0 -1
- package/dist/_shared/dropdown-menu-BebBffUH.cjs +0 -2
- package/dist/_shared/dropdown-menu-BebBffUH.cjs.map +0 -1
- package/dist/_shared/dropdown-menu-xdGEynC8.js +0 -147
- package/dist/_shared/dropdown-menu-xdGEynC8.js.map +0 -1
- package/dist/_shared/form-field-rOj3cm6C.js +0 -319
- package/dist/_shared/form-field-rOj3cm6C.js.map +0 -1
- package/dist/_shared/form-field-rcyIIHjR.cjs +0 -2
- package/dist/_shared/form-field-rcyIIHjR.cjs.map +0 -1
- package/dist/_shared/form-sizing--bs_xPe2.cjs +0 -2
- package/dist/_shared/form-sizing--bs_xPe2.cjs.map +0 -1
- package/dist/_shared/form-sizing-CkKcs5fi.js +0 -21
- package/dist/_shared/form-sizing-CkKcs5fi.js.map +0 -1
- package/dist/_shared/format-BlVEsPyT.js +0 -48
- package/dist/_shared/format-BlVEsPyT.js.map +0 -1
- package/dist/_shared/format-DYVtSA2I.cjs +0 -2
- package/dist/_shared/format-DYVtSA2I.cjs.map +0 -1
- package/dist/_shared/forms-BAVsxxRk.js +0 -3374
- package/dist/_shared/forms-BAVsxxRk.js.map +0 -1
- package/dist/_shared/forms-DaZ3LsYc.cjs +0 -2
- package/dist/_shared/forms-DaZ3LsYc.cjs.map +0 -1
- package/dist/_shared/header-BtTMsQ5P.cjs +0 -2
- package/dist/_shared/header-BtTMsQ5P.cjs.map +0 -1
- package/dist/_shared/header-DpW4UWV6.js +0 -369
- package/dist/_shared/header-DpW4UWV6.js.map +0 -1
- package/dist/_shared/hooks-Bsm917yh.cjs +0 -2
- package/dist/_shared/hooks-Bsm917yh.cjs.map +0 -1
- package/dist/_shared/hooks-CX-SICd4.js +0 -118
- package/dist/_shared/hooks-CX-SICd4.js.map +0 -1
- package/dist/_shared/icon-badge-DGKpbo9_.cjs +0 -2
- package/dist/_shared/icon-badge-DGKpbo9_.cjs.map +0 -1
- package/dist/_shared/icon-badge-DoClA_9q.js +0 -52
- package/dist/_shared/icon-badge-DoClA_9q.js.map +0 -1
- package/dist/_shared/input-BXt-YtVs.cjs +0 -2
- package/dist/_shared/input-BXt-YtVs.cjs.map +0 -1
- package/dist/_shared/input-Bx4LeLhn.js +0 -17
- package/dist/_shared/input-Bx4LeLhn.js.map +0 -1
- package/dist/_shared/input-ChZGIhtS.cjs +0 -2
- package/dist/_shared/input-ChZGIhtS.cjs.map +0 -1
- package/dist/_shared/input-Cwv1-5jt.js +0 -182
- package/dist/_shared/input-Cwv1-5jt.js.map +0 -1
- package/dist/_shared/item-BmTYKzEb.js +0 -224
- package/dist/_shared/item-BmTYKzEb.js.map +0 -1
- package/dist/_shared/item-BtR-bz96.cjs +0 -2
- package/dist/_shared/item-BtR-bz96.cjs.map +0 -1
- package/dist/_shared/mentions-DVCjaO_z.cjs +0 -2
- package/dist/_shared/mentions-DVCjaO_z.cjs.map +0 -1
- package/dist/_shared/mentions-DzG8mX5H.js +0 -493
- package/dist/_shared/mentions-DzG8mX5H.js.map +0 -1
- package/dist/_shared/money-display-B5oxCs_0.cjs +0 -2
- package/dist/_shared/money-display-B5oxCs_0.cjs.map +0 -1
- package/dist/_shared/money-display-C0wI02ou.js +0 -198
- package/dist/_shared/money-display-C0wI02ou.js.map +0 -1
- package/dist/_shared/navigation-BA2nsTgU.cjs +0 -2
- package/dist/_shared/navigation-BA2nsTgU.cjs.map +0 -1
- package/dist/_shared/navigation-DHyaf-RZ.js +0 -420
- package/dist/_shared/navigation-DHyaf-RZ.js.map +0 -1
- package/dist/_shared/overlays-Kl6Gp6WR.js +0 -633
- package/dist/_shared/overlays-Kl6Gp6WR.js.map +0 -1
- package/dist/_shared/overlays-W6j-Pe1L.cjs +0 -2
- package/dist/_shared/overlays-W6j-Pe1L.cjs.map +0 -1
- package/dist/_shared/page-DROZhtWT.js +0 -263
- package/dist/_shared/page-DROZhtWT.js.map +0 -1
- package/dist/_shared/page-lh9Rcx_d.cjs +0 -2
- package/dist/_shared/page-lh9Rcx_d.cjs.map +0 -1
- package/dist/_shared/popover-BTEwjJZS.cjs +0 -2
- package/dist/_shared/popover-BTEwjJZS.cjs.map +0 -1
- package/dist/_shared/popover-CF9VWt-l.js +0 -83
- package/dist/_shared/popover-CF9VWt-l.js.map +0 -1
- package/dist/_shared/popover-menu-BYesl29w.js +0 -95
- package/dist/_shared/popover-menu-BYesl29w.js.map +0 -1
- package/dist/_shared/popover-menu-DF9sWz61.cjs +0 -2
- package/dist/_shared/popover-menu-DF9sWz61.cjs.map +0 -1
- package/dist/_shared/rich-text-editor-UZghkgsh.cjs +0 -2
- package/dist/_shared/rich-text-editor-UZghkgsh.cjs.map +0 -1
- package/dist/_shared/rich-text-editor-fUeuK-rY.js +0 -608
- package/dist/_shared/rich-text-editor-fUeuK-rY.js.map +0 -1
- package/dist/_shared/scroll-area-XJLcCczs.js +0 -41
- package/dist/_shared/scroll-area-XJLcCczs.js.map +0 -1
- package/dist/_shared/scroll-area-y8ZJoS97.cjs +0 -2
- package/dist/_shared/scroll-area-y8ZJoS97.cjs.map +0 -1
- package/dist/_shared/select-D8MYF4f7.js +0 -85
- package/dist/_shared/select-D8MYF4f7.js.map +0 -1
- package/dist/_shared/select-DxAiUfpM.cjs +0 -2
- package/dist/_shared/select-DxAiUfpM.cjs.map +0 -1
- package/dist/_shared/separator-BazqiQ9s.js +0 -16
- package/dist/_shared/separator-BazqiQ9s.js.map +0 -1
- package/dist/_shared/separator-DSkXMOXq.cjs +0 -2
- package/dist/_shared/separator-DSkXMOXq.cjs.map +0 -1
- package/dist/_shared/sheet-7iHOs-IU.js +0 -100
- package/dist/_shared/sheet-7iHOs-IU.js.map +0 -1
- package/dist/_shared/sheet-qKtoyxgi.cjs +0 -2
- package/dist/_shared/sheet-qKtoyxgi.cjs.map +0 -1
- package/dist/_shared/sidebar-CaTUJ3t-.js +0 -537
- package/dist/_shared/sidebar-CaTUJ3t-.js.map +0 -1
- package/dist/_shared/sidebar-DVjfsm-f.cjs +0 -2
- package/dist/_shared/sidebar-DVjfsm-f.cjs.map +0 -1
- package/dist/_shared/sidebar-aV5DVAVg.js +0 -371
- package/dist/_shared/sidebar-aV5DVAVg.js.map +0 -1
- package/dist/_shared/sidebar-mL0jSJ8u.cjs +0 -2
- package/dist/_shared/sidebar-mL0jSJ8u.cjs.map +0 -1
- package/dist/_shared/skeleton-Bwv_j9jJ.cjs +0 -2
- package/dist/_shared/skeleton-Bwv_j9jJ.cjs.map +0 -1
- package/dist/_shared/skeleton-DyKa-Ed-.js +0 -14
- package/dist/_shared/skeleton-DyKa-Ed-.js.map +0 -1
- package/dist/_shared/slot-ClIPTht1.cjs +0 -2
- package/dist/_shared/slot-ClIPTht1.cjs.map +0 -1
- package/dist/_shared/slot-CrS_VEVl.js +0 -18
- package/dist/_shared/slot-CrS_VEVl.js.map +0 -1
- package/dist/_shared/smart-card-Ddsjvf7r.cjs +0 -2
- package/dist/_shared/smart-card-Ddsjvf7r.cjs.map +0 -1
- package/dist/_shared/smart-card-hJ01usWt.js +0 -360
- package/dist/_shared/smart-card-hJ01usWt.js.map +0 -1
- package/dist/_shared/spinner-D-pcMBt1.js +0 -67
- package/dist/_shared/spinner-D-pcMBt1.js.map +0 -1
- package/dist/_shared/spinner-zbmhn0vE.cjs +0 -2
- package/dist/_shared/spinner-zbmhn0vE.cjs.map +0 -1
- package/dist/_shared/switch-C5J37LMI.cjs +0 -2
- package/dist/_shared/switch-C5J37LMI.cjs.map +0 -1
- package/dist/_shared/switch-ClGgHcEb.js +0 -51
- package/dist/_shared/switch-ClGgHcEb.js.map +0 -1
- package/dist/_shared/textarea-DeISZfHw.js +0 -119
- package/dist/_shared/textarea-DeISZfHw.js.map +0 -1
- package/dist/_shared/textarea-iR9txrty.cjs +0 -2
- package/dist/_shared/textarea-iR9txrty.cjs.map +0 -1
- package/dist/_shared/tooltip-CEqxHWxQ.js +0 -49
- package/dist/_shared/tooltip-CEqxHWxQ.js.map +0 -1
- package/dist/_shared/tooltip-DPv0LGr9.cjs +0 -2
- package/dist/_shared/tooltip-DPv0LGr9.cjs.map +0 -1
- package/dist/_shared/typography-BtPQBvSm.js +0 -135
- package/dist/_shared/typography-BtPQBvSm.js.map +0 -1
- package/dist/_shared/typography-DClleVWi.cjs +0 -2
- package/dist/_shared/typography-DClleVWi.cjs.map +0 -1
- package/dist/showcase/assets/AreaChart-D-RqNtqG.js +0 -6
- package/dist/showcase/assets/CSPContext-t69BXyB7.js +0 -1
- package/dist/showcase/assets/CompositeItem-DHNLgEeV.js +0 -1
- package/dist/showcase/assets/CompositeRoot-xq_0ZFev.js +0 -1
- package/dist/showcase/assets/DialogTrigger-Cl7n_3xX.js +0 -1
- package/dist/showcase/assets/FormContext-CXdwDz7F.js +0 -1
- package/dist/showcase/assets/PreviewLayout-BHemtKEf.js +0 -1
- package/dist/showcase/assets/RadioGroup-DXAt4VZN.js +0 -1
- package/dist/showcase/assets/Separator-C9vXwWmZ.js +0 -1
- package/dist/showcase/assets/ToolbarRootContext-iF4ctnIz.js +0 -1
- package/dist/showcase/assets/accordion-DzkNgNcB.js +0 -172
- package/dist/showcase/assets/accordion-variants-DP5-oxLe.js +0 -1
- package/dist/showcase/assets/action-menu-CyA2e9TF.js +0 -1
- package/dist/showcase/assets/activities-Dt-dO5ew.js +0 -501
- package/dist/showcase/assets/activities-feed-card-DZdFekXl.js +0 -1
- package/dist/showcase/assets/admin-C2SeJmE7.js +0 -80
- package/dist/showcase/assets/ai-Cwo0h_Xn.js +0 -41
- package/dist/showcase/assets/ai-artifact-3UJofyU5.js +0 -2
- package/dist/showcase/assets/ai-chat-CrFtG_Vg.js +0 -568
- package/dist/showcase/assets/ai-elements-iJ15Y7pS.js +0 -379
- package/dist/showcase/assets/ai-new-DuznZydd.js +0 -167
- package/dist/showcase/assets/ai-tool-call-CTcGGAQU.js +0 -1
- package/dist/showcase/assets/alert-CUGGckOX.js +0 -1
- package/dist/showcase/assets/alert-tWped3Sw.js +0 -59
- package/dist/showcase/assets/api-key-list-Q5LAqzMn.js +0 -73
- package/dist/showcase/assets/arrow-down-CfwCPcHL.js +0 -1
- package/dist/showcase/assets/arrow-left-BKx9qNX6.js +0 -1
- package/dist/showcase/assets/arrow-right-DlEpbqEk.js +0 -1
- package/dist/showcase/assets/arrow-up-BYQ4F9L1.js +0 -1
- package/dist/showcase/assets/arrow-up-right-C8r6vYfE.js +0 -1
- package/dist/showcase/assets/avatar-BuZ3zTbH.js +0 -57
- package/dist/showcase/assets/avatar-DR2mqPpY.js +0 -1
- package/dist/showcase/assets/badge-D1HLfP93.js +0 -28
- package/dist/showcase/assets/badge-check-oP2z_95u.js +0 -1
- package/dist/showcase/assets/bell-BTX2D-ES.js +0 -1
- package/dist/showcase/assets/bot-CKh5XgUG.js +0 -1
- package/dist/showcase/assets/box-F1uaZ6iw.js +0 -1
- package/dist/showcase/assets/brain-dD_ppLUa.js +0 -1
- package/dist/showcase/assets/brand-zisZOFKf.js +0 -40
- package/dist/showcase/assets/breadcrumb-C7vv0L8K.js +0 -52
- package/dist/showcase/assets/breadcrumb-fay5sLba.js +0 -1
- package/dist/showcase/assets/breadcrumbs-DklRXepp.js +0 -1
- package/dist/showcase/assets/briefcase-D9M4aNmi.js +0 -1
- package/dist/showcase/assets/button-DbhXfR1N.js +0 -44
- package/dist/showcase/assets/button-group-BpdhyMif.js +0 -1
- package/dist/showcase/assets/buttons-XexbmUtN.js +0 -259
- package/dist/showcase/assets/calendar-BADJgjpI.js +0 -16
- package/dist/showcase/assets/calendar-Djh3xLVx.js +0 -1
- package/dist/showcase/assets/calendar-dWZ2-0gU.js +0 -1
- package/dist/showcase/assets/card-BUSAPPkx.js +0 -1
- package/dist/showcase/assets/cards-DHBPe01w.js +0 -328
- package/dist/showcase/assets/chart-column-6l5wIZ0h.js +0 -1
- package/dist/showcase/assets/chevron-down-at2vrt1V.js +0 -1
- package/dist/showcase/assets/chevron-left-DIs3WYNO.js +0 -1
- package/dist/showcase/assets/chevron-right-BNy0Or0x.js +0 -1
- package/dist/showcase/assets/chevron-up-CX7619BJ.js +0 -1
- package/dist/showcase/assets/chevrons-up-down-Be6eciau.js +0 -1
- package/dist/showcase/assets/circle-C0Yd1DDS.js +0 -1
- package/dist/showcase/assets/circle-alert-DfQp_X3_.js +0 -1
- package/dist/showcase/assets/circle-check-BkqQe1tv.js +0 -1
- package/dist/showcase/assets/circle-check-big-BXxHUhuc.js +0 -1
- package/dist/showcase/assets/circle-dot-HeRgxZxN.js +0 -1
- package/dist/showcase/assets/circle-question-mark-BgS4fb6N.js +0 -1
- package/dist/showcase/assets/circle-x-CMzwDsaf.js +0 -1
- package/dist/showcase/assets/clock-ynCzs_rR.js +0 -1
- package/dist/showcase/assets/code-xml-B8aVstrJ.js +0 -1
- package/dist/showcase/assets/collapsible-C8CKdiRn.js +0 -27
- package/dist/showcase/assets/collapsible-u43HxDHB.js +0 -1
- package/dist/showcase/assets/combobox-D-6ff0VG.js +0 -622
- package/dist/showcase/assets/command-BsHudlBe.js +0 -1
- package/dist/showcase/assets/command-DZqmBolX.js +0 -45
- package/dist/showcase/assets/comment-composer-OnxlkC5y.js +0 -1
- package/dist/showcase/assets/comment-item-DmZ1AJ2Y.js +0 -1
- package/dist/showcase/assets/comments-BjIVksjE.js +0 -349
- package/dist/showcase/assets/commerce-3T1GxvrA.js +0 -78
- package/dist/showcase/assets/commerce-extras-CYv_uRQR.js +0 -179
- package/dist/showcase/assets/composite-mol0-2zZ.js +0 -1
- package/dist/showcase/assets/contact-card-CWAANJqn.js +0 -65
- package/dist/showcase/assets/content-container-D3Phw6h8.js +0 -1
- package/dist/showcase/assets/copyable-BdzUH3U3.js +0 -96
- package/dist/showcase/assets/course-card-Cb6Y2vJ6.js +0 -113
- package/dist/showcase/assets/cpu-CRrekbGQ.js +0 -1
- package/dist/showcase/assets/credit-card--5vg7bQy.js +0 -1
- package/dist/showcase/assets/currency-VuqnKj_Y.js +0 -149
- package/dist/showcase/assets/dark-surfaces-DEyBimFz.js +0 -90
- package/dist/showcase/assets/database-Bnvw0wVV.js +0 -1
- package/dist/showcase/assets/date-block-IhoCVl_d.js +0 -1
- package/dist/showcase/assets/date-picker-DnJpsnaF.js +0 -1
- package/dist/showcase/assets/date-pickers-CEbieq-R.js +0 -110
- package/dist/showcase/assets/dense-info-B04QmrOd.js +0 -106
- package/dist/showcase/assets/dialog-DotEO3IO.js +0 -1
- package/dist/showcase/assets/display-hK7Dtm-B.js +0 -392
- package/dist/showcase/assets/dist-DQgGKvzA.js +0 -1
- package/dist/showcase/assets/dollar-sign-gJtl-XaL.js +0 -1
- package/dist/showcase/assets/download-CMrNgeil.js +0 -1
- package/dist/showcase/assets/dropdown-menu-Cqv6D7Sb.js +0 -1
- package/dist/showcase/assets/dropzone-v69fWHZJ.js +0 -1
- package/dist/showcase/assets/ellipsis-CgqPlt6Z.js +0 -1
- package/dist/showcase/assets/ellipsis-vertical-CiJqC0n2.js +0 -1
- package/dist/showcase/assets/empty-DYHzk-Gb.js +0 -1
- package/dist/showcase/assets/empty-item-CTwvC_3M.js +0 -49
- package/dist/showcase/assets/empty-state-eUgJ4h41.js +0 -188
- package/dist/showcase/assets/enhanced-activities-XU2u5gO6.js +0 -359
- package/dist/showcase/assets/esm-B7xAMXnv.js +0 -2
- package/dist/showcase/assets/event-calendar-D2rjpzq1.js +0 -138
- package/dist/showcase/assets/event-log-BxER62Ds.js +0 -326
- package/dist/showcase/assets/example-DPfw-R7_.js +0 -1
- package/dist/showcase/assets/external-link-DJNGkjZ0.js +0 -1
- package/dist/showcase/assets/eye-BQU3UqWi.js +0 -1
- package/dist/showcase/assets/feature-announcement-CjGQEODB.js +0 -34
- package/dist/showcase/assets/file-DBpbC8g-.js +0 -1
- package/dist/showcase/assets/file-text-DokBif5V.js +0 -1
- package/dist/showcase/assets/filters-DM2olMKy.js +0 -78
- package/dist/showcase/assets/flag-hAuZbHU1.js +0 -1
- package/dist/showcase/assets/folder-open-DqubQ0ts.js +0 -1
- package/dist/showcase/assets/form-sizing-CfbZF8Ja.js +0 -1
- package/dist/showcase/assets/format-gCABLair.js +0 -1
- package/dist/showcase/assets/forms-FsAT0C-I.js +0 -790
- package/dist/showcase/assets/generic-BUuo7j09.js +0 -1
- package/dist/showcase/assets/getPseudoElementBounds-l8uxcPNL.js +0 -1
- package/dist/showcase/assets/gift-CS7Tg3kD.js +0 -1
- package/dist/showcase/assets/giftcard-cards-h1ffLs9F.js +0 -85
- package/dist/showcase/assets/git-branch-D4-6vv6t.js +0 -1
- package/dist/showcase/assets/global-search-BUyhhsQv.js +0 -90
- package/dist/showcase/assets/globe-CqLYhUfl.js +0 -1
- package/dist/showcase/assets/gradient-card-Bwr9OLIL.js +0 -58
- package/dist/showcase/assets/header-notifications-BWla1yhM.js +0 -1
- package/dist/showcase/assets/heart-DfZtXfIP.js +0 -1
- package/dist/showcase/assets/house-DhIReDt8.js +0 -1
- package/dist/showcase/assets/icon-badge-BgRFYZEc.js +0 -1
- package/dist/showcase/assets/image-D_eNEZWQ.js +0 -1
- package/dist/showcase/assets/inbox-5sFkO7gC.js +0 -1
- package/dist/showcase/assets/index-B-Z7p0So.js +0 -10
- package/dist/showcase/assets/inertValue-NU_Amr-x.js +0 -1
- package/dist/showcase/assets/info-DyB6KH3Z.js +0 -1
- package/dist/showcase/assets/inline-stat-D2aaM1Vt.js +0 -1
- package/dist/showcase/assets/input-BS64kyoq.js +0 -1
- package/dist/showcase/assets/input-DWLyniGt.js +0 -1
- package/dist/showcase/assets/input-group-BS8j5Eek.js +0 -47
- package/dist/showcase/assets/input-group-B_E_3EGS.js +0 -1
- package/dist/showcase/assets/inputs-DOQ2foig.js +0 -49
- package/dist/showcase/assets/invoice-header-C2-uQE_s.js +0 -36
- package/dist/showcase/assets/invoice-items-BUunRJqA.js +0 -36
- package/dist/showcase/assets/invoice-mini-BrLMrzN6.js +0 -14
- package/dist/showcase/assets/invoice-table-CaB9Z8jI.js +0 -30
- package/dist/showcase/assets/isSameDay-rwvIyLOL.js +0 -1
- package/dist/showcase/assets/isToday-CIAzBrb5.js +0 -1
- package/dist/showcase/assets/italic-B02a4PdD.js +0 -1
- package/dist/showcase/assets/item-C-0RObvI.js +0 -117
- package/dist/showcase/assets/item-CCu0Ufaq.js +0 -1
- package/dist/showcase/assets/item-DF4m_56j.js +0 -1
- package/dist/showcase/assets/kanban-BgW23a7P.js +0 -175
- package/dist/showcase/assets/label-MdV7pglj.js +0 -1
- package/dist/showcase/assets/layout-containers-nKVReEJB.js +0 -96
- package/dist/showcase/assets/layout-header-CKyxHHPC.js +0 -170
- package/dist/showcase/assets/layout-page-ClD2yMnK.js +0 -122
- package/dist/showcase/assets/layout-sidebar-jdQnYDiT.js +0 -224
- package/dist/showcase/assets/layout-users-Cv849xnU.js +0 -104
- package/dist/showcase/assets/lib-BHW4JERQ.js +0 -1
- package/dist/showcase/assets/lock-B8bfl9sZ.js +0 -1
- package/dist/showcase/assets/mail-DmOBTX4I.js +0 -1
- package/dist/showcase/assets/map-ButgRl8f.js +0 -124
- package/dist/showcase/assets/map-pin-o3egisLq.js +0 -1
- package/dist/showcase/assets/menus-DdXgYKVA.js +0 -89
- package/dist/showcase/assets/message-square-Bl6P4TA0.js +0 -1
- package/dist/showcase/assets/metadata-list-aXo96h_U.js +0 -278
- package/dist/showcase/assets/metric-BLHKuZtE.js +0 -1
- package/dist/showcase/assets/metric-grid-6Dpj5eV3.js +0 -1
- package/dist/showcase/assets/metric-trend-chip-m389ipmG.js +0 -1
- package/dist/showcase/assets/metrics-analytics-bar-B-1IUlHf.js +0 -44
- package/dist/showcase/assets/metrics-analytics-cards-B8tvK_RB.js +0 -77
- package/dist/showcase/assets/metrics-comparison-DKJ7Js3F.js +0 -76
- package/dist/showcase/assets/metrics-heatmap-BlRnJoI0.js +0 -27
- package/dist/showcase/assets/metrics-inline-badge-COI7f64X.js +0 -17
- package/dist/showcase/assets/metrics-kpi-row-LRfmKhsy.js +0 -31
- package/dist/showcase/assets/metrics-micro-grid-DmqIQVVR.js +0 -42
- package/dist/showcase/assets/metrics-overview-Dbf5RM2k.js +0 -192
- package/dist/showcase/assets/metrics-stat-cards-D5oevQvv.js +0 -54
- package/dist/showcase/assets/minus-D-jmUi0G.js +0 -1
- package/dist/showcase/assets/money-display-C__61373.js +0 -1
- package/dist/showcase/assets/month-year-picker-BfBQePUY.js +0 -1
- package/dist/showcase/assets/navigation-DUAe-sQV.js +0 -86
- package/dist/showcase/assets/navigation-extras-itSAf6QT.js +0 -43
- package/dist/showcase/assets/navigation-fAOvwIlP.js +0 -230
- package/dist/showcase/assets/onboarding-checklist-1gmzk3_J.js +0 -119
- package/dist/showcase/assets/overlays-BMTBOIEI.js +0 -88
- package/dist/showcase/assets/overlays-Lu16yJWM.js +0 -393
- package/dist/showcase/assets/package-BIa1hPVQ.js +0 -1
- package/dist/showcase/assets/page-action-button-C5NiQHnP.js +0 -1
- package/dist/showcase/assets/page-header-Cwf9DuhD.js +0 -1
- package/dist/showcase/assets/pagination-9iSNmdCx.js +0 -1
- package/dist/showcase/assets/pagination-MjniF-7j.js +0 -42
- package/dist/showcase/assets/paperclip-CaNLUOIA.js +0 -1
- package/dist/showcase/assets/pencil-DTLGPoc_.js +0 -1
- package/dist/showcase/assets/phone-XvU6LndA.js +0 -1
- package/dist/showcase/assets/plus-BDSCn8ol.js +0 -1
- package/dist/showcase/assets/popover-CvhuubS6.js +0 -1
- package/dist/showcase/assets/popover-DUQqLZN2.js +0 -1
- package/dist/showcase/assets/popover-menu-DVGBuFpL.js +0 -1
- package/dist/showcase/assets/progress-BQopCRpV.js +0 -1
- package/dist/showcase/assets/progress-CvSUR260.js +0 -18
- package/dist/showcase/assets/props-table-BzUnIcv-.js +0 -1
- package/dist/showcase/assets/quote-D55lkoXn.js +0 -1
- package/dist/showcase/assets/receipt-D3ilhl9U.js +0 -1
- package/dist/showcase/assets/refresh-cw-Csl2LQ4l.js +0 -1
- package/dist/showcase/assets/resolveValueLabel-CM5i142y.js +0 -1
- package/dist/showcase/assets/rich-text-editor-Bz7jWvPv.js +0 -124
- package/dist/showcase/assets/rich-text-editor-DWKFpgNI.js +0 -141
- package/dist/showcase/assets/rotate-ccw-BnkpK7eq.js +0 -1
- package/dist/showcase/assets/scroll-area-BTVLd58j.js +0 -1
- package/dist/showcase/assets/scroll-area-CgFEDepJ.js +0 -32
- package/dist/showcase/assets/select-B7-tZDlG.js +0 -1
- package/dist/showcase/assets/send-BhjEdZ06.js +0 -1
- package/dist/showcase/assets/separator-CJayjKGP.js +0 -28
- package/dist/showcase/assets/separator-CZ_sPWQj.js +0 -1
- package/dist/showcase/assets/settings-Duj7gAZe.js +0 -1
- package/dist/showcase/assets/sheet-BMabZ_Gj.js +0 -1
- package/dist/showcase/assets/shield-C22sWOf4.js +0 -1
- package/dist/showcase/assets/shield-alert-DgZ6UO46.js +0 -1
- package/dist/showcase/assets/shield-check-jGSgmijm.js +0 -1
- package/dist/showcase/assets/shopping-bag-Cd09Ga6D.js +0 -1
- package/dist/showcase/assets/sidebar.context-CXTHS3vn.js +0 -1
- package/dist/showcase/assets/skeleton-Dmp4eC1A.js +0 -1
- package/dist/showcase/assets/skeleton-FLNbc7QP.js +0 -29
- package/dist/showcase/assets/smart-card-50WN9sCI.js +0 -1
- package/dist/showcase/assets/sonner-DR_DYpqb.js +0 -22
- package/dist/showcase/assets/sortable.esm-C_l8_Iqt.js +0 -5
- package/dist/showcase/assets/sparkles-C-fyahzv.js +0 -1
- package/dist/showcase/assets/spinner-B8jgVQNj.js +0 -30
- package/dist/showcase/assets/spinner-C4zPRpI0.js +0 -49
- package/dist/showcase/assets/spinner-DFjHsQlR.js +0 -1
- package/dist/showcase/assets/square-pen-Dp7lCfI3.js +0 -1
- package/dist/showcase/assets/stacked-avatars-CTckbUiW.js +0 -1
- package/dist/showcase/assets/star-l00ivfkD.js +0 -1
- package/dist/showcase/assets/startOfDay-Xmododib.js +0 -1
- package/dist/showcase/assets/styles-zuwR0q1z.js +0 -1
- package/dist/showcase/assets/switch-D3LrIrTQ.js +0 -1
- package/dist/showcase/assets/switch-ylXVyh_N.js +0 -1
- package/dist/showcase/assets/table-Cn3-19zb.js +0 -1
- package/dist/showcase/assets/table-ao3IcAnF.js +0 -390
- package/dist/showcase/assets/tabs-CTLQKtiu.js +0 -19
- package/dist/showcase/assets/tabs-lc1fX94A.js +0 -1
- package/dist/showcase/assets/text-button-Fu8UY1A8.js +0 -1
- package/dist/showcase/assets/text-link--EyGasJN.js +0 -1
- package/dist/showcase/assets/textarea-BdhnlNrF.js +0 -1
- package/dist/showcase/assets/textarea-D1kG3a9B.js +0 -1
- package/dist/showcase/assets/timelines-DF3tNgyG.js +0 -186
- package/dist/showcase/assets/toggle-group-CfxuWsv9.js +0 -1
- package/dist/showcase/assets/toggles-CacdBPlV.js +0 -71
- package/dist/showcase/assets/toggles-group-CRhgTGmL.js +0 -32
- package/dist/showcase/assets/trash-2-B0_GprQM.js +0 -1
- package/dist/showcase/assets/trending-up-B202l1b6.js +0 -1
- package/dist/showcase/assets/truck-Bl1pNrHi.js +0 -1
- package/dist/showcase/assets/typography-DEtOxBlR.js +0 -214
- package/dist/showcase/assets/ui-badge-n4RA0J5b.js +0 -28
- package/dist/showcase/assets/ui-card-Ck-kzrTh.js +0 -30
- package/dist/showcase/assets/ui-table-gzOp82pf.js +0 -42
- package/dist/showcase/assets/upload-tray-VvKdTZSi.js +0 -138
- package/dist/showcase/assets/useAnchoredPopupScrollLock-Cu2ZwN7Z.js +0 -1
- package/dist/showcase/assets/useCollapsiblePanel-C6_cdQ7B.js +0 -1
- package/dist/showcase/assets/useCompositeItem-BfUPqXoj.js +0 -1
- package/dist/showcase/assets/useCompositeListItem-Cf2lpKB8.js +0 -1
- package/dist/showcase/assets/useControlled-C6q3nmcf.js +0 -1
- package/dist/showcase/assets/useLabelableId-CfPT16c1.js +0 -1
- package/dist/showcase/assets/useOpenInteractionType-CGeqRuuY.js +0 -1
- package/dist/showcase/assets/useRender-CoUlh0uZ.js +0 -1
- package/dist/showcase/assets/useRole-DSPUSyVX.js +0 -1
- package/dist/showcase/assets/useTriggerFocusGuards-BwZ1HD24.js +0 -1
- package/dist/showcase/assets/useValueChanged-Dej794I1.js +0 -1
- package/dist/showcase/assets/user-3L762Mec.js +0 -1
- package/dist/showcase/assets/user-plus-9WRYjS04.js +0 -1
- package/dist/showcase/assets/users-CxKZ7gt8.js +0 -1
- package/dist/showcase/assets/vendor-profile-BaCptdMF.js +0 -37
- package/dist/showcase/assets/wrench-Duh91tnW.js +0 -1
- package/dist/showcase/assets/x-t42iKYpL.js +0 -1
- package/dist/showcase/assets/zap-D0z3Tv_L.js +0 -1
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"date-picker-B8O_qbik.js","names":[],"sources":["../../src/components/ui/calendar.tsx","../../src/components/base/date-pickers/date-picker-footer.tsx","../../src/components/base/date-pickers/date-picker-header.tsx","../../src/components/base/date-pickers/date-picker-helpers.ts","../../src/components/base/date-pickers/date-pickers.strings.ts","../../src/components/ui/toggle.tsx","../../src/components/ui/toggle-group.tsx","../../src/components/base/date-pickers/segmented-time-input.tsx","../../src/components/base/date-pickers/date-picker.tsx"],"sourcesContent":["\"use client\"\n\nimport { ChevronLeftIcon, ChevronRightIcon, ChevronDownIcon } from \"lucide-react\"\nimport * as React from \"react\"\nimport {\n DayPicker,\n getDefaultClassNames,\n type DayButton,\n type Locale,\n} from \"react-day-picker\"\n\nimport { Button, buttonVariants } from \"@/components/ui/button\"\nimport { cn } from \"@/lib/utils\"\n\nfunction Calendar({\n className,\n classNames,\n showOutsideDays = true,\n captionLayout = \"label\",\n buttonVariant = \"ghost\",\n locale,\n formatters,\n components,\n ...props\n}: React.ComponentProps<typeof DayPicker> & {\n buttonVariant?: React.ComponentProps<typeof Button>[\"variant\"]\n}) {\n const defaultClassNames = getDefaultClassNames()\n\n return (\n <DayPicker\n showOutsideDays={showOutsideDays}\n className={cn(\n \"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\",\n String.raw`rtl:**:[.rdp-button\\_next>svg]:rotate-180`,\n String.raw`rtl:**:[.rdp-button\\_previous>svg]:rotate-180`,\n className\n )}\n captionLayout={captionLayout}\n locale={locale}\n formatters={{\n formatMonthDropdown: (date) =>\n date.toLocaleString(locale?.code, { month: \"short\" }),\n ...formatters,\n }}\n classNames={{\n root: cn(\"w-fit\", defaultClassNames.root),\n months: cn(\n \"flex gap-4 flex-col md:flex-row relative\",\n defaultClassNames.months\n ),\n month: cn(\"flex flex-col w-full gap-4\", defaultClassNames.month),\n nav: cn(\n \"flex items-center gap-1 w-full absolute top-0 inset-x-0 justify-between\",\n defaultClassNames.nav\n ),\n button_previous: cn(\n buttonVariants({ variant: buttonVariant }),\n \"size-(--cell-size) aria-disabled:opacity-50 p-0 select-none\",\n defaultClassNames.button_previous\n ),\n button_next: cn(\n buttonVariants({ variant: buttonVariant }),\n \"size-(--cell-size) aria-disabled:opacity-50 p-0 select-none\",\n defaultClassNames.button_next\n ),\n month_caption: cn(\n \"flex items-center justify-center h-(--cell-size) w-full px-(--cell-size)\",\n defaultClassNames.month_caption\n ),\n dropdowns: cn(\n \"w-full flex items-center text-sm font-medium justify-center h-(--cell-size) gap-1.5\",\n defaultClassNames.dropdowns\n ),\n dropdown_root: cn(\n \"relative rounded-(--cell-radius)\",\n defaultClassNames.dropdown_root\n ),\n dropdown: cn(\n \"absolute bg-popover inset-0 opacity-0\",\n defaultClassNames.dropdown\n ),\n caption_label: cn(\n \"select-none font-medium\",\n captionLayout === \"label\"\n ? \"text-sm\"\n : \"rounded-(--cell-radius) flex items-center gap-1 text-sm [&>svg]:text-muted-foreground [&>svg]:size-3.5\",\n defaultClassNames.caption_label\n ),\n table: \"w-full border-collapse\",\n weekdays: cn(\"flex\", defaultClassNames.weekdays),\n weekday: cn(\n \"text-muted-foreground rounded-(--cell-radius) flex-1 font-normal text-[0.8rem] select-none\",\n defaultClassNames.weekday\n ),\n week: cn(\"flex w-full mt-2\", defaultClassNames.week),\n week_number_header: cn(\n \"select-none w-(--cell-size)\",\n defaultClassNames.week_number_header\n ),\n week_number: cn(\n \"text-[0.8rem] select-none text-muted-foreground\",\n defaultClassNames.week_number\n ),\n day: cn(\n \"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\",\n props.showWeekNumber\n ? \"[&:nth-child(2)[data-selected=true]_button]:rounded-l-(--cell-radius)\"\n : \"[&:first-child[data-selected=true]_button]:rounded-l-(--cell-radius)\",\n defaultClassNames.day\n ),\n range_start: cn(\n \"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\",\n defaultClassNames.range_start\n ),\n range_middle: cn(\"rounded-none\", defaultClassNames.range_middle),\n range_end: cn(\n \"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\",\n defaultClassNames.range_end\n ),\n today: cn(\n \"bg-muted text-foreground rounded-(--cell-radius) data-[selected=true]:rounded-none\",\n defaultClassNames.today\n ),\n outside: cn(\n \"text-muted-foreground aria-selected:text-muted-foreground\",\n defaultClassNames.outside\n ),\n disabled: cn(\n \"text-muted-foreground opacity-50\",\n defaultClassNames.disabled\n ),\n hidden: cn(\"invisible\", defaultClassNames.hidden),\n ...classNames,\n }}\n components={{\n Root: ({ className, rootRef, ...props }) => {\n return (\n <div\n data-slot=\"calendar\"\n ref={rootRef}\n className={cn(className)}\n {...props}\n />\n )\n },\n Chevron: ({ className, orientation, ...props }) => {\n if (orientation === \"left\") {\n return (\n <ChevronLeftIcon className={cn(\"size-4\", className)} {...props} />\n )\n }\n\n if (orientation === \"right\") {\n return (\n <ChevronRightIcon className={cn(\"size-4\", className)} {...props} />\n )\n }\n\n return (\n <ChevronDownIcon className={cn(\"size-4\", className)} {...props} />\n )\n },\n DayButton: ({ ...props }) => (\n <CalendarDayButton locale={locale} {...props} />\n ),\n WeekNumber: ({ children, ...props }) => {\n return (\n <td {...props}>\n <div className=\"flex size-(--cell-size) items-center justify-center text-center\">\n {children}\n </div>\n </td>\n )\n },\n ...components,\n }}\n {...props}\n />\n )\n}\n\nfunction CalendarDayButton({\n className,\n day,\n modifiers,\n locale,\n ...props\n}: React.ComponentProps<typeof DayButton> & { locale?: Partial<Locale> }) {\n const defaultClassNames = getDefaultClassNames()\n\n const ref = React.useRef<HTMLButtonElement>(null)\n React.useEffect(() => {\n if (modifiers.focused) ref.current?.focus()\n }, [modifiers.focused])\n\n return (\n <Button\n variant=\"ghost\"\n size=\"icon\"\n data-day={day.date.toLocaleDateString(locale?.code)}\n data-selected-single={\n !!modifiers.selected && !modifiers.range_start && !modifiers.range_end && !modifiers.range_middle\n }\n data-range-start={modifiers.range_start}\n data-range-end={modifiers.range_end}\n data-range-middle={modifiers.range_middle}\n className={cn(\n \"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\",\n defaultClassNames.day,\n className\n )}\n {...props}\n />\n )\n}\n\nexport { Calendar, CalendarDayButton }\n","import * as React from 'react';\nimport { Button, type ButtonStyle, type ButtonVariant } from '@/components/base/buttons';\nimport { Separator } from '@/components/base/display/separator';\nimport { Text } from '@/components/typography';\nimport { cn } from '@/lib/utils';\nimport type {\n\tDatePickerFooter as DatePickerFooterConfig,\n\tDateOutput,\n\tDateRangeOutput,\n\tMultipleDatesOutput\n} from './datepicker.types';\n\ninterface DatePickerFooterProps {\n\tconfig: DatePickerFooterConfig;\n\toutput: DateOutput | DateRangeOutput | MultipleDatesOutput;\n\thasSelection: boolean;\n\tautoSummary?: string;\n\tclassName?: string;\n}\n\nexport function DatePickerFooter({\n\tconfig,\n\toutput,\n\thasSelection,\n\tautoSummary,\n\tclassName\n}: DatePickerFooterProps) {\n\tconst { text, actions, showOnlyWhenSelected = false, showSummary = false } = config;\n\n\t// Resolve custom text\n\tconst customText = React.useMemo(() => {\n\t\tif (!text) return undefined;\n\t\treturn typeof text === 'function' ? text(output) : text;\n\t}, [text, output]);\n\n\t// Determine what text to show\n\tconst displayText = customText || (showSummary ? autoSummary : undefined);\n\n\t// Don't render if showOnlyWhenSelected is true and no selection\n\tif (showOnlyWhenSelected && !hasSelection) {\n\t\treturn null;\n\t}\n\n\t// Don't render if no text and no actions\n\tif (!displayText && (!actions || actions.length === 0)) {\n\t\treturn null;\n\t}\n\n\tconst resolveActionButton = (\n\t\tactionVariant?: string | null\n\t): { variant: ButtonVariant; buttonStyle: ButtonStyle } => {\n\t\tif (actionVariant === 'destructive') {\n\t\t\treturn { variant: 'error', buttonStyle: 'solid' };\n\t\t}\n\t\tif (actionVariant === 'outline') {\n\t\t\treturn { variant: 'secondary', buttonStyle: 'outline' };\n\t\t}\n\t\tif (actionVariant === 'ghost') {\n\t\t\treturn { variant: 'secondary', buttonStyle: 'ghost' };\n\t\t}\n\t\tif (actionVariant === 'secondary') {\n\t\t\treturn { variant: 'secondary', buttonStyle: 'solid' };\n\t\t}\n\t\treturn { variant: 'primary', buttonStyle: 'solid' };\n\t};\n\n\treturn (\n\t\t<>\n\t\t\t<Separator />\n\t\t\t<div className={cn('flex flex-col gap-3 p-3', className)}>\n\t\t\t\t{/* Text content */}\n\t\t\t\t{!!displayText && (\n <div className=\"text-sm\">\n\t\t\t\t\t\t{!!showSummary && !!customText && !!autoSummary && <>\n\t\t\t\t\t\t\t\t<Text type=\"secondary\">{autoSummary}</Text>\n\t\t\t\t\t\t\t\t<Text weight=\"medium\" className=\"mt-1\">{customText}</Text>\n\t\t\t\t\t\t\t</>}\n\t\t\t\t\t\t{!showSummary && !!customText && <Text weight=\"medium\">{customText}</Text>}\n\t\t\t\t\t\t{!!showSummary && !customText && !!autoSummary && <Text type=\"secondary\">{autoSummary}</Text>}\n\t\t\t\t\t</div>\n )}\n\n\t\t\t\t{/* Action buttons */}\n\t\t\t\t{!!actions && actions.length > 0 && (\n <div className=\"flex items-center gap-2\">\n\t\t\t\t\t\t{actions.map((action) => {\n\t\t\t\t\t\t\tconst isDisabled =\n\t\t\t\t\t\t\t\ttypeof action.disabled === 'function'\n\t\t\t\t\t\t\t\t\t? action.disabled(output)\n\t\t\t\t\t\t\t\t\t: action.disabled;\n\t\t\t\t\t\t\tconst resolved = resolveActionButton(action.variant ?? null);\n\n\t\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\t\t\tkey={action.label}\n\t\t\t\t\t\t\t\t\tvariant={resolved.variant}\n\t\t\t\t\t\t\t\t\tbuttonStyle={resolved.buttonStyle}\n\t\t\t\t\t\t\t\t\tdisabled={isDisabled}\n\t\t\t\t\t\t\t\t\tonClick={() => action.onClick(output)}\n\t\t\t\t\t\t\t\t\tclassName=\"flex-1\"\n\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t{action.label}\n\t\t\t\t\t\t\t\t</Button>\n\t\t\t\t\t\t\t);\n\t\t\t\t\t\t})}\n\t\t\t\t\t</div>\n )}\n\t\t\t</div>\n\t\t</>\n\t);\n}\n\nDatePickerFooter.displayName = 'DatePickerFooter';\n","import { Text } from '@/components/typography';\nimport Heading from '@/components/typography/heading';\nimport { cn } from '@/lib/utils';\nimport type { DatePickerHeader as DatePickerHeaderConfig } from './datepicker.types';\n\ninterface DatePickerHeaderProps {\n\tconfig: DatePickerHeaderConfig;\n\tclassName?: string;\n}\n\nexport function DatePickerHeader({ config, className }: DatePickerHeaderProps) {\n\tconst { title, description, icon: Icon, align = 'left' } = config;\n\n\treturn (\n\t\t<div\n\t\t\tclassName={cn('date-picker-header--component', \n\t\t\t\t'border-b p-4',\n\t\t\t\talign === 'center' ? 'text-center' : 'text-left',\n\t\t\t\tclassName\n\t\t\t)}\n\t\t>\n\t\t\t<div className=\"flex items-center justify-start gap-3\">\n\t\t\t\t{!!Icon && (\n <div className=\"flex-shrink-0\">\n\t\t\t\t\t\t<Icon className=\"h-5 w-5 text-primary\" />\n\t\t\t\t\t</div>\n )}\n\t\t\t\t<div className={cn('flex-1', align === 'center' && !Icon && 'text-center')}>\n\t\t\t\t\t<Heading tag=\"h3\" containerClassName=\"space-y-0\" className=\"font-semibold text-base leading-none\">\n\t\t\t\t\t\t{title}\n\t\t\t\t\t</Heading>\n\t\t\t\t\t{!!description && <Text type=\"secondary\" className=\"mt-2\">{description}</Text>}\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t</div>\n\t);\n}\n\nDatePickerHeader.displayName = 'DatePickerHeader';\n","import { format } from 'date-fns';\nimport type { Locale as DateFnsLocale } from 'date-fns/locale';\nimport type { DateRange } from 'react-day-picker';\nimport type {\n\tDateOutput,\n\tMultipleDatesOutput,\n\tDateRangeOutput,\n\tDatePickerTranslations\n} from './datepicker.types';\n\nexport type TimePeriod = 'AM' | 'PM';\n\nexport interface NormalizedTime {\n\thours: number;\n\tminutes: number;\n\tseconds: number;\n}\n\nexport interface DisplayTimeSegments {\n\thours: string;\n\tminutes: string;\n\tseconds?: string;\n\tperiod?: TimePeriod;\n}\n\nexport interface TimeDisplayLabels {\n\tam?: string;\n\tpm?: string;\n}\n\nexport const HOURS_24_MAX = 23;\nexport const HOURS_12_MAX = 12;\nexport const MINUTES_MAX = 59;\nexport const SECONDS_MAX = 59;\n\nexport function padTimeSegment(value: number): string {\n\treturn value.toString().padStart(2, '0');\n}\n\nfunction clamp(value: number, min: number, max: number): number {\n\treturn Math.min(Math.max(value, min), max);\n}\n\nfunction alignSecondsToStep(totalSeconds: number, step: number): number {\n\tif (step <= 0) {\n\t\treturn totalSeconds;\n\t}\n\tconst aligned = Math.floor(totalSeconds / step) * step;\n\treturn Math.max(0, Math.min(aligned, 24 * 60 * 60 - 1));\n}\n\nexport function parseTimeString(timeString: string | undefined): NormalizedTime | null {\n\tif (!timeString) {\n\t\treturn null;\n\t}\n\tconst parts = timeString.split(':');\n\tif (parts.length < 2 || parts.length > 3) {\n\t\treturn null;\n\t}\n\tconst [hRaw, mRaw, sRaw] = parts;\n\tconst hours = clamp(Number.parseInt(hRaw, 10), 0, HOURS_24_MAX);\n\tconst minutes = clamp(Number.parseInt(mRaw, 10), 0, MINUTES_MAX);\n\tconst seconds = clamp(Number.parseInt(sRaw ?? '0', 10), 0, SECONDS_MAX);\n\tif (Number.isNaN(hours) || Number.isNaN(minutes) || Number.isNaN(seconds)) {\n\t\treturn null;\n\t}\n\treturn { hours, minutes, seconds };\n}\n\nexport function normalizedTimeToString(time: NormalizedTime, includeSeconds: boolean): string {\n\tconst secondsPart = includeSeconds ? `:${padTimeSegment(time.seconds)}` : '';\n\treturn `${padTimeSegment(time.hours)}:${padTimeSegment(time.minutes)}${secondsPart}`;\n}\n\nexport function createDefaultNormalizedTime(\n\tdate: Date | undefined,\n\tincludeSeconds: boolean,\n\tstep: number\n): NormalizedTime {\n\tconst source = Number.isFinite(date?.getTime?.()) ? (date as Date) : new Date();\n\tconst hours = source.getHours();\n\tconst minutes = source.getMinutes();\n\tconst seconds = includeSeconds ? source.getSeconds() : 0;\n\tconst totalSeconds = hours * 3600 + minutes * 60 + seconds;\n\tconst alignedSeconds = alignSecondsToStep(totalSeconds, step);\n\tconst alignedHours = Math.floor(alignedSeconds / 3600);\n\tconst alignedMinutes = Math.floor((alignedSeconds % 3600) / 60);\n\tconst alignedSecondsRemainder = alignedSeconds % 60;\n\treturn {\n\t\thours: alignedHours,\n\t\tminutes: alignedMinutes,\n\t\tseconds: includeSeconds ? alignedSecondsRemainder : 0,\n\t};\n}\n\nexport function normalizedTimeToDisplaySegments(\n\ttime: NormalizedTime,\n\tformat: '12' | '24',\n\tincludeSeconds: boolean\n): DisplayTimeSegments {\n\tif (format === '12') {\n\t\tconst period: TimePeriod = time.hours >= 12 ? 'PM' : 'AM';\n\t\tlet displayHour = time.hours % 12;\n\t\tif (displayHour === 0) {\n\t\t\tdisplayHour = 12;\n\t\t}\n\t\treturn {\n\t\t\thours: padTimeSegment(displayHour),\n\t\t\tminutes: padTimeSegment(time.minutes),\n\t\t\tseconds: includeSeconds ? padTimeSegment(time.seconds) : undefined,\n\t\t\tperiod,\n\t\t};\n\t}\n\treturn {\n\t\thours: padTimeSegment(time.hours),\n\t\tminutes: padTimeSegment(time.minutes),\n\t\tseconds: includeSeconds ? padTimeSegment(time.seconds) : undefined,\n\t};\n}\n\nexport function displaySegmentsToNormalizedTime(\n\tsegments: DisplayTimeSegments,\n\tformat: '12' | '24',\n\tincludeSeconds: boolean\n): NormalizedTime {\n\tconst parseSegment = (value: string | undefined): number => {\n\t\tconst numeric = Number.parseInt(value ?? '0', 10);\n\t\treturn Number.isNaN(numeric) ? 0 : numeric;\n\t};\n\tlet hours = parseSegment(segments.hours);\n\tconst minutes = clamp(parseSegment(segments.minutes), 0, MINUTES_MAX);\n\tconst seconds = includeSeconds ? clamp(parseSegment(segments.seconds), 0, SECONDS_MAX) : 0;\n\tif (format === '12') {\n\t\thours = clamp(hours, 1, HOURS_12_MAX);\n\t\tconst period = segments.period ?? 'AM';\n\t\tconst isPM = period === 'PM';\n\t\thours = hours % 12;\n\t\tif (isPM) {\n\t\t\thours += 12;\n\t\t}\n\t} else {\n\t\thours = clamp(hours, 0, HOURS_24_MAX);\n\t}\n\treturn { hours, minutes, seconds };\n}\n\nexport function alignNormalizedTimeToStep(\n\ttime: NormalizedTime,\n\tstep: number,\n\tincludeSeconds: boolean\n): NormalizedTime {\n\tconst totalSeconds = time.hours * 3600 + time.minutes * 60 + time.seconds;\n\tconst alignedSeconds = alignSecondsToStep(totalSeconds, step);\n\tconst hours = Math.floor(alignedSeconds / 3600);\n\tconst minutes = Math.floor((alignedSeconds % 3600) / 60);\n\tconst seconds = includeSeconds ? alignedSeconds % 60 : 0;\n\treturn { hours, minutes, seconds };\n}\n\nexport function formatNormalizedTimeForDisplay(\n\ttime: NormalizedTime,\n\tincludeSeconds: boolean,\n\tformat: '12' | '24',\n\tlabels?: TimeDisplayLabels\n): string {\n\tconst minutes = padTimeSegment(time.minutes);\n\tconst secondsPart = includeSeconds ? `:${padTimeSegment(time.seconds)}` : '';\n\tif (format === '24') {\n\t\treturn `${padTimeSegment(time.hours)}:${minutes}${secondsPart}`;\n\t}\n\tconst period: TimePeriod = time.hours >= 12 ? 'PM' : 'AM';\n\tlet displayHour = time.hours % 12;\n\tif (displayHour === 0) {\n\t\tdisplayHour = 12;\n\t}\n\tconst periodLabel = period === 'AM' ? labels?.am ?? 'AM' : labels?.pm ?? 'PM';\n\treturn `${padTimeSegment(displayHour)}:${minutes}${secondsPart} ${periodLabel}`;\n}\n\nconst QUOTED_TEXT_REGEX = /'[^']*'/g;\nconst TIME_TOKEN_REGEX = /[HKhk]|\\bp\\b|\\bt\\b|\\ba\\b/;\n\nexport function readableFormatIncludesTime(format: string | undefined): boolean {\n\tif (!format) {\n\t\treturn false;\n\t}\n\tconst sanitized = format.replace(QUOTED_TEXT_REGEX, '');\n\treturn TIME_TOKEN_REGEX.test(sanitized);\n}\n\n/**\n * Create date output object with formatted strings\n */\nexport function createDateOutput(\n\tdate: Date | undefined,\n\tdateFormat: string,\n\treadableFormat: string,\n\tlocale?: DateFnsLocale\n): DateOutput {\n\tconst options = locale ? { locale } : undefined;\n\treturn {\n\t\tdate,\n\t\tformatted: date ? format(date, dateFormat, options) : undefined,\n\t\treadable: date ? format(date, readableFormat, options) : undefined,\n\t};\n}\n\n/**\n * Create multiple dates output object with formatted strings\n */\nexport function createMultipleDatesOutput(\n\tdates: Date[],\n\tdateFormat: string,\n\treadableFormat: string,\n\tlocale?: DateFnsLocale\n): MultipleDatesOutput {\n\tconst options = locale ? { locale } : undefined;\n\treturn {\n\t\tdates,\n\t\tformatted: dates.map(d => format(d, dateFormat, options)),\n\t\treadable: dates.map(d => format(d, readableFormat, options)),\n\t};\n}\n\n/**\n * Create date range output object with formatted strings\n */\nexport function createDateRangeOutput(\n\trange: DateRange | undefined,\n\tdateFormat: string,\n\treadableFormat: string,\n\tlocale?: DateFnsLocale\n): DateRangeOutput {\n\tconst options = locale ? { locale } : undefined;\n\treturn {\n\t\trange,\n\t\tformatted: {\n\t\t\tfrom: range?.from ? format(range.from, dateFormat, options) : undefined,\n\t\t\tto: range?.to ? format(range.to, dateFormat, options) : undefined,\n\t\t},\n\t\treadable: {\n\t\t\tfrom: range?.from ? format(range.from, readableFormat, options) : undefined,\n\t\t\tto: range?.to ? format(range.to, readableFormat, options) : undefined,\n\t\t},\n\t};\n}\n\n/**\n * Apply time to a date\n */\nexport function applyTimeToDate(date: Date, time: string | NormalizedTime): Date {\n\tconst normalized = typeof time === 'string' ? parseTimeString(time) : time;\n\tconst newDate = new Date(date);\n\tif (!Number.isFinite(newDate.getTime()) || !normalized) {\n\t\treturn new Date(NaN);\n\t}\n\tnewDate.setHours(normalized.hours, normalized.minutes, normalized.seconds, 0);\n\treturn newDate;\n}\n\n/**\n * Apply time to date range\n */\nexport function applyTimeToRange(\n\trange: DateRange,\n\tstartTime: string | NormalizedTime,\n\tendTime: string | NormalizedTime\n): DateRange {\n\tlet finalRange = range;\n\n\tif (range.from) {\n\t\tfinalRange = { ...finalRange, from: applyTimeToDate(range.from, startTime) };\n\t}\n\n\tif (range.to && finalRange) {\n\t\tfinalRange = { ...finalRange, to: applyTimeToDate(range.to, endTime) };\n\t}\n\n\treturn finalRange;\n}\n\n/**\n * Calculate days difference between two dates\n */\nexport function calculateDaysDifference(from: Date, to: Date): number {\n\treturn Math.ceil((to.getTime() - from.getTime()) / (1000 * 60 * 60 * 24)) + 1;\n}\n\n/**\n * Validate date range constraints\n */\nexport function validateDateRange(\n\trange: DateRange | undefined,\n\tmin?: number,\n\tmax?: number\n): { isValid: boolean; daysDiff?: number } {\n\tif (!range?.from || !range?.to) {\n\t\treturn { isValid: true };\n\t}\n\n\tconst daysDiff = calculateDaysDifference(range.from, range.to);\n\n\tif (min && daysDiff < min) {\n\t\treturn { isValid: false, daysDiff };\n\t}\n\n\tif (max && daysDiff > max) {\n\t\treturn { isValid: false, daysDiff };\n\t}\n\n\treturn { isValid: true, daysDiff };\n}\n\n/**\n * Get validation message for date range\n */\nexport function getRangeValidationMessage(\n\trange: DateRange | undefined,\n\tmin: number | undefined,\n\tmax: number | undefined,\n\ttranslations: DatePickerTranslations\n): string | null {\n\tif (!range?.from || !range?.to) return null;\n\n\tconst daysDiff = calculateDaysDifference(range.from, range.to);\n\n\tif (min && daysDiff < min) {\n\t\treturn translations.minimumDays(min);\n\t}\n\n\tif (max && daysDiff > max) {\n\t\treturn translations.maximumDays(max);\n\t}\n\n\treturn null;\n}\n\n/**\n * Get validation message for multiple dates\n */\nexport function getMultipleDatesValidationMessage(\n\tdates: Date[],\n\tmin: number | undefined,\n\tmax: number | undefined,\n\trequired: boolean | undefined,\n\ttranslations: DatePickerTranslations\n): string | null {\n\tif (required && dates.length === 0) {\n\t\treturn 'At least one date must be selected';\n\t}\n\n\tif (min && dates.length < min) {\n\t\treturn `Select at least ${min} dates`;\n\t}\n\n\tif (max) {\n\t\treturn translations.maximumDates(max);\n\t}\n\n\treturn null;\n}\n\n/**\n * Format button text for single date\n */\nexport function formatDateButtonText(\n\tdate: Date | undefined,\n\treadableFormat: string,\n\tplaceholder: string | undefined,\n\tdefaultPlaceholder: string,\n\ttime?: string,\n\tlocale?: DateFnsLocale\n): string {\n\tif (date) {\n\t\tconst options = locale ? { locale } : undefined;\n\t\tlet text = format(date, readableFormat, options);\n\t\tif (time) {\n\t\t\ttext += ` ${time}`;\n\t\t}\n\t\treturn text;\n\t}\n\treturn placeholder ?? defaultPlaceholder;\n}\n\n/**\n * Format button text for multiple dates\n */\nexport function formatMultipleDatesButtonText(\n\tdates: Date[],\n\treadableFormat: string,\n\tplaceholder: string | undefined,\n\tdefaultPlaceholder: string,\n\ttranslations: DatePickerTranslations,\n\tlocale?: DateFnsLocale\n): string {\n\tif (dates.length > 0) {\n\t\tif (dates.length === 1) {\n\t\t\tconst options = locale ? { locale } : undefined;\n\t\t\treturn format(dates[0], readableFormat, options);\n\t\t}\n\t\treturn translations.datesSelected(dates.length);\n\t}\n\treturn placeholder ?? defaultPlaceholder;\n}\n\n/**\n * Format button text for date range\n */\nexport function formatRangeButtonText(\n\trange: DateRange | undefined,\n\treadableFormat: string,\n\tplaceholder: string | undefined,\n\tdefaultPlaceholder: string,\n\tlocale?: DateFnsLocale\n): string {\n\tif (range?.from) {\n\t\tconst options = locale ? { locale } : undefined;\n\t\tif (range.to) {\n\t\t\treturn `${format(range.from, readableFormat, options)} - ${format(range.to, readableFormat, options)}`;\n\t\t}\n\t\treturn format(range.from, readableFormat, options);\n\t}\n\treturn placeholder ?? defaultPlaceholder;\n}\n","/**\n * Default user-facing strings for the date-picker family\n * (`<DatePicker>`, `<DateRangePicker>`, `<MonthYearPicker>`).\n *\n * Library is locale-agnostic — consumers wire backend i18n via the\n * `strings` prop and pass a `Locale` object from `date-fns/locale` (or\n * any equivalent) via the `locale` prop:\n *\n * import { bg } from 'date-fns/locale';\n * <DatePicker locale={bg} strings={{ today: t('date.today') }} />\n */\nimport type { DatePickerTranslations } from './datepicker.types';\n\nexport const defaultDatePickerStrings: DatePickerTranslations = {\n\tselectDate: 'Select a date',\n\tselectDates: 'Select dates',\n\tselectDateRange: 'Select date range',\n\tfrom: 'From',\n\tto: 'To',\n\tconfirm: 'Confirm',\n\tclear: 'Clear',\n\ttoday: 'Today',\n\tstartDate: 'Start date',\n\tendDate: 'End date',\n\tstartTime: 'Start time',\n\tendTime: 'End time',\n\thours: 'Hours',\n\tminutes: 'Minutes',\n\tseconds: 'Seconds',\n\tam: 'AM',\n\tpm: 'PM',\n\tminimumDays: (days: number) => `A minimum of ${days} days is required`,\n\tmaximumDays: (days: number) => `A maximum of ${days} days is allowed`,\n\tmaximumDates: (max: number) => `Select up to ${max} dates`,\n\tdatesSelected: (count: number) => `${count} dates selected`,\n\tlastWeek: 'Last week',\n\tlastMonth: 'Last month',\n\tlastYear: 'Last year',\n\tnextWeek: 'Next week',\n\tnextMonth: 'Next month',\n\tnextYear: 'Next year',\n\tthisWeek: 'This Week',\n\tthisMonth: 'This Month',\n\tlast30Days: 'Last 30 Days',\n\tselectMonthYear: 'Select month and year',\n\tmonth: 'Month',\n\tyear: 'Year',\n};\n\nexport type { DatePickerTranslations };\n","import { Toggle as TogglePrimitive } from \"@base-ui/react/toggle\"\nimport { cva, type VariantProps } from \"class-variance-authority\"\n\nimport { cn } from \"@/lib/utils\"\n\nconst toggleVariants = cva(\n \"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\",\n {\n variants: {\n variant: {\n default: \"bg-transparent\",\n outline: \"border-input hover:bg-muted border bg-transparent shadow-xs\",\n },\n size: {\n default: \"h-9 min-w-9 px-2\",\n sm: \"h-8 min-w-8 px-1.5\",\n lg: \"h-10 min-w-10 px-2.5\",\n },\n },\n defaultVariants: {\n variant: \"default\",\n size: \"default\",\n },\n }\n)\n\nfunction Toggle({\n className,\n variant = \"default\",\n size = \"default\",\n ...props\n}: TogglePrimitive.Props & VariantProps<typeof toggleVariants>) {\n return (\n <TogglePrimitive\n data-slot=\"toggle\"\n className={cn(toggleVariants({ variant, size, className }))}\n {...props}\n />\n )\n}\n\nexport { Toggle, toggleVariants }\n","\"use client\"\n\nimport { Toggle as TogglePrimitive } from \"@base-ui/react/toggle\"\nimport { ToggleGroup as ToggleGroupPrimitive } from \"@base-ui/react/toggle-group\"\nimport { type VariantProps } from \"class-variance-authority\"\nimport * as React from \"react\"\n\nimport { toggleVariants } from \"@/components/ui/toggle\"\nimport { cn } from \"@/lib/utils\"\n\nconst ToggleGroupContext = React.createContext<\n VariantProps<typeof toggleVariants> & {\n spacing?: number\n orientation?: \"horizontal\" | \"vertical\"\n }\n>({\n size: \"default\",\n variant: \"default\",\n spacing: 0,\n orientation: \"horizontal\",\n})\n\nexport type ToggleGroupProps = ToggleGroupPrimitive.Props &\n VariantProps<typeof toggleVariants> & {\n spacing?: number\n orientation?: \"horizontal\" | \"vertical\"\n }\n\nfunction ToggleGroup({\n className,\n variant,\n size,\n spacing = 0,\n orientation = \"horizontal\",\n children,\n ...props\n}: ToggleGroupProps) {\n return (\n <ToggleGroupPrimitive\n data-slot=\"toggle-group\"\n data-variant={variant}\n data-size={size}\n data-spacing={spacing}\n data-orientation={orientation}\n style={{ \"--gap\": spacing } as React.CSSProperties}\n className={cn(\n \"rounded-md 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\",\n className\n )}\n {...props}\n >\n <ToggleGroupContext.Provider\n value={{ variant, size, spacing, orientation }}\n >\n {children}\n </ToggleGroupContext.Provider>\n </ToggleGroupPrimitive>\n )\n}\n\nfunction ToggleGroupItem({\n className,\n children,\n variant = \"default\",\n size = \"default\",\n ...props\n}: TogglePrimitive.Props & VariantProps<typeof toggleVariants>) {\n const context = React.useContext(ToggleGroupContext)\n\n return (\n <TogglePrimitive\n data-slot=\"toggle-group-item\"\n data-variant={context.variant || variant}\n data-size={context.size || size}\n data-spacing={context.spacing}\n className={cn(\n \"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-horizontal/toggle-group:data-[spacing=0]:first:rounded-l-md group-data-vertical/toggle-group:data-[spacing=0]:first:rounded-t-md group-data-horizontal/toggle-group:data-[spacing=0]:last:rounded-r-md group-data-vertical/toggle-group:data-[spacing=0]:last:rounded-b-md shrink-0 focus:z-10 focus-visible:z-10 group-data-horizontal/toggle-group:data-[spacing=0]:data-[variant=outline]:border-l-0 group-data-vertical/toggle-group:data-[spacing=0]:data-[variant=outline]:border-t-0 group-data-horizontal/toggle-group:data-[spacing=0]:data-[variant=outline]:first:border-l group-data-vertical/toggle-group:data-[spacing=0]:data-[variant=outline]:first:border-t\",\n toggleVariants({\n variant: context.variant || variant,\n size: context.size || size,\n }),\n className\n )}\n {...props}\n >\n {children}\n </TogglePrimitive>\n )\n}\n\nexport { ToggleGroup, ToggleGroupItem }\n","import * as React from 'react';\n\nimport { Input } from '@/components/base/forms/fields';\nimport { ToggleGroup, ToggleGroupItem } from '@/components/ui/toggle-group';\nimport { Text } from '@/components/typography';\nimport { cn } from '@/lib/utils';\n\nimport type { NormalizedTime, DisplayTimeSegments, TimePeriod } from './date-picker-helpers';\nimport {\n\talignNormalizedTimeToStep,\n\tdisplaySegmentsToNormalizedTime,\n\tHOURS_12_MAX,\n\tHOURS_24_MAX,\n\tMINUTES_MAX,\n\tnormalizedTimeToDisplaySegments,\n\tSECONDS_MAX,\n} from './date-picker-helpers';\n\ntype TimeSegmentKey = 'hours' | 'minutes' | 'seconds';\n\ninterface SegmentedTimeInputLabels {\n\thours: string;\n\tminutes: string;\n\tseconds?: string;\n}\n\ninterface SegmentedTimeInputProps {\n\tvalue: NormalizedTime;\n\tonChange: (time: NormalizedTime) => void;\n\tformat: '12' | '24';\n\tincludeSeconds: boolean;\n\tstep: number;\n\tdisabled?: boolean;\n\tclassName?: string;\n\tlabels: SegmentedTimeInputLabels;\n\tperiodLabels: { am: string; pm: string };\n}\n\nconst SEGMENT_ORDER: TimeSegmentKey[] = ['hours', 'minutes', 'seconds'];\nconst DEFAULT_24H = '00';\nconst DEFAULT_12H = '12';\n\nfunction sanitizeNumeric(value: string): string {\n\treturn value.replace(/\\D/g, '').slice(-2);\n}\n\nfunction ensureTwoDigits(value: string): string {\n\tif (value.length === 0) return '00';\n\tif (value.length === 1) return `0${value}`;\n\treturn value;\n}\n\nfunction getNextKey(key: TimeSegmentKey, includeSeconds: boolean): TimeSegmentKey | null {\n\tconst activeOrder = includeSeconds ? SEGMENT_ORDER : SEGMENT_ORDER.slice(0, 2);\n\tconst idx = activeOrder.indexOf(key);\n\treturn idx > -1 && idx < activeOrder.length - 1 ? activeOrder[idx + 1] : null;\n}\n\nfunction getPreviousKey(key: TimeSegmentKey, includeSeconds: boolean): TimeSegmentKey | null {\n\tconst activeOrder = includeSeconds ? SEGMENT_ORDER : SEGMENT_ORDER.slice(0, 2);\n\tconst idx = activeOrder.indexOf(key);\n\treturn idx > 0 ? activeOrder[idx - 1] : null;\n}\n\nfunction hoursToDisplay(hours: number, format: '12' | '24'): number {\n\tif (format === '24') {\n\t\treturn hours;\n\t}\n\treturn hours % 12 || 12;\n}\n\nfunction determinePeriodFromHours(hours: number): TimePeriod {\n\treturn hours >= 12 ? 'PM' : 'AM';\n}\n\nfunction segmentsWithDefaults(\n\tsegments: DisplayTimeSegments,\n\tformat: '12' | '24'\n): DisplayTimeSegments {\n\tif (format === '12') {\n\t\treturn { ...segments, period: segments.period ?? 'AM' };\n\t}\n\treturn { ...segments, period: undefined };\n}\n\nexport function SegmentedTimeInput({\n\tvalue,\n\tonChange,\n\tformat,\n\tincludeSeconds,\n\tstep,\n\tdisabled,\n\tclassName,\n\tlabels,\n\tperiodLabels\n}: SegmentedTimeInputProps) {\n\tconst activeOrder = React.useMemo(\n\t\t() => (includeSeconds ? SEGMENT_ORDER : SEGMENT_ORDER.slice(0, 2)),\n\t\t[includeSeconds]\n\t);\n\n\tconst [segments, setSegments] = React.useState<DisplayTimeSegments>(() =>\n\t\tsegmentsWithDefaults(\n\t\t\tnormalizedTimeToDisplaySegments(value, format, includeSeconds),\n\t\t\tformat\n\t\t)\n\t);\n\n\t// Ref always holds the latest segments so rapid keystrokes read fresh values.\n\tconst segmentsRef = React.useRef(segments);\n\t// Flag to skip the value-sync useEffect when we emit raw values ourselves.\n\tconst isLocalEditRef = React.useRef(false);\n\tconst updateSegments = React.useCallback((next: DisplayTimeSegments) => {\n\t\tsegmentsRef.current = next;\n\t\tsetSegments(next);\n\t}, []);\n\n\tconst inputRefs = React.useRef<Record<TimeSegmentKey, HTMLInputElement | null>>({\n\t\thours: null,\n\t\tminutes: null,\n\t\tseconds: null,\n\t});\n\n\t// Sync from parent prop (e.g. external reset or date selection).\n\t// Skip when the change originated from our own emitRaw call to avoid\n\t// snapping the display to the aligned value mid-typing.\n\tReact.useEffect(() => {\n\t\tif (isLocalEditRef.current) {\n\t\t\tisLocalEditRef.current = false;\n\t\t\treturn;\n\t\t}\n\t\tupdateSegments(\n\t\t\tsegmentsWithDefaults(\n\t\t\t\tnormalizedTimeToDisplaySegments(value, format, includeSeconds),\n\t\t\t\tformat\n\t\t\t)\n\t\t);\n\t}, [value, format, includeSeconds, updateSegments]);\n\n\t// Emit unaligned time to the parent so the form value stays current even\n\t// before blur. Does NOT align — the display segments are left as-is so\n\t// intermediate keystrokes (e.g. \"03\" on the way to \"30\") aren't snapped.\n\tconst emitRaw = React.useCallback(\n\t\t(segs: DisplayTimeSegments) => {\n\t\t\tisLocalEditRef.current = true;\n\t\t\tconst normalized = displaySegmentsToNormalizedTime(segs, format, includeSeconds);\n\t\t\tonChange(normalized);\n\t\t},\n\t\t[format, includeSeconds, onChange]\n\t);\n\n\t// Commit: align to step, notify parent, and snap the display.\n\t// Called on blur so the user sees the rounded value when done typing.\n\tconst commitSegments = React.useCallback(\n\t\t(segs: DisplayTimeSegments) => {\n\t\t\tconst normalized = displaySegmentsToNormalizedTime(segs, format, includeSeconds);\n\t\t\tconst aligned = alignNormalizedTimeToStep(normalized, step, includeSeconds);\n\t\t\tonChange(aligned);\n\t\t\tconst alignedDisplay = segmentsWithDefaults(\n\t\t\t\tnormalizedTimeToDisplaySegments(aligned, format, includeSeconds),\n\t\t\t\tformat\n\t\t\t);\n\t\t\tupdateSegments(alignedDisplay);\n\t\t},\n\t\t[format, includeSeconds, onChange, step, updateSegments]\n\t);\n\n\tconst focusSegment = React.useCallback(\n\t\t(key: TimeSegmentKey | null) => {\n\t\t\tif (!key) return;\n\t\t\tconst ref = inputRefs.current[key];\n\t\t\tif (ref) {\n\t\t\t\tref.focus();\n\t\t\t\tref.select();\n\t\t\t}\n\t\t},\n\t\t[]\n\t);\n\n\t// Digit-by-digit input: shifts the last digit left and appends the new one.\n\t// Updates display only — does NOT align or emit to parent.\n\tconst applyDigitInput = React.useCallback(\n\t\t(segmentKey: TimeSegmentKey, digit: number) => {\n\t\t\tconst current = segmentsRef.current;\n\t\t\tconst currentValue = current[segmentKey] ??\n\t\t\t\t(segmentKey === 'hours' && format === '12' ? DEFAULT_12H : DEFAULT_24H);\n\t\t\tconst ones = Number.parseInt(currentValue.slice(-1), 10) || 0;\n\t\t\tconst candidate = (ones * 10) + digit;\n\t\t\tconst next: DisplayTimeSegments = { ...current };\n\t\t\tlet nextPeriod = next.period ?? 'AM';\n\n\t\t\tif (segmentKey === 'hours') {\n\t\t\t\tif (format === '24') {\n\t\t\t\t\tconst clamped = Math.min(Math.max(candidate, 0), HOURS_24_MAX);\n\t\t\t\t\tnext.hours = ensureTwoDigits(clamped.toString());\n\t\t\t\t} else {\n\t\t\t\t\tif (candidate === 0) {\n\t\t\t\t\t\tnextPeriod = 'AM';\n\t\t\t\t\t\tnext.hours = DEFAULT_12H;\n\t\t\t\t\t} else if (candidate > 12) {\n\t\t\t\t\t\tnextPeriod = determinePeriodFromHours(candidate);\n\t\t\t\t\t\tnext.hours = ensureTwoDigits(hoursToDisplay(candidate, '12').toString());\n\t\t\t\t\t} else {\n\t\t\t\t\t\tconst clamped = Math.min(Math.max(candidate, 1), HOURS_12_MAX);\n\t\t\t\t\t\tnext.hours = ensureTwoDigits(clamped.toString());\n\t\t\t\t\t\tnextPeriod = current.period ?? determinePeriodFromHours(candidate);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t} else if (segmentKey === 'minutes') {\n\t\t\t\tnext.minutes = ensureTwoDigits(Math.min(Math.max(candidate, 0), MINUTES_MAX).toString());\n\t\t\t} else if (segmentKey === 'seconds') {\n\t\t\t\tnext.seconds = ensureTwoDigits(Math.min(Math.max(candidate, 0), SECONDS_MAX).toString());\n\t\t\t}\n\n\t\t\tconst updated = { ...next, period: nextPeriod };\n\t\t\tupdateSegments(updated);\n\t\t\temitRaw(updated);\n\t\t},\n\t\t[format, updateSegments, emitRaw]\n\t);\n\n\t// Fallback for paste / IME: parses the raw input string.\n\tconst handleNumericChange = React.useCallback(\n\t\t(key: TimeSegmentKey, rawValue: string) => {\n\t\t\tconst sanitized = sanitizeNumeric(rawValue);\n\t\t\tconst next: DisplayTimeSegments = { ...segmentsRef.current };\n\t\t\tlet nextPeriod = next.period ?? 'AM';\n\n\t\t\tif (key === 'hours') {\n\t\t\t\tif (format === '24') {\n\t\t\t\t\tconst v = Number.parseInt(sanitized || '0', 10);\n\t\t\t\t\tconst clamped = Number.isNaN(v) ? 0 : Math.min(Math.max(v, 0), HOURS_24_MAX);\n\t\t\t\t\tnext.hours = ensureTwoDigits(clamped.toString());\n\t\t\t\t} else {\n\t\t\t\t\tconst v = Number.parseInt(sanitized || '0', 10);\n\t\t\t\t\tif (Number.isNaN(v)) {\n\t\t\t\t\t\tnext.hours = '12';\n\t\t\t\t\t\tnextPeriod = segmentsRef.current.period ?? 'AM';\n\t\t\t\t\t} else if (sanitized.length === 2 && v > 12) {\n\t\t\t\t\t\tnextPeriod = determinePeriodFromHours(v);\n\t\t\t\t\t\tnext.hours = ensureTwoDigits(hoursToDisplay(v, '12').toString());\n\t\t\t\t\t} else if (v === 0) {\n\t\t\t\t\t\tnextPeriod = 'AM';\n\t\t\t\t\t\tnext.hours = '12';\n\t\t\t\t\t} else {\n\t\t\t\t\t\tconst clamped = Math.min(Math.max(v, 1), HOURS_12_MAX);\n\t\t\t\t\t\tnext.hours = ensureTwoDigits(clamped.toString());\n\t\t\t\t\t\tif (sanitized.length === 2) {\n\t\t\t\t\t\t\tnextPeriod = segmentsRef.current.period ?? determinePeriodFromHours(v);\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t} else if (key === 'minutes') {\n\t\t\t\tconst v = Number.parseInt(sanitized || '0', 10);\n\t\t\t\tconst clamped = Number.isNaN(v) ? 0 : Math.min(Math.max(v, 0), MINUTES_MAX);\n\t\t\t\tnext.minutes = ensureTwoDigits(clamped.toString());\n\t\t\t} else if (key === 'seconds') {\n\t\t\t\tconst v = Number.parseInt(sanitized || '0', 10);\n\t\t\t\tconst clamped = Number.isNaN(v) ? 0 : Math.min(Math.max(v, 0), SECONDS_MAX);\n\t\t\t\tnext.seconds = ensureTwoDigits(clamped.toString());\n\t\t\t}\n\n\t\t\tconst updated = { ...next, period: nextPeriod };\n\t\t\tupdateSegments(updated);\n\t\t\temitRaw(updated);\n\t\t},\n\t\t[format, updateSegments, emitRaw]\n\t);\n\n\tconst handlePeriodChange = React.useCallback(\n\t\t(period: TimePeriod) => {\n\t\t\tif (format !== '12') return;\n\t\t\tconst next = { ...segmentsRef.current, period };\n\t\t\tcommitSegments(next);\n\t\t},\n\t\t[commitSegments, format]\n\t);\n\n\t// On blur: commit the current segments (align to step + notify parent).\n\tconst handleBlur = React.useCallback(() => {\n\t\tcommitSegments(segmentsRef.current);\n\t}, [commitSegments]);\n\n\tconst handleKeyDown = React.useCallback(\n\t\t(event: React.KeyboardEvent<HTMLInputElement>, key: TimeSegmentKey) => {\n\t\t\tconst isDigitKey = event.key.length === 1 && /\\d/.test(event.key);\n\t\t\tif (isDigitKey && !event.metaKey && !event.ctrlKey && !event.altKey) {\n\t\t\t\tevent.preventDefault();\n\t\t\t\tapplyDigitInput(key, Number.parseInt(event.key, 10));\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tif (event.key === 'ArrowRight') {\n\t\t\t\tfocusSegment(getNextKey(key, includeSeconds));\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tif (event.key === 'ArrowLeft') {\n\t\t\t\tfocusSegment(getPreviousKey(key, includeSeconds));\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tif (event.key === 'Backspace') {\n\t\t\t\tconst target = event.currentTarget;\n\t\t\t\tif (target.selectionStart === 0 && target.selectionEnd === 0) {\n\t\t\t\t\tfocusSegment(getPreviousKey(key, includeSeconds));\n\t\t\t\t}\n\t\t\t}\n\t\t},\n\t\t[applyDigitInput, focusSegment, includeSeconds]\n\t);\n\n\tconst periodToggleValue = React.useMemo<TimePeriod[] | undefined>(() => {\n\t\tif (format !== '12') return undefined;\n\t\treturn segments.period ? [segments.period] : undefined;\n\t}, [format, segments.period]);\n\n\treturn (\n\t\t<div className={cn('segmented-time-input--component', 'flex items-center gap-2', className)}>\n\t\t\t{activeOrder.map((segmentKey, index) => {\n\t\t\t\tconst fallbackValue = segmentKey === 'hours' && format === '12' ? DEFAULT_12H : DEFAULT_24H;\n\t\t\t\tconst displayValue = segments[segmentKey] ?? fallbackValue;\n\t\t\t\tconst ariaLabel = segmentKey === 'hours'\n\t\t\t\t\t? labels.hours\n\t\t\t\t\t: segmentKey === 'minutes'\n\t\t\t\t\t\t? labels.minutes\n\t\t\t\t\t\t: labels.seconds ?? labels.minutes;\n\n\t\t\t\treturn (\n\t\t\t\t\t<React.Fragment key={segmentKey}>\n\t\t\t\t\t\t<Input\n\t\t\t\t\t\t\tref={(node) => {\n\t\t\t\t\t\t\t\tinputRefs.current[segmentKey] = node;\n\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\tvalue={displayValue}\n\t\t\t\t\t\t\tonChange={(event) => handleNumericChange(segmentKey, event.target.value)}\n\t\t\t\t\t\t\tonFocus={(event) => event.target.select()}\n\t\t\t\t\t\t\tonBlur={handleBlur}\n\t\t\t\t\t\t\tonKeyDown={(event) => handleKeyDown(event, segmentKey)}\n\t\t\t\t\t\t\tinputMode=\"numeric\"\n\t\t\t\t\t\t\tpattern=\"\\d*\"\n\t\t\t\t\t\t\tmaxLength={2}\n\t\t\t\t\t\t\tshowCharacterCount={false}\n\t\t\t\t\t\t\tdisabled={disabled}\n\t\t\t\t\t\t\taria-label={ariaLabel}\n\t\t\t\t\t\t\tclassName=\"h-8 w-12 text-center text-sm\"\n\t\t\t\t\t\t/>\n\t\t\t\t\t\t{index < activeOrder.length - 1 && (\n\t\t\t\t\t\t\t<Text tag=\"span\" type=\"secondary\">:</Text>\n\t\t\t\t\t\t)}\n\t\t\t\t\t</React.Fragment>\n\t\t\t\t);\n\t\t\t})}\n\n\t\t\t{format === '12' && (\n\t\t\t\t<ToggleGroup\n\t\t\t\t\tvalue={periodToggleValue}\n\t\t\t\t\tonValueChange={(values) => {\n\t\t\t\t\t\tconst period = values[0];\n\t\t\t\t\t\tif (!period) return;\n\t\t\t\t\t\thandlePeriodChange(period as TimePeriod);\n\t\t\t\t\t}}\n\t\t\t\t\tdisabled={disabled}\n\t\t\t\t\tsize=\"sm\"\n\t\t\t\t\tclassName=\"ml-1\"\n\t\t\t\t>\n\t\t\t\t\t<ToggleGroupItem\n\t\t\t\t\t\tvalue=\"AM\"\n\t\t\t\t\t\taria-label={periodLabels.am}\n\t\t\t\t\t>\n\t\t\t\t\t\t{periodLabels.am}\n\t\t\t\t\t</ToggleGroupItem>\n\t\t\t\t\t<ToggleGroupItem\n\t\t\t\t\t\tvalue=\"PM\"\n\t\t\t\t\t\taria-label={periodLabels.pm}\n\t\t\t\t\t>\n\t\t\t\t\t\t{periodLabels.pm}\n\t\t\t\t\t</ToggleGroupItem>\n\t\t\t\t</ToggleGroup>\n\t\t\t)}\n\t\t</div>\n\t);\n}\n\nSegmentedTimeInput.displayName = 'SegmentedTimeInput';\n","import { format, addDays, startOfWeek, endOfWeek, startOfMonth, endOfMonth } from 'date-fns';\nimport type { Locale as DateFnsLocale } from 'date-fns/locale';\nimport { Calendar as CalendarIcon, Clock } from 'lucide-react';\nimport * as React from 'react';\nimport type { DateRange } from 'react-day-picker';\n\nimport { Button, type ButtonVariant, type ButtonStyle } from '@/components/base/buttons';\nimport { Calendar } from '@/components/ui/calendar';\nimport { useDatesConfig } from '@/lib/ui-provider';\nimport {\n\tPopover,\n\tPopoverContent,\n\tPopoverTrigger\n} from '@/components/base/popover';\nimport { Separator } from '@/components/base/display/separator';\nimport { Label, Text } from '@/components/typography';\nimport { cn } from '@/lib/utils';\n\nimport { DatePickerFooter } from './date-picker-footer';\nimport { DatePickerHeader } from './date-picker-header';\nimport {\n\tcreateDateOutput,\n\tcreateMultipleDatesOutput,\n\tcreateDateRangeOutput,\n\tapplyTimeToDate,\n\tapplyTimeToRange,\n\tvalidateDateRange,\n\tgetRangeValidationMessage,\n\tgetMultipleDatesValidationMessage,\n\tformatDateButtonText,\n\tformatMultipleDatesButtonText,\n\tformatRangeButtonText,\n\tcreateDefaultNormalizedTime,\n\tformatNormalizedTimeForDisplay,\n\treadableFormatIncludesTime,\n\talignNormalizedTimeToStep\n} from './date-picker-helpers';\nimport type { NormalizedTime } from './date-picker-helpers';\nimport { useStrings } from '@/lib/strings';\nimport { defaultDatePickerStrings } from './date-pickers.strings';\nimport { enUS } from 'date-fns/locale';\nimport type {\n\tDatePickerProps,\n\tDatepickerProps,\n\tMultipleDatepickerProps,\n\tDateRangePickerProps,\n\tDateOutput,\n\tMultipleDatesOutput,\n\tDateRangeOutput,\n\tDatePickerTranslations,\n\tPresetDateRange\n} from './datepicker.types';\nimport { SegmentedTimeInput } from './segmented-time-input';\n\ntype PickerButtonVariant = 'outline' | 'ghost' | 'secondary';\n\nfunction resolvePickerButtonVariant(variant: unknown): PickerButtonVariant {\n\tif (variant === 'ghost') return 'ghost';\n\tif (variant === 'secondary') return 'secondary';\n\treturn 'outline';\n}\n\nfunction resolvePickerButtonProps(variant: unknown): { variant: ButtonVariant; buttonStyle: ButtonStyle } {\n\tconst resolved = resolvePickerButtonVariant(variant);\n\tif (resolved === 'ghost') return { variant: 'secondary', buttonStyle: 'ghost' };\n\tif (resolved === 'secondary') return { variant: 'secondary', buttonStyle: 'solid' };\n\treturn { variant: 'secondary', buttonStyle: 'outline' };\n}\n\n/**\n * Field-style chrome override applied on top of `<Button>` so the\n * picker trigger reads as a form field — visually identical to\n * `<Input>` (same height, border, padding, focus ring, typography).\n *\n * Mirrors the `Input` component's chrome:\n * - `border-input` border, `rounded-md`, `bg-transparent`\n * - `h-9` (matches `formControlSizeClasses.sm`) + `px-3`\n * - `text-sm` body text, normal weight, `text-foreground`\n * - `focus-visible:border-ring ring-ring/50 ring-[3px]`\n * - `aria-invalid:` destructive ring + border\n * - flat (no shadow) — library is intentionally flat\n *\n * `!` prefix wins against the global `<Button>`'s pill-shaped default\n * + `data-[size=*]` attribute selectors. Caret-icon sits in\n * library-default left padding equal to `<Input startIcon>` rules.\n */\nexport const PICKER_TRIGGER_CHROME = [\n\t'!h-9 !px-3 !rounded-md !border !border-input !bg-transparent !shadow-none',\n\t'!text-sm !font-normal !text-foreground',\n\t'hover:!bg-transparent',\n\t'focus-visible:!border-ring focus-visible:!ring-ring/50 focus-visible:!ring-[3px]',\n\t'aria-invalid:!ring-destructive/20 dark:aria-invalid:!ring-destructive/40 aria-invalid:!border-destructive',\n\t'disabled:pointer-events-none disabled:cursor-not-allowed disabled:opacity-50',\n].join(' ');\n\n// Type guards\nfunction isSingleMode(props: DatePickerProps): props is DatepickerProps {\n\treturn !props.mode || props.mode === 'single';\n}\n\nfunction isMultipleMode(props: DatePickerProps): props is MultipleDatepickerProps {\n\treturn props.mode === 'multiple';\n}\n\nfunction isRangeMode(props: DatePickerProps): props is DateRangePickerProps {\n\treturn props.mode === 'range';\n}\n\n// Default preset ranges — labels resolved from DatePickerTranslations.\n// `weekStartsOn` is the resolved value from the resolution chain\n// (`prop ?? useDatesConfig().weekStartsOn ?? 1`); passed in by the\n// caller so this stays a pure function.\nfunction getDefaultPresets(\n\tt: DatePickerTranslations,\n\tweekStartsOn: 0 | 1 | 2 | 3 | 4 | 5 | 6,\n): PresetDateRange[] {\n\treturn [\n\t\t{\n\t\t\tlabel: t.today,\n\t\t\tgetValue: () => ({ from: new Date(), to: new Date() }),\n\t\t},\n\t\t{\n\t\t\tlabel: t.thisWeek,\n\t\t\tgetValue: () => ({\n\t\t\t\tfrom: startOfWeek(new Date(), { weekStartsOn }),\n\t\t\t\tto: endOfWeek(new Date(), { weekStartsOn })\n\t\t\t}),\n\t\t},\n\t\t{\n\t\t\tlabel: t.thisMonth,\n\t\t\tgetValue: () => ({\n\t\t\t\tfrom: startOfMonth(new Date()),\n\t\t\t\tto: endOfMonth(new Date())\n\t\t\t}),\n\t\t},\n\t\t{\n\t\t\tlabel: t.last30Days,\n\t\t\tgetValue: () => ({\n\t\t\t\tfrom: addDays(new Date(), -30),\n\t\t\t\tto: new Date()\n\t\t\t}),\n\t\t},\n\t];\n}\n\nexport function DatePicker(props: DatePickerProps) {\n\tconst [open, setOpen] = React.useState(false);\n\n\t// Resolve locale (date-fns Locale object). Defaults to enUS when the\n\t// consumer doesn't pass one.\n\tconst dateFnsLocale = props.locale ?? enUS;\n\n\t// Strings — deep-merge consumer overrides (`strings` preferred,\n\t// `translations` accepted as legacy alias) over the English defaults.\n\tconst t = useStrings(defaultDatePickerStrings, props.strings ?? props.translations);\n\n\t// Resolve year selection config\n\tconst captionLayout = React.useMemo(() => {\n\t\tif (props.enableYearDropdown || props.yearSelection?.enabled) {\n\t\t\treturn 'dropdown' as const;\n\t\t}\n\t\treturn 'label' as const;\n\t}, [props.enableYearDropdown, props.yearSelection]);\n\n\t// Render based on mode\n\tif (isSingleMode(props)) {\n\t\treturn (\n\t\t\t<SingleDatePicker className=\"date-picker--component\"\n\t\t\t\t{...props}\n\t\t\t\topen={open}\n\t\t\t\tsetOpen={setOpen}\n\t\t\t\tt={t}\n\t\t\t\tdateFnsLocale={dateFnsLocale}\n\t\t\t\tcaptionLayout={captionLayout}\n\t\t\t/>\n\t\t);\n\t}\n\n\tif (isMultipleMode(props)) {\n\t\treturn (\n\t\t\t<MultipleDatePicker\n\t\t\t\t{...props}\n\t\t\t\topen={open}\n\t\t\t\tsetOpen={setOpen}\n\t\t\t\tt={t}\n\t\t\t\tdateFnsLocale={dateFnsLocale}\n\t\t\t\tcaptionLayout={captionLayout}\n\t\t\t/>\n\t\t);\n\t}\n\n\tif (isRangeMode(props)) {\n\t\treturn (\n\t\t\t<RangeDatePicker\n\t\t\t\t{...props}\n\t\t\t\topen={open}\n\t\t\t\tsetOpen={setOpen}\n\t\t\t\tt={t}\n\t\t\t\tdateFnsLocale={dateFnsLocale}\n\t\t\t\tcaptionLayout={captionLayout}\n\t\t\t/>\n\t\t);\n\t}\n\n\treturn null;\n}\n\n// Single Date Picker Component\nfunction SingleDatePicker({\n\tvalue,\n\tdefaultValue,\n\tonChange,\n\tformat: dateFormat = 'yyyy-MM-dd',\n\treadableFormat = 'PPP',\n\tplaceholder,\n\tcloseOnSelect = true,\n\twithTime,\n\tdisabledDates,\n\tcalendarProps,\n\topen,\n\tsetOpen,\n\tt,\n\tdateFnsLocale,\n\tcaptionLayout,\n\t...baseProps\n}: DatepickerProps & {\n\topen: boolean;\n\tsetOpen: (open: boolean) => void;\n\tt: typeof defaultDatePickerStrings;\n\tdateFnsLocale: DateFnsLocale;\n\tcaptionLayout: 'label' | 'dropdown';\n}) {\n\tconst triggerId = React.useId();\n\tconst describedBy = `${triggerId}-description`;\n\tconst hasError = baseProps.error !== undefined && baseProps.error !== null && baseProps.error !== '';\n\tconst ariaDescribedBy = hasError ? describedBy : undefined;\n\tconst hasHint = baseProps.hint !== undefined && baseProps.hint !== null && baseProps.hint !== '';\n\tconst errorText = typeof baseProps.error === 'string' ? baseProps.error : '';\n\tconst hintText = typeof baseProps.hint === 'string' ? baseProps.hint : '';\n\tconst timeFormat = withTime?.format ?? '24';\n\tconst timeStep = withTime?.step ?? 60;\n\tconst includeSeconds = withTime?.showSeconds ?? false;\n\tconst readableHasTime = readableFormatIncludesTime(readableFormat);\n\tconst showTimeInButton = withTime?.showTimeInButton ?? !readableHasTime;\n\tconst [date, setDate] = React.useState<Date | undefined>(() => {\n\t\treturn value ?? defaultValue;\n\t});\n\n\tconst [time, setTime] = React.useState<NormalizedTime>(() =>\n\t\tcreateDefaultNormalizedTime(value ?? defaultValue, includeSeconds, timeStep)\n\t);\n\tconst previousValueRef = React.useRef<Date | undefined>(value ?? defaultValue ?? undefined);\n\tconst defaultInitializedRef = React.useRef(false);\n\tconst lastValueDefinedRef = React.useRef(value !== undefined);\n\n\t// Create output helper\n\tconst createOutput = React.useCallback(\n\t\t(selectedDate: Date | undefined, overrideTime?: NormalizedTime): DateOutput => {\n\t\t\tlet finalDate = selectedDate;\n\t\t\tif (selectedDate && withTime?.enabled) {\n\t\t\t\tconst applied = applyTimeToDate(selectedDate, overrideTime ?? time);\n\t\t\t\tfinalDate = Number.isFinite(applied.getTime()) ? applied : undefined;\n\t\t\t}\n\t\t\treturn createDateOutput(finalDate, dateFormat, readableFormat, dateFnsLocale);\n\t\t},\n\t\t[dateFormat, readableFormat, dateFnsLocale, withTime, time]\n\t);\n\n\tReact.useEffect(() => {\n\t\tconst isTimeEnabled = Boolean(withTime?.enabled);\n\t\tconst wasValueDefined = lastValueDefinedRef.current;\n\t\tconst isValueDefined = value !== undefined;\n\n\t\tconst applyState = (baseDate: Date, emitChange: boolean) => {\n\t\t\tconst normalized = alignNormalizedTimeToStep(\n\t\t\t\tcreateDefaultNormalizedTime(baseDate, includeSeconds, timeStep),\n\t\t\t\ttimeStep,\n\t\t\t\tincludeSeconds\n\t\t\t);\n\t\t\tsetDate((current) => {\n\t\t\t\tconst currentTime = current?.getTime?.();\n\t\t\t\tconst nextTime = baseDate.getTime();\n\t\t\t\treturn currentTime !== nextTime ? baseDate : current;\n\t\t\t});\n\t\t\tsetTime((current) => {\n\t\t\t\tif (\n\t\t\t\t\tcurrent.hours === normalized.hours &&\n\t\t\t\t\tcurrent.minutes === normalized.minutes &&\n\t\t\t\t\tcurrent.seconds === normalized.seconds\n\t\t\t\t) {\n\t\t\t\t\treturn current;\n\t\t\t\t}\n\t\t\t\treturn normalized;\n\t\t\t});\n\t\t\tpreviousValueRef.current = baseDate;\n\t\t\tdefaultInitializedRef.current = true;\n\t\t\tif (emitChange && isTimeEnabled) {\n\t\t\t\tconst applied = applyTimeToDate(baseDate, normalized);\n\t\t\t\tonChange?.(createDateOutput(applied, dateFormat, readableFormat, dateFnsLocale));\n\t\t\t}\n\t\t};\n\n\t\tif (!isTimeEnabled) {\n\t\t\tdefaultInitializedRef.current = false;\n\t\t\tpreviousValueRef.current = value ?? defaultValue ?? undefined;\n\t\t\tsetDate(value ?? defaultValue);\n\t\t\tlastValueDefinedRef.current = isValueDefined;\n\t\t\treturn;\n\t\t}\n\n\t\tconst prev = previousValueRef.current;\n\t\tconst prevTime = prev?.getTime?.();\n\t\tconst valueTime = value?.getTime?.();\n\n\t\tif (!isValueDefined && wasValueDefined && defaultValue === undefined) {\n\t\t\tdefaultInitializedRef.current = false;\n\t\t\tpreviousValueRef.current = undefined;\n\t\t}\n\n\t\tif (value !== undefined && valueTime !== prevTime) {\n\t\t\tapplyState(value, false);\n\t\t\tlastValueDefinedRef.current = isValueDefined;\n\t\t\treturn;\n\t\t}\n\n\t\tif (value === undefined && defaultValue !== undefined) {\n\t\t\tconst defaultMillis = defaultValue.getTime();\n\t\t\tif (prevTime !== defaultMillis || !defaultInitializedRef.current) {\n\t\t\t\tapplyState(defaultValue, false);\n\t\t\t}\n\t\t\tlastValueDefinedRef.current = isValueDefined;\n\t\t\treturn;\n\t\t}\n\n\t\tif (value === undefined && defaultValue === undefined && !defaultInitializedRef.current) {\n\t\t\tdefaultInitializedRef.current = true;\n\t\t\tlastValueDefinedRef.current = isValueDefined;\n\t\t\treturn;\n\t\t}\n\n\t\tlastValueDefinedRef.current = isValueDefined;\n\t}, [\n\t\twithTime?.enabled,\n\t\tvalue,\n\t\tdefaultValue,\n\t\tincludeSeconds,\n\t\ttimeStep,\n\t\tonChange,\n\t\tdateFormat,\n\t\treadableFormat,\n\t\tdateFnsLocale,\n\t]);\n\n\tReact.useEffect(() => {\n\t\tif (!withTime?.enabled) {\n\t\t\treturn;\n\t\t}\n\t\tsetTime((current) => {\n\t\t\tconst aligned = alignNormalizedTimeToStep(current, timeStep, includeSeconds);\n\t\t\tif (\n\t\t\t\tcurrent.hours === aligned.hours &&\n\t\t\t\tcurrent.minutes === aligned.minutes &&\n\t\t\t\tcurrent.seconds === aligned.seconds\n\t\t\t) {\n\t\t\t\treturn current;\n\t\t\t}\n\t\t\treturn aligned;\n\t\t});\n\t}, [withTime?.enabled, timeStep, includeSeconds]);\n\n\t// Handle selection\n\tconst handleSelect = React.useCallback(\n\t\t(newDate: Date | undefined) => {\n\t\t\tsetDate(newDate);\n\t\t\tif (withTime?.enabled && newDate) {\n\t\t\t\tdefaultInitializedRef.current = true;\n\t\t\t\tpreviousValueRef.current = newDate;\n\t\t\t}\n\t\t\tif (withTime?.enabled) {\n\t\t\t\tonChange?.(createOutput(newDate));\n\t\t\t\tif (closeOnSelect && newDate) {\n\t\t\t\t\tsetOpen(false);\n\t\t\t\t}\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tonChange?.(createOutput(newDate));\n\t\t\tif (closeOnSelect && newDate) {\n\t\t\t\tsetOpen(false);\n\t\t\t}\n\t\t},\n\t\t[onChange, createOutput, closeOnSelect, setOpen, withTime]\n\t);\n\n\t// Handle time change\n\tconst handleTimeChange = React.useCallback(\n\t\t(nextTime: NormalizedTime) => {\n\t\t\tsetTime(nextTime);\n\t\t\tif (date) {\n\t\t\t\tonChange?.(createOutput(date, nextTime));\n\t\t\t}\n\t\t},\n\t\t[date, onChange, createOutput]\n\t);\n\n\tconst timeDisplay = React.useMemo(() => {\n\t\tif (!withTime?.enabled) {\n\t\t\treturn undefined;\n\t\t}\n\t\treturn formatNormalizedTimeForDisplay(time, includeSeconds, timeFormat, {\n\t\t\tam: t.am,\n\t\t\tpm: t.pm,\n\t\t});\n\t}, [withTime?.enabled, time, includeSeconds, timeFormat, t]);\n\n\t// Button text\n\tconst buttonText = React.useMemo(\n\t\t() => formatDateButtonText(\n\t\t\tdate,\n\t\t\treadableFormat,\n\t\t\tplaceholder,\n\t\t\tt.selectDate,\n\t\t\tshowTimeInButton ? timeDisplay : undefined,\n\t\t\tdateFnsLocale\n\t\t),\n\t\t[date, readableFormat, placeholder, t, timeDisplay, showTimeInButton, dateFnsLocale]\n\t);\n\n\tconst footerSummary = React.useMemo(\n\t\t() => (date ? format(date, readableFormat, { locale: dateFnsLocale }) : undefined),\n\t\t[date, readableFormat, dateFnsLocale]\n\t);\n\n\treturn (\n\t\t<div className={cn('space-y-2', baseProps.className)}>\n\t\t\t{!!(baseProps.label || hasHint) && (\n <div className=\"flex items-center justify-between gap-1\">\n\t\t\t\t\t{!!baseProps.label && (\n <Label\n\t\t\t\t\t\t\thtmlFor={triggerId}\n\t\t\t\t\t\t\tclassName={cn('leading-6', hasError && 'text-destructive')}\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{baseProps.label}\n\t\t\t\t\t\t</Label>\n )}\n\t\t\t\t\t{!hasError && !!hasHint && (\n <Text tag=\"span\" type=\"secondary\">\n\t\t\t\t\t\t\t{hintText}\n\t\t\t\t\t\t</Text>\n )}\n\t\t\t\t</div>\n )}\n\n\t\t\t\t<Popover open={open} onOpenChange={setOpen}>\n\t\t\t\t\t<PopoverTrigger\n\t\t\t\t\t\trender={(triggerProps) => {\n\t\t\t\t\t\t\tconst resolved = resolvePickerButtonProps(baseProps.buttonVariant);\n\n\t\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\t\t\t{...triggerProps}\n\t\t\t\t\t\t\t\t\tid={triggerId}\n\t\t\t\t\t\t\t\t\tvariant={resolved.variant}\n\t\t\t\t\t\t\t\t\tbuttonStyle={resolved.buttonStyle}\n\t\t\t\t\t\t\t\t\taria-invalid={hasError}\n\t\t\t\t\t\t\t\t\taria-describedby={ariaDescribedBy}\n\t\t\t\t\t\t\t\t\tclassName={cn(\n\t\t\t\t\t\t\t\t\t\t'w-full justify-start text-left font-normal',\n\t\t\t\t\t\t\t\t\t\tPICKER_TRIGGER_CHROME,\n\t\t\t\t\t\t\t\t\t\t!date && 'text-muted-foreground',\n\t\t\t\t\t\t\t\t\t\tbaseProps.error && 'border-destructive focus-visible:ring-destructive',\n\t\t\t\t\t\t\t\t\t\t(triggerProps as { className?: string }).className,\n\t\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t\t\tdisabled={baseProps.disabled}\n\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t<CalendarIcon className=\"mr-2 h-4 w-4\" />\n\t\t\t\t\t\t\t\t\t{buttonText}\n\t\t\t\t\t\t\t\t</Button>\n\t\t\t\t\t\t\t);\n\t\t\t\t\t\t}}\n\t\t\t\t\t/>\n\n\t\t\t\t<PopoverContent\n\t\t\t\t\tclassName=\"w-auto p-0\"\n\t\t\t\t\talign=\"start\"\n\t\t\t\t>\n\t\t\t\t\t{/* Header */}\n\t\t\t\t\t{!!baseProps.header && <DatePickerHeader config={baseProps.header} />}\n\n\t\t\t\t\t{/* Calendar */}\n\t\t\t\t\t<Calendar\n\t\t\t\t\t\tmode=\"single\"\n\t\t\t\t\t\tselected={date}\n\t\t\t\t\t\tonSelect={handleSelect}\n\t\t\t\t\t\tdefaultMonth={date}\n\t\t\t\t\t\tnumberOfMonths={baseProps.numberOfMonths}\n\t\t\t\t\t\tshowOutsideDays={baseProps.showOutsideDays}\n\t\t\t\t\t\tdisabled={disabledDates ?? baseProps.disabled}\n\t\t\t\t\t\tlocale={dateFnsLocale}\n\t\t\t\t\t\tcaptionLayout={captionLayout}\n\t\t\t\t\t\tfromYear={baseProps.yearSelection?.fromYear}\n\t\t\t\t\t\ttoYear={baseProps.yearSelection?.toYear}\n\t\t\t\t\t\t{...calendarProps}\n\t\t\t\t\t/>\n\n\t\t\t\t\t{/* Time Selection */}\n\t\t\t\t\t{!!withTime?.enabled && <>\n\t\t\t\t\t\t\t<Separator />\n\t\t\t\t\t\t\t<div className=\"p-3\">\n\t\t\t\t\t\t\t\t<Label size=\"sm\">{t.startTime}</Label>\n\t\t\t\t\t\t\t\t<div className=\"mt-2 flex items-center gap-2\">\n\t\t\t\t\t\t\t\t\t<Clock className=\"h-4 w-4 text-muted-foreground\" />\n\t\t\t\t\t\t\t\t\t<SegmentedTimeInput\n\t\t\t\t\t\t\t\t\t\tvalue={time}\n\t\t\t\t\t\t\t\t\t\tonChange={handleTimeChange}\n\t\t\t\t\t\t\t\t\t\tformat={timeFormat}\n\t\t\t\t\t\t\t\t\t\tincludeSeconds={includeSeconds}\n\t\t\t\t\t\t\t\t\t\tstep={timeStep}\n\t\t\t\t\t\t\t\t\t\tdisabled={baseProps.disabled}\n\t\t\t\t\t\t\t\t\t\tlabels={{\n\t\t\t\t\t\t\t\t\t\t\thours: t.hours,\n\t\t\t\t\t\t\t\t\t\t\tminutes: t.minutes,\n\t\t\t\t\t\t\t\t\t\t\tseconds: includeSeconds ? t.seconds : undefined,\n\t\t\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\t\t\tperiodLabels={{ am: t.am, pm: t.pm }}\n\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t</>}\n\n\t\t\t\t\t{/* Footer */}\n\t\t\t\t\t{!!baseProps.footer && (\n <DatePickerFooter\n\t\t\t\t\t\t\tconfig={baseProps.footer}\n\t\t\t\t\t\t\toutput={createOutput(date)}\n\t\t\t\t\t\t\thasSelection={!!date}\n\t\t\t\t\t\t\tautoSummary={footerSummary}\n\t\t\t\t\t\t/>\n )}\n\t\t\t\t</PopoverContent>\n\t\t\t</Popover>\n\n\t\t\t{!!hasError && <Text id={describedBy} size=\"xs\" type=\"error\" content={errorText} />}\n\t\t</div>\n\t);\n}\n\n// Multiple Date Picker Component\nfunction MultipleDatePicker({\n\tvalue,\n\tdefaultValue,\n\t\tonChange,\n\t\tformat: dateFormat = 'yyyy-MM-dd',\n\t\treadableFormat = 'PPP',\n\t\tplaceholder,\n\t\tmin,\n\tmax,\n\trequired,\n\tdisabledDates,\n\tcalendarProps,\n\topen,\n\tsetOpen,\n\tt,\n\tdateFnsLocale,\n\tcaptionLayout,\n\t...baseProps\n}: MultipleDatepickerProps & {\n\topen: boolean;\n\tsetOpen: (open: boolean) => void;\n\tt: typeof defaultDatePickerStrings;\n\tdateFnsLocale: DateFnsLocale;\n\tcaptionLayout: 'label' | 'dropdown';\n}) {\n\tconst triggerId = React.useId();\n\tconst describedBy = `${triggerId}-description`;\n\tconst hasError = baseProps.error !== undefined && baseProps.error !== null && baseProps.error !== '';\n\tconst ariaDescribedBy = hasError ? describedBy : undefined;\n\tconst hasHint = baseProps.hint !== undefined && baseProps.hint !== null && baseProps.hint !== '';\n\tconst errorText = typeof baseProps.error === 'string' ? baseProps.error : '';\n\tconst hintText = typeof baseProps.hint === 'string' ? baseProps.hint : '';\n\tconst [dates, setDates] = React.useState<Date[]>(value ?? defaultValue ?? []);\n\n\t// Sync with controlled value\n\tReact.useEffect(() => {\n\t\tif (value !== undefined) {\n\t\t\tsetDates(value);\n\t\t}\n\t}, [value]);\n\n\t// Create output helper\n\tconst createOutput = React.useCallback(\n\t\t(dates: Date[]): MultipleDatesOutput =>\n\t\t\tcreateMultipleDatesOutput(dates, dateFormat, readableFormat, dateFnsLocale),\n\t\t[dateFormat, readableFormat, dateFnsLocale]\n\t);\n\n\t// Handle selection\n\tconst handleSelect = React.useCallback(\n\t\t(newDates?: Date[] | Date) => {\n\t\t\tconst selectedDates = Array.isArray(newDates) ? newDates : newDates ? [newDates] : [];\n\n\t\t\tif (max && selectedDates.length > max) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tsetDates(selectedDates);\n\t\t\tonChange?.(createOutput(selectedDates));\n\t\t},\n\t\t[onChange, createOutput, max]\n\t);\n\n\t// Button text\n\tconst buttonText = React.useMemo(() =>\n\t\tformatMultipleDatesButtonText(dates, readableFormat, placeholder, t.selectDates, t, dateFnsLocale),\n\t\t[dates, readableFormat, placeholder, t, dateFnsLocale]\n\t);\n\n\t// Validation message\n\tconst validationMessage = React.useMemo(() =>\n\t\tgetMultipleDatesValidationMessage(dates, min, max, required, t),\n\t\t[dates, min, max, required, t]\n\t);\n\n\tconst footerSummary = React.useMemo(\n\t\t() => (dates.length > 0 ? t.datesSelected(dates.length) : undefined),\n\t\t[dates.length, t]\n\t);\n\n\treturn (\n\t\t<div className={cn('space-y-2', baseProps.className)}>\n\t\t\t{!!(baseProps.label || hasHint) && (\n <div className=\"flex items-center justify-between gap-1\">\n\t\t\t\t\t{!!baseProps.label && (\n <Label\n\t\t\t\t\t\t\thtmlFor={triggerId}\n\t\t\t\t\t\t\tclassName={cn('leading-6', hasError && 'text-destructive')}\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{baseProps.label}\n\t\t\t\t\t\t</Label>\n )}\n\t\t\t\t\t{!hasError && !!hasHint && (\n <Text tag=\"span\" type=\"secondary\">\n\t\t\t\t\t\t\t{hintText}\n\t\t\t\t\t\t</Text>\n )}\n\t\t\t\t</div>\n )}\n\n\t\t\t\t<Popover open={open} onOpenChange={setOpen}>\n\t\t\t\t\t<PopoverTrigger\n\t\t\t\t\t\trender={(triggerProps) => {\n\t\t\t\t\t\t\tconst resolved = resolvePickerButtonProps(baseProps.buttonVariant);\n\n\t\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\t\t\t{...triggerProps}\n\t\t\t\t\t\t\t\t\tid={triggerId}\n\t\t\t\t\t\t\t\t\tvariant={resolved.variant}\n\t\t\t\t\t\t\t\t\tbuttonStyle={resolved.buttonStyle}\n\t\t\t\t\t\t\t\t\taria-invalid={hasError}\n\t\t\t\t\t\t\t\t\taria-describedby={ariaDescribedBy}\n\t\t\t\t\t\t\t\t\tclassName={cn(\n\t\t\t\t\t\t\t\t\t\t'w-full justify-start text-left font-normal',\n\t\t\t\t\t\t\t\t\t\tPICKER_TRIGGER_CHROME,\n\t\t\t\t\t\t\t\t\t\tdates.length === 0 && 'text-muted-foreground',\n\t\t\t\t\t\t\t\t\t\tbaseProps.error && 'border-destructive focus-visible:ring-destructive',\n\t\t\t\t\t\t\t\t\t\t(triggerProps as { className?: string }).className,\n\t\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t\t\tdisabled={baseProps.disabled}\n\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t<CalendarIcon className=\"mr-2 h-4 w-4\" />\n\t\t\t\t\t\t\t\t\t<span className=\"truncate\">{buttonText}</span>\n\t\t\t\t\t\t\t\t</Button>\n\t\t\t\t\t\t\t);\n\t\t\t\t\t\t}}\n\t\t\t\t\t/>\n\n\t\t\t\t<PopoverContent\n\t\t\t\t\tclassName=\"w-auto p-0\"\n\t\t\t\t\talign=\"start\"\n\t\t\t\t>\n\t\t\t\t\t{/* Header */}\n\t\t\t\t\t{!!baseProps.header && <DatePickerHeader config={baseProps.header} />}\n\n\t\t\t\t\t{/* Calendar */}\n\t\t\t\t\t<Calendar\n\t\t\t\t\t\tmode=\"multiple\"\n\t\t\t\t\t\tselected={dates}\n\t\t\t\t\t\tonSelect={handleSelect}\n\t\t\t\t\t\tdefaultMonth={dates[0]}\n\t\t\t\t\t\tnumberOfMonths={baseProps.numberOfMonths}\n\t\t\t\t\t\tshowOutsideDays={baseProps.showOutsideDays}\n\t\t\t\t\t\tdisabled={disabledDates ?? baseProps.disabled}\n\t\t\t\t\t\tlocale={dateFnsLocale}\n\t\t\t\t\t\tcaptionLayout={captionLayout}\n\t\t\t\t\t\tfromYear={baseProps.yearSelection?.fromYear}\n\t\t\t\t\t\ttoYear={baseProps.yearSelection?.toYear}\n\t\t\t\t\t\trequired={required}\n\t\t\t\t\t\tmax={max}\n\t\t\t\t\t\t{...calendarProps}\n\t\t\t\t\t/>\n\n\t\t\t\t\t{/* Validation Message */}\n\t\t\t\t\t{!!validationMessage && <>\n\t\t\t\t\t\t\t<Separator />\n\t\t\t\t\t\t\t<div className=\"p-3\">\n\t\t\t\t\t\t\t\t<Text type=\"secondary\">{validationMessage}</Text>\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t</>}\n\n\t\t\t\t\t{/* Footer */}\n\t\t\t\t\t{!!baseProps.footer && (\n <DatePickerFooter\n\t\t\t\t\t\t\tconfig={baseProps.footer}\n\t\t\t\t\t\t\toutput={createOutput(dates)}\n\t\t\t\t\t\t\thasSelection={dates.length > 0}\n\t\t\t\t\t\t\tautoSummary={footerSummary}\n\t\t\t\t\t\t/>\n )}\n\t\t\t\t</PopoverContent>\n\t\t\t</Popover>\n\n\t\t\t{!!hasError && <Text id={describedBy} size=\"xs\" type=\"error\" content={errorText} />}\n\t\t</div>\n\t);\n}\n\n// Range Date Picker Component\nfunction RangeDatePicker({\n\tvalue,\n\tdefaultValue,\n\tonChange,\n\tformat: dateFormat = 'yyyy-MM-dd',\n\treadableFormat = 'PPP',\n\tplaceholder,\n\twithConfirm = false,\n\tmin,\n\tmax,\n\tcloseOnSelect = true,\n\twithTime,\n\tpresets: presetsProp,\n\tdisabledDates,\n\tcalendarProps,\n\topen,\n\tsetOpen,\n\tt,\n\tdateFnsLocale,\n\tcaptionLayout,\n\t...baseProps\n}: DateRangePickerProps & {\n\topen: boolean;\n\tsetOpen: (open: boolean) => void;\n\tt: typeof defaultDatePickerStrings;\n\tdateFnsLocale: DateFnsLocale;\n\tcaptionLayout: 'label' | 'dropdown';\n}) {\n\t// Resolve the start-of-week so the \"This week\" preset honors the\n\t// consumer's <UIProvider dates={{ weekStartsOn: 0 }}> setting.\n\t// Library default is 1 (Monday).\n\tconst { weekStartsOn = 1 } = useDatesConfig();\n\tconst presets = presetsProp ?? getDefaultPresets(t, weekStartsOn);\n\tconst triggerId = React.useId();\n\tconst describedBy = `${triggerId}-description`;\n\tconst hasError = baseProps.error !== undefined && baseProps.error !== null && baseProps.error !== '';\n\tconst ariaDescribedBy = hasError ? describedBy : undefined;\n\tconst hasHint = baseProps.hint !== undefined && baseProps.hint !== null && baseProps.hint !== '';\n\tconst errorText = typeof baseProps.error === 'string' ? baseProps.error : '';\n\tconst hintText = typeof baseProps.hint === 'string' ? baseProps.hint : '';\n\tconst timeFormat = withTime?.format ?? '24';\n\tconst timeStep = withTime?.step ?? 60;\n\tconst includeSeconds = withTime?.showSeconds ?? false;\n\tconst readableHasTime = readableFormatIncludesTime(readableFormat);\n\tconst showTimeInButton = withTime?.showTimeInButton ?? !readableHasTime;\n\tconst showTimeInSummary = withTime?.showTimeInSummary ?? !readableHasTime;\n\tconst initialRange = value ?? defaultValue;\n\tconst [range, setRange] = React.useState<DateRange | undefined>(initialRange);\n\tconst [startTime, setStartTime] = React.useState<NormalizedTime>(() =>\n\t\tcreateDefaultNormalizedTime(initialRange?.from, includeSeconds, timeStep)\n\t);\n\tconst [endTime, setEndTime] = React.useState<NormalizedTime>(() =>\n\t\tcreateDefaultNormalizedTime(initialRange?.to, includeSeconds, timeStep)\n\t);\n\tconst previousValueRef = React.useRef<DateRange | undefined>(value);\n\n\t// Validation message\n\tconst validationMessage = React.useMemo(() =>\n\t\tgetRangeValidationMessage(range, min, max, t),\n\t\t[range, min, max, t]\n\t);\n\n\tconst hasValidationMessage = validationMessage !== undefined && validationMessage !== null && validationMessage !== '';\n\tconst validationText = typeof validationMessage === 'string' ? validationMessage : '';\n\n\t// Sync with controlled value\n\tReact.useEffect(() => {\n\t\tif (value !== undefined) {\n\t\t\tsetRange(value);\n\t\t}\n\t}, [value]);\n\n\t// Sync time segments when external range changes\n\tReact.useEffect(() => {\n\t\tif (!withTime?.enabled) {\n\t\t\tpreviousValueRef.current = value;\n\t\t\treturn;\n\t\t}\n\n\t\tconst prev = previousValueRef.current;\n\t\tconst nextFrom = value?.from;\n\t\tconst nextTo = value?.to;\n\n\t\tif (nextFrom) {\n\t\t\tsetStartTime(createDefaultNormalizedTime(nextFrom, includeSeconds, timeStep));\n\t\t} else if (prev?.from) {\n\t\t\tsetStartTime(createDefaultNormalizedTime(undefined, includeSeconds, timeStep));\n\t\t}\n\n\t\tif (nextTo) {\n\t\t\tsetEndTime(createDefaultNormalizedTime(nextTo, includeSeconds, timeStep));\n\t\t} else if (prev?.to) {\n\t\t\tsetEndTime(createDefaultNormalizedTime(undefined, includeSeconds, timeStep));\n\t\t}\n\n\t\tpreviousValueRef.current = value;\n\t}, [value, withTime?.enabled, includeSeconds, timeStep]);\n\n\tReact.useEffect(() => {\n\t\tif (!withTime?.enabled) {\n\t\t\treturn;\n\t\t}\n\t\tsetStartTime((current) => {\n\t\t\tconst aligned = alignNormalizedTimeToStep(current, timeStep, includeSeconds);\n\t\t\tif (\n\t\t\t\tcurrent.hours === aligned.hours &&\n\t\t\t\tcurrent.minutes === aligned.minutes &&\n\t\t\t\tcurrent.seconds === aligned.seconds\n\t\t\t) {\n\t\t\t\treturn current;\n\t\t\t}\n\t\t\treturn aligned;\n\t\t});\n\t\tsetEndTime((current) => {\n\t\t\tconst aligned = alignNormalizedTimeToStep(current, timeStep, includeSeconds);\n\t\t\tif (\n\t\t\t\tcurrent.hours === aligned.hours &&\n\t\t\t\tcurrent.minutes === aligned.minutes &&\n\t\t\t\tcurrent.seconds === aligned.seconds\n\t\t\t) {\n\t\t\t\treturn current;\n\t\t\t}\n\t\t\treturn aligned;\n\t\t});\n\t}, [withTime?.enabled, timeStep, includeSeconds]);\n\n\t// Create output helper\n\tconst createOutput = React.useCallback(\n\t\t(currentRange: DateRange | undefined): DateRangeOutput => {\n\t\t\tlet finalRange = currentRange;\n\t\t\tif (currentRange && withTime?.enabled) {\n\t\t\t\tfinalRange = applyTimeToRange(currentRange, startTime, endTime);\n\t\t\t}\n\t\t\treturn createDateRangeOutput(finalRange, dateFormat, readableFormat, dateFnsLocale);\n\t\t},\n\t\t[dateFormat, readableFormat, dateFnsLocale, withTime, startTime, endTime]\n\t);\n\n\tconst handleStartTimeChange = React.useCallback((next: NormalizedTime) => {\n\t\tsetStartTime(next);\n\t}, []);\n\n\tconst handleEndTimeChange = React.useCallback((next: NormalizedTime) => {\n\t\tsetEndTime(next);\n\t}, []);\n\n\t// Handle selection\n\tconst handleSelect = React.useCallback(\n\t\t(newRange: DateRange | undefined) => {\n\t\t\tconst validation = validateDateRange(newRange, min, max);\n\t\t\tif (newRange && !validation.isValid) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tsetRange(newRange);\n\n\t\t\tif (!withConfirm && !withTime?.enabled) {\n\t\t\t\tonChange?.(createOutput(newRange));\n\t\t\t\tif (closeOnSelect && newRange?.from && newRange?.to) {\n\t\t\t\t\tsetOpen(false);\n\t\t\t\t}\n\t\t\t}\n\t\t},\n\t\t[withConfirm, withTime, onChange, createOutput, min, max, closeOnSelect, setOpen]\n\t);\n\n\t// Handle preset selection\n\tconst handlePresetSelect = React.useCallback(\n\t\t(preset: PresetDateRange) => {\n\t\t\tconst range = preset.getValue();\n\t\t\thandleSelect(range);\n\t\t},\n\t\t[handleSelect]\n\t);\n\n\t// Handle confirm\n\tconst handleConfirm = React.useCallback(() => {\n\t\tonChange?.(createOutput(range));\n\t\tsetOpen(false);\n\t}, [range, onChange, createOutput, setOpen]);\n\n\tconst startTimeDisplay = React.useMemo(() => {\n\t\tif (!withTime?.enabled) {\n\t\t\treturn undefined;\n\t\t}\n\t\treturn formatNormalizedTimeForDisplay(startTime, includeSeconds, timeFormat, {\n\t\t\tam: t.am,\n\t\t\tpm: t.pm,\n\t\t});\n\t}, [withTime?.enabled, startTime, includeSeconds, timeFormat, t]);\n\n\tconst endTimeDisplay = React.useMemo(() => {\n\t\tif (!withTime?.enabled) {\n\t\t\treturn undefined;\n\t\t}\n\t\treturn formatNormalizedTimeForDisplay(endTime, includeSeconds, timeFormat, {\n\t\t\tam: t.am,\n\t\t\tpm: t.pm,\n\t\t});\n\t}, [withTime?.enabled, endTime, includeSeconds, timeFormat, t]);\n\n\t// Button text\n\tconst buttonText = React.useMemo(() => {\n\t\tif (withTime?.enabled && range?.from) {\n\t\t\tconst fromBase = format(range.from, readableFormat, { locale: dateFnsLocale });\n\t\t\tconst fromText = showTimeInButton && startTimeDisplay ? `${fromBase} ${startTimeDisplay}` : fromBase;\n\t\t\tif (range.to) {\n\t\t\t\tconst toBase = format(range.to, readableFormat, { locale: dateFnsLocale });\n\t\t\t\tconst toText = showTimeInButton && endTimeDisplay ? `${toBase} ${endTimeDisplay}` : toBase;\n\t\t\t\treturn `${fromText} - ${toText}`;\n\t\t\t}\n\t\t\treturn fromText;\n\t\t}\n\t\treturn formatRangeButtonText(range, readableFormat, placeholder, t.selectDateRange, dateFnsLocale);\n\t}, [withTime?.enabled, range, readableFormat, showTimeInButton, startTimeDisplay, endTimeDisplay, placeholder, t, dateFnsLocale]);\n\n\tconst footerSummary = React.useMemo(() => {\n\t\tif (!range?.from || !range?.to) {\n\t\t\treturn undefined;\n\t\t}\n\n\t\tconst fromBase = format(range.from, readableFormat, { locale: dateFnsLocale });\n\t\tconst toBase = format(range.to, readableFormat, { locale: dateFnsLocale });\n\t\tconst fromText = showTimeInSummary && startTimeDisplay ? `${fromBase} ${startTimeDisplay}` : fromBase;\n\t\tconst toText = showTimeInSummary && endTimeDisplay ? `${toBase} ${endTimeDisplay}` : toBase;\n\n\t\treturn `${fromText} - ${toText}`;\n\t}, [range, readableFormat, dateFnsLocale, showTimeInSummary, startTimeDisplay, endTimeDisplay]);\n\n\treturn (\n\t\t<div className={cn('space-y-2', baseProps.className)}>\n\t\t\t{!!(baseProps.label || hasHint) && (\n <div className=\"flex items-center justify-between gap-1\">\n\t\t\t\t\t{!!baseProps.label && (\n <Label\n\t\t\t\t\t\t\thtmlFor={triggerId}\n\t\t\t\t\t\t\tclassName={cn('leading-6', hasError && 'text-destructive')}\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{baseProps.label}\n\t\t\t\t\t\t</Label>\n )}\n\t\t\t\t\t{!hasError && !!hasHint && (\n <Text tag=\"span\" type=\"secondary\">\n\t\t\t\t\t\t\t{hintText}\n\t\t\t\t\t\t</Text>\n )}\n\t\t\t\t</div>\n )}\n\n\t\t\t\t<Popover open={open} onOpenChange={setOpen}>\n\t\t\t\t\t<PopoverTrigger\n\t\t\t\t\t\trender={(triggerProps) => {\n\t\t\t\t\t\t\tconst resolved = resolvePickerButtonProps(baseProps.buttonVariant);\n\n\t\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\t\t\t{...triggerProps}\n\t\t\t\t\t\t\t\t\tid={triggerId}\n\t\t\t\t\t\t\t\t\tvariant={resolved.variant}\n\t\t\t\t\t\t\t\t\tbuttonStyle={resolved.buttonStyle}\n\t\t\t\t\t\t\t\t\taria-invalid={hasError}\n\t\t\t\t\t\t\t\t\taria-describedby={ariaDescribedBy}\n\t\t\t\t\t\t\t\t\tclassName={cn(\n\t\t\t\t\t\t\t\t\t\t'w-full justify-start text-left font-normal',\n\t\t\t\t\t\t\t\t\t\tPICKER_TRIGGER_CHROME,\n\t\t\t\t\t\t\t\t\t\t!range && 'text-muted-foreground',\n\t\t\t\t\t\t\t\t\t\tbaseProps.error && 'border-destructive focus-visible:ring-destructive',\n\t\t\t\t\t\t\t\t\t\t(triggerProps as { className?: string }).className,\n\t\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t\t\tdisabled={baseProps.disabled}\n\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t<CalendarIcon className=\"mr-2 h-4 w-4 shrink-0\" />\n\t\t\t\t\t\t\t\t\t<span className=\"truncate\">{buttonText}</span>\n\t\t\t\t\t\t\t\t</Button>\n\t\t\t\t\t\t\t);\n\t\t\t\t\t\t}}\n\t\t\t\t\t/>\n\n\t\t\t\t<PopoverContent\n\t\t\t\t\tclassName=\"w-auto p-0\"\n\t\t\t\t\talign=\"start\"\n\t\t\t\t>\n\t\t\t\t\t{/* Header */}\n\t\t\t\t\t{!!baseProps.header && <DatePickerHeader config={baseProps.header} />}\n\n\t\t\t\t\t<div className=\"flex\">\n\t\t\t\t\t\t{/* Presets sidebar */}\n\t\t\t\t\t\t{presets.length > 0 && (\n\t\t\t\t\t\t\t<div className=\"flex flex-col gap-0.5 border-r p-2 min-w-[7.5rem]\">\n\t\t\t\t\t\t\t\t{presets.map((preset) => (\n\t\t\t\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\t\t\t\tkey={preset.label}\n\t\t\t\t\t\t\t\t\t\tvariant=\"secondary\"\n\t\t\t\t\t\t\t\t\t\tbuttonStyle=\"ghost\"\n\t\t\t\t\t\t\t\t\t\tonClick={() => handlePresetSelect(preset)}\n\t\t\t\t\t\t\t\t\t\tclassName=\"justify-start font-normal text-muted-foreground hover:text-foreground\"\n\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t{preset.label}\n\t\t\t\t\t\t\t\t\t</Button>\n\t\t\t\t\t\t\t\t))}\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t)}\n\n\t\t\t\t\t\t{/* Calendar */}\n\t\t\t\t\t\t<div className=\"flex flex-col\">\n\t\t\t\t\t\t\t<Calendar\n\t\t\t\t\t\t\t\tmode=\"range\"\n\t\t\t\t\t\t\t\tselected={range}\n\t\t\t\t\t\t\t\tonSelect={handleSelect}\n\t\t\t\t\t\t\t\tdefaultMonth={range?.from}\n\t\t\t\t\t\t\t\tnumberOfMonths={baseProps.numberOfMonths ?? 2}\n\t\t\t\t\t\t\t\tshowOutsideDays={baseProps.showOutsideDays}\n\t\t\t\t\t\t\t\tdisabled={disabledDates ?? baseProps.disabled}\n\t\t\t\t\t\t\t\tlocale={dateFnsLocale}\n\t\t\t\t\t\t\t\tcaptionLayout={captionLayout}\n\t\t\t\t\t\t\t\tfromYear={baseProps.yearSelection?.fromYear}\n\t\t\t\t\t\t\t\ttoYear={baseProps.yearSelection?.toYear}\n\t\t\t\t\t\t\t\t{...calendarProps}\n\t\t\t\t\t\t\t/>\n\n\t\t\t\t\t\t\t{/* Footer section */}\n\t\t\t\t\t\t\t{!!(range?.from || validationMessage || withConfirm || withTime?.enabled || baseProps.footer) && <>\n\t\t\t\t\t\t\t\t\t<Separator />\n\t\t\t\t\t\t\t\t\t<div className=\"flex flex-col gap-3 p-3\">\n\t\t\t\t\t\t\t\t\t\t{/* Date display (only show if no custom footer or if explicitly building default summary) */}\n\t\t\t\t\t\t\t\t\t\t{!!range?.from && !baseProps.footer && (\n <div className=\"flex items-center justify-between gap-4 text-sm\">\n\t\t\t\t\t\t\t\t\t\t\t\t<div className=\"flex items-center gap-2\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t<Text tag=\"span\" type=\"secondary\">{t.from}:</Text>\n\t\t\t\t\t\t\t\t\t\t\t\t\t<Text tag=\"span\" weight=\"medium\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t{format(range.from, readableFormat, { locale: dateFnsLocale })}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t{showTimeInSummary && startTimeDisplay ? ` ${startTimeDisplay}` : ''}\n\t\t\t\t\t\t\t\t\t\t\t\t\t</Text>\n\t\t\t\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t\t\t\t\t{!!range.to && (\n <div className=\"flex items-center gap-2\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<Text tag=\"span\" type=\"secondary\">{t.to}:</Text>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<Text tag=\"span\" weight=\"medium\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t{format(range.to, readableFormat, { locale: dateFnsLocale })}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t{showTimeInSummary && endTimeDisplay ? ` ${endTimeDisplay}` : ''}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t</Text>\n\t\t\t\t\t\t\t\t\t\t\t\t\t</div>\n )}\n\t\t\t\t\t\t\t\t\t\t\t</div>\n )}\n\n\t\t\t\t\t\t\t\t\t\t{/* Time inputs */}\n\t\t\t\t\t\t\t\t\t\t{!!withTime?.enabled && !!range?.from && (\n <div className=\"grid grid-cols-1 gap-3 sm:grid-cols-2\">\n\t\t\t\t\t\t\t\t\t\t\t\t<div>\n\t\t\t\t\t\t\t\t\t\t\t\t\t<Label size=\"xs\">{t.startTime}</Label>\n\t\t\t\t\t\t\t\t\t\t\t\t\t<div className=\"mt-1 flex items-center gap-2\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<Clock className=\"h-3 w-3 text-muted-foreground\" />\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<SegmentedTimeInput\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tvalue={startTime}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tonChange={handleStartTimeChange}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tformat={timeFormat}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tincludeSeconds={includeSeconds}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tstep={timeStep}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tdisabled={baseProps.disabled}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tlabels={{\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\thours: t.hours,\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tminutes: t.minutes,\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tseconds: includeSeconds ? t.seconds : undefined,\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tperiodLabels={{ am: t.am, pm: t.pm }}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t\t\t\t\t{!!range.to && (\n <div>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<Label size=\"xs\">{t.endTime}</Label>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<div className=\"mt-1 flex items-center gap-2\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<Clock className=\"h-3 w-3 text-muted-foreground\" />\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<SegmentedTimeInput\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tvalue={endTime}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tonChange={handleEndTimeChange}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tformat={timeFormat}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tincludeSeconds={includeSeconds}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tstep={timeStep}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tdisabled={baseProps.disabled}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tlabels={{\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\thours: t.hours,\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tminutes: t.minutes,\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tseconds: includeSeconds ? t.seconds : undefined,\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tperiodLabels={{ am: t.am, pm: t.pm }}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t\t\t\t\t\t</div>\n )}\n\t\t\t\t\t\t\t\t\t\t\t</div>\n )}\n\n\t\t\t\t\t\t\t\t\t\t{/* Validation */}\n\t\t\t\t\t\t\t\t\t\t<Text type=\"error\" content={validationText} hidden={!hasValidationMessage} />\n\n\t\t\t\t\t\t\t\t\t\t{/* Confirm button (only if no custom footer) */}\n\t\t\t\t\t\t\t\t\t\t{!!(withConfirm || withTime?.enabled) && !baseProps.footer && (\n <Button\n\t\t\t\t\t\t\t\t\t\t\t\tonClick={handleConfirm}\n\t\t\t\t\t\t\t\t\t\t\t\tdisabled={!range?.from || !range?.to || !!validationMessage}\n\t\t\t\t\t\t\t\t\t\t\t\tclassName=\"w-full\"\n\t\t\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t\t\t{t.confirm}\n\t\t\t\t\t\t\t\t\t\t\t</Button>\n )}\n\n\t\t\t\t\t\t\t\t\t\t{/* Custom footer */}\n\t\t\t\t\t\t\t\t\t\t{!!baseProps.footer && (\n <div className=\"-mx-3 -mb-3\">\n\t\t\t\t\t\t\t\t\t\t\t\t<DatePickerFooter\n\t\t\t\t\t\t\t\t\t\t\t\t\tconfig={baseProps.footer}\n\t\t\t\t\t\t\t\t\t\t\t\t\toutput={createOutput(range)}\n\t\t\t\t\t\t\t\t\t\t\t\t\thasSelection={!!(range?.from && range?.to)}\n\t\t\t\t\t\t\t\t\t\t\t\t\tautoSummary={footerSummary}\n\t\t\t\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t\t\t\t</div>\n )}\n\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t</>}\n\t\t\t\t\t\t</div>\n\t\t\t\t\t</div>\n\t\t\t\t</PopoverContent>\n\t\t\t</Popover>\n\n\t\t\t{!!hasError && <Text id={describedBy} size=\"xs\" type=\"error\" content={errorText} />}\n\t\t</div>\n\t);\n}\n\nexport default DatePicker;\n\nDatePicker.displayName = 'DatePicker';\n"],"mappings":"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"}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
const e=require(`./chunk-D3uCBrYO.cjs`),t=require(`../lib/strings.cjs`),n=require(`./ui-provider-uiQgATj1.cjs`),r=require(`../lib/utils.cjs`),i=require(`./text-DBnY6fcL.cjs`),a=require(`./heading-mZc_jan1.cjs`),o=require(`./typography-BW7iZBx7.cjs`),s=require(`./button-2xglT7yf.cjs`),c=require(`./button-D0nF99a9.cjs`),l=require(`./popover-B1f_EUQS.cjs`),u=require(`./separator-CN9zAJfs.cjs`),d=require(`./input-BJb10xb9.cjs`);let f=require(`react`);f=e.t(f,1);let p=require(`date-fns`),m=require(`react/jsx-runtime`),h=require(`lucide-react`),g=require(`class-variance-authority`),_=require(`react-day-picker`),v=require(`date-fns/locale`),y=require(`@base-ui/react/toggle`),b=require(`@base-ui/react/toggle-group`);function x({className:e,classNames:t,showOutsideDays:n=!0,captionLayout:i=`label`,buttonVariant:a=`ghost`,locale:o,formatters:c,components:l,...u}){let d=(0,_.getDefaultClassNames)();return(0,m.jsx)(_.DayPicker,{showOutsideDays:n,className:r.cn(`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),captionLayout:i,locale:o,formatters:{formatMonthDropdown:e=>e.toLocaleString(o?.code,{month:`short`}),...c},classNames:{root:r.cn(`w-fit`,d.root),months:r.cn(`flex gap-4 flex-col md:flex-row relative`,d.months),month:r.cn(`flex flex-col w-full gap-4`,d.month),nav:r.cn(`flex items-center gap-1 w-full absolute top-0 inset-x-0 justify-between`,d.nav),button_previous:r.cn(s.n({variant:a}),`size-(--cell-size) aria-disabled:opacity-50 p-0 select-none`,d.button_previous),button_next:r.cn(s.n({variant:a}),`size-(--cell-size) aria-disabled:opacity-50 p-0 select-none`,d.button_next),month_caption:r.cn(`flex items-center justify-center h-(--cell-size) w-full px-(--cell-size)`,d.month_caption),dropdowns:r.cn(`w-full flex items-center text-sm font-medium justify-center h-(--cell-size) gap-1.5`,d.dropdowns),dropdown_root:r.cn(`relative rounded-(--cell-radius)`,d.dropdown_root),dropdown:r.cn(`absolute bg-popover inset-0 opacity-0`,d.dropdown),caption_label:r.cn(`select-none font-medium`,i===`label`?`text-sm`:`rounded-(--cell-radius) flex items-center gap-1 text-sm [&>svg]:text-muted-foreground [&>svg]:size-3.5`,d.caption_label),table:`w-full border-collapse`,weekdays:r.cn(`flex`,d.weekdays),weekday:r.cn(`text-muted-foreground rounded-(--cell-radius) flex-1 font-normal text-[0.8rem] select-none`,d.weekday),week:r.cn(`flex w-full mt-2`,d.week),week_number_header:r.cn(`select-none w-(--cell-size)`,d.week_number_header),week_number:r.cn(`text-[0.8rem] select-none text-muted-foreground`,d.week_number),day:r.cn(`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),range_start:r.cn(`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),range_middle:r.cn(`rounded-none`,d.range_middle),range_end:r.cn(`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),today:r.cn(`bg-muted text-foreground rounded-(--cell-radius) data-[selected=true]:rounded-none`,d.today),outside:r.cn(`text-muted-foreground aria-selected:text-muted-foreground`,d.outside),disabled:r.cn(`text-muted-foreground opacity-50`,d.disabled),hidden:r.cn(`invisible`,d.hidden),...t},components:{Root:({className:e,rootRef:t,...n})=>(0,m.jsx)(`div`,{"data-slot":`calendar`,ref:t,className:r.cn(e),...n}),Chevron:({className:e,orientation:t,...n})=>t===`left`?(0,m.jsx)(h.ChevronLeftIcon,{className:r.cn(`size-4`,e),...n}):t===`right`?(0,m.jsx)(h.ChevronRightIcon,{className:r.cn(`size-4`,e),...n}):(0,m.jsx)(h.ChevronDownIcon,{className:r.cn(`size-4`,e),...n}),DayButton:({...e})=>(0,m.jsx)(S,{locale:o,...e}),WeekNumber:({children:e,...t})=>(0,m.jsx)(`td`,{...t,children:(0,m.jsx)(`div`,{className:`flex size-(--cell-size) items-center justify-center text-center`,children:e})}),...l},...u})}function S({className:e,day:t,modifiers:n,locale:i,...a}){let o=(0,_.getDefaultClassNames)(),c=f.useRef(null);return f.useEffect(()=>{n.focused&&c.current?.focus()},[n.focused]),(0,m.jsx)(s.t,{variant:`ghost`,size:`icon`,"data-day":t.date.toLocaleDateString(i?.code),"data-selected-single":!!n.selected&&!n.range_start&&!n.range_end&&!n.range_middle,"data-range-start":n.range_start,"data-range-end":n.range_end,"data-range-middle":n.range_middle,className:r.cn(`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),...a})}function C({config:e,output:t,hasSelection:n,autoSummary:a,className:o}){let{text:s,actions:l,showOnlyWhenSelected:d=!1,showSummary:p=!1}=e,h=f.useMemo(()=>{if(s)return typeof s==`function`?s(t):s},[s,t]),g=h||(p?a:void 0);if(d&&!n||!g&&(!l||l.length===0))return null;let _=e=>e===`destructive`?{variant:`error`,buttonStyle:`solid`}:e===`outline`?{variant:`secondary`,buttonStyle:`outline`}:e===`ghost`?{variant:`secondary`,buttonStyle:`ghost`}:e===`secondary`?{variant:`secondary`,buttonStyle:`solid`}:{variant:`primary`,buttonStyle:`solid`};return(0,m.jsxs)(m.Fragment,{children:[(0,m.jsx)(u.t,{}),(0,m.jsxs)(`div`,{className:r.cn(`flex flex-col gap-3 p-3`,o),children:[!!g&&(0,m.jsxs)(`div`,{className:`text-sm`,children:[!!p&&!!h&&!!a&&(0,m.jsxs)(m.Fragment,{children:[(0,m.jsx)(i.t,{type:`secondary`,children:a}),(0,m.jsx)(i.t,{weight:`medium`,className:`mt-1`,children:h})]}),!p&&!!h&&(0,m.jsx)(i.t,{weight:`medium`,children:h}),!!p&&!h&&!!a&&(0,m.jsx)(i.t,{type:`secondary`,children:a})]}),!!l&&l.length>0&&(0,m.jsx)(`div`,{className:`flex items-center gap-2`,children:l.map(e=>{let n=typeof e.disabled==`function`?e.disabled(t):e.disabled,r=_(e.variant??null);return(0,m.jsx)(c.t,{variant:r.variant,buttonStyle:r.buttonStyle,disabled:n,onClick:()=>e.onClick(t),className:`flex-1`,children:e.label},e.label)})})]})]})}C.displayName=`DatePickerFooter`;function w({config:e,className:t}){let{title:n,description:o,icon:s,align:c=`left`}=e;return(0,m.jsx)(`div`,{className:r.cn(`date-picker-header--component`,`border-b p-4`,c===`center`?`text-center`:`text-left`,t),children:(0,m.jsxs)(`div`,{className:`flex items-center justify-start gap-3`,children:[!!s&&(0,m.jsx)(`div`,{className:`flex-shrink-0`,children:(0,m.jsx)(s,{className:`h-5 w-5 text-primary`})}),(0,m.jsxs)(`div`,{className:r.cn(`flex-1`,c===`center`&&!s&&`text-center`),children:[(0,m.jsx)(a.t,{tag:`h3`,containerClassName:`space-y-0`,className:`font-semibold text-base leading-none`,children:n}),!!o&&(0,m.jsx)(i.t,{type:`secondary`,className:`mt-2`,children:o})]})]})})}w.displayName=`DatePickerHeader`;function T(e){return e.toString().padStart(2,`0`)}function E(e,t,n){return Math.min(Math.max(e,t),n)}function ee(e,t){if(t<=0)return e;let n=Math.floor(e/t)*t;return Math.max(0,Math.min(n,1440*60-1))}function D(e){if(!e)return null;let t=e.split(`:`);if(t.length<2||t.length>3)return null;let[n,r,i]=t,a=E(Number.parseInt(n,10),0,23),o=E(Number.parseInt(r,10),0,59),s=E(Number.parseInt(i??`0`,10),0,59);return Number.isNaN(a)||Number.isNaN(o)||Number.isNaN(s)?null:{hours:a,minutes:o,seconds:s}}function O(e,t,n){let r=Number.isFinite(e?.getTime?.())?e:new Date,i=r.getHours(),a=r.getMinutes(),o=t?r.getSeconds():0,s=ee(i*3600+a*60+o,n),c=Math.floor(s/3600),l=Math.floor(s%3600/60),u=s%60;return{hours:c,minutes:l,seconds:t?u:0}}function k(e,t,n){if(t===`12`){let t=e.hours>=12?`PM`:`AM`,r=e.hours%12;return r===0&&(r=12),{hours:T(r),minutes:T(e.minutes),seconds:n?T(e.seconds):void 0,period:t}}return{hours:T(e.hours),minutes:T(e.minutes),seconds:n?T(e.seconds):void 0}}function A(e,t,n){let r=e=>{let t=Number.parseInt(e??`0`,10);return Number.isNaN(t)?0:t},i=r(e.hours),a=E(r(e.minutes),0,59),o=n?E(r(e.seconds),0,59):0;if(t===`12`){i=E(i,1,12);let t=(e.period??`AM`)===`PM`;i%=12,t&&(i+=12)}else i=E(i,0,23);return{hours:i,minutes:a,seconds:o}}function te(e,t,n){let r=ee(e.hours*3600+e.minutes*60+e.seconds,t);return{hours:Math.floor(r/3600),minutes:Math.floor(r%3600/60),seconds:n?r%60:0}}function ne(e,t,n,r){let i=T(e.minutes),a=t?`:${T(e.seconds)}`:``;if(n===`24`)return`${T(e.hours)}:${i}${a}`;let o=e.hours>=12?`PM`:`AM`,s=e.hours%12;s===0&&(s=12);let c=o===`AM`?r?.am??`AM`:r?.pm??`PM`;return`${T(s)}:${i}${a} ${c}`}var j=/'[^']*'/g,re=/[HKhk]|\bp\b|\bt\b|\ba\b/;function M(e){if(!e)return!1;let t=e.replace(j,``);return re.test(t)}function N(e,t,n,r){let i=r?{locale:r}:void 0;return{date:e,formatted:e?(0,p.format)(e,t,i):void 0,readable:e?(0,p.format)(e,n,i):void 0}}function ie(e,t,n,r){let i=r?{locale:r}:void 0;return{dates:e,formatted:e.map(e=>(0,p.format)(e,t,i)),readable:e.map(e=>(0,p.format)(e,n,i))}}function ae(e,t,n,r){let i=r?{locale:r}:void 0;return{range:e,formatted:{from:e?.from?(0,p.format)(e.from,t,i):void 0,to:e?.to?(0,p.format)(e.to,t,i):void 0},readable:{from:e?.from?(0,p.format)(e.from,n,i):void 0,to:e?.to?(0,p.format)(e.to,n,i):void 0}}}function P(e,t){let n=typeof t==`string`?D(t):t,r=new Date(e);return!Number.isFinite(r.getTime())||!n?new Date(NaN):(r.setHours(n.hours,n.minutes,n.seconds,0),r)}function oe(e,t,n){let r=e;return e.from&&(r={...r,from:P(e.from,t)}),e.to&&r&&(r={...r,to:P(e.to,n)}),r}function F(e,t){return Math.ceil((t.getTime()-e.getTime())/(1e3*60*60*24))+1}function I(e,t,n){if(!e?.from||!e?.to)return{isValid:!0};let r=F(e.from,e.to);return t&&r<t||n&&r>n?{isValid:!1,daysDiff:r}:{isValid:!0,daysDiff:r}}function L(e,t,n,r){if(!e?.from||!e?.to)return null;let i=F(e.from,e.to);return t&&i<t?r.minimumDays(t):n&&i>n?r.maximumDays(n):null}function se(e,t,n,r,i){return r&&e.length===0?`At least one date must be selected`:t&&e.length<t?`Select at least ${t} dates`:n?i.maximumDates(n):null}function ce(e,t,n,r,i,a){if(e){let n=(0,p.format)(e,t,a?{locale:a}:void 0);return i&&(n+=` ${i}`),n}return n??r}function le(e,t,n,r,i,a){if(e.length>0){if(e.length===1){let n=a?{locale:a}:void 0;return(0,p.format)(e[0],t,n)}return i.datesSelected(e.length)}return n??r}function R(e,t,n,r,i){if(e?.from){let n=i?{locale:i}:void 0;return e.to?`${(0,p.format)(e.from,t,n)} - ${(0,p.format)(e.to,t,n)}`:(0,p.format)(e.from,t,n)}return n??r}var z={selectDate:`Select a date`,selectDates:`Select dates`,selectDateRange:`Select date range`,from:`From`,to:`To`,confirm:`Confirm`,clear:`Clear`,today:`Today`,startDate:`Start date`,endDate:`End date`,startTime:`Start time`,endTime:`End time`,hours:`Hours`,minutes:`Minutes`,seconds:`Seconds`,am:`AM`,pm:`PM`,minimumDays:e=>`A minimum of ${e} days is required`,maximumDays:e=>`A maximum of ${e} days is allowed`,maximumDates:e=>`Select up to ${e} dates`,datesSelected:e=>`${e} dates selected`,lastWeek:`Last week`,lastMonth:`Last month`,lastYear:`Last year`,nextWeek:`Next week`,nextMonth:`Next month`,nextYear:`Next year`,thisWeek:`This Week`,thisMonth:`This Month`,last30Days:`Last 30 Days`,selectMonthYear:`Select month and year`,month:`Month`,year:`Year`},B=(0,g.cva)(`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`,{variants:{variant:{default:`bg-transparent`,outline:`border-input hover:bg-muted border bg-transparent shadow-xs`},size:{default:`h-9 min-w-9 px-2`,sm:`h-8 min-w-8 px-1.5`,lg:`h-10 min-w-10 px-2.5`}},defaultVariants:{variant:`default`,size:`default`}}),ue=f.createContext({size:`default`,variant:`default`,spacing:0,orientation:`horizontal`});function V({className:e,variant:t,size:n,spacing:i=0,orientation:a=`horizontal`,children:o,...s}){return(0,m.jsx)(b.ToggleGroup,{"data-slot":`toggle-group`,"data-variant":t,"data-size":n,"data-spacing":i,"data-orientation":a,style:{"--gap":i},className:r.cn(`rounded-md 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),...s,children:(0,m.jsx)(ue.Provider,{value:{variant:t,size:n,spacing:i,orientation:a},children:o})})}function H({className:e,children:t,variant:n=`default`,size:i=`default`,...a}){let o=f.useContext(ue);return(0,m.jsx)(y.Toggle,{"data-slot":`toggle-group-item`,"data-variant":o.variant||n,"data-size":o.size||i,"data-spacing":o.spacing,className:r.cn(`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-horizontal/toggle-group:data-[spacing=0]:first:rounded-l-md group-data-vertical/toggle-group:data-[spacing=0]:first:rounded-t-md group-data-horizontal/toggle-group:data-[spacing=0]:last:rounded-r-md group-data-vertical/toggle-group:data-[spacing=0]:last:rounded-b-md shrink-0 focus:z-10 focus-visible:z-10 group-data-horizontal/toggle-group:data-[spacing=0]:data-[variant=outline]:border-l-0 group-data-vertical/toggle-group:data-[spacing=0]:data-[variant=outline]:border-t-0 group-data-horizontal/toggle-group:data-[spacing=0]:data-[variant=outline]:first:border-l group-data-vertical/toggle-group:data-[spacing=0]:data-[variant=outline]:first:border-t`,B({variant:o.variant||n,size:o.size||i}),e),...a,children:t})}var U=[`hours`,`minutes`,`seconds`],W=`00`,G=`12`;function K(e){return e.replace(/\D/g,``).slice(-2)}function q(e){return e.length===0?`00`:e.length===1?`0${e}`:e}function J(e,t){let n=t?U:U.slice(0,2),r=n.indexOf(e);return r>-1&&r<n.length-1?n[r+1]:null}function de(e,t){let n=t?U:U.slice(0,2),r=n.indexOf(e);return r>0?n[r-1]:null}function Y(e,t){return t===`24`?e:e%12||12}function X(e){return e>=12?`PM`:`AM`}function Z(e,t){return t===`12`?{...e,period:e.period??`AM`}:{...e,period:void 0}}function fe({value:e,onChange:t,format:n,includeSeconds:a,step:o,disabled:s,className:c,labels:l,periodLabels:u}){let p=f.useMemo(()=>a?U:U.slice(0,2),[a]),[h,g]=f.useState(()=>Z(k(e,n,a),n)),_=f.useRef(h),v=f.useRef(!1),y=f.useCallback(e=>{_.current=e,g(e)},[]),b=f.useRef({hours:null,minutes:null,seconds:null});f.useEffect(()=>{if(v.current){v.current=!1;return}y(Z(k(e,n,a),n))},[e,n,a,y]);let x=f.useCallback(e=>{v.current=!0,t(A(e,n,a))},[n,a,t]),S=f.useCallback(e=>{let r=te(A(e,n,a),o,a);t(r),y(Z(k(r,n,a),n))},[n,a,t,o,y]),C=f.useCallback(e=>{if(!e)return;let t=b.current[e];t&&(t.focus(),t.select())},[]),w=f.useCallback((e,t)=>{let r=_.current,i=r[e]??(e===`hours`&&n===`12`?G:W),a=(Number.parseInt(i.slice(-1),10)||0)*10+t,o={...r},s=o.period??`AM`;e===`hours`?n===`24`?o.hours=q(Math.min(Math.max(a,0),23).toString()):a===0?(s=`AM`,o.hours=G):a>12?(s=X(a),o.hours=q(Y(a,`12`).toString())):(o.hours=q(Math.min(Math.max(a,1),12).toString()),s=r.period??X(a)):e===`minutes`?o.minutes=q(Math.min(Math.max(a,0),59).toString()):e===`seconds`&&(o.seconds=q(Math.min(Math.max(a,0),59).toString()));let c={...o,period:s};y(c),x(c)},[n,y,x]),T=f.useCallback((e,t)=>{let r=K(t),i={..._.current},a=i.period??`AM`;if(e===`hours`)if(n===`24`){let e=Number.parseInt(r||`0`,10);i.hours=q((Number.isNaN(e)?0:Math.min(Math.max(e,0),23)).toString())}else{let e=Number.parseInt(r||`0`,10);Number.isNaN(e)?(i.hours=`12`,a=_.current.period??`AM`):r.length===2&&e>12?(a=X(e),i.hours=q(Y(e,`12`).toString())):e===0?(a=`AM`,i.hours=`12`):(i.hours=q(Math.min(Math.max(e,1),12).toString()),r.length===2&&(a=_.current.period??X(e)))}else if(e===`minutes`){let e=Number.parseInt(r||`0`,10);i.minutes=q((Number.isNaN(e)?0:Math.min(Math.max(e,0),59)).toString())}else if(e===`seconds`){let e=Number.parseInt(r||`0`,10);i.seconds=q((Number.isNaN(e)?0:Math.min(Math.max(e,0),59)).toString())}let o={...i,period:a};y(o),x(o)},[n,y,x]),E=f.useCallback(e=>{n===`12`&&S({..._.current,period:e})},[S,n]),ee=f.useCallback(()=>{S(_.current)},[S]),D=f.useCallback((e,t)=>{if(e.key.length===1&&/\d/.test(e.key)&&!e.metaKey&&!e.ctrlKey&&!e.altKey){e.preventDefault(),w(t,Number.parseInt(e.key,10));return}if(e.key===`ArrowRight`){C(J(t,a));return}if(e.key===`ArrowLeft`){C(de(t,a));return}if(e.key===`Backspace`){let n=e.currentTarget;n.selectionStart===0&&n.selectionEnd===0&&C(de(t,a))}},[w,C,a]),O=f.useMemo(()=>{if(n===`12`)return h.period?[h.period]:void 0},[n,h.period]);return(0,m.jsxs)(`div`,{className:r.cn(`segmented-time-input--component`,`flex items-center gap-2`,c),children:[p.map((e,t)=>{let r=e===`hours`&&n===`12`?G:W,a=h[e]??r,o=e===`hours`?l.hours:e===`minutes`?l.minutes:l.seconds??l.minutes;return(0,m.jsxs)(f.Fragment,{children:[(0,m.jsx)(d.t,{ref:t=>{b.current[e]=t},value:a,onChange:t=>T(e,t.target.value),onFocus:e=>e.target.select(),onBlur:ee,onKeyDown:t=>D(t,e),inputMode:`numeric`,pattern:`\\d*`,maxLength:2,showCharacterCount:!1,disabled:s,"aria-label":o,className:`h-8 w-12 text-center text-sm`}),t<p.length-1&&(0,m.jsx)(i.t,{tag:`span`,type:`secondary`,children:`:`})]},e)}),n===`12`&&(0,m.jsxs)(V,{value:O,onValueChange:e=>{let t=e[0];t&&E(t)},disabled:s,size:`sm`,className:`ml-1`,children:[(0,m.jsx)(H,{value:`AM`,"aria-label":u.am,children:u.am}),(0,m.jsx)(H,{value:`PM`,"aria-label":u.pm,children:u.pm})]})]})}fe.displayName=`SegmentedTimeInput`;function pe(e){return e===`ghost`?`ghost`:e===`secondary`?`secondary`:`outline`}function me(e){let t=pe(e);return t===`ghost`?{variant:`secondary`,buttonStyle:`ghost`}:t===`secondary`?{variant:`secondary`,buttonStyle:`solid`}:{variant:`secondary`,buttonStyle:`outline`}}var he=[`!h-9 !px-3 !rounded-md !border !border-input !bg-transparent !shadow-none`,`!text-sm !font-normal !text-foreground`,`hover:!bg-transparent`,`focus-visible:!border-ring focus-visible:!ring-ring/50 focus-visible:!ring-[3px]`,`aria-invalid:!ring-destructive/20 dark:aria-invalid:!ring-destructive/40 aria-invalid:!border-destructive`,`disabled:pointer-events-none disabled:cursor-not-allowed disabled:opacity-50`].join(` `);function ge(e){return!e.mode||e.mode===`single`}function _e(e){return e.mode===`multiple`}function ve(e){return e.mode===`range`}function ye(e,t){return[{label:e.today,getValue:()=>({from:new Date,to:new Date})},{label:e.thisWeek,getValue:()=>({from:(0,p.startOfWeek)(new Date,{weekStartsOn:t}),to:(0,p.endOfWeek)(new Date,{weekStartsOn:t})})},{label:e.thisMonth,getValue:()=>({from:(0,p.startOfMonth)(new Date),to:(0,p.endOfMonth)(new Date)})},{label:e.last30Days,getValue:()=>({from:(0,p.addDays)(new Date,-30),to:new Date})}]}function be(e){let[n,r]=f.useState(!1),i=e.locale??v.enUS,a=t.useStrings(z,e.strings??e.translations),o=f.useMemo(()=>e.enableYearDropdown||e.yearSelection?.enabled?`dropdown`:`label`,[e.enableYearDropdown,e.yearSelection]);return ge(e)?(0,m.jsx)(xe,{className:`date-picker--component`,...e,open:n,setOpen:r,t:a,dateFnsLocale:i,captionLayout:o}):_e(e)?(0,m.jsx)(Se,{...e,open:n,setOpen:r,t:a,dateFnsLocale:i,captionLayout:o}):ve(e)?(0,m.jsx)(Ce,{...e,open:n,setOpen:r,t:a,dateFnsLocale:i,captionLayout:o}):null}function xe({value:e,defaultValue:t,onChange:n,format:a=`yyyy-MM-dd`,readableFormat:s=`PPP`,placeholder:d,closeOnSelect:g=!0,withTime:_,disabledDates:v,calendarProps:y,open:b,setOpen:S,t:T,dateFnsLocale:E,captionLayout:ee,...D}){let k=f.useId(),A=`${k}-description`,j=D.error!==void 0&&D.error!==null&&D.error!==``,re=j?A:void 0,ie=D.hint!==void 0&&D.hint!==null&&D.hint!==``,ae=typeof D.error==`string`?D.error:``,oe=typeof D.hint==`string`?D.hint:``,F=_?.format??`24`,I=_?.step??60,L=_?.showSeconds??!1,se=M(s),le=_?.showTimeInButton??!se,[R,z]=f.useState(()=>e??t),[B,ue]=f.useState(()=>O(e??t,L,I)),V=f.useRef(e??t??void 0),H=f.useRef(!1),U=f.useRef(e!==void 0),W=f.useCallback((e,t)=>{let n=e;if(e&&_?.enabled){let r=P(e,t??B);n=Number.isFinite(r.getTime())?r:void 0}return N(n,a,s,E)},[a,s,E,_,B]);f.useEffect(()=>{let r=!!_?.enabled,i=U.current,o=e!==void 0,c=(e,t)=>{let i=te(O(e,L,I),I,L);if(z(t=>t?.getTime?.()===e.getTime()?t:e),ue(e=>e.hours===i.hours&&e.minutes===i.minutes&&e.seconds===i.seconds?e:i),V.current=e,H.current=!0,t&&r){let t=P(e,i);n?.(N(t,a,s,E))}};if(!r){H.current=!1,V.current=e??t??void 0,z(e??t),U.current=o;return}let l=V.current?.getTime?.(),u=e?.getTime?.();if(!o&&i&&t===void 0&&(H.current=!1,V.current=void 0),e!==void 0&&u!==l){c(e,!1),U.current=o;return}if(e===void 0&&t!==void 0){(l!==t.getTime()||!H.current)&&c(t,!1),U.current=o;return}if(e===void 0&&t===void 0&&!H.current){H.current=!0,U.current=o;return}U.current=o},[_?.enabled,e,t,L,I,n,a,s,E]),f.useEffect(()=>{_?.enabled&&ue(e=>{let t=te(e,I,L);return e.hours===t.hours&&e.minutes===t.minutes&&e.seconds===t.seconds?e:t})},[_?.enabled,I,L]);let G=f.useCallback(e=>{if(z(e),_?.enabled&&e&&(H.current=!0,V.current=e),_?.enabled){n?.(W(e)),g&&e&&S(!1);return}n?.(W(e)),g&&e&&S(!1)},[n,W,g,S,_]),K=f.useCallback(e=>{ue(e),R&&n?.(W(R,e))},[R,n,W]),q=f.useMemo(()=>{if(_?.enabled)return ne(B,L,F,{am:T.am,pm:T.pm})},[_?.enabled,B,L,F,T]),J=f.useMemo(()=>ce(R,s,d,T.selectDate,le?q:void 0,E),[R,s,d,T,q,le,E]),de=f.useMemo(()=>R?(0,p.format)(R,s,{locale:E}):void 0,[R,s,E]);return(0,m.jsxs)(`div`,{className:r.cn(`space-y-2`,D.className),children:[!!(D.label||ie)&&(0,m.jsxs)(`div`,{className:`flex items-center justify-between gap-1`,children:[!!D.label&&(0,m.jsx)(o.a,{htmlFor:k,className:r.cn(`leading-6`,j&&`text-destructive`),children:D.label}),!j&&!!ie&&(0,m.jsx)(i.t,{tag:`span`,type:`secondary`,children:oe})]}),(0,m.jsxs)(l.n,{open:b,onOpenChange:S,children:[(0,m.jsx)(l.s,{render:e=>{let t=me(D.buttonVariant);return(0,m.jsxs)(c.t,{...e,id:k,variant:t.variant,buttonStyle:t.buttonStyle,"aria-invalid":j,"aria-describedby":re,className:r.cn(`w-full justify-start text-left font-normal`,he,!R&&`text-muted-foreground`,D.error&&`border-destructive focus-visible:ring-destructive`,e.className),disabled:D.disabled,children:[(0,m.jsx)(h.Calendar,{className:`mr-2 h-4 w-4`}),J]})}}),(0,m.jsxs)(l.t,{className:`w-auto p-0`,align:`start`,children:[!!D.header&&(0,m.jsx)(w,{config:D.header}),(0,m.jsx)(x,{mode:`single`,selected:R,onSelect:G,defaultMonth:R,numberOfMonths:D.numberOfMonths,showOutsideDays:D.showOutsideDays,disabled:v??D.disabled,locale:E,captionLayout:ee,fromYear:D.yearSelection?.fromYear,toYear:D.yearSelection?.toYear,...y}),!!_?.enabled&&(0,m.jsxs)(m.Fragment,{children:[(0,m.jsx)(u.t,{}),(0,m.jsxs)(`div`,{className:`p-3`,children:[(0,m.jsx)(o.a,{size:`sm`,children:T.startTime}),(0,m.jsxs)(`div`,{className:`mt-2 flex items-center gap-2`,children:[(0,m.jsx)(h.Clock,{className:`h-4 w-4 text-muted-foreground`}),(0,m.jsx)(fe,{value:B,onChange:K,format:F,includeSeconds:L,step:I,disabled:D.disabled,labels:{hours:T.hours,minutes:T.minutes,seconds:L?T.seconds:void 0},periodLabels:{am:T.am,pm:T.pm}})]})]})]}),!!D.footer&&(0,m.jsx)(C,{config:D.footer,output:W(R),hasSelection:!!R,autoSummary:de})]})]}),!!j&&(0,m.jsx)(i.t,{id:A,size:`xs`,type:`error`,content:ae})]})}function Se({value:e,defaultValue:t,onChange:n,format:a=`yyyy-MM-dd`,readableFormat:s=`PPP`,placeholder:d,min:p,max:g,required:_,disabledDates:v,calendarProps:y,open:b,setOpen:S,t:T,dateFnsLocale:E,captionLayout:ee,...D}){let O=f.useId(),k=`${O}-description`,A=D.error!==void 0&&D.error!==null&&D.error!==``,te=A?k:void 0,ne=D.hint!==void 0&&D.hint!==null&&D.hint!==``,j=typeof D.error==`string`?D.error:``,re=typeof D.hint==`string`?D.hint:``,[M,N]=f.useState(e??t??[]);f.useEffect(()=>{e!==void 0&&N(e)},[e]);let ae=f.useCallback(e=>ie(e,a,s,E),[a,s,E]),P=f.useCallback(e=>{let t=Array.isArray(e)?e:e?[e]:[];g&&t.length>g||(N(t),n?.(ae(t)))},[n,ae,g]),oe=f.useMemo(()=>le(M,s,d,T.selectDates,T,E),[M,s,d,T,E]),F=f.useMemo(()=>se(M,p,g,_,T),[M,p,g,_,T]),I=f.useMemo(()=>M.length>0?T.datesSelected(M.length):void 0,[M.length,T]);return(0,m.jsxs)(`div`,{className:r.cn(`space-y-2`,D.className),children:[!!(D.label||ne)&&(0,m.jsxs)(`div`,{className:`flex items-center justify-between gap-1`,children:[!!D.label&&(0,m.jsx)(o.a,{htmlFor:O,className:r.cn(`leading-6`,A&&`text-destructive`),children:D.label}),!A&&!!ne&&(0,m.jsx)(i.t,{tag:`span`,type:`secondary`,children:re})]}),(0,m.jsxs)(l.n,{open:b,onOpenChange:S,children:[(0,m.jsx)(l.s,{render:e=>{let t=me(D.buttonVariant);return(0,m.jsxs)(c.t,{...e,id:O,variant:t.variant,buttonStyle:t.buttonStyle,"aria-invalid":A,"aria-describedby":te,className:r.cn(`w-full justify-start text-left font-normal`,he,M.length===0&&`text-muted-foreground`,D.error&&`border-destructive focus-visible:ring-destructive`,e.className),disabled:D.disabled,children:[(0,m.jsx)(h.Calendar,{className:`mr-2 h-4 w-4`}),(0,m.jsx)(`span`,{className:`truncate`,children:oe})]})}}),(0,m.jsxs)(l.t,{className:`w-auto p-0`,align:`start`,children:[!!D.header&&(0,m.jsx)(w,{config:D.header}),(0,m.jsx)(x,{mode:`multiple`,selected:M,onSelect:P,defaultMonth:M[0],numberOfMonths:D.numberOfMonths,showOutsideDays:D.showOutsideDays,disabled:v??D.disabled,locale:E,captionLayout:ee,fromYear:D.yearSelection?.fromYear,toYear:D.yearSelection?.toYear,required:_,max:g,...y}),!!F&&(0,m.jsxs)(m.Fragment,{children:[(0,m.jsx)(u.t,{}),(0,m.jsx)(`div`,{className:`p-3`,children:(0,m.jsx)(i.t,{type:`secondary`,children:F})})]}),!!D.footer&&(0,m.jsx)(C,{config:D.footer,output:ae(M),hasSelection:M.length>0,autoSummary:I})]})]}),!!A&&(0,m.jsx)(i.t,{id:k,size:`xs`,type:`error`,content:j})]})}function Ce({value:e,defaultValue:t,onChange:a,format:s=`yyyy-MM-dd`,readableFormat:d=`PPP`,placeholder:g,withConfirm:_=!1,min:v,max:y,closeOnSelect:b=!0,withTime:S,presets:T,disabledDates:E,calendarProps:ee,open:D,setOpen:k,t:A,dateFnsLocale:j,captionLayout:re,...N}){let{weekStartsOn:ie=1}=n.a(),P=T??ye(A,ie),F=f.useId(),se=`${F}-description`,ce=N.error!==void 0&&N.error!==null&&N.error!==``,le=ce?se:void 0,z=N.hint!==void 0&&N.hint!==null&&N.hint!==``,B=typeof N.error==`string`?N.error:``,ue=typeof N.hint==`string`?N.hint:``,V=S?.format??`24`,H=S?.step??60,U=S?.showSeconds??!1,W=M(d),G=S?.showTimeInButton??!W,K=S?.showTimeInSummary??!W,q=e??t,[J,de]=f.useState(q),[Y,X]=f.useState(()=>O(q?.from,U,H)),[Z,pe]=f.useState(()=>O(q?.to,U,H)),ge=f.useRef(e),_e=f.useMemo(()=>L(J,v,y,A),[J,v,y,A]),ve=_e!=null&&_e!==``,be=typeof _e==`string`?_e:``;f.useEffect(()=>{e!==void 0&&de(e)},[e]),f.useEffect(()=>{if(!S?.enabled){ge.current=e;return}let t=ge.current,n=e?.from,r=e?.to;n?X(O(n,U,H)):t?.from&&X(O(void 0,U,H)),r?pe(O(r,U,H)):t?.to&&pe(O(void 0,U,H)),ge.current=e},[e,S?.enabled,U,H]),f.useEffect(()=>{S?.enabled&&(X(e=>{let t=te(e,H,U);return e.hours===t.hours&&e.minutes===t.minutes&&e.seconds===t.seconds?e:t}),pe(e=>{let t=te(e,H,U);return e.hours===t.hours&&e.minutes===t.minutes&&e.seconds===t.seconds?e:t}))},[S?.enabled,H,U]);let xe=f.useCallback(e=>{let t=e;return e&&S?.enabled&&(t=oe(e,Y,Z)),ae(t,s,d,j)},[s,d,j,S,Y,Z]),Se=f.useCallback(e=>{X(e)},[]),Ce=f.useCallback(e=>{pe(e)},[]),we=f.useCallback(e=>{let t=I(e,v,y);e&&!t.isValid||(de(e),!_&&!S?.enabled&&(a?.(xe(e)),b&&e?.from&&e?.to&&k(!1)))},[_,S,a,xe,v,y,b,k]),Te=f.useCallback(e=>{we(e.getValue())},[we]),Ee=f.useCallback(()=>{a?.(xe(J)),k(!1)},[J,a,xe,k]),Q=f.useMemo(()=>{if(S?.enabled)return ne(Y,U,V,{am:A.am,pm:A.pm})},[S?.enabled,Y,U,V,A]),$=f.useMemo(()=>{if(S?.enabled)return ne(Z,U,V,{am:A.am,pm:A.pm})},[S?.enabled,Z,U,V,A]),De=f.useMemo(()=>{if(S?.enabled&&J?.from){let e=(0,p.format)(J.from,d,{locale:j}),t=G&&Q?`${e} ${Q}`:e;if(J.to){let e=(0,p.format)(J.to,d,{locale:j});return`${t} - ${G&&$?`${e} ${$}`:e}`}return t}return R(J,d,g,A.selectDateRange,j)},[S?.enabled,J,d,G,Q,$,g,A,j]),Oe=f.useMemo(()=>{if(!J?.from||!J?.to)return;let e=(0,p.format)(J.from,d,{locale:j}),t=(0,p.format)(J.to,d,{locale:j});return`${K&&Q?`${e} ${Q}`:e} - ${K&&$?`${t} ${$}`:t}`},[J,d,j,K,Q,$]);return(0,m.jsxs)(`div`,{className:r.cn(`space-y-2`,N.className),children:[!!(N.label||z)&&(0,m.jsxs)(`div`,{className:`flex items-center justify-between gap-1`,children:[!!N.label&&(0,m.jsx)(o.a,{htmlFor:F,className:r.cn(`leading-6`,ce&&`text-destructive`),children:N.label}),!ce&&!!z&&(0,m.jsx)(i.t,{tag:`span`,type:`secondary`,children:ue})]}),(0,m.jsxs)(l.n,{open:D,onOpenChange:k,children:[(0,m.jsx)(l.s,{render:e=>{let t=me(N.buttonVariant);return(0,m.jsxs)(c.t,{...e,id:F,variant:t.variant,buttonStyle:t.buttonStyle,"aria-invalid":ce,"aria-describedby":le,className:r.cn(`w-full justify-start text-left font-normal`,he,!J&&`text-muted-foreground`,N.error&&`border-destructive focus-visible:ring-destructive`,e.className),disabled:N.disabled,children:[(0,m.jsx)(h.Calendar,{className:`mr-2 h-4 w-4 shrink-0`}),(0,m.jsx)(`span`,{className:`truncate`,children:De})]})}}),(0,m.jsxs)(l.t,{className:`w-auto p-0`,align:`start`,children:[!!N.header&&(0,m.jsx)(w,{config:N.header}),(0,m.jsxs)(`div`,{className:`flex`,children:[P.length>0&&(0,m.jsx)(`div`,{className:`flex flex-col gap-0.5 border-r p-2 min-w-[7.5rem]`,children:P.map(e=>(0,m.jsx)(c.t,{variant:`secondary`,buttonStyle:`ghost`,onClick:()=>Te(e),className:`justify-start font-normal text-muted-foreground hover:text-foreground`,children:e.label},e.label))}),(0,m.jsxs)(`div`,{className:`flex flex-col`,children:[(0,m.jsx)(x,{mode:`range`,selected:J,onSelect:we,defaultMonth:J?.from,numberOfMonths:N.numberOfMonths??2,showOutsideDays:N.showOutsideDays,disabled:E??N.disabled,locale:j,captionLayout:re,fromYear:N.yearSelection?.fromYear,toYear:N.yearSelection?.toYear,...ee}),!!(J?.from||_e||_||S?.enabled||N.footer)&&(0,m.jsxs)(m.Fragment,{children:[(0,m.jsx)(u.t,{}),(0,m.jsxs)(`div`,{className:`flex flex-col gap-3 p-3`,children:[!!J?.from&&!N.footer&&(0,m.jsxs)(`div`,{className:`flex items-center justify-between gap-4 text-sm`,children:[(0,m.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,m.jsxs)(i.t,{tag:`span`,type:`secondary`,children:[A.from,`:`]}),(0,m.jsxs)(i.t,{tag:`span`,weight:`medium`,children:[(0,p.format)(J.from,d,{locale:j}),K&&Q?` ${Q}`:``]})]}),!!J.to&&(0,m.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,m.jsxs)(i.t,{tag:`span`,type:`secondary`,children:[A.to,`:`]}),(0,m.jsxs)(i.t,{tag:`span`,weight:`medium`,children:[(0,p.format)(J.to,d,{locale:j}),K&&$?` ${$}`:``]})]})]}),!!S?.enabled&&!!J?.from&&(0,m.jsxs)(`div`,{className:`grid grid-cols-1 gap-3 sm:grid-cols-2`,children:[(0,m.jsxs)(`div`,{children:[(0,m.jsx)(o.a,{size:`xs`,children:A.startTime}),(0,m.jsxs)(`div`,{className:`mt-1 flex items-center gap-2`,children:[(0,m.jsx)(h.Clock,{className:`h-3 w-3 text-muted-foreground`}),(0,m.jsx)(fe,{value:Y,onChange:Se,format:V,includeSeconds:U,step:H,disabled:N.disabled,labels:{hours:A.hours,minutes:A.minutes,seconds:U?A.seconds:void 0},periodLabels:{am:A.am,pm:A.pm}})]})]}),!!J.to&&(0,m.jsxs)(`div`,{children:[(0,m.jsx)(o.a,{size:`xs`,children:A.endTime}),(0,m.jsxs)(`div`,{className:`mt-1 flex items-center gap-2`,children:[(0,m.jsx)(h.Clock,{className:`h-3 w-3 text-muted-foreground`}),(0,m.jsx)(fe,{value:Z,onChange:Ce,format:V,includeSeconds:U,step:H,disabled:N.disabled,labels:{hours:A.hours,minutes:A.minutes,seconds:U?A.seconds:void 0},periodLabels:{am:A.am,pm:A.pm}})]})]})]}),(0,m.jsx)(i.t,{type:`error`,content:be,hidden:!ve}),!!(_||S?.enabled)&&!N.footer&&(0,m.jsx)(c.t,{onClick:Ee,disabled:!J?.from||!J?.to||!!_e,className:`w-full`,children:A.confirm}),!!N.footer&&(0,m.jsx)(`div`,{className:`-mx-3 -mb-3`,children:(0,m.jsx)(C,{config:N.footer,output:xe(J),hasSelection:!!(J?.from&&J?.to),autoSummary:Oe})})]})]})]})]})]})]}),!!ce&&(0,m.jsx)(i.t,{id:se,size:`xs`,type:`error`,content:B})]})}be.displayName=`DatePicker`,Object.defineProperty(exports,`a`,{enumerable:!0,get:function(){return w}}),Object.defineProperty(exports,`i`,{enumerable:!0,get:function(){return z}}),Object.defineProperty(exports,`n`,{enumerable:!0,get:function(){return he}}),Object.defineProperty(exports,`o`,{enumerable:!0,get:function(){return C}}),Object.defineProperty(exports,`r`,{enumerable:!0,get:function(){return fe}}),Object.defineProperty(exports,`s`,{enumerable:!0,get:function(){return x}}),Object.defineProperty(exports,`t`,{enumerable:!0,get:function(){return be}});
|
|
2
|
+
//# sourceMappingURL=date-picker-BnOjyuKS.cjs.map
|