admin-ui-starter-kit 0.1.0 → 0.1.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.agents/skills/component-library-rules/SKILL.md +24 -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 +27 -0
- package/AGENTS.md +8 -3
- package/INTEGRATION.md +33 -2
- package/PUBLISHING.md +3 -1
- package/README.md +33 -6
- 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 +254 -19
- 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-BnOjyuKS.cjs","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,330 @@
|
|
|
1
|
+
import { useStrings as e } from "../lib/strings.js";
|
|
2
|
+
import { cn as t } from "../lib/utils.js";
|
|
3
|
+
import { t as n } from "./text-DIxMTECE.js";
|
|
4
|
+
import { a as r } from "./typography-a3hydyvI.js";
|
|
5
|
+
import { t as i } from "./button-ChCkwoOD.js";
|
|
6
|
+
import { a, i as o, n as s, o as c, s as l } from "./date-picker-B8O_qbik.js";
|
|
7
|
+
import { n as u, s as ee, t as d } from "./popover-CgRGcFk9.js";
|
|
8
|
+
import { t as f } from "./separator-DR0uUMKa.js";
|
|
9
|
+
import { a as p, i as m, n as h, o as g, t as _ } from "./select-07RRiTWc.js";
|
|
10
|
+
import * as v from "react";
|
|
11
|
+
import { format as y } from "date-fns";
|
|
12
|
+
import { Fragment as b, jsx as x, jsxs as S } from "react/jsx-runtime";
|
|
13
|
+
import { Calendar as C } from "lucide-react";
|
|
14
|
+
import { enUS as w } from "date-fns/locale";
|
|
15
|
+
//#region src/components/base/date-pickers/date-range-picker.tsx
|
|
16
|
+
function T({ value: p, defaultValue: m, onChange: h, format: g = "yyyy-MM-dd", readableFormat: _ = "PPP", placeholder: T, label: E, hint: D, error: O, disabled: k = !1, className: A, withConfirm: j = !1, numberOfMonths: M = 2, min: N, max: P, closeOnSelect: F = !0, calendarProps: I, translations: L, strings: R, locale: z, header: B, footer: V, enableYearDropdown: H, yearSelection: U }) {
|
|
17
|
+
let [W, G] = v.useState(!1), [K, q] = v.useState(p ?? m), J = z ?? w, Y = e(o, R ?? L), X = v.useMemo(() => H || U?.enabled ? "dropdown" : "label", [H, U]);
|
|
18
|
+
v.useEffect(() => {
|
|
19
|
+
p !== void 0 && q(p);
|
|
20
|
+
}, [p]);
|
|
21
|
+
let Z = v.useCallback((e) => {
|
|
22
|
+
let t = J ? { locale: J } : void 0;
|
|
23
|
+
return {
|
|
24
|
+
range: e,
|
|
25
|
+
formatted: {
|
|
26
|
+
from: e?.from ? y(e.from, g, t) : void 0,
|
|
27
|
+
to: e?.to ? y(e.to, g, t) : void 0
|
|
28
|
+
},
|
|
29
|
+
readable: {
|
|
30
|
+
from: e?.from ? y(e.from, _, t) : void 0,
|
|
31
|
+
to: e?.to ? y(e.to, _, t) : void 0
|
|
32
|
+
}
|
|
33
|
+
};
|
|
34
|
+
}, [
|
|
35
|
+
g,
|
|
36
|
+
_,
|
|
37
|
+
J
|
|
38
|
+
]), te = v.useCallback((e) => {
|
|
39
|
+
if (e?.from && e?.to) {
|
|
40
|
+
let t = Math.ceil((e.to.getTime() - e.from.getTime()) / (1e3 * 60 * 60 * 24)) + 1;
|
|
41
|
+
if (N && t < N || P && t > P) return;
|
|
42
|
+
}
|
|
43
|
+
q(e), j || (h?.(Z(e)), F && e?.from && e?.to && G(!1));
|
|
44
|
+
}, [
|
|
45
|
+
j,
|
|
46
|
+
h,
|
|
47
|
+
Z,
|
|
48
|
+
N,
|
|
49
|
+
P,
|
|
50
|
+
F
|
|
51
|
+
]), ne = v.useCallback(() => {
|
|
52
|
+
h?.(Z(K)), G(!1);
|
|
53
|
+
}, [
|
|
54
|
+
K,
|
|
55
|
+
h,
|
|
56
|
+
Z
|
|
57
|
+
]), Q = v.useMemo(() => K?.from ? K.to ? `${y(K.from, _, { locale: J })} - ${y(K.to, _, { locale: J })}` : y(K.from, _, { locale: J }) : T ?? Y.selectDateRange, [
|
|
58
|
+
K,
|
|
59
|
+
_,
|
|
60
|
+
J,
|
|
61
|
+
T,
|
|
62
|
+
Y.selectDateRange
|
|
63
|
+
]), $ = v.useMemo(() => {
|
|
64
|
+
if (!K?.from || !K?.to) return null;
|
|
65
|
+
let e = Math.ceil((K.to.getTime() - K.from.getTime()) / (1e3 * 60 * 60 * 24)) + 1;
|
|
66
|
+
return N && e < N ? Y.minimumDays(N) : P && e > P ? Y.maximumDays(P) : null;
|
|
67
|
+
}, [
|
|
68
|
+
K,
|
|
69
|
+
N,
|
|
70
|
+
P,
|
|
71
|
+
Y
|
|
72
|
+
]), re = v.useMemo(() => {
|
|
73
|
+
if (!(!K?.from || !K?.to)) return `${y(K.from, _, { locale: J })} - ${y(K.to, _, { locale: J })}`;
|
|
74
|
+
}, [
|
|
75
|
+
K,
|
|
76
|
+
_,
|
|
77
|
+
J
|
|
78
|
+
]);
|
|
79
|
+
return /* @__PURE__ */ S("div", {
|
|
80
|
+
className: t("date-range-picker--component", "flex flex-col gap-2", A),
|
|
81
|
+
children: [
|
|
82
|
+
!!E && /* @__PURE__ */ x(r, {
|
|
83
|
+
htmlFor: "date-range-picker-trigger",
|
|
84
|
+
className: t(O && "text-destructive"),
|
|
85
|
+
children: E
|
|
86
|
+
}),
|
|
87
|
+
/* @__PURE__ */ S(u, {
|
|
88
|
+
open: W,
|
|
89
|
+
onOpenChange: G,
|
|
90
|
+
children: [/* @__PURE__ */ x(ee, { render: (e) => /* @__PURE__ */ S(i, {
|
|
91
|
+
...e,
|
|
92
|
+
id: "date-range-picker-trigger",
|
|
93
|
+
variant: "secondary",
|
|
94
|
+
buttonStyle: "outline",
|
|
95
|
+
"aria-invalid": !!O,
|
|
96
|
+
className: t("w-full justify-start text-left font-normal", s, !K && "text-muted-foreground", e.className),
|
|
97
|
+
disabled: k,
|
|
98
|
+
children: [/* @__PURE__ */ x(C, { className: "mr-2 h-4 w-4 shrink-0" }), /* @__PURE__ */ x("span", {
|
|
99
|
+
className: "truncate",
|
|
100
|
+
children: Q
|
|
101
|
+
})]
|
|
102
|
+
}) }), /* @__PURE__ */ S(d, {
|
|
103
|
+
className: "w-auto p-0",
|
|
104
|
+
align: "start",
|
|
105
|
+
children: [!!B && /* @__PURE__ */ x(a, { config: B }), /* @__PURE__ */ S("div", {
|
|
106
|
+
className: "flex flex-col",
|
|
107
|
+
children: [/* @__PURE__ */ x(l, {
|
|
108
|
+
mode: "range",
|
|
109
|
+
selected: K,
|
|
110
|
+
onSelect: te,
|
|
111
|
+
defaultMonth: K?.from,
|
|
112
|
+
numberOfMonths: M,
|
|
113
|
+
disabled: k,
|
|
114
|
+
locale: J,
|
|
115
|
+
captionLayout: X,
|
|
116
|
+
fromYear: U?.fromYear,
|
|
117
|
+
toYear: U?.toYear,
|
|
118
|
+
...I
|
|
119
|
+
}), !!(K?.from || $ || j || V) && /* @__PURE__ */ S(b, { children: [/* @__PURE__ */ x(f, {}), /* @__PURE__ */ S("div", {
|
|
120
|
+
className: "flex flex-col gap-3 p-3",
|
|
121
|
+
children: [
|
|
122
|
+
!!K?.from && !V && /* @__PURE__ */ S("div", {
|
|
123
|
+
className: "flex items-center justify-between gap-4",
|
|
124
|
+
children: [/* @__PURE__ */ S("div", {
|
|
125
|
+
className: "flex items-center gap-2",
|
|
126
|
+
children: [/* @__PURE__ */ S(n, {
|
|
127
|
+
tag: "span",
|
|
128
|
+
type: "secondary",
|
|
129
|
+
children: [Y.from, ":"]
|
|
130
|
+
}), /* @__PURE__ */ x(n, {
|
|
131
|
+
tag: "span",
|
|
132
|
+
weight: "medium",
|
|
133
|
+
children: y(K.from, _, { locale: J })
|
|
134
|
+
})]
|
|
135
|
+
}), !!K.to && /* @__PURE__ */ S("div", {
|
|
136
|
+
className: "flex items-center gap-2",
|
|
137
|
+
children: [/* @__PURE__ */ S(n, {
|
|
138
|
+
tag: "span",
|
|
139
|
+
type: "secondary",
|
|
140
|
+
children: [Y.to, ":"]
|
|
141
|
+
}), /* @__PURE__ */ x(n, {
|
|
142
|
+
tag: "span",
|
|
143
|
+
weight: "medium",
|
|
144
|
+
children: y(K.to, _, { locale: J })
|
|
145
|
+
})]
|
|
146
|
+
})]
|
|
147
|
+
}),
|
|
148
|
+
!!$ && /* @__PURE__ */ x(n, {
|
|
149
|
+
type: "error",
|
|
150
|
+
children: $
|
|
151
|
+
}),
|
|
152
|
+
!!j && !V && /* @__PURE__ */ x(i, {
|
|
153
|
+
onClick: ne,
|
|
154
|
+
disabled: !K?.from || !K?.to || !!$,
|
|
155
|
+
className: "w-full",
|
|
156
|
+
children: Y.confirm
|
|
157
|
+
}),
|
|
158
|
+
!!V && /* @__PURE__ */ x("div", {
|
|
159
|
+
className: "-mx-3 -mb-3",
|
|
160
|
+
children: /* @__PURE__ */ x(c, {
|
|
161
|
+
config: V,
|
|
162
|
+
output: Z(K),
|
|
163
|
+
hasSelection: !!(K?.from && K?.to),
|
|
164
|
+
autoSummary: re
|
|
165
|
+
})
|
|
166
|
+
})
|
|
167
|
+
]
|
|
168
|
+
})] })]
|
|
169
|
+
})]
|
|
170
|
+
})]
|
|
171
|
+
}),
|
|
172
|
+
!!O && /* @__PURE__ */ x(n, {
|
|
173
|
+
type: "error",
|
|
174
|
+
children: O
|
|
175
|
+
}),
|
|
176
|
+
!!D && !O && /* @__PURE__ */ x(n, {
|
|
177
|
+
type: "secondary",
|
|
178
|
+
children: D
|
|
179
|
+
})
|
|
180
|
+
]
|
|
181
|
+
});
|
|
182
|
+
}
|
|
183
|
+
T.displayName = "DateRangePicker";
|
|
184
|
+
//#endregion
|
|
185
|
+
//#region src/components/base/date-pickers/month-year-picker.tsx
|
|
186
|
+
function E({ value: l, defaultValue: f, onChange: b, format: T = "yyyy-MM", readableFormat: E = "MMMM yyyy", placeholder: D, label: O, hint: k, error: A, disabled: j = !1, className: M, closeOnSelect: N = !0, translations: P, strings: F, locale: I, header: L, footer: R, fromYear: z, toYear: B }) {
|
|
187
|
+
let V = (/* @__PURE__ */ new Date()).getFullYear(), [H, U] = v.useState(!1), [W, G] = v.useState(l ?? f), K = I ?? w, q = e(o, F ?? P), J = v.useMemo(() => {
|
|
188
|
+
let e = z ?? 2017, t = B ?? 2035;
|
|
189
|
+
return Array.from({ length: t - e + 1 }, (t, n) => e + n);
|
|
190
|
+
}, [z, B]), Y = v.useMemo(() => Array.from({ length: 12 }, (e, t) => y(new Date(2e3, t, 1), "MMMM", { locale: K })), [K]);
|
|
191
|
+
v.useEffect(() => {
|
|
192
|
+
l !== void 0 && G(l);
|
|
193
|
+
}, [l]);
|
|
194
|
+
let X = v.useCallback((e, t) => {
|
|
195
|
+
let n = new Date(t, e, 1);
|
|
196
|
+
return {
|
|
197
|
+
month: e,
|
|
198
|
+
year: t,
|
|
199
|
+
formatted: y(n, T),
|
|
200
|
+
readable: y(n, E, { locale: K }),
|
|
201
|
+
date: n
|
|
202
|
+
};
|
|
203
|
+
}, [
|
|
204
|
+
T,
|
|
205
|
+
E,
|
|
206
|
+
K
|
|
207
|
+
]), Z = v.useCallback((e) => {
|
|
208
|
+
G({
|
|
209
|
+
month: parseInt(String(e), 10),
|
|
210
|
+
year: W?.year ?? V
|
|
211
|
+
});
|
|
212
|
+
}, [W?.year, V]), te = v.useCallback((e) => {
|
|
213
|
+
let t = parseInt(String(e), 10);
|
|
214
|
+
G({
|
|
215
|
+
month: W?.month ?? 0,
|
|
216
|
+
year: t
|
|
217
|
+
});
|
|
218
|
+
}, [W?.month]), ne = v.useCallback(() => {
|
|
219
|
+
W && (b?.(X(W.month, W.year)), N && U(!1));
|
|
220
|
+
}, [
|
|
221
|
+
W,
|
|
222
|
+
b,
|
|
223
|
+
X,
|
|
224
|
+
N
|
|
225
|
+
]), Q = v.useMemo(() => W ? y(new Date(W.year, W.month, 1), E, { locale: K }) : D ?? q.selectMonthYear, [
|
|
226
|
+
W,
|
|
227
|
+
E,
|
|
228
|
+
K,
|
|
229
|
+
D,
|
|
230
|
+
q.selectMonthYear
|
|
231
|
+
]);
|
|
232
|
+
return /* @__PURE__ */ S("div", {
|
|
233
|
+
className: t("month-year-picker--component", "flex flex-col gap-2", M),
|
|
234
|
+
children: [
|
|
235
|
+
!!O && /* @__PURE__ */ x(r, {
|
|
236
|
+
htmlFor: "month-year-picker-trigger",
|
|
237
|
+
className: t(A && "text-destructive"),
|
|
238
|
+
children: O
|
|
239
|
+
}),
|
|
240
|
+
/* @__PURE__ */ S(u, {
|
|
241
|
+
open: H,
|
|
242
|
+
onOpenChange: U,
|
|
243
|
+
children: [/* @__PURE__ */ x(ee, { render: (e) => /* @__PURE__ */ S(i, {
|
|
244
|
+
...e,
|
|
245
|
+
id: "month-year-picker-trigger",
|
|
246
|
+
variant: "secondary",
|
|
247
|
+
buttonStyle: "outline",
|
|
248
|
+
"aria-invalid": !!A,
|
|
249
|
+
className: t("w-full justify-start text-left font-normal", s, !W && "text-muted-foreground", e.className),
|
|
250
|
+
disabled: j,
|
|
251
|
+
children: [/* @__PURE__ */ x(C, { className: "mr-2 h-4 w-4" }), Q]
|
|
252
|
+
}) }), /* @__PURE__ */ S(d, {
|
|
253
|
+
className: "w-80 p-0",
|
|
254
|
+
align: "start",
|
|
255
|
+
children: [
|
|
256
|
+
!!L && /* @__PURE__ */ x(a, { config: L }),
|
|
257
|
+
/* @__PURE__ */ S("div", {
|
|
258
|
+
className: "p-4 space-y-4",
|
|
259
|
+
children: [/* @__PURE__ */ S("div", {
|
|
260
|
+
className: "space-y-2",
|
|
261
|
+
children: [/* @__PURE__ */ x(r, {
|
|
262
|
+
htmlFor: "month-select",
|
|
263
|
+
children: q.month
|
|
264
|
+
}), /* @__PURE__ */ S(_, {
|
|
265
|
+
value: W?.month?.toString(),
|
|
266
|
+
onValueChange: Z,
|
|
267
|
+
disabled: j,
|
|
268
|
+
children: [/* @__PURE__ */ x(p, {
|
|
269
|
+
id: "month-select",
|
|
270
|
+
className: "w-full",
|
|
271
|
+
children: /* @__PURE__ */ x(g, { placeholder: q.month })
|
|
272
|
+
}), /* @__PURE__ */ x(h, { children: Y.map((e, t) => /* @__PURE__ */ x(m, {
|
|
273
|
+
value: t.toString(),
|
|
274
|
+
children: e
|
|
275
|
+
}, e)) })]
|
|
276
|
+
})]
|
|
277
|
+
}), /* @__PURE__ */ S("div", {
|
|
278
|
+
className: "space-y-2",
|
|
279
|
+
children: [/* @__PURE__ */ x(r, {
|
|
280
|
+
htmlFor: "year-select",
|
|
281
|
+
children: q.year
|
|
282
|
+
}), /* @__PURE__ */ S(_, {
|
|
283
|
+
value: W?.year?.toString(),
|
|
284
|
+
onValueChange: te,
|
|
285
|
+
disabled: j,
|
|
286
|
+
children: [/* @__PURE__ */ x(p, {
|
|
287
|
+
id: "year-select",
|
|
288
|
+
className: "w-full",
|
|
289
|
+
children: /* @__PURE__ */ x(g, { placeholder: q.year })
|
|
290
|
+
}), /* @__PURE__ */ x(h, { children: J.map((e) => /* @__PURE__ */ x(m, {
|
|
291
|
+
value: e.toString(),
|
|
292
|
+
children: e
|
|
293
|
+
}, e)) })]
|
|
294
|
+
})]
|
|
295
|
+
})]
|
|
296
|
+
}),
|
|
297
|
+
/* @__PURE__ */ x("div", {
|
|
298
|
+
className: "p-4 pt-0",
|
|
299
|
+
children: /* @__PURE__ */ x(i, {
|
|
300
|
+
className: "w-full",
|
|
301
|
+
onClick: ne,
|
|
302
|
+
disabled: j || !W,
|
|
303
|
+
children: q.confirm
|
|
304
|
+
})
|
|
305
|
+
}),
|
|
306
|
+
!!R && !!W && /* @__PURE__ */ x(c, {
|
|
307
|
+
config: R,
|
|
308
|
+
output: X(W.month, W.year),
|
|
309
|
+
hasSelection: !!W,
|
|
310
|
+
autoSummary: Q
|
|
311
|
+
})
|
|
312
|
+
]
|
|
313
|
+
})]
|
|
314
|
+
}),
|
|
315
|
+
!!A && /* @__PURE__ */ x(n, {
|
|
316
|
+
type: "error",
|
|
317
|
+
children: A
|
|
318
|
+
}),
|
|
319
|
+
!!k && !A && /* @__PURE__ */ x(n, {
|
|
320
|
+
type: "secondary",
|
|
321
|
+
children: k
|
|
322
|
+
})
|
|
323
|
+
]
|
|
324
|
+
});
|
|
325
|
+
}
|
|
326
|
+
E.displayName = "MonthYearPicker";
|
|
327
|
+
//#endregion
|
|
328
|
+
export { T as n, E as t };
|
|
329
|
+
|
|
330
|
+
//# sourceMappingURL=date-pickers-Cas9cPlj.js.map
|