@rovula/ui 0.0.82 → 0.1.1

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.
Files changed (84) hide show
  1. package/dist/cjs/bundle.css +67 -1
  2. package/dist/cjs/bundle.js +9261 -3
  3. package/dist/cjs/bundle.js.map +1 -1
  4. package/dist/cjs/types/components/Footer/Footer.d.ts +21 -0
  5. package/dist/cjs/types/components/Footer/Footer.stories.d.ts +45 -0
  6. package/dist/cjs/types/components/Footer/index.d.ts +2 -0
  7. package/dist/cjs/types/components/Icon/Icon.d.ts +1 -1
  8. package/dist/cjs/types/components/Icon/Icon.stories.d.ts +9 -1
  9. package/dist/cjs/types/components/Navbar/Navbar.d.ts +5 -0
  10. package/dist/cjs/types/components/Navbar/Navbar.stories.d.ts +14 -0
  11. package/dist/cjs/types/components/PasswordInput/PasswordInput.d.ts +19 -0
  12. package/dist/cjs/types/components/PasswordInput/PasswordInput.stories.d.ts +395 -0
  13. package/dist/cjs/types/components/PasswordInput/index.d.ts +2 -0
  14. package/dist/cjs/types/icons/index.d.ts +1 -0
  15. package/dist/cjs/types/icons/lucideIconNames.d.ts +9 -0
  16. package/dist/cjs/types/index.d.ts +7 -1
  17. package/dist/cjs/types/utils/colors.d.ts +330 -0
  18. package/dist/components/Footer/Footer.js +11 -0
  19. package/dist/components/Footer/Footer.stories.js +34 -0
  20. package/dist/components/Footer/index.js +2 -0
  21. package/dist/components/Icon/Icon.js +28 -11
  22. package/dist/components/Icon/Icon.stories.js +39 -0
  23. package/dist/components/Navbar/Navbar.js +18 -4
  24. package/dist/components/Navbar/Navbar.stories.js +16 -9
  25. package/dist/components/PasswordInput/PasswordInput.js +36 -0
  26. package/dist/components/PasswordInput/PasswordInput.stories.js +67 -0
  27. package/dist/components/PasswordInput/index.js +1 -0
  28. package/dist/esm/bundle.css +67 -1
  29. package/dist/esm/bundle.js +9261 -3
  30. package/dist/esm/bundle.js.map +1 -1
  31. package/dist/esm/types/components/Footer/Footer.d.ts +21 -0
  32. package/dist/esm/types/components/Footer/Footer.stories.d.ts +45 -0
  33. package/dist/esm/types/components/Footer/index.d.ts +2 -0
  34. package/dist/esm/types/components/Icon/Icon.d.ts +1 -1
  35. package/dist/esm/types/components/Icon/Icon.stories.d.ts +9 -1
  36. package/dist/esm/types/components/Navbar/Navbar.d.ts +5 -0
  37. package/dist/esm/types/components/Navbar/Navbar.stories.d.ts +14 -0
  38. package/dist/esm/types/components/PasswordInput/PasswordInput.d.ts +19 -0
  39. package/dist/esm/types/components/PasswordInput/PasswordInput.stories.d.ts +395 -0
  40. package/dist/esm/types/components/PasswordInput/index.d.ts +2 -0
  41. package/dist/esm/types/icons/index.d.ts +1 -0
  42. package/dist/esm/types/icons/lucideIconNames.d.ts +9 -0
  43. package/dist/esm/types/index.d.ts +7 -1
  44. package/dist/esm/types/utils/colors.d.ts +330 -0
  45. package/dist/icons/index.js +1 -0
  46. package/dist/icons/lucideIconNames.js +12 -0
  47. package/dist/index.d.ts +386 -2
  48. package/dist/index.js +4 -0
  49. package/dist/src/theme/global.css +1946 -309
  50. package/dist/utils/colors.js +369 -0
  51. package/package.json +5 -2
  52. package/src/components/Button/Button.tsx +7 -7
  53. package/src/components/Footer/Footer.stories.tsx +119 -0
  54. package/src/components/Footer/Footer.tsx +122 -0
  55. package/src/components/Footer/index.ts +3 -0
  56. package/src/components/Icon/Icon.stories.tsx +89 -0
  57. package/src/components/Icon/Icon.tsx +44 -23
  58. package/src/components/Navbar/Navbar.stories.tsx +109 -55
  59. package/src/components/Navbar/Navbar.tsx +41 -3
  60. package/src/components/PasswordInput/PasswordInput.stories.tsx +111 -0
  61. package/src/components/PasswordInput/PasswordInput.tsx +50 -0
  62. package/src/components/PasswordInput/index.ts +2 -0
  63. package/src/icons/index.ts +1 -0
  64. package/src/icons/lucideIconNames.ts +14 -0
  65. package/src/index.ts +15 -1
  66. package/src/theme/THEME_MAPPING.md +231 -0
  67. package/src/theme/global.css +2 -1
  68. package/src/theme/themes/skyller/baseline.css +6 -0
  69. package/src/theme/themes/skyller/color.css +79 -0
  70. package/src/theme/themes/skyller/components/action-button.css +81 -0
  71. package/src/theme/themes/skyller/palette.css +143 -0
  72. package/src/theme/themes/skyller/state.css +94 -0
  73. package/src/theme/themes/skyller/transparent.css +94 -0
  74. package/src/theme/themes/skyller/typography.css +30 -0
  75. package/src/theme/themes/variable.css +1057 -0
  76. package/src/theme/themes/xspector/color.css +50 -48
  77. package/src/theme/themes/xspector/palette.css +141 -121
  78. package/src/theme/themes/xspector/state.css +83 -78
  79. package/src/theme/themes/xspector/transparent.css +93 -68
  80. package/src/theme/tokens/baseline.css +1 -0
  81. package/src/theme/tokens/components/footer.css +9 -0
  82. package/src/theme/tokens/components/navbar.css +2 -1
  83. package/src/types/lucide-react.d.ts +5 -0
  84. package/src/utils/colors.ts +383 -0
