erp-pro-ui 0.2.4 → 0.2.6
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 +14 -0
- package/dist/catalog.cjs.map +1 -1
- package/dist/catalog.d.ts +25 -1
- package/dist/catalog.d.ts.map +1 -1
- package/dist/catalog.mjs +14 -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-D07dGN6R.cjs → Drawer-D72Xi2Gq.cjs} +2 -2
- package/dist/chunks/{drawer-D07dGN6R.cjs.map → Drawer-D72Xi2Gq.cjs.map} +1 -1
- package/dist/chunks/{drawer-DaoAXL-w.mjs → Drawer-Y0_sJni5.mjs} +2 -2
- package/dist/chunks/{drawer-DaoAXL-w.mjs.map → Drawer-Y0_sJni5.mjs.map} +1 -1
- package/dist/chunks/{DropdownMenu-BtTOri-A.mjs → DropdownMenu-BQ4WlaGp.mjs} +1 -1
- package/dist/chunks/{DropdownMenu-BtTOri-A.mjs.map → DropdownMenu-BQ4WlaGp.mjs.map} +1 -1
- package/dist/chunks/{DropdownMenu-BDrNYO-D.cjs → DropdownMenu-yh04burS.cjs} +1 -1
- package/dist/chunks/{DropdownMenu-BDrNYO-D.cjs.map → DropdownMenu-yh04burS.cjs.map} +1 -1
- package/dist/chunks/EllipsisVerticalIcon-BJw3MNkg.cjs +51 -0
- package/dist/chunks/EllipsisVerticalIcon-BJw3MNkg.cjs.map +1 -0
- package/dist/chunks/EllipsisVerticalIcon-C2b2KMfE.mjs +45 -0
- package/dist/chunks/EllipsisVerticalIcon-C2b2KMfE.mjs.map +1 -0
- package/dist/chunks/{HoverBorderGradient-NbdXeLgC.mjs → HoverBorderGradient-DEtm3owk.mjs} +1 -1
- package/dist/chunks/{HoverBorderGradient-NbdXeLgC.mjs.map → HoverBorderGradient-DEtm3owk.mjs.map} +1 -1
- package/dist/chunks/{HoverBorderGradient-9pfvBoHR.cjs → HoverBorderGradient-DMMyr2L3.cjs} +1 -1
- package/dist/chunks/{HoverBorderGradient-9pfvBoHR.cjs.map → HoverBorderGradient-DMMyr2L3.cjs.map} +1 -1
- package/dist/chunks/{SunToMoonButton-BkEfkElJ.mjs → SunToMoonButton-BOKHzC1H.mjs} +1 -1
- package/dist/chunks/{SunToMoonButton-BkEfkElJ.mjs.map → SunToMoonButton-BOKHzC1H.mjs.map} +1 -1
- package/dist/chunks/{SunToMoonButton-jS4BJD9q.cjs → SunToMoonButton-gX4Kk_5B.cjs} +1 -1
- package/dist/chunks/{SunToMoonButton-jS4BJD9q.cjs.map → SunToMoonButton-gX4Kk_5B.cjs.map} +1 -1
- package/dist/chunks/{Tooltip-DK3B879v.mjs → Tooltip-LbOKP__2.mjs} +10 -7
- package/dist/chunks/Tooltip-LbOKP__2.mjs.map +1 -0
- package/dist/chunks/{Tooltip-DD30yj3A.cjs → Tooltip-nnaiqJTT.cjs} +10 -7
- package/dist/chunks/Tooltip-nnaiqJTT.cjs.map +1 -0
- package/dist/chunks/{accordion-CmB6EidC.cjs → accordion-Bj3Sj0mC.cjs} +2 -2
- package/dist/chunks/{accordion-CmB6EidC.cjs.map → accordion-Bj3Sj0mC.cjs.map} +1 -1
- package/dist/chunks/{accordion-6zxJUYXr.mjs → accordion-CLcjNX_X.mjs} +2 -2
- package/dist/chunks/{accordion-6zxJUYXr.mjs.map → accordion-CLcjNX_X.mjs.map} +1 -1
- package/dist/chunks/{alert-C5KEeQqh.cjs → alert-BBA4Sh4e.cjs} +2 -2
- package/dist/chunks/{alert-C5KEeQqh.cjs.map → alert-BBA4Sh4e.cjs.map} +1 -1
- package/dist/chunks/{alert-XVmYJgds.mjs → alert-oUz79MGc.mjs} +2 -2
- package/dist/chunks/{alert-XVmYJgds.mjs.map → alert-oUz79MGc.mjs.map} +1 -1
- package/dist/chunks/{animated-content-CLsFnjgr.cjs → animated-content-B3wbiWQI.cjs} +1 -1
- package/dist/chunks/{animated-content-CLsFnjgr.cjs.map → animated-content-B3wbiWQI.cjs.map} +1 -1
- package/dist/chunks/{animated-content-bK6xp-vc.mjs → animated-content-CiNJLgbq.mjs} +1 -1
- package/dist/chunks/{animated-content-bK6xp-vc.mjs.map → animated-content-CiNJLgbq.mjs.map} +1 -1
- package/dist/chunks/{ascii-text-Bdy4C5rU.mjs → ascii-text-C6JegLhP.mjs} +1 -1
- package/dist/chunks/{ascii-text-Bdy4C5rU.mjs.map → ascii-text-C6JegLhP.mjs.map} +1 -1
- package/dist/chunks/{ascii-text-BFnpVur6.cjs → ascii-text-KwVE41Hw.cjs} +1 -1
- package/dist/chunks/{ascii-text-BFnpVur6.cjs.map → ascii-text-KwVE41Hw.cjs.map} +1 -1
- package/dist/chunks/{background-gradient-animation-CiNdmA61.cjs → background-gradient-animation-1LZY3DYT.cjs} +1 -1
- package/dist/chunks/{background-gradient-animation-CiNdmA61.cjs.map → background-gradient-animation-1LZY3DYT.cjs.map} +1 -1
- package/dist/chunks/{background-gradient-animation-BR9wx6Z8.mjs → background-gradient-animation-CTc2ZR74.mjs} +1 -1
- package/dist/chunks/{background-gradient-animation-BR9wx6Z8.mjs.map → background-gradient-animation-CTc2ZR74.mjs.map} +1 -1
- package/dist/chunks/{button-A6UTvrOu.mjs → button-IDShmQqA.mjs} +3 -2
- package/dist/chunks/button-IDShmQqA.mjs.map +1 -0
- package/dist/chunks/{button-hover-border-gradient-DnFvjNNw.mjs → button-hover-border-gradient-B2ebbDek.mjs} +2 -2
- package/dist/chunks/{button-hover-border-gradient-DnFvjNNw.mjs.map → button-hover-border-gradient-B2ebbDek.mjs.map} +1 -1
- package/dist/chunks/{button-hover-border-gradient-ssmwU5-U.cjs → button-hover-border-gradient-DGZqd8je.cjs} +2 -2
- package/dist/chunks/{button-hover-border-gradient-ssmwU5-U.cjs.map → button-hover-border-gradient-DGZqd8je.cjs.map} +1 -1
- package/dist/chunks/{button-C4MXPxsC.cjs → button-uD87K76W.cjs} +3 -2
- package/dist/chunks/button-uD87K76W.cjs.map +1 -0
- package/dist/chunks/{calendar-CQJgQ5H_.cjs → calendar-DCkikZYb.cjs} +2 -2
- package/dist/chunks/{calendar-CQJgQ5H_.cjs.map → calendar-DCkikZYb.cjs.map} +1 -1
- package/dist/chunks/{calendar-5XzPqKbE.mjs → calendar-FxAmm_ao.mjs} +2 -2
- package/dist/chunks/{calendar-5XzPqKbE.mjs.map → calendar-FxAmm_ao.mjs.map} +1 -1
- package/dist/chunks/{card-RrT68nvu.cjs → card-Cuud0jIt.cjs} +1 -1
- package/dist/chunks/{card-RrT68nvu.cjs.map → card-Cuud0jIt.cjs.map} +1 -1
- package/dist/chunks/{card-BId1_zHw.mjs → card-DNeC6jqk.mjs} +1 -1
- package/dist/chunks/{card-BId1_zHw.mjs.map → card-DNeC6jqk.mjs.map} +1 -1
- package/dist/chunks/{carousel-Dd4rp-jr.mjs → carousel-Dpe5QLJK.mjs} +2 -2
- package/dist/chunks/{carousel-Dd4rp-jr.mjs.map → carousel-Dpe5QLJK.mjs.map} +1 -1
- package/dist/chunks/{carousel-Cv0m1Pp5.cjs → carousel-xHkrV_pt.cjs} +2 -2
- package/dist/chunks/{carousel-Cv0m1Pp5.cjs.map → carousel-xHkrV_pt.cjs.map} +1 -1
- package/dist/chunks/chartStyles-BADmRKZo.cjs +108 -0
- package/dist/chunks/chartStyles-BADmRKZo.cjs.map +1 -0
- package/dist/chunks/chartStyles-DPXgYmGn.mjs +55 -0
- package/dist/chunks/chartStyles-DPXgYmGn.mjs.map +1 -0
- package/dist/chunks/{charts-DkVu0rFc.mjs → charts-C-KQ3Nk5.mjs} +3 -54
- package/dist/chunks/charts-C-KQ3Nk5.mjs.map +1 -0
- package/dist/chunks/{charts-BmIV-mJy.cjs → charts-COx3IbI2.cjs} +42 -93
- package/dist/chunks/charts-COx3IbI2.cjs.map +1 -0
- package/dist/chunks/{checkbox-D8ivRZ1x.cjs → checkbox-CDknzh89.cjs} +1 -1
- package/dist/chunks/{checkbox-D8ivRZ1x.cjs.map → checkbox-CDknzh89.cjs.map} +1 -1
- package/dist/chunks/{checkbox-3aB7XC9_.mjs → checkbox-Y04NlzB8.mjs} +1 -1
- package/dist/chunks/{checkbox-3aB7XC9_.mjs.map → checkbox-Y04NlzB8.mjs.map} +1 -1
- package/dist/chunks/{chip-CqcdcSs2.mjs → chip-B3j6R6sO.mjs} +3 -3
- package/dist/chunks/{chip-CqcdcSs2.mjs.map → chip-B3j6R6sO.mjs.map} +1 -1
- package/dist/chunks/{chip-B0YzBwkz.cjs → chip-sfQlzrbo.cjs} +3 -3
- package/dist/chunks/{chip-B0YzBwkz.cjs.map → chip-sfQlzrbo.cjs.map} +1 -1
- package/dist/chunks/{chroma-grid-opB2DBtS.mjs → chroma-grid-BHS9qAn_.mjs} +1 -1
- package/dist/chunks/{chroma-grid-opB2DBtS.mjs.map → chroma-grid-BHS9qAn_.mjs.map} +1 -1
- package/dist/chunks/{chroma-grid-DcZ9f4Ui.cjs → chroma-grid-Bp55pKEm.cjs} +1 -1
- package/dist/chunks/{chroma-grid-DcZ9f4Ui.cjs.map → chroma-grid-Bp55pKEm.cjs.map} +1 -1
- package/dist/chunks/{color-palette-C3lesasJ.mjs → color-palette-D9Qlw2Cx.mjs} +1 -1
- package/dist/chunks/{color-palette-C3lesasJ.mjs.map → color-palette-D9Qlw2Cx.mjs.map} +1 -1
- package/dist/chunks/{color-palette-pLh6En3n.cjs → color-palette-Duud5Iqq.cjs} +1 -1
- package/dist/chunks/{color-palette-pLh6En3n.cjs.map → color-palette-Duud5Iqq.cjs.map} +1 -1
- package/dist/chunks/{combobox-CtNrGmuR.cjs → combobox-C3a2iogC.cjs} +4 -4
- package/dist/chunks/{combobox-CtNrGmuR.cjs.map → combobox-C3a2iogC.cjs.map} +1 -1
- package/dist/chunks/{combobox-B6yk5U82.mjs → combobox-neBItbtz.mjs} +4 -4
- package/dist/chunks/{combobox-B6yk5U82.mjs.map → combobox-neBItbtz.mjs.map} +1 -1
- package/dist/chunks/dashboard-cards-BnPt0gDW.mjs +2428 -0
- package/dist/chunks/dashboard-cards-BnPt0gDW.mjs.map +1 -0
- package/dist/chunks/dashboard-cards-DNWJPKRu.cjs +2524 -0
- package/dist/chunks/dashboard-cards-DNWJPKRu.cjs.map +1 -0
- package/dist/chunks/{data-table-fAEuevPn.cjs → data-table-BZEiSZI2.cjs} +48 -36
- package/dist/chunks/data-table-BZEiSZI2.cjs.map +1 -0
- package/dist/chunks/{data-table-Dtf6lKpp.mjs → data-table-EfGKkerd.mjs} +47 -35
- package/dist/chunks/data-table-EfGKkerd.mjs.map +1 -0
- package/dist/chunks/{date-picker-BmQ0rgwH.mjs → date-picker-3IDSmb9Z.mjs} +3 -3
- package/dist/chunks/{date-picker-BmQ0rgwH.mjs.map → date-picker-3IDSmb9Z.mjs.map} +1 -1
- package/dist/chunks/{date-picker-qpUZMtZC.cjs → date-picker-_EVYpGga.cjs} +3 -3
- package/dist/chunks/{date-picker-qpUZMtZC.cjs.map → date-picker-_EVYpGga.cjs.map} +1 -1
- package/dist/chunks/{dialog-DSyq6MS3.mjs → dialog-B60BjJz0.mjs} +3 -3
- package/dist/chunks/{dialog-DSyq6MS3.mjs.map → dialog-B60BjJz0.mjs.map} +1 -1
- package/dist/chunks/{dialog-J2ZTSTpL.cjs → dialog-i9LdkXmF.cjs} +3 -3
- package/dist/chunks/{dialog-J2ZTSTpL.cjs.map → dialog-i9LdkXmF.cjs.map} +1 -1
- package/dist/chunks/event-calendar-BbFOUDov.mjs +1191 -0
- package/dist/chunks/event-calendar-BbFOUDov.mjs.map +1 -0
- package/dist/chunks/event-calendar-Bljd_7PI.cjs +1209 -0
- package/dist/chunks/event-calendar-Bljd_7PI.cjs.map +1 -0
- package/dist/chunks/{form-CtZ6U-_B.mjs → form-CDc9UM3r.mjs} +1 -1
- package/dist/chunks/{form-CtZ6U-_B.mjs.map → form-CDc9UM3r.mjs.map} +1 -1
- package/dist/chunks/{form-X6Vyaavl.cjs → form-DGwdlSW2.cjs} +1 -1
- package/dist/chunks/{form-X6Vyaavl.cjs.map → form-DGwdlSW2.cjs.map} +1 -1
- package/dist/chunks/{gradual-blur-C6NOnjTw.cjs → gradual-blur-BNYVlqb1.cjs} +1 -1
- package/dist/chunks/{gradual-blur-C6NOnjTw.cjs.map → gradual-blur-BNYVlqb1.cjs.map} +1 -1
- package/dist/chunks/{gradual-blur-DXfxpCdB.mjs → gradual-blur-Bw2KNmXb.mjs} +1 -1
- package/dist/chunks/{gradual-blur-DXfxpCdB.mjs.map → gradual-blur-Bw2KNmXb.mjs.map} +1 -1
- package/dist/chunks/{hover-card--rplmsA_.cjs → hover-card-Dp6Y2h2J.cjs} +1 -1
- package/dist/chunks/{hover-card--rplmsA_.cjs.map → hover-card-Dp6Y2h2J.cjs.map} +1 -1
- package/dist/chunks/{hover-card-C88rU-nW.mjs → hover-card-G66SUyjq.mjs} +1 -1
- package/dist/chunks/{hover-card-C88rU-nW.mjs.map → hover-card-G66SUyjq.mjs.map} +1 -1
- package/dist/chunks/{icons-bx3nrxNv.mjs → icons-JzMKLygv.mjs} +2 -43
- package/dist/chunks/icons-JzMKLygv.mjs.map +1 -0
- package/dist/chunks/{icons-CRanVZB1.cjs → icons-ub9iu-JG.cjs} +1 -48
- package/dist/chunks/icons-ub9iu-JG.cjs.map +1 -0
- package/dist/chunks/{input-Bqo9Q5zF.mjs → input-CRc3MKb_.mjs} +3 -3
- package/dist/chunks/{input-Bqo9Q5zF.mjs.map → input-CRc3MKb_.mjs.map} +1 -1
- package/dist/chunks/{input-DkCPyWXi.cjs → input-DMTwz27q.cjs} +3 -3
- package/dist/chunks/{input-DkCPyWXi.cjs.map → input-DMTwz27q.cjs.map} +1 -1
- package/dist/chunks/{label-BKzqfAAq.cjs → label-B5Ugq0Nk.cjs} +1 -1
- package/dist/chunks/{label-BKzqfAAq.cjs.map → label-B5Ugq0Nk.cjs.map} +1 -1
- package/dist/chunks/{label-Drxg0cG2.mjs → label-Bc_r54NU.mjs} +1 -1
- package/dist/chunks/{label-Drxg0cG2.mjs.map → label-Bc_r54NU.mjs.map} +1 -1
- package/dist/chunks/{loading-BiM4mKh6.cjs → loading-DZKJc3e7.cjs} +2 -2
- package/dist/chunks/{loading-BiM4mKh6.cjs.map → loading-DZKJc3e7.cjs.map} +1 -1
- package/dist/chunks/{loading-Dtosnb4A.mjs → loading-ll2L6lc7.mjs} +2 -2
- package/dist/chunks/{loading-Dtosnb4A.mjs.map → loading-ll2L6lc7.mjs.map} +1 -1
- package/dist/chunks/{multi-select-combobox-C0DoDzxQ.cjs → multi-select-combobox-CFJGq1hn.cjs} +3 -3
- package/dist/chunks/{multi-select-combobox-C0DoDzxQ.cjs.map → multi-select-combobox-CFJGq1hn.cjs.map} +1 -1
- package/dist/chunks/{multi-select-combobox-Do23ZfOQ.mjs → multi-select-combobox-C_8sxaiL.mjs} +3 -3
- package/dist/chunks/{multi-select-combobox-Do23ZfOQ.mjs.map → multi-select-combobox-C_8sxaiL.mjs.map} +1 -1
- package/dist/chunks/{otp-input-CkhV-sGl.cjs → otp-input-B5-tuc0q.cjs} +1 -1
- package/dist/chunks/{otp-input-CkhV-sGl.cjs.map → otp-input-B5-tuc0q.cjs.map} +1 -1
- package/dist/chunks/{otp-input-JOysxKfD.mjs → otp-input-BpcTJOmU.mjs} +1 -1
- package/dist/chunks/{otp-input-JOysxKfD.mjs.map → otp-input-BpcTJOmU.mjs.map} +1 -1
- package/dist/chunks/{overlay-BzkUmjQ-.mjs → overlay-CG1dMYtO.mjs} +1 -1
- package/dist/chunks/{overlay-BzkUmjQ-.mjs.map → overlay-CG1dMYtO.mjs.map} +1 -1
- package/dist/chunks/{overlay-DNnZywyR.cjs → overlay-DzE_GyYf.cjs} +1 -1
- package/dist/chunks/{overlay-DNnZywyR.cjs.map → overlay-DzE_GyYf.cjs.map} +1 -1
- package/dist/chunks/{password-strength-meter-BsvqQBAg.mjs → password-strength-meter-CH6uQAuK.mjs} +2 -2
- package/dist/chunks/{password-strength-meter-BsvqQBAg.mjs.map → password-strength-meter-CH6uQAuK.mjs.map} +1 -1
- package/dist/chunks/{password-strength-meter-DCi_BP7e.cjs → password-strength-meter-_o1T1HLO.cjs} +2 -2
- package/dist/chunks/{password-strength-meter-DCi_BP7e.cjs.map → password-strength-meter-_o1T1HLO.cjs.map} +1 -1
- package/dist/chunks/{progress-bar-DQ5ZKk2Y.mjs → progress-bar-BAvRSW1b.mjs} +1 -1
- package/dist/chunks/{progress-bar-DQ5ZKk2Y.mjs.map → progress-bar-BAvRSW1b.mjs.map} +1 -1
- package/dist/chunks/{progress-bar-CYaBO_lS.cjs → progress-bar-FfdFVvTT.cjs} +1 -1
- package/dist/chunks/{progress-bar-CYaBO_lS.cjs.map → progress-bar-FfdFVvTT.cjs.map} +1 -1
- package/dist/chunks/{radio-CuiM_gDv.mjs → radio-BMOnxnUS.mjs} +1 -1
- package/dist/chunks/{radio-CuiM_gDv.mjs.map → radio-BMOnxnUS.mjs.map} +1 -1
- package/dist/chunks/{radio-zx9xEW_C.cjs → radio-wagafWwx.cjs} +1 -1
- package/dist/chunks/{radio-zx9xEW_C.cjs.map → radio-wagafWwx.cjs.map} +1 -1
- package/dist/chunks/{select-CUaSNR09.mjs → select--DeSgPdn.mjs} +4 -4
- package/dist/chunks/{select-CUaSNR09.mjs.map → select--DeSgPdn.mjs.map} +1 -1
- package/dist/chunks/{select-bZ9WqLOc.cjs → select-zFFyNmlY.cjs} +4 -4
- package/dist/chunks/{select-bZ9WqLOc.cjs.map → select-zFFyNmlY.cjs.map} +1 -1
- package/dist/chunks/{sidebar-Kkr45nuN.cjs → sidebar-Cq7UbKJT.cjs} +18 -21
- package/dist/chunks/sidebar-Cq7UbKJT.cjs.map +1 -0
- package/dist/chunks/{sidebar-DYEDFV2u.mjs → sidebar-oemmRzCL.mjs} +18 -21
- package/dist/chunks/sidebar-oemmRzCL.mjs.map +1 -0
- package/dist/chunks/{skeleton-nH1eAN96.mjs → skeleton-BsDMlWZG.mjs} +1 -1
- package/dist/chunks/{skeleton-nH1eAN96.mjs.map → skeleton-BsDMlWZG.mjs.map} +1 -1
- package/dist/chunks/{skeleton-DCBGLNAZ.cjs → skeleton-DWvVc17T.cjs} +1 -1
- package/dist/chunks/{skeleton-DCBGLNAZ.cjs.map → skeleton-DWvVc17T.cjs.map} +1 -1
- package/dist/chunks/{spinners-C9acUulz.cjs → spinners-DBAJliAj.cjs} +2 -2
- package/dist/chunks/{spinners-C9acUulz.cjs.map → spinners-DBAJliAj.cjs.map} +1 -1
- package/dist/chunks/{spinners-g6_Up5Rb.mjs → spinners-DlMcokJa.mjs} +2 -2
- package/dist/chunks/{spinners-g6_Up5Rb.mjs.map → spinners-DlMcokJa.mjs.map} +1 -1
- package/dist/chunks/{splash-cursor-N4FdnkOa.mjs → splash-cursor-Bb7LSzaO.mjs} +1 -1
- package/dist/chunks/{splash-cursor-N4FdnkOa.mjs.map → splash-cursor-Bb7LSzaO.mjs.map} +1 -1
- package/dist/chunks/{splash-cursor-BqG7ClsJ.cjs → splash-cursor-CQ6_HwHV.cjs} +1 -1
- package/dist/chunks/{splash-cursor-BqG7ClsJ.cjs.map → splash-cursor-CQ6_HwHV.cjs.map} +1 -1
- package/dist/chunks/{spotlight-card-D9Z3nTmb.mjs → spotlight-card-Bs0iiSLc.mjs} +1 -1
- package/dist/chunks/{spotlight-card-D9Z3nTmb.mjs.map → spotlight-card-Bs0iiSLc.mjs.map} +1 -1
- package/dist/chunks/{spotlight-card-BmsqC7wm.cjs → spotlight-card-COfSD7ns.cjs} +1 -1
- package/dist/chunks/{spotlight-card-BmsqC7wm.cjs.map → spotlight-card-COfSD7ns.cjs.map} +1 -1
- package/dist/chunks/{stepper-Jv5OS1nY.mjs → stepper-B9NdZ6ZV.mjs} +4 -4
- package/dist/chunks/{stepper-Jv5OS1nY.mjs.map → stepper-B9NdZ6ZV.mjs.map} +1 -1
- package/dist/chunks/{stepper-DepvEGfr.cjs → stepper-CTteR-Kj.cjs} +4 -4
- package/dist/chunks/{stepper-DepvEGfr.cjs.map → stepper-CTteR-Kj.cjs.map} +1 -1
- package/dist/chunks/{sun-to-moon-button-BJtBEaa3.mjs → sun-to-moon-button-DWHDpP5B.mjs} +2 -2
- package/dist/chunks/{sun-to-moon-button-BJtBEaa3.mjs.map → sun-to-moon-button-DWHDpP5B.mjs.map} +1 -1
- package/dist/chunks/{sun-to-moon-button-PwgTPsTW.cjs → sun-to-moon-button-lt-1vmWm.cjs} +2 -2
- package/dist/chunks/{sun-to-moon-button-PwgTPsTW.cjs.map → sun-to-moon-button-lt-1vmWm.cjs.map} +1 -1
- package/dist/chunks/{switch-iPsN1NS2.mjs → switch--68scepb.mjs} +1 -1
- package/dist/chunks/{switch-iPsN1NS2.mjs.map → switch--68scepb.mjs.map} +1 -1
- package/dist/chunks/{switch-X3l8xnle.cjs → switch-BbFl5b4t.cjs} +1 -1
- package/dist/chunks/{switch-X3l8xnle.cjs.map → switch-BbFl5b4t.cjs.map} +1 -1
- package/dist/chunks/{textarea-Bdo-Trvi.mjs → textarea-CEj9voUJ.mjs} +1 -1
- package/dist/chunks/{textarea-Bdo-Trvi.mjs.map → textarea-CEj9voUJ.mjs.map} +1 -1
- package/dist/chunks/{textarea-CGRl2hrM.cjs → textarea-U_JeSWI3.cjs} +1 -1
- package/dist/chunks/{textarea-CGRl2hrM.cjs.map → textarea-U_JeSWI3.cjs.map} +1 -1
- package/dist/chunks/{toast-DiFgv3IL.cjs → toast-2yq4Q7-q.cjs} +2 -2
- package/dist/chunks/{toast-DiFgv3IL.cjs.map → toast-2yq4Q7-q.cjs.map} +1 -1
- package/dist/chunks/{toast-BcBidy5n.mjs → toast-CyY8VZN7.mjs} +2 -2
- package/dist/chunks/{toast-BcBidy5n.mjs.map → toast-CyY8VZN7.mjs.map} +1 -1
- package/dist/chunks/{truncated-text-BIXqNfOL.cjs → truncated-text-CswjmrHZ.cjs} +1 -1
- package/dist/chunks/{truncated-text-BIXqNfOL.cjs.map → truncated-text-CswjmrHZ.cjs.map} +1 -1
- package/dist/chunks/{truncated-text-C9t9o9IA.mjs → truncated-text-DUYTW1KP.mjs} +1 -1
- package/dist/chunks/{truncated-text-C9t9o9IA.mjs.map → truncated-text-DUYTW1KP.mjs.map} +1 -1
- package/dist/chunks/{typography-LwwY_MOy.cjs → typography-CFIiYk1d.cjs} +1 -1
- package/dist/chunks/{typography-LwwY_MOy.cjs.map → typography-CFIiYk1d.cjs.map} +1 -1
- package/dist/chunks/{typography-Ct-jDJP3.mjs → typography-DHE9sUZ8.mjs} +1 -1
- package/dist/chunks/{typography-Ct-jDJP3.mjs.map → typography-DHE9sUZ8.mjs.map} +1 -1
- 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/charts/chartPalette.d.ts +1 -1
- package/dist/components/data-display/dashboard-cards/DeviceSalesCard.d.ts +25 -0
- package/dist/components/data-display/dashboard-cards/DeviceSalesCard.d.ts.map +1 -0
- package/dist/components/data-display/dashboard-cards/EarningReportsTabsCard.d.ts +34 -0
- package/dist/components/data-display/dashboard-cards/EarningReportsTabsCard.d.ts.map +1 -0
- package/dist/components/data-display/dashboard-cards/EarningsCard.d.ts +43 -0
- package/dist/components/data-display/dashboard-cards/EarningsCard.d.ts.map +1 -0
- package/dist/components/data-display/dashboard-cards/ExpensesCard.d.ts +26 -0
- package/dist/components/data-display/dashboard-cards/ExpensesCard.d.ts.map +1 -0
- package/dist/components/data-display/dashboard-cards/IncomeExpenseCard.d.ts +30 -0
- package/dist/components/data-display/dashboard-cards/IncomeExpenseCard.d.ts.map +1 -0
- package/dist/components/data-display/dashboard-cards/RevenueGrowthCard.d.ts +26 -0
- package/dist/components/data-display/dashboard-cards/RevenueGrowthCard.d.ts.map +1 -0
- package/dist/components/data-display/dashboard-cards/SalesOverviewCard.d.ts +33 -0
- package/dist/components/data-display/dashboard-cards/SalesOverviewCard.d.ts.map +1 -0
- package/dist/components/data-display/dashboard-cards/ShipmentStatisticsCard.d.ts +33 -0
- package/dist/components/data-display/dashboard-cards/ShipmentStatisticsCard.d.ts.map +1 -0
- package/dist/components/data-display/dashboard-cards/StockAvailabilityCard.d.ts +24 -0
- package/dist/components/data-display/dashboard-cards/StockAvailabilityCard.d.ts.map +1 -0
- package/dist/components/data-display/dashboard-cards/SupportTrackerCard.d.ts +25 -0
- package/dist/components/data-display/dashboard-cards/SupportTrackerCard.d.ts.map +1 -0
- package/dist/components/data-display/dashboard-cards/TopicsCard.d.ts +18 -0
- package/dist/components/data-display/dashboard-cards/TopicsCard.d.ts.map +1 -0
- package/dist/components/data-display/dashboard-cards/VehicleConditionCard.d.ts +20 -0
- package/dist/components/data-display/dashboard-cards/VehicleConditionCard.d.ts.map +1 -0
- package/dist/components/data-display/dashboard-cards/VehiclesOverviewCard.d.ts +21 -0
- package/dist/components/data-display/dashboard-cards/VehiclesOverviewCard.d.ts.map +1 -0
- package/dist/components/data-display/dashboard-cards/index.d.ts +26 -0
- package/dist/components/data-display/dashboard-cards/index.d.ts.map +1 -1
- package/dist/components/data-display/data-table/DataTable.d.ts.map +1 -1
- package/dist/components/data-display/data-table/DataTableControls.d.ts.map +1 -1
- package/dist/components/data-display/event-calendar/AddEventPanel.d.ts +11 -0
- package/dist/components/data-display/event-calendar/AddEventPanel.d.ts.map +1 -0
- package/dist/components/data-display/event-calendar/CalendarHeader.d.ts +13 -0
- package/dist/components/data-display/event-calendar/CalendarHeader.d.ts.map +1 -0
- package/dist/components/data-display/event-calendar/CalendarSidebar.d.ts +13 -0
- package/dist/components/data-display/event-calendar/CalendarSidebar.d.ts.map +1 -0
- package/dist/components/data-display/event-calendar/EventCalendar.d.ts +3 -0
- package/dist/components/data-display/event-calendar/EventCalendar.d.ts.map +1 -0
- package/dist/components/data-display/event-calendar/EventDetailDrawer.d.ts +10 -0
- package/dist/components/data-display/event-calendar/EventDetailDrawer.d.ts.map +1 -0
- package/dist/components/data-display/event-calendar/EventFilterList.d.ts +9 -0
- package/dist/components/data-display/event-calendar/EventFilterList.d.ts.map +1 -0
- package/dist/components/data-display/event-calendar/EventPill.d.ts +10 -0
- package/dist/components/data-display/event-calendar/EventPill.d.ts.map +1 -0
- package/dist/components/data-display/event-calendar/MiniCalendarPicker.d.ts +9 -0
- package/dist/components/data-display/event-calendar/MiniCalendarPicker.d.ts.map +1 -0
- package/dist/components/data-display/event-calendar/calendarUtils.d.ts +27 -0
- package/dist/components/data-display/event-calendar/calendarUtils.d.ts.map +1 -0
- package/dist/components/data-display/event-calendar/index.d.ts +4 -0
- package/dist/components/data-display/event-calendar/index.d.ts.map +1 -0
- package/dist/components/data-display/event-calendar/types.d.ts +52 -0
- package/dist/components/data-display/event-calendar/types.d.ts.map +1 -0
- package/dist/components/data-display/event-calendar/views/DayView.d.ts +10 -0
- package/dist/components/data-display/event-calendar/views/DayView.d.ts.map +1 -0
- package/dist/components/data-display/event-calendar/views/ListView.d.ts +10 -0
- package/dist/components/data-display/event-calendar/views/ListView.d.ts.map +1 -0
- package/dist/components/data-display/event-calendar/views/MonthView.d.ts +11 -0
- package/dist/components/data-display/event-calendar/views/MonthView.d.ts.map +1 -0
- package/dist/components/data-display/event-calendar/views/WeekView.d.ts +10 -0
- package/dist/components/data-display/event-calendar/views/WeekView.d.ts.map +1 -0
- package/dist/components/forms/button/Button.d.ts.map +1 -1
- package/dist/components/navigation/sidebar/DashboardSidebarShell.d.ts +3 -1
- package/dist/components/navigation/sidebar/DashboardSidebarShell.d.ts.map +1 -1
- package/dist/components/navigation/sidebar/SidebarLinks.d.ts.map +1 -1
- package/dist/components/overlays/tooltip/Tooltip.d.ts +3 -1
- package/dist/components/overlays/tooltip/Tooltip.d.ts.map +1 -1
- package/dist/dashboard-cards.cjs +18 -0
- package/dist/dashboard-cards.d.ts +2 -0
- package/dist/dashboard-cards.mjs +2 -0
- 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 +31 -0
- package/dist/docs.cjs.map +1 -1
- package/dist/docs.d.ts.map +1 -1
- package/dist/docs.mjs +31 -0
- package/dist/docs.mjs.map +1 -1
- package/dist/drawer.cjs +2 -2
- package/dist/drawer.mjs +1 -1
- package/dist/event-calendar.cjs +5 -0
- package/dist/event-calendar.d.ts +2 -0
- package/dist/event-calendar.mjs +2 -0
- 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 +3 -2
- package/dist/icons.mjs +2 -1
- package/dist/index.cjs +74 -330
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.ts +5 -2
- package/dist/index.d.ts.map +1 -1
- package/dist/index.mjs +55 -327
- 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/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/package.json +17 -5
- package/dist/chunks/Tooltip-DD30yj3A.cjs.map +0 -1
- package/dist/chunks/Tooltip-DK3B879v.mjs.map +0 -1
- package/dist/chunks/button-A6UTvrOu.mjs.map +0 -1
- package/dist/chunks/button-C4MXPxsC.cjs.map +0 -1
- package/dist/chunks/charts-BmIV-mJy.cjs.map +0 -1
- package/dist/chunks/charts-DkVu0rFc.mjs.map +0 -1
- package/dist/chunks/data-table-Dtf6lKpp.mjs.map +0 -1
- package/dist/chunks/data-table-fAEuevPn.cjs.map +0 -1
- package/dist/chunks/icons-CRanVZB1.cjs.map +0 -1
- package/dist/chunks/icons-bx3nrxNv.mjs.map +0 -1
- package/dist/chunks/sidebar-DYEDFV2u.mjs.map +0 -1
- package/dist/chunks/sidebar-Kkr45nuN.cjs.map +0 -1
package/dist/index.cjs
CHANGED
|
@@ -2,56 +2,60 @@ Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
|
|
|
2
2
|
require("./chunks/chunk-B_GkZjkl.cjs");
|
|
3
3
|
const require_theme = require("./chunks/theme-D6B-FaoE.cjs");
|
|
4
4
|
const require_utils = require("./chunks/utils-LRbEQHYs.cjs");
|
|
5
|
-
const require_charts = require("./chunks/charts-
|
|
6
|
-
const require_truncated_text = require("./chunks/truncated-text-
|
|
7
|
-
const require_icons = require("./chunks/icons-
|
|
8
|
-
const
|
|
9
|
-
const
|
|
10
|
-
const
|
|
11
|
-
const
|
|
12
|
-
const
|
|
13
|
-
const
|
|
14
|
-
const
|
|
15
|
-
const
|
|
16
|
-
const
|
|
17
|
-
const
|
|
18
|
-
const
|
|
19
|
-
const
|
|
20
|
-
const
|
|
21
|
-
const
|
|
22
|
-
const
|
|
23
|
-
const
|
|
24
|
-
const
|
|
5
|
+
const require_charts = require("./chunks/charts-COx3IbI2.cjs");
|
|
6
|
+
const require_truncated_text = require("./chunks/truncated-text-CswjmrHZ.cjs");
|
|
7
|
+
const require_icons = require("./chunks/icons-ub9iu-JG.cjs");
|
|
8
|
+
const require_EllipsisVerticalIcon = require("./chunks/EllipsisVerticalIcon-BJw3MNkg.cjs");
|
|
9
|
+
const require_accordion = require("./chunks/accordion-Bj3Sj0mC.cjs");
|
|
10
|
+
const require_alert = require("./chunks/alert-BBA4Sh4e.cjs");
|
|
11
|
+
const require_animated_content = require("./chunks/animated-content-B3wbiWQI.cjs");
|
|
12
|
+
const require_background_gradient_animation = require("./chunks/background-gradient-animation-1LZY3DYT.cjs");
|
|
13
|
+
const require_button = require("./chunks/button-uD87K76W.cjs");
|
|
14
|
+
const require_HoverBorderGradient = require("./chunks/HoverBorderGradient-DMMyr2L3.cjs");
|
|
15
|
+
const require_button_hover_border_gradient = require("./chunks/button-hover-border-gradient-DGZqd8je.cjs");
|
|
16
|
+
const require_DropdownMenu = require("./chunks/DropdownMenu-yh04burS.cjs");
|
|
17
|
+
const require_select = require("./chunks/select-zFFyNmlY.cjs");
|
|
18
|
+
const require_calendar = require("./chunks/calendar-DCkikZYb.cjs");
|
|
19
|
+
const require_card = require("./chunks/card-Cuud0jIt.cjs");
|
|
20
|
+
const require_dashboard_cards = require("./chunks/dashboard-cards-DNWJPKRu.cjs");
|
|
21
|
+
const require_Tooltip = require("./chunks/Tooltip-nnaiqJTT.cjs");
|
|
22
|
+
const require_Drawer = require("./chunks/Drawer-D72Xi2Gq.cjs");
|
|
23
|
+
const require_event_calendar = require("./chunks/event-calendar-Bljd_7PI.cjs");
|
|
24
|
+
const require_checkbox = require("./chunks/checkbox-CDknzh89.cjs");
|
|
25
|
+
const require_input = require("./chunks/input-DMTwz27q.cjs");
|
|
26
|
+
const require_switch = require("./chunks/switch-BbFl5b4t.cjs");
|
|
27
|
+
const require_textarea = require("./chunks/textarea-U_JeSWI3.cjs");
|
|
28
|
+
const require_carousel = require("./chunks/carousel-xHkrV_pt.cjs");
|
|
29
|
+
const require_sidebar = require("./chunks/sidebar-Cq7UbKJT.cjs");
|
|
30
|
+
const require_typography = require("./chunks/typography-CFIiYk1d.cjs");
|
|
31
|
+
const require_ascii_text = require("./chunks/ascii-text-KwVE41Hw.cjs");
|
|
32
|
+
const require_chroma_grid = require("./chunks/chroma-grid-Bp55pKEm.cjs");
|
|
33
|
+
const require_gradual_blur = require("./chunks/gradual-blur-BNYVlqb1.cjs");
|
|
25
34
|
require("./hover-border-gradient.cjs");
|
|
26
|
-
const require_splash_cursor = require("./chunks/splash-cursor-
|
|
27
|
-
const require_spotlight_card = require("./chunks/spotlight-card-
|
|
28
|
-
const require_SunToMoonButton = require("./chunks/SunToMoonButton-
|
|
29
|
-
const require_sun_to_moon_button = require("./chunks/sun-to-moon-button-
|
|
30
|
-
const
|
|
31
|
-
const
|
|
32
|
-
const
|
|
33
|
-
const
|
|
34
|
-
const
|
|
35
|
-
const
|
|
36
|
-
const
|
|
37
|
-
const
|
|
38
|
-
|
|
39
|
-
const
|
|
40
|
-
const
|
|
41
|
-
const
|
|
42
|
-
const
|
|
43
|
-
const
|
|
44
|
-
const
|
|
45
|
-
const
|
|
46
|
-
const
|
|
47
|
-
const
|
|
48
|
-
const
|
|
49
|
-
const
|
|
50
|
-
const require_skeleton = require("./chunks/skeleton-DCBGLNAZ.cjs");
|
|
51
|
-
const require_stepper = require("./chunks/stepper-DepvEGfr.cjs");
|
|
52
|
-
const require_textarea = require("./chunks/textarea-CGRl2hrM.cjs");
|
|
53
|
-
const require_toast = require("./chunks/toast-DiFgv3IL.cjs");
|
|
54
|
-
const require_spinners = require("./chunks/spinners-C9acUulz.cjs");
|
|
35
|
+
const require_splash_cursor = require("./chunks/splash-cursor-CQ6_HwHV.cjs");
|
|
36
|
+
const require_spotlight_card = require("./chunks/spotlight-card-COfSD7ns.cjs");
|
|
37
|
+
const require_SunToMoonButton = require("./chunks/SunToMoonButton-gX4Kk_5B.cjs");
|
|
38
|
+
const require_sun_to_moon_button = require("./chunks/sun-to-moon-button-lt-1vmWm.cjs");
|
|
39
|
+
const require_chip = require("./chunks/chip-sfQlzrbo.cjs");
|
|
40
|
+
const require_progress_bar = require("./chunks/progress-bar-FfdFVvTT.cjs");
|
|
41
|
+
const require_color_palette = require("./chunks/color-palette-Duud5Iqq.cjs");
|
|
42
|
+
const require_combobox = require("./chunks/combobox-C3a2iogC.cjs");
|
|
43
|
+
const require_data_table = require("./chunks/data-table-BZEiSZI2.cjs");
|
|
44
|
+
const require_multi_select_combobox = require("./chunks/multi-select-combobox-CFJGq1hn.cjs");
|
|
45
|
+
const require_date_picker = require("./chunks/date-picker-_EVYpGga.cjs");
|
|
46
|
+
const require_dialog = require("./chunks/dialog-i9LdkXmF.cjs");
|
|
47
|
+
require("./drawer.cjs");
|
|
48
|
+
const require_form = require("./chunks/form-DGwdlSW2.cjs");
|
|
49
|
+
const require_hover_card = require("./chunks/hover-card-Dp6Y2h2J.cjs");
|
|
50
|
+
const require_label = require("./chunks/label-B5Ugq0Nk.cjs");
|
|
51
|
+
const require_loading = require("./chunks/loading-DZKJc3e7.cjs");
|
|
52
|
+
const require_otp_input = require("./chunks/otp-input-B5-tuc0q.cjs");
|
|
53
|
+
const require_password_strength_meter = require("./chunks/password-strength-meter-_o1T1HLO.cjs");
|
|
54
|
+
const require_radio = require("./chunks/radio-wagafWwx.cjs");
|
|
55
|
+
const require_skeleton = require("./chunks/skeleton-DWvVc17T.cjs");
|
|
56
|
+
const require_stepper = require("./chunks/stepper-CTteR-Kj.cjs");
|
|
57
|
+
const require_toast = require("./chunks/toast-2yq4Q7-q.cjs");
|
|
58
|
+
const require_spinners = require("./chunks/spinners-DBAJliAj.cjs");
|
|
55
59
|
let react = require("react");
|
|
56
60
|
let react_jsx_runtime = require("react/jsx-runtime");
|
|
57
61
|
//#region src/components/effects/border-beam/BorderBeam.tsx
|
|
@@ -70,282 +74,6 @@ function BorderBeam({ className = "", size = 200, duration = 15, anchor = 90, bo
|
|
|
70
74
|
});
|
|
71
75
|
}
|
|
72
76
|
//#endregion
|
|
73
|
-
//#region src/components/data-display/dashboard-cards/StatCard.tsx
|
|
74
|
-
var TrendBadge = ({ value, direction }) => {
|
|
75
|
-
const isUp = direction === "up";
|
|
76
|
-
const color = isUp ? "var(--ds-color-success)" : "var(--ds-color-danger)";
|
|
77
|
-
return /* @__PURE__ */ (0, react_jsx_runtime.jsxs)("span", {
|
|
78
|
-
className: "inline-flex items-center gap-1 rounded-sm border px-1 py-0.5 text-[11px] font-semibold leading-none",
|
|
79
|
-
style: {
|
|
80
|
-
color,
|
|
81
|
-
borderColor: color,
|
|
82
|
-
backgroundColor: isUp ? "var(--ds-color-success-subtle)" : "var(--ds-color-danger-subtle)"
|
|
83
|
-
},
|
|
84
|
-
"aria-label": `${value} ${isUp ? "increase" : "decrease"}`,
|
|
85
|
-
children: [value, /* @__PURE__ */ (0, react_jsx_runtime.jsx)("svg", {
|
|
86
|
-
width: "10",
|
|
87
|
-
height: "10",
|
|
88
|
-
viewBox: "0 0 10 10",
|
|
89
|
-
fill: "none",
|
|
90
|
-
"aria-hidden": "true",
|
|
91
|
-
children: isUp ? /* @__PURE__ */ (0, react_jsx_runtime.jsx)("path", {
|
|
92
|
-
d: "M5 8V2M5 2L2 5M5 2L8 5",
|
|
93
|
-
stroke: "currentColor",
|
|
94
|
-
strokeWidth: "1.5",
|
|
95
|
-
strokeLinecap: "round",
|
|
96
|
-
strokeLinejoin: "round"
|
|
97
|
-
}) : /* @__PURE__ */ (0, react_jsx_runtime.jsx)("path", {
|
|
98
|
-
d: "M5 2V8M5 8L2 5M5 8L8 5",
|
|
99
|
-
stroke: "currentColor",
|
|
100
|
-
strokeWidth: "1.5",
|
|
101
|
-
strokeLinecap: "round",
|
|
102
|
-
strokeLinejoin: "round"
|
|
103
|
-
})
|
|
104
|
-
})]
|
|
105
|
-
});
|
|
106
|
-
};
|
|
107
|
-
var MenuButton = ({ onClick }) => /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_button.Button, {
|
|
108
|
-
variant: "tertiary",
|
|
109
|
-
size: "small",
|
|
110
|
-
className: "shrink-0 p-0.5! text-ds-3",
|
|
111
|
-
"aria-label": "More options",
|
|
112
|
-
onClick,
|
|
113
|
-
children: /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_icons.EllipsisVerticalIcon, {
|
|
114
|
-
width: 18,
|
|
115
|
-
height: 18
|
|
116
|
-
})
|
|
117
|
-
});
|
|
118
|
-
var LegendDots = ({ items }) => /* @__PURE__ */ (0, react_jsx_runtime.jsx)("div", {
|
|
119
|
-
className: "flex items-center gap-3",
|
|
120
|
-
children: items.map((item) => /* @__PURE__ */ (0, react_jsx_runtime.jsxs)("span", {
|
|
121
|
-
className: "flex items-center gap-1.5 text-xs text-ds-2",
|
|
122
|
-
children: [/* @__PURE__ */ (0, react_jsx_runtime.jsx)("span", {
|
|
123
|
-
className: "inline-block h-2.5 w-2.5 shrink-0 rounded-full",
|
|
124
|
-
style: { backgroundColor: item.color },
|
|
125
|
-
"aria-hidden": "true"
|
|
126
|
-
}), item.label]
|
|
127
|
-
}, item.label))
|
|
128
|
-
});
|
|
129
|
-
var StatCard = ({ size = "md", title, badge, value, dateRange, chart, chartPosition = "side", chartClassName, legend, className, onMenuClick }) => {
|
|
130
|
-
const base = require_utils.mergeClassNames("rounded-lg border border-ds-border-3/80 bg-ds-surface-1", className);
|
|
131
|
-
if (size === "sm") return /* @__PURE__ */ (0, react_jsx_runtime.jsxs)("div", {
|
|
132
|
-
className: require_utils.mergeClassNames(base, "flex flex-col gap-7 p-5"),
|
|
133
|
-
children: [/* @__PURE__ */ (0, react_jsx_runtime.jsxs)("div", {
|
|
134
|
-
className: "flex items-start justify-between gap-2",
|
|
135
|
-
children: [/* @__PURE__ */ (0, react_jsx_runtime.jsxs)("div", {
|
|
136
|
-
className: "flex flex-wrap items-center gap-2",
|
|
137
|
-
children: [/* @__PURE__ */ (0, react_jsx_runtime.jsx)("span", {
|
|
138
|
-
className: "text-sm font-semibold text-ds-1",
|
|
139
|
-
children: title
|
|
140
|
-
}), badge && /* @__PURE__ */ (0, react_jsx_runtime.jsx)(TrendBadge, {
|
|
141
|
-
value: badge.value,
|
|
142
|
-
direction: badge.direction
|
|
143
|
-
})]
|
|
144
|
-
}), /* @__PURE__ */ (0, react_jsx_runtime.jsx)(MenuButton, { onClick: onMenuClick })]
|
|
145
|
-
}), /* @__PURE__ */ (0, react_jsx_runtime.jsxs)("div", {
|
|
146
|
-
className: "flex flex-col gap-1",
|
|
147
|
-
children: [/* @__PURE__ */ (0, react_jsx_runtime.jsx)("p", {
|
|
148
|
-
className: "text-2xl font-bold tracking-tight text-ds-1 leading-none",
|
|
149
|
-
children: value
|
|
150
|
-
}), /* @__PURE__ */ (0, react_jsx_runtime.jsx)("p", {
|
|
151
|
-
className: "text-[10px] text-ds-3 mt-1",
|
|
152
|
-
children: dateRange
|
|
153
|
-
})]
|
|
154
|
-
})]
|
|
155
|
-
});
|
|
156
|
-
if (size === "md") {
|
|
157
|
-
const metricBlock = /* @__PURE__ */ (0, react_jsx_runtime.jsxs)("div", {
|
|
158
|
-
className: "flex flex-col gap-1 min-w-0",
|
|
159
|
-
children: [/* @__PURE__ */ (0, react_jsx_runtime.jsx)("p", {
|
|
160
|
-
className: "text-3xl font-bold tracking-tight text-ds-1 leading-none",
|
|
161
|
-
children: value
|
|
162
|
-
}), /* @__PURE__ */ (0, react_jsx_runtime.jsx)("p", {
|
|
163
|
-
className: "text-[10px] text-ds-3 mt-1",
|
|
164
|
-
children: dateRange
|
|
165
|
-
})]
|
|
166
|
-
});
|
|
167
|
-
return /* @__PURE__ */ (0, react_jsx_runtime.jsxs)("div", {
|
|
168
|
-
className: require_utils.mergeClassNames(base, "flex flex-col gap-3 p-5"),
|
|
169
|
-
children: [/* @__PURE__ */ (0, react_jsx_runtime.jsxs)("div", {
|
|
170
|
-
className: "flex items-start justify-between gap-2",
|
|
171
|
-
children: [/* @__PURE__ */ (0, react_jsx_runtime.jsxs)("div", {
|
|
172
|
-
className: "flex flex-wrap items-center gap-2",
|
|
173
|
-
children: [/* @__PURE__ */ (0, react_jsx_runtime.jsx)("span", {
|
|
174
|
-
className: "text-sm font-semibold text-ds-1",
|
|
175
|
-
children: title
|
|
176
|
-
}), badge && /* @__PURE__ */ (0, react_jsx_runtime.jsx)(TrendBadge, {
|
|
177
|
-
value: badge.value,
|
|
178
|
-
direction: badge.direction
|
|
179
|
-
})]
|
|
180
|
-
}), /* @__PURE__ */ (0, react_jsx_runtime.jsx)(MenuButton, { onClick: onMenuClick })]
|
|
181
|
-
}), chartPosition === "bottom" ? /* @__PURE__ */ (0, react_jsx_runtime.jsxs)(react_jsx_runtime.Fragment, { children: [metricBlock, chart && /* @__PURE__ */ (0, react_jsx_runtime.jsx)("div", {
|
|
182
|
-
className: require_utils.mergeClassNames("w-full pt-3", chartClassName),
|
|
183
|
-
children: chart
|
|
184
|
-
})] }) : /* @__PURE__ */ (0, react_jsx_runtime.jsxs)("div", {
|
|
185
|
-
className: "flex items-end justify-between gap-3",
|
|
186
|
-
children: [metricBlock, chart && /* @__PURE__ */ (0, react_jsx_runtime.jsx)("div", {
|
|
187
|
-
className: require_utils.mergeClassNames("h-[46px] w-[155px] shrink-0 overflow-hidden", chartClassName),
|
|
188
|
-
children: chart
|
|
189
|
-
})]
|
|
190
|
-
})]
|
|
191
|
-
});
|
|
192
|
-
}
|
|
193
|
-
return /* @__PURE__ */ (0, react_jsx_runtime.jsxs)("div", {
|
|
194
|
-
className: require_utils.mergeClassNames(base, "flex flex-col p-5"),
|
|
195
|
-
children: [/* @__PURE__ */ (0, react_jsx_runtime.jsxs)("div", {
|
|
196
|
-
className: "flex flex-wrap items-start justify-between gap-x-6 gap-y-2 mb-4",
|
|
197
|
-
children: [/* @__PURE__ */ (0, react_jsx_runtime.jsxs)("div", {
|
|
198
|
-
className: "flex flex-col gap-1.5",
|
|
199
|
-
children: [
|
|
200
|
-
/* @__PURE__ */ (0, react_jsx_runtime.jsxs)("div", {
|
|
201
|
-
className: "flex flex-wrap items-center gap-2",
|
|
202
|
-
children: [/* @__PURE__ */ (0, react_jsx_runtime.jsx)("span", {
|
|
203
|
-
className: "text-sm font-semibold text-ds-1",
|
|
204
|
-
children: title
|
|
205
|
-
}), badge && /* @__PURE__ */ (0, react_jsx_runtime.jsx)(TrendBadge, {
|
|
206
|
-
value: badge.value,
|
|
207
|
-
direction: badge.direction
|
|
208
|
-
})]
|
|
209
|
-
}),
|
|
210
|
-
/* @__PURE__ */ (0, react_jsx_runtime.jsx)("p", {
|
|
211
|
-
className: "text-3xl font-bold tracking-tight text-ds-1 leading-none",
|
|
212
|
-
children: value
|
|
213
|
-
}),
|
|
214
|
-
/* @__PURE__ */ (0, react_jsx_runtime.jsx)("p", {
|
|
215
|
-
className: "text-xs text-ds-3",
|
|
216
|
-
children: dateRange
|
|
217
|
-
})
|
|
218
|
-
]
|
|
219
|
-
}), /* @__PURE__ */ (0, react_jsx_runtime.jsxs)("div", {
|
|
220
|
-
className: "flex items-center gap-4 ms-auto",
|
|
221
|
-
children: [legend && legend.length > 0 && /* @__PURE__ */ (0, react_jsx_runtime.jsx)(LegendDots, { items: legend }), /* @__PURE__ */ (0, react_jsx_runtime.jsx)(MenuButton, { onClick: onMenuClick })]
|
|
222
|
-
})]
|
|
223
|
-
}), chart && /* @__PURE__ */ (0, react_jsx_runtime.jsx)("div", {
|
|
224
|
-
className: require_utils.mergeClassNames("border-t border-ds-border-2 pt-4 w-full", chartClassName),
|
|
225
|
-
children: chart
|
|
226
|
-
})]
|
|
227
|
-
});
|
|
228
|
-
};
|
|
229
|
-
//#endregion
|
|
230
|
-
//#region src/components/data-display/dashboard-cards/ChartCard.tsx
|
|
231
|
-
var ChartCard = ({ title, dateRange, legend, className, onMenuClick, children }) => {
|
|
232
|
-
return /* @__PURE__ */ (0, react_jsx_runtime.jsxs)("div", {
|
|
233
|
-
className: require_utils.mergeClassNames("flex flex-col gap-4 rounded-2xl border border-ds-border-2 bg-ds-surface-1 p-5", className),
|
|
234
|
-
children: [/* @__PURE__ */ (0, react_jsx_runtime.jsxs)("div", {
|
|
235
|
-
className: "flex flex-wrap items-start justify-between gap-x-6 gap-y-2",
|
|
236
|
-
children: [/* @__PURE__ */ (0, react_jsx_runtime.jsxs)("div", {
|
|
237
|
-
className: "flex flex-col gap-0.5",
|
|
238
|
-
children: [/* @__PURE__ */ (0, react_jsx_runtime.jsx)("span", {
|
|
239
|
-
className: "text-sm font-semibold text-ds-color-fg",
|
|
240
|
-
children: title
|
|
241
|
-
}), dateRange && /* @__PURE__ */ (0, react_jsx_runtime.jsx)("span", {
|
|
242
|
-
className: "text-xs text-ds-color-fg-subtle",
|
|
243
|
-
children: dateRange
|
|
244
|
-
})]
|
|
245
|
-
}), /* @__PURE__ */ (0, react_jsx_runtime.jsxs)("div", {
|
|
246
|
-
className: "flex items-center gap-4 ms-auto",
|
|
247
|
-
children: [legend && legend.length > 0 && /* @__PURE__ */ (0, react_jsx_runtime.jsx)("div", {
|
|
248
|
-
className: "flex items-center gap-3",
|
|
249
|
-
children: legend.map((item) => /* @__PURE__ */ (0, react_jsx_runtime.jsxs)("span", {
|
|
250
|
-
className: "flex items-center gap-1.5 text-xs text-ds-color-fg-muted",
|
|
251
|
-
children: [/* @__PURE__ */ (0, react_jsx_runtime.jsx)("span", {
|
|
252
|
-
className: "inline-block h-2.5 w-2.5 rounded-full shrink-0",
|
|
253
|
-
style: { backgroundColor: item.color },
|
|
254
|
-
"aria-hidden": "true"
|
|
255
|
-
}), item.label]
|
|
256
|
-
}, item.label))
|
|
257
|
-
}), /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_button.Button, {
|
|
258
|
-
variant: "tertiary",
|
|
259
|
-
size: "small",
|
|
260
|
-
className: "shrink-0 p-0.5! text-ds-color-fg-subtle",
|
|
261
|
-
"aria-label": "More options",
|
|
262
|
-
onClick: onMenuClick,
|
|
263
|
-
children: /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_icons.EllipsisVerticalIcon, {
|
|
264
|
-
width: 18,
|
|
265
|
-
height: 18
|
|
266
|
-
})
|
|
267
|
-
})]
|
|
268
|
-
})]
|
|
269
|
-
}), /* @__PURE__ */ (0, react_jsx_runtime.jsx)("div", {
|
|
270
|
-
className: "w-full",
|
|
271
|
-
children
|
|
272
|
-
})]
|
|
273
|
-
});
|
|
274
|
-
};
|
|
275
|
-
//#endregion
|
|
276
|
-
//#region src/components/data-display/dashboard-cards/TopProductsCard.tsx
|
|
277
|
-
var RankBadge = ({ rank }) => /* @__PURE__ */ (0, react_jsx_runtime.jsx)("span", {
|
|
278
|
-
className: "inline-flex h-7 w-7 shrink-0 items-center justify-center rounded-md border text-xs font-semibold border-ds-border-3/80 ",
|
|
279
|
-
style: {
|
|
280
|
-
borderColor: "var(--ds-color-accent)",
|
|
281
|
-
color: "var(--ds-color-accent)"
|
|
282
|
-
},
|
|
283
|
-
"aria-label": `Rank ${rank}`,
|
|
284
|
-
children: rank
|
|
285
|
-
});
|
|
286
|
-
var ProductImage = ({ src, alt }) => {
|
|
287
|
-
if (src) return /* @__PURE__ */ (0, react_jsx_runtime.jsx)("img", {
|
|
288
|
-
src,
|
|
289
|
-
alt,
|
|
290
|
-
className: "h-11 w-11 shrink-0 rounded-md object-contain bg-ds-color-bg-utility p-1"
|
|
291
|
-
});
|
|
292
|
-
return /* @__PURE__ */ (0, react_jsx_runtime.jsx)("div", {
|
|
293
|
-
className: "flex h-11 w-11 shrink-0 items-center justify-center rounded-md bg-ds-color-bg-utility text-ds-color-fg-subtle text-lg",
|
|
294
|
-
"aria-hidden": "true",
|
|
295
|
-
children: "□"
|
|
296
|
-
});
|
|
297
|
-
};
|
|
298
|
-
var TopProductsCard = ({ title = "Top Products", items, className, onMenuClick }) => {
|
|
299
|
-
return /* @__PURE__ */ (0, react_jsx_runtime.jsxs)("div", {
|
|
300
|
-
className: require_utils.mergeClassNames("flex flex-col rounded-lg border border-ds-border-3/80 bg-ds-surface-1 p-5", className),
|
|
301
|
-
children: [/* @__PURE__ */ (0, react_jsx_runtime.jsxs)("div", {
|
|
302
|
-
className: "mb-4 flex items-center justify-between",
|
|
303
|
-
children: [/* @__PURE__ */ (0, react_jsx_runtime.jsx)("span", {
|
|
304
|
-
className: "text-sm font-semibold text-ds-color-fg",
|
|
305
|
-
children: title
|
|
306
|
-
}), /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_button.Button, {
|
|
307
|
-
variant: "tertiary",
|
|
308
|
-
size: "small",
|
|
309
|
-
className: "shrink-0 p-0.5! text-ds-color-fg-subtle",
|
|
310
|
-
"aria-label": "More options",
|
|
311
|
-
onClick: onMenuClick,
|
|
312
|
-
children: /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_icons.EllipsisVerticalIcon, {
|
|
313
|
-
width: 18,
|
|
314
|
-
height: 18
|
|
315
|
-
})
|
|
316
|
-
})]
|
|
317
|
-
}), /* @__PURE__ */ (0, react_jsx_runtime.jsx)("ul", {
|
|
318
|
-
className: "flex flex-col divide-y divide-ds-border-2",
|
|
319
|
-
role: "list",
|
|
320
|
-
children: items.map((item) => /* @__PURE__ */ (0, react_jsx_runtime.jsxs)("li", {
|
|
321
|
-
className: "flex items-center gap-3 py-3 first:pt-0 last:pb-0",
|
|
322
|
-
children: [
|
|
323
|
-
/* @__PURE__ */ (0, react_jsx_runtime.jsx)(ProductImage, {
|
|
324
|
-
src: item.image,
|
|
325
|
-
alt: item.name
|
|
326
|
-
}),
|
|
327
|
-
/* @__PURE__ */ (0, react_jsx_runtime.jsxs)("div", {
|
|
328
|
-
className: "flex min-w-0 flex-1 flex-col gap-0.5",
|
|
329
|
-
children: [/* @__PURE__ */ (0, react_jsx_runtime.jsx)("span", {
|
|
330
|
-
className: "truncate text-sm font-semibold text-ds-color-fg",
|
|
331
|
-
children: item.name
|
|
332
|
-
}), /* @__PURE__ */ (0, react_jsx_runtime.jsxs)("span", {
|
|
333
|
-
className: "truncate text-xs text-ds-color-fg-subtle",
|
|
334
|
-
children: [
|
|
335
|
-
item.category,
|
|
336
|
-
" · ",
|
|
337
|
-
item.soldCount.toLocaleString(),
|
|
338
|
-
" sold"
|
|
339
|
-
]
|
|
340
|
-
})]
|
|
341
|
-
}),
|
|
342
|
-
/* @__PURE__ */ (0, react_jsx_runtime.jsx)(RankBadge, { rank: item.rank })
|
|
343
|
-
]
|
|
344
|
-
}, item.id))
|
|
345
|
-
})]
|
|
346
|
-
});
|
|
347
|
-
};
|
|
348
|
-
//#endregion
|
|
349
77
|
//#region src/components/navigation/tabs/Tabs.tsx
|
|
350
78
|
var rtlLanguages = /^(ar|fa|ur|he)(-|$)/i;
|
|
351
79
|
function resolveDirection(direction) {
|
|
@@ -527,6 +255,7 @@ function Tabs({ items, value, defaultValue, onValueChange, dir = "auto", classNa
|
|
|
527
255
|
});
|
|
528
256
|
}
|
|
529
257
|
//#endregion
|
|
258
|
+
exports.ALL_LABELS = require_event_calendar.ALL_LABELS;
|
|
530
259
|
exports.ASCIIText = require_ascii_text.ASCIIText;
|
|
531
260
|
exports.Accordion = require_accordion.Accordion;
|
|
532
261
|
exports.ActivityIcon = require_icons.ActivityIcon;
|
|
@@ -554,7 +283,7 @@ exports.ButtonHoverBorderGradient = require_button_hover_border_gradient.ButtonH
|
|
|
554
283
|
exports.Calendar = require_calendar.Calendar;
|
|
555
284
|
exports.Card = require_card.Card;
|
|
556
285
|
exports.Carousel = require_carousel.Carousel;
|
|
557
|
-
exports.ChartCard = ChartCard;
|
|
286
|
+
exports.ChartCard = require_dashboard_cards.ChartCard;
|
|
558
287
|
exports.CheckCircleIcon = require_icons.CheckCircleIcon;
|
|
559
288
|
exports.CheckIcon = require_icons.CheckIcon;
|
|
560
289
|
exports.Checkbox = require_checkbox.Checkbox;
|
|
@@ -576,13 +305,19 @@ exports.Combobox = require_combobox.Combobox;
|
|
|
576
305
|
exports.DashboardSidebarShell = require_sidebar.DashboardSidebarShell;
|
|
577
306
|
exports.DataTable = require_data_table.DataTable;
|
|
578
307
|
exports.DatePicker = require_date_picker.DatePicker;
|
|
308
|
+
exports.DeviceSalesCard = require_dashboard_cards.DeviceSalesCard;
|
|
579
309
|
exports.Dialog = require_dialog.Dialog;
|
|
580
310
|
exports.Dots = require_loading.Dots;
|
|
581
311
|
exports.DragIcon = require_icons.DragIcon;
|
|
582
|
-
exports.Drawer =
|
|
312
|
+
exports.Drawer = require_Drawer.Drawer;
|
|
583
313
|
exports.DropdownMenu = require_DropdownMenu.DropdownMenu;
|
|
314
|
+
exports.EVENT_LABEL_CONFIG = require_event_calendar.EVENT_LABEL_CONFIG;
|
|
315
|
+
exports.EarningReportsTabsCard = require_dashboard_cards.EarningReportsTabsCard;
|
|
316
|
+
exports.EarningsCard = require_dashboard_cards.EarningsCard;
|
|
584
317
|
exports.EllipsisIcon = require_icons.EllipsisIcon;
|
|
585
|
-
exports.EllipsisVerticalIcon =
|
|
318
|
+
exports.EllipsisVerticalIcon = require_EllipsisVerticalIcon.EllipsisVerticalIcon;
|
|
319
|
+
exports.EventCalendar = require_event_calendar.EventCalendar;
|
|
320
|
+
exports.ExpensesCard = require_dashboard_cards.ExpensesCard;
|
|
586
321
|
exports.EyeIcon = require_icons.EyeIcon;
|
|
587
322
|
exports.EyeOffIcon = require_icons.EyeOffIcon;
|
|
588
323
|
exports.FilterButton = require_data_table.FilterButton;
|
|
@@ -601,6 +336,7 @@ exports.HamburgerIcon = require_sidebar.HamburgerIcon;
|
|
|
601
336
|
exports.HomeIcon = require_icons.HomeIcon;
|
|
602
337
|
exports.HoverBorderGradient = require_HoverBorderGradient.HoverBorderGradient;
|
|
603
338
|
exports.HoverCard = require_hover_card.HoverCard;
|
|
339
|
+
exports.IncomeExpenseCard = require_dashboard_cards.IncomeExpenseCard;
|
|
604
340
|
exports.InfoCircleIcon = require_icons.InfoCircleIcon;
|
|
605
341
|
exports.Input = require_input.Input;
|
|
606
342
|
exports.InputGroup = require_form.InputGroup;
|
|
@@ -624,12 +360,15 @@ exports.Pulse = require_loading.Pulse;
|
|
|
624
360
|
exports.QuestionCircleIcon = require_icons.QuestionCircleIcon;
|
|
625
361
|
exports.Radio = require_radio.Radio;
|
|
626
362
|
exports.RefreshIcon = require_icons.RefreshIcon;
|
|
363
|
+
exports.RevenueGrowthCard = require_dashboard_cards.RevenueGrowthCard;
|
|
627
364
|
exports.Ring = require_loading.Ring;
|
|
628
365
|
exports.RingLoaderIcon = require_icons.RingLoaderIcon;
|
|
366
|
+
exports.SalesOverviewCard = require_dashboard_cards.SalesOverviewCard;
|
|
629
367
|
exports.SearchIcon = require_icons.SearchIcon;
|
|
630
368
|
exports.Select = require_select.Select;
|
|
631
369
|
exports.SelectionIcon = require_icons.SelectionIcon;
|
|
632
370
|
exports.SettingsIcon = require_icons.SettingsIcon;
|
|
371
|
+
exports.ShipmentStatisticsCard = require_dashboard_cards.ShipmentStatisticsCard;
|
|
633
372
|
exports.ShoppingCartIcon = require_icons.ShoppingCartIcon;
|
|
634
373
|
exports.Sidebar = require_sidebar.Sidebar;
|
|
635
374
|
exports.SidebarLinks = require_sidebar.SidebarLinks;
|
|
@@ -648,14 +387,16 @@ exports.SplashCursor = require_splash_cursor.SplashCursor;
|
|
|
648
387
|
exports.SplitChip = require_chip.SplitChip;
|
|
649
388
|
exports.SpotlightCard = require_spotlight_card.SpotlightCard;
|
|
650
389
|
exports.StackedBarChart = require_charts.StackedBarChart;
|
|
651
|
-
exports.StatCard = StatCard;
|
|
390
|
+
exports.StatCard = require_dashboard_cards.StatCard;
|
|
652
391
|
exports.StatusDotChip = require_chip.StatusDotChip;
|
|
653
392
|
exports.Stepper = require_stepper.Stepper;
|
|
654
393
|
exports.StepperSteps = require_stepper.StepperSteps;
|
|
655
394
|
exports.StepperStepsNavigation = require_stepper.StepperSteps;
|
|
656
395
|
exports.StepperWizard = require_stepper.StepperWizard;
|
|
657
396
|
exports.StepperWizardStep = require_stepper.StepperWizardStep;
|
|
397
|
+
exports.StockAvailabilityCard = require_dashboard_cards.StockAvailabilityCard;
|
|
658
398
|
exports.SunToMoonButton = require_SunToMoonButton.SunToMoonButton;
|
|
399
|
+
exports.SupportTrackerCard = require_dashboard_cards.SupportTrackerCard;
|
|
659
400
|
exports.Switch = require_switch.Switch;
|
|
660
401
|
exports.Table = require_data_table.Table;
|
|
661
402
|
exports.TableBody = require_data_table.TableBody;
|
|
@@ -674,11 +415,14 @@ exports.ThinBreakdownBar = require_charts.ThinBreakdownBar;
|
|
|
674
415
|
exports.ToastItem = require_toast.ToastItem;
|
|
675
416
|
exports.ToastProvider = require_toast.ToastProvider;
|
|
676
417
|
exports.Tooltip = require_Tooltip.Tooltip;
|
|
677
|
-
exports.TopProductsCard = TopProductsCard;
|
|
418
|
+
exports.TopProductsCard = require_dashboard_cards.TopProductsCard;
|
|
419
|
+
exports.TopicsCard = require_dashboard_cards.TopicsCard;
|
|
678
420
|
exports.TrashIcon = require_icons.TrashIcon;
|
|
679
421
|
exports.TruncatedText = require_truncated_text.TruncatedText;
|
|
680
422
|
exports.Typography = require_typography.Typography;
|
|
681
423
|
exports.UserIcon = require_icons.UserIcon;
|
|
424
|
+
exports.VehicleConditionCard = require_dashboard_cards.VehicleConditionCard;
|
|
425
|
+
exports.VehiclesOverviewCard = require_dashboard_cards.VehiclesOverviewCard;
|
|
682
426
|
exports.Wave = require_loading.Wave;
|
|
683
427
|
exports.XCircleIcon = require_icons.XCircleIcon;
|
|
684
428
|
exports.ZapIcon = require_icons.ZapIcon;
|
package/dist/index.cjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.cjs","names":[],"sources":["../src/components/effects/border-beam/BorderBeam.tsx","../src/components/data-display/dashboard-cards/StatCard.tsx","../src/components/data-display/dashboard-cards/ChartCard.tsx","../src/components/data-display/dashboard-cards/TopProductsCard.tsx","../src/components/navigation/tabs/Tabs.tsx"],"sourcesContent":["import type { CSSProperties } from \"react\";\n\nexport interface BorderBeamProps {\n className?: string;\n size?: number;\n duration?: number;\n borderWidth?: number;\n anchor?: number;\n colorFrom?: string;\n colorTo?: string;\n delay?: number;\n}\n\nexport function BorderBeam({\n className = \"\",\n size = 200,\n duration = 15,\n anchor = 90,\n borderWidth = 0.5,\n colorFrom = \"var(--ds-color-accent)\",\n colorTo = \"var(--ds-color-accent-hover)\",\n delay = 0,\n}: BorderBeamProps) {\n return (\n <div\n style={\n {\n \"--size\": `${size}px`,\n \"--duration\": `${duration}s`,\n \"--anchor\": `${anchor}`,\n \"--border-width\": `${borderWidth}px`,\n \"--beam-color-from\": colorFrom,\n \"--beam-color-to\": colorTo,\n \"--delay\": `-${delay}s`,\n } as CSSProperties\n }\n className={`border-beam ${className}`}\n />\n );\n}\n","\"use client\";\n\nimport type { FC, ReactNode } from \"react\";\n\nimport { Button } from \"../../forms/button\";\nimport { EllipsisVerticalIcon } from \"../../icons/EllipsisVerticalIcon\";\nimport { mergeClassNames } from \"../../../utils\";\n\n// ---------------------------------------------------------------------------\n// Internal: TrendBadge\n// ---------------------------------------------------------------------------\n\ninterface TrendBadgeProps {\n value: string;\n direction: \"up\" | \"down\";\n}\n\nconst TrendBadge: FC<TrendBadgeProps> = ({ value, direction }) => {\n const isUp = direction === \"up\";\n const color = isUp ? \"var(--ds-color-success)\" : \"var(--ds-color-danger)\";\n const bg = isUp ? \"var(--ds-color-success-subtle)\" : \"var(--ds-color-danger-subtle)\";\n\n return (\n <span\n className=\"inline-flex items-center gap-1 rounded-sm border px-1 py-0.5 text-[11px] font-semibold leading-none\"\n style={{ color, borderColor: color, backgroundColor: bg }}\n aria-label={`${value} ${isUp ? \"increase\" : \"decrease\"}`}\n >\n {value}\n <svg width=\"10\" height=\"10\" viewBox=\"0 0 10 10\" fill=\"none\" aria-hidden=\"true\">\n {isUp ? (\n <path d=\"M5 8V2M5 2L2 5M5 2L8 5\" stroke=\"currentColor\" strokeWidth=\"1.5\" strokeLinecap=\"round\" strokeLinejoin=\"round\" />\n ) : (\n <path d=\"M5 2V8M5 8L2 5M5 8L8 5\" stroke=\"currentColor\" strokeWidth=\"1.5\" strokeLinecap=\"round\" strokeLinejoin=\"round\" />\n )}\n </svg>\n \n </span>\n );\n};\n\n// ---------------------------------------------------------------------------\n// Internal: MenuButton\n// ---------------------------------------------------------------------------\n\nconst MenuButton: FC<{ onClick?: () => void }> = ({ onClick }) => (\n <Button\n variant=\"tertiary\"\n size=\"small\"\n className=\"shrink-0 p-0.5! text-ds-3\"\n aria-label=\"More options\"\n onClick={onClick}\n >\n <EllipsisVerticalIcon width={18} height={18} />\n </Button>\n);\n\n// ---------------------------------------------------------------------------\n// Internal: LegendDot\n// ---------------------------------------------------------------------------\n\nconst LegendDots: FC<{ items: { label: string; color: string }[] }> = ({ items }) => (\n <div className=\"flex items-center gap-3\">\n {items.map((item) => (\n <span key={item.label} className=\"flex items-center gap-1.5 text-xs text-ds-2\">\n <span\n className=\"inline-block h-2.5 w-2.5 shrink-0 rounded-full\"\n style={{ backgroundColor: item.color }}\n aria-hidden=\"true\"\n />\n {item.label}\n </span>\n ))}\n </div>\n);\n\n// ---------------------------------------------------------------------------\n// Public types\n// ---------------------------------------------------------------------------\n\nexport type StatCardSize = \"sm\" | \"md\" | \"lg\";\n\nexport interface StatCardLegendItem {\n label: string;\n color: string;\n}\n\nexport interface StatCardProps {\n /** Layout size:\n * - \"sm\" → 2-col — metric only, no chart\n * - \"md\" → 4-col — metric + compact chart on the right (default)\n * - \"lg\" → 12-col — metric header + full-width chart below\n */\n size?: StatCardSize;\n title: string;\n badge?: TrendBadgeProps;\n value: ReactNode;\n dateRange: string;\n /** Chart content (any chart component). Ignored when size=\"sm\".\n * For \"md\" position is controlled by chartPosition.\n * For \"lg\" the chart spans full card width below a divider. */\n chart?: ReactNode;\n /** Controls where the chart renders in size=\"md\".\n * - \"side\" (default) — compact chart to the right of the metric.\n * - \"bottom\" — full-width chart below the metric (good for bar/line/area charts). */\n chartPosition?: \"side\" | \"bottom\";\n /** Override the chart container's size/style.\n * \"md\" side: overrides the side-zone div (default: h-[68px] w-[180px] shrink-0 overflow-hidden).\n * \"md\" bottom: overrides the bottom chart div (default: w-full pt-3).\n * \"lg\": overrides the chart wrapper div (default: border-t border-ds-border-2 pt-4 w-full). */\n chartClassName?: string;\n /** Legend items shown in the header. Only visible when size=\"lg\". */\n legend?: StatCardLegendItem[];\n className?: string;\n onMenuClick?: () => void;\n}\n\n// ---------------------------------------------------------------------------\n// StatCard\n// ---------------------------------------------------------------------------\n\nexport const StatCard: FC<StatCardProps> = ({\n size = \"md\",\n title,\n badge,\n value,\n dateRange,\n chart,\n chartPosition = \"side\",\n chartClassName,\n legend,\n className,\n onMenuClick,\n}) => {\n const base = mergeClassNames(\n \"rounded-lg border border-ds-border-3/80 bg-ds-surface-1\",\n className,\n );\n\n // ── sm: 2-col, metric only ───────────────────────────────────────────────\n if (size === \"sm\") {\n return (\n <div className={mergeClassNames(base, \"flex flex-col gap-7 p-5\")}>\n <div className=\"flex items-start justify-between gap-2\">\n <div className=\"flex flex-wrap items-center gap-2\">\n <span className=\"text-sm font-semibold text-ds-1\">{title}</span>\n {badge && <TrendBadge value={badge.value} direction={badge.direction} />}\n </div>\n <MenuButton onClick={onMenuClick} />\n </div>\n <div className=\"flex flex-col gap-1\">\n <p className=\"text-2xl font-bold tracking-tight text-ds-1 leading-none\">\n {value}\n </p>\n <p className=\"text-[10px] text-ds-3 mt-1\">{dateRange}</p>\n </div>\n </div>\n );\n }\n\n // ── md: 4-col, metric + chart ────────────────────────────────────────────\n if (size === \"md\") {\n const metricBlock = (\n <div className=\"flex flex-col gap-1 min-w-0\">\n <p className=\"text-3xl font-bold tracking-tight text-ds-1 leading-none\">\n {value}\n </p>\n <p className=\"text-[10px] text-ds-3 mt-1\">{dateRange}</p>\n </div>\n );\n\n return (\n <div className={mergeClassNames(base, \"flex flex-col gap-3 p-5\")}>\n <div className=\"flex items-start justify-between gap-2\">\n <div className=\"flex flex-wrap items-center gap-2\">\n <span className=\"text-sm font-semibold text-ds-1\">{title}</span>\n {badge && <TrendBadge value={badge.value} direction={badge.direction} />}\n </div>\n <MenuButton onClick={onMenuClick} />\n </div>\n\n {chartPosition === \"bottom\" ? (\n <>\n {metricBlock}\n {chart && (\n <div className={mergeClassNames(\"w-full pt-3\", chartClassName)}>\n {chart}\n </div>\n )}\n </>\n ) : (\n <div className=\"flex items-end justify-between gap-3\">\n {metricBlock}\n {chart && (\n <div className={mergeClassNames(\"h-[46px] w-[155px] shrink-0 overflow-hidden\", chartClassName)}>\n {chart}\n </div>\n )}\n </div>\n )}\n </div>\n );\n }\n\n // ── lg: 12-col, header + full-width chart ────────────────────────────────\n return (\n <div className={mergeClassNames(base, \"flex flex-col p-5\")}>\n {/* Header row */}\n <div className=\"flex flex-wrap items-start justify-between gap-x-6 gap-y-2 mb-4\">\n <div className=\"flex flex-col gap-1.5\">\n <div className=\"flex flex-wrap items-center gap-2\">\n <span className=\"text-sm font-semibold text-ds-1\">{title}</span>\n {badge && <TrendBadge value={badge.value} direction={badge.direction} />}\n </div>\n <p className=\"text-3xl font-bold tracking-tight text-ds-1 leading-none\">\n {value}\n </p>\n <p className=\"text-xs text-ds-3\">{dateRange}</p>\n </div>\n <div className=\"flex items-center gap-4 ms-auto\">\n {legend && legend.length > 0 && <LegendDots items={legend} />}\n <MenuButton onClick={onMenuClick} />\n </div>\n </div>\n\n {/* Chart area */}\n {chart && (\n <div className={mergeClassNames(\"border-t border-ds-border-2 pt-4 w-full\", chartClassName)}>\n {chart}\n </div>\n )}\n </div>\n );\n};\n","\"use client\";\n\nimport type { FC, ReactNode } from \"react\";\n\nimport { Button } from \"../../forms/button\";\nimport { EllipsisVerticalIcon } from \"../../icons/EllipsisVerticalIcon\";\nimport { mergeClassNames } from \"../../../utils\";\n\nexport interface ChartCardLegendItem {\n label: string;\n color: string;\n}\n\nexport interface ChartCardProps {\n title: string;\n dateRange?: string;\n legend?: ChartCardLegendItem[];\n className?: string;\n onMenuClick?: () => void;\n children: ReactNode;\n}\n\nexport const ChartCard: FC<ChartCardProps> = ({\n title,\n dateRange,\n legend,\n className,\n onMenuClick,\n children,\n}) => {\n return (\n <div\n className={mergeClassNames(\n \"flex flex-col gap-4 rounded-2xl border border-ds-border-2 bg-ds-surface-1 p-5\",\n className,\n )}\n >\n <div className=\"flex flex-wrap items-start justify-between gap-x-6 gap-y-2\">\n <div className=\"flex flex-col gap-0.5\">\n <span className=\"text-sm font-semibold text-ds-color-fg\">\n {title}\n </span>\n {dateRange && (\n <span className=\"text-xs text-ds-color-fg-subtle\">{dateRange}</span>\n )}\n </div>\n\n <div className=\"flex items-center gap-4 ms-auto\">\n {legend && legend.length > 0 && (\n <div className=\"flex items-center gap-3\">\n {legend.map((item) => (\n <span\n key={item.label}\n className=\"flex items-center gap-1.5 text-xs text-ds-color-fg-muted\"\n >\n <span\n className=\"inline-block h-2.5 w-2.5 rounded-full shrink-0\"\n style={{ backgroundColor: item.color }}\n aria-hidden=\"true\"\n />\n {item.label}\n </span>\n ))}\n </div>\n )}\n <Button\n variant=\"tertiary\"\n size=\"small\"\n className=\"shrink-0 p-0.5! text-ds-color-fg-subtle\"\n aria-label=\"More options\"\n onClick={onMenuClick}\n >\n <EllipsisVerticalIcon width={18} height={18} />\n </Button>\n </div>\n </div>\n\n <div className=\"w-full\">{children}</div>\n </div>\n );\n};\n","\"use client\";\n\nimport type { FC } from \"react\";\n\nimport { Button } from \"../../forms/button\";\nimport { EllipsisVerticalIcon } from \"../../icons/EllipsisVerticalIcon\";\nimport { mergeClassNames } from \"../../../utils\";\n\nexport interface TopProductItem {\n id: string | number;\n name: string;\n category: string;\n soldCount: number;\n image?: string;\n rank: number;\n}\n\nexport interface TopProductsCardProps {\n title?: string;\n items: TopProductItem[];\n className?: string;\n onMenuClick?: () => void;\n}\n\nconst RankBadge: FC<{ rank: number }> = ({ rank }) => (\n <span\n className=\"inline-flex h-7 w-7 shrink-0 items-center justify-center rounded-md border text-xs font-semibold border-ds-border-3/80 \"\n style={{\n borderColor: \"var(--ds-color-accent)\",\n color: \"var(--ds-color-accent)\",\n }}\n aria-label={`Rank ${rank}`}\n >\n {rank}\n </span>\n);\n\nconst ProductImage: FC<{ src?: string; alt: string }> = ({ src, alt }) => {\n if (src) {\n return (\n <img\n src={src}\n alt={alt}\n className=\"h-11 w-11 shrink-0 rounded-md object-contain bg-ds-color-bg-utility p-1\"\n />\n );\n }\n return (\n <div\n className=\"flex h-11 w-11 shrink-0 items-center justify-center rounded-md bg-ds-color-bg-utility text-ds-color-fg-subtle text-lg\"\n aria-hidden=\"true\"\n >\n □\n </div>\n );\n};\n\nexport const TopProductsCard: FC<TopProductsCardProps> = ({\n title = \"Top Products\",\n items,\n className,\n onMenuClick,\n}) => {\n return (\n <div\n className={mergeClassNames(\n \"flex flex-col rounded-lg border border-ds-border-3/80 bg-ds-surface-1 p-5\",\n className,\n )}\n >\n <div className=\"mb-4 flex items-center justify-between\">\n <span className=\"text-sm font-semibold text-ds-color-fg\">{title}</span>\n <Button\n variant=\"tertiary\"\n size=\"small\"\n className=\"shrink-0 p-0.5! text-ds-color-fg-subtle\"\n aria-label=\"More options\"\n onClick={onMenuClick}\n >\n <EllipsisVerticalIcon width={18} height={18} />\n </Button>\n </div>\n\n <ul className=\"flex flex-col divide-y divide-ds-border-2\" role=\"list\">\n {items.map((item) => (\n <li\n key={item.id}\n className=\"flex items-center gap-3 py-3 first:pt-0 last:pb-0\"\n >\n <ProductImage src={item.image} alt={item.name} />\n\n <div className=\"flex min-w-0 flex-1 flex-col gap-0.5\">\n <span className=\"truncate text-sm font-semibold text-ds-color-fg\">\n {item.name}\n </span>\n <span className=\"truncate text-xs text-ds-color-fg-subtle\">\n {item.category} · {item.soldCount.toLocaleString()} sold\n </span>\n </div>\n\n <RankBadge rank={item.rank} />\n </li>\n ))}\n </ul>\n </div>\n );\n};\n","import {\n Fragment,\n useCallback,\n useEffect,\n useLayoutEffect,\n useMemo,\n useRef,\n useState,\n} from \"react\";\n\nimport { Button } from \"../../forms/button\";\nimport { mergeClassNames } from \"../../../utils\";\nimport type { TabsDirection, TabsItem, TabsProps } from \"./types\";\n\nconst rtlLanguages = /^(ar|fa|ur|he)(-|$)/i;\n\nfunction resolveDirection(\n direction: TabsDirection,\n): Exclude<TabsDirection, \"auto\"> {\n if (direction !== \"auto\") {\n return direction;\n }\n\n if (typeof document === \"undefined\") {\n return \"ltr\";\n }\n\n const explicitDirection =\n document.documentElement.getAttribute(\"dir\") ?? undefined;\n\n if (explicitDirection === \"rtl\" || explicitDirection === \"ltr\") {\n return explicitDirection;\n }\n\n if (\n typeof navigator !== \"undefined\" &&\n rtlLanguages.test(navigator.language)\n ) {\n return \"rtl\";\n }\n\n return \"ltr\";\n}\n\nfunction getFirstEnabledId(items: readonly TabsItem[]): string {\n const fallback = items.find((item) => !item.disabled) ?? items[0];\n return fallback?.id ?? \"\";\n}\n\nexport function Tabs({\n items,\n value,\n defaultValue,\n onValueChange,\n dir = \"auto\",\n className,\n listClassName,\n triggerClassName,\n panelClassName,\n animationDurationMs,\n animation = \"slide\",\n}: TabsProps) {\n const rootRef = useRef<HTMLDivElement>(null);\n const listRef = useRef<HTMLDivElement>(null);\n const tabSlotRefs = useRef<Record<string, HTMLDivElement | null>>({});\n const panelRef = useRef<HTMLDivElement>(null);\n const isControlled = value !== undefined;\n\n const fallbackId = useMemo(() => getFirstEnabledId(items), [items]);\n const [internalValue, setInternalValue] = useState<string>(\n defaultValue ?? fallbackId,\n );\n const rawActiveId = isControlled ? value : internalValue;\n const activeId = items.some((item) => item.id === rawActiveId)\n ? rawActiveId\n : fallbackId;\n\n const activeIndex = useMemo(\n () =>\n Math.max(\n items.findIndex((item) => item.id === activeId),\n 0,\n ),\n [items, activeId],\n );\n\n const previousIndexRef = useRef(activeIndex);\n const [indicator, setIndicator] = useState<{\n left: number;\n width: number;\n } | null>(null);\n\n const getEffectiveDirection = useCallback(() => {\n if (dir !== \"auto\") {\n return dir;\n }\n\n if (typeof window !== \"undefined\" && listRef.current) {\n const cssDirection = window.getComputedStyle(listRef.current).direction;\n if (cssDirection === \"rtl\" || cssDirection === \"ltr\") {\n return cssDirection;\n }\n }\n\n return resolveDirection(\"auto\");\n }, [dir]);\n\n useEffect(() => {\n const previousIndex = previousIndexRef.current;\n if (activeIndex === previousIndex) {\n return;\n }\n\n const panel = panelRef.current;\n if (!panel) {\n previousIndexRef.current = activeIndex;\n return;\n }\n\n if (animation === \"slide\") {\n const indexDelta = activeIndex - previousIndex;\n const logicalDirection = indexDelta >= 0 ? 1 : -1;\n const visualDirection =\n getEffectiveDirection() === \"rtl\" ? -logicalDirection : logicalDirection;\n const fromX = visualDirection > 0 ? -14 : 14;\n\n panel.animate(\n [\n { opacity: 0, transform: `translateX(${fromX}px)` },\n { opacity: 1, transform: \"translateX(0px)\" },\n ],\n {\n duration: animationDurationMs ?? 300,\n easing: \"cubic-bezier(0.42, 1, 0.36, 1)\",\n },\n );\n } else if (animation === \"fade\") {\n panel.animate(\n [{ opacity: 0 }, { opacity: 1 }],\n {\n duration: animationDurationMs ?? 360,\n easing: \"cubic-bezier(0.42, 1, 0.36, 1)\",\n },\n );\n } else if (animation === \"rise\") {\n panel.animate(\n [\n { opacity: 0, transform: \"translateY(14px)\" },\n { opacity: 1, transform: \"translateY(0px)\" },\n ],\n {\n duration: animationDurationMs ?? 420,\n easing: \"cubic-bezier(0.534, 1, 0.3, 1)\",\n },\n );\n }\n\n previousIndexRef.current = activeIndex;\n }, [activeIndex, animationDurationMs, animation, getEffectiveDirection]);\n\n const activeItem = items[activeIndex] ?? items[0];\n\n useLayoutEffect(() => {\n const updateIndicator = () => {\n const selectedSlot = tabSlotRefs.current[activeItem?.id ?? \"\"];\n if (!selectedSlot) {\n setIndicator(null);\n return;\n }\n\n setIndicator({\n left: selectedSlot.offsetLeft,\n width: selectedSlot.offsetWidth,\n });\n };\n\n updateIndicator();\n window.addEventListener(\"resize\", updateIndicator);\n return () => window.removeEventListener(\"resize\", updateIndicator);\n }, [activeItem?.id, items.length]);\n\n const setValue = (nextValue: string) => {\n if (!isControlled) {\n setInternalValue(nextValue);\n }\n onValueChange?.(nextValue);\n };\n\n const moveBy = (delta: number) => {\n if (items.length === 0) {\n return;\n }\n\n let probe = activeIndex;\n for (let step = 0; step < items.length; step++) {\n probe = (probe + delta + items.length) % items.length;\n const candidate = items[probe];\n if (!candidate?.disabled) {\n setValue(candidate.id);\n return;\n }\n }\n };\n\n return (\n <div\n ref={rootRef}\n dir={dir === \"auto\" ? undefined : dir}\n className={mergeClassNames(\"w-full\", className)}\n >\n <div\n ref={listRef}\n role=\"tablist\"\n aria-orientation=\"horizontal\"\n className={mergeClassNames(\n \"relative flex h-9 w-full items-center gap-0 overflow-hidden rounded-lg border border-ds-border-3 bg-ds-surface-2 p-1\",\n listClassName,\n )}\n >\n {items.length > 0 && indicator ? (\n <span\n aria-hidden=\"true\"\n className=\"pointer-events-none absolute bottom-1 top-1 rounded-md border border-ds-border-accent/45 bg-ds-accent shadow-[0_1px_3px_rgba(0,0,0,0.1),0_1px_2px_rgba(0,0,0,0.06)] transition-transform duration-300 ease-out\"\n style={{\n width: `${indicator.width}px`,\n transform: `translateX(${indicator.left}px)`,\n left: 0,\n }}\n />\n ) : null}\n {items.map((item) => {\n const selected = item.id === activeItem?.id;\n return (\n <div\n key={item.id}\n ref={(node) => {\n tabSlotRefs.current[item.id] = node;\n }}\n className=\"relative z-10 h-full min-w-0 flex-1\"\n >\n <Button\n role=\"tab\"\n id={`tab-${item.id}`}\n aria-selected={selected}\n aria-controls={`tabpanel-${item.id}`}\n tabIndex={selected ? 0 : -1}\n disabled={item.disabled}\n variant=\"tertiary\"\n size=\"small\"\n className={mergeClassNames(\n \"h-full w-full rounded-md px-3 py-1 text-base font-normal leading-[22px] transition-colors duration-200\",\n \"outline-none focus-visible:ring-2 focus-visible:ring-ds-focus/60\",\n selected ? \"text-ds-on-accent\" : \"text-ds-2 hover:text-ds-10\",\n item.disabled && \"cursor-not-allowed opacity-55\",\n triggerClassName,\n )}\n onClick={() => {\n if (!item.disabled) {\n setValue(item.id);\n }\n }}\n onKeyDown={(event) => {\n if (event.key === \"ArrowRight\") {\n event.preventDefault();\n moveBy(getEffectiveDirection() === \"rtl\" ? -1 : 1);\n }\n\n if (event.key === \"ArrowLeft\") {\n event.preventDefault();\n moveBy(getEffectiveDirection() === \"rtl\" ? 1 : -1);\n }\n\n if (event.key === \"Home\") {\n event.preventDefault();\n const first = items.find((candidate) => !candidate.disabled);\n if (first) {\n setValue(first.id);\n }\n }\n\n if (event.key === \"End\") {\n event.preventDefault();\n const reversed = [...items].reverse();\n const last = reversed.find(\n (candidate) => !candidate.disabled,\n );\n if (last) {\n setValue(last.id);\n }\n }\n }}\n >\n {item.label}\n </Button>\n </div>\n );\n })}\n </div>\n\n <div\n ref={panelRef}\n role=\"tabpanel\"\n id={`tabpanel-${activeItem?.id ?? \"\"}`}\n aria-labelledby={`tab-${activeItem?.id ?? \"\"}`}\n className={mergeClassNames(\"mt-2 w-full\", panelClassName)}\n >\n <Fragment key={activeItem?.id}>\n {activeItem?.content}\n </Fragment>\n </div>\n </div>\n );\n}\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.cjs","names":[],"sources":["../src/components/effects/border-beam/BorderBeam.tsx","../src/components/navigation/tabs/Tabs.tsx"],"sourcesContent":["import type { CSSProperties } from \"react\";\n\nexport interface BorderBeamProps {\n className?: string;\n size?: number;\n duration?: number;\n borderWidth?: number;\n anchor?: number;\n colorFrom?: string;\n colorTo?: string;\n delay?: number;\n}\n\nexport function BorderBeam({\n className = \"\",\n size = 200,\n duration = 15,\n anchor = 90,\n borderWidth = 0.5,\n colorFrom = \"var(--ds-color-accent)\",\n colorTo = \"var(--ds-color-accent-hover)\",\n delay = 0,\n}: BorderBeamProps) {\n return (\n <div\n style={\n {\n \"--size\": `${size}px`,\n \"--duration\": `${duration}s`,\n \"--anchor\": `${anchor}`,\n \"--border-width\": `${borderWidth}px`,\n \"--beam-color-from\": colorFrom,\n \"--beam-color-to\": colorTo,\n \"--delay\": `-${delay}s`,\n } as CSSProperties\n }\n className={`border-beam ${className}`}\n />\n );\n}\n","import {\n Fragment,\n useCallback,\n useEffect,\n useLayoutEffect,\n useMemo,\n useRef,\n useState,\n} from \"react\";\n\nimport { Button } from \"../../forms/button\";\nimport { mergeClassNames } from \"../../../utils\";\nimport type { TabsDirection, TabsItem, TabsProps } from \"./types\";\n\nconst rtlLanguages = /^(ar|fa|ur|he)(-|$)/i;\n\nfunction resolveDirection(\n direction: TabsDirection,\n): Exclude<TabsDirection, \"auto\"> {\n if (direction !== \"auto\") {\n return direction;\n }\n\n if (typeof document === \"undefined\") {\n return \"ltr\";\n }\n\n const explicitDirection =\n document.documentElement.getAttribute(\"dir\") ?? undefined;\n\n if (explicitDirection === \"rtl\" || explicitDirection === \"ltr\") {\n return explicitDirection;\n }\n\n if (\n typeof navigator !== \"undefined\" &&\n rtlLanguages.test(navigator.language)\n ) {\n return \"rtl\";\n }\n\n return \"ltr\";\n}\n\nfunction getFirstEnabledId(items: readonly TabsItem[]): string {\n const fallback = items.find((item) => !item.disabled) ?? items[0];\n return fallback?.id ?? \"\";\n}\n\nexport function Tabs({\n items,\n value,\n defaultValue,\n onValueChange,\n dir = \"auto\",\n className,\n listClassName,\n triggerClassName,\n panelClassName,\n animationDurationMs,\n animation = \"slide\",\n}: TabsProps) {\n const rootRef = useRef<HTMLDivElement>(null);\n const listRef = useRef<HTMLDivElement>(null);\n const tabSlotRefs = useRef<Record<string, HTMLDivElement | null>>({});\n const panelRef = useRef<HTMLDivElement>(null);\n const isControlled = value !== undefined;\n\n const fallbackId = useMemo(() => getFirstEnabledId(items), [items]);\n const [internalValue, setInternalValue] = useState<string>(\n defaultValue ?? fallbackId,\n );\n const rawActiveId = isControlled ? value : internalValue;\n const activeId = items.some((item) => item.id === rawActiveId)\n ? rawActiveId\n : fallbackId;\n\n const activeIndex = useMemo(\n () =>\n Math.max(\n items.findIndex((item) => item.id === activeId),\n 0,\n ),\n [items, activeId],\n );\n\n const previousIndexRef = useRef(activeIndex);\n const [indicator, setIndicator] = useState<{\n left: number;\n width: number;\n } | null>(null);\n\n const getEffectiveDirection = useCallback(() => {\n if (dir !== \"auto\") {\n return dir;\n }\n\n if (typeof window !== \"undefined\" && listRef.current) {\n const cssDirection = window.getComputedStyle(listRef.current).direction;\n if (cssDirection === \"rtl\" || cssDirection === \"ltr\") {\n return cssDirection;\n }\n }\n\n return resolveDirection(\"auto\");\n }, [dir]);\n\n useEffect(() => {\n const previousIndex = previousIndexRef.current;\n if (activeIndex === previousIndex) {\n return;\n }\n\n const panel = panelRef.current;\n if (!panel) {\n previousIndexRef.current = activeIndex;\n return;\n }\n\n if (animation === \"slide\") {\n const indexDelta = activeIndex - previousIndex;\n const logicalDirection = indexDelta >= 0 ? 1 : -1;\n const visualDirection =\n getEffectiveDirection() === \"rtl\" ? -logicalDirection : logicalDirection;\n const fromX = visualDirection > 0 ? -14 : 14;\n\n panel.animate(\n [\n { opacity: 0, transform: `translateX(${fromX}px)` },\n { opacity: 1, transform: \"translateX(0px)\" },\n ],\n {\n duration: animationDurationMs ?? 300,\n easing: \"cubic-bezier(0.42, 1, 0.36, 1)\",\n },\n );\n } else if (animation === \"fade\") {\n panel.animate(\n [{ opacity: 0 }, { opacity: 1 }],\n {\n duration: animationDurationMs ?? 360,\n easing: \"cubic-bezier(0.42, 1, 0.36, 1)\",\n },\n );\n } else if (animation === \"rise\") {\n panel.animate(\n [\n { opacity: 0, transform: \"translateY(14px)\" },\n { opacity: 1, transform: \"translateY(0px)\" },\n ],\n {\n duration: animationDurationMs ?? 420,\n easing: \"cubic-bezier(0.534, 1, 0.3, 1)\",\n },\n );\n }\n\n previousIndexRef.current = activeIndex;\n }, [activeIndex, animationDurationMs, animation, getEffectiveDirection]);\n\n const activeItem = items[activeIndex] ?? items[0];\n\n useLayoutEffect(() => {\n const updateIndicator = () => {\n const selectedSlot = tabSlotRefs.current[activeItem?.id ?? \"\"];\n if (!selectedSlot) {\n setIndicator(null);\n return;\n }\n\n setIndicator({\n left: selectedSlot.offsetLeft,\n width: selectedSlot.offsetWidth,\n });\n };\n\n updateIndicator();\n window.addEventListener(\"resize\", updateIndicator);\n return () => window.removeEventListener(\"resize\", updateIndicator);\n }, [activeItem?.id, items.length]);\n\n const setValue = (nextValue: string) => {\n if (!isControlled) {\n setInternalValue(nextValue);\n }\n onValueChange?.(nextValue);\n };\n\n const moveBy = (delta: number) => {\n if (items.length === 0) {\n return;\n }\n\n let probe = activeIndex;\n for (let step = 0; step < items.length; step++) {\n probe = (probe + delta + items.length) % items.length;\n const candidate = items[probe];\n if (!candidate?.disabled) {\n setValue(candidate.id);\n return;\n }\n }\n };\n\n return (\n <div\n ref={rootRef}\n dir={dir === \"auto\" ? undefined : dir}\n className={mergeClassNames(\"w-full\", className)}\n >\n <div\n ref={listRef}\n role=\"tablist\"\n aria-orientation=\"horizontal\"\n className={mergeClassNames(\n \"relative flex h-9 w-full items-center gap-0 overflow-hidden rounded-lg border border-ds-border-3 bg-ds-surface-2 p-1\",\n listClassName,\n )}\n >\n {items.length > 0 && indicator ? (\n <span\n aria-hidden=\"true\"\n className=\"pointer-events-none absolute bottom-1 top-1 rounded-md border border-ds-border-accent/45 bg-ds-accent shadow-[0_1px_3px_rgba(0,0,0,0.1),0_1px_2px_rgba(0,0,0,0.06)] transition-transform duration-300 ease-out\"\n style={{\n width: `${indicator.width}px`,\n transform: `translateX(${indicator.left}px)`,\n left: 0,\n }}\n />\n ) : null}\n {items.map((item) => {\n const selected = item.id === activeItem?.id;\n return (\n <div\n key={item.id}\n ref={(node) => {\n tabSlotRefs.current[item.id] = node;\n }}\n className=\"relative z-10 h-full min-w-0 flex-1\"\n >\n <Button\n role=\"tab\"\n id={`tab-${item.id}`}\n aria-selected={selected}\n aria-controls={`tabpanel-${item.id}`}\n tabIndex={selected ? 0 : -1}\n disabled={item.disabled}\n variant=\"tertiary\"\n size=\"small\"\n className={mergeClassNames(\n \"h-full w-full rounded-md px-3 py-1 text-base font-normal leading-[22px] transition-colors duration-200\",\n \"outline-none focus-visible:ring-2 focus-visible:ring-ds-focus/60\",\n selected ? \"text-ds-on-accent\" : \"text-ds-2 hover:text-ds-10\",\n item.disabled && \"cursor-not-allowed opacity-55\",\n triggerClassName,\n )}\n onClick={() => {\n if (!item.disabled) {\n setValue(item.id);\n }\n }}\n onKeyDown={(event) => {\n if (event.key === \"ArrowRight\") {\n event.preventDefault();\n moveBy(getEffectiveDirection() === \"rtl\" ? -1 : 1);\n }\n\n if (event.key === \"ArrowLeft\") {\n event.preventDefault();\n moveBy(getEffectiveDirection() === \"rtl\" ? 1 : -1);\n }\n\n if (event.key === \"Home\") {\n event.preventDefault();\n const first = items.find((candidate) => !candidate.disabled);\n if (first) {\n setValue(first.id);\n }\n }\n\n if (event.key === \"End\") {\n event.preventDefault();\n const reversed = [...items].reverse();\n const last = reversed.find(\n (candidate) => !candidate.disabled,\n );\n if (last) {\n setValue(last.id);\n }\n }\n }}\n >\n {item.label}\n </Button>\n </div>\n );\n })}\n </div>\n\n <div\n ref={panelRef}\n role=\"tabpanel\"\n id={`tabpanel-${activeItem?.id ?? \"\"}`}\n aria-labelledby={`tab-${activeItem?.id ?? \"\"}`}\n className={mergeClassNames(\"mt-2 w-full\", panelClassName)}\n >\n <Fragment key={activeItem?.id}>\n {activeItem?.content}\n </Fragment>\n </div>\n </div>\n );\n}\n"],"mappings":"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"}
|
package/dist/index.d.ts
CHANGED
|
@@ -15,8 +15,11 @@ export type { ButtonProps } from './components/forms/button';
|
|
|
15
15
|
export { ButtonHoverBorderGradient } from './components/effects/button-hover-border-gradient';
|
|
16
16
|
export { Calendar } from './components/forms/calendar';
|
|
17
17
|
export { Card } from './components/data-display/card';
|
|
18
|
-
export { StatCard, ChartCard, TopProductsCard } from './components/data-display/dashboard-cards';
|
|
19
|
-
export type { StatCardProps, StatCardSize, StatCardLegendItem, ChartCardProps, ChartCardLegendItem, TopProductsCardProps, TopProductItem, } from './components/data-display/dashboard-cards';
|
|
18
|
+
export { StatCard, ChartCard, TopProductsCard, EarningsCard, SupportTrackerCard, SalesOverviewCard, RevenueGrowthCard, EarningReportsTabsCard, TopicsCard, ShipmentStatisticsCard, VehicleConditionCard, VehiclesOverviewCard, StockAvailabilityCard, ExpensesCard, IncomeExpenseCard, DeviceSalesCard, } from './components/data-display/dashboard-cards';
|
|
19
|
+
export type { StatCardProps, StatCardSize, StatCardLegendItem, ChartCardProps, ChartCardLegendItem, TopProductsCardProps, TopProductItem, EarningsCardProps, EarningsCardSize, EarningsMetric, WeeklyBarPoint, SupportTrackerCardProps, SupportItem, SalesOverviewCardProps, SalesMetric, RevenueGrowthCardProps, RevenueGrowthBarPoint, EarningReportsTabsCardProps, EarningTab, EarningTabBarPoint, TopicsCardProps, TopicItem, ShipmentStatisticsCardProps, ShipmentDataPoint, VehicleConditionCardProps, VehicleConditionItem, VehiclesOverviewCardProps, VehiclesOverviewItem, StockAvailabilityCardProps, StockItem, ExpensesCardProps, ExpenseItem, TopExpenseItem, IncomeExpenseCardProps, IncomeExpenseDataPoint, IncomeExpenseBadge, DeviceSalesCardProps, DeviceSalesChannel, DeviceSalesBrandRow, } from './components/data-display/dashboard-cards';
|
|
20
|
+
export { EventCalendar } from './components/data-display/event-calendar';
|
|
21
|
+
export type { EventCalendarProps, CalendarEvent, CalendarView, EventLabel, } from './components/data-display/event-calendar';
|
|
22
|
+
export { EVENT_LABEL_CONFIG, ALL_LABELS } from './components/data-display/event-calendar';
|
|
20
23
|
export { Carousel } from './components/navigation/carousel';
|
|
21
24
|
export { Sidebar, SidebarLinks, NavLink, HamburgerIcon, DashboardSidebarShell, } from './components/navigation/sidebar';
|
|
22
25
|
export { Tabs } from './components/navigation/tabs';
|