@ryanhelsing/ry-ui 1.0.8 → 1.0.10
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/.claude/skills/ry-ui-builder/SKILL.md +186 -0
- package/AGENT.md +3 -1
- package/README.md +16 -2
- package/dist/_redirects +1 -0
- package/dist/app.d.ts +2 -0
- package/dist/app.d.ts.map +1 -0
- package/dist/components/ry-testimonial.d.ts +19 -0
- package/dist/components/ry-testimonial.d.ts.map +1 -0
- package/dist/components/ry-theme-panel.d.ts +25 -0
- package/dist/components/ry-theme-panel.d.ts.map +1 -0
- package/dist/core/ry-icons.d.ts.map +1 -1
- package/dist/core/ry-transform.d.ts.map +1 -1
- package/dist/css/ry-structure.css +123 -3
- package/dist/css/ry-theme.css +141 -2
- package/dist/css/ry-tokens.css +4 -26
- package/dist/css/ry-ui.css +268 -31
- package/dist/pages/components.html +1827 -0
- package/dist/pages/landing.html +229 -0
- package/dist/ry-ui.d.ts +2 -0
- package/dist/ry-ui.d.ts.map +1 -1
- package/dist/ry-ui.js +382 -245
- package/dist/ry-ui.js.map +1 -1
- package/docs/components/forms.md +10 -3
- package/examples/starter-local.html +252 -0
- package/examples/starter-minimal.html +252 -0
- package/examples/themes/skeuomorphic/css-dark-neon-led-volume-dial/LICENSE.txt +21 -0
- package/examples/themes/skeuomorphic/css-dark-neon-led-volume-dial/README.md +7 -0
- package/examples/themes/skeuomorphic/css-dark-neon-led-volume-dial/dist/index.html +23 -0
- package/examples/themes/skeuomorphic/css-dark-neon-led-volume-dial/dist/style.css +126 -0
- package/examples/themes/skeuomorphic/css-dark-neon-led-volume-dial/src/index.html +5 -0
- package/examples/themes/skeuomorphic/css-dark-neon-led-volume-dial/src/style.scss +161 -0
- package/examples/themes/skeuomorphic/led-controls/LICENSE.txt +21 -0
- package/examples/themes/skeuomorphic/led-controls/README.md +7 -0
- package/examples/themes/skeuomorphic/led-controls/dist/index.html +17 -0
- package/examples/themes/skeuomorphic/led-controls/dist/script.js +27 -0
- package/examples/themes/skeuomorphic/led-controls/dist/style.css +135 -0
- package/examples/themes/skeuomorphic/led-controls/src/index.html +1 -0
- package/examples/themes/skeuomorphic/led-controls/src/script.ts +59 -0
- package/examples/themes/skeuomorphic/led-controls/src/style.scss +253 -0
- package/llms.txt +346 -0
- package/package.json +12 -4
package/dist/css/ry-tokens.css
CHANGED
|
@@ -9,33 +9,11 @@
|
|
|
9
9
|
|
|
10
10
|
/* ═══════════════════════════════════════════════════════════════
|
|
11
11
|
@property — typed custom properties for animation & type safety
|
|
12
|
+
Note: color tokens are NOT registered here because @property
|
|
13
|
+
prevents light-dark() from re-resolving on dynamic color-scheme
|
|
14
|
+
changes in Firefox. Colors use unregistered custom properties.
|
|
12
15
|
═══════════════════════════════════════════════════════════════ */
|
|
13
16
|
|
|
14
|
-
@property --ry-color-primary { syntax: "<color>"; inherits: true; initial-value: oklch(0.623 0.188 259.8); }
|
|
15
|
-
@property --ry-color-primary-hover { syntax: "<color>"; inherits: true; initial-value: oklch(0.546 0.215 262.9); }
|
|
16
|
-
@property --ry-color-primary-active { syntax: "<color>"; inherits: true; initial-value: oklch(0.488 0.217 264.4); }
|
|
17
|
-
@property --ry-color-secondary { syntax: "<color>"; inherits: true; initial-value: oklch(0.554 0.041 257.4); }
|
|
18
|
-
@property --ry-color-secondary-hover { syntax: "<color>"; inherits: true; initial-value: oklch(0.446 0.037 257.3); }
|
|
19
|
-
@property --ry-color-secondary-active { syntax: "<color>"; inherits: true; initial-value: oklch(0.372 0.039 257.3); }
|
|
20
|
-
@property --ry-color-accent { syntax: "<color>"; inherits: true; initial-value: oklch(0.627 0.213 303.9); }
|
|
21
|
-
@property --ry-color-accent-hover { syntax: "<color>"; inherits: true; initial-value: oklch(0.557 0.213 303.9); }
|
|
22
|
-
@property --ry-color-accent-active { syntax: "<color>"; inherits: true; initial-value: oklch(0.497 0.213 303.9); }
|
|
23
|
-
@property --ry-color-success { syntax: "<color>"; inherits: true; initial-value: oklch(0.723 0.192 149.6); }
|
|
24
|
-
@property --ry-color-warning { syntax: "<color>"; inherits: true; initial-value: oklch(0.769 0.165 70.1); }
|
|
25
|
-
@property --ry-color-danger { syntax: "<color>"; inherits: true; initial-value: oklch(0.637 0.208 25.3); }
|
|
26
|
-
@property --ry-color-info { syntax: "<color>"; inherits: true; initial-value: oklch(0.715 0.126 215.2); }
|
|
27
|
-
@property --ry-color-text { syntax: "<color>"; inherits: true; initial-value: oklch(0.279 0.037 260); }
|
|
28
|
-
@property --ry-color-text-muted { syntax: "<color>"; inherits: true; initial-value: oklch(0.554 0.041 257.4); }
|
|
29
|
-
@property --ry-color-text-inverse { syntax: "<color>"; inherits: true; initial-value: oklch(1 0 0); }
|
|
30
|
-
@property --ry-color-bg { syntax: "<color>"; inherits: true; initial-value: oklch(1 0 0); }
|
|
31
|
-
@property --ry-color-bg-subtle { syntax: "<color>"; inherits: true; initial-value: oklch(0.984 0.003 248.2); }
|
|
32
|
-
@property --ry-color-bg-muted { syntax: "<color>"; inherits: true; initial-value: oklch(0.968 0.007 248.1); }
|
|
33
|
-
@property --ry-color-border { syntax: "<color>"; inherits: true; initial-value: oklch(0.929 0.013 255.6); }
|
|
34
|
-
@property --ry-color-border-strong { syntax: "<color>"; inherits: true; initial-value: oklch(0.869 0.02 252.9); }
|
|
35
|
-
@property --ry-color-overlay { syntax: "<color>"; inherits: true; initial-value: oklch(0 0 0 / 0.5); }
|
|
36
|
-
@property --ry-shadow-color { syntax: "<color>"; inherits: true; initial-value: oklch(0 0 0 / 0.1); }
|
|
37
|
-
@property --ry-shadow-color-sm { syntax: "<color>"; inherits: true; initial-value: oklch(0 0 0 / 0.05); }
|
|
38
|
-
|
|
39
17
|
@property --ry-duration-fast { syntax: "<time>"; inherits: true; initial-value: 100ms; }
|
|
40
18
|
@property --ry-duration-normal { syntax: "<time>"; inherits: true; initial-value: 200ms; }
|
|
41
19
|
@property --ry-duration-slow { syntax: "<time>"; inherits: true; initial-value: 300ms; }
|
|
@@ -234,7 +212,7 @@
|
|
|
234
212
|
--ry-focus-ring: 0 0 0 3px light-dark(oklch(0.623 0.188 259.8 / 0.5), oklch(0.714 0.143 254.6 / 0.5));
|
|
235
213
|
}
|
|
236
214
|
|
|
237
|
-
/* Force light or dark mode */
|
|
215
|
+
/* Force light or dark mode (legacy — theme used to conflate theme + mode) */
|
|
238
216
|
[data-ry-theme="light"] { color-scheme: light; }
|
|
239
217
|
[data-ry-theme="dark"] { color-scheme: dark; }
|
|
240
218
|
|
package/dist/css/ry-ui.css
CHANGED
|
@@ -9,33 +9,11 @@
|
|
|
9
9
|
|
|
10
10
|
/* ═══════════════════════════════════════════════════════════════
|
|
11
11
|
@property — typed custom properties for animation & type safety
|
|
12
|
+
Note: color tokens are NOT registered here because @property
|
|
13
|
+
prevents light-dark() from re-resolving on dynamic color-scheme
|
|
14
|
+
changes in Firefox. Colors use unregistered custom properties.
|
|
12
15
|
═══════════════════════════════════════════════════════════════ */
|
|
13
16
|
|
|
14
|
-
@property --ry-color-primary { syntax: "<color>"; inherits: true; initial-value: oklch(0.623 0.188 259.8); }
|
|
15
|
-
@property --ry-color-primary-hover { syntax: "<color>"; inherits: true; initial-value: oklch(0.546 0.215 262.9); }
|
|
16
|
-
@property --ry-color-primary-active { syntax: "<color>"; inherits: true; initial-value: oklch(0.488 0.217 264.4); }
|
|
17
|
-
@property --ry-color-secondary { syntax: "<color>"; inherits: true; initial-value: oklch(0.554 0.041 257.4); }
|
|
18
|
-
@property --ry-color-secondary-hover { syntax: "<color>"; inherits: true; initial-value: oklch(0.446 0.037 257.3); }
|
|
19
|
-
@property --ry-color-secondary-active { syntax: "<color>"; inherits: true; initial-value: oklch(0.372 0.039 257.3); }
|
|
20
|
-
@property --ry-color-accent { syntax: "<color>"; inherits: true; initial-value: oklch(0.627 0.213 303.9); }
|
|
21
|
-
@property --ry-color-accent-hover { syntax: "<color>"; inherits: true; initial-value: oklch(0.557 0.213 303.9); }
|
|
22
|
-
@property --ry-color-accent-active { syntax: "<color>"; inherits: true; initial-value: oklch(0.497 0.213 303.9); }
|
|
23
|
-
@property --ry-color-success { syntax: "<color>"; inherits: true; initial-value: oklch(0.723 0.192 149.6); }
|
|
24
|
-
@property --ry-color-warning { syntax: "<color>"; inherits: true; initial-value: oklch(0.769 0.165 70.1); }
|
|
25
|
-
@property --ry-color-danger { syntax: "<color>"; inherits: true; initial-value: oklch(0.637 0.208 25.3); }
|
|
26
|
-
@property --ry-color-info { syntax: "<color>"; inherits: true; initial-value: oklch(0.715 0.126 215.2); }
|
|
27
|
-
@property --ry-color-text { syntax: "<color>"; inherits: true; initial-value: oklch(0.279 0.037 260); }
|
|
28
|
-
@property --ry-color-text-muted { syntax: "<color>"; inherits: true; initial-value: oklch(0.554 0.041 257.4); }
|
|
29
|
-
@property --ry-color-text-inverse { syntax: "<color>"; inherits: true; initial-value: oklch(1 0 0); }
|
|
30
|
-
@property --ry-color-bg { syntax: "<color>"; inherits: true; initial-value: oklch(1 0 0); }
|
|
31
|
-
@property --ry-color-bg-subtle { syntax: "<color>"; inherits: true; initial-value: oklch(0.984 0.003 248.2); }
|
|
32
|
-
@property --ry-color-bg-muted { syntax: "<color>"; inherits: true; initial-value: oklch(0.968 0.007 248.1); }
|
|
33
|
-
@property --ry-color-border { syntax: "<color>"; inherits: true; initial-value: oklch(0.929 0.013 255.6); }
|
|
34
|
-
@property --ry-color-border-strong { syntax: "<color>"; inherits: true; initial-value: oklch(0.869 0.02 252.9); }
|
|
35
|
-
@property --ry-color-overlay { syntax: "<color>"; inherits: true; initial-value: oklch(0 0 0 / 0.5); }
|
|
36
|
-
@property --ry-shadow-color { syntax: "<color>"; inherits: true; initial-value: oklch(0 0 0 / 0.1); }
|
|
37
|
-
@property --ry-shadow-color-sm { syntax: "<color>"; inherits: true; initial-value: oklch(0 0 0 / 0.05); }
|
|
38
|
-
|
|
39
17
|
@property --ry-duration-fast { syntax: "<time>"; inherits: true; initial-value: 100ms; }
|
|
40
18
|
@property --ry-duration-normal { syntax: "<time>"; inherits: true; initial-value: 200ms; }
|
|
41
19
|
@property --ry-duration-slow { syntax: "<time>"; inherits: true; initial-value: 300ms; }
|
|
@@ -234,7 +212,7 @@
|
|
|
234
212
|
--ry-focus-ring: 0 0 0 3px light-dark(oklch(0.623 0.188 259.8 / 0.5), oklch(0.714 0.143 254.6 / 0.5));
|
|
235
213
|
}
|
|
236
214
|
|
|
237
|
-
/* Force light or dark mode */
|
|
215
|
+
/* Force light or dark mode (legacy — theme used to conflate theme + mode) */
|
|
238
216
|
[data-ry-theme="light"] { color-scheme: light; }
|
|
239
217
|
[data-ry-theme="dark"] { color-scheme: dark; }
|
|
240
218
|
|
|
@@ -406,6 +384,26 @@ ry-section:last-child {
|
|
|
406
384
|
margin-block-end: 0;
|
|
407
385
|
}
|
|
408
386
|
|
|
387
|
+
ry-section[narrow] {
|
|
388
|
+
max-inline-size: 48rem;
|
|
389
|
+
margin-inline: auto;
|
|
390
|
+
}
|
|
391
|
+
|
|
392
|
+
/* Logo bar pattern */
|
|
393
|
+
.ry-logo-bar {
|
|
394
|
+
text-align: center;
|
|
395
|
+
}
|
|
396
|
+
|
|
397
|
+
.ry-logo-bar p {
|
|
398
|
+
margin: 0 0 var(--ry-space-4, 1rem);
|
|
399
|
+
}
|
|
400
|
+
|
|
401
|
+
.ry-logo-bar ry-cluster {
|
|
402
|
+
justify-content: center;
|
|
403
|
+
gap: var(--ry-space-10, 2.5rem);
|
|
404
|
+
flex-wrap: wrap;
|
|
405
|
+
}
|
|
406
|
+
|
|
409
407
|
/* ═══════════════════════════════════════════════════════════════
|
|
410
408
|
GRID
|
|
411
409
|
═══════════════════════════════════════════════════════════════ */
|
|
@@ -2844,12 +2842,14 @@ ry-hero[full-bleed] {
|
|
|
2844
2842
|
ry-stat {
|
|
2845
2843
|
display: flex;
|
|
2846
2844
|
flex-direction: column;
|
|
2845
|
+
align-items: center;
|
|
2846
|
+
text-align: center;
|
|
2847
2847
|
gap: var(--ry-space-1, 0.25rem);
|
|
2848
2848
|
}
|
|
2849
2849
|
|
|
2850
|
-
ry-stat[align="
|
|
2851
|
-
align-items:
|
|
2852
|
-
text-align:
|
|
2850
|
+
ry-stat[align="left"] {
|
|
2851
|
+
align-items: flex-start;
|
|
2852
|
+
text-align: start;
|
|
2853
2853
|
}
|
|
2854
2854
|
|
|
2855
2855
|
ry-stat [data-ry-target="value"] {
|
|
@@ -2984,6 +2984,7 @@ ry-pricing-card ul li {
|
|
|
2984
2984
|
|
|
2985
2985
|
ry-pricing-card :is(ry-button, .ry-btn) {
|
|
2986
2986
|
margin-block-start: auto;
|
|
2987
|
+
width: 100%;
|
|
2987
2988
|
}
|
|
2988
2989
|
|
|
2989
2990
|
/* ═══════════════════════════════════════════════════════════════
|
|
@@ -3091,6 +3092,7 @@ ry-combobox [data-ry-target="arrow"] {
|
|
|
3091
3092
|
display: inline-flex;
|
|
3092
3093
|
align-items: center;
|
|
3093
3094
|
justify-content: center;
|
|
3095
|
+
margin-inline-end: var(--ry-space-2, 0.5rem);
|
|
3094
3096
|
cursor: pointer;
|
|
3095
3097
|
transition: transform var(--ry-duration-fast, 100ms) var(--ry-ease, ease);
|
|
3096
3098
|
}
|
|
@@ -3177,6 +3179,102 @@ ry-combobox [data-ry-target="native"] {
|
|
|
3177
3179
|
border: 0;
|
|
3178
3180
|
}
|
|
3179
3181
|
|
|
3182
|
+
/* ═══════════════════════════════════════════════════════════════
|
|
3183
|
+
TESTIMONIAL
|
|
3184
|
+
═══════════════════════════════════════════════════════════════ */
|
|
3185
|
+
|
|
3186
|
+
ry-testimonial {
|
|
3187
|
+
display: flex;
|
|
3188
|
+
flex-direction: column;
|
|
3189
|
+
align-items: center;
|
|
3190
|
+
text-align: center;
|
|
3191
|
+
gap: var(--ry-space-3, 0.75rem);
|
|
3192
|
+
padding: var(--ry-space-6, 1.5rem);
|
|
3193
|
+
}
|
|
3194
|
+
|
|
3195
|
+
ry-testimonial [data-ry-target="avatar"] {
|
|
3196
|
+
width: 4rem;
|
|
3197
|
+
height: 4rem;
|
|
3198
|
+
border-radius: 9999px;
|
|
3199
|
+
overflow: hidden;
|
|
3200
|
+
flex-shrink: 0;
|
|
3201
|
+
}
|
|
3202
|
+
|
|
3203
|
+
ry-testimonial [data-ry-target="avatar"] img {
|
|
3204
|
+
width: 100%;
|
|
3205
|
+
height: 100%;
|
|
3206
|
+
object-fit: cover;
|
|
3207
|
+
}
|
|
3208
|
+
|
|
3209
|
+
ry-testimonial [data-ry-target="quote"] {
|
|
3210
|
+
margin: 0;
|
|
3211
|
+
max-inline-size: 36rem;
|
|
3212
|
+
}
|
|
3213
|
+
|
|
3214
|
+
ry-testimonial [data-ry-target="stars"] {
|
|
3215
|
+
display: flex;
|
|
3216
|
+
gap: var(--ry-space-1, 0.25rem);
|
|
3217
|
+
}
|
|
3218
|
+
|
|
3219
|
+
ry-testimonial [data-ry-target="stars"] svg {
|
|
3220
|
+
width: 16px;
|
|
3221
|
+
height: 16px;
|
|
3222
|
+
}
|
|
3223
|
+
|
|
3224
|
+
ry-testimonial [data-ry-target="attribution"] {
|
|
3225
|
+
display: flex;
|
|
3226
|
+
flex-direction: column;
|
|
3227
|
+
gap: var(--ry-space-1, 0.25rem);
|
|
3228
|
+
}
|
|
3229
|
+
|
|
3230
|
+
/* ═══════════════════════════════════════════════════════════════
|
|
3231
|
+
THEME PANEL
|
|
3232
|
+
═══════════════════════════════════════════════════════════════ */
|
|
3233
|
+
|
|
3234
|
+
ry-theme-panel {
|
|
3235
|
+
position: fixed;
|
|
3236
|
+
inset-block-end: var(--ry-space-4, 1rem);
|
|
3237
|
+
inset-inline-end: var(--ry-space-4, 1rem);
|
|
3238
|
+
z-index: var(--ry-z-fixed, 1000);
|
|
3239
|
+
}
|
|
3240
|
+
|
|
3241
|
+
ry-theme-panel [data-ry-target="panel"] {
|
|
3242
|
+
display: flex;
|
|
3243
|
+
flex-direction: column;
|
|
3244
|
+
gap: var(--ry-space-2, 0.5rem);
|
|
3245
|
+
padding: var(--ry-space-3, 0.75rem);
|
|
3246
|
+
}
|
|
3247
|
+
|
|
3248
|
+
ry-theme-panel [data-ry-target="theme-row"],
|
|
3249
|
+
ry-theme-panel [data-ry-target="mode-row"] {
|
|
3250
|
+
display: flex;
|
|
3251
|
+
align-items: center;
|
|
3252
|
+
gap: var(--ry-space-3, 0.75rem);
|
|
3253
|
+
}
|
|
3254
|
+
|
|
3255
|
+
ry-theme-panel [data-ry-target="theme-options"],
|
|
3256
|
+
ry-theme-panel [data-ry-target="mode-options"] {
|
|
3257
|
+
display: flex;
|
|
3258
|
+
gap: var(--ry-space-1, 0.25rem);
|
|
3259
|
+
}
|
|
3260
|
+
|
|
3261
|
+
ry-theme-panel [data-ry-target="label"] {
|
|
3262
|
+
min-inline-size: 3rem;
|
|
3263
|
+
text-transform: uppercase;
|
|
3264
|
+
letter-spacing: 0.05em;
|
|
3265
|
+
}
|
|
3266
|
+
|
|
3267
|
+
ry-theme-panel [data-ry-target="theme-btn"],
|
|
3268
|
+
ry-theme-panel [data-ry-target="mode-btn"] {
|
|
3269
|
+
padding: var(--ry-space-1, 0.25rem) var(--ry-space-2, 0.5rem);
|
|
3270
|
+
font: inherit;
|
|
3271
|
+
font-size: 0.6875rem;
|
|
3272
|
+
cursor: pointer;
|
|
3273
|
+
border: none;
|
|
3274
|
+
background: none;
|
|
3275
|
+
line-height: 1;
|
|
3276
|
+
}
|
|
3277
|
+
|
|
3180
3278
|
} /* @layer ry-structure */
|
|
3181
3279
|
|
|
3182
3280
|
/**
|
|
@@ -3252,6 +3350,25 @@ ry-header {
|
|
|
3252
3350
|
border-block-end: var(--ry-border-width) solid var(--ry-color-border);
|
|
3253
3351
|
}
|
|
3254
3352
|
|
|
3353
|
+
ry-header strong {
|
|
3354
|
+
font-size: var(--ry-text-xl);
|
|
3355
|
+
}
|
|
3356
|
+
|
|
3357
|
+
ry-header span {
|
|
3358
|
+
color: var(--ry-color-text-muted);
|
|
3359
|
+
}
|
|
3360
|
+
|
|
3361
|
+
ry-header a:not(.ry-btn) {
|
|
3362
|
+
color: var(--ry-color-text-muted);
|
|
3363
|
+
text-decoration: none;
|
|
3364
|
+
font-size: var(--ry-text-sm);
|
|
3365
|
+
transition: color var(--ry-duration-fast);
|
|
3366
|
+
}
|
|
3367
|
+
|
|
3368
|
+
ry-header a:not(.ry-btn):hover {
|
|
3369
|
+
color: var(--ry-color-text);
|
|
3370
|
+
}
|
|
3371
|
+
|
|
3255
3372
|
/* ═══════════════════════════════════════════════════════════════
|
|
3256
3373
|
FOOTER
|
|
3257
3374
|
═══════════════════════════════════════════════════════════════ */
|
|
@@ -3262,6 +3379,16 @@ ry-footer {
|
|
|
3262
3379
|
color: var(--ry-color-text-muted);
|
|
3263
3380
|
}
|
|
3264
3381
|
|
|
3382
|
+
ry-footer a {
|
|
3383
|
+
color: inherit;
|
|
3384
|
+
text-decoration: none;
|
|
3385
|
+
transition: color var(--ry-duration-fast);
|
|
3386
|
+
}
|
|
3387
|
+
|
|
3388
|
+
ry-footer a:hover {
|
|
3389
|
+
color: var(--ry-color-text);
|
|
3390
|
+
}
|
|
3391
|
+
|
|
3265
3392
|
/* ═══════════════════════════════════════════════════════════════
|
|
3266
3393
|
NAV
|
|
3267
3394
|
═══════════════════════════════════════════════════════════════ */
|
|
@@ -3864,7 +3991,7 @@ ry-card {
|
|
|
3864
3991
|
}
|
|
3865
3992
|
|
|
3866
3993
|
:is(a, [interactive]):is(ry-card):hover {
|
|
3867
|
-
border-color: var(--ry-color-
|
|
3994
|
+
border-color: var(--ry-color-primary);
|
|
3868
3995
|
box-shadow: var(--ry-shadow-md);
|
|
3869
3996
|
}
|
|
3870
3997
|
|
|
@@ -5407,7 +5534,7 @@ ry-combobox:hover .ry-combobox__input-wrapper {
|
|
|
5407
5534
|
|
|
5408
5535
|
ry-combobox:focus-within .ry-combobox__input-wrapper {
|
|
5409
5536
|
border-color: var(--ry-color-primary);
|
|
5410
|
-
box-shadow: var(--ry-
|
|
5537
|
+
box-shadow: 0 0 0 1px var(--ry-color-primary);
|
|
5411
5538
|
}
|
|
5412
5539
|
|
|
5413
5540
|
ry-combobox[data-ry-state="open"] .ry-combobox__input-wrapper {
|
|
@@ -5419,6 +5546,12 @@ ry-combobox[data-ry-state="open"] .ry-combobox__input-wrapper {
|
|
|
5419
5546
|
color: var(--ry-color-text);
|
|
5420
5547
|
}
|
|
5421
5548
|
|
|
5549
|
+
.ry-combobox__input:focus,
|
|
5550
|
+
.ry-combobox__input:focus-visible {
|
|
5551
|
+
outline: none;
|
|
5552
|
+
box-shadow: none;
|
|
5553
|
+
}
|
|
5554
|
+
|
|
5422
5555
|
.ry-combobox__input::placeholder {
|
|
5423
5556
|
color: var(--ry-color-text-muted);
|
|
5424
5557
|
}
|
|
@@ -5464,4 +5597,108 @@ ry-combobox[data-ry-state="open"] .ry-combobox__input-wrapper {
|
|
|
5464
5597
|
color: var(--ry-color-text-muted);
|
|
5465
5598
|
}
|
|
5466
5599
|
|
|
5600
|
+
/* ═══════════════════════════════════════════════════════════════
|
|
5601
|
+
LOGO BAR
|
|
5602
|
+
═══════════════════════════════════════════════════════════════ */
|
|
5603
|
+
|
|
5604
|
+
.ry-logo-bar p {
|
|
5605
|
+
color: var(--ry-color-text-muted);
|
|
5606
|
+
font-size: var(--ry-text-sm);
|
|
5607
|
+
text-transform: uppercase;
|
|
5608
|
+
letter-spacing: 0.1em;
|
|
5609
|
+
}
|
|
5610
|
+
|
|
5611
|
+
.ry-logo-bar span {
|
|
5612
|
+
font-size: var(--ry-text-2xl);
|
|
5613
|
+
font-weight: var(--ry-font-bold);
|
|
5614
|
+
color: var(--ry-color-text);
|
|
5615
|
+
opacity: 0.5;
|
|
5616
|
+
}
|
|
5617
|
+
|
|
5618
|
+
/* ═══════════════════════════════════════════════════════════════
|
|
5619
|
+
TESTIMONIAL
|
|
5620
|
+
═══════════════════════════════════════════════════════════════ */
|
|
5621
|
+
|
|
5622
|
+
.ry-testimonial__quote {
|
|
5623
|
+
font-size: var(--ry-text-lg);
|
|
5624
|
+
font-style: italic;
|
|
5625
|
+
line-height: var(--ry-leading-relaxed);
|
|
5626
|
+
color: var(--ry-color-text);
|
|
5627
|
+
}
|
|
5628
|
+
|
|
5629
|
+
.ry-testimonial__name {
|
|
5630
|
+
font-weight: var(--ry-font-semibold);
|
|
5631
|
+
color: var(--ry-color-text);
|
|
5632
|
+
}
|
|
5633
|
+
|
|
5634
|
+
.ry-testimonial__role {
|
|
5635
|
+
font-size: var(--ry-text-sm);
|
|
5636
|
+
color: var(--ry-color-text-muted);
|
|
5637
|
+
}
|
|
5638
|
+
|
|
5639
|
+
.ry-testimonial__star {
|
|
5640
|
+
color: var(--ry-color-warning);
|
|
5641
|
+
}
|
|
5642
|
+
|
|
5643
|
+
.ry-testimonial__star svg {
|
|
5644
|
+
fill: var(--ry-color-warning);
|
|
5645
|
+
}
|
|
5646
|
+
|
|
5647
|
+
.ry-testimonial__avatar {
|
|
5648
|
+
background-color: var(--ry-color-bg-muted);
|
|
5649
|
+
border: 2px solid var(--ry-color-border);
|
|
5650
|
+
}
|
|
5651
|
+
|
|
5652
|
+
/* ═══════════════════════════════════════════════════════════════
|
|
5653
|
+
"NONE" THEME — flat, no flourish
|
|
5654
|
+
Default theme minus radii, shadows, and decorative extras.
|
|
5655
|
+
Proves FORM/THEME separation: structure handles all layout.
|
|
5656
|
+
═══════════════════════════════════════════════════════════════ */
|
|
5657
|
+
|
|
5658
|
+
[data-ry-theme="none"] {
|
|
5659
|
+
--ry-radius-sm: 0;
|
|
5660
|
+
--ry-radius-md: 0;
|
|
5661
|
+
--ry-radius-lg: 0;
|
|
5662
|
+
--ry-radius-xl: 0;
|
|
5663
|
+
--ry-radius-2xl: 0;
|
|
5664
|
+
--ry-radius-full: 0;
|
|
5665
|
+
--ry-shadow-sm: none;
|
|
5666
|
+
--ry-shadow-md: none;
|
|
5667
|
+
--ry-shadow-lg: none;
|
|
5668
|
+
--ry-shadow-xl: none;
|
|
5669
|
+
}
|
|
5670
|
+
|
|
5671
|
+
/* ═══════════════════════════════════════════════════════════════
|
|
5672
|
+
THEME PANEL
|
|
5673
|
+
═══════════════════════════════════════════════════════════════ */
|
|
5674
|
+
|
|
5675
|
+
.ry-theme-panel {
|
|
5676
|
+
font-family: var(--ry-font-sans);
|
|
5677
|
+
background-color: var(--ry-color-bg);
|
|
5678
|
+
border-radius: var(--ry-radius-lg);
|
|
5679
|
+
box-shadow: var(--ry-shadow-lg);
|
|
5680
|
+
border: 1px solid var(--ry-color-border);
|
|
5681
|
+
}
|
|
5682
|
+
|
|
5683
|
+
.ry-theme-panel__label {
|
|
5684
|
+
color: var(--ry-color-text-muted);
|
|
5685
|
+
font-weight: 600;
|
|
5686
|
+
font-size: 0.6875rem;
|
|
5687
|
+
}
|
|
5688
|
+
|
|
5689
|
+
.ry-theme-panel__btn {
|
|
5690
|
+
border-radius: var(--ry-radius-sm);
|
|
5691
|
+
color: var(--ry-color-text-muted);
|
|
5692
|
+
transition: background-color var(--ry-duration-fast);
|
|
5693
|
+
}
|
|
5694
|
+
|
|
5695
|
+
.ry-theme-panel__btn:hover {
|
|
5696
|
+
background-color: var(--ry-color-bg-muted);
|
|
5697
|
+
}
|
|
5698
|
+
|
|
5699
|
+
.ry-theme-panel__btn[aria-pressed="true"] {
|
|
5700
|
+
background-color: var(--ry-color-primary);
|
|
5701
|
+
color: var(--ry-color-text-inverse);
|
|
5702
|
+
}
|
|
5703
|
+
|
|
5467
5704
|
} /* @layer ry-theme */
|