@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.
Files changed (148) hide show
  1. package/LICENSE +22 -0
  2. package/README.md +192 -0
  3. package/custom-elements.json +5448 -0
  4. package/dist/chunks/base-component-DQTjlEVL.js +34 -0
  5. package/dist/chunks/base-component-DQTjlEVL.js.map +1 -0
  6. package/dist/chunks/focus-ring-Dl-XoEKK.js +71 -0
  7. package/dist/chunks/focus-ring-Dl-XoEKK.js.map +1 -0
  8. package/dist/chunks/form-associated-fKbeX_2P.js +74 -0
  9. package/dist/chunks/form-associated-fKbeX_2P.js.map +1 -0
  10. package/dist/chunks/theme.css-DV3DRha-.js +263 -0
  11. package/dist/chunks/theme.css-DV3DRha-.js.map +1 -0
  12. package/dist/components/badge/badge.css.d.ts +2 -0
  13. package/dist/components/badge/badge.css.d.ts.map +1 -0
  14. package/dist/components/badge/badge.d.ts +16 -0
  15. package/dist/components/badge/badge.d.ts.map +1 -0
  16. package/dist/components/badge/badge.js +93 -0
  17. package/dist/components/badge/badge.js.map +1 -0
  18. package/dist/components/button/button.css.d.ts +2 -0
  19. package/dist/components/button/button.css.d.ts.map +1 -0
  20. package/dist/components/button/button.d.ts +25 -0
  21. package/dist/components/button/button.d.ts.map +1 -0
  22. package/dist/components/button/button.js +263 -0
  23. package/dist/components/button/button.js.map +1 -0
  24. package/dist/components/card/card.css.d.ts +2 -0
  25. package/dist/components/card/card.css.d.ts.map +1 -0
  26. package/dist/components/card/card.d.ts +18 -0
  27. package/dist/components/card/card.d.ts.map +1 -0
  28. package/dist/components/card/card.js +169 -0
  29. package/dist/components/card/card.js.map +1 -0
  30. package/dist/components/checkbox/checkbox.css.d.ts +2 -0
  31. package/dist/components/checkbox/checkbox.css.d.ts.map +1 -0
  32. package/dist/components/checkbox/checkbox.d.ts +24 -0
  33. package/dist/components/checkbox/checkbox.d.ts.map +1 -0
  34. package/dist/components/checkbox/checkbox.js +188 -0
  35. package/dist/components/checkbox/checkbox.js.map +1 -0
  36. package/dist/components/chip/chip.css.d.ts +3 -0
  37. package/dist/components/chip/chip.css.d.ts.map +1 -0
  38. package/dist/components/chip/chip.d.ts +27 -0
  39. package/dist/components/chip/chip.d.ts.map +1 -0
  40. package/dist/components/chip/chip.js +174 -0
  41. package/dist/components/chip/chip.js.map +1 -0
  42. package/dist/components/dialog/dialog.css.d.ts +2 -0
  43. package/dist/components/dialog/dialog.css.d.ts.map +1 -0
  44. package/dist/components/dialog/dialog.d.ts +22 -0
  45. package/dist/components/dialog/dialog.d.ts.map +1 -0
  46. package/dist/components/dialog/dialog.js +167 -0
  47. package/dist/components/dialog/dialog.js.map +1 -0
  48. package/dist/components/divider/divider.css.d.ts +2 -0
  49. package/dist/components/divider/divider.css.d.ts.map +1 -0
  50. package/dist/components/divider/divider.d.ts +16 -0
  51. package/dist/components/divider/divider.d.ts.map +1 -0
  52. package/dist/components/divider/divider.js +81 -0
  53. package/dist/components/divider/divider.js.map +1 -0
  54. package/dist/components/fab/fab.css.d.ts +2 -0
  55. package/dist/components/fab/fab.css.d.ts.map +1 -0
  56. package/dist/components/fab/fab.d.ts +19 -0
  57. package/dist/components/fab/fab.d.ts.map +1 -0
  58. package/dist/components/fab/fab.js +155 -0
  59. package/dist/components/fab/fab.js.map +1 -0
  60. package/dist/components/icon/icon.css.d.ts +2 -0
  61. package/dist/components/icon/icon.css.d.ts.map +1 -0
  62. package/dist/components/icon/icon.d.ts +15 -0
  63. package/dist/components/icon/icon.d.ts.map +1 -0
  64. package/dist/components/icon/icon.js +70 -0
  65. package/dist/components/icon/icon.js.map +1 -0
  66. package/dist/components/icon-button/icon-button.css.d.ts +2 -0
  67. package/dist/components/icon-button/icon-button.css.d.ts.map +1 -0
  68. package/dist/components/icon-button/icon-button.d.ts +22 -0
  69. package/dist/components/icon-button/icon-button.d.ts.map +1 -0
  70. package/dist/components/icon-button/icon-button.js +192 -0
  71. package/dist/components/icon-button/icon-button.js.map +1 -0
  72. package/dist/components/list/list.css.d.ts +3 -0
  73. package/dist/components/list/list.css.d.ts.map +1 -0
  74. package/dist/components/list/list.d.ts +25 -0
  75. package/dist/components/list/list.d.ts.map +1 -0
  76. package/dist/components/list/list.js +190 -0
  77. package/dist/components/list/list.js.map +1 -0
  78. package/dist/components/progress/progress.css.d.ts +2 -0
  79. package/dist/components/progress/progress.css.d.ts.map +1 -0
  80. package/dist/components/progress/progress.d.ts +19 -0
  81. package/dist/components/progress/progress.d.ts.map +1 -0
  82. package/dist/components/progress/progress.js +183 -0
  83. package/dist/components/progress/progress.js.map +1 -0
  84. package/dist/components/radio/radio.css.d.ts +3 -0
  85. package/dist/components/radio/radio.css.d.ts.map +1 -0
  86. package/dist/components/radio/radio.d.ts +38 -0
  87. package/dist/components/radio/radio.d.ts.map +1 -0
  88. package/dist/components/radio/radio.js +205 -0
  89. package/dist/components/radio/radio.js.map +1 -0
  90. package/dist/components/snackbar/snackbar.css.d.ts +2 -0
  91. package/dist/components/snackbar/snackbar.css.d.ts.map +1 -0
  92. package/dist/components/snackbar/snackbar.d.ts +24 -0
  93. package/dist/components/snackbar/snackbar.d.ts.map +1 -0
  94. package/dist/components/snackbar/snackbar.js +164 -0
  95. package/dist/components/snackbar/snackbar.js.map +1 -0
  96. package/dist/components/switch/switch.css.d.ts +2 -0
  97. package/dist/components/switch/switch.css.d.ts.map +1 -0
  98. package/dist/components/switch/switch.d.ts +22 -0
  99. package/dist/components/switch/switch.d.ts.map +1 -0
  100. package/dist/components/switch/switch.js +171 -0
  101. package/dist/components/switch/switch.js.map +1 -0
  102. package/dist/components/tabs/tabs.css.d.ts +3 -0
  103. package/dist/components/tabs/tabs.css.d.ts.map +1 -0
  104. package/dist/components/tabs/tabs.d.ts +33 -0
  105. package/dist/components/tabs/tabs.d.ts.map +1 -0
  106. package/dist/components/tabs/tabs.js +200 -0
  107. package/dist/components/tabs/tabs.js.map +1 -0
  108. package/dist/components/text-field/text-field.css.d.ts +2 -0
  109. package/dist/components/text-field/text-field.css.d.ts.map +1 -0
  110. package/dist/components/text-field/text-field.d.ts +40 -0
  111. package/dist/components/text-field/text-field.d.ts.map +1 -0
  112. package/dist/components/text-field/text-field.js +327 -0
  113. package/dist/components/text-field/text-field.js.map +1 -0
  114. package/dist/index.d.ts +23 -0
  115. package/dist/index.d.ts.map +1 -0
  116. package/dist/index.js +59 -0
  117. package/dist/index.js.map +1 -0
  118. package/dist/internal/base-component.d.ts +13 -0
  119. package/dist/internal/base-component.d.ts.map +1 -0
  120. package/dist/internal/focus-ring/focus-ring.css.d.ts +2 -0
  121. package/dist/internal/focus-ring/focus-ring.css.d.ts.map +1 -0
  122. package/dist/internal/focus-ring/focus-ring.d.ts +18 -0
  123. package/dist/internal/focus-ring/focus-ring.d.ts.map +1 -0
  124. package/dist/internal/form-associated.d.ts +26 -0
  125. package/dist/internal/form-associated.d.ts.map +1 -0
  126. package/dist/internal/ripple/ripple.css.d.ts +2 -0
  127. package/dist/internal/ripple/ripple.css.d.ts.map +1 -0
  128. package/dist/internal/ripple/ripple.d.ts +26 -0
  129. package/dist/internal/ripple/ripple.d.ts.map +1 -0
  130. package/dist/internal/ripple/ripple.js +144 -0
  131. package/dist/internal/ripple/ripple.js.map +1 -0
  132. package/dist/tokens/colors.d.ts +42 -0
  133. package/dist/tokens/colors.d.ts.map +1 -0
  134. package/dist/tokens/elevation.d.ts +9 -0
  135. package/dist/tokens/elevation.d.ts.map +1 -0
  136. package/dist/tokens/index.d.ts +7 -0
  137. package/dist/tokens/index.d.ts.map +1 -0
  138. package/dist/tokens/index.js +13 -0
  139. package/dist/tokens/index.js.map +1 -0
  140. package/dist/tokens/motion.d.ts +21 -0
  141. package/dist/tokens/motion.d.ts.map +1 -0
  142. package/dist/tokens/shape.d.ts +10 -0
  143. package/dist/tokens/shape.d.ts.map +1 -0
  144. package/dist/tokens/theme.css.d.ts +4 -0
  145. package/dist/tokens/theme.css.d.ts.map +1 -0
  146. package/dist/tokens/typography.d.ts +101 -0
  147. package/dist/tokens/typography.d.ts.map +1 -0
  148. package/package.json +133 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"icon-button.js","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 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} unbounded></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"],"names":["iconButtonStyles","css","MdIconButton","MdBaseElement","event","iconName","content","html","nothing","__decorateClass","property","customElement"],"mappings":"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"}
