react-ui-suite 1.0.0 → 1.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.
@@ -0,0 +1,400 @@
1
+ .rui-color-picker {
2
+ position: relative;
3
+ display: inline-flex;
4
+ flex-direction: column;
5
+ align-items: center;
6
+ gap: var(--rui-space-2);
7
+ }
8
+
9
+ .rui-color-picker__label {
10
+ font-size: 0.625rem;
11
+ font-weight: 600;
12
+ text-transform: uppercase;
13
+ letter-spacing: 0.3em;
14
+ color: rgb(148 163 184 / 1);
15
+ }
16
+
17
+ [data-theme="dark"] .rui-color-picker__label {
18
+ color: rgb(113 113 122 / 1);
19
+ }
20
+
21
+ .rui-color-picker__trigger {
22
+ position: relative;
23
+ width: 3rem;
24
+ height: 3rem;
25
+ border-radius: 999px;
26
+ border: 1px solid rgb(226 232 240 / 1);
27
+ background-color: #ffffff;
28
+ box-shadow: 0 1px 2px rgb(15 23 42 / 0.12);
29
+ display: inline-flex;
30
+ align-items: center;
31
+ justify-content: center;
32
+ cursor: pointer;
33
+ transition-property: color, background-color, border-color, text-decoration-color, fill, stroke, opacity, box-shadow, transform, filter, backdrop-filter;
34
+ transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
35
+ transition-duration: 150ms;
36
+ }
37
+
38
+ [data-theme="dark"] .rui-color-picker__trigger {
39
+ border-color: rgb(63 63 70 / 1);
40
+ background-color: rgb(24 24 27 / 1);
41
+ }
42
+
43
+ .rui-color-picker__trigger:hover {
44
+ box-shadow: 0 4px 10px rgb(15 23 42 / 0.14);
45
+ }
46
+
47
+ .rui-color-picker__trigger:focus-visible {
48
+ outline: 2px solid transparent;
49
+ outline-offset: 2px;
50
+ box-shadow: 0 0 0 0px #fff, 0 0 0 calc(2px + 0px) rgb(59 130 246 / 0.5), 0 0 #0000;
51
+ }
52
+
53
+ .rui-color-picker__trigger-fill {
54
+ position: absolute;
55
+ inset: 0.25rem;
56
+ border-radius: 999px;
57
+ border: 1px solid rgba(255, 255, 255, 0.35);
58
+ box-shadow: inset 0 1px 2px rgba(15, 23, 42, 0.25);
59
+ }
60
+
61
+ [data-theme="dark"] .rui-color-picker__trigger-fill {
62
+ border-color: rgba(15, 23, 42, 0.5);
63
+ box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.6);
64
+ }
65
+
66
+ .rui-color-picker__trigger-icon {
67
+ position: relative;
68
+ font-size: 1.25rem;
69
+ color: var(--rui-color-text-strong);
70
+ filter: drop-shadow(0 1px 1px rgba(15, 23, 42, 0.55));
71
+ transform: translate(0.5px, -1.5px);
72
+ }
73
+
74
+ .rui-color-picker__panel {
75
+ position: absolute;
76
+ top: calc(100% + 0.75rem);
77
+ left: 50%;
78
+ transform: translateX(-50%);
79
+ width: 340px;
80
+ max-width: 90vw;
81
+ border-radius: 1.25rem;
82
+ border: 1px solid rgba(148, 163, 184, 0.65);
83
+ background-color: rgba(255, 255, 255, 0.95);
84
+ box-shadow: 0 40px 80px rgba(15, 23, 42, 0.3);
85
+ backdrop-filter: blur(12px);
86
+ padding: 1.25rem;
87
+ z-index: 20;
88
+ }
89
+
90
+ [data-theme="dark"] .rui-color-picker__panel {
91
+ background-color: rgba(15, 15, 19, 0.95);
92
+ border-color: rgba(82, 82, 91, 0.9);
93
+ }
94
+
95
+ .rui-color-picker__panel-body {
96
+ display: flex;
97
+ flex-direction: column;
98
+ gap: 1.5rem;
99
+ }
100
+
101
+ .rui-color-picker__gradient-section {
102
+ display: flex;
103
+ flex-direction: column;
104
+ gap: 0.75rem;
105
+ }
106
+
107
+ .rui-color-picker__gradient {
108
+ position: relative;
109
+ height: 160px;
110
+ width: 100%;
111
+ cursor: crosshair;
112
+ border-radius: 1rem;
113
+ overflow: hidden;
114
+ box-shadow: inset 0 1px 2px rgba(15, 23, 42, 0.25);
115
+ border: 1px solid rgba(15, 23, 42, 0.08);
116
+ }
117
+
118
+ [data-theme="dark"] .rui-color-picker__gradient {
119
+ border-color: rgba(255, 255, 255, 0.12);
120
+ box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.5);
121
+ }
122
+
123
+ .rui-color-picker__gradient-thumb {
124
+ position: absolute;
125
+ width: 1rem;
126
+ height: 1rem;
127
+ border-radius: 999px;
128
+ border: 2px solid #fff;
129
+ box-shadow: 0 1px 2px rgba(15, 23, 42, 0.4);
130
+ transform: translate(-50%, -50%);
131
+ pointer-events: none;
132
+ }
133
+
134
+ .rui-color-picker__hue {
135
+ position: relative;
136
+ height: 0.75rem;
137
+ border-radius: 999px;
138
+ border: 1px solid rgba(255, 255, 255, 0.6);
139
+ background: linear-gradient(90deg, #f00, #ff0, #0f0, #0ff, #00f, #f0f, #f00);
140
+ box-shadow: inset 0 1px 2px rgba(15, 23, 42, 0.25);
141
+ cursor: pointer;
142
+ }
143
+
144
+ [data-theme="dark"] .rui-color-picker__hue {
145
+ border-color: rgba(39, 39, 42, 0.8);
146
+ }
147
+
148
+ .rui-color-picker__hue-thumb {
149
+ position: absolute;
150
+ top: 50%;
151
+ width: 0.75rem;
152
+ height: 1.25rem;
153
+ border-radius: 0.5rem;
154
+ border: 1px solid rgba(15, 23, 42, 0.5);
155
+ background-color: #fff;
156
+ transform: translate(-50%, -50%);
157
+ box-shadow: 0 1px 3px rgba(15, 23, 42, 0.25);
158
+ pointer-events: none;
159
+ }
160
+
161
+ .rui-color-picker__swatch-row {
162
+ display: flex;
163
+ flex-wrap: wrap;
164
+ gap: 0.5rem;
165
+ align-items: center;
166
+ }
167
+
168
+ .rui-color-picker__swatch {
169
+ position: relative;
170
+ display: flex;
171
+ }
172
+
173
+ .rui-color-picker__swatch-button {
174
+ width: 1.75rem;
175
+ height: 1.75rem;
176
+ border-radius: 999px;
177
+ border: 1px solid rgba(255, 255, 255, 0.4);
178
+ cursor: pointer;
179
+ transition: transform 150ms ease, box-shadow 150ms ease;
180
+ }
181
+
182
+ [data-theme="dark"] .rui-color-picker__swatch-button {
183
+ border-color: rgba(15, 23, 42, 0.6);
184
+ }
185
+
186
+ .rui-color-picker__swatch-button:hover,
187
+ .rui-color-picker__swatch-button:focus-visible {
188
+ outline: 2px solid var(--rui-color-focus-ring);
189
+ outline-offset: 2px;
190
+ }
191
+
192
+ .rui-color-picker__swatch-button--active {
193
+ outline: 2px solid var(--rui-color-border-strong);
194
+ outline-offset: 2px;
195
+ }
196
+
197
+ .rui-color-picker__swatch-remove {
198
+ position: absolute;
199
+ top: -0.25rem;
200
+ right: -0.25rem;
201
+ width: 0.95rem;
202
+ height: 0.95rem;
203
+ border-radius: 999px;
204
+ border: 1px solid var(--rui-color-border);
205
+ background-color: var(--rui-color-surface);
206
+ font-size: 0.55rem;
207
+ font-weight: 700;
208
+ color: var(--rui-color-text-muted);
209
+ display: none;
210
+ align-items: center;
211
+ justify-content: center;
212
+ box-shadow: 0 1px 2px rgba(15, 23, 42, 0.15);
213
+ cursor: pointer;
214
+ }
215
+
216
+ .rui-color-picker__swatch:hover .rui-color-picker__swatch-remove,
217
+ .rui-color-picker__swatch:focus-within .rui-color-picker__swatch-remove {
218
+ display: flex;
219
+ }
220
+
221
+ .rui-color-picker__add-swatch {
222
+ width: 1.75rem;
223
+ height: 1.75rem;
224
+ display: inline-flex;
225
+ align-items: center;
226
+ justify-content: center;
227
+ border: 1px dashed var(--rui-color-border);
228
+ border-radius: 999px;
229
+ padding: 0;
230
+ font-size: 1.1rem;
231
+ line-height: 1;
232
+ font-weight: 600;
233
+ color: var(--rui-color-text-muted);
234
+ background-color: inherit;
235
+ cursor: pointer;
236
+ }
237
+
238
+ .rui-color-picker__add-swatch:hover {
239
+ border-color: var(--rui-color-border-strong);
240
+ color: var(--rui-color-text-strong);
241
+ }
242
+
243
+ .rui-color-picker__channels {
244
+ display: flex;
245
+ flex-direction: column;
246
+ gap: 0.5rem;
247
+ }
248
+
249
+ .rui-color-picker__channels-header {
250
+ display: flex;
251
+ flex-wrap: wrap;
252
+ align-items: center;
253
+ justify-content: space-between;
254
+ gap: 0.5rem;
255
+ font-size: 0.7rem;
256
+ text-transform: uppercase;
257
+ letter-spacing: 0.2em;
258
+ color: var(--rui-color-text-muted);
259
+ }
260
+
261
+ .rui-color-picker__format-toggle {
262
+ display: inline-flex;
263
+ border-radius: 0.75rem;
264
+ border: 1px solid var(--rui-color-border);
265
+ background-color: rgba(255, 255, 255, 0.8);
266
+ overflow: hidden;
267
+ }
268
+
269
+ [data-theme="dark"] .rui-color-picker__format-toggle {
270
+ background-color: rgba(9, 9, 11, 0.8);
271
+ border-color: rgba(63, 63, 70, 0.7);
272
+ }
273
+
274
+ .rui-color-picker__format-button {
275
+ padding: 0.375rem 0.75rem;
276
+ font-size: 11px;
277
+ font-weight: 600;
278
+ letter-spacing: 0.2em;
279
+ text-transform: uppercase;
280
+ color: var(--rui-color-text-muted);
281
+ background: transparent;
282
+ cursor: pointer;
283
+ border: none;
284
+ border-radius: 0;
285
+ margin: 0;
286
+ appearance: none;
287
+ transition: background-color 150ms ease, color 150ms ease, box-shadow 150ms ease;
288
+ }
289
+
290
+ .rui-color-picker__format-button:focus-visible {
291
+ outline: none;
292
+ box-shadow: inset 0 0 0 2px rgba(148, 163, 184, 0.6);
293
+ }
294
+
295
+ .rui-color-picker__format-button.is-active {
296
+ background-color: #fff;
297
+ color: var(--rui-color-text-strong);
298
+ box-shadow: inset 0 0 0 1px rgba(15, 23, 42, 0.1);
299
+ }
300
+
301
+ [data-theme="dark"] .rui-color-picker__format-button.is-active {
302
+ background-color: rgba(255, 255, 255, 0.15);
303
+ color: #fff;
304
+ }
305
+
306
+ .rui-color-picker__channel-grid {
307
+ display: flex;
308
+ gap: 0.5rem;
309
+ justify-content: center;
310
+ }
311
+
312
+ .rui-color-picker__channel-field {
313
+ display: flex;
314
+ align-items: center;
315
+ gap: 0.5rem;
316
+ border: 1px solid var(--rui-color-border);
317
+ border-radius: 0.9rem;
318
+ padding: 0.4rem 0.75rem;
319
+ flex: 1 1 calc((100% - 1rem) / 3);
320
+ min-width: 5.625rem;
321
+ background-color: rgba(255, 255, 255, 0.6);
322
+ font-family: "JetBrains Mono", "SFMono-Regular", Consolas, monospace;
323
+ }
324
+
325
+ .rui-color-picker__channel-field:not(.rui-color-picker__channel-field--hex) {
326
+ padding-left: 0.65rem;
327
+ padding-right: 0.65rem;
328
+ }
329
+
330
+ [data-theme="dark"] .rui-color-picker__channel-field {
331
+ background-color: rgba(9, 9, 11, 0.7);
332
+ border-color: rgba(63, 63, 70, 0.7);
333
+ }
334
+
335
+ .rui-color-picker__channel-field--hex {
336
+ flex: 1 1 11.25rem;
337
+ min-width: 11.25rem;
338
+ }
339
+
340
+ .rui-color-picker__channel-prefix {
341
+ font-size: 0.7rem;
342
+ font-weight: 600;
343
+ letter-spacing: 0.2em;
344
+ color: var(--rui-color-text-muted);
345
+ }
346
+
347
+ .rui-color-picker__channel-field--hex .rui-color-picker__channel-prefix {
348
+ font-size: 1rem;
349
+ letter-spacing: normal;
350
+ }
351
+
352
+ .rui-color-picker__channel-input {
353
+ flex: 1;
354
+ min-width: 0;
355
+ height: 1.5rem;
356
+ border: none;
357
+ background: transparent;
358
+ font-size: 0.8rem;
359
+ color: var(--rui-color-text-strong);
360
+ }
361
+
362
+ .rui-color-picker__channel-input:focus {
363
+ outline: none;
364
+ }
365
+
366
+ .rui-color-picker__channel-input--hex {
367
+ text-align: left;
368
+ text-transform: uppercase;
369
+ letter-spacing: 0.2em;
370
+ }
371
+
372
+ .rui-color-picker__channel-field:focus-within {
373
+ border-color: var(--rui-color-border-strong);
374
+ }
375
+
376
+ .rui-color-picker__add-swatch:focus-visible {
377
+ outline: 2px solid var(--rui-color-focus-ring);
378
+ outline-offset: 2px;
379
+ }
380
+
381
+ [data-theme="dark"] .rui-color-picker__swatch-remove {
382
+ background-color: rgba(9, 9, 11, 0.9);
383
+ border-color: rgba(63, 63, 70, 0.8);
384
+ }
385
+
386
+ .rui-color-picker__panel-body > * + * {
387
+ margin-top: 1.5rem;
388
+ }
389
+
390
+ .rui-color-picker__gradient-section > * + * {
391
+ margin-top: 0.75rem;
392
+ }
393
+
394
+ .rui-color-picker__label,
395
+ .rui-color-picker__panel-body,
396
+ .rui-color-picker__channels-header,
397
+ .rui-color-picker__format-toggle,
398
+ .rui-color-picker__channel-grid {
399
+ min-width: 0;
400
+ }
@@ -0,0 +1,130 @@
1
+ .rui-combobox__highlightBorder {
2
+ border-color: #94a3b8;
3
+ }
4
+
5
+ [data-theme="dark"] .rui-combobox__highlightBorder {
6
+ border-color: #64748b;
7
+ }
8
+
9
+ .rui-combobox__listbox {
10
+ max-height: 16rem;
11
+ overflow: auto;
12
+ padding-left: 0.25rem;
13
+ padding-right: 1rem;
14
+ margin: 0px;
15
+ scrollbar-width: none;
16
+ }
17
+
18
+ .rui-combobox__listbox::-webkit-scrollbar {
19
+ width: 0;
20
+ height: 0;
21
+ }
22
+
23
+ .rui-combobox__empty {
24
+ user-select: none;
25
+ }
26
+
27
+ .rui-combobox__empty-content {
28
+ padding: 0.5rem 0.75rem;
29
+ font-size: 0.875rem;
30
+ line-height: 1.25rem;
31
+ color: rgb(100 116 139 / 1);
32
+ }
33
+
34
+ [data-theme="dark"] .rui-combobox__empty-content {
35
+ color: rgb(113 113 122 / 1);
36
+ }
37
+
38
+ .rui-combobox__option {
39
+ list-style-type: none;
40
+ }
41
+
42
+ .rui-combobox__option-row {
43
+ display: flex;
44
+ align-items: center;
45
+ gap: 0.75rem;
46
+ border-radius: 0.75rem;
47
+ padding: 0.5rem 0.75rem;
48
+ font-size: 0.875rem;
49
+ line-height: 1.25rem;
50
+ color: rgb(51 65 85 / 1);
51
+ cursor: pointer;
52
+ user-select: none;
53
+ transition: background-color 150ms ease, color 150ms ease, opacity 150ms ease;
54
+ }
55
+
56
+ .rui-combobox__option-row--active {
57
+ background-color: rgb(241 245 249 / 1);
58
+ color: rgb(15 23 42 / 1);
59
+ }
60
+
61
+ .rui-combobox__option-row--selected {
62
+ font-weight: 600;
63
+ background-color: rgb(226 232 240 / 0.7);
64
+ }
65
+
66
+ .rui-combobox__option-row:not(.rui-combobox__option-row--disabled):hover {
67
+ background-color: rgb(241 245 249 / 1);
68
+ }
69
+
70
+ .rui-combobox__option-row--selected:not(.rui-combobox__option-row--disabled):hover {
71
+ background-color: rgb(226 232 240 / 0.95);
72
+ }
73
+
74
+ .rui-combobox__option-row--disabled {
75
+ cursor: not-allowed;
76
+ opacity: 0.5;
77
+ }
78
+
79
+ [data-theme="dark"] .rui-combobox__option-row {
80
+ color: rgb(228 228 231 / 1);
81
+ }
82
+
83
+ [data-theme="dark"] .rui-combobox__option-row--active {
84
+ background-color: rgb(39 39 42 / 0.7);
85
+ color: rgb(244 244 245 / 1);
86
+ }
87
+
88
+ [data-theme="dark"] .rui-combobox__option-row--selected {
89
+ background-color: rgb(24 24 27 / 0.9);
90
+ }
91
+
92
+ [data-theme="dark"] .rui-combobox__option-row:not(.rui-combobox__option-row--disabled):hover {
93
+ background-color: rgb(39 39 42 / 0.7);
94
+ }
95
+
96
+ [data-theme="dark"] .rui-combobox__option-row--selected:not(.rui-combobox__option-row--disabled):hover {
97
+ background-color: rgb(39 39 42 / 0.9);
98
+ }
99
+
100
+ .rui-combobox__option-label {
101
+ overflow: hidden;
102
+ text-overflow: ellipsis;
103
+ white-space: nowrap;
104
+ }
105
+
106
+ .rui-combobox__option-icon,
107
+ .rui-combobox__option-icon-placeholder {
108
+ margin-left: auto;
109
+ width: 0.875rem;
110
+ height: 0.875rem;
111
+ flex: 0 0 0.875rem;
112
+ }
113
+
114
+ .rui-combobox__option-icon {
115
+ color: rgb(71 85 105 / 1);
116
+ }
117
+
118
+ [data-theme="dark"] .rui-combobox__option-icon {
119
+ color: rgb(212 212 216 / 1);
120
+ }
121
+
122
+ .rui-combobox__listbox,
123
+ .rui-combobox__option-row {
124
+ min-width: 0;
125
+ }
126
+
127
+ .rui-combobox__option-label {
128
+ flex: 1 1 0%;
129
+ min-width: 0;
130
+ }
@@ -0,0 +1,122 @@
1
+ .rui-datalist-input > :not([hidden]) ~ :not([hidden]) {
2
+ margin-top: calc(0.375rem * calc(1 - 0));
3
+ margin-bottom: calc(0.375rem * 0);
4
+ }
5
+
6
+ .rui-datalist-input__label {
7
+ font-size: 0.75rem;
8
+ line-height: 1rem;
9
+ font-weight: 600;
10
+ text-transform: uppercase;
11
+ letter-spacing: 0.2em;
12
+ color: rgb(100 116 139 / 1);
13
+ }
14
+
15
+ [data-theme="dark"] .rui-datalist-input__label {
16
+ color: rgb(161 161 170 / 1);
17
+ }
18
+
19
+ .rui-datalist-input__inline-key {
20
+ font-size: 11px;
21
+ font-weight: 600;
22
+ text-transform: uppercase;
23
+ letter-spacing: 0.2em;
24
+ color: rgb(148 163 184 / 1);
25
+ }
26
+
27
+ [data-theme="dark"] .rui-datalist-input__inline-key {
28
+ color: rgb(113 113 122 / 1);
29
+ }
30
+
31
+ .rui-datalist-input__description {
32
+ font-size: 0.75rem;
33
+ line-height: 1rem;
34
+ color: rgb(100 116 139 / 1);
35
+ }
36
+
37
+ [data-theme="dark"] .rui-datalist-input__description {
38
+ color: rgb(161 161 170 / 1);
39
+ }
40
+
41
+ .rui-datalist-input__list {
42
+ list-style: none;
43
+ margin: 0;
44
+ max-height: 14rem;
45
+ overflow: auto;
46
+ padding: 0.25rem 1rem 0.25rem 0.25rem;
47
+ font-size: 0.875rem;
48
+ line-height: 1.25rem;
49
+ color: rgb(30 41 59 / 1);
50
+ scrollbar-width: none;
51
+ }
52
+
53
+ .rui-datalist-input__list::-webkit-scrollbar {
54
+ width: 0;
55
+ height: 0;
56
+ }
57
+
58
+ [data-theme="dark"] .rui-datalist-input__list {
59
+ color: rgb(244 244 245 / 1);
60
+ }
61
+
62
+ .rui-datalist-input__option {
63
+ margin: 0;
64
+ padding: 0;
65
+ }
66
+
67
+ .rui-datalist-input__option-button {
68
+ width: 100%;
69
+ display: flex;
70
+ align-items: center;
71
+ gap: 0.75rem;
72
+ padding: 0.75rem;
73
+ border: none;
74
+ border-radius: 0.75rem;
75
+ background: transparent;
76
+ text-align: left;
77
+ cursor: pointer;
78
+ transition: background-color 150ms ease, color 150ms ease;
79
+ appearance: none;
80
+ }
81
+
82
+ .rui-datalist-input__option-button:hover,
83
+ .rui-datalist-input__option-button.is-active {
84
+ background-color: rgb(248 250 252 / 1);
85
+ }
86
+
87
+ [data-theme="dark"] .rui-datalist-input__option-button:hover,
88
+ [data-theme="dark"] .rui-datalist-input__option-button.is-active {
89
+ background-color: rgb(39 39 42 / 0.6);
90
+ }
91
+
92
+ .rui-datalist-input__option-button:focus-visible {
93
+ outline: none;
94
+ box-shadow: 0 0 0 2px rgba(148, 163, 184, 0.6);
95
+ }
96
+
97
+ .rui-datalist-input__option-key {
98
+ font-size: 10px;
99
+ font-weight: 600;
100
+ text-transform: uppercase;
101
+ letter-spacing: 0.2em;
102
+ color: rgb(148 163 184 / 1);
103
+ }
104
+
105
+ [data-theme="dark"] .rui-datalist-input__option-key {
106
+ color: rgb(113 113 122 / 1);
107
+ }
108
+
109
+ .rui-datalist-input__option-text {
110
+ font-weight: 600;
111
+ color: inherit;
112
+ }
113
+
114
+ .rui-datalist-input__list,
115
+ .rui-datalist-input__option-button {
116
+ min-width: 0;
117
+ }
118
+
119
+ .rui-datalist-input__option-text {
120
+ flex: 1 1 0%;
121
+ min-width: 0;
122
+ }