@material/web 1.1.2-nightly.043bbad.0 → 1.1.2-nightly.044ee51.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/button/internal/_filled-button.scss +1 -0
- package/button/internal/_filled-tonal-button.scss +1 -0
- package/button/internal/_text-button.scss +1 -0
- package/button/internal/button.d.ts +9 -1
- package/button/internal/button.js +9 -1
- package/button/internal/button.js.map +1 -1
- package/checkbox/internal/_checkbox.scss +69 -63
- package/checkbox/internal/checkbox-styles.css.js +1 -1
- package/checkbox/internal/checkbox-styles.css.js.map +1 -1
- package/dialog/internal/_dialog.scss +50 -42
- package/dialog/internal/dialog-styles.css.js +1 -1
- package/dialog/internal/dialog-styles.css.js.map +1 -1
- package/divider/internal/_divider.scss +6 -6
- package/divider/internal/divider-styles.css.js +1 -1
- package/divider/internal/divider-styles.css.js.map +1 -1
- package/fab/branded-fab.d.ts +1 -1
- package/fab/branded-fab.js.map +1 -1
- package/fab/fab.d.ts +2 -2
- package/fab/fab.js.map +1 -1
- package/iconbutton/internal/icon-button.d.ts +9 -1
- package/iconbutton/internal/icon-button.js +9 -1
- package/iconbutton/internal/icon-button.js.map +1 -1
- package/labs/behaviors/on-report-validity.d.ts +2 -1
- package/labs/behaviors/on-report-validity.js +171 -67
- package/labs/behaviors/on-report-validity.js.map +1 -1
- package/list/list-item.d.ts +1 -1
- package/list/list-item.js.map +1 -1
- package/menu/internal/menuitem/menu-item.d.ts +1 -1
- package/menu/internal/menuitem/menu-item.js.map +1 -1
- package/menu/menu-item.d.ts +2 -2
- package/menu/menu-item.js.map +1 -1
- package/menu/menu.d.ts +3 -3
- package/menu/menu.js.map +1 -1
- package/package.json +5 -3
- package/radio/internal/_radio.scss +34 -34
- package/radio/internal/radio-styles.css.js +1 -1
- package/radio/internal/radio-styles.css.js.map +1 -1
- package/ripple/internal/_ripple.scss +8 -9
- package/ripple/internal/ripple-styles.css.js +1 -1
- package/ripple/internal/ripple-styles.css.js.map +1 -1
- package/ripple/internal/ripple.js +1 -0
- package/ripple/internal/ripple.js.map +1 -1
- package/select/internal/select.js +3 -10
- package/select/internal/select.js.map +1 -1
- package/select/select-option.d.ts +1 -1
- package/select/select-option.js.map +1 -1
- package/switch/internal/_handle.scss +42 -37
- package/switch/internal/_icon.scss +17 -17
- package/switch/internal/_switch.scss +52 -52
- package/switch/internal/_track.scss +18 -18
- package/switch/internal/switch-styles.css.js +1 -1
- package/switch/internal/switch-styles.css.js.map +1 -1
- package/tabs/internal/tabs.d.ts +1 -0
- package/tabs/internal/tabs.js +7 -2
- package/tabs/internal/tabs.js.map +1 -1
- package/testing/harness.d.ts +371 -0
- package/testing/harness.js +737 -0
- package/testing/harness.js.map +1 -0
- package/testing/transform-pseudo-classes.d.ts +39 -0
- package/testing/transform-pseudo-classes.js +172 -0
- package/testing/transform-pseudo-classes.js.map +1 -0
- package/textfield/filled-text-field.d.ts +1 -1
- package/textfield/filled-text-field.js.map +1 -1
- package/textfield/internal/_input.scss +12 -0
- package/textfield/internal/shared-styles.css.js +1 -1
- package/textfield/internal/shared-styles.css.js.map +1 -1
- package/textfield/internal/text-field.d.ts +5 -2
- package/textfield/internal/text-field.js +20 -18
- package/textfield/internal/text-field.js.map +1 -1
- package/textfield/outlined-text-field.d.ts +1 -1
- package/textfield/outlined-text-field.js.map +1 -1
- package/tokens/_md-comp-assist-chip.scss +2 -2
- package/tokens/_md-comp-checkbox.scss +2 -2
- package/tokens/_md-comp-circular-progress.scss +2 -2
- package/tokens/_md-comp-dialog.scss +2 -2
- package/tokens/_md-comp-divider.scss +2 -2
- package/tokens/_md-comp-elevated-button.scss +2 -2
- package/tokens/_md-comp-elevated-card.scss +2 -2
- package/tokens/_md-comp-elevation.scss +2 -2
- package/tokens/_md-comp-fab-branded.scss +2 -2
- package/tokens/_md-comp-fab.scss +2 -2
- package/tokens/_md-comp-filled-button.scss +2 -2
- package/tokens/_md-comp-filled-card.scss +2 -2
- package/tokens/_md-comp-filled-field.scss +2 -2
- package/tokens/_md-comp-filled-icon-button.scss +2 -2
- package/tokens/_md-comp-filled-select.scss +2 -2
- package/tokens/_md-comp-filled-text-field.scss +2 -2
- package/tokens/_md-comp-filled-tonal-button.scss +2 -2
- package/tokens/_md-comp-filled-tonal-icon-button.scss +2 -2
- package/tokens/_md-comp-filter-chip.scss +2 -2
- package/tokens/_md-comp-focus-ring.scss +2 -2
- package/tokens/_md-comp-icon-button.scss +2 -2
- package/tokens/_md-comp-icon.scss +2 -2
- package/tokens/_md-comp-input-chip.scss +2 -2
- package/tokens/_md-comp-item.scss +2 -2
- package/tokens/_md-comp-linear-progress.scss +2 -2
- package/tokens/_md-comp-list-item.scss +2 -2
- package/tokens/_md-comp-list.scss +2 -2
- package/tokens/_md-comp-menu-item.scss +2 -2
- package/tokens/_md-comp-menu-list-item.scss +2 -2
- package/tokens/_md-comp-menu.scss +2 -2
- package/tokens/_md-comp-outlined-button.scss +2 -2
- package/tokens/_md-comp-outlined-card.scss +2 -2
- package/tokens/_md-comp-outlined-field.scss +2 -2
- package/tokens/_md-comp-outlined-icon-button.scss +2 -2
- package/tokens/_md-comp-outlined-segmented-button.scss +2 -2
- package/tokens/_md-comp-outlined-select.scss +2 -2
- package/tokens/_md-comp-outlined-text-field.scss +2 -2
- package/tokens/_md-comp-primary-tab.scss +2 -2
- package/tokens/_md-comp-radio.scss +2 -2
- package/tokens/_md-comp-ripple.scss +2 -2
- package/tokens/_md-comp-secondary-tab.scss +2 -2
- package/tokens/_md-comp-slider.scss +2 -2
- package/tokens/_md-comp-suggestion-chip.scss +2 -2
- package/tokens/_md-comp-switch.scss +2 -2
- package/tokens/_md-comp-text-button.scss +2 -2
- package/tokens/_md-ref-palette.scss +2 -2
- package/tokens/_md-ref-typeface.scss +2 -2
- package/tokens/_md-sys-color.scss +3 -3
- package/tokens/_md-sys-typescale.scss +2 -2
- package/tokens/{_values.scss → internal/_validate.scss} +10 -10
|
@@ -6,7 +6,7 @@
|
|
|
6
6
|
import '../../focus/md-focus-ring.js';
|
|
7
7
|
import '../../ripple/ripple.js';
|
|
8
8
|
import { LitElement } from 'lit';
|
|
9
|
-
import { FormSubmitter, FormSubmitterType } from '../../internal/controller/form-submitter.js';
|
|
9
|
+
import { FormSubmitter, type FormSubmitterType } from '../../internal/controller/form-submitter.js';
|
|
10
10
|
declare const buttonBaseClass: import("../../labs/behaviors/mixin.js").MixinReturn<typeof LitElement, import("../../labs/behaviors/element-internals.js").WithElementInternals>;
|
|
11
11
|
/**
|
|
12
12
|
* A button component.
|
|
@@ -40,7 +40,15 @@ export declare abstract class Button extends buttonBaseClass implements FormSubm
|
|
|
40
40
|
* Whether to display the icon or not.
|
|
41
41
|
*/
|
|
42
42
|
hasIcon: boolean;
|
|
43
|
+
/**
|
|
44
|
+
* The default behavior of the button. May be "text", "reset", or "submit"
|
|
45
|
+
* (default).
|
|
46
|
+
*/
|
|
43
47
|
type: FormSubmitterType;
|
|
48
|
+
/**
|
|
49
|
+
* The value added to a form with the button's name when the button submits a
|
|
50
|
+
* form.
|
|
51
|
+
*/
|
|
44
52
|
value: string;
|
|
45
53
|
get name(): string;
|
|
46
54
|
set name(name: string);
|
|
@@ -56,7 +56,15 @@ export class Button extends buttonBaseClass {
|
|
|
56
56
|
* Whether to display the icon or not.
|
|
57
57
|
*/
|
|
58
58
|
this.hasIcon = false;
|
|
59
|
+
/**
|
|
60
|
+
* The default behavior of the button. May be "text", "reset", or "submit"
|
|
61
|
+
* (default).
|
|
62
|
+
*/
|
|
59
63
|
this.type = 'submit';
|
|
64
|
+
/**
|
|
65
|
+
* The value added to a form with the button's name when the button submits a
|
|
66
|
+
* form.
|
|
67
|
+
*/
|
|
60
68
|
this.value = '';
|
|
61
69
|
this.handleActivationClick = (event) => {
|
|
62
70
|
if (!isActivationClick(event) || !this.buttonElement) {
|
|
@@ -162,7 +170,7 @@ __decorate([
|
|
|
162
170
|
property()
|
|
163
171
|
], Button.prototype, "type", void 0);
|
|
164
172
|
__decorate([
|
|
165
|
-
property()
|
|
173
|
+
property({ reflect: true })
|
|
166
174
|
], Button.prototype, "value", void 0);
|
|
167
175
|
__decorate([
|
|
168
176
|
query('.button')
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"button.js","sourceRoot":"","sources":["button.ts"],"names":[],"mappings":"AAAA;;;;GAIG;;AAEH,OAAO,8BAA8B,CAAC;AACtC,OAAO,wBAAwB,CAAC;AAEhC,OAAO,EAAC,IAAI,EAAE,QAAQ,EAAE,UAAU,EAAE,OAAO,EAAC,MAAM,KAAK,CAAC;AACxD,OAAO,EAAC,QAAQ,EAAE,KAAK,EAAE,qBAAqB,EAAC,MAAM,mBAAmB,CAAC;AAGzE,OAAO,EAAC,yBAAyB,EAAC,MAAM,iCAAiC,CAAC;AAC1E,OAAO,
|
|
1
|
+
{"version":3,"file":"button.js","sourceRoot":"","sources":["button.ts"],"names":[],"mappings":"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","sourcesContent":["/**\n * @license\n * Copyright 2019 Google LLC\n * SPDX-License-Identifier: Apache-2.0\n */\n\nimport '../../focus/md-focus-ring.js';\nimport '../../ripple/ripple.js';\n\nimport {html, isServer, LitElement, nothing} from 'lit';\nimport {property, query, queryAssignedElements} from 'lit/decorators.js';\n\nimport {ARIAMixinStrict} from '../../internal/aria/aria.js';\nimport {requestUpdateOnAriaChange} from '../../internal/aria/delegate.js';\nimport {\n FormSubmitter,\n setupFormSubmitter,\n type FormSubmitterType,\n} from '../../internal/controller/form-submitter.js';\nimport {\n dispatchActivationClick,\n isActivationClick,\n} from '../../internal/events/form-label-activation.js';\nimport {\n internals,\n mixinElementInternals,\n} from '../../labs/behaviors/element-internals.js';\n\n// Separate variable needed for closure.\nconst buttonBaseClass = mixinElementInternals(LitElement);\n\n/**\n * A button component.\n */\nexport abstract class Button extends buttonBaseClass implements FormSubmitter {\n static {\n requestUpdateOnAriaChange(Button);\n setupFormSubmitter(Button);\n }\n\n /** @nocollapse */\n static readonly formAssociated = true;\n\n /** @nocollapse */\n static override shadowRootOptions: ShadowRootInit = {\n mode: 'open',\n delegatesFocus: true,\n };\n\n /**\n * Whether or not the button is disabled.\n */\n @property({type: Boolean, reflect: true}) disabled = false;\n\n /**\n * The URL that the link button points to.\n */\n @property() href = '';\n\n /**\n * Where to display the linked `href` URL for a link button. Common options\n * include `_blank` to open in a new tab.\n */\n @property() target: '_blank' | '_parent' | '_self' | '_top' | '' = '';\n\n /**\n * Whether to render the icon at the inline end of the label rather than the\n * inline start.\n *\n * _Note:_ Link buttons cannot have trailing icons.\n */\n @property({type: Boolean, attribute: 'trailing-icon', reflect: true})\n trailingIcon = false;\n\n /**\n * Whether to display the icon or not.\n */\n @property({type: Boolean, attribute: 'has-icon', reflect: true}) hasIcon =\n false;\n\n /**\n * The default behavior of the button. May be \"text\", \"reset\", or \"submit\"\n * (default).\n */\n @property() type: FormSubmitterType = 'submit';\n\n /**\n * The value added to a form with the button's name when the button submits a\n * form.\n */\n @property({reflect: true}) value = '';\n\n get name() {\n return this.getAttribute('name') ?? '';\n }\n set name(name: string) {\n this.setAttribute('name', name);\n }\n\n /**\n * The associated form element with which this element's value will submit.\n */\n get form() {\n return this[internals].form;\n }\n\n @query('.button') private readonly buttonElement!: HTMLElement | null;\n\n @queryAssignedElements({slot: 'icon', flatten: true})\n private readonly assignedIcons!: HTMLElement[];\n\n constructor() {\n super();\n if (!isServer) {\n this.addEventListener('click', this.handleActivationClick);\n }\n }\n\n override focus() {\n this.buttonElement?.focus();\n }\n\n override blur() {\n this.buttonElement?.blur();\n }\n\n protected override render() {\n // Link buttons may not be disabled\n const isDisabled = this.disabled && !this.href;\n const buttonOrLink = this.href ? this.renderLink() : this.renderButton();\n // TODO(b/310046938): due to a limitation in focus ring/ripple, we can't use\n // the same ID for different elements, so we change the ID instead.\n const buttonId = this.href ? 'link' : 'button';\n return html`\n ${this.renderElevationOrOutline?.()}\n <div class=\"background\"></div>\n <md-focus-ring part=\"focus-ring\" for=${buttonId}></md-focus-ring>\n <md-ripple for=${buttonId} ?disabled=\"${isDisabled}\"></md-ripple>\n ${buttonOrLink}\n `;\n }\n\n // Buttons can override this to add elevation or an outline. Use this and\n // return `<md-elevation>` (for elevated, filled, and tonal buttons)\n // or `<div class=\"outline\">` (for outlined buttons).\n // Text buttons that have neither do not need to implement this.\n protected renderElevationOrOutline?(): unknown;\n\n private renderButton() {\n // Needed for closure conformance\n const {ariaLabel, ariaHasPopup, ariaExpanded} = this as ARIAMixinStrict;\n return html`<button\n id=\"button\"\n class=\"button\"\n ?disabled=${this.disabled}\n aria-label=\"${ariaLabel || nothing}\"\n aria-haspopup=\"${ariaHasPopup || nothing}\"\n aria-expanded=\"${ariaExpanded || nothing}\">\n ${this.renderContent()}\n </button>`;\n }\n\n private renderLink() {\n // Needed for closure conformance\n const {ariaLabel, ariaHasPopup, ariaExpanded} = this as ARIAMixinStrict;\n return html`<a\n id=\"link\"\n class=\"button\"\n aria-label=\"${ariaLabel || nothing}\"\n aria-haspopup=\"${ariaHasPopup || nothing}\"\n aria-expanded=\"${ariaExpanded || nothing}\"\n href=${this.href}\n target=${this.target || nothing}\n >${this.renderContent()}\n </a>`;\n }\n\n private renderContent() {\n const icon = html`<slot\n name=\"icon\"\n @slotchange=\"${this.handleSlotChange}\"></slot>`;\n\n return html`\n <span class=\"touch\"></span>\n ${this.trailingIcon ? nothing : icon}\n <span class=\"label\"><slot></slot></span>\n ${this.trailingIcon ? icon : nothing}\n `;\n }\n\n private readonly handleActivationClick = (event: MouseEvent) => {\n if (!isActivationClick(event) || !this.buttonElement) {\n return;\n }\n this.focus();\n dispatchActivationClick(this.buttonElement);\n };\n\n private handleSlotChange() {\n this.hasIcon = this.assignedIcons.length > 0;\n }\n}\n"]}
|
|
@@ -49,38 +49,43 @@ $_checkmark-bottom-left: 7px, -14px;
|
|
|
49
49
|
@mixin styles() {
|
|
50
50
|
$tokens: tokens.md-comp-checkbox-values();
|
|
51
51
|
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
52
|
+
// Support logical shape properties
|
|
53
|
+
$container-shape: map.get($tokens, 'container-shape');
|
|
54
|
+
$tokens: map.set(
|
|
55
|
+
$tokens,
|
|
56
|
+
'container-shape-start-start',
|
|
57
|
+
var(--md-checkbox-container-shape, #{$container-shape})
|
|
58
|
+
);
|
|
59
|
+
$tokens: map.set(
|
|
60
|
+
$tokens,
|
|
61
|
+
'container-shape-start-end',
|
|
62
|
+
var(--md-checkbox-container-shape, #{$container-shape})
|
|
63
|
+
);
|
|
64
|
+
$tokens: map.set(
|
|
65
|
+
$tokens,
|
|
66
|
+
'container-shape-end-end',
|
|
67
|
+
var(--md-checkbox-container-shape, #{$container-shape})
|
|
68
|
+
);
|
|
69
|
+
$tokens: map.set(
|
|
70
|
+
$tokens,
|
|
71
|
+
'container-shape-end-start',
|
|
72
|
+
var(--md-checkbox-container-shape, #{$container-shape})
|
|
73
|
+
);
|
|
56
74
|
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
var(--_container-shape)
|
|
61
|
-
);
|
|
62
|
-
--_container-shape-start-end: var(
|
|
63
|
-
--md-checkbox-container-shape-start-end,
|
|
64
|
-
var(--_container-shape)
|
|
65
|
-
);
|
|
66
|
-
--_container-shape-end-end: var(
|
|
67
|
-
--md-checkbox-container-shape-end-end,
|
|
68
|
-
var(--_container-shape)
|
|
69
|
-
);
|
|
70
|
-
--_container-shape-end-start: var(
|
|
71
|
-
--md-checkbox-container-shape-end-start,
|
|
72
|
-
var(--_container-shape)
|
|
73
|
-
);
|
|
75
|
+
@each $token, $value in $tokens {
|
|
76
|
+
$tokens: map.set($tokens, $token, var(--md-checkbox-#{$token}, #{$value}));
|
|
77
|
+
}
|
|
74
78
|
|
|
75
|
-
|
|
76
|
-
border-start-
|
|
77
|
-
border-
|
|
78
|
-
border-end-
|
|
79
|
+
:host {
|
|
80
|
+
border-start-start-radius: map.get($tokens, 'container-shape-start-start');
|
|
81
|
+
border-start-end-radius: map.get($tokens, 'container-shape-start-end');
|
|
82
|
+
border-end-end-radius: map.get($tokens, 'container-shape-end-end');
|
|
83
|
+
border-end-start-radius: map.get($tokens, 'container-shape-end-start');
|
|
79
84
|
display: inline-flex;
|
|
80
|
-
height:
|
|
85
|
+
height: map.get($tokens, 'container-size');
|
|
81
86
|
position: relative;
|
|
82
87
|
vertical-align: top; // Fix extra space when placed inside display: block
|
|
83
|
-
width:
|
|
88
|
+
width: map.get($tokens, 'container-size');
|
|
84
89
|
-webkit-tap-highlight-color: transparent;
|
|
85
90
|
cursor: pointer;
|
|
86
91
|
}
|
|
@@ -90,7 +95,7 @@ $_checkmark-bottom-left: 7px, -14px;
|
|
|
90
95
|
}
|
|
91
96
|
|
|
92
97
|
:host([touch-target='wrapper']) {
|
|
93
|
-
margin: max(0px, ((48px -
|
|
98
|
+
margin: max(0px, ((48px - map.get($tokens, 'container-size')) / 2));
|
|
94
99
|
}
|
|
95
100
|
|
|
96
101
|
md-focus-ring {
|
|
@@ -140,14 +145,14 @@ $_checkmark-bottom-left: 7px, -14px;
|
|
|
140
145
|
}
|
|
141
146
|
|
|
142
147
|
.outline {
|
|
143
|
-
border-color:
|
|
148
|
+
border-color: map.get($tokens, 'outline-color');
|
|
144
149
|
border-style: solid;
|
|
145
|
-
border-width:
|
|
150
|
+
border-width: map.get($tokens, 'outline-width');
|
|
146
151
|
box-sizing: border-box;
|
|
147
152
|
}
|
|
148
153
|
|
|
149
154
|
.background {
|
|
150
|
-
background-color:
|
|
155
|
+
background-color: map.get($tokens, 'selected-container-color');
|
|
151
156
|
}
|
|
152
157
|
|
|
153
158
|
// Background and icon transitions.
|
|
@@ -181,17 +186,17 @@ $_checkmark-bottom-left: 7px, -14px;
|
|
|
181
186
|
// Ripple
|
|
182
187
|
|
|
183
188
|
md-ripple {
|
|
184
|
-
border-radius:
|
|
185
|
-
height:
|
|
189
|
+
border-radius: map.get($tokens, 'state-layer-shape');
|
|
190
|
+
height: map.get($tokens, 'state-layer-size');
|
|
186
191
|
inset: unset;
|
|
187
|
-
width:
|
|
192
|
+
width: map.get($tokens, 'state-layer-size');
|
|
188
193
|
|
|
189
194
|
@include ripple.theme(
|
|
190
195
|
(
|
|
191
|
-
hover-color:
|
|
192
|
-
hover-opacity:
|
|
193
|
-
pressed-color:
|
|
194
|
-
pressed-opacity:
|
|
196
|
+
hover-color: map.get($tokens, 'hover-state-layer-color'),
|
|
197
|
+
hover-opacity: map.get($tokens, 'hover-state-layer-opacity'),
|
|
198
|
+
pressed-color: map.get($tokens, 'pressed-state-layer-color'),
|
|
199
|
+
pressed-opacity: map.get($tokens, 'pressed-state-layer-opacity'),
|
|
195
200
|
)
|
|
196
201
|
);
|
|
197
202
|
}
|
|
@@ -199,10 +204,11 @@ $_checkmark-bottom-left: 7px, -14px;
|
|
|
199
204
|
.selected md-ripple {
|
|
200
205
|
@include ripple.theme(
|
|
201
206
|
(
|
|
202
|
-
hover-color:
|
|
203
|
-
hover-opacity:
|
|
204
|
-
pressed-color:
|
|
205
|
-
pressed-opacity:
|
|
207
|
+
hover-color: map.get($tokens, 'selected-hover-state-layer-color'),
|
|
208
|
+
hover-opacity: map.get($tokens, 'selected-hover-state-layer-opacity'),
|
|
209
|
+
pressed-color: map.get($tokens, 'selected-pressed-state-layer-color'),
|
|
210
|
+
pressed-opacity:
|
|
211
|
+
map.get($tokens, 'selected-pressed-state-layer-opacity'),
|
|
206
212
|
)
|
|
207
213
|
);
|
|
208
214
|
}
|
|
@@ -217,9 +223,9 @@ $_checkmark-bottom-left: 7px, -14px;
|
|
|
217
223
|
// 2. Long end
|
|
218
224
|
// - the larger trailing part of the checkmark
|
|
219
225
|
// - the entirety of the indeterminate mark
|
|
220
|
-
fill:
|
|
221
|
-
height:
|
|
222
|
-
width:
|
|
226
|
+
fill: map.get($tokens, 'selected-icon-color');
|
|
227
|
+
height: map.get($tokens, 'icon-size');
|
|
228
|
+
width: map.get($tokens, 'icon-size');
|
|
223
229
|
}
|
|
224
230
|
|
|
225
231
|
// The short end of the checkmark. Initially hidden underneath the
|
|
@@ -327,42 +333,42 @@ $_checkmark-bottom-left: 7px, -14px;
|
|
|
327
333
|
// States
|
|
328
334
|
|
|
329
335
|
:where(:hover) .outline {
|
|
330
|
-
border-color:
|
|
331
|
-
border-width:
|
|
336
|
+
border-color: map.get($tokens, 'hover-outline-color');
|
|
337
|
+
border-width: map.get($tokens, 'hover-outline-width');
|
|
332
338
|
}
|
|
333
339
|
|
|
334
340
|
:where(:hover) .background {
|
|
335
|
-
background:
|
|
341
|
+
background: map.get($tokens, 'selected-hover-container-color');
|
|
336
342
|
}
|
|
337
343
|
|
|
338
344
|
:where(:hover) .icon {
|
|
339
|
-
fill:
|
|
345
|
+
fill: map.get($tokens, 'selected-hover-icon-color');
|
|
340
346
|
}
|
|
341
347
|
|
|
342
348
|
:where(:focus-within) .outline {
|
|
343
|
-
border-color:
|
|
344
|
-
border-width:
|
|
349
|
+
border-color: map.get($tokens, 'focus-outline-color');
|
|
350
|
+
border-width: map.get($tokens, 'focus-outline-width');
|
|
345
351
|
}
|
|
346
352
|
|
|
347
353
|
:where(:focus-within) .background {
|
|
348
|
-
background:
|
|
354
|
+
background: map.get($tokens, 'selected-focus-container-color');
|
|
349
355
|
}
|
|
350
356
|
|
|
351
357
|
:where(:focus-within) .icon {
|
|
352
|
-
fill:
|
|
358
|
+
fill: map.get($tokens, 'selected-focus-icon-color');
|
|
353
359
|
}
|
|
354
360
|
|
|
355
361
|
:where(:active) .outline {
|
|
356
|
-
border-color:
|
|
357
|
-
border-width:
|
|
362
|
+
border-color: map.get($tokens, 'pressed-outline-color');
|
|
363
|
+
border-width: map.get($tokens, 'pressed-outline-width');
|
|
358
364
|
}
|
|
359
365
|
|
|
360
366
|
:where(:active) .background {
|
|
361
|
-
background:
|
|
367
|
+
background: map.get($tokens, 'selected-pressed-container-color');
|
|
362
368
|
}
|
|
363
369
|
|
|
364
370
|
:where(:active) .icon {
|
|
365
|
-
fill:
|
|
371
|
+
fill: map.get($tokens, 'selected-pressed-icon-color');
|
|
366
372
|
}
|
|
367
373
|
|
|
368
374
|
// Don't animate to/from disabled states because the outline is hidden when
|
|
@@ -374,9 +380,9 @@ $_checkmark-bottom-left: 7px, -14px;
|
|
|
374
380
|
}
|
|
375
381
|
|
|
376
382
|
:where(.disabled) .outline {
|
|
377
|
-
border-color:
|
|
378
|
-
border-width:
|
|
379
|
-
opacity:
|
|
383
|
+
border-color: map.get($tokens, 'disabled-outline-color');
|
|
384
|
+
border-width: map.get($tokens, 'disabled-outline-width');
|
|
385
|
+
opacity: map.get($tokens, 'disabled-container-opacity');
|
|
380
386
|
}
|
|
381
387
|
|
|
382
388
|
:where(.selected.disabled) .outline {
|
|
@@ -388,12 +394,12 @@ $_checkmark-bottom-left: 7px, -14px;
|
|
|
388
394
|
:where(.selected.disabled) .background {
|
|
389
395
|
// Set disabled opacity only when selected since opacity is used to show
|
|
390
396
|
// or hide the container background.
|
|
391
|
-
background:
|
|
392
|
-
opacity:
|
|
397
|
+
background: map.get($tokens, 'selected-disabled-container-color');
|
|
398
|
+
opacity: map.get($tokens, 'selected-disabled-container-opacity');
|
|
393
399
|
}
|
|
394
400
|
|
|
395
401
|
:where(.disabled) .icon {
|
|
396
|
-
fill:
|
|
402
|
+
fill: map.get($tokens, 'selected-disabled-icon-color');
|
|
397
403
|
}
|
|
398
404
|
|
|
399
405
|
@media (forced-colors: active) {
|
|
@@ -4,6 +4,6 @@
|
|
|
4
4
|
* SPDX-License-Identifier: Apache-2.0
|
|
5
5
|
*/
|
|
6
6
|
import { css } from 'lit';
|
|
7
|
-
export const styles = css `:host{
|
|
7
|
+
export const styles = css `:host{border-start-start-radius:var(--md-checkbox-container-shape-start-start, var(--md-checkbox-container-shape, 2px));border-start-end-radius:var(--md-checkbox-container-shape-start-end, var(--md-checkbox-container-shape, 2px));border-end-end-radius:var(--md-checkbox-container-shape-end-end, var(--md-checkbox-container-shape, 2px));border-end-start-radius:var(--md-checkbox-container-shape-end-start, var(--md-checkbox-container-shape, 2px));display:inline-flex;height:var(--md-checkbox-container-size, 18px);position:relative;vertical-align:top;width:var(--md-checkbox-container-size, 18px);-webkit-tap-highlight-color:rgba(0,0,0,0);cursor:pointer}:host([disabled]){cursor:default}:host([touch-target=wrapper]){margin:max(0px,(48px - var(--md-checkbox-container-size, 18px))/2)}md-focus-ring{height:44px;inset:unset;width:44px}input{appearance:none;height:48px;margin:0;opacity:0;outline:none;position:absolute;width:48px;z-index:1;cursor:inherit}:host([touch-target=none]) input{height:100%;width:100%}.container{border-radius:inherit;display:flex;height:100%;place-content:center;place-items:center;position:relative;width:100%}.outline,.background,.icon{inset:0;position:absolute}.outline,.background{border-radius:inherit}.outline{border-color:var(--md-checkbox-outline-color, var(--md-sys-color-on-surface-variant, #49454f));border-style:solid;border-width:var(--md-checkbox-outline-width, 2px);box-sizing:border-box}.background{background-color:var(--md-checkbox-selected-container-color, var(--md-sys-color-primary, #6750a4))}.background,.icon{opacity:0;transition-duration:150ms,50ms;transition-property:transform,opacity;transition-timing-function:cubic-bezier(0.3, 0, 0.8, 0.15),linear;transform:scale(0.6)}:where(.selected) :is(.background,.icon){opacity:1;transition-duration:350ms,50ms;transition-timing-function:cubic-bezier(0.05, 0.7, 0.1, 1),linear;transform:scale(1)}md-ripple{border-radius:var(--md-checkbox-state-layer-shape, 9999px);height:var(--md-checkbox-state-layer-size, 40px);inset:unset;width:var(--md-checkbox-state-layer-size, 40px);--md-ripple-hover-color: var(--md-checkbox-hover-state-layer-color, var(--md-sys-color-on-surface, #1d1b20));--md-ripple-hover-opacity: var(--md-checkbox-hover-state-layer-opacity, 0.08);--md-ripple-pressed-color: var(--md-checkbox-pressed-state-layer-color, var(--md-sys-color-primary, #6750a4));--md-ripple-pressed-opacity: var(--md-checkbox-pressed-state-layer-opacity, 0.12)}.selected md-ripple{--md-ripple-hover-color: var(--md-checkbox-selected-hover-state-layer-color, var(--md-sys-color-primary, #6750a4));--md-ripple-hover-opacity: var(--md-checkbox-selected-hover-state-layer-opacity, 0.08);--md-ripple-pressed-color: var(--md-checkbox-selected-pressed-state-layer-color, var(--md-sys-color-on-surface, #1d1b20));--md-ripple-pressed-opacity: var(--md-checkbox-selected-pressed-state-layer-opacity, 0.12)}.icon{fill:var(--md-checkbox-selected-icon-color, var(--md-sys-color-on-primary, #fff));height:var(--md-checkbox-icon-size, 18px);width:var(--md-checkbox-icon-size, 18px)}.mark.short{height:2px;transition-property:transform,height;width:2px}.mark.long{height:2px;transition-property:transform,width;width:10px}.mark{animation-duration:150ms;animation-timing-function:cubic-bezier(0.3, 0, 0.8, 0.15);transition-duration:150ms;transition-timing-function:cubic-bezier(0.3, 0, 0.8, 0.15)}.selected .mark{animation-duration:350ms;animation-timing-function:cubic-bezier(0.05, 0.7, 0.1, 1);transition-duration:350ms;transition-timing-function:cubic-bezier(0.05, 0.7, 0.1, 1)}.checked .mark,.prev-checked.unselected .mark{transform:scaleY(-1) translate(7px, -14px) rotate(45deg)}.checked .mark.short,.prev-checked.unselected .mark.short{height:5.6568542495px}.checked .mark.long,.prev-checked.unselected .mark.long{width:11.313708499px}.indeterminate .mark,.prev-indeterminate.unselected .mark{transform:scaleY(-1) translate(4px, -10px) rotate(0deg)}.prev-unselected .mark{transition-property:none}.prev-unselected.checked .mark.long{animation-name:prev-unselected-to-checked}@keyframes prev-unselected-to-checked{from{width:0}}:where(:hover) .outline{border-color:var(--md-checkbox-hover-outline-color, var(--md-sys-color-on-surface, #1d1b20));border-width:var(--md-checkbox-hover-outline-width, 2px)}:where(:hover) .background{background:var(--md-checkbox-selected-hover-container-color, var(--md-sys-color-primary, #6750a4))}:where(:hover) .icon{fill:var(--md-checkbox-selected-hover-icon-color, var(--md-sys-color-on-primary, #fff))}:where(:focus-within) .outline{border-color:var(--md-checkbox-focus-outline-color, var(--md-sys-color-on-surface, #1d1b20));border-width:var(--md-checkbox-focus-outline-width, 2px)}:where(:focus-within) .background{background:var(--md-checkbox-selected-focus-container-color, var(--md-sys-color-primary, #6750a4))}:where(:focus-within) .icon{fill:var(--md-checkbox-selected-focus-icon-color, var(--md-sys-color-on-primary, #fff))}:where(:active) .outline{border-color:var(--md-checkbox-pressed-outline-color, var(--md-sys-color-on-surface, #1d1b20));border-width:var(--md-checkbox-pressed-outline-width, 2px)}:where(:active) .background{background:var(--md-checkbox-selected-pressed-container-color, var(--md-sys-color-primary, #6750a4))}:where(:active) .icon{fill:var(--md-checkbox-selected-pressed-icon-color, var(--md-sys-color-on-primary, #fff))}:where(.disabled,.prev-disabled) :is(.background,.icon,.mark){animation-duration:0s;transition-duration:0s}:where(.disabled) .outline{border-color:var(--md-checkbox-disabled-outline-color, var(--md-sys-color-on-surface, #1d1b20));border-width:var(--md-checkbox-disabled-outline-width, 2px);opacity:var(--md-checkbox-disabled-container-opacity, 0.38)}:where(.selected.disabled) .outline{visibility:hidden}:where(.selected.disabled) .background{background:var(--md-checkbox-selected-disabled-container-color, var(--md-sys-color-on-surface, #1d1b20));opacity:var(--md-checkbox-selected-disabled-container-opacity, 0.38)}:where(.disabled) .icon{fill:var(--md-checkbox-selected-disabled-icon-color, var(--md-sys-color-surface, #fef7ff))}@media(forced-colors: active){.background{background-color:CanvasText}.selected.disabled .background{background-color:GrayText;opacity:1}.outline{border-color:CanvasText}.disabled .outline{border-color:GrayText;opacity:1}.icon{fill:Canvas}}/*# sourceMappingURL=checkbox-styles.css.map */
|
|
8
8
|
`;
|
|
9
9
|
//# sourceMappingURL=checkbox-styles.css.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"checkbox-styles.css.js","sourceRoot":"","sources":["checkbox-styles.css.ts"],"names":[],"mappings":"AAAA;;;;IAII;AACH,OAAO,EAAC,GAAG,EAAC,MAAM,KAAK,CAAC;AACxB,MAAM,CAAC,MAAM,MAAM,GAAG,GAAG,CAAA;CACzB,CAAC","sourcesContent":["/**\n * @license\n * Copyright 2022 Google LLC\n * SPDX-License-Identifier: Apache-2.0\n */\n import {css} from 'lit';\n export const styles = css`:host{
|
|
1
|
+
{"version":3,"file":"checkbox-styles.css.js","sourceRoot":"","sources":["checkbox-styles.css.ts"],"names":[],"mappings":"AAAA;;;;IAII;AACH,OAAO,EAAC,GAAG,EAAC,MAAM,KAAK,CAAC;AACxB,MAAM,CAAC,MAAM,MAAM,GAAG,GAAG,CAAA;CACzB,CAAC","sourcesContent":["/**\n * @license\n * Copyright 2022 Google LLC\n * SPDX-License-Identifier: Apache-2.0\n */\n import {css} from 'lit';\n export const styles = css`:host{border-start-start-radius:var(--md-checkbox-container-shape-start-start, var(--md-checkbox-container-shape, 2px));border-start-end-radius:var(--md-checkbox-container-shape-start-end, var(--md-checkbox-container-shape, 2px));border-end-end-radius:var(--md-checkbox-container-shape-end-end, var(--md-checkbox-container-shape, 2px));border-end-start-radius:var(--md-checkbox-container-shape-end-start, var(--md-checkbox-container-shape, 2px));display:inline-flex;height:var(--md-checkbox-container-size, 18px);position:relative;vertical-align:top;width:var(--md-checkbox-container-size, 18px);-webkit-tap-highlight-color:rgba(0,0,0,0);cursor:pointer}:host([disabled]){cursor:default}:host([touch-target=wrapper]){margin:max(0px,(48px - var(--md-checkbox-container-size, 18px))/2)}md-focus-ring{height:44px;inset:unset;width:44px}input{appearance:none;height:48px;margin:0;opacity:0;outline:none;position:absolute;width:48px;z-index:1;cursor:inherit}:host([touch-target=none]) input{height:100%;width:100%}.container{border-radius:inherit;display:flex;height:100%;place-content:center;place-items:center;position:relative;width:100%}.outline,.background,.icon{inset:0;position:absolute}.outline,.background{border-radius:inherit}.outline{border-color:var(--md-checkbox-outline-color, var(--md-sys-color-on-surface-variant, #49454f));border-style:solid;border-width:var(--md-checkbox-outline-width, 2px);box-sizing:border-box}.background{background-color:var(--md-checkbox-selected-container-color, var(--md-sys-color-primary, #6750a4))}.background,.icon{opacity:0;transition-duration:150ms,50ms;transition-property:transform,opacity;transition-timing-function:cubic-bezier(0.3, 0, 0.8, 0.15),linear;transform:scale(0.6)}:where(.selected) :is(.background,.icon){opacity:1;transition-duration:350ms,50ms;transition-timing-function:cubic-bezier(0.05, 0.7, 0.1, 1),linear;transform:scale(1)}md-ripple{border-radius:var(--md-checkbox-state-layer-shape, 9999px);height:var(--md-checkbox-state-layer-size, 40px);inset:unset;width:var(--md-checkbox-state-layer-size, 40px);--md-ripple-hover-color: var(--md-checkbox-hover-state-layer-color, var(--md-sys-color-on-surface, #1d1b20));--md-ripple-hover-opacity: var(--md-checkbox-hover-state-layer-opacity, 0.08);--md-ripple-pressed-color: var(--md-checkbox-pressed-state-layer-color, var(--md-sys-color-primary, #6750a4));--md-ripple-pressed-opacity: var(--md-checkbox-pressed-state-layer-opacity, 0.12)}.selected md-ripple{--md-ripple-hover-color: var(--md-checkbox-selected-hover-state-layer-color, var(--md-sys-color-primary, #6750a4));--md-ripple-hover-opacity: var(--md-checkbox-selected-hover-state-layer-opacity, 0.08);--md-ripple-pressed-color: var(--md-checkbox-selected-pressed-state-layer-color, var(--md-sys-color-on-surface, #1d1b20));--md-ripple-pressed-opacity: var(--md-checkbox-selected-pressed-state-layer-opacity, 0.12)}.icon{fill:var(--md-checkbox-selected-icon-color, var(--md-sys-color-on-primary, #fff));height:var(--md-checkbox-icon-size, 18px);width:var(--md-checkbox-icon-size, 18px)}.mark.short{height:2px;transition-property:transform,height;width:2px}.mark.long{height:2px;transition-property:transform,width;width:10px}.mark{animation-duration:150ms;animation-timing-function:cubic-bezier(0.3, 0, 0.8, 0.15);transition-duration:150ms;transition-timing-function:cubic-bezier(0.3, 0, 0.8, 0.15)}.selected .mark{animation-duration:350ms;animation-timing-function:cubic-bezier(0.05, 0.7, 0.1, 1);transition-duration:350ms;transition-timing-function:cubic-bezier(0.05, 0.7, 0.1, 1)}.checked .mark,.prev-checked.unselected .mark{transform:scaleY(-1) translate(7px, -14px) rotate(45deg)}.checked .mark.short,.prev-checked.unselected .mark.short{height:5.6568542495px}.checked .mark.long,.prev-checked.unselected .mark.long{width:11.313708499px}.indeterminate .mark,.prev-indeterminate.unselected .mark{transform:scaleY(-1) translate(4px, -10px) rotate(0deg)}.prev-unselected .mark{transition-property:none}.prev-unselected.checked .mark.long{animation-name:prev-unselected-to-checked}@keyframes prev-unselected-to-checked{from{width:0}}:where(:hover) .outline{border-color:var(--md-checkbox-hover-outline-color, var(--md-sys-color-on-surface, #1d1b20));border-width:var(--md-checkbox-hover-outline-width, 2px)}:where(:hover) .background{background:var(--md-checkbox-selected-hover-container-color, var(--md-sys-color-primary, #6750a4))}:where(:hover) .icon{fill:var(--md-checkbox-selected-hover-icon-color, var(--md-sys-color-on-primary, #fff))}:where(:focus-within) .outline{border-color:var(--md-checkbox-focus-outline-color, var(--md-sys-color-on-surface, #1d1b20));border-width:var(--md-checkbox-focus-outline-width, 2px)}:where(:focus-within) .background{background:var(--md-checkbox-selected-focus-container-color, var(--md-sys-color-primary, #6750a4))}:where(:focus-within) .icon{fill:var(--md-checkbox-selected-focus-icon-color, var(--md-sys-color-on-primary, #fff))}:where(:active) .outline{border-color:var(--md-checkbox-pressed-outline-color, var(--md-sys-color-on-surface, #1d1b20));border-width:var(--md-checkbox-pressed-outline-width, 2px)}:where(:active) .background{background:var(--md-checkbox-selected-pressed-container-color, var(--md-sys-color-primary, #6750a4))}:where(:active) .icon{fill:var(--md-checkbox-selected-pressed-icon-color, var(--md-sys-color-on-primary, #fff))}:where(.disabled,.prev-disabled) :is(.background,.icon,.mark){animation-duration:0s;transition-duration:0s}:where(.disabled) .outline{border-color:var(--md-checkbox-disabled-outline-color, var(--md-sys-color-on-surface, #1d1b20));border-width:var(--md-checkbox-disabled-outline-width, 2px);opacity:var(--md-checkbox-disabled-container-opacity, 0.38)}:where(.selected.disabled) .outline{visibility:hidden}:where(.selected.disabled) .background{background:var(--md-checkbox-selected-disabled-container-color, var(--md-sys-color-on-surface, #1d1b20));opacity:var(--md-checkbox-selected-disabled-container-opacity, 0.38)}:where(.disabled) .icon{fill:var(--md-checkbox-selected-disabled-icon-color, var(--md-sys-color-surface, #fef7ff))}@media(forced-colors: active){.background{background-color:CanvasText}.selected.disabled .background{background-color:GrayText;opacity:1}.outline{border-color:CanvasText}.disabled .outline{border-color:GrayText;opacity:1}.icon{fill:Canvas}}/*# sourceMappingURL=checkbox-styles.css.map */\n`;\n "]}
|
|
@@ -34,37 +34,45 @@
|
|
|
34
34
|
}
|
|
35
35
|
|
|
36
36
|
@mixin styles() {
|
|
37
|
-
$tokens: tokens.md-comp-dialog-values();
|
|
38
37
|
$md-sys-color: tokens.md-sys-color-values-light();
|
|
39
38
|
$md-sys-motion: tokens.md-sys-motion-values();
|
|
39
|
+
$tokens: tokens.md-comp-dialog-values();
|
|
40
|
+
@each $token, $value in $tokens {
|
|
41
|
+
$tokens: map.set($tokens, $token, var(--md-dialog-#{$token}, #{$value}));
|
|
42
|
+
}
|
|
40
43
|
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
44
|
+
// Support logical shape properties
|
|
45
|
+
$tokens: map.merge(
|
|
46
|
+
$tokens,
|
|
47
|
+
(
|
|
48
|
+
'container-shape-start-start':
|
|
49
|
+
var(
|
|
50
|
+
--md-dialog-container-shape-start-start,
|
|
51
|
+
map.get($tokens, 'container-shape')
|
|
52
|
+
),
|
|
53
|
+
'container-shape-start-end':
|
|
54
|
+
var(
|
|
55
|
+
--md-dialog-container-shape-start-end,
|
|
56
|
+
map.get($tokens, 'container-shape')
|
|
57
|
+
),
|
|
58
|
+
'container-shape-end-end':
|
|
59
|
+
var(
|
|
60
|
+
--md-dialog-container-shape-end-end,
|
|
61
|
+
map.get($tokens, 'container-shape')
|
|
62
|
+
),
|
|
63
|
+
'container-shape-end-start':
|
|
64
|
+
var(
|
|
65
|
+
--md-dialog-container-shape-end-start,
|
|
66
|
+
map.get($tokens, 'container-shape')
|
|
67
|
+
),
|
|
68
|
+
)
|
|
69
|
+
);
|
|
45
70
|
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
);
|
|
51
|
-
--_container-shape-start-end: var(
|
|
52
|
-
--md-dialog-container-shape-start-end,
|
|
53
|
-
var(--_container-shape)
|
|
54
|
-
);
|
|
55
|
-
--_container-shape-end-end: var(
|
|
56
|
-
--md-dialog-container-shape-end-end,
|
|
57
|
-
var(--_container-shape)
|
|
58
|
-
);
|
|
59
|
-
--_container-shape-end-start: var(
|
|
60
|
-
--md-dialog-container-shape-end-start,
|
|
61
|
-
var(--_container-shape)
|
|
62
|
-
);
|
|
63
|
-
|
|
64
|
-
border-start-start-radius: var(--_container-shape-start-start);
|
|
65
|
-
border-start-end-radius: var(--_container-shape-start-end);
|
|
66
|
-
border-end-end-radius: var(--_container-shape-end-end);
|
|
67
|
-
border-end-start-radius: var(--_container-shape-end-start);
|
|
71
|
+
:host {
|
|
72
|
+
border-start-start-radius: map.get($tokens, 'container-shape-start-start');
|
|
73
|
+
border-start-end-radius: map.get($tokens, 'container-shape-start-end');
|
|
74
|
+
border-end-end-radius: map.get($tokens, 'container-shape-end-end');
|
|
75
|
+
border-end-start-radius: map.get($tokens, 'container-shape-end-start');
|
|
68
76
|
display: contents;
|
|
69
77
|
margin: auto;
|
|
70
78
|
max-height: min(560px, calc(100% - 48px));
|
|
@@ -123,13 +131,13 @@
|
|
|
123
131
|
|
|
124
132
|
.headline {
|
|
125
133
|
align-items: center;
|
|
126
|
-
color:
|
|
134
|
+
color: map.get($tokens, 'headline-color');
|
|
127
135
|
display: flex;
|
|
128
136
|
flex-direction: column;
|
|
129
|
-
font-family:
|
|
130
|
-
font-size:
|
|
131
|
-
line-height:
|
|
132
|
-
font-weight:
|
|
137
|
+
font-family: map.get($tokens, 'headline-font');
|
|
138
|
+
font-size: map.get($tokens, 'headline-size');
|
|
139
|
+
line-height: map.get($tokens, 'headline-line-height');
|
|
140
|
+
font-weight: map.get($tokens, 'headline-weight');
|
|
133
141
|
position: relative;
|
|
134
142
|
}
|
|
135
143
|
|
|
@@ -147,12 +155,12 @@
|
|
|
147
155
|
}
|
|
148
156
|
|
|
149
157
|
slot[name='icon']::slotted(*) {
|
|
150
|
-
color:
|
|
158
|
+
color: map.get($tokens, 'icon-color');
|
|
151
159
|
fill: currentColor;
|
|
152
|
-
font-size:
|
|
160
|
+
font-size: map.get($tokens, 'icon-size');
|
|
153
161
|
margin-top: 24px;
|
|
154
|
-
height:
|
|
155
|
-
width:
|
|
162
|
+
height: map.get($tokens, 'icon-size');
|
|
163
|
+
width: map.get($tokens, 'icon-size');
|
|
156
164
|
}
|
|
157
165
|
|
|
158
166
|
.has-icon slot[name='headline']::slotted(*) {
|
|
@@ -181,7 +189,7 @@
|
|
|
181
189
|
}
|
|
182
190
|
|
|
183
191
|
.container::before {
|
|
184
|
-
background:
|
|
192
|
+
background: map.get($tokens, 'container-color');
|
|
185
193
|
border-radius: inherit;
|
|
186
194
|
content: '';
|
|
187
195
|
inset: 0;
|
|
@@ -208,11 +216,11 @@
|
|
|
208
216
|
}
|
|
209
217
|
|
|
210
218
|
.content {
|
|
211
|
-
color:
|
|
212
|
-
font-family:
|
|
213
|
-
font-size:
|
|
214
|
-
line-height:
|
|
215
|
-
font-weight:
|
|
219
|
+
color: map.get($tokens, 'supporting-text-color');
|
|
220
|
+
font-family: map.get($tokens, 'supporting-text-font');
|
|
221
|
+
font-size: map.get($tokens, 'supporting-text-size');
|
|
222
|
+
line-height: map.get($tokens, 'supporting-text-line-height');
|
|
223
|
+
font-weight: map.get($tokens, 'supporting-text-weight');
|
|
216
224
|
height: min-content; // Needed for Safari
|
|
217
225
|
position: relative;
|
|
218
226
|
}
|
|
@@ -4,6 +4,6 @@
|
|
|
4
4
|
* SPDX-License-Identifier: Apache-2.0
|
|
5
5
|
*/
|
|
6
6
|
import { css } from 'lit';
|
|
7
|
-
export const styles = css `:host{
|
|
7
|
+
export const styles = css `:host{border-start-start-radius:var(--md-dialog-container-shape-start-start, var(--md-dialog-container-shape, 28px));border-start-end-radius:var(--md-dialog-container-shape-start-end, var(--md-dialog-container-shape, 28px));border-end-end-radius:var(--md-dialog-container-shape-end-end, var(--md-dialog-container-shape, 28px));border-end-start-radius:var(--md-dialog-container-shape-end-start, var(--md-dialog-container-shape, 28px));display:contents;margin:auto;max-height:min(560px,100% - 48px);max-width:min(560px,100% - 48px);min-height:140px;min-width:280px;position:fixed;height:fit-content;width:fit-content}dialog{background:rgba(0,0,0,0);border:none;border-radius:inherit;flex-direction:column;height:inherit;margin:inherit;max-height:inherit;max-width:inherit;min-height:inherit;min-width:inherit;outline:none;overflow:visible;padding:0;width:inherit}dialog[open]{display:flex}::backdrop{background:none}.scrim{background:var(--md-sys-color-scrim, #000);display:none;inset:0;opacity:32%;pointer-events:none;position:fixed;z-index:1}:host([open]) .scrim{display:flex}h2{all:unset;align-self:stretch}.headline{align-items:center;color:var(--md-dialog-headline-color, var(--md-sys-color-on-surface, #1d1b20));display:flex;flex-direction:column;font-family:var(--md-dialog-headline-font, var(--md-sys-typescale-headline-small-font, var(--md-ref-typeface-brand, Roboto)));font-size:var(--md-dialog-headline-size, var(--md-sys-typescale-headline-small-size, 1.5rem));line-height:var(--md-dialog-headline-line-height, var(--md-sys-typescale-headline-small-line-height, 2rem));font-weight:var(--md-dialog-headline-weight, var(--md-sys-typescale-headline-small-weight, var(--md-ref-typeface-weight-regular, 400)));position:relative}slot[name=headline]::slotted(*){align-items:center;align-self:stretch;box-sizing:border-box;display:flex;gap:8px;padding:24px 24px 0}.icon{display:flex}slot[name=icon]::slotted(*){color:var(--md-dialog-icon-color, var(--md-sys-color-secondary, #625b71));fill:currentColor;font-size:var(--md-dialog-icon-size, 24px);margin-top:24px;height:var(--md-dialog-icon-size, 24px);width:var(--md-dialog-icon-size, 24px)}.has-icon slot[name=headline]::slotted(*){justify-content:center;padding-top:16px}.scrollable slot[name=headline]::slotted(*){padding-bottom:16px}.scrollable.has-headline slot[name=content]::slotted(*){padding-top:8px}.container{border-radius:inherit;display:flex;flex-direction:column;flex-grow:1;overflow:hidden;position:relative;transform-origin:top}.container::before{background:var(--md-dialog-container-color, var(--md-sys-color-surface-container-high, #ece6f0));border-radius:inherit;content:"";inset:0;position:absolute}.scroller{display:flex;flex:1;flex-direction:column;overflow:hidden;z-index:1}.scrollable .scroller{overflow-y:scroll}.content{color:var(--md-dialog-supporting-text-color, var(--md-sys-color-on-surface-variant, #49454f));font-family:var(--md-dialog-supporting-text-font, var(--md-sys-typescale-body-medium-font, var(--md-ref-typeface-plain, Roboto)));font-size:var(--md-dialog-supporting-text-size, var(--md-sys-typescale-body-medium-size, 0.875rem));line-height:var(--md-dialog-supporting-text-line-height, var(--md-sys-typescale-body-medium-line-height, 1.25rem));font-weight:var(--md-dialog-supporting-text-weight, var(--md-sys-typescale-body-medium-weight, var(--md-ref-typeface-weight-regular, 400)));height:min-content;position:relative}slot[name=content]::slotted(*){box-sizing:border-box;padding:24px}.anchor{position:absolute}.top.anchor{top:0}.bottom.anchor{bottom:0}.actions{position:relative}slot[name=actions]::slotted(*){box-sizing:border-box;display:flex;gap:8px;justify-content:flex-end;padding:16px 24px 24px}.has-actions slot[name=content]::slotted(*){padding-bottom:8px}md-divider{display:none;position:absolute}.has-headline.show-top-divider .headline md-divider,.has-actions.show-bottom-divider .actions md-divider{display:flex}.headline md-divider{bottom:0}.actions md-divider{top:0}@media(forced-colors: active){dialog{outline:2px solid WindowText}}/*# sourceMappingURL=dialog-styles.css.map */
|
|
8
8
|
`;
|
|
9
9
|
//# sourceMappingURL=dialog-styles.css.js.map
|