@@ -0,0 +1,231 @@
1
+ # Theme Mapping Documentation
2
+
3
+ เอกสาร mapping ระหว่าง Tailwind class, CSS variables ที่ใช้ใน code และ raw CSS ที่ export จาก Figma
4
+
5
+ ---
6
+
7
+ ## 1. Naming Convention
8
+
9
+ | แหล่ง | Pattern | ตัวอย่าง |
10
+ |------|---------|----------|
11
+ | **Tailwind class** | `{utility}-{token}` | `bg-primary-stroke`, `text-secondary-default` |
12
+ | **Code CSS (runtime)** | `--state-color-{base}-{state}` | `--state-color-secondary-stroke` |
13
+ | **Figma export (variable.css)** | `--{name}-{theme}` | `--state-secondary-stroke-skyller` |
14
+
15
+ > **Note:** Code ใช้ `--state-color-*` (version เก่า), Figma export ใช้ `--state-*` (version ใหม่ ไม่มี "color")
16
+
17
+ ---
18
+
19
+ ## 2. Tailwind → CSS Variable Mapping
20
+
21
+ ### 2.1 generateColorConfig (State + Palette)
22
+
23
+ ใช้กับ: `primary`, `secondary`, `tertiary`, `grey`, `grey2`, `info`, `success`, `warning`, `error`
24
+
25
+ | Tailwind class | CSS variable (code) | Figma path |
26
+ |----------------|-------------------|------------|
27
+ | `{base}` | `--state-color-{base}-default` | `state/{base}/default` |
28
+ | `{base}-default` | `--state-color-{base}-default` | `state/{base}/default` |
29
+ | `{base}-hover` | `--state-color-{base}-hover` | `state/{base}/hover` |
30
+ | `{base}-stroke` | `--state-color-{base}-stroke` | `state/{base}/stroke` |
31
+ | `{base}-hover-bg` | `--state-color-{base}-hover-bg` | `state/{base}/hover-bg` |
32
+ | `{base}-pressed` | `--state-color-{base}-pressed` | `state/{base}/pressed` |
33
+ | `{base}-active` | `--state-color-{base}-active` | `state/{base}/active` |
34
+ | `{base}-text-solid` | `--state-color-{base}-text-solid` | `state/{base}/text-solid` |
35
+ | `{base}-text-outline` | `--state-color-{base}-text-outline` | `state/{base}/text-outline` |
36
+ | `{base}-text-pressed` | `--state-color-{base}-text-pressed` | `state/{base}/text-pressed` |
37
+ | `{base}-text-hover` | ⚠️ ไม่มีใน utils (มีใน state.css) | `state/{base}/text-hover` |
38
+ | `{base}-foreground` | `--{base}-foreground` | - |
39
+ | `{base}-{num}` | `--{variablePrefix}-{num}` | `ramps/{base}/{num}` |
40
+
41
+ **Config ใช้จริง:**
42
+
43
+ | baseName | variablePrefix | range |
44
+ |----------|----------------|-------|
45
+ | primary | primary-ramps-primary | 5,10,20...150 |
46
+ | secondary | secondary-ramps-secondary | 5,10,20...150 |
47
+ | tertiary | tertiary-ramps-tertiary | 5,10,20...150 |
48
+ | grey | grey-grey | 5,10,20...150 |
49
+ | grey2 | grey2-grey2 | 50,100...950 |
50
+ | info | info-info | 50,100...950 |
51
+ | success | success-success | 50,100...950 |
52
+ | warning | warning-warning | 50,100...950 |
53
+ | error | error-error | 50,100...950 |
54
+
55
+ ---
56
+
57
+ ### 2.2 generateTransparentColorConfig
58
+
59
+ | Tailwind class | CSS variable (code) | Figma (variable.css) |
60
+ |----------------|---------------------|----------------------|
61
+ | `{base}-transparent-8` | `--main-transparency-{base}-8` หรือ `--other-transparency-{base}-8` | `--transparency-{base}-8-{theme}` |
62
+ | `{base}-transparent-12` | ... | ... |
63
+ | `{base}-transparent-16` | ... | ... |
64
+ | `{base}-transparent-24` | ... | ... |
65
+ | `{base}-transparent-32` | ... | ... |
66
+ | `{base}-transparent-48` | ... | ... |
67
+
68
+ **Config:** primary/secondary/tertiary ใช้ `main`, อื่นๆ ใช้ `other`
69
+
70
+ ---
71
+
72
+ ### 2.3 generateButtonStyles
73
+
74
+ **Prefix:** `button-{theme}-{mode}` | **Themes:** primary, secondary, tertiary, info, success, warning, error | **Modes:** solid, outline, flat
75
+
76
+ | Tailwind class | CSS variable | ใช้กับ |
77
+ |----------------|--------------|--------|
78
+ | `button-{theme}-{mode}-default` | `--button-{theme}-{mode}-default-{type}` | border, bg, text |
79
+ | `button-{theme}-{mode}-hover` | `--button-{theme}-{mode}-hover-{type}` | border, bg, text |
80
+ | `button-{theme}-{mode}-active` | `--button-{theme}-{mode}-active-{type}` | border, bg, text |
81
+ | `button-{theme}-{mode}-disabled` | `--button-{theme}-{mode}-disabled-{type}` | border, bg, text |
82
+
83
+ ---
84
+
85
+ ### 2.4 generateActionButtonStyles
86
+
87
+ **Prefix:** `action-button-{mode}` | **Modes:** solid, outline, icon
88
+
89
+ | Tailwind class | CSS variable | ใช้กับ |
90
+ |----------------|--------------|--------|
91
+ | `action-button-{mode}-default` | `--action-button-{mode}-default-{type}` | border, bg, text |
92
+ | `action-button-{mode}-hover` | `--action-button-{mode}-hover-{type}` | border, bg, text |
93
+ | `action-button-{mode}-pressed` | `--action-button-{mode}-pressed-{type}` | border, bg, text |
94
+ | `action-button-{mode}-active` | `--action-button-{mode}-active-{type}` | border, bg, text |
95
+ | `action-button-{mode}-active-pressed` | `--action-button-{mode}-active-pressed-{type}` | border, bg, text |
96
+ | `action-button-{mode}-active-hover` | `--action-button-{mode}-active-hover-{type}` | border, bg, text |
97
+ | `action-button-{mode}-disabled` | `--action-button-{mode}-disabled-{type}` | border, bg, text |
98
+
99
+ ---
100
+
101
+ ### 2.5 Manual Mappings (colors.js)
102
+
103
+ #### Text
104
+ | Tailwind | CSS variable | Figma (variable.css) |
105
+ |----------|--------------|----------------------|
106
+ | text-black | --text-black | --text-black-{theme} |
107
+ | text-dark | --text-dark | --text-dark-{theme} |
108
+ | text-medium | --text-medium | --text-medium-{theme} |
109
+ | text-light | --text-light | --text-light-{theme} |
110
+ | text-grey-dark | --text-grey-dark | --text-grey-dark-{theme} |
111
+ | text-grey-medium | --text-grey-medium | --text-grey-medium-{theme} |
112
+ | text-grey-light | --text-grey-light | --text-grey-light-{theme} |
113
+ | text-white | --text-white | --text-white-{theme} |
114
+
115
+ #### State disable
116
+ | Tailwind | CSS variable | Figma |
117
+ |----------|--------------|-------|
118
+ | state-disable-solid | --state-color-disable-solid | --state-disable-solid-{theme} |
119
+ | state-disable-outline | --state-color-disable-outline | --state-disable-outline-{theme} |
120
+
121
+ #### Input
122
+ | Tailwind | CSS variable | Figma |
123
+ |----------|--------------|-------|
124
+ | input-default-text | --input-color-default-text | --input-default-text-{theme} |
125
+ | input-default-stroke | --input-color-default-stroke | --input-default-stroke-{theme} |
126
+ | input-filled-text | --input-color-filled-text | --input-filled-text-{theme} |
127
+ | input-active-stroke | --input-color-active-stroke | --input-active-stroke-{theme} |
128
+ | input-disable-text | --input-color-disable-text | --input-disable-text-{theme} |
129
+ | input-disable-stroke | --input-color-disable-stroke | --input-disable-stroke-{theme} |
130
+ | input-disable-bg | --input-color-disable-bg | --input-disable-bg-{theme} |
131
+ | input-label-bg | --input-color-label-bg | --input-label-bg-{theme} |
132
+ | input-error | --input-color-error | --input-error-{theme} |
133
+
134
+ #### Function
135
+ | Tailwind | CSS variable | Figma |
136
+ |----------|--------------|-------|
137
+ | function-default-solid | --function-default-solid | --function-default-solid-{theme} |
138
+ | function-default-hover | --function-default-hover | --function-default-hover-{theme} |
139
+ | function-default-hover-bg | --function-default-hover-bg | --function-default-hover-bg-{theme} |
140
+ | function-default-stroke | --function-default-stroke | --function-default-stroke-{theme} |
141
+ | function-default-icon | --function-default-icon | --function-default-icon-{theme} |
142
+ | function-default-outline | --function-default-outline-icon | --function-default-outline-icon-{theme} |
143
+ | function-active-solid | --function-active-solid | --function-active-solid-{theme} |
144
+ | function-active-hover | --function-active-hover | --function-active-hover-{theme} |
145
+ | function-active-hover-bg | --function-active-hover-bg | --function-active-hover-bg-{theme} |
146
+ | function-active-stroke | --function-active-stroke | --function-active-stroke-{theme} |
147
+ | function-active-icon | --function-active-icon | --function-active-icon-{theme} |
148
+
149
+ #### Base
150
+ | Tailwind | CSS variable | Figma |
151
+ |----------|--------------|-------|
152
+ | base-bg | --base-color-bg | --base-bg-bg1-{theme} |
153
+ | base-bg2 | --base-color-bg2 | --base-bg-bg2-{theme} |
154
+ | base-bg3 | --base-color-bg3 | --base-bg-bg3-{theme} |
155
+ | base-popup | --base-color-popup | - |
156
+ | base-popup-highlight | --base-color-popup-hightlight *(typo)* | --base-modal-modal-hightlight-{theme} *(typo)* |
157
+ | base-popup-curtain | --base-color-popup-curtain | --base-modal-modal-curtain-{theme} |
158
+ | base-popup-foreground | --base-color-popup-foreground | - |
159
+ | base-stroke | --base-color-workspace-stroke | --base-bg-stroke1-{theme} |
160
+ | base-workspace-stroke | --base-color-workspace-stroke | --base-bg-stroke1-{theme} |
161
+ | base-guideline-stroke | --base-color-guideline-stroke | - |
162
+
163
+ #### Common
164
+ | Tailwind | CSS variable | Figma |
165
+ |----------|--------------|-------|
166
+ | common-white | --common-white | --common-white-{theme} |
167
+ | common-black | --common-black | --common-black-{theme} |
168
+ | surface | --surface | - |
169
+ | surface-foreground | --surface-foreground | - |
170
+ | background | --background | - |
171
+ | foreground | --foreground | - |
172
+
173
+ ---
174
+
175
+ ## 3. Figma Export (variable.css) Structure
176
+
177
+ ### 3.1 Theme suffixes
178
+ - `xspector`
179
+ - `skyller`
180
+ - `report-xspector-light-mode`
181
+
182
+ ### 3.2 Variable categories
183
+
184
+ | Category | Pattern | ตัวอย่าง |
185
+ |----------|---------|----------|
186
+ | **Main** | `--main-{color}-{theme}` | --main-primary-skyller |
187
+ | **Brand** | `--brand-{name}-{theme}` | --brand-midnight-blue-skyller |
188
+ | **Text** | `--text-{variant}-{theme}` | --text-dark-skyller |
189
+ | **State** | `--state-{base}-{state}-{theme}` | --state-primary-default-skyller |
190
+ | **Ramps** | `--ramps-{base}-{num}-{theme}` | --ramps-primary-5-skyller |
191
+ | **Transparency** | `--transparency-{base}-{num}-{theme}` | --transparency-primary-8-skyller |
192
+ | **Base** | `--base-{category}-{name}-{theme}` | --base-bg-bg1-skyller |
193
+ | **Input** | `--input-{state}-{property}-{theme}` | --input-default-text-skyller |
194
+ | **Function** | `--function-{state}-{property}-{theme}` | --function-default-solid-skyller |
195
+ | **Common** | `--common-{color}-{theme}` | --common-white-skyller |
196
+
197
+ ### 3.3 Known typos in variable.css
198
+ - `tertiery` → should be `tertiary`
199
+ - `backgroud` → should be `background`
200
+ - `hightlight` → should be `highlight`
201
+
202
+ ---
203
+
204
+ ## 4. Quick Reference: Figma → Tailwind
205
+
206
+ เมื่อ designer ส่ง Figma inspect มา ให้ map ดังนี้:
207
+
208
+ | Figma token path | Tailwind class |
209
+ |------------------|----------------|
210
+ | state/secondary/stroke | border-secondary-stroke |
211
+ | state/secondary/text-outline | text-secondary-text-outline |
212
+ | state/primary/default | bg-primary หรือ bg-primary-default |
213
+ | state/primary/hover | bg-primary-hover |
214
+ | ramps/primary/50 | bg-primary-50 |
215
+ | text/dark | text-dark |
216
+ | function/default/solid | bg-function-default-solid |
217
+
218
+ ---
219
+
220
+ ## 5. Files Reference
221
+
222
+ | File | Purpose |
223
+ |------|---------|
224
+ | `utils.js` | Generate Tailwind color config |
225
+ | `presets/colors.js` | Tailwind theme extend |
226
+ | `themes/variable_lasted.css` | **Figma export (source)** — imported in global.css |
227
+ | `themes/variable.css` | Figma export (legacy) |
228
+ | `themes/{theme}/state.css` | Maps --state-color-* → var(--state-*-{theme}) |
229
+ | `themes/{theme}/palette.css` | Maps ramps → var(--ramps-*-{theme}) |
230
+ | `themes/{theme}/color.css` | Maps semantic colors → var(--*-{theme}) |
231
+ | `themes/{theme}/transparent.css` | Maps transparency → var(--transparency-*-{theme}) |
@@ -1,6 +1,7 @@
1
-
2
1
  @import "./tokens/baseline.css";
