@rokkit/themes 1.0.0-next.145 → 1.0.0-next.147
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/build.mjs +3 -2
- package/dist/base.css +349 -1
- package/dist/glass.css +276 -17
- package/dist/grada-ui.css +1681 -0
- package/dist/index.css +3596 -245
- package/dist/material.css +377 -61
- package/dist/minimal.css +522 -102
- package/dist/rokkit.css +327 -1
- package/package.json +5 -2
- package/src/base/alert-list.css +91 -0
- package/src/base/dropdown.css +166 -0
- package/src/base/index.css +4 -0
- package/src/base/message.css +62 -0
- package/src/base/status-list.css +19 -0
- package/src/base/toc.css +3 -1
- package/src/base/toolbar.css +4 -0
- package/src/glass/card.css +37 -0
- package/src/glass/dropdown.css +50 -0
- package/src/glass/index.css +4 -0
- package/src/glass/list.css +11 -11
- package/src/glass/menu.css +6 -6
- package/src/glass/message.css +36 -0
- package/src/glass/status-list.css +66 -0
- package/src/grada-ui/button.css +197 -0
- package/src/grada-ui/card.css +92 -0
- package/src/grada-ui/dropdown.css +53 -0
- package/src/grada-ui/floating-action.css +58 -0
- package/src/grada-ui/floating-navigation.css +64 -0
- package/src/grada-ui/index.css +54 -0
- package/src/grada-ui/input.css +155 -0
- package/src/grada-ui/list.css +109 -0
- package/src/grada-ui/menu.css +81 -0
- package/src/grada-ui/message.css +48 -0
- package/src/grada-ui/range.css +54 -0
- package/src/grada-ui/search-filter.css +42 -0
- package/src/grada-ui/select.css +168 -0
- package/src/grada-ui/status-list.css +61 -0
- package/src/grada-ui/switch.css +31 -0
- package/src/grada-ui/table.css +81 -0
- package/src/grada-ui/tabs.css +57 -0
- package/src/grada-ui/timeline.css +36 -0
- package/src/grada-ui/toc.css +24 -0
- package/src/grada-ui/toggle.css +42 -0
- package/src/grada-ui/toolbar.css +81 -0
- package/src/grada-ui/tree.css +93 -0
- package/src/material/button.css +4 -4
- package/src/material/card.css +38 -1
- package/src/material/dropdown.css +50 -0
- package/src/material/floating-action.css +9 -5
- package/src/material/floating-navigation.css +4 -4
- package/src/material/index.css +4 -0
- package/src/material/list.css +11 -11
- package/src/material/menu.css +6 -6
- package/src/material/message.css +36 -0
- package/src/material/range.css +1 -1
- package/src/material/search-filter.css +1 -1
- package/src/material/select.css +16 -11
- package/src/material/status-list.css +66 -0
- package/src/material/switch.css +2 -2
- package/src/material/table.css +3 -3
- package/src/material/tabs.css +23 -0
- package/src/material/toggle.css +3 -3
- package/src/material/toolbar.css +7 -7
- package/src/material/tree.css +24 -3
- package/src/minimal/button.css +6 -6
- package/src/minimal/card.css +38 -1
- package/src/minimal/dropdown.css +50 -0
- package/src/minimal/floating-action.css +9 -5
- package/src/minimal/floating-navigation.css +4 -4
- package/src/minimal/index.css +4 -0
- package/src/minimal/input.css +66 -15
- package/src/minimal/list.css +8 -8
- package/src/minimal/menu.css +6 -6
- package/src/minimal/message.css +36 -0
- package/src/minimal/range.css +1 -1
- package/src/minimal/search-filter.css +1 -1
- package/src/minimal/select.css +11 -11
- package/src/minimal/status-list.css +66 -0
- package/src/minimal/switch.css +2 -2
- package/src/minimal/table.css +3 -3
- package/src/minimal/tabs.css +91 -10
- package/src/minimal/toggle.css +3 -3
- package/src/minimal/toolbar.css +7 -7
- package/src/minimal/tree.css +24 -3
- package/src/rokkit/card.css +37 -0
- package/src/rokkit/dropdown.css +70 -0
- package/src/rokkit/index.css +4 -0
- package/src/rokkit/message.css +44 -0
- package/src/rokkit/status-list.css +68 -0
- package/src/rokkit/tabs.css +25 -1
- package/src/rokkit/toolbar.css +6 -0
|
@@ -0,0 +1,197 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Button - Grada UI Theme Styles
|
|
3
|
+
*
|
|
4
|
+
* Gradient brand identity with pill-shape primary actions,
|
|
5
|
+
* uppercase Montserrat Bold labels.
|
|
6
|
+
*/
|
|
7
|
+
|
|
8
|
+
/* =============================================================================
|
|
9
|
+
Shared Base
|
|
10
|
+
============================================================================= */
|
|
11
|
+
|
|
12
|
+
[data-style='grada-ui'] [data-button] {
|
|
13
|
+
font-family: 'Montserrat', sans-serif;
|
|
14
|
+
letter-spacing: 0.06em;
|
|
15
|
+
text-transform: uppercase;
|
|
16
|
+
font-size: 0.625rem;
|
|
17
|
+
font-weight: 700;
|
|
18
|
+
transition: filter 0.15s ease, box-shadow 0.15s ease;
|
|
19
|
+
}
|
|
20
|
+
|
|
21
|
+
/* =============================================================================
|
|
22
|
+
Default Style (filled)
|
|
23
|
+
============================================================================= */
|
|
24
|
+
|
|
25
|
+
[data-style='grada-ui'] [data-button][data-style='default'][data-variant='default'],
|
|
26
|
+
[data-style='grada-ui'] [data-button]:not([data-style])[data-variant='default'],
|
|
27
|
+
[data-style='grada-ui'] [data-button][data-style='default']:not([data-variant]),
|
|
28
|
+
[data-style='grada-ui'] [data-button]:not([data-style]):not([data-variant]) {
|
|
29
|
+
@apply bg-none bg-surface-z2 text-surface-z8 shadow-sm;
|
|
30
|
+
border-radius: 20px;
|
|
31
|
+
}
|
|
32
|
+
|
|
33
|
+
[data-style='grada-ui'] [data-button][data-style='default'][data-variant='primary'],
|
|
34
|
+
[data-style='grada-ui'] [data-button]:not([data-style])[data-variant='primary'] {
|
|
35
|
+
background: var(--gd-gradient);
|
|
36
|
+
color: white;
|
|
37
|
+
border-radius: 20px;
|
|
38
|
+
@apply shadow-md;
|
|
39
|
+
}
|
|
40
|
+
|
|
41
|
+
[data-style='grada-ui'] [data-button][data-style='default'][data-variant='secondary'],
|
|
42
|
+
[data-style='grada-ui'] [data-button]:not([data-style])[data-variant='secondary'] {
|
|
43
|
+
background-color: var(--gd-secondary);
|
|
44
|
+
color: white;
|
|
45
|
+
border-radius: 20px;
|
|
46
|
+
@apply shadow-md;
|
|
47
|
+
}
|
|
48
|
+
|
|
49
|
+
[data-style='grada-ui'] [data-button][data-style='default'][data-variant='danger'],
|
|
50
|
+
[data-style='grada-ui'] [data-button]:not([data-style])[data-variant='danger'] {
|
|
51
|
+
background-color: var(--gd-error);
|
|
52
|
+
color: white;
|
|
53
|
+
border-radius: 20px;
|
|
54
|
+
@apply shadow-md;
|
|
55
|
+
}
|
|
56
|
+
|
|
57
|
+
/* =============================================================================
|
|
58
|
+
Outline Style
|
|
59
|
+
============================================================================= */
|
|
60
|
+
|
|
61
|
+
[data-style='grada-ui'] [data-button][data-style='outline'][data-variant='default'],
|
|
62
|
+
[data-style='grada-ui'] [data-button][data-style='outline']:not([data-variant]) {
|
|
63
|
+
@apply border-surface-z4 text-surface-z7 border bg-transparent;
|
|
64
|
+
border-radius: 20px;
|
|
65
|
+
}
|
|
66
|
+
|
|
67
|
+
[data-style='grada-ui'] [data-button][data-style='outline'][data-variant='primary'] {
|
|
68
|
+
border: 2px solid var(--gd-primary);
|
|
69
|
+
color: var(--gd-primary);
|
|
70
|
+
background: transparent;
|
|
71
|
+
border-radius: 20px;
|
|
72
|
+
}
|
|
73
|
+
|
|
74
|
+
[data-style='grada-ui'] [data-button][data-style='outline'][data-variant='secondary'] {
|
|
75
|
+
border: 2px solid var(--gd-secondary);
|
|
76
|
+
color: var(--gd-secondary);
|
|
77
|
+
background: transparent;
|
|
78
|
+
border-radius: 20px;
|
|
79
|
+
}
|
|
80
|
+
|
|
81
|
+
[data-style='grada-ui'] [data-button][data-style='outline'][data-variant='danger'] {
|
|
82
|
+
border: 2px solid var(--gd-error);
|
|
83
|
+
color: var(--gd-error);
|
|
84
|
+
background: transparent;
|
|
85
|
+
border-radius: 20px;
|
|
86
|
+
}
|
|
87
|
+
|
|
88
|
+
/* =============================================================================
|
|
89
|
+
Ghost Style
|
|
90
|
+
============================================================================= */
|
|
91
|
+
|
|
92
|
+
[data-style='grada-ui'] [data-button][data-style='ghost'] {
|
|
93
|
+
background: transparent;
|
|
94
|
+
border-color: transparent;
|
|
95
|
+
border-radius: 20px;
|
|
96
|
+
}
|
|
97
|
+
|
|
98
|
+
[data-style='grada-ui'] [data-button][data-style='ghost'][data-variant='default'],
|
|
99
|
+
[data-style='grada-ui'] [data-button][data-style='ghost']:not([data-variant]) {
|
|
100
|
+
@apply text-surface-z7;
|
|
101
|
+
}
|
|
102
|
+
|
|
103
|
+
[data-style='grada-ui'] [data-button][data-style='ghost'][data-variant='primary'] {
|
|
104
|
+
color: var(--gd-primary);
|
|
105
|
+
}
|
|
106
|
+
|
|
107
|
+
[data-style='grada-ui'] [data-button][data-style='ghost'][data-variant='secondary'] {
|
|
108
|
+
color: var(--gd-secondary);
|
|
109
|
+
}
|
|
110
|
+
|
|
111
|
+
[data-style='grada-ui'] [data-button][data-style='ghost'][data-variant='danger'] {
|
|
112
|
+
color: var(--gd-error);
|
|
113
|
+
}
|
|
114
|
+
|
|
115
|
+
/* =============================================================================
|
|
116
|
+
Gradient Style
|
|
117
|
+
============================================================================= */
|
|
118
|
+
|
|
119
|
+
[data-style='grada-ui'] [data-button][data-style='gradient'][data-variant='default'],
|
|
120
|
+
[data-style='grada-ui'] [data-button][data-style='gradient']:not([data-variant]) {
|
|
121
|
+
@apply from-surface-z3 to-surface-z1 text-surface-z10 bg-gradient-to-br shadow-md;
|
|
122
|
+
border-radius: 20px;
|
|
123
|
+
}
|
|
124
|
+
|
|
125
|
+
[data-style='grada-ui'] [data-button][data-style='gradient'][data-variant='primary'],
|
|
126
|
+
[data-style='grada-ui'] [data-button][data-style='gradient'][data-variant='secondary'] {
|
|
127
|
+
background: var(--gd-gradient);
|
|
128
|
+
color: white;
|
|
129
|
+
border-radius: 20px;
|
|
130
|
+
@apply shadow-md;
|
|
131
|
+
}
|
|
132
|
+
|
|
133
|
+
[data-style='grada-ui'] [data-button][data-style='gradient'][data-variant='danger'] {
|
|
134
|
+
background-color: var(--gd-error);
|
|
135
|
+
color: white;
|
|
136
|
+
border-radius: 20px;
|
|
137
|
+
@apply shadow-md;
|
|
138
|
+
}
|
|
139
|
+
|
|
140
|
+
/* =============================================================================
|
|
141
|
+
Link Style
|
|
142
|
+
============================================================================= */
|
|
143
|
+
|
|
144
|
+
[data-style='grada-ui'] [data-button][data-style='link'][data-variant='default'],
|
|
145
|
+
[data-style='grada-ui'] [data-button][data-style='link']:not([data-variant]) {
|
|
146
|
+
@apply text-surface-z7;
|
|
147
|
+
}
|
|
148
|
+
|
|
149
|
+
[data-style='grada-ui'] [data-button][data-style='link'][data-variant='primary'] {
|
|
150
|
+
color: var(--gd-primary);
|
|
151
|
+
}
|
|
152
|
+
|
|
153
|
+
[data-style='grada-ui'] [data-button][data-style='link'][data-variant='secondary'] {
|
|
154
|
+
color: var(--gd-secondary);
|
|
155
|
+
}
|
|
156
|
+
|
|
157
|
+
[data-style='grada-ui'] [data-button][data-style='link'][data-variant='danger'] {
|
|
158
|
+
color: var(--gd-error);
|
|
159
|
+
}
|
|
160
|
+
|
|
161
|
+
/* =============================================================================
|
|
162
|
+
Hover States
|
|
163
|
+
============================================================================= */
|
|
164
|
+
|
|
165
|
+
[data-style='grada-ui']
|
|
166
|
+
[data-button][data-variant='primary']:hover:not(:disabled):not([data-disabled]),
|
|
167
|
+
[data-style='grada-ui']
|
|
168
|
+
[data-button][data-style='gradient']:hover:not(:disabled):not([data-disabled]) {
|
|
169
|
+
filter: brightness(1.1);
|
|
170
|
+
@apply shadow-lg;
|
|
171
|
+
}
|
|
172
|
+
|
|
173
|
+
[data-style='grada-ui']
|
|
174
|
+
[data-button][data-style='default']:hover:not(:disabled):not([data-disabled]),
|
|
175
|
+
[data-style='grada-ui'] [data-button]:not([data-style]):hover:not(:disabled):not([data-disabled]) {
|
|
176
|
+
@apply shadow-md;
|
|
177
|
+
filter: brightness(1.05);
|
|
178
|
+
}
|
|
179
|
+
|
|
180
|
+
[data-style='grada-ui']
|
|
181
|
+
[data-button][data-style='outline']:hover:not(:disabled):not([data-disabled]) {
|
|
182
|
+
@apply bg-surface-z1;
|
|
183
|
+
}
|
|
184
|
+
|
|
185
|
+
[data-style='grada-ui']
|
|
186
|
+
[data-button][data-style='ghost']:hover:not(:disabled):not([data-disabled]) {
|
|
187
|
+
@apply bg-surface-z1;
|
|
188
|
+
}
|
|
189
|
+
|
|
190
|
+
/* =============================================================================
|
|
191
|
+
Focus
|
|
192
|
+
============================================================================= */
|
|
193
|
+
|
|
194
|
+
[data-style='grada-ui'] [data-button]:focus-visible {
|
|
195
|
+
outline: 2px solid var(--gd-primary);
|
|
196
|
+
outline-offset: 2px;
|
|
197
|
+
}
|
|
@@ -0,0 +1,92 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Card - Grada UI Theme Styles
|
|
3
|
+
*
|
|
4
|
+
* Dark surface cards with subtle borders and 3px radius.
|
|
5
|
+
*/
|
|
6
|
+
|
|
7
|
+
[data-style='grada-ui'] [data-card] {
|
|
8
|
+
@apply bg-none border text-surface-z9;
|
|
9
|
+
background-color: var(--gd-surface-a);
|
|
10
|
+
border-color: var(--gd-grey-a);
|
|
11
|
+
border-radius: 3px;
|
|
12
|
+
}
|
|
13
|
+
|
|
14
|
+
[data-style='grada-ui'] [data-card][data-card-interactive] {
|
|
15
|
+
cursor: pointer;
|
|
16
|
+
transition: box-shadow 0.2s ease, transform 0.2s ease;
|
|
17
|
+
}
|
|
18
|
+
|
|
19
|
+
[data-style='grada-ui'] [data-card][data-card-interactive]:hover {
|
|
20
|
+
@apply shadow-md;
|
|
21
|
+
border-color: var(--gd-primary);
|
|
22
|
+
}
|
|
23
|
+
|
|
24
|
+
[data-style='grada-ui'] [data-card][data-card-interactive]:active {
|
|
25
|
+
@apply shadow-sm;
|
|
26
|
+
}
|
|
27
|
+
|
|
28
|
+
/* =============================================================================
|
|
29
|
+
Card Sections
|
|
30
|
+
============================================================================= */
|
|
31
|
+
|
|
32
|
+
[data-style='grada-ui'] [data-card-header] {
|
|
33
|
+
border-bottom: 1px solid var(--gd-grey-a);
|
|
34
|
+
}
|
|
35
|
+
|
|
36
|
+
[data-style='grada-ui'] [data-card-body] {
|
|
37
|
+
@apply text-surface-z8;
|
|
38
|
+
}
|
|
39
|
+
|
|
40
|
+
[data-style='grada-ui'] [data-card-footer] {
|
|
41
|
+
@apply text-surface-z7;
|
|
42
|
+
border-top: 1px solid var(--gd-grey-a);
|
|
43
|
+
}
|
|
44
|
+
|
|
45
|
+
/* =============================================================================
|
|
46
|
+
Focus States
|
|
47
|
+
============================================================================= */
|
|
48
|
+
|
|
49
|
+
[data-style='grada-ui'] [data-card][data-card-interactive]:focus-visible {
|
|
50
|
+
outline: 2px solid var(--gd-primary);
|
|
51
|
+
outline-offset: 2px;
|
|
52
|
+
}
|
|
53
|
+
|
|
54
|
+
/* =============================================================================
|
|
55
|
+
Disabled
|
|
56
|
+
============================================================================= */
|
|
57
|
+
|
|
58
|
+
[data-style='grada-ui'] [data-card][data-card-interactive][data-disabled],
|
|
59
|
+
[data-style='grada-ui'] [data-card][data-card-interactive]:disabled {
|
|
60
|
+
@apply cursor-not-allowed opacity-50 shadow-none;
|
|
61
|
+
}
|
|
62
|
+
|
|
63
|
+
/* =============================================================================
|
|
64
|
+
Variants
|
|
65
|
+
============================================================================= */
|
|
66
|
+
|
|
67
|
+
[data-style='grada-ui'] [data-card][data-variant='primary'] {
|
|
68
|
+
background: var(--gd-gradient);
|
|
69
|
+
color: white;
|
|
70
|
+
border: none;
|
|
71
|
+
}
|
|
72
|
+
|
|
73
|
+
[data-style='grada-ui'] [data-card][data-variant='primary'] [data-card-header],
|
|
74
|
+
[data-style='grada-ui'] [data-card][data-variant='primary'] [data-card-footer] {
|
|
75
|
+
border-color: rgba(255, 255, 255, 0.2);
|
|
76
|
+
}
|
|
77
|
+
|
|
78
|
+
[data-style='grada-ui'] [data-card][data-variant='primary'] [data-card-body] {
|
|
79
|
+
color: rgba(255, 255, 255, 0.9);
|
|
80
|
+
}
|
|
81
|
+
|
|
82
|
+
[data-style='grada-ui'] [data-card][data-variant='secondary'] {
|
|
83
|
+
background-color: var(--gd-secondary);
|
|
84
|
+
color: white;
|
|
85
|
+
border: none;
|
|
86
|
+
border-radius: 3px;
|
|
87
|
+
}
|
|
88
|
+
|
|
89
|
+
[data-style='grada-ui'] [data-card][data-variant='tertiary'] {
|
|
90
|
+
@apply bg-none bg-surface-z1 border-surface-z3 text-surface-z7 border shadow-none;
|
|
91
|
+
border-radius: 3px;
|
|
92
|
+
}
|
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Dropdown - Grada UI Theme Styles
|
|
3
|
+
*/
|
|
4
|
+
|
|
5
|
+
[data-style='grada-ui'] [data-dropdown-trigger] {
|
|
6
|
+
@apply bg-white text-surface-z8 border-surface-z4 border;
|
|
7
|
+
border-radius: 3px;
|
|
8
|
+
}
|
|
9
|
+
|
|
10
|
+
[data-style='grada-ui'] [data-dropdown-trigger]:hover:not(:disabled) {
|
|
11
|
+
@apply text-surface-z10 border-surface-z5;
|
|
12
|
+
border-color: var(--gd-primary);
|
|
13
|
+
}
|
|
14
|
+
|
|
15
|
+
[data-style='grada-ui'] [data-dropdown-trigger]:focus-visible {
|
|
16
|
+
outline: 2px solid var(--gd-primary);
|
|
17
|
+
outline-offset: -2px;
|
|
18
|
+
}
|
|
19
|
+
|
|
20
|
+
[data-style='grada-ui'] [data-dropdown][data-open='true'] [data-dropdown-trigger] {
|
|
21
|
+
border-color: var(--gd-primary);
|
|
22
|
+
}
|
|
23
|
+
|
|
24
|
+
[data-style='grada-ui'] [data-dropdown-trigger] [data-dropdown-icon] {
|
|
25
|
+
@apply text-surface-z5;
|
|
26
|
+
}
|
|
27
|
+
|
|
28
|
+
[data-style='grada-ui'] [data-dropdown-trigger] [data-dropdown-arrow] {
|
|
29
|
+
@apply text-surface-z5;
|
|
30
|
+
}
|
|
31
|
+
|
|
32
|
+
[data-style='grada-ui'] [data-dropdown-panel] {
|
|
33
|
+
@apply bg-white border-surface-z3 border shadow-lg;
|
|
34
|
+
border-radius: 3px;
|
|
35
|
+
}
|
|
36
|
+
|
|
37
|
+
[data-style='grada-ui'] [data-dropdown-option] {
|
|
38
|
+
@apply text-surface-z8;
|
|
39
|
+
}
|
|
40
|
+
|
|
41
|
+
[data-style='grada-ui'] [data-dropdown-option]:hover:not(:disabled),
|
|
42
|
+
[data-style='grada-ui'] [data-dropdown-option]:focus:not(:disabled) {
|
|
43
|
+
@apply bg-surface-z1 text-surface-z10 outline-none;
|
|
44
|
+
}
|
|
45
|
+
|
|
46
|
+
[data-style='grada-ui'] [data-dropdown-option][data-active='true'] {
|
|
47
|
+
background: var(--gd-gradient);
|
|
48
|
+
color: white;
|
|
49
|
+
}
|
|
50
|
+
|
|
51
|
+
[data-style='grada-ui'] [data-dropdown-separator] {
|
|
52
|
+
@apply bg-surface-z3;
|
|
53
|
+
}
|
|
@@ -0,0 +1,58 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* FloatingAction - Grada UI Theme Styles
|
|
3
|
+
*
|
|
4
|
+
* Gradient FAB trigger, pill-shaped action items.
|
|
5
|
+
*/
|
|
6
|
+
|
|
7
|
+
[data-style='grada-ui'] [data-fab-trigger] {
|
|
8
|
+
background: var(--gd-gradient);
|
|
9
|
+
color: white;
|
|
10
|
+
@apply shadow-lg;
|
|
11
|
+
border-radius: 50%;
|
|
12
|
+
transition: filter 0.15s ease, transform 0.15s ease, box-shadow 0.15s ease;
|
|
13
|
+
}
|
|
14
|
+
|
|
15
|
+
[data-style='grada-ui'] [data-fab-trigger]:hover:not(:disabled) {
|
|
16
|
+
filter: brightness(1.1);
|
|
17
|
+
@apply shadow-xl;
|
|
18
|
+
transform: scale(1.05);
|
|
19
|
+
}
|
|
20
|
+
|
|
21
|
+
[data-style='grada-ui'] [data-fab-trigger]:focus-visible {
|
|
22
|
+
outline: 2px solid var(--gd-primary);
|
|
23
|
+
outline-offset: 2px;
|
|
24
|
+
}
|
|
25
|
+
|
|
26
|
+
[data-style='grada-ui'] [data-fab][data-open='true'] [data-fab-trigger] {
|
|
27
|
+
@apply bg-none bg-surface-z4 text-surface-z10 shadow-lg;
|
|
28
|
+
background: none;
|
|
29
|
+
transform: rotate(45deg);
|
|
30
|
+
}
|
|
31
|
+
|
|
32
|
+
/* FAB Items */
|
|
33
|
+
[data-style='grada-ui'] [data-fab-item] {
|
|
34
|
+
@apply bg-white text-surface-z8 shadow-md;
|
|
35
|
+
border-radius: 20px;
|
|
36
|
+
}
|
|
37
|
+
|
|
38
|
+
[data-style='grada-ui'] [data-fab-item]:hover:not(:disabled) {
|
|
39
|
+
@apply bg-surface-z1 text-surface-z10 shadow-lg;
|
|
40
|
+
}
|
|
41
|
+
|
|
42
|
+
[data-style='grada-ui'] [data-fab-item]:focus-visible {
|
|
43
|
+
outline: 2px solid var(--gd-primary);
|
|
44
|
+
outline-offset: -2px;
|
|
45
|
+
}
|
|
46
|
+
|
|
47
|
+
[data-style='grada-ui'] [data-fab-item] [data-fab-item-icon] {
|
|
48
|
+
color: var(--gd-primary);
|
|
49
|
+
}
|
|
50
|
+
|
|
51
|
+
[data-style='grada-ui'] [data-fab-item]:hover:not(:disabled) [data-fab-item-icon] {
|
|
52
|
+
color: var(--gd-secondary);
|
|
53
|
+
}
|
|
54
|
+
|
|
55
|
+
/* Backdrop */
|
|
56
|
+
[data-style='grada-ui'] [data-fab-backdrop] {
|
|
57
|
+
background: rgba(0, 0, 0, 0.5);
|
|
58
|
+
}
|
|
@@ -0,0 +1,64 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* FloatingNavigation - Grada UI Theme Styles
|
|
3
|
+
*/
|
|
4
|
+
|
|
5
|
+
[data-style='grada-ui'] [data-floating-nav] {
|
|
6
|
+
@apply bg-white shadow-xl;
|
|
7
|
+
border-right: 1px solid var(--gd-grey-a);
|
|
8
|
+
}
|
|
9
|
+
|
|
10
|
+
[data-style='grada-ui'] [data-floating-nav-title] {
|
|
11
|
+
@apply text-surface-z6;
|
|
12
|
+
font-family: 'Montserrat', sans-serif;
|
|
13
|
+
font-weight: 700;
|
|
14
|
+
font-size: 0.625rem;
|
|
15
|
+
text-transform: uppercase;
|
|
16
|
+
letter-spacing: 0.06em;
|
|
17
|
+
}
|
|
18
|
+
|
|
19
|
+
[data-style='grada-ui'] [data-floating-nav-pin] {
|
|
20
|
+
@apply text-surface-z6;
|
|
21
|
+
}
|
|
22
|
+
|
|
23
|
+
[data-style='grada-ui'] [data-floating-nav-pin]:hover {
|
|
24
|
+
color: var(--gd-primary);
|
|
25
|
+
}
|
|
26
|
+
|
|
27
|
+
[data-style='grada-ui'] [data-floating-nav-pin][aria-pressed='true'] {
|
|
28
|
+
color: var(--gd-primary);
|
|
29
|
+
}
|
|
30
|
+
|
|
31
|
+
[data-style='grada-ui'] [data-floating-nav-item] {
|
|
32
|
+
@apply text-surface-z8;
|
|
33
|
+
border-radius: 3px;
|
|
34
|
+
}
|
|
35
|
+
|
|
36
|
+
[data-style='grada-ui'] [data-floating-nav-item]:hover {
|
|
37
|
+
@apply bg-surface-z1 text-surface-z10;
|
|
38
|
+
}
|
|
39
|
+
|
|
40
|
+
[data-style='grada-ui'] [data-floating-nav-item][data-active] {
|
|
41
|
+
color: var(--gd-primary);
|
|
42
|
+
background: color-mix(in srgb, var(--gd-primary) 10%, transparent);
|
|
43
|
+
}
|
|
44
|
+
|
|
45
|
+
[data-style='grada-ui'] [data-floating-nav-item]:focus-visible {
|
|
46
|
+
outline: 2px solid var(--gd-primary);
|
|
47
|
+
outline-offset: -2px;
|
|
48
|
+
}
|
|
49
|
+
|
|
50
|
+
[data-style='grada-ui'] [data-floating-nav-icon] {
|
|
51
|
+
@apply text-surface-z6;
|
|
52
|
+
}
|
|
53
|
+
|
|
54
|
+
[data-style='grada-ui'] [data-floating-nav-item]:hover [data-floating-nav-icon] {
|
|
55
|
+
color: var(--gd-primary);
|
|
56
|
+
}
|
|
57
|
+
|
|
58
|
+
[data-style='grada-ui'] [data-floating-nav-item][data-active] [data-floating-nav-icon] {
|
|
59
|
+
color: var(--gd-primary);
|
|
60
|
+
}
|
|
61
|
+
|
|
62
|
+
[data-style='grada-ui'] [data-floating-nav-indicator] {
|
|
63
|
+
background: var(--gd-gradient);
|
|
64
|
+
}
|
|
@@ -0,0 +1,54 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @rokkit/themes - Grada UI Theme
|
|
3
|
+
*
|
|
4
|
+
* Coral/purple gradient identity with Montserrat typography.
|
|
5
|
+
* Clean white form elements, pill buttons, left-border accent states.
|
|
6
|
+
* Use with data-style="grada-ui" wrapper.
|
|
7
|
+
*/
|
|
8
|
+
|
|
9
|
+
/* =============================================================================
|
|
10
|
+
Grada UI Design Tokens
|
|
11
|
+
============================================================================= */
|
|
12
|
+
|
|
13
|
+
[data-style='grada-ui'] {
|
|
14
|
+
/* Brand colors (from Figma) */
|
|
15
|
+
--gd-primary: #f27a54;
|
|
16
|
+
--gd-secondary: #a154f2;
|
|
17
|
+
--gd-gradient: linear-gradient(to right, #f27a54, #a154f2);
|
|
18
|
+
|
|
19
|
+
/* Semantic colors */
|
|
20
|
+
--gd-success: #6fcf97;
|
|
21
|
+
--gd-error-border: #cf6f8a;
|
|
22
|
+
--gd-error-text: #f27474;
|
|
23
|
+
|
|
24
|
+
/* Surface palette */
|
|
25
|
+
--gd-dark: #30363d;
|
|
26
|
+
--gd-surface-a: #3c444c;
|
|
27
|
+
--gd-surface-b: #747d88;
|
|
28
|
+
--gd-grey-c: #cbcfd4;
|
|
29
|
+
|
|
30
|
+
/* Typography */
|
|
31
|
+
font-family: 'Montserrat', sans-serif;
|
|
32
|
+
}
|
|
33
|
+
|
|
34
|
+
@import './button.css';
|
|
35
|
+
@import './input.css';
|
|
36
|
+
@import './toolbar.css';
|
|
37
|
+
@import './tabs.css';
|
|
38
|
+
@import './toggle.css';
|
|
39
|
+
@import './switch.css';
|
|
40
|
+
@import './list.css';
|
|
41
|
+
@import './tree.css';
|
|
42
|
+
@import './select.css';
|
|
43
|
+
@import './menu.css';
|
|
44
|
+
@import './dropdown.css';
|
|
45
|
+
@import './floating-action.css';
|
|
46
|
+
@import './table.css';
|
|
47
|
+
@import './search-filter.css';
|
|
48
|
+
@import './range.css';
|
|
49
|
+
@import './timeline.css';
|
|
50
|
+
@import './floating-navigation.css';
|
|
51
|
+
@import './toc.css';
|
|
52
|
+
@import './card.css';
|
|
53
|
+
@import './message.css';
|
|
54
|
+
@import './status-list.css';
|
|
@@ -0,0 +1,155 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Input - Grada UI Theme Styles
|
|
3
|
+
*
|
|
4
|
+
* Clean white inputs with 3px radius, accent left border for valid/invalid states,
|
|
5
|
+
* Montserrat labels.
|
|
6
|
+
*/
|
|
7
|
+
|
|
8
|
+
/* =============================================================================
|
|
9
|
+
Base Input
|
|
10
|
+
============================================================================= */
|
|
11
|
+
|
|
12
|
+
[data-style='grada-ui'] [data-input-root] {
|
|
13
|
+
@apply border-surface-z4 flex items-center border bg-white p-0 transition-all;
|
|
14
|
+
border-radius: 3px;
|
|
15
|
+
background-image: none;
|
|
16
|
+
}
|
|
17
|
+
|
|
18
|
+
[data-style='grada-ui'] [data-input-root]:hover {
|
|
19
|
+
@apply border-surface-z6;
|
|
20
|
+
}
|
|
21
|
+
|
|
22
|
+
[data-style='grada-ui'] [data-input-root]:focus-within {
|
|
23
|
+
border-color: var(--gd-primary);
|
|
24
|
+
background-image: none;
|
|
25
|
+
@apply bg-white;
|
|
26
|
+
}
|
|
27
|
+
|
|
28
|
+
/* Inputs inside wrapper */
|
|
29
|
+
[data-style='grada-ui']
|
|
30
|
+
[data-input-root]
|
|
31
|
+
input:not([type='checkbox'], [type='radio'], [type='color']),
|
|
32
|
+
[data-style='grada-ui'] [data-input-root] textarea,
|
|
33
|
+
[data-style='grada-ui'] [data-input-root] select {
|
|
34
|
+
@apply text-surface-z9 w-full border-none bg-transparent px-3 py-2.5 transition-all outline-none;
|
|
35
|
+
font-size: 0.875rem;
|
|
36
|
+
line-height: 1.25rem;
|
|
37
|
+
}
|
|
38
|
+
|
|
39
|
+
[data-style='grada-ui'] [data-input-root] textarea {
|
|
40
|
+
@apply resize-vertical min-h-20;
|
|
41
|
+
}
|
|
42
|
+
|
|
43
|
+
/* Select inside input-root */
|
|
44
|
+
[data-style='grada-ui'] [data-input-root] [data-select-trigger] {
|
|
45
|
+
@apply text-surface-z9 border-none bg-transparent px-3 shadow-none ring-0 focus:outline-none;
|
|
46
|
+
border-radius: 3px;
|
|
47
|
+
font-size: 0.875rem;
|
|
48
|
+
}
|
|
49
|
+
|
|
50
|
+
[data-style='grada-ui'] [data-input-root] [data-select][data-open='true'] [data-select-trigger] {
|
|
51
|
+
@apply border-none shadow-none ring-0;
|
|
52
|
+
}
|
|
53
|
+
|
|
54
|
+
/* =============================================================================
|
|
55
|
+
Labels
|
|
56
|
+
============================================================================= */
|
|
57
|
+
|
|
58
|
+
[data-style='grada-ui'] [data-field-root] label {
|
|
59
|
+
@apply text-surface-z6 text-sm font-medium;
|
|
60
|
+
font-family: 'Montserrat', sans-serif;
|
|
61
|
+
}
|
|
62
|
+
|
|
63
|
+
[data-style='grada-ui'] [data-form-root] label {
|
|
64
|
+
@apply text-surface-z6 text-sm;
|
|
65
|
+
font-family: 'Montserrat', sans-serif;
|
|
66
|
+
}
|
|
67
|
+
|
|
68
|
+
/* Checkbox fields */
|
|
69
|
+
[data-style='grada-ui'] [data-field-type='checkbox'] [data-field] {
|
|
70
|
+
@apply flex flex-row items-center gap-2;
|
|
71
|
+
}
|
|
72
|
+
|
|
73
|
+
[data-style='grada-ui'] [data-field-type='checkbox'] [data-field] > label {
|
|
74
|
+
@apply text-surface-z7 text-sm;
|
|
75
|
+
}
|
|
76
|
+
|
|
77
|
+
/* =============================================================================
|
|
78
|
+
Valid State — 4px left border mint green
|
|
79
|
+
============================================================================= */
|
|
80
|
+
|
|
81
|
+
[data-style='grada-ui'] [data-field-state='pass'] [data-input-root] {
|
|
82
|
+
border-left: 4px solid var(--gd-success);
|
|
83
|
+
}
|
|
84
|
+
|
|
85
|
+
/* =============================================================================
|
|
86
|
+
Invalid / Error State — 4px left border error pink
|
|
87
|
+
============================================================================= */
|
|
88
|
+
|
|
89
|
+
[data-style='grada-ui'] [data-field-state='fail'] [data-input-root] {
|
|
90
|
+
border-left: 4px solid var(--gd-error-border);
|
|
91
|
+
}
|
|
92
|
+
|
|
93
|
+
[data-style='grada-ui'] [data-field-state='fail'] label {
|
|
94
|
+
color: var(--gd-error-text);
|
|
95
|
+
}
|
|
96
|
+
|
|
97
|
+
/* =============================================================================
|
|
98
|
+
Disabled State
|
|
99
|
+
============================================================================= */
|
|
100
|
+
|
|
101
|
+
[data-style='grada-ui'] [data-field-disabled] [data-input-root] {
|
|
102
|
+
@apply border-surface-z3 bg-surface-z1 cursor-not-allowed opacity-60;
|
|
103
|
+
}
|
|
104
|
+
|
|
105
|
+
/* =============================================================================
|
|
106
|
+
Info Field
|
|
107
|
+
============================================================================= */
|
|
108
|
+
|
|
109
|
+
[data-style='grada-ui'] [data-field-info] {
|
|
110
|
+
color: var(--gd-primary);
|
|
111
|
+
}
|
|
112
|
+
|
|
113
|
+
/* =============================================================================
|
|
114
|
+
Separator
|
|
115
|
+
============================================================================= */
|
|
116
|
+
|
|
117
|
+
[data-style='grada-ui'] [data-form-separator] {
|
|
118
|
+
@apply border-surface-z3;
|
|
119
|
+
}
|
|
120
|
+
|
|
121
|
+
/* =============================================================================
|
|
122
|
+
Description & Messages
|
|
123
|
+
============================================================================= */
|
|
124
|
+
|
|
125
|
+
[data-style='grada-ui'] [data-description] {
|
|
126
|
+
@apply text-surface-z5 mt-1 px-1 text-xs;
|
|
127
|
+
}
|
|
128
|
+
|
|
129
|
+
[data-style='grada-ui'] [data-message] {
|
|
130
|
+
@apply mt-1 px-1 text-xs;
|
|
131
|
+
color: var(--gd-error-text);
|
|
132
|
+
}
|
|
133
|
+
|
|
134
|
+
/* =============================================================================
|
|
135
|
+
Placeholder
|
|
136
|
+
============================================================================= */
|
|
137
|
+
|
|
138
|
+
[data-style='grada-ui'] [data-input-root] input::placeholder,
|
|
139
|
+
[data-style='grada-ui'] [data-input-root] textarea::placeholder {
|
|
140
|
+
color: var(--gd-grey-c);
|
|
141
|
+
}
|
|
142
|
+
|
|
143
|
+
/* =============================================================================
|
|
144
|
+
Checkbox
|
|
145
|
+
============================================================================= */
|
|
146
|
+
|
|
147
|
+
[data-style='grada-ui'] [data-checkbox-icon] {
|
|
148
|
+
@apply text-surface-z5 text-lg;
|
|
149
|
+
}
|
|
150
|
+
|
|
151
|
+
[data-style='grada-ui']
|
|
152
|
+
[data-checkbox-root][data-variant='custom']:has(input:checked)
|
|
153
|
+
[data-checkbox-icon] {
|
|
154
|
+
color: var(--gd-primary);
|
|
155
|
+
}
|