erp-pro-ui 0.1.1 → 0.1.3
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 +512 -288
- 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/ascii-text.cjs +1 -1
- package/dist/ascii-text.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 +12 -0
- package/dist/catalog.cjs.map +1 -1
- package/dist/catalog.d.ts +21 -1
- package/dist/catalog.d.ts.map +1 -1
- package/dist/catalog.mjs +12 -0
- package/dist/catalog.mjs.map +1 -1
- package/dist/charts.cjs +5 -1
- package/dist/charts.mjs +2 -2
- 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/{accordion-C_0oGZkZ.mjs → accordion-Cbt-SJhj.mjs} +4 -4
- package/dist/chunks/accordion-Cbt-SJhj.mjs.map +1 -0
- package/dist/chunks/{accordion-BZ5hyz0_.cjs → accordion-pfJR8YYA.cjs} +4 -4
- package/dist/chunks/accordion-pfJR8YYA.cjs.map +1 -0
- package/dist/chunks/{alert-DeVa-NR1.mjs → alert-CtdLy4Hv.mjs} +6 -6
- package/dist/chunks/alert-CtdLy4Hv.mjs.map +1 -0
- package/dist/chunks/{alert-BdBDWqBN.cjs → alert-Dvz1GoL5.cjs} +6 -6
- package/dist/chunks/alert-Dvz1GoL5.cjs.map +1 -0
- package/dist/chunks/{ascii-text-BzQCLfya.mjs → ascii-text-C5tyNsR3.mjs} +32 -5
- package/dist/chunks/ascii-text-C5tyNsR3.mjs.map +1 -0
- package/dist/chunks/{ascii-text-D6lVHWph.cjs → ascii-text-DlmArZXh.cjs} +32 -5
- package/dist/chunks/ascii-text-DlmArZXh.cjs.map +1 -0
- package/dist/chunks/background-gradient-animation-BL-lnrJe.mjs.map +1 -1
- package/dist/chunks/background-gradient-animation-CXV9GDH8.cjs.map +1 -1
- package/dist/chunks/{button-CmNEMp_O.mjs → button-B0Lhj0AS.mjs} +3 -3
- package/dist/chunks/button-B0Lhj0AS.mjs.map +1 -0
- package/dist/chunks/{button-BH1eUjae.cjs → button-CZL6kFzT.cjs} +3 -3
- package/dist/chunks/button-CZL6kFzT.cjs.map +1 -0
- package/dist/chunks/{calendar-xrGmvukr.cjs → calendar-Cpp_Rc7T.cjs} +58 -17
- package/dist/chunks/calendar-Cpp_Rc7T.cjs.map +1 -0
- package/dist/chunks/{calendar-BarcG6x_.mjs → calendar-DrCgT_pj.mjs} +58 -17
- package/dist/chunks/calendar-DrCgT_pj.mjs.map +1 -0
- package/dist/chunks/{card-DZGM4zLx.cjs → card-C5_tFK6Q.cjs} +2 -2
- package/dist/chunks/card-C5_tFK6Q.cjs.map +1 -0
- package/dist/chunks/{card-CzstAQYy.mjs → card-Dh8wNv8N.mjs} +2 -2
- package/dist/chunks/card-Dh8wNv8N.mjs.map +1 -0
- package/dist/chunks/{carousel-BJ3nm2bw.mjs → carousel-BYwqI4cA.mjs} +3 -3
- package/dist/chunks/{carousel-47Eiyzwg.cjs.map → carousel-BYwqI4cA.mjs.map} +1 -1
- package/dist/chunks/{carousel-47Eiyzwg.cjs → carousel-C1338X8h.cjs} +3 -3
- package/dist/chunks/{carousel-BJ3nm2bw.mjs.map → carousel-C1338X8h.cjs.map} +1 -1
- package/dist/chunks/charts-BYvM4TMG.mjs +886 -0
- package/dist/chunks/charts-BYvM4TMG.mjs.map +1 -0
- package/dist/chunks/charts-DbxyHtlX.cjs +947 -0
- package/dist/chunks/charts-DbxyHtlX.cjs.map +1 -0
- package/dist/chunks/{checkbox-DQmZwRTt.cjs → checkbox-CxOcjoGP.cjs} +8 -8
- package/dist/chunks/checkbox-CxOcjoGP.cjs.map +1 -0
- package/dist/chunks/{checkbox-B3eIojWs.mjs → checkbox-Pr49U9F1.mjs} +8 -8
- package/dist/chunks/checkbox-Pr49U9F1.mjs.map +1 -0
- package/dist/chunks/{chip-BH6wzwat.cjs → chip-B4ol1yPk.cjs} +12 -12
- package/dist/chunks/chip-B4ol1yPk.cjs.map +1 -0
- package/dist/chunks/{chip-cZ7-HmWw.mjs → chip-DdnBLdpl.mjs} +12 -12
- package/dist/chunks/chip-DdnBLdpl.mjs.map +1 -0
- package/dist/chunks/{chroma-grid-CC_fFzxO.mjs → chroma-grid-BAo6V5A7.mjs} +10 -10
- package/dist/chunks/chroma-grid-BAo6V5A7.mjs.map +1 -0
- package/dist/chunks/{chroma-grid-DtsqM4LW.cjs → chroma-grid-CIk0dsNS.cjs} +10 -10
- package/dist/chunks/chroma-grid-CIk0dsNS.cjs.map +1 -0
- package/dist/chunks/color-palette-2TuEMkAn.cjs +754 -0
- package/dist/chunks/color-palette-2TuEMkAn.cjs.map +1 -0
- package/dist/chunks/color-palette-euKQMWlV.mjs +748 -0
- package/dist/chunks/color-palette-euKQMWlV.mjs.map +1 -0
- package/dist/chunks/{combobox-mAvOcg-E.cjs → combobox-CwGubKTt.cjs} +56 -32
- package/dist/chunks/combobox-CwGubKTt.cjs.map +1 -0
- package/dist/chunks/combobox-DrFmkI0F.mjs +132 -0
- package/dist/chunks/combobox-DrFmkI0F.mjs.map +1 -0
- package/dist/chunks/{data-table-Dp0t_I_z.mjs → data-table-Bo80m7qV.mjs} +197 -292
- package/dist/chunks/data-table-Bo80m7qV.mjs.map +1 -0
- package/dist/chunks/{data-table-BRcGhJDf.cjs → data-table-W1sK5tkL.cjs} +197 -292
- package/dist/chunks/data-table-W1sK5tkL.cjs.map +1 -0
- package/dist/chunks/date-picker-CNPORxhv.mjs +205 -0
- package/dist/chunks/date-picker-CNPORxhv.mjs.map +1 -0
- package/dist/chunks/date-picker-CZo68Fkl.cjs +211 -0
- package/dist/chunks/date-picker-CZo68Fkl.cjs.map +1 -0
- package/dist/chunks/{dialog-Cbuf8V0g.cjs → dialog-CYFiWN8M.cjs} +20 -20
- package/dist/chunks/dialog-CYFiWN8M.cjs.map +1 -0
- package/dist/chunks/{dialog-C6nxSfIl.mjs → dialog-DUWnV9tN.mjs} +20 -20
- package/dist/chunks/dialog-DUWnV9tN.mjs.map +1 -0
- package/dist/chunks/{drawer-Dn0u8Sck.cjs → drawer-CLjsYdxN.cjs} +39 -22
- package/dist/chunks/drawer-CLjsYdxN.cjs.map +1 -0
- package/dist/chunks/drawer-D82Jz6KO.mjs +122 -0
- package/dist/chunks/drawer-D82Jz6KO.mjs.map +1 -0
- package/dist/chunks/{form-TwlDrshv.mjs → form-B2vcaHwh.mjs} +4 -4
- package/dist/chunks/form-B2vcaHwh.mjs.map +1 -0
- package/dist/chunks/{form-DcEuk721.cjs → form-CzH9GQc6.cjs} +4 -4
- package/dist/chunks/form-CzH9GQc6.cjs.map +1 -0
- package/dist/chunks/{gradual-blur-2jVhPcND.cjs → gradual-blur-B9GoY8o1.cjs} +1 -1
- package/dist/chunks/{gradual-blur-2jVhPcND.cjs.map → gradual-blur-B9GoY8o1.cjs.map} +1 -1
- package/dist/chunks/{gradual-blur-jTzKCmAV.mjs → gradual-blur-Bl3dOMEz.mjs} +1 -1
- package/dist/chunks/{gradual-blur-jTzKCmAV.mjs.map → gradual-blur-Bl3dOMEz.mjs.map} +1 -1
- package/dist/chunks/{hover-card-KjWMnvt_.cjs → hover-card-v0QwmVBU.cjs} +9 -4
- package/dist/chunks/hover-card-v0QwmVBU.cjs.map +1 -0
- package/dist/chunks/{hover-card-DwTVfjgN.mjs → hover-card-xqwpmZNm.mjs} +9 -4
- package/dist/chunks/{hover-card-KjWMnvt_.cjs.map → hover-card-xqwpmZNm.mjs.map} +1 -1
- package/dist/chunks/{icons-DYkpqWYG.cjs → icons-BxIzP2jd.cjs} +131 -8
- package/dist/chunks/icons-BxIzP2jd.cjs.map +1 -0
- package/dist/chunks/{icons-CrM6pFkv.mjs → icons-DuumN7z-.mjs} +108 -9
- package/dist/chunks/icons-DuumN7z-.mjs.map +1 -0
- package/dist/chunks/input-BWM6G7jq.cjs +117 -0
- package/dist/chunks/input-BWM6G7jq.cjs.map +1 -0
- package/dist/chunks/input-Bt_r_B_c.mjs +105 -0
- package/dist/chunks/input-Bt_r_B_c.mjs.map +1 -0
- package/dist/chunks/{label-EciNc4hO.cjs → label-BWPEGVam.cjs} +1 -1
- package/dist/chunks/{label-EciNc4hO.cjs.map → label-BWPEGVam.cjs.map} +1 -1
- package/dist/chunks/{label-JZn7PmtR.mjs → label-KPA-yYOF.mjs} +1 -1
- package/dist/chunks/{label-JZn7PmtR.mjs.map → label-KPA-yYOF.mjs.map} +1 -1
- package/dist/chunks/{loading-DPNa_X3c.mjs → loading-S1TdIrbB.mjs} +2 -2
- package/dist/chunks/{loading-DPNa_X3c.mjs.map → loading-S1TdIrbB.mjs.map} +1 -1
- package/dist/chunks/{loading-Cqgps3nf.cjs → loading-q7IEg56I.cjs} +2 -2
- package/dist/chunks/{loading-Cqgps3nf.cjs.map → loading-q7IEg56I.cjs.map} +1 -1
- package/dist/chunks/multi-select-combobox-D46M-AN9.mjs +132 -0
- package/dist/chunks/multi-select-combobox-D46M-AN9.mjs.map +1 -0
- package/dist/chunks/multi-select-combobox-dS6bJE_e.cjs +139 -0
- package/dist/chunks/multi-select-combobox-dS6bJE_e.cjs.map +1 -0
- package/dist/chunks/{otp-input-DaQDfI9C.cjs → otp-input-DSW9Ca_D.cjs} +13 -14
- package/dist/chunks/otp-input-DSW9Ca_D.cjs.map +1 -0
- package/dist/chunks/{otp-input-CNungc1j.mjs → otp-input-DeAi4nJ_.mjs} +13 -14
- package/dist/chunks/otp-input-DeAi4nJ_.mjs.map +1 -0
- package/dist/chunks/{overlay-BfUR77DT.cjs → overlay-DWNTyQzK.cjs} +1 -1
- package/dist/chunks/{overlay-BfUR77DT.cjs.map → overlay-DWNTyQzK.cjs.map} +1 -1
- package/dist/chunks/{overlay-CpdakhXI.mjs → overlay-TycCIFOu.mjs} +1 -1
- package/dist/chunks/{overlay-CpdakhXI.mjs.map → overlay-TycCIFOu.mjs.map} +1 -1
- package/dist/chunks/{password-strength-meter-xtMqhhFg.mjs → password-strength-meter-CbNSBuh_.mjs} +10 -10
- package/dist/chunks/password-strength-meter-CbNSBuh_.mjs.map +1 -0
- package/dist/chunks/{password-strength-meter-u4YI00zE.cjs → password-strength-meter-DxMV6GAs.cjs} +10 -10
- package/dist/chunks/password-strength-meter-DxMV6GAs.cjs.map +1 -0
- package/dist/chunks/progress-bar-B9sy7WBT.mjs +89 -0
- package/dist/chunks/progress-bar-B9sy7WBT.mjs.map +1 -0
- package/dist/chunks/progress-bar-BdvQtpm3.cjs +96 -0
- package/dist/chunks/progress-bar-BdvQtpm3.cjs.map +1 -0
- package/dist/chunks/{radio-C-fPZgSY.mjs → radio-C9w_CoiY.mjs} +9 -9
- package/dist/chunks/radio-C9w_CoiY.mjs.map +1 -0
- package/dist/chunks/{radio-mCgvEhOR.cjs → radio-jMHDvaMY.cjs} +9 -9
- package/dist/chunks/radio-jMHDvaMY.cjs.map +1 -0
- package/dist/chunks/select-B8UQ6Uq5.mjs +170 -0
- package/dist/chunks/select-B8UQ6Uq5.mjs.map +1 -0
- package/dist/chunks/select-CCUSMvfS.cjs +176 -0
- package/dist/chunks/select-CCUSMvfS.cjs.map +1 -0
- package/dist/chunks/{skeleton-D1S4RyeL.mjs → skeleton-BhYWOp0Q.mjs} +1 -1
- package/dist/chunks/{skeleton-D1S4RyeL.mjs.map → skeleton-BhYWOp0Q.mjs.map} +1 -1
- package/dist/chunks/{skeleton-C-NHrM-w.cjs → skeleton-DTXpHYYB.cjs} +1 -1
- package/dist/chunks/{skeleton-C-NHrM-w.cjs.map → skeleton-DTXpHYYB.cjs.map} +1 -1
- package/dist/chunks/{spinners-hf553hP9.mjs → spinners-BBCWD2gw.mjs} +2 -2
- package/dist/chunks/{spinners-hf553hP9.mjs.map → spinners-BBCWD2gw.mjs.map} +1 -1
- package/dist/chunks/{spinners-CU3bLaoo.cjs → spinners-BL4ERCCw.cjs} +2 -2
- package/dist/chunks/{spinners-CU3bLaoo.cjs.map → spinners-BL4ERCCw.cjs.map} +1 -1
- package/dist/chunks/{splash-cursor-Dpzl_YXx.cjs → splash-cursor-BVSmbcIX.cjs} +9 -8
- package/dist/chunks/splash-cursor-BVSmbcIX.cjs.map +1 -0
- package/dist/chunks/{splash-cursor-9BsoQZl0.mjs → splash-cursor-rSrTnawZ.mjs} +9 -8
- package/dist/chunks/splash-cursor-rSrTnawZ.mjs.map +1 -0
- package/dist/chunks/{spotlight-card-Bl0aXnT4.mjs → spotlight-card-BpZLMOp6.mjs} +1 -1
- package/dist/chunks/{spotlight-card-Bl0aXnT4.mjs.map → spotlight-card-BpZLMOp6.mjs.map} +1 -1
- package/dist/chunks/{spotlight-card-SUhrgstF.cjs → spotlight-card-DS1dy1W3.cjs} +1 -1
- package/dist/chunks/{spotlight-card-SUhrgstF.cjs.map → spotlight-card-DS1dy1W3.cjs.map} +1 -1
- package/dist/chunks/stepper-D6qQbZdg.cjs +642 -0
- package/dist/chunks/stepper-D6qQbZdg.cjs.map +1 -0
- package/dist/chunks/stepper-DUknuW2E.mjs +618 -0
- package/dist/chunks/stepper-DUknuW2E.mjs.map +1 -0
- package/dist/chunks/{sun-to-moon-button-3E6qah0o.mjs → sun-to-moon-button-B2Aje05o.mjs} +3 -3
- package/dist/chunks/{sun-to-moon-button-3E6qah0o.mjs.map → sun-to-moon-button-B2Aje05o.mjs.map} +1 -1
- package/dist/chunks/{sun-to-moon-button-B__3FWnK.cjs → sun-to-moon-button-BmFwRBye.cjs} +3 -3
- package/dist/chunks/{sun-to-moon-button-B__3FWnK.cjs.map → sun-to-moon-button-BmFwRBye.cjs.map} +1 -1
- package/dist/chunks/{switch-y8oWcyLp.cjs → switch-C5otDb4c.cjs} +3 -3
- package/dist/chunks/switch-C5otDb4c.cjs.map +1 -0
- package/dist/chunks/{switch-DYLavKgf.mjs → switch-DOVl_i_s.mjs} +3 -3
- package/dist/chunks/switch-DOVl_i_s.mjs.map +1 -0
- package/dist/chunks/textarea-Blky_fLK.mjs +57 -0
- package/dist/chunks/textarea-Blky_fLK.mjs.map +1 -0
- package/dist/chunks/textarea-ok_NlE2p.cjs +63 -0
- package/dist/chunks/textarea-ok_NlE2p.cjs.map +1 -0
- package/dist/chunks/{theme-CBtWIFMT.cjs → theme-7DWLxJK_.cjs} +4 -2
- package/dist/chunks/theme-7DWLxJK_.cjs.map +1 -0
- package/dist/chunks/{theme-Bwu0HKqZ.mjs → theme-BceKeYhw.mjs} +4 -2
- package/dist/chunks/theme-BceKeYhw.mjs.map +1 -0
- package/dist/chunks/{toast-C8JRhbSo.mjs → toast-CvfP7PUP.mjs} +20 -20
- package/dist/chunks/toast-CvfP7PUP.mjs.map +1 -0
- package/dist/chunks/{toast-DWOwpD2F.cjs → toast-Ds7_19Ap.cjs} +20 -20
- package/dist/chunks/toast-Ds7_19Ap.cjs.map +1 -0
- package/dist/chunks/{tooltip-YtA_66_1.mjs → tooltip-efHETBo1.mjs} +1 -1
- package/dist/chunks/{tooltip-YtA_66_1.mjs.map → tooltip-efHETBo1.mjs.map} +1 -1
- package/dist/chunks/{tooltip-BHXNmXsa.cjs → tooltip-nkIqViGk.cjs} +1 -1
- package/dist/chunks/{tooltip-BHXNmXsa.cjs.map → tooltip-nkIqViGk.cjs.map} +1 -1
- package/dist/chunks/{typography-BzprBnQc.mjs → typography-CLu6Hx9j.mjs} +7 -3
- package/dist/chunks/{typography-BzprBnQc.mjs.map → typography-CLu6Hx9j.mjs.map} +1 -1
- package/dist/chunks/{typography-3wSx67DZ.cjs → typography-DaLu9tty.cjs} +7 -3
- package/dist/chunks/{typography-3wSx67DZ.cjs.map → typography-DaLu9tty.cjs.map} +1 -1
- package/dist/color-palette.cjs +1 -1
- package/dist/color-palette.mjs +1 -1
- package/dist/colors.css +123 -185
- package/dist/combobox.cjs +1 -1
- package/dist/combobox.mjs +1 -1
- package/dist/components/data-display/charts/AreaChart.d.ts.map +1 -1
- package/dist/components/data-display/charts/BarChart.d.ts +1 -0
- package/dist/components/data-display/charts/BarChart.d.ts.map +1 -1
- package/dist/components/data-display/charts/NeonLineChart.d.ts.map +1 -1
- package/dist/components/data-display/charts/PieChart.d.ts +18 -2
- package/dist/components/data-display/charts/PieChart.d.ts.map +1 -1
- package/dist/components/data-display/charts/PositiveNegativeBarChart.d.ts +21 -0
- package/dist/components/data-display/charts/PositiveNegativeBarChart.d.ts.map +1 -0
- package/dist/components/data-display/charts/StackedBarChart.d.ts.map +1 -1
- package/dist/components/data-display/charts/ThinBreakdownBar.d.ts +3 -0
- package/dist/components/data-display/charts/ThinBreakdownBar.d.ts.map +1 -1
- package/dist/components/data-display/charts/chartPalette.d.ts +10 -0
- package/dist/components/data-display/charts/chartPalette.d.ts.map +1 -0
- package/dist/components/data-display/charts/chartStyles.d.ts +24 -0
- package/dist/components/data-display/charts/chartStyles.d.ts.map +1 -0
- package/dist/components/data-display/charts/index.d.ts +4 -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/color-palette/ColorPalette.d.ts.map +1 -1
- package/dist/components/data-display/data-table/DataTable.d.ts +17 -10
- package/dist/components/data-display/data-table/DataTable.d.ts.map +1 -1
- package/dist/components/data-display/data-table/index.d.ts +1 -1
- package/dist/components/data-display/data-table/index.d.ts.map +1 -1
- package/dist/components/data-display/index.d.ts +1 -0
- package/dist/components/data-display/index.d.ts.map +1 -1
- package/dist/components/data-display/progress-bar/ProgressBar.d.ts +18 -0
- package/dist/components/data-display/progress-bar/ProgressBar.d.ts.map +1 -0
- package/dist/components/data-display/progress-bar/index.d.ts +3 -0
- package/dist/components/data-display/progress-bar/index.d.ts.map +1 -0
- package/dist/components/effects/ascii-text/ASCIIText.d.ts.map +1 -1
- package/dist/components/effects/border-beam/BorderBeam.d.ts.map +1 -1
- package/dist/components/effects/chroma-grid/ChromaGrid.d.ts.map +1 -1
- package/dist/components/effects/splash-cursor/SplashCursor.d.ts.map +1 -1
- package/dist/components/forms/calendar/Calendar.d.ts.map +1 -1
- package/dist/components/forms/combobox/Combobox.d.ts.map +1 -1
- package/dist/components/forms/date-picker/DatePicker.d.ts.map +1 -1
- package/dist/components/forms/input/Input.d.ts.map +1 -1
- package/dist/components/forms/input/types.d.ts +5 -0
- package/dist/components/forms/input/types.d.ts.map +1 -1
- package/dist/components/forms/multi-select-combobox/MultiSelectCombobox.d.ts.map +1 -1
- package/dist/components/forms/otp-input/OTPInput.d.ts.map +1 -1
- package/dist/components/forms/password-strength-meter/PasswordCriteria.d.ts.map +1 -1
- package/dist/components/forms/select/Select.d.ts.map +1 -1
- package/dist/components/forms/select/types.d.ts +9 -1
- package/dist/components/forms/select/types.d.ts.map +1 -1
- package/dist/components/forms/textarea/Textarea.d.ts.map +1 -1
- package/dist/components/icons/ColumnsIcon.d.ts +9 -0
- package/dist/components/icons/ColumnsIcon.d.ts.map +1 -0
- package/dist/components/icons/MailIcon.d.ts +9 -0
- package/dist/components/icons/MailIcon.d.ts.map +1 -0
- package/dist/components/icons/PlayIcon.d.ts +9 -0
- package/dist/components/icons/PlayIcon.d.ts.map +1 -0
- package/dist/components/icons/ZapIcon.d.ts +9 -0
- package/dist/components/icons/ZapIcon.d.ts.map +1 -0
- package/dist/components/icons/index.d.ts +4 -0
- package/dist/components/icons/index.d.ts.map +1 -1
- package/dist/components/navigation/accordion/Accordion.d.ts.map +1 -1
- package/dist/components/navigation/stepper/Stepper1.d.ts +4 -0
- package/dist/components/navigation/stepper/Stepper1.d.ts.map +1 -0
- package/dist/components/navigation/stepper/Stepper2.d.ts +5 -0
- package/dist/components/navigation/stepper/Stepper2.d.ts.map +1 -0
- package/dist/components/navigation/stepper/index.d.ts +4 -1
- package/dist/components/navigation/stepper/index.d.ts.map +1 -1
- package/dist/components/navigation/stepper/types.d.ts +85 -0
- package/dist/components/navigation/stepper/types.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/typography/Typography.d.ts.map +1 -1
- 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 +60 -4
- package/dist/docs.cjs.map +1 -1
- package/dist/docs.d.ts +59 -9
- package/dist/docs.d.ts.map +1 -1
- package/dist/docs.mjs +60 -4
- package/dist/docs.mjs.map +1 -1
- package/dist/drawer.cjs +1 -1
- package/dist/drawer.mjs +1 -1
- package/dist/fonts.css +5 -0
- package/dist/form.cjs +1 -1
- package/dist/form.mjs +1 -1
- package/dist/foundation.css +10 -3
- package/dist/foundations/theme/ThemeProvider.d.ts +1 -0
- package/dist/foundations/theme/ThemeProvider.d.ts.map +1 -1
- package/dist/gradual-blur.cjs +1 -1
- package/dist/gradual-blur.mjs +1 -1
- package/dist/hover-card.cjs +1 -1
- package/dist/hover-card.mjs +1 -1
- package/dist/icons.cjs +5 -1
- package/dist/icons.mjs +2 -2
- package/dist/index.cjs +56 -42
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.ts +8 -4
- package/dist/index.d.ts.map +1 -1
- package/dist/index.mjs +44 -43
- 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 +3 -0
- package/dist/progress-bar.d.ts +2 -0
- package/dist/progress-bar.mjs +2 -0
- 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 +5 -1
- package/dist/stepper.mjs +2 -2
- package/dist/sun-to-moon-button.cjs +1 -1
- package/dist/sun-to-moon-button.mjs +1 -1
- 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 +601 -0
- package/dist/tooltip.cjs +1 -1
- package/dist/tooltip.mjs +1 -1
- package/dist/typography.cjs +1 -1
- package/dist/typography.mjs +1 -1
- package/package.json +20 -6
- package/dist/chunks/accordion-BZ5hyz0_.cjs.map +0 -1
- package/dist/chunks/accordion-C_0oGZkZ.mjs.map +0 -1
- package/dist/chunks/alert-BdBDWqBN.cjs.map +0 -1
- package/dist/chunks/alert-DeVa-NR1.mjs.map +0 -1
- package/dist/chunks/ascii-text-BzQCLfya.mjs.map +0 -1
- package/dist/chunks/ascii-text-D6lVHWph.cjs.map +0 -1
- package/dist/chunks/button-BH1eUjae.cjs.map +0 -1
- package/dist/chunks/button-CmNEMp_O.mjs.map +0 -1
- package/dist/chunks/calendar-BarcG6x_.mjs.map +0 -1
- package/dist/chunks/calendar-xrGmvukr.cjs.map +0 -1
- package/dist/chunks/card-CzstAQYy.mjs.map +0 -1
- package/dist/chunks/card-DZGM4zLx.cjs.map +0 -1
- package/dist/chunks/charts-Bynf6x07.mjs +0 -448
- package/dist/chunks/charts-Bynf6x07.mjs.map +0 -1
- package/dist/chunks/charts-UYl7Ecqv.cjs +0 -485
- package/dist/chunks/charts-UYl7Ecqv.cjs.map +0 -1
- package/dist/chunks/checkbox-B3eIojWs.mjs.map +0 -1
- package/dist/chunks/checkbox-DQmZwRTt.cjs.map +0 -1
- package/dist/chunks/chip-BH6wzwat.cjs.map +0 -1
- package/dist/chunks/chip-cZ7-HmWw.mjs.map +0 -1
- package/dist/chunks/chroma-grid-CC_fFzxO.mjs.map +0 -1
- package/dist/chunks/chroma-grid-DtsqM4LW.cjs.map +0 -1
- package/dist/chunks/color-palette-Cz7vqbil.cjs +0 -1156
- package/dist/chunks/color-palette-Cz7vqbil.cjs.map +0 -1
- package/dist/chunks/color-palette-yadpDCUw.mjs +0 -1150
- package/dist/chunks/color-palette-yadpDCUw.mjs.map +0 -1
- package/dist/chunks/combobox-B9Nzlhu3.mjs +0 -108
- package/dist/chunks/combobox-B9Nzlhu3.mjs.map +0 -1
- package/dist/chunks/combobox-mAvOcg-E.cjs.map +0 -1
- package/dist/chunks/data-table-BRcGhJDf.cjs.map +0 -1
- package/dist/chunks/data-table-Dp0t_I_z.mjs.map +0 -1
- package/dist/chunks/date-picker-BWBkr6LG.mjs +0 -112
- package/dist/chunks/date-picker-BWBkr6LG.mjs.map +0 -1
- package/dist/chunks/date-picker-DooielHi.cjs +0 -118
- package/dist/chunks/date-picker-DooielHi.cjs.map +0 -1
- package/dist/chunks/dialog-C6nxSfIl.mjs.map +0 -1
- package/dist/chunks/dialog-Cbuf8V0g.cjs.map +0 -1
- package/dist/chunks/drawer-DIuvgqTA.mjs +0 -105
- package/dist/chunks/drawer-DIuvgqTA.mjs.map +0 -1
- package/dist/chunks/drawer-Dn0u8Sck.cjs.map +0 -1
- package/dist/chunks/form-DcEuk721.cjs.map +0 -1
- package/dist/chunks/form-TwlDrshv.mjs.map +0 -1
- package/dist/chunks/hover-card-DwTVfjgN.mjs.map +0 -1
- package/dist/chunks/icons-CrM6pFkv.mjs.map +0 -1
- package/dist/chunks/icons-DYkpqWYG.cjs.map +0 -1
- package/dist/chunks/input-ChhwdNGk.mjs +0 -87
- package/dist/chunks/input-ChhwdNGk.mjs.map +0 -1
- package/dist/chunks/input-CoRHoZkB.cjs +0 -99
- package/dist/chunks/input-CoRHoZkB.cjs.map +0 -1
- package/dist/chunks/multi-select-combobox-BPRTZVF6.mjs +0 -108
- package/dist/chunks/multi-select-combobox-BPRTZVF6.mjs.map +0 -1
- package/dist/chunks/multi-select-combobox-DiMwJxj_.cjs +0 -115
- package/dist/chunks/multi-select-combobox-DiMwJxj_.cjs.map +0 -1
- package/dist/chunks/otp-input-CNungc1j.mjs.map +0 -1
- package/dist/chunks/otp-input-DaQDfI9C.cjs.map +0 -1
- package/dist/chunks/password-strength-meter-u4YI00zE.cjs.map +0 -1
- package/dist/chunks/password-strength-meter-xtMqhhFg.mjs.map +0 -1
- package/dist/chunks/radio-C-fPZgSY.mjs.map +0 -1
- package/dist/chunks/radio-mCgvEhOR.cjs.map +0 -1
- package/dist/chunks/select-BB-pOzI2.mjs +0 -116
- package/dist/chunks/select-BB-pOzI2.mjs.map +0 -1
- package/dist/chunks/select-BwelAQc1.cjs +0 -122
- package/dist/chunks/select-BwelAQc1.cjs.map +0 -1
- package/dist/chunks/splash-cursor-9BsoQZl0.mjs.map +0 -1
- package/dist/chunks/splash-cursor-Dpzl_YXx.cjs.map +0 -1
- package/dist/chunks/stepper-BDz6PkjV.cjs +0 -267
- package/dist/chunks/stepper-BDz6PkjV.cjs.map +0 -1
- package/dist/chunks/stepper-uz8iRzlY.mjs +0 -261
- package/dist/chunks/stepper-uz8iRzlY.mjs.map +0 -1
- package/dist/chunks/switch-DYLavKgf.mjs.map +0 -1
- package/dist/chunks/switch-y8oWcyLp.cjs.map +0 -1
- package/dist/chunks/textarea-BWkUVpm3.cjs +0 -66
- package/dist/chunks/textarea-BWkUVpm3.cjs.map +0 -1
- package/dist/chunks/textarea-Bxqe70TW.mjs +0 -60
- package/dist/chunks/textarea-Bxqe70TW.mjs.map +0 -1
- package/dist/chunks/theme-Bwu0HKqZ.mjs.map +0 -1
- package/dist/chunks/theme-CBtWIFMT.cjs.map +0 -1
- package/dist/chunks/toast-C8JRhbSo.mjs.map +0 -1
- package/dist/chunks/toast-DWOwpD2F.cjs.map +0 -1
|
@@ -1,485 +0,0 @@
|
|
|
1
|
-
const require_chunk = require("./chunk-B_GkZjkl.cjs");
|
|
2
|
-
let react = require("react");
|
|
3
|
-
react = require_chunk.__toESM(react);
|
|
4
|
-
let react_jsx_runtime = require("react/jsx-runtime");
|
|
5
|
-
let recharts = require("recharts");
|
|
6
|
-
//#region src/components/data-display/charts/NeonLineChart.tsx
|
|
7
|
-
var NeonLineChart = ({ data, height = 300, lineColorStop1 = "#00f0ff", lineColorStop2 = "#ff00e5", glowColor = "rgba(255, 0, 229, 0.4)", className = "" }) => {
|
|
8
|
-
return /* @__PURE__ */ (0, react_jsx_runtime.jsx)("div", {
|
|
9
|
-
className: `w-full relative ${className}`,
|
|
10
|
-
style: { height },
|
|
11
|
-
children: /* @__PURE__ */ (0, react_jsx_runtime.jsx)(recharts.ResponsiveContainer, {
|
|
12
|
-
width: "100%",
|
|
13
|
-
height: "100%",
|
|
14
|
-
children: /* @__PURE__ */ (0, react_jsx_runtime.jsxs)(recharts.LineChart, {
|
|
15
|
-
data,
|
|
16
|
-
margin: {
|
|
17
|
-
top: 20,
|
|
18
|
-
right: 30,
|
|
19
|
-
left: 10,
|
|
20
|
-
bottom: 20
|
|
21
|
-
},
|
|
22
|
-
children: [
|
|
23
|
-
/* @__PURE__ */ (0, react_jsx_runtime.jsxs)("defs", { children: [/* @__PURE__ */ (0, react_jsx_runtime.jsxs)("linearGradient", {
|
|
24
|
-
id: "neonGradient",
|
|
25
|
-
x1: "0",
|
|
26
|
-
y1: "0",
|
|
27
|
-
x2: "1",
|
|
28
|
-
y2: "0",
|
|
29
|
-
children: [/* @__PURE__ */ (0, react_jsx_runtime.jsx)("stop", {
|
|
30
|
-
offset: "0%",
|
|
31
|
-
stopColor: lineColorStop1
|
|
32
|
-
}), /* @__PURE__ */ (0, react_jsx_runtime.jsx)("stop", {
|
|
33
|
-
offset: "100%",
|
|
34
|
-
stopColor: lineColorStop2
|
|
35
|
-
})]
|
|
36
|
-
}), /* @__PURE__ */ (0, react_jsx_runtime.jsxs)("filter", {
|
|
37
|
-
id: "neonGlow",
|
|
38
|
-
x: "-20%",
|
|
39
|
-
y: "-20%",
|
|
40
|
-
width: "140%",
|
|
41
|
-
height: "140%",
|
|
42
|
-
children: [/* @__PURE__ */ (0, react_jsx_runtime.jsx)("feDropShadow", {
|
|
43
|
-
dx: "0",
|
|
44
|
-
dy: "6",
|
|
45
|
-
stdDeviation: "8",
|
|
46
|
-
floodColor: glowColor,
|
|
47
|
-
floodOpacity: "0.8"
|
|
48
|
-
}), /* @__PURE__ */ (0, react_jsx_runtime.jsx)("feDropShadow", {
|
|
49
|
-
dx: "0",
|
|
50
|
-
dy: "0",
|
|
51
|
-
stdDeviation: "15",
|
|
52
|
-
floodColor: lineColorStop1,
|
|
53
|
-
floodOpacity: "0.3"
|
|
54
|
-
})]
|
|
55
|
-
})] }),
|
|
56
|
-
/* @__PURE__ */ (0, react_jsx_runtime.jsx)(recharts.CartesianGrid, {
|
|
57
|
-
strokeDasharray: "3 3",
|
|
58
|
-
vertical: false,
|
|
59
|
-
stroke: "var(--color-neutral-800, #262626)",
|
|
60
|
-
opacity: .5
|
|
61
|
-
}),
|
|
62
|
-
/* @__PURE__ */ (0, react_jsx_runtime.jsx)(recharts.XAxis, {
|
|
63
|
-
dataKey: "name",
|
|
64
|
-
axisLine: false,
|
|
65
|
-
tickLine: false,
|
|
66
|
-
tick: {
|
|
67
|
-
fill: "var(--color-neutral-400, #a3a3a3)",
|
|
68
|
-
fontSize: 12
|
|
69
|
-
},
|
|
70
|
-
dy: 10
|
|
71
|
-
}),
|
|
72
|
-
/* @__PURE__ */ (0, react_jsx_runtime.jsx)(recharts.YAxis, {
|
|
73
|
-
axisLine: false,
|
|
74
|
-
tickLine: false,
|
|
75
|
-
tick: {
|
|
76
|
-
fill: "var(--color-neutral-400, #a3a3a3)",
|
|
77
|
-
fontSize: 12
|
|
78
|
-
},
|
|
79
|
-
dx: -10
|
|
80
|
-
}),
|
|
81
|
-
/* @__PURE__ */ (0, react_jsx_runtime.jsx)(recharts.Tooltip, {
|
|
82
|
-
contentStyle: {
|
|
83
|
-
backgroundColor: "rgba(10, 10, 10, 0.8)",
|
|
84
|
-
border: "1px solid rgba(255,255,255,0.1)",
|
|
85
|
-
borderRadius: "8px",
|
|
86
|
-
backdropFilter: "blur(8px)",
|
|
87
|
-
color: "#fff"
|
|
88
|
-
},
|
|
89
|
-
itemStyle: { color: "#fff" }
|
|
90
|
-
}),
|
|
91
|
-
/* @__PURE__ */ (0, react_jsx_runtime.jsx)(recharts.Line, {
|
|
92
|
-
type: "monotone",
|
|
93
|
-
dataKey: "value",
|
|
94
|
-
stroke: "url(#neonGradient)",
|
|
95
|
-
strokeWidth: 3,
|
|
96
|
-
dot: false,
|
|
97
|
-
activeDot: {
|
|
98
|
-
r: 6,
|
|
99
|
-
fill: "#fff",
|
|
100
|
-
stroke: lineColorStop2,
|
|
101
|
-
strokeWidth: 2
|
|
102
|
-
},
|
|
103
|
-
filter: "url(#neonGlow)"
|
|
104
|
-
})
|
|
105
|
-
]
|
|
106
|
-
})
|
|
107
|
-
})
|
|
108
|
-
});
|
|
109
|
-
};
|
|
110
|
-
//#endregion
|
|
111
|
-
//#region src/components/data-display/charts/StackedBarChart.tsx
|
|
112
|
-
var StackedBarChart = ({ data, categories, height = 300, yAxisDomain, className = "" }) => {
|
|
113
|
-
return /* @__PURE__ */ (0, react_jsx_runtime.jsx)("div", {
|
|
114
|
-
className: `w-full ${className}`,
|
|
115
|
-
style: { height },
|
|
116
|
-
children: /* @__PURE__ */ (0, react_jsx_runtime.jsx)(recharts.ResponsiveContainer, {
|
|
117
|
-
width: "100%",
|
|
118
|
-
height: "100%",
|
|
119
|
-
children: /* @__PURE__ */ (0, react_jsx_runtime.jsxs)(recharts.BarChart, {
|
|
120
|
-
data,
|
|
121
|
-
margin: {
|
|
122
|
-
top: 20,
|
|
123
|
-
right: 30,
|
|
124
|
-
left: 20,
|
|
125
|
-
bottom: 5
|
|
126
|
-
},
|
|
127
|
-
children: [
|
|
128
|
-
/* @__PURE__ */ (0, react_jsx_runtime.jsx)(recharts.CartesianGrid, {
|
|
129
|
-
strokeDasharray: "3 3",
|
|
130
|
-
vertical: false,
|
|
131
|
-
stroke: "var(--color-neutral-800, #262626)",
|
|
132
|
-
opacity: .4
|
|
133
|
-
}),
|
|
134
|
-
/* @__PURE__ */ (0, react_jsx_runtime.jsx)(recharts.XAxis, {
|
|
135
|
-
dataKey: "name",
|
|
136
|
-
axisLine: false,
|
|
137
|
-
tickLine: false,
|
|
138
|
-
tick: {
|
|
139
|
-
fill: "var(--color-neutral-400, #a3a3a3)",
|
|
140
|
-
fontSize: 12
|
|
141
|
-
},
|
|
142
|
-
dy: 10
|
|
143
|
-
}),
|
|
144
|
-
/* @__PURE__ */ (0, react_jsx_runtime.jsx)(recharts.YAxis, {
|
|
145
|
-
axisLine: false,
|
|
146
|
-
tickLine: false,
|
|
147
|
-
tick: {
|
|
148
|
-
fill: "var(--color-neutral-400, #a3a3a3)",
|
|
149
|
-
fontSize: 12
|
|
150
|
-
},
|
|
151
|
-
dx: -10,
|
|
152
|
-
domain: yAxisDomain
|
|
153
|
-
}),
|
|
154
|
-
/* @__PURE__ */ (0, react_jsx_runtime.jsx)(recharts.Tooltip, {
|
|
155
|
-
cursor: { fill: "var(--color-neutral-800, rgba(38, 38, 38, 0.4))" },
|
|
156
|
-
contentStyle: {
|
|
157
|
-
backgroundColor: "rgba(10, 10, 10, 0.9)",
|
|
158
|
-
border: "1px solid rgba(255,255,255,0.1)",
|
|
159
|
-
borderRadius: "8px",
|
|
160
|
-
backdropFilter: "blur(8px)",
|
|
161
|
-
color: "#fff"
|
|
162
|
-
}
|
|
163
|
-
}),
|
|
164
|
-
/* @__PURE__ */ (0, react_jsx_runtime.jsx)(recharts.Legend, {
|
|
165
|
-
iconType: "circle",
|
|
166
|
-
wrapperStyle: {
|
|
167
|
-
paddingTop: "20px",
|
|
168
|
-
fontSize: "12px",
|
|
169
|
-
color: "var(--color-neutral-300)"
|
|
170
|
-
}
|
|
171
|
-
}),
|
|
172
|
-
categories.map((cat, index) => {
|
|
173
|
-
const radius = index === categories.length - 1 ? [
|
|
174
|
-
6,
|
|
175
|
-
6,
|
|
176
|
-
0,
|
|
177
|
-
0
|
|
178
|
-
] : [
|
|
179
|
-
0,
|
|
180
|
-
0,
|
|
181
|
-
0,
|
|
182
|
-
0
|
|
183
|
-
];
|
|
184
|
-
return /* @__PURE__ */ (0, react_jsx_runtime.jsx)(recharts.Bar, {
|
|
185
|
-
dataKey: cat.key,
|
|
186
|
-
name: cat.label,
|
|
187
|
-
stackId: "a",
|
|
188
|
-
fill: cat.color,
|
|
189
|
-
radius,
|
|
190
|
-
barSize: 32
|
|
191
|
-
}, cat.key);
|
|
192
|
-
})
|
|
193
|
-
]
|
|
194
|
-
})
|
|
195
|
-
})
|
|
196
|
-
});
|
|
197
|
-
};
|
|
198
|
-
//#endregion
|
|
199
|
-
//#region src/components/data-display/charts/ThinBreakdownBar.tsx
|
|
200
|
-
var ThinBreakdownBar = ({ data: segments, className = "", showLabels = true }) => {
|
|
201
|
-
const total = segments.reduce((sum, item) => sum + item.value, 0);
|
|
202
|
-
return /* @__PURE__ */ (0, react_jsx_runtime.jsxs)("div", {
|
|
203
|
-
className: `w-full flex flex-col gap-3 ${className}`,
|
|
204
|
-
children: [/* @__PURE__ */ (0, react_jsx_runtime.jsx)("div", {
|
|
205
|
-
className: "flex w-full h-3 rounded-full overflow-hidden gap-1 bg-neutral-900/50",
|
|
206
|
-
children: segments.map((segment, index) => {
|
|
207
|
-
return /* @__PURE__ */ (0, react_jsx_runtime.jsx)("div", {
|
|
208
|
-
className: "h-full rounded-full transition-all duration-500 ease-out",
|
|
209
|
-
style: {
|
|
210
|
-
width: `${total > 0 ? segment.value / total * 100 : 0}%`,
|
|
211
|
-
backgroundColor: segment.color,
|
|
212
|
-
boxShadow: `inset 0 1px 1px rgba(255,255,255,0.2), 0 0 8px ${segment.color}40`
|
|
213
|
-
},
|
|
214
|
-
title: `${segment.label}: ${segment.value}`
|
|
215
|
-
}, segment.id || `segment-${index}`);
|
|
216
|
-
})
|
|
217
|
-
}), showLabels && /* @__PURE__ */ (0, react_jsx_runtime.jsx)("div", {
|
|
218
|
-
className: "flex w-full justify-between items-center px-1",
|
|
219
|
-
children: segments.map((segment, index) => /* @__PURE__ */ (0, react_jsx_runtime.jsx)("div", {
|
|
220
|
-
className: "flex items-center gap-1.5 min-w-0",
|
|
221
|
-
children: /* @__PURE__ */ (0, react_jsx_runtime.jsx)("span", {
|
|
222
|
-
className: "text-xs text-neutral-400 font-medium truncate",
|
|
223
|
-
children: segment.label
|
|
224
|
-
})
|
|
225
|
-
}, `label-${segment.id || index}`))
|
|
226
|
-
})]
|
|
227
|
-
});
|
|
228
|
-
};
|
|
229
|
-
//#endregion
|
|
230
|
-
//#region src/components/data-display/charts/AreaChart.tsx
|
|
231
|
-
var AreaChart = ({ data, categories, height = 300, className = "", showGrid = true }) => {
|
|
232
|
-
return /* @__PURE__ */ (0, react_jsx_runtime.jsx)("div", {
|
|
233
|
-
className: `w-full ${className}`,
|
|
234
|
-
style: { height },
|
|
235
|
-
children: /* @__PURE__ */ (0, react_jsx_runtime.jsx)(recharts.ResponsiveContainer, {
|
|
236
|
-
width: "100%",
|
|
237
|
-
height: "100%",
|
|
238
|
-
children: /* @__PURE__ */ (0, react_jsx_runtime.jsxs)(recharts.AreaChart, {
|
|
239
|
-
data,
|
|
240
|
-
margin: {
|
|
241
|
-
top: 10,
|
|
242
|
-
right: 30,
|
|
243
|
-
left: 0,
|
|
244
|
-
bottom: 0
|
|
245
|
-
},
|
|
246
|
-
children: [
|
|
247
|
-
/* @__PURE__ */ (0, react_jsx_runtime.jsx)("defs", { children: categories.map((cat) => /* @__PURE__ */ (0, react_jsx_runtime.jsxs)("linearGradient", {
|
|
248
|
-
id: `color-${cat.key}`,
|
|
249
|
-
x1: "0",
|
|
250
|
-
y1: "0",
|
|
251
|
-
x2: "0",
|
|
252
|
-
y2: "1",
|
|
253
|
-
children: [/* @__PURE__ */ (0, react_jsx_runtime.jsx)("stop", {
|
|
254
|
-
offset: "5%",
|
|
255
|
-
stopColor: cat.color,
|
|
256
|
-
stopOpacity: .3
|
|
257
|
-
}), /* @__PURE__ */ (0, react_jsx_runtime.jsx)("stop", {
|
|
258
|
-
offset: "95%",
|
|
259
|
-
stopColor: cat.color,
|
|
260
|
-
stopOpacity: 0
|
|
261
|
-
})]
|
|
262
|
-
}, `gradient-${cat.key}`)) }),
|
|
263
|
-
showGrid && /* @__PURE__ */ (0, react_jsx_runtime.jsx)(recharts.CartesianGrid, {
|
|
264
|
-
strokeDasharray: "3 3",
|
|
265
|
-
vertical: false,
|
|
266
|
-
stroke: "var(--color-neutral-800, #262626)",
|
|
267
|
-
opacity: .5
|
|
268
|
-
}),
|
|
269
|
-
/* @__PURE__ */ (0, react_jsx_runtime.jsx)(recharts.XAxis, {
|
|
270
|
-
dataKey: "name",
|
|
271
|
-
axisLine: false,
|
|
272
|
-
tickLine: false,
|
|
273
|
-
tick: {
|
|
274
|
-
fill: "var(--color-neutral-400, #a3a3a3)",
|
|
275
|
-
fontSize: 12
|
|
276
|
-
},
|
|
277
|
-
dy: 10
|
|
278
|
-
}),
|
|
279
|
-
/* @__PURE__ */ (0, react_jsx_runtime.jsx)(recharts.YAxis, {
|
|
280
|
-
axisLine: false,
|
|
281
|
-
tickLine: false,
|
|
282
|
-
tick: {
|
|
283
|
-
fill: "var(--color-neutral-400, #a3a3a3)",
|
|
284
|
-
fontSize: 12
|
|
285
|
-
},
|
|
286
|
-
dx: -10
|
|
287
|
-
}),
|
|
288
|
-
/* @__PURE__ */ (0, react_jsx_runtime.jsx)(recharts.Tooltip, {
|
|
289
|
-
contentStyle: {
|
|
290
|
-
backgroundColor: "rgba(10, 10, 10, 0.9)",
|
|
291
|
-
border: "1px solid rgba(255,255,255,0.1)",
|
|
292
|
-
borderRadius: "8px",
|
|
293
|
-
backdropFilter: "blur(8px)",
|
|
294
|
-
color: "#fff"
|
|
295
|
-
},
|
|
296
|
-
itemStyle: { color: "#fff" }
|
|
297
|
-
}),
|
|
298
|
-
categories.map((cat) => /* @__PURE__ */ (0, react_jsx_runtime.jsx)(recharts.Area, {
|
|
299
|
-
type: "monotone",
|
|
300
|
-
dataKey: cat.key,
|
|
301
|
-
stroke: cat.color,
|
|
302
|
-
strokeWidth: 2,
|
|
303
|
-
fillOpacity: 1,
|
|
304
|
-
fill: `url(#color-${cat.key})`
|
|
305
|
-
}, cat.key))
|
|
306
|
-
]
|
|
307
|
-
})
|
|
308
|
-
})
|
|
309
|
-
});
|
|
310
|
-
};
|
|
311
|
-
//#endregion
|
|
312
|
-
//#region src/components/data-display/charts/BarChart.tsx
|
|
313
|
-
var BarChart = ({ data, categories, height = 300, className = "", layout = "horizontal" }) => {
|
|
314
|
-
return /* @__PURE__ */ (0, react_jsx_runtime.jsx)("div", {
|
|
315
|
-
className: `w-full ${className}`,
|
|
316
|
-
style: { height },
|
|
317
|
-
children: /* @__PURE__ */ (0, react_jsx_runtime.jsx)(recharts.ResponsiveContainer, {
|
|
318
|
-
width: "100%",
|
|
319
|
-
height: "100%",
|
|
320
|
-
children: /* @__PURE__ */ (0, react_jsx_runtime.jsxs)(recharts.BarChart, {
|
|
321
|
-
data,
|
|
322
|
-
layout,
|
|
323
|
-
margin: {
|
|
324
|
-
top: 20,
|
|
325
|
-
right: 30,
|
|
326
|
-
left: 20,
|
|
327
|
-
bottom: 5
|
|
328
|
-
},
|
|
329
|
-
children: [
|
|
330
|
-
/* @__PURE__ */ (0, react_jsx_runtime.jsx)(recharts.CartesianGrid, {
|
|
331
|
-
strokeDasharray: "3 3",
|
|
332
|
-
horizontal: layout === "horizontal",
|
|
333
|
-
vertical: layout === "vertical",
|
|
334
|
-
stroke: "var(--color-neutral-800, #262626)",
|
|
335
|
-
opacity: .4
|
|
336
|
-
}),
|
|
337
|
-
layout === "horizontal" ? /* @__PURE__ */ (0, react_jsx_runtime.jsxs)(react_jsx_runtime.Fragment, { children: [/* @__PURE__ */ (0, react_jsx_runtime.jsx)(recharts.XAxis, {
|
|
338
|
-
dataKey: "name",
|
|
339
|
-
axisLine: false,
|
|
340
|
-
tickLine: false,
|
|
341
|
-
tick: {
|
|
342
|
-
fill: "var(--color-neutral-400, #a3a3a3)",
|
|
343
|
-
fontSize: 12
|
|
344
|
-
},
|
|
345
|
-
dy: 10
|
|
346
|
-
}), /* @__PURE__ */ (0, react_jsx_runtime.jsx)(recharts.YAxis, {
|
|
347
|
-
axisLine: false,
|
|
348
|
-
tickLine: false,
|
|
349
|
-
tick: {
|
|
350
|
-
fill: "var(--color-neutral-400, #a3a3a3)",
|
|
351
|
-
fontSize: 12
|
|
352
|
-
},
|
|
353
|
-
dx: -10
|
|
354
|
-
})] }) : /* @__PURE__ */ (0, react_jsx_runtime.jsxs)(react_jsx_runtime.Fragment, { children: [/* @__PURE__ */ (0, react_jsx_runtime.jsx)(recharts.XAxis, {
|
|
355
|
-
type: "number",
|
|
356
|
-
axisLine: false,
|
|
357
|
-
tickLine: false,
|
|
358
|
-
tick: {
|
|
359
|
-
fill: "var(--color-neutral-400, #a3a3a3)",
|
|
360
|
-
fontSize: 12
|
|
361
|
-
},
|
|
362
|
-
dy: 10
|
|
363
|
-
}), /* @__PURE__ */ (0, react_jsx_runtime.jsx)(recharts.YAxis, {
|
|
364
|
-
dataKey: "name",
|
|
365
|
-
type: "category",
|
|
366
|
-
axisLine: false,
|
|
367
|
-
tickLine: false,
|
|
368
|
-
tick: {
|
|
369
|
-
fill: "var(--color-neutral-400, #a3a3a3)",
|
|
370
|
-
fontSize: 12
|
|
371
|
-
},
|
|
372
|
-
dx: -10
|
|
373
|
-
})] }),
|
|
374
|
-
/* @__PURE__ */ (0, react_jsx_runtime.jsx)(recharts.Tooltip, {
|
|
375
|
-
cursor: { fill: "var(--color-neutral-800, rgba(38, 38, 38, 0.4))" },
|
|
376
|
-
contentStyle: {
|
|
377
|
-
backgroundColor: "rgba(10, 10, 10, 0.9)",
|
|
378
|
-
border: "1px solid rgba(255,255,255,0.1)",
|
|
379
|
-
borderRadius: "8px",
|
|
380
|
-
backdropFilter: "blur(8px)",
|
|
381
|
-
color: "#fff"
|
|
382
|
-
}
|
|
383
|
-
}),
|
|
384
|
-
categories.map((cat) => /* @__PURE__ */ (0, react_jsx_runtime.jsx)(recharts.Bar, {
|
|
385
|
-
dataKey: cat.key,
|
|
386
|
-
fill: cat.color,
|
|
387
|
-
radius: layout === "horizontal" ? [
|
|
388
|
-
4,
|
|
389
|
-
4,
|
|
390
|
-
0,
|
|
391
|
-
0
|
|
392
|
-
] : [
|
|
393
|
-
0,
|
|
394
|
-
4,
|
|
395
|
-
4,
|
|
396
|
-
0
|
|
397
|
-
]
|
|
398
|
-
}, cat.key))
|
|
399
|
-
]
|
|
400
|
-
})
|
|
401
|
-
})
|
|
402
|
-
});
|
|
403
|
-
};
|
|
404
|
-
//#endregion
|
|
405
|
-
//#region src/components/data-display/charts/PieChart.tsx
|
|
406
|
-
var PieChart = ({ data, colors, height = 300, className = "", variant = "donut" }) => {
|
|
407
|
-
const innerRadius = variant === "donut" ? "60%" : 0;
|
|
408
|
-
return /* @__PURE__ */ (0, react_jsx_runtime.jsx)("div", {
|
|
409
|
-
className: `w-full ${className}`,
|
|
410
|
-
style: { height },
|
|
411
|
-
children: /* @__PURE__ */ (0, react_jsx_runtime.jsx)(recharts.ResponsiveContainer, {
|
|
412
|
-
width: "100%",
|
|
413
|
-
height: "100%",
|
|
414
|
-
children: /* @__PURE__ */ (0, react_jsx_runtime.jsxs)(recharts.PieChart, { children: [
|
|
415
|
-
/* @__PURE__ */ (0, react_jsx_runtime.jsx)(recharts.Pie, {
|
|
416
|
-
data,
|
|
417
|
-
cx: "50%",
|
|
418
|
-
cy: "50%",
|
|
419
|
-
innerRadius,
|
|
420
|
-
outerRadius: "80%",
|
|
421
|
-
paddingAngle: variant === "donut" ? 2 : 0,
|
|
422
|
-
dataKey: "value",
|
|
423
|
-
stroke: "none",
|
|
424
|
-
children: data.map((entry, index) => /* @__PURE__ */ (0, react_jsx_runtime.jsx)(recharts.Cell, { fill: colors[index % colors.length] }, `cell-${index}`))
|
|
425
|
-
}),
|
|
426
|
-
/* @__PURE__ */ (0, react_jsx_runtime.jsx)(recharts.Tooltip, {
|
|
427
|
-
contentStyle: {
|
|
428
|
-
backgroundColor: "rgba(10, 10, 10, 0.9)",
|
|
429
|
-
border: "1px solid rgba(255,255,255,0.1)",
|
|
430
|
-
borderRadius: "8px",
|
|
431
|
-
backdropFilter: "blur(8px)",
|
|
432
|
-
color: "#fff"
|
|
433
|
-
},
|
|
434
|
-
itemStyle: { color: "#fff" }
|
|
435
|
-
}),
|
|
436
|
-
/* @__PURE__ */ (0, react_jsx_runtime.jsx)(recharts.Legend, {
|
|
437
|
-
iconType: "circle",
|
|
438
|
-
wrapperStyle: {
|
|
439
|
-
fontSize: "12px",
|
|
440
|
-
color: "var(--color-neutral-300)"
|
|
441
|
-
}
|
|
442
|
-
})
|
|
443
|
-
] })
|
|
444
|
-
})
|
|
445
|
-
});
|
|
446
|
-
};
|
|
447
|
-
//#endregion
|
|
448
|
-
Object.defineProperty(exports, "AreaChart", {
|
|
449
|
-
enumerable: true,
|
|
450
|
-
get: function() {
|
|
451
|
-
return AreaChart;
|
|
452
|
-
}
|
|
453
|
-
});
|
|
454
|
-
Object.defineProperty(exports, "BarChart", {
|
|
455
|
-
enumerable: true,
|
|
456
|
-
get: function() {
|
|
457
|
-
return BarChart;
|
|
458
|
-
}
|
|
459
|
-
});
|
|
460
|
-
Object.defineProperty(exports, "NeonLineChart", {
|
|
461
|
-
enumerable: true,
|
|
462
|
-
get: function() {
|
|
463
|
-
return NeonLineChart;
|
|
464
|
-
}
|
|
465
|
-
});
|
|
466
|
-
Object.defineProperty(exports, "PieChart", {
|
|
467
|
-
enumerable: true,
|
|
468
|
-
get: function() {
|
|
469
|
-
return PieChart;
|
|
470
|
-
}
|
|
471
|
-
});
|
|
472
|
-
Object.defineProperty(exports, "StackedBarChart", {
|
|
473
|
-
enumerable: true,
|
|
474
|
-
get: function() {
|
|
475
|
-
return StackedBarChart;
|
|
476
|
-
}
|
|
477
|
-
});
|
|
478
|
-
Object.defineProperty(exports, "ThinBreakdownBar", {
|
|
479
|
-
enumerable: true,
|
|
480
|
-
get: function() {
|
|
481
|
-
return ThinBreakdownBar;
|
|
482
|
-
}
|
|
483
|
-
});
|
|
484
|
-
|
|
485
|
-
//# sourceMappingURL=charts-UYl7Ecqv.cjs.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"charts-UYl7Ecqv.cjs","names":[],"sources":["../../src/components/data-display/charts/NeonLineChart.tsx","../../src/components/data-display/charts/StackedBarChart.tsx","../../src/components/data-display/charts/ThinBreakdownBar.tsx","../../src/components/data-display/charts/AreaChart.tsx","../../src/components/data-display/charts/BarChart.tsx","../../src/components/data-display/charts/PieChart.tsx"],"sourcesContent":["\"use client\";\n\nimport React from \"react\";\nimport {\n LineChart,\n Line,\n XAxis,\n YAxis,\n CartesianGrid,\n Tooltip,\n ResponsiveContainer,\n} from \"recharts\";\n\ninterface DataPoint {\n name: string;\n value: number;\n}\n\ninterface NeonLineChartProps {\n data: DataPoint[];\n height?: number | string;\n lineColorStop1?: string;\n lineColorStop2?: string;\n className?: string;\n glowColor?: string;\n}\n\nexport const NeonLineChart: React.FC<NeonLineChartProps> = ({\n data,\n height = 300,\n lineColorStop1 = \"#00f0ff\",\n lineColorStop2 = \"#ff00e5\",\n glowColor = \"rgba(255, 0, 229, 0.4)\",\n className = \"\",\n}) => {\n return (\n <div className={`w-full relative ${className}`} style={{ height }}>\n <ResponsiveContainer width=\"100%\" height=\"100%\">\n <LineChart\n data={data}\n margin={{ top: 20, right: 30, left: 10, bottom: 20 }}\n >\n <defs>\n {/* Linear Gradient for the Line */}\n <linearGradient id=\"neonGradient\" x1=\"0\" y1=\"0\" x2=\"1\" y2=\"0\">\n <stop offset=\"0%\" stopColor={lineColorStop1} />\n <stop offset=\"100%\" stopColor={lineColorStop2} />\n </linearGradient>\n\n {/* Glowing Drop Shadow Filter */}\n <filter id=\"neonGlow\" x=\"-20%\" y=\"-20%\" width=\"140%\" height=\"140%\">\n <feDropShadow\n dx=\"0\"\n dy=\"6\"\n stdDeviation=\"8\"\n floodColor={glowColor}\n floodOpacity=\"0.8\"\n />\n <feDropShadow\n dx=\"0\"\n dy=\"0\"\n stdDeviation=\"15\"\n floodColor={lineColorStop1}\n floodOpacity=\"0.3\"\n />\n </filter>\n </defs>\n\n {/* Minimal Grid */}\n <CartesianGrid\n strokeDasharray=\"3 3\"\n vertical={false}\n stroke=\"var(--color-neutral-800, #262626)\"\n opacity={0.5}\n />\n\n <XAxis\n dataKey=\"name\"\n axisLine={false}\n tickLine={false}\n tick={{ fill: \"var(--color-neutral-400, #a3a3a3)\", fontSize: 12 }}\n dy={10}\n />\n\n <YAxis\n axisLine={false}\n tickLine={false}\n tick={{ fill: \"var(--color-neutral-400, #a3a3a3)\", fontSize: 12 }}\n dx={-10}\n />\n\n <Tooltip\n contentStyle={{\n backgroundColor: \"rgba(10, 10, 10, 0.8)\",\n border: \"1px solid rgba(255,255,255,0.1)\",\n borderRadius: \"8px\",\n backdropFilter: \"blur(8px)\",\n color: \"#fff\",\n }}\n itemStyle={{ color: \"#fff\" }}\n />\n\n {/* The Neon Line */}\n <Line\n type=\"monotone\"\n dataKey=\"value\"\n stroke=\"url(#neonGradient)\"\n strokeWidth={3}\n dot={false}\n activeDot={{\n r: 6,\n fill: \"#fff\",\n stroke: lineColorStop2,\n strokeWidth: 2,\n }}\n filter=\"url(#neonGlow)\"\n />\n </LineChart>\n </ResponsiveContainer>\n </div>\n );\n};\n","\"use client\";\n\nimport React from \"react\";\nimport {\n BarChart as RechartsBarChart,\n Bar,\n XAxis,\n YAxis,\n CartesianGrid,\n Tooltip,\n Legend,\n ResponsiveContainer,\n} from \"recharts\";\n\nexport interface StackedBarData {\n name: string;\n [key: string]: string | number;\n}\n\ninterface StackedBarChartProps {\n data: StackedBarData[];\n categories: { key: string; color: string; label: string }[];\n height?: number | string;\n yAxisDomain?: [number, number];\n className?: string;\n}\n\nexport const StackedBarChart: React.FC<StackedBarChartProps> = ({\n data,\n categories,\n height = 300,\n yAxisDomain,\n className = \"\",\n}) => {\n return (\n <div className={`w-full ${className}`} style={{ height }}>\n <ResponsiveContainer width=\"100%\" height=\"100%\">\n <RechartsBarChart\n data={data}\n margin={{ top: 20, right: 30, left: 20, bottom: 5 }}\n >\n <CartesianGrid\n strokeDasharray=\"3 3\"\n vertical={false}\n stroke=\"var(--color-neutral-800, #262626)\"\n opacity={0.4}\n />\n <XAxis\n dataKey=\"name\"\n axisLine={false}\n tickLine={false}\n tick={{ fill: \"var(--color-neutral-400, #a3a3a3)\", fontSize: 12 }}\n dy={10}\n />\n <YAxis\n axisLine={false}\n tickLine={false}\n tick={{ fill: \"var(--color-neutral-400, #a3a3a3)\", fontSize: 12 }}\n dx={-10}\n domain={yAxisDomain}\n />\n <Tooltip\n cursor={{ fill: \"var(--color-neutral-800, rgba(38, 38, 38, 0.4))\" }}\n contentStyle={{\n backgroundColor: \"rgba(10, 10, 10, 0.9)\",\n border: \"1px solid rgba(255,255,255,0.1)\",\n borderRadius: \"8px\",\n backdropFilter: \"blur(8px)\",\n color: \"#fff\",\n }}\n />\n <Legend\n iconType=\"circle\"\n wrapperStyle={{\n paddingTop: \"20px\",\n fontSize: \"12px\",\n color: \"var(--color-neutral-300)\",\n }}\n />\n\n {categories.map((cat, index) => {\n // Apply rounded radius only to the top bar in the stack\n const isTop = index === categories.length - 1;\n const radius: [number, number, number, number] = isTop\n ? [6, 6, 0, 0]\n : [0, 0, 0, 0];\n\n return (\n <Bar\n key={cat.key}\n dataKey={cat.key}\n name={cat.label}\n stackId=\"a\"\n fill={cat.color}\n radius={radius}\n barSize={32}\n />\n );\n })}\n </RechartsBarChart>\n </ResponsiveContainer>\n </div>\n );\n};\n","\"use client\";\n\nimport React from \"react\";\n\nexport interface BreakdownSegment {\n id?: string;\n label: string;\n value: number; // The absolute value or percentage\n color: string;\n}\n\ninterface ThinBreakdownBarProps {\n data: BreakdownSegment[];\n className?: string;\n showLabels?: boolean;\n}\n\nexport const ThinBreakdownBar: React.FC<ThinBreakdownBarProps> = ({\n data: segments,\n className = \"\",\n showLabels = true,\n}) => {\n // Calculate total to determine percentage widths\n const total = segments.reduce((sum, item) => sum + item.value, 0);\n\n return (\n <div className={`w-full flex flex-col gap-3 ${className}`}>\n {/* The Bar Track */}\n <div className=\"flex w-full h-3 rounded-full overflow-hidden gap-1 bg-neutral-900/50\">\n {segments.map((segment, index) => {\n const widthPercent = total > 0 ? (segment.value / total) * 100 : 0;\n return (\n <div\n key={segment.id || `segment-${index}`}\n className=\"h-full rounded-full transition-all duration-500 ease-out\"\n style={{\n width: `${widthPercent}%`,\n backgroundColor: segment.color,\n // Add a very subtle inner shadow/glow to match the 'pill' aesthetic\n boxShadow: `inset 0 1px 1px rgba(255,255,255,0.2), 0 0 8px ${segment.color}40`,\n }}\n title={`${segment.label}: ${segment.value}`}\n />\n );\n })}\n </div>\n\n {/* The Labels */}\n {showLabels && (\n <div className=\"flex w-full justify-between items-center px-1\">\n {segments.map((segment, index) => (\n <div\n key={`label-${segment.id || index}`}\n className=\"flex items-center gap-1.5 min-w-0\"\n >\n <span className=\"text-xs text-neutral-400 font-medium truncate\">\n {segment.label}\n </span>\n </div>\n ))}\n </div>\n )}\n </div>\n );\n};\n","\"use client\";\n\nimport React from \"react\";\nimport {\n AreaChart as RechartsAreaChart,\n Area,\n XAxis,\n YAxis,\n CartesianGrid,\n Tooltip,\n ResponsiveContainer,\n} from \"recharts\";\n\nexport interface AreaChartData {\n name: string;\n [key: string]: string | number;\n}\n\ninterface AreaChartProps {\n data: AreaChartData[];\n categories: { key: string; color: string }[];\n height?: number | string;\n className?: string;\n showGrid?: boolean;\n}\n\nexport const AreaChart: React.FC<AreaChartProps> = ({\n data,\n categories,\n height = 300,\n className = \"\",\n showGrid = true,\n}) => {\n return (\n <div className={`w-full ${className}`} style={{ height }}>\n <ResponsiveContainer width=\"100%\" height=\"100%\">\n <RechartsAreaChart\n data={data}\n margin={{ top: 10, right: 30, left: 0, bottom: 0 }}\n >\n <defs>\n {categories.map((cat) => (\n <linearGradient\n key={`gradient-${cat.key}`}\n id={`color-${cat.key}`}\n x1=\"0\"\n y1=\"0\"\n x2=\"0\"\n y2=\"1\"\n >\n <stop offset=\"5%\" stopColor={cat.color} stopOpacity={0.3} />\n <stop offset=\"95%\" stopColor={cat.color} stopOpacity={0} />\n </linearGradient>\n ))}\n </defs>\n\n {showGrid && (\n <CartesianGrid\n strokeDasharray=\"3 3\"\n vertical={false}\n stroke=\"var(--color-neutral-800, #262626)\"\n opacity={0.5}\n />\n )}\n\n <XAxis\n dataKey=\"name\"\n axisLine={false}\n tickLine={false}\n tick={{ fill: \"var(--color-neutral-400, #a3a3a3)\", fontSize: 12 }}\n dy={10}\n />\n\n <YAxis\n axisLine={false}\n tickLine={false}\n tick={{ fill: \"var(--color-neutral-400, #a3a3a3)\", fontSize: 12 }}\n dx={-10}\n />\n\n <Tooltip\n contentStyle={{\n backgroundColor: \"rgba(10, 10, 10, 0.9)\",\n border: \"1px solid rgba(255,255,255,0.1)\",\n borderRadius: \"8px\",\n backdropFilter: \"blur(8px)\",\n color: \"#fff\",\n }}\n itemStyle={{ color: \"#fff\" }}\n />\n\n {categories.map((cat) => (\n <Area\n key={cat.key}\n type=\"monotone\"\n dataKey={cat.key}\n stroke={cat.color}\n strokeWidth={2}\n fillOpacity={1}\n fill={`url(#color-${cat.key})`}\n />\n ))}\n </RechartsAreaChart>\n </ResponsiveContainer>\n </div>\n );\n};\n","\"use client\";\n\nimport React from \"react\";\nimport {\n BarChart as RechartsBarChart,\n Bar,\n XAxis,\n YAxis,\n CartesianGrid,\n Tooltip,\n ResponsiveContainer,\n} from \"recharts\";\n\nexport interface BarChartData {\n name: string;\n [key: string]: string | number;\n}\n\ninterface BarChartProps {\n data: BarChartData[];\n categories: { key: string; color: string }[];\n height?: number | string;\n className?: string;\n layout?: \"horizontal\" | \"vertical\";\n}\n\nexport const BarChart: React.FC<BarChartProps> = ({\n data,\n categories,\n height = 300,\n className = \"\",\n layout = \"horizontal\",\n}) => {\n return (\n <div className={`w-full ${className}`} style={{ height }}>\n <ResponsiveContainer width=\"100%\" height=\"100%\">\n <RechartsBarChart\n data={data}\n layout={layout}\n margin={{ top: 20, right: 30, left: 20, bottom: 5 }}\n >\n <CartesianGrid\n strokeDasharray=\"3 3\"\n horizontal={layout === \"horizontal\"}\n vertical={layout === \"vertical\"}\n stroke=\"var(--color-neutral-800, #262626)\"\n opacity={0.4}\n />\n\n {layout === \"horizontal\" ? (\n <>\n <XAxis\n dataKey=\"name\"\n axisLine={false}\n tickLine={false}\n tick={{\n fill: \"var(--color-neutral-400, #a3a3a3)\",\n fontSize: 12,\n }}\n dy={10}\n />\n <YAxis\n axisLine={false}\n tickLine={false}\n tick={{\n fill: \"var(--color-neutral-400, #a3a3a3)\",\n fontSize: 12,\n }}\n dx={-10}\n />\n </>\n ) : (\n <>\n <XAxis\n type=\"number\"\n axisLine={false}\n tickLine={false}\n tick={{\n fill: \"var(--color-neutral-400, #a3a3a3)\",\n fontSize: 12,\n }}\n dy={10}\n />\n <YAxis\n dataKey=\"name\"\n type=\"category\"\n axisLine={false}\n tickLine={false}\n tick={{\n fill: \"var(--color-neutral-400, #a3a3a3)\",\n fontSize: 12,\n }}\n dx={-10}\n />\n </>\n )}\n\n <Tooltip\n cursor={{ fill: \"var(--color-neutral-800, rgba(38, 38, 38, 0.4))\" }}\n contentStyle={{\n backgroundColor: \"rgba(10, 10, 10, 0.9)\",\n border: \"1px solid rgba(255,255,255,0.1)\",\n borderRadius: \"8px\",\n backdropFilter: \"blur(8px)\",\n color: \"#fff\",\n }}\n />\n\n {categories.map((cat) => (\n <Bar\n key={cat.key}\n dataKey={cat.key}\n fill={cat.color}\n radius={layout === \"horizontal\" ? [4, 4, 0, 0] : [0, 4, 4, 0]}\n />\n ))}\n </RechartsBarChart>\n </ResponsiveContainer>\n </div>\n );\n};\n","\"use client\";\n\nimport React from \"react\";\nimport {\n PieChart as RechartsPieChart,\n Pie,\n Cell,\n Tooltip,\n Legend,\n ResponsiveContainer,\n} from \"recharts\";\n\nexport interface PieChartData {\n name: string;\n value: number;\n}\n\ninterface PieChartProps {\n data: PieChartData[];\n colors: string[];\n height?: number | string;\n className?: string;\n variant?: \"pie\" | \"donut\";\n}\n\nexport const PieChart: React.FC<PieChartProps> = ({\n data,\n colors,\n height = 300,\n className = \"\",\n variant = \"donut\",\n}) => {\n const innerRadius = variant === \"donut\" ? \"60%\" : 0;\n\n return (\n <div className={`w-full ${className}`} style={{ height }}>\n <ResponsiveContainer width=\"100%\" height=\"100%\">\n <RechartsPieChart>\n <Pie\n data={data}\n cx=\"50%\"\n cy=\"50%\"\n innerRadius={innerRadius}\n outerRadius=\"80%\"\n paddingAngle={variant === \"donut\" ? 2 : 0}\n dataKey=\"value\"\n stroke=\"none\"\n >\n {data.map((entry, index) => (\n <Cell\n key={`cell-${index}`}\n fill={colors[index % colors.length]}\n />\n ))}\n </Pie>\n\n <Tooltip\n contentStyle={{\n backgroundColor: \"rgba(10, 10, 10, 0.9)\",\n border: \"1px solid rgba(255,255,255,0.1)\",\n borderRadius: \"8px\",\n backdropFilter: \"blur(8px)\",\n color: \"#fff\",\n }}\n itemStyle={{ color: \"#fff\" }}\n />\n\n <Legend\n iconType=\"circle\"\n wrapperStyle={{\n fontSize: \"12px\",\n color: \"var(--color-neutral-300)\",\n }}\n />\n </RechartsPieChart>\n </ResponsiveContainer>\n </div>\n );\n};\n"],"mappings":"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"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"checkbox-B3eIojWs.mjs","names":[],"sources":["../../src/components/forms/checkbox/Checkbox.tsx"],"sourcesContent":["import type { CheckboxProps } from \"./types\";\nimport { forwardRef, useId } from \"react\";\n\nconst sanitizeId = (value: string) => value.replace(/[^a-zA-Z0-9_-]/g, \"-\");\n\nconst colorClasses: Record<NonNullable<CheckboxProps[\"color\"]>, string> = {\n red: \"checked:bg-red-500 dark:checked:bg-red-400\",\n blue: \"checked:bg-blue-500 dark:checked:bg-blue-400\",\n green: \"checked:bg-green-500 dark:checked:bg-green-400\",\n yellow: \"checked:bg-yellow-500 dark:checked:bg-yellow-400\",\n teal: \"checked:bg-teal-500 dark:checked:bg-teal-400\",\n primary: \"checked:bg-primary dark:checked:bg-primary\",\n};\n\nexport const Checkbox = forwardRef<HTMLInputElement, CheckboxProps>(\n (\n {\n className = \"\",\n label,\n error,\n id,\n extra = \"\",\n color = \"primary\",\n ...props\n },\n ref,\n ) => {\n const generatedId = useId();\n const checkboxId = id || `checkbox-${sanitizeId(generatedId)}`;\n\n // Custom CheckIcon SVG (stroke-based design)\n const checkmarkIcon = `url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3e%3cpath d='M5 13l4 4L19 7'/%3e%3c/svg%3e\")`;\n\n // Check if color is a predefined color name or a custom value\n const isPredefinedColor = color in colorClasses;\n const customColorStyle = !isPredefinedColor ? color : undefined;\n\n return (\n <>\n <style>{`\n .checkbox-custom-${checkboxId}:checked {\n background-image: ${checkmarkIcon};\n background-size: 70%;\n background-position: center;\n background-repeat: no-repeat;\n ${customColorStyle ? `background-color: ${customColorStyle} !important;` : \"\"}\n }\n `}</style>\n <div className=\"flex items-center space-x-2\">\n <input\n ref={ref}\n type=\"checkbox\"\n id={checkboxId}\n className={`checkbox-custom-${checkboxId} peer relative flex h-5 min-h-[20px] w-5 min-w-[20px] appearance-none items-center justify-center rounded-md border border-gray-300 transition duration-200 outline-none checked:border-none checked:text-white hover:cursor-pointer dark:border-white/30 ${\n isPredefinedColor\n ? colorClasses[color as keyof typeof colorClasses]\n : \"\"\n } ${error ? \"border-red-500 dark:border-red-400\" : \"\"} ${extra} ${className}`}\n {...props}\n />\n {label && (\n <label\n htmlFor={checkboxId}\n className=\"text-sm font-medium leading-none text-foreground peer-disabled:cursor-not-allowed peer-disabled:opacity-70 cursor-pointer\"\n >\n {label}\n </label>\n )}\n {error && (\n <p className=\"text-sm font-medium text-destructive mt-1\">{error}</p>\n )}\n </div>\n </>\n );\n },\n);\n\nCheckbox.displayName = \"Checkbox\";\n"],"mappings":";;;AAGA,IAAM,cAAc,UAAkB,MAAM,QAAQ,mBAAmB,IAAI;AAE3E,IAAM,eAAoE;CACxE,KAAK;CACL,MAAM;CACN,OAAO;CACP,QAAQ;CACR,MAAM;CACN,SAAS;CACV;AAED,IAAa,WAAW,YAEpB,EACE,YAAY,IACZ,OACA,OACA,IACA,QAAQ,IACR,QAAQ,WACR,GAAG,SAEL,QACG;CACH,MAAM,cAAc,OAAO;CAC3B,MAAM,aAAa,MAAM,YAAY,WAAW,YAAY;CAG5D,MAAM,gBAAgB;CAGtB,MAAM,oBAAoB,SAAS;CACnC,MAAM,mBAAmB,CAAC,oBAAoB,QAAQ,KAAA;AAEtD,QACE,qBAAA,UAAA,EAAA,UAAA,CACE,oBAAC,SAAD,EAAA,UAAQ;6BACa,WAAW;gCACR,cAAc;;;;cAIhC,mBAAmB,qBAAqB,iBAAiB,gBAAgB,GAAG;;WAExE,CAAA,EACV,qBAAC,OAAD;EAAK,WAAU;YAAf;GACE,oBAAC,SAAD;IACO;IACL,MAAK;IACL,IAAI;IACJ,WAAW,mBAAmB,WAAW,4PACvC,oBACI,aAAa,SACb,GACL,GAAG,QAAQ,uCAAuC,GAAG,GAAG,MAAM,GAAG;IAClE,GAAI;IACJ,CAAA;GACD,SACC,oBAAC,SAAD;IACE,SAAS;IACT,WAAU;cAET;IACK,CAAA;GAET,SACC,oBAAC,KAAD;IAAG,WAAU;cAA6C;IAAU,CAAA;GAElE;IACL,EAAA,CAAA;EAGR;AAED,SAAS,cAAc"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"checkbox-DQmZwRTt.cjs","names":[],"sources":["../../src/components/forms/checkbox/Checkbox.tsx"],"sourcesContent":["import type { CheckboxProps } from \"./types\";\nimport { forwardRef, useId } from \"react\";\n\nconst sanitizeId = (value: string) => value.replace(/[^a-zA-Z0-9_-]/g, \"-\");\n\nconst colorClasses: Record<NonNullable<CheckboxProps[\"color\"]>, string> = {\n red: \"checked:bg-red-500 dark:checked:bg-red-400\",\n blue: \"checked:bg-blue-500 dark:checked:bg-blue-400\",\n green: \"checked:bg-green-500 dark:checked:bg-green-400\",\n yellow: \"checked:bg-yellow-500 dark:checked:bg-yellow-400\",\n teal: \"checked:bg-teal-500 dark:checked:bg-teal-400\",\n primary: \"checked:bg-primary dark:checked:bg-primary\",\n};\n\nexport const Checkbox = forwardRef<HTMLInputElement, CheckboxProps>(\n (\n {\n className = \"\",\n label,\n error,\n id,\n extra = \"\",\n color = \"primary\",\n ...props\n },\n ref,\n ) => {\n const generatedId = useId();\n const checkboxId = id || `checkbox-${sanitizeId(generatedId)}`;\n\n // Custom CheckIcon SVG (stroke-based design)\n const checkmarkIcon = `url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3e%3cpath d='M5 13l4 4L19 7'/%3e%3c/svg%3e\")`;\n\n // Check if color is a predefined color name or a custom value\n const isPredefinedColor = color in colorClasses;\n const customColorStyle = !isPredefinedColor ? color : undefined;\n\n return (\n <>\n <style>{`\n .checkbox-custom-${checkboxId}:checked {\n background-image: ${checkmarkIcon};\n background-size: 70%;\n background-position: center;\n background-repeat: no-repeat;\n ${customColorStyle ? `background-color: ${customColorStyle} !important;` : \"\"}\n }\n `}</style>\n <div className=\"flex items-center space-x-2\">\n <input\n ref={ref}\n type=\"checkbox\"\n id={checkboxId}\n className={`checkbox-custom-${checkboxId} peer relative flex h-5 min-h-[20px] w-5 min-w-[20px] appearance-none items-center justify-center rounded-md border border-gray-300 transition duration-200 outline-none checked:border-none checked:text-white hover:cursor-pointer dark:border-white/30 ${\n isPredefinedColor\n ? colorClasses[color as keyof typeof colorClasses]\n : \"\"\n } ${error ? \"border-red-500 dark:border-red-400\" : \"\"} ${extra} ${className}`}\n {...props}\n />\n {label && (\n <label\n htmlFor={checkboxId}\n className=\"text-sm font-medium leading-none text-foreground peer-disabled:cursor-not-allowed peer-disabled:opacity-70 cursor-pointer\"\n >\n {label}\n </label>\n )}\n {error && (\n <p className=\"text-sm font-medium text-destructive mt-1\">{error}</p>\n )}\n </div>\n </>\n );\n },\n);\n\nCheckbox.displayName = \"Checkbox\";\n"],"mappings":";;;;AAGA,IAAM,cAAc,UAAkB,MAAM,QAAQ,mBAAmB,IAAI;AAE3E,IAAM,eAAoE;CACxE,KAAK;CACL,MAAM;CACN,OAAO;CACP,QAAQ;CACR,MAAM;CACN,SAAS;CACV;AAED,IAAa,YAAA,GAAA,MAAA,aAET,EACE,YAAY,IACZ,OACA,OACA,IACA,QAAQ,IACR,QAAQ,WACR,GAAG,SAEL,QACG;CACH,MAAM,eAAA,GAAA,MAAA,QAAqB;CAC3B,MAAM,aAAa,MAAM,YAAY,WAAW,YAAY;CAG5D,MAAM,gBAAgB;CAGtB,MAAM,oBAAoB,SAAS;CACnC,MAAM,mBAAmB,CAAC,oBAAoB,QAAQ,KAAA;AAEtD,QACE,iBAAA,GAAA,kBAAA,MAAA,kBAAA,UAAA,EAAA,UAAA,CACE,iBAAA,GAAA,kBAAA,KAAC,SAAD,EAAA,UAAQ;6BACa,WAAW;gCACR,cAAc;;;;cAIhC,mBAAmB,qBAAqB,iBAAiB,gBAAgB,GAAG;;WAExE,CAAA,EACV,iBAAA,GAAA,kBAAA,MAAC,OAAD;EAAK,WAAU;YAAf;GACE,iBAAA,GAAA,kBAAA,KAAC,SAAD;IACO;IACL,MAAK;IACL,IAAI;IACJ,WAAW,mBAAmB,WAAW,4PACvC,oBACI,aAAa,SACb,GACL,GAAG,QAAQ,uCAAuC,GAAG,GAAG,MAAM,GAAG;IAClE,GAAI;IACJ,CAAA;GACD,SACC,iBAAA,GAAA,kBAAA,KAAC,SAAD;IACE,SAAS;IACT,WAAU;cAET;IACK,CAAA;GAET,SACC,iBAAA,GAAA,kBAAA,KAAC,KAAD;IAAG,WAAU;cAA6C;IAAU,CAAA;GAElE;IACL,EAAA,CAAA;EAGR;AAED,SAAS,cAAc"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"chip-BH6wzwat.cjs","names":[],"sources":["../../src/components/data-display/chip/Chip.tsx"],"sourcesContent":["import { forwardRef } from \"react\";\n\nimport { CloseIcon } from \"../../icons\";\n\nexport type ChipVariant = \"filled\" | \"outlined\" | \"soft\" | \"glass\";\nexport type ChipColor =\n | \"default\"\n | \"primary\"\n | \"secondary\"\n | \"success\"\n | \"warning\"\n | \"error\"\n | \"info\";\nexport type ChipSize = \"sm\" | \"md\" | \"lg\";\n\nexport interface ChipProps {\n /** The content of the chip */\n children: React.ReactNode;\n /** The variant style of the chip */\n variant?: ChipVariant;\n /** The color scheme of the chip */\n color?: ChipColor;\n /** The size of the chip */\n size?: ChipSize;\n /** Icon or element to display at the start */\n startIcon?: React.ReactNode;\n /** Icon or element to display at the end */\n endIcon?: React.ReactNode;\n /** Makes the chip removable with an X button */\n onRemove?: () => void;\n /** Makes the chip clickable */\n onClick?: () => void;\n /** Whether the chip is disabled */\n disabled?: boolean;\n /** Custom className */\n className?: string;\n /** Whether the chip should have a dot indicator */\n dot?: boolean;\n /** Dot color (uses chip color by default) */\n dotColor?: string;\n /** Maximum width for the chip - text will truncate with ellipsis if exceeded */\n maxWidth?: number | string;\n}\n\nconst sizeStyles: Record<ChipSize, string> = {\n sm: \"px-2.5 py-1 text-xs gap-1.5\",\n md: \"px-3 py-1.5 text-sm gap-2\",\n lg: \"px-4 py-2 text-base gap-2.5\",\n};\n\nconst dotSizeStyles: Record<ChipSize, string> = {\n sm: \"w-1.5 h-1.5\",\n md: \"w-2 h-2\",\n lg: \"w-2.5 h-2.5\",\n};\n\nconst iconSizeStyles: Record<ChipSize, string> = {\n sm: \"w-3.5 h-3.5\",\n md: \"w-4 h-4\",\n lg: \"w-5 h-5\",\n};\n\nconst colorStyles: Record<ChipVariant, Record<ChipColor, string>> = {\n filled: {\n default:\n \"bg-gradient-to-br from-neutral-100 to-neutral-200 text-neutral-800 shadow-sm dark:from-neutral-700 dark:to-neutral-800 dark:text-neutral-100 border border-neutral-200 dark:border-neutral-600\",\n primary:\n \"bg-gradient-to-br from-primary-500 to-primary-600 text-white shadow-md shadow-primary-500/30 dark:shadow-primary-500/20\",\n secondary:\n \"bg-gradient-to-br from-purple-500 to-purple-600 text-white shadow-md shadow-purple-500/30 dark:shadow-purple-500/20\",\n success:\n \"bg-gradient-to-br from-green-500 to-green-600 text-white shadow-md shadow-green-500/30 dark:shadow-green-500/20\",\n warning:\n \"bg-gradient-to-br from-amber-500 to-amber-600 text-white shadow-md shadow-amber-500/30 dark:shadow-amber-500/20\",\n error:\n \"bg-gradient-to-br from-red-500 to-red-600 text-white shadow-md shadow-red-500/30 dark:shadow-red-500/20\",\n info: \"bg-gradient-to-br from-blue-500 to-blue-600 text-white shadow-md shadow-blue-500/30 dark:shadow-blue-500/20\",\n },\n outlined: {\n default:\n \"border-2 border-neutral-300 text-neutral-700 bg-transparent dark:border-neutral-600 dark:text-neutral-200 hover:bg-neutral-50 dark:hover:bg-neutral-800/50\",\n primary:\n \"border-2 border-primary-500 text-primary-600 bg-transparent dark:text-primary-400 hover:bg-primary-50 dark:hover:bg-primary-900/20\",\n secondary:\n \"border-2 border-purple-500 text-purple-600 bg-transparent dark:text-purple-400 hover:bg-purple-50 dark:hover:bg-purple-900/20\",\n success:\n \"border-2 border-green-500 text-green-600 bg-transparent dark:text-green-400 hover:bg-green-50 dark:hover:bg-green-900/20\",\n warning:\n \"border-2 border-amber-500 text-amber-600 bg-transparent dark:text-amber-400 hover:bg-amber-50 dark:hover:bg-amber-900/20\",\n error:\n \"border-2 border-red-500 text-red-600 bg-transparent dark:text-red-400 hover:bg-red-50 dark:hover:bg-red-900/20\",\n info: \"border-2 border-blue-500 text-blue-600 bg-transparent dark:text-blue-400 hover:bg-blue-50 dark:hover:bg-blue-900/20\",\n },\n soft: {\n default:\n \"bg-neutral-100 text-neutral-800 dark:bg-neutral-800/60 dark:text-neutral-200 backdrop-blur-sm border border-neutral-200/50 dark:border-neutral-700/50\",\n primary:\n \"bg-primary-100 text-primary-700 dark:bg-primary-900/40 dark:text-primary-300 backdrop-blur-sm border border-primary-200/50 dark:border-primary-800/50\",\n secondary:\n \"bg-purple-100 text-purple-700 dark:bg-purple-900/40 dark:text-purple-300 backdrop-blur-sm border border-purple-200/50 dark:border-purple-800/50\",\n success:\n \"bg-green-100 text-green-700 dark:bg-green-900/40 dark:text-green-300 backdrop-blur-sm border border-green-200/50 dark:border-green-800/50\",\n warning:\n \"bg-amber-100 text-amber-700 dark:bg-amber-900/40 dark:text-amber-300 backdrop-blur-sm border border-amber-200/50 dark:border-amber-800/50\",\n error:\n \"bg-red-100 text-red-700 dark:bg-red-900/40 dark:text-red-300 backdrop-blur-sm border border-red-200/50 dark:border-red-800/50\",\n info: \"bg-blue-100 text-blue-700 dark:bg-blue-900/40 dark:text-blue-300 backdrop-blur-sm border border-blue-200/50 dark:border-blue-800/50\",\n },\n glass: {\n default:\n \"bg-white/70 text-neutral-800 dark:bg-neutral-800/70 dark:text-neutral-100 backdrop-blur-xl border border-white/20 dark:border-white/10 shadow-lg\",\n primary:\n \"bg-primary-500/20 text-primary-700 dark:bg-primary-500/30 dark:text-primary-200 backdrop-blur-xl border border-primary-300/30 dark:border-primary-400/20 shadow-lg shadow-primary-500/10\",\n secondary:\n \"bg-purple-500/20 text-purple-700 dark:bg-purple-500/30 dark:text-purple-200 backdrop-blur-xl border border-purple-300/30 dark:border-purple-400/20 shadow-lg shadow-purple-500/10\",\n success:\n \"bg-green-500/20 text-green-700 dark:bg-green-500/30 dark:text-green-200 backdrop-blur-xl border border-green-300/30 dark:border-green-400/20 shadow-lg shadow-green-500/10\",\n warning:\n \"bg-amber-500/20 text-amber-700 dark:bg-amber-500/30 dark:text-amber-200 backdrop-blur-xl border border-amber-300/30 dark:border-amber-400/20 shadow-lg shadow-amber-500/10\",\n error:\n \"bg-red-500/20 text-red-700 dark:bg-red-500/30 dark:text-red-200 backdrop-blur-xl border border-red-300/30 dark:border-red-400/20 shadow-lg shadow-red-500/10\",\n info: \"bg-blue-500/20 text-blue-700 dark:bg-blue-500/30 dark:text-blue-200 backdrop-blur-xl border border-blue-300/30 dark:border-blue-400/20 shadow-lg shadow-blue-500/10\",\n },\n};\n\nconst dotColorStyles: Record<ChipColor, string> = {\n default: \"bg-neutral-500 dark:bg-neutral-400\",\n primary: \"bg-primary-500\",\n secondary: \"bg-purple-500\",\n success: \"bg-green-500\",\n warning: \"bg-amber-500\",\n error: \"bg-red-500\",\n info: \"bg-blue-500\",\n};\n\nconst Chip = forwardRef<HTMLSpanElement, ChipProps>(\n (\n {\n children,\n variant = \"soft\",\n color = \"default\",\n size = \"md\",\n startIcon,\n endIcon,\n onRemove,\n onClick,\n disabled = false,\n className = \"\",\n dot = false,\n dotColor,\n maxWidth,\n },\n ref,\n ) => {\n const isClickable = onClick !== undefined;\n const isRemovable = onRemove !== undefined;\n\n const baseStyles = `\n inline-flex items-center font-medium rounded-full transition-all duration-200\n ${sizeStyles[size]}\n ${colorStyles[variant][color]}\n ${\n isClickable && !disabled\n ? \"cursor-pointer hover:scale-105 hover:shadow-lg active:scale-95\"\n : \"\"\n }\n ${disabled ? \"opacity-50 cursor-not-allowed grayscale\" : \"\"}\n ${maxWidth ? \"max-w-full\" : \"\"}\n ${className}\n `;\n\n const handleClick = () => {\n if (!disabled && onClick) {\n onClick();\n }\n };\n\n const handleRemove = (e: React.MouseEvent) => {\n e.stopPropagation();\n if (!disabled && onRemove) {\n onRemove();\n }\n };\n\n return (\n <span\n ref={ref}\n className={baseStyles}\n onClick={handleClick}\n role={isClickable ? \"button\" : undefined}\n tabIndex={isClickable && !disabled ? 0 : undefined}\n style={\n maxWidth\n ? {\n maxWidth:\n typeof maxWidth === \"number\" ? `${maxWidth}px` : maxWidth,\n }\n : undefined\n }\n onKeyDown={(e) => {\n if (\n isClickable &&\n !disabled &&\n (e.key === \"Enter\" || e.key === \" \")\n ) {\n e.preventDefault();\n onClick?.();\n }\n }}\n >\n {dot && (\n <span\n className={`rounded-full flex-shrink-0 animate-pulse ${\n dotSizeStyles[size]\n } ${dotColor ? \"\" : dotColorStyles[color]}`}\n style={dotColor ? { backgroundColor: dotColor } : undefined}\n />\n )}\n {startIcon && (\n <span className={`flex-shrink-0 ${iconSizeStyles[size]}`}>\n {startIcon}\n </span>\n )}\n <span className=\"truncate font-semibold\">{children}</span>\n {endIcon && !isRemovable && (\n <span className={`flex-shrink-0 ${iconSizeStyles[size]}`}>\n {endIcon}\n </span>\n )}\n {isRemovable && (\n <button\n type=\"button\"\n onClick={handleRemove}\n disabled={disabled}\n className={`\n flex-shrink-0 rounded-full p-0.5 ml-1 transition-all duration-200\n hover:bg-black/20 dark:hover:bg-white/20 hover:scale-110\n focus:outline-none focus:ring-2 focus:ring-current focus:ring-offset-1\n ${disabled ? \"cursor-not-allowed\" : \"cursor-pointer\"}\n `}\n aria-label=\"Remove\"\n >\n <CloseIcon className={iconSizeStyles[size]} aria-hidden=\"true\" />\n </button>\n )}\n </span>\n );\n },\n);\n\nChip.displayName = \"Chip\";\n\nexport default Chip;\nexport { Chip };\n"],"mappings":";;;;;AA4CA,IAAM,aAAuC;CAC3C,IAAI;CACJ,IAAI;CACJ,IAAI;CACL;AAED,IAAM,gBAA0C;CAC9C,IAAI;CACJ,IAAI;CACJ,IAAI;CACL;AAED,IAAM,iBAA2C;CAC/C,IAAI;CACJ,IAAI;CACJ,IAAI;CACL;AAED,IAAM,cAA8D;CAClE,QAAQ;EACN,SACE;EACF,SACE;EACF,WACE;EACF,SACE;EACF,SACE;EACF,OACE;EACF,MAAM;EACP;CACD,UAAU;EACR,SACE;EACF,SACE;EACF,WACE;EACF,SACE;EACF,SACE;EACF,OACE;EACF,MAAM;EACP;CACD,MAAM;EACJ,SACE;EACF,SACE;EACF,WACE;EACF,SACE;EACF,SACE;EACF,OACE;EACF,MAAM;EACP;CACD,OAAO;EACL,SACE;EACF,SACE;EACF,WACE;EACF,SACE;EACF,SACE;EACF,OACE;EACF,MAAM;EACP;CACF;AAED,IAAM,iBAA4C;CAChD,SAAS;CACT,SAAS;CACT,WAAW;CACX,SAAS;CACT,SAAS;CACT,OAAO;CACP,MAAM;CACP;AAED,IAAM,QAAA,GAAA,MAAA,aAEF,EACE,UACA,UAAU,QACV,QAAQ,WACR,OAAO,MACP,WACA,SACA,UACA,SACA,WAAW,OACX,YAAY,IACZ,MAAM,OACN,UACA,YAEF,QACG;CACH,MAAM,cAAc,YAAY,KAAA;CAChC,MAAM,cAAc,aAAa,KAAA;CAEjC,MAAM,aAAa;;QAEf,WAAW,MAAM;QACjB,YAAY,SAAS,OAAO;QAE5B,eAAe,CAAC,WACZ,mEACA,GACL;QACC,WAAW,4CAA4C,GAAG;QAC1D,WAAW,eAAe,GAAG;QAC7B,UAAU;;CAGd,MAAM,oBAAoB;AACxB,MAAI,CAAC,YAAY,QACf,UAAS;;CAIb,MAAM,gBAAgB,MAAwB;AAC5C,IAAE,iBAAiB;AACnB,MAAI,CAAC,YAAY,SACf,WAAU;;AAId,QACE,iBAAA,GAAA,kBAAA,MAAC,QAAD;EACO;EACL,WAAW;EACX,SAAS;EACT,MAAM,cAAc,WAAW,KAAA;EAC/B,UAAU,eAAe,CAAC,WAAW,IAAI,KAAA;EACzC,OACE,WACI,EACE,UACE,OAAO,aAAa,WAAW,GAAG,SAAS,MAAM,UACpD,GACD,KAAA;EAEN,YAAY,MAAM;AAChB,OACE,eACA,CAAC,aACA,EAAE,QAAQ,WAAW,EAAE,QAAQ,MAChC;AACA,MAAE,gBAAgB;AAClB,eAAW;;;YArBjB;GAyBG,OACC,iBAAA,GAAA,kBAAA,KAAC,QAAD;IACE,WAAW,4CACT,cAAc,MACf,GAAG,WAAW,KAAK,eAAe;IACnC,OAAO,WAAW,EAAE,iBAAiB,UAAU,GAAG,KAAA;IAClD,CAAA;GAEH,aACC,iBAAA,GAAA,kBAAA,KAAC,QAAD;IAAM,WAAW,iBAAiB,eAAe;cAC9C;IACI,CAAA;GAET,iBAAA,GAAA,kBAAA,KAAC,QAAD;IAAM,WAAU;IAA0B;IAAgB,CAAA;GACzD,WAAW,CAAC,eACX,iBAAA,GAAA,kBAAA,KAAC,QAAD;IAAM,WAAW,iBAAiB,eAAe;cAC9C;IACI,CAAA;GAER,eACC,iBAAA,GAAA,kBAAA,KAAC,UAAD;IACE,MAAK;IACL,SAAS;IACC;IACV,WAAW;;;;gBAIP,WAAW,uBAAuB,iBAAiB;;IAEvD,cAAW;cAEX,iBAAA,GAAA,kBAAA,KAAC,cAAA,WAAD;KAAW,WAAW,eAAe;KAAO,eAAY;KAAS,CAAA;IAC1D,CAAA;GAEN;;EAGZ;AAED,KAAK,cAAc"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"chip-cZ7-HmWw.mjs","names":[],"sources":["../../src/components/data-display/chip/Chip.tsx"],"sourcesContent":["import { forwardRef } from \"react\";\n\nimport { CloseIcon } from \"../../icons\";\n\nexport type ChipVariant = \"filled\" | \"outlined\" | \"soft\" | \"glass\";\nexport type ChipColor =\n | \"default\"\n | \"primary\"\n | \"secondary\"\n | \"success\"\n | \"warning\"\n | \"error\"\n | \"info\";\nexport type ChipSize = \"sm\" | \"md\" | \"lg\";\n\nexport interface ChipProps {\n /** The content of the chip */\n children: React.ReactNode;\n /** The variant style of the chip */\n variant?: ChipVariant;\n /** The color scheme of the chip */\n color?: ChipColor;\n /** The size of the chip */\n size?: ChipSize;\n /** Icon or element to display at the start */\n startIcon?: React.ReactNode;\n /** Icon or element to display at the end */\n endIcon?: React.ReactNode;\n /** Makes the chip removable with an X button */\n onRemove?: () => void;\n /** Makes the chip clickable */\n onClick?: () => void;\n /** Whether the chip is disabled */\n disabled?: boolean;\n /** Custom className */\n className?: string;\n /** Whether the chip should have a dot indicator */\n dot?: boolean;\n /** Dot color (uses chip color by default) */\n dotColor?: string;\n /** Maximum width for the chip - text will truncate with ellipsis if exceeded */\n maxWidth?: number | string;\n}\n\nconst sizeStyles: Record<ChipSize, string> = {\n sm: \"px-2.5 py-1 text-xs gap-1.5\",\n md: \"px-3 py-1.5 text-sm gap-2\",\n lg: \"px-4 py-2 text-base gap-2.5\",\n};\n\nconst dotSizeStyles: Record<ChipSize, string> = {\n sm: \"w-1.5 h-1.5\",\n md: \"w-2 h-2\",\n lg: \"w-2.5 h-2.5\",\n};\n\nconst iconSizeStyles: Record<ChipSize, string> = {\n sm: \"w-3.5 h-3.5\",\n md: \"w-4 h-4\",\n lg: \"w-5 h-5\",\n};\n\nconst colorStyles: Record<ChipVariant, Record<ChipColor, string>> = {\n filled: {\n default:\n \"bg-gradient-to-br from-neutral-100 to-neutral-200 text-neutral-800 shadow-sm dark:from-neutral-700 dark:to-neutral-800 dark:text-neutral-100 border border-neutral-200 dark:border-neutral-600\",\n primary:\n \"bg-gradient-to-br from-primary-500 to-primary-600 text-white shadow-md shadow-primary-500/30 dark:shadow-primary-500/20\",\n secondary:\n \"bg-gradient-to-br from-purple-500 to-purple-600 text-white shadow-md shadow-purple-500/30 dark:shadow-purple-500/20\",\n success:\n \"bg-gradient-to-br from-green-500 to-green-600 text-white shadow-md shadow-green-500/30 dark:shadow-green-500/20\",\n warning:\n \"bg-gradient-to-br from-amber-500 to-amber-600 text-white shadow-md shadow-amber-500/30 dark:shadow-amber-500/20\",\n error:\n \"bg-gradient-to-br from-red-500 to-red-600 text-white shadow-md shadow-red-500/30 dark:shadow-red-500/20\",\n info: \"bg-gradient-to-br from-blue-500 to-blue-600 text-white shadow-md shadow-blue-500/30 dark:shadow-blue-500/20\",\n },\n outlined: {\n default:\n \"border-2 border-neutral-300 text-neutral-700 bg-transparent dark:border-neutral-600 dark:text-neutral-200 hover:bg-neutral-50 dark:hover:bg-neutral-800/50\",\n primary:\n \"border-2 border-primary-500 text-primary-600 bg-transparent dark:text-primary-400 hover:bg-primary-50 dark:hover:bg-primary-900/20\",\n secondary:\n \"border-2 border-purple-500 text-purple-600 bg-transparent dark:text-purple-400 hover:bg-purple-50 dark:hover:bg-purple-900/20\",\n success:\n \"border-2 border-green-500 text-green-600 bg-transparent dark:text-green-400 hover:bg-green-50 dark:hover:bg-green-900/20\",\n warning:\n \"border-2 border-amber-500 text-amber-600 bg-transparent dark:text-amber-400 hover:bg-amber-50 dark:hover:bg-amber-900/20\",\n error:\n \"border-2 border-red-500 text-red-600 bg-transparent dark:text-red-400 hover:bg-red-50 dark:hover:bg-red-900/20\",\n info: \"border-2 border-blue-500 text-blue-600 bg-transparent dark:text-blue-400 hover:bg-blue-50 dark:hover:bg-blue-900/20\",\n },\n soft: {\n default:\n \"bg-neutral-100 text-neutral-800 dark:bg-neutral-800/60 dark:text-neutral-200 backdrop-blur-sm border border-neutral-200/50 dark:border-neutral-700/50\",\n primary:\n \"bg-primary-100 text-primary-700 dark:bg-primary-900/40 dark:text-primary-300 backdrop-blur-sm border border-primary-200/50 dark:border-primary-800/50\",\n secondary:\n \"bg-purple-100 text-purple-700 dark:bg-purple-900/40 dark:text-purple-300 backdrop-blur-sm border border-purple-200/50 dark:border-purple-800/50\",\n success:\n \"bg-green-100 text-green-700 dark:bg-green-900/40 dark:text-green-300 backdrop-blur-sm border border-green-200/50 dark:border-green-800/50\",\n warning:\n \"bg-amber-100 text-amber-700 dark:bg-amber-900/40 dark:text-amber-300 backdrop-blur-sm border border-amber-200/50 dark:border-amber-800/50\",\n error:\n \"bg-red-100 text-red-700 dark:bg-red-900/40 dark:text-red-300 backdrop-blur-sm border border-red-200/50 dark:border-red-800/50\",\n info: \"bg-blue-100 text-blue-700 dark:bg-blue-900/40 dark:text-blue-300 backdrop-blur-sm border border-blue-200/50 dark:border-blue-800/50\",\n },\n glass: {\n default:\n \"bg-white/70 text-neutral-800 dark:bg-neutral-800/70 dark:text-neutral-100 backdrop-blur-xl border border-white/20 dark:border-white/10 shadow-lg\",\n primary:\n \"bg-primary-500/20 text-primary-700 dark:bg-primary-500/30 dark:text-primary-200 backdrop-blur-xl border border-primary-300/30 dark:border-primary-400/20 shadow-lg shadow-primary-500/10\",\n secondary:\n \"bg-purple-500/20 text-purple-700 dark:bg-purple-500/30 dark:text-purple-200 backdrop-blur-xl border border-purple-300/30 dark:border-purple-400/20 shadow-lg shadow-purple-500/10\",\n success:\n \"bg-green-500/20 text-green-700 dark:bg-green-500/30 dark:text-green-200 backdrop-blur-xl border border-green-300/30 dark:border-green-400/20 shadow-lg shadow-green-500/10\",\n warning:\n \"bg-amber-500/20 text-amber-700 dark:bg-amber-500/30 dark:text-amber-200 backdrop-blur-xl border border-amber-300/30 dark:border-amber-400/20 shadow-lg shadow-amber-500/10\",\n error:\n \"bg-red-500/20 text-red-700 dark:bg-red-500/30 dark:text-red-200 backdrop-blur-xl border border-red-300/30 dark:border-red-400/20 shadow-lg shadow-red-500/10\",\n info: \"bg-blue-500/20 text-blue-700 dark:bg-blue-500/30 dark:text-blue-200 backdrop-blur-xl border border-blue-300/30 dark:border-blue-400/20 shadow-lg shadow-blue-500/10\",\n },\n};\n\nconst dotColorStyles: Record<ChipColor, string> = {\n default: \"bg-neutral-500 dark:bg-neutral-400\",\n primary: \"bg-primary-500\",\n secondary: \"bg-purple-500\",\n success: \"bg-green-500\",\n warning: \"bg-amber-500\",\n error: \"bg-red-500\",\n info: \"bg-blue-500\",\n};\n\nconst Chip = forwardRef<HTMLSpanElement, ChipProps>(\n (\n {\n children,\n variant = \"soft\",\n color = \"default\",\n size = \"md\",\n startIcon,\n endIcon,\n onRemove,\n onClick,\n disabled = false,\n className = \"\",\n dot = false,\n dotColor,\n maxWidth,\n },\n ref,\n ) => {\n const isClickable = onClick !== undefined;\n const isRemovable = onRemove !== undefined;\n\n const baseStyles = `\n inline-flex items-center font-medium rounded-full transition-all duration-200\n ${sizeStyles[size]}\n ${colorStyles[variant][color]}\n ${\n isClickable && !disabled\n ? \"cursor-pointer hover:scale-105 hover:shadow-lg active:scale-95\"\n : \"\"\n }\n ${disabled ? \"opacity-50 cursor-not-allowed grayscale\" : \"\"}\n ${maxWidth ? \"max-w-full\" : \"\"}\n ${className}\n `;\n\n const handleClick = () => {\n if (!disabled && onClick) {\n onClick();\n }\n };\n\n const handleRemove = (e: React.MouseEvent) => {\n e.stopPropagation();\n if (!disabled && onRemove) {\n onRemove();\n }\n };\n\n return (\n <span\n ref={ref}\n className={baseStyles}\n onClick={handleClick}\n role={isClickable ? \"button\" : undefined}\n tabIndex={isClickable && !disabled ? 0 : undefined}\n style={\n maxWidth\n ? {\n maxWidth:\n typeof maxWidth === \"number\" ? `${maxWidth}px` : maxWidth,\n }\n : undefined\n }\n onKeyDown={(e) => {\n if (\n isClickable &&\n !disabled &&\n (e.key === \"Enter\" || e.key === \" \")\n ) {\n e.preventDefault();\n onClick?.();\n }\n }}\n >\n {dot && (\n <span\n className={`rounded-full flex-shrink-0 animate-pulse ${\n dotSizeStyles[size]\n } ${dotColor ? \"\" : dotColorStyles[color]}`}\n style={dotColor ? { backgroundColor: dotColor } : undefined}\n />\n )}\n {startIcon && (\n <span className={`flex-shrink-0 ${iconSizeStyles[size]}`}>\n {startIcon}\n </span>\n )}\n <span className=\"truncate font-semibold\">{children}</span>\n {endIcon && !isRemovable && (\n <span className={`flex-shrink-0 ${iconSizeStyles[size]}`}>\n {endIcon}\n </span>\n )}\n {isRemovable && (\n <button\n type=\"button\"\n onClick={handleRemove}\n disabled={disabled}\n className={`\n flex-shrink-0 rounded-full p-0.5 ml-1 transition-all duration-200\n hover:bg-black/20 dark:hover:bg-white/20 hover:scale-110\n focus:outline-none focus:ring-2 focus:ring-current focus:ring-offset-1\n ${disabled ? \"cursor-not-allowed\" : \"cursor-pointer\"}\n `}\n aria-label=\"Remove\"\n >\n <CloseIcon className={iconSizeStyles[size]} aria-hidden=\"true\" />\n </button>\n )}\n </span>\n );\n },\n);\n\nChip.displayName = \"Chip\";\n\nexport default Chip;\nexport { Chip };\n"],"mappings":";;;;AA4CA,IAAM,aAAuC;CAC3C,IAAI;CACJ,IAAI;CACJ,IAAI;CACL;AAED,IAAM,gBAA0C;CAC9C,IAAI;CACJ,IAAI;CACJ,IAAI;CACL;AAED,IAAM,iBAA2C;CAC/C,IAAI;CACJ,IAAI;CACJ,IAAI;CACL;AAED,IAAM,cAA8D;CAClE,QAAQ;EACN,SACE;EACF,SACE;EACF,WACE;EACF,SACE;EACF,SACE;EACF,OACE;EACF,MAAM;EACP;CACD,UAAU;EACR,SACE;EACF,SACE;EACF,WACE;EACF,SACE;EACF,SACE;EACF,OACE;EACF,MAAM;EACP;CACD,MAAM;EACJ,SACE;EACF,SACE;EACF,WACE;EACF,SACE;EACF,SACE;EACF,OACE;EACF,MAAM;EACP;CACD,OAAO;EACL,SACE;EACF,SACE;EACF,WACE;EACF,SACE;EACF,SACE;EACF,OACE;EACF,MAAM;EACP;CACF;AAED,IAAM,iBAA4C;CAChD,SAAS;CACT,SAAS;CACT,WAAW;CACX,SAAS;CACT,SAAS;CACT,OAAO;CACP,MAAM;CACP;AAED,IAAM,OAAO,YAET,EACE,UACA,UAAU,QACV,QAAQ,WACR,OAAO,MACP,WACA,SACA,UACA,SACA,WAAW,OACX,YAAY,IACZ,MAAM,OACN,UACA,YAEF,QACG;CACH,MAAM,cAAc,YAAY,KAAA;CAChC,MAAM,cAAc,aAAa,KAAA;CAEjC,MAAM,aAAa;;QAEf,WAAW,MAAM;QACjB,YAAY,SAAS,OAAO;QAE5B,eAAe,CAAC,WACZ,mEACA,GACL;QACC,WAAW,4CAA4C,GAAG;QAC1D,WAAW,eAAe,GAAG;QAC7B,UAAU;;CAGd,MAAM,oBAAoB;AACxB,MAAI,CAAC,YAAY,QACf,UAAS;;CAIb,MAAM,gBAAgB,MAAwB;AAC5C,IAAE,iBAAiB;AACnB,MAAI,CAAC,YAAY,SACf,WAAU;;AAId,QACE,qBAAC,QAAD;EACO;EACL,WAAW;EACX,SAAS;EACT,MAAM,cAAc,WAAW,KAAA;EAC/B,UAAU,eAAe,CAAC,WAAW,IAAI,KAAA;EACzC,OACE,WACI,EACE,UACE,OAAO,aAAa,WAAW,GAAG,SAAS,MAAM,UACpD,GACD,KAAA;EAEN,YAAY,MAAM;AAChB,OACE,eACA,CAAC,aACA,EAAE,QAAQ,WAAW,EAAE,QAAQ,MAChC;AACA,MAAE,gBAAgB;AAClB,eAAW;;;YArBjB;GAyBG,OACC,oBAAC,QAAD;IACE,WAAW,4CACT,cAAc,MACf,GAAG,WAAW,KAAK,eAAe;IACnC,OAAO,WAAW,EAAE,iBAAiB,UAAU,GAAG,KAAA;IAClD,CAAA;GAEH,aACC,oBAAC,QAAD;IAAM,WAAW,iBAAiB,eAAe;cAC9C;IACI,CAAA;GAET,oBAAC,QAAD;IAAM,WAAU;IAA0B;IAAgB,CAAA;GACzD,WAAW,CAAC,eACX,oBAAC,QAAD;IAAM,WAAW,iBAAiB,eAAe;cAC9C;IACI,CAAA;GAER,eACC,oBAAC,UAAD;IACE,MAAK;IACL,SAAS;IACC;IACV,WAAW;;;;gBAIP,WAAW,uBAAuB,iBAAiB;;IAEvD,cAAW;cAEX,oBAAC,WAAD;KAAW,WAAW,eAAe;KAAO,eAAY;KAAS,CAAA;IAC1D,CAAA;GAEN;;EAGZ;AAED,KAAK,cAAc"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"chroma-grid-CC_fFzxO.mjs","names":[],"sources":["../../src/components/effects/chroma-grid/ChromaGrid.tsx"],"sourcesContent":["import { useState, useRef } from \"react\";\nimport { motion } from \"framer-motion\";\nimport { mergeClassNames } from \"../../../utils\";\nimport type { ChromaGridProps, ChromaGridItem } from \"./types\";\n\nconst borderRadiusMap = {\n sm: \"rounded-sm\",\n md: \"rounded-md\",\n lg: \"rounded-lg\",\n xl: \"rounded-xl\",\n \"2xl\": \"rounded-2xl\",\n};\n\nconst defaultColors = [\n \"linear-gradient(135deg, #667eea 0%, #764ba2 100%)\",\n \"linear-gradient(135deg, #f093fb 0%, #f5576c 100%)\",\n \"linear-gradient(135deg, #4facfe 0%, #00f2fe 100%)\",\n \"linear-gradient(135deg, #43e97b 0%, #38f9d7 100%)\",\n \"linear-gradient(135deg, #fa709a 0%, #fee140 100%)\",\n \"linear-gradient(135deg, #a8edea 0%, #fed6e3 100%)\",\n \"linear-gradient(135deg, #ff9a9e 0%, #fecfef 100%)\",\n \"linear-gradient(135deg, #ffecd2 0%, #fcb69f 100%)\",\n];\n\nconst getAnimation = (\n animation: string,\n index: number,\n staggerDelay: number,\n) => {\n const delay = (index * staggerDelay) / 1000;\n\n switch (animation) {\n case \"wave\":\n return {\n initial: { opacity: 0, y: 30, rotateX: -15 },\n animate: { opacity: 1, y: 0, rotateX: 0 },\n transition: { delay, duration: 0.6, ease: [0.23, 1, 0.32, 1] as const },\n };\n case \"pulse\":\n return {\n initial: { scale: 0.8, opacity: 0 },\n animate: { scale: 1, opacity: 1 },\n transition: {\n delay,\n duration: 0.5,\n type: \"spring\" as const,\n stiffness: 200,\n },\n };\n case \"fadeIn\":\n return {\n initial: { opacity: 0 },\n animate: { opacity: 1 },\n transition: { delay, duration: 0.4 },\n };\n case \"scale\":\n return {\n initial: { scale: 0, opacity: 0 },\n animate: { scale: 1, opacity: 1 },\n transition: {\n delay,\n duration: 0.5,\n type: \"spring\" as const,\n stiffness: 300,\n damping: 20,\n },\n };\n default:\n return {};\n }\n};\n\nconst getHoverEffect = (effect: string) => {\n switch (effect) {\n case \"lift\":\n return { y: -8, transition: { duration: 0.3 } };\n case \"glow\":\n return {\n boxShadow: \"0 0 30px rgba(115, 103, 240, 0.5)\",\n transition: { duration: 0.3 },\n };\n case \"scale\":\n return { scale: 1.05, transition: { duration: 0.3 } };\n case \"tilt\":\n return { rotateY: 5, rotateX: 5, transition: { duration: 0.3 } };\n default:\n return {};\n }\n};\n\ninterface GridItemProps {\n item: ChromaGridItem;\n index: number;\n animation: string;\n staggerDelay: number;\n hoverEffect: string;\n variant: string;\n borderRadius: string;\n minHeight: number;\n spotlight: boolean;\n}\n\nconst GridItem = ({\n item,\n index,\n animation,\n staggerDelay,\n hoverEffect,\n variant,\n borderRadius,\n minHeight,\n spotlight,\n}: GridItemProps) => {\n const itemRef = useRef<HTMLDivElement>(null);\n const [mousePosition, setMousePosition] = useState({ x: 0, y: 0 });\n const [isHovered, setIsHovered] = useState(false);\n\n const color = item.color || defaultColors[index % defaultColors.length];\n const animationProps = getAnimation(animation, index, staggerDelay);\n const hoverProps = getHoverEffect(hoverEffect);\n\n const handleMouseMove = (e: React.MouseEvent) => {\n if (!itemRef.current || !spotlight) return;\n const rect = itemRef.current.getBoundingClientRect();\n setMousePosition({\n x: e.clientX - rect.left,\n y: e.clientY - rect.top,\n });\n };\n\n const gridSpan =\n item.size && item.size > 1\n ? { gridColumn: `span ${item.size}`, gridRow: `span ${item.size}` }\n : {};\n\n const variantStyles = {\n glass: {\n backgroundColor: \"rgba(255, 255, 255, 0.1)\",\n backdropFilter: \"blur(20px)\",\n WebkitBackdropFilter: \"blur(20px)\",\n },\n solid: {},\n gradient: { background: color },\n };\n\n return (\n <motion.div\n ref={itemRef}\n className={mergeClassNames(\n \"relative overflow-hidden cursor-pointer transition-shadow\",\n borderRadiusMap[borderRadius as keyof typeof borderRadiusMap],\n variant === \"glass\" && \"border border-white/20 dark:border-white/10\",\n item.className,\n )}\n style={{\n minHeight:\n item.size && item.size > 1 ? minHeight * item.size : minHeight,\n ...gridSpan,\n ...variantStyles[variant as keyof typeof variantStyles],\n ...(variant !== \"glass\" && { background: color }),\n }}\n onMouseMove={handleMouseMove}\n onMouseEnter={() => setIsHovered(true)}\n onMouseLeave={() => setIsHovered(false)}\n onClick={item.onClick}\n {...animationProps}\n whileHover={hoverProps}\n >\n {/* Spotlight effect */}\n {spotlight && isHovered && (\n <motion.div\n className=\"pointer-events-none absolute inset-0 z-0\"\n style={{\n background: `radial-gradient(300px circle at ${mousePosition.x}px ${mousePosition.y}px, rgba(255,255,255,0.2), transparent 70%)`,\n }}\n initial={{ opacity: 0 }}\n animate={{ opacity: 1 }}\n transition={{ duration: 0.2 }}\n />\n )}\n\n {/* Glass overlay for gradient variant */}\n {variant === \"gradient\" && (\n <div className=\"absolute inset-0 bg-black/10 dark:bg-black/20\" />\n )}\n\n {/* Content */}\n <div className=\"relative z-10 h-full flex flex-col justify-center items-center p-6 text-center\">\n {item.icon && (\n <div className=\"text-4xl text-white mb-3 drop-shadow-lg\">\n {item.icon}\n </div>\n )}\n {item.title && (\n <h3 className=\"text-lg font-bold text-white mb-1 drop-shadow-md\">\n {item.title}\n </h3>\n )}\n {item.description && (\n <p className=\"text-sm text-white/80 drop-shadow-sm\">\n {item.description}\n </p>\n )}\n {item.content}\n </div>\n </motion.div>\n );\n};\n\nexport const ChromaGrid = ({\n items,\n className,\n columns = 3,\n gap = 16,\n minHeight = 200,\n animation = \"wave\",\n staggerDelay = 100,\n hoverEffect = \"lift\",\n variant = \"gradient\",\n borderRadius = \"xl\",\n spotlight = true,\n style,\n}: ChromaGridProps) => {\n return (\n <div\n className={mergeClassNames(\"grid w-full\", className)}\n style={{\n gridTemplateColumns: `repeat(${columns}, 1fr)`,\n gap: `${gap}px`,\n ...style,\n }}\n >\n {items.map((item, index) => (\n <GridItem\n key={item.id}\n item={item}\n index={index}\n animation={animation}\n staggerDelay={staggerDelay}\n hoverEffect={hoverEffect}\n variant={variant}\n borderRadius={borderRadius}\n minHeight={minHeight}\n spotlight={spotlight}\n />\n ))}\n </div>\n );\n};\n\nChromaGrid.displayName = \"ChromaGrid\";\n\nexport default ChromaGrid;\n"],"mappings":"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"}
|