2
+ @import "./themes/variable.css";
3
3
  @import "./themes/xspector/baseline.css";
4
+ @import "./themes/skyller/baseline.css";
4
5
 
5
6
  @tailwind base;
6
7
  @tailwind components;
@@ -0,0 +1,6 @@
1
+ @import url(palette.css);
2
+ @import url(state.css);
3
+ @import url(color.css);
4
+ @import url(transparent.css);
5
+ @import url(typography.css);
6
+ @import url(components/action-button.css);
@@ -0,0 +1,79 @@
1
+ :root[data-theme="skyller"] {
2
+ /* ------------------------------------------------------------------ */
3
+ /* Semantic Colors — from variable_lasted.css */
4
+ /* ------------------------------------------------------------------ */
5
+
6
+ /* Input */
7
+ --input-color-default-text: var(--input-default-text-skyller);
8
+ --input-color-default-stroke: var(--input-default-stroke-skyller);
9
+ --input-color-filled-text: var(--input-filled-text-skyller);
10
+ --input-color-active-stroke: var(--input-active-stroke-skyller);
11
+ --input-color-disable-text: var(--input-disable-text-skyller);
12
+ --input-color-disable-stroke: var(--input-disable-stroke-skyller);
13
+ --input-color-disable-bg: var(--input-disable-bg-skyller);
14
+ --input-color-label-bg: var(--input-label-bg-skyller);
15
+ --input-color-error: var(--input-error-skyller);
16
+
17
+ /* Function button */
18
+ --function-default-solid: var(--function-default-solid-skyller);
19
+ --function-default-hover: var(--function-default-hover-skyller);
20
+ --function-default-hover-bg: var(--function-default-hover-bg-skyller);
21
+ --function-default-stroke: var(--function-default-stroke-skyller);
22
+ --function-default-icon: var(--function-default-icon-skyller);
23
+ --function-default-outline-icon: var(--function-default-outline-icon-skyller);
24
+ --function-active-solid: var(--function-active-solid-skyller);
25
+ --function-active-hover: var(--function-active-hover-skyller);
26
+ --function-active-hover-bg: var(--function-active-hover-bg-skyller);
27
+ --function-active-stroke: var(--function-active-stroke-skyller);
28
+ --function-active-icon: var(--function-active-icon-skyller);
29
+
30
+ /* Text */
31
+ --text-black: var(--text-black-skyller);
32
+ --text-dark: var(--text-dark-skyller);
33
+ --text-medium: var(--text-medium-skyller);
34
+ --text-light: var(--text-light-skyller);
35
+ --text-grey-dark: var(--text-grey-dark-skyller);
36
+ --text-grey-medium: var(--text-grey-medium-skyller);
37
+ --text-grey-light: var(--text-grey-light-skyller);
38
+ --text-white: var(--text-white-skyller);
39
+
40
+ /* Base */
41
+ --base-color-bg: var(--base-bg-bg1-skyller);
42
+ --base-color-bg2: var(--base-bg-bg2-skyller);
43
+ --base-color-bg3: var(--base-bg-bg3-skyller);
44
+ --base-color-workspace-stroke: var(--base-bg-stroke1-skyller);
45
+ --base-color-guideline-stroke: var(--base-bg-stroke2-skyller);
46
+ --base-color-popup: var(--base-modal-modal-skyller);
47
+ --base-color-popup-hightlight: var(--base-modal-modal-hightlight-skyller);
48
+ --base-color-popup-curtain: var(--base-modal-modal-curtain-skyller);
49
+ --common-white: var(--common-white-skyller);
50
+ --common-black: var(--common-black-skyller);
51
+
52
+ /* Addon */
53
+ --background: var(--base-color-bg);
54
+ --foreground: var(--common-black);
55
+
56
+ --primary: var(--ramps-primary-100-skyller);
57
+ --secondary: var(--ramps-secondary-100-skyller);
58
+ --tertiary: var(--ramps-tertiary-100-skyller);
59
+ --info: var(--info-info-100);
60
+ --success: var(--success-success-100);
61
+ --warning: var(--warning-warning-100);
62
+ --error: var(--error-error-100);
63
+ --grey: var(--grey-grey-100);
64
+ --grey2: var(--grey2-grey2-100);
65
+
66
+ --primary-foreground: var(--state-color-primary-text-solid);
67
+ --secondary-foreground: var(--state-color-secondary-text-solid);
68
+ --tertiary-foreground: var(--state-color-tertiary-text-solid);
69
+ --info-foreground: var(--state-color-info-text-solid);
70
+ --success-foreground: var(--state-color-success-text-solid);
71
+ --warning-foreground: var(--state-color-warning-text-solid);
72
+ --error-foreground: var(--state-color-error-text-solid);
73
+ --grey-foreground: var(--common-black);
74
+ --grey2-foreground: var(--common-black);
75
+
76
+ --surface: var(--base-color-bg);
77
+ --surface-foreground: var(--common-black);
78
+ --base-color-popup-foreground: var(--text-dark);
79
+ }
@@ -0,0 +1,81 @@
1
+ :root[data-theme="skyller"] {
2
+ /* --------------------------------------------------------------------------------- */
3
+ /* Action Button Component Tokens */
4
+ /* --------------------------------------------------------------------------------- */
5
+ /* Naming Convention: --[component]-[mode]-[state]-[property] */
6
+ /* Mode: [solid, outline, icon] */
7
+ /* States: [default, hover, pressed, active, active-pressed active-hover disabled] */
8
+ /* --------------------------------------------------------------------------------- */
9
+
10
+ /* ------------------------------------------------------------------ */
11
+ /* Solid Mode */
12
+ /* ------------------------------------------------------------------ */
13
+
14
+ --action-button-solid-default-bg: var(--function-default-solid);
15
+ --action-button-solid-default-border: var(--function-default-solid);
16
+ --action-button-solid-default-text: var(--function-default-icon);
17
+
18
+ --action-button-solid-hover-bg: var(--function-default-hover);
19
+ --action-button-solid-hover-border: var(--function-default-hover);
20
+ --action-button-solid-hover-text: var(--function-default-icon);
21
+
22
+ --action-button-solid-pressed-bg: var(--function-default-solid);
23
+ --action-button-solid-pressed-border: var(--function-default-solid);
24
+ --action-button-solid-pressed-text: var(--function-default-icon);
25
+
26
+ --action-button-solid-active-bg: var(--function-active-solid);
27
+ --action-button-solid-active-border: var(--function-active-solid);
28
+ --action-button-solid-active-text: var(--function-active-icon);
29
+
30
+ --action-button-solid-active-hover-bg: var(--function-active-hover);
31
+ --action-button-solid-active-hover-border: var(--function-active-hover);
32
+ --action-button-solid-active-hover-text: var(--function-active-icon);
33
+
34
+ --action-button-solid-active-pressed-bg: var(--function-active-solid);
35
+ --action-button-solid-active-pressed-border: var(--function-active-solid);
36
+ --action-button-solid-active-pressed-text: var(--function-active-icon);
37
+
38
+ /* ------------------------------------------------------------------ */
39
+ /* Outline Mode */
40
+ /* ------------------------------------------------------------------ */
41
+
42
+ --action-button-outline-default-border: var(--function-default-stroke);
43
+ --action-button-outline-default-text: var(--function-default-outline-icon);
44
+
45
+ --action-button-outline-hover-bg: var(--function-default-hover-bg);
46
+ --action-button-outline-hover-border: var(--function-default-hover);
47
+ --action-button-outline-hover-text: var(--function-default-hover);
48
+
49
+ --action-button-outline-pressed-bg: var(--function-default-hover-bg);
50
+ --action-button-outline-pressed-border: var(--function-default-stroke);
51
+ --action-button-outline-pressed-text: var(--function-default-outline-icon);
52
+
53
+ --action-button-outline-active-border: var(--function-active-stroke);
54
+ --action-button-outline-active-text: var(--function-active-solid);
55
+
56
+ --action-button-outline-active-hover-bg: var(--function-active-hover-bg);
57
+ --action-button-outline-active-hover-border: var(--function-active-hover);
58
+ --action-button-outline-active-hover-text: var(--function-active-hover);
59
+
60
+ --action-button-outline-active-pressed-bg: var(--function-active-hover-bg);
61
+ --action-button-outline-active-pressed-border: var(--function-active-stroke);
62
+ --action-button-outline-active-pressed-text: var(--function-active-solid);
63
+
64
+ /* ------------------------------------------------------------------ */
65
+ /* Icon Mode */
66
+ /* ------------------------------------------------------------------ */
67
+
68
+ --action-button-icon-default-text: var(--function-default-outline-icon);
69
+
70
+ --action-button-icon-hover-bg: var(--function-default-hover-bg);
71
+ --action-button-icon-hover-text: var(--function-default-hover);
72
+
73
+ --action-button-icon-pressed-text: var(--function-default-outline-icon);
74
+
75
+ --action-button-icon-active-text: var(--function-active-solid);
76
+
77
+ --action-button-icon-active-hover-bg: var(--function-active-hover-bg);
78
+ --action-button-icon-active-hover-text: var(--function-active-hover);
79
+
80
+ --action-button-icon-active-pressed-text: var(--function-active-solid);
81
+ }
@@ -0,0 +1,143 @@
1
+ :root[data-theme="skyller"] {
2
+ /* ------------------------------------------------------------------ */
3
+ /* Color Ramps — from variable_lasted.css */
4
+ /* ------------------------------------------------------------------ */
5
+ /* Maps --{base}-ramps-{base}-{num} (code) → --ramps-{base}-{num}-skyller */
6
+
7
+ /* Primary */
8
+ --primary-ramps-primary-5: var(--ramps-primary-5-skyller);
9
+ --primary-ramps-primary-10: var(--ramps-primary-10-skyller);
10
+ --primary-ramps-primary-20: var(--ramps-primary-20-skyller);
11
+ --primary-ramps-primary-30: var(--ramps-primary-30-skyller);
12
+ --primary-ramps-primary-40: var(--ramps-primary-40-skyller);
13
+ --primary-ramps-primary-50: var(--ramps-primary-50-skyller);
14
+ --primary-ramps-primary-60: var(--ramps-primary-60-skyller);
15
+ --primary-ramps-primary-70: var(--ramps-primary-70-skyller);
16
+ --primary-ramps-primary-80: var(--ramps-primary-80-skyller);
17
+ --primary-ramps-primary-90: var(--ramps-primary-90-skyller);
18
+ --primary-ramps-primary-100: var(--ramps-primary-100-skyller);
19
+ --primary-ramps-primary-110: var(--ramps-primary-110-skyller);
20
+ --primary-ramps-primary-120: var(--ramps-primary-120-skyller);
21
+ --primary-ramps-primary-130: var(--ramps-primary-130-skyller);
22
+ --primary-ramps-primary-140: var(--ramps-primary-140-skyller);
23
+ --primary-ramps-primary-150: var(--ramps-primary-150-skyller);
24
+
25
+ /* Secondary */
26
+ --secondary-ramps-secondary-5: var(--ramps-secondary-5-skyller);
27
+ --secondary-ramps-secondary-10: var(--ramps-secondary-10-skyller);
28
+ --secondary-ramps-secondary-20: var(--ramps-secondary-20-skyller);
29
+ --secondary-ramps-secondary-30: var(--ramps-secondary-30-skyller);
30
+ --secondary-ramps-secondary-40: var(--ramps-secondary-40-skyller);
31
+ --secondary-ramps-secondary-50: var(--ramps-secondary-50-skyller);
32
+ --secondary-ramps-secondary-60: var(--ramps-secondary-60-skyller);
33
+ --secondary-ramps-secondary-70: var(--ramps-secondary-70-skyller);
34
+ --secondary-ramps-secondary-80: var(--ramps-secondary-80-skyller);
35
+ --secondary-ramps-secondary-90: var(--ramps-secondary-90-skyller);
36
+ --secondary-ramps-secondary-100: var(--ramps-secondary-100-skyller);
37
+ --secondary-ramps-secondary-110: var(--ramps-secondary-110-skyller);
38
+ --secondary-ramps-secondary-120: var(--ramps-secondary-120-skyller);
39
+ --secondary-ramps-secondary-130: var(--ramps-secondary-130-skyller);
40
+ --secondary-ramps-secondary-140: var(--ramps-secondary-140-skyller);
41
+ --secondary-ramps-secondary-150: var(--ramps-secondary-150-skyller);
42
+
43
+ /* Tertiary */
44
+ --tertiary-ramps-tertiary-5: var(--ramps-tertiary-5-skyller);
45
+ --tertiary-ramps-tertiary-10: var(--ramps-tertiary-10-skyller);
46
+ --tertiary-ramps-tertiary-20: var(--ramps-tertiary-20-skyller);
47
+ --tertiary-ramps-tertiary-30: var(--ramps-tertiary-30-skyller);
48
+ --tertiary-ramps-tertiary-40: var(--ramps-tertiary-40-skyller);
49
+ --tertiary-ramps-tertiary-50: var(--ramps-tertiary-50-skyller);
50
+ --tertiary-ramps-tertiary-60: var(--ramps-tertiary-60-skyller);
51
+ --tertiary-ramps-tertiary-70: var(--ramps-tertiary-70-skyller);
52
+ --tertiary-ramps-tertiary-80: var(--ramps-tertiary-80-skyller);
53
+ --tertiary-ramps-tertiary-90: var(--ramps-tertiary-90-skyller);
54
+ --tertiary-ramps-tertiary-100: var(--ramps-tertiary-100-skyller);
55
+ --tertiary-ramps-tertiary-110: var(--ramps-tertiary-110-skyller);
56
+ --tertiary-ramps-tertiary-120: var(--ramps-tertiary-120-skyller);
57
+ --tertiary-ramps-tertiary-130: var(--ramps-tertiary-130-skyller);
58
+ --tertiary-ramps-tertiary-140: var(--ramps-tertiary-140-skyller);
59
+ --tertiary-ramps-tertiary-150: var(--ramps-tertiary-150-skyller);
60
+
61
+ /* Grey */
62
+ --grey-grey-5: var(--ramps-grey-5-skyller);
63
+ --grey-grey-10: var(--ramps-grey-10-skyller);
64
+ --grey-grey-20: var(--ramps-grey-20-skyller);
65
+ --grey-grey-30: var(--ramps-grey-30-skyller);
66
+ --grey-grey-40: var(--ramps-grey-40-skyller);
67
+ --grey-grey-50: var(--ramps-grey-50-skyller);
68
+ --grey-grey-60: var(--ramps-grey-60-skyller);
69
+ --grey-grey-70: var(--ramps-grey-70-skyller);
70
+ --grey-grey-80: var(--ramps-grey-80-skyller);
71
+ --grey-grey-90: var(--ramps-grey-90-skyller);
72
+ --grey-grey-100: var(--ramps-grey-100-skyller);
73
+ --grey-grey-110: var(--ramps-grey-110-skyller);
74
+ --grey-grey-120: var(--ramps-grey-120-skyller);
75
+ --grey-grey-130: var(--ramps-grey-130-skyller);
76
+ --grey-grey-140: var(--ramps-grey-140-skyller);
77
+ --grey-grey-150: var(--ramps-grey-150-skyller);
78
+
79
+ /* Grey2 */
80
+ --grey2-grey2-50: var(--ramps-grey2-50-skyller);
81
+ --grey2-grey2-100: var(--ramps-grey2-100-skyller);
82
+ --grey2-grey2-200: var(--ramps-grey2-200-skyller);
83
+ --grey2-grey2-300: var(--ramps-grey2-300-skyller);
84
+ --grey2-grey2-400: var(--ramps-grey2-400-skyller);
85
+ --grey2-grey2-500: var(--ramps-grey2-500-skyller);
86
+ --grey2-grey2-600: var(--ramps-grey2-600-skyller);
87
+ --grey2-grey2-700: var(--ramps-grey2-700-skyller);
88
+ --grey2-grey2-800: var(--ramps-grey2-800-skyller);
89
+ --grey2-grey2-900: var(--ramps-grey2-900-skyller);
90
+ --grey2-grey2-950: var(--ramps-grey2-950-skyller);
91
+
92
+ /* Info */
93
+ --info-info-50: var(--ramps-info-50-skyller);
94
+ --info-info-100: var(--ramps-info-100-skyller);
95
+ --info-info-200: var(--ramps-info-200-skyller);
96
+ --info-info-300: var(--ramps-info-300-skyller);
97
+ --info-info-400: var(--ramps-info-400-skyller);
98
+ --info-info-500: var(--ramps-info-500-skyller);
99
+ --info-info-600: var(--ramps-info-600-skyller);
100
+ --info-info-700: var(--ramps-info-700-skyller);
101
+ --info-info-800: var(--ramps-info-800-skyller);
102
+ --info-info-900: var(--ramps-info-900-skyller);
103
+ --info-info-950: var(--ramps-info-950-skyller);
104
+
105
+ /* Success */
106
+ --success-success-50: var(--ramps-success-50-skyller);
107
+ --success-success-100: var(--ramps-success-100-skyller);
108
+ --success-success-200: var(--ramps-success-200-skyller);
109
+ --success-success-300: var(--ramps-success-300-skyller);
110
+ --success-success-400: var(--ramps-success-400-skyller);
111
+ --success-success-500: var(--ramps-success-500-skyller);
112
+ --success-success-600: var(--ramps-success-600-skyller);
113
+ --success-success-700: var(--ramps-success-700-skyller);
114
+ --success-success-800: var(--ramps-success-800-skyller);
115
+ --success-success-900: var(--ramps-success-900-skyller);
116
+ --success-success-950: var(--ramps-success-950-skyller);
117
+
118
+ /* Warning */
119
+ --warning-warning-50: var(--ramps-warning-50-skyller);
120
+ --warning-warning-100: var(--ramps-warning-100-skyller);
121
+ --warning-warning-200: var(--ramps-warning-200-skyller);
122
+ --warning-warning-300: var(--ramps-warning-300-skyller);
123
+ --warning-warning-400: var(--ramps-warning-400-skyller);
124
+ --warning-warning-500: var(--ramps-warning-500-skyller);
125
+ --warning-warning-600: var(--ramps-warning-600-skyller);
126
+ --warning-warning-700: var(--ramps-warning-700-skyller);
127
+ --warning-warning-800: var(--ramps-warning-800-skyller);
128
+ --warning-warning-900: var(--ramps-warning-900-skyller);
129
+ --warning-warning-950: var(--ramps-warning-950-skyller);
130
+
131
+ /* Error */
132
+ --error-error-50: var(--ramps-error-50-skyller);
133
+ --error-error-100: var(--ramps-error-100-skyller);
134
+ --error-error-200: var(--ramps-error-200-skyller);
135
+ --error-error-300: var(--ramps-error-300-skyller);
136
+ --error-error-400: var(--ramps-error-400-skyller);
137
+ --error-error-500: var(--ramps-error-500-skyller);
138
+ --error-error-600: var(--ramps-error-600-skyller);
139
+ --error-error-700: var(--ramps-error-700-skyller);
140
+ --error-error-800: var(--ramps-error-800-skyller);
141
+ --error-error-900: var(--ramps-error-900-skyller);
142
+ --error-error-950: var(--ramps-error-950-skyller);
143
+ }
@@ -0,0 +1,94 @@
1
+ :root[data-theme="skyller"] {
2
+ /* ------------------------------------------------------------------ */
3
+ /* State Tokens — from variable_lasted.css */
4
+ /* ------------------------------------------------------------------ */
5
+ /* Maps --state-color-* (code) → --state-*-skyller (Figma export) */
6
+
7
+ /* Primary */
8
+ --state-color-primary-default: var(--state-primary-default-skyller);
9
+ --state-color-primary-hover: var(--state-primary-hover-skyller);
10
+ --state-color-primary-stroke: var(--state-primary-stroke-skyller);
11
+ --state-color-primary-hover-bg: var(--state-primary-hover-bg-skyller);
12
+ --state-color-primary-pressed: var(--state-primary-pressed-skyller);
13
+ --state-color-primary-active: var(--state-primary-active-skyller);
14
+ --state-color-primary-text-solid: var(--state-primary-text-solid-skyller);
15
+ --state-color-primary-text-outline: var(--state-primary-text-outline-skyller);
16
+ --state-color-primary-text-hover: var(--state-primary-text-hover-skyller);
17
+ --state-color-primary-text-pressed: var(--state-primary-text-pressed-skyller);
18
+
19
+ /* Secondary */
20
+ --state-color-secondary-default: var(--state-secondary-default-skyller);
21
+ --state-color-secondary-hover: var(--state-secondary-hover-skyller);
22
+ --state-color-secondary-stroke: var(--state-secondary-stroke-skyller);
23
+ --state-color-secondary-hover-bg: var(--state-secondary-hover-bg-skyller);
24
+ --state-color-secondary-pressed: var(--state-secondary-pressed-skyller);
25
+ --state-color-secondary-active: var(--state-secondary-active-skyller);
26
+ --state-color-secondary-text-solid: var(--state-secondary-text-solid-skyller);
27
+ --state-color-secondary-text-outline: var(--state-secondary-text-outline-skyller);
28
+ --state-color-secondary-text-hover: var(--state-secondary-text-hover-skyller);
29
+ --state-color-secondary-text-pressed: var(--state-secondary-text-pressed-skyller);
30
+
31
+ /* Tertiary — note: variable_lasted uses state-tertiery (typo) */
32
+ --state-color-tertiary-default: var(--state-tertiery-default-skyller);
33
+ --state-color-tertiary-hover: var(--state-tertiery-hover-skyller);
34
+ --state-color-tertiary-stroke: var(--state-tertiery-stroke-skyller);
35
+ --state-color-tertiary-hover-bg: var(--state-tertiery-hover-bg-skyller);
36
+ --state-color-tertiary-pressed: var(--state-tertiery-pressed-skyller);
37
+ --state-color-tertiary-active: var(--state-tertiery-active-skyller);
38
+ --state-color-tertiary-text-solid: var(--state-tertiery-text-solid-skyller);
39
+ --state-color-tertiary-text-outline: var(--state-tertiery-text-outline-skyller);
40
+ --state-color-tertiary-text-hover: var(--state-tertiery-text-hover-skyller);
41
+ --state-color-tertiary-text-pressed: var(--state-tertiery-text-pressed-skyller);
42
+
43
+ /* Info */
44
+ --state-color-info-default: var(--state-info-default-skyller);
45
+ --state-color-info-hover: var(--state-info-hover-skyller);
46
+ --state-color-info-stroke: var(--state-info-stroke-skyller);
47
+ --state-color-info-hover-bg: var(--state-info-hover-bg-skyller);
48
+ --state-color-info-pressed: var(--state-info-pressed-skyller);
49
+ --state-color-info-active: var(--state-info-active-skyller);
50
+ --state-color-info-text-solid: var(--state-info-text-solid-skyller);
51
+ --state-color-info-text-outline: var(--state-info-text-outline-skyller);
52
+ --state-color-info-text-hover: var(--state-info-text-hover-skyller);
53
+ --state-color-info-text-pressed: var(--state-info-text-pressed-skyller);
54
+
55
+ /* Success */
56
+ --state-color-success-default: var(--state-success-default-skyller);
57
+ --state-color-success-hover: var(--state-success-hover-skyller);
58
+ --state-color-success-stroke: var(--state-success-stroke-skyller);
59
+ --state-color-success-hover-bg: var(--state-success-hover-bg-skyller);
60
+ --state-color-success-pressed: var(--state-success-pressed-skyller);
61
+ --state-color-success-active: var(--state-success-active-skyller);
62
+ --state-color-success-text-solid: var(--state-success-text-solid-skyller);
63
+ --state-color-success-text-outline: var(--state-success-text-outline-skyller);
64
+ --state-color-success-text-hover: var(--state-success-text-hover-skyller);
65
+ --state-color-success-text-pressed: var(--state-success-text-pressed-skyller);
66
+
67
+ /* Warning */
68
+ --state-color-warning-default: var(--state-warning-default-skyller);
69
+ --state-color-warning-hover: var(--state-warning-hover-skyller);
70
+ --state-color-warning-stroke: var(--state-warning-stroke-skyller);
71
+ --state-color-warning-hover-bg: var(--state-warning-hover-bg-skyller);
72
+ --state-color-warning-pressed: var(--state-warning-pressed-skyller);
73
+ --state-color-warning-active: var(--state-warning-active-skyller);
74
+ --state-color-warning-text-solid: var(--state-warning-text-solid-skyller);
75
+ --state-color-warning-text-outline: var(--state-warning-text-outline-skyller);
76
+ --state-color-warning-text-hover: var(--state-warning-text-hover-skyller);
77
+ --state-color-warning-text-pressed: var(--state-warning-text-pressed-skyller);
78
+
79
+ /* Error */
80
+ --state-color-error-default: var(--state-error-default-skyller);
81
+ --state-color-error-hover: var(--state-error-hover-skyller);
82
+ --state-color-error-stroke: var(--state-error-stroke-skyller);
83
+ --state-color-error-hover-bg: var(--state-error-hover-bg-skyller);
84
+ --state-color-error-pressed: var(--state-error-pressed-skyller);
85
+ --state-color-error-active: var(--state-error-active-skyller);
86
+ --state-color-error-text-solid: var(--state-error-text-solid-skyller);
87
+ --state-color-error-text-outline: var(--state-error-text-outline-skyller);
88
+ --state-color-error-text-hover: var(--state-error-text-hover-skyller);
89
+ --state-color-error-text-pressed: var(--state-error-text-pressed-skyller);
90
+
91
+ /* Disable */
92
+ --state-color-disable-solid: var(--state-disable-solid-skyller);
93
+ --state-color-disable-outline: var(--state-disable-outline-skyller);
94
+ }