@francofantomius/material-components 0.1.0 → 1.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +62 -0
- package/README.md +277 -83
- package/custom-elements.json +21010 -2354
- package/dist/chunks/badge-G4EjcMoy.js +89 -0
- package/dist/chunks/badge-G4EjcMoy.js.map +1 -0
- package/dist/chunks/button-B4TSZ7Sl.js +250 -0
- package/dist/chunks/button-B4TSZ7Sl.js.map +1 -0
- package/dist/chunks/card-DVffdPpv.js +163 -0
- package/dist/chunks/card-DVffdPpv.js.map +1 -0
- package/dist/chunks/checkbox-BqlboAHd.js +194 -0
- package/dist/chunks/checkbox-BqlboAHd.js.map +1 -0
- package/dist/chunks/chip-CI1ZINnr.js +169 -0
- package/dist/chunks/chip-CI1ZINnr.js.map +1 -0
- package/dist/chunks/code-C5UFBkCh.js +1830 -0
- package/dist/chunks/code-C5UFBkCh.js.map +1 -0
- package/dist/chunks/decorate-DXuynaiA.js +39 -0
- package/dist/chunks/decorate-DXuynaiA.js.map +1 -0
- package/dist/chunks/dialog-DGVEE5m_.js +158 -0
- package/dist/chunks/dialog-DGVEE5m_.js.map +1 -0
- package/dist/chunks/divider-DNepwoZv.js +82 -0
- package/dist/chunks/divider-DNepwoZv.js.map +1 -0
- package/dist/chunks/fab-C9j3WBHE.js +150 -0
- package/dist/chunks/fab-C9j3WBHE.js.map +1 -0
- package/dist/chunks/focus-ring-CuiJuM-y.js +71 -0
- package/dist/chunks/focus-ring-CuiJuM-y.js.map +1 -0
- package/dist/chunks/{form-associated-fKbeX_2P.js → form-associated-Cty_ZaS9.js} +26 -27
- package/dist/chunks/form-associated-Cty_ZaS9.js.map +1 -0
- package/dist/chunks/icon-DrNqcNEL.js +62 -0
- package/dist/chunks/icon-DrNqcNEL.js.map +1 -0
- package/dist/chunks/icon-button-BdSc7eot.js +188 -0
- package/dist/chunks/icon-button-BdSc7eot.js.map +1 -0
- package/dist/chunks/list-D8olR7oZ.js +204 -0
- package/dist/chunks/list-D8olR7oZ.js.map +1 -0
- package/dist/chunks/navigation-drawer-CKl44Ef5.js +531 -0
- package/dist/chunks/navigation-drawer-CKl44Ef5.js.map +1 -0
- package/dist/chunks/player-C4ydiIpr.js +1582 -0
- package/dist/chunks/player-C4ydiIpr.js.map +1 -0
- package/dist/chunks/progress-LQmLMDjX.js +266 -0
- package/dist/chunks/progress-LQmLMDjX.js.map +1 -0
- package/dist/chunks/radio-Bily78NT.js +205 -0
- package/dist/chunks/radio-Bily78NT.js.map +1 -0
- package/dist/chunks/ripple-squbKHhj.js +135 -0
- package/dist/chunks/ripple-squbKHhj.js.map +1 -0
- package/dist/chunks/search-bar-TXnqJ-gd.js +698 -0
- package/dist/chunks/search-bar-TXnqJ-gd.js.map +1 -0
- package/dist/chunks/snackbar-Wsz3BzEY.js +161 -0
- package/dist/chunks/snackbar-Wsz3BzEY.js.map +1 -0
- package/dist/chunks/switch-DdukrvXb.js +190 -0
- package/dist/chunks/switch-DdukrvXb.js.map +1 -0
- package/dist/chunks/table-aRTYzDyE.js +773 -0
- package/dist/chunks/table-aRTYzDyE.js.map +1 -0
- package/dist/chunks/tabs-BfOtoeir.js +191 -0
- package/dist/chunks/tabs-BfOtoeir.js.map +1 -0
- package/dist/chunks/text-field-hN6-2HQy.js +338 -0
- package/dist/chunks/text-field-hN6-2HQy.js.map +1 -0
- package/dist/chunks/top-app-bar-Dgbp6CFv.js +228 -0
- package/dist/chunks/top-app-bar-Dgbp6CFv.js.map +1 -0
- package/dist/components/account-menu/account-menu.css.d.ts +3 -0
- package/dist/components/account-menu/account-menu.css.d.ts.map +1 -0
- package/dist/components/account-menu/account-menu.d.ts +111 -0
- package/dist/components/account-menu/account-menu.d.ts.map +1 -0
- package/dist/components/app-drawer/app-drawer.css.d.ts +3 -0
- package/dist/components/app-drawer/app-drawer.css.d.ts.map +1 -0
- package/dist/components/app-drawer/app-drawer.d.ts +173 -0
- package/dist/components/app-drawer/app-drawer.d.ts.map +1 -0
- package/dist/components/badge/badge.js +2 -91
- package/dist/components/button/button.js +2 -261
- package/dist/components/card/card.js +2 -167
- package/dist/components/checkbox/checkbox.css.d.ts.map +1 -1
- package/dist/components/checkbox/checkbox.js +2 -186
- package/dist/components/chip/chip.js +3 -172
- package/dist/components/code/code.css.d.ts +2 -0
- package/dist/components/code/code.css.d.ts.map +1 -0
- package/dist/components/code/code.d.ts +106 -0
- package/dist/components/code/code.d.ts.map +1 -0
- package/dist/components/code/code.js +5 -0
- package/dist/components/code/highlighter.d.ts +8 -0
- package/dist/components/code/highlighter.d.ts.map +1 -0
- package/dist/components/code/linter.d.ts +44 -0
- package/dist/components/code/linter.d.ts.map +1 -0
- package/dist/components/dialog/dialog.js +2 -165
- package/dist/components/divider/divider.js +2 -79
- package/dist/components/fab/fab.js +2 -153
- package/dist/components/icon/icon.js +2 -68
- package/dist/components/icon-button/icon-button.css.d.ts.map +1 -1
- package/dist/components/icon-button/icon-button.js +1 -189
- package/dist/components/list/list.css.d.ts.map +1 -1
- package/dist/components/list/list.d.ts.map +1 -1
- package/dist/components/list/list.js +3 -188
- package/dist/components/navigation-drawer/navigation-drawer.css.d.ts +3 -0
- package/dist/components/navigation-drawer/navigation-drawer.css.d.ts.map +1 -0
- package/dist/components/navigation-drawer/navigation-drawer.d.ts +76 -0
- package/dist/components/navigation-drawer/navigation-drawer.d.ts.map +1 -0
- package/dist/components/navigation-drawer/navigation-drawer.js +8 -0
- package/dist/components/player/player.css.d.ts +2 -0
- package/dist/components/player/player.css.d.ts.map +1 -0
- package/dist/components/player/player.d.ts +99 -0
- package/dist/components/player/player.d.ts.map +1 -0
- package/dist/components/player/player.js +7 -0
- package/dist/components/progress/progress.css.d.ts.map +1 -1
- package/dist/components/progress/progress.d.ts +2 -0
- package/dist/components/progress/progress.d.ts.map +1 -1
- package/dist/components/progress/progress.js +3 -181
- package/dist/components/radio/radio.css.d.ts.map +1 -1
- package/dist/components/radio/radio.js +3 -203
- package/dist/components/search-bar/search-bar.css.d.ts +2 -0
- package/dist/components/search-bar/search-bar.css.d.ts.map +1 -0
- package/dist/components/search-bar/search-bar.d.ts +81 -0
- package/dist/components/search-bar/search-bar.d.ts.map +1 -0
- package/dist/components/search-bar/search-bar.js +5 -0
- package/dist/components/snackbar/snackbar.js +2 -162
- package/dist/components/switch/switch.css.d.ts.map +1 -1
- package/dist/components/switch/switch.js +2 -169
- package/dist/components/table/table.css.d.ts +8 -0
- package/dist/components/table/table.css.d.ts.map +1 -0
- package/dist/components/table/table.d.ts +158 -0
- package/dist/components/table/table.d.ts.map +1 -0
- package/dist/components/table/table.js +13 -0
- package/dist/components/tabs/tabs.js +3 -198
- package/dist/components/text-field/text-field.css.d.ts.map +1 -1
- package/dist/components/text-field/text-field.d.ts +1 -1
- package/dist/components/text-field/text-field.d.ts.map +1 -1
- package/dist/components/text-field/text-field.js +2 -325
- package/dist/components/top-app-bar/top-app-bar.css.d.ts +2 -0
- package/dist/components/top-app-bar/top-app-bar.css.d.ts.map +1 -0
- package/dist/components/top-app-bar/top-app-bar.d.ts +29 -0
- package/dist/components/top-app-bar/top-app-bar.d.ts.map +1 -0
- package/dist/components/top-app-bar/top-app-bar.js +5 -0
- package/dist/index.d.ts +8 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +2264 -58
- package/dist/index.js.map +1 -1
- package/dist/internal/focus-ring/focus-ring.d.ts.map +1 -1
- package/dist/internal/focus-ring/focus-ring.js +4 -0
- package/dist/internal/ripple/ripple.css.d.ts.map +1 -1
- package/dist/internal/ripple/ripple.d.ts +0 -3
- package/dist/internal/ripple/ripple.d.ts.map +1 -1
- package/dist/internal/ripple/ripple.js +2 -142
- package/dist/tokens/index.js +336 -11
- package/dist/tokens/index.js.map +1 -1
- package/package.json +118 -12
- package/dist/chunks/base-component-DQTjlEVL.js +0 -34
- package/dist/chunks/base-component-DQTjlEVL.js.map +0 -1
- package/dist/chunks/focus-ring-Dl-XoEKK.js +0 -71
- package/dist/chunks/focus-ring-Dl-XoEKK.js.map +0 -1
- package/dist/chunks/form-associated-fKbeX_2P.js.map +0 -1
- package/dist/chunks/theme.css-DV3DRha-.js +0 -263
- package/dist/chunks/theme.css-DV3DRha-.js.map +0 -1
- package/dist/components/badge/badge.js.map +0 -1
- package/dist/components/button/button.js.map +0 -1
- package/dist/components/card/card.js.map +0 -1
- package/dist/components/checkbox/checkbox.js.map +0 -1
- package/dist/components/chip/chip.js.map +0 -1
- package/dist/components/dialog/dialog.js.map +0 -1
- package/dist/components/divider/divider.js.map +0 -1
- package/dist/components/fab/fab.js.map +0 -1
- package/dist/components/icon/icon.js.map +0 -1
- package/dist/components/icon-button/icon-button.js.map +0 -1
- package/dist/components/list/list.js.map +0 -1
- package/dist/components/progress/progress.js.map +0 -1
- package/dist/components/radio/radio.js.map +0 -1
- package/dist/components/snackbar/snackbar.js.map +0 -1
- package/dist/components/switch/switch.js.map +0 -1
- package/dist/components/tabs/tabs.js.map +0 -1
- package/dist/components/text-field/text-field.js.map +0 -1
- package/dist/internal/ripple/ripple.js.map +0 -1
|
@@ -0,0 +1,150 @@
|
|
|
1
|
+
import { n as r, t } from "./decorate-DXuynaiA.js";
|
|
2
|
+
import "./ripple-squbKHhj.js";
|
|
3
|
+
import "./focus-ring-CuiJuM-y.js";
|
|
4
|
+
import "./icon-DrNqcNEL.js";
|
|
5
|
+
import { css as a, html as s, nothing as n } from "lit";
|
|
6
|
+
import { customElement as l, property as o } from "lit/decorators.js";
|
|
7
|
+
var d = a`
|
|
8
|
+
:host {
|
|
9
|
+
display: inline-flex;
|
|
10
|
+
outline: none;
|
|
11
|
+
vertical-align: middle;
|
|
12
|
+
-webkit-tap-highlight-color: transparent;
|
|
13
|
+
}
|
|
14
|
+
|
|
15
|
+
:host([disabled]) {
|
|
16
|
+
pointer-events: none;
|
|
17
|
+
}
|
|
18
|
+
|
|
19
|
+
button {
|
|
20
|
+
position: relative;
|
|
21
|
+
display: inline-flex;
|
|
22
|
+
align-items: center;
|
|
23
|
+
justify-content: center;
|
|
24
|
+
box-sizing: border-box;
|
|
25
|
+
border: none;
|
|
26
|
+
cursor: pointer;
|
|
27
|
+
user-select: none;
|
|
28
|
+
outline: none;
|
|
29
|
+
background-color: var(--md-sys-color-primary-container, #EADDFF);
|
|
30
|
+
color: var(--md-sys-color-on-primary-container, #21005D);
|
|
31
|
+
box-shadow: var(--md-sys-elevation-level3, 0px 1px 3px 0px rgba(0,0,0,0.30));
|
|
32
|
+
transition: box-shadow 200ms cubic-bezier(0.2, 0, 0, 1),
|
|
33
|
+
background-color 200ms cubic-bezier(0.2, 0, 0, 1);
|
|
34
|
+
overflow: hidden;
|
|
35
|
+
}
|
|
36
|
+
|
|
37
|
+
button:hover {
|
|
38
|
+
box-shadow: var(--md-sys-elevation-level4, 0px 2px 3px 0px rgba(0,0,0,0.30));
|
|
39
|
+
}
|
|
40
|
+
|
|
41
|
+
:host([lowered]) button {
|
|
42
|
+
box-shadow: var(--md-sys-elevation-level1, 0px 1px 3px 1px rgba(0,0,0,0.15));
|
|
43
|
+
}
|
|
44
|
+
|
|
45
|
+
:host([lowered]) button:hover {
|
|
46
|
+
box-shadow: var(--md-sys-elevation-level2, 0px 2px 6px 2px rgba(0,0,0,0.15));
|
|
47
|
+
}
|
|
48
|
+
|
|
49
|
+
/* --- Sizes --- */
|
|
50
|
+
:host(:not([size])) button,
|
|
51
|
+
:host([size="medium"]) button {
|
|
52
|
+
width: 56px;
|
|
53
|
+
height: 56px;
|
|
54
|
+
border-radius: var(--md-sys-shape-corner-large, 16px);
|
|
55
|
+
}
|
|
56
|
+
|
|
57
|
+
:host([size="small"]) button {
|
|
58
|
+
width: 40px;
|
|
59
|
+
height: 40px;
|
|
60
|
+
border-radius: var(--md-sys-shape-corner-medium, 12px);
|
|
61
|
+
}
|
|
62
|
+
|
|
63
|
+
:host([size="large"]) button {
|
|
64
|
+
width: 96px;
|
|
65
|
+
height: 96px;
|
|
66
|
+
border-radius: var(--md-sys-shape-corner-extra-large, 28px);
|
|
67
|
+
}
|
|
68
|
+
|
|
69
|
+
:host([size="large"]) md-icon {
|
|
70
|
+
--md-icon-size: 36px;
|
|
71
|
+
}
|
|
72
|
+
|
|
73
|
+
/* --- Extended FAB --- */
|
|
74
|
+
:host([extended]) button {
|
|
75
|
+
width: auto;
|
|
76
|
+
min-width: 80px;
|
|
77
|
+
height: 56px;
|
|
78
|
+
padding: 0 20px;
|
|
79
|
+
border-radius: var(--md-sys-shape-corner-large, 16px);
|
|
80
|
+
gap: 12px;
|
|
81
|
+
}
|
|
82
|
+
|
|
83
|
+
.label {
|
|
84
|
+
font-family: var(--md-sys-typescale-font-family, inherit);
|
|
85
|
+
font-size: var(--md-sys-typescale-label-large-size, 14px);
|
|
86
|
+
font-weight: 500;
|
|
87
|
+
line-height: 20px;
|
|
88
|
+
letter-spacing: 0.1px;
|
|
89
|
+
white-space: nowrap;
|
|
90
|
+
}
|
|
91
|
+
|
|
92
|
+
.content {
|
|
93
|
+
display: inline-flex;
|
|
94
|
+
align-items: center;
|
|
95
|
+
justify-content: center;
|
|
96
|
+
gap: 12px;
|
|
97
|
+
position: relative;
|
|
98
|
+
z-index: 1;
|
|
99
|
+
}
|
|
100
|
+
`, e = class extends r {
|
|
101
|
+
constructor(...i) {
|
|
102
|
+
super(...i), this.size = "medium", this.label = "", this.icon = "", this.lowered = !1, this.disabled = !1, this.extended = !1;
|
|
103
|
+
}
|
|
104
|
+
static {
|
|
105
|
+
this.styles = [r.styles, d];
|
|
106
|
+
}
|
|
107
|
+
updated(i) {
|
|
108
|
+
super.updated(i), i.has("label") && (this.extended = !!this.label);
|
|
109
|
+
}
|
|
110
|
+
render() {
|
|
111
|
+
return s`
|
|
112
|
+
<button ?disabled=${this.disabled}>
|
|
113
|
+
<md-ripple ?disabled=${this.disabled}></md-ripple>
|
|
114
|
+
<md-focus-ring></md-focus-ring>
|
|
115
|
+
<span class="content">
|
|
116
|
+
<slot name="icon">
|
|
117
|
+
${this.icon ? s`<md-icon name=${this.icon}></md-icon>` : n}
|
|
118
|
+
</slot>
|
|
119
|
+
<slot>
|
|
120
|
+
${this.label ? s`<span class="label">${this.label}</span>` : n}
|
|
121
|
+
</slot>
|
|
122
|
+
</span>
|
|
123
|
+
</button>
|
|
124
|
+
`;
|
|
125
|
+
}
|
|
126
|
+
};
|
|
127
|
+
t([o({
|
|
128
|
+
type: String,
|
|
129
|
+
reflect: !0
|
|
130
|
+
})], e.prototype, "size", void 0);
|
|
131
|
+
t([o({ type: String })], e.prototype, "label", void 0);
|
|
132
|
+
t([o({ type: String })], e.prototype, "icon", void 0);
|
|
133
|
+
t([o({
|
|
134
|
+
type: Boolean,
|
|
135
|
+
reflect: !0
|
|
136
|
+
})], e.prototype, "lowered", void 0);
|
|
137
|
+
t([o({
|
|
138
|
+
type: Boolean,
|
|
139
|
+
reflect: !0
|
|
140
|
+
})], e.prototype, "disabled", void 0);
|
|
141
|
+
t([o({
|
|
142
|
+
type: Boolean,
|
|
143
|
+
reflect: !0
|
|
144
|
+
})], e.prototype, "extended", void 0);
|
|
145
|
+
e = t([l("md-fab")], e);
|
|
146
|
+
export {
|
|
147
|
+
e as t
|
|
148
|
+
};
|
|
149
|
+
|
|
150
|
+
//# sourceMappingURL=fab-C9j3WBHE.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"fab-C9j3WBHE.js","names":[],"sources":["../../src/components/fab/fab.css.ts","../../src/components/fab/fab.ts"],"sourcesContent":["import { css } from 'lit';\n\nexport const fabStyles = css`\n :host {\n display: inline-flex;\n outline: none;\n vertical-align: middle;\n -webkit-tap-highlight-color: transparent;\n }\n\n :host([disabled]) {\n pointer-events: none;\n }\n\n button {\n position: relative;\n display: inline-flex;\n align-items: center;\n justify-content: center;\n box-sizing: border-box;\n border: none;\n cursor: pointer;\n user-select: none;\n outline: none;\n background-color: var(--md-sys-color-primary-container, #EADDFF);\n color: var(--md-sys-color-on-primary-container, #21005D);\n box-shadow: var(--md-sys-elevation-level3, 0px 1px 3px 0px rgba(0,0,0,0.30));\n transition: box-shadow 200ms cubic-bezier(0.2, 0, 0, 1),\n background-color 200ms cubic-bezier(0.2, 0, 0, 1);\n overflow: hidden;\n }\n\n button:hover {\n box-shadow: var(--md-sys-elevation-level4, 0px 2px 3px 0px rgba(0,0,0,0.30));\n }\n\n :host([lowered]) button {\n box-shadow: var(--md-sys-elevation-level1, 0px 1px 3px 1px rgba(0,0,0,0.15));\n }\n\n :host([lowered]) button:hover {\n box-shadow: var(--md-sys-elevation-level2, 0px 2px 6px 2px rgba(0,0,0,0.15));\n }\n\n /* --- Sizes --- */\n :host(:not([size])) button,\n :host([size=\"medium\"]) button {\n width: 56px;\n height: 56px;\n border-radius: var(--md-sys-shape-corner-large, 16px);\n }\n\n :host([size=\"small\"]) button {\n width: 40px;\n height: 40px;\n border-radius: var(--md-sys-shape-corner-medium, 12px);\n }\n\n :host([size=\"large\"]) button {\n width: 96px;\n height: 96px;\n border-radius: var(--md-sys-shape-corner-extra-large, 28px);\n }\n\n :host([size=\"large\"]) md-icon {\n --md-icon-size: 36px;\n }\n\n /* --- Extended FAB --- */\n :host([extended]) button {\n width: auto;\n min-width: 80px;\n height: 56px;\n padding: 0 20px;\n border-radius: var(--md-sys-shape-corner-large, 16px);\n gap: 12px;\n }\n\n .label {\n font-family: var(--md-sys-typescale-font-family, inherit);\n font-size: var(--md-sys-typescale-label-large-size, 14px);\n font-weight: 500;\n line-height: 20px;\n letter-spacing: 0.1px;\n white-space: nowrap;\n }\n\n .content {\n display: inline-flex;\n align-items: center;\n justify-content: center;\n gap: 12px;\n position: relative;\n z-index: 1;\n }\n`;\n\n","import { html, nothing } from 'lit';\nimport { customElement, property } from 'lit/decorators.js';\nimport { MdBaseElement } from '../../internal/base-component.js';\nimport '../../internal/ripple/ripple.js';\nimport '../../internal/focus-ring/focus-ring.js';\nimport '../icon/icon.js';\nimport { fabStyles } from './fab.css.js';\n\nexport type FabSize = 'small' | 'medium' | 'large';\n\n@customElement('md-fab')\nexport class MdFab extends MdBaseElement {\n static override styles = [MdBaseElement.styles, fabStyles];\n\n @property({ type: String, reflect: true })\n size: FabSize = 'medium';\n\n @property({ type: String })\n label = '';\n\n @property({ type: String })\n icon = '';\n\n @property({ type: Boolean, reflect: true })\n lowered = false;\n\n @property({ type: Boolean, reflect: true })\n disabled = false;\n\n @property({ type: Boolean, reflect: true })\n extended = false;\n\n override updated(changedProperties: Map<string, unknown>) {\n super.updated(changedProperties);\n if (changedProperties.has('label')) {\n this.extended = Boolean(this.label);\n }\n }\n\n override render() {\n return html`\n <button ?disabled=${this.disabled}>\n <md-ripple ?disabled=${this.disabled}></md-ripple>\n <md-focus-ring></md-focus-ring>\n <span class=\"content\">\n <slot name=\"icon\">\n ${this.icon ? html`<md-icon name=${this.icon}></md-icon>` : nothing}\n </slot>\n <slot>\n ${this.label ? html`<span class=\"label\">${this.label}</span>` : nothing}\n </slot>\n </span>\n </button>\n `;\n }\n}\n\ndeclare global {\n interface HTMLElementTagNameMap {\n 'md-fab': MdFab;\n }\n}\n\n"],"mappings":";;;;;;AAEA,IAAa,IAAY;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,GCSZ,IAAN,cAAoB,EAAc;AAAA;iBAIvB,KAAA,OAAA,UAGR,KAAA,QAAA,IAGD,KAAA,OAAA,IAGG,KAAA,UAAA,IAGC,KAAA,WAAA,IAGA,KAAA,WAAA;AAAA;;AAlBc,SAAA,SAAA,CAAC,EAAc,QAAQ,CAAS;AAAA;EAoBzD,QAAiB,GAAyC;AACxD,UAAM,QAAQ,CAAiB,GAC3B,EAAkB,IAAI,OAAO,MAC/B,KAAK,WAAW,EAAQ,KAAK;AAAA,EAEjC;AAAA,EAEA,SAAkB;AAChB,WAAO;AAAA,0BACe,KAAK,QAAA;AAAA,+BACA,KAAK,QAAA;AAAA;AAAA;AAAA;AAAA,cAItB,KAAK,OAAO,kBAAqB,KAAK,IAAA,gBAAoB,CAAA;AAAA;AAAA;AAAA,cAG1D,KAAK,QAAQ,wBAA2B,KAAK,KAAA,YAAiB,CAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAK1E;AACF;AAzCG,EAAA,CAAA,EAAS;AAAA,EAAE,MAAM;AAAA,EAAQ,SAAS;AAAK,CAAC,CAAA,GAAA,EAAA,WAAA,QAAA,MAAA;AAGxC,EAAA,CAAA,EAAS,EAAE,MAAM,OAAO,CAAC,CAAA,GAAA,EAAA,WAAA,SAAA,MAAA;AAGzB,EAAA,CAAA,EAAS,EAAE,MAAM,OAAO,CAAC,CAAA,GAAA,EAAA,WAAA,QAAA,MAAA;AAGzB,EAAA,CAAA,EAAS;AAAA,EAAE,MAAM;AAAA,EAAS,SAAS;AAAK,CAAC,CAAA,GAAA,EAAA,WAAA,WAAA,MAAA;AAGzC,EAAA,CAAA,EAAS;AAAA,EAAE,MAAM;AAAA,EAAS,SAAS;AAAK,CAAC,CAAA,GAAA,EAAA,WAAA,YAAA,MAAA;AAGzC,EAAA,CAAA,EAAS;AAAA,EAAE,MAAM;AAAA,EAAS,SAAS;AAAK,CAAC,CAAA,GAAA,EAAA,WAAA,YAAA,MAAA;AAnB3C,IAAA,EAAA,CAAA,EAAc,QAAQ,CAAA,GAAA,CAAA"}
|
|
@@ -0,0 +1,71 @@
|
|
|
1
|
+
import { n as i, t as e } from "./decorate-DXuynaiA.js";
|
|
2
|
+
import { css as r, html as c } from "lit";
|
|
3
|
+
import { customElement as l, property as n } from "lit/decorators.js";
|
|
4
|
+
var a = r`
|
|
5
|
+
:host {
|
|
6
|
+
display: none;
|
|
7
|
+
position: absolute;
|
|
8
|
+
inset: -4px;
|
|
9
|
+
border: 3px solid var(--md-sys-color-secondary, #625B71);
|
|
10
|
+
border-radius: inherit;
|
|
11
|
+
pointer-events: none;
|
|
12
|
+
box-sizing: border-box;
|
|
13
|
+
}
|
|
14
|
+
|
|
15
|
+
:host([visible]) {
|
|
16
|
+
display: block;
|
|
17
|
+
animation: md-focus-ring-in 150ms cubic-bezier(0.2, 0, 0, 1);
|
|
18
|
+
}
|
|
19
|
+
|
|
20
|
+
:host([inward]) {
|
|
21
|
+
inset: 0px;
|
|
22
|
+
}
|
|
23
|
+
|
|
24
|
+
@keyframes md-focus-ring-in {
|
|
25
|
+
from {
|
|
26
|
+
opacity: 0;
|
|
27
|
+
transform: scale(0.96);
|
|
28
|
+
}
|
|
29
|
+
to {
|
|
30
|
+
opacity: 1;
|
|
31
|
+
transform: scale(1);
|
|
32
|
+
}
|
|
33
|
+
}
|
|
34
|
+
`, t = class extends i {
|
|
35
|
+
constructor(...s) {
|
|
36
|
+
super(...s), this.visible = !1, this.inward = !1, this.control = null, this.handleFocusIn = () => {
|
|
37
|
+
const o = this.getRootNode()?.host;
|
|
38
|
+
(this.control?.matches(":focus-visible") || this.control?.querySelector(":focus-visible") || o?.matches(":focus-visible")) && (this.visible = !0);
|
|
39
|
+
}, this.handleFocusOut = () => {
|
|
40
|
+
this.visible = !1;
|
|
41
|
+
};
|
|
42
|
+
}
|
|
43
|
+
static {
|
|
44
|
+
this.styles = [i.styles, a];
|
|
45
|
+
}
|
|
46
|
+
connectedCallback() {
|
|
47
|
+
super.connectedCallback();
|
|
48
|
+
const s = this.parentElement, o = this.getRootNode()?.host;
|
|
49
|
+
this.control = s || o, this.control && (this.control.addEventListener("focusin", this.handleFocusIn), this.control.addEventListener("focusout", this.handleFocusOut));
|
|
50
|
+
}
|
|
51
|
+
disconnectedCallback() {
|
|
52
|
+
super.disconnectedCallback(), this.control && (this.control.removeEventListener("focusin", this.handleFocusIn), this.control.removeEventListener("focusout", this.handleFocusOut));
|
|
53
|
+
}
|
|
54
|
+
render() {
|
|
55
|
+
return c``;
|
|
56
|
+
}
|
|
57
|
+
};
|
|
58
|
+
e([n({
|
|
59
|
+
type: Boolean,
|
|
60
|
+
reflect: !0
|
|
61
|
+
})], t.prototype, "visible", void 0);
|
|
62
|
+
e([n({
|
|
63
|
+
type: Boolean,
|
|
64
|
+
reflect: !0
|
|
65
|
+
})], t.prototype, "inward", void 0);
|
|
66
|
+
t = e([l("md-focus-ring")], t);
|
|
67
|
+
export {
|
|
68
|
+
t
|
|
69
|
+
};
|
|
70
|
+
|
|
71
|
+
//# sourceMappingURL=focus-ring-CuiJuM-y.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"focus-ring-CuiJuM-y.js","names":[],"sources":["../../src/internal/focus-ring/focus-ring.css.ts","../../src/internal/focus-ring/focus-ring.ts"],"sourcesContent":["import { css } from 'lit';\n\nexport const focusRingStyles = css`\n :host {\n display: none;\n position: absolute;\n inset: -4px;\n border: 3px solid var(--md-sys-color-secondary, #625B71);\n border-radius: inherit;\n pointer-events: none;\n box-sizing: border-box;\n }\n\n :host([visible]) {\n display: block;\n animation: md-focus-ring-in 150ms cubic-bezier(0.2, 0, 0, 1);\n }\n\n :host([inward]) {\n inset: 0px;\n }\n\n @keyframes md-focus-ring-in {\n from {\n opacity: 0;\n transform: scale(0.96);\n }\n to {\n opacity: 1;\n transform: scale(1);\n }\n }\n`;\n\n","import { html } from 'lit';\nimport { customElement, property } from 'lit/decorators.js';\nimport { MdBaseElement } from '../base-component.js';\nimport { focusRingStyles } from './focus-ring.css.js';\n\n@customElement('md-focus-ring')\nexport class MdFocusRing extends MdBaseElement {\n static override styles = [MdBaseElement.styles, focusRingStyles];\n\n @property({ type: Boolean, reflect: true })\n visible = false;\n\n @property({ type: Boolean, reflect: true })\n inward = false;\n\n private control: HTMLElement | null = null;\n\n override connectedCallback(): void {\n super.connectedCallback();\n const parent = this.parentElement;\n const host = (this.getRootNode() as ShadowRoot)?.host as HTMLElement | null;\n this.control = parent || host;\n if (this.control) {\n this.control.addEventListener('focusin', this.handleFocusIn);\n this.control.addEventListener('focusout', this.handleFocusOut);\n }\n }\n\n override disconnectedCallback(): void {\n super.disconnectedCallback();\n if (this.control) {\n this.control.removeEventListener('focusin', this.handleFocusIn);\n this.control.removeEventListener('focusout', this.handleFocusOut);\n }\n }\n\n private handleFocusIn = (): void => {\n const host = (this.getRootNode() as ShadowRoot)?.host as HTMLElement | null;\n if (\n this.control?.matches(':focus-visible') ||\n this.control?.querySelector(':focus-visible') ||\n host?.matches(':focus-visible')\n ) {\n this.visible = true;\n }\n };\n\n private handleFocusOut = (): void => {\n this.visible = false;\n };\n\n override render() {\n return html``;\n }\n}\n\ndeclare global {\n interface HTMLElementTagNameMap {\n 'md-focus-ring': MdFocusRing;\n }\n}\n\n"],"mappings":";;;AAEA,IAAa,IAAkB;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,GCIlB,IAAN,cAA0B,EAAc;AAAA;iBAInC,KAAA,UAAA,IAGD,KAAA,SAAA,IAE6B,KAAA,UAAA,MAqBF,KAAA,gBAAA,MAAA;AAClC,YAAM,IAAQ,KAAK,YAAY,GAAkB;AACjD,OACE,KAAK,SAAS,QAAQ,gBAAgB,KACtC,KAAK,SAAS,cAAc,gBAAgB,KAC5C,GAAM,QAAQ,gBAAgB,OAE9B,KAAK,UAAU;AAAA,IAEnB,GAEqC,KAAA,iBAAA,MAAA;AACnC,WAAK,UAAU;AAAA,IACjB;AAAA;;AA1CyB,SAAA,SAAA,CAAC,EAAc,QAAQ,CAAe;AAAA;EAU/D,oBAAmC;AACjC,UAAM,kBAAkB;AACxB,UAAM,IAAS,KAAK,eACd,IAAQ,KAAK,YAAY,GAAkB;AACjD,SAAK,UAAU,KAAU,GACrB,KAAK,YACP,KAAK,QAAQ,iBAAiB,WAAW,KAAK,aAAa,GAC3D,KAAK,QAAQ,iBAAiB,YAAY,KAAK,cAAc;AAAA,EAEjE;AAAA,EAEA,uBAAsC;AACpC,UAAM,qBAAqB,GACvB,KAAK,YACP,KAAK,QAAQ,oBAAoB,WAAW,KAAK,aAAa,GAC9D,KAAK,QAAQ,oBAAoB,YAAY,KAAK,cAAc;AAAA,EAEpE;AAAA,EAiBA,SAAkB;AAChB,WAAO;AAAA,EACT;AACF;AA7CG,EAAA,CAAA,EAAS;AAAA,EAAE,MAAM;AAAA,EAAS,SAAS;AAAK,CAAC,CAAA,GAAA,EAAA,WAAA,WAAA,MAAA;AAGzC,EAAA,CAAA,EAAS;AAAA,EAAE,MAAM;AAAA,EAAS,SAAS;AAAK,CAAC,CAAA,GAAA,EAAA,WAAA,UAAA,MAAA;AAP3C,IAAA,EAAA,CAAA,EAAc,eAAe,CAAA,GAAA,CAAA"}
|
|
@@ -1,17 +1,12 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import {
|
|
3
|
-
var
|
|
4
|
-
for (var e = void 0, a = s.length - 1, d; a >= 0; a--)
|
|
5
|
-
(d = s[a]) && (e = d(t, i, e) || e);
|
|
6
|
-
return e && f(t, i, e), e;
|
|
7
|
-
};
|
|
8
|
-
class n extends h {
|
|
9
|
-
constructor() {
|
|
10
|
-
super(), this.name = "", this.disabled = !1, this.required = !1, this._customValidityMessage = "", this._valid = !0, typeof this.attachInternals == "function" && (this.internals = this.attachInternals());
|
|
11
|
-
}
|
|
1
|
+
import { n as o, t as e } from "./decorate-DXuynaiA.js";
|
|
2
|
+
import { property as i } from "lit/decorators.js";
|
|
3
|
+
var s = class extends o {
|
|
12
4
|
static {
|
|
13
5
|
this.formAssociated = !0;
|
|
14
6
|
}
|
|
7
|
+
constructor() {
|
|
8
|
+
super(), this.name = "", this.disabled = !1, this.required = !1, this._customValidityMessage = "", this._valid = !0, typeof this.attachInternals == "function" && (this.internals = this.attachInternals());
|
|
9
|
+
}
|
|
15
10
|
get form() {
|
|
16
11
|
return this.internals?.form ?? this.closest("form");
|
|
17
12
|
}
|
|
@@ -45,30 +40,34 @@ class n extends h {
|
|
|
45
40
|
setFormValue(t) {
|
|
46
41
|
this.internals?.setFormValue(t);
|
|
47
42
|
}
|
|
48
|
-
setValidity(t,
|
|
43
|
+
setValidity(t, a, r) {
|
|
49
44
|
if (t) {
|
|
50
|
-
const
|
|
51
|
-
this._valid = !
|
|
45
|
+
const l = Object.values(t).some(Boolean);
|
|
46
|
+
this._valid = !l, this._customValidityMessage = a || "";
|
|
52
47
|
} else
|
|
53
48
|
this._valid = !0, this._customValidityMessage = "";
|
|
54
|
-
this.internals?.setValidity && this.internals.setValidity(t,
|
|
49
|
+
this.internals?.setValidity && this.internals.setValidity(t, a, r);
|
|
55
50
|
}
|
|
56
51
|
formResetCallback() {
|
|
57
52
|
}
|
|
58
53
|
formDisabledCallback(t) {
|
|
59
54
|
this.disabled = t;
|
|
60
55
|
}
|
|
61
|
-
}
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
56
|
+
};
|
|
57
|
+
e([i({
|
|
58
|
+
type: String,
|
|
59
|
+
reflect: !0
|
|
60
|
+
})], s.prototype, "name", void 0);
|
|
61
|
+
e([i({
|
|
62
|
+
type: Boolean,
|
|
63
|
+
reflect: !0
|
|
64
|
+
})], s.prototype, "disabled", void 0);
|
|
65
|
+
e([i({
|
|
66
|
+
type: Boolean,
|
|
67
|
+
reflect: !0
|
|
68
|
+
})], s.prototype, "required", void 0);
|
|
71
69
|
export {
|
|
72
|
-
|
|
70
|
+
s as t
|
|
73
71
|
};
|
|
74
|
-
|
|
72
|
+
|
|
73
|
+
//# sourceMappingURL=form-associated-Cty_ZaS9.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"form-associated-Cty_ZaS9.js","names":[],"sources":["../../src/internal/form-associated.ts"],"sourcesContent":["import { property } from 'lit/decorators.js';\nimport { MdBaseElement } from './base-component.js';\n\n/**\n * Base element class for Form-Associated Custom Elements (FACE).\n * Provides seamless integration with native HTML <form> elements.\n */\nexport class MdFormAssociatedElement extends MdBaseElement {\n static formAssociated = true;\n\n protected internals?: ElementInternals;\n\n @property({ type: String, reflect: true })\n name = '';\n\n @property({ type: Boolean, reflect: true })\n disabled = false;\n\n @property({ type: Boolean, reflect: true })\n required = false;\n\n private _customValidityMessage = '';\n private _valid = true;\n\n constructor() {\n super();\n if (typeof this.attachInternals === 'function') {\n this.internals = this.attachInternals();\n }\n }\n\n get form(): HTMLFormElement | null {\n return this.internals?.form ?? (this.closest('form') as HTMLFormElement | null);\n }\n\n get validity(): ValidityState {\n return this.internals?.validity ?? ({\n valid: this._valid,\n valueMissing: !this._valid,\n customError: Boolean(this._customValidityMessage),\n badInput: false,\n patternMismatch: false,\n rangeOverflow: false,\n rangeUnderflow: false,\n stepMismatch: false,\n tooLong: false,\n tooShort: false,\n typeMismatch: false,\n } as ValidityState);\n }\n\n get validationMessage(): string {\n return this.internals?.validationMessage ?? this._customValidityMessage;\n }\n\n get willValidate(): boolean {\n return this.internals?.willValidate ?? !this.disabled;\n }\n\n checkValidity(): boolean {\n if (this.internals?.checkValidity) {\n return this.internals.checkValidity();\n }\n return this._valid;\n }\n\n reportValidity(): boolean {\n if (this.internals?.reportValidity) {\n return this.internals.reportValidity();\n }\n return this._valid;\n }\n\n protected setFormValue(value: string | File | FormData | null): void {\n this.internals?.setFormValue(value);\n }\n\n protected setValidity(\n flags?: ValidityStateFlags,\n message?: string,\n anchor?: HTMLElement\n ): void {\n if (flags) {\n const hasErrors = Object.values(flags).some(Boolean);\n this._valid = !hasErrors;\n this._customValidityMessage = message || '';\n } else {\n this._valid = true;\n this._customValidityMessage = '';\n }\n\n if (this.internals?.setValidity) {\n this.internals.setValidity(flags, message, anchor);\n }\n }\n\n formResetCallback(): void {\n // Override in child class to reset internal values\n }\n\n formDisabledCallback(disabled: boolean): void {\n this.disabled = disabled;\n }\n}\n\n"],"mappings":";;AAOA,IAAa,IAAb,cAA6C,EAAc;AAAA;AACjC,SAAA,iBAAA;AAAA;EAgBxB,cAAc;AACZ,UAAM,GAZD,KAAA,OAAA,IAGI,KAAA,WAAA,IAGA,KAAA,WAAA,IAEsB,KAAA,yBAAA,IAChB,KAAA,SAAA,IAIX,OAAO,KAAK,mBAAoB,eAClC,KAAK,YAAY,KAAK,gBAAgB;AAAA,EAE1C;AAAA,EAEA,IAAI,OAA+B;AACjC,WAAO,KAAK,WAAW,QAAS,KAAK,QAAQ,MAAM;AAAA,EACrD;AAAA,EAEA,IAAI,WAA0B;AAC5B,WAAO,KAAK,WAAW,YAAa;AAAA,MAClC,OAAO,KAAK;AAAA,MACZ,cAAc,CAAC,KAAK;AAAA,MACpB,aAAa,EAAQ,KAAK;AAAA,MAC1B,UAAU;AAAA,MACV,iBAAiB;AAAA,MACjB,eAAe;AAAA,MACf,gBAAgB;AAAA,MAChB,cAAc;AAAA,MACd,SAAS;AAAA,MACT,UAAU;AAAA,MACV,cAAc;AAAA,IAChB;AAAA,EACF;AAAA,EAEA,IAAI,oBAA4B;AAC9B,WAAO,KAAK,WAAW,qBAAqB,KAAK;AAAA,EACnD;AAAA,EAEA,IAAI,eAAwB;AAC1B,WAAO,KAAK,WAAW,gBAAgB,CAAC,KAAK;AAAA,EAC/C;AAAA,EAEA,gBAAyB;AACvB,WAAI,KAAK,WAAW,gBACX,KAAK,UAAU,cAAc,IAE/B,KAAK;AAAA,EACd;AAAA,EAEA,iBAA0B;AACxB,WAAI,KAAK,WAAW,iBACX,KAAK,UAAU,eAAe,IAEhC,KAAK;AAAA,EACd;AAAA,EAEA,aAAuB,GAA8C;AACnE,SAAK,WAAW,aAAa,CAAK;AAAA,EACpC;AAAA,EAEA,YACE,GACA,GACA,GACM;AACN,QAAI,GAAO;AACT,YAAM,IAAY,OAAO,OAAO,CAAK,EAAE,KAAK,OAAO;AACnD,WAAK,SAAS,CAAC,GACf,KAAK,yBAAyB,KAAW;AAAA,IAC3C;AACE,WAAK,SAAS,IACd,KAAK,yBAAyB;AAGhC,IAAI,KAAK,WAAW,eAClB,KAAK,UAAU,YAAY,GAAO,GAAS,CAAM;AAAA,EAErD;AAAA,EAEA,oBAA0B;AAAA,EAE1B;AAAA,EAEA,qBAAqB,GAAyB;AAC5C,SAAK,WAAW;AAAA,EAClB;AACF;AA3FG,EAAA,CAAA,EAAS;AAAA,EAAE,MAAM;AAAA,EAAQ,SAAS;AAAK,CAAC,CAAA,GAAA,EAAA,WAAA,QAAA,MAAA;AAGxC,EAAA,CAAA,EAAS;AAAA,EAAE,MAAM;AAAA,EAAS,SAAS;AAAK,CAAC,CAAA,GAAA,EAAA,WAAA,YAAA,MAAA;AAGzC,EAAA,CAAA,EAAS;AAAA,EAAE,MAAM;AAAA,EAAS,SAAS;AAAK,CAAC,CAAA,GAAA,EAAA,WAAA,YAAA,MAAA"}
|
|
@@ -0,0 +1,62 @@
|
|
|
1
|
+
import { n as o, t as i } from "./decorate-DXuynaiA.js";
|
|
2
|
+
import { css as r, html as n } from "lit";
|
|
3
|
+
import { customElement as l, property as s } from "lit/decorators.js";
|
|
4
|
+
var a = r`
|
|
5
|
+
:host {
|
|
6
|
+
display: inline-flex;
|
|
7
|
+
align-items: center;
|
|
8
|
+
justify-content: center;
|
|
9
|
+
vertical-align: middle;
|
|
10
|
+
width: var(--md-icon-size, 24px);
|
|
11
|
+
height: var(--md-icon-size, 24px);
|
|
12
|
+
font-size: var(--md-icon-size, 24px);
|
|
13
|
+
line-height: 1;
|
|
14
|
+
letter-spacing: normal;
|
|
15
|
+
text-transform: none;
|
|
16
|
+
white-space: nowrap;
|
|
17
|
+
word-wrap: normal;
|
|
18
|
+
direction: ltr;
|
|
19
|
+
font-family: 'Material Symbols Outlined', 'Material Icons', sans-serif;
|
|
20
|
+
font-weight: normal;
|
|
21
|
+
font-style: normal;
|
|
22
|
+
font-variation-settings: 'FILL' 0, 'wght' 400, 'GRAD' 0, 'opsz' 24;
|
|
23
|
+
user-select: none;
|
|
24
|
+
flex-shrink: 0;
|
|
25
|
+
color: inherit;
|
|
26
|
+
}
|
|
27
|
+
|
|
28
|
+
:host([filled]) {
|
|
29
|
+
font-variation-settings: 'FILL' 1, 'wght' 400, 'GRAD' 0, 'opsz' 24;
|
|
30
|
+
}
|
|
31
|
+
|
|
32
|
+
::slotted(svg) {
|
|
33
|
+
width: 100%;
|
|
34
|
+
height: 100%;
|
|
35
|
+
fill: currentColor;
|
|
36
|
+
}
|
|
37
|
+
`, t = class extends o {
|
|
38
|
+
constructor(...e) {
|
|
39
|
+
super(...e), this.name = "", this.filled = !1, this.size = "";
|
|
40
|
+
}
|
|
41
|
+
static {
|
|
42
|
+
this.styles = [o.styles, a];
|
|
43
|
+
}
|
|
44
|
+
updated(e) {
|
|
45
|
+
super.updated(e), e.has("size") && (this.size ? this.style.setProperty("--md-icon-size", isNaN(Number(this.size)) ? this.size : `${this.size}px`) : this.style.removeProperty("--md-icon-size"));
|
|
46
|
+
}
|
|
47
|
+
render() {
|
|
48
|
+
return n`<slot>${this.name}</slot>`;
|
|
49
|
+
}
|
|
50
|
+
};
|
|
51
|
+
i([s({ type: String })], t.prototype, "name", void 0);
|
|
52
|
+
i([s({
|
|
53
|
+
type: Boolean,
|
|
54
|
+
reflect: !0
|
|
55
|
+
})], t.prototype, "filled", void 0);
|
|
56
|
+
i([s({ type: String })], t.prototype, "size", void 0);
|
|
57
|
+
t = i([l("md-icon")], t);
|
|
58
|
+
export {
|
|
59
|
+
t
|
|
60
|
+
};
|
|
61
|
+
|
|
62
|
+
//# sourceMappingURL=icon-DrNqcNEL.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"icon-DrNqcNEL.js","names":[],"sources":["../../src/components/icon/icon.css.ts","../../src/components/icon/icon.ts"],"sourcesContent":["import { css } from 'lit';\n\nexport const iconStyles = css`\n :host {\n display: inline-flex;\n align-items: center;\n justify-content: center;\n vertical-align: middle;\n width: var(--md-icon-size, 24px);\n height: var(--md-icon-size, 24px);\n font-size: var(--md-icon-size, 24px);\n line-height: 1;\n letter-spacing: normal;\n text-transform: none;\n white-space: nowrap;\n word-wrap: normal;\n direction: ltr;\n font-family: 'Material Symbols Outlined', 'Material Icons', sans-serif;\n font-weight: normal;\n font-style: normal;\n font-variation-settings: 'FILL' 0, 'wght' 400, 'GRAD' 0, 'opsz' 24;\n user-select: none;\n flex-shrink: 0;\n color: inherit;\n }\n\n :host([filled]) {\n font-variation-settings: 'FILL' 1, 'wght' 400, 'GRAD' 0, 'opsz' 24;\n }\n\n ::slotted(svg) {\n width: 100%;\n height: 100%;\n fill: currentColor;\n }\n`;\n\n","import { html } from 'lit';\nimport { customElement, property } from 'lit/decorators.js';\nimport { MdBaseElement } from '../../internal/base-component.js';\nimport { iconStyles } from './icon.css.js';\n\n@customElement('md-icon')\nexport class MdIcon extends MdBaseElement {\n static override styles = [MdBaseElement.styles, iconStyles];\n\n @property({ type: String })\n name = '';\n\n @property({ type: Boolean, reflect: true })\n filled = false;\n\n @property({ type: String })\n size = '';\n\n override updated(changedProperties: Map<string, unknown>) {\n super.updated(changedProperties);\n if (changedProperties.has('size')) {\n if (this.size) {\n this.style.setProperty('--md-icon-size', isNaN(Number(this.size)) ? this.size : `${this.size}px`);\n } else {\n this.style.removeProperty('--md-icon-size');\n }\n }\n }\n\n override render() {\n return html`<slot>${this.name}</slot>`;\n }\n}\n\ndeclare global {\n interface HTMLElementTagNameMap {\n 'md-icon': MdIcon;\n }\n}\n\n"],"mappings":";;;AAEA,IAAa,IAAa;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,GCIb,IAAN,cAAqB,EAAc;AAAA;iBAIjC,KAAA,OAAA,IAGE,KAAA,SAAA,IAGF,KAAA,OAAA;AAAA;;AATkB,SAAA,SAAA,CAAC,EAAc,QAAQ,CAAU;AAAA;EAW1D,QAAiB,GAAyC;AACxD,UAAM,QAAQ,CAAiB,GAC3B,EAAkB,IAAI,MAAM,MAC1B,KAAK,OACP,KAAK,MAAM,YAAY,kBAAkB,MAAM,OAAO,KAAK,IAAI,CAAC,IAAI,KAAK,OAAO,GAAG,KAAK,IAAA,IAAQ,IAEhG,KAAK,MAAM,eAAe,gBAAgB;AAAA,EAGhD;AAAA,EAEA,SAAkB;AAChB,WAAO,UAAa,KAAK,IAAA;AAAA,EAC3B;AACF;AAvBG,EAAA,CAAA,EAAS,EAAE,MAAM,OAAO,CAAC,CAAA,GAAA,EAAA,WAAA,QAAA,MAAA;AAGzB,EAAA,CAAA,EAAS;AAAA,EAAE,MAAM;AAAA,EAAS,SAAS;AAAK,CAAC,CAAA,GAAA,EAAA,WAAA,UAAA,MAAA;AAGzC,EAAA,CAAA,EAAS,EAAE,MAAM,OAAO,CAAC,CAAA,GAAA,EAAA,WAAA,QAAA,MAAA;AAV3B,IAAA,EAAA,CAAA,EAAc,SAAS,CAAA,GAAA,CAAA"}
|
|
@@ -0,0 +1,188 @@
|
|
|
1
|
+
import { n, t as e } from "./decorate-DXuynaiA.js";
|
|
2
|
+
import "./ripple-squbKHhj.js";
|
|
3
|
+
import "./focus-ring-CuiJuM-y.js";
|
|
4
|
+
import "./icon-DrNqcNEL.js";
|
|
5
|
+
import { css as l, html as s, nothing as r } from "lit";
|
|
6
|
+
import { customElement as d, property as o } from "lit/decorators.js";
|
|
7
|
+
var c = l`
|
|
8
|
+
:host {
|
|
9
|
+
display: inline-flex;
|
|
10
|
+
outline: none;
|
|
11
|
+
vertical-align: middle;
|
|
12
|
+
-webkit-tap-highlight-color: transparent;
|
|
13
|
+
}
|
|
14
|
+
|
|
15
|
+
:host([disabled]) {
|
|
16
|
+
pointer-events: none;
|
|
17
|
+
}
|
|
18
|
+
|
|
19
|
+
button, a {
|
|
20
|
+
position: relative;
|
|
21
|
+
display: inline-flex;
|
|
22
|
+
align-items: center;
|
|
23
|
+
justify-content: center;
|
|
24
|
+
box-sizing: border-box;
|
|
25
|
+
width: 40px;
|
|
26
|
+
height: 40px;
|
|
27
|
+
padding: 0;
|
|
28
|
+
border: none;
|
|
29
|
+
border-radius: var(--md-sys-shape-corner-full, 50%);
|
|
30
|
+
overflow: hidden;
|
|
31
|
+
background-color: transparent;
|
|
32
|
+
color: var(--md-sys-color-on-surface-variant, #49454F);
|
|
33
|
+
cursor: pointer;
|
|
34
|
+
user-select: none;
|
|
35
|
+
outline: none;
|
|
36
|
+
text-decoration: none;
|
|
37
|
+
transition: background-color 150ms cubic-bezier(0.2, 0, 0, 1),
|
|
38
|
+
color 150ms cubic-bezier(0.2, 0, 0, 1);
|
|
39
|
+
}
|
|
40
|
+
|
|
41
|
+
/* --- Filled --- */
|
|
42
|
+
:host([variant="filled"]) button,
|
|
43
|
+
:host([variant="filled"]) a {
|
|
44
|
+
background-color: var(--md-sys-color-primary, #6750A4);
|
|
45
|
+
color: var(--md-sys-color-on-primary, #FFFFFF);
|
|
46
|
+
}
|
|
47
|
+
|
|
48
|
+
:host([variant="filled"][selected]) button,
|
|
49
|
+
:host([variant="filled"][selected]) a {
|
|
50
|
+
background-color: var(--md-sys-color-primary, #6750A4);
|
|
51
|
+
color: var(--md-sys-color-on-primary, #FFFFFF);
|
|
52
|
+
}
|
|
53
|
+
|
|
54
|
+
/* --- Tonal --- */
|
|
55
|
+
:host([variant="tonal"]) button,
|
|
56
|
+
:host([variant="tonal"]) a {
|
|
57
|
+
background-color: var(--md-sys-color-secondary-container, #E8DEF8);
|
|
58
|
+
color: var(--md-sys-color-on-secondary-container, #1D192B);
|
|
59
|
+
}
|
|
60
|
+
|
|
61
|
+
/* --- Outlined --- */
|
|
62
|
+
:host([variant="outlined"]) button,
|
|
63
|
+
:host([variant="outlined"]) a {
|
|
64
|
+
border: 1px solid var(--md-sys-color-outline, #79747E);
|
|
65
|
+
color: var(--md-sys-color-on-surface-variant, #49454F);
|
|
66
|
+
}
|
|
67
|
+
|
|
68
|
+
:host([variant="outlined"][selected]) button,
|
|
69
|
+
:host([variant="outlined"][selected]) a {
|
|
70
|
+
background-color: var(--md-sys-color-inverse-surface, #313033);
|
|
71
|
+
color: var(--md-sys-color-inverse-on-surface, #F4EFF4);
|
|
72
|
+
border: none;
|
|
73
|
+
}
|
|
74
|
+
|
|
75
|
+
/* --- Toggle / Selected for Standard --- */
|
|
76
|
+
:host(:not([variant])[selected]) button,
|
|
77
|
+
:host(:not([variant])[selected]) a,
|
|
78
|
+
:host([variant="standard"][selected]) button,
|
|
79
|
+
:host([variant="standard"][selected]) a {
|
|
80
|
+
color: var(--md-sys-color-primary, #6750A4);
|
|
81
|
+
}
|
|
82
|
+
|
|
83
|
+
/* --- Disabled --- */
|
|
84
|
+
:host([disabled]) button,
|
|
85
|
+
:host([disabled]) a {
|
|
86
|
+
cursor: not-allowed;
|
|
87
|
+
color: rgba(29, 27, 32, 0.38);
|
|
88
|
+
}
|
|
89
|
+
|
|
90
|
+
:host([disabled][variant="filled"]) button,
|
|
91
|
+
:host([disabled][variant="filled"]) a,
|
|
92
|
+
:host([disabled][variant="tonal"]) button,
|
|
93
|
+
:host([disabled][variant="tonal"]) a {
|
|
94
|
+
background-color: rgba(29, 27, 32, 0.12);
|
|
95
|
+
}
|
|
96
|
+
|
|
97
|
+
:host([disabled][variant="outlined"]) button,
|
|
98
|
+
:host([disabled][variant="outlined"]) a {
|
|
99
|
+
border-color: rgba(29, 27, 32, 0.12);
|
|
100
|
+
}
|
|
101
|
+
|
|
102
|
+
.content {
|
|
103
|
+
display: inline-flex;
|
|
104
|
+
align-items: center;
|
|
105
|
+
justify-content: center;
|
|
106
|
+
position: relative;
|
|
107
|
+
z-index: 1;
|
|
108
|
+
}
|
|
109
|
+
`, t = class extends n {
|
|
110
|
+
constructor(...i) {
|
|
111
|
+
super(...i), this.variant = "standard", this.disabled = !1, this.toggle = !1, this.selected = !1, this.icon = "", this.selectedIcon = "", this.ariaLabelText = "", this.href = "", this.target = "", this.handleClick = (a) => {
|
|
112
|
+
if (this.disabled) {
|
|
113
|
+
a.preventDefault(), a.stopImmediatePropagation();
|
|
114
|
+
return;
|
|
115
|
+
}
|
|
116
|
+
this.toggle && (this.selected = !this.selected, this.emitEvent("change", { selected: this.selected }));
|
|
117
|
+
};
|
|
118
|
+
}
|
|
119
|
+
static {
|
|
120
|
+
this.styles = [n.styles, c];
|
|
121
|
+
}
|
|
122
|
+
render() {
|
|
123
|
+
const i = this.selected && this.selectedIcon ? this.selectedIcon : this.icon, a = s`
|
|
124
|
+
<md-ripple ?disabled=${this.disabled}></md-ripple>
|
|
125
|
+
<md-focus-ring></md-focus-ring>
|
|
126
|
+
<span class="content">
|
|
127
|
+
<slot>
|
|
128
|
+
${i ? s`<md-icon name=${i} ?filled=${this.selected}></md-icon>` : r}
|
|
129
|
+
</slot>
|
|
130
|
+
</span>
|
|
131
|
+
`;
|
|
132
|
+
return this.href ? s`
|
|
133
|
+
<a
|
|
134
|
+
href=${this.disabled ? r : this.href}
|
|
135
|
+
target=${this.target || r}
|
|
136
|
+
aria-label=${this.ariaLabelText || r}
|
|
137
|
+
aria-pressed=${this.toggle ? this.selected ? "true" : "false" : r}
|
|
138
|
+
aria-disabled=${this.disabled ? "true" : r}
|
|
139
|
+
tabindex=${this.disabled ? "-1" : "0"}
|
|
140
|
+
@click=${this.handleClick}
|
|
141
|
+
>
|
|
142
|
+
${a}
|
|
143
|
+
</a>
|
|
144
|
+
` : s`
|
|
145
|
+
<button
|
|
146
|
+
aria-label=${this.ariaLabelText || r}
|
|
147
|
+
aria-pressed=${this.toggle ? this.selected ? "true" : "false" : r}
|
|
148
|
+
?disabled=${this.disabled}
|
|
149
|
+
@click=${this.handleClick}
|
|
150
|
+
>
|
|
151
|
+
${a}
|
|
152
|
+
</button>
|
|
153
|
+
`;
|
|
154
|
+
}
|
|
155
|
+
};
|
|
156
|
+
e([o({
|
|
157
|
+
type: String,
|
|
158
|
+
reflect: !0
|
|
159
|
+
})], t.prototype, "variant", void 0);
|
|
160
|
+
e([o({
|
|
161
|
+
type: Boolean,
|
|
162
|
+
reflect: !0
|
|
163
|
+
})], t.prototype, "disabled", void 0);
|
|
164
|
+
e([o({
|
|
165
|
+
type: Boolean,
|
|
166
|
+
reflect: !0
|
|
167
|
+
})], t.prototype, "toggle", void 0);
|
|
168
|
+
e([o({
|
|
169
|
+
type: Boolean,
|
|
170
|
+
reflect: !0
|
|
171
|
+
})], t.prototype, "selected", void 0);
|
|
172
|
+
e([o({ type: String })], t.prototype, "icon", void 0);
|
|
173
|
+
e([o({
|
|
174
|
+
type: String,
|
|
175
|
+
attribute: "selected-icon"
|
|
176
|
+
})], t.prototype, "selectedIcon", void 0);
|
|
177
|
+
e([o({
|
|
178
|
+
type: String,
|
|
179
|
+
attribute: "aria-label"
|
|
180
|
+
})], t.prototype, "ariaLabelText", void 0);
|
|
181
|
+
e([o({ type: String })], t.prototype, "href", void 0);
|
|
182
|
+
e([o({ type: String })], t.prototype, "target", void 0);
|
|
183
|
+
t = e([d("md-icon-button")], t);
|
|
184
|
+
export {
|
|
185
|
+
t
|
|
186
|
+
};
|
|
187
|
+
|
|
188
|
+
//# sourceMappingURL=icon-button-BdSc7eot.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"icon-button-BdSc7eot.js","names":[],"sources":["../../src/components/icon-button/icon-button.css.ts","../../src/components/icon-button/icon-button.ts"],"sourcesContent":["import { css } from 'lit';\n\nexport const iconButtonStyles = css`\n :host {\n display: inline-flex;\n outline: none;\n vertical-align: middle;\n -webkit-tap-highlight-color: transparent;\n }\n\n :host([disabled]) {\n pointer-events: none;\n }\n\n button, a {\n position: relative;\n display: inline-flex;\n align-items: center;\n justify-content: center;\n box-sizing: border-box;\n width: 40px;\n height: 40px;\n padding: 0;\n border: none;\n border-radius: var(--md-sys-shape-corner-full, 50%);\n overflow: hidden;\n background-color: transparent;\n color: var(--md-sys-color-on-surface-variant, #49454F);\n cursor: pointer;\n user-select: none;\n outline: none;\n text-decoration: none;\n transition: background-color 150ms cubic-bezier(0.2, 0, 0, 1),\n color 150ms cubic-bezier(0.2, 0, 0, 1);\n }\n\n /* --- Filled --- */\n :host([variant=\"filled\"]) button,\n :host([variant=\"filled\"]) a {\n background-color: var(--md-sys-color-primary, #6750A4);\n color: var(--md-sys-color-on-primary, #FFFFFF);\n }\n\n :host([variant=\"filled\"][selected]) button,\n :host([variant=\"filled\"][selected]) a {\n background-color: var(--md-sys-color-primary, #6750A4);\n color: var(--md-sys-color-on-primary, #FFFFFF);\n }\n\n /* --- Tonal --- */\n :host([variant=\"tonal\"]) button,\n :host([variant=\"tonal\"]) a {\n background-color: var(--md-sys-color-secondary-container, #E8DEF8);\n color: var(--md-sys-color-on-secondary-container, #1D192B);\n }\n\n /* --- Outlined --- */\n :host([variant=\"outlined\"]) button,\n :host([variant=\"outlined\"]) a {\n border: 1px solid var(--md-sys-color-outline, #79747E);\n color: var(--md-sys-color-on-surface-variant, #49454F);\n }\n\n :host([variant=\"outlined\"][selected]) button,\n :host([variant=\"outlined\"][selected]) a {\n background-color: var(--md-sys-color-inverse-surface, #313033);\n color: var(--md-sys-color-inverse-on-surface, #F4EFF4);\n border: none;\n }\n\n /* --- Toggle / Selected for Standard --- */\n :host(:not([variant])[selected]) button,\n :host(:not([variant])[selected]) a,\n :host([variant=\"standard\"][selected]) button,\n :host([variant=\"standard\"][selected]) a {\n color: var(--md-sys-color-primary, #6750A4);\n }\n\n /* --- Disabled --- */\n :host([disabled]) button,\n :host([disabled]) a {\n cursor: not-allowed;\n color: rgba(29, 27, 32, 0.38);\n }\n\n :host([disabled][variant=\"filled\"]) button,\n :host([disabled][variant=\"filled\"]) a,\n :host([disabled][variant=\"tonal\"]) button,\n :host([disabled][variant=\"tonal\"]) a {\n background-color: rgba(29, 27, 32, 0.12);\n }\n\n :host([disabled][variant=\"outlined\"]) button,\n :host([disabled][variant=\"outlined\"]) a {\n border-color: rgba(29, 27, 32, 0.12);\n }\n\n .content {\n display: inline-flex;\n align-items: center;\n justify-content: center;\n position: relative;\n z-index: 1;\n }\n`;\n\n","import { html, nothing } from 'lit';\nimport { customElement, property } from 'lit/decorators.js';\nimport { MdBaseElement } from '../../internal/base-component.js';\nimport '../../internal/ripple/ripple.js';\nimport '../../internal/focus-ring/focus-ring.js';\nimport '../icon/icon.js';\nimport { iconButtonStyles } from './icon-button.css.js';\n\nexport type IconButtonVariant = 'standard' | 'filled' | 'tonal' | 'outlined';\n\n@customElement('md-icon-button')\nexport class MdIconButton extends MdBaseElement {\n static override styles = [MdBaseElement.styles, iconButtonStyles];\n\n @property({ type: String, reflect: true })\n variant: IconButtonVariant = 'standard';\n\n @property({ type: Boolean, reflect: true })\n disabled = false;\n\n @property({ type: Boolean, reflect: true })\n toggle = false;\n\n @property({ type: Boolean, reflect: true })\n selected = false;\n\n @property({ type: String })\n icon = '';\n\n @property({ type: String, attribute: 'selected-icon' })\n selectedIcon = '';\n\n @property({ type: String, attribute: 'aria-label' })\n ariaLabelText = '';\n\n @property({ type: String })\n href = '';\n\n @property({ type: String })\n target = '';\n\n private handleClick = (event: MouseEvent): void => {\n if (this.disabled) {\n event.preventDefault();\n event.stopImmediatePropagation();\n return;\n }\n\n if (this.toggle) {\n this.selected = !this.selected;\n this.emitEvent('change', { selected: this.selected });\n }\n };\n\n override render() {\n const iconName = (this.selected && this.selectedIcon) ? this.selectedIcon : this.icon;\n\n const content = html`\n <md-ripple ?disabled=${this.disabled}></md-ripple>\n <md-focus-ring></md-focus-ring>\n <span class=\"content\">\n <slot>\n ${iconName ? html`<md-icon name=${iconName} ?filled=${this.selected}></md-icon>` : nothing}\n </slot>\n </span>\n `;\n\n if (this.href) {\n return html`\n <a\n href=${this.disabled ? nothing : this.href}\n target=${this.target || nothing}\n aria-label=${this.ariaLabelText || nothing}\n aria-pressed=${this.toggle ? (this.selected ? 'true' : 'false') : nothing}\n aria-disabled=${this.disabled ? 'true' : nothing}\n tabindex=${this.disabled ? '-1' : '0'}\n @click=${this.handleClick}\n >\n ${content}\n </a>\n `;\n }\n\n return html`\n <button\n aria-label=${this.ariaLabelText || nothing}\n aria-pressed=${this.toggle ? (this.selected ? 'true' : 'false') : nothing}\n ?disabled=${this.disabled}\n @click=${this.handleClick}\n >\n ${content}\n </button>\n `;\n }\n}\n\ndeclare global {\n interface HTMLElementTagNameMap {\n 'md-icon-button': MdIconButton;\n }\n}\n\n"],"mappings":"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"}
|