@techsio/ui-kit 0.0.0
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 +165 -0
- package/dist/atoms/badge.js +66 -0
- package/dist/atoms/button.js +275 -0
- package/dist/atoms/error-text.js +38 -0
- package/dist/atoms/extra-text.js +27 -0
- package/dist/atoms/icon.js +42 -0
- package/dist/atoms/image.js +11 -0
- package/dist/atoms/input.js +83 -0
- package/dist/atoms/label.js +43 -0
- package/dist/atoms/link-button.js +51 -0
- package/dist/atoms/link.js +23 -0
- package/dist/atoms/numeric-input.js +221 -0
- package/dist/atoms/rating.js +117 -0
- package/dist/atoms/textarea.js +81 -0
- package/dist/atoms/tooltip.js +119 -0
- package/dist/molecules/accordion.js +245 -0
- package/dist/molecules/breadcrumb.js +168 -0
- package/dist/molecules/carousel.js +333 -0
- package/dist/molecules/checkbox.js +92 -0
- package/dist/molecules/color-select.js +159 -0
- package/dist/molecules/combobox.js +253 -0
- package/dist/molecules/dialog.js +313 -0
- package/dist/molecules/form-checkbox.js +59 -0
- package/dist/molecules/form-input.js +55 -0
- package/dist/molecules/form-numeric-input.js +47 -0
- package/dist/molecules/form-textarea.js +54 -0
- package/dist/molecules/menu.js +302 -0
- package/dist/molecules/pagination.js +184 -0
- package/dist/molecules/popover.js +152 -0
- package/dist/molecules/product-card.js +194 -0
- package/dist/molecules/search-form.js +106 -0
- package/dist/molecules/select.js +217 -0
- package/dist/molecules/slider.js +249 -0
- package/dist/molecules/steps.js +178 -0
- package/dist/molecules/switch.js +109 -0
- package/dist/molecules/tabs.js +211 -0
- package/dist/molecules/toast.js +126 -0
- package/dist/molecules/tree-view.js +451 -0
- package/dist/organisms/footer.js +209 -0
- package/dist/organisms/header.js +245 -0
- package/dist/organisms/table.js +233 -0
- package/dist/src/atoms/badge.d.ts +59 -0
- package/dist/src/atoms/badge.d.ts.map +1 -0
- package/dist/src/atoms/button.d.ts +97 -0
- package/dist/src/atoms/button.d.ts.map +1 -0
- package/dist/src/atoms/error-text.d.ts +29 -0
- package/dist/src/atoms/error-text.d.ts.map +1 -0
- package/dist/src/atoms/extra-text.d.ts +27 -0
- package/dist/src/atoms/extra-text.d.ts.map +1 -0
- package/dist/src/atoms/icon.d.ts +65 -0
- package/dist/src/atoms/icon.d.ts.map +1 -0
- package/dist/src/atoms/image.d.ts +17 -0
- package/dist/src/atoms/image.d.ts.map +1 -0
- package/dist/src/atoms/input.d.ts +78 -0
- package/dist/src/atoms/input.d.ts.map +1 -0
- package/dist/src/atoms/label.d.ts +41 -0
- package/dist/src/atoms/label.d.ts.map +1 -0
- package/dist/src/atoms/link-button.d.ts +129 -0
- package/dist/src/atoms/link-button.d.ts.map +1 -0
- package/dist/src/atoms/link.d.ts +17 -0
- package/dist/src/atoms/link.d.ts.map +1 -0
- package/dist/src/atoms/numeric-input.d.ts +64 -0
- package/dist/src/atoms/numeric-input.d.ts.map +1 -0
- package/dist/src/atoms/rating.d.ts +108 -0
- package/dist/src/atoms/rating.d.ts.map +1 -0
- package/dist/src/atoms/textarea.d.ts +81 -0
- package/dist/src/atoms/textarea.d.ts.map +1 -0
- package/dist/src/atoms/tooltip.d.ts +88 -0
- package/dist/src/atoms/tooltip.d.ts.map +1 -0
- package/dist/src/molecules/accordion.d.ts +182 -0
- package/dist/src/molecules/accordion.d.ts.map +1 -0
- package/dist/src/molecules/breadcrumb.d.ts +117 -0
- package/dist/src/molecules/breadcrumb.d.ts.map +1 -0
- package/dist/src/molecules/carousel.d.ts +261 -0
- package/dist/src/molecules/carousel.d.ts.map +1 -0
- package/dist/src/molecules/checkbox.d.ts +19 -0
- package/dist/src/molecules/checkbox.d.ts.map +1 -0
- package/dist/src/molecules/color-select.d.ts +20 -0
- package/dist/src/molecules/color-select.d.ts.map +1 -0
- package/dist/src/molecules/combobox.d.ts +141 -0
- package/dist/src/molecules/combobox.d.ts.map +1 -0
- package/dist/src/molecules/dialog.d.ts +234 -0
- package/dist/src/molecules/dialog.d.ts.map +1 -0
- package/dist/src/molecules/form-checkbox.d.ts +15 -0
- package/dist/src/molecules/form-checkbox.d.ts.map +1 -0
- package/dist/src/molecules/form-input.d.ts +14 -0
- package/dist/src/molecules/form-input.d.ts.map +1 -0
- package/dist/src/molecules/form-numeric-input.d.ts +14 -0
- package/dist/src/molecules/form-numeric-input.d.ts.map +1 -0
- package/dist/src/molecules/form-textarea.d.ts +14 -0
- package/dist/src/molecules/form-textarea.d.ts.map +1 -0
- package/dist/src/molecules/menu.d.ts +153 -0
- package/dist/src/molecules/menu.d.ts.map +1 -0
- package/dist/src/molecules/pagination.d.ts +123 -0
- package/dist/src/molecules/pagination.d.ts.map +1 -0
- package/dist/src/molecules/popover.d.ts +124 -0
- package/dist/src/molecules/popover.d.ts.map +1 -0
- package/dist/src/molecules/product-card.d.ts +160 -0
- package/dist/src/molecules/product-card.d.ts.map +1 -0
- package/dist/src/molecules/search-form.d.ts +39 -0
- package/dist/src/molecules/search-form.d.ts.map +1 -0
- package/dist/src/molecules/select.d.ts +126 -0
- package/dist/src/molecules/select.d.ts.map +1 -0
- package/dist/src/molecules/slider.d.ts +120 -0
- package/dist/src/molecules/slider.d.ts.map +1 -0
- package/dist/src/molecules/steps.d.ts +96 -0
- package/dist/src/molecules/steps.d.ts.map +1 -0
- package/dist/src/molecules/switch.d.ts +71 -0
- package/dist/src/molecules/switch.d.ts.map +1 -0
- package/dist/src/molecules/tabs.d.ts +207 -0
- package/dist/src/molecules/tabs.d.ts.map +1 -0
- package/dist/src/molecules/toast.d.ts +83 -0
- package/dist/src/molecules/toast.d.ts.map +1 -0
- package/dist/src/molecules/tree-view.d.ts +202 -0
- package/dist/src/molecules/tree-view.d.ts.map +1 -0
- package/dist/src/organisms/footer.d.ts +254 -0
- package/dist/src/organisms/footer.d.ts.map +1 -0
- package/dist/src/organisms/header.d.ts +186 -0
- package/dist/src/organisms/header.d.ts.map +1 -0
- package/dist/src/organisms/table.d.ts +250 -0
- package/dist/src/organisms/table.d.ts.map +1 -0
- package/dist/src/templates/accordion.d.ts +15 -0
- package/dist/src/templates/accordion.d.ts.map +1 -0
- package/dist/src/templates/carousel.d.ts +13 -0
- package/dist/src/templates/carousel.d.ts.map +1 -0
- package/dist/src/templates/numeric-input.d.ts +14 -0
- package/dist/src/templates/numeric-input.d.ts.map +1 -0
- package/dist/src/templates/product-card.d.ts +33 -0
- package/dist/src/templates/product-card.d.ts.map +1 -0
- package/dist/src/templates/tabs.d.ts +16 -0
- package/dist/src/templates/tabs.d.ts.map +1 -0
- package/dist/src/types/zag.d.ts +19 -0
- package/dist/src/types/zag.d.ts.map +1 -0
- package/dist/src/utils.d.ts +4 -0
- package/dist/src/utils.d.ts.map +1 -0
- package/dist/templates/accordion.js +37 -0
- package/dist/templates/carousel.js +55 -0
- package/dist/templates/numeric-input.js +49 -0
- package/dist/templates/product-card.js +92 -0
- package/dist/templates/tabs.js +34 -0
- package/dist/types/zag.js +0 -0
- package/dist/utils.js +20 -0
- package/package.json +126 -0
- package/src/tokens/_base.css +25 -0
- package/src/tokens/_colors.css +5 -0
- package/src/tokens/_layout.css +34 -0
- package/src/tokens/_semantic.css +360 -0
- package/src/tokens/_spacing.css +22 -0
- package/src/tokens/_typography.css +17 -0
- package/src/tokens/components/atoms/_badge.css +61 -0
- package/src/tokens/components/atoms/_button.css +215 -0
- package/src/tokens/components/atoms/_icon.css +122 -0
- package/src/tokens/components/atoms/_input.css +125 -0
- package/src/tokens/components/atoms/_numeric-input.css +57 -0
- package/src/tokens/components/atoms/_rating.css +33 -0
- package/src/tokens/components/atoms/_textarea.css +93 -0
- package/src/tokens/components/atoms/_tooltip.css +21 -0
- package/src/tokens/components/components.css +32 -0
- package/src/tokens/components/molecules/_accordion.css +85 -0
- package/src/tokens/components/molecules/_breadcrumb.css +44 -0
- package/src/tokens/components/molecules/_carousel.css +72 -0
- package/src/tokens/components/molecules/_checkbox.css +29 -0
- package/src/tokens/components/molecules/_color-select.css +61 -0
- package/src/tokens/components/molecules/_combobox.css +116 -0
- package/src/tokens/components/molecules/_dialog.css +75 -0
- package/src/tokens/components/molecules/_menu.css +48 -0
- package/src/tokens/components/molecules/_pagination.css +75 -0
- package/src/tokens/components/molecules/_popover.css +39 -0
- package/src/tokens/components/molecules/_product-card.css +85 -0
- package/src/tokens/components/molecules/_search-form.css +10 -0
- package/src/tokens/components/molecules/_select.css +88 -0
- package/src/tokens/components/molecules/_slider.css +75 -0
- package/src/tokens/components/molecules/_steps.css +54 -0
- package/src/tokens/components/molecules/_switch.css +62 -0
- package/src/tokens/components/molecules/_tabs.css +69 -0
- package/src/tokens/components/molecules/_toast.css +77 -0
- package/src/tokens/components/molecules/_tree-view.css +80 -0
- package/src/tokens/components/molecules/index.css +2 -0
- package/src/tokens/components/organisms/_footer.css +90 -0
- package/src/tokens/components/organisms/_header.css +86 -0
- package/src/tokens/components/organisms/_table.css +63 -0
- package/src/tokens/index.css +67 -0
- package/src/tokens/tokens-only.css +66 -0
|
@@ -0,0 +1,61 @@
|
|
|
1
|
+
@theme static {
|
|
2
|
+
/* === BASE COLOR MAPPING === */
|
|
3
|
+
/* Reference layer - single source of truth for theming */
|
|
4
|
+
--color-badge-primary: var(--color-primary);
|
|
5
|
+
--color-badge-secondary: var(--color-secondary);
|
|
6
|
+
--color-badge-tertiary: var(--color-tertiary);
|
|
7
|
+
--color-badge-info: var(--color-info);
|
|
8
|
+
--color-badge-success: var(--color-success);
|
|
9
|
+
--color-badge-warning: var(--color-warning);
|
|
10
|
+
--color-badge-danger: var(--color-danger);
|
|
11
|
+
|
|
12
|
+
/* === DERIVED COLORS === */
|
|
13
|
+
/* Background colors - using reference layer */
|
|
14
|
+
--color-badge-bg-primary: var(--color-badge-primary);
|
|
15
|
+
--color-badge-bg-secondary: var(--color-badge-secondary);
|
|
16
|
+
--color-badge-bg-tertiary: var(--color-badge-tertiary);
|
|
17
|
+
--color-badge-bg-info: var(--color-badge-info);
|
|
18
|
+
--color-badge-bg-success: var(--color-badge-success);
|
|
19
|
+
--color-badge-bg-warning: var(--color-badge-warning);
|
|
20
|
+
--color-badge-bg-danger: var(--color-badge-danger);
|
|
21
|
+
--color-badge-bg-discount: var(--color-badge-danger); /* Alias for discount */
|
|
22
|
+
|
|
23
|
+
/* Foreground colors */
|
|
24
|
+
--color-badge-fg: var(--color-fg-reverse);
|
|
25
|
+
--color-badge-fg-primary: var(--color-badge-fg);
|
|
26
|
+
--color-badge-fg-secondary: var(--color-badge-fg);
|
|
27
|
+
--color-badge-fg-tertiary: var(--color-badge-fg);
|
|
28
|
+
--color-badge-fg-info: var(--color-badge-fg);
|
|
29
|
+
--color-badge-fg-success: var(--color-badge-fg);
|
|
30
|
+
--color-badge-fg-warning: var(--color-badge-fg);
|
|
31
|
+
--color-badge-fg-danger: var(--color-badge-fg);
|
|
32
|
+
--color-badge-fg-discount: var(--color-fg-dark); /* Keep original for discount */
|
|
33
|
+
|
|
34
|
+
/* Border colors */
|
|
35
|
+
--color-badge-border: var(--color-border-primary);
|
|
36
|
+
--color-badge-border-primary: transparent;
|
|
37
|
+
--color-badge-border-secondary: transparent;
|
|
38
|
+
--color-badge-border-tertiary: transparent;
|
|
39
|
+
--color-badge-border-info: transparent;
|
|
40
|
+
--color-badge-border-success: transparent;
|
|
41
|
+
--color-badge-border-warning: transparent;
|
|
42
|
+
--color-badge-border-danger: transparent;
|
|
43
|
+
--color-badge-border-discount: transparent;
|
|
44
|
+
|
|
45
|
+
/* === COMPONENT VARIANTS === */
|
|
46
|
+
/* Outline variant */
|
|
47
|
+
--color-badge-bg-outline: transparent;
|
|
48
|
+
--color-badge-fg-outline: var(--color-fg-secondary);
|
|
49
|
+
--color-badge-border-outline: var(--color-badge-border);
|
|
50
|
+
|
|
51
|
+
/* === SPACING === */
|
|
52
|
+
--padding-badge: var(--spacing-100) var(--spacing-100);
|
|
53
|
+
|
|
54
|
+
/* === TYPOGRAPHY === */
|
|
55
|
+
--text-badge-size: var(--text-xs);
|
|
56
|
+
--font-weight-badge: var(--font-weight-normal);
|
|
57
|
+
|
|
58
|
+
/* === BORDERS & RADIUS === */
|
|
59
|
+
--radius-badge: var(--radius-sm);
|
|
60
|
+
--border-width-badge: var(--border-width-sm);
|
|
61
|
+
}
|
|
@@ -0,0 +1,215 @@
|
|
|
1
|
+
:root {
|
|
2
|
+
--opacity-outlined-hover: 16%;
|
|
3
|
+
--opacity-outlined-active: 12%;
|
|
4
|
+
}
|
|
5
|
+
|
|
6
|
+
@theme static {
|
|
7
|
+
/* === BASE COLOR MAPPING === */
|
|
8
|
+
/* Reference layer - single source of truth for theming */
|
|
9
|
+
--color-button-primary: var(--color-primary);
|
|
10
|
+
--color-button-secondary: var(--color-secondary);
|
|
11
|
+
--color-button-tertiary: var(--color-tertiary);
|
|
12
|
+
--color-button-warning: var(--color-warning);
|
|
13
|
+
--color-button-danger: var(--color-danger);
|
|
14
|
+
--color-button-borderless: transparent;
|
|
15
|
+
|
|
16
|
+
/* === DERIVED COLORS === */
|
|
17
|
+
/* Background colors - using reference layer */
|
|
18
|
+
--color-button-bg-primary: var(--color-button-primary);
|
|
19
|
+
--color-button-bg-secondary: var(--color-button-secondary);
|
|
20
|
+
--color-button-bg-tertiary: var(--color-button-tertiary);
|
|
21
|
+
--color-button-bg-warning: var(--color-button-warning);
|
|
22
|
+
--color-button-bg-danger: var(--color-button-danger);
|
|
23
|
+
|
|
24
|
+
/* Foreground colors */
|
|
25
|
+
--color-button-fg: var(--color-fg-reverse);
|
|
26
|
+
--color-button-fg-light: var(--color-fg-reverse);
|
|
27
|
+
--color-button-fg-outlined: var(--color-fg-primary);
|
|
28
|
+
--color-button-fg-primary: var(--color-button-fg);
|
|
29
|
+
--color-button-fg-secondary: var(--color-button-fg);
|
|
30
|
+
--color-button-fg-tertiary: var(--color-button-fg);
|
|
31
|
+
--color-button-fg-warning: var(--color-button-fg);
|
|
32
|
+
--color-button-fg-danger: var(--color-button-fg);
|
|
33
|
+
--color-button-fg-primary-light: var(--color-button-fg-light);
|
|
34
|
+
--color-button-fg-secondary-light: var(--color-button-fg-light);
|
|
35
|
+
--color-button-fg-tertiary-light: var(--color-button-fg-light);
|
|
36
|
+
--color-button-fg-warning-light: var(--color-button-fg-light);
|
|
37
|
+
--color-button-fg-danger-light: var(--color-button-fg-light);
|
|
38
|
+
--color-button-fg-outlined-primary: var(--color-button-fg-outlined);
|
|
39
|
+
--color-button-fg-outlined-secondary: var(--color-button-fg-outlined);
|
|
40
|
+
--color-button-fg-outlined-tertiary: var(--color-button-fg-outlined);
|
|
41
|
+
--color-button-fg-outlined-warning: var(--color-button-fg-outlined);
|
|
42
|
+
--color-button-fg-outlined-danger: var(--color-button-fg-outlined);
|
|
43
|
+
--color-button-fg-primary-borderless: var(--color-button-primary);
|
|
44
|
+
--color-button-fg-secondary-borderless: var(--color-button-secondary);
|
|
45
|
+
--color-button-fg-tertiary-borderless: var(--color-button-tertiary);
|
|
46
|
+
--color-button-fg-warning-borderless: var(--color-button-warning);
|
|
47
|
+
--color-button-fg-danger-borderless: var(--color-button-danger);
|
|
48
|
+
|
|
49
|
+
/* Border colors */
|
|
50
|
+
--color-button-border-primary: var(--color-button-primary);
|
|
51
|
+
--color-button-border-secondary: var(--color-button-secondary);
|
|
52
|
+
--color-button-border-tertiary: var(--color-button-tertiary);
|
|
53
|
+
--color-button-border-warning: var(--color-button-warning);
|
|
54
|
+
--color-button-border-danger: var(--color-button-danger);
|
|
55
|
+
|
|
56
|
+
/* === STATE VARIATIONS === */
|
|
57
|
+
/* Primary states */
|
|
58
|
+
--color-button-bg-primary-hover: oklch(
|
|
59
|
+
from var(--color-button-primary) calc(l + var(--state-hover)) c h
|
|
60
|
+
);
|
|
61
|
+
--color-button-bg-primary-active: oklch(
|
|
62
|
+
from var(--color-button-primary) calc(l + var(--state-active)) c h
|
|
63
|
+
);
|
|
64
|
+
|
|
65
|
+
/* Secondary states */
|
|
66
|
+
--color-button-bg-secondary-hover: oklch(
|
|
67
|
+
from var(--color-button-secondary) calc(l + var(--state-hover)) c h
|
|
68
|
+
);
|
|
69
|
+
--color-button-bg-secondary-active: oklch(
|
|
70
|
+
from var(--color-button-secondary) calc(l + var(--state-active)) c h
|
|
71
|
+
);
|
|
72
|
+
|
|
73
|
+
/* Tertiary states */
|
|
74
|
+
--color-button-bg-tertiary-hover: oklch(
|
|
75
|
+
from var(--color-button-tertiary) calc(l + var(--state-hover)) c h
|
|
76
|
+
);
|
|
77
|
+
--color-button-bg-tertiary-active: oklch(
|
|
78
|
+
from var(--color-button-tertiary) calc(l + var(--state-active)) c h
|
|
79
|
+
);
|
|
80
|
+
|
|
81
|
+
/* Warning states */
|
|
82
|
+
--color-button-bg-warning-hover: oklch(
|
|
83
|
+
from var(--color-button-warning) calc(l + var(--state-hover)) c h
|
|
84
|
+
);
|
|
85
|
+
--color-button-bg-warning-active: oklch(
|
|
86
|
+
from var(--color-button-warning) calc(l + var(--state-active)) c h
|
|
87
|
+
);
|
|
88
|
+
|
|
89
|
+
/* Danger states */
|
|
90
|
+
--color-button-bg-danger-hover: oklch(
|
|
91
|
+
from var(--color-button-danger) calc(l + var(--state-hover)) c h
|
|
92
|
+
);
|
|
93
|
+
--color-button-bg-danger-active: oklch(
|
|
94
|
+
from var(--color-button-danger) calc(l + var(--state-active)) c h
|
|
95
|
+
);
|
|
96
|
+
|
|
97
|
+
/* Borderless states */
|
|
98
|
+
--color-button-bg-borderless: var(--color-button-borderless);
|
|
99
|
+
--color-button-bg-borderless-hover: var(--color-fill-hover);
|
|
100
|
+
--color-button-bg-borderless-active: var(--color-fill-active);
|
|
101
|
+
|
|
102
|
+
/* === COMPONENT VARIANTS === */
|
|
103
|
+
/* Light variants */
|
|
104
|
+
--color-button-bg-primary-light: var(--color-primary-light);
|
|
105
|
+
--color-button-bg-secondary-light: var(--color-secondary-light);
|
|
106
|
+
--color-button-bg-tertiary-light: var(--color-tertiary-light);
|
|
107
|
+
--color-button-bg-warning-light: var(--color-warning-light);
|
|
108
|
+
--color-button-bg-danger-light: var(--color-danger-light);
|
|
109
|
+
|
|
110
|
+
/* Light variant states */
|
|
111
|
+
--color-button-bg-primary-light-hover: oklch(
|
|
112
|
+
from var(--color-button-bg-primary-light) calc(l + var(--state-hover)) c h
|
|
113
|
+
);
|
|
114
|
+
--color-button-bg-primary-light-active: oklch(
|
|
115
|
+
from var(--color-button-bg-primary-light) calc(l + var(--state-active)) c h
|
|
116
|
+
);
|
|
117
|
+
--color-button-bg-secondary-light-hover: oklch(
|
|
118
|
+
from var(--color-button-bg-secondary-light) calc(l + var(--state-hover)) c h
|
|
119
|
+
);
|
|
120
|
+
--color-button-bg-secondary-light-active: oklch(
|
|
121
|
+
from var(--color-button-bg-secondary-light) calc(l + var(--state-active)) c
|
|
122
|
+
h
|
|
123
|
+
);
|
|
124
|
+
--color-button-bg-tertiary-light-hover: oklch(
|
|
125
|
+
from var(--color-button-bg-tertiary-light) calc(l + var(--state-hover)) c h
|
|
126
|
+
);
|
|
127
|
+
--color-button-bg-tertiary-light-active: oklch(
|
|
128
|
+
from var(--color-button-bg-tertiary-light) calc(l + var(--state-active)) c h
|
|
129
|
+
);
|
|
130
|
+
--color-button-bg-warning-light-hover: oklch(
|
|
131
|
+
from var(--color-button-bg-warning-light) calc(l + var(--state-hover)) c h
|
|
132
|
+
);
|
|
133
|
+
--color-button-bg-warning-light-active: oklch(
|
|
134
|
+
from var(--color-button-bg-warning-light) calc(l + var(--state-active)) c h
|
|
135
|
+
);
|
|
136
|
+
--color-button-bg-danger-light-hover: oklch(
|
|
137
|
+
from var(--color-button-bg-danger-light) calc(l + var(--state-hover)) c h
|
|
138
|
+
);
|
|
139
|
+
--color-button-bg-danger-light-active: oklch(
|
|
140
|
+
from var(--color-button-bg-danger-light) calc(l + var(--state-active)) c h
|
|
141
|
+
);
|
|
142
|
+
|
|
143
|
+
/* Outlined variants */
|
|
144
|
+
--color-button-bg-outlined-primary-hover: --alpha(
|
|
145
|
+
var(--color-button-primary) /
|
|
146
|
+
var(--opacity-outlined-hover)
|
|
147
|
+
);
|
|
148
|
+
--color-button-bg-outlined-primary-active: --alpha(
|
|
149
|
+
var(--color-button-primary) /
|
|
150
|
+
var(--opacity-outlined-active)
|
|
151
|
+
);
|
|
152
|
+
--color-button-bg-outlined-secondary-hover: --alpha(
|
|
153
|
+
var(--color-button-secondary) /
|
|
154
|
+
var(--opacity-outlined-hover)
|
|
155
|
+
);
|
|
156
|
+
--color-button-bg-outlined-secondary-active: --alpha(
|
|
157
|
+
var(--color-button-secondary) /
|
|
158
|
+
var(--opacity-outlined-active)
|
|
159
|
+
);
|
|
160
|
+
--color-button-bg-outlined-tertiary-hover: --alpha(
|
|
161
|
+
var(--color-button-tertiary) /
|
|
162
|
+
var(--opacity-outlined-hover)
|
|
163
|
+
);
|
|
164
|
+
--color-button-bg-outlined-tertiary-active: --alpha(
|
|
165
|
+
var(--color-button-tertiary) /
|
|
166
|
+
var(--opacity-outlined-active)
|
|
167
|
+
);
|
|
168
|
+
--color-button-bg-outlined-warning-hover: --alpha(
|
|
169
|
+
var(--color-button-warning) /
|
|
170
|
+
var(--opacity-outlined-hover)
|
|
171
|
+
);
|
|
172
|
+
--color-button-bg-outlined-warning-active: --alpha(
|
|
173
|
+
var(--color-button-warning) /
|
|
174
|
+
var(--opacity-outlined-active)
|
|
175
|
+
);
|
|
176
|
+
--color-button-bg-outlined-danger-hover: --alpha(
|
|
177
|
+
var(--color-button-danger) /
|
|
178
|
+
var(--opacity-outlined-hover)
|
|
179
|
+
);
|
|
180
|
+
--color-button-bg-outlined-danger-active: --alpha(
|
|
181
|
+
var(--color-button-danger) /
|
|
182
|
+
var(--opacity-outlined-active)
|
|
183
|
+
);
|
|
184
|
+
|
|
185
|
+
/* === DISABLED STATES === */
|
|
186
|
+
--color-button-bg-disabled: var(--color-disabled-bg);
|
|
187
|
+
--color-button-fg-disabled: var(--color-disabled-fg);
|
|
188
|
+
--color-button-border-disabled: var(--color-disabled-border);
|
|
189
|
+
|
|
190
|
+
/* === SPACING === */
|
|
191
|
+
--spacing-button-sm: var(--spacing-150);
|
|
192
|
+
--spacing-button-md: var(--spacing-200);
|
|
193
|
+
--spacing-button-lg: var(--spacing-250);
|
|
194
|
+
|
|
195
|
+
--padding-button-sm: var(--spacing-150) var(--spacing-250);
|
|
196
|
+
--padding-button-md: var(--spacing-200) var(--spacing-350);
|
|
197
|
+
--padding-button-lg: var(--spacing-250) var(--spacing-450);
|
|
198
|
+
|
|
199
|
+
/* === TYPOGRAPHY === */
|
|
200
|
+
--text-button-sm: var(--text-sm);
|
|
201
|
+
--text-button-md: var(--text-md);
|
|
202
|
+
--text-button-lg: var(--text-lg);
|
|
203
|
+
|
|
204
|
+
/* === BORDERS & RADIUS === */
|
|
205
|
+
--radius-button-sm: var(--radius-sm);
|
|
206
|
+
--radius-button-md: var(--radius-md);
|
|
207
|
+
--radius-button-lg: var(--radius-lg);
|
|
208
|
+
|
|
209
|
+
--border-button-width-sm: var(--border-width-sm);
|
|
210
|
+
--border-button-width-md: var(--border-width-md);
|
|
211
|
+
--border-button-width-lg: var(--border-width-lg);
|
|
212
|
+
|
|
213
|
+
/* === FOCUS RING === */
|
|
214
|
+
--color-button-ring: var(--color-ring);
|
|
215
|
+
}
|
|
@@ -0,0 +1,122 @@
|
|
|
1
|
+
@plugin "@iconify/tailwind4";
|
|
2
|
+
|
|
3
|
+
@theme static {
|
|
4
|
+
--text-icon-xs: var(--text-xs);
|
|
5
|
+
--text-icon-sm: var(--text-sm);
|
|
6
|
+
--text-icon-md: var(--text-md);
|
|
7
|
+
--text-icon-lg: var(--text-lg);
|
|
8
|
+
--text-icon-xl: var(--text-xl);
|
|
9
|
+
--text-icon-2xl: var(--text-2xl);
|
|
10
|
+
}
|
|
11
|
+
|
|
12
|
+
/* Semantic tokens for icons */
|
|
13
|
+
@utility token-icon-error {
|
|
14
|
+
@apply icon-[mdi-light--alert-circle];
|
|
15
|
+
}
|
|
16
|
+
|
|
17
|
+
@utility token-icon-success {
|
|
18
|
+
@apply icon-[mdi-light--check-circle];
|
|
19
|
+
}
|
|
20
|
+
|
|
21
|
+
@utility token-icon-warning {
|
|
22
|
+
@apply icon-[mdi-light--alert];
|
|
23
|
+
}
|
|
24
|
+
|
|
25
|
+
@utility token-icon-info {
|
|
26
|
+
@apply icon-[mdi-light--information];
|
|
27
|
+
}
|
|
28
|
+
|
|
29
|
+
|
|
30
|
+
@utility token-icon-close {
|
|
31
|
+
@apply icon-[mdi--close];
|
|
32
|
+
}
|
|
33
|
+
|
|
34
|
+
/* Component tokens for icons */
|
|
35
|
+
@utility token-icon-input-error {
|
|
36
|
+
@apply token-icon-error;
|
|
37
|
+
}
|
|
38
|
+
|
|
39
|
+
@utility token-icon-input-success {
|
|
40
|
+
@apply token-icon-success;
|
|
41
|
+
}
|
|
42
|
+
|
|
43
|
+
@utility token-icon-input-warning {
|
|
44
|
+
@apply token-icon-warning;
|
|
45
|
+
}
|
|
46
|
+
|
|
47
|
+
@utility token-icon-input-info {
|
|
48
|
+
@apply token-icon-info;
|
|
49
|
+
}
|
|
50
|
+
|
|
51
|
+
|
|
52
|
+
/* Navigation icons */
|
|
53
|
+
@utility token-icon-chevron-down {
|
|
54
|
+
@apply icon-[mdi--chevron-down];
|
|
55
|
+
}
|
|
56
|
+
|
|
57
|
+
@utility token-icon-chevron-right {
|
|
58
|
+
@apply icon-[mdi--chevron-right];
|
|
59
|
+
}
|
|
60
|
+
|
|
61
|
+
@utility token-icon-chevron-left {
|
|
62
|
+
@apply icon-[mdi--chevron-left];
|
|
63
|
+
}
|
|
64
|
+
|
|
65
|
+
@utility token-icon-chevron-up {
|
|
66
|
+
@apply icon-[mdi--chevron-up];
|
|
67
|
+
}
|
|
68
|
+
|
|
69
|
+
/* Action icons */
|
|
70
|
+
@utility token-icon-plus {
|
|
71
|
+
@apply icon-[mdi--plus];
|
|
72
|
+
}
|
|
73
|
+
|
|
74
|
+
@utility token-icon-folder {
|
|
75
|
+
@apply icon-[mdi--folder];
|
|
76
|
+
}
|
|
77
|
+
|
|
78
|
+
@utility token-icon-save {
|
|
79
|
+
@apply icon-[mdi--content-save];
|
|
80
|
+
}
|
|
81
|
+
|
|
82
|
+
@utility token-icon-trash {
|
|
83
|
+
@apply icon-[mdi--delete];
|
|
84
|
+
}
|
|
85
|
+
|
|
86
|
+
@utility token-icon-copy {
|
|
87
|
+
@apply icon-[mdi--content-copy];
|
|
88
|
+
}
|
|
89
|
+
|
|
90
|
+
@utility token-icon-clipboard {
|
|
91
|
+
@apply icon-[mdi--clipboard];
|
|
92
|
+
}
|
|
93
|
+
|
|
94
|
+
@utility token-icon-undo {
|
|
95
|
+
@apply icon-[mdi--undo];
|
|
96
|
+
}
|
|
97
|
+
|
|
98
|
+
@utility token-icon-redo {
|
|
99
|
+
@apply icon-[mdi--redo];
|
|
100
|
+
}
|
|
101
|
+
|
|
102
|
+
@utility token-icon-check {
|
|
103
|
+
@apply icon-[mdi--check];
|
|
104
|
+
}
|
|
105
|
+
|
|
106
|
+
/* product card icons */
|
|
107
|
+
|
|
108
|
+
@utility token-icon-cart {
|
|
109
|
+
@apply icon-[mdi-light--cart];
|
|
110
|
+
}
|
|
111
|
+
|
|
112
|
+
@utility token-icon-eye {
|
|
113
|
+
@apply icon-[mdi--eye];
|
|
114
|
+
}
|
|
115
|
+
|
|
116
|
+
@utility token-icon-heart {
|
|
117
|
+
@apply icon-[mdi--heart];
|
|
118
|
+
}
|
|
119
|
+
|
|
120
|
+
@utility token-icon-search {
|
|
121
|
+
@apply icon-[mdi--magnify];
|
|
122
|
+
}
|
|
@@ -0,0 +1,125 @@
|
|
|
1
|
+
@theme static {
|
|
2
|
+
/* BASE TOKENS - direct mapping from semantic tokens */
|
|
3
|
+
/* Base input colors */
|
|
4
|
+
--color-input: var(--color-fill-base);
|
|
5
|
+
--color-input-border: var(--color-border-primary);
|
|
6
|
+
--color-input-fg: var(--color-fg-primary);
|
|
7
|
+
--color-input-disabled: var(--color-disabled-bg);
|
|
8
|
+
|
|
9
|
+
/* Validation states - primary colors */
|
|
10
|
+
--color-input-danger: var(--color-danger);
|
|
11
|
+
--color-input-success: var(--color-success);
|
|
12
|
+
--color-input-warning: var(--color-warning);
|
|
13
|
+
|
|
14
|
+
/* DERIVED STATES - automatically calculated from base tokens */
|
|
15
|
+
/* Default state - hover/focus/disabled */
|
|
16
|
+
--color-input-hover: oklch(
|
|
17
|
+
from var(--color-input) calc(l + var(--state-hover)) c h
|
|
18
|
+
);
|
|
19
|
+
--color-input-focus: oklch(
|
|
20
|
+
from var(--color-input) calc(l + var(--state-active)) c h
|
|
21
|
+
);
|
|
22
|
+
|
|
23
|
+
--color-input-border-hover: oklch(
|
|
24
|
+
from var(--color-input-border) calc(l + var(--state-hover)) c h
|
|
25
|
+
);
|
|
26
|
+
--color-input-border-focus: var(--color-primary);
|
|
27
|
+
--color-input-border-disabled: --alpha(
|
|
28
|
+
var(--color-input-border) /
|
|
29
|
+
var(--opacity-disabled)
|
|
30
|
+
);
|
|
31
|
+
|
|
32
|
+
/* Error state - hover/focus */
|
|
33
|
+
--color-input-border-danger: var(--color-input-danger);
|
|
34
|
+
--color-input-border-danger-hover: oklch(
|
|
35
|
+
from var(--color-input-danger) calc(l + var(--state-hover)) c h
|
|
36
|
+
);
|
|
37
|
+
--color-input-border-danger-focus: var(--color-input-danger);
|
|
38
|
+
--color-input-placeholder-danger: --alpha(
|
|
39
|
+
var(--color-input-danger) /
|
|
40
|
+
var(--opacity-disabled)
|
|
41
|
+
);
|
|
42
|
+
|
|
43
|
+
/* Success state - hover/focus */
|
|
44
|
+
--color-input-border-success: var(--color-input-success);
|
|
45
|
+
--color-input-border-success-hover: oklch(
|
|
46
|
+
from var(--color-input-success) calc(l + var(--state-hover)) c h
|
|
47
|
+
);
|
|
48
|
+
--color-input-border-success-focus: var(--color-input-success);
|
|
49
|
+
--color-input-placeholder-success: --alpha(
|
|
50
|
+
var(--color-input-success) /
|
|
51
|
+
var(--opacity-disabled)
|
|
52
|
+
);
|
|
53
|
+
|
|
54
|
+
/* Warning state - hover/focus */
|
|
55
|
+
--color-input-border-warning: var(--color-input-warning);
|
|
56
|
+
--color-input-border-warning-hover: oklch(
|
|
57
|
+
from var(--color-input-warning) calc(l + var(--state-hover)) c h
|
|
58
|
+
);
|
|
59
|
+
--color-input-border-warning-focus: var(--color-input-warning);
|
|
60
|
+
--color-input-placeholder-warning: --alpha(
|
|
61
|
+
var(--color-input-warning) /
|
|
62
|
+
var(--opacity-disabled)
|
|
63
|
+
);
|
|
64
|
+
|
|
65
|
+
/* Text colors */
|
|
66
|
+
--color-input-fg-disabled: --alpha(
|
|
67
|
+
var(--color-input-fg) /
|
|
68
|
+
var(--opacity-disabled)
|
|
69
|
+
);
|
|
70
|
+
--color-input-placeholder: --alpha(
|
|
71
|
+
var(--color-input-fg) /
|
|
72
|
+
var(--opacity-placeholder)
|
|
73
|
+
);
|
|
74
|
+
|
|
75
|
+
--color-input-placeholder-disabled: --alpha(
|
|
76
|
+
var(--color-input-fg) /
|
|
77
|
+
var(--opacity-disabled-placeholder)
|
|
78
|
+
);
|
|
79
|
+
|
|
80
|
+
/* Label colors */
|
|
81
|
+
--color-label-fg: var(--color-input-fg);
|
|
82
|
+
--color-label-disabled: var(--color-input-fg-disabled);
|
|
83
|
+
--color-label-required: var(--color-input-danger);
|
|
84
|
+
--margin-label: var(--spacing-100);
|
|
85
|
+
|
|
86
|
+
/* Error/Helper/Extra colors */
|
|
87
|
+
--color-error-fg: var(--color-danger);
|
|
88
|
+
--color-helper-fg: var(--color-input-fg);
|
|
89
|
+
|
|
90
|
+
/* Focus ring colors - using consistent opacity */
|
|
91
|
+
--color-input-ring: var(--color-ring);
|
|
92
|
+
|
|
93
|
+
/* Spacing - keeping your existing values */
|
|
94
|
+
--padding-input-sm: var(--spacing-250) var(--spacing-250);
|
|
95
|
+
--padding-input-md: var(--spacing-350) var(--spacing-250);
|
|
96
|
+
--padding-input-lg: var(--spacing-450) var(--spacing-350);
|
|
97
|
+
--padding-with-button: var(--spacing-950);
|
|
98
|
+
|
|
99
|
+
/* Typography */
|
|
100
|
+
--text-input-sm: var(--text-sm);
|
|
101
|
+
--text-input-md: var(--text-md);
|
|
102
|
+
--text-input-lg: var(--text-lg);
|
|
103
|
+
|
|
104
|
+
/* Border */
|
|
105
|
+
--border-width-input: 1px;
|
|
106
|
+
--radius-input: var(--radius-md);
|
|
107
|
+
|
|
108
|
+
/* Label */
|
|
109
|
+
|
|
110
|
+
--font-label: var(--font-bold);
|
|
111
|
+
--text-label-sm: var(--text-input-sm);
|
|
112
|
+
--text-label-md: var(--text-input-md);
|
|
113
|
+
--text-label-lg: var(--text-input-lg);
|
|
114
|
+
|
|
115
|
+
/* Error message */
|
|
116
|
+
--text-error-sm: var(--text-input-sm);
|
|
117
|
+
--text-error-md: var(--text-input-md);
|
|
118
|
+
--text-error-lg: var(--text-input-lg);
|
|
119
|
+
|
|
120
|
+
/* Helper text / Extra text */
|
|
121
|
+
--text-helper-sm: var(--text-input-sm);
|
|
122
|
+
--text-helper-md: var(--text-input-md);
|
|
123
|
+
--text-helper-lg: var(--text-input-lg);
|
|
124
|
+
--color-helper-fg: var(--color-fg-secondary);
|
|
125
|
+
}
|
|
@@ -0,0 +1,57 @@
|
|
|
1
|
+
@theme static {
|
|
2
|
+
/* === BASE TOKEN MAPPING === */
|
|
3
|
+
--color-numeric-input-bg: var(--color-surface);
|
|
4
|
+
--color-numeric-input-hover: oklch(
|
|
5
|
+
from var(--color-numeric-input-bg) calc(l + var(--state-hover)) c h
|
|
6
|
+
);
|
|
7
|
+
--color-numeric-input-focus: oklch(
|
|
8
|
+
from var(--color-numeric-input-bg) calc(l + var(--state-hover)) c h
|
|
9
|
+
);
|
|
10
|
+
--color-numeric-input-border: var(--color-input-border);
|
|
11
|
+
--color-numeric-input-fg: var(--color-input-fg);
|
|
12
|
+
|
|
13
|
+
--color-numeric-input-invalid-border: var(--color-danger);
|
|
14
|
+
--color-numeric-input-invalid-bg: --alpha(var(--color-danger) / 10%);
|
|
15
|
+
|
|
16
|
+
--gap-numeric-input-root-sm: var(--spacing-150);
|
|
17
|
+
--gap-numeric-input-root-md: var(--spacing-200);
|
|
18
|
+
--gap-numeric-input-root-lg: var(--spacing-250);
|
|
19
|
+
|
|
20
|
+
/* ==== TYPOGRAPHY ==== */
|
|
21
|
+
--text-numeric-input-sm: var(--text-sm);
|
|
22
|
+
--text-numeric-input-md: var(--text-md);
|
|
23
|
+
--text-numeric-input-lg: var(--text-lg);
|
|
24
|
+
|
|
25
|
+
/* === INPUT === */
|
|
26
|
+
--color-numeric-input-input-bg: transparent;
|
|
27
|
+
--color-numeric-input-input-bg-hover: var(--color-numeric-input-hover);
|
|
28
|
+
--color-numeric-input-input-bg-focus: var(--color-numeric-input-focus);
|
|
29
|
+
--padding-numeric-input-input: 0 0 0 var(--spacing-150);
|
|
30
|
+
|
|
31
|
+
/* === TRIGGER === */
|
|
32
|
+
--color-numeric-input-trigger-container-bg: var(--color-numeric-input-bg);
|
|
33
|
+
--color-numeric-input-trigger-bg: var(--color-numeric-input-bg);
|
|
34
|
+
--color-numeric-input-trigger-bg-hover: oklch(
|
|
35
|
+
from var(--color-numeric-input-trigger-bg) calc(l + var(--state-hover)) c h
|
|
36
|
+
);
|
|
37
|
+
--color-numeric-input-trigger-fg: var(--color-numeric-input-fg);
|
|
38
|
+
--color-numeric-input-trigger-fg-hover: var(--color-primary);
|
|
39
|
+
--padding-numeric-input-trigger-x: var(--spacing-150);
|
|
40
|
+
--padding-numeric-input-trigger-y: var(--spacing-100);
|
|
41
|
+
|
|
42
|
+
/* === INCREMENT BUTTON === */
|
|
43
|
+
|
|
44
|
+
--radius-numeric-input: var(--radius-sm);
|
|
45
|
+
--border-width-numeric-input: var(--border-width-input);
|
|
46
|
+
|
|
47
|
+
/* === FOCUS RING === */
|
|
48
|
+
--color-numeric-input-ring: var(--color-ring);
|
|
49
|
+
}
|
|
50
|
+
|
|
51
|
+
@utility token-icon-numeric-input-increment {
|
|
52
|
+
@apply icon-[mdi--chevron-up];
|
|
53
|
+
}
|
|
54
|
+
|
|
55
|
+
@utility token-icon-numeric-input-decrement {
|
|
56
|
+
@apply icon-[mdi--chevron-down];
|
|
57
|
+
}
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
@theme static {
|
|
2
|
+
/* === BASE COLORS === */
|
|
3
|
+
--color-rating-fg: var(--color-highlight);
|
|
4
|
+
--color-rating-fg-active: var(--color-warning);
|
|
5
|
+
|
|
6
|
+
/* === DISABLED STATES === */
|
|
7
|
+
--color-rating-fg-disabled: --alpha(
|
|
8
|
+
var(--color-rating-fg-active) /
|
|
9
|
+
var(--opacity-disabled)
|
|
10
|
+
);
|
|
11
|
+
|
|
12
|
+
/* === SPACING === */
|
|
13
|
+
--spacing-rating-sm: var(--spacing-100);
|
|
14
|
+
--spacing-rating-md: var(--spacing-150);
|
|
15
|
+
--spacing-rating-lg: var(--spacing-200);
|
|
16
|
+
|
|
17
|
+
/* === TYPOGRAPHY === */
|
|
18
|
+
--text-rating-sm: var(--text-icon-sm);
|
|
19
|
+
--text-rating-md: var(--text-icon-md);
|
|
20
|
+
--text-rating-lg: var(--text-icon-lg);
|
|
21
|
+
|
|
22
|
+
/* === FOCUS RING === */
|
|
23
|
+
--color-rating-ring: var(--color-ring);
|
|
24
|
+
}
|
|
25
|
+
|
|
26
|
+
/* Semantic tokens for rating icons */
|
|
27
|
+
@utility token-icon-rating {
|
|
28
|
+
@apply icon-[mdi--star];
|
|
29
|
+
}
|
|
30
|
+
|
|
31
|
+
@utility token-icon-rating-half {
|
|
32
|
+
@apply icon-[mdi--star-half];
|
|
33
|
+
}
|