@ryanhelsing/ry-ui 1.0.2 → 1.0.4
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/AGENT.md +460 -0
- package/AGENTS.md +57 -0
- package/README.md +45 -1
- package/dist/components/ry-button-group.d.ts +32 -0
- package/dist/components/ry-button-group.d.ts.map +1 -0
- package/dist/components/ry-carousel.d.ts +21 -0
- package/dist/components/ry-carousel.d.ts.map +1 -0
- package/dist/components/ry-feature.d.ts +21 -0
- package/dist/components/ry-feature.d.ts.map +1 -0
- package/dist/components/ry-field.d.ts +7 -1
- package/dist/components/ry-field.d.ts.map +1 -1
- package/dist/components/ry-hero.d.ts +16 -0
- package/dist/components/ry-hero.d.ts.map +1 -0
- package/dist/components/ry-number-select.d.ts.map +1 -1
- package/dist/components/ry-pricing.d.ts +21 -0
- package/dist/components/ry-pricing.d.ts.map +1 -0
- package/dist/components/ry-select.d.ts +8 -1
- package/dist/components/ry-select.d.ts.map +1 -1
- package/dist/components/ry-split.d.ts +28 -0
- package/dist/components/ry-split.d.ts.map +1 -0
- package/dist/components/ry-stat.d.ts +17 -0
- package/dist/components/ry-stat.d.ts.map +1 -0
- package/dist/components/ry-tag-input.d.ts +18 -0
- package/dist/components/ry-tag-input.d.ts.map +1 -0
- package/dist/components/ry-tag.d.ts +19 -0
- package/dist/components/ry-tag.d.ts.map +1 -0
- package/dist/core/ry-transform.d.ts.map +1 -1
- package/dist/css/ry-structure.css +739 -149
- package/dist/css/ry-theme.css +581 -180
- package/dist/css/ry-tokens.css +120 -24
- package/dist/css/ry-ui.css +4965 -1065
- package/dist/ry-ui.d.ts +9 -0
- package/dist/ry-ui.d.ts.map +1 -1
- package/dist/ry-ui.js +1309 -778
- package/dist/ry-ui.js.map +1 -1
- package/dist/themes/dark.css +7 -90
- package/dist/themes/light.css +6 -35
- package/dist/themes/ocean.css +22 -26
- package/docs/components/accordion.md +31 -0
- package/docs/components/button-group.md +36 -0
- package/docs/components/button.md +65 -0
- package/docs/components/color.md +84 -0
- package/docs/components/display.md +69 -0
- package/docs/components/drawer.md +36 -0
- package/docs/components/dropdown.md +33 -0
- package/docs/components/forms.md +90 -0
- package/docs/components/knob.md +42 -0
- package/docs/components/layout.md +217 -0
- package/docs/components/modal.md +38 -0
- package/docs/components/number-select.md +42 -0
- package/docs/components/slider.md +48 -0
- package/docs/components/tabs.md +30 -0
- package/docs/components/theme-toggle.md +36 -0
- package/docs/components/toast.md +27 -0
- package/docs/components/tooltip.md +14 -0
- package/docs/components/tree.md +46 -0
- package/docs/theming.md +182 -0
- package/package.json +8 -4
- package/USING_CDN.md +0 -591
package/dist/css/ry-theme.css
CHANGED
|
@@ -6,6 +6,8 @@
|
|
|
6
6
|
* Override these styles or swap with your own theme.
|
|
7
7
|
*/
|
|
8
8
|
|
|
9
|
+
@layer ry-theme {
|
|
10
|
+
|
|
9
11
|
/* ═══════════════════════════════════════════════════════════════
|
|
10
12
|
BASE / BODY
|
|
11
13
|
═══════════════════════════════════════════════════════════════ */
|
|
@@ -18,11 +20,7 @@ html {
|
|
|
18
20
|
FOCUS STYLES
|
|
19
21
|
═══════════════════════════════════════════════════════════════ */
|
|
20
22
|
|
|
21
|
-
[class^="ry-"]:focus-visible
|
|
22
|
-
[class*=" ry-"]:focus-visible,
|
|
23
|
-
ry-button:focus-visible,
|
|
24
|
-
.ry-btn:focus-visible,
|
|
25
|
-
.ry-input:focus-visible {
|
|
23
|
+
:is([class^="ry-"], [class*=" ry-"], ry-button, .ry-btn, .ry-input):focus-visible {
|
|
26
24
|
outline: none;
|
|
27
25
|
box-shadow: var(--ry-focus-ring);
|
|
28
26
|
}
|
|
@@ -39,7 +37,7 @@ ry-page {
|
|
|
39
37
|
background-color: var(--ry-color-bg);
|
|
40
38
|
}
|
|
41
39
|
|
|
42
|
-
ry-page h1,
|
|
40
|
+
ry-page :is(h1, h2, h3, h4, h5, h6) {
|
|
43
41
|
margin: 0 0 var(--ry-space-4) 0;
|
|
44
42
|
font-weight: var(--ry-font-semibold);
|
|
45
43
|
line-height: var(--ry-leading-tight);
|
|
@@ -70,7 +68,7 @@ ry-page a:hover {
|
|
|
70
68
|
|
|
71
69
|
ry-header {
|
|
72
70
|
background-color: var(--ry-color-bg);
|
|
73
|
-
border-
|
|
71
|
+
border-block-end: var(--ry-border-width) solid var(--ry-color-border);
|
|
74
72
|
}
|
|
75
73
|
|
|
76
74
|
/* ═══════════════════════════════════════════════════════════════
|
|
@@ -79,7 +77,7 @@ ry-header {
|
|
|
79
77
|
|
|
80
78
|
ry-footer {
|
|
81
79
|
background-color: var(--ry-color-bg-subtle);
|
|
82
|
-
border-
|
|
80
|
+
border-block-start: var(--ry-border-width) solid var(--ry-color-border);
|
|
83
81
|
color: var(--ry-color-text-muted);
|
|
84
82
|
}
|
|
85
83
|
|
|
@@ -120,12 +118,33 @@ ry-divider {
|
|
|
120
118
|
background-color: var(--ry-color-border);
|
|
121
119
|
}
|
|
122
120
|
|
|
121
|
+
/* ═══════════════════════════════════════════════════════════════
|
|
122
|
+
SPLIT HANDLE
|
|
123
|
+
═══════════════════════════════════════════════════════════════ */
|
|
124
|
+
|
|
125
|
+
ry-split [data-ry-target="handle"]::after {
|
|
126
|
+
background-color: var(--ry-color-border-strong);
|
|
127
|
+
}
|
|
128
|
+
|
|
129
|
+
ry-split[data-ry-resizing] [data-ry-target="handle"]::after {
|
|
130
|
+
background-color: var(--ry-color-primary);
|
|
131
|
+
}
|
|
132
|
+
|
|
133
|
+
ry-split [data-ry-target="handle"]:focus-visible {
|
|
134
|
+
outline: none;
|
|
135
|
+
}
|
|
136
|
+
|
|
137
|
+
ry-split [data-ry-target="handle"]:focus-visible::after {
|
|
138
|
+
opacity: 1;
|
|
139
|
+
background-color: var(--ry-color-primary);
|
|
140
|
+
box-shadow: var(--ry-focus-ring);
|
|
141
|
+
}
|
|
142
|
+
|
|
123
143
|
/* ═══════════════════════════════════════════════════════════════
|
|
124
144
|
BUTTONS
|
|
125
145
|
═══════════════════════════════════════════════════════════════ */
|
|
126
146
|
|
|
127
|
-
.ry-btn,
|
|
128
|
-
ry-button {
|
|
147
|
+
:is(.ry-btn, ry-button) {
|
|
129
148
|
font-family: var(--ry-font-sans);
|
|
130
149
|
font-size: var(--ry-text-sm);
|
|
131
150
|
font-weight: var(--ry-font-medium);
|
|
@@ -142,71 +161,98 @@ ry-button {
|
|
|
142
161
|
transition-timing-function: var(--ry-ease);
|
|
143
162
|
}
|
|
144
163
|
|
|
145
|
-
.ry-btn:hover
|
|
146
|
-
ry-button:hover {
|
|
164
|
+
:is(.ry-btn, ry-button):hover {
|
|
147
165
|
background-color: var(--ry-color-primary-hover);
|
|
148
166
|
}
|
|
149
167
|
|
|
150
|
-
.ry-btn:active
|
|
151
|
-
ry-button:active {
|
|
168
|
+
:is(.ry-btn, ry-button):active {
|
|
152
169
|
background-color: var(--ry-color-primary-active);
|
|
153
170
|
}
|
|
154
171
|
|
|
155
|
-
.ry-btn:disabled,
|
|
156
|
-
.ry-btn[aria-disabled="true"],
|
|
157
|
-
ry-button[disabled] {
|
|
172
|
+
:is(.ry-btn:disabled, .ry-btn[aria-disabled="true"], ry-button[disabled]) {
|
|
158
173
|
opacity: 0.5;
|
|
159
174
|
}
|
|
160
175
|
|
|
161
176
|
/* Button variants */
|
|
162
|
-
.ry-btn--secondary,
|
|
163
|
-
ry-button[variant="secondary"] {
|
|
177
|
+
:is(.ry-btn--secondary, ry-button[variant="secondary"]) {
|
|
164
178
|
background-color: var(--ry-color-secondary);
|
|
165
179
|
}
|
|
166
|
-
.ry-btn--secondary:hover
|
|
167
|
-
ry-button[variant="secondary"]:hover {
|
|
180
|
+
:is(.ry-btn--secondary, ry-button[variant="secondary"]):hover {
|
|
168
181
|
background-color: var(--ry-color-secondary-hover);
|
|
169
182
|
}
|
|
170
183
|
|
|
171
|
-
.ry-btn--outline,
|
|
172
|
-
ry-button[variant="outline"] {
|
|
184
|
+
:is(.ry-btn--outline, ry-button[variant="outline"]) {
|
|
173
185
|
background-color: transparent;
|
|
174
186
|
color: var(--ry-color-primary);
|
|
175
187
|
border-color: var(--ry-color-primary);
|
|
176
188
|
}
|
|
177
|
-
.ry-btn--outline:hover
|
|
178
|
-
ry-button[variant="outline"]:hover {
|
|
189
|
+
:is(.ry-btn--outline, ry-button[variant="outline"]):hover {
|
|
179
190
|
background-color: var(--ry-color-primary);
|
|
180
191
|
color: var(--ry-color-text-inverse);
|
|
181
192
|
}
|
|
182
193
|
|
|
183
|
-
.ry-btn--ghost,
|
|
184
|
-
ry-button[variant="ghost"] {
|
|
194
|
+
:is(.ry-btn--ghost, ry-button[variant="ghost"]) {
|
|
185
195
|
background-color: transparent;
|
|
186
196
|
color: var(--ry-color-text);
|
|
187
197
|
}
|
|
188
|
-
.ry-btn--ghost:hover
|
|
189
|
-
ry-button[variant="ghost"]:hover {
|
|
198
|
+
:is(.ry-btn--ghost, ry-button[variant="ghost"]):hover {
|
|
190
199
|
background-color: var(--ry-color-bg-muted);
|
|
191
200
|
}
|
|
192
201
|
|
|
193
|
-
.ry-btn--danger,
|
|
194
|
-
ry-button[variant="danger"] {
|
|
202
|
+
:is(.ry-btn--danger, ry-button[variant="danger"]) {
|
|
195
203
|
background-color: var(--ry-color-danger);
|
|
196
204
|
}
|
|
197
|
-
.ry-btn--danger:hover
|
|
198
|
-
ry-
|
|
199
|
-
|
|
205
|
+
:is(.ry-btn--danger, ry-button[variant="danger"]):hover {
|
|
206
|
+
background-color: var(--ry-color-danger-hover);
|
|
207
|
+
}
|
|
208
|
+
|
|
209
|
+
:is(.ry-btn--accent, ry-button[variant="accent"]) {
|
|
210
|
+
background-color: var(--ry-color-accent);
|
|
211
|
+
}
|
|
212
|
+
:is(.ry-btn--accent, ry-button[variant="accent"]):hover {
|
|
213
|
+
background-color: var(--ry-color-accent-hover);
|
|
214
|
+
}
|
|
215
|
+
|
|
216
|
+
/* Pressed/active toggle state */
|
|
217
|
+
:is(.ry-btn[aria-pressed="true"], ry-button[pressed]) {
|
|
218
|
+
background-color: var(--ry-color-primary);
|
|
219
|
+
color: var(--ry-color-text-inverse);
|
|
220
|
+
border-color: var(--ry-color-primary);
|
|
221
|
+
}
|
|
222
|
+
:is(.ry-btn[aria-pressed="true"], ry-button[pressed]):hover {
|
|
223
|
+
background-color: var(--ry-color-primary-hover);
|
|
224
|
+
border-color: var(--ry-color-primary-hover);
|
|
225
|
+
}
|
|
226
|
+
|
|
227
|
+
/* ═══════════════════════════════════════════════════════════════
|
|
228
|
+
BUTTON GROUP
|
|
229
|
+
═══════════════════════════════════════════════════════════════ */
|
|
230
|
+
|
|
231
|
+
ry-button-group > :is(ry-button, ry-toggle-button) {
|
|
232
|
+
border-color: var(--ry-color-border);
|
|
233
|
+
}
|
|
234
|
+
|
|
235
|
+
ry-button-group > :is(ry-button, ry-toggle-button):not(:first-child) {
|
|
236
|
+
border-inline-start-color: transparent;
|
|
237
|
+
}
|
|
238
|
+
|
|
239
|
+
/* Default children to outline style for segmented look */
|
|
240
|
+
ry-button-group:not([variant]) > :is(ry-button, ry-toggle-button):not([pressed]) {
|
|
241
|
+
background-color: var(--ry-color-bg);
|
|
242
|
+
color: var(--ry-color-text);
|
|
243
|
+
border-color: var(--ry-color-border);
|
|
244
|
+
}
|
|
245
|
+
|
|
246
|
+
ry-button-group:not([variant]) > :is(ry-button, ry-toggle-button):not([pressed]):hover {
|
|
247
|
+
background-color: var(--ry-color-bg-muted);
|
|
200
248
|
}
|
|
201
249
|
|
|
202
250
|
/* Button sizes (typography only - padding is structural) */
|
|
203
|
-
.ry-btn--sm,
|
|
204
|
-
ry-button[size="sm"] {
|
|
251
|
+
:is(.ry-btn--sm, ry-button[size="sm"]) {
|
|
205
252
|
font-size: var(--ry-text-xs);
|
|
206
253
|
}
|
|
207
254
|
|
|
208
|
-
.ry-btn--lg,
|
|
209
|
-
ry-button[size="lg"] {
|
|
255
|
+
:is(.ry-btn--lg, ry-button[size="lg"]) {
|
|
210
256
|
font-size: var(--ry-text-base);
|
|
211
257
|
}
|
|
212
258
|
|
|
@@ -440,37 +486,43 @@ ry-knob[color="danger"] [data-ry-target="indicator"] { background-color: var(--r
|
|
|
440
486
|
}
|
|
441
487
|
|
|
442
488
|
.ry-number-select__decrement {
|
|
443
|
-
border-radius: var(--ry-radius-md)
|
|
444
|
-
border-
|
|
489
|
+
border-start-start-radius: var(--ry-radius-md);
|
|
490
|
+
border-end-start-radius: var(--ry-radius-md);
|
|
491
|
+
border-start-end-radius: 0;
|
|
492
|
+
border-end-end-radius: 0;
|
|
493
|
+
border-inline-end: none;
|
|
445
494
|
}
|
|
446
495
|
|
|
447
496
|
.ry-number-select__increment {
|
|
448
|
-
border-
|
|
449
|
-
border-
|
|
497
|
+
border-start-start-radius: 0;
|
|
498
|
+
border-end-start-radius: 0;
|
|
499
|
+
border-start-end-radius: var(--ry-radius-md);
|
|
500
|
+
border-end-end-radius: var(--ry-radius-md);
|
|
501
|
+
border-inline-start: none;
|
|
450
502
|
}
|
|
451
503
|
|
|
452
504
|
/* Single-button rounding */
|
|
453
505
|
ry-number-select[arrows="start"] .ry-number-select__decrement {
|
|
454
506
|
border-radius: var(--ry-radius-md);
|
|
455
|
-
border-
|
|
507
|
+
border-inline-end: var(--ry-border-width) solid var(--ry-color-border);
|
|
456
508
|
}
|
|
457
509
|
|
|
458
510
|
ry-number-select[arrows="end"] .ry-number-select__increment {
|
|
459
511
|
border-radius: var(--ry-radius-md);
|
|
460
|
-
border-
|
|
512
|
+
border-inline-start: var(--ry-border-width) solid var(--ry-color-border);
|
|
461
513
|
}
|
|
462
514
|
|
|
463
515
|
.ry-number-select__display {
|
|
464
516
|
background-color: var(--ry-color-bg);
|
|
465
|
-
border-
|
|
466
|
-
border-
|
|
517
|
+
border-block-start: var(--ry-border-width) solid var(--ry-color-border);
|
|
518
|
+
border-block-end: var(--ry-border-width) solid var(--ry-color-border);
|
|
467
519
|
}
|
|
468
520
|
|
|
469
521
|
/* Display borders when both arrows */
|
|
470
522
|
ry-number-select:not([arrows]) .ry-number-select__display,
|
|
471
523
|
ry-number-select[arrows="both"] .ry-number-select__display {
|
|
472
|
-
border-
|
|
473
|
-
border-
|
|
524
|
+
border-inline-start: none;
|
|
525
|
+
border-inline-end: none;
|
|
474
526
|
}
|
|
475
527
|
|
|
476
528
|
/* No arrows: full border + radius */
|
|
@@ -479,42 +531,100 @@ ry-number-select[arrows="none"] .ry-number-select__display {
|
|
|
479
531
|
border-radius: var(--ry-radius-md);
|
|
480
532
|
}
|
|
481
533
|
|
|
482
|
-
/* Start only: display gets
|
|
534
|
+
/* Start only: display gets end border + end radius */
|
|
483
535
|
ry-number-select[arrows="start"] .ry-number-select__display {
|
|
484
|
-
border-
|
|
485
|
-
border-
|
|
486
|
-
border-
|
|
536
|
+
border-inline-end: var(--ry-border-width) solid var(--ry-color-border);
|
|
537
|
+
border-inline-start: none;
|
|
538
|
+
border-start-start-radius: 0;
|
|
539
|
+
border-end-start-radius: 0;
|
|
540
|
+
border-start-end-radius: var(--ry-radius-md);
|
|
541
|
+
border-end-end-radius: var(--ry-radius-md);
|
|
487
542
|
}
|
|
488
543
|
|
|
489
|
-
/* End only: display gets
|
|
544
|
+
/* End only: display gets start border + start radius */
|
|
490
545
|
ry-number-select[arrows="end"] .ry-number-select__display {
|
|
491
|
-
border-
|
|
492
|
-
border-
|
|
493
|
-
border-radius: var(--ry-radius-md)
|
|
546
|
+
border-inline-start: var(--ry-border-width) solid var(--ry-color-border);
|
|
547
|
+
border-inline-end: none;
|
|
548
|
+
border-start-start-radius: var(--ry-radius-md);
|
|
549
|
+
border-end-start-radius: var(--ry-radius-md);
|
|
550
|
+
border-start-end-radius: 0;
|
|
551
|
+
border-end-end-radius: 0;
|
|
494
552
|
}
|
|
495
553
|
|
|
496
554
|
/* Stacked: top-rounded increment, bottom-rounded decrement, no radius on display */
|
|
497
555
|
ry-number-select[arrows="stacked"] .ry-number-select__increment {
|
|
498
556
|
border: var(--ry-border-width) solid var(--ry-color-border);
|
|
499
|
-
border-
|
|
557
|
+
border-block-end: none;
|
|
500
558
|
border-radius: var(--ry-radius-md) var(--ry-radius-md) 0 0;
|
|
501
|
-
border-left: var(--ry-border-width) solid var(--ry-color-border);
|
|
502
559
|
}
|
|
503
560
|
|
|
504
561
|
ry-number-select[arrows="stacked"] .ry-number-select__decrement {
|
|
505
562
|
border: var(--ry-border-width) solid var(--ry-color-border);
|
|
506
|
-
border-
|
|
563
|
+
border-block-start: none;
|
|
507
564
|
border-radius: 0 0 var(--ry-radius-md) var(--ry-radius-md);
|
|
508
|
-
border-right: var(--ry-border-width) solid var(--ry-color-border);
|
|
509
565
|
}
|
|
510
566
|
|
|
511
567
|
ry-number-select[arrows="stacked"] .ry-number-select__display {
|
|
512
568
|
border: var(--ry-border-width) solid var(--ry-color-border);
|
|
513
|
-
border-
|
|
514
|
-
border-
|
|
569
|
+
border-block-start: none;
|
|
570
|
+
border-block-end: none;
|
|
515
571
|
border-radius: 0;
|
|
516
572
|
}
|
|
517
573
|
|
|
574
|
+
/* Stacked-end: display start-rounded, buttons end-rounded */
|
|
575
|
+
ry-number-select[arrows="stacked-end"] .ry-number-select__display {
|
|
576
|
+
border: var(--ry-border-width) solid var(--ry-color-border);
|
|
577
|
+
border-inline-end: none;
|
|
578
|
+
border-start-start-radius: var(--ry-radius-md);
|
|
579
|
+
border-end-start-radius: var(--ry-radius-md);
|
|
580
|
+
border-start-end-radius: 0;
|
|
581
|
+
border-end-end-radius: 0;
|
|
582
|
+
}
|
|
583
|
+
|
|
584
|
+
ry-number-select[arrows="stacked-end"] .ry-number-select__increment {
|
|
585
|
+
border: var(--ry-border-width) solid var(--ry-color-border);
|
|
586
|
+
border-block-end: none;
|
|
587
|
+
border-start-end-radius: var(--ry-radius-md);
|
|
588
|
+
border-start-start-radius: 0;
|
|
589
|
+
border-end-start-radius: 0;
|
|
590
|
+
border-end-end-radius: 0;
|
|
591
|
+
}
|
|
592
|
+
|
|
593
|
+
ry-number-select[arrows="stacked-end"] .ry-number-select__decrement {
|
|
594
|
+
border: var(--ry-border-width) solid var(--ry-color-border);
|
|
595
|
+
border-end-end-radius: var(--ry-radius-md);
|
|
596
|
+
border-start-start-radius: 0;
|
|
597
|
+
border-start-end-radius: 0;
|
|
598
|
+
border-end-start-radius: 0;
|
|
599
|
+
}
|
|
600
|
+
|
|
601
|
+
/* Stacked-start: buttons start-rounded, display end-rounded */
|
|
602
|
+
ry-number-select[arrows="stacked-start"] .ry-number-select__display {
|
|
603
|
+
border: var(--ry-border-width) solid var(--ry-color-border);
|
|
604
|
+
border-inline-start: none;
|
|
605
|
+
border-start-start-radius: 0;
|
|
606
|
+
border-end-start-radius: 0;
|
|
607
|
+
border-start-end-radius: var(--ry-radius-md);
|
|
608
|
+
border-end-end-radius: var(--ry-radius-md);
|
|
609
|
+
}
|
|
610
|
+
|
|
611
|
+
ry-number-select[arrows="stacked-start"] .ry-number-select__increment {
|
|
612
|
+
border: var(--ry-border-width) solid var(--ry-color-border);
|
|
613
|
+
border-block-end: none;
|
|
614
|
+
border-start-start-radius: var(--ry-radius-md);
|
|
615
|
+
border-start-end-radius: 0;
|
|
616
|
+
border-end-start-radius: 0;
|
|
617
|
+
border-end-end-radius: 0;
|
|
618
|
+
}
|
|
619
|
+
|
|
620
|
+
ry-number-select[arrows="stacked-start"] .ry-number-select__decrement {
|
|
621
|
+
border: var(--ry-border-width) solid var(--ry-color-border);
|
|
622
|
+
border-end-start-radius: var(--ry-radius-md);
|
|
623
|
+
border-start-start-radius: 0;
|
|
624
|
+
border-start-end-radius: 0;
|
|
625
|
+
border-end-end-radius: 0;
|
|
626
|
+
}
|
|
627
|
+
|
|
518
628
|
.ry-number-select__value {
|
|
519
629
|
font-family: var(--ry-font-mono);
|
|
520
630
|
font-size: var(--ry-text-sm);
|
|
@@ -529,7 +639,7 @@ ry-number-select[arrows="stacked"] .ry-number-select__display {
|
|
|
529
639
|
color: var(--ry-color-text);
|
|
530
640
|
background: transparent;
|
|
531
641
|
border: none;
|
|
532
|
-
border-
|
|
642
|
+
border-block-end: 2px solid var(--ry-color-primary);
|
|
533
643
|
}
|
|
534
644
|
|
|
535
645
|
.ry-number-select__display:focus-visible {
|
|
@@ -585,8 +695,7 @@ ry-card p {
|
|
|
585
695
|
BADGES
|
|
586
696
|
═══════════════════════════════════════════════════════════════ */
|
|
587
697
|
|
|
588
|
-
.ry-badge,
|
|
589
|
-
ry-badge {
|
|
698
|
+
:is(.ry-badge, ry-badge) {
|
|
590
699
|
font-size: var(--ry-text-xs);
|
|
591
700
|
font-weight: var(--ry-font-medium);
|
|
592
701
|
background-color: var(--ry-color-bg-muted);
|
|
@@ -594,71 +703,72 @@ ry-badge {
|
|
|
594
703
|
border-radius: var(--ry-radius-full);
|
|
595
704
|
}
|
|
596
705
|
|
|
597
|
-
.ry-badge--primary,
|
|
598
|
-
ry-badge[variant="primary"] {
|
|
706
|
+
:is(.ry-badge--primary, ry-badge[variant="primary"]) {
|
|
599
707
|
background-color: var(--ry-color-primary);
|
|
600
708
|
color: var(--ry-color-text-inverse);
|
|
601
709
|
}
|
|
602
710
|
|
|
603
|
-
.ry-badge--success,
|
|
604
|
-
ry-badge[variant="success"] {
|
|
711
|
+
:is(.ry-badge--success, ry-badge[variant="success"]) {
|
|
605
712
|
background-color: var(--ry-color-success);
|
|
606
713
|
color: var(--ry-color-text-inverse);
|
|
607
714
|
}
|
|
608
715
|
|
|
609
|
-
.ry-badge--warning,
|
|
610
|
-
ry-badge[variant="warning"] {
|
|
716
|
+
:is(.ry-badge--warning, ry-badge[variant="warning"]) {
|
|
611
717
|
background-color: var(--ry-color-warning);
|
|
612
718
|
color: var(--ry-color-text);
|
|
613
719
|
}
|
|
614
720
|
|
|
615
|
-
.ry-badge--danger,
|
|
616
|
-
ry-badge[variant="danger"] {
|
|
721
|
+
:is(.ry-badge--danger, ry-badge[variant="danger"]) {
|
|
617
722
|
background-color: var(--ry-color-danger);
|
|
618
723
|
color: var(--ry-color-text-inverse);
|
|
619
724
|
}
|
|
620
725
|
|
|
726
|
+
:is(.ry-badge--accent, ry-badge[variant="accent"]) {
|
|
727
|
+
background-color: var(--ry-color-accent);
|
|
728
|
+
color: var(--ry-color-text-inverse);
|
|
729
|
+
}
|
|
730
|
+
|
|
731
|
+
/* Arbitrary color via style="--ry-badge-color: ..." */
|
|
732
|
+
ry-badge[style*="--ry-badge-color"] {
|
|
733
|
+
background-color: var(--ry-badge-color);
|
|
734
|
+
color: var(--ry-badge-text, var(--ry-color-text-inverse));
|
|
735
|
+
}
|
|
736
|
+
|
|
621
737
|
/* ═══════════════════════════════════════════════════════════════
|
|
622
738
|
ALERTS
|
|
623
739
|
═══════════════════════════════════════════════════════════════ */
|
|
624
740
|
|
|
625
|
-
.ry-alert,
|
|
626
|
-
ry-alert {
|
|
741
|
+
:is(.ry-alert, ry-alert) {
|
|
627
742
|
background-color: var(--ry-color-bg-subtle);
|
|
628
743
|
border: var(--ry-border-width) solid var(--ry-color-border);
|
|
629
744
|
border-radius: var(--ry-radius-lg);
|
|
630
745
|
}
|
|
631
746
|
|
|
632
|
-
.ry-alert--info,
|
|
633
|
-
ry-
|
|
634
|
-
background-color: var(--ry-color-info-bg, #ecfeff);
|
|
747
|
+
:is(.ry-alert--info, ry-alert[type="info"]) {
|
|
748
|
+
background-color: var(--ry-color-info-bg);
|
|
635
749
|
border-color: var(--ry-color-info);
|
|
636
|
-
color: var(--ry-color-info-text
|
|
750
|
+
color: var(--ry-color-info-text);
|
|
637
751
|
}
|
|
638
752
|
|
|
639
|
-
.ry-alert--success,
|
|
640
|
-
ry-
|
|
641
|
-
background-color: var(--ry-color-success-bg, #f0fdf4);
|
|
753
|
+
:is(.ry-alert--success, ry-alert[type="success"]) {
|
|
754
|
+
background-color: var(--ry-color-success-bg);
|
|
642
755
|
border-color: var(--ry-color-success);
|
|
643
|
-
color: var(--ry-color-success-text
|
|
756
|
+
color: var(--ry-color-success-text);
|
|
644
757
|
}
|
|
645
758
|
|
|
646
|
-
.ry-alert--warning,
|
|
647
|
-
ry-
|
|
648
|
-
background-color: var(--ry-color-warning-bg, #fffbeb);
|
|
759
|
+
:is(.ry-alert--warning, ry-alert[type="warning"]) {
|
|
760
|
+
background-color: var(--ry-color-warning-bg);
|
|
649
761
|
border-color: var(--ry-color-warning);
|
|
650
|
-
color: var(--ry-color-warning-text
|
|
762
|
+
color: var(--ry-color-warning-text);
|
|
651
763
|
}
|
|
652
764
|
|
|
653
|
-
.ry-alert--danger,
|
|
654
|
-
ry-
|
|
655
|
-
background-color: var(--ry-color-danger-bg, #fef2f2);
|
|
765
|
+
:is(.ry-alert--danger, ry-alert[type="danger"]) {
|
|
766
|
+
background-color: var(--ry-color-danger-bg);
|
|
656
767
|
border-color: var(--ry-color-danger);
|
|
657
|
-
color: var(--ry-color-danger-text
|
|
768
|
+
color: var(--ry-color-danger-text);
|
|
658
769
|
}
|
|
659
770
|
|
|
660
|
-
.ry-alert__title,
|
|
661
|
-
ry-alert [slot="title"] {
|
|
771
|
+
:is(.ry-alert__title, ry-alert [slot="title"]) {
|
|
662
772
|
font-weight: var(--ry-font-semibold);
|
|
663
773
|
}
|
|
664
774
|
|
|
@@ -666,10 +776,7 @@ ry-alert [slot="title"] {
|
|
|
666
776
|
FORM ELEMENTS
|
|
667
777
|
═══════════════════════════════════════════════════════════════ */
|
|
668
778
|
|
|
669
|
-
.ry-input,
|
|
670
|
-
ry-field input,
|
|
671
|
-
ry-field textarea,
|
|
672
|
-
ry-field select {
|
|
779
|
+
:is(.ry-input, ry-field input, ry-field textarea, ry-field select) {
|
|
673
780
|
font-family: var(--ry-font-sans);
|
|
674
781
|
font-size: var(--ry-text-base);
|
|
675
782
|
line-height: var(--ry-leading-normal);
|
|
@@ -683,40 +790,50 @@ ry-field select {
|
|
|
683
790
|
box-shadow var(--ry-duration-fast) var(--ry-ease);
|
|
684
791
|
}
|
|
685
792
|
|
|
686
|
-
.ry-input:hover
|
|
687
|
-
ry-field input:hover,
|
|
688
|
-
ry-field textarea:hover {
|
|
793
|
+
:is(.ry-input, ry-field input, ry-field textarea):hover {
|
|
689
794
|
border-color: var(--ry-color-border-strong);
|
|
690
795
|
}
|
|
691
796
|
|
|
692
|
-
.ry-input:focus
|
|
693
|
-
ry-field input:focus,
|
|
694
|
-
ry-field textarea:focus {
|
|
797
|
+
:is(.ry-input, ry-field input, ry-field textarea):focus {
|
|
695
798
|
outline: none;
|
|
696
799
|
border-color: var(--ry-color-primary);
|
|
697
800
|
box-shadow: var(--ry-focus-ring);
|
|
698
801
|
}
|
|
699
802
|
|
|
700
|
-
.ry-input::placeholder
|
|
701
|
-
ry-field input::placeholder,
|
|
702
|
-
ry-field textarea::placeholder {
|
|
803
|
+
:is(.ry-input, ry-field input, ry-field textarea)::placeholder {
|
|
703
804
|
color: var(--ry-color-text-muted);
|
|
704
805
|
}
|
|
705
806
|
|
|
706
|
-
.ry-input:disabled
|
|
707
|
-
ry-field input:disabled,
|
|
708
|
-
ry-field textarea:disabled {
|
|
807
|
+
:is(.ry-input, ry-field input, ry-field textarea):disabled {
|
|
709
808
|
background-color: var(--ry-color-bg-muted);
|
|
710
809
|
opacity: 0.5;
|
|
711
810
|
}
|
|
712
811
|
|
|
713
|
-
.ry-label,
|
|
714
|
-
ry-field label {
|
|
812
|
+
:is(.ry-label, ry-field label) {
|
|
715
813
|
font-size: var(--ry-text-sm);
|
|
716
814
|
font-weight: var(--ry-font-medium);
|
|
717
815
|
color: var(--ry-color-text);
|
|
718
816
|
}
|
|
719
817
|
|
|
818
|
+
.ry-field__error {
|
|
819
|
+
font-size: var(--ry-text-sm);
|
|
820
|
+
color: var(--ry-color-danger);
|
|
821
|
+
}
|
|
822
|
+
|
|
823
|
+
.ry-field__hint {
|
|
824
|
+
font-size: var(--ry-text-sm);
|
|
825
|
+
color: var(--ry-color-text-muted);
|
|
826
|
+
}
|
|
827
|
+
|
|
828
|
+
/* Error state on input */
|
|
829
|
+
ry-field:has([data-ry-target="error"]:not(:empty)) :is(input, textarea, select) {
|
|
830
|
+
border-color: var(--ry-color-danger);
|
|
831
|
+
}
|
|
832
|
+
|
|
833
|
+
ry-field:has([data-ry-target="error"]:not(:empty)) :is(input, textarea, select):focus {
|
|
834
|
+
box-shadow: 0 0 0 3px light-dark(oklch(0.637 0.208 25.3 / 0.3), oklch(0.637 0.208 25.3 / 0.3));
|
|
835
|
+
}
|
|
836
|
+
|
|
720
837
|
/* ═══════════════════════════════════════════════════════════════
|
|
721
838
|
ACCORDION
|
|
722
839
|
═══════════════════════════════════════════════════════════════ */
|
|
@@ -726,14 +843,12 @@ ry-accordion {
|
|
|
726
843
|
border-radius: var(--ry-radius-lg);
|
|
727
844
|
}
|
|
728
845
|
|
|
729
|
-
.ry-accordion__item,
|
|
730
|
-
ry-
|
|
731
|
-
border-bottom: var(--ry-border-width) solid var(--ry-color-border);
|
|
846
|
+
:is(.ry-accordion__item, ry-accordion-item) {
|
|
847
|
+
border-block-end: var(--ry-border-width) solid var(--ry-color-border);
|
|
732
848
|
}
|
|
733
849
|
|
|
734
|
-
.ry-accordion__item:last-child
|
|
735
|
-
|
|
736
|
-
border-bottom: none;
|
|
850
|
+
:is(.ry-accordion__item, ry-accordion-item):last-child {
|
|
851
|
+
border-block-end: none;
|
|
737
852
|
}
|
|
738
853
|
|
|
739
854
|
.ry-accordion__trigger {
|
|
@@ -763,7 +878,7 @@ ry-accordion-item:last-child {
|
|
|
763
878
|
═══════════════════════════════════════════════════════════════ */
|
|
764
879
|
|
|
765
880
|
.ry-tabs__list {
|
|
766
|
-
border-
|
|
881
|
+
border-block-end: var(--ry-border-width) solid var(--ry-color-border);
|
|
767
882
|
}
|
|
768
883
|
|
|
769
884
|
.ry-tabs__trigger {
|
|
@@ -782,7 +897,7 @@ ry-accordion-item:last-child {
|
|
|
782
897
|
|
|
783
898
|
.ry-tabs__trigger[aria-selected="true"] {
|
|
784
899
|
color: var(--ry-color-primary);
|
|
785
|
-
border-
|
|
900
|
+
border-block-end-color: var(--ry-color-primary);
|
|
786
901
|
}
|
|
787
902
|
|
|
788
903
|
.ry-tabs__trigger:focus-visible {
|
|
@@ -806,7 +921,7 @@ ry-accordion-item:last-child {
|
|
|
806
921
|
}
|
|
807
922
|
|
|
808
923
|
.ry-modal__header {
|
|
809
|
-
border-
|
|
924
|
+
border-block-end: var(--ry-border-width) solid var(--ry-color-border);
|
|
810
925
|
}
|
|
811
926
|
|
|
812
927
|
.ry-modal__title {
|
|
@@ -829,7 +944,7 @@ ry-accordion-item:last-child {
|
|
|
829
944
|
}
|
|
830
945
|
|
|
831
946
|
.ry-modal__footer {
|
|
832
|
-
border-
|
|
947
|
+
border-block-start: var(--ry-border-width) solid var(--ry-color-border);
|
|
833
948
|
background-color: var(--ry-color-bg-subtle);
|
|
834
949
|
}
|
|
835
950
|
|
|
@@ -837,16 +952,14 @@ ry-accordion-item:last-child {
|
|
|
837
952
|
DROPDOWN
|
|
838
953
|
═══════════════════════════════════════════════════════════════ */
|
|
839
954
|
|
|
840
|
-
.ry-dropdown__menu,
|
|
841
|
-
ry-menu {
|
|
955
|
+
:is(.ry-dropdown__menu, ry-menu) {
|
|
842
956
|
background-color: var(--ry-color-bg);
|
|
843
957
|
border: var(--ry-border-width) solid var(--ry-color-border);
|
|
844
958
|
border-radius: var(--ry-radius-lg);
|
|
845
959
|
box-shadow: var(--ry-shadow-lg);
|
|
846
960
|
}
|
|
847
961
|
|
|
848
|
-
.ry-dropdown__item,
|
|
849
|
-
ry-menu-item {
|
|
962
|
+
:is(.ry-dropdown__item, ry-menu-item) {
|
|
850
963
|
font-family: var(--ry-font-sans);
|
|
851
964
|
font-size: var(--ry-text-sm);
|
|
852
965
|
color: var(--ry-color-text);
|
|
@@ -855,13 +968,11 @@ ry-menu-item {
|
|
|
855
968
|
transition: background-color var(--ry-duration-fast) var(--ry-ease);
|
|
856
969
|
}
|
|
857
970
|
|
|
858
|
-
.ry-dropdown__item:hover
|
|
859
|
-
ry-menu-item:hover {
|
|
971
|
+
:is(.ry-dropdown__item, ry-menu-item):hover {
|
|
860
972
|
background-color: var(--ry-color-bg-muted);
|
|
861
973
|
}
|
|
862
974
|
|
|
863
|
-
.ry-dropdown__item:focus-visible
|
|
864
|
-
ry-menu-item:focus-visible {
|
|
975
|
+
:is(.ry-dropdown__item, ry-menu-item):focus-visible {
|
|
865
976
|
outline: none;
|
|
866
977
|
box-shadow: inset var(--ry-focus-ring);
|
|
867
978
|
}
|
|
@@ -1063,8 +1174,7 @@ ry-select[data-ry-state="open"] .ry-select__trigger {
|
|
|
1063
1174
|
transition: background-color var(--ry-duration-fast) var(--ry-ease);
|
|
1064
1175
|
}
|
|
1065
1176
|
|
|
1066
|
-
.ry-select__option:hover,
|
|
1067
|
-
.ry-select__option[data-highlighted] {
|
|
1177
|
+
.ry-select__option:is(:hover, [data-highlighted]) {
|
|
1068
1178
|
background-color: var(--ry-color-bg-muted);
|
|
1069
1179
|
}
|
|
1070
1180
|
|
|
@@ -1081,106 +1191,131 @@ ry-select[data-ry-state="open"] .ry-select__trigger {
|
|
|
1081
1191
|
background-color: transparent;
|
|
1082
1192
|
}
|
|
1083
1193
|
|
|
1194
|
+
/* Multi-select checkmarks */
|
|
1195
|
+
.ry-select__check {
|
|
1196
|
+
color: var(--ry-color-primary);
|
|
1197
|
+
}
|
|
1198
|
+
|
|
1199
|
+
.ry-select__clear {
|
|
1200
|
+
background: transparent;
|
|
1201
|
+
color: var(--ry-color-text-muted);
|
|
1202
|
+
border-radius: var(--ry-radius-full);
|
|
1203
|
+
transition: color var(--ry-duration-fast) var(--ry-ease);
|
|
1204
|
+
}
|
|
1205
|
+
|
|
1206
|
+
.ry-select__clear:hover {
|
|
1207
|
+
color: var(--ry-color-text);
|
|
1208
|
+
}
|
|
1209
|
+
|
|
1210
|
+
/* Multi: checkmark is the indicator, no bg change on selected */
|
|
1211
|
+
ry-select[multiple] .ry-select__option[aria-selected="true"] {
|
|
1212
|
+
background-color: transparent;
|
|
1213
|
+
color: var(--ry-color-text);
|
|
1214
|
+
}
|
|
1215
|
+
|
|
1216
|
+
ry-select[multiple] .ry-select__option[aria-selected="true"]:is(:hover, [data-highlighted]) {
|
|
1217
|
+
background-color: var(--ry-color-bg-muted);
|
|
1218
|
+
}
|
|
1219
|
+
|
|
1084
1220
|
/* ═══════════════════════════════════════════════════════════════
|
|
1085
1221
|
CODE
|
|
1086
1222
|
═══════════════════════════════════════════════════════════════ */
|
|
1087
1223
|
|
|
1088
1224
|
ry-code {
|
|
1089
|
-
background-color: var(--ry-code-bg
|
|
1225
|
+
background-color: var(--ry-code-bg);
|
|
1090
1226
|
border-radius: var(--ry-radius-lg);
|
|
1091
1227
|
box-shadow: var(--ry-shadow-lg);
|
|
1092
1228
|
}
|
|
1093
1229
|
|
|
1094
1230
|
.ry-code__header {
|
|
1095
|
-
background-color: var(--ry-code-header-bg
|
|
1231
|
+
background-color: var(--ry-code-header-bg);
|
|
1096
1232
|
}
|
|
1097
1233
|
|
|
1098
1234
|
.ry-code__title {
|
|
1099
1235
|
font-family: var(--ry-font-sans);
|
|
1100
1236
|
font-size: var(--ry-text-xs);
|
|
1101
1237
|
font-weight: var(--ry-font-bold);
|
|
1102
|
-
color: var(--ry-code-title-color
|
|
1238
|
+
color: var(--ry-code-title-color);
|
|
1103
1239
|
}
|
|
1104
1240
|
|
|
1105
1241
|
.ry-code__copy {
|
|
1106
1242
|
background: transparent;
|
|
1107
1243
|
border-radius: var(--ry-radius-full);
|
|
1108
|
-
color: var(--ry-code-icon-color
|
|
1244
|
+
color: var(--ry-code-icon-color);
|
|
1109
1245
|
transition: background-color var(--ry-duration-fast) var(--ry-ease),
|
|
1110
1246
|
color var(--ry-duration-fast) var(--ry-ease);
|
|
1111
1247
|
}
|
|
1112
1248
|
|
|
1113
1249
|
.ry-code__copy:hover {
|
|
1114
|
-
background-color: var(--ry-code-icon-hover-bg
|
|
1115
|
-
color: var(--ry-code-icon-hover-color
|
|
1250
|
+
background-color: var(--ry-code-icon-hover-bg);
|
|
1251
|
+
color: var(--ry-code-icon-hover-color);
|
|
1116
1252
|
}
|
|
1117
1253
|
|
|
1118
1254
|
.ry-code__copy--success {
|
|
1119
1255
|
color: var(--ry-color-success);
|
|
1120
1256
|
}
|
|
1121
1257
|
|
|
1122
|
-
.ry-code__pre,
|
|
1123
|
-
.ry-code__code {
|
|
1258
|
+
:is(.ry-code__pre, .ry-code__code) {
|
|
1124
1259
|
font-family: var(--ry-font-mono);
|
|
1125
1260
|
font-size: var(--ry-text-sm);
|
|
1126
1261
|
line-height: var(--ry-leading-relaxed);
|
|
1127
|
-
color: var(--ry-code-text-color
|
|
1262
|
+
color: var(--ry-code-text-color);
|
|
1128
1263
|
}
|
|
1129
1264
|
|
|
1130
1265
|
.ry-code__line-number {
|
|
1131
|
-
color: var(--ry-code-line-number-color
|
|
1132
|
-
border-
|
|
1266
|
+
color: var(--ry-code-line-number-color);
|
|
1267
|
+
border-inline-end: 1px solid var(--ry-code-line-border-color);
|
|
1133
1268
|
}
|
|
1134
1269
|
|
|
1135
1270
|
.ry-code__color-preview {
|
|
1136
|
-
border: 1px solid var(--ry-code-color-preview-border
|
|
1271
|
+
border: 1px solid var(--ry-code-color-preview-border);
|
|
1137
1272
|
border-radius: var(--ry-radius-sm);
|
|
1138
1273
|
}
|
|
1139
1274
|
|
|
1140
|
-
/* Syntax highlighting colors
|
|
1275
|
+
/* Syntax highlighting colors */
|
|
1141
1276
|
.ry-code__keyword {
|
|
1142
|
-
color: var(--ry-code-keyword
|
|
1277
|
+
color: var(--ry-code-keyword);
|
|
1143
1278
|
}
|
|
1144
1279
|
|
|
1145
1280
|
.ry-code__property {
|
|
1146
|
-
color: var(--ry-code-property
|
|
1281
|
+
color: var(--ry-code-property);
|
|
1147
1282
|
}
|
|
1148
1283
|
|
|
1149
1284
|
.ry-code__value {
|
|
1150
|
-
color: var(--ry-code-value
|
|
1285
|
+
color: var(--ry-code-value);
|
|
1151
1286
|
}
|
|
1152
1287
|
|
|
1153
1288
|
.ry-code__string {
|
|
1154
|
-
color: var(--ry-code-string
|
|
1289
|
+
color: var(--ry-code-string);
|
|
1155
1290
|
}
|
|
1156
1291
|
|
|
1157
1292
|
.ry-code__number {
|
|
1158
|
-
color: var(--ry-code-number
|
|
1293
|
+
color: var(--ry-code-number);
|
|
1159
1294
|
}
|
|
1160
1295
|
|
|
1161
1296
|
.ry-code__comment {
|
|
1162
|
-
color: var(--ry-code-comment
|
|
1297
|
+
color: var(--ry-code-comment);
|
|
1163
1298
|
font-style: italic;
|
|
1164
1299
|
}
|
|
1165
1300
|
|
|
1166
1301
|
.ry-code__selector {
|
|
1167
|
-
color: var(--ry-code-selector
|
|
1302
|
+
color: var(--ry-code-selector);
|
|
1168
1303
|
}
|
|
1169
1304
|
|
|
1170
1305
|
.ry-code__punctuation {
|
|
1171
|
-
color: var(--ry-code-punctuation
|
|
1306
|
+
color: var(--ry-code-punctuation);
|
|
1172
1307
|
}
|
|
1173
1308
|
|
|
1174
1309
|
.ry-code__tag {
|
|
1175
|
-
color: var(--ry-code-tag
|
|
1310
|
+
color: var(--ry-code-tag);
|
|
1176
1311
|
}
|
|
1177
1312
|
|
|
1178
1313
|
.ry-code__attribute {
|
|
1179
|
-
color: var(--ry-code-attribute
|
|
1314
|
+
color: var(--ry-code-attribute);
|
|
1180
1315
|
}
|
|
1181
1316
|
|
|
1182
1317
|
.ry-code__color {
|
|
1183
|
-
color: var(--ry-code-value
|
|
1318
|
+
color: var(--ry-code-value);
|
|
1184
1319
|
}
|
|
1185
1320
|
|
|
1186
1321
|
/* ═══════════════════════════════════════════════════════════════
|
|
@@ -1249,8 +1384,8 @@ input[type="checkbox"]:checked:hover {
|
|
|
1249
1384
|
}
|
|
1250
1385
|
|
|
1251
1386
|
input[type="checkbox"]::after {
|
|
1252
|
-
border-
|
|
1253
|
-
border-
|
|
1387
|
+
border-inline-end: 2px solid var(--ry-color-text-inverse);
|
|
1388
|
+
border-block-end: 2px solid var(--ry-color-text-inverse);
|
|
1254
1389
|
margin-bottom: 2px;
|
|
1255
1390
|
}
|
|
1256
1391
|
|
|
@@ -1314,15 +1449,15 @@ th {
|
|
|
1314
1449
|
font-weight: var(--ry-font-semibold);
|
|
1315
1450
|
color: var(--ry-color-text);
|
|
1316
1451
|
background-color: var(--ry-color-bg-subtle);
|
|
1317
|
-
border-
|
|
1452
|
+
border-block-end: var(--ry-border-width) solid var(--ry-color-border);
|
|
1318
1453
|
}
|
|
1319
1454
|
|
|
1320
1455
|
td {
|
|
1321
|
-
border-
|
|
1456
|
+
border-block-end: var(--ry-border-width) solid var(--ry-color-border);
|
|
1322
1457
|
}
|
|
1323
1458
|
|
|
1324
1459
|
tbody tr:last-child td {
|
|
1325
|
-
border-
|
|
1460
|
+
border-block-end: none;
|
|
1326
1461
|
}
|
|
1327
1462
|
|
|
1328
1463
|
tbody tr:hover {
|
|
@@ -1335,8 +1470,7 @@ table[data-bordered] {
|
|
|
1335
1470
|
border-radius: var(--ry-radius-lg);
|
|
1336
1471
|
}
|
|
1337
1472
|
|
|
1338
|
-
table[data-bordered] th,
|
|
1339
|
-
table[data-bordered] td {
|
|
1473
|
+
table[data-bordered] :is(th, td) {
|
|
1340
1474
|
border: var(--ry-border-width) solid var(--ry-color-border);
|
|
1341
1475
|
}
|
|
1342
1476
|
|
|
@@ -1371,7 +1505,7 @@ ry-color-picker [data-ry-target="trigger"]:focus-visible {
|
|
|
1371
1505
|
|
|
1372
1506
|
ry-color-picker [data-ry-target="trigger-color"] {
|
|
1373
1507
|
border-radius: calc(var(--ry-radius-md) - 1px);
|
|
1374
|
-
outline: 3px solid
|
|
1508
|
+
outline: 3px solid oklch(0 0 0 / 0.2);
|
|
1375
1509
|
outline-offset: -3px;
|
|
1376
1510
|
}
|
|
1377
1511
|
|
|
@@ -1400,12 +1534,12 @@ ry-color-picker [data-ry-target="grid-handle"] {
|
|
|
1400
1534
|
background-color: transparent;
|
|
1401
1535
|
border: 2px solid #fff;
|
|
1402
1536
|
border-radius: var(--ry-radius-full);
|
|
1403
|
-
box-shadow: 0 0 0 1px
|
|
1537
|
+
box-shadow: 0 0 0 1px oklch(0 0 0 / 0.3), inset 0 0 0 1px oklch(0 0 0 / 0.3);
|
|
1404
1538
|
}
|
|
1405
1539
|
|
|
1406
1540
|
ry-color-picker [data-ry-target="grid-handle"]:focus-visible {
|
|
1407
1541
|
outline: none;
|
|
1408
|
-
box-shadow: 0 0 0 1px
|
|
1542
|
+
box-shadow: 0 0 0 1px oklch(0 0 0 / 0.3), inset 0 0 0 1px oklch(0 0 0 / 0.3), var(--ry-focus-ring);
|
|
1409
1543
|
}
|
|
1410
1544
|
|
|
1411
1545
|
/* Hue slider */
|
|
@@ -1437,12 +1571,12 @@ ry-color-picker .ry-color-picker__alpha {
|
|
|
1437
1571
|
ry-color-picker .ry-color-picker__slider-handle {
|
|
1438
1572
|
background-color: #fff;
|
|
1439
1573
|
border-radius: var(--ry-radius-full);
|
|
1440
|
-
box-shadow: 0 0 0 1px
|
|
1574
|
+
box-shadow: 0 0 0 1px oklch(0 0 0 / 0.2), var(--ry-shadow-sm);
|
|
1441
1575
|
}
|
|
1442
1576
|
|
|
1443
1577
|
ry-color-picker .ry-color-picker__slider-handle:focus-visible {
|
|
1444
1578
|
outline: none;
|
|
1445
|
-
box-shadow: 0 0 0 1px
|
|
1579
|
+
box-shadow: 0 0 0 1px oklch(0 0 0 / 0.2), var(--ry-focus-ring);
|
|
1446
1580
|
}
|
|
1447
1581
|
|
|
1448
1582
|
/* Preview */
|
|
@@ -1456,7 +1590,7 @@ ry-color-picker [data-ry-target="preview"] {
|
|
|
1456
1590
|
|
|
1457
1591
|
ry-color-picker [data-ry-target="preview-color"] {
|
|
1458
1592
|
border-radius: inherit;
|
|
1459
|
-
outline: 3px solid
|
|
1593
|
+
outline: 3px solid oklch(0 0 0 / 0.2);
|
|
1460
1594
|
outline-offset: -3px;
|
|
1461
1595
|
}
|
|
1462
1596
|
|
|
@@ -1550,7 +1684,7 @@ ry-color-input:focus-within [data-ry-target="trigger"] {
|
|
|
1550
1684
|
ry-color-input [data-ry-target="swatch"] {
|
|
1551
1685
|
background-image: repeating-conic-gradient(#ccc 0% 25%, #fff 0% 50%);
|
|
1552
1686
|
background-size: 8px 8px;
|
|
1553
|
-
border-
|
|
1687
|
+
border-inline-end: var(--ry-border-width) solid var(--ry-color-border);
|
|
1554
1688
|
transition: background-color var(--ry-duration-fast) var(--ry-ease);
|
|
1555
1689
|
}
|
|
1556
1690
|
|
|
@@ -1563,7 +1697,7 @@ ry-color-input [data-ry-target="swatch"]:focus-visible {
|
|
|
1563
1697
|
}
|
|
1564
1698
|
|
|
1565
1699
|
ry-color-input [data-ry-target="swatch-color"] {
|
|
1566
|
-
box-shadow: inset 0 0 0 1px
|
|
1700
|
+
box-shadow: inset 0 0 0 1px oklch(0 0 0 / 0.1);
|
|
1567
1701
|
}
|
|
1568
1702
|
|
|
1569
1703
|
ry-color-input [data-ry-target="input"] {
|
|
@@ -1647,7 +1781,7 @@ ry-gradient-picker [data-ry-target="shape-control"] button[data-active] {
|
|
|
1647
1781
|
/* Gradient bar */
|
|
1648
1782
|
ry-gradient-picker [data-ry-target="bar"] {
|
|
1649
1783
|
border-radius: var(--ry-radius-full, 9999px);
|
|
1650
|
-
box-shadow: inset 0 0 0 1px
|
|
1784
|
+
box-shadow: inset 0 0 0 1px oklch(0 0 0 / 0.1);
|
|
1651
1785
|
}
|
|
1652
1786
|
|
|
1653
1787
|
/* Stop handles */
|
|
@@ -1655,7 +1789,7 @@ ry-gradient-picker [data-ry-target="stop"] {
|
|
|
1655
1789
|
background-color: var(--stop-color, #fff);
|
|
1656
1790
|
border: 2px solid #fff;
|
|
1657
1791
|
border-radius: var(--ry-radius-full);
|
|
1658
|
-
box-shadow: 0 0 0 1px
|
|
1792
|
+
box-shadow: 0 0 0 1px oklch(0 0 0 / 0.3), var(--ry-shadow-sm);
|
|
1659
1793
|
transition: transform var(--ry-duration-fast) var(--ry-ease),
|
|
1660
1794
|
opacity var(--ry-duration-fast) var(--ry-ease);
|
|
1661
1795
|
}
|
|
@@ -1719,7 +1853,7 @@ ry-tree {
|
|
|
1719
1853
|
|
|
1720
1854
|
/* Vertical connector line */
|
|
1721
1855
|
.ry-tree__children {
|
|
1722
|
-
border-
|
|
1856
|
+
border-inline-start: 1px solid var(--ry-color-border);
|
|
1723
1857
|
}
|
|
1724
1858
|
|
|
1725
1859
|
/* Horizontal connector line */
|
|
@@ -1727,8 +1861,7 @@ ry-tree {
|
|
|
1727
1861
|
background-color: var(--ry-color-border);
|
|
1728
1862
|
}
|
|
1729
1863
|
|
|
1730
|
-
.ry-tree__label,
|
|
1731
|
-
.ry-tree__file {
|
|
1864
|
+
:is(.ry-tree__label, .ry-tree__file) {
|
|
1732
1865
|
font-family: var(--ry-font-sans);
|
|
1733
1866
|
font-size: var(--ry-text-sm);
|
|
1734
1867
|
color: var(--ry-color-text);
|
|
@@ -1736,8 +1869,7 @@ ry-tree {
|
|
|
1736
1869
|
transition: background-color var(--ry-duration-fast) var(--ry-ease);
|
|
1737
1870
|
}
|
|
1738
1871
|
|
|
1739
|
-
.ry-tree__label:hover
|
|
1740
|
-
.ry-tree__file:hover {
|
|
1872
|
+
:is(.ry-tree__label, .ry-tree__file):hover {
|
|
1741
1873
|
background-color: var(--ry-color-bg-muted);
|
|
1742
1874
|
}
|
|
1743
1875
|
|
|
@@ -1778,12 +1910,11 @@ input[type="checkbox"].ry-tree__toggle::after {
|
|
|
1778
1910
|
}
|
|
1779
1911
|
|
|
1780
1912
|
.ry-tree__item--collapsed {
|
|
1781
|
-
background-color: color-mix(in
|
|
1913
|
+
background-color: color-mix(in oklch, var(--ry-color-primary) 10%, transparent);
|
|
1782
1914
|
border-radius: var(--ry-radius-sm);
|
|
1783
1915
|
}
|
|
1784
1916
|
|
|
1785
|
-
.ry-tree__item[data-ry-drop-target="before"]::after
|
|
1786
|
-
.ry-tree__item[data-ry-drop-target="after"]::after {
|
|
1917
|
+
.ry-tree__item:is([data-ry-drop-target="before"], [data-ry-drop-target="after"])::after {
|
|
1787
1918
|
background-color: var(--ry-color-primary);
|
|
1788
1919
|
}
|
|
1789
1920
|
|
|
@@ -1796,3 +1927,273 @@ input[type="checkbox"].ry-tree__toggle::after {
|
|
|
1796
1927
|
.ry-tree__item[data-ry-drop-target="inside"] > .ry-tree__label .ry-tree__icon {
|
|
1797
1928
|
color: var(--ry-color-text-inverse);
|
|
1798
1929
|
}
|
|
1930
|
+
|
|
1931
|
+
/* ═══════════════════════════════════════════════════════════════
|
|
1932
|
+
TAG
|
|
1933
|
+
═══════════════════════════════════════════════════════════════ */
|
|
1934
|
+
|
|
1935
|
+
ry-tag {
|
|
1936
|
+
font-size: var(--ry-text-xs);
|
|
1937
|
+
font-weight: var(--ry-font-medium);
|
|
1938
|
+
background-color: var(--ry-color-bg-muted);
|
|
1939
|
+
color: var(--ry-color-text);
|
|
1940
|
+
border-radius: var(--ry-radius-full);
|
|
1941
|
+
}
|
|
1942
|
+
|
|
1943
|
+
ry-tag[variant="primary"] {
|
|
1944
|
+
background-color: var(--ry-color-primary);
|
|
1945
|
+
color: var(--ry-color-text-inverse);
|
|
1946
|
+
}
|
|
1947
|
+
|
|
1948
|
+
ry-tag[variant="success"] {
|
|
1949
|
+
background-color: var(--ry-color-success);
|
|
1950
|
+
color: var(--ry-color-text-inverse);
|
|
1951
|
+
}
|
|
1952
|
+
|
|
1953
|
+
ry-tag[variant="warning"] {
|
|
1954
|
+
background-color: var(--ry-color-warning);
|
|
1955
|
+
color: var(--ry-color-text);
|
|
1956
|
+
}
|
|
1957
|
+
|
|
1958
|
+
ry-tag[variant="danger"] {
|
|
1959
|
+
background-color: var(--ry-color-danger);
|
|
1960
|
+
color: var(--ry-color-text-inverse);
|
|
1961
|
+
}
|
|
1962
|
+
|
|
1963
|
+
ry-tag[disabled] {
|
|
1964
|
+
opacity: 0.5;
|
|
1965
|
+
}
|
|
1966
|
+
|
|
1967
|
+
.ry-tag__remove {
|
|
1968
|
+
background: transparent;
|
|
1969
|
+
color: currentColor;
|
|
1970
|
+
border-radius: var(--ry-radius-full);
|
|
1971
|
+
opacity: 0.6;
|
|
1972
|
+
transition: opacity var(--ry-duration-fast) var(--ry-ease);
|
|
1973
|
+
}
|
|
1974
|
+
|
|
1975
|
+
.ry-tag__remove:hover {
|
|
1976
|
+
opacity: 1;
|
|
1977
|
+
}
|
|
1978
|
+
|
|
1979
|
+
/* ═══════════════════════════════════════════════════════════════
|
|
1980
|
+
TAG INPUT
|
|
1981
|
+
═══════════════════════════════════════════════════════════════ */
|
|
1982
|
+
|
|
1983
|
+
.ry-tag-input__container {
|
|
1984
|
+
background-color: var(--ry-color-bg);
|
|
1985
|
+
border: var(--ry-border-width) solid var(--ry-color-border);
|
|
1986
|
+
border-radius: var(--ry-radius-md);
|
|
1987
|
+
transition: border-color var(--ry-duration-fast) var(--ry-ease),
|
|
1988
|
+
box-shadow var(--ry-duration-fast) var(--ry-ease);
|
|
1989
|
+
}
|
|
1990
|
+
|
|
1991
|
+
.ry-tag-input__container:hover {
|
|
1992
|
+
border-color: var(--ry-color-border-strong);
|
|
1993
|
+
}
|
|
1994
|
+
|
|
1995
|
+
.ry-tag-input__container:focus-within {
|
|
1996
|
+
border-color: var(--ry-color-primary);
|
|
1997
|
+
box-shadow: var(--ry-focus-ring);
|
|
1998
|
+
}
|
|
1999
|
+
|
|
2000
|
+
.ry-tag-input__input {
|
|
2001
|
+
font-family: var(--ry-font-sans);
|
|
2002
|
+
font-size: var(--ry-text-sm);
|
|
2003
|
+
color: var(--ry-color-text);
|
|
2004
|
+
background: transparent;
|
|
2005
|
+
border: none;
|
|
2006
|
+
}
|
|
2007
|
+
|
|
2008
|
+
.ry-tag-input__input:focus,
|
|
2009
|
+
.ry-tag-input__input:focus-visible {
|
|
2010
|
+
outline: none;
|
|
2011
|
+
box-shadow: none;
|
|
2012
|
+
}
|
|
2013
|
+
|
|
2014
|
+
.ry-tag-input__input::placeholder {
|
|
2015
|
+
color: var(--ry-color-text-muted);
|
|
2016
|
+
}
|
|
2017
|
+
|
|
2018
|
+
ry-tag-input[disabled] .ry-tag-input__container {
|
|
2019
|
+
opacity: 0.5;
|
|
2020
|
+
background-color: var(--ry-color-bg-muted);
|
|
2021
|
+
}
|
|
2022
|
+
|
|
2023
|
+
/* ═══════════════════════════════════════════════════════════════
|
|
2024
|
+
HERO
|
|
2025
|
+
═══════════════════════════════════════════════════════════════ */
|
|
2026
|
+
|
|
2027
|
+
ry-hero h1 {
|
|
2028
|
+
font-size: var(--ry-text-4xl);
|
|
2029
|
+
font-weight: var(--ry-font-bold);
|
|
2030
|
+
line-height: var(--ry-leading-tight);
|
|
2031
|
+
color: var(--ry-color-text);
|
|
2032
|
+
}
|
|
2033
|
+
|
|
2034
|
+
ry-hero p {
|
|
2035
|
+
font-size: var(--ry-text-lg);
|
|
2036
|
+
line-height: var(--ry-leading-relaxed);
|
|
2037
|
+
color: var(--ry-color-text-muted);
|
|
2038
|
+
}
|
|
2039
|
+
|
|
2040
|
+
/* ═══════════════════════════════════════════════════════════════
|
|
2041
|
+
STAT
|
|
2042
|
+
═══════════════════════════════════════════════════════════════ */
|
|
2043
|
+
|
|
2044
|
+
.ry-stat__value {
|
|
2045
|
+
font-size: var(--ry-text-3xl);
|
|
2046
|
+
font-weight: var(--ry-font-bold);
|
|
2047
|
+
color: var(--ry-color-text);
|
|
2048
|
+
}
|
|
2049
|
+
|
|
2050
|
+
ry-stat[size="sm"] .ry-stat__value {
|
|
2051
|
+
font-size: var(--ry-text-2xl);
|
|
2052
|
+
}
|
|
2053
|
+
|
|
2054
|
+
ry-stat[size="lg"] .ry-stat__value {
|
|
2055
|
+
font-size: var(--ry-text-4xl);
|
|
2056
|
+
}
|
|
2057
|
+
|
|
2058
|
+
.ry-stat__label {
|
|
2059
|
+
font-size: var(--ry-text-sm);
|
|
2060
|
+
color: var(--ry-color-text-muted);
|
|
2061
|
+
}
|
|
2062
|
+
|
|
2063
|
+
.ry-stat__trend--up {
|
|
2064
|
+
color: var(--ry-color-success);
|
|
2065
|
+
}
|
|
2066
|
+
|
|
2067
|
+
.ry-stat__trend--down {
|
|
2068
|
+
color: var(--ry-color-danger);
|
|
2069
|
+
}
|
|
2070
|
+
|
|
2071
|
+
/* ═══════════════════════════════════════════════════════════════
|
|
2072
|
+
FEATURE
|
|
2073
|
+
═══════════════════════════════════════════════════════════════ */
|
|
2074
|
+
|
|
2075
|
+
.ry-feature__icon {
|
|
2076
|
+
background-color: var(--ry-color-primary);
|
|
2077
|
+
color: var(--ry-color-text-inverse);
|
|
2078
|
+
border-radius: var(--ry-radius-full);
|
|
2079
|
+
}
|
|
2080
|
+
|
|
2081
|
+
ry-feature h3 {
|
|
2082
|
+
font-size: var(--ry-text-lg);
|
|
2083
|
+
font-weight: var(--ry-font-semibold);
|
|
2084
|
+
color: var(--ry-color-text);
|
|
2085
|
+
}
|
|
2086
|
+
|
|
2087
|
+
ry-feature p {
|
|
2088
|
+
font-size: var(--ry-text-sm);
|
|
2089
|
+
color: var(--ry-color-text-muted);
|
|
2090
|
+
line-height: var(--ry-leading-relaxed);
|
|
2091
|
+
}
|
|
2092
|
+
|
|
2093
|
+
/* ═══════════════════════════════════════════════════════════════
|
|
2094
|
+
PRICING
|
|
2095
|
+
═══════════════════════════════════════════════════════════════ */
|
|
2096
|
+
|
|
2097
|
+
ry-pricing-card {
|
|
2098
|
+
background-color: var(--ry-color-bg);
|
|
2099
|
+
border: var(--ry-border-width) solid var(--ry-color-border);
|
|
2100
|
+
border-radius: var(--ry-radius-xl);
|
|
2101
|
+
box-shadow: var(--ry-shadow-sm);
|
|
2102
|
+
}
|
|
2103
|
+
|
|
2104
|
+
ry-pricing-card[featured] {
|
|
2105
|
+
border-color: var(--ry-color-primary);
|
|
2106
|
+
box-shadow: var(--ry-shadow-lg);
|
|
2107
|
+
}
|
|
2108
|
+
|
|
2109
|
+
ry-pricing-card h3 {
|
|
2110
|
+
font-size: var(--ry-text-xl);
|
|
2111
|
+
font-weight: var(--ry-font-semibold);
|
|
2112
|
+
color: var(--ry-color-text);
|
|
2113
|
+
}
|
|
2114
|
+
|
|
2115
|
+
ry-pricing-card [slot="price"] {
|
|
2116
|
+
font-size: var(--ry-text-4xl);
|
|
2117
|
+
font-weight: var(--ry-font-bold);
|
|
2118
|
+
color: var(--ry-color-text);
|
|
2119
|
+
}
|
|
2120
|
+
|
|
2121
|
+
ry-pricing-card [slot="price"] span {
|
|
2122
|
+
font-size: var(--ry-text-base);
|
|
2123
|
+
font-weight: var(--ry-font-normal);
|
|
2124
|
+
color: var(--ry-color-text-muted);
|
|
2125
|
+
}
|
|
2126
|
+
|
|
2127
|
+
ry-pricing-card ul li {
|
|
2128
|
+
border-block-end: var(--ry-border-width) solid var(--ry-color-border);
|
|
2129
|
+
font-size: var(--ry-text-sm);
|
|
2130
|
+
color: var(--ry-color-text-muted);
|
|
2131
|
+
}
|
|
2132
|
+
|
|
2133
|
+
ry-pricing-card ul li:last-child {
|
|
2134
|
+
border-block-end: none;
|
|
2135
|
+
}
|
|
2136
|
+
|
|
2137
|
+
/* ═══════════════════════════════════════════════════════════════
|
|
2138
|
+
CAROUSEL
|
|
2139
|
+
═══════════════════════════════════════════════════════════════ */
|
|
2140
|
+
|
|
2141
|
+
.ry-carousel__arrow {
|
|
2142
|
+
background-color: var(--ry-color-bg);
|
|
2143
|
+
color: var(--ry-color-text);
|
|
2144
|
+
border-radius: var(--ry-radius-full);
|
|
2145
|
+
box-shadow: var(--ry-shadow-md);
|
|
2146
|
+
transition: background-color var(--ry-duration-fast) var(--ry-ease),
|
|
2147
|
+
box-shadow var(--ry-duration-fast) var(--ry-ease);
|
|
2148
|
+
}
|
|
2149
|
+
|
|
2150
|
+
.ry-carousel__arrow:hover {
|
|
2151
|
+
background-color: var(--ry-color-bg-muted);
|
|
2152
|
+
box-shadow: var(--ry-shadow-lg);
|
|
2153
|
+
}
|
|
2154
|
+
|
|
2155
|
+
.ry-carousel__arrow:focus-visible {
|
|
2156
|
+
outline: none;
|
|
2157
|
+
box-shadow: var(--ry-focus-ring);
|
|
2158
|
+
}
|
|
2159
|
+
|
|
2160
|
+
.ry-carousel__dot {
|
|
2161
|
+
background-color: var(--ry-color-border);
|
|
2162
|
+
border-radius: var(--ry-radius-full);
|
|
2163
|
+
transition: background-color var(--ry-duration-fast) var(--ry-ease);
|
|
2164
|
+
}
|
|
2165
|
+
|
|
2166
|
+
.ry-carousel__dot[data-active] {
|
|
2167
|
+
background-color: var(--ry-color-primary);
|
|
2168
|
+
}
|
|
2169
|
+
|
|
2170
|
+
.ry-carousel__dot:hover {
|
|
2171
|
+
background-color: var(--ry-color-primary-hover);
|
|
2172
|
+
}
|
|
2173
|
+
|
|
2174
|
+
/* ═══════════════════════════════════════════════════════════════
|
|
2175
|
+
CHECK LIST
|
|
2176
|
+
═══════════════════════════════════════════════════════════════ */
|
|
2177
|
+
|
|
2178
|
+
.ry-check-list {
|
|
2179
|
+
list-style: none;
|
|
2180
|
+
padding: 0;
|
|
2181
|
+
margin: 0;
|
|
2182
|
+
}
|
|
2183
|
+
|
|
2184
|
+
.ry-check-list li {
|
|
2185
|
+
padding-inline-start: var(--ry-space-6);
|
|
2186
|
+
position: relative;
|
|
2187
|
+
margin-block-end: var(--ry-space-2);
|
|
2188
|
+
color: var(--ry-color-text);
|
|
2189
|
+
}
|
|
2190
|
+
|
|
2191
|
+
.ry-check-list li::before {
|
|
2192
|
+
content: '\2713';
|
|
2193
|
+
position: absolute;
|
|
2194
|
+
inset-inline-start: 0;
|
|
2195
|
+
color: var(--ry-color-success);
|
|
2196
|
+
font-weight: var(--ry-font-bold);
|
|
2197
|
+
}
|
|
2198
|
+
|
|
2199
|
+
} /* @layer ry-theme */
|