erp-pro-ui 0.1.2 → 0.1.4
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/animations.css +40 -0
- 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 +6 -0
- package/dist/catalog.cjs.map +1 -1
- package/dist/catalog.d.ts +11 -1
- package/dist/catalog.d.ts.map +1 -1
- package/dist/catalog.mjs +6 -0
- package/dist/catalog.mjs.map +1 -1
- package/dist/charts.cjs +2 -1
- package/dist/charts.mjs +2 -2
- package/dist/checkbox.cjs +1 -1
- package/dist/checkbox.mjs +1 -1
- package/dist/chip.cjs +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/{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-gt-HZh0h.cjs → card-C5_tFK6Q.cjs} +1 -1
- package/dist/chunks/{card-gt-HZh0h.cjs.map → card-C5_tFK6Q.cjs.map} +1 -1
- package/dist/chunks/{card-CcIF6z2H.mjs → card-Dh8wNv8N.mjs} +1 -1
- package/dist/chunks/{card-CcIF6z2H.mjs.map → card-Dh8wNv8N.mjs.map} +1 -1
- package/dist/chunks/{carousel-DJdqBVRK.mjs → carousel-BYwqI4cA.mjs} +1 -1
- package/dist/chunks/{carousel-DJdqBVRK.mjs.map → carousel-BYwqI4cA.mjs.map} +1 -1
- package/dist/chunks/{carousel-Cq5uwqQt.cjs → carousel-C1338X8h.cjs} +1 -1
- package/dist/chunks/{carousel-Cq5uwqQt.cjs.map → carousel-C1338X8h.cjs.map} +1 -1
- package/dist/chunks/{charts-DugYWvEf.mjs → charts-BYvM4TMG.mjs} +371 -117
- package/dist/chunks/charts-BYvM4TMG.mjs.map +1 -0
- package/dist/chunks/{charts-BpElnsoR.cjs → charts-DbxyHtlX.cjs} +375 -115
- package/dist/chunks/charts-DbxyHtlX.cjs.map +1 -0
- package/dist/chunks/{checkbox-yHuSw-hV.cjs → checkbox-CxOcjoGP.cjs} +1 -1
- package/dist/chunks/{checkbox-yHuSw-hV.cjs.map → checkbox-CxOcjoGP.cjs.map} +1 -1
- package/dist/chunks/{checkbox-DvwlGwWe.mjs → checkbox-Pr49U9F1.mjs} +1 -1
- package/dist/chunks/{checkbox-DvwlGwWe.mjs.map → checkbox-Pr49U9F1.mjs.map} +1 -1
- package/dist/chunks/{chip-DcBji__g.cjs → chip-B4ol1yPk.cjs} +1 -1
- package/dist/chunks/{chip-DcBji__g.cjs.map → chip-B4ol1yPk.cjs.map} +1 -1
- package/dist/chunks/{chip-BGSUmnlO.mjs → chip-DdnBLdpl.mjs} +1 -1
- package/dist/chunks/{chip-BGSUmnlO.mjs.map → chip-DdnBLdpl.mjs.map} +1 -1
- package/dist/chunks/{chroma-grid-Cdeql_2C.mjs → chroma-grid-BAo6V5A7.mjs} +1 -1
- package/dist/chunks/{chroma-grid-Cdeql_2C.mjs.map → chroma-grid-BAo6V5A7.mjs.map} +1 -1
- package/dist/chunks/{chroma-grid-9E9j1s9I.cjs → chroma-grid-CIk0dsNS.cjs} +1 -1
- package/dist/chunks/{chroma-grid-9E9j1s9I.cjs.map → chroma-grid-CIk0dsNS.cjs.map} +1 -1
- package/dist/chunks/{color-palette-BLvDnCOD.cjs → color-palette-2TuEMkAn.cjs} +1 -1
- package/dist/chunks/{color-palette-BLvDnCOD.cjs.map → color-palette-2TuEMkAn.cjs.map} +1 -1
- package/dist/chunks/{color-palette-CXlCDiZz.mjs → color-palette-euKQMWlV.mjs} +1 -1
- package/dist/chunks/{color-palette-CXlCDiZz.mjs.map → color-palette-euKQMWlV.mjs.map} +1 -1
- package/dist/chunks/{combobox-BXu3s0dt.cjs → combobox-CwGubKTt.cjs} +2 -2
- package/dist/chunks/combobox-CwGubKTt.cjs.map +1 -0
- package/dist/chunks/{combobox-CjK-qG4k.mjs → combobox-DrFmkI0F.mjs} +2 -2
- package/dist/chunks/combobox-DrFmkI0F.mjs.map +1 -0
- package/dist/chunks/{data-table-DyEQn9Yj.mjs → data-table-Bo80m7qV.mjs} +8 -8
- package/dist/chunks/{data-table-DyEQn9Yj.mjs.map → data-table-Bo80m7qV.mjs.map} +1 -1
- package/dist/chunks/{data-table-9HELVsYR.cjs → data-table-W1sK5tkL.cjs} +8 -8
- package/dist/chunks/{data-table-9HELVsYR.cjs.map → data-table-W1sK5tkL.cjs.map} +1 -1
- package/dist/chunks/{date-picker-D8gaaMlJ.mjs → date-picker-CNPORxhv.mjs} +87 -17
- package/dist/chunks/date-picker-CNPORxhv.mjs.map +1 -0
- package/dist/chunks/{date-picker-W9om1j7A.cjs → date-picker-CZo68Fkl.cjs} +87 -17
- package/dist/chunks/date-picker-CZo68Fkl.cjs.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/{multi-select-combobox-ELSH_Xr4.mjs → multi-select-combobox-D46M-AN9.mjs} +2 -2
- package/dist/chunks/multi-select-combobox-D46M-AN9.mjs.map +1 -0
- package/dist/chunks/{multi-select-combobox-UW0X15W7.cjs → multi-select-combobox-dS6bJE_e.cjs} +2 -2
- package/dist/chunks/multi-select-combobox-dS6bJE_e.cjs.map +1 -0
- package/dist/chunks/{otp-input-B6zzOEqw.cjs → otp-input-DSW9Ca_D.cjs} +2 -2
- package/dist/chunks/otp-input-DSW9Ca_D.cjs.map +1 -0
- package/dist/chunks/{otp-input-Bg4nQG6x.mjs → otp-input-DeAi4nJ_.mjs} +2 -2
- package/dist/chunks/otp-input-DeAi4nJ_.mjs.map +1 -0
- package/dist/chunks/{progress-bar-C9FZDrju.mjs → progress-bar-B9sy7WBT.mjs} +1 -1
- package/dist/chunks/{progress-bar-C9FZDrju.mjs.map → progress-bar-B9sy7WBT.mjs.map} +1 -1
- package/dist/chunks/{progress-bar-C1OvQ-NI.cjs → progress-bar-BdvQtpm3.cjs} +1 -1
- package/dist/chunks/{progress-bar-C1OvQ-NI.cjs.map → progress-bar-BdvQtpm3.cjs.map} +1 -1
- 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-BNea1Rcp.cjs +422 -0
- package/dist/chunks/skeleton-BNea1Rcp.cjs.map +1 -0
- package/dist/chunks/skeleton-CtLumdRw.mjs +368 -0
- package/dist/chunks/skeleton-CtLumdRw.mjs.map +1 -0
- 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/{textarea-CU5C-Zw9.mjs → textarea-Blky_fLK.mjs} +2 -2
- package/dist/chunks/{textarea-CU5C-Zw9.mjs.map → textarea-Blky_fLK.mjs.map} +1 -1
- package/dist/chunks/{textarea-CAUsyu4-.cjs → textarea-ok_NlE2p.cjs} +2 -2
- package/dist/chunks/textarea-ok_NlE2p.cjs.map +1 -0
- package/dist/color-palette.cjs +1 -1
- package/dist/color-palette.mjs +1 -1
- package/dist/colors.css +3 -0
- 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/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 +2 -0
- package/dist/components/data-display/charts/index.d.ts.map +1 -1
- package/dist/components/data-display/skeleton/Skeleton.d.ts +32 -5
- package/dist/components/data-display/skeleton/Skeleton.d.ts.map +1 -1
- package/dist/components/data-display/skeleton/index.d.ts +2 -2
- package/dist/components/data-display/skeleton/index.d.ts.map +1 -1
- package/dist/components/forms/calendar/Calendar.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/select/Select.d.ts.map +1 -1
- package/dist/components/forms/select/types.d.ts +7 -1
- package/dist/components/forms/select/types.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/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/docs.cjs +12 -2
- package/dist/docs.cjs.map +1 -1
- package/dist/docs.d.ts.map +1 -1
- package/dist/docs.mjs +12 -2
- package/dist/docs.mjs.map +1 -1
- package/dist/foundation.css +7 -0
- package/dist/index.cjs +32 -19
- package/dist/index.d.ts +7 -4
- package/dist/index.d.ts.map +1 -1
- package/dist/index.mjs +20 -20
- package/dist/input.cjs +1 -1
- package/dist/input.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/progress-bar.cjs +1 -1
- package/dist/progress-bar.mjs +1 -1
- package/dist/select.cjs +1 -1
- package/dist/select.mjs +1 -1
- package/dist/skeleton.cjs +9 -1
- package/dist/skeleton.mjs +2 -2
- package/dist/stepper.cjs +5 -1
- package/dist/stepper.mjs +2 -2
- package/dist/textarea.cjs +1 -1
- package/dist/textarea.mjs +1 -1
- package/dist/tokens.css +11 -2
- package/package.json +9 -9
- package/dist/chunks/calendar-BarcG6x_.mjs.map +0 -1
- package/dist/chunks/calendar-xrGmvukr.cjs.map +0 -1
- package/dist/chunks/charts-BpElnsoR.cjs.map +0 -1
- package/dist/chunks/charts-DugYWvEf.mjs.map +0 -1
- package/dist/chunks/combobox-BXu3s0dt.cjs.map +0 -1
- package/dist/chunks/combobox-CjK-qG4k.mjs.map +0 -1
- package/dist/chunks/date-picker-D8gaaMlJ.mjs.map +0 -1
- package/dist/chunks/date-picker-W9om1j7A.cjs.map +0 -1
- package/dist/chunks/input-D9qZNqXV.cjs +0 -99
- package/dist/chunks/input-D9qZNqXV.cjs.map +0 -1
- package/dist/chunks/input-wNqevfQ4.mjs +0 -87
- package/dist/chunks/input-wNqevfQ4.mjs.map +0 -1
- package/dist/chunks/multi-select-combobox-ELSH_Xr4.mjs.map +0 -1
- package/dist/chunks/multi-select-combobox-UW0X15W7.cjs.map +0 -1
- package/dist/chunks/otp-input-B6zzOEqw.cjs.map +0 -1
- package/dist/chunks/otp-input-Bg4nQG6x.mjs.map +0 -1
- package/dist/chunks/select-D71tk6-I.mjs +0 -152
- package/dist/chunks/select-D71tk6-I.mjs.map +0 -1
- package/dist/chunks/select-WC_kPqUP.cjs +0 -158
- package/dist/chunks/select-WC_kPqUP.cjs.map +0 -1
- package/dist/chunks/skeleton-BhYWOp0Q.mjs +0 -215
- package/dist/chunks/skeleton-BhYWOp0Q.mjs.map +0 -1
- package/dist/chunks/skeleton-DTXpHYYB.cjs +0 -221
- package/dist/chunks/skeleton-DTXpHYYB.cjs.map +0 -1
- package/dist/chunks/stepper-D4yQsQB0.mjs +0 -261
- package/dist/chunks/stepper-D4yQsQB0.mjs.map +0 -1
- package/dist/chunks/stepper-fY-Sx72k.cjs +0 -267
- package/dist/chunks/stepper-fY-Sx72k.cjs.map +0 -1
- package/dist/chunks/textarea-CAUsyu4-.cjs.map +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"color-palette-BLvDnCOD.cjs","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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"}
|
|
1
|
+
{"version":3,"file":"color-palette-2TuEMkAn.cjs","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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"}
|
|
@@ -1 +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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"}
|
|
1
|
+
{"version":3,"file":"color-palette-euKQMWlV.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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"}
|
|
@@ -47,7 +47,7 @@ var Combobox = ({ options, value, onChange, placeholder = "Select...", className
|
|
|
47
47
|
onMouseLeave: () => setVisible(false),
|
|
48
48
|
className: "group/combobox rounded-lg border-border p-[2px] transition duration-300 hover:border-accent",
|
|
49
49
|
children: /* @__PURE__ */ (0, react_jsx_runtime.jsxs)("div", {
|
|
50
|
-
className: require_utils.mergeClassNames("
|
|
50
|
+
className: require_utils.mergeClassNames("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 focus-visible:ring-2 focus-visible:ring-accent focus-visible:outline-none", bgClassName),
|
|
51
51
|
onClick: () => {
|
|
52
52
|
setOpen((current) => {
|
|
53
53
|
if (current) setSearch("");
|
|
@@ -136,4 +136,4 @@ Object.defineProperty(exports, "Combobox", {
|
|
|
136
136
|
}
|
|
137
137
|
});
|
|
138
138
|
|
|
139
|
-
//# sourceMappingURL=combobox-
|
|
139
|
+
//# sourceMappingURL=combobox-CwGubKTt.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"combobox-CwGubKTt.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 \"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 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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"}
|
|
@@ -45,7 +45,7 @@ var Combobox = ({ options, value, onChange, placeholder = "Select...", className
|
|
|
45
45
|
onMouseLeave: () => setVisible(false),
|
|
46
46
|
className: "group/combobox rounded-lg border-border p-[2px] transition duration-300 hover:border-accent",
|
|
47
47
|
children: /* @__PURE__ */ jsxs("div", {
|
|
48
|
-
className: mergeClassNames("
|
|
48
|
+
className: mergeClassNames("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 focus-visible:ring-2 focus-visible:ring-accent focus-visible:outline-none", bgClassName),
|
|
49
49
|
onClick: () => {
|
|
50
50
|
setOpen((current) => {
|
|
51
51
|
if (current) setSearch("");
|
|
@@ -129,4 +129,4 @@ var Combobox = ({ options, value, onChange, placeholder = "Select...", className
|
|
|
129
129
|
//#endregion
|
|
130
130
|
export { Combobox as t };
|
|
131
131
|
|
|
132
|
-
//# sourceMappingURL=combobox-
|
|
132
|
+
//# sourceMappingURL=combobox-DrFmkI0F.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"combobox-DrFmkI0F.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 \"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 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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"}
|
|
@@ -1,13 +1,13 @@
|
|
|
1
1
|
import { H as SearchIcon, M as ChevronLeftIcon, O as ChevronsRightIcon, R as TrashIcon, T as EllipsisVerticalIcon, W as SettingsIcon, a as RefreshIcon, d as FilterXIcon, f as FilterProfileIcon, j as ChevronRightIcon, k as ChevronsLeftIcon, l as LoaderIcon, p as FilterIcon, r as SelectionIcon } from "./icons-DuumN7z-.mjs";
|
|
2
2
|
import { t as Button } from "./button-B0Lhj0AS.mjs";
|
|
3
|
-
import { t as
|
|
4
|
-
import { t as
|
|
5
|
-
import { t as
|
|
6
|
-
import { t as
|
|
7
|
-
import { t as
|
|
8
|
-
import { t as
|
|
3
|
+
import { t as Select } from "./select-B8UQ6Uq5.mjs";
|
|
4
|
+
import { t as Checkbox } from "./checkbox-Pr49U9F1.mjs";
|
|
5
|
+
import { t as Chip } from "./chip-DdnBLdpl.mjs";
|
|
6
|
+
import { t as Combobox } from "./combobox-DrFmkI0F.mjs";
|
|
7
|
+
import { t as MultiSelectCombobox } from "./multi-select-combobox-D46M-AN9.mjs";
|
|
8
|
+
import { t as Input } from "./input-Bt_r_B_c.mjs";
|
|
9
9
|
import { t as Switch } from "./switch-DOVl_i_s.mjs";
|
|
10
|
-
import { t as DatePicker } from "./date-picker-
|
|
10
|
+
import { t as DatePicker } from "./date-picker-CNPORxhv.mjs";
|
|
11
11
|
import React from "react";
|
|
12
12
|
import { Fragment, jsx, jsxs } from "react/jsx-runtime";
|
|
13
13
|
import { flexRender, getCoreRowModel, getFilteredRowModel, getPaginationRowModel, useReactTable } from "@tanstack/react-table";
|
|
@@ -1120,4 +1120,4 @@ function DataTable({ columns, data, isLoading = false, onColumnToggle, pageSize
|
|
|
1120
1120
|
//#endregion
|
|
1121
1121
|
export { FilterProfile as a, FilterDropdown as i, DataTable as n, FilterButton as r, ColumnToggle as t };
|
|
1122
1122
|
|
|
1123
|
-
//# sourceMappingURL=data-table-
|
|
1123
|
+
//# sourceMappingURL=data-table-Bo80m7qV.mjs.map
|