erp-pro-ui 0.1.5 → 0.1.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/README.md +136 -27
- 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/animations.css +2 -2
- package/dist/ascii-text.cjs +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/charts.cjs +2 -1
- package/dist/charts.mjs +2 -2
- package/dist/checkbox.cjs +1 -1
- package/dist/checkbox.mjs +1 -1
- package/dist/chip.cjs +3 -1
- package/dist/chip.mjs +2 -2
- package/dist/chroma-grid.cjs +1 -1
- package/dist/chroma-grid.mjs +1 -1
- package/dist/chunks/{HoverBorderGradient-DaduPpj-.cjs → HoverBorderGradient-C5D6lGg0.cjs} +8 -8
- package/dist/chunks/HoverBorderGradient-C5D6lGg0.cjs.map +1 -0
- package/dist/chunks/{HoverBorderGradient-DYXhtPWs.mjs → HoverBorderGradient-CduqqQgX.mjs} +8 -8
- package/dist/chunks/HoverBorderGradient-CduqqQgX.mjs.map +1 -0
- package/dist/chunks/{accordion-Dwm6yH0C.mjs → accordion-6zxJUYXr.mjs} +8 -8
- package/dist/chunks/accordion-6zxJUYXr.mjs.map +1 -0
- package/dist/chunks/{accordion-CxJYq_6x.cjs → accordion-CmB6EidC.cjs} +8 -8
- package/dist/chunks/accordion-CmB6EidC.cjs.map +1 -0
- package/dist/chunks/alert-C5KEeQqh.cjs +81 -0
- package/dist/chunks/alert-C5KEeQqh.cjs.map +1 -0
- package/dist/chunks/alert-XVmYJgds.mjs +75 -0
- package/dist/chunks/alert-XVmYJgds.mjs.map +1 -0
- package/dist/chunks/{ascii-text-Bh4HjIrL.cjs → ascii-text-BP-BBy0-.cjs} +3 -3
- package/dist/chunks/{ascii-text-Bh4HjIrL.cjs.map → ascii-text-BP-BBy0-.cjs.map} +1 -1
- package/dist/chunks/{background-gradient-animation-BNztOaAL.mjs → background-gradient-animation-DpKJ3ecq.mjs} +3 -3
- package/dist/chunks/{background-gradient-animation-BNztOaAL.mjs.map → background-gradient-animation-DpKJ3ecq.mjs.map} +1 -1
- package/dist/chunks/{background-gradient-animation-C0jV3b6l.cjs → background-gradient-animation-II9hdrgB.cjs} +3 -3
- package/dist/chunks/{background-gradient-animation-C0jV3b6l.cjs.map → background-gradient-animation-II9hdrgB.cjs.map} +1 -1
- package/dist/chunks/{button-NwWcZaCl.mjs → button-DddUhuR-.mjs} +4 -4
- package/dist/chunks/button-DddUhuR-.mjs.map +1 -0
- package/dist/chunks/{button-hover-border-gradient-TmQPZyYW.mjs → button-hover-border-gradient-DFppVRI4.mjs} +3 -3
- package/dist/chunks/{button-hover-border-gradient-TmQPZyYW.mjs.map → button-hover-border-gradient-DFppVRI4.mjs.map} +1 -1
- package/dist/chunks/{button-hover-border-gradient-B_JuE939.cjs → button-hover-border-gradient-DX2lBG5C.cjs} +3 -3
- package/dist/chunks/{button-hover-border-gradient-B_JuE939.cjs.map → button-hover-border-gradient-DX2lBG5C.cjs.map} +1 -1
- package/dist/chunks/{button-sVzhc451.cjs → button-xqernofO.cjs} +4 -4
- package/dist/chunks/button-xqernofO.cjs.map +1 -0
- package/dist/chunks/{calendar-wZGU7o1B.mjs → calendar-Cp84V2rY.mjs} +7 -7
- package/dist/chunks/calendar-Cp84V2rY.mjs.map +1 -0
- package/dist/chunks/{calendar-B8yy-7Se.cjs → calendar-DuCKr6b7.cjs} +7 -7
- package/dist/chunks/calendar-DuCKr6b7.cjs.map +1 -0
- package/dist/chunks/{card-CAzOcjaC.cjs → card-CqPDr6Tt.cjs} +4 -4
- package/dist/chunks/card-CqPDr6Tt.cjs.map +1 -0
- package/dist/chunks/{card-BOTJSO1o.mjs → card-SpHHNB0c.mjs} +4 -4
- package/dist/chunks/card-SpHHNB0c.mjs.map +1 -0
- package/dist/chunks/{carousel-BCMk0v5p.mjs → carousel-C1skQ65z.mjs} +14 -14
- package/dist/chunks/carousel-C1skQ65z.mjs.map +1 -0
- package/dist/chunks/{carousel-Crpz33XV.cjs → carousel-YlRLOGkM.cjs} +11 -11
- package/dist/chunks/carousel-YlRLOGkM.cjs.map +1 -0
- package/dist/chunks/{charts-9OPShAea.mjs → charts-C-Qee_JY.mjs} +114 -18
- package/dist/chunks/charts-C-Qee_JY.mjs.map +1 -0
- package/dist/chunks/{charts-D1pdxSiu.cjs → charts-CZEYcr6X.cjs} +116 -14
- package/dist/chunks/charts-CZEYcr6X.cjs.map +1 -0
- package/dist/chunks/{checkbox-C9NrpH_Q.mjs → checkbox-DjGpvMyo.mjs} +12 -12
- package/dist/chunks/checkbox-DjGpvMyo.mjs.map +1 -0
- package/dist/chunks/{checkbox-BakVQmue.cjs → checkbox-NM_iPd6S.cjs} +10 -10
- package/dist/chunks/checkbox-NM_iPd6S.cjs.map +1 -0
- package/dist/chunks/chip-BY83_HK7.cjs +203 -0
- package/dist/chunks/chip-BY83_HK7.cjs.map +1 -0
- package/dist/chunks/chip-CbO8-1lK.mjs +185 -0
- package/dist/chunks/chip-CbO8-1lK.mjs.map +1 -0
- package/dist/chunks/{chroma-grid-BF9SlWxA.mjs → chroma-grid-CexX28VQ.mjs} +6 -6
- package/dist/chunks/chroma-grid-CexX28VQ.mjs.map +1 -0
- package/dist/chunks/{chroma-grid-8p5tntYr.cjs → chroma-grid-DP__XtmV.cjs} +6 -6
- package/dist/chunks/chroma-grid-DP__XtmV.cjs.map +1 -0
- package/dist/chunks/{color-palette-CJEiZCtr.mjs → color-palette-BU1cI6XP.mjs} +166 -132
- package/dist/chunks/color-palette-BU1cI6XP.mjs.map +1 -0
- package/dist/chunks/{color-palette-DWtgsI3u.cjs → color-palette-ThIKMhT1.cjs} +168 -133
- package/dist/chunks/color-palette-ThIKMhT1.cjs.map +1 -0
- package/dist/chunks/{combobox-BXFmUNQt.cjs → combobox-B7UIcjsI.cjs} +18 -18
- package/dist/chunks/combobox-B7UIcjsI.cjs.map +1 -0
- package/dist/chunks/{combobox-ietfKkAW.mjs → combobox-D6WnThIQ.mjs} +16 -16
- package/dist/chunks/combobox-D6WnThIQ.mjs.map +1 -0
- package/dist/chunks/data-table-B2r5OUFX.mjs +1497 -0
- package/dist/chunks/data-table-B2r5OUFX.mjs.map +1 -0
- package/dist/chunks/data-table-BLt8DTVy.cjs +1588 -0
- package/dist/chunks/data-table-BLt8DTVy.cjs.map +1 -0
- package/dist/chunks/{date-picker-CvH7zGtP.mjs → date-picker-Bh6_p4bD.mjs} +39 -19
- package/dist/chunks/date-picker-Bh6_p4bD.mjs.map +1 -0
- package/dist/chunks/{date-picker-BMZV5HGM.cjs → date-picker-CfCvp6Tj.cjs} +39 -19
- package/dist/chunks/date-picker-CfCvp6Tj.cjs.map +1 -0
- package/dist/chunks/{dialog-BZst9i2z.mjs → dialog-BibwiFLY.mjs} +26 -28
- package/dist/chunks/dialog-BibwiFLY.mjs.map +1 -0
- package/dist/chunks/{dialog-DScyxkX9.cjs → dialog-I141I0nc.cjs} +26 -28
- package/dist/chunks/dialog-I141I0nc.cjs.map +1 -0
- package/dist/chunks/{drawer-B0V7RUHx.mjs → drawer-DsE8Pb8e.mjs} +11 -11
- package/dist/chunks/drawer-DsE8Pb8e.mjs.map +1 -0
- package/dist/chunks/{drawer-B_x2aMuz.cjs → drawer-EC9eopGX.cjs} +11 -11
- package/dist/chunks/drawer-EC9eopGX.cjs.map +1 -0
- package/dist/chunks/{form-D-vLjhyP.mjs → form-CRwpjFWu.mjs} +10 -10
- package/dist/chunks/form-CRwpjFWu.mjs.map +1 -0
- package/dist/chunks/{form-CU_CjV-_.cjs → form-DaGyqM97.cjs} +10 -10
- package/dist/chunks/form-DaGyqM97.cjs.map +1 -0
- package/dist/chunks/{gradual-blur-amCnDPlg.cjs → gradual-blur-Di7MBs7M.cjs} +1 -1
- package/dist/chunks/{gradual-blur-amCnDPlg.cjs.map → gradual-blur-Di7MBs7M.cjs.map} +1 -1
- package/dist/chunks/{gradual-blur-BCLuZlHC.mjs → gradual-blur-pt0UiMEy.mjs} +1 -1
- package/dist/chunks/{gradual-blur-BCLuZlHC.mjs.map → gradual-blur-pt0UiMEy.mjs.map} +1 -1
- package/dist/chunks/{hover-card-D5Plwh1g.mjs → hover-card-C3Xa18Ov.mjs} +7 -8
- package/dist/chunks/hover-card-C3Xa18Ov.mjs.map +1 -0
- package/dist/chunks/{hover-card-CjL7A_V7.cjs → hover-card-D78E07hk.cjs} +7 -8
- package/dist/chunks/hover-card-D78E07hk.cjs.map +1 -0
- package/dist/chunks/{icons-CaNIzMf3.cjs → icons-CRanVZB1.cjs} +8 -8
- package/dist/chunks/icons-CRanVZB1.cjs.map +1 -0
- package/dist/chunks/{icons-BquccnYa.mjs → icons-bx3nrxNv.mjs} +8 -8
- package/dist/chunks/icons-bx3nrxNv.mjs.map +1 -0
- package/dist/chunks/{input-CS0g1cov.mjs → input-CpARxvFi.mjs} +14 -14
- package/dist/chunks/input-CpARxvFi.mjs.map +1 -0
- package/dist/chunks/{input-DuoEJayD.cjs → input-DTW_8EwG.cjs} +14 -14
- package/dist/chunks/input-DTW_8EwG.cjs.map +1 -0
- package/dist/chunks/{label-B03C78Le.mjs → label-BVH02Yvq.mjs} +1 -1
- package/dist/chunks/{label-B03C78Le.mjs.map → label-BVH02Yvq.mjs.map} +1 -1
- package/dist/chunks/{label-Bw5HtTED.cjs → label-DN-Bg5i8.cjs} +1 -1
- package/dist/chunks/{label-Bw5HtTED.cjs.map → label-DN-Bg5i8.cjs.map} +1 -1
- package/dist/chunks/{loading-DrYIq0x8.cjs → loading-B1yrR3KX.cjs} +7 -7
- package/dist/chunks/{loading-DrYIq0x8.cjs.map → loading-B1yrR3KX.cjs.map} +1 -1
- package/dist/chunks/{loading-BSfQsGC5.mjs → loading-B2Ron0Fd.mjs} +7 -7
- package/dist/chunks/{loading-BSfQsGC5.mjs.map → loading-B2Ron0Fd.mjs.map} +1 -1
- package/dist/chunks/{multi-select-combobox-K05MPFbH.mjs → multi-select-combobox-CMhAXEGZ.mjs} +15 -15
- package/dist/chunks/multi-select-combobox-CMhAXEGZ.mjs.map +1 -0
- package/dist/chunks/{multi-select-combobox-k4_oScfn.cjs → multi-select-combobox-FEbMAPEg.cjs} +16 -16
- package/dist/chunks/multi-select-combobox-FEbMAPEg.cjs.map +1 -0
- package/dist/chunks/{otp-input-B8eJz1Lq.cjs → otp-input-B6nJC-Fl.cjs} +10 -10
- package/dist/chunks/otp-input-B6nJC-Fl.cjs.map +1 -0
- package/dist/chunks/{otp-input-rtXD2QuM.mjs → otp-input-B7DhhsMe.mjs} +10 -10
- package/dist/chunks/otp-input-B7DhhsMe.mjs.map +1 -0
- package/dist/chunks/{overlay-BCTPOEe8.mjs → overlay-C58wXorc.mjs} +1 -1
- package/dist/chunks/{overlay-BCTPOEe8.mjs.map → overlay-C58wXorc.mjs.map} +1 -1
- package/dist/chunks/{overlay-De79_3r2.cjs → overlay-DwJgjJuu.cjs} +1 -1
- package/dist/chunks/{overlay-De79_3r2.cjs.map → overlay-DwJgjJuu.cjs.map} +1 -1
- package/dist/chunks/{password-strength-meter-DkVmfmn3.cjs → password-strength-meter-6vNu6p19.cjs} +13 -13
- package/dist/chunks/password-strength-meter-6vNu6p19.cjs.map +1 -0
- package/dist/chunks/{password-strength-meter-DOsRacP5.mjs → password-strength-meter-D7gmZNjp.mjs} +13 -13
- package/dist/chunks/password-strength-meter-D7gmZNjp.mjs.map +1 -0
- package/dist/chunks/{progress-bar-BXFJbnIc.cjs → progress-bar-CbsCItvv.cjs} +78 -5
- package/dist/chunks/progress-bar-CbsCItvv.cjs.map +1 -0
- package/dist/chunks/{progress-bar-RwwgUpK7.mjs → progress-bar-D6Q9Di7D.mjs} +72 -5
- package/dist/chunks/progress-bar-D6Q9Di7D.mjs.map +1 -0
- package/dist/chunks/{radio-xi4BJVgm.mjs → radio-C6Meq2iz.mjs} +2 -2
- package/dist/chunks/{radio-xi4BJVgm.mjs.map → radio-C6Meq2iz.mjs.map} +1 -1
- package/dist/chunks/{radio-fIdlXx0f.cjs → radio-DxakS7iD.cjs} +2 -2
- package/dist/chunks/{radio-fIdlXx0f.cjs.map → radio-DxakS7iD.cjs.map} +1 -1
- package/dist/chunks/{select-RierVpX6.mjs → select-1rSJeUBQ.mjs} +15 -15
- package/dist/chunks/select-1rSJeUBQ.mjs.map +1 -0
- package/dist/chunks/{select-BOer92kh.cjs → select-SOmIt-BD.cjs} +16 -16
- package/dist/chunks/select-SOmIt-BD.cjs.map +1 -0
- package/dist/chunks/{skeleton-DGzckoX9.mjs → skeleton-BRx-80dg.mjs} +18 -18
- package/dist/chunks/skeleton-BRx-80dg.mjs.map +1 -0
- package/dist/chunks/{skeleton-9q1lJV-B.cjs → skeleton-o7DlA5yl.cjs} +18 -18
- package/dist/chunks/skeleton-o7DlA5yl.cjs.map +1 -0
- package/dist/chunks/{spinners-q0aJJ90t.cjs → spinners-BylPf0uk.cjs} +2 -2
- package/dist/chunks/{spinners-q0aJJ90t.cjs.map → spinners-BylPf0uk.cjs.map} +1 -1
- package/dist/chunks/{spinners-ZtY-P7u5.mjs → spinners-hJaI_cBH.mjs} +2 -2
- package/dist/chunks/{spinners-ZtY-P7u5.mjs.map → spinners-hJaI_cBH.mjs.map} +1 -1
- package/dist/chunks/{splash-cursor-Dw2zyPTf.cjs → splash-cursor-CmqkSl6m.cjs} +1 -1
- package/dist/chunks/{splash-cursor-Dw2zyPTf.cjs.map → splash-cursor-CmqkSl6m.cjs.map} +1 -1
- package/dist/chunks/{splash-cursor-BKSeGbZk.mjs → splash-cursor-Cxouip_h.mjs} +1 -1
- package/dist/chunks/{splash-cursor-BKSeGbZk.mjs.map → splash-cursor-Cxouip_h.mjs.map} +1 -1
- package/dist/chunks/{spotlight-card-BYF6TQ-U.cjs → spotlight-card-B3L3K21T.cjs} +8 -8
- package/dist/chunks/spotlight-card-B3L3K21T.cjs.map +1 -0
- package/dist/chunks/{spotlight-card-kU-Y9bok.mjs → spotlight-card-DIgacTxA.mjs} +8 -8
- package/dist/chunks/spotlight-card-DIgacTxA.mjs.map +1 -0
- package/dist/chunks/{stepper-6vnY3bgc.cjs → stepper-BpjKyemI.cjs} +53 -53
- package/dist/chunks/stepper-BpjKyemI.cjs.map +1 -0
- package/dist/chunks/{stepper-sjBOMByt.mjs → stepper-JD4ZHT-b.mjs} +53 -53
- package/dist/chunks/stepper-JD4ZHT-b.mjs.map +1 -0
- package/dist/chunks/sun-to-moon-button-BOx1n6nk.cjs +311 -0
- package/dist/chunks/sun-to-moon-button-BOx1n6nk.cjs.map +1 -0
- package/dist/chunks/sun-to-moon-button-CBbDar4k.mjs +299 -0
- package/dist/chunks/sun-to-moon-button-CBbDar4k.mjs.map +1 -0
- package/dist/chunks/{switch-CJurCzZO.cjs → switch-C9suGEWg.cjs} +5 -5
- package/dist/chunks/switch-C9suGEWg.cjs.map +1 -0
- package/dist/chunks/{switch-BBg9E9Wa.mjs → switch-hd7zTBD_.mjs} +5 -5
- package/dist/chunks/switch-hd7zTBD_.mjs.map +1 -0
- package/dist/chunks/{textarea-BEIHilZr.mjs → textarea-Cu26uKqq.mjs} +5 -5
- package/dist/chunks/textarea-Cu26uKqq.mjs.map +1 -0
- package/dist/chunks/{textarea-C2T9xqFe.cjs → textarea-cXgKzluG.cjs} +5 -5
- package/dist/chunks/textarea-cXgKzluG.cjs.map +1 -0
- package/dist/chunks/{theme-7DWLxJK_.cjs → theme-D6B-FaoE.cjs} +28 -5
- package/dist/chunks/theme-D6B-FaoE.cjs.map +1 -0
- package/dist/chunks/{theme-BceKeYhw.mjs → theme-koPrLKQv.mjs} +28 -5
- package/dist/chunks/theme-koPrLKQv.mjs.map +1 -0
- package/dist/chunks/{toast-7HcN4-uL.mjs → toast-CpX-22n2.mjs} +26 -26
- package/dist/chunks/toast-CpX-22n2.mjs.map +1 -0
- package/dist/chunks/{toast-B-mjpllA.cjs → toast-REa6FRBc.cjs} +26 -26
- package/dist/chunks/toast-REa6FRBc.cjs.map +1 -0
- package/dist/chunks/{tooltip-DMcXN6Ff.mjs → tooltip-CASvQiFQ.mjs} +6 -7
- package/dist/chunks/tooltip-CASvQiFQ.mjs.map +1 -0
- package/dist/chunks/{tooltip-CHQwSgOT.cjs → tooltip-CKF78rni.cjs} +6 -7
- package/dist/chunks/tooltip-CKF78rni.cjs.map +1 -0
- package/dist/chunks/{truncated-text-Bt0IAgjp.cjs → truncated-text-istgJRUq.cjs} +2 -2
- package/dist/chunks/{truncated-text-Bt0IAgjp.cjs.map → truncated-text-istgJRUq.cjs.map} +1 -1
- package/dist/chunks/{typography-BddjVdZH.mjs → typography-KxLf6Td8.mjs} +5 -5
- package/dist/chunks/typography-KxLf6Td8.mjs.map +1 -0
- package/dist/chunks/{typography-DLGuS_eJ.cjs → typography-sGmh0gZ_.cjs} +6 -6
- package/dist/chunks/typography-sGmh0gZ_.cjs.map +1 -0
- package/dist/color-palette.cjs +1 -1
- package/dist/color-palette.mjs +1 -1
- package/dist/colors.css +45 -149
- package/dist/combobox.cjs +1 -1
- package/dist/combobox.mjs +1 -1
- package/dist/components/data-display/card/Card.d.ts.map +1 -1
- package/dist/components/data-display/charts/MiniNeonSparkline.d.ts +17 -0
- package/dist/components/data-display/charts/MiniNeonSparkline.d.ts.map +1 -0
- package/dist/components/data-display/charts/index.d.ts +2 -0
- package/dist/components/data-display/charts/index.d.ts.map +1 -1
- package/dist/components/data-display/chip/Chip.d.ts.map +1 -1
- package/dist/components/data-display/chip/SpecialChip.d.ts +23 -0
- package/dist/components/data-display/chip/SpecialChip.d.ts.map +1 -0
- package/dist/components/data-display/chip/index.d.ts +2 -0
- package/dist/components/data-display/chip/index.d.ts.map +1 -1
- package/dist/components/data-display/color-palette/ColorPalette.d.ts.map +1 -1
- package/dist/components/data-display/data-table/DataTable.d.ts +50 -26
- package/dist/components/data-display/data-table/DataTable.d.ts.map +1 -1
- package/dist/components/data-display/data-table/DataTableControls.d.ts +34 -0
- package/dist/components/data-display/data-table/DataTableControls.d.ts.map +1 -0
- package/dist/components/data-display/data-table/DataTableFilters.d.ts +27 -0
- package/dist/components/data-display/data-table/DataTableFilters.d.ts.map +1 -0
- package/dist/components/data-display/data-table/DataTableRows.d.ts +35 -0
- package/dist/components/data-display/data-table/DataTableRows.d.ts.map +1 -0
- package/dist/components/data-display/data-table/DataTableToolbar.d.ts +49 -0
- package/dist/components/data-display/data-table/DataTableToolbar.d.ts.map +1 -0
- package/dist/components/data-display/data-table/TablePrimitives.d.ts +11 -0
- package/dist/components/data-display/data-table/TablePrimitives.d.ts.map +1 -0
- package/dist/components/data-display/data-table/direction.d.ts +7 -0
- package/dist/components/data-display/data-table/direction.d.ts.map +1 -0
- package/dist/components/data-display/data-table/index.d.ts +2 -2
- package/dist/components/data-display/data-table/index.d.ts.map +1 -1
- package/dist/components/data-display/loading/Loading.d.ts.map +1 -1
- package/dist/components/data-display/progress-bar/CircularProgress.d.ts +17 -0
- package/dist/components/data-display/progress-bar/CircularProgress.d.ts.map +1 -0
- package/dist/components/data-display/progress-bar/index.d.ts +2 -0
- package/dist/components/data-display/progress-bar/index.d.ts.map +1 -1
- package/dist/components/effects/sun-to-moon-button/ThemeSwitcherButtons.d.ts +5 -0
- package/dist/components/effects/sun-to-moon-button/ThemeSwitcherButtons.d.ts.map +1 -0
- package/dist/components/effects/sun-to-moon-button/index.d.ts +2 -0
- package/dist/components/effects/sun-to-moon-button/index.d.ts.map +1 -1
- package/dist/components/feedback/alert/Alert.d.ts +1 -1
- package/dist/components/feedback/alert/Alert.d.ts.map +1 -1
- package/dist/components/feedback/alert/types.d.ts +11 -2
- package/dist/components/feedback/alert/types.d.ts.map +1 -1
- package/dist/components/forms/calendar/Calendar.d.ts.map +1 -1
- package/dist/components/forms/checkbox/Checkbox.d.ts.map +1 -1
- package/dist/components/forms/date-picker/DatePicker.d.ts.map +1 -1
- package/dist/components/forms/form/Form.d.ts.map +1 -1
- package/dist/components/forms/input/Input.d.ts.map +1 -1
- package/dist/components/forms/input/types.d.ts +1 -1
- package/dist/components/forms/input/types.d.ts.map +1 -1
- package/dist/components/forms/password-strength-meter/PasswordCriteria.d.ts.map +1 -1
- package/dist/components/forms/password-strength-meter/PasswordStrengthMeter.d.ts.map +1 -1
- package/dist/components/forms/select/Select.d.ts.map +1 -1
- package/dist/components/navigation/accordion/Accordion.d.ts.map +1 -1
- package/dist/components/navigation/stepper/Stepper.d.ts.map +1 -1
- package/dist/components/navigation/stepper/Stepper1.d.ts.map +1 -1
- package/dist/components/navigation/tabs/Tabs.d.ts +3 -0
- package/dist/components/navigation/tabs/Tabs.d.ts.map +1 -0
- package/dist/components/navigation/tabs/index.d.ts +3 -0
- package/dist/components/navigation/tabs/index.d.ts.map +1 -0
- package/dist/components/navigation/tabs/types.d.ts +21 -0
- package/dist/components/navigation/tabs/types.d.ts.map +1 -0
- package/dist/components/overlays/dialog/Dialog.d.ts.map +1 -1
- package/dist/components/overlays/drawer/Drawer.d.ts.map +1 -1
- package/dist/components/overlays/hover-card/HoverCard.d.ts.map +1 -1
- package/dist/components/overlays/toast/Toast.d.ts.map +1 -1
- package/dist/components/overlays/tooltip/Tooltip.d.ts.map +1 -1
- package/dist/components/typography/Typography.d.ts.map +1 -1
- package/dist/contexts/ThemeContext.d.ts +1 -1
- package/dist/contexts/ThemeContext.d.ts.map +1 -1
- package/dist/contexts/index.d.ts +1 -1
- package/dist/contexts/index.d.ts.map +1 -1
- package/dist/data-table.cjs +11 -1
- package/dist/data-table.mjs +2 -2
- 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 +9 -7
- package/dist/docs.cjs.map +1 -1
- package/dist/docs.d.ts +10 -10
- package/dist/docs.d.ts.map +1 -1
- package/dist/docs.mjs +9 -7
- package/dist/docs.mjs.map +1 -1
- package/dist/drawer.cjs +1 -1
- package/dist/drawer.mjs +1 -1
- package/dist/form.cjs +1 -1
- package/dist/form.mjs +1 -1
- package/dist/foundation.css +3 -3
- package/dist/foundations/theme/ThemeProvider.d.ts +22 -1
- package/dist/foundations/theme/ThemeProvider.d.ts.map +1 -1
- package/dist/foundations/theme/index.d.ts +1 -1
- package/dist/foundations/theme/index.d.ts.map +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 +1 -1
- package/dist/icons.mjs +1 -1
- package/dist/index.cjs +229 -48
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.ts +13 -8
- package/dist/index.d.ts.map +1 -1
- package/dist/index.mjs +214 -48
- 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 +2 -1
- package/dist/progress-bar.mjs +2 -2
- 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/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 -1
- 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/tokens.css +592 -298
- package/dist/tooltip.cjs +1 -1
- package/dist/tooltip.mjs +1 -1
- package/dist/truncated-text.cjs +1 -1
- package/dist/typography.cjs +1 -1
- package/dist/typography.mjs +1 -1
- package/package.json +9 -9
- package/dist/chunks/HoverBorderGradient-DYXhtPWs.mjs.map +0 -1
- package/dist/chunks/HoverBorderGradient-DaduPpj-.cjs.map +0 -1
- package/dist/chunks/accordion-CxJYq_6x.cjs.map +0 -1
- package/dist/chunks/accordion-Dwm6yH0C.mjs.map +0 -1
- package/dist/chunks/alert-BJWReBBk.mjs +0 -40
- package/dist/chunks/alert-BJWReBBk.mjs.map +0 -1
- package/dist/chunks/alert-Cc-jD7qn.cjs +0 -46
- package/dist/chunks/alert-Cc-jD7qn.cjs.map +0 -1
- package/dist/chunks/button-NwWcZaCl.mjs.map +0 -1
- package/dist/chunks/button-sVzhc451.cjs.map +0 -1
- package/dist/chunks/calendar-B8yy-7Se.cjs.map +0 -1
- package/dist/chunks/calendar-wZGU7o1B.mjs.map +0 -1
- package/dist/chunks/card-BOTJSO1o.mjs.map +0 -1
- package/dist/chunks/card-CAzOcjaC.cjs.map +0 -1
- package/dist/chunks/carousel-BCMk0v5p.mjs.map +0 -1
- package/dist/chunks/carousel-Crpz33XV.cjs.map +0 -1
- package/dist/chunks/charts-9OPShAea.mjs.map +0 -1
- package/dist/chunks/charts-D1pdxSiu.cjs.map +0 -1
- package/dist/chunks/checkbox-BakVQmue.cjs.map +0 -1
- package/dist/chunks/checkbox-C9NrpH_Q.mjs.map +0 -1
- package/dist/chunks/chip-BN0aOUa-.mjs +0 -142
- package/dist/chunks/chip-BN0aOUa-.mjs.map +0 -1
- package/dist/chunks/chip-Dc2Sm3Ng.cjs +0 -148
- package/dist/chunks/chip-Dc2Sm3Ng.cjs.map +0 -1
- package/dist/chunks/chroma-grid-8p5tntYr.cjs.map +0 -1
- package/dist/chunks/chroma-grid-BF9SlWxA.mjs.map +0 -1
- package/dist/chunks/color-palette-CJEiZCtr.mjs.map +0 -1
- package/dist/chunks/color-palette-DWtgsI3u.cjs.map +0 -1
- package/dist/chunks/combobox-BXFmUNQt.cjs.map +0 -1
- package/dist/chunks/combobox-ietfKkAW.mjs.map +0 -1
- package/dist/chunks/data-table-DlqjTYiB.cjs +0 -1160
- package/dist/chunks/data-table-DlqjTYiB.cjs.map +0 -1
- package/dist/chunks/data-table-Dw0QFNh7.mjs +0 -1129
- package/dist/chunks/data-table-Dw0QFNh7.mjs.map +0 -1
- package/dist/chunks/date-picker-BMZV5HGM.cjs.map +0 -1
- package/dist/chunks/date-picker-CvH7zGtP.mjs.map +0 -1
- package/dist/chunks/dialog-BZst9i2z.mjs.map +0 -1
- package/dist/chunks/dialog-DScyxkX9.cjs.map +0 -1
- package/dist/chunks/drawer-B0V7RUHx.mjs.map +0 -1
- package/dist/chunks/drawer-B_x2aMuz.cjs.map +0 -1
- package/dist/chunks/form-CU_CjV-_.cjs.map +0 -1
- package/dist/chunks/form-D-vLjhyP.mjs.map +0 -1
- package/dist/chunks/hover-card-CjL7A_V7.cjs.map +0 -1
- package/dist/chunks/hover-card-D5Plwh1g.mjs.map +0 -1
- package/dist/chunks/icons-BquccnYa.mjs.map +0 -1
- package/dist/chunks/icons-CaNIzMf3.cjs.map +0 -1
- package/dist/chunks/input-CS0g1cov.mjs.map +0 -1
- package/dist/chunks/input-DuoEJayD.cjs.map +0 -1
- package/dist/chunks/multi-select-combobox-K05MPFbH.mjs.map +0 -1
- package/dist/chunks/multi-select-combobox-k4_oScfn.cjs.map +0 -1
- package/dist/chunks/otp-input-B8eJz1Lq.cjs.map +0 -1
- package/dist/chunks/otp-input-rtXD2QuM.mjs.map +0 -1
- package/dist/chunks/password-strength-meter-DOsRacP5.mjs.map +0 -1
- package/dist/chunks/password-strength-meter-DkVmfmn3.cjs.map +0 -1
- package/dist/chunks/progress-bar-BXFJbnIc.cjs.map +0 -1
- package/dist/chunks/progress-bar-RwwgUpK7.mjs.map +0 -1
- package/dist/chunks/select-BOer92kh.cjs.map +0 -1
- package/dist/chunks/select-RierVpX6.mjs.map +0 -1
- package/dist/chunks/skeleton-9q1lJV-B.cjs.map +0 -1
- package/dist/chunks/skeleton-DGzckoX9.mjs.map +0 -1
- package/dist/chunks/spotlight-card-BYF6TQ-U.cjs.map +0 -1
- package/dist/chunks/spotlight-card-kU-Y9bok.mjs.map +0 -1
- package/dist/chunks/stepper-6vnY3bgc.cjs.map +0 -1
- package/dist/chunks/stepper-sjBOMByt.mjs.map +0 -1
- package/dist/chunks/sun-to-moon-button-CB_Tkz5X.cjs +0 -192
- package/dist/chunks/sun-to-moon-button-CB_Tkz5X.cjs.map +0 -1
- package/dist/chunks/sun-to-moon-button-DvlHYqmk.mjs +0 -186
- package/dist/chunks/sun-to-moon-button-DvlHYqmk.mjs.map +0 -1
- package/dist/chunks/switch-BBg9E9Wa.mjs.map +0 -1
- package/dist/chunks/switch-CJurCzZO.cjs.map +0 -1
- package/dist/chunks/textarea-BEIHilZr.mjs.map +0 -1
- package/dist/chunks/textarea-C2T9xqFe.cjs.map +0 -1
- package/dist/chunks/theme-7DWLxJK_.cjs.map +0 -1
- package/dist/chunks/theme-BceKeYhw.mjs.map +0 -1
- package/dist/chunks/toast-7HcN4-uL.mjs.map +0 -1
- package/dist/chunks/toast-B-mjpllA.cjs.map +0 -1
- package/dist/chunks/tooltip-CHQwSgOT.cjs.map +0 -1
- package/dist/chunks/tooltip-DMcXN6Ff.mjs.map +0 -1
- package/dist/chunks/typography-BddjVdZH.mjs.map +0 -1
- package/dist/chunks/typography-DLGuS_eJ.cjs.map +0 -1
package/README.md
CHANGED
|
@@ -53,7 +53,7 @@ In your global stylesheet:
|
|
|
53
53
|
|
|
54
54
|
That single import already loads the packaged colors, fonts, foundations, and generated Tailwind v4 tokens. You do not need a local Tailwind theme extension just to use the library palette.
|
|
55
55
|
|
|
56
|
-
|
|
56
|
+
Use DS-only tokens and utilities in new code. The official contract is `--ds-*` plus DS utility classes (for example `text-ds-1`, `bg-ds-surface-1`, `border-ds-border-2`).
|
|
57
57
|
|
|
58
58
|
If you only want the raw design tokens without the Tailwind bridge, import the internal token layer directly instead:
|
|
59
59
|
|
|
@@ -117,7 +117,7 @@ If you use Next.js, import `erp-pro-ui/styles.css` from your app-level global st
|
|
|
117
117
|
|
|
118
118
|
The library now ships a two-layer theme contract so another project can use the same tokens without copying theme config:
|
|
119
119
|
|
|
120
|
-
- `erp-pro-ui/tokens.css`: raw `--ds-*` tokens
|
|
120
|
+
- `erp-pro-ui/tokens.css`: raw `--ds-*` tokens
|
|
121
121
|
- `erp-pro-ui/colors.css`: Tailwind v4 `@theme` bridge that generates semantic utilities
|
|
122
122
|
- `erp-pro-ui/styles.css`: full package stylesheet, including fonts, tokens, bridge, foundations, and animations
|
|
123
123
|
|
|
@@ -128,22 +128,22 @@ After importing `erp-pro-ui/styles.css` or `erp-pro-ui/colors.css`, you can use
|
|
|
128
128
|
```tsx
|
|
129
129
|
export function ThemePreview() {
|
|
130
130
|
return (
|
|
131
|
-
<section className="bg-surface text-
|
|
132
|
-
<h2 className="text-
|
|
131
|
+
<section className="bg-ds-surface-1 text-ds-1 border border-ds-border-2 rounded-2xl p-6 shadow-2 font-sans">
|
|
132
|
+
<h2 className="text-ds-1 text-2xl font-semibold">
|
|
133
133
|
Semantic theme utilities
|
|
134
134
|
</h2>
|
|
135
|
-
<p className="text-
|
|
135
|
+
<p className="text-ds-2">
|
|
136
136
|
These classes come from erp-pro-ui. No local Tailwind theme extension is
|
|
137
137
|
required.
|
|
138
138
|
</p>
|
|
139
139
|
<div className="mt-4 flex gap-3">
|
|
140
|
-
<span className="bg-accent text-on-accent rounded-full px-3 py-1">
|
|
140
|
+
<span className="bg-ds-accent text-ds-on-accent rounded-full px-3 py-1">
|
|
141
141
|
Accent
|
|
142
142
|
</span>
|
|
143
|
-
<span className="bg-accent-subtle text-
|
|
143
|
+
<span className="bg-ds-accent-subtle text-ds-1 rounded-full px-3 py-1">
|
|
144
144
|
Accent Subtle
|
|
145
145
|
</span>
|
|
146
|
-
<span className="bg-success-
|
|
146
|
+
<span className="bg-ds-state-success-surface text-ds-state-success-text rounded-full px-3 py-1">
|
|
147
147
|
Success
|
|
148
148
|
</span>
|
|
149
149
|
</div>
|
|
@@ -207,21 +207,99 @@ import { BarChart, getChartColorVar } from "erp-pro-ui";
|
|
|
207
207
|
The token system is split into stable layers:
|
|
208
208
|
|
|
209
209
|
- Internal design-system tokens: `--ds-*`
|
|
210
|
-
-
|
|
211
|
-
-
|
|
212
|
-
|
|
213
|
-
|
|
210
|
+
- DS utility classes: `bg-ds-surface-1`, `text-ds-1`, `border-ds-border-2`, `bg-ds-accent`, `text-ds-on-accent`, `ring-ds-focus`
|
|
211
|
+
- Raw DS tokens: `--ds-surface-*`, `--ds-text-*`, `--ds-border-*`, `--ds-color-*`
|
|
212
|
+
|
|
213
|
+
### Token contract rules
|
|
214
|
+
|
|
215
|
+
Use these rules to keep theming simple and predictable across apps:
|
|
216
|
+
|
|
217
|
+
- Edit theme values only in `tokens.css` brand/mode/variant blocks (`data-brand`, `data-mode`, `data-variant`).
|
|
218
|
+
- Use DS utility classes in component markup (`text-ds-*`, `bg-ds-*`, `border-ds-*`).
|
|
219
|
+
- Do not re-introduce legacy utility aliases (`text-foreground`, `text-muted-foreground`, `text-accent`, `bg-background*`).
|
|
220
|
+
- Do not use raw `text-[var(...)]`, `bg-[var(...)]`, `border-[var(...)]` utility classes in components.
|
|
221
|
+
- Keep official brand presets hue-first: `purple`, `teal`, `yellow`, `green`.
|
|
222
|
+
|
|
223
|
+
Single rule for theming:
|
|
224
|
+
|
|
225
|
+
- If you want a different UI color, update the matching `--ds-*` token in the correct theme block. Do not hardcode color values in components.
|
|
226
|
+
|
|
227
|
+
### Token priority and quick groups
|
|
228
|
+
|
|
229
|
+
Priority order (top to bottom):
|
|
230
|
+
|
|
231
|
+
1. Global foundation defaults (`:root` / `:host`)
|
|
232
|
+
2. Global mode overrides (dark/light + system fallback)
|
|
233
|
+
3. Brand accent scales (`purple` / `teal` / `yellow` / `green`)
|
|
234
|
+
4. Brand + mode surface/text/border overrides
|
|
235
|
+
5. Global variant overrides (`light-alt` / `dark-alt`)
|
|
236
|
+
|
|
237
|
+
When debugging a color:
|
|
238
|
+
|
|
239
|
+
- Check `--ds-surface-*` (background layers)
|
|
240
|
+
- Check `--ds-text-*` (text hierarchy)
|
|
241
|
+
- Check `--ds-border-*` (border hierarchy)
|
|
242
|
+
- Check `--ds-accent-*` (brand accents)
|
|
243
|
+
|
|
244
|
+
Quick groups:
|
|
245
|
+
|
|
246
|
+
- `--ds-surface-*`: background layers
|
|
247
|
+
- `--ds-surface-canvas`: main app/page background
|
|
248
|
+
- `--ds-surface-1`: default card/panel background on top of canvas
|
|
249
|
+
- `--ds-surface-2`: elevated background (modal/popover/raised panel)
|
|
250
|
+
- `--ds-text-*`: text hierarchy
|
|
251
|
+
- `--ds-text-1`: primary text (titles, key content)
|
|
252
|
+
- `--ds-text-2`: secondary text (supporting labels/metadata)
|
|
253
|
+
- `--ds-text-3`: tertiary text (hints/helper/low emphasis)
|
|
254
|
+
- `--ds-border-*`: border hierarchy
|
|
255
|
+
- `--ds-border-1`: strongest border
|
|
256
|
+
- `--ds-border-2`: default border
|
|
257
|
+
- `--ds-border-3`: subtle border
|
|
258
|
+
- `--ds-border-field`: input border
|
|
259
|
+
- `--ds-accent-*`: brand accent scale
|
|
260
|
+
- `--ds-accent-50..900`: light to dark scale
|
|
261
|
+
- `--ds-accent`: active accent for CTA/active states
|
|
262
|
+
- `--ds-accent-contrast`: text/icon color on accent backgrounds
|
|
263
|
+
- `--ds-color-*`: semantic derived tokens
|
|
264
|
+
- `--ds-color-bg-*`: semantic backgrounds
|
|
265
|
+
- `--ds-color-fg*`: semantic text
|
|
266
|
+
- `--ds-color-border*`: semantic borders
|
|
267
|
+
- `--ds-color-accent*`: interaction/brand states
|
|
268
|
+
- status tokens: success, warning, danger, info, disabled
|
|
214
269
|
|
|
215
270
|
### Theme switching
|
|
216
271
|
|
|
217
|
-
If you use `ThemeProvider`, the library updates `data-brand
|
|
272
|
+
If you use `ThemeProvider`, the library updates `data-brand`, `data-mode`, and `data-variant` for you.
|
|
218
273
|
|
|
219
274
|
If you do not use `ThemeProvider`, you can still switch manually in your app shell:
|
|
220
275
|
|
|
221
276
|
```html
|
|
222
|
-
<html data-brand="teal" data-mode="
|
|
277
|
+
<html data-brand="teal" data-mode="light" data-variant="alt"></html>
|
|
223
278
|
```
|
|
224
279
|
|
|
280
|
+
Quick mental model:
|
|
281
|
+
|
|
282
|
+
- `data-brand` controls accent family and brand-specific palette.
|
|
283
|
+
- `data-mode` controls light/dark surface, text, and border foundations.
|
|
284
|
+
- `data-variant` controls which foundation variant to use (`default` or `alt`) in both light and dark modes.
|
|
285
|
+
- `data-dark-variant` remains supported temporarily as a compatibility alias during migration.
|
|
286
|
+
- Components consume semantic tokens, so they update automatically.
|
|
287
|
+
|
|
288
|
+
### Brand palette presets (light + dark)
|
|
289
|
+
|
|
290
|
+
The shipped token presets include a tinted SaaS surface system for each brand. When you switch brand, mode, or variant, semantic tokens (`bg-ds-surface-1`, `text-ds-1`, `border-ds-border-2`) update automatically. Both `light-alt` and `dark-alt` use shared foundations while each brand keeps its own accent family.
|
|
291
|
+
|
|
292
|
+
| Brand preset | Light default canvas / surface / stroke / text | Light alt canvas / surface / stroke | Dark default canvas / surface / stroke / text | Dark alt canvas / surface / stroke |
|
|
293
|
+
| ------------ | ---------------------------------------------- | ----------------------------------- | --------------------------------------------- | ---------------------------------- |
|
|
294
|
+
| `purple` | `#F4F7FE` / `#FFFFFF` / `#E9EDF7` / `#2B3674` | `#F4F7FE` / `#FEFEFF` / `#A3AED0` | `#0A0B1C` / `#161936` / `#2B308B` / `#EFF4FB` | `#0F111A` / `#1A1D29` / `#2D3748` |
|
|
295
|
+
| `teal` | `#F0F9FA` / `#FFFFFF` / `#D1E9ED` / `#134E48` | `#F4F7FE` / `#FEFEFF` / `#A3AED0` | `#061113` / `#0E2529` / `#1A4D57` / `#E0F2F1` | `#0F111A` / `#1A1D29` / `#2D3748` |
|
|
296
|
+
| `yellow` | `#FEFCE8` / `#FFFFFF` / `#FEF08A` / `#854D0E` | `#F4F7FE` / `#FEFEFF` / `#A3AED0` | `#121002` / `#241D05` / `#4D3D02` / `#FEF9C3` | `#0F111A` / `#1A1D29` / `#2D3748` |
|
|
297
|
+
| `green` | `#F0FDF4` / `#FFFFFF` / `#DCFCE7` / `#064E3B` | `#F4F7FE` / `#FEFEFF` / `#A3AED0` | `#020C09` / `#06241B` / `#065F46` / `#D1FAE5` | `#0F111A` / `#1A1D29` / `#2D3748` |
|
|
298
|
+
|
|
299
|
+
You can target these via:
|
|
300
|
+
|
|
301
|
+
- `data-brand="purple|teal|yellow|green"` + `data-mode="light|dark"` + optional `data-variant="default|alt"`
|
|
302
|
+
|
|
225
303
|
## Import Patterns
|
|
226
304
|
|
|
227
305
|
Use whichever public import style fits your project.
|
|
@@ -447,19 +525,20 @@ The tables below document the public surface you can use from another project.
|
|
|
447
525
|
|
|
448
526
|
### Data Display And Charts
|
|
449
527
|
|
|
450
|
-
| Export
|
|
451
|
-
|
|
|
452
|
-
| `Card`
|
|
453
|
-
| `Chip`
|
|
454
|
-
| `ColorPalette`
|
|
455
|
-
| `DataTable`
|
|
456
|
-
| `FilterDropdown`, `FilterButton`, `ColumnToggle`, `FilterProfile`
|
|
457
|
-
| `
|
|
458
|
-
| `
|
|
459
|
-
| `
|
|
460
|
-
| `
|
|
461
|
-
| `
|
|
462
|
-
| `
|
|
528
|
+
| Export | Subpath | Use it for |
|
|
529
|
+
| -------------------------------------------------------------------------------------------------------------------------- | -------------------------- | ------------------------------------------------- |
|
|
530
|
+
| `Card` | `erp-pro-ui/card` | Panel and container layout |
|
|
531
|
+
| `Chip` | `erp-pro-ui/chip` | Tags, status pills, and labels |
|
|
532
|
+
| `ColorPalette` | `erp-pro-ui/color-palette` | Design token or palette presentation |
|
|
533
|
+
| `DataTable` | `erp-pro-ui/data-table` | Feature-rich tables with filtering and pagination |
|
|
534
|
+
| `FilterDropdown`, `FilterButton`, `ColumnToggle`, `FilterProfile` | `erp-pro-ui/data-table` | DataTable helper building blocks |
|
|
535
|
+
| `TableContainer`, `Table`, `TableHeader`, `TableBody`, `TableFooter`, `TableRow`, `TableHead`, `TableCell`, `TableCaption` | `erp-pro-ui/data-table` | Composable table primitives with style control |
|
|
536
|
+
| `AreaChart` | `erp-pro-ui/charts` | Area chart visualizations |
|
|
537
|
+
| `BarChart` | `erp-pro-ui/charts` | Bar chart visualizations |
|
|
538
|
+
| `PieChart` | `erp-pro-ui/charts` | Pie and donut charts |
|
|
539
|
+
| `NeonLineChart` | `erp-pro-ui/charts` | Glowing line charts |
|
|
540
|
+
| `StackedBarChart` | `erp-pro-ui/charts` | Stacked comparisons |
|
|
541
|
+
| `ThinBreakdownBar` | `erp-pro-ui/charts` | Compact segmented metric bars |
|
|
463
542
|
|
|
464
543
|
### Visual Effects And Text Components
|
|
465
544
|
|
|
@@ -527,6 +606,36 @@ const rows = [
|
|
|
527
606
|
<DataTable columns={columns} data={rows} searchPlaceholder="Search users" />;
|
|
528
607
|
```
|
|
529
608
|
|
|
609
|
+
### Composable table primitives
|
|
610
|
+
|
|
611
|
+
```tsx
|
|
612
|
+
import {
|
|
613
|
+
Table,
|
|
614
|
+
TableBody,
|
|
615
|
+
TableCaption,
|
|
616
|
+
TableCell,
|
|
617
|
+
TableHead,
|
|
618
|
+
TableHeader,
|
|
619
|
+
TableRow,
|
|
620
|
+
} from "erp-pro-ui";
|
|
621
|
+
|
|
622
|
+
<Table>
|
|
623
|
+
<TableCaption>Quarterly summary</TableCaption>
|
|
624
|
+
<TableHeader>
|
|
625
|
+
<TableRow>
|
|
626
|
+
<TableHead>Name</TableHead>
|
|
627
|
+
<TableHead>Role</TableHead>
|
|
628
|
+
</TableRow>
|
|
629
|
+
</TableHeader>
|
|
630
|
+
<TableBody>
|
|
631
|
+
<TableRow>
|
|
632
|
+
<TableCell>Ava Stone</TableCell>
|
|
633
|
+
<TableCell>Admin</TableCell>
|
|
634
|
+
</TableRow>
|
|
635
|
+
</TableBody>
|
|
636
|
+
</Table>;
|
|
637
|
+
```
|
|
638
|
+
|
|
530
639
|
### Charts
|
|
531
640
|
|
|
532
641
|
```tsx
|
package/dist/accordion.cjs
CHANGED
package/dist/accordion.mjs
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import { t as Accordion } from "./chunks/accordion-
|
|
1
|
+
import { t as Accordion } from "./chunks/accordion-6zxJUYXr.mjs";
|
|
2
2
|
export { Accordion };
|
package/dist/alert.cjs
CHANGED
package/dist/alert.mjs
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import { t as Alert } from "./chunks/alert-
|
|
1
|
+
import { t as Alert } from "./chunks/alert-XVmYJgds.mjs";
|
|
2
2
|
export { Alert };
|
package/dist/animations.css
CHANGED
package/dist/ascii-text.cjs
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
1
|
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
|
|
2
|
-
const require_background_gradient_animation = require("./chunks/background-gradient-animation-
|
|
2
|
+
const require_background_gradient_animation = require("./chunks/background-gradient-animation-II9hdrgB.cjs");
|
|
3
3
|
exports.BackgroundGradientAnimation = require_background_gradient_animation.BackgroundGradientAnimation;
|
|
4
4
|
exports.BackgroundGradientAnimationDemo = require_background_gradient_animation.BackgroundGradientAnimationDemo;
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import { n as BackgroundGradientAnimation, t as BackgroundGradientAnimationDemo } from "./chunks/background-gradient-animation-
|
|
1
|
+
import { n as BackgroundGradientAnimation, t as BackgroundGradientAnimationDemo } from "./chunks/background-gradient-animation-DpKJ3ecq.mjs";
|
|
2
2
|
export { BackgroundGradientAnimation, BackgroundGradientAnimationDemo };
|
|
@@ -1,3 +1,3 @@
|
|
|
1
1
|
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
|
|
2
|
-
const require_button_hover_border_gradient = require("./chunks/button-hover-border-gradient-
|
|
2
|
+
const require_button_hover_border_gradient = require("./chunks/button-hover-border-gradient-DX2lBG5C.cjs");
|
|
3
3
|
exports.ButtonHoverBorderGradient = require_button_hover_border_gradient.ButtonHoverBorderGradient;
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import { t as ButtonHoverBorderGradient } from "./chunks/button-hover-border-gradient-
|
|
1
|
+
import { t as ButtonHoverBorderGradient } from "./chunks/button-hover-border-gradient-DFppVRI4.mjs";
|
|
2
2
|
export { ButtonHoverBorderGradient };
|
package/dist/button.cjs
CHANGED
package/dist/button.mjs
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import { t as Button } from "./chunks/button-
|
|
1
|
+
import { t as Button } from "./chunks/button-DddUhuR-.mjs";
|
|
2
2
|
export { Button };
|
package/dist/calendar.cjs
CHANGED
package/dist/calendar.mjs
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import { t as Calendar } from "./chunks/calendar-
|
|
1
|
+
import { t as Calendar } from "./chunks/calendar-Cp84V2rY.mjs";
|
|
2
2
|
export { Calendar };
|
package/dist/card.cjs
CHANGED
package/dist/card.mjs
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import { t as Card } from "./chunks/card-
|
|
1
|
+
import { t as Card } from "./chunks/card-SpHHNB0c.mjs";
|
|
2
2
|
export { Card };
|
package/dist/carousel.cjs
CHANGED
package/dist/carousel.mjs
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import { t as Carousel } from "./chunks/carousel-
|
|
1
|
+
import { t as Carousel } from "./chunks/carousel-C1skQ65z.mjs";
|
|
2
2
|
export { Carousel };
|
package/dist/charts.cjs
CHANGED
|
@@ -1,7 +1,8 @@
|
|
|
1
1
|
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
|
|
2
|
-
const require_charts = require("./chunks/charts-
|
|
2
|
+
const require_charts = require("./chunks/charts-CZEYcr6X.cjs");
|
|
3
3
|
exports.AreaChart = require_charts.AreaChart;
|
|
4
4
|
exports.BarChart = require_charts.BarChart;
|
|
5
|
+
exports.MiniNeonSparkline = require_charts.MiniNeonSparkline;
|
|
5
6
|
exports.NeonLineChart = require_charts.NeonLineChart;
|
|
6
7
|
exports.PieChart = require_charts.PieChart;
|
|
7
8
|
exports.PositiveNegativeBarChart = require_charts.PositiveNegativeBarChart;
|
package/dist/charts.mjs
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import { a as ThinBreakdownBar, c as
|
|
2
|
-
export { AreaChart, BarChart, NeonLineChart, PieChart, PositiveNegativeBarChart, StackedBarChart, ThinBreakdownBar, chartColorTokens, getChartColorVar, getChartPalette };
|
|
1
|
+
import { a as ThinBreakdownBar, c as NeonLineChart, d as getChartPalette, i as AreaChart, l as chartColorTokens, n as PositiveNegativeBarChart, o as StackedBarChart, r as BarChart, s as MiniNeonSparkline, t as PieChart, u as getChartColorVar } from "./chunks/charts-C-Qee_JY.mjs";
|
|
2
|
+
export { AreaChart, BarChart, MiniNeonSparkline, NeonLineChart, PieChart, PositiveNegativeBarChart, StackedBarChart, ThinBreakdownBar, chartColorTokens, getChartColorVar, getChartPalette };
|
package/dist/checkbox.cjs
CHANGED
package/dist/checkbox.mjs
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import { t as Checkbox } from "./chunks/checkbox-
|
|
1
|
+
import { t as Checkbox } from "./chunks/checkbox-DjGpvMyo.mjs";
|
|
2
2
|
export { Checkbox };
|
package/dist/chip.cjs
CHANGED
|
@@ -1,3 +1,5 @@
|
|
|
1
1
|
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
|
|
2
|
-
const require_chip = require("./chunks/chip-
|
|
2
|
+
const require_chip = require("./chunks/chip-BY83_HK7.cjs");
|
|
3
3
|
exports.Chip = require_chip.Chip;
|
|
4
|
+
exports.SplitChip = require_chip.SplitChip;
|
|
5
|
+
exports.StatusDotChip = require_chip.StatusDotChip;
|
package/dist/chip.mjs
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import {
|
|
2
|
-
export { Chip };
|
|
1
|
+
import { n as StatusDotChip, r as Chip, t as SplitChip } from "./chunks/chip-CbO8-1lK.mjs";
|
|
2
|
+
export { Chip, SplitChip, StatusDotChip };
|
package/dist/chroma-grid.cjs
CHANGED
|
@@ -1,3 +1,3 @@
|
|
|
1
1
|
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
|
|
2
|
-
const require_chroma_grid = require("./chunks/chroma-grid-
|
|
2
|
+
const require_chroma_grid = require("./chunks/chroma-grid-DP__XtmV.cjs");
|
|
3
3
|
exports.ChromaGrid = require_chroma_grid.ChromaGrid;
|
package/dist/chroma-grid.mjs
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import { t as ChromaGrid } from "./chunks/chroma-grid-
|
|
1
|
+
import { t as ChromaGrid } from "./chunks/chroma-grid-CexX28VQ.mjs";
|
|
2
2
|
export { ChromaGrid };
|
|
@@ -5,12 +5,12 @@ let react_jsx_runtime = require("react/jsx-runtime");
|
|
|
5
5
|
let framer_motion = require("framer-motion");
|
|
6
6
|
//#region src/components/effects/hover-border-gradient/HoverBorderGradient.tsx
|
|
7
7
|
var movingMap = {
|
|
8
|
-
TOP: "radial-gradient(50.7% 50% at 50% 0%, var(--
|
|
9
|
-
LEFT: "radial-gradient(25.6% 43.1% at 0% 50%, var(--
|
|
10
|
-
BOTTOM: "radial-gradient(50.7% 50% at 50% 100%, var(--
|
|
11
|
-
RIGHT: "radial-gradient(25.2% 41% at 100% 50%, var(--
|
|
8
|
+
TOP: "radial-gradient(50.7% 50% at 50% 0%, var(--ds-gradient-accent-hover) 0%, transparent 100%)",
|
|
9
|
+
LEFT: "radial-gradient(25.6% 43.1% at 0% 50%, var(--ds-gradient-accent-hover) 0%, transparent 100%)",
|
|
10
|
+
BOTTOM: "radial-gradient(50.7% 50% at 50% 100%, var(--ds-gradient-accent-hover) 0%, transparent 100%)",
|
|
11
|
+
RIGHT: "radial-gradient(25.2% 41% at 100% 50%, var(--ds-gradient-accent-hover) 0%, transparent 100%)"
|
|
12
12
|
};
|
|
13
|
-
var highlight = `radial-gradient(85% 181% at 50% 50%, var(--
|
|
13
|
+
var highlight = `radial-gradient(85% 181% at 50% 50%, var(--ds-gradient-accent-hover) 0%, transparent 100%)`;
|
|
14
14
|
function HoverBorderGradient({ containerClassName, className, duration = 1, clockwise = true, children, ...props }) {
|
|
15
15
|
const [hovered, setHovered] = (0, react.useState)(false);
|
|
16
16
|
const [direction, setDirection] = (0, react.useState)("TOP");
|
|
@@ -42,10 +42,10 @@ function HoverBorderGradient({ containerClassName, className, duration = 1, cloc
|
|
|
42
42
|
type: "button",
|
|
43
43
|
onMouseEnter: handleMouseEnter,
|
|
44
44
|
onMouseLeave: handleMouseLeave,
|
|
45
|
-
className: require_utils.mergeClassNames("relative flex h-min w-fit flex-col flex-nowrap content-center items-center justify-center gap-10 overflow-visible rounded-lg border border-
|
|
45
|
+
className: require_utils.mergeClassNames("relative flex h-min w-fit flex-col flex-nowrap content-center items-center justify-center gap-10 overflow-visible rounded-lg border border-ds-border-2 p-px transition duration-500", containerClassName),
|
|
46
46
|
...props,
|
|
47
47
|
children: [/* @__PURE__ */ (0, react_jsx_runtime.jsx)("div", {
|
|
48
|
-
className: require_utils.mergeClassNames("bg-
|
|
48
|
+
className: require_utils.mergeClassNames("bg-ds-surface-1 text-ds-1 z-10 w-auto rounded-[inherit] px-4 py-2", className),
|
|
49
49
|
children
|
|
50
50
|
}), /* @__PURE__ */ (0, react_jsx_runtime.jsx)(framer_motion.motion.div, {
|
|
51
51
|
className: require_utils.mergeClassNames("absolute inset-0 z-0 flex-none overflow-hidden rounded-[inherit]"),
|
|
@@ -72,4 +72,4 @@ Object.defineProperty(exports, "HoverBorderGradient", {
|
|
|
72
72
|
}
|
|
73
73
|
});
|
|
74
74
|
|
|
75
|
-
//# sourceMappingURL=HoverBorderGradient-
|
|
75
|
+
//# sourceMappingURL=HoverBorderGradient-C5D6lGg0.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"HoverBorderGradient-C5D6lGg0.cjs","names":[],"sources":["../../src/components/effects/hover-border-gradient/HoverBorderGradient.tsx"],"sourcesContent":["import { mergeClassNames } from \"../../../utils\";\nimport { motion } from \"framer-motion\";\nimport { useCallback, useEffect, useState } from \"react\";\n\ntype Direction = \"TOP\" | \"LEFT\" | \"BOTTOM\" | \"RIGHT\";\n\ntype HoverBorderGradientProps =\n React.ButtonHTMLAttributes<HTMLButtonElement> & {\n containerClassName?: string;\n className?: string;\n duration?: number;\n clockwise?: boolean;\n children?: React.ReactNode;\n };\n\nconst movingMap: Record<Direction, string> = {\n TOP: \"radial-gradient(50.7% 50% at 50% 0%, var(--ds-gradient-accent-hover) 0%, transparent 100%)\",\n LEFT: \"radial-gradient(25.6% 43.1% at 0% 50%, var(--ds-gradient-accent-hover) 0%, transparent 100%)\",\n BOTTOM:\n \"radial-gradient(50.7% 50% at 50% 100%, var(--ds-gradient-accent-hover) 0%, transparent 100%)\",\n RIGHT:\n \"radial-gradient(25.2% 41% at 100% 50%, var(--ds-gradient-accent-hover) 0%, transparent 100%)\",\n};\n\nconst highlight = `radial-gradient(85% 181% at 50% 50%, var(--ds-gradient-accent-hover) 0%, transparent 100%)`;\n\nexport function HoverBorderGradient({\n containerClassName,\n className,\n duration = 1,\n clockwise = true,\n children,\n ...props\n}: HoverBorderGradientProps) {\n const [hovered, setHovered] = useState(false);\n const [direction, setDirection] = useState<Direction>(\"TOP\");\n\n const rotateDirection = useCallback(\n (current: Direction): Direction => {\n const directions: Direction[] = [\"TOP\", \"LEFT\", \"BOTTOM\", \"RIGHT\"];\n const index = directions.indexOf(current);\n const nextIndex = clockwise\n ? (index - 1 + directions.length) % directions.length\n : (index + 1) % directions.length;\n return directions[nextIndex];\n },\n [clockwise],\n );\n\n useEffect(() => {\n if (!hovered) {\n const interval = setInterval(() => {\n setDirection((prevState) => rotateDirection(prevState));\n }, duration * 1000);\n return () => clearInterval(interval);\n }\n }, [hovered, duration, rotateDirection]);\n\n const handleMouseEnter = () => setHovered(true);\n const handleMouseLeave = () => setHovered(false);\n\n return (\n <button\n type=\"button\"\n onMouseEnter={handleMouseEnter}\n onMouseLeave={handleMouseLeave}\n className={mergeClassNames(\n \"relative flex h-min w-fit flex-col flex-nowrap content-center items-center justify-center gap-10 overflow-visible rounded-lg border border-ds-border-2 p-px transition duration-500\",\n containerClassName,\n )}\n {...props}\n >\n <div\n className={mergeClassNames(\n \"bg-ds-surface-1 text-ds-1 z-10 w-auto rounded-[inherit] px-4 py-2\",\n className,\n )}\n >\n {children}\n </div>\n <motion.div\n className={mergeClassNames(\n \"absolute inset-0 z-0 flex-none overflow-hidden rounded-[inherit]\",\n )}\n style={{\n filter: \"blur(2px)\",\n position: \"absolute\",\n width: \"100%\",\n height: \"100%\",\n }}\n initial={{ background: movingMap[direction] }}\n animate={{\n background: hovered\n ? [movingMap[direction], highlight]\n : movingMap[direction],\n }}\n transition={{ ease: \"linear\", duration: duration ?? 1 }}\n />\n </button>\n );\n}\n"],"mappings":";;;;;;AAeA,IAAM,YAAuC;CAC3C,KAAK;CACL,MAAM;CACN,QACE;CACF,OACE;CACH;AAED,IAAM,YAAY;AAElB,SAAgB,oBAAoB,EAClC,oBACA,WACA,WAAW,GACX,YAAY,MACZ,UACA,GAAG,SACwB;CAC3B,MAAM,CAAC,SAAS,eAAA,GAAA,MAAA,UAAuB,MAAM;CAC7C,MAAM,CAAC,WAAW,iBAAA,GAAA,MAAA,UAAoC,MAAM;CAE5D,MAAM,mBAAA,GAAA,MAAA,cACH,YAAkC;EACjC,MAAM,aAA0B;GAAC;GAAO;GAAQ;GAAU;GAAQ;EAClE,MAAM,QAAQ,WAAW,QAAQ,QAAQ;AAIzC,SAAO,WAHW,aACb,QAAQ,IAAI,WAAW,UAAU,WAAW,UAC5C,QAAQ,KAAK,WAAW;IAG/B,CAAC,UAAU,CACZ;AAED,EAAA,GAAA,MAAA,iBAAgB;AACd,MAAI,CAAC,SAAS;GACZ,MAAM,WAAW,kBAAkB;AACjC,kBAAc,cAAc,gBAAgB,UAAU,CAAC;MACtD,WAAW,IAAK;AACnB,gBAAa,cAAc,SAAS;;IAErC;EAAC;EAAS;EAAU;EAAgB,CAAC;CAExC,MAAM,yBAAyB,WAAW,KAAK;CAC/C,MAAM,yBAAyB,WAAW,MAAM;AAEhD,QACE,iBAAA,GAAA,kBAAA,MAAC,UAAD;EACE,MAAK;EACL,cAAc;EACd,cAAc;EACd,WAAW,cAAA,gBACT,uLACA,mBACD;EACD,GAAI;YARN,CAUE,iBAAA,GAAA,kBAAA,KAAC,OAAD;GACE,WAAW,cAAA,gBACT,qEACA,UACD;GAEA;GACG,CAAA,EACN,iBAAA,GAAA,kBAAA,KAAC,cAAA,OAAO,KAAR;GACE,WAAW,cAAA,gBACT,mEACD;GACD,OAAO;IACL,QAAQ;IACR,UAAU;IACV,OAAO;IACP,QAAQ;IACT;GACD,SAAS,EAAE,YAAY,UAAU,YAAY;GAC7C,SAAS,EACP,YAAY,UACR,CAAC,UAAU,YAAY,UAAU,GACjC,UAAU,YACf;GACD,YAAY;IAAE,MAAM;IAAU,UAAU,YAAY;IAAG;GACvD,CAAA,CACK"}
|
|
@@ -4,12 +4,12 @@ import { jsx, jsxs } from "react/jsx-runtime";
|
|
|
4
4
|
import { motion } from "framer-motion";
|
|
5
5
|
//#region src/components/effects/hover-border-gradient/HoverBorderGradient.tsx
|
|
6
6
|
var movingMap = {
|
|
7
|
-
TOP: "radial-gradient(50.7% 50% at 50% 0%, var(--
|
|
8
|
-
LEFT: "radial-gradient(25.6% 43.1% at 0% 50%, var(--
|
|
9
|
-
BOTTOM: "radial-gradient(50.7% 50% at 50% 100%, var(--
|
|
10
|
-
RIGHT: "radial-gradient(25.2% 41% at 100% 50%, var(--
|
|
7
|
+
TOP: "radial-gradient(50.7% 50% at 50% 0%, var(--ds-gradient-accent-hover) 0%, transparent 100%)",
|
|
8
|
+
LEFT: "radial-gradient(25.6% 43.1% at 0% 50%, var(--ds-gradient-accent-hover) 0%, transparent 100%)",
|
|
9
|
+
BOTTOM: "radial-gradient(50.7% 50% at 50% 100%, var(--ds-gradient-accent-hover) 0%, transparent 100%)",
|
|
10
|
+
RIGHT: "radial-gradient(25.2% 41% at 100% 50%, var(--ds-gradient-accent-hover) 0%, transparent 100%)"
|
|
11
11
|
};
|
|
12
|
-
var highlight = `radial-gradient(85% 181% at 50% 50%, var(--
|
|
12
|
+
var highlight = `radial-gradient(85% 181% at 50% 50%, var(--ds-gradient-accent-hover) 0%, transparent 100%)`;
|
|
13
13
|
function HoverBorderGradient({ containerClassName, className, duration = 1, clockwise = true, children, ...props }) {
|
|
14
14
|
const [hovered, setHovered] = useState(false);
|
|
15
15
|
const [direction, setDirection] = useState("TOP");
|
|
@@ -41,10 +41,10 @@ function HoverBorderGradient({ containerClassName, className, duration = 1, cloc
|
|
|
41
41
|
type: "button",
|
|
42
42
|
onMouseEnter: handleMouseEnter,
|
|
43
43
|
onMouseLeave: handleMouseLeave,
|
|
44
|
-
className: mergeClassNames("relative flex h-min w-fit flex-col flex-nowrap content-center items-center justify-center gap-10 overflow-visible rounded-lg border border-
|
|
44
|
+
className: mergeClassNames("relative flex h-min w-fit flex-col flex-nowrap content-center items-center justify-center gap-10 overflow-visible rounded-lg border border-ds-border-2 p-px transition duration-500", containerClassName),
|
|
45
45
|
...props,
|
|
46
46
|
children: [/* @__PURE__ */ jsx("div", {
|
|
47
|
-
className: mergeClassNames("bg-
|
|
47
|
+
className: mergeClassNames("bg-ds-surface-1 text-ds-1 z-10 w-auto rounded-[inherit] px-4 py-2", className),
|
|
48
48
|
children
|
|
49
49
|
}), /* @__PURE__ */ jsx(motion.div, {
|
|
50
50
|
className: mergeClassNames("absolute inset-0 z-0 flex-none overflow-hidden rounded-[inherit]"),
|
|
@@ -66,4 +66,4 @@ function HoverBorderGradient({ containerClassName, className, duration = 1, cloc
|
|
|
66
66
|
//#endregion
|
|
67
67
|
export { HoverBorderGradient as t };
|
|
68
68
|
|
|
69
|
-
//# sourceMappingURL=HoverBorderGradient-
|
|
69
|
+
//# sourceMappingURL=HoverBorderGradient-CduqqQgX.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"HoverBorderGradient-CduqqQgX.mjs","names":[],"sources":["../../src/components/effects/hover-border-gradient/HoverBorderGradient.tsx"],"sourcesContent":["import { mergeClassNames } from \"../../../utils\";\nimport { motion } from \"framer-motion\";\nimport { useCallback, useEffect, useState } from \"react\";\n\ntype Direction = \"TOP\" | \"LEFT\" | \"BOTTOM\" | \"RIGHT\";\n\ntype HoverBorderGradientProps =\n React.ButtonHTMLAttributes<HTMLButtonElement> & {\n containerClassName?: string;\n className?: string;\n duration?: number;\n clockwise?: boolean;\n children?: React.ReactNode;\n };\n\nconst movingMap: Record<Direction, string> = {\n TOP: \"radial-gradient(50.7% 50% at 50% 0%, var(--ds-gradient-accent-hover) 0%, transparent 100%)\",\n LEFT: \"radial-gradient(25.6% 43.1% at 0% 50%, var(--ds-gradient-accent-hover) 0%, transparent 100%)\",\n BOTTOM:\n \"radial-gradient(50.7% 50% at 50% 100%, var(--ds-gradient-accent-hover) 0%, transparent 100%)\",\n RIGHT:\n \"radial-gradient(25.2% 41% at 100% 50%, var(--ds-gradient-accent-hover) 0%, transparent 100%)\",\n};\n\nconst highlight = `radial-gradient(85% 181% at 50% 50%, var(--ds-gradient-accent-hover) 0%, transparent 100%)`;\n\nexport function HoverBorderGradient({\n containerClassName,\n className,\n duration = 1,\n clockwise = true,\n children,\n ...props\n}: HoverBorderGradientProps) {\n const [hovered, setHovered] = useState(false);\n const [direction, setDirection] = useState<Direction>(\"TOP\");\n\n const rotateDirection = useCallback(\n (current: Direction): Direction => {\n const directions: Direction[] = [\"TOP\", \"LEFT\", \"BOTTOM\", \"RIGHT\"];\n const index = directions.indexOf(current);\n const nextIndex = clockwise\n ? (index - 1 + directions.length) % directions.length\n : (index + 1) % directions.length;\n return directions[nextIndex];\n },\n [clockwise],\n );\n\n useEffect(() => {\n if (!hovered) {\n const interval = setInterval(() => {\n setDirection((prevState) => rotateDirection(prevState));\n }, duration * 1000);\n return () => clearInterval(interval);\n }\n }, [hovered, duration, rotateDirection]);\n\n const handleMouseEnter = () => setHovered(true);\n const handleMouseLeave = () => setHovered(false);\n\n return (\n <button\n type=\"button\"\n onMouseEnter={handleMouseEnter}\n onMouseLeave={handleMouseLeave}\n className={mergeClassNames(\n \"relative flex h-min w-fit flex-col flex-nowrap content-center items-center justify-center gap-10 overflow-visible rounded-lg border border-ds-border-2 p-px transition duration-500\",\n containerClassName,\n )}\n {...props}\n >\n <div\n className={mergeClassNames(\n \"bg-ds-surface-1 text-ds-1 z-10 w-auto rounded-[inherit] px-4 py-2\",\n className,\n )}\n >\n {children}\n </div>\n <motion.div\n className={mergeClassNames(\n \"absolute inset-0 z-0 flex-none overflow-hidden rounded-[inherit]\",\n )}\n style={{\n filter: \"blur(2px)\",\n position: \"absolute\",\n width: \"100%\",\n height: \"100%\",\n }}\n initial={{ background: movingMap[direction] }}\n animate={{\n background: hovered\n ? [movingMap[direction], highlight]\n : movingMap[direction],\n }}\n transition={{ ease: \"linear\", duration: duration ?? 1 }}\n />\n </button>\n );\n}\n"],"mappings":";;;;;AAeA,IAAM,YAAuC;CAC3C,KAAK;CACL,MAAM;CACN,QACE;CACF,OACE;CACH;AAED,IAAM,YAAY;AAElB,SAAgB,oBAAoB,EAClC,oBACA,WACA,WAAW,GACX,YAAY,MACZ,UACA,GAAG,SACwB;CAC3B,MAAM,CAAC,SAAS,cAAc,SAAS,MAAM;CAC7C,MAAM,CAAC,WAAW,gBAAgB,SAAoB,MAAM;CAE5D,MAAM,kBAAkB,aACrB,YAAkC;EACjC,MAAM,aAA0B;GAAC;GAAO;GAAQ;GAAU;GAAQ;EAClE,MAAM,QAAQ,WAAW,QAAQ,QAAQ;AAIzC,SAAO,WAHW,aACb,QAAQ,IAAI,WAAW,UAAU,WAAW,UAC5C,QAAQ,KAAK,WAAW;IAG/B,CAAC,UAAU,CACZ;AAED,iBAAgB;AACd,MAAI,CAAC,SAAS;GACZ,MAAM,WAAW,kBAAkB;AACjC,kBAAc,cAAc,gBAAgB,UAAU,CAAC;MACtD,WAAW,IAAK;AACnB,gBAAa,cAAc,SAAS;;IAErC;EAAC;EAAS;EAAU;EAAgB,CAAC;CAExC,MAAM,yBAAyB,WAAW,KAAK;CAC/C,MAAM,yBAAyB,WAAW,MAAM;AAEhD,QACE,qBAAC,UAAD;EACE,MAAK;EACL,cAAc;EACd,cAAc;EACd,WAAW,gBACT,uLACA,mBACD;EACD,GAAI;YARN,CAUE,oBAAC,OAAD;GACE,WAAW,gBACT,qEACA,UACD;GAEA;GACG,CAAA,EACN,oBAAC,OAAO,KAAR;GACE,WAAW,gBACT,mEACD;GACD,OAAO;IACL,QAAQ;IACR,UAAU;IACV,OAAO;IACP,QAAQ;IACT;GACD,SAAS,EAAE,YAAY,UAAU,YAAY;GAC7C,SAAS,EACP,YAAY,UACR,CAAC,UAAU,YAAY,UAAU,GACjC,UAAU,YACf;GACD,YAAY;IAAE,MAAM;IAAU,UAAU,YAAY;IAAG;GACvD,CAAA,CACK"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { N as ChevronDownIcon } from "./icons-
|
|
1
|
+
import { N as ChevronDownIcon } from "./icons-bx3nrxNv.mjs";
|
|
2
2
|
import { useState } from "react";
|
|
3
3
|
import { jsx, jsxs } from "react/jsx-runtime";
|
|
4
4
|
//#region src/components/navigation/accordion/Accordion.tsx
|
|
@@ -24,10 +24,10 @@ var Accordion = ({ items, type = "single", defaultOpenIds = type === "single" &&
|
|
|
24
24
|
children: items.map((item) => {
|
|
25
25
|
const open = openItems.includes(item.id);
|
|
26
26
|
return /* @__PURE__ */ jsxs("div", {
|
|
27
|
-
className: cx("rounded-xl
|
|
27
|
+
className: cx("rounded-xl border border-ds-border-2 bg-ds-surface-1 backdrop-blur-2xl transition-all duration-300", "hover:border-ds-border-1 hover:bg-ds-surface-2", open && "ring-2 ring-ds-focus/40", separated ? "p-0" : ""),
|
|
28
28
|
children: [/* @__PURE__ */ jsxs("button", {
|
|
29
29
|
type: "button",
|
|
30
|
-
className: cx("flex w-full items-center justify-between gap-4 px-5 py-4 rounded-xl transition-colors duration-200", "text-
|
|
30
|
+
className: cx("flex w-full items-center justify-between gap-4 px-5 py-4 rounded-xl transition-colors duration-200", "text-ds-1 hover:bg-ds-surface-2", separated ? "border-b border-ds-border-2" : "", item.disabled ? "opacity-50 cursor-not-allowed" : "cursor-pointer"),
|
|
31
31
|
"aria-expanded": open,
|
|
32
32
|
"aria-controls": `${item.id}-content`,
|
|
33
33
|
id: `${item.id}-trigger`,
|
|
@@ -36,14 +36,14 @@ var Accordion = ({ items, type = "single", defaultOpenIds = type === "single" &&
|
|
|
36
36
|
children: [/* @__PURE__ */ jsxs("div", {
|
|
37
37
|
className: "text-left flex-1",
|
|
38
38
|
children: [/* @__PURE__ */ jsx("p", {
|
|
39
|
-
className: "text-base font-semibold text-
|
|
39
|
+
className: "text-base font-semibold text-ds-1",
|
|
40
40
|
children: item.title
|
|
41
41
|
}), item.description && /* @__PURE__ */ jsx("p", {
|
|
42
|
-
className: "
|
|
42
|
+
className: "mt-0.5 text-sm text-ds-2",
|
|
43
43
|
children: item.description
|
|
44
44
|
})]
|
|
45
45
|
}), /* @__PURE__ */ jsx("span", {
|
|
46
|
-
className: cx("p-1.5 rounded-lg transition-all duration-300", "bg-
|
|
46
|
+
className: cx("p-1.5 rounded-lg transition-all duration-300", "bg-ds-surface-2 text-ds-2", open && "rotate-180 bg-ds-accent-subtle text-ds-1"),
|
|
47
47
|
children: caret
|
|
48
48
|
})]
|
|
49
49
|
}), /* @__PURE__ */ jsx("div", {
|
|
@@ -52,7 +52,7 @@ var Accordion = ({ items, type = "single", defaultOpenIds = type === "single" &&
|
|
|
52
52
|
"aria-labelledby": `${item.id}-trigger`,
|
|
53
53
|
className: cx("overflow-hidden transition-all duration-300 ease-in-out", open ? "max-h-[1000px] opacity-100" : "max-h-0 opacity-0"),
|
|
54
54
|
children: /* @__PURE__ */ jsx("div", {
|
|
55
|
-
className: "px-5 pb-5 pt-2 text-sm
|
|
55
|
+
className: "px-5 pb-5 pt-2 text-sm leading-relaxed text-ds-2",
|
|
56
56
|
children: item.content
|
|
57
57
|
})
|
|
58
58
|
})]
|
|
@@ -63,4 +63,4 @@ var Accordion = ({ items, type = "single", defaultOpenIds = type === "single" &&
|
|
|
63
63
|
//#endregion
|
|
64
64
|
export { Accordion as t };
|
|
65
65
|
|
|
66
|
-
//# sourceMappingURL=accordion-
|
|
66
|
+
//# sourceMappingURL=accordion-6zxJUYXr.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"accordion-6zxJUYXr.mjs","names":[],"sources":["../../src/components/navigation/accordion/Accordion.tsx"],"sourcesContent":["import { useState } from \"react\";\n\nimport { ChevronDownIcon } from \"../../icons\";\nimport type { AccordionProps } from \"./types\";\n\nconst cx = (...classes: Array<string | false | undefined>) =>\n classes.filter(Boolean).join(\" \").replace(/\\s+/g, \" \").trim();\n\nconst caret = (\n <ChevronDownIcon\n className=\"h-5 w-5 transition-transform duration-300\"\n aria-hidden=\"true\"\n />\n);\n\nexport const Accordion = ({\n items,\n type = \"single\",\n defaultOpenIds = type === \"single\" && items.length ? [items[0].id] : [],\n value,\n onValueChange,\n className = \"\",\n separated = false,\n}: AccordionProps) => {\n const [internalOpen, setInternalOpen] = useState<string[]>(defaultOpenIds);\n const controlled = Array.isArray(value);\n const openItems = controlled ? value! : internalOpen;\n\n const toggleItem = (id: string) => {\n let next: string[];\n const isOpen = openItems.includes(id);\n\n if (type === \"single\") {\n next = isOpen ? [] : [id];\n } else {\n next = isOpen\n ? openItems.filter((openId) => openId !== id)\n : [...openItems, id];\n }\n\n if (!controlled) {\n setInternalOpen(next);\n }\n onValueChange?.(next);\n };\n\n return (\n <div className={cx(\"space-y-3\", className)}>\n {items.map((item) => {\n const open = openItems.includes(item.id);\n return (\n <div\n key={item.id}\n className={cx(\n \"rounded-xl border border-ds-border-2 bg-ds-surface-1 backdrop-blur-2xl transition-all duration-300\",\n \"hover:border-ds-border-1 hover:bg-ds-surface-2\",\n // Ring highlight on open\n open && \"ring-2 ring-ds-focus/40\",\n separated ? \"p-0\" : \"\",\n )}\n >\n <button\n type=\"button\"\n className={cx(\n \"flex w-full items-center justify-between gap-4 px-5 py-4 rounded-xl transition-colors duration-200\",\n \"text-ds-1 hover:bg-ds-surface-2\",\n separated ? \"border-b border-ds-border-2\" : \"\",\n item.disabled\n ? \"opacity-50 cursor-not-allowed\"\n : \"cursor-pointer\",\n )}\n aria-expanded={open}\n aria-controls={`${item.id}-content`}\n id={`${item.id}-trigger`}\n onClick={() => !item.disabled && toggleItem(item.id)}\n disabled={item.disabled}\n >\n <div className=\"text-left flex-1\">\n <p className=\"text-base font-semibold text-ds-1\">\n {item.title}\n </p>\n {item.description && (\n <p className=\"mt-0.5 text-sm text-ds-2\">{item.description}</p>\n )}\n </div>\n <span\n className={cx(\n \"p-1.5 rounded-lg transition-all duration-300\",\n \"bg-ds-surface-2 text-ds-2\",\n open && \"rotate-180 bg-ds-accent-subtle text-ds-1\",\n )}\n >\n {caret}\n </span>\n </button>\n <div\n id={`${item.id}-content`}\n role=\"region\"\n aria-labelledby={`${item.id}-trigger`}\n className={cx(\n \"overflow-hidden transition-all duration-300 ease-in-out\",\n open ? \"max-h-[1000px] opacity-100\" : \"max-h-0 opacity-0\",\n )}\n >\n <div className=\"px-5 pb-5 pt-2 text-sm leading-relaxed text-ds-2\">\n {item.content}\n </div>\n </div>\n </div>\n );\n })}\n </div>\n );\n};\n"],"mappings":";;;;AAKA,IAAM,MAAM,GAAG,YACb,QAAQ,OAAO,QAAQ,CAAC,KAAK,IAAI,CAAC,QAAQ,QAAQ,IAAI,CAAC,MAAM;AAE/D,IAAM,QACJ,oBAAC,iBAAD;CACE,WAAU;CACV,eAAY;CACZ,CAAA;AAGJ,IAAa,aAAa,EACxB,OACA,OAAO,UACP,iBAAiB,SAAS,YAAY,MAAM,SAAS,CAAC,MAAM,GAAG,GAAG,GAAG,EAAE,EACvE,OACA,eACA,YAAY,IACZ,YAAY,YACQ;CACpB,MAAM,CAAC,cAAc,mBAAmB,SAAmB,eAAe;CAC1E,MAAM,aAAa,MAAM,QAAQ,MAAM;CACvC,MAAM,YAAY,aAAa,QAAS;CAExC,MAAM,cAAc,OAAe;EACjC,IAAI;EACJ,MAAM,SAAS,UAAU,SAAS,GAAG;AAErC,MAAI,SAAS,SACX,QAAO,SAAS,EAAE,GAAG,CAAC,GAAG;MAEzB,QAAO,SACH,UAAU,QAAQ,WAAW,WAAW,GAAG,GAC3C,CAAC,GAAG,WAAW,GAAG;AAGxB,MAAI,CAAC,WACH,iBAAgB,KAAK;AAEvB,kBAAgB,KAAK;;AAGvB,QACE,oBAAC,OAAD;EAAK,WAAW,GAAG,aAAa,UAAU;YACvC,MAAM,KAAK,SAAS;GACnB,MAAM,OAAO,UAAU,SAAS,KAAK,GAAG;AACxC,UACE,qBAAC,OAAD;IAEE,WAAW,GACT,sGACA,kDAEA,QAAQ,2BACR,YAAY,QAAQ,GACrB;cARH,CAUE,qBAAC,UAAD;KACE,MAAK;KACL,WAAW,GACT,sGACA,mCACA,YAAY,gCAAgC,IAC5C,KAAK,WACD,kCACA,iBACL;KACD,iBAAe;KACf,iBAAe,GAAG,KAAK,GAAG;KAC1B,IAAI,GAAG,KAAK,GAAG;KACf,eAAe,CAAC,KAAK,YAAY,WAAW,KAAK,GAAG;KACpD,UAAU,KAAK;eAdjB,CAgBE,qBAAC,OAAD;MAAK,WAAU;gBAAf,CACE,oBAAC,KAAD;OAAG,WAAU;iBACV,KAAK;OACJ,CAAA,EACH,KAAK,eACJ,oBAAC,KAAD;OAAG,WAAU;iBAA4B,KAAK;OAAgB,CAAA,CAE5D;SACN,oBAAC,QAAD;MACE,WAAW,GACT,gDACA,6BACA,QAAQ,2CACT;gBAEA;MACI,CAAA,CACA;QACT,oBAAC,OAAD;KACE,IAAI,GAAG,KAAK,GAAG;KACf,MAAK;KACL,mBAAiB,GAAG,KAAK,GAAG;KAC5B,WAAW,GACT,2DACA,OAAO,+BAA+B,oBACvC;eAED,oBAAC,OAAD;MAAK,WAAU;gBACZ,KAAK;MACF,CAAA;KACF,CAAA,CACF;MAxDC,KAAK,GAwDN;IAER;EACE,CAAA"}
|