@francofantomius/material-components 0.1.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/LICENSE +22 -0
- package/README.md +192 -0
- package/custom-elements.json +5448 -0
- package/dist/chunks/base-component-DQTjlEVL.js +34 -0
- package/dist/chunks/base-component-DQTjlEVL.js.map +1 -0
- package/dist/chunks/focus-ring-Dl-XoEKK.js +71 -0
- package/dist/chunks/focus-ring-Dl-XoEKK.js.map +1 -0
- package/dist/chunks/form-associated-fKbeX_2P.js +74 -0
- package/dist/chunks/form-associated-fKbeX_2P.js.map +1 -0
- package/dist/chunks/theme.css-DV3DRha-.js +263 -0
- package/dist/chunks/theme.css-DV3DRha-.js.map +1 -0
- package/dist/components/badge/badge.css.d.ts +2 -0
- package/dist/components/badge/badge.css.d.ts.map +1 -0
- package/dist/components/badge/badge.d.ts +16 -0
- package/dist/components/badge/badge.d.ts.map +1 -0
- package/dist/components/badge/badge.js +93 -0
- package/dist/components/badge/badge.js.map +1 -0
- package/dist/components/button/button.css.d.ts +2 -0
- package/dist/components/button/button.css.d.ts.map +1 -0
- package/dist/components/button/button.d.ts +25 -0
- package/dist/components/button/button.d.ts.map +1 -0
- package/dist/components/button/button.js +263 -0
- package/dist/components/button/button.js.map +1 -0
- package/dist/components/card/card.css.d.ts +2 -0
- package/dist/components/card/card.css.d.ts.map +1 -0
- package/dist/components/card/card.d.ts +18 -0
- package/dist/components/card/card.d.ts.map +1 -0
- package/dist/components/card/card.js +169 -0
- package/dist/components/card/card.js.map +1 -0
- package/dist/components/checkbox/checkbox.css.d.ts +2 -0
- package/dist/components/checkbox/checkbox.css.d.ts.map +1 -0
- package/dist/components/checkbox/checkbox.d.ts +24 -0
- package/dist/components/checkbox/checkbox.d.ts.map +1 -0
- package/dist/components/checkbox/checkbox.js +188 -0
- package/dist/components/checkbox/checkbox.js.map +1 -0
- package/dist/components/chip/chip.css.d.ts +3 -0
- package/dist/components/chip/chip.css.d.ts.map +1 -0
- package/dist/components/chip/chip.d.ts +27 -0
- package/dist/components/chip/chip.d.ts.map +1 -0
- package/dist/components/chip/chip.js +174 -0
- package/dist/components/chip/chip.js.map +1 -0
- package/dist/components/dialog/dialog.css.d.ts +2 -0
- package/dist/components/dialog/dialog.css.d.ts.map +1 -0
- package/dist/components/dialog/dialog.d.ts +22 -0
- package/dist/components/dialog/dialog.d.ts.map +1 -0
- package/dist/components/dialog/dialog.js +167 -0
- package/dist/components/dialog/dialog.js.map +1 -0
- package/dist/components/divider/divider.css.d.ts +2 -0
- package/dist/components/divider/divider.css.d.ts.map +1 -0
- package/dist/components/divider/divider.d.ts +16 -0
- package/dist/components/divider/divider.d.ts.map +1 -0
- package/dist/components/divider/divider.js +81 -0
- package/dist/components/divider/divider.js.map +1 -0
- package/dist/components/fab/fab.css.d.ts +2 -0
- package/dist/components/fab/fab.css.d.ts.map +1 -0
- package/dist/components/fab/fab.d.ts +19 -0
- package/dist/components/fab/fab.d.ts.map +1 -0
- package/dist/components/fab/fab.js +155 -0
- package/dist/components/fab/fab.js.map +1 -0
- package/dist/components/icon/icon.css.d.ts +2 -0
- package/dist/components/icon/icon.css.d.ts.map +1 -0
- package/dist/components/icon/icon.d.ts +15 -0
- package/dist/components/icon/icon.d.ts.map +1 -0
- package/dist/components/icon/icon.js +70 -0
- package/dist/components/icon/icon.js.map +1 -0
- package/dist/components/icon-button/icon-button.css.d.ts +2 -0
- package/dist/components/icon-button/icon-button.css.d.ts.map +1 -0
- package/dist/components/icon-button/icon-button.d.ts +22 -0
- package/dist/components/icon-button/icon-button.d.ts.map +1 -0
- package/dist/components/icon-button/icon-button.js +192 -0
- package/dist/components/icon-button/icon-button.js.map +1 -0
- package/dist/components/list/list.css.d.ts +3 -0
- package/dist/components/list/list.css.d.ts.map +1 -0
- package/dist/components/list/list.d.ts +25 -0
- package/dist/components/list/list.d.ts.map +1 -0
- package/dist/components/list/list.js +190 -0
- package/dist/components/list/list.js.map +1 -0
- package/dist/components/progress/progress.css.d.ts +2 -0
- package/dist/components/progress/progress.css.d.ts.map +1 -0
- package/dist/components/progress/progress.d.ts +19 -0
- package/dist/components/progress/progress.d.ts.map +1 -0
- package/dist/components/progress/progress.js +183 -0
- package/dist/components/progress/progress.js.map +1 -0
- package/dist/components/radio/radio.css.d.ts +3 -0
- package/dist/components/radio/radio.css.d.ts.map +1 -0
- package/dist/components/radio/radio.d.ts +38 -0
- package/dist/components/radio/radio.d.ts.map +1 -0
- package/dist/components/radio/radio.js +205 -0
- package/dist/components/radio/radio.js.map +1 -0
- package/dist/components/snackbar/snackbar.css.d.ts +2 -0
- package/dist/components/snackbar/snackbar.css.d.ts.map +1 -0
- package/dist/components/snackbar/snackbar.d.ts +24 -0
- package/dist/components/snackbar/snackbar.d.ts.map +1 -0
- package/dist/components/snackbar/snackbar.js +164 -0
- package/dist/components/snackbar/snackbar.js.map +1 -0
- package/dist/components/switch/switch.css.d.ts +2 -0
- package/dist/components/switch/switch.css.d.ts.map +1 -0
- package/dist/components/switch/switch.d.ts +22 -0
- package/dist/components/switch/switch.d.ts.map +1 -0
- package/dist/components/switch/switch.js +171 -0
- package/dist/components/switch/switch.js.map +1 -0
- package/dist/components/tabs/tabs.css.d.ts +3 -0
- package/dist/components/tabs/tabs.css.d.ts.map +1 -0
- package/dist/components/tabs/tabs.d.ts +33 -0
- package/dist/components/tabs/tabs.d.ts.map +1 -0
- package/dist/components/tabs/tabs.js +200 -0
- package/dist/components/tabs/tabs.js.map +1 -0
- package/dist/components/text-field/text-field.css.d.ts +2 -0
- package/dist/components/text-field/text-field.css.d.ts.map +1 -0
- package/dist/components/text-field/text-field.d.ts +40 -0
- package/dist/components/text-field/text-field.d.ts.map +1 -0
- package/dist/components/text-field/text-field.js +327 -0
- package/dist/components/text-field/text-field.js.map +1 -0
- package/dist/index.d.ts +23 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +59 -0
- package/dist/index.js.map +1 -0
- package/dist/internal/base-component.d.ts +13 -0
- package/dist/internal/base-component.d.ts.map +1 -0
- package/dist/internal/focus-ring/focus-ring.css.d.ts +2 -0
- package/dist/internal/focus-ring/focus-ring.css.d.ts.map +1 -0
- package/dist/internal/focus-ring/focus-ring.d.ts +18 -0
- package/dist/internal/focus-ring/focus-ring.d.ts.map +1 -0
- package/dist/internal/form-associated.d.ts +26 -0
- package/dist/internal/form-associated.d.ts.map +1 -0
- package/dist/internal/ripple/ripple.css.d.ts +2 -0
- package/dist/internal/ripple/ripple.css.d.ts.map +1 -0
- package/dist/internal/ripple/ripple.d.ts +26 -0
- package/dist/internal/ripple/ripple.d.ts.map +1 -0
- package/dist/internal/ripple/ripple.js +144 -0
- package/dist/internal/ripple/ripple.js.map +1 -0
- package/dist/tokens/colors.d.ts +42 -0
- package/dist/tokens/colors.d.ts.map +1 -0
- package/dist/tokens/elevation.d.ts +9 -0
- package/dist/tokens/elevation.d.ts.map +1 -0
- package/dist/tokens/index.d.ts +7 -0
- package/dist/tokens/index.d.ts.map +1 -0
- package/dist/tokens/index.js +13 -0
- package/dist/tokens/index.js.map +1 -0
- package/dist/tokens/motion.d.ts +21 -0
- package/dist/tokens/motion.d.ts.map +1 -0
- package/dist/tokens/shape.d.ts +10 -0
- package/dist/tokens/shape.d.ts.map +1 -0
- package/dist/tokens/theme.css.d.ts +4 -0
- package/dist/tokens/theme.css.d.ts.map +1 -0
- package/dist/tokens/typography.d.ts +101 -0
- package/dist/tokens/typography.d.ts.map +1 -0
- package/package.json +133 -0
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import { MdBaseElement } from '../../internal/base-component.js';
|
|
2
|
+
export declare class MdDivider extends MdBaseElement {
|
|
3
|
+
static styles: import('lit').CSSResultGroup[];
|
|
4
|
+
vertical: boolean;
|
|
5
|
+
inset: boolean;
|
|
6
|
+
insetStart: boolean;
|
|
7
|
+
insetEnd: boolean;
|
|
8
|
+
connectedCallback(): void;
|
|
9
|
+
render(): import('lit-html').TemplateResult<1>;
|
|
10
|
+
}
|
|
11
|
+
declare global {
|
|
12
|
+
interface HTMLElementTagNameMap {
|
|
13
|
+
'md-divider': MdDivider;
|
|
14
|
+
}
|
|
15
|
+
}
|
|
16
|
+
//# sourceMappingURL=divider.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"divider.d.ts","sourceRoot":"","sources":["../../../src/components/divider/divider.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,aAAa,EAAE,MAAM,kCAAkC,CAAC;AAGjE,qBACa,SAAU,SAAQ,aAAa;IAC1C,OAAgB,MAAM,iCAAyC;IAG/D,QAAQ,UAAS;IAGjB,KAAK,UAAS;IAGd,UAAU,UAAS;IAGnB,QAAQ,UAAS;IAER,iBAAiB;IAMjB,MAAM;CAGhB;AAED,OAAO,CAAC,MAAM,CAAC;IACb,UAAU,qBAAqB;QAC7B,YAAY,EAAE,SAAS,CAAC;KACzB;CACF"}
|
|
@@ -0,0 +1,81 @@
|
|
|
1
|
+
import { css as h, html as d } from "lit";
|
|
2
|
+
import { property as s, customElement as v } from "lit/decorators.js";
|
|
3
|
+
import { M as p } from "../../chunks/base-component-DQTjlEVL.js";
|
|
4
|
+
const m = h`
|
|
5
|
+
:host {
|
|
6
|
+
display: block;
|
|
7
|
+
box-sizing: border-box;
|
|
8
|
+
}
|
|
9
|
+
|
|
10
|
+
:host(:not([vertical])) {
|
|
11
|
+
width: 100%;
|
|
12
|
+
height: 1px;
|
|
13
|
+
background-color: var(--md-sys-color-outline-variant, #CAC4D0);
|
|
14
|
+
}
|
|
15
|
+
|
|
16
|
+
:host([vertical]) {
|
|
17
|
+
display: inline-block;
|
|
18
|
+
width: 1px;
|
|
19
|
+
height: 100%;
|
|
20
|
+
vertical-align: middle;
|
|
21
|
+
background-color: var(--md-sys-color-outline-variant, #CAC4D0);
|
|
22
|
+
}
|
|
23
|
+
|
|
24
|
+
:host([inset]:not([vertical])) {
|
|
25
|
+
margin-left: 16px;
|
|
26
|
+
margin-right: 16px;
|
|
27
|
+
width: calc(100% - 32px);
|
|
28
|
+
}
|
|
29
|
+
|
|
30
|
+
:host([inset-start]:not([vertical])) {
|
|
31
|
+
margin-left: 16px;
|
|
32
|
+
width: calc(100% - 16px);
|
|
33
|
+
}
|
|
34
|
+
|
|
35
|
+
:host([inset-end]:not([vertical])) {
|
|
36
|
+
margin-right: 16px;
|
|
37
|
+
width: calc(100% - 16px);
|
|
38
|
+
}
|
|
39
|
+
|
|
40
|
+
:host([inset][vertical]) {
|
|
41
|
+
margin-top: 8px;
|
|
42
|
+
margin-bottom: 8px;
|
|
43
|
+
height: calc(100% - 16px);
|
|
44
|
+
}
|
|
45
|
+
`;
|
|
46
|
+
var u = Object.defineProperty, f = Object.getOwnPropertyDescriptor, r = (c, i, a, o) => {
|
|
47
|
+
for (var t = o > 1 ? void 0 : o ? f(i, a) : i, l = c.length - 1, n; l >= 0; l--)
|
|
48
|
+
(n = c[l]) && (t = (o ? n(i, a, t) : n(t)) || t);
|
|
49
|
+
return o && t && u(i, a, t), t;
|
|
50
|
+
};
|
|
51
|
+
let e = class extends p {
|
|
52
|
+
constructor() {
|
|
53
|
+
super(...arguments), this.vertical = !1, this.inset = !1, this.insetStart = !1, this.insetEnd = !1;
|
|
54
|
+
}
|
|
55
|
+
connectedCallback() {
|
|
56
|
+
super.connectedCallback(), this.setAttribute("role", "separator"), this.setAttribute("aria-orientation", this.vertical ? "vertical" : "horizontal");
|
|
57
|
+
}
|
|
58
|
+
render() {
|
|
59
|
+
return d``;
|
|
60
|
+
}
|
|
61
|
+
};
|
|
62
|
+
e.styles = [p.styles, m];
|
|
63
|
+
r([
|
|
64
|
+
s({ type: Boolean, reflect: !0 })
|
|
65
|
+
], e.prototype, "vertical", 2);
|
|
66
|
+
r([
|
|
67
|
+
s({ type: Boolean, reflect: !0 })
|
|
68
|
+
], e.prototype, "inset", 2);
|
|
69
|
+
r([
|
|
70
|
+
s({ type: Boolean, reflect: !0, attribute: "inset-start" })
|
|
71
|
+
], e.prototype, "insetStart", 2);
|
|
72
|
+
r([
|
|
73
|
+
s({ type: Boolean, reflect: !0, attribute: "inset-end" })
|
|
74
|
+
], e.prototype, "insetEnd", 2);
|
|
75
|
+
e = r([
|
|
76
|
+
v("md-divider")
|
|
77
|
+
], e);
|
|
78
|
+
export {
|
|
79
|
+
e as MdDivider
|
|
80
|
+
};
|
|
81
|
+
//# sourceMappingURL=divider.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"divider.js","sources":["../../../src/components/divider/divider.css.ts","../../../src/components/divider/divider.ts"],"sourcesContent":["import { css } from 'lit';\n\nexport const dividerStyles = css`\n :host {\n display: block;\n box-sizing: border-box;\n }\n\n :host(:not([vertical])) {\n width: 100%;\n height: 1px;\n background-color: var(--md-sys-color-outline-variant, #CAC4D0);\n }\n\n :host([vertical]) {\n display: inline-block;\n width: 1px;\n height: 100%;\n vertical-align: middle;\n background-color: var(--md-sys-color-outline-variant, #CAC4D0);\n }\n\n :host([inset]:not([vertical])) {\n margin-left: 16px;\n margin-right: 16px;\n width: calc(100% - 32px);\n }\n\n :host([inset-start]:not([vertical])) {\n margin-left: 16px;\n width: calc(100% - 16px);\n }\n\n :host([inset-end]:not([vertical])) {\n margin-right: 16px;\n width: calc(100% - 16px);\n }\n\n :host([inset][vertical]) {\n margin-top: 8px;\n margin-bottom: 8px;\n height: calc(100% - 16px);\n }\n`;\n\n","import { html } from 'lit';\nimport { customElement, property } from 'lit/decorators.js';\nimport { MdBaseElement } from '../../internal/base-component.js';\nimport { dividerStyles } from './divider.css.js';\n\n@customElement('md-divider')\nexport class MdDivider extends MdBaseElement {\n static override styles = [MdBaseElement.styles, dividerStyles];\n\n @property({ type: Boolean, reflect: true })\n vertical = false;\n\n @property({ type: Boolean, reflect: true })\n inset = false;\n\n @property({ type: Boolean, reflect: true, attribute: 'inset-start' })\n insetStart = false;\n\n @property({ type: Boolean, reflect: true, attribute: 'inset-end' })\n insetEnd = false;\n\n override connectedCallback() {\n super.connectedCallback();\n this.setAttribute('role', 'separator');\n this.setAttribute('aria-orientation', this.vertical ? 'vertical' : 'horizontal');\n }\n\n override render() {\n return html``;\n }\n}\n\ndeclare global {\n interface HTMLElementTagNameMap {\n 'md-divider': MdDivider;\n }\n}\n\n"],"names":["dividerStyles","css","MdDivider","MdBaseElement","html","__decorateClass","property","customElement"],"mappings":";;;AAEO,MAAMA,IAAgBC;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;;;;;;ACItB,IAAMC,IAAN,cAAwBC,EAAc;AAAA,EAAtC,cAAA;AAAA,UAAA,GAAA,SAAA,GAIL,KAAA,WAAW,IAGX,KAAA,QAAQ,IAGR,KAAA,aAAa,IAGb,KAAA,WAAW;AAAA,EAAA;AAAA,EAEF,oBAAoB;AAC3B,UAAM,kBAAA,GACN,KAAK,aAAa,QAAQ,WAAW,GACrC,KAAK,aAAa,oBAAoB,KAAK,WAAW,aAAa,YAAY;AAAA,EACjF;AAAA,EAES,SAAS;AAChB,WAAOC;AAAA,EACT;AACF;AAxBaF,EACK,SAAS,CAACC,EAAc,QAAQH,CAAa;AAG7DK,EAAA;AAAA,EADCC,EAAS,EAAE,MAAM,SAAS,SAAS,IAAM;AAAA,GAH/BJ,EAIX,WAAA,YAAA,CAAA;AAGAG,EAAA;AAAA,EADCC,EAAS,EAAE,MAAM,SAAS,SAAS,IAAM;AAAA,GAN/BJ,EAOX,WAAA,SAAA,CAAA;AAGAG,EAAA;AAAA,EADCC,EAAS,EAAE,MAAM,SAAS,SAAS,IAAM,WAAW,eAAe;AAAA,GATzDJ,EAUX,WAAA,cAAA,CAAA;AAGAG,EAAA;AAAA,EADCC,EAAS,EAAE,MAAM,SAAS,SAAS,IAAM,WAAW,aAAa;AAAA,GAZvDJ,EAaX,WAAA,YAAA,CAAA;AAbWA,IAANG,EAAA;AAAA,EADNE,EAAc,YAAY;AAAA,GACdL,CAAA;"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"fab.css.d.ts","sourceRoot":"","sources":["../../../src/components/fab/fab.css.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,SAAS,yBA6FrB,CAAC"}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import { MdBaseElement } from '../../internal/base-component.js';
|
|
2
|
+
export type FabSize = 'small' | 'medium' | 'large';
|
|
3
|
+
export declare class MdFab extends MdBaseElement {
|
|
4
|
+
static styles: import('lit').CSSResultGroup[];
|
|
5
|
+
size: FabSize;
|
|
6
|
+
label: string;
|
|
7
|
+
icon: string;
|
|
8
|
+
lowered: boolean;
|
|
9
|
+
disabled: boolean;
|
|
10
|
+
extended: boolean;
|
|
11
|
+
updated(changedProperties: Map<string, unknown>): void;
|
|
12
|
+
render(): import('lit-html').TemplateResult<1>;
|
|
13
|
+
}
|
|
14
|
+
declare global {
|
|
15
|
+
interface HTMLElementTagNameMap {
|
|
16
|
+
'md-fab': MdFab;
|
|
17
|
+
}
|
|
18
|
+
}
|
|
19
|
+
//# sourceMappingURL=fab.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"fab.d.ts","sourceRoot":"","sources":["../../../src/components/fab/fab.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,aAAa,EAAE,MAAM,kCAAkC,CAAC;AACjE,OAAO,iCAAiC,CAAC;AACzC,OAAO,yCAAyC,CAAC;AACjD,OAAO,iBAAiB,CAAC;AAGzB,MAAM,MAAM,OAAO,GAAG,OAAO,GAAG,QAAQ,GAAG,OAAO,CAAC;AAEnD,qBACa,KAAM,SAAQ,aAAa;IACtC,OAAgB,MAAM,iCAAqC;IAG3D,IAAI,EAAE,OAAO,CAAY;IAGzB,KAAK,SAAM;IAGX,IAAI,SAAM;IAGV,OAAO,UAAS;IAGhB,QAAQ,UAAS;IAGjB,QAAQ,UAAS;IAER,OAAO,CAAC,iBAAiB,EAAE,GAAG,CAAC,MAAM,EAAE,OAAO,CAAC;IAO/C,MAAM;CAgBhB;AAED,OAAO,CAAC,MAAM,CAAC;IACb,UAAU,qBAAqB;QAC7B,QAAQ,EAAE,KAAK,CAAC;KACjB;CACF"}
|
|
@@ -0,0 +1,155 @@
|
|
|
1
|
+
import { css as b, nothing as h, html as d } from "lit";
|
|
2
|
+
import { property as s, customElement as m } from "lit/decorators.js";
|
|
3
|
+
import { M as c } from "../../chunks/base-component-DQTjlEVL.js";
|
|
4
|
+
import "../../internal/ripple/ripple.js";
|
|
5
|
+
import "../../chunks/focus-ring-Dl-XoEKK.js";
|
|
6
|
+
import "../icon/icon.js";
|
|
7
|
+
const x = b`
|
|
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
|
+
`;
|
|
101
|
+
var u = Object.defineProperty, y = Object.getOwnPropertyDescriptor, o = (r, i, a, n) => {
|
|
102
|
+
for (var t = n > 1 ? void 0 : n ? y(i, a) : i, l = r.length - 1, p; l >= 0; l--)
|
|
103
|
+
(p = r[l]) && (t = (n ? p(i, a, t) : p(t)) || t);
|
|
104
|
+
return n && t && u(i, a, t), t;
|
|
105
|
+
};
|
|
106
|
+
let e = class extends c {
|
|
107
|
+
constructor() {
|
|
108
|
+
super(...arguments), this.size = "medium", this.label = "", this.icon = "", this.lowered = !1, this.disabled = !1, this.extended = !1;
|
|
109
|
+
}
|
|
110
|
+
updated(r) {
|
|
111
|
+
super.updated(r), r.has("label") && (this.extended = !!this.label);
|
|
112
|
+
}
|
|
113
|
+
render() {
|
|
114
|
+
return d`
|
|
115
|
+
<button ?disabled=${this.disabled}>
|
|
116
|
+
<md-ripple ?disabled=${this.disabled}></md-ripple>
|
|
117
|
+
<md-focus-ring></md-focus-ring>
|
|
118
|
+
<span class="content">
|
|
119
|
+
<slot name="icon">
|
|
120
|
+
${this.icon ? d`<md-icon name=${this.icon}></md-icon>` : h}
|
|
121
|
+
</slot>
|
|
122
|
+
<slot>
|
|
123
|
+
${this.label ? d`<span class="label">${this.label}</span>` : h}
|
|
124
|
+
</slot>
|
|
125
|
+
</span>
|
|
126
|
+
</button>
|
|
127
|
+
`;
|
|
128
|
+
}
|
|
129
|
+
};
|
|
130
|
+
e.styles = [c.styles, x];
|
|
131
|
+
o([
|
|
132
|
+
s({ type: String, reflect: !0 })
|
|
133
|
+
], e.prototype, "size", 2);
|
|
134
|
+
o([
|
|
135
|
+
s({ type: String })
|
|
136
|
+
], e.prototype, "label", 2);
|
|
137
|
+
o([
|
|
138
|
+
s({ type: String })
|
|
139
|
+
], e.prototype, "icon", 2);
|
|
140
|
+
o([
|
|
141
|
+
s({ type: Boolean, reflect: !0 })
|
|
142
|
+
], e.prototype, "lowered", 2);
|
|
143
|
+
o([
|
|
144
|
+
s({ type: Boolean, reflect: !0 })
|
|
145
|
+
], e.prototype, "disabled", 2);
|
|
146
|
+
o([
|
|
147
|
+
s({ type: Boolean, reflect: !0 })
|
|
148
|
+
], e.prototype, "extended", 2);
|
|
149
|
+
e = o([
|
|
150
|
+
m("md-fab")
|
|
151
|
+
], e);
|
|
152
|
+
export {
|
|
153
|
+
e as MdFab
|
|
154
|
+
};
|
|
155
|
+
//# sourceMappingURL=fab.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"fab.js","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"],"names":["fabStyles","css","MdFab","MdBaseElement","changedProperties","html","nothing","__decorateClass","property","customElement"],"mappings":";;;;;;AAEO,MAAMA,IAAYC;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;;;;;;ACSlB,IAAMC,IAAN,cAAoBC,EAAc;AAAA,EAAlC,cAAA;AAAA,UAAA,GAAA,SAAA,GAIL,KAAA,OAAgB,UAGhB,KAAA,QAAQ,IAGR,KAAA,OAAO,IAGP,KAAA,UAAU,IAGV,KAAA,WAAW,IAGX,KAAA,WAAW;AAAA,EAAA;AAAA,EAEF,QAAQC,GAAyC;AACxD,UAAM,QAAQA,CAAiB,GAC3BA,EAAkB,IAAI,OAAO,MAC/B,KAAK,WAAW,EAAQ,KAAK;AAAA,EAEjC;AAAA,EAES,SAAS;AAChB,WAAOC;AAAA,0BACe,KAAK,QAAQ;AAAA,+BACR,KAAK,QAAQ;AAAA;AAAA;AAAA;AAAA,cAI9B,KAAK,OAAOA,kBAAqB,KAAK,IAAI,gBAAgBC,CAAO;AAAA;AAAA;AAAA,cAGjE,KAAK,QAAQD,wBAA2B,KAAK,KAAK,YAAYC,CAAO;AAAA;AAAA;AAAA;AAAA;AAAA,EAKjF;AACF;AA5CaJ,EACK,SAAS,CAACC,EAAc,QAAQH,CAAS;AAGzDO,EAAA;AAAA,EADCC,EAAS,EAAE,MAAM,QAAQ,SAAS,IAAM;AAAA,GAH9BN,EAIX,WAAA,QAAA,CAAA;AAGAK,EAAA;AAAA,EADCC,EAAS,EAAE,MAAM,OAAA,CAAQ;AAAA,GANfN,EAOX,WAAA,SAAA,CAAA;AAGAK,EAAA;AAAA,EADCC,EAAS,EAAE,MAAM,OAAA,CAAQ;AAAA,GATfN,EAUX,WAAA,QAAA,CAAA;AAGAK,EAAA;AAAA,EADCC,EAAS,EAAE,MAAM,SAAS,SAAS,IAAM;AAAA,GAZ/BN,EAaX,WAAA,WAAA,CAAA;AAGAK,EAAA;AAAA,EADCC,EAAS,EAAE,MAAM,SAAS,SAAS,IAAM;AAAA,GAf/BN,EAgBX,WAAA,YAAA,CAAA;AAGAK,EAAA;AAAA,EADCC,EAAS,EAAE,MAAM,SAAS,SAAS,IAAM;AAAA,GAlB/BN,EAmBX,WAAA,YAAA,CAAA;AAnBWA,IAANK,EAAA;AAAA,EADNE,EAAc,QAAQ;AAAA,GACVP,CAAA;"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"icon.css.d.ts","sourceRoot":"","sources":["../../../src/components/icon/icon.css.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,UAAU,yBAiCtB,CAAC"}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import { MdBaseElement } from '../../internal/base-component.js';
|
|
2
|
+
export declare class MdIcon extends MdBaseElement {
|
|
3
|
+
static styles: import('lit').CSSResultGroup[];
|
|
4
|
+
name: string;
|
|
5
|
+
filled: boolean;
|
|
6
|
+
size: string;
|
|
7
|
+
updated(changedProperties: Map<string, unknown>): void;
|
|
8
|
+
render(): import('lit-html').TemplateResult<1>;
|
|
9
|
+
}
|
|
10
|
+
declare global {
|
|
11
|
+
interface HTMLElementTagNameMap {
|
|
12
|
+
'md-icon': MdIcon;
|
|
13
|
+
}
|
|
14
|
+
}
|
|
15
|
+
//# sourceMappingURL=icon.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"icon.d.ts","sourceRoot":"","sources":["../../../src/components/icon/icon.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,aAAa,EAAE,MAAM,kCAAkC,CAAC;AAGjE,qBACa,MAAO,SAAQ,aAAa;IACvC,OAAgB,MAAM,iCAAsC;IAG5D,IAAI,SAAM;IAGV,MAAM,UAAS;IAGf,IAAI,SAAM;IAED,OAAO,CAAC,iBAAiB,EAAE,GAAG,CAAC,MAAM,EAAE,OAAO,CAAC;IAW/C,MAAM;CAGhB;AAED,OAAO,CAAC,MAAM,CAAC;IACb,UAAU,qBAAqB;QAC7B,SAAS,EAAE,MAAM,CAAC;KACnB;CACF"}
|
|
@@ -0,0 +1,70 @@
|
|
|
1
|
+
import { css as f, html as h } from "lit";
|
|
2
|
+
import { property as p, customElement as c } from "lit/decorators.js";
|
|
3
|
+
import { M as m } from "../../chunks/base-component-DQTjlEVL.js";
|
|
4
|
+
const d = f`
|
|
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
|
+
`;
|
|
38
|
+
var y = Object.defineProperty, u = Object.getOwnPropertyDescriptor, o = (s, i, n, r) => {
|
|
39
|
+
for (var e = r > 1 ? void 0 : r ? u(i, n) : i, l = s.length - 1, a; l >= 0; l--)
|
|
40
|
+
(a = s[l]) && (e = (r ? a(i, n, e) : a(e)) || e);
|
|
41
|
+
return r && e && y(i, n, e), e;
|
|
42
|
+
};
|
|
43
|
+
let t = class extends m {
|
|
44
|
+
constructor() {
|
|
45
|
+
super(...arguments), this.name = "", this.filled = !1, this.size = "";
|
|
46
|
+
}
|
|
47
|
+
updated(s) {
|
|
48
|
+
super.updated(s), s.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"));
|
|
49
|
+
}
|
|
50
|
+
render() {
|
|
51
|
+
return h`<slot>${this.name}</slot>`;
|
|
52
|
+
}
|
|
53
|
+
};
|
|
54
|
+
t.styles = [m.styles, d];
|
|
55
|
+
o([
|
|
56
|
+
p({ type: String })
|
|
57
|
+
], t.prototype, "name", 2);
|
|
58
|
+
o([
|
|
59
|
+
p({ type: Boolean, reflect: !0 })
|
|
60
|
+
], t.prototype, "filled", 2);
|
|
61
|
+
o([
|
|
62
|
+
p({ type: String })
|
|
63
|
+
], t.prototype, "size", 2);
|
|
64
|
+
t = o([
|
|
65
|
+
c("md-icon")
|
|
66
|
+
], t);
|
|
67
|
+
export {
|
|
68
|
+
t as MdIcon
|
|
69
|
+
};
|
|
70
|
+
//# sourceMappingURL=icon.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"icon.js","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"],"names":["iconStyles","css","MdIcon","MdBaseElement","changedProperties","html","__decorateClass","property","customElement"],"mappings":";;;AAEO,MAAMA,IAAaC;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;;;;;;ACInB,IAAMC,IAAN,cAAqBC,EAAc;AAAA,EAAnC,cAAA;AAAA,UAAA,GAAA,SAAA,GAIL,KAAA,OAAO,IAGP,KAAA,SAAS,IAGT,KAAA,OAAO;AAAA,EAAA;AAAA,EAEE,QAAQC,GAAyC;AACxD,UAAM,QAAQA,CAAiB,GAC3BA,EAAkB,IAAI,MAAM,MAC1B,KAAK,OACP,KAAK,MAAM,YAAY,kBAAkB,MAAM,OAAO,KAAK,IAAI,CAAC,IAAI,KAAK,OAAO,GAAG,KAAK,IAAI,IAAI,IAEhG,KAAK,MAAM,eAAe,gBAAgB;AAAA,EAGhD;AAAA,EAES,SAAS;AAChB,WAAOC,UAAa,KAAK,IAAI;AAAA,EAC/B;AACF;AA1BaH,EACK,SAAS,CAACC,EAAc,QAAQH,CAAU;AAG1DM,EAAA;AAAA,EADCC,EAAS,EAAE,MAAM,OAAA,CAAQ;AAAA,GAHfL,EAIX,WAAA,QAAA,CAAA;AAGAI,EAAA;AAAA,EADCC,EAAS,EAAE,MAAM,SAAS,SAAS,IAAM;AAAA,GAN/BL,EAOX,WAAA,UAAA,CAAA;AAGAI,EAAA;AAAA,EADCC,EAAS,EAAE,MAAM,OAAA,CAAQ;AAAA,GATfL,EAUX,WAAA,QAAA,CAAA;AAVWA,IAANI,EAAA;AAAA,EADNE,EAAc,SAAS;AAAA,GACXN,CAAA;"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"icon-button.css.d.ts","sourceRoot":"","sources":["../../../src/components/icon-button/icon-button.css.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,gBAAgB,yBAqG5B,CAAC"}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import { MdBaseElement } from '../../internal/base-component.js';
|
|
2
|
+
export type IconButtonVariant = 'standard' | 'filled' | 'tonal' | 'outlined';
|
|
3
|
+
export declare class MdIconButton extends MdBaseElement {
|
|
4
|
+
static styles: import('lit').CSSResultGroup[];
|
|
5
|
+
variant: IconButtonVariant;
|
|
6
|
+
disabled: boolean;
|
|
7
|
+
toggle: boolean;
|
|
8
|
+
selected: boolean;
|
|
9
|
+
icon: string;
|
|
10
|
+
selectedIcon: string;
|
|
11
|
+
ariaLabelText: string;
|
|
12
|
+
href: string;
|
|
13
|
+
target: string;
|
|
14
|
+
private handleClick;
|
|
15
|
+
render(): import('lit-html').TemplateResult<1>;
|
|
16
|
+
}
|
|
17
|
+
declare global {
|
|
18
|
+
interface HTMLElementTagNameMap {
|
|
19
|
+
'md-icon-button': MdIconButton;
|
|
20
|
+
}
|
|
21
|
+
}
|
|
22
|
+
//# sourceMappingURL=icon-button.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"icon-button.d.ts","sourceRoot":"","sources":["../../../src/components/icon-button/icon-button.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,aAAa,EAAE,MAAM,kCAAkC,CAAC;AACjE,OAAO,iCAAiC,CAAC;AACzC,OAAO,yCAAyC,CAAC;AACjD,OAAO,iBAAiB,CAAC;AAGzB,MAAM,MAAM,iBAAiB,GAAG,UAAU,GAAG,QAAQ,GAAG,OAAO,GAAG,UAAU,CAAC;AAE7E,qBACa,YAAa,SAAQ,aAAa;IAC7C,OAAgB,MAAM,iCAA4C;IAGlE,OAAO,EAAE,iBAAiB,CAAc;IAGxC,QAAQ,UAAS;IAGjB,MAAM,UAAS;IAGf,QAAQ,UAAS;IAGjB,IAAI,SAAM;IAGV,YAAY,SAAM;IAGlB,aAAa,SAAM;IAGnB,IAAI,SAAM;IAGV,MAAM,SAAM;IAEZ,OAAO,CAAC,WAAW,CAWjB;IAEO,MAAM;CAwChB;AAED,OAAO,CAAC,MAAM,CAAC;IACb,UAAU,qBAAqB;QAC7B,gBAAgB,EAAE,YAAY,CAAC;KAChC;CACF"}
|
|
@@ -0,0 +1,192 @@
|
|
|
1
|
+
import { css as b, nothing as a, html as l } from "lit";
|
|
2
|
+
import { property as o, customElement as u } from "lit/decorators.js";
|
|
3
|
+
import { M as p } from "../../chunks/base-component-DQTjlEVL.js";
|
|
4
|
+
import "../../internal/ripple/ripple.js";
|
|
5
|
+
import "../../chunks/focus-ring-Dl-XoEKK.js";
|
|
6
|
+
import "../icon/icon.js";
|
|
7
|
+
const v = b`
|
|
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
|
+
background-color: transparent;
|
|
31
|
+
color: var(--md-sys-color-on-surface-variant, #49454F);
|
|
32
|
+
cursor: pointer;
|
|
33
|
+
user-select: none;
|
|
34
|
+
outline: none;
|
|
35
|
+
text-decoration: none;
|
|
36
|
+
transition: background-color 150ms cubic-bezier(0.2, 0, 0, 1),
|
|
37
|
+
color 150ms cubic-bezier(0.2, 0, 0, 1);
|
|
38
|
+
}
|
|
39
|
+
|
|
40
|
+
/* --- Filled --- */
|
|
41
|
+
:host([variant="filled"]) button,
|
|
42
|
+
:host([variant="filled"]) a {
|
|
43
|
+
background-color: var(--md-sys-color-primary, #6750A4);
|
|
44
|
+
color: var(--md-sys-color-on-primary, #FFFFFF);
|
|
45
|
+
}
|
|
46
|
+
|
|
47
|
+
:host([variant="filled"][selected]) button,
|
|
48
|
+
:host([variant="filled"][selected]) a {
|
|
49
|
+
background-color: var(--md-sys-color-primary, #6750A4);
|
|
50
|
+
color: var(--md-sys-color-on-primary, #FFFFFF);
|
|
51
|
+
}
|
|
52
|
+
|
|
53
|
+
/* --- Tonal --- */
|
|
54
|
+
:host([variant="tonal"]) button,
|
|
55
|
+
:host([variant="tonal"]) a {
|
|
56
|
+
background-color: var(--md-sys-color-secondary-container, #E8DEF8);
|
|
57
|
+
color: var(--md-sys-color-on-secondary-container, #1D192B);
|
|
58
|
+
}
|
|
59
|
+
|
|
60
|
+
/* --- Outlined --- */
|
|
61
|
+
:host([variant="outlined"]) button,
|
|
62
|
+
:host([variant="outlined"]) a {
|
|
63
|
+
border: 1px solid var(--md-sys-color-outline, #79747E);
|
|
64
|
+
color: var(--md-sys-color-on-surface-variant, #49454F);
|
|
65
|
+
}
|
|
66
|
+
|
|
67
|
+
:host([variant="outlined"][selected]) button,
|
|
68
|
+
:host([variant="outlined"][selected]) a {
|
|
69
|
+
background-color: var(--md-sys-color-inverse-surface, #313033);
|
|
70
|
+
color: var(--md-sys-color-inverse-on-surface, #F4EFF4);
|
|
71
|
+
border: none;
|
|
72
|
+
}
|
|
73
|
+
|
|
74
|
+
/* --- Toggle / Selected for Standard --- */
|
|
75
|
+
:host(:not([variant])[selected]) button,
|
|
76
|
+
:host(:not([variant])[selected]) a,
|
|
77
|
+
:host([variant="standard"][selected]) button,
|
|
78
|
+
:host([variant="standard"][selected]) a {
|
|
79
|
+
color: var(--md-sys-color-primary, #6750A4);
|
|
80
|
+
}
|
|
81
|
+
|
|
82
|
+
/* --- Disabled --- */
|
|
83
|
+
:host([disabled]) button,
|
|
84
|
+
:host([disabled]) a {
|
|
85
|
+
cursor: not-allowed;
|
|
86
|
+
color: rgba(29, 27, 32, 0.38);
|
|
87
|
+
}
|
|
88
|
+
|
|
89
|
+
:host([disabled][variant="filled"]) button,
|
|
90
|
+
:host([disabled][variant="filled"]) a,
|
|
91
|
+
:host([disabled][variant="tonal"]) button,
|
|
92
|
+
:host([disabled][variant="tonal"]) a {
|
|
93
|
+
background-color: rgba(29, 27, 32, 0.12);
|
|
94
|
+
}
|
|
95
|
+
|
|
96
|
+
:host([disabled][variant="outlined"]) button,
|
|
97
|
+
:host([disabled][variant="outlined"]) a {
|
|
98
|
+
border-color: rgba(29, 27, 32, 0.12);
|
|
99
|
+
}
|
|
100
|
+
|
|
101
|
+
.content {
|
|
102
|
+
display: inline-flex;
|
|
103
|
+
align-items: center;
|
|
104
|
+
justify-content: center;
|
|
105
|
+
position: relative;
|
|
106
|
+
z-index: 1;
|
|
107
|
+
}
|
|
108
|
+
`;
|
|
109
|
+
var m = Object.defineProperty, y = Object.getOwnPropertyDescriptor, e = (r, s, d, n) => {
|
|
110
|
+
for (var i = n > 1 ? void 0 : n ? y(s, d) : s, c = r.length - 1, h; c >= 0; c--)
|
|
111
|
+
(h = r[c]) && (i = (n ? h(s, d, i) : h(i)) || i);
|
|
112
|
+
return n && i && m(s, d, i), i;
|
|
113
|
+
};
|
|
114
|
+
let t = class extends p {
|
|
115
|
+
constructor() {
|
|
116
|
+
super(...arguments), this.variant = "standard", this.disabled = !1, this.toggle = !1, this.selected = !1, this.icon = "", this.selectedIcon = "", this.ariaLabelText = "", this.href = "", this.target = "", this.handleClick = (r) => {
|
|
117
|
+
if (this.disabled) {
|
|
118
|
+
r.preventDefault(), r.stopImmediatePropagation();
|
|
119
|
+
return;
|
|
120
|
+
}
|
|
121
|
+
this.toggle && (this.selected = !this.selected, this.emitEvent("change", { selected: this.selected }));
|
|
122
|
+
};
|
|
123
|
+
}
|
|
124
|
+
render() {
|
|
125
|
+
const r = this.selected && this.selectedIcon ? this.selectedIcon : this.icon, s = l`
|
|
126
|
+
<md-ripple ?disabled=${this.disabled} unbounded></md-ripple>
|
|
127
|
+
<md-focus-ring></md-focus-ring>
|
|
128
|
+
<span class="content">
|
|
129
|
+
<slot>
|
|
130
|
+
${r ? l`<md-icon name=${r} ?filled=${this.selected}></md-icon>` : a}
|
|
131
|
+
</slot>
|
|
132
|
+
</span>
|
|
133
|
+
`;
|
|
134
|
+
return this.href ? l`
|
|
135
|
+
<a
|
|
136
|
+
href=${this.disabled ? a : this.href}
|
|
137
|
+
target=${this.target || a}
|
|
138
|
+
aria-label=${this.ariaLabelText || a}
|
|
139
|
+
aria-pressed=${this.toggle ? this.selected ? "true" : "false" : a}
|
|
140
|
+
aria-disabled=${this.disabled ? "true" : a}
|
|
141
|
+
tabindex=${this.disabled ? "-1" : "0"}
|
|
142
|
+
@click=${this.handleClick}
|
|
143
|
+
>
|
|
144
|
+
${s}
|
|
145
|
+
</a>
|
|
146
|
+
` : l`
|
|
147
|
+
<button
|
|
148
|
+
aria-label=${this.ariaLabelText || a}
|
|
149
|
+
aria-pressed=${this.toggle ? this.selected ? "true" : "false" : a}
|
|
150
|
+
?disabled=${this.disabled}
|
|
151
|
+
@click=${this.handleClick}
|
|
152
|
+
>
|
|
153
|
+
${s}
|
|
154
|
+
</button>
|
|
155
|
+
`;
|
|
156
|
+
}
|
|
157
|
+
};
|
|
158
|
+
t.styles = [p.styles, v];
|
|
159
|
+
e([
|
|
160
|
+
o({ type: String, reflect: !0 })
|
|
161
|
+
], t.prototype, "variant", 2);
|
|
162
|
+
e([
|
|
163
|
+
o({ type: Boolean, reflect: !0 })
|
|
164
|
+
], t.prototype, "disabled", 2);
|
|
165
|
+
e([
|
|
166
|
+
o({ type: Boolean, reflect: !0 })
|
|
167
|
+
], t.prototype, "toggle", 2);
|
|
168
|
+
e([
|
|
169
|
+
o({ type: Boolean, reflect: !0 })
|
|
170
|
+
], t.prototype, "selected", 2);
|
|
171
|
+
e([
|
|
172
|
+
o({ type: String })
|
|
173
|
+
], t.prototype, "icon", 2);
|
|
174
|
+
e([
|
|
175
|
+
o({ type: String, attribute: "selected-icon" })
|
|
176
|
+
], t.prototype, "selectedIcon", 2);
|
|
177
|
+
e([
|
|
178
|
+
o({ type: String, attribute: "aria-label" })
|
|
179
|
+
], t.prototype, "ariaLabelText", 2);
|
|
180
|
+
e([
|
|
181
|
+
o({ type: String })
|
|
182
|
+
], t.prototype, "href", 2);
|
|
183
|
+
e([
|
|
184
|
+
o({ type: String })
|
|
185
|
+
], t.prototype, "target", 2);
|
|
186
|
+
t = e([
|
|
187
|
+
u("md-icon-button")
|
|
188
|
+
], t);
|
|
189
|
+
export {
|
|
190
|
+
t as MdIconButton
|
|
191
|
+
};
|
|
192
|
+
//# sourceMappingURL=icon-button.js.map
|