@rcarls/rc-theme-material 0.3.2 → 0.4.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +83 -0
- package/README.md +18 -3
- package/bridge.css +185 -14
- package/components/app-bar.css +28 -0
- package/components/bottom-sheet.css +132 -0
- package/components/button.css +57 -0
- package/components/card.css +59 -0
- package/components/chip.css +28 -0
- package/components/combobox.css +18 -5
- package/components/dialog.css +4 -1
- package/components/fab-menu.css +85 -0
- package/components/fab.css +34 -0
- package/components/icons.css +19 -0
- package/components/list-item.css +87 -0
- package/components/listbox.css +4 -2
- package/components/markdown-editor.css +30 -1
- package/components/menu-button.css +2 -0
- package/components/menu.css +5 -6
- package/components/navigation-bar.css +78 -0
- package/components/navigation-rail.css +134 -0
- package/components/search-bar.css +23 -0
- package/components/segmented-button.css +44 -0
- package/components/select.css +20 -6
- package/components/snackbar.css +23 -0
- package/components/switch.css +33 -0
- package/components/transfer-list.css +1 -1
- package/components.css +13 -0
- package/package.json +3 -2
- package/state-layer.css +33 -0
package/CHANGELOG.md
ADDED
|
@@ -0,0 +1,83 @@
|
|
|
1
|
+
# @rcarls/rc-theme-material
|
|
2
|
+
|
|
3
|
+
## 0.4.1
|
|
4
|
+
|
|
5
|
+
## 0.4.0
|
|
6
|
+
|
|
7
|
+
### Minor Changes
|
|
8
|
+
|
|
9
|
+
- e57277f: Add Material 3 search-view, fixed-pane splitter, dialog scrim, and resize enhancements.
|
|
10
|
+
|
|
11
|
+
`rc-search-bar` now supports `variant="view"`, controlled/default open state, search-view methods, a rich `suggestions` slot, and datalist-derived text suggestions. `rc-splitter` adds `mode="fixed"` for clampable pixel primary panes. `rc-common` now honors CSS max-size constraints during resize gestures, and `rc-dialog` exposes a scrim token plus resize handle/origin hooks used by themed surfaces.
|
|
12
|
+
|
|
13
|
+
- c40a1be: Add theme-neutral fast, default, and slow effects and spatial motion token
|
|
14
|
+
pairs. Expose bottom-sheet settle easing through
|
|
15
|
+
`--rc-bottom-sheet-snap-easing` and map sheet settling to the Material spatial
|
|
16
|
+
motion scheme.
|
|
17
|
+
|
|
18
|
+
Give direct-child bottom-sheet handles a full-width 48px interaction target
|
|
19
|
+
while preserving the 32 by 4 pixel visual indicator. Replace rectangular
|
|
20
|
+
mobile browser tap highlights on chips with themeable, shape-clipped state
|
|
21
|
+
layers. Keep bottom-sheet snap targets docked to the block-end edge when CSS
|
|
22
|
+
minimum or maximum sizing constrains their requested heights.
|
|
23
|
+
|
|
24
|
+
Mount declaratively assigned textarea plugins at connection time and remount
|
|
25
|
+
them after reconnection, preserving plugin effects and adopted styles in
|
|
26
|
+
framework render lifecycles.
|
|
27
|
+
|
|
28
|
+
### Patch Changes
|
|
29
|
+
|
|
30
|
+
- 9c7476d: Add theme-specific rc-button progress treatments, including compact Material spinners and
|
|
31
|
+
Substrate percentage indicators.
|
|
32
|
+
- 3efe74a: Center navigation rail header content on the inline axis and remove Material
|
|
33
|
+
elevation from FABs placed in the header slot.
|
|
34
|
+
- ebec800: Dock bottom sheets without a theme to the viewport block-end by default and
|
|
35
|
+
support absolute positioning for non-modal sheets contained by a positioned ancestor.
|
|
36
|
+
Center authored drag handles with a splitter-aligned pill treatment. Align the
|
|
37
|
+
Material theme with its surface, elevation, scrim, drag-handle, and contextual
|
|
38
|
+
button treatment.
|
|
39
|
+
- e88eff8: Refine semantic card-title typography and icon-button alignment across both
|
|
40
|
+
themes. Simplify Substrate navigation selection, match its bottom-sheet handle
|
|
41
|
+
to the splitter grip, improve inverse notification action contrast, and theme the
|
|
42
|
+
Markdown editor's composed controls.
|
|
43
|
+
- 6f91e7a: Fix collapsed `rc-navigation-rail` items so the whole item's box wraps icon and
|
|
44
|
+
label, not just the icon. The shared component pulled the label out of flow
|
|
45
|
+
(`position: absolute`), so a theme's whole-item background or focus ring only
|
|
46
|
+
covered the icon; Material's detached-pill layout now lives in its own theme
|
|
47
|
+
stylesheet instead of the shared base. Substrate's collapsed rail also grows
|
|
48
|
+
from `5rem` to `6rem` so single-word labels like "Settings" stop wrapping.
|
|
49
|
+
- dce5749: Replace the navigation rail's shadow-DOM fallback toggle with a consumer-authored light-DOM
|
|
50
|
+
button, and align collapsed and expanded item layouts across the default and reference themes.
|
|
51
|
+
- 55e8ab5: Preserve UA-like control and surface styling until an optional theme supplies decorative tokens.
|
|
52
|
+
Restore themed button hover and pressed state layers, including a pointer-origin Material ripple.
|
|
53
|
+
- 4d118ff: Share icon-font size and line-height tokens across themed component icon markers.
|
|
54
|
+
- 3e89095: Replace rc-menu's generated submenu glyph with an author-supplied `indicator`
|
|
55
|
+
slot on rc-menu-button. Keep the decorative indicator inside the trigger bounds,
|
|
56
|
+
reserve label space for it, and expose theme-neutral size, color, and inset
|
|
57
|
+
tokens for Material, Substrate, and application themes.
|
|
58
|
+
- 0dd9ff5: Prevent Material switches from collapsing below their 52 by 32 pixel track geometry in constrained flex and grid layouts.
|
|
59
|
+
- 979b989: Use a zero default gap for tighter chip content layout and a smaller default
|
|
60
|
+
font size for slotted remove icons. Derive removable content padding from the
|
|
61
|
+
remove target width and chip gap so the label and trailing icon stay aligned.
|
|
62
|
+
|
|
63
|
+
## 0.3.2
|
|
64
|
+
|
|
65
|
+
## 0.3.1
|
|
66
|
+
|
|
67
|
+
## 0.3.0
|
|
68
|
+
|
|
69
|
+
### Added
|
|
70
|
+
|
|
71
|
+
- Add full Material 3 token support.
|
|
72
|
+
- Add Material styling for the FAB back-to-top pattern.
|
|
73
|
+
- Add Material styling for the splitter collapse handle.
|
|
74
|
+
|
|
75
|
+
### Changed
|
|
76
|
+
|
|
77
|
+
- Normalize listbox, menu, menu-button, and menubar styling through inherited component tokens.
|
|
78
|
+
- Update search-bar elevation, hover, and keyboard-focus styling.
|
|
79
|
+
- Update rc-select selectors for the default native select slot.
|
|
80
|
+
- Update transfer-list listbox backgrounds and action button corner radius.
|
|
81
|
+
- Update package metadata, README intro, and docs links.
|
|
82
|
+
|
|
83
|
+
## 0.2.0
|
package/README.md
CHANGED
|
@@ -34,6 +34,16 @@ Selective component styles are also exported:
|
|
|
34
34
|
@import '@rcarls/rc-theme-material/components/menu.css';
|
|
35
35
|
```
|
|
36
36
|
|
|
37
|
+
The state-layer utility is included by `components.css` and `theme.css`, and is
|
|
38
|
+
also exported separately for selective imports:
|
|
39
|
+
|
|
40
|
+
```css
|
|
41
|
+
@import '@rcarls/rc-theme-material/state-layer.css';
|
|
42
|
+
```
|
|
43
|
+
|
|
44
|
+
Apply `.rc-state-layer` to interactive elements that already define their own
|
|
45
|
+
border radius when you want a CSS-only Material state layer.
|
|
46
|
+
|
|
37
47
|
Theme styles are scoped under a `.rc-theme-material` class.
|
|
38
48
|
|
|
39
49
|
```html
|
|
@@ -53,13 +63,18 @@ bridge and component style layers:
|
|
|
53
63
|
|
|
54
64
|
## Theming scope
|
|
55
65
|
|
|
56
|
-
The full style layer
|
|
57
|
-
|
|
58
|
-
unrelated application controls and
|
|
66
|
+
The full style layer styles native controls when their intent is established by
|
|
67
|
+
composition, for example menu items and button triggers. Otherwise, it does not style
|
|
68
|
+
unrelated application controls and follows design-token conventions.
|
|
59
69
|
|
|
60
70
|
Fonts and icons are not bundled; websites and applications may provide
|
|
61
71
|
[Roboto](https://fonts.google.com/specimen/Roboto) and
|
|
62
72
|
[Material Symbols](https://fonts.google.com/icons) through other means.
|
|
73
|
+
Tag general icon-font markup with `data-rc-icon`; component-specific markers
|
|
74
|
+
such as `data-rc-button-icon` and `data-rc-navigation-icon` opt in
|
|
75
|
+
automatically. The shared `--rc-icon-font-size` and
|
|
76
|
+
`--rc-icon-font-line-height` tokens keep glyph geometry consistent and can be
|
|
77
|
+
overridden at the theme boundary or on one component.
|
|
63
78
|
|
|
64
79
|
[Material Web](material-web.dev) token names are used where a corresponding component
|
|
65
80
|
exists. Search bar and top app bar mappings follow Material 3 token terminology and
|
package/bridge.css
CHANGED
|
@@ -37,11 +37,80 @@
|
|
|
37
37
|
--rc-font-family: var(--md-sys-typescale-body-medium-font, inherit);
|
|
38
38
|
--rc-font-size: var(--md-sys-typescale-body-medium-size, 0.875rem);
|
|
39
39
|
--rc-line-height: var(--md-sys-typescale-body-medium-line-height, 1.25rem);
|
|
40
|
+
--rc-icon-font-size: 1.5rem;
|
|
41
|
+
--rc-icon-font-line-height: var(--rc-icon-font-size);
|
|
40
42
|
--rc-control-block-size: 2.5rem;
|
|
41
43
|
--rc-control-padding-block: 0.5rem;
|
|
42
44
|
--rc-control-padding-inline: 1rem;
|
|
43
45
|
--rc-control-gap: 0.5rem;
|
|
44
46
|
--rc-control-radius: var(--md-sys-shape-corner-full, 1.25rem);
|
|
47
|
+
--rc-list-item-gap: 1rem;
|
|
48
|
+
--rc-list-item-min-block-size: 3rem;
|
|
49
|
+
--rc-list-item-padding-block: 0;
|
|
50
|
+
--rc-list-item-padding-inline: 1rem;
|
|
51
|
+
--rc-list-item-selected-bg: var(--md-sys-color-secondary-container, Highlight);
|
|
52
|
+
--rc-list-item-selected-color: var(--md-sys-color-on-secondary-container, HighlightText);
|
|
53
|
+
--rc-button-bg: var(--md-sys-color-primary, ButtonFace);
|
|
54
|
+
--rc-button-color: var(--md-sys-color-on-primary, ButtonText);
|
|
55
|
+
--rc-button-block-size: var(--rc-control-block-size);
|
|
56
|
+
--rc-button-radius: var(--rc-control-radius);
|
|
57
|
+
--rc-button-border: 0;
|
|
58
|
+
--rc-button-padding-block: 0;
|
|
59
|
+
--rc-button-padding-inline: 1.5rem;
|
|
60
|
+
--rc-button-gap: var(--rc-control-gap);
|
|
61
|
+
--rc-button-font: 500 var(--md-sys-typescale-label-large-size, 0.875rem) /
|
|
62
|
+
var(--md-sys-typescale-label-large-line-height, 1.25rem) var(--rc-font-family);
|
|
63
|
+
--rc-button-hover-state-layer-opacity: 0.08;
|
|
64
|
+
--rc-button-focus-state-layer-opacity: 0.12;
|
|
65
|
+
--rc-button-pressed-state-layer-opacity: 0.12;
|
|
66
|
+
--rc-card-bg: var(--md-sys-color-surface-container-low, Canvas);
|
|
67
|
+
--rc-card-color: var(--md-sys-color-on-surface, CanvasText);
|
|
68
|
+
--rc-card-radius: var(--md-sys-shape-corner-medium, 0.75rem);
|
|
69
|
+
--rc-card-padding-block: 1rem;
|
|
70
|
+
--rc-card-padding-inline: 1rem;
|
|
71
|
+
--rc-card-actions-gap: 0.5rem;
|
|
72
|
+
--rc-card-hover-state-layer-opacity: 0.08;
|
|
73
|
+
--rc-card-pressed-state-layer-opacity: 0.12;
|
|
74
|
+
--rc-chip-block-size: 2rem;
|
|
75
|
+
--rc-chip-gap: 0px;
|
|
76
|
+
--rc-chip-padding-inline: 1rem;
|
|
77
|
+
--rc-chip-border: 1px solid var(--md-sys-color-outline, ButtonBorder);
|
|
78
|
+
--rc-chip-radius: var(--md-sys-shape-corner-small, 0.5rem);
|
|
79
|
+
--rc-chip-bg: var(--md-sys-color-surface-container-low, ButtonFace);
|
|
80
|
+
--rc-chip-color: var(--md-sys-color-on-surface-variant, ButtonText);
|
|
81
|
+
--rc-chip-font: inherit;
|
|
82
|
+
--rc-chip-text-decoration: none;
|
|
83
|
+
--rc-chip-selected-bg: var(--md-sys-color-secondary-container, Highlight);
|
|
84
|
+
--rc-chip-state-layer-color: var(--md-sys-color-on-surface-variant, CanvasText);
|
|
85
|
+
--rc-chip-selected-state-layer-color: var(--md-sys-color-on-secondary-container, CanvasText);
|
|
86
|
+
--rc-chip-hover-state-layer-opacity: var(--md-sys-state-hover-state-layer-opacity, 0.08);
|
|
87
|
+
--rc-chip-focus-state-layer-opacity: var(--md-sys-state-focus-state-layer-opacity, 0.12);
|
|
88
|
+
--rc-chip-pressed-state-layer-opacity: var(--md-sys-state-pressed-state-layer-opacity, 0.12);
|
|
89
|
+
--rc-chip-state-layer-transition-duration: var(--rc-motion-effects-duration-fast, 150ms);
|
|
90
|
+
--rc-chip-state-layer-transition-easing: var(--rc-motion-effects-easing-fast, ease-out);
|
|
91
|
+
--rc-switch-native-appearance: none;
|
|
92
|
+
--rc-switch-native-inline-size: 100%;
|
|
93
|
+
--rc-switch-native-block-size: 100%;
|
|
94
|
+
--rc-switch-native-margin: 0;
|
|
95
|
+
--rc-switch-native-opacity: 0;
|
|
96
|
+
--rc-switch-decoration-display: block;
|
|
97
|
+
--rc-switch-icon-display: grid;
|
|
98
|
+
--rc-switch-track-inline-size: 3.25rem;
|
|
99
|
+
--rc-switch-track-block-size: 2rem;
|
|
100
|
+
--rc-switch-selected-track-bg: var(--md-sys-color-primary, Highlight);
|
|
101
|
+
--rc-switch-thumb-translate: 1.125rem;
|
|
102
|
+
--rc-segmented-button-segment-min-block-size: 2.5rem;
|
|
103
|
+
--rc-segmented-button-selected-bg: var(--md-sys-color-secondary-container, Highlight);
|
|
104
|
+
--rc-snackbar-bg: var(--md-sys-color-inverse-surface, CanvasText);
|
|
105
|
+
--rc-snackbar-color: var(--md-sys-color-inverse-on-surface, Canvas);
|
|
106
|
+
--rc-snackbar-border: 0;
|
|
107
|
+
--rc-snackbar-action-color: var(--md-sys-color-inverse-primary, LinkText);
|
|
108
|
+
--rc-snackbar-action-border: 0;
|
|
109
|
+
--rc-snackbar-action-radius: 9999px;
|
|
110
|
+
--rc-snackbar-action-padding-block: 0.5rem;
|
|
111
|
+
--rc-snackbar-action-padding-inline: 0.75rem;
|
|
112
|
+
--rc-snackbar-action-bg: transparent;
|
|
113
|
+
--rc-snackbar-action-font: inherit;
|
|
45
114
|
--rc-toolbar-radius: var(--md-sys-shape-corner-large, 1rem);
|
|
46
115
|
--rc-toolbar-vertical-radius: 0;
|
|
47
116
|
--rc-item-padding-block: 0.75rem;
|
|
@@ -52,7 +121,30 @@
|
|
|
52
121
|
--rc-focus-ring: 2px solid var(--md-sys-color-primary, Highlight);
|
|
53
122
|
--rc-focus-ring-offset: 2px;
|
|
54
123
|
--rc-disabled-opacity: var(--md-sys-state-disabled-state-layer-opacity, 0.38);
|
|
55
|
-
--rc-motion-duration:
|
|
124
|
+
--rc-motion-effects-duration-fast: var(--md-sys-motion-duration-150, 150ms);
|
|
125
|
+
--rc-motion-effects-easing-fast: cubic-bezier(
|
|
126
|
+
var(--md-sys-motion-easing-standard-x0, 0.2),
|
|
127
|
+
var(--md-sys-motion-easing-standard-y0, 0),
|
|
128
|
+
var(--md-sys-motion-easing-standard-x1, 0),
|
|
129
|
+
var(--md-sys-motion-easing-standard-y1, 1)
|
|
130
|
+
);
|
|
131
|
+
--rc-motion-effects-duration-default: var(--md-sys-motion-duration-200, 200ms);
|
|
132
|
+
--rc-motion-effects-easing-default: var(--rc-motion-effects-easing-fast);
|
|
133
|
+
--rc-motion-effects-duration-slow: var(--md-sys-motion-duration-300, 300ms);
|
|
134
|
+
--rc-motion-effects-easing-slow: var(--rc-motion-effects-easing-fast);
|
|
135
|
+
--rc-motion-spatial-duration-fast: var(--md-sys-motion-duration-350, 350ms);
|
|
136
|
+
--rc-motion-spatial-easing-fast: cubic-bezier(
|
|
137
|
+
var(--md-sys-motion-easing-emphasized-x0, 0.2),
|
|
138
|
+
var(--md-sys-motion-easing-emphasized-y0, 0),
|
|
139
|
+
var(--md-sys-motion-easing-emphasized-x1, 0),
|
|
140
|
+
var(--md-sys-motion-easing-emphasized-y1, 1)
|
|
141
|
+
);
|
|
142
|
+
--rc-motion-spatial-duration-default: var(--md-sys-motion-duration-500, 500ms);
|
|
143
|
+
--rc-motion-spatial-easing-default: var(--rc-motion-spatial-easing-fast);
|
|
144
|
+
--rc-motion-spatial-duration-slow: var(--md-sys-motion-duration-700, 700ms);
|
|
145
|
+
--rc-motion-spatial-easing-slow: var(--rc-motion-spatial-easing-fast);
|
|
146
|
+
--rc-motion-duration: var(--rc-motion-effects-duration-default);
|
|
147
|
+
--rc-dialog-scrim: color-mix(in srgb, var(--md-sys-color-scrim, #000) 32%, transparent);
|
|
56
148
|
}
|
|
57
149
|
|
|
58
150
|
.rc-theme-material rc-select,
|
|
@@ -91,10 +183,10 @@
|
|
|
91
183
|
|
|
92
184
|
.rc-theme-material rc-listbox,
|
|
93
185
|
:host(.rc-theme-material) rc-listbox {
|
|
94
|
-
--rc-listbox-option-gap: 0.75rem;
|
|
95
|
-
--rc-listbox-option-min-block-size: 3rem;
|
|
96
|
-
--rc-listbox-option-padding-block: 0;
|
|
97
|
-
--rc-listbox-option-padding-inline: 0.75rem;
|
|
186
|
+
--rc-listbox-option-gap: var(--rc-list-item-gap, 0.75rem);
|
|
187
|
+
--rc-listbox-option-min-block-size: var(--rc-list-item-min-block-size, 3rem);
|
|
188
|
+
--rc-listbox-option-padding-block: var(--rc-list-item-padding-block, 0);
|
|
189
|
+
--rc-listbox-option-padding-inline: var(--rc-list-item-padding-inline, 0.75rem);
|
|
98
190
|
--rc-listbox-option-transition: background-color 150ms ease, color 150ms ease;
|
|
99
191
|
--rc-listbox-hover-bg: color-mix(
|
|
100
192
|
in srgb,
|
|
@@ -108,8 +200,8 @@
|
|
|
108
200
|
transparent
|
|
109
201
|
);
|
|
110
202
|
--rc-listbox-active-color: var(--md-sys-color-on-surface, CanvasText);
|
|
111
|
-
--rc-listbox-selected-bg: var(--
|
|
112
|
-
--rc-listbox-selected-color: var(--
|
|
203
|
+
--rc-listbox-selected-bg: var(--rc-list-item-selected-bg, Highlight);
|
|
204
|
+
--rc-listbox-selected-color: var(--rc-list-item-selected-color, HighlightText);
|
|
113
205
|
--rc-listbox-disabled-opacity: var(--md-sys-state-disabled-state-layer-opacity, 0.38);
|
|
114
206
|
}
|
|
115
207
|
|
|
@@ -252,6 +344,27 @@
|
|
|
252
344
|
--md-search-bar-input-text-size,
|
|
253
345
|
var(--md-sys-typescale-body-large-size, 1rem)
|
|
254
346
|
);
|
|
347
|
+
--rc-search-bar-view-bg: var(
|
|
348
|
+
--md-search-view-container-color,
|
|
349
|
+
var(--md-sys-color-surface-container-high, Field)
|
|
350
|
+
);
|
|
351
|
+
--rc-search-bar-view-color: var(
|
|
352
|
+
--md-search-view-input-text-color,
|
|
353
|
+
var(--md-sys-color-on-surface, FieldText)
|
|
354
|
+
);
|
|
355
|
+
--rc-search-bar-view-radius: var(
|
|
356
|
+
--md-search-view-container-shape,
|
|
357
|
+
var(--md-sys-shape-corner-extra-large, 1.75rem)
|
|
358
|
+
);
|
|
359
|
+
--rc-search-bar-view-shadow: var(--rc-shadow-level3);
|
|
360
|
+
--rc-search-bar-view-padding-block: 0.5rem;
|
|
361
|
+
--rc-search-bar-suggestion-min-block-size: 3rem;
|
|
362
|
+
--rc-search-bar-suggestion-padding-inline: 1rem;
|
|
363
|
+
--rc-search-bar-suggestion-hover-bg: color-mix(
|
|
364
|
+
in srgb,
|
|
365
|
+
var(--md-sys-color-on-surface, CanvasText) 8%,
|
|
366
|
+
transparent
|
|
367
|
+
);
|
|
255
368
|
}
|
|
256
369
|
|
|
257
370
|
.rc-theme-material rc-app-bar,
|
|
@@ -315,8 +428,6 @@
|
|
|
315
428
|
--rc-menu-check-color: var(--md-sys-color-primary, Highlight);
|
|
316
429
|
--rc-menu-shortcut-size: var(--md-sys-typescale-label-large-size, 0.875rem);
|
|
317
430
|
--rc-menu-shortcut-color: var(--md-sys-color-on-surface-variant, GrayText);
|
|
318
|
-
--rc-menu-submenu-indicator-size: 1.25rem;
|
|
319
|
-
--rc-menu-submenu-indicator-color: var(--md-sys-color-on-surface-variant, CanvasText);
|
|
320
431
|
--rc-menu-disabled-color: var(--md-sys-color-on-surface, GrayText);
|
|
321
432
|
--rc-menu-disabled-opacity: var(--md-sys-state-disabled-state-layer-opacity, 0.38);
|
|
322
433
|
--rc-menu-separator-border: 1px solid var(--md-sys-color-outline-variant, ButtonBorder);
|
|
@@ -345,6 +456,8 @@
|
|
|
345
456
|
--rc-menu-button-trigger-hover-color: var(--md-sys-color-primary, ButtonText);
|
|
346
457
|
--rc-menu-button-trigger-open-background: var(--md-sys-color-secondary-container, ButtonFace);
|
|
347
458
|
--rc-menu-button-trigger-open-color: var(--md-sys-color-on-secondary-container, ButtonText);
|
|
459
|
+
--rc-menu-button-indicator-size: 1.5rem;
|
|
460
|
+
--rc-menu-button-indicator-color: var(--md-sys-color-on-surface-variant, CanvasText);
|
|
348
461
|
}
|
|
349
462
|
|
|
350
463
|
.rc-theme-material rc-menubar,
|
|
@@ -411,18 +524,59 @@
|
|
|
411
524
|
--rc-transfer-list-listbox-border: 1px solid var(--md-sys-color-outline-variant, ButtonBorder);
|
|
412
525
|
}
|
|
413
526
|
|
|
527
|
+
.rc-theme-material rc-navigation-bar,
|
|
528
|
+
:host(.rc-theme-material) rc-navigation-bar {
|
|
529
|
+
--rc-navigation-bar-bg: var(--md-sys-color-surface-container, Canvas);
|
|
530
|
+
--rc-navigation-bar-color: var(--md-sys-color-on-surface-variant, CanvasText);
|
|
531
|
+
--rc-navigation-bar-item-text-decoration: none;
|
|
532
|
+
--rc-navigation-bar-indicator-bg: var(--md-sys-color-secondary-container, Highlight);
|
|
533
|
+
--rc-navigation-bar-indicator-border: 0;
|
|
534
|
+
}
|
|
535
|
+
|
|
536
|
+
.rc-theme-material rc-navigation-rail,
|
|
537
|
+
:host(.rc-theme-material) rc-navigation-rail {
|
|
538
|
+
--rc-navigation-rail-bg: var(--md-sys-color-surface, Canvas);
|
|
539
|
+
--rc-navigation-rail-color: var(--md-sys-color-on-surface-variant, CanvasText);
|
|
540
|
+
--rc-navigation-rail-item-text-decoration: none;
|
|
541
|
+
--rc-navigation-rail-indicator-bg: var(--md-sys-color-secondary-container, Highlight);
|
|
542
|
+
--rc-navigation-rail-indicator-border: 0;
|
|
543
|
+
--rc-navigation-rail-toggle-padding: 0;
|
|
544
|
+
--rc-navigation-rail-toggle-border: 0;
|
|
545
|
+
--rc-navigation-rail-toggle-font: inherit;
|
|
546
|
+
}
|
|
547
|
+
.rc-theme-material rc-navigation-rail > rc-fab[slot='header'],
|
|
548
|
+
:host(.rc-theme-material) rc-navigation-rail > rc-fab[slot='header'] {
|
|
549
|
+
--rc-fab-shadow: none;
|
|
550
|
+
--rc-fab-shadow-hover: none;
|
|
551
|
+
--rc-fab-shadow-active: none;
|
|
552
|
+
}
|
|
553
|
+
|
|
414
554
|
.rc-theme-material rc-fab,
|
|
415
|
-
|
|
555
|
+
.rc-theme-material rc-fab-menu,
|
|
556
|
+
:host(.rc-theme-material) rc-fab,
|
|
557
|
+
:host(.rc-theme-material) rc-fab-menu {
|
|
416
558
|
--rc-fab-bg: var(--md-fab-container-color, var(--md-sys-color-primary-container, ButtonFace));
|
|
417
559
|
--rc-fab-color: var(--md-fab-icon-color, var(--md-sys-color-on-primary-container, ButtonText));
|
|
418
560
|
--rc-fab-shadow: var(--rc-shadow-level3);
|
|
419
561
|
--rc-fab-shadow-hover: var(--rc-shadow-level4);
|
|
420
562
|
--rc-fab-shadow-active: var(--rc-shadow-level3);
|
|
421
563
|
--rc-fab-radius: var(--md-fab-container-shape, var(--md-sys-shape-corner-large, 1rem));
|
|
422
|
-
--rc-fab-font-family: var(
|
|
423
|
-
|
|
424
|
-
|
|
425
|
-
|
|
564
|
+
--rc-fab-font-family: var(
|
|
565
|
+
--md-fab-label-text-font,
|
|
566
|
+
var(--md-sys-typescale-label-large-font, inherit)
|
|
567
|
+
);
|
|
568
|
+
--rc-fab-font-size: var(
|
|
569
|
+
--md-fab-label-text-size,
|
|
570
|
+
var(--md-sys-typescale-label-large-size, 0.875rem)
|
|
571
|
+
);
|
|
572
|
+
--rc-fab-font-weight: var(
|
|
573
|
+
--md-fab-label-text-weight,
|
|
574
|
+
var(--md-sys-typescale-label-large-weight, 500)
|
|
575
|
+
);
|
|
576
|
+
--rc-fab-letter-spacing: var(
|
|
577
|
+
--md-fab-label-text-tracking,
|
|
578
|
+
var(--md-sys-typescale-label-large-tracking, 0.00625em)
|
|
579
|
+
);
|
|
426
580
|
--rc-fab-focus-ring: var(--rc-focus-ring);
|
|
427
581
|
--rc-fab-focus-ring-offset: var(--rc-focus-ring-offset);
|
|
428
582
|
}
|
|
@@ -434,6 +588,23 @@
|
|
|
434
588
|
--rc-splitter-handle-color: var(--md-sys-color-on-surface-variant, ButtonBorder);
|
|
435
589
|
}
|
|
436
590
|
|
|
591
|
+
.rc-theme-material rc-bottom-sheet,
|
|
592
|
+
:host(.rc-theme-material) rc-bottom-sheet {
|
|
593
|
+
--rc-bottom-sheet-bg: var(--md-sys-color-surface, Canvas);
|
|
594
|
+
--rc-bottom-sheet-color: var(--md-sys-color-on-surface, CanvasText);
|
|
595
|
+
--rc-bottom-sheet-radius: var(--md-sys-shape-corner-extra-large, 1.75rem)
|
|
596
|
+
var(--md-sys-shape-corner-extra-large, 1.75rem) 0 0;
|
|
597
|
+
--rc-bottom-sheet-shadow: var(--rc-shadow-level1);
|
|
598
|
+
--rc-bottom-sheet-max-inline-size: 40rem;
|
|
599
|
+
--rc-bottom-sheet-max-block-size: 70dvh;
|
|
600
|
+
--rc-bottom-sheet-scrim: color-mix(in srgb, var(--md-sys-color-scrim, #000) 32%, transparent);
|
|
601
|
+
--rc-bottom-sheet-handle-color: color-mix(
|
|
602
|
+
in srgb,
|
|
603
|
+
var(--md-sys-color-on-surface-variant, GrayText) 40%,
|
|
604
|
+
transparent
|
|
605
|
+
);
|
|
606
|
+
--rc-bottom-sheet-handle-radius: var(--md-sys-shape-corner-full, 999px);
|
|
607
|
+
}
|
|
437
608
|
.rc-theme-material rc-virtual-canvas,
|
|
438
609
|
:host(.rc-theme-material) rc-virtual-canvas {
|
|
439
610
|
--rc-virtual-canvas-scrollbar-thumb-background: var(--md-sys-color-outline, ButtonFace);
|
package/components/app-bar.css
CHANGED
|
@@ -27,4 +27,32 @@
|
|
|
27
27
|
:is(button, [role='button']):hover {
|
|
28
28
|
background: color-mix(in srgb, var(--md-sys-color-on-surface, CanvasText) 8%, transparent);
|
|
29
29
|
}
|
|
30
|
+
|
|
31
|
+
:where(.rc-theme-material, :host(.rc-theme-material)) rc-app-bar.rc-app-bar--center-aligned {
|
|
32
|
+
--rc-app-bar-title-font-size: var(
|
|
33
|
+
--md-top-app-bar-headline-size,
|
|
34
|
+
var(--md-sys-typescale-title-large-size, inherit)
|
|
35
|
+
);
|
|
36
|
+
}
|
|
37
|
+
|
|
38
|
+
:where(.rc-theme-material, :host(.rc-theme-material))
|
|
39
|
+
rc-app-bar.rc-app-bar--center-aligned::part(title) {
|
|
40
|
+
text-align: center;
|
|
41
|
+
}
|
|
42
|
+
|
|
43
|
+
:where(.rc-theme-material, :host(.rc-theme-material)) rc-app-bar.rc-app-bar--medium {
|
|
44
|
+
--rc-app-bar-expanded-title-font-size: var(
|
|
45
|
+
--md-medium-top-app-bar-headline-size,
|
|
46
|
+
var(--md-sys-typescale-headline-small-size, inherit)
|
|
47
|
+
);
|
|
48
|
+
--rc-app-bar-expanded-padding-block: 1rem;
|
|
49
|
+
}
|
|
50
|
+
|
|
51
|
+
:where(.rc-theme-material, :host(.rc-theme-material)) rc-app-bar.rc-app-bar--large {
|
|
52
|
+
--rc-app-bar-expanded-title-font-size: var(
|
|
53
|
+
--md-large-top-app-bar-headline-size,
|
|
54
|
+
var(--md-sys-typescale-headline-medium-size, inherit)
|
|
55
|
+
);
|
|
56
|
+
--rc-app-bar-expanded-padding-block: 1.25rem;
|
|
57
|
+
}
|
|
30
58
|
}
|
|
@@ -0,0 +1,132 @@
|
|
|
1
|
+
@layer rc-theme-material.components {
|
|
2
|
+
:where(.rc-theme-material, :host(.rc-theme-material)) rc-bottom-sheet {
|
|
3
|
+
--rc-bottom-sheet-bg: var(--md-sys-color-surface, Canvas);
|
|
4
|
+
--rc-bottom-sheet-handle-color: color-mix(
|
|
5
|
+
in srgb,
|
|
6
|
+
var(--md-sys-color-on-surface-variant, GrayText) 40%,
|
|
7
|
+
transparent
|
|
8
|
+
);
|
|
9
|
+
--rc-bottom-sheet-handle-radius: var(--md-sys-shape-corner-full, 999px);
|
|
10
|
+
--rc-bottom-sheet-handle-target-block-size: 3rem;
|
|
11
|
+
--rc-bottom-sheet-snap-duration: var(--rc-motion-spatial-duration-default, 500ms);
|
|
12
|
+
--rc-bottom-sheet-snap-easing: var(
|
|
13
|
+
--rc-motion-spatial-easing-default,
|
|
14
|
+
cubic-bezier(0.2, 0, 0, 1)
|
|
15
|
+
);
|
|
16
|
+
}
|
|
17
|
+
|
|
18
|
+
:where(.rc-theme-material, :host(.rc-theme-material)) rc-bottom-sheet > dialog {
|
|
19
|
+
position: fixed;
|
|
20
|
+
inset: auto 0 0;
|
|
21
|
+
box-sizing: border-box;
|
|
22
|
+
inline-size: 100%;
|
|
23
|
+
max-inline-size: var(--rc-bottom-sheet-max-inline-size, 40rem);
|
|
24
|
+
max-block-size: var(--rc-bottom-sheet-max-block-size, 70dvh);
|
|
25
|
+
margin-block: 0;
|
|
26
|
+
margin-inline: auto;
|
|
27
|
+
padding: var(--rc-bottom-sheet-padding, 0 1rem calc(1rem + env(safe-area-inset-bottom, 0px)));
|
|
28
|
+
overflow: auto;
|
|
29
|
+
border: 0;
|
|
30
|
+
border-radius: var(--rc-bottom-sheet-radius, 1.75rem 1.75rem 0 0);
|
|
31
|
+
background: var(--rc-bottom-sheet-bg, var(--md-sys-color-surface, Canvas));
|
|
32
|
+
color: var(--rc-bottom-sheet-color, var(--md-sys-color-on-surface, CanvasText));
|
|
33
|
+
box-shadow: var(--rc-bottom-sheet-shadow, var(--rc-shadow-level1, none));
|
|
34
|
+
font-family: var(--md-sys-typescale-body-medium-font, inherit);
|
|
35
|
+
}
|
|
36
|
+
|
|
37
|
+
:where(.rc-theme-material, :host(.rc-theme-material)) rc-bottom-sheet > dialog::backdrop {
|
|
38
|
+
background: var(
|
|
39
|
+
--rc-bottom-sheet-scrim,
|
|
40
|
+
var(--rc-dialog-scrim, color-mix(in srgb, var(--md-sys-color-scrim, #000) 32%, transparent))
|
|
41
|
+
);
|
|
42
|
+
}
|
|
43
|
+
|
|
44
|
+
:where(.rc-theme-material, :host(.rc-theme-material))
|
|
45
|
+
rc-bottom-sheet
|
|
46
|
+
> dialog
|
|
47
|
+
> [data-rc-bottom-sheet-handle] {
|
|
48
|
+
position: relative;
|
|
49
|
+
display: block;
|
|
50
|
+
inline-size: var(--rc-bottom-sheet-handle-target-inline-size, 100%);
|
|
51
|
+
min-block-size: var(--rc-bottom-sheet-handle-target-block-size, 3rem);
|
|
52
|
+
margin: var(--rc-bottom-sheet-handle-target-margin, 0);
|
|
53
|
+
padding: 0;
|
|
54
|
+
border: 0;
|
|
55
|
+
border-radius: inherit;
|
|
56
|
+
background: transparent;
|
|
57
|
+
appearance: none;
|
|
58
|
+
cursor: ns-resize;
|
|
59
|
+
touch-action: none;
|
|
60
|
+
-webkit-tap-highlight-color: transparent;
|
|
61
|
+
}
|
|
62
|
+
|
|
63
|
+
:where(.rc-theme-material, :host(.rc-theme-material))
|
|
64
|
+
rc-bottom-sheet
|
|
65
|
+
> dialog
|
|
66
|
+
> [data-rc-bottom-sheet-handle]::before {
|
|
67
|
+
content: '';
|
|
68
|
+
position: absolute;
|
|
69
|
+
inset-block-start: 50%;
|
|
70
|
+
inset-inline-start: 50%;
|
|
71
|
+
inline-size: var(--rc-bottom-sheet-handle-inline-size, 2rem);
|
|
72
|
+
block-size: var(--rc-bottom-sheet-handle-block-size, 0.25rem);
|
|
73
|
+
border-radius: var(--rc-bottom-sheet-handle-radius, 999px);
|
|
74
|
+
background: var(--rc-bottom-sheet-handle-color, GrayText);
|
|
75
|
+
translate: -50% -50%;
|
|
76
|
+
}
|
|
77
|
+
|
|
78
|
+
:where(.rc-theme-material, :host(.rc-theme-material))
|
|
79
|
+
rc-bottom-sheet
|
|
80
|
+
> dialog
|
|
81
|
+
> [data-rc-bottom-sheet-handle]:focus-visible {
|
|
82
|
+
outline: 0.125rem solid var(--md-sys-color-primary, Highlight);
|
|
83
|
+
outline-offset: -0.25rem;
|
|
84
|
+
}
|
|
85
|
+
|
|
86
|
+
:where(.rc-theme-material, :host(.rc-theme-material))
|
|
87
|
+
rc-bottom-sheet
|
|
88
|
+
> dialog
|
|
89
|
+
> :is(button, [role='button']):not([data-rc-bottom-sheet-handle]) {
|
|
90
|
+
min-block-size: 2.5rem;
|
|
91
|
+
padding-block: 0;
|
|
92
|
+
padding-inline: 1.5rem;
|
|
93
|
+
border: 0;
|
|
94
|
+
border-radius: var(--md-sys-shape-corner-full, 999px);
|
|
95
|
+
background: transparent;
|
|
96
|
+
color: var(--md-sys-color-primary, ButtonText);
|
|
97
|
+
font: var(--md-sys-typescale-label-large-weight, 500)
|
|
98
|
+
var(--md-sys-typescale-label-large-size, 0.875rem) /
|
|
99
|
+
var(--md-sys-typescale-label-large-line-height, 1.25rem)
|
|
100
|
+
var(--md-sys-typescale-label-large-font, inherit);
|
|
101
|
+
letter-spacing: var(--md-sys-typescale-label-large-tracking, 0.00625em);
|
|
102
|
+
}
|
|
103
|
+
|
|
104
|
+
:where(.rc-theme-material, :host(.rc-theme-material))
|
|
105
|
+
rc-bottom-sheet
|
|
106
|
+
> dialog
|
|
107
|
+
> :is(button, [role='button']):not([data-rc-bottom-sheet-handle], :disabled):hover {
|
|
108
|
+
background: color-mix(in srgb, var(--md-sys-color-primary, ButtonText) 8%, transparent);
|
|
109
|
+
}
|
|
110
|
+
|
|
111
|
+
:where(.rc-theme-material, :host(.rc-theme-material))
|
|
112
|
+
rc-bottom-sheet
|
|
113
|
+
> dialog
|
|
114
|
+
> :is(button, [role='button']):not([data-rc-bottom-sheet-handle]):focus-visible {
|
|
115
|
+
outline: var(--rc-focus-ring, 2px solid Highlight);
|
|
116
|
+
outline-offset: var(--rc-focus-ring-offset, 2px);
|
|
117
|
+
}
|
|
118
|
+
|
|
119
|
+
:where(.rc-theme-material, :host(.rc-theme-material))
|
|
120
|
+
rc-bottom-sheet
|
|
121
|
+
> dialog
|
|
122
|
+
> :is(button, [role='button']):not([data-rc-bottom-sheet-handle], :disabled):active {
|
|
123
|
+
background: color-mix(in srgb, var(--md-sys-color-primary, ButtonText) 12%, transparent);
|
|
124
|
+
}
|
|
125
|
+
|
|
126
|
+
:where(.rc-theme-material, :host(.rc-theme-material))
|
|
127
|
+
rc-bottom-sheet
|
|
128
|
+
> dialog
|
|
129
|
+
> :is(button, [role='button']):not([data-rc-bottom-sheet-handle]):disabled {
|
|
130
|
+
opacity: var(--rc-disabled-opacity, 0.38);
|
|
131
|
+
}
|
|
132
|
+
}
|
|
@@ -0,0 +1,57 @@
|
|
|
1
|
+
@layer rc-theme-material.components {
|
|
2
|
+
:where(.rc-theme-material, :host(.rc-theme-material)) rc-button {
|
|
3
|
+
--rc-button-bg: var(--md-sys-color-primary, ButtonFace);
|
|
4
|
+
--rc-button-color: var(--md-sys-color-on-primary, ButtonText);
|
|
5
|
+
--rc-button-border: 0;
|
|
6
|
+
--rc-button-radius: var(--md-sys-shape-corner-full, 9999px);
|
|
7
|
+
--rc-button-block-size: 2.5rem;
|
|
8
|
+
--rc-button-padding-block: 0;
|
|
9
|
+
--rc-button-padding-inline: 1.5rem;
|
|
10
|
+
--rc-button-gap: 0.5rem;
|
|
11
|
+
--rc-button-font: var(--md-sys-typescale-label-large-weight, 500)
|
|
12
|
+
var(--md-sys-typescale-label-large-size, 0.875rem) /
|
|
13
|
+
var(--md-sys-typescale-label-large-line-height, 1.25rem)
|
|
14
|
+
var(--md-sys-typescale-label-large-font, inherit);
|
|
15
|
+
--rc-button-state-layer-bg: var(--md-sys-color-on-primary, currentColor);
|
|
16
|
+
--rc-button-hover-state-layer-opacity: var(--md-sys-state-hover-state-layer-opacity, 0.08);
|
|
17
|
+
--rc-button-focus-state-layer-opacity: var(--md-sys-state-focus-state-layer-opacity, 0.12);
|
|
18
|
+
--rc-button-pressed-state-layer-opacity: var(--md-sys-state-pressed-state-layer-opacity, 0.12);
|
|
19
|
+
--rc-button-state-layer-easing: var(
|
|
20
|
+
--md-sys-motion-easing-standard,
|
|
21
|
+
cubic-bezier(0.2, 0, 0, 1)
|
|
22
|
+
);
|
|
23
|
+
--_rc-button-ripple-enabled: 1;
|
|
24
|
+
--_rc-button-ripple-color: var(--md-sys-color-on-primary, currentColor);
|
|
25
|
+
--_rc-button-ripple-opacity: var(--md-sys-state-pressed-state-layer-opacity, 0.12);
|
|
26
|
+
--_rc-button-ripple-duration: var(--md-sys-motion-duration-long1, 450ms);
|
|
27
|
+
--_rc-button-ripple-easing: var(
|
|
28
|
+
--md-sys-motion-easing-emphasized-decelerate,
|
|
29
|
+
cubic-bezier(0.05, 0.7, 0.1, 1)
|
|
30
|
+
);
|
|
31
|
+
--rc-button-progress-color: var(--md-sys-color-on-primary, ButtonText);
|
|
32
|
+
}
|
|
33
|
+
|
|
34
|
+
:where(.rc-theme-material, :host(.rc-theme-material)) rc-button > button:focus-visible {
|
|
35
|
+
outline: var(--rc-focus-ring, 2px solid Highlight);
|
|
36
|
+
outline-offset: var(--rc-focus-ring-offset, 2px);
|
|
37
|
+
}
|
|
38
|
+
|
|
39
|
+
:where(.rc-theme-material, :host(.rc-theme-material)) rc-button[disabled] > button:disabled {
|
|
40
|
+
opacity: var(--rc-disabled-opacity, 0.38);
|
|
41
|
+
}
|
|
42
|
+
|
|
43
|
+
:where(.rc-theme-material, :host(.rc-theme-material))
|
|
44
|
+
rc-button[progress][progress-value]::part(progress) {
|
|
45
|
+
font-size: 0;
|
|
46
|
+
}
|
|
47
|
+
|
|
48
|
+
:where(.rc-theme-material, :host(.rc-theme-material))
|
|
49
|
+
rc-button[progress][progress-value]::part(progress)::before {
|
|
50
|
+
display: block;
|
|
51
|
+
}
|
|
52
|
+
|
|
53
|
+
:where(.rc-theme-material, :host(.rc-theme-material)) rc-button[icon-only] {
|
|
54
|
+
--rc-button-icon-size: 2.5rem;
|
|
55
|
+
--rc-icon-font-line-height: var(--rc-button-icon-size, 2.5rem);
|
|
56
|
+
}
|
|
57
|
+
}
|
|
@@ -0,0 +1,59 @@
|
|
|
1
|
+
@layer rc-theme-material.components {
|
|
2
|
+
:where(.rc-theme-material, :host(.rc-theme-material)) rc-card {
|
|
3
|
+
--rc-card-bg: var(--md-sys-color-surface-container-low, Canvas);
|
|
4
|
+
--rc-card-color: var(--md-sys-color-on-surface, CanvasText);
|
|
5
|
+
--rc-card-radius: var(--md-sys-shape-corner-medium, 0.75rem);
|
|
6
|
+
--rc-card-shadow:
|
|
7
|
+
0 1px 2px color-mix(in srgb, var(--md-sys-color-shadow, #000) 30%, transparent),
|
|
8
|
+
0 1px 3px 1px color-mix(in srgb, var(--md-sys-color-shadow, #000) 15%, transparent);
|
|
9
|
+
--rc-card-padding-block: 1rem;
|
|
10
|
+
--rc-card-padding-inline: 1rem;
|
|
11
|
+
--rc-card-actions-gap: 0.5rem;
|
|
12
|
+
--rc-card-title-font: var(--md-sys-typescale-title-medium-weight, 500)
|
|
13
|
+
var(--md-sys-typescale-title-medium-size, 1rem) /
|
|
14
|
+
var(--md-sys-typescale-title-medium-line-height, 1.5rem)
|
|
15
|
+
var(--md-sys-typescale-title-medium-font, inherit);
|
|
16
|
+
--rc-card-subtitle-font: var(--md-sys-typescale-body-medium-weight, 400)
|
|
17
|
+
var(--md-sys-typescale-body-medium-size, 0.875rem) /
|
|
18
|
+
var(--md-sys-typescale-body-medium-line-height, 1.25rem)
|
|
19
|
+
var(--md-sys-typescale-body-medium-font, inherit);
|
|
20
|
+
--rc-card-subtitle-color: var(--md-sys-color-on-surface-variant, CanvasText);
|
|
21
|
+
--rc-card-state-layer-bg: var(--md-sys-color-on-surface, currentColor);
|
|
22
|
+
--rc-card-hover-state-layer-opacity: var(--md-sys-state-hover-state-layer-opacity, 0.08);
|
|
23
|
+
--rc-card-pressed-state-layer-opacity: var(--md-sys-state-pressed-state-layer-opacity, 0.12);
|
|
24
|
+
}
|
|
25
|
+
|
|
26
|
+
:where(.rc-theme-material, :host(.rc-theme-material)) rc-card[selected] {
|
|
27
|
+
box-shadow:
|
|
28
|
+
0 0 0 2px var(--md-sys-color-primary, Highlight),
|
|
29
|
+
var(--rc-card-shadow);
|
|
30
|
+
}
|
|
31
|
+
|
|
32
|
+
:where(.rc-theme-material, :host(.rc-theme-material)) rc-card[disabled] {
|
|
33
|
+
opacity: var(--rc-disabled-opacity, 0.38);
|
|
34
|
+
}
|
|
35
|
+
|
|
36
|
+
:where(.rc-theme-material, :host(.rc-theme-material)) rc-card > :is(h2, h3)[slot='title'] {
|
|
37
|
+
margin: 0;
|
|
38
|
+
color: var(--rc-card-title-color, inherit);
|
|
39
|
+
}
|
|
40
|
+
|
|
41
|
+
:where(.rc-theme-material, :host(.rc-theme-material)) rc-card > h2[slot='title'] {
|
|
42
|
+
font-family: var(--md-sys-typescale-title-large-font, inherit);
|
|
43
|
+
font-size: var(--md-sys-typescale-title-large-size, 1.375rem);
|
|
44
|
+
font-weight: var(--md-sys-typescale-title-large-weight, 500);
|
|
45
|
+
line-height: var(--md-sys-typescale-title-large-line-height, 1.75rem);
|
|
46
|
+
}
|
|
47
|
+
|
|
48
|
+
:where(.rc-theme-material, :host(.rc-theme-material)) rc-card > h3[slot='title'] {
|
|
49
|
+
font-family: var(--md-sys-typescale-title-medium-font, inherit);
|
|
50
|
+
font-size: var(--md-sys-typescale-title-medium-size, 1rem);
|
|
51
|
+
font-weight: var(--md-sys-typescale-title-medium-weight, 500);
|
|
52
|
+
line-height: var(--md-sys-typescale-title-medium-line-height, 1.5rem);
|
|
53
|
+
}
|
|
54
|
+
|
|
55
|
+
:where(.rc-theme-material, :host(.rc-theme-material)) rc-card > :is(h2, h3)[slot='title'] > a {
|
|
56
|
+
color: inherit;
|
|
57
|
+
text-decoration: none;
|
|
58
|
+
}
|
|
59
|
+
}
|