ui-style-kit-css 2.6.1 → 2.7.0
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/CHANGELOG.md +22 -0
- package/README.md +13 -12
- package/dist/ui-style-kit.css +481 -95
- package/dist/ui-style-kit.min.css +2 -2
- package/dist/ui-style-kit.visual.css +481 -95
- package/dist/ui-style-kit.visual.min.css +2 -2
- package/dist/ui-style-kit.with-bridge.css +481 -95
- package/dist/ui-style-kit.with-bridge.min.css +2 -2
- package/dist/visual/art-deco.css +322 -12
- package/dist/visual/bauhaus.css +2 -2
- package/dist/visual/bento.css +2 -2
- package/dist/visual/brutalism.css +318 -8
- package/dist/visual/clay.css +2 -2
- package/dist/visual/cyberpunk.css +327 -10
- package/dist/visual/data-terminal.css +319 -9
- package/dist/visual/editorial-luxe.css +319 -9
- package/dist/visual/industrial-utility.css +323 -8
- package/dist/visual/maximalist.css +320 -9
- package/dist/visual/minimal-saas.css +317 -7
- package/dist/visual/neo-noir.css +2 -2
- package/dist/visual/neumorphism.css +319 -9
- package/dist/visual/organic-modern.css +2 -2
- package/dist/visual/paper-editorial.css +358 -8
- package/dist/visual/retro-glass.css +326 -8
- package/dist/visual/retrofuturism.css +320 -10
- package/dist/visual/tactile.css +327 -15
- package/dist/visual/technical-blueprint.css +320 -10
- package/dist/visual/y2k.css +319 -9
- package/docs/COMPONENT-SPACING.md +154 -0
- package/docs/ECOSYSTEM.md +2 -2
- package/docs/PUBLISHING.md +7 -7
- package/docs/RELEASE-2.7.0.md +21 -0
- package/manifest.json +9 -1
- package/package.json +2 -2
- package/styles/art-deco.css +8 -8
- package/styles/bauhaus.css +4 -3
- package/styles/bento.css +17 -10
- package/styles/brutalism.css +4 -3
- package/styles/clay.css +6 -4
- package/styles/clean-defaults.css +20 -0
- package/styles/component-composition.css +63 -0
- package/styles/components.css +262 -2
- package/styles/cyberpunk.css +12 -5
- package/styles/data-terminal.css +6 -4
- package/styles/editorial-luxe.css +7 -4
- package/styles/industrial-utility.css +10 -3
- package/styles/maximalist.css +7 -4
- package/styles/minimal-saas.css +3 -2
- package/styles/native-elements.css +32 -2
- package/styles/neo-noir.css +7 -5
- package/styles/neumorphism.css +5 -4
- package/styles/organic-modern.css +3 -3
- package/styles/paper-editorial.css +39 -3
- package/styles/retro-glass.css +9 -3
- package/styles/retrofuturism.css +7 -5
- package/styles/tactile.css +16 -6
- package/styles/technical-blueprint.css +8 -5
- package/styles/y2k.css +5 -4
package/dist/visual/y2k.css
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/*!
|
|
2
|
-
* UI Style Kit CSS v2.
|
|
2
|
+
* UI Style Kit CSS v2.7.0
|
|
3
3
|
* CSS theme and UI style preset library.
|
|
4
4
|
* License: MIT
|
|
5
5
|
*/
|
|
@@ -2408,8 +2408,11 @@
|
|
|
2408
2408
|
[data-ui][data-mode] :where(input[type="radio"]) { border-radius: var(--usk-native-radio-radius); }
|
|
2409
2409
|
|
|
2410
2410
|
[data-ui][data-mode] :where(input[type="checkbox"]:checked) {
|
|
2411
|
-
background
|
|
2412
|
-
background
|
|
2411
|
+
/* The final background layer accepts both solid and gradient preset fills. */
|
|
2412
|
+
background:
|
|
2413
|
+
linear-gradient(45deg, transparent 38%, var(--usk-native-choice-mark-color) 38% 62%, transparent 62%) 24% 62% / 32% 36% no-repeat,
|
|
2414
|
+
linear-gradient(135deg, transparent 40%, var(--usk-native-choice-mark-color) 40% 60%, transparent 60%) 68% 43% / 52% 58% no-repeat,
|
|
2415
|
+
var(--usk-native-choice-checked-background);
|
|
2413
2416
|
}
|
|
2414
2417
|
|
|
2415
2418
|
[data-ui][data-mode] :where(input[type="checkbox"]:hover:not(:disabled), input[type="radio"]:hover:not(:disabled)) {
|
|
@@ -2830,6 +2833,33 @@
|
|
|
2830
2833
|
}
|
|
2831
2834
|
}
|
|
2832
2835
|
|
|
2836
|
+
/** Choice-state paint follows preset geometry, including presets with material surface tokens. */
|
|
2837
|
+
@layer ui-style-kit.clean_defaults {
|
|
2838
|
+
/** Disabled choices remain recognizable without relying on faded opacity alone. */
|
|
2839
|
+
[data-ui][data-mode] :where(input[type="radio"]:disabled) {
|
|
2840
|
+
background: var(--usk-native-bg);
|
|
2841
|
+
border-color: var(--usk-native-text-muted);
|
|
2842
|
+
border-style: dashed;
|
|
2843
|
+
opacity: .7;
|
|
2844
|
+
}
|
|
2845
|
+
@supports (color: color-mix(in srgb, black, white)) {
|
|
2846
|
+
[data-ui][data-mode] :where(input[type="radio"]:disabled) {
|
|
2847
|
+
background: color-mix(in srgb, var(--usk-native-text-muted) 24%, var(--usk-native-bg));
|
|
2848
|
+
}
|
|
2849
|
+
}
|
|
2850
|
+
[data-ui][data-mode] :where(input[type="radio"]:disabled:checked) {
|
|
2851
|
+
background: radial-gradient(circle, var(--usk-native-text-muted) 0 31%, transparent 34%), var(--usk-native-bg);
|
|
2852
|
+
}
|
|
2853
|
+
|
|
2854
|
+
|
|
2855
|
+
@media (forced-colors: active) {
|
|
2856
|
+
[data-ui][data-mode] :where(input[type="radio"]:disabled) {
|
|
2857
|
+
border-color: GrayText;
|
|
2858
|
+
background: Canvas;
|
|
2859
|
+
}
|
|
2860
|
+
}
|
|
2861
|
+
}
|
|
2862
|
+
|
|
2833
2863
|
|
|
2834
2864
|
/* styles/components.css */
|
|
2835
2865
|
/* =========================================================
|
|
@@ -4174,7 +4204,7 @@
|
|
|
4174
4204
|
:where(.saas-tabs, .bento-tabs, .max-tabs, .bau-tabs, .tactile-tabs, .neo-tabs, .retro-tabs, .brutal-tabs, .cyber-tabs, .y2k-tabs, .rg-tabs, .luxe-tabs, .organic-tabs, .utility-tabs, .blueprint-tabs, .deco-tabs, .clay-tabs, .terminal-tabs, .paper-tabs, .noir-tabs), :where([data-ui="y2k"]) :where(.usk-tabs), :where([data-ui="y2k"]) :where(.ui-tabs) { display: grid; gap: .75rem; }
|
|
4175
4205
|
:where(.saas-tab-list, .bento-tab-list, .max-tab-list, .bau-tab-list, .tactile-tab-list, .neo-tab-list, .retro-tab-list, .brutal-tab-list, .cyber-tab-list, .y2k-tab-list, .rg-tab-list, .luxe-tab-list, .organic-tab-list, .utility-tab-list, .blueprint-tab-list, .deco-tab-list, .clay-tab-list, .terminal-tab-list, .paper-tab-list, .noir-tab-list), :where([data-ui="y2k"]) :where(.usk-tab-list), :where([data-ui="y2k"]) :where(.ui-tab-list) { display: flex; flex-wrap: wrap; gap: .25rem; border-block-end: var(--usk-native-border-width) solid var(--usk-native-border); }
|
|
4176
4206
|
:where(.saas-tab, .bento-tab, .max-tab, .bau-tab, .tactile-tab, .neo-tab, .retro-tab, .brutal-tab, .cyber-tab, .y2k-tab, .rg-tab, .luxe-tab, .organic-tab, .utility-tab, .blueprint-tab, .deco-tab, .clay-tab, .terminal-tab, .paper-tab, .noir-tab), :where([data-ui="y2k"]) :where(.usk-tab), :where([data-ui="y2k"]) :where(.ui-tab) { min-block-size: 44px; padding: .6rem .9rem; color: var(--usk-native-text-muted); background: transparent; border: 0; border-block-end: calc(var(--usk-native-border-width) * 2) solid transparent; font: inherit; cursor: pointer; }
|
|
4177
|
-
:where(.saas-tab[aria-selected="true"], .bento-tab[aria-selected="true"], .max-tab[aria-selected="true"], .bau-tab[aria-selected="true"], .tactile-tab[aria-selected="true"], .neo-tab[aria-selected="true"], .retro-tab[aria-selected="true"], .brutal-tab[aria-selected="true"], .cyber-tab[aria-selected="true"], .y2k-tab[aria-selected="true"], .rg-tab[aria-selected="true"], .luxe-tab[aria-selected="true"], .organic-tab[aria-selected="true"], .utility-tab[aria-selected="true"], .blueprint-tab[aria-selected="true"], .deco-tab[aria-selected="true"], .clay-tab[aria-selected="true"], .terminal-tab[aria-selected="true"], .paper-tab[aria-selected="true"], .noir-tab[aria-selected="true"]), :where([data-ui="y2k"]) :where(.usk-tab[aria-selected="true"]), :where([data-ui="y2k"]) :where(.ui-tab[aria-selected="true"]) { color: var(--usk-
|
|
4207
|
+
:where(.saas-tab[aria-selected="true"], .bento-tab[aria-selected="true"], .max-tab[aria-selected="true"], .bau-tab[aria-selected="true"], .tactile-tab[aria-selected="true"], .neo-tab[aria-selected="true"], .retro-tab[aria-selected="true"], .brutal-tab[aria-selected="true"], .cyber-tab[aria-selected="true"], .y2k-tab[aria-selected="true"], .rg-tab[aria-selected="true"], .luxe-tab[aria-selected="true"], .organic-tab[aria-selected="true"], .utility-tab[aria-selected="true"], .blueprint-tab[aria-selected="true"], .deco-tab[aria-selected="true"], .clay-tab[aria-selected="true"], .terminal-tab[aria-selected="true"], .paper-tab[aria-selected="true"], .noir-tab[aria-selected="true"]), :where([data-ui="y2k"]) :where(.usk-tab[aria-selected="true"]), :where([data-ui="y2k"]) :where(.ui-tab[aria-selected="true"]) { color: var(--usk-native-text); border-block-end-color: var(--usk-native-primary); }
|
|
4178
4208
|
:where(.saas-tab-panel, .bento-tab-panel, .max-tab-panel, .bau-tab-panel, .tactile-tab-panel, .neo-tab-panel, .retro-tab-panel, .brutal-tab-panel, .cyber-tab-panel, .y2k-tab-panel, .rg-tab-panel, .luxe-tab-panel, .organic-tab-panel, .utility-tab-panel, .blueprint-tab-panel, .deco-tab-panel, .clay-tab-panel, .terminal-tab-panel, .paper-tab-panel, .noir-tab-panel), :where([data-ui="y2k"]) :where(.usk-tab-panel), :where([data-ui="y2k"]) :where(.ui-tab-panel) { padding-block: .75rem; color: var(--usk-native-text); }
|
|
4179
4209
|
|
|
4180
4210
|
:where(.saas-pagination, .saas-breadcrumb-list, .saas-chip-group, .saas-avatar-group, .bento-pagination, .bento-breadcrumb-list, .bento-chip-group, .bento-avatar-group, .max-pagination, .max-breadcrumb-list, .max-chip-group, .max-avatar-group, .bau-pagination, .bau-breadcrumb-list, .bau-chip-group, .bau-avatar-group, .tactile-pagination, .tactile-breadcrumb-list, .tactile-chip-group, .tactile-avatar-group, .neo-pagination, .neo-breadcrumb-list, .neo-chip-group, .neo-avatar-group, .retro-pagination, .retro-breadcrumb-list, .retro-chip-group, .retro-avatar-group, .brutal-pagination, .brutal-breadcrumb-list, .brutal-chip-group, .brutal-avatar-group, .cyber-pagination, .cyber-breadcrumb-list, .cyber-chip-group, .cyber-avatar-group, .y2k-pagination, .y2k-breadcrumb-list, .y2k-chip-group, .y2k-avatar-group, .rg-pagination, .rg-breadcrumb-list, .rg-chip-group, .rg-avatar-group, .luxe-pagination, .luxe-breadcrumb-list, .luxe-chip-group, .luxe-avatar-group, .organic-pagination, .organic-breadcrumb-list, .organic-chip-group, .organic-avatar-group, .utility-pagination, .utility-breadcrumb-list, .utility-chip-group, .utility-avatar-group, .blueprint-pagination, .blueprint-breadcrumb-list, .blueprint-chip-group, .blueprint-avatar-group, .deco-pagination, .deco-breadcrumb-list, .deco-chip-group, .deco-avatar-group, .clay-pagination, .clay-breadcrumb-list, .clay-chip-group, .clay-avatar-group, .terminal-pagination, .terminal-breadcrumb-list, .terminal-chip-group, .terminal-avatar-group, .paper-pagination, .paper-breadcrumb-list, .paper-chip-group, .paper-avatar-group, .noir-pagination, .noir-breadcrumb-list, .noir-chip-group, .noir-avatar-group), :where([data-ui="y2k"]) :where(.usk-pagination,.usk-breadcrumb-list,.usk-chip-group,.usk-avatar-group), :where([data-ui="y2k"]) :where(.ui-pagination,.ui-breadcrumb-list,.ui-chip-group,.ui-avatar-group) { display: flex; flex-wrap: wrap; align-items: center; gap: .5rem; margin: 0; padding: 0; list-style: none; }
|
|
@@ -4196,7 +4226,7 @@
|
|
|
4196
4226
|
@media (prefers-reduced-motion: reduce) { :where(.saas-skeleton, .bento-skeleton, .max-skeleton, .bau-skeleton, .tactile-skeleton, .neo-skeleton, .retro-skeleton, .brutal-skeleton, .cyber-skeleton, .y2k-skeleton, .rg-skeleton, .luxe-skeleton, .organic-skeleton, .utility-skeleton, .blueprint-skeleton, .deco-skeleton, .clay-skeleton, .terminal-skeleton, .paper-skeleton, .noir-skeleton), :where([data-ui="y2k"]) :where(.usk-skeleton), :where([data-ui="y2k"]) :where(.ui-skeleton) { animation: none; } }
|
|
4197
4227
|
|
|
4198
4228
|
:where(.saas-empty-state, .bento-empty-state, .max-empty-state, .bau-empty-state, .tactile-empty-state, .neo-empty-state, .retro-empty-state, .brutal-empty-state, .cyber-empty-state, .y2k-empty-state, .rg-empty-state, .luxe-empty-state, .organic-empty-state, .utility-empty-state, .blueprint-empty-state, .deco-empty-state, .clay-empty-state, .terminal-empty-state, .paper-empty-state, .noir-empty-state), :where([data-ui="y2k"]) :where(.usk-empty-state), :where([data-ui="y2k"]) :where(.ui-empty-state) { display: grid; justify-items: center; gap: .75rem; max-inline-size: 42rem; padding: clamp(1.25rem, 4vw, 3rem); color: var(--usk-native-text); background: var(--usk-native-surface); border: var(--usk-native-border-width) solid var(--usk-native-border); border-radius: var(--usk-native-radius); text-align: center; }
|
|
4199
|
-
:where(.saas-empty-state-icon, .bento-empty-state-icon, .max-empty-state-icon, .bau-empty-state-icon, .tactile-empty-state-icon, .neo-empty-state-icon, .retro-empty-state-icon, .brutal-empty-state-icon, .cyber-empty-state-icon, .y2k-empty-state-icon, .rg-empty-state-icon, .luxe-empty-state-icon, .organic-empty-state-icon, .utility-empty-state-icon, .blueprint-empty-state-icon, .deco-empty-state-icon, .clay-empty-state-icon, .terminal-empty-state-icon, .paper-empty-state-icon, .noir-empty-state-icon), :where([data-ui="y2k"]) :where(.usk-empty-state-icon), :where([data-ui="y2k"]) :where(.ui-empty-state-icon) { display: grid; place-items: center; color: var(--usk-
|
|
4229
|
+
:where(.saas-empty-state-icon, .bento-empty-state-icon, .max-empty-state-icon, .bau-empty-state-icon, .tactile-empty-state-icon, .neo-empty-state-icon, .retro-empty-state-icon, .brutal-empty-state-icon, .cyber-empty-state-icon, .y2k-empty-state-icon, .rg-empty-state-icon, .luxe-empty-state-icon, .organic-empty-state-icon, .utility-empty-state-icon, .blueprint-empty-state-icon, .deco-empty-state-icon, .clay-empty-state-icon, .terminal-empty-state-icon, .paper-empty-state-icon, .noir-empty-state-icon), :where([data-ui="y2k"]) :where(.usk-empty-state-icon), :where([data-ui="y2k"]) :where(.ui-empty-state-icon) { display: grid; place-items: center; color: var(--usk-native-link); }
|
|
4200
4230
|
:where(.saas-empty-state-title, .saas-toast-title, .bento-empty-state-title, .bento-toast-title, .max-empty-state-title, .max-toast-title, .bau-empty-state-title, .bau-toast-title, .tactile-empty-state-title, .tactile-toast-title, .neo-empty-state-title, .neo-toast-title, .retro-empty-state-title, .retro-toast-title, .brutal-empty-state-title, .brutal-toast-title, .cyber-empty-state-title, .cyber-toast-title, .y2k-empty-state-title, .y2k-toast-title, .rg-empty-state-title, .rg-toast-title, .luxe-empty-state-title, .luxe-toast-title, .organic-empty-state-title, .organic-toast-title, .utility-empty-state-title, .utility-toast-title, .blueprint-empty-state-title, .blueprint-toast-title, .deco-empty-state-title, .deco-toast-title, .clay-empty-state-title, .clay-toast-title, .terminal-empty-state-title, .terminal-toast-title, .paper-empty-state-title, .paper-toast-title, .noir-empty-state-title, .noir-toast-title), :where([data-ui="y2k"]) :where(.usk-empty-state-title,.usk-toast-title), :where([data-ui="y2k"]) :where(.ui-empty-state-title,.ui-toast-title) { margin: 0; color: var(--usk-native-text); font-weight: 750; }
|
|
4201
4231
|
:where(.saas-empty-state-body, .saas-toast-body, .saas-metric-detail, .bento-empty-state-body, .bento-toast-body, .bento-metric-detail, .max-empty-state-body, .max-toast-body, .max-metric-detail, .bau-empty-state-body, .bau-toast-body, .bau-metric-detail, .tactile-empty-state-body, .tactile-toast-body, .tactile-metric-detail, .neo-empty-state-body, .neo-toast-body, .neo-metric-detail, .retro-empty-state-body, .retro-toast-body, .retro-metric-detail, .brutal-empty-state-body, .brutal-toast-body, .brutal-metric-detail, .cyber-empty-state-body, .cyber-toast-body, .cyber-metric-detail, .y2k-empty-state-body, .y2k-toast-body, .y2k-metric-detail, .rg-empty-state-body, .rg-toast-body, .rg-metric-detail, .luxe-empty-state-body, .luxe-toast-body, .luxe-metric-detail, .organic-empty-state-body, .organic-toast-body, .organic-metric-detail, .utility-empty-state-body, .utility-toast-body, .utility-metric-detail, .blueprint-empty-state-body, .blueprint-toast-body, .blueprint-metric-detail, .deco-empty-state-body, .deco-toast-body, .deco-metric-detail, .clay-empty-state-body, .clay-toast-body, .clay-metric-detail, .terminal-empty-state-body, .terminal-toast-body, .terminal-metric-detail, .paper-empty-state-body, .paper-toast-body, .paper-metric-detail, .noir-empty-state-body, .noir-toast-body, .noir-metric-detail), :where([data-ui="y2k"]) :where(.usk-empty-state-body,.usk-toast-body,.usk-metric-detail), :where([data-ui="y2k"]) :where(.ui-empty-state-body,.ui-toast-body,.ui-metric-detail) { margin: 0; color: var(--usk-native-text-muted); }
|
|
4202
4232
|
:where(.saas-empty-state-actions, .saas-toast-actions, .bento-empty-state-actions, .bento-toast-actions, .max-empty-state-actions, .max-toast-actions, .bau-empty-state-actions, .bau-toast-actions, .tactile-empty-state-actions, .tactile-toast-actions, .neo-empty-state-actions, .neo-toast-actions, .retro-empty-state-actions, .retro-toast-actions, .brutal-empty-state-actions, .brutal-toast-actions, .cyber-empty-state-actions, .cyber-toast-actions, .y2k-empty-state-actions, .y2k-toast-actions, .rg-empty-state-actions, .rg-toast-actions, .luxe-empty-state-actions, .luxe-toast-actions, .organic-empty-state-actions, .organic-toast-actions, .utility-empty-state-actions, .utility-toast-actions, .blueprint-empty-state-actions, .blueprint-toast-actions, .deco-empty-state-actions, .deco-toast-actions, .clay-empty-state-actions, .clay-toast-actions, .terminal-empty-state-actions, .terminal-toast-actions, .paper-empty-state-actions, .paper-toast-actions, .noir-empty-state-actions, .noir-toast-actions), :where([data-ui="y2k"]) :where(.usk-empty-state-actions,.usk-toast-actions), :where([data-ui="y2k"]) :where(.ui-empty-state-actions,.ui-toast-actions) { display: flex; flex-wrap: wrap; justify-content: center; gap: .5rem; }
|
|
@@ -4245,6 +4275,266 @@
|
|
|
4245
4275
|
:where(.saas-file-upload, .bento-file-upload, .max-file-upload, .bau-file-upload, .tactile-file-upload, .neo-file-upload, .retro-file-upload, .brutal-file-upload, .cyber-file-upload, .y2k-file-upload, .rg-file-upload, .luxe-file-upload, .organic-file-upload, .utility-file-upload, .blueprint-file-upload, .deco-file-upload, .clay-file-upload, .terminal-file-upload, .paper-file-upload, .noir-file-upload), :where([data-ui="y2k"]) :where(.usk-file-upload), :where([data-ui="y2k"]) :where(.ui-file-upload) { display: grid; gap: .75rem; }
|
|
4246
4276
|
:where(.saas-dropzone, .bento-dropzone, .max-dropzone, .bau-dropzone, .tactile-dropzone, .neo-dropzone, .retro-dropzone, .brutal-dropzone, .cyber-dropzone, .y2k-dropzone, .rg-dropzone, .luxe-dropzone, .organic-dropzone, .utility-dropzone, .blueprint-dropzone, .deco-dropzone, .clay-dropzone, .terminal-dropzone, .paper-dropzone, .noir-dropzone), :where([data-ui="y2k"]) :where(.usk-dropzone), :where([data-ui="y2k"]) :where(.ui-dropzone) { display: grid; place-items: center; gap: .5rem; min-block-size: 8rem; padding: 1.25rem; color: var(--usk-native-text-muted); background: var(--usk-native-surface-soft); border: calc(var(--usk-native-border-width) * 2) dashed var(--usk-native-border); border-radius: var(--usk-native-radius); text-align: center; }
|
|
4247
4277
|
:where(.saas-dropzone[data-drag-active="true"], .bento-dropzone[data-drag-active="true"], .max-dropzone[data-drag-active="true"], .bau-dropzone[data-drag-active="true"], .tactile-dropzone[data-drag-active="true"], .neo-dropzone[data-drag-active="true"], .retro-dropzone[data-drag-active="true"], .brutal-dropzone[data-drag-active="true"], .cyber-dropzone[data-drag-active="true"], .y2k-dropzone[data-drag-active="true"], .rg-dropzone[data-drag-active="true"], .luxe-dropzone[data-drag-active="true"], .organic-dropzone[data-drag-active="true"], .utility-dropzone[data-drag-active="true"], .blueprint-dropzone[data-drag-active="true"], .deco-dropzone[data-drag-active="true"], .clay-dropzone[data-drag-active="true"], .terminal-dropzone[data-drag-active="true"], .paper-dropzone[data-drag-active="true"], .noir-dropzone[data-drag-active="true"]), :where([data-ui="y2k"]) :where(.usk-dropzone[data-drag-active="true"]), :where([data-ui="y2k"]) :where(.ui-dropzone[data-drag-active="true"]) { color: var(--usk-primary-ink, var(--usk-native-primary)); border-color: var(--usk-native-primary); }
|
|
4278
|
+
}
|
|
4279
|
+
@layer ui-style-kit.clean_defaults {
|
|
4280
|
+
/** Empty-state symbols remain prominent independently of each preset's body font. */
|
|
4281
|
+
[data-ui][data-mode] :where(.saas-empty-state-icon, .bento-empty-state-icon, .max-empty-state-icon, .bau-empty-state-icon, .tactile-empty-state-icon, .neo-empty-state-icon, .retro-empty-state-icon, .brutal-empty-state-icon, .cyber-empty-state-icon, .y2k-empty-state-icon, .rg-empty-state-icon, .luxe-empty-state-icon, .organic-empty-state-icon, .utility-empty-state-icon, .blueprint-empty-state-icon, .deco-empty-state-icon, .clay-empty-state-icon, .terminal-empty-state-icon, .paper-empty-state-icon, .noir-empty-state-icon), [data-ui]:where([data-ui="y2k"])[data-mode] :where(.usk-empty-state-icon), [data-ui]:where([data-ui="y2k"])[data-mode] :where(.ui-empty-state-icon) {
|
|
4282
|
+
display: grid;
|
|
4283
|
+
place-items: center;
|
|
4284
|
+
font-size: var(--usk-empty-state-icon-size, 2.75rem);
|
|
4285
|
+
line-height: 1;
|
|
4286
|
+
min-inline-size: 1em;
|
|
4287
|
+
min-block-size: 1em;
|
|
4288
|
+
margin: 0;
|
|
4289
|
+
padding: 0;
|
|
4290
|
+
}
|
|
4291
|
+
|
|
4292
|
+
/** Thin progress tracks own their inset; the fill never inherits element spacing. */
|
|
4293
|
+
[data-ui][data-mode] :where(.saas-progress, .bento-progress, .max-progress, .bau-progress, .tactile-progress, .neo-progress, .retro-progress, .brutal-progress, .cyber-progress, .y2k-progress, .rg-progress, .luxe-progress, .organic-progress, .utility-progress, .blueprint-progress, .deco-progress, .clay-progress, .terminal-progress, .paper-progress, .noir-progress), [data-ui]:where([data-ui="y2k"])[data-mode] :where(.usk-progress), [data-ui]:where([data-ui="y2k"])[data-mode] :where(.ui-progress) {
|
|
4294
|
+
box-sizing: border-box;
|
|
4295
|
+
display: flex;
|
|
4296
|
+
align-items: center;
|
|
4297
|
+
min-inline-size: 0;
|
|
4298
|
+
max-inline-size: 100%;
|
|
4299
|
+
margin: 0;
|
|
4300
|
+
padding: 0;
|
|
4301
|
+
}
|
|
4302
|
+
[data-ui][data-mode] :where(.saas-progress-bar, .bento-progress-bar, .max-progress-bar, .bau-progress-bar, .tactile-progress-bar, .neo-progress-bar, .retro-progress-bar, .brutal-progress-bar, .cyber-progress-bar, .y2k-progress-bar, .rg-progress-bar, .luxe-progress-bar, .organic-progress-bar, .utility-progress-bar, .blueprint-progress-bar, .deco-progress-bar, .clay-progress-bar, .terminal-progress-bar, .paper-progress-bar, .noir-progress-bar), [data-ui]:where([data-ui="y2k"])[data-mode] :where(.usk-progress-bar), [data-ui]:where([data-ui="y2k"])[data-mode] :where(.ui-progress-bar) {
|
|
4303
|
+
box-sizing: border-box;
|
|
4304
|
+
flex: 0 1 auto;
|
|
4305
|
+
align-self: center;
|
|
4306
|
+
min-inline-size: 0;
|
|
4307
|
+
min-block-size: 0;
|
|
4308
|
+
max-inline-size: 100%;
|
|
4309
|
+
block-size: 100%;
|
|
4310
|
+
margin: 0;
|
|
4311
|
+
padding: 0;
|
|
4312
|
+
}
|
|
4313
|
+
|
|
4314
|
+
/** Status surfaces keep their signal after preset material and border shorthands. */
|
|
4315
|
+
|
|
4316
|
+
[data-ui][data-mode] :where(.saas-alert-success, .bento-alert-success, .max-alert-success, .bau-alert-success, .tactile-alert-success, .neo-alert-success, .retro-alert-success, .brutal-alert-success, .cyber-alert-success, .y2k-alert-success, .rg-alert-success, .luxe-alert-success, .organic-alert-success, .utility-alert-success, .blueprint-alert-success, .deco-alert-success, .clay-alert-success, .terminal-alert-success, .paper-alert-success, .noir-alert-success), [data-ui]:where([data-ui="y2k"])[data-mode] :where(.usk-alert:where([data-ui-variant="success"])), [data-ui]:where([data-ui="y2k"])[data-mode] :where(.ui-alert:where([data-ui-variant="success"])) {
|
|
4317
|
+
--usk-message-tone: var(--usk-native-success);
|
|
4318
|
+
background: var(--usk-message-tone);
|
|
4319
|
+
color: var(--usk-native-on-success);
|
|
4320
|
+
border-color: var(--usk-message-tone);
|
|
4321
|
+
}
|
|
4322
|
+
[data-ui][data-mode] :where(.saas-alert-success, .bento-alert-success, .max-alert-success, .bau-alert-success, .tactile-alert-success, .neo-alert-success, .retro-alert-success, .brutal-alert-success, .cyber-alert-success, .y2k-alert-success, .rg-alert-success, .luxe-alert-success, .organic-alert-success, .utility-alert-success, .blueprint-alert-success, .deco-alert-success, .clay-alert-success, .terminal-alert-success, .paper-alert-success, .noir-alert-success) :where(.saas-alert-title, .bento-alert-title, .max-alert-title, .bau-alert-title, .tactile-alert-title, .neo-alert-title, .retro-alert-title, .brutal-alert-title, .cyber-alert-title, .y2k-alert-title, .rg-alert-title, .luxe-alert-title, .organic-alert-title, .utility-alert-title, .blueprint-alert-title, .deco-alert-title, .clay-alert-title, .terminal-alert-title, .paper-alert-title, .noir-alert-title), [data-ui]:where([data-ui="y2k"])[data-mode] :where(.usk-alert:where([data-ui-variant="success"])) :where(.usk-alert-title), [data-ui]:where([data-ui="y2k"])[data-mode] :where(.ui-alert:where([data-ui-variant="success"])) :where(.ui-alert-title) {
|
|
4323
|
+
color: inherit;
|
|
4324
|
+
text-shadow: none;
|
|
4325
|
+
}
|
|
4326
|
+
[data-ui][data-mode] :where(.saas-alert-success, .bento-alert-success, .max-alert-success, .bau-alert-success, .tactile-alert-success, .neo-alert-success, .retro-alert-success, .brutal-alert-success, .cyber-alert-success, .y2k-alert-success, .rg-alert-success, .luxe-alert-success, .organic-alert-success, .utility-alert-success, .blueprint-alert-success, .deco-alert-success, .clay-alert-success, .terminal-alert-success, .paper-alert-success, .noir-alert-success) :where(.saas-alert-body, .bento-alert-body, .max-alert-body, .bau-alert-body, .tactile-alert-body, .neo-alert-body, .retro-alert-body, .brutal-alert-body, .cyber-alert-body, .y2k-alert-body, .rg-alert-body, .luxe-alert-body, .organic-alert-body, .utility-alert-body, .blueprint-alert-body, .deco-alert-body, .clay-alert-body, .terminal-alert-body, .paper-alert-body, .noir-alert-body), [data-ui]:where([data-ui="y2k"])[data-mode] :where(.usk-alert:where([data-ui-variant="success"])) :where(.usk-alert-body), [data-ui]:where([data-ui="y2k"])[data-mode] :where(.ui-alert:where([data-ui-variant="success"])) :where(.ui-alert-body) {
|
|
4327
|
+
color: inherit;
|
|
4328
|
+
}
|
|
4329
|
+
@supports (color: color-mix(in srgb, #000, #fff)) {
|
|
4330
|
+
[data-ui][data-mode] :where(.saas-alert-success, .bento-alert-success, .max-alert-success, .bau-alert-success, .tactile-alert-success, .neo-alert-success, .retro-alert-success, .brutal-alert-success, .cyber-alert-success, .y2k-alert-success, .rg-alert-success, .luxe-alert-success, .organic-alert-success, .utility-alert-success, .blueprint-alert-success, .deco-alert-success, .clay-alert-success, .terminal-alert-success, .paper-alert-success, .noir-alert-success), [data-ui]:where([data-ui="y2k"])[data-mode] :where(.usk-alert:where([data-ui-variant="success"])), [data-ui]:where([data-ui="y2k"])[data-mode] :where(.ui-alert:where([data-ui-variant="success"])) {
|
|
4331
|
+
background: color-mix(in srgb, var(--usk-message-tone) 18%, var(--usk-native-bg));
|
|
4332
|
+
color: var(--usk-native-text);
|
|
4333
|
+
}
|
|
4334
|
+
}
|
|
4335
|
+
|
|
4336
|
+
[data-ui][data-mode] :where(.saas-alert-warning, .bento-alert-warning, .max-alert-warning, .bau-alert-warning, .tactile-alert-warning, .neo-alert-warning, .retro-alert-warning, .brutal-alert-warning, .cyber-alert-warning, .y2k-alert-warning, .rg-alert-warning, .luxe-alert-warning, .organic-alert-warning, .utility-alert-warning, .blueprint-alert-warning, .deco-alert-warning, .clay-alert-warning, .terminal-alert-warning, .paper-alert-warning, .noir-alert-warning), [data-ui]:where([data-ui="y2k"])[data-mode] :where(.usk-alert:where([data-ui-variant="warning"])), [data-ui]:where([data-ui="y2k"])[data-mode] :where(.ui-alert:where([data-ui-variant="warning"])) {
|
|
4337
|
+
--usk-message-tone: var(--usk-native-warning);
|
|
4338
|
+
background: var(--usk-message-tone);
|
|
4339
|
+
color: var(--usk-native-on-warning);
|
|
4340
|
+
border-color: var(--usk-message-tone);
|
|
4341
|
+
}
|
|
4342
|
+
[data-ui][data-mode] :where(.saas-alert-warning, .bento-alert-warning, .max-alert-warning, .bau-alert-warning, .tactile-alert-warning, .neo-alert-warning, .retro-alert-warning, .brutal-alert-warning, .cyber-alert-warning, .y2k-alert-warning, .rg-alert-warning, .luxe-alert-warning, .organic-alert-warning, .utility-alert-warning, .blueprint-alert-warning, .deco-alert-warning, .clay-alert-warning, .terminal-alert-warning, .paper-alert-warning, .noir-alert-warning) :where(.saas-alert-title, .bento-alert-title, .max-alert-title, .bau-alert-title, .tactile-alert-title, .neo-alert-title, .retro-alert-title, .brutal-alert-title, .cyber-alert-title, .y2k-alert-title, .rg-alert-title, .luxe-alert-title, .organic-alert-title, .utility-alert-title, .blueprint-alert-title, .deco-alert-title, .clay-alert-title, .terminal-alert-title, .paper-alert-title, .noir-alert-title), [data-ui]:where([data-ui="y2k"])[data-mode] :where(.usk-alert:where([data-ui-variant="warning"])) :where(.usk-alert-title), [data-ui]:where([data-ui="y2k"])[data-mode] :where(.ui-alert:where([data-ui-variant="warning"])) :where(.ui-alert-title) {
|
|
4343
|
+
color: inherit;
|
|
4344
|
+
text-shadow: none;
|
|
4345
|
+
}
|
|
4346
|
+
[data-ui][data-mode] :where(.saas-alert-warning, .bento-alert-warning, .max-alert-warning, .bau-alert-warning, .tactile-alert-warning, .neo-alert-warning, .retro-alert-warning, .brutal-alert-warning, .cyber-alert-warning, .y2k-alert-warning, .rg-alert-warning, .luxe-alert-warning, .organic-alert-warning, .utility-alert-warning, .blueprint-alert-warning, .deco-alert-warning, .clay-alert-warning, .terminal-alert-warning, .paper-alert-warning, .noir-alert-warning) :where(.saas-alert-body, .bento-alert-body, .max-alert-body, .bau-alert-body, .tactile-alert-body, .neo-alert-body, .retro-alert-body, .brutal-alert-body, .cyber-alert-body, .y2k-alert-body, .rg-alert-body, .luxe-alert-body, .organic-alert-body, .utility-alert-body, .blueprint-alert-body, .deco-alert-body, .clay-alert-body, .terminal-alert-body, .paper-alert-body, .noir-alert-body), [data-ui]:where([data-ui="y2k"])[data-mode] :where(.usk-alert:where([data-ui-variant="warning"])) :where(.usk-alert-body), [data-ui]:where([data-ui="y2k"])[data-mode] :where(.ui-alert:where([data-ui-variant="warning"])) :where(.ui-alert-body) {
|
|
4347
|
+
color: inherit;
|
|
4348
|
+
}
|
|
4349
|
+
@supports (color: color-mix(in srgb, #000, #fff)) {
|
|
4350
|
+
[data-ui][data-mode] :where(.saas-alert-warning, .bento-alert-warning, .max-alert-warning, .bau-alert-warning, .tactile-alert-warning, .neo-alert-warning, .retro-alert-warning, .brutal-alert-warning, .cyber-alert-warning, .y2k-alert-warning, .rg-alert-warning, .luxe-alert-warning, .organic-alert-warning, .utility-alert-warning, .blueprint-alert-warning, .deco-alert-warning, .clay-alert-warning, .terminal-alert-warning, .paper-alert-warning, .noir-alert-warning), [data-ui]:where([data-ui="y2k"])[data-mode] :where(.usk-alert:where([data-ui-variant="warning"])), [data-ui]:where([data-ui="y2k"])[data-mode] :where(.ui-alert:where([data-ui-variant="warning"])) {
|
|
4351
|
+
background: color-mix(in srgb, var(--usk-message-tone) 18%, var(--usk-native-bg));
|
|
4352
|
+
color: var(--usk-native-text);
|
|
4353
|
+
}
|
|
4354
|
+
}
|
|
4355
|
+
|
|
4356
|
+
[data-ui][data-mode] :where(.saas-alert-danger, .bento-alert-danger, .max-alert-danger, .bau-alert-danger, .tactile-alert-danger, .neo-alert-danger, .retro-alert-danger, .brutal-alert-danger, .cyber-alert-danger, .y2k-alert-danger, .rg-alert-danger, .luxe-alert-danger, .organic-alert-danger, .utility-alert-danger, .blueprint-alert-danger, .deco-alert-danger, .clay-alert-danger, .terminal-alert-danger, .paper-alert-danger, .noir-alert-danger), [data-ui]:where([data-ui="y2k"])[data-mode] :where(.usk-alert:where([data-ui-variant="danger"])), [data-ui]:where([data-ui="y2k"])[data-mode] :where(.ui-alert:where([data-ui-variant="danger"])) {
|
|
4357
|
+
--usk-message-tone: var(--usk-native-danger);
|
|
4358
|
+
background: var(--usk-message-tone);
|
|
4359
|
+
color: var(--usk-native-on-danger);
|
|
4360
|
+
border-color: var(--usk-message-tone);
|
|
4361
|
+
}
|
|
4362
|
+
[data-ui][data-mode] :where(.saas-alert-danger, .bento-alert-danger, .max-alert-danger, .bau-alert-danger, .tactile-alert-danger, .neo-alert-danger, .retro-alert-danger, .brutal-alert-danger, .cyber-alert-danger, .y2k-alert-danger, .rg-alert-danger, .luxe-alert-danger, .organic-alert-danger, .utility-alert-danger, .blueprint-alert-danger, .deco-alert-danger, .clay-alert-danger, .terminal-alert-danger, .paper-alert-danger, .noir-alert-danger) :where(.saas-alert-title, .bento-alert-title, .max-alert-title, .bau-alert-title, .tactile-alert-title, .neo-alert-title, .retro-alert-title, .brutal-alert-title, .cyber-alert-title, .y2k-alert-title, .rg-alert-title, .luxe-alert-title, .organic-alert-title, .utility-alert-title, .blueprint-alert-title, .deco-alert-title, .clay-alert-title, .terminal-alert-title, .paper-alert-title, .noir-alert-title), [data-ui]:where([data-ui="y2k"])[data-mode] :where(.usk-alert:where([data-ui-variant="danger"])) :where(.usk-alert-title), [data-ui]:where([data-ui="y2k"])[data-mode] :where(.ui-alert:where([data-ui-variant="danger"])) :where(.ui-alert-title) {
|
|
4363
|
+
color: inherit;
|
|
4364
|
+
text-shadow: none;
|
|
4365
|
+
}
|
|
4366
|
+
[data-ui][data-mode] :where(.saas-alert-danger, .bento-alert-danger, .max-alert-danger, .bau-alert-danger, .tactile-alert-danger, .neo-alert-danger, .retro-alert-danger, .brutal-alert-danger, .cyber-alert-danger, .y2k-alert-danger, .rg-alert-danger, .luxe-alert-danger, .organic-alert-danger, .utility-alert-danger, .blueprint-alert-danger, .deco-alert-danger, .clay-alert-danger, .terminal-alert-danger, .paper-alert-danger, .noir-alert-danger) :where(.saas-alert-body, .bento-alert-body, .max-alert-body, .bau-alert-body, .tactile-alert-body, .neo-alert-body, .retro-alert-body, .brutal-alert-body, .cyber-alert-body, .y2k-alert-body, .rg-alert-body, .luxe-alert-body, .organic-alert-body, .utility-alert-body, .blueprint-alert-body, .deco-alert-body, .clay-alert-body, .terminal-alert-body, .paper-alert-body, .noir-alert-body), [data-ui]:where([data-ui="y2k"])[data-mode] :where(.usk-alert:where([data-ui-variant="danger"])) :where(.usk-alert-body), [data-ui]:where([data-ui="y2k"])[data-mode] :where(.ui-alert:where([data-ui-variant="danger"])) :where(.ui-alert-body) {
|
|
4367
|
+
color: inherit;
|
|
4368
|
+
}
|
|
4369
|
+
@supports (color: color-mix(in srgb, #000, #fff)) {
|
|
4370
|
+
[data-ui][data-mode] :where(.saas-alert-danger, .bento-alert-danger, .max-alert-danger, .bau-alert-danger, .tactile-alert-danger, .neo-alert-danger, .retro-alert-danger, .brutal-alert-danger, .cyber-alert-danger, .y2k-alert-danger, .rg-alert-danger, .luxe-alert-danger, .organic-alert-danger, .utility-alert-danger, .blueprint-alert-danger, .deco-alert-danger, .clay-alert-danger, .terminal-alert-danger, .paper-alert-danger, .noir-alert-danger), [data-ui]:where([data-ui="y2k"])[data-mode] :where(.usk-alert:where([data-ui-variant="danger"])), [data-ui]:where([data-ui="y2k"])[data-mode] :where(.ui-alert:where([data-ui-variant="danger"])) {
|
|
4371
|
+
background: color-mix(in srgb, var(--usk-message-tone) 18%, var(--usk-native-bg));
|
|
4372
|
+
color: var(--usk-native-text);
|
|
4373
|
+
}
|
|
4374
|
+
}
|
|
4375
|
+
|
|
4376
|
+
/** Compact status and selection frames provide a readable inset around their text. */
|
|
4377
|
+
[data-ui][data-mode] :where(.saas-chip, .saas-tab, .saas-segment, .bento-chip, .bento-tab, .bento-segment, .max-chip, .max-tab, .max-segment, .bau-chip, .bau-tab, .bau-segment, .tactile-chip, .tactile-tab, .tactile-segment, .neo-chip, .neo-tab, .neo-segment, .retro-chip, .retro-tab, .retro-segment, .brutal-chip, .brutal-tab, .brutal-segment, .cyber-chip, .cyber-tab, .cyber-segment, .y2k-chip, .y2k-tab, .y2k-segment, .rg-chip, .rg-tab, .rg-segment, .luxe-chip, .luxe-tab, .luxe-segment, .organic-chip, .organic-tab, .organic-segment, .utility-chip, .utility-tab, .utility-segment, .blueprint-chip, .blueprint-tab, .blueprint-segment, .deco-chip, .deco-tab, .deco-segment, .clay-chip, .clay-tab, .clay-segment, .terminal-chip, .terminal-tab, .terminal-segment, .paper-chip, .paper-tab, .paper-segment, .noir-chip, .noir-tab, .noir-segment), [data-ui]:where([data-ui="y2k"])[data-mode] :where(.usk-chip,.usk-tab,.usk-segment), [data-ui]:where([data-ui="y2k"])[data-mode] :where(.ui-chip,.ui-tab,.ui-segment) {
|
|
4378
|
+
box-sizing: border-box;
|
|
4379
|
+
padding-block: var(--usk-compact-content-padding-block, .35rem);
|
|
4380
|
+
padding-inline: var(--usk-compact-content-padding-inline, .65rem);
|
|
4381
|
+
}
|
|
4382
|
+
|
|
4383
|
+
/** Public component frames shrink within their parent instead of adding an outer inset. */
|
|
4384
|
+
[data-ui][data-mode] :where(.saas-tabs, .saas-tab-list, .saas-tab-panel, .saas-toast-stack, .saas-toast, .saas-popover, .saas-menu, .saas-segmented-control, .bento-tabs, .bento-tab-list, .bento-tab-panel, .bento-toast-stack, .bento-toast, .bento-popover, .bento-menu, .bento-segmented-control, .max-tabs, .max-tab-list, .max-tab-panel, .max-toast-stack, .max-toast, .max-popover, .max-menu, .max-segmented-control, .bau-tabs, .bau-tab-list, .bau-tab-panel, .bau-toast-stack, .bau-toast, .bau-popover, .bau-menu, .bau-segmented-control, .tactile-tabs, .tactile-tab-list, .tactile-tab-panel, .tactile-toast-stack, .tactile-toast, .tactile-popover, .tactile-menu, .tactile-segmented-control, .neo-tabs, .neo-tab-list, .neo-tab-panel, .neo-toast-stack, .neo-toast, .neo-popover, .neo-menu, .neo-segmented-control, .retro-tabs, .retro-tab-list, .retro-tab-panel, .retro-toast-stack, .retro-toast, .retro-popover, .retro-menu, .retro-segmented-control, .brutal-tabs, .brutal-tab-list, .brutal-tab-panel, .brutal-toast-stack, .brutal-toast, .brutal-popover, .brutal-menu, .brutal-segmented-control, .cyber-tabs, .cyber-tab-list, .cyber-tab-panel, .cyber-toast-stack, .cyber-toast, .cyber-popover, .cyber-menu, .cyber-segmented-control, .y2k-tabs, .y2k-tab-list, .y2k-tab-panel, .y2k-toast-stack, .y2k-toast, .y2k-popover, .y2k-menu, .y2k-segmented-control, .rg-tabs, .rg-tab-list, .rg-tab-panel, .rg-toast-stack, .rg-toast, .rg-popover, .rg-menu, .rg-segmented-control, .luxe-tabs, .luxe-tab-list, .luxe-tab-panel, .luxe-toast-stack, .luxe-toast, .luxe-popover, .luxe-menu, .luxe-segmented-control, .organic-tabs, .organic-tab-list, .organic-tab-panel, .organic-toast-stack, .organic-toast, .organic-popover, .organic-menu, .organic-segmented-control, .utility-tabs, .utility-tab-list, .utility-tab-panel, .utility-toast-stack, .utility-toast, .utility-popover, .utility-menu, .utility-segmented-control, .blueprint-tabs, .blueprint-tab-list, .blueprint-tab-panel, .blueprint-toast-stack, .blueprint-toast, .blueprint-popover, .blueprint-menu, .blueprint-segmented-control, .deco-tabs, .deco-tab-list, .deco-tab-panel, .deco-toast-stack, .deco-toast, .deco-popover, .deco-menu, .deco-segmented-control, .clay-tabs, .clay-tab-list, .clay-tab-panel, .clay-toast-stack, .clay-toast, .clay-popover, .clay-menu, .clay-segmented-control, .terminal-tabs, .terminal-tab-list, .terminal-tab-panel, .terminal-toast-stack, .terminal-toast, .terminal-popover, .terminal-menu, .terminal-segmented-control, .paper-tabs, .paper-tab-list, .paper-tab-panel, .paper-toast-stack, .paper-toast, .paper-popover, .paper-menu, .paper-segmented-control, .noir-tabs, .noir-tab-list, .noir-tab-panel, .noir-toast-stack, .noir-toast, .noir-popover, .noir-menu, .noir-segmented-control), [data-ui]:where([data-ui="y2k"])[data-mode] :where(.usk-tabs,.usk-tab-list,.usk-tab-panel,.usk-toast-stack,.usk-toast,.usk-popover,.usk-menu,.usk-segmented-control), [data-ui]:where([data-ui="y2k"])[data-mode] :where(.ui-tabs,.ui-tab-list,.ui-tab-panel,.ui-toast-stack,.ui-toast,.ui-popover,.ui-menu,.ui-segmented-control) {
|
|
4385
|
+
box-sizing: border-box;
|
|
4386
|
+
min-inline-size: 0;
|
|
4387
|
+
max-inline-size: 100%;
|
|
4388
|
+
margin-inline: 0;
|
|
4389
|
+
}
|
|
4390
|
+
|
|
4391
|
+
/** Overlay frames retain their content inset after the native element-spacing floor. */
|
|
4392
|
+
[data-ui][data-mode] :where(.saas-popover, .saas-menu, .saas-listbox, .bento-popover, .bento-menu, .bento-listbox, .max-popover, .max-menu, .max-listbox, .bau-popover, .bau-menu, .bau-listbox, .tactile-popover, .tactile-menu, .tactile-listbox, .neo-popover, .neo-menu, .neo-listbox, .retro-popover, .retro-menu, .retro-listbox, .brutal-popover, .brutal-menu, .brutal-listbox, .cyber-popover, .cyber-menu, .cyber-listbox, .y2k-popover, .y2k-menu, .y2k-listbox, .rg-popover, .rg-menu, .rg-listbox, .luxe-popover, .luxe-menu, .luxe-listbox, .organic-popover, .organic-menu, .organic-listbox, .utility-popover, .utility-menu, .utility-listbox, .blueprint-popover, .blueprint-menu, .blueprint-listbox, .deco-popover, .deco-menu, .deco-listbox, .clay-popover, .clay-menu, .clay-listbox, .terminal-popover, .terminal-menu, .terminal-listbox, .paper-popover, .paper-menu, .paper-listbox, .noir-popover, .noir-menu, .noir-listbox), [data-ui]:where([data-ui="y2k"])[data-mode] :where(.usk-popover,.usk-menu,.usk-listbox), [data-ui]:where([data-ui="y2k"])[data-mode] :where(.ui-popover,.ui-menu,.ui-listbox) {
|
|
4393
|
+
box-sizing: border-box;
|
|
4394
|
+
min-inline-size: 0;
|
|
4395
|
+
max-inline-size: 100%;
|
|
4396
|
+
padding: var(--usk-overlay-padding, .5rem);
|
|
4397
|
+
}
|
|
4398
|
+
[data-ui][data-mode] :where(.saas-menu-item, .saas-listbox-option, .bento-menu-item, .bento-listbox-option, .max-menu-item, .max-listbox-option, .bau-menu-item, .bau-listbox-option, .tactile-menu-item, .tactile-listbox-option, .neo-menu-item, .neo-listbox-option, .retro-menu-item, .retro-listbox-option, .brutal-menu-item, .brutal-listbox-option, .cyber-menu-item, .cyber-listbox-option, .y2k-menu-item, .y2k-listbox-option, .rg-menu-item, .rg-listbox-option, .luxe-menu-item, .luxe-listbox-option, .organic-menu-item, .organic-listbox-option, .utility-menu-item, .utility-listbox-option, .blueprint-menu-item, .blueprint-listbox-option, .deco-menu-item, .deco-listbox-option, .clay-menu-item, .clay-listbox-option, .terminal-menu-item, .terminal-listbox-option, .paper-menu-item, .paper-listbox-option, .noir-menu-item, .noir-listbox-option), [data-ui]:where([data-ui="y2k"])[data-mode] :where(.usk-menu-item,.usk-listbox-option), [data-ui]:where([data-ui="y2k"])[data-mode] :where(.ui-menu-item,.ui-listbox-option) {
|
|
4399
|
+
box-sizing: border-box;
|
|
4400
|
+
min-inline-size: 0;
|
|
4401
|
+
max-inline-size: 100%;
|
|
4402
|
+
padding-block: var(--usk-option-padding-block, .55rem);
|
|
4403
|
+
padding-inline: var(--usk-option-padding-inline, .7rem);
|
|
4404
|
+
}
|
|
4405
|
+
|
|
4406
|
+
/** A typed tab root stacks its header and panel; legacy direct-button bars keep their own layout. */
|
|
4407
|
+
[data-ui][data-mode] :where(.saas-tabs:has(> .saas-tab-list), .bento-tabs:has(> .bento-tab-list), .max-tabs:has(> .max-tab-list), .bau-tabs:has(> .bau-tab-list), .tactile-tabs:has(> .tactile-tab-list), .neo-tabs:has(> .neo-tab-list), .retro-tabs:has(> .retro-tab-list), .brutal-tabs:has(> .brutal-tab-list), .cyber-tabs:has(> .cyber-tab-list), .y2k-tabs:has(> .y2k-tab-list), .rg-tabs:has(> .rg-tab-list), .luxe-tabs:has(> .luxe-tab-list), .organic-tabs:has(> .organic-tab-list), .utility-tabs:has(> .utility-tab-list), .blueprint-tabs:has(> .blueprint-tab-list), .deco-tabs:has(> .deco-tab-list), .clay-tabs:has(> .clay-tab-list), .terminal-tabs:has(> .terminal-tab-list), .paper-tabs:has(> .paper-tab-list), .noir-tabs:has(> .noir-tab-list)), [data-ui]:where([data-ui="y2k"])[data-mode] :where(.usk-tabs:has(>.usk-tab-list)), [data-ui]:where([data-ui="y2k"])[data-mode] :where(.ui-tabs:has(>.ui-tab-list)) {
|
|
4408
|
+
display: grid;
|
|
4409
|
+
grid-template-columns: minmax(0, 1fr);
|
|
4410
|
+
grid-auto-flow: row;
|
|
4411
|
+
}
|
|
4412
|
+
|
|
4413
|
+
/** A direct toast title owns the full row; words are never squeezed into a side column. */
|
|
4414
|
+
[data-ui][data-mode] :where(.saas-toast:has(> strong), .bento-toast:has(> strong), .max-toast:has(> strong), .bau-toast:has(> strong), .tactile-toast:has(> strong), .neo-toast:has(> strong), .retro-toast:has(> strong), .brutal-toast:has(> strong), .cyber-toast:has(> strong), .y2k-toast:has(> strong), .rg-toast:has(> strong), .luxe-toast:has(> strong), .organic-toast:has(> strong), .utility-toast:has(> strong), .blueprint-toast:has(> strong), .deco-toast:has(> strong), .clay-toast:has(> strong), .terminal-toast:has(> strong), .paper-toast:has(> strong), .noir-toast:has(> strong)), [data-ui]:where([data-ui="y2k"])[data-mode] :where(.usk-toast:has(>strong)), [data-ui]:where([data-ui="y2k"])[data-mode] :where(.ui-toast:has(>strong)) {
|
|
4415
|
+
display: grid;
|
|
4416
|
+
grid-template-columns: minmax(0, 1fr);
|
|
4417
|
+
gap: .5rem;
|
|
4418
|
+
padding: var(--usk-toast-padding, 1rem);
|
|
4419
|
+
}
|
|
4420
|
+
[data-ui][data-mode] :where(.saas-toast-title, .saas-toast-body, .saas-toast-actions, .bento-toast-title, .bento-toast-body, .bento-toast-actions, .max-toast-title, .max-toast-body, .max-toast-actions, .bau-toast-title, .bau-toast-body, .bau-toast-actions, .tactile-toast-title, .tactile-toast-body, .tactile-toast-actions, .neo-toast-title, .neo-toast-body, .neo-toast-actions, .retro-toast-title, .retro-toast-body, .retro-toast-actions, .brutal-toast-title, .brutal-toast-body, .brutal-toast-actions, .cyber-toast-title, .cyber-toast-body, .cyber-toast-actions, .y2k-toast-title, .y2k-toast-body, .y2k-toast-actions, .rg-toast-title, .rg-toast-body, .rg-toast-actions, .luxe-toast-title, .luxe-toast-body, .luxe-toast-actions, .organic-toast-title, .organic-toast-body, .organic-toast-actions, .utility-toast-title, .utility-toast-body, .utility-toast-actions, .blueprint-toast-title, .blueprint-toast-body, .blueprint-toast-actions, .deco-toast-title, .deco-toast-body, .deco-toast-actions, .clay-toast-title, .clay-toast-body, .clay-toast-actions, .terminal-toast-title, .terminal-toast-body, .terminal-toast-actions, .paper-toast-title, .paper-toast-body, .paper-toast-actions, .noir-toast-title, .noir-toast-body, .noir-toast-actions), [data-ui]:where([data-ui="y2k"])[data-mode] :where(.usk-toast-title,.usk-toast-body,.usk-toast-actions), [data-ui]:where([data-ui="y2k"])[data-mode] :where(.ui-toast-title,.ui-toast-body,.ui-toast-actions) {
|
|
4421
|
+
grid-column: 1 / -1;
|
|
4422
|
+
grid-row: auto;
|
|
4423
|
+
min-inline-size: 0;
|
|
4424
|
+
inline-size: auto;
|
|
4425
|
+
max-inline-size: 100%;
|
|
4426
|
+
margin: 0;
|
|
4427
|
+
overflow-wrap: normal;
|
|
4428
|
+
word-break: normal;
|
|
4429
|
+
white-space: normal;
|
|
4430
|
+
hyphens: none;
|
|
4431
|
+
}
|
|
4432
|
+
/** Switch faces have one inset owner and remain centered at either end of the track. */
|
|
4433
|
+
[data-ui][data-mode] :where(.saas-switch-track, .bento-switch-track, .max-switch-track, .bau-switch-track, .tactile-switch-track, .neo-switch-track, .retro-switch-track, .brutal-switch-track, .cyber-switch-track, .y2k-switch-track, .rg-switch-track, .luxe-switch-track, .organic-switch-track, .utility-switch-track, .blueprint-switch-track, .deco-switch-track, .clay-switch-track, .terminal-switch-track, .paper-switch-track, .noir-switch-track), [data-ui]:where([data-ui="y2k"])[data-mode] :where(.usk-switch-track), [data-ui]:where([data-ui="y2k"])[data-mode] :where(.ui-switch-track) {
|
|
4434
|
+
box-sizing: border-box;
|
|
4435
|
+
position: relative;
|
|
4436
|
+
display: inline-flex;
|
|
4437
|
+
flex: 0 0 auto;
|
|
4438
|
+
min-inline-size: 2.75rem;
|
|
4439
|
+
min-block-size: 1.625rem;
|
|
4440
|
+
padding: 0;
|
|
4441
|
+
}
|
|
4442
|
+
[data-ui][data-mode] :where(.saas-switch-thumb, .bento-switch-thumb, .max-switch-thumb, .bau-switch-thumb, .tactile-switch-thumb, .neo-switch-thumb, .retro-switch-thumb, .brutal-switch-thumb, .cyber-switch-thumb, .y2k-switch-thumb, .rg-switch-thumb, .luxe-switch-thumb, .organic-switch-thumb, .utility-switch-thumb, .blueprint-switch-thumb, .deco-switch-thumb, .clay-switch-thumb, .terminal-switch-thumb, .paper-switch-thumb, .noir-switch-thumb), [data-ui]:where([data-ui="y2k"])[data-mode] :where(.usk-switch-thumb), [data-ui]:where([data-ui="y2k"])[data-mode] :where(.ui-switch-thumb) {
|
|
4443
|
+
box-sizing: border-box;
|
|
4444
|
+
display: block;
|
|
4445
|
+
position: absolute;
|
|
4446
|
+
inset-block-start: 50%;
|
|
4447
|
+
inset-block-end: auto;
|
|
4448
|
+
inset-inline-start: .125rem;
|
|
4449
|
+
inset-inline-end: auto;
|
|
4450
|
+
inline-size: var(--usk-switch-thumb-size, 1.125rem);
|
|
4451
|
+
block-size: var(--usk-switch-thumb-size, 1.125rem);
|
|
4452
|
+
min-inline-size: 0;
|
|
4453
|
+
min-block-size: 0;
|
|
4454
|
+
margin: 0;
|
|
4455
|
+
padding: 0;
|
|
4456
|
+
translate: none;
|
|
4457
|
+
transform: translateY(-50%);
|
|
4458
|
+
}
|
|
4459
|
+
[data-ui][data-mode] :where(.saas-switch input:checked + .saas-switch-track .saas-switch-thumb, .bento-switch input:checked + .bento-switch-track .bento-switch-thumb, .max-switch input:checked + .max-switch-track .max-switch-thumb, .bau-switch input:checked + .bau-switch-track .bau-switch-thumb, .tactile-switch input:checked + .tactile-switch-track .tactile-switch-thumb, .neo-switch input:checked + .neo-switch-track .neo-switch-thumb, .retro-switch input:checked + .retro-switch-track .retro-switch-thumb, .brutal-switch input:checked + .brutal-switch-track .brutal-switch-thumb, .cyber-switch input:checked + .cyber-switch-track .cyber-switch-thumb, .y2k-switch input:checked + .y2k-switch-track .y2k-switch-thumb, .rg-switch input:checked + .rg-switch-track .rg-switch-thumb, .luxe-switch input:checked + .luxe-switch-track .luxe-switch-thumb, .organic-switch input:checked + .organic-switch-track .organic-switch-thumb, .utility-switch input:checked + .utility-switch-track .utility-switch-thumb, .blueprint-switch input:checked + .blueprint-switch-track .blueprint-switch-thumb, .deco-switch input:checked + .deco-switch-track .deco-switch-thumb, .clay-switch input:checked + .clay-switch-track .clay-switch-thumb, .terminal-switch input:checked + .terminal-switch-track .terminal-switch-thumb, .paper-switch input:checked + .paper-switch-track .paper-switch-thumb, .noir-switch input:checked + .noir-switch-track .noir-switch-thumb), [data-ui]:where([data-ui="y2k"])[data-mode] :where(.usk-switch input:checked+.usk-switch-track .usk-switch-thumb), [data-ui]:where([data-ui="y2k"])[data-mode] :where(.ui-switch input:checked+.ui-switch-track .ui-switch-thumb) {
|
|
4460
|
+
inset-inline-start: auto;
|
|
4461
|
+
inset-inline-end: .125rem;
|
|
4462
|
+
transform: translateY(-50%);
|
|
4463
|
+
}
|
|
4464
|
+
|
|
4465
|
+
/** A drawn check retains preset ink while Art Deco keeps its own enamel marker. */
|
|
4466
|
+
[data-ui][data-mode]:where(:not([data-ui="art-deco"])) :where(.saas-check input:checked + .saas-check-control, .bento-check input:checked + .bento-check-control, .max-check input:checked + .max-check-control, .bau-check input:checked + .bau-check-control, .tactile-check input:checked + .tactile-check-control, .neo-check input:checked + .neo-check-control, .retro-check input:checked + .retro-check-control, .brutal-check input:checked + .brutal-check-control, .cyber-check input:checked + .cyber-check-control, .y2k-check input:checked + .y2k-check-control, .rg-check input:checked + .rg-check-control, .luxe-check input:checked + .luxe-check-control, .organic-check input:checked + .organic-check-control, .utility-check input:checked + .utility-check-control, .blueprint-check input:checked + .blueprint-check-control, .deco-check input:checked + .deco-check-control, .clay-check input:checked + .clay-check-control, .terminal-check input:checked + .terminal-check-control, .paper-check input:checked + .paper-check-control, .noir-check input:checked + .noir-check-control)::after, [data-ui]:where([data-ui="y2k"])[data-mode]:where(:not([data-ui="art-deco"])) :where(.usk-check input:checked+.usk-check-control)::after, [data-ui]:where([data-ui="y2k"])[data-mode]:where(:not([data-ui="art-deco"])) :where(.ui-check input:checked+.ui-check-control)::after {
|
|
4467
|
+
content: "";
|
|
4468
|
+
position: static;
|
|
4469
|
+
inset: auto;
|
|
4470
|
+
clip-path: none;
|
|
4471
|
+
translate: none;
|
|
4472
|
+
display: block;
|
|
4473
|
+
box-sizing: border-box;
|
|
4474
|
+
inline-size: .35em;
|
|
4475
|
+
block-size: .65em;
|
|
4476
|
+
margin: 0 0 .15em;
|
|
4477
|
+
padding: 0;
|
|
4478
|
+
border: solid var(--usk-native-choice-mark-color);
|
|
4479
|
+
border-width: 0 max(2px, var(--usk-native-border-width)) max(2px, var(--usk-native-border-width)) 0;
|
|
4480
|
+
border-radius: 0;
|
|
4481
|
+
background: none;
|
|
4482
|
+
box-shadow: none;
|
|
4483
|
+
transform: rotate(45deg);
|
|
4484
|
+
}
|
|
4485
|
+
|
|
4486
|
+
/** Tooltip tone is independent of its position and keeps each preset's silhouette. */
|
|
4487
|
+
[data-ui][data-mode] :where(.saas-tooltip-primary, .bento-tooltip-primary, .max-tooltip-primary, .bau-tooltip-primary, .tactile-tooltip-primary, .neo-tooltip-primary, .retro-tooltip-primary, .brutal-tooltip-primary, .cyber-tooltip-primary, .y2k-tooltip-primary, .rg-tooltip-primary, .luxe-tooltip-primary, .organic-tooltip-primary, .utility-tooltip-primary, .blueprint-tooltip-primary, .deco-tooltip-primary, .clay-tooltip-primary, .terminal-tooltip-primary, .paper-tooltip-primary, .noir-tooltip-primary), [data-ui]:where([data-ui="y2k"])[data-mode] :where(.usk-tooltip:where([data-ui-variant="primary"])), [data-ui]:where([data-ui="y2k"])[data-mode] :where(.ui-tooltip:where([data-ui-variant="primary"])) {
|
|
4488
|
+
background: var(--usk-native-primary);
|
|
4489
|
+
color: var(--usk-native-on-primary);
|
|
4490
|
+
border-color: var(--usk-native-primary);
|
|
4491
|
+
border-style: solid;
|
|
4492
|
+
}
|
|
4493
|
+
[data-ui][data-mode] :where(.saas-tooltip-secondary, .bento-tooltip-secondary, .max-tooltip-secondary, .bau-tooltip-secondary, .tactile-tooltip-secondary, .neo-tooltip-secondary, .retro-tooltip-secondary, .brutal-tooltip-secondary, .cyber-tooltip-secondary, .y2k-tooltip-secondary, .rg-tooltip-secondary, .luxe-tooltip-secondary, .organic-tooltip-secondary, .utility-tooltip-secondary, .blueprint-tooltip-secondary, .deco-tooltip-secondary, .clay-tooltip-secondary, .terminal-tooltip-secondary, .paper-tooltip-secondary, .noir-tooltip-secondary), [data-ui]:where([data-ui="y2k"])[data-mode] :where(.usk-tooltip:where([data-ui-variant="secondary"])), [data-ui]:where([data-ui="y2k"])[data-mode] :where(.ui-tooltip:where([data-ui-variant="secondary"])) {
|
|
4494
|
+
background: var(--usk-native-surface);
|
|
4495
|
+
color: var(--usk-native-text);
|
|
4496
|
+
border: max(1px, var(--usk-native-border-width)) dashed var(--usk-native-primary);
|
|
4497
|
+
}
|
|
4498
|
+
[data-ui][data-mode] :where(.saas-tooltip-accent, .bento-tooltip-accent, .max-tooltip-accent, .bau-tooltip-accent, .tactile-tooltip-accent, .neo-tooltip-accent, .retro-tooltip-accent, .brutal-tooltip-accent, .cyber-tooltip-accent, .y2k-tooltip-accent, .rg-tooltip-accent, .luxe-tooltip-accent, .organic-tooltip-accent, .utility-tooltip-accent, .blueprint-tooltip-accent, .deco-tooltip-accent, .clay-tooltip-accent, .terminal-tooltip-accent, .paper-tooltip-accent, .noir-tooltip-accent), [data-ui]:where([data-ui="y2k"])[data-mode] :where(.usk-tooltip:where([data-ui-variant="accent"])), [data-ui]:where([data-ui="y2k"])[data-mode] :where(.ui-tooltip:where([data-ui-variant="accent"])) {
|
|
4499
|
+
background: var(--usk-native-accent);
|
|
4500
|
+
color: var(--usk-native-on-accent);
|
|
4501
|
+
border: 3px double var(--usk-native-accent);
|
|
4502
|
+
}
|
|
4503
|
+
|
|
4504
|
+
/** Secondary actions have a framed supporting surface rather than ghost paint. */
|
|
4505
|
+
[data-ui][data-mode] :where(.saas-button-secondary, .bento-button-secondary, .max-button-secondary, .bau-button-secondary, .tactile-button-secondary, .neo-button-secondary, .retro-button-secondary, .brutal-button-secondary, .cyber-button-secondary, .y2k-button-secondary, .rg-button-secondary, .luxe-button-secondary, .organic-button-secondary, .utility-button-secondary, .blueprint-button-secondary, .deco-button-secondary, .clay-button-secondary, .terminal-button-secondary, .paper-button-secondary, .noir-button-secondary), [data-ui]:where([data-ui="y2k"])[data-mode] :where(.usk-button:where([data-ui-variant="secondary"])), [data-ui]:where([data-ui="y2k"])[data-mode] :where(.ui-button:where([data-ui-variant="secondary"])) {
|
|
4506
|
+
background: var(--usk-native-secondary);
|
|
4507
|
+
color: var(--usk-native-on-secondary);
|
|
4508
|
+
border-color: var(--usk-native-primary);
|
|
4509
|
+
}
|
|
4510
|
+
|
|
4511
|
+
/** Status badges retain an inset without changing seal or medallion dimensions. */
|
|
4512
|
+
[data-ui][data-mode] :where(.saas-badge, .bento-badge, .max-badge, .bau-badge, .tactile-badge, .neo-badge, .retro-badge, .brutal-badge, .cyber-badge, .y2k-badge, .rg-badge, .luxe-badge, .organic-badge, .utility-badge, .blueprint-badge, .deco-badge, .clay-badge, .terminal-badge, .paper-badge, .noir-badge), [data-ui]:where([data-ui="y2k"])[data-mode] :where(.usk-badge), [data-ui]:where([data-ui="y2k"])[data-mode] :where(.ui-badge) {
|
|
4513
|
+
padding-block: var(--usk-badge-padding-block, .22rem);
|
|
4514
|
+
padding-inline: var(--usk-badge-padding-inline, .6rem);
|
|
4515
|
+
}
|
|
4516
|
+
|
|
4517
|
+
/** Warning actions and statuses use paired amber/orange roles while retaining opaque text. */
|
|
4518
|
+
[data-ui][data-mode] :where(.saas-button-warning, .saas-badge-warning, .bento-button-warning, .bento-badge-warning, .max-button-warning, .max-badge-warning, .bau-button-warning, .bau-badge-warning, .tactile-button-warning, .tactile-badge-warning, .neo-button-warning, .neo-badge-warning, .retro-button-warning, .retro-badge-warning, .brutal-button-warning, .brutal-badge-warning, .cyber-button-warning, .cyber-badge-warning, .y2k-button-warning, .y2k-badge-warning, .rg-button-warning, .rg-badge-warning, .luxe-button-warning, .luxe-badge-warning, .organic-button-warning, .organic-badge-warning, .utility-button-warning, .utility-badge-warning, .blueprint-button-warning, .blueprint-badge-warning, .deco-button-warning, .deco-badge-warning, .clay-button-warning, .clay-badge-warning, .terminal-button-warning, .terminal-badge-warning, .paper-button-warning, .paper-badge-warning, .noir-button-warning, .noir-badge-warning), [data-ui]:where([data-ui="y2k"])[data-mode] :where(.usk-button:where([data-ui-variant="warning"]),.usk-badge:where([data-ui-variant="warning"])), [data-ui]:where([data-ui="y2k"])[data-mode] :where(.ui-button:where([data-ui-variant="warning"]),.ui-badge:where([data-ui-variant="warning"])) {
|
|
4519
|
+
background: var(--usk-native-warning);
|
|
4520
|
+
color: var(--usk-native-on-warning);
|
|
4521
|
+
border-color: var(--usk-native-warning);
|
|
4522
|
+
text-shadow: none;
|
|
4523
|
+
}
|
|
4524
|
+
@media (prefers-reduced-motion: no-preference) {
|
|
4525
|
+
[data-ui][data-mode] :where(.saas-button-warning, .saas-badge-warning, .bento-button-warning, .bento-badge-warning, .max-button-warning, .max-badge-warning, .bau-button-warning, .bau-badge-warning, .tactile-button-warning, .tactile-badge-warning, .neo-button-warning, .neo-badge-warning, .retro-button-warning, .retro-badge-warning, .brutal-button-warning, .brutal-badge-warning, .cyber-button-warning, .cyber-badge-warning, .y2k-button-warning, .y2k-badge-warning, .rg-button-warning, .rg-badge-warning, .luxe-button-warning, .luxe-badge-warning, .organic-button-warning, .organic-badge-warning, .utility-button-warning, .utility-badge-warning, .blueprint-button-warning, .blueprint-badge-warning, .deco-button-warning, .deco-badge-warning, .clay-button-warning, .clay-badge-warning, .terminal-button-warning, .terminal-badge-warning, .paper-button-warning, .paper-badge-warning, .noir-button-warning, .noir-badge-warning), [data-ui]:where([data-ui="y2k"])[data-mode] :where(.usk-button:where([data-ui-variant="warning"]),.usk-badge:where([data-ui-variant="warning"])), [data-ui]:where([data-ui="y2k"])[data-mode] :where(.ui-button:where([data-ui-variant="warning"]),.ui-badge:where([data-ui-variant="warning"])) {
|
|
4526
|
+
animation: usk-warning-attention var(--usk-warning-attention-duration, 1.8s) ease-in-out infinite;
|
|
4527
|
+
}
|
|
4528
|
+
}
|
|
4529
|
+
@media (prefers-reduced-motion: reduce) {
|
|
4530
|
+
[data-ui][data-mode] :where(.saas-button-warning, .saas-badge-warning, .bento-button-warning, .bento-badge-warning, .max-button-warning, .max-badge-warning, .bau-button-warning, .bau-badge-warning, .tactile-button-warning, .tactile-badge-warning, .neo-button-warning, .neo-badge-warning, .retro-button-warning, .retro-badge-warning, .brutal-button-warning, .brutal-badge-warning, .cyber-button-warning, .cyber-badge-warning, .y2k-button-warning, .y2k-badge-warning, .rg-button-warning, .rg-badge-warning, .luxe-button-warning, .luxe-badge-warning, .organic-button-warning, .organic-badge-warning, .utility-button-warning, .utility-badge-warning, .blueprint-button-warning, .blueprint-badge-warning, .deco-button-warning, .deco-badge-warning, .clay-button-warning, .clay-badge-warning, .terminal-button-warning, .terminal-badge-warning, .paper-button-warning, .paper-badge-warning, .noir-button-warning, .noir-badge-warning), [data-ui]:where([data-ui="y2k"])[data-mode] :where(.usk-button:where([data-ui-variant="warning"]),.usk-badge:where([data-ui-variant="warning"])), [data-ui]:where([data-ui="y2k"])[data-mode] :where(.ui-button:where([data-ui-variant="warning"]),.ui-badge:where([data-ui-variant="warning"])) {
|
|
4531
|
+
animation: none;
|
|
4532
|
+
}
|
|
4533
|
+
}
|
|
4534
|
+
@keyframes usk-warning-attention {
|
|
4535
|
+
50% { filter: brightness(1.16); }
|
|
4536
|
+
}
|
|
4537
|
+
|
|
4248
4538
|
}
|
|
4249
4539
|
/* END GENERATED 2.2 PRESET COMPONENT FOUNDATIONS */
|
|
4250
4540
|
|
|
@@ -4300,6 +4590,26 @@
|
|
|
4300
4590
|
}
|
|
4301
4591
|
|
|
4302
4592
|
@layer ui-style-kit.clean_defaults {
|
|
4593
|
+
/** Inline hyperlinks and their labels must not inherit the control spacing floor. */
|
|
4594
|
+
[data-ui][data-mode] :where(a:not([class]), a[data-link-presentation="inline"], a[data-link-presentation="inline"] > .usk-link__label, a[data-link-presentation="inline"] > .usk-link__icon) {
|
|
4595
|
+
display: inline;
|
|
4596
|
+
min-block-size: 0;
|
|
4597
|
+
min-inline-size: 0;
|
|
4598
|
+
margin: 0;
|
|
4599
|
+
padding: 0;
|
|
4600
|
+
border: 0;
|
|
4601
|
+
border-radius: 0;
|
|
4602
|
+
background: transparent;
|
|
4603
|
+
box-shadow: none;
|
|
4604
|
+
}
|
|
4605
|
+
|
|
4606
|
+
/** Explicit control links preserve a wrapping, aligned action composition. */
|
|
4607
|
+
[data-ui][data-mode] :where(a[data-link-presentation="control"]) {
|
|
4608
|
+
display: inline-flex;
|
|
4609
|
+
align-items: center;
|
|
4610
|
+
gap: var(--usk-link-gap, .5rem);
|
|
4611
|
+
}
|
|
4612
|
+
|
|
4303
4613
|
/** Keeps semantic state paint paired when a preset also owns broad anchor or input rules. */
|
|
4304
4614
|
[data-ui][data-mode] :where(
|
|
4305
4615
|
[class~="usk-pagination-link"][aria-current="page"],
|
|
@@ -4803,7 +5113,7 @@
|
|
|
4803
5113
|
--usk-native-range-track-shadow: inset 0 3px #ffffff8c;
|
|
4804
5114
|
--usk-native-range-progress-background: var(--y2k-primary);
|
|
4805
5115
|
--usk-native-range-thumb-size: 1.55rem;
|
|
4806
|
-
--usk-native-range-thumb-background: var(--
|
|
5116
|
+
--usk-native-range-thumb-background: var(--usk-native-primary);
|
|
4807
5117
|
--usk-native-range-thumb-border: 1px solid var(--y2k-border);
|
|
4808
5118
|
--usk-native-range-thumb-radius: 50%;
|
|
4809
5119
|
--usk-native-range-thumb-shadow: inset 0 3px #ffffff8c;
|
|
@@ -5261,7 +5571,7 @@
|
|
|
5261
5571
|
background: var(--y2k-card-bg);
|
|
5262
5572
|
}
|
|
5263
5573
|
|
|
5264
|
-
.y2k-toolbar, .y2k-table-wrap, .y2k-button:not(.y2k-button-primary):not(.y2k-button-secondary):not(.y2k-button-danger):not(.y2k-button-warning):not(.y2k-button-ghost), .y2k-icon-button, :where([data-ui="y2k"]) .usk-toolbar, :where([data-ui="y2k"]) .usk-table-wrap, :where([data-ui="y2k"]) .usk-button:not(.usk-button:where([data-ui-variant="primary"])):not(.usk-button:where([data-ui-variant="secondary"])):not(.usk-button:where([data-ui-variant="danger"])):not(.usk-button:where([data-ui-variant="warning"])):not(.usk-button:where([data-ui-variant="ghost"])), :where([data-ui="y2k"]) .usk-icon-button, :where([data-ui="y2k"]) .ui-toolbar, :where([data-ui="y2k"]) .ui-table-wrap, :where([data-ui="y2k"]) .ui-button:not(.ui-button:where([data-ui-variant="primary"])):not(.ui-button:where([data-ui-variant="secondary"])):not(.ui-button:where([data-ui-variant="danger"])):not(.ui-button:where([data-ui-variant="warning"])):not(.ui-button:where([data-ui-variant="ghost"])), :where([data-ui="y2k"]) .ui-icon-button {
|
|
5574
|
+
.y2k-toolbar, .y2k-table-wrap, .y2k-button:where(:not([data-ui-variant])):not(.y2k-button-primary):not(.y2k-button-secondary):not(.y2k-button-danger):not(.y2k-button-warning):not(.y2k-button-ghost), .y2k-icon-button, :where([data-ui="y2k"]) .usk-toolbar, :where([data-ui="y2k"]) .usk-table-wrap, :where([data-ui="y2k"]) .usk-button:where(:not([data-ui-variant])):not(.usk-button:where([data-ui-variant="primary"])):not(.usk-button:where([data-ui-variant="secondary"])):not(.usk-button:where([data-ui-variant="danger"])):not(.usk-button:where([data-ui-variant="warning"])):not(.usk-button:where([data-ui-variant="ghost"])), :where([data-ui="y2k"]) .usk-icon-button, :where([data-ui="y2k"]) .ui-toolbar, :where([data-ui="y2k"]) .ui-table-wrap, :where([data-ui="y2k"]) .ui-button:where(:not([data-ui-variant])):not(.ui-button:where([data-ui-variant="primary"])):not(.ui-button:where([data-ui-variant="secondary"])):not(.ui-button:where([data-ui-variant="danger"])):not(.ui-button:where([data-ui-variant="warning"])):not(.ui-button:where([data-ui-variant="ghost"])), :where([data-ui="y2k"]) .ui-icon-button {
|
|
5265
5575
|
background: var(--y2k-control-bg);
|
|
5266
5576
|
}
|
|
5267
5577
|
|
|
@@ -5633,7 +5943,7 @@
|
|
|
5633
5943
|
--usk-native-range-track-shadow: inset 1px 1px 0 rgb(var(--y2k-text-rgb) / .28);
|
|
5634
5944
|
--usk-native-range-progress-background: repeating-linear-gradient(90deg, var(--y2k-primary) 0 .4rem, var(--y2k-surface) .4rem .48rem);
|
|
5635
5945
|
--usk-native-range-thumb-size: 1.12rem;
|
|
5636
|
-
--usk-native-range-thumb-background:
|
|
5946
|
+
--usk-native-range-thumb-background: var(--usk-native-primary);
|
|
5637
5947
|
--usk-native-range-thumb-border: 1px outset var(--y2k-border);
|
|
5638
5948
|
--usk-native-range-thumb-radius: 0;
|
|
5639
5949
|
--usk-native-range-thumb-shadow: 1px 1px 0 rgb(var(--y2k-text-rgb) / .24);
|
|
@@ -5904,7 +6214,7 @@
|
|
|
5904
6214
|
--usk-native-range-track-shadow: var(--y2k-bevel-recessed);
|
|
5905
6215
|
--usk-native-range-progress-background: repeating-linear-gradient(90deg, var(--y2k-primary) 0 .5rem, var(--y2k-surface) .5rem .5625rem);
|
|
5906
6216
|
--usk-native-range-thumb-size: .875rem;
|
|
5907
|
-
--usk-native-range-thumb-background: var(--
|
|
6217
|
+
--usk-native-range-thumb-background: var(--usk-native-primary);
|
|
5908
6218
|
--usk-native-range-thumb-border: 1px outset var(--y2k-border);
|
|
5909
6219
|
--usk-native-range-thumb-radius: 0;
|
|
5910
6220
|
--usk-native-range-thumb-shadow: var(--y2k-bevel-raised);
|
|
@@ -0,0 +1,154 @@
|
|
|
1
|
+
# Shared component spacing and structural composition
|
|
2
|
+
|
|
3
|
+
UI Style Kit owns component appearance and internal geometry. Layout Style CSS
|
|
4
|
+
owns page arrangement, measures, gutters and section rhythm. Interactive Surface
|
|
5
|
+
CSS owns state feedback. React exposes those contracts without another paint layer.
|
|
6
|
+
|
|
7
|
+
## Choose the existing owner
|
|
8
|
+
|
|
9
|
+
| Need | Public configuration |
|
|
10
|
+
| --- | --- |
|
|
11
|
+
| Paragraph hyperlink | A classless native anchor, or `data-link-presentation="inline"` on a classed anchor |
|
|
12
|
+
| Aligned navigation action | `data-link-presentation="control"`; use the navigation component for current-page semantics |
|
|
13
|
+
| Card content inset | `data-card-spacing="flush\|compact\|normal\|comfortable"` on `.usk-card` or `.ui-card` |
|
|
14
|
+
| Structural shell, article or aside | `data-ui-structure="neutral"` with the optional component-composition stylesheet |
|
|
15
|
+
| Wider content lane | Layout `.ly-wrapper--content`, `--wide`, `--workspace`, `--full` or `--breakout` |
|
|
16
|
+
| Screen gutter | Layout `--ly-wrapper-gutter`; the wrapper incorporates the device safe area |
|
|
17
|
+
| Section block spacing | Layout `.ly-section`, `--compact` or `--flush` |
|
|
18
|
+
| Centering or wrapping actions | Layout center/cluster primitives and their public alignment/gap options |
|
|
19
|
+
|
|
20
|
+
React candidates expose `Link presentation`, `Card spacing`, `Layout.Wrapper
|
|
21
|
+
measure`, and `Layout.Section spacing`. Undecorated Layout article/aside semantics
|
|
22
|
+
carry the neutral structural hook. Existing wrapper and section APIs require no
|
|
23
|
+
new Layout release.
|
|
24
|
+
|
|
25
|
+
## Inline links
|
|
26
|
+
|
|
27
|
+
```html
|
|
28
|
+
<p>Read <a href="/guide">the guide</a>, then continue.</p>
|
|
29
|
+
<a class="usk-link" data-link-presentation="inline" href="/guide">
|
|
30
|
+
<span class="usk-link__label">A long wrapping guide title</span>
|
|
31
|
+
</a>
|
|
32
|
+
```
|
|
33
|
+
|
|
34
|
+
The link and label have no independent margin, padding, border or control fill.
|
|
35
|
+
Focus and theme colors remain available. Omitting the presentation attribute on
|
|
36
|
+
an existing classed link retains its preset defaults. Control presentation adds
|
|
37
|
+
inline alignment and uses `--usk-link-gap`; it does not turn navigation into a
|
|
38
|
+
button action or replace the application's accessible name.
|
|
39
|
+
|
|
40
|
+
## Card density
|
|
41
|
+
|
|
42
|
+
```html
|
|
43
|
+
<div class="usk-card" data-card-spacing="comfortable">
|
|
44
|
+
<article data-ui-structure="neutral">Structural content inside one card.</article>
|
|
45
|
+
</div>
|
|
46
|
+
```
|
|
47
|
+
|
|
48
|
+
| Density | Default inset | Optional token |
|
|
49
|
+
| --- | --- | --- |
|
|
50
|
+
| flush | 0 | No inset |
|
|
51
|
+
| compact | .75rem | `--usk-card-padding-compact` |
|
|
52
|
+
| normal | 1rem | `--usk-card-padding-normal` |
|
|
53
|
+
| comfortable | `clamp(1.25rem, 2.5vw, 2rem)` | `--usk-card-padding-comfortable` |
|
|
54
|
+
|
|
55
|
+
Omitting density preserves the preset's card inset. Configure the density token
|
|
56
|
+
at an application boundary when product composition needs another measure;
|
|
57
|
+
avoid descendant `.usk-card` padding overrides. Compound card regions remain
|
|
58
|
+
available for media and content composition.
|
|
59
|
+
|
|
60
|
+
Native article/aside decoration remains the default. Neutral structure is an
|
|
61
|
+
explicit opt-in, so existing standalone semantic panels retain their appearance.
|
|
62
|
+
The same hook is available on div, main, section, header, footer and navigation
|
|
63
|
+
boundaries to prevent the element floor from accumulating through a nested shell.
|
|
64
|
+
Layout's later structural layer continues to own configured gutters and section
|
|
65
|
+
padding. React's neutral Layout article/aside treatment is automatic; other
|
|
66
|
+
neutral shell boundaries remain explicit native data attributes.
|
|
67
|
+
|
|
68
|
+
## Compact components and feedback
|
|
69
|
+
|
|
70
|
+
Empty-state symbols use `--usk-empty-state-icon-size` (default `2.75rem`) so
|
|
71
|
+
compact preset typography does not reduce the illustration to body-text size.
|
|
72
|
+
Chip, tab and segment frames use `--usk-compact-content-padding-block` (`.35rem`)
|
|
73
|
+
and `--usk-compact-content-padding-inline` (`.65rem`). Status badges use
|
|
74
|
+
`--usk-badge-padding-block` (`.22rem`) and `--usk-badge-padding-inline` (`.6rem`).
|
|
75
|
+
These are frame insets; compound labels and icons do not add another inset.
|
|
76
|
+
Popover, menu and listbox frames use `--usk-overlay-padding` (`.5rem`);
|
|
77
|
+
menu items and listbox options use `--usk-option-padding-block` (`.55rem`)
|
|
78
|
+
and `--usk-option-padding-inline` (`.7rem`) to keep their text clear of edges.
|
|
79
|
+
|
|
80
|
+
Progress tracks and fills do not inherit the element-spacing floor. Switch
|
|
81
|
+
thumbs use `--usk-switch-thumb-size` (`1.125rem`) and remain centered inside the
|
|
82
|
+
track at either end. Presets continue to supply their silhouettes and materials;
|
|
83
|
+
native slider thumbs use the preset's action color.
|
|
84
|
+
|
|
85
|
+
A toast with a direct title places that title above its content, across the full
|
|
86
|
+
available row. Title and body text wrap at word boundaries rather than splitting
|
|
87
|
+
letters into a narrow side column. The toast owns its content inset through
|
|
88
|
+
`--usk-toast-padding` (`1rem`). Page columns and the surrounding card layout remain
|
|
89
|
+
Layout Style CSS or application responsibilities.
|
|
90
|
+
|
|
91
|
+
Tooltip tone and placement are independent:
|
|
92
|
+
|
|
93
|
+
```html
|
|
94
|
+
<span class="usk-tooltip" data-ui-variant="primary" role="tooltip">Primary tip</span>
|
|
95
|
+
<span class="usk-tooltip" data-ui-variant="secondary" role="tooltip">Context cue</span>
|
|
96
|
+
<span class="usk-tooltip" data-ui-variant="accent" role="tooltip">Action hint</span>
|
|
97
|
+
```
|
|
98
|
+
|
|
99
|
+
Primary uses the paired action fill and ink. Secondary uses an outlined context
|
|
100
|
+
treatment, and accent uses a double edge and the paired accent colors. Existing
|
|
101
|
+
unqualified tooltips keep their preset defaults. Advanced prefixed markup can
|
|
102
|
+
combine, for example, `saas-tooltip saas-tooltip-right saas-tooltip-secondary`.
|
|
103
|
+
|
|
104
|
+
Secondary buttons use paired secondary fill and ink to remain distinct from ghost
|
|
105
|
+
actions. Warning buttons and badges use the warm warning palette and a slow
|
|
106
|
+
brightness pulse; text stays opaque. `--usk-warning-attention-duration` defaults
|
|
107
|
+
to `1.8s`. Reduced-motion users receive the static warm treatment. Disabled radios
|
|
108
|
+
use muted paint and a dashed edge; forced-color mode retains system colors.
|
|
109
|
+
|
|
110
|
+
These contracts are covered by `tests/e2e/demo-annotation-regressions.spec.js`.
|
|
111
|
+
|
|
112
|
+
Status messages retain success, warning and danger tints after preset material
|
|
113
|
+
rules. Titles and body copy use the same readable message ink. Status color
|
|
114
|
+
remains in the surface tint, leading edge and symbol; title hierarchy comes from
|
|
115
|
+
the preset's weight and typography. Small titles do not need text shadows or
|
|
116
|
+
outlines to compensate for a low-contrast foreground.
|
|
117
|
+
Browsers without `color-mix()` retain solid status fills with paired readable
|
|
118
|
+
foregrounds; the tinted treatment is a guarded enhancement.
|
|
119
|
+
|
|
120
|
+
Icon tiles pair their ink with the painted face, including inverted theme
|
|
121
|
+
materials and translucent plates. Metallic rims remain decorative around a
|
|
122
|
+
stable glyph surface. Busy indicators retain preset geometry while using visible
|
|
123
|
+
paint against the actual button face; palette accent fill alone is insufficient
|
|
124
|
+
for a small moving mark. The shared coverage is in
|
|
125
|
+
`tests/e2e/feedback-visibility.spec.js`.
|
|
126
|
+
|
|
127
|
+
Paper Editorial message symbols occupy a fixed 24px lane and stay centered
|
|
128
|
+
against the full message, including wrapped copy. Text and optional dismiss
|
|
129
|
+
buttons occupy separate grid columns. Native loader hooks must retain the active
|
|
130
|
+
preset's geometry, paint and animation, including decorative pseudo-elements.
|
|
131
|
+
These contracts are covered by `tests/e2e/feedback-layout.spec.js`.
|
|
132
|
+
|
|
133
|
+
## Migration and validation
|
|
134
|
+
|
|
135
|
+
The inline link and component-label fixes correct the global element spacing
|
|
136
|
+
floor. Optional component composition also owns modal auto margins, avatar
|
|
137
|
+
fallback centering and chip-label containment. Edge drawers retain their
|
|
138
|
+
placement contract. These contracts have focused browser regressions in
|
|
139
|
+
`tests/e2e/css-ownership-composition.spec.js`.
|
|
140
|
+
|
|
141
|
+
Consumer migrations must be checked against the exact packed candidate artifacts.
|
|
142
|
+
An unchanged published dependency pin does not mean these candidate contracts
|
|
143
|
+
are present in that installed release. Publish UI Style Kit before adopting the
|
|
144
|
+
React/consumer release pair; temporary tarball references belong only in ignored
|
|
145
|
+
integration fixtures.
|
|
146
|
+
|
|
147
|
+
## React variant attributes and prefixed classes
|
|
148
|
+
|
|
149
|
+
React buttons may combine a semantic class, a preset class and
|
|
150
|
+
`data-ui-variant`. Legacy neutral-only paint rules exclude attribute-selected
|
|
151
|
+
variants through `:where(:not([data-ui-variant]))`. This keeps their specificity
|
|
152
|
+
stable while allowing the selected primary, secondary, danger or ghost surface
|
|
153
|
+
to retain its paired foreground and decoration. The mixed-class regression
|
|
154
|
+
checks all presets, palettes, modes and pressed states.
|