@alfadocs/ui-kit 0.0.20 → 0.1.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/_chunks/accordion-BJD1aM67.js +117 -0
- package/dist/_chunks/accordion-BJD1aM67.js.map +1 -0
- package/dist/_chunks/agenda-card-Bld47Eul.js +130 -0
- package/dist/_chunks/agenda-card-Bld47Eul.js.map +1 -0
- package/dist/_chunks/agenda-tray-D86cNIJ0.js +119 -0
- package/dist/_chunks/agenda-tray-D86cNIJ0.js.map +1 -0
- package/dist/_chunks/ai-prompt-input-CdYwt2VP.js +379 -0
- package/dist/_chunks/ai-prompt-input-CdYwt2VP.js.map +1 -0
- package/dist/_chunks/{alert-C5ud6CfE.js → alert-ETrF7Q8J.js} +51 -51
- package/dist/_chunks/alert-ETrF7Q8J.js.map +1 -0
- package/dist/_chunks/apexcharts-theme-BkSShpEy.js +48 -0
- package/dist/_chunks/apexcharts-theme-BkSShpEy.js.map +1 -0
- package/dist/_chunks/{app-frame-CmIUp9BD.js → app-frame-uq2Gy0vs.js} +37 -37
- package/dist/_chunks/app-frame-uq2Gy0vs.js.map +1 -0
- package/dist/_chunks/aspect-ratio-BqU4itGW.js +56 -0
- package/dist/_chunks/aspect-ratio-BqU4itGW.js.map +1 -0
- package/dist/_chunks/{audio-recorder-GkGNtW2X.js → audio-recorder-D2UEBF9B.js} +98 -98
- package/dist/_chunks/audio-recorder-D2UEBF9B.js.map +1 -0
- package/dist/_chunks/{audio-visualiser-CIO3yy23.js → audio-visualiser-B4u4goV5.js} +46 -46
- package/dist/_chunks/audio-visualiser-B4u4goV5.js.map +1 -0
- package/dist/_chunks/{autocomplete.agent-kb0nmr6F.js → autocomplete.agent-Bi6CiRKa.js} +111 -111
- package/dist/_chunks/autocomplete.agent-Bi6CiRKa.js.map +1 -0
- package/dist/_chunks/{avatar-BsV7vRA6.js → avatar-BAhxbDEu.js} +38 -38
- package/dist/_chunks/avatar-BAhxbDEu.js.map +1 -0
- package/dist/_chunks/badge-zDghajh8.js +104 -0
- package/dist/_chunks/badge-zDghajh8.js.map +1 -0
- package/dist/_chunks/{balance-cell-renderer-BQwN51rT.js → balance-cell-renderer-BGyvZWjB.js} +123 -124
- package/dist/_chunks/balance-cell-renderer-BGyvZWjB.js.map +1 -0
- package/dist/_chunks/{breadcrumb-DnO6eHSS.js → breadcrumb-pdUacgm1.js} +40 -40
- package/dist/_chunks/breadcrumb-pdUacgm1.js.map +1 -0
- package/dist/_chunks/button-DmiGFnNA.js +119 -0
- package/dist/_chunks/button-DmiGFnNA.js.map +1 -0
- package/dist/_chunks/{button-group-CI7LFxt3.js → button-group-BtTHSyU0.js} +24 -24
- package/dist/_chunks/button-group-BtTHSyU0.js.map +1 -0
- package/dist/_chunks/{calendar-BIXVzhkL.js → calendar-BkDeDTaX.js} +333 -290
- package/dist/_chunks/calendar-BkDeDTaX.js.map +1 -0
- package/dist/_chunks/card-DeItIBcV.js +158 -0
- package/dist/_chunks/card-DeItIBcV.js.map +1 -0
- package/dist/_chunks/{chart.agent-DkmVXNsI.js → chart.agent-BdS-_8MO.js} +66 -64
- package/dist/_chunks/chart.agent-BdS-_8MO.js.map +1 -0
- package/dist/_chunks/chat-container-Co8HpB64.js +174 -0
- package/dist/_chunks/chat-container-Co8HpB64.js.map +1 -0
- package/dist/_chunks/{chat-input-aphxDjZL.js → chat-input-3rstZhHR.js} +57 -57
- package/dist/_chunks/chat-input-3rstZhHR.js.map +1 -0
- package/dist/_chunks/{chat-message-CdJSD18D.js → chat-message-dDMVSYBs.js} +66 -66
- package/dist/_chunks/chat-message-dDMVSYBs.js.map +1 -0
- package/dist/_chunks/checkbox-DMzgtnqw.js +116 -0
- package/dist/_chunks/checkbox-DMzgtnqw.js.map +1 -0
- package/dist/_chunks/{checkbox-group-D1aqVI0-.js → checkbox-group-DBnIBRT_.js} +34 -34
- package/dist/_chunks/checkbox-group-DBnIBRT_.js.map +1 -0
- package/dist/_chunks/{collapsible-jBFm7Ah8.js → collapsible-DPGQnHZh.js} +16 -16
- package/dist/_chunks/collapsible-DPGQnHZh.js.map +1 -0
- package/dist/_chunks/{color-picker-CiotzQJF.js → color-picker-OKKF3Dww.js} +158 -158
- package/dist/_chunks/color-picker-OKKF3Dww.js.map +1 -0
- package/dist/_chunks/{combobox.agent-B6RwDSct.js → combobox.agent-CfeB-IZ1.js} +107 -107
- package/dist/_chunks/combobox.agent-CfeB-IZ1.js.map +1 -0
- package/dist/_chunks/{command-palette.agent-B87_OkmC.js → command-palette.agent-XLfSGHCL.js} +27 -27
- package/dist/_chunks/command-palette.agent-XLfSGHCL.js.map +1 -0
- package/dist/_chunks/{date-picker-CdPuI3dK.js → date-picker-DXx8oSJb.js} +5 -5
- package/dist/_chunks/{date-picker-CdPuI3dK.js.map → date-picker-DXx8oSJb.js.map} +1 -1
- package/dist/_chunks/{date-range-picker-DfK4cjln.js → date-range-picker-C3CbY__H.js} +29 -29
- package/dist/_chunks/{date-range-picker-DfK4cjln.js.map → date-range-picker-C3CbY__H.js.map} +1 -1
- package/dist/_chunks/{date-time-picker-CX_FMsLG.js → date-time-picker-Bn3FPeAc.js} +58 -58
- package/dist/_chunks/date-time-picker-Bn3FPeAc.js.map +1 -0
- package/dist/_chunks/description-list-B1CL3RTG.js +187 -0
- package/dist/_chunks/description-list-B1CL3RTG.js.map +1 -0
- package/dist/_chunks/{dialog.agent-B276rAQF.js → dialog.agent-D9WeIWi2.js} +39 -39
- package/dist/_chunks/dialog.agent-D9WeIWi2.js.map +1 -0
- package/dist/_chunks/dropdown-menu-BnVUeVG3.js +210 -0
- package/dist/_chunks/dropdown-menu-BnVUeVG3.js.map +1 -0
- package/dist/_chunks/{empty-state-DiG7vYBM.js → empty-state-DV96gCnp.js} +37 -37
- package/dist/_chunks/empty-state-DV96gCnp.js.map +1 -0
- package/dist/_chunks/{file-upload.agent-BMow5yDY.js → file-upload.agent-DYFnqdxw.js} +185 -185
- package/dist/_chunks/file-upload.agent-DYFnqdxw.js.map +1 -0
- package/dist/_chunks/{flag-ChP784EM.js → flag-C3BUEwHH.js} +14 -14
- package/dist/_chunks/{flag-ChP784EM.js.map → flag-C3BUEwHH.js.map} +1 -1
- package/dist/_chunks/floating-action-button-RigP2E7o.js +95 -0
- package/dist/_chunks/floating-action-button-RigP2E7o.js.map +1 -0
- package/dist/_chunks/form-field-DI5LY5aG.js +121 -0
- package/dist/_chunks/form-field-DI5LY5aG.js.map +1 -0
- package/dist/_chunks/freemium-paywall-D0GiUFOe.js +197 -0
- package/dist/_chunks/freemium-paywall-D0GiUFOe.js.map +1 -0
- package/dist/_chunks/{header-BpKaSL_v.js → header-CW2oRd5H.js} +111 -111
- package/dist/_chunks/header-CW2oRd5H.js.map +1 -0
- package/dist/_chunks/icon-button-C482ii4y.js +45 -0
- package/dist/_chunks/icon-button-C482ii4y.js.map +1 -0
- package/dist/_chunks/{icon-button-group-tERESY-n.js → icon-button-group-BnhkUWUg.js} +56 -56
- package/dist/_chunks/icon-button-group-BnhkUWUg.js.map +1 -0
- package/dist/_chunks/{kbd-0iPlQjgC.js → kbd-DTcIjYA7.js} +52 -52
- package/dist/_chunks/kbd-DTcIjYA7.js.map +1 -0
- package/dist/_chunks/{key-value-pair--Je59tAF.js → key-value-pair-DDhSYdDL.js} +26 -26
- package/dist/_chunks/key-value-pair-DDhSYdDL.js.map +1 -0
- package/dist/_chunks/leo-sidebar-gXXcGPKk.js +755 -0
- package/dist/_chunks/leo-sidebar-gXXcGPKk.js.map +1 -0
- package/dist/_chunks/{list-n8vI8Yvn.js → list-Cwe8mcmh.js} +96 -96
- package/dist/_chunks/list-Cwe8mcmh.js.map +1 -0
- package/dist/_chunks/live-region-COggO6x6.js +57 -0
- package/dist/_chunks/live-region-COggO6x6.js.map +1 -0
- package/dist/_chunks/{logo-UNWYb9p7.js → logo-3wrZGpwg.js} +29 -29
- package/dist/_chunks/logo-3wrZGpwg.js.map +1 -0
- package/dist/_chunks/{matrix-rain-Q7xTEpKu.js → matrix-rain-gsHqSvW7.js} +75 -75
- package/dist/_chunks/matrix-rain-gsHqSvW7.js.map +1 -0
- package/dist/_chunks/message-card-DID3cXUW.js +275 -0
- package/dist/_chunks/message-card-DID3cXUW.js.map +1 -0
- package/dist/_chunks/message-tray-CVMLBnVp.js +302 -0
- package/dist/_chunks/message-tray-CVMLBnVp.js.map +1 -0
- package/dist/_chunks/{multi-select.agent-Cf4pU636.js → multi-select.agent-BUKYZJfp.js} +126 -126
- package/dist/_chunks/multi-select.agent-BUKYZJfp.js.map +1 -0
- package/dist/_chunks/{navigation-menu-DBDsAmXc.js → navigation-menu-NjwxyshT.js} +68 -97
- package/dist/_chunks/navigation-menu-NjwxyshT.js.map +1 -0
- package/dist/_chunks/notification-card-BZ33fq8H.js +255 -0
- package/dist/_chunks/notification-card-BZ33fq8H.js.map +1 -0
- package/dist/_chunks/{notification-tray-CNWPuPZp.js → notification-tray-CnEd7B2q.js} +96 -96
- package/dist/_chunks/notification-tray-CnEd7B2q.js.map +1 -0
- package/dist/_chunks/{number-input-B1Th0DdC.js → number-input-D7rSa_ef.js} +73 -73
- package/dist/_chunks/number-input-D7rSa_ef.js.map +1 -0
- package/dist/_chunks/{otp-input-CmoBuZ4K.js → otp-input-C9R9sC74.js} +42 -42
- package/dist/_chunks/otp-input-C9R9sC74.js.map +1 -0
- package/dist/_chunks/{pagination.agent-B5KLDCMN.js → pagination.agent-D75FB6XP.js} +106 -106
- package/dist/_chunks/pagination.agent-D75FB6XP.js.map +1 -0
- package/dist/_chunks/{password-input-DnjNh-hQ.js → password-input-C6PvKyQV.js} +59 -59
- package/dist/_chunks/password-input-C6PvKyQV.js.map +1 -0
- package/dist/_chunks/{patient-shell-D0RaWDMR.js → patient-shell-CGsmI5LJ.js} +9 -9
- package/dist/_chunks/{patient-shell-D0RaWDMR.js.map → patient-shell-CGsmI5LJ.js.map} +1 -1
- package/dist/_chunks/{payment-form-Cf7U6r5L.js → payment-form-l3j-gA-t.js} +108 -108
- package/dist/_chunks/payment-form-l3j-gA-t.js.map +1 -0
- package/dist/_chunks/{pdf-viewer.agent-DXjgDItg.js → pdf-viewer.agent-DuGfSoep.js} +234 -233
- package/dist/_chunks/pdf-viewer.agent-DuGfSoep.js.map +1 -0
- package/dist/_chunks/{phone-input-C2dtIuxW.js → phone-input-ZWa_FU4R.js} +112 -112
- package/dist/_chunks/phone-input-ZWa_FU4R.js.map +1 -0
- package/dist/_chunks/{popover-D1woU9mP.js → popover-CMr1pTPO.js} +58 -58
- package/dist/_chunks/popover-CMr1pTPO.js.map +1 -0
- package/dist/_chunks/{privacy-lock-C1X42Sit.js → privacy-lock-DdpkKNM2.js} +37 -36
- package/dist/_chunks/privacy-lock-DdpkKNM2.js.map +1 -0
- package/dist/_chunks/{progress-DL3-izuO.js → progress-D4ELgHG3.js} +43 -43
- package/dist/_chunks/progress-D4ELgHG3.js.map +1 -0
- package/dist/_chunks/radio-B_gvGU29.js +106 -0
- package/dist/_chunks/radio-B_gvGU29.js.map +1 -0
- package/dist/_chunks/radio-group-Bn8Wt0yc.js +88 -0
- package/dist/_chunks/radio-group-Bn8Wt0yc.js.map +1 -0
- package/dist/_chunks/{react-day-picker-DQKDiJ37.js → react-day-picker-d0MHsyCj.js} +174 -174
- package/dist/_chunks/{react-day-picker-DQKDiJ37.js.map → react-day-picker-d0MHsyCj.js.map} +1 -1
- package/dist/_chunks/{resizable.agent-DVk_jJur.js → resizable.agent-DBpPGNdy.js} +122 -122
- package/dist/_chunks/resizable.agent-DBpPGNdy.js.map +1 -0
- package/dist/_chunks/{rich-text-editor.agent-BOjF4Xao.js → rich-text-editor.agent-C1_E7_7t.js} +225 -225
- package/dist/_chunks/rich-text-editor.agent-C1_E7_7t.js.map +1 -0
- package/dist/_chunks/scroll-area-Ba99pJ_R.js +144 -0
- package/dist/_chunks/scroll-area-Ba99pJ_R.js.map +1 -0
- package/dist/_chunks/{search-bar-DgSOAajC.js → search-bar-VoTqJhRp.js} +131 -131
- package/dist/_chunks/search-bar-VoTqJhRp.js.map +1 -0
- package/dist/_chunks/search-input-D6rarD0_.js +197 -0
- package/dist/_chunks/search-input-D6rarD0_.js.map +1 -0
- package/dist/_chunks/select-DbxWF3O_.js +320 -0
- package/dist/_chunks/select-DbxWF3O_.js.map +1 -0
- package/dist/_chunks/{separator-DExI4amU.js → separator-BRQHi8s0.js} +17 -17
- package/dist/_chunks/separator-BRQHi8s0.js.map +1 -0
- package/dist/_chunks/sheet-DyWqluiS.js +188 -0
- package/dist/_chunks/sheet-DyWqluiS.js.map +1 -0
- package/dist/_chunks/sidebar-B52iGGNV.js +1076 -0
- package/dist/_chunks/sidebar-B52iGGNV.js.map +1 -0
- package/dist/_chunks/{sign-in-with-alfadocs-button-BBL11-Rt.js → sign-in-with-alfadocs-button-BU7MP5Hg.js} +4 -4
- package/dist/_chunks/{sign-in-with-alfadocs-button-BBL11-Rt.js.map → sign-in-with-alfadocs-button-BU7MP5Hg.js.map} +1 -1
- package/dist/_chunks/{signature-capture.agent-L_1_-zVR.js → signature-capture.agent-4htVctJ2.js} +163 -163
- package/dist/_chunks/signature-capture.agent-4htVctJ2.js.map +1 -0
- package/dist/_chunks/skeleton-ClO1v5GE.js +95 -0
- package/dist/_chunks/skeleton-ClO1v5GE.js.map +1 -0
- package/dist/_chunks/skip-link-CASJkBOe.js +68 -0
- package/dist/_chunks/skip-link-CASJkBOe.js.map +1 -0
- package/dist/_chunks/slider-n8JWpJvT.js +273 -0
- package/dist/_chunks/slider-n8JWpJvT.js.map +1 -0
- package/dist/_chunks/slot-grid-BRAkqChA.js +491 -0
- package/dist/_chunks/slot-grid-BRAkqChA.js.map +1 -0
- package/dist/_chunks/{sparkline.agent-BDTXzTy9.js → sparkline.agent-BLY1IMyW.js} +45 -45
- package/dist/_chunks/sparkline.agent-BLY1IMyW.js.map +1 -0
- package/dist/_chunks/{spinner-77xUGpuX.js → spinner-CoAOGcDa.js} +40 -40
- package/dist/_chunks/spinner-CoAOGcDa.js.map +1 -0
- package/dist/_chunks/stat-D76MNHzK.js +208 -0
- package/dist/_chunks/stat-D76MNHzK.js.map +1 -0
- package/dist/_chunks/{stepper-accordion-BkvqQWPI.js → stepper-accordion-DHQ80A4v.js} +33 -33
- package/dist/_chunks/stepper-accordion-DHQ80A4v.js.map +1 -0
- package/dist/_chunks/{stepper-calendar-BQMjrwzo.js → stepper-calendar-vtWwa2bY.js} +159 -159
- package/dist/_chunks/stepper-calendar-vtWwa2bY.js.map +1 -0
- package/dist/_chunks/stepper-progress-DMZ5w5VR.js +128 -0
- package/dist/_chunks/stepper-progress-DMZ5w5VR.js.map +1 -0
- package/dist/_chunks/streaming-text-D0cW8pwq.js +104 -0
- package/dist/_chunks/streaming-text-D0cW8pwq.js.map +1 -0
- package/dist/_chunks/suggestion-chip-BgNFpPEE.js +157 -0
- package/dist/_chunks/suggestion-chip-BgNFpPEE.js.map +1 -0
- package/dist/_chunks/switch-DtLPKO0p.js +137 -0
- package/dist/_chunks/switch-DtLPKO0p.js.map +1 -0
- package/dist/_chunks/{tabs.agent-FsGU3sZL.js → tabs.agent-BDUlyPbJ.js} +101 -101
- package/dist/_chunks/tabs.agent-BDUlyPbJ.js.map +1 -0
- package/dist/_chunks/tag-CfSZZN2f.js +194 -0
- package/dist/_chunks/tag-CfSZZN2f.js.map +1 -0
- package/dist/_chunks/task-card-B5xfiFg5.js +112 -0
- package/dist/_chunks/task-card-B5xfiFg5.js.map +1 -0
- package/dist/_chunks/task-tray-BnpiodZ4.js +99 -0
- package/dist/_chunks/task-tray-BnpiodZ4.js.map +1 -0
- package/dist/_chunks/text-area-BqbruBWx.js +152 -0
- package/dist/_chunks/text-area-BqbruBWx.js.map +1 -0
- package/dist/_chunks/text-input-lh6kRXZS.js +187 -0
- package/dist/_chunks/text-input-lh6kRXZS.js.map +1 -0
- package/dist/_chunks/theme-toggle-BHKMiORD.js +326 -0
- package/dist/_chunks/theme-toggle-BHKMiORD.js.map +1 -0
- package/dist/_chunks/{time-picker-BapZq0OY.js → time-picker-DbpAmPux.js} +102 -102
- package/dist/_chunks/time-picker-DbpAmPux.js.map +1 -0
- package/dist/_chunks/timeline-vjsUeuq1.js +219 -0
- package/dist/_chunks/timeline-vjsUeuq1.js.map +1 -0
- package/dist/_chunks/{timestamp-BLM-jjdw.js → timestamp-DmSt92P1.js} +30 -30
- package/dist/_chunks/timestamp-DmSt92P1.js.map +1 -0
- package/dist/_chunks/{toast-DSCqnDRl.js → toast-DllSITLf.js} +151 -151
- package/dist/_chunks/{toast-DSCqnDRl.js.map → toast-DllSITLf.js.map} +1 -1
- package/dist/_chunks/{tooltip-DF6WjD1r.js → tooltip-Dp3u8jGz.js} +30 -30
- package/dist/_chunks/tooltip-Dp3u8jGz.js.map +1 -0
- package/dist/_chunks/{tooth-scheme.agent-CFKl3iQr.js → tooth-scheme.agent-BRqxWa1D.js} +75 -75
- package/dist/_chunks/tooth-scheme.agent-BRqxWa1D.js.map +1 -0
- package/dist/_chunks/transcript-panel-Bg1BTMSr.js +265 -0
- package/dist/_chunks/transcript-panel-Bg1BTMSr.js.map +1 -0
- package/dist/_chunks/typing-indicator-BRg22Rqr.js +81 -0
- package/dist/_chunks/typing-indicator-BRg22Rqr.js.map +1 -0
- package/dist/_chunks/use-locale-BuXR_Zl9.js +32 -0
- package/dist/_chunks/use-locale-BuXR_Zl9.js.map +1 -0
- package/dist/_chunks/visually-hidden-Y3jcdCv-.js +21 -0
- package/dist/_chunks/visually-hidden-Y3jcdCv-.js.map +1 -0
- package/dist/_chunks/{warning-stack-Cyf_81SL.js → warning-stack-B9N9yWet.js} +38 -38
- package/dist/_chunks/warning-stack-B9N9yWet.js.map +1 -0
- package/dist/_chunks/{workflow-map-Uf-hHAO3.js → workflow-map-gBhL_Wrs.js} +385 -385
- package/dist/_chunks/workflow-map-gBhL_Wrs.js.map +1 -0
- package/dist/agent-catalog.json +1 -1
- package/dist/components/_shared/index.d.ts +2 -0
- package/dist/components/_shared/index.d.ts.map +1 -1
- package/dist/components/_shared/use-focus-trap.d.ts +32 -0
- package/dist/components/_shared/use-focus-trap.d.ts.map +1 -0
- package/dist/components/_shared/use-neutralize-hidden-focus.d.ts +3 -0
- package/dist/components/_shared/use-neutralize-hidden-focus.d.ts.map +1 -0
- package/dist/components/accordion/index.js +1 -1
- package/dist/components/agenda-card/index.js +1 -1
- package/dist/components/agenda-tray/index.js +1 -1
- package/dist/components/ai-prompt-input/index.js +1 -1
- package/dist/components/alert/index.js +1 -1
- package/dist/components/app-frame/index.js +1 -1
- package/dist/components/aspect-ratio/index.js +1 -1
- package/dist/components/audio-recorder/index.js +1 -1
- package/dist/components/audio-visualiser/index.js +1 -1
- package/dist/components/autocomplete/index.js +1 -1
- package/dist/components/avatar/index.js +1 -1
- package/dist/components/badge/index.js +1 -1
- package/dist/components/breadcrumb/index.js +1 -1
- package/dist/components/button/index.js +2 -2
- package/dist/components/button-group/index.js +1 -1
- package/dist/components/calendar/calendar.d.ts.map +1 -1
- package/dist/components/calendar/index.js +1 -1
- package/dist/components/card/index.js +1 -1
- package/dist/components/chart/chart.d.ts.map +1 -1
- package/dist/components/chart/index.js +1 -1
- package/dist/components/chat-container/index.js +1 -1
- package/dist/components/chat-input/index.js +1 -1
- package/dist/components/chat-message/index.js +1 -1
- package/dist/components/checkbox/index.js +1 -1
- package/dist/components/checkbox-group/index.js +1 -1
- package/dist/components/collapsible/index.js +1 -1
- package/dist/components/color-picker/index.js +1 -1
- package/dist/components/combobox/index.js +1 -1
- package/dist/components/command-palette/index.js +1 -1
- package/dist/components/data-table/index.js +1 -1
- package/dist/components/data-table/toolbar.d.ts.map +1 -1
- package/dist/components/date-picker/index.js +1 -1
- package/dist/components/date-range-picker/index.js +1 -1
- package/dist/components/date-time-picker/index.js +1 -1
- package/dist/components/description-list/index.js +1 -1
- package/dist/components/dialog/index.js +1 -1
- package/dist/components/dropdown-menu/index.js +1 -1
- package/dist/components/empty-state/index.js +1 -1
- package/dist/components/file-upload/index.js +1 -1
- package/dist/components/flag/index.js +1 -1
- package/dist/components/floating-action-button/index.js +1 -1
- package/dist/components/form-field/index.js +1 -1
- package/dist/components/freemium-paywall/index.js +1 -1
- package/dist/components/header/index.js +1 -1
- package/dist/components/icon-button/index.d.ts +3 -0
- package/dist/components/icon-button/index.d.ts.map +1 -0
- package/dist/components/icon-button/index.js +5 -0
- package/dist/components/icon-button/index.js.map +1 -0
- package/dist/components/icon-button-group/index.js +1 -1
- package/dist/components/index.d.ts +8 -2
- package/dist/components/index.d.ts.map +1 -1
- package/dist/components/kbd/index.js +1 -1
- package/dist/components/key-value-pair/index.js +1 -1
- package/dist/components/list/index.js +1 -1
- package/dist/components/live-region/index.d.ts +3 -0
- package/dist/components/live-region/index.d.ts.map +1 -0
- package/dist/components/live-region/index.js +5 -0
- package/dist/components/live-region/index.js.map +1 -0
- package/dist/components/live-region/live-region.d.ts +49 -0
- package/dist/components/live-region/live-region.d.ts.map +1 -0
- package/dist/components/logo/index.js +1 -1
- package/dist/components/matrix-rain/index.js +1 -1
- package/dist/components/message-card/index.js +1 -1
- package/dist/components/message-tray/index.js +1 -1
- package/dist/components/multi-select/index.js +1 -1
- package/dist/components/navigation-menu/index.d.ts +4 -2
- package/dist/components/navigation-menu/index.d.ts.map +1 -1
- package/dist/components/navigation-menu/index.js +3 -2
- package/dist/components/navigation-menu/index.js.map +1 -1
- package/dist/components/navigation-menu/navigation-menu.d.ts +2 -6
- package/dist/components/navigation-menu/navigation-menu.d.ts.map +1 -1
- package/dist/components/notification-card/index.js +1 -1
- package/dist/components/notification-tray/index.js +1 -1
- package/dist/components/number-input/index.js +1 -1
- package/dist/components/otp-input/index.js +1 -1
- package/dist/components/pagination/index.js +1 -1
- package/dist/components/password-input/index.js +1 -1
- package/dist/components/payment-form/index.js +1 -1
- package/dist/components/pdf-viewer/index.js +1 -1
- package/dist/components/pdf-viewer/pdf-viewer.d.ts.map +1 -1
- package/dist/components/phone-input/index.js +1 -1
- package/dist/components/popover/index.js +1 -1
- package/dist/components/privacy-lock/index.js +1 -1
- package/dist/components/privacy-lock/privacy-lock.d.ts.map +1 -1
- package/dist/components/progress/index.js +1 -1
- package/dist/components/radio/index.d.ts +3 -0
- package/dist/components/radio/index.d.ts.map +1 -0
- package/dist/components/radio/index.js +5 -0
- package/dist/components/radio/index.js.map +1 -0
- package/dist/components/radio-group/index.js +4 -3
- package/dist/components/radio-group/index.js.map +1 -1
- package/dist/components/resizable/index.js +1 -1
- package/dist/components/rich-text-editor/index.js +1 -1
- package/dist/components/scroll-area/index.js +1 -1
- package/dist/components/search-bar/index.js +1 -1
- package/dist/components/search-input/index.js +1 -1
- package/dist/components/select/index.js +1 -1
- package/dist/components/separator/index.js +1 -1
- package/dist/components/sheet/index.js +1 -1
- package/dist/components/sidebar/index.js +1 -1
- package/dist/components/sign-in-with-alfadocs-button/index.js +1 -1
- package/dist/components/signature-capture/index.js +1 -1
- package/dist/components/skeleton/index.js +1 -1
- package/dist/components/skip-link/index.d.ts +2 -0
- package/dist/components/skip-link/index.d.ts.map +1 -0
- package/dist/components/skip-link/index.js +5 -0
- package/dist/components/skip-link/index.js.map +1 -0
- package/dist/components/skip-link/skip-link.d.ts +34 -0
- package/dist/components/skip-link/skip-link.d.ts.map +1 -0
- package/dist/components/slider/index.js +1 -1
- package/dist/components/slot-grid/index.js +1 -1
- package/dist/components/sparkline/index.js +1 -1
- package/dist/components/sparkline/sparkline.d.ts.map +1 -1
- package/dist/components/spinner/index.js +1 -1
- package/dist/components/stat/index.js +1 -1
- package/dist/components/stepper-accordion/index.js +1 -1
- package/dist/components/stepper-calendar/index.js +1 -1
- package/dist/components/stepper-progress/index.js +1 -1
- package/dist/components/streaming-text/index.js +1 -1
- package/dist/components/suggestion-chip/index.js +1 -1
- package/dist/components/switch/index.js +1 -1
- package/dist/components/tabs/index.js +1 -1
- package/dist/components/tag/index.js +1 -1
- package/dist/components/task-card/index.js +1 -1
- package/dist/components/task-tray/index.js +1 -1
- package/dist/components/text-area/index.js +1 -1
- package/dist/components/text-input/index.js +1 -1
- package/dist/components/theme-toggle/index.d.ts +3 -0
- package/dist/components/theme-toggle/index.d.ts.map +1 -0
- package/dist/components/theme-toggle/index.js +5 -0
- package/dist/components/theme-toggle/index.js.map +1 -0
- package/dist/components/theme-toggle/theme-toggle.d.ts +34 -0
- package/dist/components/theme-toggle/theme-toggle.d.ts.map +1 -0
- package/dist/components/time-picker/index.js +1 -1
- package/dist/components/timeline/index.js +1 -1
- package/dist/components/timestamp/index.js +1 -1
- package/dist/components/toast/index.js +1 -1
- package/dist/components/tooltip/index.js +1 -1
- package/dist/components/tooth-scheme/index.js +1 -1
- package/dist/components/transcript-panel/index.js +1 -1
- package/dist/components/typing-indicator/index.js +1 -1
- package/dist/components/visually-hidden/index.d.ts +2 -0
- package/dist/components/visually-hidden/index.d.ts.map +1 -0
- package/dist/components/visually-hidden/index.js +5 -0
- package/dist/components/visually-hidden/index.js.map +1 -0
- package/dist/components/visually-hidden/visually-hidden.d.ts +11 -0
- package/dist/components/visually-hidden/visually-hidden.d.ts.map +1 -0
- package/dist/components/warning-stack/index.js +1 -1
- package/dist/components/workflow/index.js +1 -1
- package/dist/hooks/index.d.ts +3 -0
- package/dist/hooks/index.d.ts.map +1 -1
- package/dist/hooks/index.js +10 -7
- package/dist/hooks/index.js.map +1 -1
- package/dist/hooks/use-locale.d.ts +27 -0
- package/dist/hooks/use-locale.d.ts.map +1 -0
- package/dist/hooks/use-media-query.d.ts +17 -0
- package/dist/hooks/use-media-query.d.ts.map +1 -0
- package/dist/i18n/config.js +59 -2
- package/dist/i18n/config.js.map +1 -1
- package/dist/i18n/resources.d.ts +57 -0
- package/dist/i18n/resources.d.ts.map +1 -1
- package/dist/index.js +442 -431
- package/dist/index.js.map +1 -1
- package/dist/locales/de.json +19 -0
- package/dist/locales/en.json +19 -0
- package/dist/locales/it.json +19 -0
- package/dist/patterns/leo-assistant/index.js +1 -1
- package/dist/patterns/patient-shell/index.js +1 -1
- package/dist/tokens.css +2 -2
- package/package.json +4 -2
- package/dist/_chunks/accordion-Dgcd38U_.js +0 -117
- package/dist/_chunks/accordion-Dgcd38U_.js.map +0 -1
- package/dist/_chunks/agenda-card-B2gq-gTq.js +0 -130
- package/dist/_chunks/agenda-card-B2gq-gTq.js.map +0 -1
- package/dist/_chunks/agenda-tray-twa8g_87.js +0 -119
- package/dist/_chunks/agenda-tray-twa8g_87.js.map +0 -1
- package/dist/_chunks/ai-prompt-input-C6IY_Eds.js +0 -379
- package/dist/_chunks/ai-prompt-input-C6IY_Eds.js.map +0 -1
- package/dist/_chunks/alert-C5ud6CfE.js.map +0 -1
- package/dist/_chunks/apexcharts-theme-cpBYmCcr.js +0 -17
- package/dist/_chunks/apexcharts-theme-cpBYmCcr.js.map +0 -1
- package/dist/_chunks/app-frame-CmIUp9BD.js.map +0 -1
- package/dist/_chunks/aspect-ratio-Bo3cZXmR.js +0 -56
- package/dist/_chunks/aspect-ratio-Bo3cZXmR.js.map +0 -1
- package/dist/_chunks/audio-recorder-GkGNtW2X.js.map +0 -1
- package/dist/_chunks/audio-visualiser-CIO3yy23.js.map +0 -1
- package/dist/_chunks/autocomplete.agent-kb0nmr6F.js.map +0 -1
- package/dist/_chunks/avatar-BsV7vRA6.js.map +0 -1
- package/dist/_chunks/badge--CmSr7ok.js +0 -104
- package/dist/_chunks/badge--CmSr7ok.js.map +0 -1
- package/dist/_chunks/balance-cell-renderer-BQwN51rT.js.map +0 -1
- package/dist/_chunks/breadcrumb-DnO6eHSS.js.map +0 -1
- package/dist/_chunks/button-CXL8bA8G.js +0 -119
- package/dist/_chunks/button-CXL8bA8G.js.map +0 -1
- package/dist/_chunks/button-group-CI7LFxt3.js.map +0 -1
- package/dist/_chunks/calendar-BIXVzhkL.js.map +0 -1
- package/dist/_chunks/card-n97MNPP2.js +0 -158
- package/dist/_chunks/card-n97MNPP2.js.map +0 -1
- package/dist/_chunks/chart.agent-DkmVXNsI.js.map +0 -1
- package/dist/_chunks/chat-container-SR3UWxbL.js +0 -174
- package/dist/_chunks/chat-container-SR3UWxbL.js.map +0 -1
- package/dist/_chunks/chat-input-aphxDjZL.js.map +0 -1
- package/dist/_chunks/chat-message-CdJSD18D.js.map +0 -1
- package/dist/_chunks/checkbox-CfiZ0FZc.js +0 -116
- package/dist/_chunks/checkbox-CfiZ0FZc.js.map +0 -1
- package/dist/_chunks/checkbox-group-D1aqVI0-.js.map +0 -1
- package/dist/_chunks/collapsible-jBFm7Ah8.js.map +0 -1
- package/dist/_chunks/color-picker-CiotzQJF.js.map +0 -1
- package/dist/_chunks/combobox.agent-B6RwDSct.js.map +0 -1
- package/dist/_chunks/command-palette.agent-B87_OkmC.js.map +0 -1
- package/dist/_chunks/date-time-picker-CX_FMsLG.js.map +0 -1
- package/dist/_chunks/description-list-C5UPZgX6.js +0 -187
- package/dist/_chunks/description-list-C5UPZgX6.js.map +0 -1
- package/dist/_chunks/dialog.agent-B276rAQF.js.map +0 -1
- package/dist/_chunks/dropdown-menu-CJKvK7VG.js +0 -210
- package/dist/_chunks/dropdown-menu-CJKvK7VG.js.map +0 -1
- package/dist/_chunks/empty-state-DiG7vYBM.js.map +0 -1
- package/dist/_chunks/file-upload.agent-BMow5yDY.js.map +0 -1
- package/dist/_chunks/floating-action-button-BM9ib-Wf.js +0 -95
- package/dist/_chunks/floating-action-button-BM9ib-Wf.js.map +0 -1
- package/dist/_chunks/form-field-B4bwrccN.js +0 -121
- package/dist/_chunks/form-field-B4bwrccN.js.map +0 -1
- package/dist/_chunks/freemium-paywall-DVyNsQHS.js +0 -197
- package/dist/_chunks/freemium-paywall-DVyNsQHS.js.map +0 -1
- package/dist/_chunks/header-BpKaSL_v.js.map +0 -1
- package/dist/_chunks/icon-button-C1vpylg3.js +0 -45
- package/dist/_chunks/icon-button-C1vpylg3.js.map +0 -1
- package/dist/_chunks/icon-button-group-tERESY-n.js.map +0 -1
- package/dist/_chunks/kbd-0iPlQjgC.js.map +0 -1
- package/dist/_chunks/key-value-pair--Je59tAF.js.map +0 -1
- package/dist/_chunks/leo-sidebar-9A9AWBxX.js +0 -755
- package/dist/_chunks/leo-sidebar-9A9AWBxX.js.map +0 -1
- package/dist/_chunks/list-n8vI8Yvn.js.map +0 -1
- package/dist/_chunks/logo-UNWYb9p7.js.map +0 -1
- package/dist/_chunks/matrix-rain-Q7xTEpKu.js.map +0 -1
- package/dist/_chunks/message-card-g5VS5Q80.js +0 -275
- package/dist/_chunks/message-card-g5VS5Q80.js.map +0 -1
- package/dist/_chunks/message-tray-CAk-iibU.js +0 -302
- package/dist/_chunks/message-tray-CAk-iibU.js.map +0 -1
- package/dist/_chunks/multi-select.agent-Cf4pU636.js.map +0 -1
- package/dist/_chunks/navigation-menu-DBDsAmXc.js.map +0 -1
- package/dist/_chunks/notification-card-CQxJporb.js +0 -255
- package/dist/_chunks/notification-card-CQxJporb.js.map +0 -1
- package/dist/_chunks/notification-tray-CNWPuPZp.js.map +0 -1
- package/dist/_chunks/number-input-B1Th0DdC.js.map +0 -1
- package/dist/_chunks/otp-input-CmoBuZ4K.js.map +0 -1
- package/dist/_chunks/pagination.agent-B5KLDCMN.js.map +0 -1
- package/dist/_chunks/password-input-DnjNh-hQ.js.map +0 -1
- package/dist/_chunks/payment-form-Cf7U6r5L.js.map +0 -1
- package/dist/_chunks/pdf-viewer.agent-DXjgDItg.js.map +0 -1
- package/dist/_chunks/phone-input-C2dtIuxW.js.map +0 -1
- package/dist/_chunks/popover-D1woU9mP.js.map +0 -1
- package/dist/_chunks/privacy-lock-C1X42Sit.js.map +0 -1
- package/dist/_chunks/progress-DL3-izuO.js.map +0 -1
- package/dist/_chunks/radio-group-CXN9qNPe.js +0 -185
- package/dist/_chunks/radio-group-CXN9qNPe.js.map +0 -1
- package/dist/_chunks/resizable.agent-DVk_jJur.js.map +0 -1
- package/dist/_chunks/rich-text-editor.agent-BOjF4Xao.js.map +0 -1
- package/dist/_chunks/scroll-area-DXn-YWHY.js +0 -144
- package/dist/_chunks/scroll-area-DXn-YWHY.js.map +0 -1
- package/dist/_chunks/search-bar-DgSOAajC.js.map +0 -1
- package/dist/_chunks/search-input-D4tC_Prn.js +0 -197
- package/dist/_chunks/search-input-D4tC_Prn.js.map +0 -1
- package/dist/_chunks/select-B4m4upMg.js +0 -320
- package/dist/_chunks/select-B4m4upMg.js.map +0 -1
- package/dist/_chunks/separator-DExI4amU.js.map +0 -1
- package/dist/_chunks/sheet-D6XOx0fK.js +0 -188
- package/dist/_chunks/sheet-D6XOx0fK.js.map +0 -1
- package/dist/_chunks/sidebar-r645O-k9.js +0 -1076
- package/dist/_chunks/sidebar-r645O-k9.js.map +0 -1
- package/dist/_chunks/signature-capture.agent-L_1_-zVR.js.map +0 -1
- package/dist/_chunks/skeleton-vbTWUntB.js +0 -95
- package/dist/_chunks/skeleton-vbTWUntB.js.map +0 -1
- package/dist/_chunks/slider-B3DBwmcm.js +0 -273
- package/dist/_chunks/slider-B3DBwmcm.js.map +0 -1
- package/dist/_chunks/slot-grid-DL_Tuj0p.js +0 -491
- package/dist/_chunks/slot-grid-DL_Tuj0p.js.map +0 -1
- package/dist/_chunks/sparkline.agent-BDTXzTy9.js.map +0 -1
- package/dist/_chunks/spinner-77xUGpuX.js.map +0 -1
- package/dist/_chunks/stat-CrumvZWf.js +0 -208
- package/dist/_chunks/stat-CrumvZWf.js.map +0 -1
- package/dist/_chunks/stepper-accordion-BkvqQWPI.js.map +0 -1
- package/dist/_chunks/stepper-calendar-BQMjrwzo.js.map +0 -1
- package/dist/_chunks/stepper-progress-Bwfl-0rV.js +0 -128
- package/dist/_chunks/stepper-progress-Bwfl-0rV.js.map +0 -1
- package/dist/_chunks/streaming-text-Cu9YQe_1.js +0 -104
- package/dist/_chunks/streaming-text-Cu9YQe_1.js.map +0 -1
- package/dist/_chunks/suggestion-chip-XkxDJiPW.js +0 -157
- package/dist/_chunks/suggestion-chip-XkxDJiPW.js.map +0 -1
- package/dist/_chunks/switch-DyC0ThNT.js +0 -137
- package/dist/_chunks/switch-DyC0ThNT.js.map +0 -1
- package/dist/_chunks/tabs.agent-FsGU3sZL.js.map +0 -1
- package/dist/_chunks/tag-BucAvfTX.js +0 -194
- package/dist/_chunks/tag-BucAvfTX.js.map +0 -1
- package/dist/_chunks/task-card-uxjApfcg.js +0 -112
- package/dist/_chunks/task-card-uxjApfcg.js.map +0 -1
- package/dist/_chunks/task-tray-BdfM3p8N.js +0 -99
- package/dist/_chunks/task-tray-BdfM3p8N.js.map +0 -1
- package/dist/_chunks/text-area-CKxZ7cS3.js +0 -152
- package/dist/_chunks/text-area-CKxZ7cS3.js.map +0 -1
- package/dist/_chunks/text-input-D16CcMlL.js +0 -187
- package/dist/_chunks/text-input-D16CcMlL.js.map +0 -1
- package/dist/_chunks/time-picker-BapZq0OY.js.map +0 -1
- package/dist/_chunks/timeline-D3VOf4RT.js +0 -219
- package/dist/_chunks/timeline-D3VOf4RT.js.map +0 -1
- package/dist/_chunks/timestamp-BLM-jjdw.js.map +0 -1
- package/dist/_chunks/tooltip-DF6WjD1r.js.map +0 -1
- package/dist/_chunks/tooth-scheme.agent-CFKl3iQr.js.map +0 -1
- package/dist/_chunks/transcript-panel-aI14fHYA.js +0 -265
- package/dist/_chunks/transcript-panel-aI14fHYA.js.map +0 -1
- package/dist/_chunks/typing-indicator-BTVDEpnd.js +0 -81
- package/dist/_chunks/typing-indicator-BTVDEpnd.js.map +0 -1
- package/dist/_chunks/warning-stack-Cyf_81SL.js.map +0 -1
- package/dist/_chunks/workflow-map-Uf-hHAO3.js.map +0 -1
|
@@ -3,19 +3,19 @@ import { forwardRef as Q, useState as g, useRef as U, useCallback as X } from "r
|
|
|
3
3
|
import { useTranslation as Z } from "react-i18next";
|
|
4
4
|
import * as f from "@radix-ui/react-popover";
|
|
5
5
|
import { u as _ } from "./form-field-context-94LwgYTQ.js";
|
|
6
|
-
import { a as z, g as ee, b as te, e as C, c as ae, C as
|
|
6
|
+
import { a as z, g as ee, b as te, e as C, c as ae, C as se, d as re, t as ne, p as oe, D as de, f as ie, h as le } from "./react-day-picker-d0MHsyCj.js";
|
|
7
7
|
import { c as ce, b as N, s as fe, f as y, d as ue } from "./isSameMonth-5wNF2f4I.js";
|
|
8
|
-
function h(o,
|
|
9
|
-
return ce(o, -
|
|
8
|
+
function h(o, i, r) {
|
|
9
|
+
return ce(o, -i, r);
|
|
10
10
|
}
|
|
11
|
-
function me(o,
|
|
12
|
-
return z(o, -1,
|
|
11
|
+
function me(o, i, r) {
|
|
12
|
+
return z(o, -1, r);
|
|
13
13
|
}
|
|
14
14
|
const pe = Q(
|
|
15
15
|
({
|
|
16
16
|
value: o,
|
|
17
|
-
defaultValue:
|
|
18
|
-
onChange:
|
|
17
|
+
defaultValue: i,
|
|
18
|
+
onChange: r,
|
|
19
19
|
minDate: O,
|
|
20
20
|
maxDate: T,
|
|
21
21
|
presets: u,
|
|
@@ -26,46 +26,46 @@ const pe = Q(
|
|
|
26
26
|
className: I,
|
|
27
27
|
id: L
|
|
28
28
|
}, F) => {
|
|
29
|
-
const { t:
|
|
30
|
-
o ??
|
|
29
|
+
const { t: s, i18n: j } = Z(), d = _(), B = L ?? d.id, k = d.disabled || S, $ = d.invalid ? "error" : "default", n = ee(j.language), Y = V ?? s("ui.inputs.dateRangePicker.placeholder", "Select date range"), m = o !== void 0, [q, A] = g(
|
|
30
|
+
o ?? i ?? {}
|
|
31
31
|
), t = m ? o : q, [D, v] = g(!1), [E, w] = g(
|
|
32
32
|
t.from ?? /* @__PURE__ */ new Date()
|
|
33
33
|
), G = U(null), p = X(
|
|
34
34
|
(e) => {
|
|
35
|
-
m || A(e),
|
|
35
|
+
m || A(e), r == null || r(e);
|
|
36
36
|
},
|
|
37
|
-
[m,
|
|
37
|
+
[m, r]
|
|
38
38
|
), H = te(O, T), M = [
|
|
39
39
|
{
|
|
40
|
-
label:
|
|
40
|
+
label: s("ui.inputs.dateRangePicker.presets.today", "Today"),
|
|
41
41
|
range: () => {
|
|
42
42
|
const e = /* @__PURE__ */ new Date();
|
|
43
43
|
return { from: e, to: e };
|
|
44
44
|
}
|
|
45
45
|
},
|
|
46
46
|
{
|
|
47
|
-
label:
|
|
47
|
+
label: s("ui.inputs.dateRangePicker.presets.yesterday", "Yesterday"),
|
|
48
48
|
range: () => {
|
|
49
49
|
const e = h(/* @__PURE__ */ new Date(), 1);
|
|
50
50
|
return { from: e, to: e };
|
|
51
51
|
}
|
|
52
52
|
},
|
|
53
53
|
{
|
|
54
|
-
label:
|
|
54
|
+
label: s("ui.inputs.dateRangePicker.presets.last7", "Last 7 days"),
|
|
55
55
|
range: () => ({
|
|
56
56
|
from: h(/* @__PURE__ */ new Date(), 6),
|
|
57
57
|
to: /* @__PURE__ */ new Date()
|
|
58
58
|
})
|
|
59
59
|
},
|
|
60
60
|
{
|
|
61
|
-
label:
|
|
61
|
+
label: s("ui.inputs.dateRangePicker.presets.thisWeek", "This week"),
|
|
62
62
|
range: () => ({
|
|
63
63
|
from: N(/* @__PURE__ */ new Date(), { locale: n }),
|
|
64
64
|
to: C(/* @__PURE__ */ new Date(), { locale: n })
|
|
65
65
|
})
|
|
66
66
|
},
|
|
67
67
|
{
|
|
68
|
-
label:
|
|
68
|
+
label: s("ui.inputs.dateRangePicker.presets.lastWeek", "Last week"),
|
|
69
69
|
range: () => {
|
|
70
70
|
const e = me(/* @__PURE__ */ new Date());
|
|
71
71
|
return {
|
|
@@ -75,14 +75,14 @@ const pe = Q(
|
|
|
75
75
|
}
|
|
76
76
|
},
|
|
77
77
|
{
|
|
78
|
-
label:
|
|
78
|
+
label: s("ui.inputs.dateRangePicker.presets.thisMonth", "This month"),
|
|
79
79
|
range: () => ({
|
|
80
80
|
from: fe(/* @__PURE__ */ new Date()),
|
|
81
81
|
to: ae(/* @__PURE__ */ new Date())
|
|
82
82
|
})
|
|
83
83
|
},
|
|
84
84
|
{
|
|
85
|
-
label:
|
|
85
|
+
label: s("ui.inputs.dateRangePicker.presets.last30", "Last 30 days"),
|
|
86
86
|
range: () => ({
|
|
87
87
|
from: h(/* @__PURE__ */ new Date(), 29),
|
|
88
88
|
to: /* @__PURE__ */ new Date()
|
|
@@ -102,7 +102,7 @@ const pe = Q(
|
|
|
102
102
|
})(), P = (() => {
|
|
103
103
|
if (t.from && t.to) {
|
|
104
104
|
const e = ue(t.to, t.from) + 1;
|
|
105
|
-
return
|
|
105
|
+
return s("ui.inputs.dateRangePicker.days", "{{count}} days", { count: e });
|
|
106
106
|
}
|
|
107
107
|
return "";
|
|
108
108
|
})();
|
|
@@ -114,14 +114,14 @@ const pe = Q(
|
|
|
114
114
|
id: B,
|
|
115
115
|
type: "button",
|
|
116
116
|
disabled: k,
|
|
117
|
-
"aria-describedby":
|
|
118
|
-
"aria-invalid":
|
|
117
|
+
"aria-describedby": d.describedBy || void 0,
|
|
118
|
+
"aria-invalid": d.invalid || void 0,
|
|
119
119
|
"aria-haspopup": "dialog",
|
|
120
120
|
"aria-expanded": D,
|
|
121
121
|
className: ne({ size: b, tone: $ }),
|
|
122
122
|
children: [
|
|
123
|
-
/* @__PURE__ */ a("span", { className: R ? "text-foreground" : "text-muted-foreground", children: R || Y }),
|
|
124
|
-
/* @__PURE__ */ a("span", { "aria-hidden": "true", className:
|
|
123
|
+
/* @__PURE__ */ a("span", { className: R ? "ds:text-foreground" : "ds:text-muted-foreground", children: R || Y }),
|
|
124
|
+
/* @__PURE__ */ a("span", { "aria-hidden": "true", className: re({ size: b }), children: /* @__PURE__ */ a(se, {}) })
|
|
125
125
|
]
|
|
126
126
|
}
|
|
127
127
|
) }),
|
|
@@ -131,8 +131,8 @@ const pe = Q(
|
|
|
131
131
|
sideOffset: 4,
|
|
132
132
|
align: "start",
|
|
133
133
|
className: le(),
|
|
134
|
-
children: /* @__PURE__ */ c("div", { className: "flex gap-[var(--spacing-md)]", children: [
|
|
135
|
-
x.length > 0 ? /* @__PURE__ */ a("div", { className: "flex flex-col gap-[var(--spacing-xs)] min-w-[8rem] border-e border-border pe-[var(--spacing-md)]", children: x.map((e) => /* @__PURE__ */ a(
|
|
134
|
+
children: /* @__PURE__ */ c("div", { className: "ds:flex ds:gap-[var(--spacing-md)]", children: [
|
|
135
|
+
x.length > 0 ? /* @__PURE__ */ a("div", { className: "ds:flex ds:flex-col ds:gap-[var(--spacing-xs)] ds:min-w-[8rem] ds:border-e ds:border-border ds:pe-[var(--spacing-md)]", children: x.map((e) => /* @__PURE__ */ a(
|
|
136
136
|
"button",
|
|
137
137
|
{
|
|
138
138
|
type: "button",
|
|
@@ -144,7 +144,7 @@ const pe = Q(
|
|
|
144
144
|
)) }) : null,
|
|
145
145
|
/* @__PURE__ */ c("div", { children: [
|
|
146
146
|
/* @__PURE__ */ a(
|
|
147
|
-
|
|
147
|
+
de,
|
|
148
148
|
{
|
|
149
149
|
mode: "range",
|
|
150
150
|
selected: t.from ? { from: t.from, to: t.to } : void 0,
|
|
@@ -157,7 +157,7 @@ const pe = Q(
|
|
|
157
157
|
showOutsideDays: !0,
|
|
158
158
|
fixedWeeks: !0,
|
|
159
159
|
pagedNavigation: !0,
|
|
160
|
-
components: { Chevron:
|
|
160
|
+
components: { Chevron: ie }
|
|
161
161
|
}
|
|
162
162
|
),
|
|
163
163
|
P ? /* @__PURE__ */ a(
|
|
@@ -165,7 +165,7 @@ const pe = Q(
|
|
|
165
165
|
{
|
|
166
166
|
role: "status",
|
|
167
167
|
"aria-live": "polite",
|
|
168
|
-
className: "type-body-sm text-muted-foreground mt-[var(--spacing-sm)] text-center",
|
|
168
|
+
className: "type-body-sm ds:text-muted-foreground ds:mt-[var(--spacing-sm)] ds:text-center",
|
|
169
169
|
children: P
|
|
170
170
|
}
|
|
171
171
|
) : null
|
|
@@ -180,4 +180,4 @@ pe.displayName = "DateRangePicker";
|
|
|
180
180
|
export {
|
|
181
181
|
pe as D
|
|
182
182
|
};
|
|
183
|
-
//# sourceMappingURL=date-range-picker-
|
|
183
|
+
//# sourceMappingURL=date-range-picker-C3CbY__H.js.map
|
package/dist/_chunks/{date-range-picker-DfK4cjln.js.map → date-range-picker-C3CbY__H.js.map}
RENAMED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"date-range-picker-DfK4cjln.js","sources":["../../node_modules/date-fns/subDays.js","../../node_modules/date-fns/subWeeks.js","../../src/components/date-range-picker/date-range-picker.tsx"],"sourcesContent":["import { addDays } from \"./addDays.js\";\n\n/**\n * The {@link subDays} function options.\n */\n\n/**\n * @name subDays\n * @category Day Helpers\n * @summary Subtract the specified number of days from the given date.\n *\n * @typeParam DateType - The `Date` type, the function operates on. Gets inferred from passed arguments. Allows to use extensions like [`UTCDate`](https://github.com/date-fns/utc).\n * @typeParam ResultDate - The result `Date` type, it is the type returned from the context function if it is passed, or inferred from the arguments.\n *\n * @param date - The date to be changed\n * @param amount - The amount of days to be subtracted.\n * @param options - An object with options\n *\n * @returns The new date with the days subtracted\n *\n * @example\n * // Subtract 10 days from 1 September 2014:\n * const result = subDays(new Date(2014, 8, 1), 10)\n * //=> Fri Aug 22 2014 00:00:00\n */\nexport function subDays(date, amount, options) {\n return addDays(date, -amount, options);\n}\n\n// Fallback for modularized imports:\nexport default subDays;\n","import { addWeeks } from \"./addWeeks.js\";\n\n/**\n * The {@link subWeeks} function options.\n */\n\n/**\n * @name subWeeks\n * @category Week Helpers\n * @summary Subtract the specified number of weeks from the given date.\n *\n * @description\n * Subtract the specified number of weeks from the given date.\n *\n * @typeParam DateType - The `Date` type, the function operates on. Gets inferred from passed arguments. Allows to use extensions like [`UTCDate`](https://github.com/date-fns/utc).\n * @typeParam ResultDate - The result `Date` type, it is the type returned from the context function if it is passed, or inferred from the arguments.\n *\n * @param date - The date to be changed\n * @param amount - The amount of weeks to be subtracted.\n * @param options - An object with options\n *\n * @returns The new date with the weeks subtracted\n *\n * @example\n * // Subtract 4 weeks from 1 September 2014:\n * const result = subWeeks(new Date(2014, 8, 1), 4)\n * //=> Mon Aug 04 2014 00:00:00\n */\nexport function subWeeks(date, amount, options) {\n return addWeeks(date, -amount, options);\n}\n\n// Fallback for modularized imports:\nexport default subWeeks;\n","import {\n forwardRef,\n useCallback,\n useRef,\n useState,\n} from 'react';\nimport { type VariantProps } from 'class-variance-authority';\nimport { useTranslation } from 'react-i18next';\nimport * as Popover from '@radix-ui/react-popover';\nimport {\n DayPicker,\n type DateRange,\n} from 'react-day-picker';\nimport {\n format as fnsFormat,\n differenceInCalendarDays,\n startOfWeek,\n endOfWeek,\n startOfMonth,\n endOfMonth,\n subDays,\n subWeeks,\n} from 'date-fns';\nimport { Calendar } from 'lucide-react';\nimport { useFormField } from '../form-field/form-field-context';\nimport {\n getDateFnsLocale,\n buildDisabledMatcher,\n CalendarChevron,\n triggerVariants,\n calendarIconVariants,\n popoverContentVariants,\n presetButtonVariants,\n} from '../_shared';\nimport '../../tokens/themes/bridges/react-day-picker.css';\n\n/* -------------------------------------------------------------------------- */\n/* Props */\n/* -------------------------------------------------------------------------- */\n\nexport interface DateRangePreset {\n label: string;\n range: () => { from: Date; to: Date };\n}\n\nexport interface DateRangeValue {\n from?: Date;\n to?: Date;\n}\n\nexport interface DateRangePickerProps\n extends Pick<VariantProps<typeof triggerVariants>, 'size'> {\n /** Current range — controlled. */\n value?: DateRangeValue;\n /** Default range — uncontrolled. */\n defaultValue?: DateRangeValue;\n /** Called when the range changes. */\n onChange?: (range: DateRangeValue) => void;\n /** Minimum selectable date. */\n minDate?: Date;\n /** Maximum selectable date. */\n maxDate?: Date;\n /** Custom presets. Replaces defaults unless mergePresets is true. */\n presets?: DateRangePreset[];\n /** Merge custom presets with defaults instead of replacing. */\n mergePresets?: boolean;\n /** Component size. */\n size?: 'sm' | 'md' | 'lg';\n /** Disabled state. */\n disabled?: boolean;\n /** Placeholder text. */\n placeholder?: string;\n /** Additional class names. */\n className?: string;\n /** id override. */\n id?: string;\n}\n\n/* -------------------------------------------------------------------------- */\n/* Component */\n/* -------------------------------------------------------------------------- */\n\nexport const DateRangePicker = forwardRef<HTMLDivElement, DateRangePickerProps>(\n (\n {\n value,\n defaultValue,\n onChange,\n minDate,\n maxDate,\n presets: presetsProp,\n mergePresets = false,\n size = 'md',\n disabled,\n placeholder,\n className,\n id,\n },\n ref,\n ) => {\n const { t, i18n } = useTranslation();\n const ctx = useFormField();\n const effectiveId = id ?? ctx.id;\n const effectiveDisabled = ctx.disabled || disabled;\n const effectiveTone = ctx.invalid ? 'error' : 'default';\n\n const locale = getDateFnsLocale(i18n.language);\n const placeholderText =\n placeholder ?? t('ui.inputs.dateRangePicker.placeholder', 'Select date range');\n\n const isControlled = value !== undefined;\n const [internalValue, setInternalValue] = useState<DateRangeValue>(\n value ?? defaultValue ?? {},\n );\n const currentValue: DateRangeValue = isControlled ? value : internalValue;\n\n const [open, setOpen] = useState(false);\n const [month, setMonth] = useState<Date>(\n currentValue.from ?? new Date(),\n );\n\n const triggerRef = useRef<HTMLButtonElement>(null);\n\n const emit = useCallback(\n (range: DateRangeValue) => {\n if (!isControlled) setInternalValue(range);\n onChange?.(range);\n },\n [isControlled, onChange],\n );\n\n const disabledMatcher = buildDisabledMatcher(minDate, maxDate);\n\n // Default presets\n const defaultPresets: DateRangePreset[] = [\n {\n label: t('ui.inputs.dateRangePicker.presets.today', 'Today'),\n range: () => {\n const today = new Date();\n return { from: today, to: today };\n },\n },\n {\n label: t('ui.inputs.dateRangePicker.presets.yesterday', 'Yesterday'),\n range: () => {\n const yesterday = subDays(new Date(), 1);\n return { from: yesterday, to: yesterday };\n },\n },\n {\n label: t('ui.inputs.dateRangePicker.presets.last7', 'Last 7 days'),\n range: () => ({\n from: subDays(new Date(), 6),\n to: new Date(),\n }),\n },\n {\n label: t('ui.inputs.dateRangePicker.presets.thisWeek', 'This week'),\n range: () => ({\n from: startOfWeek(new Date(), { locale }),\n to: endOfWeek(new Date(), { locale }),\n }),\n },\n {\n label: t('ui.inputs.dateRangePicker.presets.lastWeek', 'Last week'),\n range: () => {\n const lastWeekDay = subWeeks(new Date(), 1);\n return {\n from: startOfWeek(lastWeekDay, { locale }),\n to: endOfWeek(lastWeekDay, { locale }),\n };\n },\n },\n {\n label: t('ui.inputs.dateRangePicker.presets.thisMonth', 'This month'),\n range: () => ({\n from: startOfMonth(new Date()),\n to: endOfMonth(new Date()),\n }),\n },\n {\n label: t('ui.inputs.dateRangePicker.presets.last30', 'Last 30 days'),\n range: () => ({\n from: subDays(new Date(), 29),\n to: new Date(),\n }),\n },\n ];\n\n const effectivePresets = presetsProp\n ? mergePresets\n ? [...defaultPresets, ...presetsProp]\n : presetsProp\n : defaultPresets;\n\n const handleRangeSelect = (range: DateRange | undefined) => {\n if (range) {\n emit({ from: range.from, to: range.to });\n } else {\n emit({});\n }\n };\n\n const handlePresetClick = (preset: DateRangePreset) => {\n const range = preset.range();\n emit(range);\n setMonth(range.from);\n setOpen(false);\n };\n\n // Format display text\n const displayText = (() => {\n if (currentValue.from && currentValue.to) {\n const fromStr = fnsFormat(currentValue.from, 'MMM d, yyyy', { locale });\n const toStr = fnsFormat(currentValue.to, 'MMM d, yyyy', { locale });\n return `${fromStr} – ${toStr}`;\n }\n if (currentValue.from) {\n return fnsFormat(currentValue.from, 'MMM d, yyyy', { locale });\n }\n return '';\n })();\n\n // Range summary for screen readers\n const rangeSummary = (() => {\n if (currentValue.from && currentValue.to) {\n const days = differenceInCalendarDays(currentValue.to, currentValue.from) + 1;\n return t('ui.inputs.dateRangePicker.days', '{{count}} days', { count: days });\n }\n return '';\n })();\n\n return (\n <Popover.Root open={open} onOpenChange={setOpen}>\n <div ref={ref} className={className}>\n <Popover.Trigger asChild disabled={effectiveDisabled}>\n <button\n ref={triggerRef}\n id={effectiveId}\n type=\"button\"\n disabled={effectiveDisabled}\n aria-describedby={ctx.describedBy || undefined}\n aria-invalid={ctx.invalid || undefined}\n // `aria-required` is not valid on `<button>` per ARIA 1.2 — the\n // FormField label's visible asterisk + `aria-describedby` link\n // communicate the required state instead.\n aria-haspopup=\"dialog\"\n aria-expanded={open}\n className={triggerVariants({ size, tone: effectiveTone })}\n >\n <span className={displayText ? 'text-foreground' : 'text-muted-foreground'}>\n {displayText || placeholderText}\n </span>\n <span aria-hidden=\"true\" className={calendarIconVariants({ size })}>\n <Calendar />\n </span>\n </button>\n </Popover.Trigger>\n\n <Popover.Portal>\n <Popover.Content\n sideOffset={4}\n align=\"start\"\n className={popoverContentVariants()}\n >\n <div className=\"flex gap-[var(--spacing-md)]\">\n {/* Presets column */}\n {effectivePresets.length > 0 ? (\n <div className=\"flex flex-col gap-[var(--spacing-xs)] min-w-[8rem] border-e border-border pe-[var(--spacing-md)]\">\n {effectivePresets.map((preset) => (\n <button\n key={preset.label}\n type=\"button\"\n onClick={() => handlePresetClick(preset)}\n className={presetButtonVariants()}\n >\n {preset.label}\n </button>\n ))}\n </div>\n ) : null}\n\n {/* Dual calendar */}\n <div>\n <DayPicker\n mode=\"range\"\n selected={\n currentValue.from\n ? { from: currentValue.from, to: currentValue.to }\n : undefined\n }\n onSelect={handleRangeSelect}\n month={month}\n onMonthChange={setMonth}\n numberOfMonths={2}\n disabled={disabledMatcher}\n locale={locale}\n showOutsideDays\n fixedWeeks\n pagedNavigation\n components={{ Chevron: CalendarChevron }}\n />\n\n {/* Range summary live region */}\n {rangeSummary ? (\n <div\n role=\"status\"\n aria-live=\"polite\"\n className=\"type-body-sm text-muted-foreground mt-[var(--spacing-sm)] text-center\"\n >\n {rangeSummary}\n </div>\n ) : null}\n </div>\n </div>\n </Popover.Content>\n </Popover.Portal>\n </div>\n </Popover.Root>\n );\n },\n);\n\nDateRangePicker.displayName = 'DateRangePicker';\n"],"names":["subDays","date","amount","options","addDays","subWeeks","addWeeks","DateRangePicker","forwardRef","value","defaultValue","onChange","minDate","maxDate","presetsProp","mergePresets","size","disabled","placeholder","className","id","ref","t","i18n","useTranslation","ctx","useFormField","effectiveId","effectiveDisabled","effectiveTone","locale","getDateFnsLocale","placeholderText","isControlled","internalValue","setInternalValue","useState","currentValue","open","setOpen","month","setMonth","triggerRef","useRef","emit","useCallback","range","disabledMatcher","buildDisabledMatcher","defaultPresets","today","yesterday","startOfWeek","endOfWeek","lastWeekDay","startOfMonth","endOfMonth","effectivePresets","handleRangeSelect","handlePresetClick","preset","displayText","fromStr","fnsFormat","toStr","rangeSummary","days","differenceInCalendarDays","jsx","Popover","jsxs","triggerVariants","calendarIconVariants","Calendar","popoverContentVariants","presetButtonVariants","DayPicker","CalendarChevron"],"mappings":"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","x_google_ignoreList":[0,1]}
|
|
1
|
+
{"version":3,"file":"date-range-picker-C3CbY__H.js","sources":["../../node_modules/date-fns/subDays.js","../../node_modules/date-fns/subWeeks.js","../../src/components/date-range-picker/date-range-picker.tsx"],"sourcesContent":["import { addDays } from \"./addDays.js\";\n\n/**\n * The {@link subDays} function options.\n */\n\n/**\n * @name subDays\n * @category Day Helpers\n * @summary Subtract the specified number of days from the given date.\n *\n * @typeParam DateType - The `Date` type, the function operates on. Gets inferred from passed arguments. Allows to use extensions like [`UTCDate`](https://github.com/date-fns/utc).\n * @typeParam ResultDate - The result `Date` type, it is the type returned from the context function if it is passed, or inferred from the arguments.\n *\n * @param date - The date to be changed\n * @param amount - The amount of days to be subtracted.\n * @param options - An object with options\n *\n * @returns The new date with the days subtracted\n *\n * @example\n * // Subtract 10 days from 1 September 2014:\n * const result = subDays(new Date(2014, 8, 1), 10)\n * //=> Fri Aug 22 2014 00:00:00\n */\nexport function subDays(date, amount, options) {\n return addDays(date, -amount, options);\n}\n\n// Fallback for modularized imports:\nexport default subDays;\n","import { addWeeks } from \"./addWeeks.js\";\n\n/**\n * The {@link subWeeks} function options.\n */\n\n/**\n * @name subWeeks\n * @category Week Helpers\n * @summary Subtract the specified number of weeks from the given date.\n *\n * @description\n * Subtract the specified number of weeks from the given date.\n *\n * @typeParam DateType - The `Date` type, the function operates on. Gets inferred from passed arguments. Allows to use extensions like [`UTCDate`](https://github.com/date-fns/utc).\n * @typeParam ResultDate - The result `Date` type, it is the type returned from the context function if it is passed, or inferred from the arguments.\n *\n * @param date - The date to be changed\n * @param amount - The amount of weeks to be subtracted.\n * @param options - An object with options\n *\n * @returns The new date with the weeks subtracted\n *\n * @example\n * // Subtract 4 weeks from 1 September 2014:\n * const result = subWeeks(new Date(2014, 8, 1), 4)\n * //=> Mon Aug 04 2014 00:00:00\n */\nexport function subWeeks(date, amount, options) {\n return addWeeks(date, -amount, options);\n}\n\n// Fallback for modularized imports:\nexport default subWeeks;\n","import {\n forwardRef,\n useCallback,\n useRef,\n useState,\n} from 'react';\nimport { type VariantProps } from 'class-variance-authority';\nimport { useTranslation } from 'react-i18next';\nimport * as Popover from '@radix-ui/react-popover';\nimport {\n DayPicker,\n type DateRange,\n} from 'react-day-picker';\nimport {\n format as fnsFormat,\n differenceInCalendarDays,\n startOfWeek,\n endOfWeek,\n startOfMonth,\n endOfMonth,\n subDays,\n subWeeks,\n} from 'date-fns';\nimport { Calendar } from 'lucide-react';\nimport { useFormField } from '../form-field/form-field-context';\nimport {\n getDateFnsLocale,\n buildDisabledMatcher,\n CalendarChevron,\n triggerVariants,\n calendarIconVariants,\n popoverContentVariants,\n presetButtonVariants,\n} from '../_shared';\nimport '../../tokens/themes/bridges/react-day-picker.css';\n\n/* -------------------------------------------------------------------------- */\n/* Props */\n/* -------------------------------------------------------------------------- */\n\nexport interface DateRangePreset {\n label: string;\n range: () => { from: Date; to: Date };\n}\n\nexport interface DateRangeValue {\n from?: Date;\n to?: Date;\n}\n\nexport interface DateRangePickerProps\n extends Pick<VariantProps<typeof triggerVariants>, 'size'> {\n /** Current range — controlled. */\n value?: DateRangeValue;\n /** Default range — uncontrolled. */\n defaultValue?: DateRangeValue;\n /** Called when the range changes. */\n onChange?: (range: DateRangeValue) => void;\n /** Minimum selectable date. */\n minDate?: Date;\n /** Maximum selectable date. */\n maxDate?: Date;\n /** Custom presets. Replaces defaults unless mergePresets is true. */\n presets?: DateRangePreset[];\n /** Merge custom presets with defaults instead of replacing. */\n mergePresets?: boolean;\n /** Component size. */\n size?: 'sm' | 'md' | 'lg';\n /** Disabled state. */\n disabled?: boolean;\n /** Placeholder text. */\n placeholder?: string;\n /** Additional class names. */\n className?: string;\n /** id override. */\n id?: string;\n}\n\n/* -------------------------------------------------------------------------- */\n/* Component */\n/* -------------------------------------------------------------------------- */\n\nexport const DateRangePicker = forwardRef<HTMLDivElement, DateRangePickerProps>(\n (\n {\n value,\n defaultValue,\n onChange,\n minDate,\n maxDate,\n presets: presetsProp,\n mergePresets = false,\n size = 'md',\n disabled,\n placeholder,\n className,\n id,\n },\n ref,\n ) => {\n const { t, i18n } = useTranslation();\n const ctx = useFormField();\n const effectiveId = id ?? ctx.id;\n const effectiveDisabled = ctx.disabled || disabled;\n const effectiveTone = ctx.invalid ? 'error' : 'default';\n\n const locale = getDateFnsLocale(i18n.language);\n const placeholderText =\n placeholder ?? t('ui.inputs.dateRangePicker.placeholder', 'Select date range');\n\n const isControlled = value !== undefined;\n const [internalValue, setInternalValue] = useState<DateRangeValue>(\n value ?? defaultValue ?? {},\n );\n const currentValue: DateRangeValue = isControlled ? value : internalValue;\n\n const [open, setOpen] = useState(false);\n const [month, setMonth] = useState<Date>(\n currentValue.from ?? new Date(),\n );\n\n const triggerRef = useRef<HTMLButtonElement>(null);\n\n const emit = useCallback(\n (range: DateRangeValue) => {\n if (!isControlled) setInternalValue(range);\n onChange?.(range);\n },\n [isControlled, onChange],\n );\n\n const disabledMatcher = buildDisabledMatcher(minDate, maxDate);\n\n // Default presets\n const defaultPresets: DateRangePreset[] = [\n {\n label: t('ui.inputs.dateRangePicker.presets.today', 'Today'),\n range: () => {\n const today = new Date();\n return { from: today, to: today };\n },\n },\n {\n label: t('ui.inputs.dateRangePicker.presets.yesterday', 'Yesterday'),\n range: () => {\n const yesterday = subDays(new Date(), 1);\n return { from: yesterday, to: yesterday };\n },\n },\n {\n label: t('ui.inputs.dateRangePicker.presets.last7', 'Last 7 days'),\n range: () => ({\n from: subDays(new Date(), 6),\n to: new Date(),\n }),\n },\n {\n label: t('ui.inputs.dateRangePicker.presets.thisWeek', 'This week'),\n range: () => ({\n from: startOfWeek(new Date(), { locale }),\n to: endOfWeek(new Date(), { locale }),\n }),\n },\n {\n label: t('ui.inputs.dateRangePicker.presets.lastWeek', 'Last week'),\n range: () => {\n const lastWeekDay = subWeeks(new Date(), 1);\n return {\n from: startOfWeek(lastWeekDay, { locale }),\n to: endOfWeek(lastWeekDay, { locale }),\n };\n },\n },\n {\n label: t('ui.inputs.dateRangePicker.presets.thisMonth', 'This month'),\n range: () => ({\n from: startOfMonth(new Date()),\n to: endOfMonth(new Date()),\n }),\n },\n {\n label: t('ui.inputs.dateRangePicker.presets.last30', 'Last 30 days'),\n range: () => ({\n from: subDays(new Date(), 29),\n to: new Date(),\n }),\n },\n ];\n\n const effectivePresets = presetsProp\n ? mergePresets\n ? [...defaultPresets, ...presetsProp]\n : presetsProp\n : defaultPresets;\n\n const handleRangeSelect = (range: DateRange | undefined) => {\n if (range) {\n emit({ from: range.from, to: range.to });\n } else {\n emit({});\n }\n };\n\n const handlePresetClick = (preset: DateRangePreset) => {\n const range = preset.range();\n emit(range);\n setMonth(range.from);\n setOpen(false);\n };\n\n // Format display text\n const displayText = (() => {\n if (currentValue.from && currentValue.to) {\n const fromStr = fnsFormat(currentValue.from, 'MMM d, yyyy', { locale });\n const toStr = fnsFormat(currentValue.to, 'MMM d, yyyy', { locale });\n return `${fromStr} – ${toStr}`;\n }\n if (currentValue.from) {\n return fnsFormat(currentValue.from, 'MMM d, yyyy', { locale });\n }\n return '';\n })();\n\n // Range summary for screen readers\n const rangeSummary = (() => {\n if (currentValue.from && currentValue.to) {\n const days = differenceInCalendarDays(currentValue.to, currentValue.from) + 1;\n return t('ui.inputs.dateRangePicker.days', '{{count}} days', { count: days });\n }\n return '';\n })();\n\n return (\n <Popover.Root open={open} onOpenChange={setOpen}>\n <div ref={ref} className={className}>\n <Popover.Trigger asChild disabled={effectiveDisabled}>\n <button\n ref={triggerRef}\n id={effectiveId}\n type=\"button\"\n disabled={effectiveDisabled}\n aria-describedby={ctx.describedBy || undefined}\n aria-invalid={ctx.invalid || undefined}\n // `aria-required` is not valid on `<button>` per ARIA 1.2 — the\n // FormField label's visible asterisk + `aria-describedby` link\n // communicate the required state instead.\n aria-haspopup=\"dialog\"\n aria-expanded={open}\n className={triggerVariants({ size, tone: effectiveTone })}\n >\n <span className={displayText ? 'ds:text-foreground' : 'ds:text-muted-foreground'}>\n {displayText || placeholderText}\n </span>\n <span aria-hidden=\"true\" className={calendarIconVariants({ size })}>\n <Calendar />\n </span>\n </button>\n </Popover.Trigger>\n\n <Popover.Portal>\n <Popover.Content\n sideOffset={4}\n align=\"start\"\n className={popoverContentVariants()}\n >\n <div className=\"ds:flex ds:gap-[var(--spacing-md)]\">\n {/* Presets column */}\n {effectivePresets.length > 0 ? (\n <div className=\"ds:flex ds:flex-col ds:gap-[var(--spacing-xs)] ds:min-w-[8rem] ds:border-e ds:border-border ds:pe-[var(--spacing-md)]\">\n {effectivePresets.map((preset) => (\n <button\n key={preset.label}\n type=\"button\"\n onClick={() => handlePresetClick(preset)}\n className={presetButtonVariants()}\n >\n {preset.label}\n </button>\n ))}\n </div>\n ) : null}\n\n {/* Dual calendar */}\n <div>\n <DayPicker\n mode=\"range\"\n selected={\n currentValue.from\n ? { from: currentValue.from, to: currentValue.to }\n : undefined\n }\n onSelect={handleRangeSelect}\n month={month}\n onMonthChange={setMonth}\n numberOfMonths={2}\n disabled={disabledMatcher}\n locale={locale}\n showOutsideDays\n fixedWeeks\n pagedNavigation\n components={{ Chevron: CalendarChevron }}\n />\n\n {/* Range summary live region */}\n {rangeSummary ? (\n <div\n role=\"status\"\n aria-live=\"polite\"\n className=\"type-body-sm ds:text-muted-foreground ds:mt-[var(--spacing-sm)] ds:text-center\"\n >\n {rangeSummary}\n </div>\n ) : null}\n </div>\n </div>\n </Popover.Content>\n </Popover.Portal>\n </div>\n </Popover.Root>\n );\n },\n);\n\nDateRangePicker.displayName = 'DateRangePicker';\n"],"names":["subDays","date","amount","options","addDays","subWeeks","addWeeks","DateRangePicker","forwardRef","value","defaultValue","onChange","minDate","maxDate","presetsProp","mergePresets","size","disabled","placeholder","className","id","ref","t","i18n","useTranslation","ctx","useFormField","effectiveId","effectiveDisabled","effectiveTone","locale","getDateFnsLocale","placeholderText","isControlled","internalValue","setInternalValue","useState","currentValue","open","setOpen","month","setMonth","triggerRef","useRef","emit","useCallback","range","disabledMatcher","buildDisabledMatcher","defaultPresets","today","yesterday","startOfWeek","endOfWeek","lastWeekDay","startOfMonth","endOfMonth","effectivePresets","handleRangeSelect","handlePresetClick","preset","displayText","fromStr","fnsFormat","toStr","rangeSummary","days","differenceInCalendarDays","jsx","Popover","jsxs","triggerVariants","calendarIconVariants","Calendar","popoverContentVariants","presetButtonVariants","DayPicker","CalendarChevron"],"mappings":"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","x_google_ignoreList":[0,1]}
|
|
@@ -1,63 +1,63 @@
|
|
|
1
|
-
import { jsx as
|
|
1
|
+
import { jsx as a, jsxs as h } from "react/jsx-runtime";
|
|
2
2
|
import { forwardRef as ie, useState as f, useRef as oe, useCallback as F } from "react";
|
|
3
|
-
import { c as
|
|
4
|
-
import { useTranslation as
|
|
3
|
+
import { c as de } from "./index-D2ZczOXr.js";
|
|
4
|
+
import { useTranslation as le } from "react-i18next";
|
|
5
5
|
import * as v from "@radix-ui/react-popover";
|
|
6
|
-
import { u as
|
|
7
|
-
import { T as ue } from "./time-picker-
|
|
8
|
-
import { g as fe, b as me, i as pe, j as ge, C as he, d as ve, t as be, D as ye, f as Te, h as we } from "./react-day-picker-
|
|
6
|
+
import { u as ce } from "./form-field-context-94LwgYTQ.js";
|
|
7
|
+
import { T as ue } from "./time-picker-DbpAmPux.js";
|
|
8
|
+
import { g as fe, b as me, i as pe, j as ge, C as he, d as ve, t as be, D as ye, f as Te, h as we } from "./react-day-picker-d0MHsyCj.js";
|
|
9
9
|
import { f as De } from "./isSameMonth-5wNF2f4I.js";
|
|
10
10
|
import { t as j } from "./isSameDay-ecuM8PBB.js";
|
|
11
|
-
function H(
|
|
12
|
-
const n = j(
|
|
13
|
-
return n.setHours(
|
|
11
|
+
function H(s, r, t) {
|
|
12
|
+
const n = j(s, t == null ? void 0 : t.in);
|
|
13
|
+
return n.setHours(r), n;
|
|
14
14
|
}
|
|
15
|
-
function I(
|
|
16
|
-
const n = j(
|
|
17
|
-
return n.setMinutes(
|
|
15
|
+
function I(s, r, t) {
|
|
16
|
+
const n = j(s, t == null ? void 0 : t.in);
|
|
17
|
+
return n.setMinutes(r), n;
|
|
18
18
|
}
|
|
19
|
-
function xe(
|
|
19
|
+
function xe(s, r) {
|
|
20
20
|
var t;
|
|
21
21
|
try {
|
|
22
22
|
const n = { timeZoneName: "short" };
|
|
23
|
-
return
|
|
23
|
+
return r && r !== "local" && (n.timeZone = r === "utc" ? "UTC" : r), ((t = new Intl.DateTimeFormat(s, n).formatToParts(/* @__PURE__ */ new Date()).find((o) => o.type === "timeZoneName")) == null ? void 0 : t.value) ?? "";
|
|
24
24
|
} catch {
|
|
25
25
|
return "";
|
|
26
26
|
}
|
|
27
27
|
}
|
|
28
|
-
function Ce(
|
|
29
|
-
if (!
|
|
28
|
+
function Ce(s) {
|
|
29
|
+
if (!s || s === "local") return !1;
|
|
30
30
|
try {
|
|
31
|
-
const
|
|
32
|
-
return
|
|
31
|
+
const r = Intl.DateTimeFormat().resolvedOptions().timeZone;
|
|
32
|
+
return s === "utc" ? r !== "UTC" : r !== s;
|
|
33
33
|
} catch {
|
|
34
34
|
return !1;
|
|
35
35
|
}
|
|
36
36
|
}
|
|
37
|
-
const ke =
|
|
37
|
+
const ke = de(
|
|
38
38
|
[
|
|
39
|
-
"w-full rounded-[var(--radius-sm)]",
|
|
40
|
-
"bg-primary text-primary-foreground",
|
|
41
|
-
"hover:bg-primary-hover cursor-pointer",
|
|
42
|
-
"transition-colors duration-[var(--animation-duration)] motion-reduce:transition-none",
|
|
43
|
-
"focus-visible:outline-[length:var(--focus-ring-width)] focus-visible:outline-solid",
|
|
44
|
-
"focus-visible:outline-ring focus-visible:outline-offset-[length:var(--focus-ring-offset)]",
|
|
45
|
-
"disabled:cursor-not-allowed disabled:opacity-50"
|
|
39
|
+
"ds:w-full ds:rounded-[var(--radius-sm)]",
|
|
40
|
+
"ds:bg-primary ds:text-primary-foreground",
|
|
41
|
+
"ds:hover:bg-primary-hover ds:cursor-pointer",
|
|
42
|
+
"ds:transition-colors ds:duration-[var(--animation-duration)] ds:motion-reduce:transition-none",
|
|
43
|
+
"ds:focus-visible:outline-[length:var(--focus-ring-width)] ds:focus-visible:outline-solid",
|
|
44
|
+
"ds:focus-visible:outline-ring ds:focus-visible:outline-offset-[length:var(--focus-ring-offset)]",
|
|
45
|
+
"ds:disabled:cursor-not-allowed ds:disabled:opacity-50"
|
|
46
46
|
].join(" "),
|
|
47
47
|
{
|
|
48
48
|
variants: {
|
|
49
49
|
size: {
|
|
50
|
-
sm: "h-8 text-[var(--font-size-sm)]",
|
|
51
|
-
md: "h-[var(--min-target-size)] text-[var(--font-size-base)]",
|
|
52
|
-
lg: "h-12 text-[var(--font-size-lg)]"
|
|
50
|
+
sm: "ds:h-8 ds:text-[var(--font-size-sm)]",
|
|
51
|
+
md: "ds:h-[var(--min-target-size)] ds:text-[var(--font-size-base)]",
|
|
52
|
+
lg: "ds:h-12 ds:text-[var(--font-size-lg)]"
|
|
53
53
|
}
|
|
54
54
|
},
|
|
55
55
|
defaultVariants: { size: "md" }
|
|
56
56
|
}
|
|
57
57
|
), Ne = ie(
|
|
58
58
|
({
|
|
59
|
-
value:
|
|
60
|
-
defaultValue:
|
|
59
|
+
value: s,
|
|
60
|
+
defaultValue: r,
|
|
61
61
|
onChange: t,
|
|
62
62
|
timezone: n,
|
|
63
63
|
showTimezone: b,
|
|
@@ -71,12 +71,12 @@ const ke = le(
|
|
|
71
71
|
className: z,
|
|
72
72
|
id: E
|
|
73
73
|
}, U) => {
|
|
74
|
-
const { t:
|
|
74
|
+
const { t: l, i18n: x } = le(), c = ce(), _ = E ?? c.id, C = c.disabled || Z, W = c.invalid ? "error" : "default", k = fe(x.language), q = A ?? l("ui.inputs.dateTimePicker.placeholder", "Select date and time"), G = l("ui.inputs.dateTimePicker.apply", "Apply"), J = l(
|
|
75
75
|
"ui.inputs.dateTimePicker.outOfRange",
|
|
76
76
|
"Date/time is out of allowed range"
|
|
77
|
-
), N = (b !== void 0 ? b : Ce(n)) ? xe(x.language, n) : "", y =
|
|
78
|
-
|
|
79
|
-
),
|
|
77
|
+
), N = (b !== void 0 ? b : Ce(n)) ? xe(x.language, n) : "", y = s !== void 0, [K, Q] = f(
|
|
78
|
+
s ?? r
|
|
79
|
+
), d = y ? s : K, [i, T] = f(d), [M, P] = f(!1), [X, L] = f(d ?? /* @__PURE__ */ new Date()), [R, g] = f(!1), V = oe(null), Y = F(
|
|
80
80
|
(e) => {
|
|
81
81
|
y || Q(e), t == null || t(e);
|
|
82
82
|
},
|
|
@@ -85,15 +85,15 @@ const ke = le(
|
|
|
85
85
|
(e) => !(o && pe(e, o) || m && ge(e, m)),
|
|
86
86
|
[o, m]
|
|
87
87
|
), ee = (e) => {
|
|
88
|
-
e && (T(
|
|
88
|
+
e && (T(d ?? /* @__PURE__ */ new Date()), L(d ?? /* @__PURE__ */ new Date()), g(!1)), P(e);
|
|
89
89
|
}, te = (e) => {
|
|
90
90
|
if (!e) return;
|
|
91
91
|
const D = i ?? /* @__PURE__ */ new Date(), u = I(H(e, D.getHours()), D.getMinutes());
|
|
92
92
|
T(u), g(!w(u));
|
|
93
|
-
},
|
|
93
|
+
}, se = (e) => {
|
|
94
94
|
const u = I(H(i ?? /* @__PURE__ */ new Date(), e.hours), e.minutes);
|
|
95
95
|
T(u), g(!w(u));
|
|
96
|
-
},
|
|
96
|
+
}, re = () => {
|
|
97
97
|
var e;
|
|
98
98
|
if (i) {
|
|
99
99
|
if (!w(i)) {
|
|
@@ -102,34 +102,34 @@ const ke = le(
|
|
|
102
102
|
}
|
|
103
103
|
Y(i), P(!1), (e = V.current) == null || e.focus();
|
|
104
104
|
}
|
|
105
|
-
}, O =
|
|
106
|
-
return /* @__PURE__ */
|
|
107
|
-
/* @__PURE__ */
|
|
105
|
+
}, O = d ? De(d, "MMM d, yyyy HH:mm", { locale: k }) : "", ae = l("ui.inputs.datePicker.gridLabel", "Calendar"), ne = l("ui.inputs.timePicker.groupLabel", "Time");
|
|
106
|
+
return /* @__PURE__ */ a(v.Root, { open: M, onOpenChange: ee, children: /* @__PURE__ */ h("div", { ref: U, className: z, children: [
|
|
107
|
+
/* @__PURE__ */ a(v.Trigger, { asChild: !0, disabled: C, children: /* @__PURE__ */ h(
|
|
108
108
|
"button",
|
|
109
109
|
{
|
|
110
110
|
ref: V,
|
|
111
111
|
id: _,
|
|
112
112
|
type: "button",
|
|
113
113
|
disabled: C,
|
|
114
|
-
"aria-describedby":
|
|
115
|
-
"aria-invalid":
|
|
114
|
+
"aria-describedby": c.describedBy || void 0,
|
|
115
|
+
"aria-invalid": c.invalid || void 0,
|
|
116
116
|
"aria-haspopup": "dialog",
|
|
117
117
|
"aria-expanded": M,
|
|
118
118
|
className: be({ size: p, tone: W }),
|
|
119
119
|
children: [
|
|
120
|
-
/* @__PURE__ */
|
|
121
|
-
/* @__PURE__ */
|
|
120
|
+
/* @__PURE__ */ a("span", { className: O ? "ds:text-foreground" : "ds:text-muted-foreground", children: O || q }),
|
|
121
|
+
/* @__PURE__ */ a("span", { "aria-hidden": "true", className: ve({ size: p }), children: /* @__PURE__ */ a(he, {}) })
|
|
122
122
|
]
|
|
123
123
|
}
|
|
124
124
|
) }),
|
|
125
|
-
/* @__PURE__ */
|
|
125
|
+
/* @__PURE__ */ a(v.Portal, { children: /* @__PURE__ */ a(
|
|
126
126
|
v.Content,
|
|
127
127
|
{
|
|
128
128
|
sideOffset: 4,
|
|
129
129
|
align: "start",
|
|
130
130
|
className: we(),
|
|
131
|
-
children: /* @__PURE__ */ h("div", { className: "flex flex-col sm:flex-row gap-[var(--spacing-md)]", children: [
|
|
132
|
-
/* @__PURE__ */
|
|
131
|
+
children: /* @__PURE__ */ h("div", { className: "ds:flex ds:flex-col ds:sm:flex-row ds:gap-[var(--spacing-md)]", children: [
|
|
132
|
+
/* @__PURE__ */ a("div", { role: "region", "aria-label": ae, children: /* @__PURE__ */ a(
|
|
133
133
|
ye,
|
|
134
134
|
{
|
|
135
135
|
mode: "single",
|
|
@@ -149,38 +149,38 @@ const ke = le(
|
|
|
149
149
|
{
|
|
150
150
|
role: "region",
|
|
151
151
|
"aria-label": ne,
|
|
152
|
-
className: "flex flex-col gap-[var(--spacing-md)] sm:border-s sm:border-border sm:ps-[var(--spacing-md)] min-w-[10rem]",
|
|
152
|
+
className: "ds:flex ds:flex-col ds:gap-[var(--spacing-md)] ds:sm:border-s ds:sm:border-border ds:sm:ps-[var(--spacing-md)] ds:min-w-[10rem]",
|
|
153
153
|
children: [
|
|
154
|
-
/* @__PURE__ */
|
|
154
|
+
/* @__PURE__ */ a(
|
|
155
155
|
ue,
|
|
156
156
|
{
|
|
157
157
|
value: i ? { hours: i.getHours(), minutes: i.getMinutes() } : { hours: 0, minutes: 0 },
|
|
158
|
-
onChange:
|
|
158
|
+
onChange: se,
|
|
159
159
|
hour12: B,
|
|
160
160
|
minuteStep: S,
|
|
161
161
|
size: p
|
|
162
162
|
}
|
|
163
163
|
),
|
|
164
|
-
N ? /* @__PURE__ */
|
|
164
|
+
N ? /* @__PURE__ */ a(
|
|
165
165
|
"span",
|
|
166
166
|
{
|
|
167
|
-
className: "type-meta text-muted-foreground",
|
|
167
|
+
className: "type-meta ds:text-muted-foreground",
|
|
168
168
|
children: N
|
|
169
169
|
}
|
|
170
170
|
) : null,
|
|
171
|
-
R ? /* @__PURE__ */
|
|
171
|
+
R ? /* @__PURE__ */ a(
|
|
172
172
|
"span",
|
|
173
173
|
{
|
|
174
174
|
role: "alert",
|
|
175
|
-
className: "type-meta text-destructive",
|
|
175
|
+
className: "type-meta ds:text-destructive",
|
|
176
176
|
children: J
|
|
177
177
|
}
|
|
178
178
|
) : null,
|
|
179
|
-
/* @__PURE__ */
|
|
179
|
+
/* @__PURE__ */ a(
|
|
180
180
|
"button",
|
|
181
181
|
{
|
|
182
182
|
type: "button",
|
|
183
|
-
onClick:
|
|
183
|
+
onClick: re,
|
|
184
184
|
disabled: !i || R,
|
|
185
185
|
className: ke({ size: p }),
|
|
186
186
|
children: G
|
|
@@ -199,4 +199,4 @@ Ne.displayName = "DateTimePicker";
|
|
|
199
199
|
export {
|
|
200
200
|
Ne as D
|
|
201
201
|
};
|
|
202
|
-
//# sourceMappingURL=date-time-picker-
|
|
202
|
+
//# sourceMappingURL=date-time-picker-Bn3FPeAc.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"date-time-picker-Bn3FPeAc.js","sources":["../../node_modules/date-fns/setHours.js","../../node_modules/date-fns/setMinutes.js","../../src/components/date-time-picker/date-time-picker.tsx"],"sourcesContent":["import { toDate } from \"./toDate.js\";\n\n/**\n * The {@link setHours} function options.\n */\n\n/**\n * @name setHours\n * @category Hour Helpers\n * @summary Set the hours to the given date.\n *\n * @description\n * Set the hours to the given date.\n *\n * @typeParam DateType - The `Date` type, the function operates on. Gets inferred from passed arguments. Allows to use extensions like [`UTCDate`](https://github.com/date-fns/utc).\n * @typeParam ResultDate - The result `Date` type, it is the type returned from the context function if it is passed, or inferred from the arguments.\n *\n * @param date - The date to be changed\n * @param hours - The hours of the new date\n * @param options - An object with options\n *\n * @returns The new date with the hours set\n *\n * @example\n * // Set 4 hours to 1 September 2014 11:30:00:\n * const result = setHours(new Date(2014, 8, 1, 11, 30), 4)\n * //=> Mon Sep 01 2014 04:30:00\n */\nexport function setHours(date, hours, options) {\n const _date = toDate(date, options?.in);\n _date.setHours(hours);\n return _date;\n}\n\n// Fallback for modularized imports:\nexport default setHours;\n","import { toDate } from \"./toDate.js\";\n\n/**\n * The {@link setMinutes} function options.\n */\n\n/**\n * @name setMinutes\n * @category Minute Helpers\n * @summary Set the minutes to the given date.\n *\n * @description\n * Set the minutes to the given date.\n *\n * @typeParam DateType - The `Date` type, the function operates on. Gets inferred from passed arguments. Allows using extensions like [`UTCDate`](https://github.com/date-fns/utc).\n * @typeParam ResultDate - The result `Date` type, returned from the context function, or inferred from the arguments.\n *\n * @param date - The date to be changed\n * @param minutes - The minutes of the new date\n * @param options - An object with options\n *\n * @returns The new date with the minutes set\n *\n * @example\n * // Set 45 minutes to 1 September 2014 11:30:40:\n * const result = setMinutes(new Date(2014, 8, 1, 11, 30, 40), 45)\n * //=> Mon Sep 01 2014 11:45:40\n */\nexport function setMinutes(date, minutes, options) {\n const date_ = toDate(date, options?.in);\n date_.setMinutes(minutes);\n return date_;\n}\n\n// Fallback for modularized imports:\nexport default setMinutes;\n","import {\n forwardRef,\n useCallback,\n useRef,\n useState,\n} from 'react';\nimport { cva, type VariantProps } from 'class-variance-authority';\nimport { useTranslation } from 'react-i18next';\nimport * as Popover from '@radix-ui/react-popover';\nimport { DayPicker } from 'react-day-picker';\nimport {\n format as fnsFormat,\n isBefore,\n isAfter,\n setHours,\n setMinutes,\n} from 'date-fns';\nimport { Calendar } from 'lucide-react';\nimport { useFormField } from '../form-field/form-field-context';\nimport {\n getDateFnsLocale,\n buildDisabledMatcher,\n CalendarChevron,\n triggerVariants,\n calendarIconVariants,\n popoverContentVariants,\n} from '../_shared';\nimport { TimePicker } from '../time-picker/time-picker';\nimport type { TimeValue } from '../_shared/time';\nimport '../../tokens/themes/bridges/react-day-picker.css';\n\n/* -------------------------------------------------------------------------- */\n/* Helpers */\n/* -------------------------------------------------------------------------- */\n\n/** Get timezone short name. */\nfunction getTimezoneLabel(locale: string, timezone?: string): string {\n try {\n const opts: Intl.DateTimeFormatOptions = { timeZoneName: 'short' };\n if (timezone && timezone !== 'local') {\n opts.timeZone = timezone === 'utc' ? 'UTC' : timezone;\n }\n const parts = new Intl.DateTimeFormat(locale, opts).formatToParts(new Date());\n return parts.find((p) => p.type === 'timeZoneName')?.value ?? '';\n } catch {\n return '';\n }\n}\n\n/** Check if a timezone differs from the browser's. */\nfunction tzDiffersFromBrowser(timezone?: string): boolean {\n if (!timezone || timezone === 'local') return false;\n try {\n const browserTz = Intl.DateTimeFormat().resolvedOptions().timeZone;\n if (timezone === 'utc') return browserTz !== 'UTC';\n return browserTz !== timezone;\n } catch {\n return false;\n }\n}\n\n/* -------------------------------------------------------------------------- */\n/* CVA variants */\n/* -------------------------------------------------------------------------- */\n\nconst applyButtonVariants = cva(\n [\n 'ds:w-full ds:rounded-[var(--radius-sm)]',\n 'ds:bg-primary ds:text-primary-foreground',\n 'ds:hover:bg-primary-hover ds:cursor-pointer',\n 'ds:transition-colors ds:duration-[var(--animation-duration)] ds:motion-reduce:transition-none',\n 'ds:focus-visible:outline-[length:var(--focus-ring-width)] ds:focus-visible:outline-solid',\n 'ds:focus-visible:outline-ring ds:focus-visible:outline-offset-[length:var(--focus-ring-offset)]',\n 'ds:disabled:cursor-not-allowed ds:disabled:opacity-50',\n ].join(' '),\n {\n variants: {\n size: {\n sm: 'ds:h-8 ds:text-[var(--font-size-sm)]',\n md: 'ds:h-[var(--min-target-size)] ds:text-[var(--font-size-base)]',\n lg: 'ds:h-12 ds:text-[var(--font-size-lg)]',\n },\n },\n defaultVariants: { size: 'md' },\n },\n);\n\n/* -------------------------------------------------------------------------- */\n/* Props */\n/* -------------------------------------------------------------------------- */\n\nexport interface DateTimePickerProps\n extends Pick<VariantProps<typeof triggerVariants>, 'size'> {\n /** Current datetime — controlled. */\n value?: Date;\n /** Default datetime — uncontrolled. */\n defaultValue?: Date;\n /** Called when the datetime changes. */\n onChange?: (date: Date | undefined) => void;\n /** Timezone — IANA string, 'local', or 'utc'. */\n timezone?: string;\n /** Show timezone annotation. Defaults to true when tz differs from browser. */\n showTimezone?: boolean;\n /** Minimum datetime. */\n minDate?: Date;\n /** Maximum datetime. */\n maxDate?: Date;\n /** Force 12h/24h mode. */\n hour12?: boolean;\n /** Minute step for TimePicker. */\n minuteStep?: 1 | 5 | 10 | 15 | 30;\n /** Component size. */\n size?: 'sm' | 'md' | 'lg';\n /** Disabled state. */\n disabled?: boolean;\n /** Placeholder text. */\n placeholder?: string;\n /** Additional class names. */\n className?: string;\n /** id override. */\n id?: string;\n}\n\n/* -------------------------------------------------------------------------- */\n/* Component */\n/* -------------------------------------------------------------------------- */\n\nexport const DateTimePicker = forwardRef<HTMLDivElement, DateTimePickerProps>(\n (\n {\n value,\n defaultValue,\n onChange,\n timezone,\n showTimezone: showTimezoneProp,\n minDate,\n maxDate,\n hour12,\n minuteStep = 1,\n size = 'md',\n disabled,\n placeholder,\n className,\n id,\n },\n ref,\n ) => {\n const { t, i18n } = useTranslation();\n const ctx = useFormField();\n const effectiveId = id ?? ctx.id;\n const effectiveDisabled = ctx.disabled || disabled;\n const effectiveTone = ctx.invalid ? 'error' : 'default';\n\n const locale = getDateFnsLocale(i18n.language);\n const placeholderText =\n placeholder ?? t('ui.inputs.dateTimePicker.placeholder', 'Select date and time');\n const applyLabel = t('ui.inputs.dateTimePicker.apply', 'Apply');\n const outOfRangeLabel = t(\n 'ui.inputs.dateTimePicker.outOfRange',\n 'Date/time is out of allowed range',\n );\n\n const showTimezone =\n showTimezoneProp !== undefined ? showTimezoneProp : tzDiffersFromBrowser(timezone);\n const timezoneLabel = showTimezone\n ? getTimezoneLabel(i18n.language, timezone)\n : '';\n\n const isControlled = value !== undefined;\n const [internalValue, setInternalValue] = useState<Date | undefined>(\n value ?? defaultValue,\n );\n const currentValue = isControlled ? value : internalValue;\n\n // Draft state while popover is open\n const [draftDate, setDraftDate] = useState<Date | undefined>(currentValue);\n const [open, setOpen] = useState(false);\n const [month, setMonth] = useState<Date>(currentValue ?? new Date());\n const [rangeError, setRangeError] = useState(false);\n\n const triggerRef = useRef<HTMLButtonElement>(null);\n\n const emit = useCallback(\n (date: Date | undefined) => {\n if (!isControlled) setInternalValue(date);\n onChange?.(date);\n },\n [isControlled, onChange],\n );\n\n const disabledMatcher = buildDisabledMatcher(minDate, maxDate);\n\n /** Check if a full datetime is within range. */\n const isInRange = useCallback(\n (date: Date): boolean => {\n if (minDate && isBefore(date, minDate)) return false;\n if (maxDate && isAfter(date, maxDate)) return false;\n return true;\n },\n [minDate, maxDate],\n );\n\n // Sync draft when popover opens\n const handleOpenChange = (nextOpen: boolean) => {\n if (nextOpen) {\n setDraftDate(currentValue ?? new Date());\n setMonth(currentValue ?? new Date());\n setRangeError(false);\n }\n setOpen(nextOpen);\n };\n\n const handleDaySelect = (date: Date | undefined) => {\n if (!date) return;\n const prev = draftDate ?? new Date();\n const merged = setMinutes(setHours(date, prev.getHours()), prev.getMinutes());\n setDraftDate(merged);\n setRangeError(!isInRange(merged));\n };\n\n const handleTimeChange = (time: TimeValue) => {\n const prev = draftDate ?? new Date();\n const merged = setMinutes(setHours(prev, time.hours), time.minutes);\n setDraftDate(merged);\n setRangeError(!isInRange(merged));\n };\n\n const handleApply = () => {\n if (!draftDate) return;\n if (!isInRange(draftDate)) {\n setRangeError(true);\n return;\n }\n emit(draftDate);\n setOpen(false);\n triggerRef.current?.focus();\n };\n\n // Format display text\n const displayText = currentValue\n ? fnsFormat(currentValue, 'MMM d, yyyy HH:mm', { locale })\n : '';\n\n const calendarLabel = t('ui.inputs.datePicker.gridLabel', 'Calendar');\n const timeLabel = t('ui.inputs.timePicker.groupLabel', 'Time');\n\n return (\n <Popover.Root open={open} onOpenChange={handleOpenChange}>\n <div ref={ref} className={className}>\n <Popover.Trigger asChild disabled={effectiveDisabled}>\n <button\n ref={triggerRef}\n id={effectiveId}\n type=\"button\"\n disabled={effectiveDisabled}\n aria-describedby={ctx.describedBy || undefined}\n aria-invalid={ctx.invalid || undefined}\n // `aria-required` is not valid on `<button>` per ARIA 1.2 — the\n // FormField label's visible asterisk + `aria-describedby` link\n // communicate the required state instead.\n aria-haspopup=\"dialog\"\n aria-expanded={open}\n className={triggerVariants({ size, tone: effectiveTone })}\n >\n <span className={displayText ? 'ds:text-foreground' : 'ds:text-muted-foreground'}>\n {displayText || placeholderText}\n </span>\n <span aria-hidden=\"true\" className={calendarIconVariants({ size })}>\n <Calendar />\n </span>\n </button>\n </Popover.Trigger>\n\n <Popover.Portal>\n <Popover.Content\n sideOffset={4}\n align=\"start\"\n className={popoverContentVariants()}\n >\n <div className=\"ds:flex ds:flex-col ds:sm:flex-row ds:gap-[var(--spacing-md)]\">\n {/* Calendar region */}\n <div role=\"region\" aria-label={calendarLabel}>\n <DayPicker\n mode=\"single\"\n selected={draftDate}\n onSelect={handleDaySelect}\n month={month}\n onMonthChange={setMonth}\n disabled={disabledMatcher}\n locale={locale}\n showOutsideDays\n fixedWeeks\n components={{ Chevron: CalendarChevron }}\n />\n </div>\n\n {/* Time + Apply region */}\n <div\n role=\"region\"\n aria-label={timeLabel}\n className=\"ds:flex ds:flex-col ds:gap-[var(--spacing-md)] ds:sm:border-s ds:sm:border-border ds:sm:ps-[var(--spacing-md)] ds:min-w-[10rem]\"\n >\n <TimePicker\n value={\n draftDate\n ? { hours: draftDate.getHours(), minutes: draftDate.getMinutes() }\n : { hours: 0, minutes: 0 }\n }\n onChange={handleTimeChange}\n hour12={hour12}\n minuteStep={minuteStep}\n size={size}\n />\n\n {/* Timezone annotation */}\n {timezoneLabel ? (\n <span\n className=\"type-meta ds:text-muted-foreground\"\n >\n {timezoneLabel}\n </span>\n ) : null}\n\n {/* Range error */}\n {rangeError ? (\n <span\n role=\"alert\"\n className=\"type-meta ds:text-destructive\"\n >\n {outOfRangeLabel}\n </span>\n ) : null}\n\n {/* Apply button */}\n <button\n type=\"button\"\n onClick={handleApply}\n disabled={!draftDate || rangeError}\n className={applyButtonVariants({ size })}\n >\n {applyLabel}\n </button>\n </div>\n </div>\n </Popover.Content>\n </Popover.Portal>\n </div>\n </Popover.Root>\n );\n },\n);\n\nDateTimePicker.displayName = 'DateTimePicker';\n"],"names":["setHours","date","hours","options","_date","toDate","setMinutes","minutes","date_","getTimezoneLabel","locale","timezone","opts","_a","p","tzDiffersFromBrowser","browserTz","applyButtonVariants","cva","DateTimePicker","forwardRef","value","defaultValue","onChange","showTimezoneProp","minDate","maxDate","hour12","minuteStep","size","disabled","placeholder","className","id","ref","t","i18n","useTranslation","ctx","useFormField","effectiveId","effectiveDisabled","effectiveTone","getDateFnsLocale","placeholderText","applyLabel","outOfRangeLabel","timezoneLabel","isControlled","internalValue","setInternalValue","useState","currentValue","draftDate","setDraftDate","open","setOpen","month","setMonth","rangeError","setRangeError","triggerRef","useRef","emit","useCallback","disabledMatcher","buildDisabledMatcher","isInRange","isBefore","isAfter","handleOpenChange","nextOpen","handleDaySelect","prev","merged","handleTimeChange","time","handleApply","displayText","fnsFormat","calendarLabel","timeLabel","jsx","Popover","jsxs","triggerVariants","calendarIconVariants","Calendar","popoverContentVariants","DayPicker","CalendarChevron","TimePicker"],"mappings":";;;;;;;;;;AA4BO,SAASA,EAASC,GAAMC,GAAOC,GAAS;AAC7C,QAAMC,IAAQC,EAAOJ,GAAME,KAAA,gBAAAA,EAAS,EAAE;AACtC,SAAAC,EAAM,SAASF,CAAK,GACbE;AACT;ACJO,SAASE,EAAWL,GAAMM,GAASJ,GAAS;AACjD,QAAMK,IAAQH,EAAOJ,GAAME,KAAA,gBAAAA,EAAS,EAAE;AACtC,SAAAK,EAAM,WAAWD,CAAO,GACjBC;AACT;ACIA,SAASC,GAAiBC,GAAgBC,GAA2B;;AACnE,MAAI;AACF,UAAMC,IAAmC,EAAE,cAAc,QAAA;AACzD,WAAID,KAAYA,MAAa,YAC3BC,EAAK,WAAWD,MAAa,QAAQ,QAAQA,MAGxCE,IADO,IAAI,KAAK,eAAeH,GAAQE,CAAI,EAAE,cAAc,oBAAI,MAAM,EAC/D,KAAK,CAACE,MAAMA,EAAE,SAAS,cAAc,MAA3C,gBAAAD,EAA8C,UAAS;AAAA,EAChE,QAAQ;AACN,WAAO;AAAA,EACT;AACF;AAGA,SAASE,GAAqBJ,GAA4B;AACxD,MAAI,CAACA,KAAYA,MAAa,QAAS,QAAO;AAC9C,MAAI;AACF,UAAMK,IAAY,KAAK,eAAA,EAAiB,kBAAkB;AAC1D,WAAIL,MAAa,QAAcK,MAAc,QACtCA,MAAcL;AAAA,EACvB,QAAQ;AACN,WAAO;AAAA,EACT;AACF;AAMA,MAAMM,KAAsBC;AAAA,EAC1B;AAAA,IACE;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EAAA,EACA,KAAK,GAAG;AAAA,EACV;AAAA,IACE,UAAU;AAAA,MACR,MAAM;AAAA,QACJ,IAAI;AAAA,QACJ,IAAI;AAAA,QACJ,IAAI;AAAA,MAAA;AAAA,IACN;AAAA,IAEF,iBAAiB,EAAE,MAAM,KAAA;AAAA,EAAK;AAElC,GA0CaC,KAAiBC;AAAA,EAC5B,CACE;AAAA,IACE,OAAAC;AAAA,IACA,cAAAC;AAAA,IACA,UAAAC;AAAA,IACA,UAAAZ;AAAA,IACA,cAAca;AAAA,IACd,SAAAC;AAAA,IACA,SAAAC;AAAA,IACA,QAAAC;AAAA,IACA,YAAAC,IAAa;AAAA,IACb,MAAAC,IAAO;AAAA,IACP,UAAAC;AAAA,IACA,aAAAC;AAAA,IACA,WAAAC;AAAA,IACA,IAAAC;AAAA,EAAA,GAEFC,MACG;AACH,UAAM,EAAE,GAAAC,GAAG,MAAAC,EAAA,IAASC,GAAA,GACdC,IAAMC,GAAA,GACNC,IAAcP,KAAMK,EAAI,IACxBG,IAAoBH,EAAI,YAAYR,GACpCY,IAAgBJ,EAAI,UAAU,UAAU,WAExC5B,IAASiC,GAAiBP,EAAK,QAAQ,GACvCQ,IACJb,KAAeI,EAAE,wCAAwC,sBAAsB,GAC3EU,IAAaV,EAAE,kCAAkC,OAAO,GACxDW,IAAkBX;AAAA,MACtB;AAAA,MACA;AAAA,IAAA,GAKIY,KADJvB,MAAqB,SAAYA,IAAmBT,GAAqBJ,CAAQ,KAE/EF,GAAiB2B,EAAK,UAAUzB,CAAQ,IACxC,IAEEqC,IAAe3B,MAAU,QACzB,CAAC4B,GAAeC,CAAgB,IAAIC;AAAA,MACxC9B,KAASC;AAAA,IAAA,GAEL8B,IAAeJ,IAAe3B,IAAQ4B,GAGtC,CAACI,GAAWC,CAAY,IAAIH,EAA2BC,CAAY,GACnE,CAACG,GAAMC,CAAO,IAAIL,EAAS,EAAK,GAChC,CAACM,GAAOC,CAAQ,IAAIP,EAAeC,KAAgB,oBAAI,MAAM,GAC7D,CAACO,GAAYC,CAAa,IAAIT,EAAS,EAAK,GAE5CU,IAAaC,GAA0B,IAAI,GAE3CC,IAAOC;AAAA,MACX,CAAC/D,MAA2B;AAC1B,QAAK+C,KAAcE,EAAiBjD,CAAI,GACxCsB,KAAA,QAAAA,EAAWtB;AAAA,MACb;AAAA,MACA,CAAC+C,GAAczB,CAAQ;AAAA,IAAA,GAGnB0C,IAAkBC,GAAqBzC,GAASC,CAAO,GAGvDyC,IAAYH;AAAA,MAChB,CAAC/D,MACK,EAAAwB,KAAW2C,GAASnE,GAAMwB,CAAO,KACjCC,KAAW2C,GAAQpE,GAAMyB,CAAO;AAAA,MAGtC,CAACD,GAASC,CAAO;AAAA,IAAA,GAIb4C,KAAmB,CAACC,MAAsB;AAC9C,MAAIA,MACFjB,EAAaF,KAAgB,oBAAI,MAAM,GACvCM,EAASN,KAAgB,oBAAI,MAAM,GACnCQ,EAAc,EAAK,IAErBJ,EAAQe,CAAQ;AAAA,IAClB,GAEMC,KAAkB,CAACvE,MAA2B;AAClD,UAAI,CAACA,EAAM;AACX,YAAMwE,IAAOpB,KAAa,oBAAI,KAAA,GACxBqB,IAASpE,EAAWN,EAASC,GAAMwE,EAAK,UAAU,GAAGA,EAAK,YAAY;AAC5E,MAAAnB,EAAaoB,CAAM,GACnBd,EAAc,CAACO,EAAUO,CAAM,CAAC;AAAA,IAClC,GAEMC,KAAmB,CAACC,MAAoB;AAE5C,YAAMF,IAASpE,EAAWN,EADbqD,KAAa,oBAAI,KAAA,GACWuB,EAAK,KAAK,GAAGA,EAAK,OAAO;AAClE,MAAAtB,EAAaoB,CAAM,GACnBd,EAAc,CAACO,EAAUO,CAAM,CAAC;AAAA,IAClC,GAEMG,KAAc,MAAM;;AACxB,UAAKxB,GACL;AAAA,YAAI,CAACc,EAAUd,CAAS,GAAG;AACzB,UAAAO,EAAc,EAAI;AAClB;AAAA,QACF;AACA,QAAAG,EAAKV,CAAS,GACdG,EAAQ,EAAK,IACb3C,IAAAgD,EAAW,YAAX,QAAAhD,EAAoB;AAAA;AAAA,IACtB,GAGMiE,IAAc1B,IAChB2B,GAAU3B,GAAc,qBAAqB,EAAE,QAAA1C,EAAA,CAAQ,IACvD,IAEEsE,KAAgB7C,EAAE,kCAAkC,UAAU,GAC9D8C,KAAY9C,EAAE,mCAAmC,MAAM;AAE7D,WACE,gBAAA+C,EAACC,EAAQ,MAAR,EAAa,MAAA5B,GAAY,cAAce,IACtC,UAAA,gBAAAc,EAAC,OAAA,EAAI,KAAAlD,GAAU,WAAAF,GACb,UAAA;AAAA,MAAA,gBAAAkD,EAACC,EAAQ,SAAR,EAAgB,SAAO,IAAC,UAAU1C,GACjC,UAAA,gBAAA2C;AAAA,QAAC;AAAA,QAAA;AAAA,UACC,KAAKvB;AAAA,UACL,IAAIrB;AAAA,UACJ,MAAK;AAAA,UACL,UAAUC;AAAA,UACV,oBAAkBH,EAAI,eAAe;AAAA,UACrC,gBAAcA,EAAI,WAAW;AAAA,UAI7B,iBAAc;AAAA,UACd,iBAAeiB;AAAA,UACf,WAAW8B,GAAgB,EAAE,MAAAxD,GAAM,MAAMa,GAAe;AAAA,UAExD,UAAA;AAAA,YAAA,gBAAAwC,EAAC,UAAK,WAAWJ,IAAc,uBAAuB,4BACnD,eAAelC,GAClB;AAAA,YACA,gBAAAsC,EAAC,QAAA,EAAK,eAAY,QAAO,WAAWI,GAAqB,EAAE,MAAAzD,EAAA,CAAM,GAC/D,UAAA,gBAAAqD,EAACK,IAAA,CAAA,CAAS,EAAA,CACZ;AAAA,UAAA;AAAA,QAAA;AAAA,MAAA,GAEJ;AAAA,MAEA,gBAAAL,EAACC,EAAQ,QAAR,EACC,UAAA,gBAAAD;AAAA,QAACC,EAAQ;AAAA,QAAR;AAAA,UACC,YAAY;AAAA,UACZ,OAAM;AAAA,UACN,WAAWK,GAAA;AAAA,UAEX,UAAA,gBAAAJ,EAAC,OAAA,EAAI,WAAU,iEAEb,UAAA;AAAA,YAAA,gBAAAF,EAAC,OAAA,EAAI,MAAK,UAAS,cAAYF,IAC7B,UAAA,gBAAAE;AAAA,cAACO;AAAA,cAAA;AAAA,gBACC,MAAK;AAAA,gBACL,UAAUpC;AAAA,gBACV,UAAUmB;AAAA,gBACV,OAAAf;AAAA,gBACA,eAAeC;AAAA,gBACf,UAAUO;AAAA,gBACV,QAAAvD;AAAA,gBACA,iBAAe;AAAA,gBACf,YAAU;AAAA,gBACV,YAAY,EAAE,SAASgF,GAAA;AAAA,cAAgB;AAAA,YAAA,GAE3C;AAAA,YAGA,gBAAAN;AAAA,cAAC;AAAA,cAAA;AAAA,gBACC,MAAK;AAAA,gBACL,cAAYH;AAAA,gBACZ,WAAU;AAAA,gBAEV,UAAA;AAAA,kBAAA,gBAAAC;AAAA,oBAACS;AAAA,oBAAA;AAAA,sBACC,OACEtC,IACI,EAAE,OAAOA,EAAU,YAAY,SAASA,EAAU,WAAA,MAClD,EAAE,OAAO,GAAG,SAAS,EAAA;AAAA,sBAE3B,UAAUsB;AAAA,sBACV,QAAAhD;AAAA,sBACA,YAAAC;AAAA,sBACA,MAAAC;AAAA,oBAAA;AAAA,kBAAA;AAAA,kBAIDkB,IACC,gBAAAmC;AAAA,oBAAC;AAAA,oBAAA;AAAA,sBACC,WAAU;AAAA,sBAET,UAAAnC;AAAA,oBAAA;AAAA,kBAAA,IAED;AAAA,kBAGHY,IACC,gBAAAuB;AAAA,oBAAC;AAAA,oBAAA;AAAA,sBACC,MAAK;AAAA,sBACL,WAAU;AAAA,sBAET,UAAApC;AAAA,oBAAA;AAAA,kBAAA,IAED;AAAA,kBAGJ,gBAAAoC;AAAA,oBAAC;AAAA,oBAAA;AAAA,sBACC,MAAK;AAAA,sBACL,SAASL;AAAA,sBACT,UAAU,CAACxB,KAAaM;AAAA,sBACxB,WAAW1C,GAAoB,EAAE,MAAAY,GAAM;AAAA,sBAEtC,UAAAgB;AAAA,oBAAA;AAAA,kBAAA;AAAA,gBACH;AAAA,cAAA;AAAA,YAAA;AAAA,UACF,EAAA,CACF;AAAA,QAAA;AAAA,MAAA,EACF,CACF;AAAA,IAAA,EAAA,CACF,EAAA,CACF;AAAA,EAEJ;AACF;AAEA1B,GAAe,cAAc;","x_google_ignoreList":[0,1]}
|