@api-client/ui 0.2.9 → 0.2.11
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/build/src/md/UiElement.d.ts +5 -0
- package/build/src/md/UiElement.d.ts.map +1 -1
- package/build/src/md/UiElement.js +7 -0
- package/build/src/md/UiElement.js.map +1 -1
- package/build/src/md/button/ui-elevated-button.d.ts +1 -1
- package/build/src/md/button/ui-elevated-button.js +1 -1
- package/build/src/md/button/ui-elevated-button.js.map +1 -1
- package/build/src/md/button/ui-filled-button.d.ts +1 -1
- package/build/src/md/button/ui-filled-button.js +1 -1
- package/build/src/md/button/ui-filled-button.js.map +1 -1
- package/build/src/md/button/ui-filled-tonal-button.d.ts +3 -3
- package/build/src/md/button/ui-filled-tonal-button.d.ts.map +1 -1
- package/build/src/md/button/ui-filled-tonal-button.js +6 -6
- package/build/src/md/button/ui-filled-tonal-button.js.map +1 -1
- package/build/src/md/button/ui-outlined-button.d.ts +1 -1
- package/build/src/md/button/ui-outlined-button.js +1 -1
- package/build/src/md/button/ui-outlined-button.js.map +1 -1
- package/build/src/md/button/ui-text-button.d.ts +1 -1
- package/build/src/md/button/ui-text-button.js +1 -1
- package/build/src/md/button/ui-text-button.js.map +1 -1
- package/build/src/md/checkbox/internals/Checkbox.styles.d.ts.map +1 -1
- package/build/src/md/checkbox/internals/Checkbox.styles.js +55 -216
- package/build/src/md/checkbox/internals/Checkbox.styles.js.map +1 -1
- package/build/src/md/checkbox/internals/CheckboxElement.d.ts +10 -7
- package/build/src/md/checkbox/internals/CheckboxElement.d.ts.map +1 -1
- package/build/src/md/checkbox/internals/CheckboxElement.js +39 -32
- package/build/src/md/checkbox/internals/CheckboxElement.js.map +1 -1
- package/build/src/md/checkbox/internals/CheckedElement.d.ts.map +1 -1
- package/build/src/md/checkbox/internals/CheckedElement.js +1 -0
- package/build/src/md/checkbox/internals/CheckedElement.js.map +1 -1
- package/build/src/md/dropdown-list/internals/UiDropdownList.d.ts +13 -2
- package/build/src/md/dropdown-list/internals/UiDropdownList.d.ts.map +1 -1
- package/build/src/md/dropdown-list/internals/UiDropdownList.js +59 -20
- package/build/src/md/dropdown-list/internals/UiDropdownList.js.map +1 -1
- package/build/src/md/icon-button/internals/IconButton.d.ts +8 -24
- package/build/src/md/icon-button/internals/IconButton.d.ts.map +1 -1
- package/build/src/md/icon-button/internals/IconButton.js +35 -63
- package/build/src/md/icon-button/internals/IconButton.js.map +1 -1
- package/build/src/md/icon-button/internals/{IconButton.styles.d.ts → base.styles.d.ts} +1 -1
- package/build/src/md/icon-button/internals/base.styles.d.ts.map +1 -0
- package/build/src/md/icon-button/internals/base.styles.js +93 -0
- package/build/src/md/icon-button/internals/base.styles.js.map +1 -0
- package/build/src/md/icon-button/internals/filled-tonal.styles.d.ts +3 -0
- package/build/src/md/icon-button/internals/filled-tonal.styles.d.ts.map +1 -0
- package/build/src/md/icon-button/internals/filled-tonal.styles.js +30 -0
- package/build/src/md/icon-button/internals/filled-tonal.styles.js.map +1 -0
- package/build/src/md/icon-button/internals/filled.styles.d.ts +3 -0
- package/build/src/md/icon-button/internals/filled.styles.d.ts.map +1 -0
- package/build/src/md/icon-button/internals/filled.styles.js +36 -0
- package/build/src/md/icon-button/internals/filled.styles.js.map +1 -0
- package/build/src/md/icon-button/internals/outlined.styles.d.ts +3 -0
- package/build/src/md/icon-button/internals/outlined.styles.d.ts.map +1 -0
- package/build/src/md/icon-button/internals/outlined.styles.js +31 -0
- package/build/src/md/icon-button/internals/outlined.styles.js.map +1 -0
- package/build/src/md/icon-button/internals/standard.styles.d.ts +3 -0
- package/build/src/md/icon-button/internals/standard.styles.d.ts.map +1 -0
- package/build/src/md/icon-button/internals/standard.styles.js +18 -0
- package/build/src/md/icon-button/internals/standard.styles.js.map +1 -0
- package/build/src/md/icon-button/ui-filled-icon-button.d.ts +11 -0
- package/build/src/md/icon-button/ui-filled-icon-button.d.ts.map +1 -0
- package/build/src/md/icon-button/ui-filled-icon-button.js +28 -0
- package/build/src/md/icon-button/ui-filled-icon-button.js.map +1 -0
- package/build/src/md/icon-button/ui-filled-tonal-icon-button.d.ts +11 -0
- package/build/src/md/icon-button/ui-filled-tonal-icon-button.d.ts.map +1 -0
- package/build/src/md/icon-button/ui-filled-tonal-icon-button.js +28 -0
- package/build/src/md/icon-button/ui-filled-tonal-icon-button.js.map +1 -0
- package/build/src/md/icon-button/ui-icon-button.d.ts.map +1 -1
- package/build/src/md/icon-button/ui-icon-button.js +3 -2
- package/build/src/md/icon-button/ui-icon-button.js.map +1 -1
- package/build/src/md/icon-button/ui-outlined-icon-button.d.ts +11 -0
- package/build/src/md/icon-button/ui-outlined-icon-button.d.ts.map +1 -0
- package/build/src/md/icon-button/ui-outlined-icon-button.js +28 -0
- package/build/src/md/icon-button/ui-outlined-icon-button.js.map +1 -0
- package/build/src/md/icons/internals/Icon.d.ts +1 -0
- package/build/src/md/icons/internals/Icon.d.ts.map +1 -1
- package/build/src/md/icons/internals/Icon.js +13 -0
- package/build/src/md/icons/internals/Icon.js.map +1 -1
- package/build/src/md/icons/internals/Icon.styles.d.ts.map +1 -1
- package/build/src/md/icons/internals/Icon.styles.js +31 -2
- package/build/src/md/icons/internals/Icon.styles.js.map +1 -1
- package/build/src/md/list/internals/ListItem.d.ts +4 -3
- package/build/src/md/list/internals/ListItem.d.ts.map +1 -1
- package/build/src/md/list/internals/ListItem.js +55 -15
- package/build/src/md/list/internals/ListItem.js.map +1 -1
- package/build/src/md/list/internals/ListItem.styles.d.ts.map +1 -1
- package/build/src/md/list/internals/ListItem.styles.js +6 -2
- package/build/src/md/list/internals/ListItem.styles.js.map +1 -1
- package/build/src/md/ripple/internals/ripple.d.ts +2 -1
- package/build/src/md/ripple/internals/ripple.d.ts.map +1 -1
- package/build/src/md/ripple/internals/ripple.js +42 -12
- package/build/src/md/ripple/internals/ripple.js.map +1 -1
- package/build/src/md/segmented-button/internals/SegmentedButton.d.ts +1 -1
- package/build/src/md/segmented-button/internals/SegmentedButton.d.ts.map +1 -1
- package/build/src/md/segmented-button/internals/SegmentedButton.js +1 -1
- package/build/src/md/segmented-button/internals/SegmentedButton.js.map +1 -1
- package/demo/md/buttons/{button.html → index.html} +1 -1
- package/demo/md/{inputs/checkbox.html → checkbox/index.html} +1 -1
- package/demo/md/{list/dropdown-list.html → dropdown-list/index.html} +1 -1
- package/demo/md/{buttons/icon-button.html → icon-button/index.html} +5 -1
- package/demo/md/icon-button/index.ts +236 -0
- package/demo/md/index.html +36 -29
- package/demo/md/listbox/listbox.html +31 -0
- package/demo/md/listbox/listbox.ts +27 -0
- package/demo/md/{buttons/segmented-buttons.html → segmented-button/index.html} +1 -1
- package/package.json +1 -1
- package/src/md/UiElement.ts +8 -0
- package/src/md/button/ui-elevated-button.ts +1 -1
- package/src/md/button/ui-filled-button.ts +1 -1
- package/src/md/button/ui-filled-tonal-button.ts +3 -3
- package/src/md/button/ui-outlined-button.ts +1 -1
- package/src/md/button/ui-text-button.ts +1 -1
- package/src/md/checkbox/internals/Checkbox.styles.ts +55 -216
- package/src/md/checkbox/internals/CheckboxElement.ts +39 -26
- package/src/md/checkbox/internals/CheckedElement.ts +1 -0
- package/src/md/dropdown-list/internals/UiDropdownList.ts +60 -21
- package/src/md/icon-button/internals/IconButton.ts +29 -46
- package/src/md/icon-button/internals/base.styles.ts +93 -0
- package/src/md/icon-button/internals/filled-tonal.styles.ts +30 -0
- package/src/md/icon-button/internals/filled.styles.ts +36 -0
- package/src/md/icon-button/internals/outlined.styles.ts +31 -0
- package/src/md/icon-button/internals/standard.styles.ts +18 -0
- package/src/md/icon-button/ui-filled-icon-button.ts +16 -0
- package/src/md/icon-button/ui-filled-tonal-icon-button.ts +16 -0
- package/src/md/icon-button/ui-icon-button.ts +3 -2
- package/src/md/icon-button/ui-outlined-icon-button.ts +16 -0
- package/src/md/icons/internals/Icon.styles.ts +31 -2
- package/src/md/icons/internals/Icon.ts +14 -0
- package/src/md/list/internals/ListItem.styles.ts +6 -2
- package/src/md/list/internals/ListItem.ts +51 -18
- package/src/md/ripple/internals/ripple.ts +47 -13
- package/src/md/segmented-button/internals/SegmentedButton.ts +2 -2
- package/test/ui/button/UiIconButton.test.ts +1 -8
- package/build/src/md/icon-button/internals/IconButton.styles.d.ts.map +0 -1
- package/build/src/md/icon-button/internals/IconButton.styles.js +0 -614
- package/build/src/md/icon-button/internals/IconButton.styles.js.map +0 -1
- package/demo/md/buttons/icon-button.ts +0 -184
- package/src/md/icon-button/internals/IconButton.styles.ts +0 -614
- /package/demo/md/buttons/{button.ts → index.ts} +0 -0
- /package/demo/md/{inputs/checkbox.ts → checkbox/index.ts} +0 -0
- /package/demo/md/{list/dropdown-list.ts → dropdown-list/index.ts} +0 -0
- /package/demo/md/{buttons/segmented-buttons.ts → segmented-button/index.ts} +0 -0
|
@@ -1,28 +1,13 @@
|
|
|
1
1
|
import { PropertyValues, TemplateResult } from 'lit';
|
|
2
2
|
import { BeginPressConfig, EndPressConfig } from '../../../controllers/ActionController.js';
|
|
3
|
-
import UiRipple from '../../ripple/internals/ripple.js';
|
|
4
3
|
import { UiElement } from '../../UiElement.js';
|
|
4
|
+
import UiRipple from '../../ripple/internals/ripple.js';
|
|
5
5
|
import '../../ripple/ui-ripple.js';
|
|
6
|
-
|
|
7
|
-
* The type of the icon button rendered.
|
|
8
|
-
*/
|
|
9
|
-
export declare enum IconButtonType {
|
|
10
|
-
'filled' = "filled",
|
|
11
|
-
'tonal' = "tonal",
|
|
12
|
-
'outlined' = "outlined",
|
|
13
|
-
'standard' = "standard"
|
|
14
|
-
}
|
|
6
|
+
import '@material/web/focus/md-focus-ring.js';
|
|
15
7
|
/**
|
|
16
8
|
* @fires active - An event dispatched when the `active` state has changed. This only happens when the button is `toggle`.
|
|
17
9
|
*/
|
|
18
|
-
export default class
|
|
19
|
-
/**
|
|
20
|
-
* The type of the rendered button according to Material 3 spec.
|
|
21
|
-
*
|
|
22
|
-
* @default {ButtonType.filled}
|
|
23
|
-
* @attribute
|
|
24
|
-
*/
|
|
25
|
-
accessor type: IconButtonType;
|
|
10
|
+
export default class IconButton extends UiElement {
|
|
26
11
|
/**
|
|
27
12
|
* Whether the button can be toggled.
|
|
28
13
|
* A toggle button behaves different as it gets the `aria-pressed` attribute
|
|
@@ -41,23 +26,22 @@ export default class UiIconButton extends UiElement {
|
|
|
41
26
|
* @attribute
|
|
42
27
|
*/
|
|
43
28
|
accessor active: boolean | undefined;
|
|
44
|
-
protected accessor ripple: Promise<UiRipple | null>;
|
|
45
|
-
protected accessor showRipple: boolean;
|
|
46
29
|
get disabled(): boolean;
|
|
47
30
|
/**
|
|
48
31
|
* When set, the button is a disabled state.
|
|
49
32
|
* @attribute
|
|
50
33
|
*/
|
|
51
34
|
set disabled(value: boolean);
|
|
52
|
-
protected
|
|
35
|
+
protected accessor ripple: UiRipple | null;
|
|
53
36
|
constructor();
|
|
54
37
|
connectedCallback(): void;
|
|
55
38
|
protected update(changedProperties: PropertyValues<this>): void;
|
|
56
|
-
protected pressRipple():
|
|
57
|
-
protected endRipple():
|
|
39
|
+
protected pressRipple(options: BeginPressConfig): void;
|
|
40
|
+
protected endRipple(): void;
|
|
58
41
|
beginPress(options: BeginPressConfig): void;
|
|
59
42
|
endPress(config: EndPressConfig): void;
|
|
43
|
+
handlePointerEnter(e: PointerEvent): void;
|
|
44
|
+
handlePointerLeave(e: PointerEvent): void;
|
|
60
45
|
protected render(): TemplateResult;
|
|
61
|
-
protected renderRipple: () => TemplateResult;
|
|
62
46
|
}
|
|
63
47
|
//# sourceMappingURL=IconButton.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"IconButton.d.ts","sourceRoot":"","sources":["../../../../../src/md/icon-button/internals/IconButton.ts"],"names":[],"mappings":"AACA,OAAO,EAAQ,cAAc,EAAE,cAAc,EAAE,MAAM,KAAK,CAAA;
|
|
1
|
+
{"version":3,"file":"IconButton.d.ts","sourceRoot":"","sources":["../../../../../src/md/icon-button/internals/IconButton.ts"],"names":[],"mappings":"AACA,OAAO,EAAQ,cAAc,EAAE,cAAc,EAAE,MAAM,KAAK,CAAA;AAG1D,OAAO,EAAE,gBAAgB,EAAE,cAAc,EAAE,MAAM,0CAA0C,CAAA;AAC3F,OAAO,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAA;AAE9C,OAAO,QAAQ,MAAM,kCAAkC,CAAA;AAEvD,OAAO,2BAA2B,CAAA;AAClC,OAAO,sCAAsC,CAAA;AAE7C;;GAEG;AACH,MAAM,CAAC,OAAO,OAAO,UAAW,SAAQ,SAAS;IAC/C;;;;;;;;;OASG;IACyC,QAAQ,CAAC,MAAM,EAAE,OAAO,GAAG,SAAS,CAAA;IAEhF;;;;;OAKG;IACyC,QAAQ,CAAC,MAAM,EAAE,OAAO,GAAG,SAAS,CAAA;IAEhF,IAAI,QAAQ,IAAI,OAAO,CAEtB;IAED;;;OAGG;IACH,IACI,QAAQ,CAAC,KAAK,EAAE,OAAO,EAI1B;IAEmB,SAAS,CAAC,QAAQ,CAAC,MAAM,EAAG,QAAQ,GAAG,IAAI,CAAA;;IAiBtD,iBAAiB,IAAI,IAAI;cAUf,MAAM,CAAC,iBAAiB,EAAE,cAAc,CAAC,IAAI,CAAC,GAAG,IAAI;IAOxE,SAAS,CAAC,WAAW,CAAC,OAAO,EAAE,gBAAgB,GAAG,IAAI;IAOtD,SAAS,CAAC,SAAS,IAAI,IAAI;IAIlB,UAAU,CAAC,OAAO,EAAE,gBAAgB,GAAG,IAAI;IAK3C,QAAQ,CAAC,MAAM,EAAE,cAAc,GAAG,IAAI;IAqBtC,kBAAkB,CAAC,CAAC,EAAE,YAAY,GAAG,IAAI;IAOzC,kBAAkB,CAAC,CAAC,EAAE,YAAY,GAAG,IAAI;cAO/B,MAAM,IAAI,cAAc;CAkB5C"}
|
|
@@ -1,69 +1,39 @@
|
|
|
1
1
|
import { __esDecorate, __runInitializers } from "tslib";
|
|
2
2
|
/* eslint-disable max-len */
|
|
3
3
|
import { html } from 'lit';
|
|
4
|
-
import { property,
|
|
4
|
+
import { property, query } from 'lit/decorators.js';
|
|
5
5
|
import { classMap } from 'lit/directives/class-map.js';
|
|
6
|
-
import { when } from 'lit/directives/when.js';
|
|
7
|
-
import { ripple } from '../../effects/rippleDirective.js';
|
|
8
6
|
import { UiElement } from '../../UiElement.js';
|
|
9
7
|
import { isDisabled, setDisabled } from '../../../lib/disabled.js';
|
|
10
8
|
import '../../ripple/ui-ripple.js';
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
*/
|
|
14
|
-
export var IconButtonType;
|
|
15
|
-
(function (IconButtonType) {
|
|
16
|
-
IconButtonType["filled"] = "filled";
|
|
17
|
-
IconButtonType["tonal"] = "tonal";
|
|
18
|
-
IconButtonType["outlined"] = "outlined";
|
|
19
|
-
IconButtonType["standard"] = "standard";
|
|
20
|
-
})(IconButtonType || (IconButtonType = {}));
|
|
21
|
-
let UiIconButton = (() => {
|
|
9
|
+
import '@material/web/focus/md-focus-ring.js';
|
|
10
|
+
let IconButton = (() => {
|
|
22
11
|
let _classSuper = UiElement;
|
|
23
12
|
let _instanceExtraInitializers = [];
|
|
24
|
-
let _type_decorators;
|
|
25
|
-
let _type_initializers = [];
|
|
26
|
-
let _type_extraInitializers = [];
|
|
27
13
|
let _toggle_decorators;
|
|
28
14
|
let _toggle_initializers = [];
|
|
29
15
|
let _toggle_extraInitializers = [];
|
|
30
16
|
let _active_decorators;
|
|
31
17
|
let _active_initializers = [];
|
|
32
18
|
let _active_extraInitializers = [];
|
|
19
|
+
let _set_disabled_decorators;
|
|
33
20
|
let _ripple_decorators;
|
|
34
21
|
let _ripple_initializers = [];
|
|
35
22
|
let _ripple_extraInitializers = [];
|
|
36
|
-
|
|
37
|
-
let _showRipple_initializers = [];
|
|
38
|
-
let _showRipple_extraInitializers = [];
|
|
39
|
-
let _set_disabled_decorators;
|
|
40
|
-
return class UiIconButton extends _classSuper {
|
|
23
|
+
return class IconButton extends _classSuper {
|
|
41
24
|
static {
|
|
42
25
|
const _metadata = typeof Symbol === "function" && Symbol.metadata ? Object.create(_classSuper[Symbol.metadata] ?? null) : void 0;
|
|
43
|
-
_type_decorators = [property({ type: String, reflect: true })];
|
|
44
26
|
_toggle_decorators = [property({ type: Boolean, reflect: true })];
|
|
45
27
|
_active_decorators = [property({ type: Boolean, reflect: true })];
|
|
46
|
-
_ripple_decorators = [queryAsync('ui-ripple')];
|
|
47
|
-
_showRipple_decorators = [state()];
|
|
48
28
|
_set_disabled_decorators = [property({ reflect: true, type: Boolean })];
|
|
49
|
-
|
|
29
|
+
_ripple_decorators = [query('ui-ripple')];
|
|
50
30
|
__esDecorate(this, null, _toggle_decorators, { kind: "accessor", name: "toggle", static: false, private: false, access: { has: obj => "toggle" in obj, get: obj => obj.toggle, set: (obj, value) => { obj.toggle = value; } }, metadata: _metadata }, _toggle_initializers, _toggle_extraInitializers);
|
|
51
31
|
__esDecorate(this, null, _active_decorators, { kind: "accessor", name: "active", static: false, private: false, access: { has: obj => "active" in obj, get: obj => obj.active, set: (obj, value) => { obj.active = value; } }, metadata: _metadata }, _active_initializers, _active_extraInitializers);
|
|
52
|
-
__esDecorate(this, null, _ripple_decorators, { kind: "accessor", name: "ripple", static: false, private: false, access: { has: obj => "ripple" in obj, get: obj => obj.ripple, set: (obj, value) => { obj.ripple = value; } }, metadata: _metadata }, _ripple_initializers, _ripple_extraInitializers);
|
|
53
|
-
__esDecorate(this, null, _showRipple_decorators, { kind: "accessor", name: "showRipple", static: false, private: false, access: { has: obj => "showRipple" in obj, get: obj => obj.showRipple, set: (obj, value) => { obj.showRipple = value; } }, metadata: _metadata }, _showRipple_initializers, _showRipple_extraInitializers);
|
|
54
32
|
__esDecorate(this, null, _set_disabled_decorators, { kind: "setter", name: "disabled", static: false, private: false, access: { has: obj => "disabled" in obj, set: (obj, value) => { obj.disabled = value; } }, metadata: _metadata }, null, _instanceExtraInitializers);
|
|
33
|
+
__esDecorate(this, null, _ripple_decorators, { kind: "accessor", name: "ripple", static: false, private: false, access: { has: obj => "ripple" in obj, get: obj => obj.ripple, set: (obj, value) => { obj.ripple = value; } }, metadata: _metadata }, _ripple_initializers, _ripple_extraInitializers);
|
|
55
34
|
if (_metadata) Object.defineProperty(this, Symbol.metadata, { enumerable: true, configurable: true, writable: true, value: _metadata });
|
|
56
35
|
}
|
|
57
|
-
#
|
|
58
|
-
/**
|
|
59
|
-
* The type of the rendered button according to Material 3 spec.
|
|
60
|
-
*
|
|
61
|
-
* @default {ButtonType.filled}
|
|
62
|
-
* @attribute
|
|
63
|
-
*/
|
|
64
|
-
get type() { return this.#type_accessor_storage; }
|
|
65
|
-
set type(value) { this.#type_accessor_storage = value; }
|
|
66
|
-
#toggle_accessor_storage = (__runInitializers(this, _type_extraInitializers), __runInitializers(this, _toggle_initializers, void 0));
|
|
36
|
+
#toggle_accessor_storage = (__runInitializers(this, _instanceExtraInitializers), __runInitializers(this, _toggle_initializers, void 0));
|
|
67
37
|
/**
|
|
68
38
|
* Whether the button can be toggled.
|
|
69
39
|
* A toggle button behaves different as it gets the `aria-pressed` attribute
|
|
@@ -85,12 +55,6 @@ let UiIconButton = (() => {
|
|
|
85
55
|
*/
|
|
86
56
|
get active() { return this.#active_accessor_storage; }
|
|
87
57
|
set active(value) { this.#active_accessor_storage = value; }
|
|
88
|
-
#ripple_accessor_storage = (__runInitializers(this, _active_extraInitializers), __runInitializers(this, _ripple_initializers, void 0));
|
|
89
|
-
get ripple() { return this.#ripple_accessor_storage; }
|
|
90
|
-
set ripple(value) { this.#ripple_accessor_storage = value; }
|
|
91
|
-
#showRipple_accessor_storage = (__runInitializers(this, _ripple_extraInitializers), __runInitializers(this, _showRipple_initializers, false));
|
|
92
|
-
get showRipple() { return this.#showRipple_accessor_storage; }
|
|
93
|
-
set showRipple(value) { this.#showRipple_accessor_storage = value; }
|
|
94
58
|
get disabled() {
|
|
95
59
|
return isDisabled(this);
|
|
96
60
|
}
|
|
@@ -103,13 +67,12 @@ let UiIconButton = (() => {
|
|
|
103
67
|
setDisabled(this, value);
|
|
104
68
|
this.requestUpdate('disabled', old);
|
|
105
69
|
}
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
});
|
|
70
|
+
#ripple_accessor_storage = (__runInitializers(this, _active_extraInitializers), __runInitializers(this, _ripple_initializers, void 0));
|
|
71
|
+
get ripple() { return this.#ripple_accessor_storage; }
|
|
72
|
+
set ripple(value) { this.#ripple_accessor_storage = value; }
|
|
110
73
|
constructor() {
|
|
111
74
|
super();
|
|
112
|
-
this
|
|
75
|
+
__runInitializers(this, _ripple_extraInitializers);
|
|
113
76
|
this.actionController.cancelKeyboardEvents = true;
|
|
114
77
|
this.addEventListener('keydown', this.handleKeyDown.bind(this));
|
|
115
78
|
this.addEventListener('keyup', this.handleKeyUp.bind(this));
|
|
@@ -118,6 +81,7 @@ let UiIconButton = (() => {
|
|
|
118
81
|
this.addEventListener('pointerup', this.handlePointerUp.bind(this));
|
|
119
82
|
this.addEventListener('pointercancel', this.handlePointerCancel.bind(this));
|
|
120
83
|
this.addEventListener('pointerleave', this.handlePointerLeave.bind(this));
|
|
84
|
+
this.addEventListener('pointerenter', this.handlePointerEnter.bind(this));
|
|
121
85
|
this.addEventListener('contextmenu', this.handleContextMenu.bind(this));
|
|
122
86
|
}
|
|
123
87
|
connectedCallback() {
|
|
@@ -135,19 +99,18 @@ let UiIconButton = (() => {
|
|
|
135
99
|
}
|
|
136
100
|
super.update(changedProperties);
|
|
137
101
|
}
|
|
138
|
-
|
|
139
|
-
const element =
|
|
102
|
+
pressRipple(options) {
|
|
103
|
+
const element = this.ripple;
|
|
140
104
|
if (element && !element.isPressed) {
|
|
141
|
-
element.beginPress();
|
|
105
|
+
element.beginPress(options.positionEvent);
|
|
142
106
|
}
|
|
143
107
|
}
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
element?.endPress();
|
|
108
|
+
endRipple() {
|
|
109
|
+
this.ripple?.endPress();
|
|
147
110
|
}
|
|
148
111
|
beginPress(options) {
|
|
149
112
|
super.beginPress(options);
|
|
150
|
-
this.pressRipple();
|
|
113
|
+
this.pressRipple(options);
|
|
151
114
|
}
|
|
152
115
|
endPress(config) {
|
|
153
116
|
super.endPress(config);
|
|
@@ -169,6 +132,18 @@ let UiIconButton = (() => {
|
|
|
169
132
|
}
|
|
170
133
|
}
|
|
171
134
|
}
|
|
135
|
+
handlePointerEnter(e) {
|
|
136
|
+
super.handlePointerEnter(e);
|
|
137
|
+
if (this.ripple) {
|
|
138
|
+
this.ripple.beginHover(e);
|
|
139
|
+
}
|
|
140
|
+
}
|
|
141
|
+
handlePointerLeave(e) {
|
|
142
|
+
super.handlePointerLeave(e);
|
|
143
|
+
if (this.ripple) {
|
|
144
|
+
this.ripple.endHover();
|
|
145
|
+
}
|
|
146
|
+
}
|
|
172
147
|
render() {
|
|
173
148
|
const { pressed = false } = this;
|
|
174
149
|
const containerClasses = classMap({
|
|
@@ -176,24 +151,21 @@ let UiIconButton = (() => {
|
|
|
176
151
|
pressed,
|
|
177
152
|
});
|
|
178
153
|
return html `
|
|
179
|
-
<
|
|
154
|
+
<md-focus-ring part="focus-ring" .control="${this}"></md-focus-ring>
|
|
155
|
+
<ui-ripple class="ripple" ?disabled="${this.disabled}"></ui-ripple>
|
|
156
|
+
<div class="${containerClasses}">
|
|
180
157
|
<div class="container"></div>
|
|
181
158
|
<div class="state"></div>
|
|
182
|
-
${when(this.showRipple, this.renderRipple)}
|
|
183
159
|
<div class="content">
|
|
184
160
|
<slot></slot>
|
|
185
161
|
</div>
|
|
186
162
|
</div>
|
|
187
163
|
`;
|
|
188
164
|
}
|
|
189
|
-
renderRipple = () => {
|
|
190
|
-
const { disabled } = this;
|
|
191
|
-
return html `<ui-ripple class="ripple" ?disabled="${disabled}"></ui-ripple>`;
|
|
192
|
-
};
|
|
193
165
|
};
|
|
194
166
|
})();
|
|
195
167
|
/**
|
|
196
168
|
* @fires active - An event dispatched when the `active` state has changed. This only happens when the button is `toggle`.
|
|
197
169
|
*/
|
|
198
|
-
export default
|
|
170
|
+
export default IconButton;
|
|
199
171
|
//# sourceMappingURL=IconButton.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"IconButton.js","sourceRoot":"","sources":["../../../../../src/md/icon-button/internals/IconButton.ts"],"names":[],"mappings":"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","sourcesContent":["/* eslint-disable max-len */\nimport { html, PropertyValues, TemplateResult } from 'lit'\nimport { property, queryAsync, state } from 'lit/decorators.js'\nimport { classMap } from 'lit/directives/class-map.js'\nimport { when } from 'lit/directives/when.js'\nimport { BeginPressConfig, EndPressConfig } from '../../../controllers/ActionController.js'\nimport UiRipple from '../../ripple/internals/ripple.js'\nimport { ripple } from '../../effects/rippleDirective.js'\nimport { UiElement } from '../../UiElement.js'\nimport { isDisabled, setDisabled } from '../../../lib/disabled.js'\n\nimport '../../ripple/ui-ripple.js'\n\n/**\n * The type of the icon button rendered.\n */\nexport enum IconButtonType {\n 'filled' = 'filled',\n 'tonal' = 'tonal',\n 'outlined' = 'outlined',\n 'standard' = 'standard',\n}\n\n/**\n * @fires active - An event dispatched when the `active` state has changed. This only happens when the button is `toggle`.\n */\nexport default class UiIconButton extends UiElement {\n /**\n * The type of the rendered button according to Material 3 spec.\n *\n * @default {ButtonType.filled}\n * @attribute\n */\n @property({ type: String, reflect: true }) accessor type: IconButtonType\n\n /**\n * Whether the button can be toggled.\n * A toggle button behaves different as it gets the `aria-pressed` attribute\n * which changes depending on the pressed state.\n * A toggle button is activated until it is clicked/pressed again.\n * A toggle button dispatched `active` event when the press state change.\n * The host can check the `active` property to know the state.\n *\n * @attribute\n */\n @property({ type: Boolean, reflect: true }) accessor toggle: boolean | undefined\n\n /**\n * A flag that determines whether the button is activated (pressed when `toggle` is set).\n * It is `undefined` and makes no effect when `toggle` is not set.\n *\n * @attribute\n */\n @property({ type: Boolean, reflect: true }) accessor active: boolean | undefined\n\n @queryAsync('ui-ripple') protected accessor ripple!: Promise<UiRipple | null>\n\n @state() protected accessor showRipple = false\n\n get disabled(): boolean {\n return isDisabled(this)\n }\n\n /**\n * When set, the button is a disabled state.\n * @attribute\n */\n @property({ reflect: true, type: Boolean })\n set disabled(value: boolean) {\n const old = isDisabled(this)\n setDisabled(this, value)\n this.requestUpdate('disabled', old)\n }\n\n protected readonly getRipple = (): Promise<UiRipple | null> => {\n this.showRipple = true\n return this.ripple\n }\n\n constructor() {\n super()\n\n this.type = IconButtonType.standard\n this.actionController.cancelKeyboardEvents = true\n this.addEventListener('keydown', this.handleKeyDown.bind(this))\n this.addEventListener('keyup', this.handleKeyUp.bind(this))\n this.addEventListener('click', this.handleClick.bind(this))\n this.addEventListener('pointerdown', this.handlePointerDown.bind(this))\n this.addEventListener('pointerup', this.handlePointerUp.bind(this))\n this.addEventListener('pointercancel', this.handlePointerCancel.bind(this))\n this.addEventListener('pointerleave', this.handlePointerLeave.bind(this))\n this.addEventListener('contextmenu', this.handleContextMenu.bind(this))\n }\n\n override connectedCallback(): void {\n super.connectedCallback()\n if (!this.hasAttribute('role')) {\n this.setAttribute('role', 'button')\n }\n if (!this.hasAttribute('tabindex') && !this.disabled) {\n this.setAttribute('tabindex', '0')\n }\n }\n\n protected override update(changedProperties: PropertyValues<this>): void {\n if (changedProperties.has('active')) {\n this.setAttribute('aria-pressed', String(this.active))\n }\n super.update(changedProperties)\n }\n\n protected async pressRipple(): Promise<void> {\n const element = await this.getRipple()\n if (element && !element.isPressed) {\n element.beginPress()\n }\n }\n\n protected async endRipple(): Promise<void> {\n const element = await this.getRipple()\n element?.endPress()\n }\n\n override beginPress(options: BeginPressConfig): void {\n super.beginPress(options)\n this.pressRipple()\n }\n\n override endPress(config: EndPressConfig): void {\n super.endPress(config)\n this.endRipple()\n const { cancelled, reason } = config\n if (cancelled) {\n return\n }\n if (!reason || reason === 'enter' || reason === 'space') {\n if (this.toggle) {\n this.active = !this.active\n // note, only dispatch events when user interacting with the UI.\n this.dispatchEvent(new Event('active'))\n }\n }\n if (reason === 'enter' || reason === 'space') {\n if (!this.toggle) {\n this.click()\n }\n }\n }\n\n protected override render(): TemplateResult {\n const { pressed = false } = this\n const containerClasses = classMap({\n surface: true,\n pressed,\n })\n return html`\n <div class=\"${containerClasses}\" ${ripple(this.getRipple)}>\n <div class=\"container\"></div>\n <div class=\"state\"></div>\n ${when(this.showRipple, this.renderRipple)}\n <div class=\"content\">\n <slot></slot>\n </div>\n </div>\n `\n }\n\n protected renderRipple = (): TemplateResult => {\n const { disabled } = this\n return html`<ui-ripple class=\"ripple\" ?disabled=\"${disabled}\"></ui-ripple>`\n }\n}\n"]}
|
|
1
|
+
{"version":3,"file":"IconButton.js","sourceRoot":"","sources":["../../../../../src/md/icon-button/internals/IconButton.ts"],"names":[],"mappings":"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","sourcesContent":["/* eslint-disable max-len */\nimport { html, PropertyValues, TemplateResult } from 'lit'\nimport { property, query } from 'lit/decorators.js'\nimport { classMap } from 'lit/directives/class-map.js'\nimport { BeginPressConfig, EndPressConfig } from '../../../controllers/ActionController.js'\nimport { UiElement } from '../../UiElement.js'\nimport { isDisabled, setDisabled } from '../../../lib/disabled.js'\nimport UiRipple from '../../ripple/internals/ripple.js'\n\nimport '../../ripple/ui-ripple.js'\nimport '@material/web/focus/md-focus-ring.js'\n\n/**\n * @fires active - An event dispatched when the `active` state has changed. This only happens when the button is `toggle`.\n */\nexport default class IconButton extends UiElement {\n /**\n * Whether the button can be toggled.\n * A toggle button behaves different as it gets the `aria-pressed` attribute\n * which changes depending on the pressed state.\n * A toggle button is activated until it is clicked/pressed again.\n * A toggle button dispatched `active` event when the press state change.\n * The host can check the `active` property to know the state.\n *\n * @attribute\n */\n @property({ type: Boolean, reflect: true }) accessor toggle: boolean | undefined\n\n /**\n * A flag that determines whether the button is activated (pressed when `toggle` is set).\n * It is `undefined` and makes no effect when `toggle` is not set.\n *\n * @attribute\n */\n @property({ type: Boolean, reflect: true }) accessor active: boolean | undefined\n\n get disabled(): boolean {\n return isDisabled(this)\n }\n\n /**\n * When set, the button is a disabled state.\n * @attribute\n */\n @property({ reflect: true, type: Boolean })\n set disabled(value: boolean) {\n const old = isDisabled(this)\n setDisabled(this, value)\n this.requestUpdate('disabled', old)\n }\n\n @query('ui-ripple') protected accessor ripple!: UiRipple | null\n\n constructor() {\n super()\n\n this.actionController.cancelKeyboardEvents = true\n this.addEventListener('keydown', this.handleKeyDown.bind(this))\n this.addEventListener('keyup', this.handleKeyUp.bind(this))\n this.addEventListener('click', this.handleClick.bind(this))\n this.addEventListener('pointerdown', this.handlePointerDown.bind(this))\n this.addEventListener('pointerup', this.handlePointerUp.bind(this))\n this.addEventListener('pointercancel', this.handlePointerCancel.bind(this))\n this.addEventListener('pointerleave', this.handlePointerLeave.bind(this))\n this.addEventListener('pointerenter', this.handlePointerEnter.bind(this))\n this.addEventListener('contextmenu', this.handleContextMenu.bind(this))\n }\n\n override connectedCallback(): void {\n super.connectedCallback()\n if (!this.hasAttribute('role')) {\n this.setAttribute('role', 'button')\n }\n if (!this.hasAttribute('tabindex') && !this.disabled) {\n this.setAttribute('tabindex', '0')\n }\n }\n\n protected override update(changedProperties: PropertyValues<this>): void {\n if (changedProperties.has('active')) {\n this.setAttribute('aria-pressed', String(this.active))\n }\n super.update(changedProperties)\n }\n\n protected pressRipple(options: BeginPressConfig): void {\n const element = this.ripple\n if (element && !element.isPressed) {\n element.beginPress(options.positionEvent as PointerEvent)\n }\n }\n\n protected endRipple(): void {\n this.ripple?.endPress()\n }\n\n override beginPress(options: BeginPressConfig): void {\n super.beginPress(options)\n this.pressRipple(options)\n }\n\n override endPress(config: EndPressConfig): void {\n super.endPress(config)\n this.endRipple()\n const { cancelled, reason } = config\n if (cancelled) {\n return\n }\n if (!reason || reason === 'enter' || reason === 'space') {\n if (this.toggle) {\n this.active = !this.active\n // note, only dispatch events when user interacting with the UI.\n this.dispatchEvent(new Event('active'))\n }\n }\n if (reason === 'enter' || reason === 'space') {\n if (!this.toggle) {\n this.click()\n }\n }\n }\n\n override handlePointerEnter(e: PointerEvent): void {\n super.handlePointerEnter(e)\n if (this.ripple) {\n this.ripple.beginHover(e)\n }\n }\n\n override handlePointerLeave(e: PointerEvent): void {\n super.handlePointerLeave(e)\n if (this.ripple) {\n this.ripple.endHover()\n }\n }\n\n protected override render(): TemplateResult {\n const { pressed = false } = this\n const containerClasses = classMap({\n surface: true,\n pressed,\n })\n return html`\n <md-focus-ring part=\"focus-ring\" .control=\"${this as HTMLElement}\"></md-focus-ring>\n <ui-ripple class=\"ripple\" ?disabled=\"${this.disabled}\"></ui-ripple>\n <div class=\"${containerClasses}\">\n <div class=\"container\"></div>\n <div class=\"state\"></div>\n <div class=\"content\">\n <slot></slot>\n </div>\n </div>\n `\n }\n}\n"]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"base.styles.d.ts","sourceRoot":"","sources":["../../../../../src/md/icon-button/internals/base.styles.ts"],"names":[],"mappings":";AAEA,wBA0FC"}
|
|
@@ -0,0 +1,93 @@
|
|
|
1
|
+
import { css } from 'lit';
|
|
2
|
+
export default css `
|
|
3
|
+
:host {
|
|
4
|
+
display: inline-flex;
|
|
5
|
+
vertical-align: middle;
|
|
6
|
+
box-sizing: content-box;
|
|
7
|
+
writing-mode: horizontal-tb !important;
|
|
8
|
+
text-rendering: auto;
|
|
9
|
+
cursor: default;
|
|
10
|
+
user-select: none;
|
|
11
|
+
height: 40px;
|
|
12
|
+
width: 40px;
|
|
13
|
+
border-radius: var(--md-sys-shape-corner-full);
|
|
14
|
+
--md-ripple-state-layer-shape: var(--md-sys-shape-corner-full);
|
|
15
|
+
align-items: center;
|
|
16
|
+
justify-content: center;
|
|
17
|
+
-webkit-tap-highlight-color: rgba(0, 0, 0, 0);
|
|
18
|
+
|
|
19
|
+
position: relative;
|
|
20
|
+
outline: none;
|
|
21
|
+
|
|
22
|
+
--_content-color: inherit;
|
|
23
|
+
--_content-opacity: 1;
|
|
24
|
+
--_container-background-color: initial;
|
|
25
|
+
--_container-opacity: 1;
|
|
26
|
+
--_container-border: none;
|
|
27
|
+
--_state-opacity: 0;
|
|
28
|
+
--_state-background-color: initial;
|
|
29
|
+
}
|
|
30
|
+
|
|
31
|
+
.content ::slotted(*) {
|
|
32
|
+
width: 24px !important;
|
|
33
|
+
height: 24px !important;
|
|
34
|
+
|
|
35
|
+
color: var(--_content-color);
|
|
36
|
+
fill: var(--_content-color);
|
|
37
|
+
opacity: var(--_content-opacity);
|
|
38
|
+
}
|
|
39
|
+
|
|
40
|
+
.surface {
|
|
41
|
+
height: inherit;
|
|
42
|
+
width: inherit;
|
|
43
|
+
position: relative;
|
|
44
|
+
border-radius: var(--md-sys-shape-corner-full);
|
|
45
|
+
display: flex;
|
|
46
|
+
justify-content: center;
|
|
47
|
+
align-items: center;
|
|
48
|
+
cursor: pointer;
|
|
49
|
+
}
|
|
50
|
+
|
|
51
|
+
.container,
|
|
52
|
+
.state {
|
|
53
|
+
position: absolute;
|
|
54
|
+
top: 0;
|
|
55
|
+
left: 0;
|
|
56
|
+
right: 0;
|
|
57
|
+
bottom: 0;
|
|
58
|
+
border-radius: var(--md-sys-shape-corner-full);
|
|
59
|
+
}
|
|
60
|
+
|
|
61
|
+
.container {
|
|
62
|
+
z-index: 1;
|
|
63
|
+
pointer-events: none;
|
|
64
|
+
background-color: var(--_container-background-color);
|
|
65
|
+
opacity: var(--_container-opacity);
|
|
66
|
+
border: var(--_container-border);
|
|
67
|
+
}
|
|
68
|
+
|
|
69
|
+
.state {
|
|
70
|
+
z-index: 2;
|
|
71
|
+
pointer-events: none;
|
|
72
|
+
opacity: var(--_state-opacity);
|
|
73
|
+
background-color: var(--_state-background-color);
|
|
74
|
+
}
|
|
75
|
+
|
|
76
|
+
.content {
|
|
77
|
+
z-index: 3;
|
|
78
|
+
display: flex;
|
|
79
|
+
align-items: center;
|
|
80
|
+
justify-content: center;
|
|
81
|
+
color: var(--_content-color);
|
|
82
|
+
}
|
|
83
|
+
|
|
84
|
+
:host([disabled]) {
|
|
85
|
+
pointer-events: none;
|
|
86
|
+
}
|
|
87
|
+
|
|
88
|
+
.ripple {
|
|
89
|
+
border-radius: inherit;
|
|
90
|
+
z-index: 3;
|
|
91
|
+
}
|
|
92
|
+
`;
|
|
93
|
+
//# sourceMappingURL=base.styles.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"base.styles.js","sourceRoot":"","sources":["../../../../../src/md/icon-button/internals/base.styles.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,KAAK,CAAA;AAEzB,eAAe,GAAG,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA0FjB,CAAA","sourcesContent":["import { css } from 'lit'\n\nexport default css`\n :host {\n display: inline-flex;\n vertical-align: middle;\n box-sizing: content-box;\n writing-mode: horizontal-tb !important;\n text-rendering: auto;\n cursor: default;\n user-select: none;\n height: 40px;\n width: 40px;\n border-radius: var(--md-sys-shape-corner-full);\n --md-ripple-state-layer-shape: var(--md-sys-shape-corner-full);\n align-items: center;\n justify-content: center;\n -webkit-tap-highlight-color: rgba(0, 0, 0, 0);\n\n position: relative;\n outline: none;\n\n --_content-color: inherit;\n --_content-opacity: 1;\n --_container-background-color: initial;\n --_container-opacity: 1;\n --_container-border: none;\n --_state-opacity: 0;\n --_state-background-color: initial;\n }\n\n .content ::slotted(*) {\n width: 24px !important;\n height: 24px !important;\n\n color: var(--_content-color);\n fill: var(--_content-color);\n opacity: var(--_content-opacity);\n }\n\n .surface {\n height: inherit;\n width: inherit;\n position: relative;\n border-radius: var(--md-sys-shape-corner-full);\n display: flex;\n justify-content: center;\n align-items: center;\n cursor: pointer;\n }\n\n .container,\n .state {\n position: absolute;\n top: 0;\n left: 0;\n right: 0;\n bottom: 0;\n border-radius: var(--md-sys-shape-corner-full);\n }\n\n .container {\n z-index: 1;\n pointer-events: none;\n background-color: var(--_container-background-color);\n opacity: var(--_container-opacity);\n border: var(--_container-border);\n }\n\n .state {\n z-index: 2;\n pointer-events: none;\n opacity: var(--_state-opacity);\n background-color: var(--_state-background-color);\n }\n\n .content {\n z-index: 3;\n display: flex;\n align-items: center;\n justify-content: center;\n color: var(--_content-color);\n }\n\n :host([disabled]) {\n pointer-events: none;\n }\n\n .ripple {\n border-radius: inherit;\n z-index: 3;\n }\n`\n"]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"filled-tonal.styles.d.ts","sourceRoot":"","sources":["../../../../../src/md/icon-button/internals/filled-tonal.styles.ts"],"names":[],"mappings":";AAEA,wBA2BC"}
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
import { css } from 'lit';
|
|
2
|
+
export default css `
|
|
3
|
+
:host {
|
|
4
|
+
--md-ripple-hover-state-layer-color: var(--md-sys-color-on-secondary-container);
|
|
5
|
+
--md-ripple-focus-state-layer-color: var(--md-sys-color-on-secondary-container);
|
|
6
|
+
--md-ripple-pressed-state-layer-color: var(--md-sys-color-on-secondary-container);
|
|
7
|
+
|
|
8
|
+
--_container-background-color: var(--md-sys-color-secondary-container);
|
|
9
|
+
--_surface-color: var(--md-sys-color-on-secondary-container);
|
|
10
|
+
--_content-color: var(--md-sys-color-on-secondary-container);
|
|
11
|
+
}
|
|
12
|
+
|
|
13
|
+
:host([disabled]) {
|
|
14
|
+
--_container-background-color: var(--md-sys-color-on-surface);
|
|
15
|
+
--_container-opacity: 0.12;
|
|
16
|
+
--_content-color: var(--md-sys-color-on-surface);
|
|
17
|
+
--_content-opacity: 0.38;
|
|
18
|
+
}
|
|
19
|
+
|
|
20
|
+
:host([toggle]) {
|
|
21
|
+
--_container-background-color: var(--md-sys-color-surface-variant);
|
|
22
|
+
--_content-color: var(--md-sys-color-on-surface-variant);
|
|
23
|
+
}
|
|
24
|
+
|
|
25
|
+
:host([toggle][active]) {
|
|
26
|
+
--_container-background-color: var(--md-sys-color-secondary-container);
|
|
27
|
+
--_content-color: var(--md-sys-color-on-secondary-container);
|
|
28
|
+
}
|
|
29
|
+
`;
|
|
30
|
+
//# sourceMappingURL=filled-tonal.styles.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"filled-tonal.styles.js","sourceRoot":"","sources":["../../../../../src/md/icon-button/internals/filled-tonal.styles.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,KAAK,CAAA;AAEzB,eAAe,GAAG,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;CA2BjB,CAAA","sourcesContent":["import { css } from 'lit'\n\nexport default css`\n :host {\n --md-ripple-hover-state-layer-color: var(--md-sys-color-on-secondary-container);\n --md-ripple-focus-state-layer-color: var(--md-sys-color-on-secondary-container);\n --md-ripple-pressed-state-layer-color: var(--md-sys-color-on-secondary-container);\n\n --_container-background-color: var(--md-sys-color-secondary-container);\n --_surface-color: var(--md-sys-color-on-secondary-container);\n --_content-color: var(--md-sys-color-on-secondary-container);\n }\n\n :host([disabled]) {\n --_container-background-color: var(--md-sys-color-on-surface);\n --_container-opacity: 0.12;\n --_content-color: var(--md-sys-color-on-surface);\n --_content-opacity: 0.38;\n }\n\n :host([toggle]) {\n --_container-background-color: var(--md-sys-color-surface-variant);\n --_content-color: var(--md-sys-color-on-surface-variant);\n }\n\n :host([toggle][active]) {\n --_container-background-color: var(--md-sys-color-secondary-container);\n --_content-color: var(--md-sys-color-on-secondary-container);\n }\n`\n"]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"filled.styles.d.ts","sourceRoot":"","sources":["../../../../../src/md/icon-button/internals/filled.styles.ts"],"names":[],"mappings":";AAEA,wBAiCC"}
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
import { css } from 'lit';
|
|
2
|
+
export default css `
|
|
3
|
+
:host {
|
|
4
|
+
--md-ripple-hover-state-layer-color: var(--md-sys-color-on-primary);
|
|
5
|
+
--md-ripple-focus-state-layer-color: var(--md-sys-color-on-primary);
|
|
6
|
+
--md-ripple-pressed-state-layer-color: var(--md-sys-color-on-primary);
|
|
7
|
+
|
|
8
|
+
--_container-background-color: var(--md-sys-color-primary);
|
|
9
|
+
--_surface-color: var(--md-sys-color-on-primary);
|
|
10
|
+
--_content-color: var(--md-sys-color-on-primary);
|
|
11
|
+
}
|
|
12
|
+
|
|
13
|
+
:host([disabled]) {
|
|
14
|
+
--_container-background-color: var(--md-sys-color-on-surface);
|
|
15
|
+
--_container-opacity: 0.12;
|
|
16
|
+
--_content-color: var(--md-sys-color-on-surface);
|
|
17
|
+
--_content-opacity: 0.38;
|
|
18
|
+
}
|
|
19
|
+
|
|
20
|
+
:host([toggle]) {
|
|
21
|
+
--_content-color: var(--md-sys-color-primary);
|
|
22
|
+
--_container-background-color: var(--md-sys-color-surface-variant);
|
|
23
|
+
}
|
|
24
|
+
|
|
25
|
+
:host([toggle][active]) {
|
|
26
|
+
--_container-background-color: var(--md-sys-color-primary);
|
|
27
|
+
--_content-color: var(--md-sys-color-on-primary);
|
|
28
|
+
}
|
|
29
|
+
|
|
30
|
+
:host([toggle]:not([active])) {
|
|
31
|
+
--_state-background-color: var(--md-sys-color-primary);
|
|
32
|
+
--_state-opacity: var(--md-sys-state-hover-state-layer-opacity);
|
|
33
|
+
--_content-color: var(--md-sys-color-primary);
|
|
34
|
+
}
|
|
35
|
+
`;
|
|
36
|
+
//# sourceMappingURL=filled.styles.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"filled.styles.js","sourceRoot":"","sources":["../../../../../src/md/icon-button/internals/filled.styles.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,KAAK,CAAA;AAEzB,eAAe,GAAG,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAiCjB,CAAA","sourcesContent":["import { css } from 'lit'\n\nexport default css`\n :host {\n --md-ripple-hover-state-layer-color: var(--md-sys-color-on-primary);\n --md-ripple-focus-state-layer-color: var(--md-sys-color-on-primary);\n --md-ripple-pressed-state-layer-color: var(--md-sys-color-on-primary);\n\n --_container-background-color: var(--md-sys-color-primary);\n --_surface-color: var(--md-sys-color-on-primary);\n --_content-color: var(--md-sys-color-on-primary);\n }\n\n :host([disabled]) {\n --_container-background-color: var(--md-sys-color-on-surface);\n --_container-opacity: 0.12;\n --_content-color: var(--md-sys-color-on-surface);\n --_content-opacity: 0.38;\n }\n\n :host([toggle]) {\n --_content-color: var(--md-sys-color-primary);\n --_container-background-color: var(--md-sys-color-surface-variant);\n }\n\n :host([toggle][active]) {\n --_container-background-color: var(--md-sys-color-primary);\n --_content-color: var(--md-sys-color-on-primary);\n }\n\n :host([toggle]:not([active])) {\n --_state-background-color: var(--md-sys-color-primary);\n --_state-opacity: var(--md-sys-state-hover-state-layer-opacity);\n --_content-color: var(--md-sys-color-primary);\n }\n`\n"]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"outlined.styles.d.ts","sourceRoot":"","sources":["../../../../../src/md/icon-button/internals/outlined.styles.ts"],"names":[],"mappings":";AAEA,wBA4BC"}
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
import { css } from 'lit';
|
|
2
|
+
export default css `
|
|
3
|
+
:host {
|
|
4
|
+
--_container-border: 1px var(--md-sys-color-outline) solid;
|
|
5
|
+
|
|
6
|
+
--md-ripple-hover-state-layer-color: var(--md-sys-color-on-surface-variant);
|
|
7
|
+
--md-ripple-focus-state-layer-color: var(--md-sys-color-on-surface-variant);
|
|
8
|
+
--md-ripple-pressed-state-layer-color: var(--md-sys-color-on-surface-variant);
|
|
9
|
+
|
|
10
|
+
--_container-background-color: transparent;
|
|
11
|
+
--_surface-color: var(--md-sys-color-on-surface-variant);
|
|
12
|
+
--_content-color: var(--md-sys-color-on-surface-variant);
|
|
13
|
+
}
|
|
14
|
+
|
|
15
|
+
:host([disabled]) {
|
|
16
|
+
--_container-background-color: var(--md-sys-color-on-surface);
|
|
17
|
+
--_container-opacity: 0.12;
|
|
18
|
+
--_content-color: var(--md-sys-color-on-surface);
|
|
19
|
+
--_content-opacity: 0.38;
|
|
20
|
+
}
|
|
21
|
+
|
|
22
|
+
:host([toggle][active]) {
|
|
23
|
+
--_container-background-color: var(--md-sys-color-inverse-surface);
|
|
24
|
+
--_content-color: var(--md-sys-color-inverse-on-surface);
|
|
25
|
+
|
|
26
|
+
--md-ripple-hover-state-layer-color: var(--md-sys-color-inverse-on-surface);
|
|
27
|
+
--md-ripple-focus-state-layer-color: var(--md-sys-color-inverse-on-surface);
|
|
28
|
+
--md-ripple-pressed-state-layer-color: var(--md-sys-color-inverse-on-surface);
|
|
29
|
+
}
|
|
30
|
+
`;
|
|
31
|
+
//# sourceMappingURL=outlined.styles.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"outlined.styles.js","sourceRoot":"","sources":["../../../../../src/md/icon-button/internals/outlined.styles.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,KAAK,CAAA;AAEzB,eAAe,GAAG,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA4BjB,CAAA","sourcesContent":["import { css } from 'lit'\n\nexport default css`\n :host {\n --_container-border: 1px var(--md-sys-color-outline) solid;\n\n --md-ripple-hover-state-layer-color: var(--md-sys-color-on-surface-variant);\n --md-ripple-focus-state-layer-color: var(--md-sys-color-on-surface-variant);\n --md-ripple-pressed-state-layer-color: var(--md-sys-color-on-surface-variant);\n\n --_container-background-color: transparent;\n --_surface-color: var(--md-sys-color-on-surface-variant);\n --_content-color: var(--md-sys-color-on-surface-variant);\n }\n\n :host([disabled]) {\n --_container-background-color: var(--md-sys-color-on-surface);\n --_container-opacity: 0.12;\n --_content-color: var(--md-sys-color-on-surface);\n --_content-opacity: 0.38;\n }\n\n :host([toggle][active]) {\n --_container-background-color: var(--md-sys-color-inverse-surface);\n --_content-color: var(--md-sys-color-inverse-on-surface);\n\n --md-ripple-hover-state-layer-color: var(--md-sys-color-inverse-on-surface);\n --md-ripple-focus-state-layer-color: var(--md-sys-color-inverse-on-surface);\n --md-ripple-pressed-state-layer-color: var(--md-sys-color-inverse-on-surface);\n }\n`\n"]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"standard.styles.d.ts","sourceRoot":"","sources":["../../../../../src/md/icon-button/internals/standard.styles.ts"],"names":[],"mappings":";AAEA,wBAeC"}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import { css } from 'lit';
|
|
2
|
+
export default css `
|
|
3
|
+
:host {
|
|
4
|
+
--md-ripple-hover-state-layer-color: var(--md-sys-color-on-surface-variant);
|
|
5
|
+
--md-ripple-focus-state-layer-color: var(--md-sys-color-on-surface-variant);
|
|
6
|
+
--md-ripple-pressed-state-layer-color: var(--md-sys-color-on-surface-variant);
|
|
7
|
+
--_container-background-color: transparent;
|
|
8
|
+
--_content-color: var(--md-sys-color-on-surface-variant);
|
|
9
|
+
}
|
|
10
|
+
|
|
11
|
+
:host([toggle][active]) {
|
|
12
|
+
--md-ripple-hover-state-layer-color: var(--md-sys-color-primary);
|
|
13
|
+
--md-ripple-focus-state-layer-color: var(--md-sys-color-primary);
|
|
14
|
+
--md-ripple-pressed-state-layer-color: var(--md-sys-color-primary);
|
|
15
|
+
--_content-color: var(--md-sys-color-primary);
|
|
16
|
+
}
|
|
17
|
+
`;
|
|
18
|
+
//# sourceMappingURL=standard.styles.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"standard.styles.js","sourceRoot":"","sources":["../../../../../src/md/icon-button/internals/standard.styles.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,KAAK,CAAA;AAEzB,eAAe,GAAG,CAAA;;;;;;;;;;;;;;;CAejB,CAAA","sourcesContent":["import { css } from 'lit'\n\nexport default css`\n :host {\n --md-ripple-hover-state-layer-color: var(--md-sys-color-on-surface-variant);\n --md-ripple-focus-state-layer-color: var(--md-sys-color-on-surface-variant);\n --md-ripple-pressed-state-layer-color: var(--md-sys-color-on-surface-variant);\n --_container-background-color: transparent;\n --_content-color: var(--md-sys-color-on-surface-variant);\n }\n\n :host([toggle][active]) {\n --md-ripple-hover-state-layer-color: var(--md-sys-color-primary);\n --md-ripple-focus-state-layer-color: var(--md-sys-color-primary);\n --md-ripple-pressed-state-layer-color: var(--md-sys-color-primary);\n --_content-color: var(--md-sys-color-primary);\n }\n`\n"]}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import type { CSSResultOrNative } from 'lit';
|
|
2
|
+
import Element from './internals/IconButton.js';
|
|
3
|
+
export declare class UiFilledIconButtonElement extends Element {
|
|
4
|
+
static styles: CSSResultOrNative[];
|
|
5
|
+
}
|
|
6
|
+
declare global {
|
|
7
|
+
interface HTMLElementTagNameMap {
|
|
8
|
+
'ui-filled-icon-button': UiFilledIconButtonElement;
|
|
9
|
+
}
|
|
10
|
+
}
|
|
11
|
+
//# sourceMappingURL=ui-filled-icon-button.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ui-filled-icon-button.d.ts","sourceRoot":"","sources":["../../../../src/md/icon-button/ui-filled-icon-button.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,KAAK,CAAA;AAE5C,OAAO,OAAO,MAAM,2BAA2B,CAAA;AAI/C,qBACa,yBAA0B,SAAQ,OAAO;IACpD,OAAgB,MAAM,EAAE,iBAAiB,EAAE,CAAiB;CAC7D;AAED,OAAO,CAAC,MAAM,CAAC;IACb,UAAU,qBAAqB;QAC7B,uBAAuB,EAAE,yBAAyB,CAAA;KACnD;CACF"}
|