erp-pro-ui 0.1.0 → 0.1.2
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 +544 -188
- package/dist/accordion.cjs +3 -0
- package/dist/accordion.d.ts +2 -0
- package/dist/accordion.mjs +2 -0
- package/dist/alert.cjs +3 -0
- package/dist/alert.d.ts +2 -0
- package/dist/alert.mjs +2 -0
- package/dist/animated-content.cjs +3 -0
- package/dist/animated-content.d.ts +2 -0
- package/dist/animated-content.mjs +2 -0
- package/dist/animations.css +91 -0
- package/dist/ascii-text.cjs +3 -0
- package/dist/ascii-text.d.ts +2 -0
- package/dist/ascii-text.mjs +2 -0
- package/dist/background-gradient-animation.cjs +4 -0
- package/dist/background-gradient-animation.d.ts +2 -0
- package/dist/background-gradient-animation.mjs +2 -0
- package/dist/button-hover-border-gradient.cjs +3 -0
- package/dist/button-hover-border-gradient.d.ts +2 -0
- package/dist/button-hover-border-gradient.mjs +2 -0
- package/dist/button.cjs +3 -0
- package/dist/button.d.ts +2 -0
- package/dist/button.mjs +2 -0
- package/dist/calendar.cjs +3 -0
- package/dist/calendar.d.ts +2 -0
- package/dist/calendar.mjs +2 -0
- package/dist/card.cjs +3 -0
- package/dist/card.d.ts +2 -0
- package/dist/card.mjs +2 -0
- package/dist/carousel.cjs +3 -0
- package/dist/carousel.d.ts +2 -0
- package/dist/carousel.mjs +2 -0
- package/dist/catalog.cjs +308 -0
- package/dist/catalog.cjs.map +1 -0
- package/dist/catalog.d.ts +496 -0
- package/dist/catalog.d.ts.map +1 -0
- package/dist/catalog.mjs +304 -0
- package/dist/catalog.mjs.map +1 -0
- package/dist/charts.cjs +11 -0
- package/dist/charts.d.ts +2 -0
- package/dist/charts.mjs +2 -0
- package/dist/checkbox.cjs +3 -0
- package/dist/checkbox.d.ts +2 -0
- package/dist/checkbox.mjs +2 -0
- package/dist/chip.cjs +3 -0
- package/dist/chip.d.ts +2 -0
- package/dist/chip.mjs +2 -0
- package/dist/chroma-grid.cjs +3 -0
- package/dist/chroma-grid.d.ts +2 -0
- package/dist/chroma-grid.mjs +2 -0
- package/dist/chunks/HoverBorderGradient-DVFEIXFQ.mjs +69 -0
- package/dist/chunks/HoverBorderGradient-DVFEIXFQ.mjs.map +1 -0
- package/dist/chunks/HoverBorderGradient-Df3PKpw6.cjs +75 -0
- package/dist/chunks/HoverBorderGradient-Df3PKpw6.cjs.map +1 -0
- package/dist/chunks/accordion-Cbt-SJhj.mjs +66 -0
- package/dist/chunks/accordion-Cbt-SJhj.mjs.map +1 -0
- package/dist/chunks/accordion-pfJR8YYA.cjs +72 -0
- package/dist/chunks/accordion-pfJR8YYA.cjs.map +1 -0
- package/dist/chunks/alert-CtdLy4Hv.mjs +40 -0
- package/dist/chunks/alert-CtdLy4Hv.mjs.map +1 -0
- package/dist/chunks/alert-Dvz1GoL5.cjs +46 -0
- package/dist/chunks/alert-Dvz1GoL5.cjs.map +1 -0
- package/dist/chunks/animated-content-C1uNg1xO.mjs +292 -0
- package/dist/chunks/animated-content-C1uNg1xO.mjs.map +1 -0
- package/dist/chunks/animated-content-CttSmLWV.cjs +298 -0
- package/dist/chunks/animated-content-CttSmLWV.cjs.map +1 -0
- package/dist/chunks/ascii-text-C5tyNsR3.mjs +511 -0
- package/dist/chunks/ascii-text-C5tyNsR3.mjs.map +1 -0
- package/dist/chunks/ascii-text-DlmArZXh.cjs +519 -0
- package/dist/chunks/ascii-text-DlmArZXh.cjs.map +1 -0
- package/dist/chunks/background-gradient-animation-BL-lnrJe.mjs +144 -0
- package/dist/chunks/background-gradient-animation-BL-lnrJe.mjs.map +1 -0
- package/dist/chunks/background-gradient-animation-CXV9GDH8.cjs +156 -0
- package/dist/chunks/background-gradient-animation-CXV9GDH8.cjs.map +1 -0
- package/dist/chunks/button-B0Lhj0AS.mjs +42 -0
- package/dist/chunks/button-B0Lhj0AS.mjs.map +1 -0
- package/dist/chunks/button-CZL6kFzT.cjs +48 -0
- package/dist/chunks/button-CZL6kFzT.cjs.map +1 -0
- package/dist/chunks/button-hover-border-gradient-CSHXM5Cm.cjs +24 -0
- package/dist/chunks/button-hover-border-gradient-CSHXM5Cm.cjs.map +1 -0
- package/dist/chunks/button-hover-border-gradient-CvoM60wz.mjs +18 -0
- package/dist/chunks/button-hover-border-gradient-CvoM60wz.mjs.map +1 -0
- package/dist/chunks/calendar-BarcG6x_.mjs +137 -0
- package/dist/chunks/calendar-BarcG6x_.mjs.map +1 -0
- package/dist/chunks/calendar-xrGmvukr.cjs +143 -0
- package/dist/chunks/calendar-xrGmvukr.cjs.map +1 -0
- package/dist/chunks/card-CcIF6z2H.mjs +24 -0
- package/dist/chunks/card-CcIF6z2H.mjs.map +1 -0
- package/dist/chunks/card-gt-HZh0h.cjs +30 -0
- package/dist/chunks/card-gt-HZh0h.cjs.map +1 -0
- package/dist/chunks/carousel-Cq5uwqQt.cjs +313 -0
- package/dist/chunks/carousel-Cq5uwqQt.cjs.map +1 -0
- package/dist/chunks/carousel-DJdqBVRK.mjs +307 -0
- package/dist/chunks/carousel-DJdqBVRK.mjs.map +1 -0
- package/dist/chunks/charts-BpElnsoR.cjs +687 -0
- package/dist/chunks/charts-BpElnsoR.cjs.map +1 -0
- package/dist/chunks/charts-DugYWvEf.mjs +632 -0
- package/dist/chunks/charts-DugYWvEf.mjs.map +1 -0
- package/dist/chunks/checkbox-DvwlGwWe.mjs +53 -0
- package/dist/chunks/checkbox-DvwlGwWe.mjs.map +1 -0
- package/dist/chunks/checkbox-yHuSw-hV.cjs +59 -0
- package/dist/chunks/checkbox-yHuSw-hV.cjs.map +1 -0
- package/dist/chunks/chip-BGSUmnlO.mjs +139 -0
- package/dist/chunks/chip-BGSUmnlO.mjs.map +1 -0
- package/dist/chunks/chip-DcBji__g.cjs +145 -0
- package/dist/chunks/chip-DcBji__g.cjs.map +1 -0
- package/dist/chunks/chroma-grid-9E9j1s9I.cjs +221 -0
- package/dist/chunks/chroma-grid-9E9j1s9I.cjs.map +1 -0
- package/dist/chunks/chroma-grid-Cdeql_2C.mjs +215 -0
- package/dist/chunks/chroma-grid-Cdeql_2C.mjs.map +1 -0
- package/dist/chunks/chunk-B_GkZjkl.cjs +28 -0
- package/dist/chunks/color-palette-BLvDnCOD.cjs +754 -0
- package/dist/chunks/color-palette-BLvDnCOD.cjs.map +1 -0
- package/dist/chunks/color-palette-CXlCDiZz.mjs +748 -0
- package/dist/chunks/color-palette-CXlCDiZz.mjs.map +1 -0
- package/dist/chunks/combobox-BXu3s0dt.cjs +139 -0
- package/dist/chunks/combobox-BXu3s0dt.cjs.map +1 -0
- package/dist/chunks/combobox-CjK-qG4k.mjs +132 -0
- package/dist/chunks/combobox-CjK-qG4k.mjs.map +1 -0
- package/dist/chunks/data-table-9HELVsYR.cjs +1154 -0
- package/dist/chunks/data-table-9HELVsYR.cjs.map +1 -0
- package/dist/chunks/data-table-DyEQn9Yj.mjs +1123 -0
- package/dist/chunks/data-table-DyEQn9Yj.mjs.map +1 -0
- package/dist/chunks/date-picker-D8gaaMlJ.mjs +135 -0
- package/dist/chunks/date-picker-D8gaaMlJ.mjs.map +1 -0
- package/dist/chunks/date-picker-W9om1j7A.cjs +141 -0
- package/dist/chunks/date-picker-W9om1j7A.cjs.map +1 -0
- package/dist/chunks/dialog-CYFiWN8M.cjs +396 -0
- package/dist/chunks/dialog-CYFiWN8M.cjs.map +1 -0
- package/dist/chunks/dialog-DUWnV9tN.mjs +390 -0
- package/dist/chunks/dialog-DUWnV9tN.mjs.map +1 -0
- package/dist/chunks/drawer-CLjsYdxN.cjs +128 -0
- 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-B2vcaHwh.mjs +161 -0
- package/dist/chunks/form-B2vcaHwh.mjs.map +1 -0
- package/dist/chunks/form-CzH9GQc6.cjs +203 -0
- package/dist/chunks/form-CzH9GQc6.cjs.map +1 -0
- package/dist/chunks/gradual-blur-B9GoY8o1.cjs +65 -0
- package/dist/chunks/gradual-blur-B9GoY8o1.cjs.map +1 -0
- package/dist/chunks/gradual-blur-Bl3dOMEz.mjs +59 -0
- package/dist/chunks/gradual-blur-Bl3dOMEz.mjs.map +1 -0
- package/dist/chunks/hover-card-v0QwmVBU.cjs +191 -0
- package/dist/chunks/hover-card-v0QwmVBU.cjs.map +1 -0
- package/dist/chunks/hover-card-xqwpmZNm.mjs +185 -0
- package/dist/chunks/hover-card-xqwpmZNm.mjs.map +1 -0
- package/dist/chunks/icons-BxIzP2jd.cjs +1717 -0
- package/dist/chunks/icons-BxIzP2jd.cjs.map +1 -0
- package/dist/chunks/icons-DuumN7z-.mjs +1429 -0
- package/dist/chunks/icons-DuumN7z-.mjs.map +1 -0
- package/dist/chunks/input-D9qZNqXV.cjs +99 -0
- package/dist/chunks/input-D9qZNqXV.cjs.map +1 -0
- package/dist/chunks/input-wNqevfQ4.mjs +87 -0
- package/dist/chunks/input-wNqevfQ4.mjs.map +1 -0
- package/dist/chunks/label-BWPEGVam.cjs +32 -0
- package/dist/chunks/label-BWPEGVam.cjs.map +1 -0
- package/dist/chunks/label-KPA-yYOF.mjs +26 -0
- package/dist/chunks/label-KPA-yYOF.mjs.map +1 -0
- package/dist/chunks/loading-S1TdIrbB.mjs +259 -0
- package/dist/chunks/loading-S1TdIrbB.mjs.map +1 -0
- package/dist/chunks/loading-q7IEg56I.cjs +313 -0
- package/dist/chunks/loading-q7IEg56I.cjs.map +1 -0
- package/dist/chunks/multi-select-combobox-ELSH_Xr4.mjs +132 -0
- package/dist/chunks/multi-select-combobox-ELSH_Xr4.mjs.map +1 -0
- package/dist/chunks/multi-select-combobox-UW0X15W7.cjs +139 -0
- package/dist/chunks/multi-select-combobox-UW0X15W7.cjs.map +1 -0
- package/dist/chunks/otp-input-B6zzOEqw.cjs +186 -0
- package/dist/chunks/otp-input-B6zzOEqw.cjs.map +1 -0
- package/dist/chunks/otp-input-Bg4nQG6x.mjs +180 -0
- package/dist/chunks/otp-input-Bg4nQG6x.mjs.map +1 -0
- package/dist/chunks/overlay-DWNTyQzK.cjs +60 -0
- package/dist/chunks/overlay-DWNTyQzK.cjs.map +1 -0
- package/dist/chunks/overlay-TycCIFOu.mjs +54 -0
- package/dist/chunks/overlay-TycCIFOu.mjs.map +1 -0
- package/dist/chunks/password-strength-meter-CbNSBuh_.mjs +99 -0
- package/dist/chunks/password-strength-meter-CbNSBuh_.mjs.map +1 -0
- package/dist/chunks/password-strength-meter-DxMV6GAs.cjs +105 -0
- package/dist/chunks/password-strength-meter-DxMV6GAs.cjs.map +1 -0
- package/dist/chunks/progress-bar-C1OvQ-NI.cjs +96 -0
- package/dist/chunks/progress-bar-C1OvQ-NI.cjs.map +1 -0
- package/dist/chunks/progress-bar-C9FZDrju.mjs +89 -0
- package/dist/chunks/progress-bar-C9FZDrju.mjs.map +1 -0
- package/dist/chunks/radio-C9w_CoiY.mjs +44 -0
- package/dist/chunks/radio-C9w_CoiY.mjs.map +1 -0
- package/dist/chunks/radio-jMHDvaMY.cjs +50 -0
- package/dist/chunks/radio-jMHDvaMY.cjs.map +1 -0
- package/dist/chunks/select-D71tk6-I.mjs +152 -0
- package/dist/chunks/select-D71tk6-I.mjs.map +1 -0
- package/dist/chunks/select-WC_kPqUP.cjs +158 -0
- package/dist/chunks/select-WC_kPqUP.cjs.map +1 -0
- package/dist/chunks/skeleton-BhYWOp0Q.mjs +215 -0
- package/dist/chunks/skeleton-BhYWOp0Q.mjs.map +1 -0
- package/dist/chunks/skeleton-DTXpHYYB.cjs +221 -0
- package/dist/chunks/skeleton-DTXpHYYB.cjs.map +1 -0
- package/dist/chunks/spinners-BBCWD2gw.mjs +11 -0
- package/dist/chunks/spinners-BBCWD2gw.mjs.map +1 -0
- package/dist/chunks/spinners-BL4ERCCw.cjs +17 -0
- package/dist/chunks/spinners-BL4ERCCw.cjs.map +1 -0
- package/dist/chunks/splash-cursor-BVSmbcIX.cjs +279 -0
- package/dist/chunks/splash-cursor-BVSmbcIX.cjs.map +1 -0
- package/dist/chunks/splash-cursor-rSrTnawZ.mjs +273 -0
- package/dist/chunks/splash-cursor-rSrTnawZ.mjs.map +1 -0
- package/dist/chunks/spotlight-card-BpZLMOp6.mjs +104 -0
- package/dist/chunks/spotlight-card-BpZLMOp6.mjs.map +1 -0
- package/dist/chunks/spotlight-card-DS1dy1W3.cjs +110 -0
- package/dist/chunks/spotlight-card-DS1dy1W3.cjs.map +1 -0
- package/dist/chunks/stepper-D4yQsQB0.mjs +261 -0
- package/dist/chunks/stepper-D4yQsQB0.mjs.map +1 -0
- package/dist/chunks/stepper-fY-Sx72k.cjs +267 -0
- package/dist/chunks/stepper-fY-Sx72k.cjs.map +1 -0
- package/dist/chunks/sun-to-moon-button-B2Aje05o.mjs +186 -0
- package/dist/chunks/sun-to-moon-button-B2Aje05o.mjs.map +1 -0
- package/dist/chunks/sun-to-moon-button-BmFwRBye.cjs +192 -0
- package/dist/chunks/sun-to-moon-button-BmFwRBye.cjs.map +1 -0
- package/dist/chunks/switch-C5otDb4c.cjs +64 -0
- package/dist/chunks/switch-C5otDb4c.cjs.map +1 -0
- package/dist/chunks/switch-DOVl_i_s.mjs +58 -0
- package/dist/chunks/switch-DOVl_i_s.mjs.map +1 -0
- package/dist/chunks/textarea-CAUsyu4-.cjs +63 -0
- package/dist/chunks/textarea-CAUsyu4-.cjs.map +1 -0
- package/dist/chunks/textarea-CU5C-Zw9.mjs +57 -0
- package/dist/chunks/textarea-CU5C-Zw9.mjs.map +1 -0
- package/dist/chunks/theme-7DWLxJK_.cjs +68 -0
- package/dist/chunks/theme-7DWLxJK_.cjs.map +1 -0
- package/dist/chunks/theme-BceKeYhw.mjs +56 -0
- package/dist/chunks/theme-BceKeYhw.mjs.map +1 -0
- package/dist/chunks/toast-CvfP7PUP.mjs +339 -0
- package/dist/chunks/toast-CvfP7PUP.mjs.map +1 -0
- package/dist/chunks/toast-Ds7_19Ap.cjs +369 -0
- package/dist/chunks/toast-Ds7_19Ap.cjs.map +1 -0
- package/dist/chunks/tooltip-efHETBo1.mjs +199 -0
- package/dist/chunks/tooltip-efHETBo1.mjs.map +1 -0
- package/dist/chunks/tooltip-nkIqViGk.cjs +205 -0
- package/dist/chunks/tooltip-nkIqViGk.cjs.map +1 -0
- package/dist/chunks/typography-CLu6Hx9j.mjs +83 -0
- package/dist/chunks/typography-CLu6Hx9j.mjs.map +1 -0
- package/dist/chunks/typography-DaLu9tty.cjs +90 -0
- package/dist/chunks/typography-DaLu9tty.cjs.map +1 -0
- package/dist/chunks/utils-B4SmmY4J.cjs +2019 -0
- package/dist/chunks/utils-B4SmmY4J.cjs.map +1 -0
- package/dist/chunks/utils-ati1KkDb.mjs +2002 -0
- package/dist/chunks/utils-ati1KkDb.mjs.map +1 -0
- package/dist/color-palette.cjs +3 -0
- package/dist/color-palette.d.ts +2 -0
- package/dist/color-palette.mjs +2 -0
- package/dist/colors.css +153 -0
- package/dist/combobox.cjs +3 -0
- package/dist/combobox.d.ts +2 -0
- package/dist/combobox.mjs +2 -0
- package/dist/components/data-display/card/Card.d.ts.map +1 -0
- package/dist/components/data-display/card/index.d.ts.map +1 -0
- package/dist/components/data-display/card/types.d.ts +5 -0
- package/dist/components/data-display/card/types.d.ts.map +1 -0
- package/dist/components/data-display/charts/AreaChart.d.ts.map +1 -0
- package/dist/components/data-display/charts/BarChart.d.ts.map +1 -0
- package/dist/components/data-display/charts/NeonLineChart.d.ts.map +1 -0
- package/dist/components/data-display/charts/PieChart.d.ts.map +1 -0
- package/dist/components/data-display/charts/StackedBarChart.d.ts.map +1 -0
- package/dist/components/data-display/charts/ThinBreakdownBar.d.ts.map +1 -0
- 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/index.d.ts +14 -0
- package/dist/components/data-display/charts/index.d.ts.map +1 -0
- package/dist/components/data-display/chip/Chip.d.ts.map +1 -0
- package/dist/components/data-display/chip/index.d.ts.map +1 -0
- package/dist/components/data-display/color-palette/ColorPalette.d.ts.map +1 -0
- package/dist/components/data-display/color-palette/index.d.ts.map +1 -0
- package/dist/components/data-display/color-palette/types.d.ts +14 -0
- package/dist/components/data-display/color-palette/types.d.ts.map +1 -0
- package/dist/components/{basics → data-display}/data-table/DataTable.d.ts +27 -11
- package/dist/components/data-display/data-table/DataTable.d.ts.map +1 -0
- package/dist/components/data-display/data-table/index.d.ts +4 -0
- package/dist/components/data-display/data-table/index.d.ts.map +1 -0
- package/dist/components/data-display/index.d.ts +10 -0
- package/dist/components/data-display/index.d.ts.map +1 -0
- package/dist/components/{basics → data-display}/loading/Loading.d.ts +7 -7
- package/dist/components/data-display/loading/Loading.d.ts.map +1 -0
- package/dist/components/data-display/loading/index.d.ts.map +1 -0
- package/dist/components/data-display/loading/types.d.ts +25 -0
- package/dist/components/data-display/loading/types.d.ts.map +1 -0
- 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/data-display/skeleton/Skeleton.d.ts.map +1 -0
- package/dist/components/data-display/skeleton/index.d.ts.map +1 -0
- package/dist/components/effects/animated-content/AnimatedContent.d.ts.map +1 -0
- package/dist/components/effects/animated-content/index.d.ts.map +1 -0
- package/dist/components/effects/animated-content/types.d.ts +45 -0
- package/dist/components/effects/animated-content/types.d.ts.map +1 -0
- package/dist/components/effects/ascii-text/ASCIIText.d.ts.map +1 -0
- package/dist/components/effects/ascii-text/index.d.ts.map +1 -0
- package/dist/components/effects/background-gradient-animation/BackgroundGradientAnimation.d.ts.map +1 -0
- package/dist/components/effects/background-gradient-animation/BackgroundGradientAnimationDemo.d.ts.map +1 -0
- package/dist/components/effects/background-gradient-animation/index.d.ts.map +1 -0
- package/dist/components/effects/border-beam/BorderBeam.d.ts +12 -0
- package/dist/components/effects/border-beam/BorderBeam.d.ts.map +1 -0
- package/dist/components/effects/border-beam/index.d.ts +3 -0
- package/dist/components/effects/border-beam/index.d.ts.map +1 -0
- package/dist/components/effects/button-hover-border-gradient/ButtonHoverBorderGradient.d.ts.map +1 -0
- package/dist/components/effects/button-hover-border-gradient/index.d.ts.map +1 -0
- package/dist/components/effects/chroma-grid/ChromaGrid.d.ts.map +1 -0
- package/dist/components/effects/chroma-grid/index.d.ts +3 -0
- package/dist/components/effects/chroma-grid/index.d.ts.map +1 -0
- package/dist/components/effects/chroma-grid/types.d.ts +50 -0
- package/dist/components/effects/chroma-grid/types.d.ts.map +1 -0
- package/dist/components/{basics → effects}/gradual-blur/GradualBlur.d.ts +1 -1
- package/dist/components/effects/gradual-blur/GradualBlur.d.ts.map +1 -0
- package/dist/components/effects/gradual-blur/index.d.ts +3 -0
- package/dist/components/effects/gradual-blur/index.d.ts.map +1 -0
- package/dist/components/effects/gradual-blur/types.d.ts +28 -0
- package/dist/components/effects/gradual-blur/types.d.ts.map +1 -0
- package/dist/components/effects/hover-border-gradient/HoverBorderGradient.d.ts.map +1 -0
- package/dist/components/effects/hover-border-gradient/index.d.ts.map +1 -0
- package/dist/components/effects/index.d.ts +12 -0
- package/dist/components/effects/index.d.ts.map +1 -0
- package/dist/components/effects/splash-cursor/SplashCursor.d.ts.map +1 -0
- package/dist/components/effects/splash-cursor/index.d.ts.map +1 -0
- package/dist/components/effects/splash-cursor/types.d.ts +40 -0
- package/dist/components/effects/splash-cursor/types.d.ts.map +1 -0
- package/dist/components/effects/spotlight-card/SpotlightCard.d.ts.map +1 -0
- package/dist/components/effects/spotlight-card/index.d.ts +3 -0
- package/dist/components/effects/spotlight-card/index.d.ts.map +1 -0
- package/dist/components/effects/spotlight-card/types.d.ts +26 -0
- package/dist/components/effects/spotlight-card/types.d.ts.map +1 -0
- package/dist/components/effects/sun-to-moon-button/SunToMoonButton.d.ts +5 -0
- package/dist/components/effects/sun-to-moon-button/SunToMoonButton.d.ts.map +1 -0
- package/dist/components/effects/sun-to-moon-button/index.d.ts.map +1 -0
- package/dist/components/feedback/alert/Alert.d.ts.map +1 -0
- package/dist/components/feedback/alert/index.d.ts.map +1 -0
- package/dist/components/feedback/alert/types.d.ts +11 -0
- package/dist/components/feedback/alert/types.d.ts.map +1 -0
- package/dist/components/feedback/index.d.ts +2 -0
- package/dist/components/feedback/index.d.ts.map +1 -0
- package/dist/components/{basics/Button → forms/button}/Button.d.ts +1 -1
- package/dist/components/forms/button/Button.d.ts.map +1 -0
- package/dist/components/forms/button/index.d.ts.map +1 -0
- package/dist/components/forms/button/types.d.ts +14 -0
- package/dist/components/forms/button/types.d.ts.map +1 -0
- package/dist/components/forms/calendar/Calendar.d.ts.map +1 -0
- package/dist/components/forms/calendar/index.d.ts.map +1 -0
- package/dist/components/forms/calendar/types.d.ts +20 -0
- package/dist/components/forms/calendar/types.d.ts.map +1 -0
- package/dist/components/forms/checkbox/Checkbox.d.ts.map +1 -0
- package/dist/components/forms/checkbox/index.d.ts.map +1 -0
- package/dist/components/forms/checkbox/types.d.ts +8 -0
- package/dist/components/forms/checkbox/types.d.ts.map +1 -0
- package/dist/components/{basics → forms}/combobox/Combobox.d.ts +1 -1
- package/dist/components/forms/combobox/Combobox.d.ts.map +1 -0
- package/dist/components/forms/combobox/index.d.ts.map +1 -0
- package/dist/components/forms/date-picker/DatePicker.d.ts.map +1 -0
- package/dist/components/forms/date-picker/index.d.ts +3 -0
- package/dist/components/forms/date-picker/index.d.ts.map +1 -0
- package/dist/components/forms/date-picker/types.d.ts +21 -0
- package/dist/components/forms/date-picker/types.d.ts.map +1 -0
- package/dist/components/forms/form/Form.d.ts.map +1 -0
- package/dist/components/forms/form/index.d.ts.map +1 -0
- package/dist/components/forms/form/types.d.ts +47 -0
- package/dist/components/forms/form/types.d.ts.map +1 -0
- package/dist/components/forms/index.d.ts +15 -0
- package/dist/components/forms/index.d.ts.map +1 -0
- package/dist/components/forms/input/Input.d.ts.map +1 -0
- package/dist/components/{basics → forms}/input/index.d.ts +1 -0
- package/dist/components/forms/input/index.d.ts.map +1 -0
- package/dist/components/forms/input/types.d.ts.map +1 -0
- package/dist/components/forms/label/Label.d.ts.map +1 -0
- package/dist/components/forms/label/index.d.ts.map +1 -0
- package/dist/components/forms/label/types.d.ts +5 -0
- package/dist/components/forms/label/types.d.ts.map +1 -0
- package/dist/components/{basics → forms}/multi-select-combobox/MultiSelectCombobox.d.ts +1 -1
- package/dist/components/forms/multi-select-combobox/MultiSelectCombobox.d.ts.map +1 -0
- package/dist/components/forms/multi-select-combobox/index.d.ts +3 -0
- package/dist/components/forms/multi-select-combobox/index.d.ts.map +1 -0
- package/dist/components/forms/otp-input/OTPInput.d.ts.map +1 -0
- package/dist/components/forms/otp-input/index.d.ts +3 -0
- package/dist/components/{basics/skeleton → forms/otp-input}/index.d.ts.map +1 -1
- package/dist/components/forms/otp-input/types.d.ts +2 -0
- package/dist/components/forms/otp-input/types.d.ts.map +1 -0
- package/dist/components/forms/password-strength-meter/PasswordCriteria.d.ts.map +1 -0
- package/dist/components/forms/password-strength-meter/PasswordStrengthMeter.d.ts +5 -0
- package/dist/components/forms/password-strength-meter/PasswordStrengthMeter.d.ts.map +1 -0
- package/dist/components/forms/password-strength-meter/index.d.ts +3 -0
- package/dist/components/forms/password-strength-meter/index.d.ts.map +1 -0
- package/dist/components/forms/radio/Radio.d.ts.map +1 -0
- package/dist/components/forms/radio/index.d.ts.map +1 -0
- package/dist/components/forms/radio/types.d.ts +11 -0
- package/dist/components/forms/radio/types.d.ts.map +1 -0
- package/dist/components/forms/select/Select.d.ts.map +1 -0
- package/dist/components/forms/select/index.d.ts.map +1 -0
- package/dist/components/forms/select/types.d.ts +15 -0
- package/dist/components/forms/select/types.d.ts.map +1 -0
- package/dist/components/forms/switch/Switch.d.ts.map +1 -0
- package/dist/components/forms/switch/index.d.ts.map +1 -0
- package/dist/components/forms/switch/types.d.ts +6 -0
- package/dist/components/forms/switch/types.d.ts.map +1 -0
- package/dist/components/forms/textarea/Textarea.d.ts.map +1 -0
- package/dist/components/forms/textarea/index.d.ts.map +1 -0
- package/dist/components/forms/textarea/types.d.ts +7 -0
- package/dist/components/forms/textarea/types.d.ts.map +1 -0
- package/dist/components/icons/AlertCircleIcon.d.ts +9 -0
- package/dist/components/icons/AlertCircleIcon.d.ts.map +1 -0
- package/dist/components/icons/AlertTriangleIcon.d.ts +9 -0
- package/dist/components/icons/AlertTriangleIcon.d.ts.map +1 -0
- package/dist/components/icons/AudioWaveIcon.d.ts +9 -0
- package/dist/components/icons/AudioWaveIcon.d.ts.map +1 -0
- package/dist/components/icons/CheckCircleIcon.d.ts +9 -0
- package/dist/components/icons/CheckCircleIcon.d.ts.map +1 -0
- package/dist/components/icons/ColumnsIcon.d.ts +9 -0
- package/dist/components/icons/ColumnsIcon.d.ts.map +1 -0
- package/dist/components/icons/FilterIcon.d.ts +9 -0
- package/dist/components/icons/FilterIcon.d.ts.map +1 -0
- package/dist/components/icons/FilterProfileIcon.d.ts +9 -0
- package/dist/components/icons/FilterProfileIcon.d.ts.map +1 -0
- package/dist/components/icons/FilterXIcon.d.ts +9 -0
- package/dist/components/icons/FilterXIcon.d.ts.map +1 -0
- package/dist/components/icons/InfoCircleIcon.d.ts +9 -0
- package/dist/components/icons/InfoCircleIcon.d.ts.map +1 -0
- package/dist/components/icons/LoaderIcon.d.ts +10 -0
- package/dist/components/icons/LoaderIcon.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/QuestionCircleIcon.d.ts +9 -0
- package/dist/components/icons/QuestionCircleIcon.d.ts.map +1 -0
- package/dist/components/icons/RefreshIcon.d.ts +9 -0
- package/dist/components/icons/RefreshIcon.d.ts.map +1 -0
- package/dist/components/icons/RingLoaderIcon.d.ts +11 -0
- package/dist/components/icons/RingLoaderIcon.d.ts.map +1 -0
- package/dist/components/icons/SelectionIcon.d.ts +9 -0
- package/dist/components/icons/SelectionIcon.d.ts.map +1 -0
- package/dist/components/icons/XCircleIcon.d.ts +9 -0
- package/dist/components/icons/XCircleIcon.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 +18 -0
- package/dist/components/icons/index.d.ts.map +1 -1
- package/dist/components/{basics → navigation}/accordion/Accordion.d.ts +1 -1
- package/dist/components/navigation/accordion/Accordion.d.ts.map +1 -0
- package/dist/components/{basics → navigation}/accordion/index.d.ts +1 -1
- package/dist/components/navigation/accordion/index.d.ts.map +1 -0
- package/dist/components/navigation/accordion/types.d.ts +18 -0
- package/dist/components/navigation/accordion/types.d.ts.map +1 -0
- package/dist/components/navigation/carousel/Carousel.d.ts.map +1 -0
- package/dist/components/navigation/carousel/index.d.ts.map +1 -0
- package/dist/components/navigation/carousel/types.d.ts +64 -0
- package/dist/components/navigation/carousel/types.d.ts.map +1 -0
- package/dist/components/navigation/index.d.ts +4 -0
- package/dist/components/navigation/index.d.ts.map +1 -0
- package/dist/components/navigation/stepper/Stepper.d.ts.map +1 -0
- package/dist/components/navigation/stepper/index.d.ts.map +1 -0
- package/dist/components/navigation/stepper/types.d.ts +83 -0
- package/dist/components/navigation/stepper/types.d.ts.map +1 -0
- package/dist/components/overlays/dialog/Dialog.d.ts.map +1 -0
- package/dist/components/overlays/dialog/index.d.ts +3 -0
- package/dist/components/overlays/dialog/index.d.ts.map +1 -0
- package/dist/components/{basics → overlays}/dialog/types.d.ts +18 -18
- package/dist/components/overlays/dialog/types.d.ts.map +1 -0
- package/dist/components/overlays/drawer/Drawer.d.ts.map +1 -0
- package/dist/components/overlays/drawer/index.d.ts +3 -0
- package/dist/components/overlays/drawer/index.d.ts.map +1 -0
- package/dist/components/overlays/drawer/types.d.ts +12 -0
- package/dist/components/overlays/drawer/types.d.ts.map +1 -0
- package/dist/components/overlays/hover-card/HoverCard.d.ts.map +1 -0
- package/dist/components/overlays/hover-card/index.d.ts +3 -0
- package/dist/components/overlays/hover-card/index.d.ts.map +1 -0
- package/dist/components/overlays/hover-card/types.d.ts +2 -0
- package/dist/components/overlays/hover-card/types.d.ts.map +1 -0
- package/dist/components/overlays/index.d.ts +6 -0
- package/dist/components/overlays/index.d.ts.map +1 -0
- package/dist/components/overlays/toast/Toast.d.ts.map +1 -0
- package/dist/components/overlays/toast/index.d.ts.map +1 -0
- package/dist/components/overlays/toast/types.d.ts +2 -0
- package/dist/components/overlays/toast/types.d.ts.map +1 -0
- package/dist/components/overlays/tooltip/Tooltip.d.ts.map +1 -0
- package/dist/components/overlays/tooltip/index.d.ts.map +1 -0
- package/dist/components/overlays/tooltip/types.d.ts +27 -0
- package/dist/components/overlays/tooltip/types.d.ts.map +1 -0
- package/dist/components/spinners/Audio.d.ts.map +1 -1
- package/dist/components/spinners/index.d.ts +2 -0
- package/dist/components/spinners/index.d.ts.map +1 -0
- package/dist/components/text-animations/{BlurText → blur-text}/BlurText.d.ts +2 -2
- package/dist/components/text-animations/blur-text/BlurText.d.ts.map +1 -0
- package/dist/components/text-animations/blur-text/index.d.ts.map +1 -0
- package/dist/components/{basics/typography → typography}/Typography.d.ts +5 -5
- package/dist/components/typography/Typography.d.ts.map +1 -0
- package/dist/components/typography/index.d.ts +3 -0
- package/dist/components/typography/index.d.ts.map +1 -0
- package/dist/contexts/ThemeContext.d.ts +2 -15
- package/dist/contexts/ThemeContext.d.ts.map +1 -1
- package/dist/data-table.cjs +7 -0
- package/dist/data-table.d.ts +2 -0
- package/dist/data-table.mjs +2 -0
- package/dist/date-picker.cjs +3 -0
- package/dist/date-picker.d.ts +2 -0
- package/dist/date-picker.mjs +2 -0
- package/dist/dialog.cjs +3 -0
- package/dist/dialog.d.ts +2 -0
- package/dist/dialog.mjs +2 -0
- package/dist/docs.cjs +699 -0
- package/dist/docs.cjs.map +1 -0
- package/dist/docs.d.ts +257 -0
- package/dist/docs.d.ts.map +1 -0
- package/dist/docs.mjs +691 -0
- package/dist/docs.mjs.map +1 -0
- package/dist/drawer.cjs +3 -0
- package/dist/drawer.d.ts +2 -0
- package/dist/drawer.mjs +2 -0
- package/dist/fonts/geist/Geist-Black.woff2 +0 -0
- package/dist/fonts/geist/Geist-Bold.woff2 +0 -0
- package/dist/fonts/geist/Geist-ExtraBold.woff2 +0 -0
- package/dist/fonts/geist/Geist-ExtraLight.woff2 +0 -0
- package/dist/fonts/geist/Geist-Light.woff2 +0 -0
- package/dist/fonts/geist/Geist-Medium.woff2 +0 -0
- package/dist/fonts/geist/Geist-Regular.woff2 +0 -0
- package/dist/fonts/geist/Geist-SemiBold.woff2 +0 -0
- package/dist/fonts/geist/Geist-Thin.woff2 +0 -0
- package/dist/fonts/geist/Geist[wght].woff2 +0 -0
- package/dist/fonts.css +84 -0
- package/dist/form.cjs +9 -0
- package/dist/form.d.ts +2 -0
- package/dist/form.mjs +2 -0
- package/dist/foundation.css +30 -0
- package/dist/foundations/index.d.ts +2 -0
- package/dist/foundations/index.d.ts.map +1 -0
- package/dist/foundations/theme/ThemeProvider.d.ts +17 -0
- package/dist/foundations/theme/ThemeProvider.d.ts.map +1 -0
- package/dist/foundations/theme/index.d.ts +3 -0
- package/dist/foundations/theme/index.d.ts.map +1 -0
- package/dist/gradual-blur.cjs +3 -0
- package/dist/gradual-blur.d.ts +2 -0
- package/dist/gradual-blur.mjs +2 -0
- package/dist/hover-border-gradient.cjs +3 -0
- package/dist/hover-border-gradient.d.ts +2 -0
- package/dist/hover-border-gradient.mjs +2 -0
- package/dist/hover-card.cjs +3 -0
- package/dist/hover-card.d.ts +2 -0
- package/dist/hover-card.mjs +2 -0
- package/dist/icons.cjs +50 -0
- package/dist/icons.d.ts +2 -0
- package/dist/icons.mjs +2 -0
- package/dist/index.cjs +188 -12516
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.ts +74 -76
- package/dist/index.d.ts.map +1 -1
- package/dist/index.mjs +67 -12500
- package/dist/index.mjs.map +1 -1
- package/dist/input.cjs +4 -0
- package/dist/input.d.ts +2 -0
- package/dist/input.mjs +2 -0
- package/dist/label.cjs +3 -0
- package/dist/label.d.ts +2 -0
- package/dist/label.mjs +2 -0
- package/dist/loading.cjs +11 -0
- package/dist/loading.d.ts +2 -0
- package/dist/loading.mjs +2 -0
- package/dist/multi-select-combobox.cjs +3 -0
- package/dist/multi-select-combobox.d.ts +2 -0
- package/dist/multi-select-combobox.mjs +2 -0
- package/dist/otp-input.cjs +3 -0
- package/dist/otp-input.d.ts +2 -0
- package/dist/otp-input.mjs +2 -0
- package/dist/password-strength-meter.cjs +3 -0
- package/dist/password-strength-meter.d.ts +2 -0
- package/dist/password-strength-meter.mjs +2 -0
- 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 +3 -0
- package/dist/radio.d.ts +2 -0
- package/dist/radio.mjs +2 -0
- package/dist/select.cjs +3 -0
- package/dist/select.d.ts +2 -0
- package/dist/select.mjs +2 -0
- package/dist/skeleton.cjs +3 -0
- package/dist/skeleton.d.ts +2 -0
- package/dist/skeleton.mjs +2 -0
- package/dist/spinners.cjs +3 -0
- package/dist/spinners.d.ts +2 -0
- package/dist/spinners.mjs +2 -0
- package/dist/splash-cursor.cjs +3 -0
- package/dist/splash-cursor.d.ts +2 -0
- package/dist/splash-cursor.mjs +2 -0
- package/dist/spotlight-card.cjs +3 -0
- package/dist/spotlight-card.d.ts +2 -0
- package/dist/spotlight-card.mjs +2 -0
- package/dist/stepper.cjs +3 -0
- package/dist/stepper.d.ts +2 -0
- package/dist/stepper.mjs +2 -0
- package/dist/styles.css +6 -0
- package/dist/sun-to-moon-button.cjs +3 -0
- package/dist/sun-to-moon-button.d.ts +2 -0
- package/dist/sun-to-moon-button.mjs +2 -0
- package/dist/switch.cjs +3 -0
- package/dist/switch.d.ts +2 -0
- package/dist/switch.mjs +2 -0
- package/dist/textarea.cjs +3 -0
- package/dist/textarea.d.ts +2 -0
- package/dist/textarea.mjs +2 -0
- package/dist/theme.cjs +4 -0
- package/dist/theme.d.ts +2 -0
- package/dist/theme.mjs +2 -0
- package/dist/toast.cjs +11 -0
- package/dist/toast.d.ts +6 -0
- package/dist/toast.mjs +2 -0
- package/dist/tokens.css +592 -0
- package/dist/tooltip.cjs +3 -0
- package/dist/tooltip.d.ts +2 -0
- package/dist/tooltip.mjs +2 -0
- package/dist/typography.cjs +3 -0
- package/dist/typography.d.ts +2 -0
- package/dist/typography.mjs +2 -0
- package/dist/utils/generateUniqueKey.d.ts.map +1 -1
- package/dist/utils.cjs +5 -0
- package/dist/utils.d.ts +2 -0
- package/dist/utils.mjs +2 -0
- package/package.json +252 -106
- package/dist/components/Button.d.ts +0 -8
- package/dist/components/Button.d.ts.map +0 -1
- package/dist/components/basics/Button/Button.d.ts.map +0 -1
- package/dist/components/basics/Button/index.d.ts.map +0 -1
- package/dist/components/basics/accordion/Accordion.d.ts.map +0 -1
- package/dist/components/basics/accordion/index.d.ts.map +0 -1
- package/dist/components/basics/alert/Alert.d.ts.map +0 -1
- package/dist/components/basics/alert/index.d.ts.map +0 -1
- package/dist/components/basics/animated-content/AnimatedContent.d.ts.map +0 -1
- package/dist/components/basics/animated-content/index.d.ts.map +0 -1
- package/dist/components/basics/background-gradient-animation/BackgroundGradientAnimation.d.ts.map +0 -1
- package/dist/components/basics/background-gradient-animation/BackgroundGradientAnimationDemo.d.ts.map +0 -1
- package/dist/components/basics/background-gradient-animation/index.d.ts.map +0 -1
- package/dist/components/basics/button-hover-border-gradient/ButtonHoverBorderGradient.d.ts.map +0 -1
- package/dist/components/basics/button-hover-border-gradient/index.d.ts.map +0 -1
- package/dist/components/basics/calendar/Calendar.d.ts.map +0 -1
- package/dist/components/basics/calendar/index.d.ts.map +0 -1
- package/dist/components/basics/card/Card.d.ts.map +0 -1
- package/dist/components/basics/card/index.d.ts.map +0 -1
- package/dist/components/basics/carousel/Carousel.d.ts.map +0 -1
- package/dist/components/basics/carousel/index.d.ts.map +0 -1
- package/dist/components/basics/charts/AreaChart.d.ts.map +0 -1
- package/dist/components/basics/charts/BarChart.d.ts.map +0 -1
- package/dist/components/basics/charts/NeonLineChart.d.ts.map +0 -1
- package/dist/components/basics/charts/PieChart.d.ts.map +0 -1
- package/dist/components/basics/charts/StackedBarChart.d.ts.map +0 -1
- package/dist/components/basics/charts/ThinBreakdownBar.d.ts.map +0 -1
- package/dist/components/basics/checkbox/Checkbox.d.ts.map +0 -1
- package/dist/components/basics/checkbox/index.d.ts.map +0 -1
- package/dist/components/basics/chip/Chip.d.ts.map +0 -1
- package/dist/components/basics/chip/index.d.ts.map +0 -1
- package/dist/components/basics/chroma-grid/ChromaGrid.d.ts.map +0 -1
- package/dist/components/basics/chroma-grid/index.d.ts +0 -3
- package/dist/components/basics/chroma-grid/index.d.ts.map +0 -1
- package/dist/components/basics/colo-palette/ColorPalette.d.ts.map +0 -1
- package/dist/components/basics/colo-palette/index.d.ts.map +0 -1
- package/dist/components/basics/combobox/Combobox.d.ts.map +0 -1
- package/dist/components/basics/combobox/index.d.ts.map +0 -1
- package/dist/components/basics/data-table/DataTable.d.ts.map +0 -1
- package/dist/components/basics/data-table/index.d.ts +0 -4
- package/dist/components/basics/data-table/index.d.ts.map +0 -1
- package/dist/components/basics/date-picker/DatePicker.d.ts.map +0 -1
- package/dist/components/basics/date-picker/index.d.ts +0 -3
- package/dist/components/basics/date-picker/index.d.ts.map +0 -1
- package/dist/components/basics/dialog/Dialog.d.ts.map +0 -1
- package/dist/components/basics/dialog/types.d.ts.map +0 -1
- package/dist/components/basics/drawer/Drawer.d.ts.map +0 -1
- package/dist/components/basics/drawer/index.d.ts +0 -3
- package/dist/components/basics/drawer/index.d.ts.map +0 -1
- package/dist/components/basics/form/Form.d.ts.map +0 -1
- package/dist/components/basics/form/index.d.ts.map +0 -1
- package/dist/components/basics/gradual-blur/GradualBlur.d.ts.map +0 -1
- package/dist/components/basics/gradual-blur/index.d.ts +0 -3
- package/dist/components/basics/gradual-blur/index.d.ts.map +0 -1
- package/dist/components/basics/hover-border-gradient/HoverBorderGradient.d.ts.map +0 -1
- package/dist/components/basics/hover-border-gradient/index.d.ts.map +0 -1
- package/dist/components/basics/hover-card/HoverCard.d.ts.map +0 -1
- package/dist/components/basics/hover-card/index.d.ts +0 -3
- package/dist/components/basics/hover-card/index.d.ts.map +0 -1
- package/dist/components/basics/input/Input.d.ts.map +0 -1
- package/dist/components/basics/input/index.d.ts.map +0 -1
- package/dist/components/basics/input/types.d.ts.map +0 -1
- package/dist/components/basics/label/Label.d.ts.map +0 -1
- package/dist/components/basics/label/index.d.ts.map +0 -1
- package/dist/components/basics/loading/Loading.d.ts.map +0 -1
- package/dist/components/basics/loading/index.d.ts.map +0 -1
- package/dist/components/basics/multi-select-combobox/MultiSelectCombobox.d.ts.map +0 -1
- package/dist/components/basics/multi-select-combobox/index.d.ts +0 -3
- package/dist/components/basics/multi-select-combobox/index.d.ts.map +0 -1
- package/dist/components/basics/otp-Input/OTPInput.d.ts.map +0 -1
- package/dist/components/basics/otp-Input/index.d.ts +0 -3
- package/dist/components/basics/otp-Input/index.d.ts.map +0 -1
- package/dist/components/basics/password-strength-meter/PasswordCriteria.d.ts.map +0 -1
- package/dist/components/basics/password-strength-meter/PasswordStrengthMeter.d.ts +0 -6
- package/dist/components/basics/password-strength-meter/PasswordStrengthMeter.d.ts.map +0 -1
- package/dist/components/basics/preview/Preview.d.ts +0 -2
- package/dist/components/basics/preview/Preview.d.ts.map +0 -1
- package/dist/components/basics/preview/index.d.ts +0 -2
- package/dist/components/basics/preview/index.d.ts.map +0 -1
- package/dist/components/basics/radio/Radio.d.ts.map +0 -1
- package/dist/components/basics/radio/index.d.ts.map +0 -1
- package/dist/components/basics/select/Select.d.ts.map +0 -1
- package/dist/components/basics/select/index.d.ts.map +0 -1
- package/dist/components/basics/skeleton/Skeleton.d.ts.map +0 -1
- package/dist/components/basics/splashCursor/SplashCursor.d.ts.map +0 -1
- package/dist/components/basics/splashCursor/index.d.ts.map +0 -1
- package/dist/components/basics/spotlight-card/SpotlightCard.d.ts.map +0 -1
- package/dist/components/basics/spotlight-card/index.d.ts +0 -3
- package/dist/components/basics/spotlight-card/index.d.ts.map +0 -1
- package/dist/components/basics/stepper/Stepper.d.ts.map +0 -1
- package/dist/components/basics/stepper/index.d.ts.map +0 -1
- package/dist/components/basics/sun-to-moon-button/SunToMoonButton.d.ts +0 -4
- package/dist/components/basics/sun-to-moon-button/SunToMoonButton.d.ts.map +0 -1
- package/dist/components/basics/sun-to-moon-button/index.d.ts.map +0 -1
- package/dist/components/basics/switch/Switch.d.ts.map +0 -1
- package/dist/components/basics/switch/index.d.ts.map +0 -1
- package/dist/components/basics/textarea/Textarea.d.ts.map +0 -1
- package/dist/components/basics/textarea/index.d.ts.map +0 -1
- package/dist/components/basics/toast/Toast.d.ts.map +0 -1
- package/dist/components/basics/toast/index.d.ts.map +0 -1
- package/dist/components/basics/tooltip/Tooltip.d.ts.map +0 -1
- package/dist/components/basics/tooltip/index.d.ts.map +0 -1
- package/dist/components/basics/typography/Typography.d.ts.map +0 -1
- package/dist/components/text-animations/ASCIIText/ASCIIText.d.ts.map +0 -1
- package/dist/components/text-animations/ASCIIText/index.d.ts.map +0 -1
- package/dist/components/text-animations/BlurText/BlurText.d.ts.map +0 -1
- package/dist/components/text-animations/BlurText/index.d.ts.map +0 -1
- /package/dist/components/{basics → data-display}/card/Card.d.ts +0 -0
- /package/dist/components/{basics → data-display}/card/index.d.ts +0 -0
- /package/dist/components/{basics → data-display}/charts/AreaChart.d.ts +0 -0
- /package/dist/components/{basics → data-display}/charts/BarChart.d.ts +0 -0
- /package/dist/components/{basics → data-display}/charts/NeonLineChart.d.ts +0 -0
- /package/dist/components/{basics → data-display}/charts/PieChart.d.ts +0 -0
- /package/dist/components/{basics → data-display}/charts/StackedBarChart.d.ts +0 -0
- /package/dist/components/{basics → data-display}/charts/ThinBreakdownBar.d.ts +0 -0
- /package/dist/components/{basics → data-display}/chip/Chip.d.ts +0 -0
- /package/dist/components/{basics → data-display}/chip/index.d.ts +0 -0
- /package/dist/components/{basics/colo-palette → data-display/color-palette}/ColorPalette.d.ts +0 -0
- /package/dist/components/{basics/colo-palette → data-display/color-palette}/index.d.ts +0 -0
- /package/dist/components/{basics → data-display}/loading/index.d.ts +0 -0
- /package/dist/components/{basics → data-display}/skeleton/Skeleton.d.ts +0 -0
- /package/dist/components/{basics → data-display}/skeleton/index.d.ts +0 -0
- /package/dist/components/{basics → effects}/animated-content/AnimatedContent.d.ts +0 -0
- /package/dist/components/{basics → effects}/animated-content/index.d.ts +0 -0
- /package/dist/components/{text-animations/ASCIIText → effects/ascii-text}/ASCIIText.d.ts +0 -0
- /package/dist/components/{text-animations/ASCIIText → effects/ascii-text}/index.d.ts +0 -0
- /package/dist/components/{basics → effects}/background-gradient-animation/BackgroundGradientAnimation.d.ts +0 -0
- /package/dist/components/{basics → effects}/background-gradient-animation/BackgroundGradientAnimationDemo.d.ts +0 -0
- /package/dist/components/{basics → effects}/background-gradient-animation/index.d.ts +0 -0
- /package/dist/components/{basics → effects}/button-hover-border-gradient/ButtonHoverBorderGradient.d.ts +0 -0
- /package/dist/components/{basics → effects}/button-hover-border-gradient/index.d.ts +0 -0
- /package/dist/components/{basics → effects}/chroma-grid/ChromaGrid.d.ts +0 -0
- /package/dist/components/{basics → effects}/hover-border-gradient/HoverBorderGradient.d.ts +0 -0
- /package/dist/components/{basics → effects}/hover-border-gradient/index.d.ts +0 -0
- /package/dist/components/{basics/splashCursor → effects/splash-cursor}/SplashCursor.d.ts +0 -0
- /package/dist/components/{basics/splashCursor → effects/splash-cursor}/index.d.ts +0 -0
- /package/dist/components/{basics → effects}/spotlight-card/SpotlightCard.d.ts +0 -0
- /package/dist/components/{basics → effects}/sun-to-moon-button/index.d.ts +0 -0
- /package/dist/components/{basics → feedback}/alert/Alert.d.ts +0 -0
- /package/dist/components/{basics → feedback}/alert/index.d.ts +0 -0
- /package/dist/components/{basics/Button → forms/button}/index.d.ts +0 -0
- /package/dist/components/{basics → forms}/calendar/Calendar.d.ts +0 -0
- /package/dist/components/{basics → forms}/calendar/index.d.ts +0 -0
- /package/dist/components/{basics → forms}/checkbox/Checkbox.d.ts +0 -0
- /package/dist/components/{basics → forms}/checkbox/index.d.ts +0 -0
- /package/dist/components/{basics → forms}/combobox/index.d.ts +0 -0
- /package/dist/components/{basics → forms}/date-picker/DatePicker.d.ts +0 -0
- /package/dist/components/{basics → forms}/form/Form.d.ts +0 -0
- /package/dist/components/{basics → forms}/form/index.d.ts +0 -0
- /package/dist/components/{basics → forms}/input/Input.d.ts +0 -0
- /package/dist/components/{basics → forms}/input/types.d.ts +0 -0
- /package/dist/components/{basics → forms}/label/Label.d.ts +0 -0
- /package/dist/components/{basics → forms}/label/index.d.ts +0 -0
- /package/dist/components/{basics/otp-Input → forms/otp-input}/OTPInput.d.ts +0 -0
- /package/dist/components/{basics → forms}/password-strength-meter/PasswordCriteria.d.ts +0 -0
- /package/dist/components/{basics → forms}/radio/Radio.d.ts +0 -0
- /package/dist/components/{basics → forms}/radio/index.d.ts +0 -0
- /package/dist/components/{basics → forms}/select/Select.d.ts +0 -0
- /package/dist/components/{basics → forms}/select/index.d.ts +0 -0
- /package/dist/components/{basics → forms}/switch/Switch.d.ts +0 -0
- /package/dist/components/{basics → forms}/switch/index.d.ts +0 -0
- /package/dist/components/{basics → forms}/textarea/Textarea.d.ts +0 -0
- /package/dist/components/{basics → forms}/textarea/index.d.ts +0 -0
- /package/dist/components/{basics → navigation}/carousel/Carousel.d.ts +0 -0
- /package/dist/components/{basics → navigation}/carousel/index.d.ts +0 -0
- /package/dist/components/{basics → navigation}/stepper/Stepper.d.ts +0 -0
- /package/dist/components/{basics → navigation}/stepper/index.d.ts +0 -0
- /package/dist/components/{basics → overlays}/dialog/Dialog.d.ts +0 -0
- /package/dist/components/{basics → overlays}/drawer/Drawer.d.ts +0 -0
- /package/dist/components/{basics → overlays}/hover-card/HoverCard.d.ts +0 -0
- /package/dist/components/{basics → overlays}/toast/Toast.d.ts +0 -0
- /package/dist/components/{basics → overlays}/toast/index.d.ts +0 -0
- /package/dist/components/{basics → overlays}/tooltip/Tooltip.d.ts +0 -0
- /package/dist/components/{basics → overlays}/tooltip/index.d.ts +0 -0
- /package/dist/components/text-animations/{BlurText → blur-text}/index.d.ts +0 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"color-palette-CXlCDiZz.mjs","names":[],"sources":["../../src/components/data-display/color-palette/ColorPalette.tsx"],"sourcesContent":["export interface ColorSwatch {\n name: string;\n value: string;\n textColor?: \"light\" | \"dark\";\n}\n\nexport interface ColorGroup {\n name: string;\n colors: ColorSwatch[];\n}\n\nexport interface ColorPaletteProps {\n groups?: ColorGroup[];\n theme?: \"light\" | \"dark\" | \"all\";\n showGradients?: boolean;\n showUsageExamples?: boolean;\n className?: string;\n}\n\nconst lightThemeGroups: ColorGroup[] = [\n {\n name: \"Active Accent Scale\",\n colors: [\n { name: \"primary-50\", value: \"#f6efff\", textColor: \"dark\" },\n { name: \"primary-100\", value: \"#ead9fd\", textColor: \"dark\" },\n { name: \"primary-200\", value: \"#d8b3fb\", textColor: \"dark\" },\n { name: \"primary-300\", value: \"#c084fc\", textColor: \"dark\" },\n { name: \"primary-400\", value: \"#a855f7\", textColor: \"light\" },\n { name: \"primary-500\", value: \"#9333ea\", textColor: \"light\" },\n { name: \"primary-600\", value: \"#7e22ce\", textColor: \"light\" },\n { name: \"primary-700\", value: \"#6b21a8\", textColor: \"light\" },\n { name: \"primary-800\", value: \"#581c87\", textColor: \"light\" },\n { name: \"primary-900\", value: \"#3b0764\", textColor: \"light\" },\n ],\n },\n {\n name: \"Semantic Surfaces\",\n colors: [\n { name: \"bg-canvas\", value: \"#f4f7fe\", textColor: \"dark\" },\n { name: \"bg-surface\", value: \"#ffffff\", textColor: \"dark\" },\n { name: \"bg-elevated\", value: \"#ffffff\", textColor: \"dark\" },\n { name: \"bg-muted\", value: \"#f4f3f8\", textColor: \"dark\" },\n { name: \"accent-subtle\", value: \"#f3e8fd\", textColor: \"dark\" },\n ],\n },\n {\n name: \"Semantic Foreground\",\n colors: [\n { name: \"fg\", value: \"#1e293b\", textColor: \"light\" },\n { name: \"fg-muted\", value: \"#475467\", textColor: \"light\" },\n { name: \"fg-subtle\", value: \"#64748b\", textColor: \"light\" },\n { name: \"on-accent\", value: \"#ffffff\", textColor: \"dark\" },\n ],\n },\n {\n name: \"Semantic Borders\",\n colors: [\n { name: \"border\", value: \"#e5e7eb\", textColor: \"dark\" },\n { name: \"border-strong\", value: \"#d1d5db\", textColor: \"dark\" },\n { name: \"border-muted\", value: \"#f3f4f6\", textColor: \"dark\" },\n { name: \"border-field\", value: \"#e9e8e8\", textColor: \"dark\" },\n { name: \"focus-ring\", value: \"#c595f2\", textColor: \"dark\" },\n ],\n },\n {\n name: \"Semantic Status\",\n colors: [\n { name: \"success\", value: \"#1eb564\", textColor: \"light\" },\n { name: \"warning\", value: \"#ff9500\", textColor: \"dark\" },\n { name: \"danger\", value: \"#e31d1c\", textColor: \"light\" },\n { name: \"info\", value: \"#0085c4\", textColor: \"light\" },\n { name: \"disabled\", value: \"#d2d2d3\", textColor: \"dark\" },\n ],\n },\n {\n name: \"Compatibility Aliases\",\n colors: [\n { name: \"--color-primary\", value: \"#4318ff\", textColor: \"light\" },\n {\n name: \"--color-background-primary\",\n value: \"#f4f7fe\",\n textColor: \"dark\",\n },\n {\n name: \"--color-background-secondary\",\n value: \"#ffffff\",\n textColor: \"dark\",\n },\n { name: \"--color-text-primary\", value: \"#1e293b\", textColor: \"light\" },\n { name: \"--color-border-primary\", value: \"#d1d5db\", textColor: \"dark\" },\n ],\n },\n];\n\nconst darkThemeGroups: ColorGroup[] = [\n {\n name: \"Active Accent Scale (Dark)\",\n colors: [\n { name: \"primary-50\", value: \"#f6efff\", textColor: \"dark\" },\n { name: \"primary-100\", value: \"#ead9fd\", textColor: \"dark\" },\n { name: \"primary-200\", value: \"#d8b3fb\", textColor: \"dark\" },\n { name: \"primary-300\", value: \"#c084fc\", textColor: \"dark\" },\n { name: \"primary-400\", value: \"#a855f7\", textColor: \"light\" },\n { name: \"primary-500\", value: \"#9333ea\", textColor: \"light\" },\n { name: \"primary-600\", value: \"#7e22ce\", textColor: \"light\" },\n { name: \"primary-700\", value: \"#6b21a8\", textColor: \"light\" },\n { name: \"primary-800\", value: \"#581c87\", textColor: \"light\" },\n { name: \"primary-900\", value: \"#3b0764\", textColor: \"light\" },\n ],\n },\n {\n name: \"Semantic Surfaces (Dark)\",\n colors: [\n { name: \"bg-canvas\", value: \"#070f2e\", textColor: \"light\" },\n { name: \"bg-surface\", value: \"#111c44\", textColor: \"light\" },\n { name: \"bg-elevated\", value: \"#111c44\", textColor: \"light\" },\n { name: \"bg-muted\", value: \"#18254f\", textColor: \"light\" },\n { name: \"accent-subtle\", value: \"#24194b\", textColor: \"light\" },\n ],\n },\n {\n name: \"Semantic Foreground (Dark)\",\n colors: [\n { name: \"fg\", value: \"#f1f5f9\", textColor: \"dark\" },\n { name: \"fg-muted\", value: \"#cbd5e1\", textColor: \"dark\" },\n { name: \"fg-subtle\", value: \"#94a3b8\", textColor: \"dark\" },\n { name: \"on-accent\", value: \"#ffffff\", textColor: \"dark\" },\n ],\n },\n {\n name: \"Semantic Borders (Dark)\",\n colors: [\n { name: \"border\", value: \"#4b5563\", textColor: \"light\" },\n { name: \"border-strong\", value: \"#374151\", textColor: \"light\" },\n { name: \"border-muted\", value: \"#6b7280\", textColor: \"light\" },\n { name: \"border-field\", value: \"#545b58\", textColor: \"light\" },\n { name: \"focus-ring\", value: \"#b57fe7\", textColor: \"dark\" },\n ],\n },\n {\n name: \"Semantic Status (Dark)\",\n colors: [\n { name: \"success\", value: \"#22c55e\", textColor: \"light\" },\n { name: \"warning\", value: \"#f59e42\", textColor: \"dark\" },\n { name: \"danger\", value: \"#ef4444\", textColor: \"light\" },\n { name: \"info\", value: \"#38bdf8\", textColor: \"dark\" },\n { name: \"disabled\", value: \"#4b5563\", textColor: \"light\" },\n ],\n },\n {\n name: \"Compatibility Aliases (Dark)\",\n colors: [\n { name: \"--color-primary\", value: \"#4318ff\", textColor: \"light\" },\n {\n name: \"--color-background-primary\",\n value: \"#070f2e\",\n textColor: \"light\",\n },\n {\n name: \"--color-background-secondary\",\n value: \"#111c44\",\n textColor: \"light\",\n },\n { name: \"--color-text-primary\", value: \"#f1f5f9\", textColor: \"dark\" },\n { name: \"--color-border-primary\", value: \"#374151\", textColor: \"light\" },\n ],\n },\n];\n\nconst gradientGroups: ColorGroup[] = [\n {\n name: \"Semantic Gradients\",\n colors: [\n { name: \"accent-gradient-start\", value: \"#9333ea\", textColor: \"light\" },\n { name: \"accent-gradient-end\", value: \"#7e22ce\", textColor: \"light\" },\n { name: \"accent-secondary\", value: \"#4318ff\", textColor: \"light\" },\n ],\n },\n {\n name: \"Status Gradients\",\n colors: [\n { name: \"success-gradient-start\", value: \"#22c55e\", textColor: \"light\" },\n { name: \"success-gradient-end\", value: \"#16a34a\", textColor: \"light\" },\n { name: \"warning-gradient-start\", value: \"#f59e0b\", textColor: \"dark\" },\n { name: \"warning-gradient-end\", value: \"#d97706\", textColor: \"light\" },\n { name: \"error-gradient-start\", value: \"#ef4444\", textColor: \"light\" },\n { name: \"error-gradient-end\", value: \"#dc2626\", textColor: \"light\" },\n ],\n },\n {\n name: \"Glass / Opacity\",\n colors: [\n {\n name: \"glass-white-90\",\n value: \"rgba(255,255,255,0.9)\",\n textColor: \"dark\",\n },\n {\n name: \"glass-white-70\",\n value: \"rgba(255,255,255,0.7)\",\n textColor: \"dark\",\n },\n {\n name: \"glass-white-50\",\n value: \"rgba(255,255,255,0.5)\",\n textColor: \"dark\",\n },\n {\n name: \"glass-white-20\",\n value: \"rgba(255,255,255,0.2)\",\n textColor: \"dark\",\n },\n {\n name: \"glass-white-10\",\n value: \"rgba(255,255,255,0.1)\",\n textColor: \"dark\",\n },\n { name: \"glass-black-90\", value: \"rgba(0,0,0,0.9)\", textColor: \"light\" },\n { name: \"glass-black-70\", value: \"rgba(0,0,0,0.7)\", textColor: \"light\" },\n { name: \"glass-black-50\", value: \"rgba(0,0,0,0.5)\", textColor: \"light\" },\n { name: \"glass-black-20\", value: \"rgba(0,0,0,0.2)\", textColor: \"light\" },\n { name: \"glass-black-10\", value: \"rgba(0,0,0,0.1)\", textColor: \"light\" },\n ],\n },\n];\n\n// Default groups (backwards compatibility)\nconst defaultGroups: ColorGroup[] = lightThemeGroups;\n\nfunction ColorSwatchItem({ color }: { color: ColorSwatch }) {\n const copyToClipboard = () => {\n navigator.clipboard.writeText(color.value);\n };\n\n return (\n <div\n className=\"flex flex-col items-center gap-2 cursor-pointer transition-transform hover:scale-105\"\n onClick={copyToClipboard}\n title=\"Click to copy\"\n >\n <div\n className=\"w-20 h-20 rounded-lg shadow-md border border-neutral-200 dark:border-neutral-700 flex items-center justify-center text-xs font-mono\"\n style={{ backgroundColor: color.value }}\n >\n <span\n className={\n color.textColor === \"light\" ? \"text-white\" : \"text-neutral-900\"\n }\n >\n {color.value.length <= 9 ? color.value.toUpperCase() : \"RGBA\"}\n </span>\n </div>\n <span className=\"text-xs font-medium text-neutral-700 dark:text-neutral-300 text-center max-w-20\">\n {color.name}\n </span>\n </div>\n );\n}\n\nfunction GradientPreview() {\n return (\n <div className=\"mt-8\">\n <h3 className=\"text-lg font-semibold text-neutral-900 dark:text-white mb-4\">\n Semantic Gradient Examples\n </h3>\n <div className=\"grid grid-cols-1 md:grid-cols-2 lg:grid-cols-3 gap-4\">\n <div className=\"flex flex-col gap-2\">\n <div\n className=\"h-24 rounded-lg flex items-center justify-center text-white font-medium\"\n style={{\n background: \"linear-gradient(135deg, #9333ea, #7e22ce)\",\n }}\n >\n Accent Gradient\n </div>\n <code className=\"text-xs text-neutral-500\">\n linear-gradient(135deg, #9333ea, #7e22ce)\n </code>\n </div>\n\n <div className=\"flex flex-col gap-2\">\n <div\n className=\"h-24 rounded-lg flex items-center justify-center text-white font-medium\"\n style={{\n background: \"linear-gradient(135deg, #9333ea, #4318ff)\",\n }}\n >\n Accent to Brand Primary\n </div>\n <code className=\"text-xs text-neutral-500\">\n linear-gradient(135deg, #9333ea, #4318ff)\n </code>\n </div>\n\n <div className=\"flex flex-col gap-2\">\n <div\n className=\"h-24 rounded-lg flex items-center justify-center text-white font-medium\"\n style={{\n background: \"linear-gradient(135deg, #22c55e, #16a34a)\",\n }}\n >\n Success Gradient\n </div>\n <code className=\"text-xs text-neutral-500\">\n linear-gradient(135deg, #22c55e, #16a34a)\n </code>\n </div>\n\n <div className=\"flex flex-col gap-2\">\n <div\n className=\"h-24 rounded-lg flex items-center justify-center text-neutral-900 font-medium\"\n style={{\n background: \"linear-gradient(135deg, #fbbf24, #f59e0b)\",\n }}\n >\n Warning Gradient\n </div>\n <code className=\"text-xs text-neutral-500\">\n linear-gradient(135deg, #fbbf24, #f59e0b)\n </code>\n </div>\n\n <div className=\"flex flex-col gap-2\">\n <div\n className=\"h-24 rounded-lg flex items-center justify-center text-white font-medium\"\n style={{\n background: \"linear-gradient(135deg, #ef4444, #dc2626)\",\n }}\n >\n Error Gradient\n </div>\n <code className=\"text-xs text-neutral-500\">\n linear-gradient(135deg, #ef4444, #dc2626)\n </code>\n </div>\n\n <div className=\"flex flex-col gap-2\">\n <div\n className=\"h-24 rounded-lg flex items-center justify-center text-white font-medium backdrop-blur-xl border border-white/20\"\n style={{\n background: \"rgba(147, 51, 234, 0.7)\",\n }}\n >\n Glass Effect\n </div>\n <code className=\"text-xs text-neutral-500\">\n rgba(147, 51, 234, 0.7) + backdrop-blur\n </code>\n </div>\n </div>\n </div>\n );\n}\n\nfunction UsageExamples() {\n return (\n <div className=\"mt-8 p-6 bg-neutral-50 dark:bg-neutral-800/50 rounded-xl\">\n <h3 className=\"text-lg font-semibold text-neutral-900 dark:text-white mb-4\">\n Recommended Usage\n </h3>\n <div className=\"space-y-4\">\n <div className=\"p-4 bg-white dark:bg-neutral-900 rounded-lg border border-neutral-200 dark:border-neutral-700\">\n <h4 className=\"font-medium text-neutral-900 dark:text-white mb-2\">\n Semantic utilities first\n </h4>\n <pre className=\"text-xs font-mono text-neutral-600 dark:text-neutral-400 overflow-x-auto\">\n {`import { Button } from \"erp-pro-ui\";\n\n<section className=\"bg-surface text-fg border border-border rounded-2xl p-6\">\n <h2 className=\"text-accent text-xl font-semibold\">Semantic theme</h2>\n <p className=\"text-fg-muted\">Use utilities generated by colors.css.</p>\n <Button label=\"Save changes\" primary />\n</section>`}\n </pre>\n </div>\n\n <div className=\"p-4 bg-white dark:bg-neutral-900 rounded-lg border border-neutral-200 dark:border-neutral-700\">\n <h4 className=\"font-medium text-neutral-900 dark:text-white mb-2\">\n Raw design-system variables\n </h4>\n <pre className=\"text-xs font-mono text-neutral-600 dark:text-neutral-400 overflow-x-auto\">\n {`.dashboard-shell {\n background: var(--ds-color-bg-surface);\n color: var(--ds-color-fg);\n border: 1px solid var(--ds-color-border);\n}\n\n.dashboard-shell a {\n color: var(--ds-color-accent);\n}\n\nhtml[data-brand=\"teal\"][data-mode=\"dark\"] {\n color-scheme: dark;\n}`}\n </pre>\n </div>\n\n <div className=\"p-4 bg-white dark:bg-neutral-900 rounded-lg border border-neutral-200 dark:border-neutral-700\">\n <h4 className=\"font-medium text-neutral-900 dark:text-white mb-2\">\n Compatibility aliases for migration\n </h4>\n <pre className=\"text-xs font-mono text-neutral-600 dark:text-neutral-400 overflow-x-auto\">\n {`:root {\n --color-primary: #4318ff;\n --color-background-primary: #f4f7fe;\n --color-text-primary: #1e293b;\n}\n\n/* Supported for migration. Prefer semantic utilities or --ds-* in new code. */`}\n </pre>\n </div>\n </div>\n </div>\n );\n}\n\nexport default function ColorPalette({\n groups,\n theme = \"all\",\n showGradients = true,\n showUsageExamples = true,\n className,\n}: ColorPaletteProps) {\n // Determine which groups to show\n let displayGroups: ColorGroup[];\n if (groups) {\n displayGroups = groups;\n } else if (theme === \"light\") {\n displayGroups = lightThemeGroups;\n } else if (theme === \"dark\") {\n displayGroups = darkThemeGroups;\n } else {\n // Show all\n displayGroups = [...lightThemeGroups, ...darkThemeGroups];\n }\n\n // Add gradients if requested and no custom groups\n if (showGradients && !groups) {\n displayGroups = [...displayGroups, ...gradientGroups];\n }\n\n return (\n <div\n className={`p-6 bg-white dark:bg-neutral-900 rounded-xl ${\n className || \"\"\n }`}\n >\n <h2 className=\"text-2xl font-bold text-neutral-900 dark:text-white mb-2\">\n Color Palette\n </h2>\n <p className=\"text-sm text-neutral-600 dark:text-neutral-400 mb-6\">\n Preferred contract:{\" \"}\n <code className=\"font-mono bg-neutral-100 dark:bg-neutral-800 px-2 py-1 rounded\">\n semantic utilities and --ds-* tokens\n </code>{\" \"}\n • Compatibility aliases remain available for migration. Click any swatch\n to copy the color value.\n </p>\n\n <div className=\"mb-6 flex flex-wrap gap-2\">\n <span\n className={`px-3 py-1 rounded-full text-xs font-medium ${\n theme === \"light\" || theme === \"all\"\n ? \"bg-accent-subtle text-accent\"\n : \"bg-neutral-100 text-neutral-500\"\n }`}\n >\n Light Theme\n </span>\n <span\n className={`px-3 py-1 rounded-full text-xs font-medium ${\n theme === \"dark\" || theme === \"all\"\n ? \"bg-accent-subtle text-accent\"\n : \"bg-neutral-100 text-neutral-500\"\n }`}\n >\n Dark Theme\n </span>\n {showGradients && (\n <span className=\"px-3 py-1 rounded-full text-xs font-medium bg-accent-subtle text-accent\">\n Gradients\n </span>\n )}\n </div>\n\n {displayGroups.map((group) => (\n <div key={group.name} className=\"mb-8\">\n <h3 className=\"text-lg font-semibold text-neutral-900 dark:text-white mb-4\">\n {group.name}\n </h3>\n <div className=\"flex flex-wrap gap-4\">\n {group.colors.map((color) => (\n <ColorSwatchItem key={color.name} color={color} />\n ))}\n </div>\n </div>\n ))}\n\n {showGradients && <GradientPreview />}\n {showUsageExamples && <UsageExamples />}\n </div>\n );\n}\n\n// Export color groups for external use\nexport { lightThemeGroups, darkThemeGroups, gradientGroups, defaultGroups };\n"],"mappings":"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"}
|
|
@@ -0,0 +1,139 @@
|
|
|
1
|
+
const require_chunk = require("./chunk-B_GkZjkl.cjs");
|
|
2
|
+
const require_utils = require("./utils-B4SmmY4J.cjs");
|
|
3
|
+
const require_icons = require("./icons-BxIzP2jd.cjs");
|
|
4
|
+
let react = require("react");
|
|
5
|
+
react = require_chunk.__toESM(react);
|
|
6
|
+
let react_jsx_runtime = require("react/jsx-runtime");
|
|
7
|
+
let framer_motion = require("framer-motion");
|
|
8
|
+
//#region src/components/forms/combobox/Combobox.tsx
|
|
9
|
+
var Combobox = ({ options, value, onChange, placeholder = "Select...", className, bgClassName = "bg-background-secondary", createOptionLabel, onCreateOption }) => {
|
|
10
|
+
const [open, setOpen] = (0, react.useState)(false);
|
|
11
|
+
const [search, setSearch] = (0, react.useState)("");
|
|
12
|
+
const [visible, setVisible] = (0, react.useState)(false);
|
|
13
|
+
const ref = (0, react.useRef)(null);
|
|
14
|
+
const mouseX = (0, framer_motion.useMotionValue)(0);
|
|
15
|
+
const mouseY = (0, framer_motion.useMotionValue)(0);
|
|
16
|
+
const radius = 100;
|
|
17
|
+
const filteredOptions = options.filter((opt) => opt.label.toLowerCase().includes(search.toLowerCase()));
|
|
18
|
+
(0, react.useEffect)(() => {
|
|
19
|
+
const handleClick = (e) => {
|
|
20
|
+
if (ref.current && !ref.current.contains(e.target)) {
|
|
21
|
+
setOpen(false);
|
|
22
|
+
setSearch("");
|
|
23
|
+
}
|
|
24
|
+
};
|
|
25
|
+
if (open) document.addEventListener("mousedown", handleClick);
|
|
26
|
+
return () => document.removeEventListener("mousedown", handleClick);
|
|
27
|
+
}, [open]);
|
|
28
|
+
const handleMouseMove = (event) => {
|
|
29
|
+
const { left, top } = event.currentTarget.getBoundingClientRect();
|
|
30
|
+
mouseX.set(event.clientX - left);
|
|
31
|
+
mouseY.set(event.clientY - top);
|
|
32
|
+
};
|
|
33
|
+
return /* @__PURE__ */ (0, react_jsx_runtime.jsxs)("div", {
|
|
34
|
+
ref,
|
|
35
|
+
className: require_utils.mergeClassNames("relative w-full", className),
|
|
36
|
+
tabIndex: 0,
|
|
37
|
+
children: [/* @__PURE__ */ (0, react_jsx_runtime.jsx)(framer_motion.motion.div, {
|
|
38
|
+
style: { backgroundImage: framer_motion.useMotionTemplate`
|
|
39
|
+
radial-gradient(
|
|
40
|
+
${visible ? `${radius}px` : "0px"} circle at ${mouseX}px ${mouseY}px,
|
|
41
|
+
var(--ds-color-accent),
|
|
42
|
+
transparent 90%
|
|
43
|
+
)
|
|
44
|
+
` },
|
|
45
|
+
onMouseMove: handleMouseMove,
|
|
46
|
+
onMouseEnter: () => setVisible(true),
|
|
47
|
+
onMouseLeave: () => setVisible(false),
|
|
48
|
+
className: "group/combobox rounded-lg border-border p-[2px] transition duration-300 hover:border-accent",
|
|
49
|
+
children: /* @__PURE__ */ (0, react_jsx_runtime.jsxs)("div", {
|
|
50
|
+
className: require_utils.mergeClassNames("shadow-input flex h-10 w-full cursor-pointer items-center justify-between rounded-md border border-input px-3 py-2 text-sm text-foreground transition duration-400 ease-in-out group-hover/combobox:shadow-none focus-visible:ring-2 focus-visible:ring-accent focus-visible:outline-none", bgClassName),
|
|
51
|
+
onClick: () => {
|
|
52
|
+
setOpen((current) => {
|
|
53
|
+
if (current) setSearch("");
|
|
54
|
+
return !current;
|
|
55
|
+
});
|
|
56
|
+
},
|
|
57
|
+
children: [value ? /* @__PURE__ */ (0, react_jsx_runtime.jsx)("span", {
|
|
58
|
+
className: "flex-1 truncate text-foreground",
|
|
59
|
+
children: options.find((opt) => opt.value === value)?.label
|
|
60
|
+
}) : /* @__PURE__ */ (0, react_jsx_runtime.jsx)("span", {
|
|
61
|
+
className: "flex-1 text-muted-foreground",
|
|
62
|
+
children: placeholder
|
|
63
|
+
}), /* @__PURE__ */ (0, react_jsx_runtime.jsx)("span", {
|
|
64
|
+
className: require_utils.mergeClassNames("ml-2 text-muted-foreground transition-transform duration-300", open ? "rotate-180" : "rotate-0"),
|
|
65
|
+
children: /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_icons.ChevronDownIcon, {
|
|
66
|
+
width: 24,
|
|
67
|
+
height: 24,
|
|
68
|
+
color: "currentColor",
|
|
69
|
+
className: "h-5 w-5"
|
|
70
|
+
})
|
|
71
|
+
})]
|
|
72
|
+
})
|
|
73
|
+
}), open && /* @__PURE__ */ (0, react_jsx_runtime.jsxs)("div", {
|
|
74
|
+
className: "absolute right-0 left-0 z-20 mt-1 flex max-h-60 flex-col rounded-lg border border-border bg-background-secondary shadow-3 backdrop-blur-xl transition",
|
|
75
|
+
children: [
|
|
76
|
+
/* @__PURE__ */ (0, react_jsx_runtime.jsx)("div", {
|
|
77
|
+
className: "sticky top-0 z-10 rounded-t-lg border-b border-border-muted bg-elevated/95 backdrop-blur-sm",
|
|
78
|
+
children: /* @__PURE__ */ (0, react_jsx_runtime.jsx)("input", {
|
|
79
|
+
autoFocus: true,
|
|
80
|
+
className: "w-full bg-transparent px-3 py-2 text-sm text-foreground outline-none placeholder:text-muted-foreground focus-visible:ring-2 focus-visible:ring-accent",
|
|
81
|
+
placeholder: "Type to search...",
|
|
82
|
+
value: search,
|
|
83
|
+
onChange: (e) => setSearch(e.target.value),
|
|
84
|
+
onClick: (e) => e.stopPropagation()
|
|
85
|
+
})
|
|
86
|
+
}),
|
|
87
|
+
/* @__PURE__ */ (0, react_jsx_runtime.jsxs)("div", {
|
|
88
|
+
className: "max-h-80 flex-1 overflow-auto",
|
|
89
|
+
children: [filteredOptions.length === 0 && !createOptionLabel && /* @__PURE__ */ (0, react_jsx_runtime.jsx)("div", {
|
|
90
|
+
className: "px-3 py-2 text-muted-foreground",
|
|
91
|
+
children: "No options"
|
|
92
|
+
}), filteredOptions.map((opt) => /* @__PURE__ */ (0, react_jsx_runtime.jsxs)("div", {
|
|
93
|
+
className: require_utils.mergeClassNames("mx-1 my-1 flex cursor-pointer items-center gap-2 rounded-md px-3 py-2 text-sm text-foreground transition", opt.value === value ? "bg-accent-subtle text-accent font-semibold" : "", "hover:bg-accent hover:text-on-accent"),
|
|
94
|
+
onClick: () => {
|
|
95
|
+
onChange(opt.value);
|
|
96
|
+
setSearch("");
|
|
97
|
+
setOpen(false);
|
|
98
|
+
},
|
|
99
|
+
children: [/* @__PURE__ */ (0, react_jsx_runtime.jsx)("span", {
|
|
100
|
+
className: "flex w-5 items-center justify-center",
|
|
101
|
+
children: opt.value === value && /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_icons.CheckIcon, {
|
|
102
|
+
className: "text-accent",
|
|
103
|
+
width: 18,
|
|
104
|
+
height: 18
|
|
105
|
+
})
|
|
106
|
+
}), /* @__PURE__ */ (0, react_jsx_runtime.jsx)("span", {
|
|
107
|
+
className: "min-w-0 flex-1 truncate",
|
|
108
|
+
children: opt.label
|
|
109
|
+
})]
|
|
110
|
+
}, opt.value))]
|
|
111
|
+
}),
|
|
112
|
+
createOptionLabel && onCreateOption && /* @__PURE__ */ (0, react_jsx_runtime.jsx)("div", {
|
|
113
|
+
className: "sticky bottom-0 z-10 rounded-b-lg border-t border-border-muted bg-elevated/95 backdrop-blur-sm",
|
|
114
|
+
children: /* @__PURE__ */ (0, react_jsx_runtime.jsxs)("div", {
|
|
115
|
+
className: "mx-1 my-1 flex cursor-pointer items-center gap-2 rounded-md px-3 py-2 text-sm font-semibold text-foreground transition hover:bg-accent hover:text-on-accent",
|
|
116
|
+
onClick: () => {
|
|
117
|
+
onCreateOption();
|
|
118
|
+
setSearch("");
|
|
119
|
+
setOpen(false);
|
|
120
|
+
},
|
|
121
|
+
children: [/* @__PURE__ */ (0, react_jsx_runtime.jsx)("span", { className: "flex w-5 items-center justify-center" }), /* @__PURE__ */ (0, react_jsx_runtime.jsx)("span", {
|
|
122
|
+
className: "min-w-0 flex-1 truncate",
|
|
123
|
+
children: createOptionLabel
|
|
124
|
+
})]
|
|
125
|
+
})
|
|
126
|
+
})
|
|
127
|
+
]
|
|
128
|
+
})]
|
|
129
|
+
});
|
|
130
|
+
};
|
|
131
|
+
//#endregion
|
|
132
|
+
Object.defineProperty(exports, "Combobox", {
|
|
133
|
+
enumerable: true,
|
|
134
|
+
get: function() {
|
|
135
|
+
return Combobox;
|
|
136
|
+
}
|
|
137
|
+
});
|
|
138
|
+
|
|
139
|
+
//# sourceMappingURL=combobox-BXu3s0dt.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"combobox-BXu3s0dt.cjs","names":[],"sources":["../../src/components/forms/combobox/Combobox.tsx"],"sourcesContent":["import React, { useEffect, useRef, useState } from \"react\";\nimport { motion, useMotionTemplate, useMotionValue } from \"framer-motion\";\n\nimport { CheckIcon, ChevronDownIcon } from \"../../icons\";\nimport { mergeClassNames } from \"../../../utils\";\n\nexport interface ComboboxOption {\n label: string;\n value: string;\n}\n\nexport interface ComboboxProps {\n options: ComboboxOption[];\n value: string;\n onChange: (value: string) => void;\n placeholder?: string;\n className?: string;\n bgClassName?: string;\n createOptionLabel?: string;\n onCreateOption?: () => void;\n}\n\nconst Combobox: React.FC<ComboboxProps> = ({\n options,\n value,\n onChange,\n placeholder = \"Select...\",\n className,\n bgClassName = \"bg-background-secondary\",\n createOptionLabel,\n onCreateOption,\n}) => {\n const [open, setOpen] = useState(false);\n const [search, setSearch] = useState(\"\");\n const [visible, setVisible] = useState(false);\n const ref = useRef<HTMLDivElement>(null);\n const mouseX = useMotionValue(0);\n const mouseY = useMotionValue(0);\n const radius = 100;\n\n // Filter options by search\n const filteredOptions = options.filter((opt) =>\n opt.label.toLowerCase().includes(search.toLowerCase()),\n );\n\n // Close dropdown on outside click\n useEffect(() => {\n const handleClick = (e: MouseEvent) => {\n if (ref.current && !ref.current.contains(e.target as Node)) {\n setOpen(false);\n setSearch(\"\");\n }\n };\n if (open) {\n document.addEventListener(\"mousedown\", handleClick);\n }\n return () => document.removeEventListener(\"mousedown\", handleClick);\n }, [open]);\n\n const handleMouseMove = (event: React.MouseEvent<HTMLDivElement>) => {\n const { left, top } = event.currentTarget.getBoundingClientRect();\n mouseX.set(event.clientX - left);\n mouseY.set(event.clientY - top);\n };\n\n return (\n <div\n ref={ref}\n className={mergeClassNames(\"relative w-full\", className)}\n tabIndex={0}\n >\n <motion.div\n style={{\n backgroundImage: useMotionTemplate`\n radial-gradient(\n ${visible ? `${radius}px` : \"0px\"} circle at ${mouseX}px ${mouseY}px,\n var(--ds-color-accent),\n transparent 90%\n )\n `,\n }}\n onMouseMove={handleMouseMove}\n onMouseEnter={() => setVisible(true)}\n onMouseLeave={() => setVisible(false)}\n className=\"group/combobox rounded-lg border-border p-[2px] transition duration-300 hover:border-accent\"\n >\n <div\n className={mergeClassNames(\n \"shadow-input flex h-10 w-full cursor-pointer items-center justify-between rounded-md border border-input px-3 py-2 text-sm text-foreground transition duration-400 ease-in-out group-hover/combobox:shadow-none focus-visible:ring-2 focus-visible:ring-accent focus-visible:outline-none\",\n bgClassName,\n )}\n onClick={() => {\n setOpen((current) => {\n if (current) {\n setSearch(\"\");\n }\n\n return !current;\n });\n }}\n >\n {value ? (\n <span className=\"flex-1 truncate text-foreground\">\n {options.find((opt) => opt.value === value)?.label}\n </span>\n ) : (\n <span className=\"flex-1 text-muted-foreground\">{placeholder}</span>\n )}\n <span\n className={mergeClassNames(\n \"ml-2 text-muted-foreground transition-transform duration-300\",\n open ? \"rotate-180\" : \"rotate-0\",\n )}\n >\n <ChevronDownIcon\n width={24}\n height={24}\n color=\"currentColor\"\n className=\"h-5 w-5\"\n />\n </span>\n </div>\n </motion.div>\n {open && (\n <div className=\"absolute right-0 left-0 z-20 mt-1 flex max-h-60 flex-col rounded-lg border border-border bg-background-secondary shadow-3 backdrop-blur-xl transition\">\n {/* Sticky search input */}\n <div className=\"sticky top-0 z-10 rounded-t-lg border-b border-border-muted bg-elevated/95 backdrop-blur-sm\">\n <input\n autoFocus\n className=\"w-full bg-transparent px-3 py-2 text-sm text-foreground outline-none placeholder:text-muted-foreground focus-visible:ring-2 focus-visible:ring-accent\"\n placeholder=\"Type to search...\"\n value={search}\n onChange={(e) => setSearch(e.target.value)}\n onClick={(e) => e.stopPropagation()}\n />\n </div>\n {/* Scrollable options */}\n <div className=\"max-h-80 flex-1 overflow-auto\">\n {filteredOptions.length === 0 && !createOptionLabel && (\n <div className=\"px-3 py-2 text-muted-foreground\">No options</div>\n )}\n {filteredOptions.map((opt) => (\n <div\n key={opt.value}\n className={mergeClassNames(\n \"mx-1 my-1 flex cursor-pointer items-center gap-2 rounded-md px-3 py-2 text-sm text-foreground transition\",\n opt.value === value\n ? \"bg-accent-subtle text-accent font-semibold\"\n : \"\",\n \"hover:bg-accent hover:text-on-accent\",\n )}\n onClick={() => {\n onChange(opt.value);\n setSearch(\"\");\n setOpen(false);\n }}\n >\n <span className=\"flex w-5 items-center justify-center\">\n {opt.value === value && (\n <CheckIcon className=\"text-accent\" width={18} height={18} />\n )}\n </span>\n <span className=\"min-w-0 flex-1 truncate\">{opt.label}</span>\n </div>\n ))}\n </div>\n {/* Sticky create option */}\n {createOptionLabel && onCreateOption && (\n <div className=\"sticky bottom-0 z-10 rounded-b-lg border-t border-border-muted bg-elevated/95 backdrop-blur-sm\">\n <div\n className=\"mx-1 my-1 flex cursor-pointer items-center gap-2 rounded-md px-3 py-2 text-sm font-semibold text-foreground transition hover:bg-accent hover:text-on-accent\"\n onClick={() => {\n onCreateOption();\n setSearch(\"\");\n setOpen(false);\n }}\n >\n <span className=\"flex w-5 items-center justify-center\">\n {/* Optionally add an icon here */}\n </span>\n <span className=\"min-w-0 flex-1 truncate\">\n {createOptionLabel}\n </span>\n </div>\n </div>\n )}\n </div>\n )}\n </div>\n );\n};\n\nexport default Combobox;\n"],"mappings":"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"}
|
|
@@ -0,0 +1,132 @@
|
|
|
1
|
+
import { n as mergeClassNames } from "./utils-ati1KkDb.mjs";
|
|
2
|
+
import { J as CheckIcon, N as ChevronDownIcon } from "./icons-DuumN7z-.mjs";
|
|
3
|
+
import { useEffect, useRef, useState } from "react";
|
|
4
|
+
import { jsx, jsxs } from "react/jsx-runtime";
|
|
5
|
+
import { motion, useMotionTemplate, useMotionValue } from "framer-motion";
|
|
6
|
+
//#region src/components/forms/combobox/Combobox.tsx
|
|
7
|
+
var Combobox = ({ options, value, onChange, placeholder = "Select...", className, bgClassName = "bg-background-secondary", createOptionLabel, onCreateOption }) => {
|
|
8
|
+
const [open, setOpen] = useState(false);
|
|
9
|
+
const [search, setSearch] = useState("");
|
|
10
|
+
const [visible, setVisible] = useState(false);
|
|
11
|
+
const ref = useRef(null);
|
|
12
|
+
const mouseX = useMotionValue(0);
|
|
13
|
+
const mouseY = useMotionValue(0);
|
|
14
|
+
const radius = 100;
|
|
15
|
+
const filteredOptions = options.filter((opt) => opt.label.toLowerCase().includes(search.toLowerCase()));
|
|
16
|
+
useEffect(() => {
|
|
17
|
+
const handleClick = (e) => {
|
|
18
|
+
if (ref.current && !ref.current.contains(e.target)) {
|
|
19
|
+
setOpen(false);
|
|
20
|
+
setSearch("");
|
|
21
|
+
}
|
|
22
|
+
};
|
|
23
|
+
if (open) document.addEventListener("mousedown", handleClick);
|
|
24
|
+
return () => document.removeEventListener("mousedown", handleClick);
|
|
25
|
+
}, [open]);
|
|
26
|
+
const handleMouseMove = (event) => {
|
|
27
|
+
const { left, top } = event.currentTarget.getBoundingClientRect();
|
|
28
|
+
mouseX.set(event.clientX - left);
|
|
29
|
+
mouseY.set(event.clientY - top);
|
|
30
|
+
};
|
|
31
|
+
return /* @__PURE__ */ jsxs("div", {
|
|
32
|
+
ref,
|
|
33
|
+
className: mergeClassNames("relative w-full", className),
|
|
34
|
+
tabIndex: 0,
|
|
35
|
+
children: [/* @__PURE__ */ jsx(motion.div, {
|
|
36
|
+
style: { backgroundImage: useMotionTemplate`
|
|
37
|
+
radial-gradient(
|
|
38
|
+
${visible ? `${radius}px` : "0px"} circle at ${mouseX}px ${mouseY}px,
|
|
39
|
+
var(--ds-color-accent),
|
|
40
|
+
transparent 90%
|
|
41
|
+
)
|
|
42
|
+
` },
|
|
43
|
+
onMouseMove: handleMouseMove,
|
|
44
|
+
onMouseEnter: () => setVisible(true),
|
|
45
|
+
onMouseLeave: () => setVisible(false),
|
|
46
|
+
className: "group/combobox rounded-lg border-border p-[2px] transition duration-300 hover:border-accent",
|
|
47
|
+
children: /* @__PURE__ */ jsxs("div", {
|
|
48
|
+
className: mergeClassNames("shadow-input flex h-10 w-full cursor-pointer items-center justify-between rounded-md border border-input px-3 py-2 text-sm text-foreground transition duration-400 ease-in-out group-hover/combobox:shadow-none focus-visible:ring-2 focus-visible:ring-accent focus-visible:outline-none", bgClassName),
|
|
49
|
+
onClick: () => {
|
|
50
|
+
setOpen((current) => {
|
|
51
|
+
if (current) setSearch("");
|
|
52
|
+
return !current;
|
|
53
|
+
});
|
|
54
|
+
},
|
|
55
|
+
children: [value ? /* @__PURE__ */ jsx("span", {
|
|
56
|
+
className: "flex-1 truncate text-foreground",
|
|
57
|
+
children: options.find((opt) => opt.value === value)?.label
|
|
58
|
+
}) : /* @__PURE__ */ jsx("span", {
|
|
59
|
+
className: "flex-1 text-muted-foreground",
|
|
60
|
+
children: placeholder
|
|
61
|
+
}), /* @__PURE__ */ jsx("span", {
|
|
62
|
+
className: mergeClassNames("ml-2 text-muted-foreground transition-transform duration-300", open ? "rotate-180" : "rotate-0"),
|
|
63
|
+
children: /* @__PURE__ */ jsx(ChevronDownIcon, {
|
|
64
|
+
width: 24,
|
|
65
|
+
height: 24,
|
|
66
|
+
color: "currentColor",
|
|
67
|
+
className: "h-5 w-5"
|
|
68
|
+
})
|
|
69
|
+
})]
|
|
70
|
+
})
|
|
71
|
+
}), open && /* @__PURE__ */ jsxs("div", {
|
|
72
|
+
className: "absolute right-0 left-0 z-20 mt-1 flex max-h-60 flex-col rounded-lg border border-border bg-background-secondary shadow-3 backdrop-blur-xl transition",
|
|
73
|
+
children: [
|
|
74
|
+
/* @__PURE__ */ jsx("div", {
|
|
75
|
+
className: "sticky top-0 z-10 rounded-t-lg border-b border-border-muted bg-elevated/95 backdrop-blur-sm",
|
|
76
|
+
children: /* @__PURE__ */ jsx("input", {
|
|
77
|
+
autoFocus: true,
|
|
78
|
+
className: "w-full bg-transparent px-3 py-2 text-sm text-foreground outline-none placeholder:text-muted-foreground focus-visible:ring-2 focus-visible:ring-accent",
|
|
79
|
+
placeholder: "Type to search...",
|
|
80
|
+
value: search,
|
|
81
|
+
onChange: (e) => setSearch(e.target.value),
|
|
82
|
+
onClick: (e) => e.stopPropagation()
|
|
83
|
+
})
|
|
84
|
+
}),
|
|
85
|
+
/* @__PURE__ */ jsxs("div", {
|
|
86
|
+
className: "max-h-80 flex-1 overflow-auto",
|
|
87
|
+
children: [filteredOptions.length === 0 && !createOptionLabel && /* @__PURE__ */ jsx("div", {
|
|
88
|
+
className: "px-3 py-2 text-muted-foreground",
|
|
89
|
+
children: "No options"
|
|
90
|
+
}), filteredOptions.map((opt) => /* @__PURE__ */ jsxs("div", {
|
|
91
|
+
className: mergeClassNames("mx-1 my-1 flex cursor-pointer items-center gap-2 rounded-md px-3 py-2 text-sm text-foreground transition", opt.value === value ? "bg-accent-subtle text-accent font-semibold" : "", "hover:bg-accent hover:text-on-accent"),
|
|
92
|
+
onClick: () => {
|
|
93
|
+
onChange(opt.value);
|
|
94
|
+
setSearch("");
|
|
95
|
+
setOpen(false);
|
|
96
|
+
},
|
|
97
|
+
children: [/* @__PURE__ */ jsx("span", {
|
|
98
|
+
className: "flex w-5 items-center justify-center",
|
|
99
|
+
children: opt.value === value && /* @__PURE__ */ jsx(CheckIcon, {
|
|
100
|
+
className: "text-accent",
|
|
101
|
+
width: 18,
|
|
102
|
+
height: 18
|
|
103
|
+
})
|
|
104
|
+
}), /* @__PURE__ */ jsx("span", {
|
|
105
|
+
className: "min-w-0 flex-1 truncate",
|
|
106
|
+
children: opt.label
|
|
107
|
+
})]
|
|
108
|
+
}, opt.value))]
|
|
109
|
+
}),
|
|
110
|
+
createOptionLabel && onCreateOption && /* @__PURE__ */ jsx("div", {
|
|
111
|
+
className: "sticky bottom-0 z-10 rounded-b-lg border-t border-border-muted bg-elevated/95 backdrop-blur-sm",
|
|
112
|
+
children: /* @__PURE__ */ jsxs("div", {
|
|
113
|
+
className: "mx-1 my-1 flex cursor-pointer items-center gap-2 rounded-md px-3 py-2 text-sm font-semibold text-foreground transition hover:bg-accent hover:text-on-accent",
|
|
114
|
+
onClick: () => {
|
|
115
|
+
onCreateOption();
|
|
116
|
+
setSearch("");
|
|
117
|
+
setOpen(false);
|
|
118
|
+
},
|
|
119
|
+
children: [/* @__PURE__ */ jsx("span", { className: "flex w-5 items-center justify-center" }), /* @__PURE__ */ jsx("span", {
|
|
120
|
+
className: "min-w-0 flex-1 truncate",
|
|
121
|
+
children: createOptionLabel
|
|
122
|
+
})]
|
|
123
|
+
})
|
|
124
|
+
})
|
|
125
|
+
]
|
|
126
|
+
})]
|
|
127
|
+
});
|
|
128
|
+
};
|
|
129
|
+
//#endregion
|
|
130
|
+
export { Combobox as t };
|
|
131
|
+
|
|
132
|
+
//# sourceMappingURL=combobox-CjK-qG4k.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"combobox-CjK-qG4k.mjs","names":[],"sources":["../../src/components/forms/combobox/Combobox.tsx"],"sourcesContent":["import React, { useEffect, useRef, useState } from \"react\";\nimport { motion, useMotionTemplate, useMotionValue } from \"framer-motion\";\n\nimport { CheckIcon, ChevronDownIcon } from \"../../icons\";\nimport { mergeClassNames } from \"../../../utils\";\n\nexport interface ComboboxOption {\n label: string;\n value: string;\n}\n\nexport interface ComboboxProps {\n options: ComboboxOption[];\n value: string;\n onChange: (value: string) => void;\n placeholder?: string;\n className?: string;\n bgClassName?: string;\n createOptionLabel?: string;\n onCreateOption?: () => void;\n}\n\nconst Combobox: React.FC<ComboboxProps> = ({\n options,\n value,\n onChange,\n placeholder = \"Select...\",\n className,\n bgClassName = \"bg-background-secondary\",\n createOptionLabel,\n onCreateOption,\n}) => {\n const [open, setOpen] = useState(false);\n const [search, setSearch] = useState(\"\");\n const [visible, setVisible] = useState(false);\n const ref = useRef<HTMLDivElement>(null);\n const mouseX = useMotionValue(0);\n const mouseY = useMotionValue(0);\n const radius = 100;\n\n // Filter options by search\n const filteredOptions = options.filter((opt) =>\n opt.label.toLowerCase().includes(search.toLowerCase()),\n );\n\n // Close dropdown on outside click\n useEffect(() => {\n const handleClick = (e: MouseEvent) => {\n if (ref.current && !ref.current.contains(e.target as Node)) {\n setOpen(false);\n setSearch(\"\");\n }\n };\n if (open) {\n document.addEventListener(\"mousedown\", handleClick);\n }\n return () => document.removeEventListener(\"mousedown\", handleClick);\n }, [open]);\n\n const handleMouseMove = (event: React.MouseEvent<HTMLDivElement>) => {\n const { left, top } = event.currentTarget.getBoundingClientRect();\n mouseX.set(event.clientX - left);\n mouseY.set(event.clientY - top);\n };\n\n return (\n <div\n ref={ref}\n className={mergeClassNames(\"relative w-full\", className)}\n tabIndex={0}\n >\n <motion.div\n style={{\n backgroundImage: useMotionTemplate`\n radial-gradient(\n ${visible ? `${radius}px` : \"0px\"} circle at ${mouseX}px ${mouseY}px,\n var(--ds-color-accent),\n transparent 90%\n )\n `,\n }}\n onMouseMove={handleMouseMove}\n onMouseEnter={() => setVisible(true)}\n onMouseLeave={() => setVisible(false)}\n className=\"group/combobox rounded-lg border-border p-[2px] transition duration-300 hover:border-accent\"\n >\n <div\n className={mergeClassNames(\n \"shadow-input flex h-10 w-full cursor-pointer items-center justify-between rounded-md border border-input px-3 py-2 text-sm text-foreground transition duration-400 ease-in-out group-hover/combobox:shadow-none focus-visible:ring-2 focus-visible:ring-accent focus-visible:outline-none\",\n bgClassName,\n )}\n onClick={() => {\n setOpen((current) => {\n if (current) {\n setSearch(\"\");\n }\n\n return !current;\n });\n }}\n >\n {value ? (\n <span className=\"flex-1 truncate text-foreground\">\n {options.find((opt) => opt.value === value)?.label}\n </span>\n ) : (\n <span className=\"flex-1 text-muted-foreground\">{placeholder}</span>\n )}\n <span\n className={mergeClassNames(\n \"ml-2 text-muted-foreground transition-transform duration-300\",\n open ? \"rotate-180\" : \"rotate-0\",\n )}\n >\n <ChevronDownIcon\n width={24}\n height={24}\n color=\"currentColor\"\n className=\"h-5 w-5\"\n />\n </span>\n </div>\n </motion.div>\n {open && (\n <div className=\"absolute right-0 left-0 z-20 mt-1 flex max-h-60 flex-col rounded-lg border border-border bg-background-secondary shadow-3 backdrop-blur-xl transition\">\n {/* Sticky search input */}\n <div className=\"sticky top-0 z-10 rounded-t-lg border-b border-border-muted bg-elevated/95 backdrop-blur-sm\">\n <input\n autoFocus\n className=\"w-full bg-transparent px-3 py-2 text-sm text-foreground outline-none placeholder:text-muted-foreground focus-visible:ring-2 focus-visible:ring-accent\"\n placeholder=\"Type to search...\"\n value={search}\n onChange={(e) => setSearch(e.target.value)}\n onClick={(e) => e.stopPropagation()}\n />\n </div>\n {/* Scrollable options */}\n <div className=\"max-h-80 flex-1 overflow-auto\">\n {filteredOptions.length === 0 && !createOptionLabel && (\n <div className=\"px-3 py-2 text-muted-foreground\">No options</div>\n )}\n {filteredOptions.map((opt) => (\n <div\n key={opt.value}\n className={mergeClassNames(\n \"mx-1 my-1 flex cursor-pointer items-center gap-2 rounded-md px-3 py-2 text-sm text-foreground transition\",\n opt.value === value\n ? \"bg-accent-subtle text-accent font-semibold\"\n : \"\",\n \"hover:bg-accent hover:text-on-accent\",\n )}\n onClick={() => {\n onChange(opt.value);\n setSearch(\"\");\n setOpen(false);\n }}\n >\n <span className=\"flex w-5 items-center justify-center\">\n {opt.value === value && (\n <CheckIcon className=\"text-accent\" width={18} height={18} />\n )}\n </span>\n <span className=\"min-w-0 flex-1 truncate\">{opt.label}</span>\n </div>\n ))}\n </div>\n {/* Sticky create option */}\n {createOptionLabel && onCreateOption && (\n <div className=\"sticky bottom-0 z-10 rounded-b-lg border-t border-border-muted bg-elevated/95 backdrop-blur-sm\">\n <div\n className=\"mx-1 my-1 flex cursor-pointer items-center gap-2 rounded-md px-3 py-2 text-sm font-semibold text-foreground transition hover:bg-accent hover:text-on-accent\"\n onClick={() => {\n onCreateOption();\n setSearch(\"\");\n setOpen(false);\n }}\n >\n <span className=\"flex w-5 items-center justify-center\">\n {/* Optionally add an icon here */}\n </span>\n <span className=\"min-w-0 flex-1 truncate\">\n {createOptionLabel}\n </span>\n </div>\n </div>\n )}\n </div>\n )}\n </div>\n );\n};\n\nexport default Combobox;\n"],"mappings":"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"}
|