@rcarls/rc-theme-material 0.0.0-next-20260921045401
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 +423 -0
- package/README.md +164 -0
- package/bridge.css +678 -0
- package/components/accordion.css +20 -0
- package/components/adaptive-menu.css +162 -0
- package/components/app-bar.css +100 -0
- package/components/bottom-sheet.css +135 -0
- package/components/button.css +270 -0
- package/components/card.css +61 -0
- package/components/carousel.css +23 -0
- package/components/chip-group.css +15 -0
- package/components/chip.css +39 -0
- package/components/combobox.css +155 -0
- package/components/dialog.css +86 -0
- package/components/disclosure.css +104 -0
- package/components/fab-menu.css +85 -0
- package/components/fab.css +51 -0
- package/components/field.css +378 -0
- package/components/icons.css +52 -0
- package/components/list-item.css +146 -0
- package/components/listbox.css +47 -0
- package/components/markdown-editor.css +72 -0
- package/components/menu-button.css +126 -0
- package/components/menu.css +147 -0
- package/components/menubar.css +27 -0
- package/components/modes.css +50 -0
- package/components/navigation-bar.css +76 -0
- package/components/navigation-rail.css +132 -0
- package/components/progress.css +15 -0
- package/components/range-slider.css +29 -0
- package/components/scroller.css +7 -0
- package/components/search-bar.css +58 -0
- package/components/segmented-button.css +19 -0
- package/components/select.css +197 -0
- package/components/slider.css +19 -0
- package/components/snackbar.css +23 -0
- package/components/splitter.css +35 -0
- package/components/switch.css +41 -0
- package/components/textarea.css +31 -0
- package/components/toolbar.css +32 -0
- package/components/transfer-list.css +70 -0
- package/components/virtual-canvas.css +16 -0
- package/components.css +42 -0
- package/constraints/material.json +99 -0
- package/defaults.css +1081 -0
- package/package.json +53 -0
- package/state-layer.css +35 -0
- package/theme.css +3 -0
|
@@ -0,0 +1,72 @@
|
|
|
1
|
+
@layer rc-theme-material.components {
|
|
2
|
+
:where(.rc-theme-material, :host(.rc-theme-material)) rc-markdown-editor {
|
|
3
|
+
--rc-markdown-editor-background: var(--md-sys-color-surface, Canvas);
|
|
4
|
+
--rc-markdown-editor-color: var(--md-sys-color-on-surface, CanvasText);
|
|
5
|
+
--rc-markdown-editor-border: 1px solid var(--md-sys-color-outline, ButtonBorder);
|
|
6
|
+
--rc-markdown-editor-border-radius: 0 0 var(--md-sys-shape-corner-small, 0.5rem)
|
|
7
|
+
var(--md-sys-shape-corner-small, 0.5rem);
|
|
8
|
+
--rc-markdown-editor-focus-outline: 2px solid var(--md-sys-color-primary, Highlight);
|
|
9
|
+
--rc-markdown-editor-padding: 1rem;
|
|
10
|
+
--rc-markdown-editor-toolbar-gap: 0.25rem;
|
|
11
|
+
--rc-markdown-editor-toolbar-button-size: 2.5rem;
|
|
12
|
+
--rc-markdown-editor-toolbar-padding: 0.25rem;
|
|
13
|
+
--rc-markdown-editor-toolbar-radius: var(--md-sys-shape-corner-small, 0.5rem)
|
|
14
|
+
var(--md-sys-shape-corner-small, 0.5rem) 0 0;
|
|
15
|
+
--rc-markdown-editor-toolbar-background: var(--md-sys-color-surface-container, Canvas);
|
|
16
|
+
--rc-markdown-editor-toolbar-color: var(--md-sys-color-on-surface, CanvasText);
|
|
17
|
+
--rc-markdown-editor-toolbar-border: 1px solid var(--md-sys-color-outline, ButtonBorder);
|
|
18
|
+
--rc-markdown-editor-toolbar-button-color: var(--md-sys-color-on-surface-variant, ButtonText);
|
|
19
|
+
--rc-markdown-editor-toolbar-button-border: 0;
|
|
20
|
+
--rc-markdown-editor-toolbar-button-radius: var(--md-sys-shape-corner-full, 999px);
|
|
21
|
+
--rc-markdown-editor-toolbar-button-active-background: var(
|
|
22
|
+
--md-sys-color-secondary-container,
|
|
23
|
+
Highlight
|
|
24
|
+
);
|
|
25
|
+
--rc-markdown-editor-toolbar-button-active-color: var(
|
|
26
|
+
--md-sys-color-on-secondary-container,
|
|
27
|
+
HighlightText
|
|
28
|
+
);
|
|
29
|
+
--rc-markdown-editor-toolbar-button-active-border: 0;
|
|
30
|
+
--rc-markdown-editor-toolbar-button-hover-opacity: var(
|
|
31
|
+
--md-sys-state-hover-state-layer-opacity,
|
|
32
|
+
0.08
|
|
33
|
+
);
|
|
34
|
+
--rc-markdown-editor-toolbar-button-focus-opacity: var(
|
|
35
|
+
--md-sys-state-focus-state-layer-opacity,
|
|
36
|
+
0.12
|
|
37
|
+
);
|
|
38
|
+
--rc-markdown-editor-toolbar-button-pressed-opacity: var(
|
|
39
|
+
--md-sys-state-pressed-state-layer-opacity,
|
|
40
|
+
0.12
|
|
41
|
+
);
|
|
42
|
+
--rc-markdown-editor-toolbar-focus-outline: 2px solid var(--md-sys-color-primary, Highlight);
|
|
43
|
+
--rc-markdown-editor-toolbar-focus-outline-offset: 1px;
|
|
44
|
+
--rc-markdown-editor-toolbar-select-background: var(
|
|
45
|
+
--md-sys-color-surface-container-highest,
|
|
46
|
+
Field
|
|
47
|
+
);
|
|
48
|
+
--rc-markdown-editor-toolbar-select-color: var(--md-sys-color-on-surface, FieldText);
|
|
49
|
+
--rc-markdown-editor-toolbar-select-border: 1px solid var(--md-sys-color-outline, ButtonBorder);
|
|
50
|
+
--rc-markdown-editor-toolbar-select-radius: var(--md-sys-shape-corner-extra-small, 0.25rem);
|
|
51
|
+
--rc-markdown-editor-toolbar-select-active-background: var(
|
|
52
|
+
--md-sys-color-secondary-container,
|
|
53
|
+
Highlight
|
|
54
|
+
);
|
|
55
|
+
--rc-markdown-editor-toolbar-select-active-color: var(
|
|
56
|
+
--md-sys-color-on-secondary-container,
|
|
57
|
+
HighlightText
|
|
58
|
+
);
|
|
59
|
+
--rc-markdown-editor-toolbar-select-active-border-color: var(--md-sys-color-primary, Highlight);
|
|
60
|
+
--rc-markdown-editor-toolbar-input-background: var(
|
|
61
|
+
--md-sys-color-surface-container-highest,
|
|
62
|
+
Field
|
|
63
|
+
);
|
|
64
|
+
--rc-markdown-editor-toolbar-input-color: var(--md-sys-color-on-surface, FieldText);
|
|
65
|
+
--rc-markdown-editor-toolbar-input-border: 1px solid var(--md-sys-color-outline, ButtonBorder);
|
|
66
|
+
--rc-markdown-editor-toolbar-input-radius: var(--md-sys-shape-corner-extra-small, 0.25rem);
|
|
67
|
+
}
|
|
68
|
+
|
|
69
|
+
:where(.rc-theme-material, :host(.rc-theme-material)) rc-markdown-editor::part(rich-view) {
|
|
70
|
+
font-family: var(--md-sys-typescale-body-large-font, inherit);
|
|
71
|
+
}
|
|
72
|
+
}
|
|
@@ -0,0 +1,126 @@
|
|
|
1
|
+
@layer rc-theme-material.components {
|
|
2
|
+
:where(.rc-theme-material, :host(.rc-theme-material)) rc-menu-button {
|
|
3
|
+
font-family: var(--md-sys-typescale-label-large-font, inherit);
|
|
4
|
+
font-size: var(--md-sys-typescale-label-large-size, 0.875rem);
|
|
5
|
+
font-weight: 500;
|
|
6
|
+
|
|
7
|
+
--rc-menu-button-trigger-border: 0;
|
|
8
|
+
--rc-menu-button-trigger-background: transparent;
|
|
9
|
+
--rc-menu-button-trigger-color: var(--md-sys-color-primary, ButtonText);
|
|
10
|
+
--rc-menu-button-trigger-transition:
|
|
11
|
+
background-color var(--rc-motion-effects-duration-fast, 150ms)
|
|
12
|
+
var(--rc-motion-effects-easing-fast, ease),
|
|
13
|
+
color var(--rc-motion-effects-duration-fast, 150ms) var(--rc-motion-effects-easing-fast, ease);
|
|
14
|
+
--rc-menu-button-trigger-hover-background: color-mix(
|
|
15
|
+
in srgb,
|
|
16
|
+
var(--md-sys-color-primary, Highlight) 8%,
|
|
17
|
+
transparent
|
|
18
|
+
);
|
|
19
|
+
--rc-menu-button-trigger-hover-color: var(--md-sys-color-primary, ButtonText);
|
|
20
|
+
--rc-menu-button-trigger-open-background: var(--md-sys-color-secondary-container, ButtonFace);
|
|
21
|
+
--rc-menu-button-trigger-open-color: var(--md-sys-color-on-secondary-container, ButtonText);
|
|
22
|
+
--rc-menu-button-indicator-size: 1.5rem;
|
|
23
|
+
--rc-menu-button-indicator-color: var(--md-sys-color-on-surface-variant, CanvasText);
|
|
24
|
+
}
|
|
25
|
+
|
|
26
|
+
/*
|
|
27
|
+
* MD3 "Small" icon button sizing (40dp square trigger / 24dp icon) for an
|
|
28
|
+
* icon-only rc-menu-button trigger — e.g. an app bar's overflow button.
|
|
29
|
+
* rc-menu-button's own touch-target affordance (min-inline/block-size
|
|
30
|
+
* 3rem on the trigger wrapper, plus the light-DOM hit-slop) makes up the
|
|
31
|
+
* difference to the 48dp minimum tap target on its own.
|
|
32
|
+
* https://m3.material.io/components/icon-buttons/specs
|
|
33
|
+
*/
|
|
34
|
+
:where(.rc-theme-material, :host(.rc-theme-material)) rc-menu-button[icon-only] {
|
|
35
|
+
--rc-menu-button-trigger-block-size: 2.5rem;
|
|
36
|
+
--rc-menu-button-trigger-padding-block: 0;
|
|
37
|
+
--rc-menu-button-trigger-padding-inline: 0;
|
|
38
|
+
--rc-menu-button-trigger-gap: 0;
|
|
39
|
+
--rc-menu-button-icon-size: 2.5rem;
|
|
40
|
+
}
|
|
41
|
+
|
|
42
|
+
/* Adaptive overflow keeps the authored menu label in the trigger, so the
|
|
43
|
+
shared label marker is the one direct child that is not icon content. */
|
|
44
|
+
:where(.rc-theme-material, :host(.rc-theme-material))
|
|
45
|
+
rc-menu-button[icon-only]
|
|
46
|
+
> [slot='trigger']
|
|
47
|
+
> :not([data-rc-menu-label]) {
|
|
48
|
+
font-size: var(--rc-icon-button-icon-font-size, 1.5rem);
|
|
49
|
+
line-height: var(--rc-icon-button-icon-font-size, 1.5rem) !important;
|
|
50
|
+
}
|
|
51
|
+
|
|
52
|
+
/*
|
|
53
|
+
* Narrow width: trims the trigger's inline size (32dp, the MD3 "Small"
|
|
54
|
+
* narrow-width spec value) without changing its height. Suits a dense
|
|
55
|
+
* context that already has an unambiguous, self-labeling icon and no
|
|
56
|
+
* neighbors it needs to align widths with — an app bar's trailing
|
|
57
|
+
* overflow trigger is the canonical case, so this also defaults the
|
|
58
|
+
* trailing-edge overlap token: (3rem default touch target - 2rem icon
|
|
59
|
+
* size) / 2, giving back exactly what the touch target would otherwise
|
|
60
|
+
* reserve past the visible trigger. Trailing-edge only, matching the
|
|
61
|
+
* "trailing overflow trigger" framing above -- see rc-button's own
|
|
62
|
+
* narrow-variant comment for why only one side defaults.
|
|
63
|
+
*/
|
|
64
|
+
:where(.rc-theme-material, :host(.rc-theme-material))
|
|
65
|
+
rc-menu-button.rc-menu-button--narrow[icon-only] {
|
|
66
|
+
--rc-menu-button-icon-size: 2rem;
|
|
67
|
+
--rc-menu-button-touch-target-overlap-inline-end: 0.5rem;
|
|
68
|
+
}
|
|
69
|
+
|
|
70
|
+
/*
|
|
71
|
+
* A submenu trigger (a cascading menu item that opens a nested rc-menu)
|
|
72
|
+
* is still an rc-menu-button underneath, but MD3 treats it as a menu row
|
|
73
|
+
* with a trailing disclosure chevron — not as its own standalone pill
|
|
74
|
+
* control. The base rule above (and rc-menu-button's own defaults) style
|
|
75
|
+
* it as the latter: a primary-colored, pill-shaped, independently-padded
|
|
76
|
+
* trigger, layered on top of whatever geometry rc-menu's own item CSS
|
|
77
|
+
* (menu.css / rc-base) tries to apply to the same element by virtue of
|
|
78
|
+
* its role="menuitem" — hence the mismatched shape and the icon sitting
|
|
79
|
+
* at a different inset than its sibling rows.
|
|
80
|
+
*
|
|
81
|
+
* The consumer marks this case the same way rc-menu itself expects a
|
|
82
|
+
* cascading item to be marked (role="menuitem" — see menu.css and
|
|
83
|
+
* rc-menu's own light-DOM CSS), so key every geometry/color token here
|
|
84
|
+
* off rc-menu's own item, hover, and active tokens (--rc-menu-item-...,
|
|
85
|
+
* --rc-menu-hover-..., --rc-menu-active-...) instead of hand-matching
|
|
86
|
+
* values that could drift out of sync with a sibling plain-button item
|
|
87
|
+
* later.
|
|
88
|
+
* https://m3.material.io/components/menus/specs
|
|
89
|
+
*/
|
|
90
|
+
:where(.rc-theme-material, :host(.rc-theme-material)) rc-menu-button[role='menuitem'] {
|
|
91
|
+
font-family: var(--md-sys-typescale-body-large-font, inherit);
|
|
92
|
+
font-size: var(--md-sys-typescale-body-large-size, 1rem);
|
|
93
|
+
font-weight: 400;
|
|
94
|
+
|
|
95
|
+
--rc-menu-button-trigger-block-size: var(--rc-menu-item-min-block-size, 3rem);
|
|
96
|
+
--rc-menu-button-trigger-padding-block: var(--rc-menu-item-padding-block, 0);
|
|
97
|
+
--rc-menu-button-trigger-padding-inline: var(--rc-menu-item-padding-inline, 0.75rem);
|
|
98
|
+
--rc-menu-button-trigger-gap: var(--rc-menu-item-gap, 0.75rem);
|
|
99
|
+
--rc-menu-button-trigger-radius: 0;
|
|
100
|
+
--rc-menu-button-trigger-border: 0;
|
|
101
|
+
--rc-menu-button-trigger-background: transparent;
|
|
102
|
+
--rc-menu-button-trigger-color: inherit;
|
|
103
|
+
--rc-menu-button-trigger-hover-background: var(--rc-menu-hover-bg);
|
|
104
|
+
--rc-menu-button-trigger-hover-color: var(--rc-menu-hover-color, inherit);
|
|
105
|
+
--rc-menu-button-trigger-open-background: var(--rc-menu-active-bg);
|
|
106
|
+
--rc-menu-button-trigger-open-color: var(--rc-menu-active-color, inherit);
|
|
107
|
+
}
|
|
108
|
+
|
|
109
|
+
/*
|
|
110
|
+
* rc-menu's own light-DOM CSS (rc-base, an even-higher-priority layer
|
|
111
|
+
* than this one — it's registered at custom-element-connect time,
|
|
112
|
+
* after every static stylesheet) matches *any* role="menuitem" element
|
|
113
|
+
* for its generic item padding, which includes this host itself, not
|
|
114
|
+
* just plain-button items. Left alone, that stacks on top of the
|
|
115
|
+
* trigger-inline padding bridged above: the host absorbs one
|
|
116
|
+
* --rc-menu-item-padding-inline, then the trigger button absorbs
|
|
117
|
+
* another, doubling the icon's inset versus a sibling row. The host
|
|
118
|
+
* itself isn't a visible surface — all padding belongs on the one
|
|
119
|
+
* real, visible trigger button — so it needs to contribute zero here,
|
|
120
|
+
* which (since rc-base doesn't mark its own padding !important) is
|
|
121
|
+
* only reachable with !important of our own.
|
|
122
|
+
*/
|
|
123
|
+
:where(.rc-theme-material, :host(.rc-theme-material)) rc-menu-button[role='menuitem'] {
|
|
124
|
+
padding-inline: 0 !important;
|
|
125
|
+
}
|
|
126
|
+
}
|
|
@@ -0,0 +1,147 @@
|
|
|
1
|
+
@layer rc-theme-material.components {
|
|
2
|
+
/* Container + token overrides ------------------------------------------- */
|
|
3
|
+
:where(.rc-theme-material, :host(.rc-theme-material)) rc-menu {
|
|
4
|
+
background: var(--md-menu-container-color, var(--md-sys-color-surface-container, Canvas));
|
|
5
|
+
border: none;
|
|
6
|
+
border-radius: var(--md-menu-container-shape, 4px);
|
|
7
|
+
box-shadow:
|
|
8
|
+
0 1px 2px rgba(0, 0, 0, 0.3),
|
|
9
|
+
0 2px 6px 2px rgba(0, 0, 0, 0.15);
|
|
10
|
+
padding-block: 0.5rem;
|
|
11
|
+
color: var(--md-sys-color-on-surface, CanvasText);
|
|
12
|
+
font-family: var(--md-sys-typescale-body-large-font, inherit);
|
|
13
|
+
font-size: var(--md-sys-typescale-body-large-size, 1rem);
|
|
14
|
+
line-height: var(--md-sys-typescale-body-large-line-height, 1.5rem);
|
|
15
|
+
|
|
16
|
+
/* Item geometry — M3 menu item: 48dp height, 12dp h-padding, 12dp gap */
|
|
17
|
+
--rc-menu-item-min-block-size: 3rem;
|
|
18
|
+
--rc-menu-item-padding-block: 0;
|
|
19
|
+
--rc-menu-item-padding-inline: 0.75rem;
|
|
20
|
+
--rc-menu-item-gap: 0.75rem;
|
|
21
|
+
--rc-menu-item-transition:
|
|
22
|
+
background-color var(--rc-motion-effects-duration-fast, 150ms)
|
|
23
|
+
var(--rc-motion-effects-easing-fast, ease),
|
|
24
|
+
color var(--rc-motion-effects-duration-fast, 150ms) var(--rc-motion-effects-easing-fast, ease);
|
|
25
|
+
|
|
26
|
+
/* State layers derived from on-surface (M3: 8% hover, 12% keyboard cursor) */
|
|
27
|
+
--rc-menu-hover-bg: color-mix(
|
|
28
|
+
in srgb,
|
|
29
|
+
var(--md-sys-color-on-surface, CanvasText) 8%,
|
|
30
|
+
transparent
|
|
31
|
+
);
|
|
32
|
+
--rc-menu-hover-color: var(--md-sys-color-on-surface, CanvasText);
|
|
33
|
+
--rc-menu-active-bg: color-mix(
|
|
34
|
+
in srgb,
|
|
35
|
+
var(--md-sys-color-on-surface, CanvasText) 12%,
|
|
36
|
+
transparent
|
|
37
|
+
);
|
|
38
|
+
--rc-menu-active-color: var(--md-sys-color-on-surface, CanvasText);
|
|
39
|
+
|
|
40
|
+
/* Check/radio indicator — M3 trailing indicator column is 24dp wide */
|
|
41
|
+
--rc-menu-check-size: 1.5rem;
|
|
42
|
+
--rc-menu-check-color: var(--md-sys-color-primary, Highlight);
|
|
43
|
+
|
|
44
|
+
/* Trailing shortcut labels (label-large) */
|
|
45
|
+
--rc-menu-shortcut-size: var(--md-sys-typescale-label-large-size, 0.875rem);
|
|
46
|
+
--rc-menu-shortcut-color: var(--md-sys-color-on-surface-variant, GrayText);
|
|
47
|
+
/* Dividers: outline-variant, full-width by default */
|
|
48
|
+
--rc-menu-separator-border: 1px solid var(--md-sys-color-outline-variant, ButtonBorder);
|
|
49
|
+
--rc-menu-separator-margin-block: 0.5rem;
|
|
50
|
+
|
|
51
|
+
/* Disabled: M3 uses 38% opacity on on-surface */
|
|
52
|
+
--rc-menu-disabled-color: var(--md-sys-color-on-surface, CanvasText);
|
|
53
|
+
--rc-menu-disabled-opacity: 0.38;
|
|
54
|
+
|
|
55
|
+
/* Section label color */
|
|
56
|
+
--rc-menu-group-label-color: var(--md-sys-color-on-surface-variant, GrayText);
|
|
57
|
+
}
|
|
58
|
+
|
|
59
|
+
/* M3 uses the state-layer cursor, not a container focus ring ------------- */
|
|
60
|
+
:where(.rc-theme-material, :host(.rc-theme-material)) rc-menu:focus-visible {
|
|
61
|
+
outline: none;
|
|
62
|
+
}
|
|
63
|
+
|
|
64
|
+
/*
|
|
65
|
+
* M3 baseline menu items are rectangular full-width rows (unlike a
|
|
66
|
+
* standalone rc-button, which is a pill) — rc-menu's own structural CSS
|
|
67
|
+
* intentionally leaves shape undecided (it's a themed concern), so claim
|
|
68
|
+
* it explicitly here rather than leaving items to whatever shape a
|
|
69
|
+
* consumer's own incidental button styling might otherwise supply.
|
|
70
|
+
*/
|
|
71
|
+
:where(.rc-theme-material, :host(.rc-theme-material))
|
|
72
|
+
rc-menu
|
|
73
|
+
:is([role='menuitem'], [role='menuitemcheckbox'], [role='menuitemradio']) {
|
|
74
|
+
border-radius: 0;
|
|
75
|
+
}
|
|
76
|
+
|
|
77
|
+
/*
|
|
78
|
+
* Sizes an item's own leading icon to the M3 menu leading-icon size.
|
|
79
|
+
* Unlike an icon-only rc-button, a menu item routinely combines an icon
|
|
80
|
+
* *and* a label (they aren't mutually exclusive), so "first child" isn't
|
|
81
|
+
* a safe stand-in for "the icon" here the way it is there — this only
|
|
82
|
+
* sizes content the consumer has actually marked as an icon.
|
|
83
|
+
*/
|
|
84
|
+
:where(.rc-theme-material, :host(.rc-theme-material))
|
|
85
|
+
rc-menu
|
|
86
|
+
:is([role='menuitem'], [role='menuitemcheckbox'], [role='menuitemradio'])
|
|
87
|
+
:is([data-rc-icon], [data-rc-menu-leading], [data-rc-menu-icon]) {
|
|
88
|
+
flex: none;
|
|
89
|
+
font-size: 1.5rem;
|
|
90
|
+
line-height: 1.5rem;
|
|
91
|
+
}
|
|
92
|
+
|
|
93
|
+
/* Current item (navigation active / selected radio row) gets secondary-container */
|
|
94
|
+
:where(.rc-theme-material, :host(.rc-theme-material)) rc-menu [aria-current='true'] {
|
|
95
|
+
background: var(--md-sys-color-secondary-container, Highlight);
|
|
96
|
+
color: var(--md-sys-color-on-secondary-container, HighlightText);
|
|
97
|
+
}
|
|
98
|
+
|
|
99
|
+
/* M3 single-choice menus use the same trailing check affordance as other
|
|
100
|
+
* selected menu rows; role=menuitemradio continues to carry semantics. */
|
|
101
|
+
:where(.rc-theme-material, :host(.rc-theme-material))
|
|
102
|
+
rc-menu
|
|
103
|
+
[role='menuitemradio'][aria-checked='true']::after {
|
|
104
|
+
content: '✓';
|
|
105
|
+
}
|
|
106
|
+
|
|
107
|
+
/* Section / group labels (optional, for menu segmentation) -------------- */
|
|
108
|
+
/* Add [data-group-label] as first child of role="group" for a visible heading. */
|
|
109
|
+
:where(.rc-theme-material, :host(.rc-theme-material)) rc-menu [data-group-label] {
|
|
110
|
+
padding-block-start: 0.75rem;
|
|
111
|
+
padding-block-end: 0.25rem;
|
|
112
|
+
font-family: var(--md-sys-typescale-label-small-font, inherit);
|
|
113
|
+
font-size: var(--md-sys-typescale-label-small-size, 0.6875rem);
|
|
114
|
+
font-weight: var(--md-sys-typescale-label-small-weight, 500);
|
|
115
|
+
letter-spacing: 0.05em;
|
|
116
|
+
text-transform: uppercase;
|
|
117
|
+
}
|
|
118
|
+
|
|
119
|
+
/* Inset dividers within groups ------------------------------------------ */
|
|
120
|
+
/* Separators inside role="group" are inset by the item padding on both sides.
|
|
121
|
+
This matches the M3 spec for grouped menus (e.g. radio group segments). */
|
|
122
|
+
:where(.rc-theme-material, :host(.rc-theme-material)) rc-menu [role='group'] > hr,
|
|
123
|
+
:where(.rc-theme-material, :host(.rc-theme-material))
|
|
124
|
+
rc-menu
|
|
125
|
+
[role='group']
|
|
126
|
+
> [role='separator'] {
|
|
127
|
+
--rc-menu-separator-margin-inline: var(--rc-menu-item-padding-inline, 0.75rem);
|
|
128
|
+
}
|
|
129
|
+
}
|
|
130
|
+
|
|
131
|
+
/*
|
|
132
|
+
* Theming notes for rc-menu-button variants:
|
|
133
|
+
*
|
|
134
|
+
* The trigger button in rc-menu-button is already styled via
|
|
135
|
+
* rc-theme-material/components/menu-button.css. If you need a different
|
|
136
|
+
* trigger surface (filled, tonal, outlined) wrap the trigger <button> in
|
|
137
|
+
* the appropriate M3 button variant class rather than overriding menu.css.
|
|
138
|
+
*
|
|
139
|
+
* For a plain/text trigger (the default), the existing menu-button.css
|
|
140
|
+
* sets primary-colored text with an 8% hover state layer.
|
|
141
|
+
*
|
|
142
|
+
* For an outlined variant:
|
|
143
|
+
* rc-menu-button > [slot='trigger'] { border: 1px solid var(--md-sys-color-outline); }
|
|
144
|
+
*
|
|
145
|
+
* For a filled variant:
|
|
146
|
+
* rc-menu-button > [slot='trigger'] { background: var(--md-sys-color-primary); color: var(--md-sys-color-on-primary); }
|
|
147
|
+
*/
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
@layer rc-theme-material.components {
|
|
2
|
+
:where(.rc-theme-material, :host(.rc-theme-material)) rc-menubar::part(root) {
|
|
3
|
+
box-shadow: var(--rc-shadow-level0, none);
|
|
4
|
+
}
|
|
5
|
+
|
|
6
|
+
:where(.rc-theme-material, :host(.rc-theme-material)) rc-menubar {
|
|
7
|
+
--rc-menubar-item-block-size: 2.5rem;
|
|
8
|
+
--rc-menubar-item-padding-block: 0.5rem;
|
|
9
|
+
--rc-menubar-item-padding-inline: 1rem;
|
|
10
|
+
--rc-menubar-item-border: 0;
|
|
11
|
+
--rc-menubar-item-radius: var(--md-sys-shape-corner-full, 999px);
|
|
12
|
+
--rc-menubar-item-background: transparent;
|
|
13
|
+
--rc-menubar-item-color: var(--md-sys-color-primary, CanvasText);
|
|
14
|
+
--rc-menubar-item-transition:
|
|
15
|
+
background-color var(--rc-motion-effects-duration-fast, 150ms)
|
|
16
|
+
var(--rc-motion-effects-easing-fast, ease),
|
|
17
|
+
color var(--rc-motion-effects-duration-fast, 150ms) var(--rc-motion-effects-easing-fast, ease);
|
|
18
|
+
--rc-menubar-item-hover-background: color-mix(
|
|
19
|
+
in srgb,
|
|
20
|
+
var(--md-sys-color-primary, Highlight) 8%,
|
|
21
|
+
transparent
|
|
22
|
+
);
|
|
23
|
+
--rc-menubar-item-hover-color: var(--md-sys-color-primary, CanvasText);
|
|
24
|
+
--rc-menubar-item-open-background: var(--md-sys-color-secondary-container, ButtonFace);
|
|
25
|
+
--rc-menubar-item-open-color: var(--md-sys-color-on-secondary-container, ButtonText);
|
|
26
|
+
}
|
|
27
|
+
}
|
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
@layer rc-theme-material.components {
|
|
2
|
+
/*
|
|
3
|
+
* The vestibular harm reduced motion guards against is movement across the
|
|
4
|
+
* visual field: a cross-fade or a color change doesn't trigger it, so
|
|
5
|
+
* removing every transition (the previous *, !important sweep) over-
|
|
6
|
+
* corrected, and it also silently removed the ones that aid comprehension.
|
|
7
|
+
* Spatial motion still goes to zero; effects motion is kept but shortened,
|
|
8
|
+
* which the spatial/effects split makes expressible for the first time.
|
|
9
|
+
* Values are read as custom properties rather than reasserted with
|
|
10
|
+
* !important, so this only reaches whatever already consumes the shared
|
|
11
|
+
* motion tokens or the Material duration primitives. Components that
|
|
12
|
+
* still handle prefers-reduced-motion with their own blunt sweep are
|
|
13
|
+
* refined in their own component styles; this file no longer
|
|
14
|
+
* compensates for that with a second, theme-wide !important override.
|
|
15
|
+
*/
|
|
16
|
+
@media (prefers-reduced-motion: reduce) {
|
|
17
|
+
:where(.rc-theme-material, :host(.rc-theme-material)) {
|
|
18
|
+
--rc-motion-spatial-duration-fast: 0ms;
|
|
19
|
+
--rc-motion-spatial-duration-default: 0ms;
|
|
20
|
+
--rc-motion-spatial-duration-slow: 0ms;
|
|
21
|
+
--rc-motion-effects-duration-fast: 50ms;
|
|
22
|
+
--rc-motion-effects-duration-default: 70ms;
|
|
23
|
+
--rc-motion-effects-duration-slow: 100ms;
|
|
24
|
+
--rc-motion-duration: var(--rc-motion-effects-duration-default);
|
|
25
|
+
}
|
|
26
|
+
}
|
|
27
|
+
|
|
28
|
+
@media (forced-colors: active) {
|
|
29
|
+
:where(.rc-theme-material, :host(.rc-theme-material))
|
|
30
|
+
:is(
|
|
31
|
+
rc-select,
|
|
32
|
+
rc-combobox,
|
|
33
|
+
rc-search-bar,
|
|
34
|
+
rc-textarea,
|
|
35
|
+
rc-markdown-editor,
|
|
36
|
+
rc-menu,
|
|
37
|
+
rc-menubar,
|
|
38
|
+
rc-toolbar,
|
|
39
|
+
rc-dialog > dialog
|
|
40
|
+
) {
|
|
41
|
+
forced-color-adjust: auto;
|
|
42
|
+
box-shadow: none;
|
|
43
|
+
}
|
|
44
|
+
|
|
45
|
+
:where(.rc-theme-material, :host(.rc-theme-material))
|
|
46
|
+
:is(button, [role='button'], [role^='menuitem']):focus-visible {
|
|
47
|
+
outline: 2px solid Highlight;
|
|
48
|
+
}
|
|
49
|
+
}
|
|
50
|
+
}
|
|
@@ -0,0 +1,76 @@
|
|
|
1
|
+
@layer rc-theme-material.components {
|
|
2
|
+
:where(.rc-theme-material, :host(.rc-theme-material)) rc-navigation-bar {
|
|
3
|
+
--rc-navigation-bar-bg: var(--md-sys-color-surface-container, Canvas);
|
|
4
|
+
--rc-navigation-bar-color: var(--md-sys-color-on-surface-variant, CanvasText);
|
|
5
|
+
--rc-navigation-bar-block-size: calc(5rem + env(safe-area-inset-bottom, 0px));
|
|
6
|
+
--rc-navigation-bar-padding-block: 0 0;
|
|
7
|
+
--rc-navigation-bar-padding-inline: 0;
|
|
8
|
+
--rc-navigation-bar-item-min-block-size: 5rem;
|
|
9
|
+
--rc-navigation-bar-item-padding-block: 0.75rem 1rem;
|
|
10
|
+
--rc-navigation-bar-item-padding-inline: 0.75rem;
|
|
11
|
+
--rc-navigation-bar-item-gap: 0.25rem;
|
|
12
|
+
--rc-navigation-bar-item-color: var(--md-sys-color-on-surface-variant, CanvasText);
|
|
13
|
+
--rc-navigation-bar-item-text-decoration: none;
|
|
14
|
+
--rc-navigation-bar-active-color: var(--md-sys-color-on-surface, CanvasText);
|
|
15
|
+
--rc-navigation-bar-indicator-bg: var(--md-sys-color-secondary-container, Highlight);
|
|
16
|
+
--rc-navigation-bar-indicator-border: 0;
|
|
17
|
+
--rc-navigation-bar-indicator-radius: var(--md-sys-shape-corner-full, 9999px);
|
|
18
|
+
/* The indicator resizes to the selected item's box, which is spatial motion. */
|
|
19
|
+
--rc-navigation-bar-indicator-duration: var(--rc-motion-spatial-duration-fast, 300ms);
|
|
20
|
+
--rc-navigation-bar-indicator-easing: var(--rc-motion-spatial-easing-fast, ease);
|
|
21
|
+
--rc-icon-font-line-height: 2rem;
|
|
22
|
+
--rc-navigation-bar-focus-ring: 2px solid var(--md-sys-color-primary, Highlight);
|
|
23
|
+
--rc-navigation-bar-focus-ring-offset: 2px;
|
|
24
|
+
padding-block-end: env(safe-area-inset-bottom, 0px);
|
|
25
|
+
}
|
|
26
|
+
|
|
27
|
+
:where(.rc-theme-material, :host(.rc-theme-material)) rc-navigation-bar > a {
|
|
28
|
+
font-family: var(--md-sys-typescale-label-medium-font, inherit);
|
|
29
|
+
font-size: var(--md-sys-typescale-label-medium-size, 0.75rem);
|
|
30
|
+
font-weight: var(--md-sys-typescale-label-medium-weight, 500);
|
|
31
|
+
line-height: var(--md-sys-typescale-label-medium-line-height, 1rem);
|
|
32
|
+
letter-spacing: var(--md-sys-typescale-label-medium-tracking, 0.03125rem);
|
|
33
|
+
}
|
|
34
|
+
|
|
35
|
+
:where(.rc-theme-material, :host(.rc-theme-material))
|
|
36
|
+
rc-navigation-bar
|
|
37
|
+
> a
|
|
38
|
+
:where([data-rc-navigation-icon], [data-rc-navigation-indicator]) {
|
|
39
|
+
display: inline-grid;
|
|
40
|
+
place-items: center;
|
|
41
|
+
inline-size: 4rem;
|
|
42
|
+
block-size: 2rem;
|
|
43
|
+
border-radius: var(--md-sys-shape-corner-full, 9999px);
|
|
44
|
+
}
|
|
45
|
+
|
|
46
|
+
:where(.rc-theme-material, :host(.rc-theme-material))
|
|
47
|
+
rc-navigation-bar
|
|
48
|
+
> a:hover
|
|
49
|
+
:where([data-rc-navigation-icon], [data-rc-navigation-indicator]) {
|
|
50
|
+
background: color-mix(
|
|
51
|
+
in srgb,
|
|
52
|
+
var(--md-sys-color-on-surface, CanvasText)
|
|
53
|
+
calc(var(--md-sys-state-hover-state-layer-opacity, 0.08) * 100%),
|
|
54
|
+
transparent
|
|
55
|
+
);
|
|
56
|
+
}
|
|
57
|
+
|
|
58
|
+
:where(.rc-theme-material, :host(.rc-theme-material))
|
|
59
|
+
rc-navigation-bar
|
|
60
|
+
> a:active
|
|
61
|
+
:where([data-rc-navigation-icon], [data-rc-navigation-indicator]) {
|
|
62
|
+
background: color-mix(
|
|
63
|
+
in srgb,
|
|
64
|
+
var(--md-sys-color-on-surface, CanvasText)
|
|
65
|
+
calc(var(--md-sys-state-pressed-state-layer-opacity, 0.12) * 100%),
|
|
66
|
+
transparent
|
|
67
|
+
);
|
|
68
|
+
}
|
|
69
|
+
|
|
70
|
+
:where(.rc-theme-material, :host(.rc-theme-material))
|
|
71
|
+
rc-navigation-bar
|
|
72
|
+
> a[aria-current]:not([aria-current='false'])
|
|
73
|
+
:where([data-rc-navigation-icon], [data-rc-navigation-indicator]) {
|
|
74
|
+
color: var(--md-sys-color-on-secondary-container, CanvasText);
|
|
75
|
+
}
|
|
76
|
+
}
|
|
@@ -0,0 +1,132 @@
|
|
|
1
|
+
@layer rc-theme-material.components {
|
|
2
|
+
:where(.rc-theme-material, :host(.rc-theme-material)) rc-navigation-rail {
|
|
3
|
+
--rc-navigation-rail-bg: var(--md-sys-color-surface, Canvas);
|
|
4
|
+
--rc-navigation-rail-color: var(--md-sys-color-on-surface-variant, CanvasText);
|
|
5
|
+
--rc-navigation-rail-inline-size: 5rem;
|
|
6
|
+
--rc-navigation-rail-expanded-inline-size: 16rem;
|
|
7
|
+
--rc-navigation-rail-padding-block: 0.75rem;
|
|
8
|
+
--rc-navigation-rail-padding-inline: 0.5rem;
|
|
9
|
+
--rc-navigation-rail-gap: 1rem;
|
|
10
|
+
--rc-navigation-rail-item-gap: 0.75rem;
|
|
11
|
+
--rc-navigation-rail-item-min-block-size: 3.5rem;
|
|
12
|
+
--rc-navigation-rail-expanded-item-min-block-size: 3.5rem;
|
|
13
|
+
--rc-navigation-rail-item-padding-inline: 0.5rem;
|
|
14
|
+
--rc-navigation-rail-expanded-item-padding-inline: var(
|
|
15
|
+
--rc-navigation-rail-item-padding-inline
|
|
16
|
+
);
|
|
17
|
+
--rc-navigation-rail-item-color: var(--md-sys-color-on-surface-variant, CanvasText);
|
|
18
|
+
--rc-navigation-rail-item-text-decoration: none;
|
|
19
|
+
--rc-navigation-rail-active-color: var(--md-sys-color-on-surface, CanvasText);
|
|
20
|
+
--rc-navigation-rail-indicator-bg: var(--md-sys-color-secondary-container, Highlight);
|
|
21
|
+
--rc-navigation-rail-indicator-border: 0;
|
|
22
|
+
--rc-navigation-rail-indicator-radius: var(--md-sys-shape-corner-full, 9999px);
|
|
23
|
+
--rc-navigation-rail-toggle-size: 3rem;
|
|
24
|
+
--rc-navigation-rail-toggle-inline-offset: 1rem;
|
|
25
|
+
--rc-navigation-rail-duration: var(--rc-motion-spatial-duration-fast, 300ms);
|
|
26
|
+
--rc-navigation-rail-easing: var(--rc-motion-spatial-easing-fast, ease);
|
|
27
|
+
/* The indicator resizes to the selected item's box, which is spatial motion. */
|
|
28
|
+
--rc-navigation-rail-indicator-duration: var(--rc-motion-spatial-duration-fast, 300ms);
|
|
29
|
+
--rc-navigation-rail-indicator-easing: var(--rc-motion-spatial-easing-fast, ease);
|
|
30
|
+
--rc-icon-font-line-height: 2rem;
|
|
31
|
+
--rc-navigation-rail-focus-ring: 2px solid var(--md-sys-color-primary, Highlight);
|
|
32
|
+
--rc-navigation-rail-focus-ring-offset: 2px;
|
|
33
|
+
}
|
|
34
|
+
|
|
35
|
+
:where(.rc-theme-material, :host(.rc-theme-material)) rc-navigation-rail > rc-fab[slot='header'] {
|
|
36
|
+
--rc-fab-shadow: none;
|
|
37
|
+
--rc-fab-shadow-hover: none;
|
|
38
|
+
--rc-fab-shadow-active: none;
|
|
39
|
+
}
|
|
40
|
+
|
|
41
|
+
:where(.rc-theme-material, :host(.rc-theme-material)) rc-navigation-rail > a {
|
|
42
|
+
align-items: flex-start;
|
|
43
|
+
inline-size: 100%;
|
|
44
|
+
font-family: var(--md-sys-typescale-label-medium-font, inherit);
|
|
45
|
+
font-size: var(--md-sys-typescale-label-medium-size, 0.75rem);
|
|
46
|
+
font-weight: var(--md-sys-typescale-label-medium-weight, 500);
|
|
47
|
+
line-height: var(--md-sys-typescale-label-medium-line-height, 1rem);
|
|
48
|
+
letter-spacing: var(--md-sys-typescale-label-medium-tracking, 0.03125rem);
|
|
49
|
+
}
|
|
50
|
+
|
|
51
|
+
:where(.rc-theme-material, :host(.rc-theme-material)) rc-navigation-rail[expanded] > a {
|
|
52
|
+
font-family: var(--md-sys-typescale-label-large-font, inherit);
|
|
53
|
+
font-size: var(--md-sys-typescale-label-large-size, 0.875rem);
|
|
54
|
+
font-weight: var(--md-sys-typescale-label-large-weight, 500);
|
|
55
|
+
line-height: var(--md-sys-typescale-label-large-line-height, 1.25rem);
|
|
56
|
+
letter-spacing: var(--md-sys-typescale-label-large-tracking, 0.00625rem);
|
|
57
|
+
}
|
|
58
|
+
|
|
59
|
+
:where(.rc-theme-material, :host(.rc-theme-material))
|
|
60
|
+
rc-navigation-rail
|
|
61
|
+
> a
|
|
62
|
+
> :where([data-rc-navigation-icon], [data-rc-navigation-indicator]) {
|
|
63
|
+
display: inline-grid;
|
|
64
|
+
place-items: center;
|
|
65
|
+
inline-size: 3.5rem;
|
|
66
|
+
block-size: 2rem;
|
|
67
|
+
border-radius: var(--md-sys-shape-corner-full, 9999px);
|
|
68
|
+
}
|
|
69
|
+
|
|
70
|
+
:where(.rc-theme-material, :host(.rc-theme-material))
|
|
71
|
+
rc-navigation-rail[expanded]
|
|
72
|
+
> a
|
|
73
|
+
> :where([data-rc-navigation-icon], [data-rc-navigation-indicator]) {
|
|
74
|
+
display: inline-flex;
|
|
75
|
+
justify-content: flex-start;
|
|
76
|
+
gap: 0.75rem;
|
|
77
|
+
inline-size: 100%;
|
|
78
|
+
block-size: 3.5rem;
|
|
79
|
+
padding-inline: 1rem;
|
|
80
|
+
box-sizing: border-box;
|
|
81
|
+
text-align: start;
|
|
82
|
+
}
|
|
83
|
+
|
|
84
|
+
/*
|
|
85
|
+
* MD3 collapsed items keep a fixed-size pill behind the icon only; the
|
|
86
|
+
* caption label renders below it, detached from the pill's own box.
|
|
87
|
+
*/
|
|
88
|
+
:where(.rc-theme-material, :host(.rc-theme-material))
|
|
89
|
+
rc-navigation-rail:not([expanded])
|
|
90
|
+
> a
|
|
91
|
+
> [data-rc-navigation-indicator]
|
|
92
|
+
> :not([data-rc-navigation-icon]) {
|
|
93
|
+
position: absolute;
|
|
94
|
+
inset-block-start: calc(100% + var(--rc-navigation-rail-link-gap, 0.25rem));
|
|
95
|
+
inset-inline-start: 50%;
|
|
96
|
+
inline-size: max-content;
|
|
97
|
+
font-size: var(--md-sys-typescale-label-medium-size, 0.75rem);
|
|
98
|
+
line-height: var(--md-sys-typescale-label-medium-line-height, 1rem);
|
|
99
|
+
translate: -50% 0;
|
|
100
|
+
}
|
|
101
|
+
|
|
102
|
+
:where(.rc-theme-material, :host(.rc-theme-material))
|
|
103
|
+
rc-navigation-rail
|
|
104
|
+
> a:hover
|
|
105
|
+
> :where([data-rc-navigation-icon], [data-rc-navigation-indicator]) {
|
|
106
|
+
background: color-mix(
|
|
107
|
+
in srgb,
|
|
108
|
+
var(--md-sys-color-on-surface, CanvasText)
|
|
109
|
+
calc(var(--md-sys-state-hover-state-layer-opacity, 0.08) * 100%),
|
|
110
|
+
transparent
|
|
111
|
+
);
|
|
112
|
+
}
|
|
113
|
+
|
|
114
|
+
:where(.rc-theme-material, :host(.rc-theme-material))
|
|
115
|
+
rc-navigation-rail
|
|
116
|
+
> a:active
|
|
117
|
+
> :where([data-rc-navigation-icon], [data-rc-navigation-indicator]) {
|
|
118
|
+
background: color-mix(
|
|
119
|
+
in srgb,
|
|
120
|
+
var(--md-sys-color-on-surface, CanvasText)
|
|
121
|
+
calc(var(--md-sys-state-pressed-state-layer-opacity, 0.12) * 100%),
|
|
122
|
+
transparent
|
|
123
|
+
);
|
|
124
|
+
}
|
|
125
|
+
|
|
126
|
+
:where(.rc-theme-material, :host(.rc-theme-material))
|
|
127
|
+
rc-navigation-rail
|
|
128
|
+
> a[aria-current]:not([aria-current='false'])
|
|
129
|
+
> :where([data-rc-navigation-icon], [data-rc-navigation-indicator]) {
|
|
130
|
+
color: var(--md-sys-color-on-secondary-container, CanvasText);
|
|
131
|
+
}
|
|
132
|
+
}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
@layer rc-theme-material.components {
|
|
2
|
+
:where(.rc-theme-material, :host(.rc-theme-material)) rc-progress::part(value-display) {
|
|
3
|
+
color: var(--md-sys-color-on-surface-variant, GrayText);
|
|
4
|
+
font-size: var(--md-sys-typescale-label-small-size, 0.75rem);
|
|
5
|
+
}
|
|
6
|
+
|
|
7
|
+
:where(.rc-theme-material, :host(.rc-theme-material)) rc-progress[disabled] {
|
|
8
|
+
opacity: var(--md-sys-state-disabled-state-layer-opacity, 0.38);
|
|
9
|
+
}
|
|
10
|
+
|
|
11
|
+
:where(.rc-theme-material, :host(.rc-theme-material)) rc-progress {
|
|
12
|
+
--rc-progress-fill-transition-duration: var(--rc-motion-effects-duration-fast, 150ms);
|
|
13
|
+
--rc-progress-fill-transition-easing: var(--rc-motion-effects-easing-fast, ease-out);
|
|
14
|
+
}
|
|
15
|
+
}
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
@layer rc-theme-material.components {
|
|
2
|
+
:where(.rc-theme-material, :host(.rc-theme-material)) rc-range-slider::part(thumb) {
|
|
3
|
+
border-width: 0;
|
|
4
|
+
border-radius: var(--md-sys-shape-corner-full, 999px);
|
|
5
|
+
box-shadow: 0 0 0 0 transparent;
|
|
6
|
+
transition:
|
|
7
|
+
box-shadow var(--rc-motion-effects-duration-fast, 150ms)
|
|
8
|
+
var(--rc-motion-effects-easing-fast, ease),
|
|
9
|
+
scale var(--rc-motion-spatial-duration-fast, 300ms) var(--rc-motion-spatial-easing-fast, ease);
|
|
10
|
+
}
|
|
11
|
+
|
|
12
|
+
:where(.rc-theme-material, :host(.rc-theme-material)) rc-range-slider::part(thumb):hover {
|
|
13
|
+
box-shadow: 0 0 0 0.5rem
|
|
14
|
+
color-mix(in srgb, var(--md-sys-color-primary, Highlight) 8%, transparent);
|
|
15
|
+
}
|
|
16
|
+
|
|
17
|
+
:where(.rc-theme-material, :host(.rc-theme-material)) rc-range-slider::part(thumb):active {
|
|
18
|
+
box-shadow: 0 0 0 0.625rem
|
|
19
|
+
color-mix(in srgb, var(--md-sys-color-primary, Highlight) 12%, transparent);
|
|
20
|
+
scale: 0.9;
|
|
21
|
+
}
|
|
22
|
+
|
|
23
|
+
:where(.rc-theme-material, :host(.rc-theme-material)) rc-range-slider::part(value-display) {
|
|
24
|
+
padding: 0.25rem 0.5rem;
|
|
25
|
+
border-radius: var(--md-sys-shape-corner-extra-small, 0.25rem);
|
|
26
|
+
background: var(--md-sys-color-inverse-surface, var(--md-sys-color-on-surface, CanvasText));
|
|
27
|
+
color: var(--md-sys-color-inverse-on-surface, var(--md-sys-color-surface, Canvas));
|
|
28
|
+
}
|
|
29
|
+
}
|