@@ -0,0 +1,3 @@
1
+ export declare const listStyles: import('lit').CSSResult;
2
+ export declare const listItemStyles: import('lit').CSSResult;
3
+ //# sourceMappingURL=list.css.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"list.css.d.ts","sourceRoot":"","sources":["../../../src/components/list/list.css.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,UAAU,yBAOtB,CAAC;AAEF,eAAO,MAAM,cAAc,yBA6E1B,CAAC"}
@@ -0,0 +1,25 @@
1
+ import { MdBaseElement } from '../../internal/base-component.js';
2
+ export declare class MdListItem extends MdBaseElement {
3
+ static styles: import('lit').CSSResultGroup[];
4
+ headline: string;
5
+ supportingText: string;
6
+ trailingSupportingText: string;
7
+ interactive: boolean;
8
+ disabled: boolean;
9
+ href: string;
10
+ target: string;
11
+ private handleClick;
12
+ render(): import('lit-html').TemplateResult<1>;
13
+ }
14
+ export declare class MdList extends MdBaseElement {
15
+ static styles: import('lit').CSSResultGroup[];
16
+ connectedCallback(): void;
17
+ render(): import('lit-html').TemplateResult<1>;
18
+ }
19
+ declare global {
20
+ interface HTMLElementTagNameMap {
21
+ 'md-list': MdList;
22
+ 'md-list-item': MdListItem;
23
+ }
24
+ }
25
+ //# sourceMappingURL=list.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"list.d.ts","sourceRoot":"","sources":["../../../src/components/list/list.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,aAAa,EAAE,MAAM,kCAAkC,CAAC;AACjE,OAAO,iCAAiC,CAAC;AACzC,OAAO,yCAAyC,CAAC;AAGjD,qBACa,UAAW,SAAQ,aAAa;IAC3C,OAAgB,MAAM,iCAA0C;IAGhE,QAAQ,SAAM;IAGd,cAAc,SAAM;IAGpB,sBAAsB,SAAM;IAG5B,WAAW,UAAS;IAGpB,QAAQ,UAAS;IAGjB,IAAI,SAAM;IAGV,MAAM,SAAM;IAEZ,OAAO,CAAC,WAAW,CASjB;IAEO,MAAM;CA+ChB;AAED,qBACa,MAAO,SAAQ,aAAa;IACvC,OAAgB,MAAM,iCAAsC;IAEnD,iBAAiB;IAKjB,MAAM;CAGhB;AAED,OAAO,CAAC,MAAM,CAAC;IACb,UAAU,qBAAqB;QAC7B,SAAS,EAAE,MAAM,CAAC;QAClB,cAAc,EAAE,UAAU,CAAC;KAC5B;CACF"}
@@ -0,0 +1,190 @@
1
+ import { css as m, nothing as s, html as r } from "lit";
2
+ import { property as o, customElement as g } 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
+ const y = m`
7
+ :host {
8
+ display: flex;
9
+ flex-direction: column;
10
+ padding: 8px 0;
11
+ box-sizing: border-box;
12
+ }
13
+ `, x = m`
14
+ :host {
15
+ display: flex;
16
+ outline: none;
17
+ box-sizing: border-box;
18
+ -webkit-tap-highlight-color: transparent;
19
+ }
20
+
21
+ :host([disabled]) {
22
+ pointer-events: none;
23
+ opacity: 0.38;
24
+ }
25
+
26
+ .item {
27
+ position: relative;
28
+ display: flex;
29
+ align-items: center;
30
+ width: 100%;
31
+ min-height: 56px;
32
+ padding: 8px 16px;
33
+ box-sizing: border-box;
34
+ font-family: var(--md-sys-typescale-font-family, inherit);
35
+ color: var(--md-sys-color-on-surface, #1D1B20);
36
+ text-decoration: none;
37
+ gap: 16px;
38
+ user-select: none;
39
+ overflow: hidden;
40
+ }
41
+
42
+ :host([interactive]) .item {
43
+ cursor: pointer;
44
+ }
45
+
46
+ .start {
47
+ display: inline-flex;
48
+ align-items: center;
49
+ justify-content: center;
50
+ color: var(--md-sys-color-on-surface-variant, #49454F);
51
+ flex-shrink: 0;
52
+ }
53
+
54
+ .content {
55
+ display: flex;
56
+ flex-direction: column;
57
+ flex: 1;
58
+ min-width: 0;
59
+ justify-content: center;
60
+ }
61
+
62
+ .headline {
63
+ font-size: var(--md-sys-typescale-body-large-size, 16px);
64
+ line-height: 24px;
65
+ font-weight: 400;
66
+ color: var(--md-sys-color-on-surface, #1D1B20);
67
+ overflow: hidden;
68
+ text-overflow: ellipsis;
69
+ white-space: nowrap;
70
+ }
71
+
72
+ .supporting-text {
73
+ font-size: var(--md-sys-typescale-body-medium-size, 14px);
74
+ line-height: 20px;
75
+ font-weight: 400;
76
+ color: var(--md-sys-color-on-surface-variant, #49454F);
77
+ overflow: hidden;
78
+ text-overflow: ellipsis;
79
+ white-space: nowrap;
80
+ }
81
+
82
+ .end {
83
+ display: inline-flex;
84
+ align-items: center;
85
+ justify-content: center;
86
+ color: var(--md-sys-color-on-surface-variant, #49454F);
87
+ font-size: var(--md-sys-typescale-label-small-size, 11px);
88
+ flex-shrink: 0;
89
+ }
90
+ `;
91
+ var u = Object.defineProperty, v = Object.getOwnPropertyDescriptor, e = (i, l, d, a) => {
92
+ for (var n = a > 1 ? void 0 : a ? v(l, d) : l, c = i.length - 1, h; c >= 0; c--)
93
+ (h = i[c]) && (n = (a ? h(l, d, n) : h(n)) || n);
94
+ return a && n && u(l, d, n), n;
95
+ };
96
+ let t = class extends p {
97
+ constructor() {
98
+ super(...arguments), this.headline = "", this.supportingText = "", this.trailingSupportingText = "", this.interactive = !1, this.disabled = !1, this.href = "", this.target = "", this.handleClick = (i) => {
99
+ if (this.disabled) {
100
+ i.preventDefault(), i.stopImmediatePropagation();
101
+ return;
102
+ }
103
+ this.interactive && this.emitEvent("item-click");
104
+ };
105
+ }
106
+ render() {
107
+ const i = r`
108
+ ${this.interactive ? r`<md-ripple ?disabled=${this.disabled}></md-ripple><md-focus-ring></md-focus-ring>` : s}
109
+
110
+ <div class="start">
111
+ <slot name="start"></slot>
112
+ </div>
113
+
114
+ <div class="content">
115
+ <slot>
116
+ ${this.headline ? r`<span class="headline">${this.headline}</span>` : s}
117
+ ${this.supportingText ? r`<span class="supporting-text">${this.supportingText}</span>` : s}
118
+ </slot>
119
+ </div>
120
+
121
+ <div class="end">
122
+ <slot name="end">
123
+ ${this.trailingSupportingText ? r`<span>${this.trailingSupportingText}</span>` : s}
124
+ </slot>
125
+ </div>
126
+ `;
127
+ return this.href ? r`
128
+ <a
129
+ class="item"
130
+ href=${this.disabled ? s : this.href}
131
+ target=${this.target || s}
132
+ aria-disabled=${this.disabled ? "true" : s}
133
+ tabindex=${this.disabled ? "-1" : "0"}
134
+ @click=${this.handleClick}
135
+ >
136
+ ${i}
137
+ </a>
138
+ ` : r`
139
+ <div
140
+ class="item"
141
+ tabindex=${this.interactive && !this.disabled ? "0" : s}
142
+ @click=${this.handleClick}
143
+ >
144
+ ${i}
145
+ </div>
146
+ `;
147
+ }
148
+ };
149
+ t.styles = [p.styles, x];
150
+ e([
151
+ o({ type: String })
152
+ ], t.prototype, "headline", 2);
153
+ e([
154
+ o({ type: String, attribute: "supporting-text" })
155
+ ], t.prototype, "supportingText", 2);
156
+ e([
157
+ o({ type: String, attribute: "trailing-supporting-text" })
158
+ ], t.prototype, "trailingSupportingText", 2);
159
+ e([
160
+ o({ type: Boolean, reflect: !0 })
161
+ ], t.prototype, "interactive", 2);
162
+ e([
163
+ o({ type: Boolean, reflect: !0 })
164
+ ], t.prototype, "disabled", 2);
165
+ e([
166
+ o({ type: String })
167
+ ], t.prototype, "href", 2);
168
+ e([
169
+ o({ type: String })
170
+ ], t.prototype, "target", 2);
171
+ t = e([
172
+ g("md-list-item")
173
+ ], t);
174
+ let f = class extends p {
175
+ connectedCallback() {
176
+ super.connectedCallback(), this.setAttribute("role", "list");
177
+ }
178
+ render() {
179
+ return r`<slot></slot>`;
180
+ }
181
+ };
182
+ f.styles = [p.styles, y];
183
+ f = e([
184
+ g("md-list")
185
+ ], f);
186
+ export {
187
+ f as MdList,
188
+ t as MdListItem
189
+ };
190
+ //# sourceMappingURL=list.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"list.js","sources":["../../../src/components/list/list.css.ts","../../../src/components/list/list.ts"],"sourcesContent":["import { css } from 'lit';\n\nexport const listStyles = css`\n :host {\n display: flex;\n flex-direction: column;\n padding: 8px 0;\n box-sizing: border-box;\n }\n`;\n\nexport const listItemStyles = css`\n :host {\n display: flex;\n outline: none;\n box-sizing: border-box;\n -webkit-tap-highlight-color: transparent;\n }\n\n :host([disabled]) {\n pointer-events: none;\n opacity: 0.38;\n }\n\n .item {\n position: relative;\n display: flex;\n align-items: center;\n width: 100%;\n min-height: 56px;\n padding: 8px 16px;\n box-sizing: border-box;\n font-family: var(--md-sys-typescale-font-family, inherit);\n color: var(--md-sys-color-on-surface, #1D1B20);\n text-decoration: none;\n gap: 16px;\n user-select: none;\n overflow: hidden;\n }\n\n :host([interactive]) .item {\n cursor: pointer;\n }\n\n .start {\n display: inline-flex;\n align-items: center;\n justify-content: center;\n color: var(--md-sys-color-on-surface-variant, #49454F);\n flex-shrink: 0;\n }\n\n .content {\n display: flex;\n flex-direction: column;\n flex: 1;\n min-width: 0;\n justify-content: center;\n }\n\n .headline {\n font-size: var(--md-sys-typescale-body-large-size, 16px);\n line-height: 24px;\n font-weight: 400;\n color: var(--md-sys-color-on-surface, #1D1B20);\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n }\n\n .supporting-text {\n font-size: var(--md-sys-typescale-body-medium-size, 14px);\n line-height: 20px;\n font-weight: 400;\n color: var(--md-sys-color-on-surface-variant, #49454F);\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n }\n\n .end {\n display: inline-flex;\n align-items: center;\n justify-content: center;\n color: var(--md-sys-color-on-surface-variant, #49454F);\n font-size: var(--md-sys-typescale-label-small-size, 11px);\n flex-shrink: 0;\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 { listStyles, listItemStyles } from './list.css.js';\n\n@customElement('md-list-item')\nexport class MdListItem extends MdBaseElement {\n static override styles = [MdBaseElement.styles, listItemStyles];\n\n @property({ type: String })\n headline = '';\n\n @property({ type: String, attribute: 'supporting-text' })\n supportingText = '';\n\n @property({ type: String, attribute: 'trailing-supporting-text' })\n trailingSupportingText = '';\n\n @property({ type: Boolean, reflect: true })\n interactive = false;\n\n @property({ type: Boolean, reflect: true })\n disabled = false;\n\n @property({ type: String })\n href = '';\n\n @property({ type: String })\n target = '';\n\n private handleClick = (event: MouseEvent) => {\n if (this.disabled) {\n event.preventDefault();\n event.stopImmediatePropagation();\n return;\n }\n if (this.interactive) {\n this.emitEvent('item-click');\n }\n };\n\n override render() {\n const inner = html`\n ${this.interactive ? html`<md-ripple ?disabled=${this.disabled}></md-ripple><md-focus-ring></md-focus-ring>` : nothing}\n\n <div class=\"start\">\n <slot name=\"start\"></slot>\n </div>\n\n <div class=\"content\">\n <slot>\n ${this.headline ? html`<span class=\"headline\">${this.headline}</span>` : nothing}\n ${this.supportingText ? html`<span class=\"supporting-text\">${this.supportingText}</span>` : nothing}\n </slot>\n </div>\n\n <div class=\"end\">\n <slot name=\"end\">\n ${this.trailingSupportingText ? html`<span>${this.trailingSupportingText}</span>` : nothing}\n </slot>\n </div>\n `;\n\n if (this.href) {\n return html`\n <a\n class=\"item\"\n href=${this.disabled ? nothing : this.href}\n target=${this.target || nothing}\n aria-disabled=${this.disabled ? 'true' : nothing}\n tabindex=${this.disabled ? '-1' : '0'}\n @click=${this.handleClick}\n >\n ${inner}\n </a>\n `;\n }\n\n return html`\n <div\n class=\"item\"\n tabindex=${this.interactive && !this.disabled ? '0' : nothing}\n @click=${this.handleClick}\n >\n ${inner}\n </div>\n `;\n }\n}\n\n@customElement('md-list')\nexport class MdList extends MdBaseElement {\n static override styles = [MdBaseElement.styles, listStyles];\n\n override connectedCallback() {\n super.connectedCallback();\n this.setAttribute('role', 'list');\n }\n\n override render() {\n return html`<slot></slot>`;\n }\n}\n\ndeclare global {\n interface HTMLElementTagNameMap {\n 'md-list': MdList;\n 'md-list-item': MdListItem;\n }\n}\n\n"],"names":["listStyles","css","listItemStyles","MdListItem","MdBaseElement","event","inner","html","nothing","__decorateClass","property","customElement","MdList"],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export declare const progressStyles: import('lit').CSSResult;
2
+ //# sourceMappingURL=progress.css.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"progress.css.d.ts","sourceRoot":"","sources":["../../../src/components/progress/progress.css.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,cAAc,yBAkH1B,CAAC"}
@@ -0,0 +1,19 @@
1
+ import { MdBaseElement } from '../../internal/base-component.js';
2
+ export type ProgressType = 'linear' | 'circular';
3
+ export declare class MdProgress extends MdBaseElement {
4
+ static styles: import('lit').CSSResultGroup[];
5
+ type: ProgressType;
6
+ value: number | null;
7
+ max: number;
8
+ buffer: number;
9
+ indeterminate: boolean;
10
+ willUpdate(changedProperties: Map<string, unknown>): void;
11
+ connectedCallback(): void;
12
+ render(): import('lit-html').TemplateResult<1>;
13
+ }
14
+ declare global {
15
+ interface HTMLElementTagNameMap {
16
+ 'md-progress': MdProgress;
17
+ }
18
+ }
19
+ //# sourceMappingURL=progress.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"progress.d.ts","sourceRoot":"","sources":["../../../src/components/progress/progress.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,aAAa,EAAE,MAAM,kCAAkC,CAAC;AAGjE,MAAM,MAAM,YAAY,GAAG,QAAQ,GAAG,UAAU,CAAC;AAEjD,qBACa,UAAW,SAAQ,aAAa;IAC3C,OAAgB,MAAM,iCAA0C;IAGhE,IAAI,EAAE,YAAY,CAAY;IAG9B,KAAK,EAAE,MAAM,GAAG,IAAI,CAAQ;IAG5B,GAAG,SAAK;IAGR,MAAM,SAAK;IAGX,aAAa,UAAQ;IAEZ,UAAU,CAAC,iBAAiB,EAAE,GAAG,CAAC,MAAM,EAAE,OAAO,CAAC;IAYlD,iBAAiB;IAOjB,MAAM;CAgChB;AAED,OAAO,CAAC,MAAM,CAAC;IACb,UAAU,qBAAqB;QAC7B,aAAa,EAAE,UAAU,CAAC;KAC3B;CACF"}
@@ -0,0 +1,183 @@
1
+ import { css as d, nothing as h, html as m } from "lit";
2
+ import { property as o, customElement as f } from "lit/decorators.js";
3
+ import { M as u } from "../../chunks/base-component-DQTjlEVL.js";
4
+ const p = d`
5
+ :host {
6
+ display: inline-flex;
7
+ vertical-align: middle;
8
+ }
9
+
10
+ /* --- Linear Progress --- */
11
+ :host(:not([type])),
12
+ :host([type="linear"]) {
13
+ display: block;
14
+ width: 100%;
15
+ height: 4px;
16
+ position: relative;
17
+ overflow: hidden;
18
+ background-color: var(--md-sys-color-surface-container-highest, #E6E0E9);
19
+ border-radius: var(--md-sys-shape-corner-full, 9999px);
20
+ }
21
+
22
+ .linear-buffer {
23
+ position: absolute;
24
+ inset: 0;
25
+ background-color: var(--md-sys-color-primary-container, #EADDFF);
26
+ transform-origin: left;
27
+ transition: transform 200ms cubic-bezier(0.2, 0, 0, 1);
28
+ }
29
+
30
+ .linear-bar {
31
+ position: absolute;
32
+ top: 0;
33
+ bottom: 0;
34
+ left: 0;
35
+ right: 0;
36
+ background-color: var(--md-sys-color-primary, #6750A4);
37
+ border-radius: inherit;
38
+ transform-origin: left;
39
+ transition: transform 200ms cubic-bezier(0.2, 0, 0, 1);
40
+ }
41
+
42
+ :host([indeterminate]:not([type])),
43
+ :host([indeterminate][type="linear"]) .linear-bar {
44
+ animation: md-linear-indeterminate 2s cubic-bezier(0.65, 0.815, 0.735, 0.395) infinite;
45
+ }
46
+
47
+ @keyframes md-linear-indeterminate {
48
+ 0% {
49
+ left: -35%;
50
+ right: 100%;
51
+ }
52
+ 60% {
53
+ left: 100%;
54
+ right: -90%;
55
+ }
56
+ 100% {
57
+ left: 100%;
58
+ right: -90%;
59
+ }
60
+ }
61
+
62
+ /* --- Circular Progress --- */
63
+ :host([type="circular"]) {
64
+ width: 48px;
65
+ height: 48px;
66
+ position: relative;
67
+ }
68
+
69
+ svg {
70
+ width: 100%;
71
+ height: 100%;
72
+ transform: rotate(-90deg);
73
+ }
74
+
75
+ circle {
76
+ fill: none;
77
+ stroke-width: 4px;
78
+ stroke-linecap: round;
79
+ }
80
+
81
+ .circle-track {
82
+ stroke: var(--md-sys-color-surface-container-highest, #E6E0E9);
83
+ }
84
+
85
+ .circle-indicator {
86
+ stroke: var(--md-sys-color-primary, #6750A4);
87
+ transition: stroke-dashoffset 200ms cubic-bezier(0.2, 0, 0, 1);
88
+ }
89
+
90
+ :host([indeterminate][type="circular"]) svg {
91
+ animation: md-circular-rotate 1.4s linear infinite;
92
+ }
93
+
94
+ :host([indeterminate][type="circular"]) .circle-indicator {
95
+ animation: md-circular-dash 1.4s ease-in-out infinite;
96
+ }
97
+
98
+ @keyframes md-circular-rotate {
99
+ 100% {
100
+ transform: rotate(270deg);
101
+ }
102
+ }
103
+
104
+ @keyframes md-circular-dash {
105
+ 0% {
106
+ stroke-dasharray: 1, 200;
107
+ stroke-dashoffset: 0;
108
+ }
109
+ 50% {
110
+ stroke-dasharray: 89, 200;
111
+ stroke-dashoffset: -35px;
112
+ }
113
+ 100% {
114
+ stroke-dasharray: 89, 200;
115
+ stroke-dashoffset: -124px;
116
+ }
117
+ }
118
+ `;
119
+ var y = Object.defineProperty, b = Object.getOwnPropertyDescriptor, a = (r, s, n, t) => {
120
+ for (var e = t > 1 ? void 0 : t ? b(s, n) : s, l = r.length - 1, c; l >= 0; l--)
121
+ (c = r[l]) && (e = (t ? c(s, n, e) : c(e)) || e);
122
+ return t && e && y(s, n, e), e;
123
+ };
124
+ let i = class extends u {
125
+ constructor() {
126
+ super(...arguments), this.type = "linear", this.value = null, this.max = 1, this.buffer = 1, this.indeterminate = !0;
127
+ }
128
+ willUpdate(r) {
129
+ super.willUpdate(r), r.has("value") && (this.indeterminate = this.value === null || this.value === void 0, !this.indeterminate && this.value !== null ? this.setAttribute("aria-valuenow", String(this.value)) : this.removeAttribute("aria-valuenow"));
130
+ }
131
+ connectedCallback() {
132
+ super.connectedCallback(), this.setAttribute("role", "progressbar"), this.setAttribute("aria-valuemin", "0"), this.setAttribute("aria-valuemax", String(this.max));
133
+ }
134
+ render() {
135
+ const r = this.value !== null ? Math.min(Math.max(this.value / this.max, 0), 1) : 0, s = Math.min(Math.max(this.buffer / this.max, 0), 1);
136
+ if (this.type === "circular") {
137
+ const t = 2 * Math.PI * 20, e = t - r * t;
138
+ return m`
139
+ <svg viewBox="0 0 48 48">
140
+ <circle class="circle-track" cx="24" cy="24" r=${20}></circle>
141
+ <circle
142
+ class="circle-indicator"
143
+ cx="24"
144
+ cy="24"
145
+ r=${20}
146
+ stroke-dasharray=${this.indeterminate ? h : `${t}`}
147
+ stroke-dashoffset=${this.indeterminate ? h : `${e}`}
148
+ ></circle>
149
+ </svg>
150
+ `;
151
+ }
152
+ return m`
153
+ ${this.buffer < 1 ? m`<div class="linear-buffer" style="transform: scaleX(${s})"></div>` : h}
154
+ <div
155
+ class="linear-bar"
156
+ style=${this.indeterminate ? "" : `transform: scaleX(${r})`}
157
+ ></div>
158
+ `;
159
+ }
160
+ };
161
+ i.styles = [u.styles, p];
162
+ a([
163
+ o({ type: String, reflect: !0 })
164
+ ], i.prototype, "type", 2);
165
+ a([
166
+ o({ type: Number })
167
+ ], i.prototype, "value", 2);
168
+ a([
169
+ o({ type: Number })
170
+ ], i.prototype, "max", 2);
171
+ a([
172
+ o({ type: Number })
173
+ ], i.prototype, "buffer", 2);
174
+ a([
175
+ o({ type: Boolean, reflect: !0 })
176
+ ], i.prototype, "indeterminate", 2);
177
+ i = a([
178
+ f("md-progress")
179
+ ], i);
180
+ export {
181
+ i as MdProgress
182
+ };
183
+ //# sourceMappingURL=progress.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"progress.js","sources":["../../../src/components/progress/progress.css.ts","../../../src/components/progress/progress.ts"],"sourcesContent":["import { css } from 'lit';\n\nexport const progressStyles = css`\n :host {\n display: inline-flex;\n vertical-align: middle;\n }\n\n /* --- Linear Progress --- */\n :host(:not([type])),\n :host([type=\"linear\"]) {\n display: block;\n width: 100%;\n height: 4px;\n position: relative;\n overflow: hidden;\n background-color: var(--md-sys-color-surface-container-highest, #E6E0E9);\n border-radius: var(--md-sys-shape-corner-full, 9999px);\n }\n\n .linear-buffer {\n position: absolute;\n inset: 0;\n background-color: var(--md-sys-color-primary-container, #EADDFF);\n transform-origin: left;\n transition: transform 200ms cubic-bezier(0.2, 0, 0, 1);\n }\n\n .linear-bar {\n position: absolute;\n top: 0;\n bottom: 0;\n left: 0;\n right: 0;\n background-color: var(--md-sys-color-primary, #6750A4);\n border-radius: inherit;\n transform-origin: left;\n transition: transform 200ms cubic-bezier(0.2, 0, 0, 1);\n }\n\n :host([indeterminate]:not([type])),\n :host([indeterminate][type=\"linear\"]) .linear-bar {\n animation: md-linear-indeterminate 2s cubic-bezier(0.65, 0.815, 0.735, 0.395) infinite;\n }\n\n @keyframes md-linear-indeterminate {\n 0% {\n left: -35%;\n right: 100%;\n }\n 60% {\n left: 100%;\n right: -90%;\n }\n 100% {\n left: 100%;\n right: -90%;\n }\n }\n\n /* --- Circular Progress --- */\n :host([type=\"circular\"]) {\n width: 48px;\n height: 48px;\n position: relative;\n }\n\n svg {\n width: 100%;\n height: 100%;\n transform: rotate(-90deg);\n }\n\n circle {\n fill: none;\n stroke-width: 4px;\n stroke-linecap: round;\n }\n\n .circle-track {\n stroke: var(--md-sys-color-surface-container-highest, #E6E0E9);\n }\n\n .circle-indicator {\n stroke: var(--md-sys-color-primary, #6750A4);\n transition: stroke-dashoffset 200ms cubic-bezier(0.2, 0, 0, 1);\n }\n\n :host([indeterminate][type=\"circular\"]) svg {\n animation: md-circular-rotate 1.4s linear infinite;\n }\n\n :host([indeterminate][type=\"circular\"]) .circle-indicator {\n animation: md-circular-dash 1.4s ease-in-out infinite;\n }\n\n @keyframes md-circular-rotate {\n 100% {\n transform: rotate(270deg);\n }\n }\n\n @keyframes md-circular-dash {\n 0% {\n stroke-dasharray: 1, 200;\n stroke-dashoffset: 0;\n }\n 50% {\n stroke-dasharray: 89, 200;\n stroke-dashoffset: -35px;\n }\n 100% {\n stroke-dasharray: 89, 200;\n stroke-dashoffset: -124px;\n }\n }\n`;\n\n","import { html, nothing } from 'lit';\nimport { customElement, property } from 'lit/decorators.js';\nimport { MdBaseElement } from '../../internal/base-component.js';\nimport { progressStyles } from './progress.css.js';\n\nexport type ProgressType = 'linear' | 'circular';\n\n@customElement('md-progress')\nexport class MdProgress extends MdBaseElement {\n static override styles = [MdBaseElement.styles, progressStyles];\n\n @property({ type: String, reflect: true })\n type: ProgressType = 'linear';\n\n @property({ type: Number })\n value: number | null = null;\n\n @property({ type: Number })\n max = 1;\n\n @property({ type: Number })\n buffer = 1;\n\n @property({ type: Boolean, reflect: true })\n indeterminate = true;\n\n override willUpdate(changedProperties: Map<string, unknown>) {\n super.willUpdate(changedProperties);\n if (changedProperties.has('value')) {\n this.indeterminate = this.value === null || this.value === undefined;\n if (!this.indeterminate && this.value !== null) {\n this.setAttribute('aria-valuenow', String(this.value));\n } else {\n this.removeAttribute('aria-valuenow');\n }\n }\n }\n\n override connectedCallback() {\n super.connectedCallback();\n this.setAttribute('role', 'progressbar');\n this.setAttribute('aria-valuemin', '0');\n this.setAttribute('aria-valuemax', String(this.max));\n }\n\n override render() {\n const fraction = this.value !== null ? Math.min(Math.max(this.value / this.max, 0), 1) : 0;\n const bufferFraction = Math.min(Math.max(this.buffer / this.max, 0), 1);\n\n if (this.type === 'circular') {\n const radius = 20;\n const circumference = 2 * Math.PI * radius;\n const offset = circumference - fraction * circumference;\n\n return html`\n <svg viewBox=\"0 0 48 48\">\n <circle class=\"circle-track\" cx=\"24\" cy=\"24\" r=${radius}></circle>\n <circle\n class=\"circle-indicator\"\n cx=\"24\"\n cy=\"24\"\n r=${radius}\n stroke-dasharray=${this.indeterminate ? nothing : `${circumference}`}\n stroke-dashoffset=${this.indeterminate ? nothing : `${offset}`}\n ></circle>\n </svg>\n `;\n }\n\n return html`\n ${this.buffer < 1 ? html`<div class=\"linear-buffer\" style=\"transform: scaleX(${bufferFraction})\"></div>` : nothing}\n <div\n class=\"linear-bar\"\n style=${this.indeterminate ? '' : `transform: scaleX(${fraction})`}\n ></div>\n `;\n }\n}\n\ndeclare global {\n interface HTMLElementTagNameMap {\n 'md-progress': MdProgress;\n }\n}\n\n"],"names":["progressStyles","css","MdProgress","MdBaseElement","changedProperties","fraction","bufferFraction","circumference","offset","html","nothing","__decorateClass","property","customElement"],"mappings":"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"}
@@ -0,0 +1,3 @@
1
+ export declare const radioStyles: import('lit').CSSResult;
2
+ export declare const radioGroupStyles: import('lit').CSSResult;
3
+ //# sourceMappingURL=radio.css.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"radio.css.d.ts","sourceRoot":"","sources":["../../../src/components/radio/radio.css.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,WAAW,yBAqEvB,CAAC;AAEF,eAAO,MAAM,gBAAgB,yBAY5B,CAAC"}
@@ -0,0 +1,38 @@
1
+ import { MdBaseElement } from '../../internal/base-component.js';
2
+ import { MdFormAssociatedElement } from '../../internal/form-associated.js';
3
+ export declare class MdRadio extends MdFormAssociatedElement {
4
+ static styles: import('lit').CSSResultGroup[];
5
+ checked: boolean;
6
+ value: string;
7
+ connectedCallback(): void;
8
+ disconnectedCallback(): void;
9
+ updated(changedProperties: Map<string, unknown>): void;
10
+ formResetCallback(): void;
11
+ private updateFormValue;
12
+ private handleClick;
13
+ private handleKeyDown;
14
+ select(): void;
15
+ render(): import('lit-html').TemplateResult<1>;
16
+ }
17
+ export declare class MdRadioGroup extends MdBaseElement {
18
+ static styles: import('lit').CSSResultGroup[];
19
+ name: string;
20
+ value: string;
21
+ row: boolean;
22
+ private radios;
23
+ connectedCallback(): void;
24
+ disconnectedCallback(): void;
25
+ updated(changedProperties: Map<string, unknown>): void;
26
+ private handleSlotChange;
27
+ private syncRadios;
28
+ private handleChange;
29
+ private handleKeyDown;
30
+ render(): import('lit-html').TemplateResult<1>;
31
+ }
32
+ declare global {
33
+ interface HTMLElementTagNameMap {
34
+ 'md-radio': MdRadio;
35
+ 'md-radio-group': MdRadioGroup;
36
+ }
37
+ }
38
+ //# sourceMappingURL=radio.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"radio.d.ts","sourceRoot":"","sources":["../../../src/components/radio/radio.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,aAAa,EAAE,MAAM,kCAAkC,CAAC;AACjE,OAAO,EAAE,uBAAuB,EAAE,MAAM,mCAAmC,CAAC;AAC5E,OAAO,iCAAiC,CAAC;AACzC,OAAO,yCAAyC,CAAC;AAGjD,qBACa,OAAQ,SAAQ,uBAAuB;IAClD,OAAgB,MAAM,iCAAiD;IAGvE,OAAO,UAAS;IAGhB,KAAK,SAAQ;IAEJ,iBAAiB;IAQjB,oBAAoB;IAMpB,OAAO,CAAC,iBAAiB,EAAE,GAAG,CAAC,MAAM,EAAE,OAAO,CAAC;IAQ/C,iBAAiB;IAK1B,OAAO,CAAC,eAAe;IASvB,OAAO,CAAC,WAAW,CAIjB;IAEF,OAAO,CAAC,aAAa,CAMnB;IAEF,MAAM;IAmBG,MAAM;CAYhB;AAED,qBACa,YAAa,SAAQ,aAAa;IAC7C,OAAgB,MAAM,iCAA4C;IAGlE,IAAI,SAAM;IAGV,KAAK,SAAM;IAGX,GAAG,UAAS;IAGZ,OAAO,CAAC,MAAM,CAAa;IAElB,iBAAiB;IAMjB,oBAAoB;IAMpB,OAAO,CAAC,iBAAiB,EAAE,GAAG,CAAC,MAAM,EAAE,OAAO,CAAC;IAOxD,OAAO,CAAC,gBAAgB,CAEtB;IAEF,OAAO,CAAC,UAAU;IAkBlB,OAAO,CAAC,YAAY,CAMlB;IAEF,OAAO,CAAC,aAAa,CAsBnB;IAEO,MAAM;CAGhB;AAED,OAAO,CAAC,MAAM,CAAC;IACb,UAAU,qBAAqB;QAC7B,UAAU,EAAE,OAAO,CAAC;QACpB,gBAAgB,EAAE,YAAY,CAAC;KAChC;CACF"}