erp-pro-ui 0.2.6 → 0.2.7
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/accordion.cjs +1 -1
- package/dist/accordion.mjs +1 -1
- package/dist/alert.cjs +1 -1
- package/dist/alert.mjs +1 -1
- package/dist/animated-content.cjs +1 -1
- package/dist/animated-content.mjs +1 -1
- package/dist/ascii-text.cjs +1 -1
- package/dist/ascii-text.mjs +1 -1
- package/dist/background-gradient-animation.cjs +1 -1
- package/dist/background-gradient-animation.mjs +1 -1
- package/dist/button-hover-border-gradient.cjs +1 -1
- package/dist/button-hover-border-gradient.mjs +1 -1
- package/dist/button.cjs +1 -1
- package/dist/button.mjs +1 -1
- package/dist/calendar.cjs +1 -1
- package/dist/calendar.mjs +1 -1
- package/dist/card.cjs +1 -1
- package/dist/card.mjs +1 -1
- package/dist/carousel.cjs +1 -1
- package/dist/carousel.mjs +1 -1
- package/dist/catalog.cjs +7 -0
- package/dist/catalog.cjs.map +1 -1
- package/dist/catalog.d.ts +13 -1
- package/dist/catalog.d.ts.map +1 -1
- package/dist/catalog.mjs +7 -0
- package/dist/catalog.mjs.map +1 -1
- package/dist/charts.cjs +1 -1
- package/dist/charts.mjs +1 -1
- package/dist/checkbox.cjs +1 -1
- package/dist/checkbox.mjs +1 -1
- package/dist/chip.cjs +1 -1
- package/dist/chip.mjs +1 -1
- package/dist/chroma-grid.cjs +1 -1
- package/dist/chroma-grid.mjs +1 -1
- package/dist/chunks/{Drawer-Y0_sJni5.mjs → Drawer-BhTTQV8Q.mjs} +2 -2
- package/dist/chunks/{Drawer-Y0_sJni5.mjs.map → Drawer-BhTTQV8Q.mjs.map} +1 -1
- package/dist/chunks/{Drawer-D72Xi2Gq.cjs → Drawer-C_DLqrus.cjs} +2 -3
- package/dist/chunks/{Drawer-D72Xi2Gq.cjs.map → Drawer-C_DLqrus.cjs.map} +1 -1
- package/dist/chunks/{DropdownMenu-BQ4WlaGp.mjs → DropdownMenu-B18BI5l7.mjs} +2 -2
- package/dist/chunks/{DropdownMenu-BQ4WlaGp.mjs.map → DropdownMenu-B18BI5l7.mjs.map} +1 -1
- package/dist/chunks/{DropdownMenu-yh04burS.cjs → DropdownMenu-CEmlmX7P.cjs} +2 -3
- package/dist/chunks/{DropdownMenu-yh04burS.cjs.map → DropdownMenu-CEmlmX7P.cjs.map} +1 -1
- package/dist/chunks/{HoverBorderGradient-DEtm3owk.mjs → HoverBorderGradient-CGKcviEd.mjs} +2 -2
- package/dist/chunks/{HoverBorderGradient-DEtm3owk.mjs.map → HoverBorderGradient-CGKcviEd.mjs.map} +1 -1
- package/dist/chunks/{HoverBorderGradient-DMMyr2L3.cjs → HoverBorderGradient-DTKasFZO.cjs} +2 -3
- package/dist/chunks/{HoverBorderGradient-DMMyr2L3.cjs.map → HoverBorderGradient-DTKasFZO.cjs.map} +1 -1
- package/dist/chunks/{SunToMoonButton-BOKHzC1H.mjs → SunToMoonButton-DIMK53fW.mjs} +2 -2
- package/dist/chunks/{SunToMoonButton-BOKHzC1H.mjs.map → SunToMoonButton-DIMK53fW.mjs.map} +1 -1
- package/dist/chunks/{SunToMoonButton-gX4Kk_5B.cjs → SunToMoonButton-DUuIqw22.cjs} +2 -3
- package/dist/chunks/{SunToMoonButton-gX4Kk_5B.cjs.map → SunToMoonButton-DUuIqw22.cjs.map} +1 -1
- package/dist/chunks/{Tooltip-nnaiqJTT.cjs → Tooltip-1yPGRJ2Q.cjs} +1 -2
- package/dist/chunks/{Tooltip-nnaiqJTT.cjs.map → Tooltip-1yPGRJ2Q.cjs.map} +1 -1
- package/dist/chunks/{Tooltip-LbOKP__2.mjs → Tooltip-CEj-I4JO.mjs} +1 -1
- package/dist/chunks/{Tooltip-LbOKP__2.mjs.map → Tooltip-CEj-I4JO.mjs.map} +1 -1
- package/dist/chunks/{accordion-CLcjNX_X.mjs → accordion-Cf-Q3rec.mjs} +2 -2
- package/dist/chunks/{accordion-CLcjNX_X.mjs.map → accordion-Cf-Q3rec.mjs.map} +1 -1
- package/dist/chunks/{accordion-Bj3Sj0mC.cjs → accordion-X4PNqWkW.cjs} +2 -3
- package/dist/chunks/{accordion-Bj3Sj0mC.cjs.map → accordion-X4PNqWkW.cjs.map} +1 -1
- package/dist/chunks/{alert-BBA4Sh4e.cjs → alert-BEMULPIi.cjs} +2 -3
- package/dist/chunks/{alert-BBA4Sh4e.cjs.map → alert-BEMULPIi.cjs.map} +1 -1
- package/dist/chunks/{alert-oUz79MGc.mjs → alert-GImBqaCY.mjs} +2 -2
- package/dist/chunks/{alert-oUz79MGc.mjs.map → alert-GImBqaCY.mjs.map} +1 -1
- package/dist/chunks/{animated-content-CiNJLgbq.mjs → animated-content-Bp-Yt0_7.mjs} +1 -1
- package/dist/chunks/{animated-content-CiNJLgbq.mjs.map → animated-content-Bp-Yt0_7.mjs.map} +1 -1
- package/dist/chunks/{animated-content-B3wbiWQI.cjs → animated-content-tSHXDZq2.cjs} +1 -2
- package/dist/chunks/{animated-content-B3wbiWQI.cjs.map → animated-content-tSHXDZq2.cjs.map} +1 -1
- package/dist/chunks/{ascii-text-KwVE41Hw.cjs → ascii-text-Ctua6ucZ.cjs} +2 -2
- package/dist/chunks/{ascii-text-KwVE41Hw.cjs.map → ascii-text-Ctua6ucZ.cjs.map} +1 -1
- package/dist/chunks/{ascii-text-C6JegLhP.mjs → ascii-text-QyP7JU7g.mjs} +1 -1
- package/dist/chunks/{ascii-text-C6JegLhP.mjs.map → ascii-text-QyP7JU7g.mjs.map} +1 -1
- package/dist/chunks/{background-gradient-animation-CTc2ZR74.mjs → background-gradient-animation-CZUD_aq2.mjs} +2 -2
- package/dist/chunks/{background-gradient-animation-CTc2ZR74.mjs.map → background-gradient-animation-CZUD_aq2.mjs.map} +1 -1
- package/dist/chunks/{background-gradient-animation-1LZY3DYT.cjs → background-gradient-animation-PvM0i88k.cjs} +2 -3
- package/dist/chunks/{background-gradient-animation-1LZY3DYT.cjs.map → background-gradient-animation-PvM0i88k.cjs.map} +1 -1
- package/dist/chunks/{button-IDShmQqA.mjs → button-CAU9ej3h.mjs} +2 -2
- package/dist/chunks/{button-IDShmQqA.mjs.map → button-CAU9ej3h.mjs.map} +1 -1
- package/dist/chunks/{button-uD87K76W.cjs → button-D2ZYmVda.cjs} +2 -3
- package/dist/chunks/{button-uD87K76W.cjs.map → button-D2ZYmVda.cjs.map} +1 -1
- package/dist/chunks/{button-hover-border-gradient-DGZqd8je.cjs → button-hover-border-gradient-D12Zjmd3.cjs} +2 -3
- package/dist/chunks/{button-hover-border-gradient-DGZqd8je.cjs.map → button-hover-border-gradient-D12Zjmd3.cjs.map} +1 -1
- package/dist/chunks/{button-hover-border-gradient-B2ebbDek.mjs → button-hover-border-gradient-VNEg4V0o.mjs} +2 -2
- package/dist/chunks/{button-hover-border-gradient-B2ebbDek.mjs.map → button-hover-border-gradient-VNEg4V0o.mjs.map} +1 -1
- package/dist/chunks/calendar-BlUhssD4.mjs +203 -0
- package/dist/chunks/calendar-BlUhssD4.mjs.map +1 -0
- package/dist/chunks/calendar-CdKKhdx5.cjs +208 -0
- package/dist/chunks/calendar-CdKKhdx5.cjs.map +1 -0
- package/dist/chunks/{card-Cuud0jIt.cjs → card-C_Qr7E6E.cjs} +1 -2
- package/dist/chunks/{card-Cuud0jIt.cjs.map → card-C_Qr7E6E.cjs.map} +1 -1
- package/dist/chunks/{card-DNeC6jqk.mjs → card-DYHDNCPK.mjs} +1 -1
- package/dist/chunks/{card-DNeC6jqk.mjs.map → card-DYHDNCPK.mjs.map} +1 -1
- package/dist/chunks/{carousel-xHkrV_pt.cjs → carousel-DtOJEbEU.cjs} +4 -5
- package/dist/chunks/{carousel-xHkrV_pt.cjs.map → carousel-DtOJEbEU.cjs.map} +1 -1
- package/dist/chunks/{carousel-Dpe5QLJK.mjs → carousel-eeqWZZHE.mjs} +4 -4
- package/dist/chunks/{carousel-Dpe5QLJK.mjs.map → carousel-eeqWZZHE.mjs.map} +1 -1
- package/dist/chunks/{chartStyles-BADmRKZo.cjs → chartStyles-2mTluDoo.cjs} +1 -1
- package/dist/chunks/{chartStyles-BADmRKZo.cjs.map → chartStyles-2mTluDoo.cjs.map} +1 -1
- package/dist/chunks/{chartStyles-DPXgYmGn.mjs → chartStyles-DrHVYS5N.mjs} +1 -1
- package/dist/chunks/{chartStyles-DPXgYmGn.mjs.map → chartStyles-DrHVYS5N.mjs.map} +1 -1
- package/dist/chunks/{charts-COx3IbI2.cjs → charts-DMu4zp8j.cjs} +4 -4
- package/dist/chunks/{charts-COx3IbI2.cjs.map → charts-DMu4zp8j.cjs.map} +1 -1
- package/dist/chunks/{charts-C-KQ3Nk5.mjs → charts-DlskmT1J.mjs} +3 -3
- package/dist/chunks/{charts-C-KQ3Nk5.mjs.map → charts-DlskmT1J.mjs.map} +1 -1
- package/dist/chunks/{checkbox-Y04NlzB8.mjs → checkbox-D7EJQbqC.mjs} +1 -1
- package/dist/chunks/{checkbox-Y04NlzB8.mjs.map → checkbox-D7EJQbqC.mjs.map} +1 -1
- package/dist/chunks/{checkbox-CDknzh89.cjs → checkbox-Lw2UqyNE.cjs} +1 -2
- package/dist/chunks/{checkbox-CDknzh89.cjs.map → checkbox-Lw2UqyNE.cjs.map} +1 -1
- package/dist/chunks/{chip-sfQlzrbo.cjs → chip-D5i9VT9O.cjs} +4 -5
- package/dist/chunks/{chip-sfQlzrbo.cjs.map → chip-D5i9VT9O.cjs.map} +1 -1
- package/dist/chunks/{chip-B3j6R6sO.mjs → chip-DBlSQcqR.mjs} +4 -4
- package/dist/chunks/{chip-B3j6R6sO.mjs.map → chip-DBlSQcqR.mjs.map} +1 -1
- package/dist/chunks/{chroma-grid-Bp55pKEm.cjs → chroma-grid-CTDtdFUm.cjs} +2 -3
- package/dist/chunks/{chroma-grid-Bp55pKEm.cjs.map → chroma-grid-CTDtdFUm.cjs.map} +1 -1
- package/dist/chunks/{chroma-grid-BHS9qAn_.mjs → chroma-grid-DuLTfGVP.mjs} +2 -2
- package/dist/chunks/{chroma-grid-BHS9qAn_.mjs.map → chroma-grid-DuLTfGVP.mjs.map} +1 -1
- package/dist/chunks/{color-palette-Duud5Iqq.cjs → color-palette-DQQ9UV0N.cjs} +2 -2
- package/dist/chunks/{color-palette-Duud5Iqq.cjs.map → color-palette-DQQ9UV0N.cjs.map} +1 -1
- package/dist/chunks/{color-palette-D9Qlw2Cx.mjs → color-palette-G1HUXWJP.mjs} +1 -1
- package/dist/chunks/{color-palette-D9Qlw2Cx.mjs.map → color-palette-G1HUXWJP.mjs.map} +1 -1
- package/dist/chunks/{combobox-C3a2iogC.cjs → combobox-CkNzH1YV.cjs} +6 -6
- package/dist/chunks/{combobox-C3a2iogC.cjs.map → combobox-CkNzH1YV.cjs.map} +1 -1
- package/dist/chunks/{combobox-neBItbtz.mjs → combobox-xNmFFHd6.mjs} +5 -5
- package/dist/chunks/{combobox-neBItbtz.mjs.map → combobox-xNmFFHd6.mjs.map} +1 -1
- package/dist/chunks/dashboard-cards-Bww66_5K.cjs +6570 -0
- package/dist/chunks/dashboard-cards-Bww66_5K.cjs.map +1 -0
- package/dist/chunks/dashboard-cards-lnifLEyj.mjs +6385 -0
- package/dist/chunks/dashboard-cards-lnifLEyj.mjs.map +1 -0
- package/dist/chunks/{data-table-BZEiSZI2.cjs → data-table-BCVbzkLo.cjs} +16 -17
- package/dist/chunks/{data-table-BZEiSZI2.cjs.map → data-table-BCVbzkLo.cjs.map} +1 -1
- package/dist/chunks/{data-table-EfGKkerd.mjs → data-table-C25KHEn4.mjs} +14 -15
- package/dist/chunks/{data-table-EfGKkerd.mjs.map → data-table-C25KHEn4.mjs.map} +1 -1
- package/dist/chunks/date-picker--cqsgsIV.mjs +587 -0
- package/dist/chunks/date-picker--cqsgsIV.mjs.map +1 -0
- package/dist/chunks/date-picker-BJQdFyqr.cjs +592 -0
- package/dist/chunks/date-picker-BJQdFyqr.cjs.map +1 -0
- package/dist/chunks/{dialog-B60BjJz0.mjs → dialog-BHIeG3Sg.mjs} +3 -3
- package/dist/chunks/{dialog-B60BjJz0.mjs.map → dialog-BHIeG3Sg.mjs.map} +1 -1
- package/dist/chunks/{dialog-i9LdkXmF.cjs → dialog-CLKU0cXX.cjs} +3 -4
- package/dist/chunks/{dialog-i9LdkXmF.cjs.map → dialog-CLKU0cXX.cjs.map} +1 -1
- package/dist/chunks/draggable-grid-2L_eHKfp.cjs +245 -0
- package/dist/chunks/draggable-grid-2L_eHKfp.cjs.map +1 -0
- package/dist/chunks/draggable-grid-IuCMSOsE.mjs +240 -0
- package/dist/chunks/draggable-grid-IuCMSOsE.mjs.map +1 -0
- package/dist/chunks/{event-calendar-BbFOUDov.mjs → event-calendar-CO2doGJW.mjs} +11 -11
- package/dist/chunks/{event-calendar-BbFOUDov.mjs.map → event-calendar-CO2doGJW.mjs.map} +1 -1
- package/dist/chunks/{event-calendar-Bljd_7PI.cjs → event-calendar-CvficOuV.cjs} +11 -12
- package/dist/chunks/{event-calendar-Bljd_7PI.cjs.map → event-calendar-CvficOuV.cjs.map} +1 -1
- package/dist/chunks/{form-DGwdlSW2.cjs → form-DARN6jtX.cjs} +1 -2
- package/dist/chunks/{form-DGwdlSW2.cjs.map → form-DARN6jtX.cjs.map} +1 -1
- package/dist/chunks/{form-CDc9UM3r.mjs → form-DNuFklNR.mjs} +1 -1
- package/dist/chunks/{form-CDc9UM3r.mjs.map → form-DNuFklNR.mjs.map} +1 -1
- package/dist/chunks/{gradual-blur-BNYVlqb1.cjs → gradual-blur-BBLbpXD4.cjs} +2 -3
- package/dist/chunks/{gradual-blur-BNYVlqb1.cjs.map → gradual-blur-BBLbpXD4.cjs.map} +1 -1
- package/dist/chunks/{gradual-blur-Bw2KNmXb.mjs → gradual-blur-BPx2MSWI.mjs} +2 -2
- package/dist/chunks/{gradual-blur-Bw2KNmXb.mjs.map → gradual-blur-BPx2MSWI.mjs.map} +1 -1
- package/dist/chunks/{hover-card-G66SUyjq.mjs → hover-card-BkVHGXz6.mjs} +1 -1
- package/dist/chunks/{hover-card-G66SUyjq.mjs.map → hover-card-BkVHGXz6.mjs.map} +1 -1
- package/dist/chunks/{hover-card-Dp6Y2h2J.cjs → hover-card-DwZFtu8w.cjs} +1 -2
- package/dist/chunks/{hover-card-Dp6Y2h2J.cjs.map → hover-card-DwZFtu8w.cjs.map} +1 -1
- package/dist/chunks/{icons-ub9iu-JG.cjs → icons-Ci8yEvvF.cjs} +48 -2
- package/dist/chunks/icons-Ci8yEvvF.cjs.map +1 -0
- package/dist/chunks/{icons-JzMKLygv.mjs → icons-CkVHNbbN.mjs} +43 -2
- package/dist/chunks/icons-CkVHNbbN.mjs.map +1 -0
- package/dist/chunks/{input-CRc3MKb_.mjs → input-B-XSdnfh.mjs} +4 -4
- package/dist/chunks/{input-CRc3MKb_.mjs.map → input-B-XSdnfh.mjs.map} +1 -1
- package/dist/chunks/{input-DMTwz27q.cjs → input-EH7x0pQY.cjs} +4 -5
- package/dist/chunks/{input-DMTwz27q.cjs.map → input-EH7x0pQY.cjs.map} +1 -1
- package/dist/chunks/{label-Bc_r54NU.mjs → label-CcsncrKQ.mjs} +1 -1
- package/dist/chunks/{label-Bc_r54NU.mjs.map → label-CcsncrKQ.mjs.map} +1 -1
- package/dist/chunks/{label-B5Ugq0Nk.cjs → label-Du-5H7wd.cjs} +1 -2
- package/dist/chunks/{label-B5Ugq0Nk.cjs.map → label-Du-5H7wd.cjs.map} +1 -1
- package/dist/chunks/{loading-ll2L6lc7.mjs → loading-2Lh_355V.mjs} +2 -2
- package/dist/chunks/{loading-ll2L6lc7.mjs.map → loading-2Lh_355V.mjs.map} +1 -1
- package/dist/chunks/{loading-DZKJc3e7.cjs → loading-DeGHTDO2.cjs} +2 -3
- package/dist/chunks/{loading-DZKJc3e7.cjs.map → loading-DeGHTDO2.cjs.map} +1 -1
- package/dist/chunks/{multi-select-combobox-C_8sxaiL.mjs → multi-select-combobox-BOdKmPj2.mjs} +4 -4
- package/dist/chunks/{multi-select-combobox-C_8sxaiL.mjs.map → multi-select-combobox-BOdKmPj2.mjs.map} +1 -1
- package/dist/chunks/{multi-select-combobox-CFJGq1hn.cjs → multi-select-combobox-PPYRcaPg.cjs} +5 -5
- package/dist/chunks/{multi-select-combobox-CFJGq1hn.cjs.map → multi-select-combobox-PPYRcaPg.cjs.map} +1 -1
- package/dist/chunks/{otp-input-BpcTJOmU.mjs → otp-input--_itTXaL.mjs} +1 -1
- package/dist/chunks/{otp-input-BpcTJOmU.mjs.map → otp-input--_itTXaL.mjs.map} +1 -1
- package/dist/chunks/{otp-input-B5-tuc0q.cjs → otp-input-Dgw_47Z7.cjs} +1 -2
- package/dist/chunks/{otp-input-B5-tuc0q.cjs.map → otp-input-Dgw_47Z7.cjs.map} +1 -1
- package/dist/chunks/{overlay-DzE_GyYf.cjs → overlay-15EzdrIu.cjs} +1 -2
- package/dist/chunks/{overlay-DzE_GyYf.cjs.map → overlay-15EzdrIu.cjs.map} +1 -1
- package/dist/chunks/{overlay-CG1dMYtO.mjs → overlay-BMbhF-EC.mjs} +1 -1
- package/dist/chunks/{overlay-CG1dMYtO.mjs.map → overlay-BMbhF-EC.mjs.map} +1 -1
- package/dist/chunks/{password-strength-meter-_o1T1HLO.cjs → password-strength-meter-Be1c-dnK.cjs} +2 -3
- package/dist/chunks/{password-strength-meter-_o1T1HLO.cjs.map → password-strength-meter-Be1c-dnK.cjs.map} +1 -1
- package/dist/chunks/{password-strength-meter-CH6uQAuK.mjs → password-strength-meter-Q1Qr-4tz.mjs} +2 -2
- package/dist/chunks/{password-strength-meter-CH6uQAuK.mjs.map → password-strength-meter-Q1Qr-4tz.mjs.map} +1 -1
- package/dist/chunks/{progress-bar-FfdFVvTT.cjs → progress-bar-BsnX079N.cjs} +3 -3
- package/dist/chunks/{progress-bar-FfdFVvTT.cjs.map → progress-bar-BsnX079N.cjs.map} +1 -1
- package/dist/chunks/{progress-bar-BAvRSW1b.mjs → progress-bar-l5WpbpZf.mjs} +2 -2
- package/dist/chunks/{progress-bar-BAvRSW1b.mjs.map → progress-bar-l5WpbpZf.mjs.map} +1 -1
- package/dist/chunks/{radio-BMOnxnUS.mjs → radio-B94_TGtz.mjs} +2 -2
- package/dist/chunks/{radio-BMOnxnUS.mjs.map → radio-B94_TGtz.mjs.map} +1 -1
- package/dist/chunks/{radio-wagafWwx.cjs → radio-W_NiS_dO.cjs} +2 -3
- package/dist/chunks/{radio-wagafWwx.cjs.map → radio-W_NiS_dO.cjs.map} +1 -1
- package/dist/chunks/{select-zFFyNmlY.cjs → select-C5lkcrSB.cjs} +5 -6
- package/dist/chunks/{select-zFFyNmlY.cjs.map → select-C5lkcrSB.cjs.map} +1 -1
- package/dist/chunks/{select--DeSgPdn.mjs → select-DnSSxddm.mjs} +5 -5
- package/dist/chunks/{select--DeSgPdn.mjs.map → select-DnSSxddm.mjs.map} +1 -1
- package/dist/chunks/{sidebar-oemmRzCL.mjs → sidebar-C3Sx87wD.mjs} +10 -11
- package/dist/chunks/{sidebar-oemmRzCL.mjs.map → sidebar-C3Sx87wD.mjs.map} +1 -1
- package/dist/chunks/{sidebar-Cq7UbKJT.cjs → sidebar-DDRWkz5k.cjs} +10 -12
- package/dist/chunks/{sidebar-Cq7UbKJT.cjs.map → sidebar-DDRWkz5k.cjs.map} +1 -1
- package/dist/chunks/{skeleton-DWvVc17T.cjs → skeleton-B2u9c1xJ.cjs} +2 -3
- package/dist/chunks/{skeleton-DWvVc17T.cjs.map → skeleton-B2u9c1xJ.cjs.map} +1 -1
- package/dist/chunks/{skeleton-BsDMlWZG.mjs → skeleton-DVAlrOq2.mjs} +2 -2
- package/dist/chunks/{skeleton-BsDMlWZG.mjs.map → skeleton-DVAlrOq2.mjs.map} +1 -1
- package/dist/chunks/{spinners-DlMcokJa.mjs → spinners-BQtIp2ov.mjs} +2 -2
- package/dist/chunks/{spinners-DlMcokJa.mjs.map → spinners-BQtIp2ov.mjs.map} +1 -1
- package/dist/chunks/{spinners-DBAJliAj.cjs → spinners-BiebALzS.cjs} +2 -3
- package/dist/chunks/{spinners-DBAJliAj.cjs.map → spinners-BiebALzS.cjs.map} +1 -1
- package/dist/chunks/{splash-cursor-CQ6_HwHV.cjs → splash-cursor-8b7ORB2k.cjs} +2 -3
- package/dist/chunks/{splash-cursor-CQ6_HwHV.cjs.map → splash-cursor-8b7ORB2k.cjs.map} +1 -1
- package/dist/chunks/{splash-cursor-Bb7LSzaO.mjs → splash-cursor-CeZffMed.mjs} +2 -2
- package/dist/chunks/{splash-cursor-Bb7LSzaO.mjs.map → splash-cursor-CeZffMed.mjs.map} +1 -1
- package/dist/chunks/{spotlight-card-COfSD7ns.cjs → spotlight-card-BQjp7hO1.cjs} +2 -3
- package/dist/chunks/{spotlight-card-COfSD7ns.cjs.map → spotlight-card-BQjp7hO1.cjs.map} +1 -1
- package/dist/chunks/{spotlight-card-Bs0iiSLc.mjs → spotlight-card-DiPtBCAK.mjs} +2 -2
- package/dist/chunks/{spotlight-card-Bs0iiSLc.mjs.map → spotlight-card-DiPtBCAK.mjs.map} +1 -1
- package/dist/chunks/{stepper-CTteR-Kj.cjs → stepper-BuhQfQTH.cjs} +5 -6
- package/dist/chunks/{stepper-CTteR-Kj.cjs.map → stepper-BuhQfQTH.cjs.map} +1 -1
- package/dist/chunks/{stepper-B9NdZ6ZV.mjs → stepper-CVNcexxq.mjs} +5 -5
- package/dist/chunks/{stepper-B9NdZ6ZV.mjs.map → stepper-CVNcexxq.mjs.map} +1 -1
- package/dist/chunks/{sun-to-moon-button-lt-1vmWm.cjs → sun-to-moon-button-BzYGFhrg.cjs} +4 -5
- package/dist/chunks/{sun-to-moon-button-lt-1vmWm.cjs.map → sun-to-moon-button-BzYGFhrg.cjs.map} +1 -1
- package/dist/chunks/{sun-to-moon-button-DWHDpP5B.mjs → sun-to-moon-button-CRXBMFZb.mjs} +4 -4
- package/dist/chunks/{sun-to-moon-button-DWHDpP5B.mjs.map → sun-to-moon-button-CRXBMFZb.mjs.map} +1 -1
- package/dist/chunks/{switch-BbFl5b4t.cjs → switch-CEoT3MgX.cjs} +1 -2
- package/dist/chunks/{switch-BbFl5b4t.cjs.map → switch-CEoT3MgX.cjs.map} +1 -1
- package/dist/chunks/{switch--68scepb.mjs → switch-DUnNe4xP.mjs} +1 -1
- package/dist/chunks/{switch--68scepb.mjs.map → switch-DUnNe4xP.mjs.map} +1 -1
- package/dist/chunks/{textarea-U_JeSWI3.cjs → textarea-Bschfj24.cjs} +2 -3
- package/dist/chunks/{textarea-U_JeSWI3.cjs.map → textarea-Bschfj24.cjs.map} +1 -1
- package/dist/chunks/{textarea-CEj9voUJ.mjs → textarea-CfeKo5HA.mjs} +2 -2
- package/dist/chunks/{textarea-CEj9voUJ.mjs.map → textarea-CfeKo5HA.mjs.map} +1 -1
- package/dist/chunks/{theme-koPrLKQv.mjs → theme-BXML6jHE.mjs} +1 -1
- package/dist/chunks/{theme-koPrLKQv.mjs.map → theme-BXML6jHE.mjs.map} +1 -1
- package/dist/chunks/{theme-D6B-FaoE.cjs → theme-BzTaXYZ8.cjs} +1 -2
- package/dist/chunks/{theme-D6B-FaoE.cjs.map → theme-BzTaXYZ8.cjs.map} +1 -1
- package/dist/chunks/{toast-CyY8VZN7.mjs → toast-D1W0BvoH.mjs} +2 -2
- package/dist/chunks/{toast-CyY8VZN7.mjs.map → toast-D1W0BvoH.mjs.map} +1 -1
- package/dist/chunks/{toast-2yq4Q7-q.cjs → toast-DL8svc6q.cjs} +2 -3
- package/dist/chunks/{toast-2yq4Q7-q.cjs.map → toast-DL8svc6q.cjs.map} +1 -1
- package/dist/chunks/{truncated-text-CswjmrHZ.cjs → truncated-text-D0t4atw5.cjs} +3 -3
- package/dist/chunks/{truncated-text-CswjmrHZ.cjs.map → truncated-text-D0t4atw5.cjs.map} +1 -1
- package/dist/chunks/{truncated-text-DUYTW1KP.mjs → truncated-text-DIkg-8Vo.mjs} +2 -2
- package/dist/chunks/{truncated-text-DUYTW1KP.mjs.map → truncated-text-DIkg-8Vo.mjs.map} +1 -1
- package/dist/chunks/{typography-CFIiYk1d.cjs → typography-C5fYwhp2.cjs} +3 -3
- package/dist/chunks/{typography-CFIiYk1d.cjs.map → typography-C5fYwhp2.cjs.map} +1 -1
- package/dist/chunks/{typography-DHE9sUZ8.mjs → typography-Czi7t5y4.mjs} +2 -2
- package/dist/chunks/{typography-DHE9sUZ8.mjs.map → typography-Czi7t5y4.mjs.map} +1 -1
- package/dist/chunks/{utils-LRbEQHYs.cjs → utils-CoA0q63n.cjs} +84 -4
- package/dist/chunks/utils-CoA0q63n.cjs.map +1 -0
- package/dist/chunks/{utils-7S0u48mU.mjs → utils-Dc7j29ec.mjs} +84 -4
- package/dist/chunks/utils-Dc7j29ec.mjs.map +1 -0
- package/dist/color-palette.cjs +1 -1
- package/dist/color-palette.mjs +1 -1
- package/dist/combobox.cjs +1 -1
- package/dist/combobox.mjs +1 -1
- package/dist/components/data-display/dashboard-cards/AIFeatureAdoptionCard.d.ts +26 -0
- package/dist/components/data-display/dashboard-cards/AIFeatureAdoptionCard.d.ts.map +1 -0
- package/dist/components/data-display/dashboard-cards/AIInsightsCard.d.ts +30 -0
- package/dist/components/data-display/dashboard-cards/AIInsightsCard.d.ts.map +1 -0
- package/dist/components/data-display/dashboard-cards/AcquisitionChannelCard.d.ts +24 -0
- package/dist/components/data-display/dashboard-cards/AcquisitionChannelCard.d.ts.map +1 -0
- package/dist/components/data-display/dashboard-cards/BarBreakdownCard.d.ts +49 -0
- package/dist/components/data-display/dashboard-cards/BarBreakdownCard.d.ts.map +1 -0
- package/dist/components/data-display/dashboard-cards/CustomerLifecycleCard.d.ts +24 -0
- package/dist/components/data-display/dashboard-cards/CustomerLifecycleCard.d.ts.map +1 -0
- package/dist/components/data-display/dashboard-cards/EarningReportsTabsCard.d.ts +111 -2
- package/dist/components/data-display/dashboard-cards/EarningReportsTabsCard.d.ts.map +1 -1
- package/dist/components/data-display/dashboard-cards/FinancialPLCard.d.ts +78 -0
- package/dist/components/data-display/dashboard-cards/FinancialPLCard.d.ts.map +1 -0
- package/dist/components/data-display/dashboard-cards/InventoryCards.d.ts +44 -0
- package/dist/components/data-display/dashboard-cards/InventoryCards.d.ts.map +1 -0
- package/dist/components/data-display/dashboard-cards/PaymentSummaryCard.d.ts +45 -0
- package/dist/components/data-display/dashboard-cards/PaymentSummaryCard.d.ts.map +1 -0
- package/dist/components/data-display/dashboard-cards/SalesHeatmapCard.d.ts +36 -0
- package/dist/components/data-display/dashboard-cards/SalesHeatmapCard.d.ts.map +1 -0
- package/dist/components/data-display/dashboard-cards/SeatUtilizationCard.d.ts +22 -0
- package/dist/components/data-display/dashboard-cards/SeatUtilizationCard.d.ts.map +1 -0
- package/dist/components/data-display/dashboard-cards/SubscriptionHealthCard.d.ts +23 -0
- package/dist/components/data-display/dashboard-cards/SubscriptionHealthCard.d.ts.map +1 -0
- package/dist/components/data-display/dashboard-cards/ToolUsageOverviewCard.d.ts +22 -0
- package/dist/components/data-display/dashboard-cards/ToolUsageOverviewCard.d.ts.map +1 -0
- package/dist/components/data-display/dashboard-cards/TopPlansCard.d.ts +23 -0
- package/dist/components/data-display/dashboard-cards/TopPlansCard.d.ts.map +1 -0
- package/dist/components/data-display/dashboard-cards/TopSellingItemsCard.d.ts +42 -0
- package/dist/components/data-display/dashboard-cards/TopSellingItemsCard.d.ts.map +1 -0
- package/dist/components/data-display/dashboard-cards/TopToolsCard.d.ts +22 -0
- package/dist/components/data-display/dashboard-cards/TopToolsCard.d.ts.map +1 -0
- package/dist/components/data-display/dashboard-cards/_PLCardHeader.d.ts +63 -0
- package/dist/components/data-display/dashboard-cards/_PLCardHeader.d.ts.map +1 -0
- package/dist/components/data-display/dashboard-cards/_PLCharts.d.ts +33 -0
- package/dist/components/data-display/dashboard-cards/_PLCharts.d.ts.map +1 -0
- package/dist/components/data-display/dashboard-cards/_PLKpiStrip.d.ts +11 -0
- package/dist/components/data-display/dashboard-cards/_PLKpiStrip.d.ts.map +1 -0
- package/dist/components/data-display/dashboard-cards/_PLOverview.d.ts +9 -0
- package/dist/components/data-display/dashboard-cards/_PLOverview.d.ts.map +1 -0
- package/dist/components/data-display/dashboard-cards/_TabTooltip.d.ts +8 -0
- package/dist/components/data-display/dashboard-cards/_TabTooltip.d.ts.map +1 -0
- package/dist/components/data-display/dashboard-cards/index.d.ts +32 -1
- package/dist/components/data-display/dashboard-cards/index.d.ts.map +1 -1
- package/dist/components/forms/calendar/Calendar.d.ts +1 -1
- package/dist/components/forms/calendar/Calendar.d.ts.map +1 -1
- package/dist/components/forms/calendar/types.d.ts +6 -0
- package/dist/components/forms/calendar/types.d.ts.map +1 -1
- package/dist/components/forms/date-picker/DatePicker.d.ts.map +1 -1
- package/dist/components/layout/draggable-grid/DraggableGrid.d.ts +20 -0
- package/dist/components/layout/draggable-grid/DraggableGrid.d.ts.map +1 -0
- package/dist/components/layout/draggable-grid/index.d.ts +3 -0
- package/dist/components/layout/draggable-grid/index.d.ts.map +1 -0
- package/dist/components/navigation/sidebar/DashboardSidebarShell.d.ts.map +1 -1
- package/dist/dashboard-cards.cjs +16 -1
- package/dist/dashboard-cards.mjs +2 -2
- package/dist/data-table.cjs +1 -1
- package/dist/data-table.mjs +1 -1
- package/dist/date-picker.cjs +1 -1
- package/dist/date-picker.mjs +1 -1
- package/dist/dialog.cjs +1 -1
- package/dist/dialog.mjs +1 -1
- package/dist/docs.cjs +13 -0
- package/dist/docs.cjs.map +1 -1
- package/dist/docs.d.ts.map +1 -1
- package/dist/docs.mjs +13 -0
- package/dist/docs.mjs.map +1 -1
- package/dist/draggable-grid.cjs +3 -0
- package/dist/draggable-grid.d.ts +2 -0
- package/dist/draggable-grid.mjs +2 -0
- package/dist/drawer.cjs +1 -1
- package/dist/drawer.mjs +1 -1
- package/dist/event-calendar.cjs +1 -1
- package/dist/event-calendar.mjs +1 -1
- package/dist/form.cjs +1 -1
- package/dist/form.mjs +1 -1
- package/dist/gradual-blur.cjs +1 -1
- package/dist/gradual-blur.mjs +1 -1
- package/dist/hover-border-gradient.cjs +1 -1
- package/dist/hover-border-gradient.mjs +1 -1
- package/dist/hover-card.cjs +1 -1
- package/dist/hover-card.mjs +1 -1
- package/dist/icons.cjs +2 -3
- package/dist/icons.mjs +1 -2
- package/dist/index.cjs +71 -56
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.ts +7 -2
- package/dist/index.d.ts.map +1 -1
- package/dist/index.mjs +55 -55
- package/dist/index.mjs.map +1 -1
- package/dist/input.cjs +1 -1
- package/dist/input.mjs +1 -1
- package/dist/label.cjs +1 -1
- package/dist/label.mjs +1 -1
- package/dist/loading.cjs +1 -1
- package/dist/loading.mjs +1 -1
- package/dist/multi-select-combobox.cjs +1 -1
- package/dist/multi-select-combobox.mjs +1 -1
- package/dist/otp-input.cjs +1 -1
- package/dist/otp-input.mjs +1 -1
- package/dist/password-strength-meter.cjs +1 -1
- package/dist/password-strength-meter.mjs +1 -1
- package/dist/progress-bar.cjs +1 -1
- package/dist/progress-bar.mjs +1 -1
- package/dist/radio.cjs +1 -1
- package/dist/radio.mjs +1 -1
- package/dist/select.cjs +1 -1
- package/dist/select.mjs +1 -1
- package/dist/sidebar.cjs +1 -1
- package/dist/sidebar.mjs +1 -1
- package/dist/skeleton.cjs +1 -1
- package/dist/skeleton.mjs +1 -1
- package/dist/spinners.cjs +1 -1
- package/dist/spinners.mjs +1 -1
- package/dist/splash-cursor.cjs +1 -1
- package/dist/splash-cursor.mjs +1 -1
- package/dist/spotlight-card.cjs +1 -1
- package/dist/spotlight-card.mjs +1 -1
- package/dist/stepper.cjs +1 -1
- package/dist/stepper.mjs +1 -1
- package/dist/sun-to-moon-button.cjs +2 -2
- package/dist/sun-to-moon-button.mjs +2 -2
- package/dist/switch.cjs +1 -1
- package/dist/switch.mjs +1 -1
- package/dist/textarea.cjs +1 -1
- package/dist/textarea.mjs +1 -1
- package/dist/theme.cjs +1 -1
- package/dist/theme.mjs +1 -1
- package/dist/toast.cjs +1 -1
- package/dist/toast.mjs +1 -1
- package/dist/tooltip.cjs +1 -1
- package/dist/tooltip.mjs +1 -1
- package/dist/truncated-text.cjs +1 -1
- package/dist/truncated-text.mjs +1 -1
- package/dist/typography.cjs +1 -1
- package/dist/typography.mjs +1 -1
- package/dist/utils.cjs +1 -1
- package/dist/utils.mjs +1 -1
- package/package.json +34 -13
- package/dist/chunks/EllipsisVerticalIcon-BJw3MNkg.cjs +0 -51
- package/dist/chunks/EllipsisVerticalIcon-BJw3MNkg.cjs.map +0 -1
- package/dist/chunks/EllipsisVerticalIcon-C2b2KMfE.mjs +0 -45
- package/dist/chunks/EllipsisVerticalIcon-C2b2KMfE.mjs.map +0 -1
- package/dist/chunks/calendar-DCkikZYb.cjs +0 -184
- package/dist/chunks/calendar-DCkikZYb.cjs.map +0 -1
- package/dist/chunks/calendar-FxAmm_ao.mjs +0 -178
- package/dist/chunks/calendar-FxAmm_ao.mjs.map +0 -1
- package/dist/chunks/dashboard-cards-BnPt0gDW.mjs +0 -2428
- package/dist/chunks/dashboard-cards-BnPt0gDW.mjs.map +0 -1
- package/dist/chunks/dashboard-cards-DNWJPKRu.cjs +0 -2524
- package/dist/chunks/dashboard-cards-DNWJPKRu.cjs.map +0 -1
- package/dist/chunks/date-picker-3IDSmb9Z.mjs +0 -228
- package/dist/chunks/date-picker-3IDSmb9Z.mjs.map +0 -1
- package/dist/chunks/date-picker-_EVYpGga.cjs +0 -234
- package/dist/chunks/date-picker-_EVYpGga.cjs.map +0 -1
- package/dist/chunks/icons-JzMKLygv.mjs.map +0 -1
- package/dist/chunks/icons-ub9iu-JG.cjs.map +0 -1
- package/dist/chunks/utils-7S0u48mU.mjs.map +0 -1
- package/dist/chunks/utils-LRbEQHYs.cjs.map +0 -1
- /package/dist/chunks/{chunk-B_GkZjkl.cjs → chunk-D6vf50IK.cjs} +0 -0
|
@@ -0,0 +1,592 @@
|
|
|
1
|
+
const require_utils = require("./utils-CoA0q63n.cjs");
|
|
2
|
+
const require_icons = require("./icons-Ci8yEvvF.cjs");
|
|
3
|
+
const require_calendar = require("./calendar-CdKKhdx5.cjs");
|
|
4
|
+
let react = require("react");
|
|
5
|
+
let react_jsx_runtime = require("react/jsx-runtime");
|
|
6
|
+
let framer_motion = require("framer-motion");
|
|
7
|
+
let react_dom = require("react-dom");
|
|
8
|
+
//#region src/components/forms/date-picker/DatePicker.tsx
|
|
9
|
+
function startOfDay(d) {
|
|
10
|
+
return new Date(d.getFullYear(), d.getMonth(), d.getDate());
|
|
11
|
+
}
|
|
12
|
+
var SHORT_MONTHS = Array.from({ length: 12 }, (_, i) => new Date(2026, i, 1).toLocaleString(void 0, { month: "short" }));
|
|
13
|
+
function formatDate(d) {
|
|
14
|
+
return d?.toLocaleDateString(void 0, {
|
|
15
|
+
month: "short",
|
|
16
|
+
day: "numeric",
|
|
17
|
+
year: "numeric"
|
|
18
|
+
}) ?? "";
|
|
19
|
+
}
|
|
20
|
+
function parseDate(str) {
|
|
21
|
+
const trimmed = str.trim();
|
|
22
|
+
if (!trimmed) return null;
|
|
23
|
+
const d = new Date(trimmed);
|
|
24
|
+
return isNaN(d.getTime()) ? null : startOfDay(d);
|
|
25
|
+
}
|
|
26
|
+
var isRangeValue = (v) => typeof v === "object" && v !== null && "start" in v && "end" in v;
|
|
27
|
+
var emptyRange = {
|
|
28
|
+
start: null,
|
|
29
|
+
end: null
|
|
30
|
+
};
|
|
31
|
+
var RANGE_PRESETS = [
|
|
32
|
+
{
|
|
33
|
+
label: "Today",
|
|
34
|
+
getValue() {
|
|
35
|
+
const t = startOfDay(/* @__PURE__ */ new Date());
|
|
36
|
+
return {
|
|
37
|
+
start: t,
|
|
38
|
+
end: t
|
|
39
|
+
};
|
|
40
|
+
}
|
|
41
|
+
},
|
|
42
|
+
{
|
|
43
|
+
label: "Yesterday",
|
|
44
|
+
getValue() {
|
|
45
|
+
const d = startOfDay(/* @__PURE__ */ new Date());
|
|
46
|
+
d.setDate(d.getDate() - 1);
|
|
47
|
+
return {
|
|
48
|
+
start: d,
|
|
49
|
+
end: d
|
|
50
|
+
};
|
|
51
|
+
}
|
|
52
|
+
},
|
|
53
|
+
{
|
|
54
|
+
label: "Last 7 days",
|
|
55
|
+
getValue() {
|
|
56
|
+
const end = startOfDay(/* @__PURE__ */ new Date());
|
|
57
|
+
const start = new Date(end);
|
|
58
|
+
start.setDate(start.getDate() - 6);
|
|
59
|
+
return {
|
|
60
|
+
start,
|
|
61
|
+
end
|
|
62
|
+
};
|
|
63
|
+
}
|
|
64
|
+
},
|
|
65
|
+
{
|
|
66
|
+
label: "Last 30 days",
|
|
67
|
+
getValue() {
|
|
68
|
+
const end = startOfDay(/* @__PURE__ */ new Date());
|
|
69
|
+
const start = new Date(end);
|
|
70
|
+
start.setDate(start.getDate() - 29);
|
|
71
|
+
return {
|
|
72
|
+
start,
|
|
73
|
+
end
|
|
74
|
+
};
|
|
75
|
+
}
|
|
76
|
+
},
|
|
77
|
+
{
|
|
78
|
+
label: "Last quarter",
|
|
79
|
+
getValue() {
|
|
80
|
+
const now = /* @__PURE__ */ new Date();
|
|
81
|
+
const q = Math.floor(now.getMonth() / 3);
|
|
82
|
+
const pq = q === 0 ? 3 : q - 1;
|
|
83
|
+
const pqYear = q === 0 ? now.getFullYear() - 1 : now.getFullYear();
|
|
84
|
+
return {
|
|
85
|
+
start: new Date(pqYear, pq * 3, 1),
|
|
86
|
+
end: new Date(pqYear, pq * 3 + 3, 0)
|
|
87
|
+
};
|
|
88
|
+
}
|
|
89
|
+
}
|
|
90
|
+
];
|
|
91
|
+
var INNER_CAL = "w-auto max-w-none rounded-none border-0 bg-transparent p-0 shadow-none backdrop-blur-none";
|
|
92
|
+
var PANEL_GAP = 8;
|
|
93
|
+
var VMARGIN = 12;
|
|
94
|
+
var DatePicker = ({ mode = "single", value, onChange, label, placeholder = "Pick a date", helperText, disabled = false, className = "", presets }) => {
|
|
95
|
+
const [open, setOpen] = (0, react.useState)(false);
|
|
96
|
+
const [visible, setVisible] = (0, react.useState)(false);
|
|
97
|
+
const [isMobile, setIsMobile] = (0, react.useState)(false);
|
|
98
|
+
const [hoverDate, setHoverDate] = (0, react.useState)(null);
|
|
99
|
+
const [startInput, setStartInput] = (0, react.useState)("");
|
|
100
|
+
const [endInput, setEndInput] = (0, react.useState)("");
|
|
101
|
+
const todayDate = (0, react.useMemo)(() => /* @__PURE__ */ new Date(), []);
|
|
102
|
+
const [leftMonth, setLeftMonth] = (0, react.useState)(todayDate.getMonth());
|
|
103
|
+
const [leftYear, setLeftYear] = (0, react.useState)(todayDate.getFullYear());
|
|
104
|
+
const rightDate = new Date(leftYear, leftMonth + 1, 1);
|
|
105
|
+
const rightMonth = rightDate.getMonth();
|
|
106
|
+
const rightYear = rightDate.getFullYear();
|
|
107
|
+
const isControlled = value !== void 0;
|
|
108
|
+
const [internal, setInternal] = (0, react.useState)(value ?? (mode === "range" ? emptyRange : null));
|
|
109
|
+
const current = isControlled ? value : internal;
|
|
110
|
+
const singleValue = mode === "range" ? null : current;
|
|
111
|
+
const rangeValue = mode === "range" && isRangeValue(current) ? current : { ...emptyRange };
|
|
112
|
+
const displayValue = (0, react.useMemo)(() => {
|
|
113
|
+
if (mode === "range") {
|
|
114
|
+
if (rangeValue.start && rangeValue.end) return `${formatDate(rangeValue.start)} — ${formatDate(rangeValue.end)}`;
|
|
115
|
+
if (rangeValue.start) return `${formatDate(rangeValue.start)} — …`;
|
|
116
|
+
return "";
|
|
117
|
+
}
|
|
118
|
+
return formatDate(singleValue);
|
|
119
|
+
}, [
|
|
120
|
+
mode,
|
|
121
|
+
rangeValue.start,
|
|
122
|
+
rangeValue.end,
|
|
123
|
+
singleValue
|
|
124
|
+
]);
|
|
125
|
+
const hasSelection = mode === "range" ? Boolean(rangeValue.start || rangeValue.end) : Boolean(singleValue);
|
|
126
|
+
const updateValue = (next) => {
|
|
127
|
+
if (!isControlled) setInternal(next);
|
|
128
|
+
onChange?.(next);
|
|
129
|
+
};
|
|
130
|
+
(0, react.useEffect)(() => {
|
|
131
|
+
if (typeof window === "undefined") return;
|
|
132
|
+
const mq = window.matchMedia("(max-width: 640px)");
|
|
133
|
+
setIsMobile(mq.matches);
|
|
134
|
+
const handler = (e) => setIsMobile(e.matches);
|
|
135
|
+
mq.addEventListener("change", handler);
|
|
136
|
+
return () => mq.removeEventListener("change", handler);
|
|
137
|
+
}, []);
|
|
138
|
+
(0, react.useEffect)(() => {
|
|
139
|
+
setStartInput(rangeValue.start ? formatDate(rangeValue.start) : "");
|
|
140
|
+
setEndInput(rangeValue.end ? formatDate(rangeValue.end) : "");
|
|
141
|
+
}, [rangeValue.start, rangeValue.end]);
|
|
142
|
+
const containerRef = (0, react.useRef)(null);
|
|
143
|
+
const triggerRef = (0, react.useRef)(null);
|
|
144
|
+
const panelRef = (0, react.useRef)(null);
|
|
145
|
+
(0, react.useEffect)(() => {
|
|
146
|
+
const inside = (event) => {
|
|
147
|
+
return (typeof event.composedPath === "function" ? event.composedPath() : []).some((t) => t instanceof Node && (containerRef.current?.contains(t) || panelRef.current?.contains(t)));
|
|
148
|
+
};
|
|
149
|
+
const onPointer = (e) => {
|
|
150
|
+
if (e.target instanceof Node && (containerRef.current?.contains(e.target) || panelRef.current?.contains(e.target)) || inside(e)) return;
|
|
151
|
+
setOpen(false);
|
|
152
|
+
};
|
|
153
|
+
const onFocus = (e) => {
|
|
154
|
+
if (e.target instanceof Node && (containerRef.current?.contains(e.target) || panelRef.current?.contains(e.target)) || inside(e)) return;
|
|
155
|
+
setOpen(false);
|
|
156
|
+
};
|
|
157
|
+
if (open) {
|
|
158
|
+
document.addEventListener("pointerdown", onPointer, true);
|
|
159
|
+
document.addEventListener("focusin", onFocus, true);
|
|
160
|
+
}
|
|
161
|
+
return () => {
|
|
162
|
+
document.removeEventListener("pointerdown", onPointer, true);
|
|
163
|
+
document.removeEventListener("focusin", onFocus, true);
|
|
164
|
+
};
|
|
165
|
+
}, [open]);
|
|
166
|
+
const [panelPos, setPanelPos] = (0, react.useState)({
|
|
167
|
+
top: 0,
|
|
168
|
+
left: 0,
|
|
169
|
+
minWidth: 320
|
|
170
|
+
});
|
|
171
|
+
(0, react.useEffect)(() => {
|
|
172
|
+
if (!open) return;
|
|
173
|
+
const update = () => {
|
|
174
|
+
const tRect = triggerRef.current?.getBoundingClientRect();
|
|
175
|
+
if (!tRect) return;
|
|
176
|
+
const panelH = panelRef.current?.offsetHeight ?? 400;
|
|
177
|
+
const panelW = panelRef.current?.offsetWidth ?? 320;
|
|
178
|
+
const openAbove = window.innerHeight - tRect.bottom < panelH + PANEL_GAP && tRect.top > panelH + PANEL_GAP;
|
|
179
|
+
const maxLeft = Math.max(VMARGIN, window.innerWidth - panelW - VMARGIN);
|
|
180
|
+
const left = Math.min(Math.max(tRect.left, VMARGIN), maxLeft);
|
|
181
|
+
setPanelPos({
|
|
182
|
+
top: openAbove ? Math.max(VMARGIN, tRect.top - panelH - PANEL_GAP) : Math.min(tRect.bottom + PANEL_GAP, window.innerHeight - panelH - VMARGIN),
|
|
183
|
+
left,
|
|
184
|
+
minWidth: Math.max(tRect.width, 320)
|
|
185
|
+
});
|
|
186
|
+
};
|
|
187
|
+
update();
|
|
188
|
+
const id = requestAnimationFrame(update);
|
|
189
|
+
window.addEventListener("resize", update);
|
|
190
|
+
window.addEventListener("scroll", update, true);
|
|
191
|
+
return () => {
|
|
192
|
+
cancelAnimationFrame(id);
|
|
193
|
+
window.removeEventListener("resize", update);
|
|
194
|
+
window.removeEventListener("scroll", update, true);
|
|
195
|
+
};
|
|
196
|
+
}, [open]);
|
|
197
|
+
const mouseX = (0, framer_motion.useMotionValue)(0);
|
|
198
|
+
const mouseY = (0, framer_motion.useMotionValue)(0);
|
|
199
|
+
const motionBg = framer_motion.useMotionTemplate`radial-gradient(${visible ? "100px" : "0px"} circle at ${mouseX}px ${mouseY}px, var(--ds-color-accent), transparent 90%)`;
|
|
200
|
+
const handleMouseMove = (e) => {
|
|
201
|
+
const { left, top } = e.currentTarget.getBoundingClientRect();
|
|
202
|
+
mouseX.set(e.clientX - left);
|
|
203
|
+
mouseY.set(e.clientY - top);
|
|
204
|
+
};
|
|
205
|
+
const handleClear = () => {
|
|
206
|
+
if (disabled) return;
|
|
207
|
+
updateValue(mode === "range" ? { ...emptyRange } : null);
|
|
208
|
+
setOpen(false);
|
|
209
|
+
};
|
|
210
|
+
const handleRangeSelect = (next) => {
|
|
211
|
+
updateValue(next);
|
|
212
|
+
if (next.start && next.end) {
|
|
213
|
+
setOpen(false);
|
|
214
|
+
setHoverDate(null);
|
|
215
|
+
}
|
|
216
|
+
};
|
|
217
|
+
const handlePreset = (p) => {
|
|
218
|
+
updateValue(p.getValue());
|
|
219
|
+
setOpen(false);
|
|
220
|
+
};
|
|
221
|
+
const commitStartInput = () => {
|
|
222
|
+
const d = parseDate(startInput);
|
|
223
|
+
if (d) updateValue({
|
|
224
|
+
start: d,
|
|
225
|
+
end: rangeValue.end
|
|
226
|
+
});
|
|
227
|
+
else setStartInput(rangeValue.start ? formatDate(rangeValue.start) : "");
|
|
228
|
+
};
|
|
229
|
+
const commitEndInput = () => {
|
|
230
|
+
const d = parseDate(endInput);
|
|
231
|
+
if (d) {
|
|
232
|
+
updateValue({
|
|
233
|
+
start: rangeValue.start,
|
|
234
|
+
end: d
|
|
235
|
+
});
|
|
236
|
+
if (rangeValue.start && d) setOpen(false);
|
|
237
|
+
} else setEndInput(rangeValue.end ? formatDate(rangeValue.end) : "");
|
|
238
|
+
};
|
|
239
|
+
const panelKeyDown = (e) => {
|
|
240
|
+
if (e.key === "Escape") {
|
|
241
|
+
setOpen(false);
|
|
242
|
+
triggerRef.current?.focus();
|
|
243
|
+
}
|
|
244
|
+
if (e.key === "Enter" && mode === "range" && rangeValue.start && rangeValue.end) {
|
|
245
|
+
setOpen(false);
|
|
246
|
+
triggerRef.current?.focus();
|
|
247
|
+
}
|
|
248
|
+
};
|
|
249
|
+
const isPresetActive = (p) => {
|
|
250
|
+
const r = p.getValue();
|
|
251
|
+
return rangeValue.start?.toDateString() === r.start?.toDateString() && rangeValue.end?.toDateString() === r.end?.toDateString();
|
|
252
|
+
};
|
|
253
|
+
const presetBtn = (p, compact = false) => /* @__PURE__ */ (0, react_jsx_runtime.jsx)("button", {
|
|
254
|
+
type: "button",
|
|
255
|
+
onClick: () => handlePreset(p),
|
|
256
|
+
className: require_utils.mergeClassNames("rounded-md text-left text-xs font-medium transition-colors", compact ? "px-2 py-1.5" : "rounded-full border px-3 py-1", isPresetActive(p) ? "bg-ds-accent-subtle text-ds-accent" + (compact ? "" : " border-ds-accent") : compact ? "text-ds-2 hover:bg-ds-surface-2 hover:text-ds-1" : "border-ds-border-2 bg-ds-surface-2 text-ds-2 hover:border-ds-border-accent hover:text-ds-1"),
|
|
257
|
+
children: p.label
|
|
258
|
+
}, p.label);
|
|
259
|
+
return /* @__PURE__ */ (0, react_jsx_runtime.jsxs)(react_jsx_runtime.Fragment, { children: [
|
|
260
|
+
/* @__PURE__ */ (0, react_jsx_runtime.jsxs)("div", {
|
|
261
|
+
ref: containerRef,
|
|
262
|
+
className: require_utils.mergeClassNames("w-full space-y-2", className),
|
|
263
|
+
children: [
|
|
264
|
+
label && /* @__PURE__ */ (0, react_jsx_runtime.jsx)("p", {
|
|
265
|
+
className: "text-sm font-medium text-ds-1",
|
|
266
|
+
children: label
|
|
267
|
+
}),
|
|
268
|
+
/* @__PURE__ */ (0, react_jsx_runtime.jsx)("div", {
|
|
269
|
+
className: "relative",
|
|
270
|
+
children: /* @__PURE__ */ (0, react_jsx_runtime.jsx)(framer_motion.motion.div, {
|
|
271
|
+
style: { backgroundImage: disabled ? "none" : motionBg },
|
|
272
|
+
onMouseMove: !disabled ? handleMouseMove : void 0,
|
|
273
|
+
onMouseEnter: !disabled ? () => setVisible(true) : void 0,
|
|
274
|
+
onMouseLeave: !disabled ? () => setVisible(false) : void 0,
|
|
275
|
+
className: disabled ? "group/date-picker rounded-lg border-none bg-ds-surface-1 p-[2px]" : "group/date-picker rounded-lg border-ds-border-2 p-[2px]",
|
|
276
|
+
children: /* @__PURE__ */ (0, react_jsx_runtime.jsxs)("div", {
|
|
277
|
+
className: "relative",
|
|
278
|
+
children: [/* @__PURE__ */ (0, react_jsx_runtime.jsx)("button", {
|
|
279
|
+
ref: triggerRef,
|
|
280
|
+
type: "button",
|
|
281
|
+
className: require_utils.mergeClassNames("flex w-full items-center justify-between rounded-md border border-ds-border-field bg-ds-surface-1 px-3 py-2 text-sm transition duration-400 ease-in-out", disabled && "cursor-not-allowed opacity-50"),
|
|
282
|
+
style: { paddingInlineEnd: "2.5rem" },
|
|
283
|
+
onClick: () => !disabled && setOpen((p) => !p),
|
|
284
|
+
"aria-haspopup": "dialog",
|
|
285
|
+
"aria-expanded": open,
|
|
286
|
+
disabled,
|
|
287
|
+
children: /* @__PURE__ */ (0, react_jsx_runtime.jsx)("span", {
|
|
288
|
+
className: displayValue ? "text-ds-1" : "text-ds-2",
|
|
289
|
+
children: displayValue || placeholder
|
|
290
|
+
})
|
|
291
|
+
}), hasSelection && !disabled ? /* @__PURE__ */ (0, react_jsx_runtime.jsx)("button", {
|
|
292
|
+
type: "button",
|
|
293
|
+
className: "absolute top-1/2 inline-flex h-5 w-5 -translate-y-1/2 items-center justify-center rounded-full text-ds-2 transition-colors hover:bg-ds-accent-subtle hover:text-ds-1",
|
|
294
|
+
style: { insetInlineEnd: "0.75rem" },
|
|
295
|
+
onClick: handleClear,
|
|
296
|
+
"aria-label": mode === "range" ? "Clear selected date range" : "Clear selected date",
|
|
297
|
+
children: /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_icons.CloseIcon, {
|
|
298
|
+
className: "h-3.5 w-3.5",
|
|
299
|
+
"aria-hidden": "true"
|
|
300
|
+
})
|
|
301
|
+
}) : /* @__PURE__ */ (0, react_jsx_runtime.jsx)("span", {
|
|
302
|
+
className: "pointer-events-none absolute top-1/2 -translate-y-1/2 text-ds-2",
|
|
303
|
+
style: { insetInlineEnd: "0.75rem" },
|
|
304
|
+
"aria-hidden": "true",
|
|
305
|
+
children: "📅"
|
|
306
|
+
})]
|
|
307
|
+
})
|
|
308
|
+
})
|
|
309
|
+
}),
|
|
310
|
+
helperText && /* @__PURE__ */ (0, react_jsx_runtime.jsx)("p", {
|
|
311
|
+
className: "text-xs text-ds-2",
|
|
312
|
+
children: helperText
|
|
313
|
+
})
|
|
314
|
+
]
|
|
315
|
+
}),
|
|
316
|
+
isMobile && open && mode === "range" && !disabled && typeof document !== "undefined" ? (0, react_dom.createPortal)(/* @__PURE__ */ (0, react_jsx_runtime.jsxs)("div", {
|
|
317
|
+
className: "fixed inset-0 z-50 flex flex-col",
|
|
318
|
+
role: "dialog",
|
|
319
|
+
"aria-modal": "true",
|
|
320
|
+
children: [/* @__PURE__ */ (0, react_jsx_runtime.jsx)("div", {
|
|
321
|
+
className: "flex-1 bg-black/40",
|
|
322
|
+
onClick: () => setOpen(false)
|
|
323
|
+
}), /* @__PURE__ */ (0, react_jsx_runtime.jsxs)(framer_motion.motion.div, {
|
|
324
|
+
initial: { y: "100%" },
|
|
325
|
+
animate: { y: 0 },
|
|
326
|
+
exit: { y: "100%" },
|
|
327
|
+
transition: {
|
|
328
|
+
type: "spring",
|
|
329
|
+
damping: 30,
|
|
330
|
+
stiffness: 300
|
|
331
|
+
},
|
|
332
|
+
className: "flex max-h-[90vh] flex-col rounded-t-2xl bg-ds-surface-1 shadow-2xl",
|
|
333
|
+
children: [
|
|
334
|
+
/* @__PURE__ */ (0, react_jsx_runtime.jsxs)("div", {
|
|
335
|
+
className: "flex items-center justify-between px-5 pb-3 pt-5",
|
|
336
|
+
children: [/* @__PURE__ */ (0, react_jsx_runtime.jsx)("p", {
|
|
337
|
+
className: "text-base font-semibold text-ds-1",
|
|
338
|
+
children: "Select date range"
|
|
339
|
+
}), /* @__PURE__ */ (0, react_jsx_runtime.jsx)("button", {
|
|
340
|
+
type: "button",
|
|
341
|
+
onClick: () => setOpen(false),
|
|
342
|
+
className: "flex h-7 w-7 items-center justify-center rounded-full text-ds-3 hover:bg-ds-surface-2 hover:text-ds-1",
|
|
343
|
+
"aria-label": "Close",
|
|
344
|
+
children: /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_icons.CloseIcon, { className: "h-4 w-4" })
|
|
345
|
+
})]
|
|
346
|
+
}),
|
|
347
|
+
/* @__PURE__ */ (0, react_jsx_runtime.jsx)("div", {
|
|
348
|
+
className: "flex flex-wrap gap-2 px-5 pb-3",
|
|
349
|
+
children: RANGE_PRESETS.map((p) => presetBtn(p, false))
|
|
350
|
+
}),
|
|
351
|
+
/* @__PURE__ */ (0, react_jsx_runtime.jsx)("div", {
|
|
352
|
+
className: "flex-1 overflow-y-auto px-5 pb-4",
|
|
353
|
+
children: [
|
|
354
|
+
0,
|
|
355
|
+
1,
|
|
356
|
+
2
|
|
357
|
+
].map((offset) => {
|
|
358
|
+
const d = new Date(todayDate.getFullYear(), todayDate.getMonth() + offset, 1);
|
|
359
|
+
const m = d.getMonth();
|
|
360
|
+
const y = d.getFullYear();
|
|
361
|
+
return /* @__PURE__ */ (0, react_jsx_runtime.jsxs)("div", {
|
|
362
|
+
className: "mb-4",
|
|
363
|
+
children: [/* @__PURE__ */ (0, react_jsx_runtime.jsxs)("p", {
|
|
364
|
+
className: "mb-2 text-sm font-semibold text-ds-1",
|
|
365
|
+
children: [
|
|
366
|
+
SHORT_MONTHS[m],
|
|
367
|
+
" ",
|
|
368
|
+
y
|
|
369
|
+
]
|
|
370
|
+
}), /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_calendar.Calendar, {
|
|
371
|
+
className: INNER_CAL,
|
|
372
|
+
showNav: false,
|
|
373
|
+
selectionMode: "range",
|
|
374
|
+
month: m,
|
|
375
|
+
year: y,
|
|
376
|
+
range: rangeValue,
|
|
377
|
+
onRangeSelect: handleRangeSelect,
|
|
378
|
+
hoverDate,
|
|
379
|
+
onHoverDate: setHoverDate
|
|
380
|
+
})]
|
|
381
|
+
}, `${m}-${y}`);
|
|
382
|
+
})
|
|
383
|
+
}),
|
|
384
|
+
/* @__PURE__ */ (0, react_jsx_runtime.jsxs)("div", {
|
|
385
|
+
className: "flex gap-3 border-t border-ds-border-2 px-5 py-4",
|
|
386
|
+
children: [/* @__PURE__ */ (0, react_jsx_runtime.jsx)("button", {
|
|
387
|
+
type: "button",
|
|
388
|
+
onClick: () => updateValue({ ...emptyRange }),
|
|
389
|
+
className: "flex-1 rounded-lg border border-ds-border-2 bg-ds-surface-2 py-2.5 text-sm font-medium text-ds-2 transition-colors hover:bg-ds-surface-3 hover:text-ds-1",
|
|
390
|
+
children: "Clear"
|
|
391
|
+
}), /* @__PURE__ */ (0, react_jsx_runtime.jsx)("button", {
|
|
392
|
+
type: "button",
|
|
393
|
+
onClick: () => setOpen(false),
|
|
394
|
+
className: "flex-1 rounded-lg bg-ds-accent py-2.5 text-sm font-semibold text-ds-on-accent transition-opacity hover:opacity-90",
|
|
395
|
+
children: "Apply"
|
|
396
|
+
})]
|
|
397
|
+
})
|
|
398
|
+
]
|
|
399
|
+
})]
|
|
400
|
+
}), document.body) : null,
|
|
401
|
+
!isMobile && open && mode === "range" && !disabled && typeof document !== "undefined" ? (0, react_dom.createPortal)(/* @__PURE__ */ (0, react_jsx_runtime.jsxs)("div", {
|
|
402
|
+
className: "fixed inset-0 z-60",
|
|
403
|
+
children: [/* @__PURE__ */ (0, react_jsx_runtime.jsx)("div", {
|
|
404
|
+
className: "absolute inset-0",
|
|
405
|
+
"aria-hidden": "true",
|
|
406
|
+
onPointerDown: () => setOpen(false)
|
|
407
|
+
}), /* @__PURE__ */ (0, react_jsx_runtime.jsx)("div", {
|
|
408
|
+
ref: panelRef,
|
|
409
|
+
className: "dropdown-panel absolute z-10 overflow-hidden rounded-xl border border-ds-border-2 bg-ds-surface-1/95 shadow-xl backdrop-blur-xl",
|
|
410
|
+
style: {
|
|
411
|
+
top: panelPos.top,
|
|
412
|
+
left: panelPos.left
|
|
413
|
+
},
|
|
414
|
+
role: "dialog",
|
|
415
|
+
"aria-modal": "false",
|
|
416
|
+
onKeyDown: panelKeyDown,
|
|
417
|
+
tabIndex: -1,
|
|
418
|
+
children: /* @__PURE__ */ (0, react_jsx_runtime.jsxs)("div", {
|
|
419
|
+
className: "flex",
|
|
420
|
+
children: [/* @__PURE__ */ (0, react_jsx_runtime.jsxs)("div", {
|
|
421
|
+
className: "flex w-36 flex-col gap-0.5 border-r border-ds-border-2 p-2",
|
|
422
|
+
children: [/* @__PURE__ */ (0, react_jsx_runtime.jsx)("p", {
|
|
423
|
+
className: "mb-1 px-2 text-[10px] font-semibold uppercase tracking-wider text-ds-3",
|
|
424
|
+
children: "Quick select"
|
|
425
|
+
}), RANGE_PRESETS.map((p) => presetBtn(p, true))]
|
|
426
|
+
}), /* @__PURE__ */ (0, react_jsx_runtime.jsxs)("div", {
|
|
427
|
+
className: "p-4",
|
|
428
|
+
children: [/* @__PURE__ */ (0, react_jsx_runtime.jsxs)("div", {
|
|
429
|
+
className: "mb-3 flex items-center gap-2",
|
|
430
|
+
children: [
|
|
431
|
+
/* @__PURE__ */ (0, react_jsx_runtime.jsx)("input", {
|
|
432
|
+
type: "text",
|
|
433
|
+
value: startInput,
|
|
434
|
+
onChange: (e) => setStartInput(e.target.value),
|
|
435
|
+
onBlur: commitStartInput,
|
|
436
|
+
onKeyDown: (e) => {
|
|
437
|
+
if (e.key === "Enter") {
|
|
438
|
+
e.stopPropagation();
|
|
439
|
+
commitStartInput();
|
|
440
|
+
}
|
|
441
|
+
if (e.key === "Escape") setOpen(false);
|
|
442
|
+
},
|
|
443
|
+
placeholder: "Start date",
|
|
444
|
+
"aria-label": "Start date",
|
|
445
|
+
className: "w-32 rounded-md border border-ds-border-field bg-ds-surface-1 px-2.5 py-1.5 text-xs text-ds-1 placeholder:text-ds-3 transition-colors focus:border-ds-border-accent focus:outline-none"
|
|
446
|
+
}),
|
|
447
|
+
/* @__PURE__ */ (0, react_jsx_runtime.jsx)("span", {
|
|
448
|
+
className: "text-xs text-ds-3",
|
|
449
|
+
children: "→"
|
|
450
|
+
}),
|
|
451
|
+
/* @__PURE__ */ (0, react_jsx_runtime.jsx)("input", {
|
|
452
|
+
type: "text",
|
|
453
|
+
value: endInput,
|
|
454
|
+
onChange: (e) => setEndInput(e.target.value),
|
|
455
|
+
onBlur: commitEndInput,
|
|
456
|
+
onKeyDown: (e) => {
|
|
457
|
+
if (e.key === "Enter") {
|
|
458
|
+
e.stopPropagation();
|
|
459
|
+
commitEndInput();
|
|
460
|
+
}
|
|
461
|
+
if (e.key === "Escape") setOpen(false);
|
|
462
|
+
},
|
|
463
|
+
placeholder: "End date",
|
|
464
|
+
"aria-label": "End date",
|
|
465
|
+
className: "w-32 rounded-md border border-ds-border-field bg-ds-surface-1 px-2.5 py-1.5 text-xs text-ds-1 placeholder:text-ds-3 transition-colors focus:border-ds-border-accent focus:outline-none"
|
|
466
|
+
})
|
|
467
|
+
]
|
|
468
|
+
}), /* @__PURE__ */ (0, react_jsx_runtime.jsxs)("div", { children: [/* @__PURE__ */ (0, react_jsx_runtime.jsxs)("div", {
|
|
469
|
+
className: "mb-2 flex items-center justify-between",
|
|
470
|
+
children: [
|
|
471
|
+
/* @__PURE__ */ (0, react_jsx_runtime.jsx)("button", {
|
|
472
|
+
type: "button",
|
|
473
|
+
onClick: () => {
|
|
474
|
+
const d = new Date(leftYear, leftMonth - 1, 1);
|
|
475
|
+
setLeftMonth(d.getMonth());
|
|
476
|
+
setLeftYear(d.getFullYear());
|
|
477
|
+
},
|
|
478
|
+
className: "inline-flex h-7 w-7 items-center justify-center rounded-md border border-ds-border-field bg-ds-surface-1 text-sm text-ds-2 transition-colors hover:border-ds-border-accent hover:text-ds-1",
|
|
479
|
+
"aria-label": "Previous month",
|
|
480
|
+
children: "←"
|
|
481
|
+
}),
|
|
482
|
+
/* @__PURE__ */ (0, react_jsx_runtime.jsxs)("div", {
|
|
483
|
+
className: "flex flex-1 justify-around px-2",
|
|
484
|
+
children: [/* @__PURE__ */ (0, react_jsx_runtime.jsxs)("span", {
|
|
485
|
+
className: "text-sm font-semibold text-ds-1",
|
|
486
|
+
children: [
|
|
487
|
+
SHORT_MONTHS[leftMonth],
|
|
488
|
+
" ",
|
|
489
|
+
leftYear
|
|
490
|
+
]
|
|
491
|
+
}), /* @__PURE__ */ (0, react_jsx_runtime.jsxs)("span", {
|
|
492
|
+
className: "text-sm font-semibold text-ds-1",
|
|
493
|
+
children: [
|
|
494
|
+
SHORT_MONTHS[rightMonth],
|
|
495
|
+
" ",
|
|
496
|
+
rightYear
|
|
497
|
+
]
|
|
498
|
+
})]
|
|
499
|
+
}),
|
|
500
|
+
/* @__PURE__ */ (0, react_jsx_runtime.jsx)("button", {
|
|
501
|
+
type: "button",
|
|
502
|
+
onClick: () => {
|
|
503
|
+
const d = new Date(leftYear, leftMonth + 1, 1);
|
|
504
|
+
setLeftMonth(d.getMonth());
|
|
505
|
+
setLeftYear(d.getFullYear());
|
|
506
|
+
},
|
|
507
|
+
className: "inline-flex h-7 w-7 items-center justify-center rounded-md border border-ds-border-field bg-ds-surface-1 text-sm text-ds-2 transition-colors hover:border-ds-border-accent hover:text-ds-1",
|
|
508
|
+
"aria-label": "Next month",
|
|
509
|
+
children: "→"
|
|
510
|
+
})
|
|
511
|
+
]
|
|
512
|
+
}), /* @__PURE__ */ (0, react_jsx_runtime.jsxs)("div", {
|
|
513
|
+
className: "flex gap-5",
|
|
514
|
+
children: [
|
|
515
|
+
/* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_calendar.Calendar, {
|
|
516
|
+
className: INNER_CAL,
|
|
517
|
+
showNav: false,
|
|
518
|
+
selectionMode: "range",
|
|
519
|
+
month: leftMonth,
|
|
520
|
+
year: leftYear,
|
|
521
|
+
range: rangeValue,
|
|
522
|
+
onRangeSelect: handleRangeSelect,
|
|
523
|
+
hoverDate,
|
|
524
|
+
onHoverDate: setHoverDate
|
|
525
|
+
}),
|
|
526
|
+
/* @__PURE__ */ (0, react_jsx_runtime.jsx)("div", { className: "w-px self-stretch bg-ds-border-2" }),
|
|
527
|
+
/* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_calendar.Calendar, {
|
|
528
|
+
className: INNER_CAL,
|
|
529
|
+
showNav: false,
|
|
530
|
+
selectionMode: "range",
|
|
531
|
+
month: rightMonth,
|
|
532
|
+
year: rightYear,
|
|
533
|
+
range: rangeValue,
|
|
534
|
+
onRangeSelect: handleRangeSelect,
|
|
535
|
+
hoverDate,
|
|
536
|
+
onHoverDate: setHoverDate
|
|
537
|
+
})
|
|
538
|
+
]
|
|
539
|
+
})] })]
|
|
540
|
+
})]
|
|
541
|
+
})
|
|
542
|
+
})]
|
|
543
|
+
}), document.body) : null,
|
|
544
|
+
open && mode === "single" && !disabled && typeof document !== "undefined" ? (0, react_dom.createPortal)(/* @__PURE__ */ (0, react_jsx_runtime.jsxs)("div", {
|
|
545
|
+
className: "fixed inset-0 z-60",
|
|
546
|
+
children: [/* @__PURE__ */ (0, react_jsx_runtime.jsx)("div", {
|
|
547
|
+
className: "absolute inset-0",
|
|
548
|
+
"aria-hidden": "true",
|
|
549
|
+
onPointerDown: () => setOpen(false)
|
|
550
|
+
}), /* @__PURE__ */ (0, react_jsx_runtime.jsxs)("div", {
|
|
551
|
+
ref: panelRef,
|
|
552
|
+
className: "dropdown-panel absolute z-10",
|
|
553
|
+
style: {
|
|
554
|
+
top: panelPos.top,
|
|
555
|
+
left: panelPos.left,
|
|
556
|
+
minWidth: panelPos.minWidth
|
|
557
|
+
},
|
|
558
|
+
role: "dialog",
|
|
559
|
+
"aria-modal": "false",
|
|
560
|
+
onKeyDown: panelKeyDown,
|
|
561
|
+
children: [/* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_calendar.Calendar, {
|
|
562
|
+
value: singleValue ?? null,
|
|
563
|
+
selectionMode: "single",
|
|
564
|
+
onSelect: (date) => {
|
|
565
|
+
updateValue(date);
|
|
566
|
+
setOpen(false);
|
|
567
|
+
}
|
|
568
|
+
}), presets?.length ? /* @__PURE__ */ (0, react_jsx_runtime.jsx)("div", {
|
|
569
|
+
className: "mt-3 flex flex-wrap gap-2 rounded-lg border border-ds-border-2 bg-ds-surface-1/95 p-3 shadow-xl backdrop-blur-xl",
|
|
570
|
+
children: presets.map((p) => /* @__PURE__ */ (0, react_jsx_runtime.jsx)("button", {
|
|
571
|
+
type: "button",
|
|
572
|
+
className: "rounded-full border border-ds-border-field px-3 py-1 text-xs text-ds-2 transition-colors hover:border-ds-border-accent hover:bg-ds-accent-subtle hover:text-ds-1",
|
|
573
|
+
onClick: () => {
|
|
574
|
+
updateValue(p.value());
|
|
575
|
+
setOpen(false);
|
|
576
|
+
},
|
|
577
|
+
children: p.label
|
|
578
|
+
}, p.label))
|
|
579
|
+
}) : null]
|
|
580
|
+
})]
|
|
581
|
+
}), document.body) : null
|
|
582
|
+
] });
|
|
583
|
+
};
|
|
584
|
+
//#endregion
|
|
585
|
+
Object.defineProperty(exports, "DatePicker", {
|
|
586
|
+
enumerable: true,
|
|
587
|
+
get: function() {
|
|
588
|
+
return DatePicker;
|
|
589
|
+
}
|
|
590
|
+
});
|
|
591
|
+
|
|
592
|
+
//# sourceMappingURL=date-picker-BJQdFyqr.cjs.map
|