@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.
Files changed (166) hide show
  1. package/CHANGELOG.md +62 -0
  2. package/README.md +277 -83
  3. package/custom-elements.json +21010 -2354
  4. package/dist/chunks/badge-G4EjcMoy.js +89 -0
  5. package/dist/chunks/badge-G4EjcMoy.js.map +1 -0
  6. package/dist/chunks/button-B4TSZ7Sl.js +250 -0
  7. package/dist/chunks/button-B4TSZ7Sl.js.map +1 -0
  8. package/dist/chunks/card-DVffdPpv.js +163 -0
  9. package/dist/chunks/card-DVffdPpv.js.map +1 -0
  10. package/dist/chunks/checkbox-BqlboAHd.js +194 -0
  11. package/dist/chunks/checkbox-BqlboAHd.js.map +1 -0
  12. package/dist/chunks/chip-CI1ZINnr.js +169 -0
  13. package/dist/chunks/chip-CI1ZINnr.js.map +1 -0
  14. package/dist/chunks/code-C5UFBkCh.js +1830 -0
  15. package/dist/chunks/code-C5UFBkCh.js.map +1 -0
  16. package/dist/chunks/decorate-DXuynaiA.js +39 -0
  17. package/dist/chunks/decorate-DXuynaiA.js.map +1 -0
  18. package/dist/chunks/dialog-DGVEE5m_.js +158 -0
  19. package/dist/chunks/dialog-DGVEE5m_.js.map +1 -0
  20. package/dist/chunks/divider-DNepwoZv.js +82 -0
  21. package/dist/chunks/divider-DNepwoZv.js.map +1 -0
  22. package/dist/chunks/fab-C9j3WBHE.js +150 -0
  23. package/dist/chunks/fab-C9j3WBHE.js.map +1 -0
  24. package/dist/chunks/focus-ring-CuiJuM-y.js +71 -0
  25. package/dist/chunks/focus-ring-CuiJuM-y.js.map +1 -0
  26. package/dist/chunks/{form-associated-fKbeX_2P.js → form-associated-Cty_ZaS9.js} +26 -27
  27. package/dist/chunks/form-associated-Cty_ZaS9.js.map +1 -0
  28. package/dist/chunks/icon-DrNqcNEL.js +62 -0
  29. package/dist/chunks/icon-DrNqcNEL.js.map +1 -0
  30. package/dist/chunks/icon-button-BdSc7eot.js +188 -0
  31. package/dist/chunks/icon-button-BdSc7eot.js.map +1 -0
  32. package/dist/chunks/list-D8olR7oZ.js +204 -0
  33. package/dist/chunks/list-D8olR7oZ.js.map +1 -0
  34. package/dist/chunks/navigation-drawer-CKl44Ef5.js +531 -0
  35. package/dist/chunks/navigation-drawer-CKl44Ef5.js.map +1 -0
  36. package/dist/chunks/player-C4ydiIpr.js +1582 -0
  37. package/dist/chunks/player-C4ydiIpr.js.map +1 -0
  38. package/dist/chunks/progress-LQmLMDjX.js +266 -0
  39. package/dist/chunks/progress-LQmLMDjX.js.map +1 -0
  40. package/dist/chunks/radio-Bily78NT.js +205 -0
  41. package/dist/chunks/radio-Bily78NT.js.map +1 -0
  42. package/dist/chunks/ripple-squbKHhj.js +135 -0
  43. package/dist/chunks/ripple-squbKHhj.js.map +1 -0
  44. package/dist/chunks/search-bar-TXnqJ-gd.js +698 -0
  45. package/dist/chunks/search-bar-TXnqJ-gd.js.map +1 -0
  46. package/dist/chunks/snackbar-Wsz3BzEY.js +161 -0
  47. package/dist/chunks/snackbar-Wsz3BzEY.js.map +1 -0
  48. package/dist/chunks/switch-DdukrvXb.js +190 -0
  49. package/dist/chunks/switch-DdukrvXb.js.map +1 -0
  50. package/dist/chunks/table-aRTYzDyE.js +773 -0
  51. package/dist/chunks/table-aRTYzDyE.js.map +1 -0
  52. package/dist/chunks/tabs-BfOtoeir.js +191 -0
  53. package/dist/chunks/tabs-BfOtoeir.js.map +1 -0
  54. package/dist/chunks/text-field-hN6-2HQy.js +338 -0
  55. package/dist/chunks/text-field-hN6-2HQy.js.map +1 -0
  56. package/dist/chunks/top-app-bar-Dgbp6CFv.js +228 -0
  57. package/dist/chunks/top-app-bar-Dgbp6CFv.js.map +1 -0
  58. package/dist/components/account-menu/account-menu.css.d.ts +3 -0
  59. package/dist/components/account-menu/account-menu.css.d.ts.map +1 -0
  60. package/dist/components/account-menu/account-menu.d.ts +111 -0
  61. package/dist/components/account-menu/account-menu.d.ts.map +1 -0
  62. package/dist/components/app-drawer/app-drawer.css.d.ts +3 -0
  63. package/dist/components/app-drawer/app-drawer.css.d.ts.map +1 -0
  64. package/dist/components/app-drawer/app-drawer.d.ts +173 -0
  65. package/dist/components/app-drawer/app-drawer.d.ts.map +1 -0
  66. package/dist/components/badge/badge.js +2 -91
  67. package/dist/components/button/button.js +2 -261
  68. package/dist/components/card/card.js +2 -167
  69. package/dist/components/checkbox/checkbox.css.d.ts.map +1 -1
  70. package/dist/components/checkbox/checkbox.js +2 -186
  71. package/dist/components/chip/chip.js +3 -172
  72. package/dist/components/code/code.css.d.ts +2 -0
  73. package/dist/components/code/code.css.d.ts.map +1 -0
  74. package/dist/components/code/code.d.ts +106 -0
  75. package/dist/components/code/code.d.ts.map +1 -0
  76. package/dist/components/code/code.js +5 -0
  77. package/dist/components/code/highlighter.d.ts +8 -0
  78. package/dist/components/code/highlighter.d.ts.map +1 -0
  79. package/dist/components/code/linter.d.ts +44 -0
  80. package/dist/components/code/linter.d.ts.map +1 -0
  81. package/dist/components/dialog/dialog.js +2 -165
  82. package/dist/components/divider/divider.js +2 -79
  83. package/dist/components/fab/fab.js +2 -153
  84. package/dist/components/icon/icon.js +2 -68
  85. package/dist/components/icon-button/icon-button.css.d.ts.map +1 -1
  86. package/dist/components/icon-button/icon-button.js +1 -189
  87. package/dist/components/list/list.css.d.ts.map +1 -1
  88. package/dist/components/list/list.d.ts.map +1 -1
  89. package/dist/components/list/list.js +3 -188
  90. package/dist/components/navigation-drawer/navigation-drawer.css.d.ts +3 -0
  91. package/dist/components/navigation-drawer/navigation-drawer.css.d.ts.map +1 -0
  92. package/dist/components/navigation-drawer/navigation-drawer.d.ts +76 -0
  93. package/dist/components/navigation-drawer/navigation-drawer.d.ts.map +1 -0
  94. package/dist/components/navigation-drawer/navigation-drawer.js +8 -0
  95. package/dist/components/player/player.css.d.ts +2 -0
  96. package/dist/components/player/player.css.d.ts.map +1 -0
  97. package/dist/components/player/player.d.ts +99 -0
  98. package/dist/components/player/player.d.ts.map +1 -0
  99. package/dist/components/player/player.js +7 -0
  100. package/dist/components/progress/progress.css.d.ts.map +1 -1
  101. package/dist/components/progress/progress.d.ts +2 -0
  102. package/dist/components/progress/progress.d.ts.map +1 -1
  103. package/dist/components/progress/progress.js +3 -181
  104. package/dist/components/radio/radio.css.d.ts.map +1 -1
  105. package/dist/components/radio/radio.js +3 -203
  106. package/dist/components/search-bar/search-bar.css.d.ts +2 -0
  107. package/dist/components/search-bar/search-bar.css.d.ts.map +1 -0
  108. package/dist/components/search-bar/search-bar.d.ts +81 -0
  109. package/dist/components/search-bar/search-bar.d.ts.map +1 -0
  110. package/dist/components/search-bar/search-bar.js +5 -0
  111. package/dist/components/snackbar/snackbar.js +2 -162
  112. package/dist/components/switch/switch.css.d.ts.map +1 -1
  113. package/dist/components/switch/switch.js +2 -169
  114. package/dist/components/table/table.css.d.ts +8 -0
  115. package/dist/components/table/table.css.d.ts.map +1 -0
  116. package/dist/components/table/table.d.ts +158 -0
  117. package/dist/components/table/table.d.ts.map +1 -0
  118. package/dist/components/table/table.js +13 -0
  119. package/dist/components/tabs/tabs.js +3 -198
  120. package/dist/components/text-field/text-field.css.d.ts.map +1 -1
  121. package/dist/components/text-field/text-field.d.ts +1 -1
  122. package/dist/components/text-field/text-field.d.ts.map +1 -1
  123. package/dist/components/text-field/text-field.js +2 -325
  124. package/dist/components/top-app-bar/top-app-bar.css.d.ts +2 -0
  125. package/dist/components/top-app-bar/top-app-bar.css.d.ts.map +1 -0
  126. package/dist/components/top-app-bar/top-app-bar.d.ts +29 -0
  127. package/dist/components/top-app-bar/top-app-bar.d.ts.map +1 -0
  128. package/dist/components/top-app-bar/top-app-bar.js +5 -0
  129. package/dist/index.d.ts +8 -0
  130. package/dist/index.d.ts.map +1 -1
  131. package/dist/index.js +2264 -58
  132. package/dist/index.js.map +1 -1
  133. package/dist/internal/focus-ring/focus-ring.d.ts.map +1 -1
  134. package/dist/internal/focus-ring/focus-ring.js +4 -0
  135. package/dist/internal/ripple/ripple.css.d.ts.map +1 -1
  136. package/dist/internal/ripple/ripple.d.ts +0 -3
  137. package/dist/internal/ripple/ripple.d.ts.map +1 -1
  138. package/dist/internal/ripple/ripple.js +2 -142
  139. package/dist/tokens/index.js +336 -11
  140. package/dist/tokens/index.js.map +1 -1
  141. package/package.json +118 -12
  142. package/dist/chunks/base-component-DQTjlEVL.js +0 -34
  143. package/dist/chunks/base-component-DQTjlEVL.js.map +0 -1
  144. package/dist/chunks/focus-ring-Dl-XoEKK.js +0 -71
  145. package/dist/chunks/focus-ring-Dl-XoEKK.js.map +0 -1
  146. package/dist/chunks/form-associated-fKbeX_2P.js.map +0 -1
  147. package/dist/chunks/theme.css-DV3DRha-.js +0 -263
  148. package/dist/chunks/theme.css-DV3DRha-.js.map +0 -1
  149. package/dist/components/badge/badge.js.map +0 -1
  150. package/dist/components/button/button.js.map +0 -1
  151. package/dist/components/card/card.js.map +0 -1
  152. package/dist/components/checkbox/checkbox.js.map +0 -1
  153. package/dist/components/chip/chip.js.map +0 -1
  154. package/dist/components/dialog/dialog.js.map +0 -1
  155. package/dist/components/divider/divider.js.map +0 -1
  156. package/dist/components/fab/fab.js.map +0 -1
  157. package/dist/components/icon/icon.js.map +0 -1
  158. package/dist/components/icon-button/icon-button.js.map +0 -1
  159. package/dist/components/list/list.js.map +0 -1
  160. package/dist/components/progress/progress.js.map +0 -1
  161. package/dist/components/radio/radio.js.map +0 -1
  162. package/dist/components/snackbar/snackbar.js.map +0 -1
  163. package/dist/components/switch/switch.js.map +0 -1
  164. package/dist/components/tabs/tabs.js.map +0 -1
  165. package/dist/components/text-field/text-field.js.map +0 -1
  166. package/dist/internal/ripple/ripple.js.map +0 -1
@@ -0,0 +1 @@
1
+ {"version":3,"file":"text-field-hN6-2HQy.js","names":[],"sources":["../../src/components/text-field/text-field.css.ts","../../src/components/text-field/text-field.ts"],"sourcesContent":["import { css } from 'lit';\n\nexport const textFieldStyles = css`\n :host {\n display: inline-flex;\n flex-direction: column;\n min-width: 240px;\n vertical-align: top;\n align-self: flex-start;\n box-sizing: border-box;\n font-family: var(--md-sys-typescale-font-family, inherit);\n -webkit-tap-highlight-color: transparent;\n }\n\n :host([disabled]) {\n pointer-events: none;\n opacity: 0.38;\n }\n\n .container {\n position: relative;\n display: flex;\n align-items: center;\n min-height: 56px;\n padding: 0 16px;\n box-sizing: border-box;\n transition: background-color 150ms cubic-bezier(0.2, 0, 0, 1),\n border-color 150ms cubic-bezier(0.2, 0, 0, 1);\n }\n\n /* --- Filled Variant (Default) --- */\n :host(:not([variant])) .container,\n :host([variant=\"filled\"]) .container {\n background-color: var(--md-sys-color-surface-container-highest, #E6E0E9);\n border-radius: var(--md-sys-shape-corner-extra-small, 4px) var(--md-sys-shape-corner-extra-small, 4px) 0 0;\n border-bottom: 1px solid var(--md-sys-color-on-surface-variant, #49454F);\n }\n\n :host(:not([variant])[focused]) .container,\n :host([variant=\"filled\"][focused]) .container {\n border-bottom: 2px solid var(--md-sys-color-primary, #6750A4);\n }\n\n :host(:not([variant])[error]) .container,\n :host([variant=\"filled\"][error]) .container {\n border-bottom-color: var(--md-sys-color-error, #B3261E);\n }\n\n /* --- Outlined Variant --- */\n :host([variant=\"outlined\"]) .container {\n background-color: transparent;\n border: 1px solid var(--md-sys-color-outline, #79747E);\n border-radius: var(--md-sys-shape-corner-extra-small, 4px);\n }\n\n :host([variant=\"outlined\"][focused]) .container {\n border: 2px solid var(--md-sys-color-primary, #6750A4);\n padding: 0 15px; /* Offset for 2px border */\n }\n\n :host([variant=\"outlined\"][error]) .container {\n border-color: var(--md-sys-color-error, #B3261E);\n }\n\n /* Floating Label */\n .label {\n position: absolute;\n left: 16px;\n top: 50%;\n transform: translateY(-50%);\n font-size: 16px;\n line-height: 16px;\n color: var(--md-sys-color-on-surface-variant, #49454F);\n pointer-events: none;\n transition: transform 150ms cubic-bezier(0.2, 0, 0, 1),\n font-size 150ms cubic-bezier(0.2, 0, 0, 1),\n color 150ms cubic-bezier(0.2, 0, 0, 1),\n left 150ms cubic-bezier(0.2, 0, 0, 1),\n top 150ms cubic-bezier(0.2, 0, 0, 1);\n transform-origin: top left;\n white-space: nowrap;\n max-width: calc(100% - 32px);\n overflow: hidden;\n text-overflow: ellipsis;\n }\n\n :host([has-leading-icon]) .label {\n left: 52px;\n max-width: calc(100% - 68px);\n }\n\n /* Filled Variant Floating Label */\n :host(:not([variant])[focused]) .label,\n :host(:not([variant])[has-value]) .label,\n :host(:not([variant])[has-placeholder]) .label,\n :host([variant=\"filled\"][focused]) .label,\n :host([variant=\"filled\"][has-value]) .label,\n :host([variant=\"filled\"][has-placeholder]) .label {\n top: 8px;\n transform: translateY(0) scale(0.75);\n transform-origin: top left;\n }\n\n /* Outlined Variant Floating Label */\n :host([variant=\"outlined\"][focused]) .label,\n :host([variant=\"outlined\"][has-value]) .label,\n :host([variant=\"outlined\"][has-placeholder]) .label {\n top: 0;\n left: 12px;\n transform: translateY(-50%) scale(0.75);\n transform-origin: left center;\n background-color: var(--md-sys-color-surface, #FEF7FF);\n padding: 0 4px;\n max-width: calc(100% - 24px);\n z-index: 1;\n }\n\n :host([focused]) .label {\n color: var(--md-sys-color-primary, #6750A4);\n }\n\n :host([error]) .label {\n color: var(--md-sys-color-error, #B3261E);\n }\n\n .input-wrapper {\n display: flex;\n align-items: center;\n flex: 1;\n height: 100%;\n min-width: 0;\n }\n\n :host(:not([variant])) .input-wrapper,\n :host([variant=\"filled\"]) .input-wrapper {\n padding-top: 18px;\n }\n\n input {\n flex: 1;\n width: 100%;\n border: none;\n outline: none;\n background: transparent;\n font-family: inherit;\n font-size: 16px;\n line-height: 24px;\n color: var(--md-sys-color-on-surface, #1D1B20);\n padding: 0;\n }\n\n input::placeholder {\n color: var(--md-sys-color-on-surface-variant, #49454F);\n opacity: 0.6;\n }\n\n .affix {\n font-size: 16px;\n color: var(--md-sys-color-on-surface-variant, #49454F);\n user-select: none;\n transition: opacity 150ms ease;\n }\n\n :host(:not([focused]):not([has-value]):not([has-placeholder])) .affix {\n opacity: 0;\n }\n\n .prefix { margin-right: 4px; }\n .suffix { margin-left: 4px; }\n\n .icon-slot {\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 .leading-icon { margin-right: 12px; }\n .trailing-icon { margin-left: 12px; }\n\n :host([error]) .trailing-icon {\n color: var(--md-sys-color-error, #B3261E);\n }\n\n /* Supporting / Error text */\n .supporting-text {\n display: flex;\n justify-content: space-between;\n padding: 4px 16px 0;\n font-size: 12px;\n line-height: 16px;\n color: var(--md-sys-color-on-surface-variant, #49454F);\n }\n\n :host([error]) .supporting-text {\n color: var(--md-sys-color-error, #B3261E);\n }\n`;\n\n","import { html, nothing } from 'lit';\nimport { customElement, property, state, query, queryAssignedElements } from 'lit/decorators.js';\nimport { MdBaseElement } from '../../internal/base-component.js';\nimport { MdFormAssociatedElement } from '../../internal/form-associated.js';\nimport '../../internal/ripple/ripple.js';\nimport '../icon/icon.js';\nimport { textFieldStyles } from './text-field.css.js';\n\nexport type TextFieldVariant = 'filled' | 'outlined';\n\n@customElement('md-text-field')\nexport class MdTextField extends MdFormAssociatedElement {\n static override styles = [MdFormAssociatedElement.styles, textFieldStyles];\n\n @property({ type: String, reflect: true })\n variant: TextFieldVariant = 'filled';\n\n @property({ type: String })\n label = '';\n\n @property({ type: String })\n value = '';\n\n @property({ type: String })\n placeholder = '';\n\n @property({ type: String })\n type = 'text';\n\n @property({ type: Boolean, reflect: true })\n readonly = false;\n\n @property({ type: Boolean, reflect: true })\n error = false;\n\n @property({ type: String, attribute: 'error-text' })\n errorText = '';\n\n @property({ type: String, attribute: 'supporting-text' })\n supportingText = '';\n\n @property({ type: String, attribute: 'prefix-text' })\n prefixText = '';\n\n @property({ type: String, attribute: 'suffix-text' })\n suffixText = '';\n\n @property({ type: Number, attribute: 'maxlength' })\n maxLength = -1;\n\n @property({ type: String })\n pattern = '';\n\n @property({ type: String, attribute: 'leading-icon' })\n leadingIcon = '';\n\n @property({ type: String, attribute: 'trailing-icon' })\n trailingIcon = '';\n\n @state()\n private focused = false;\n\n @query('input')\n private inputElement?: HTMLInputElement;\n\n @queryAssignedElements({ slot: 'leading-icon' })\n private assignedLeadingIcons!: HTMLElement[];\n\n override connectedCallback() {\n super.connectedCallback();\n this.setFormValue(this.value);\n this.toggleAttribute('has-value', Boolean(this.value));\n this.toggleAttribute('has-placeholder', Boolean(this.placeholder));\n this.toggleAttribute('has-leading-icon', Boolean(this.leadingIcon));\n }\n\n override firstUpdated(changedProperties: Map<string, unknown>) {\n super.firstUpdated(changedProperties);\n this.handleSlotChange();\n }\n\n override willUpdate(changedProperties: Map<string, unknown>) {\n super.willUpdate(changedProperties);\n if (changedProperties.has('value')) {\n this.setFormValue(this.value);\n this.toggleAttribute('has-value', Boolean(this.value));\n this.validateInput();\n }\n if (changedProperties.has('placeholder')) {\n this.toggleAttribute('has-placeholder', Boolean(this.placeholder));\n }\n if (changedProperties.has('leadingIcon')) {\n this.toggleAttribute('has-leading-icon', Boolean(this.leadingIcon));\n }\n }\n\n override formResetCallback() {\n this.value = '';\n this.error = false;\n this.toggleAttribute('has-value', false);\n this.setFormValue(null);\n }\n\n private handleFocus = () => {\n this.focused = true;\n this.toggleAttribute('focused', true);\n };\n\n private handleBlur = () => {\n this.focused = false;\n this.toggleAttribute('focused', false);\n this.validateInput();\n };\n\n private handleInput = (event: Event) => {\n const target = event.target as HTMLInputElement;\n this.value = target.value;\n this.setFormValue(this.value);\n this.emitEvent('input', { value: this.value });\n };\n\n private handleChange = () => {\n this.emitEvent('change', { value: this.value });\n };\n\n private validateInput() {\n if (!this.inputElement) return;\n\n if (this.required && !this.value) {\n this.setValidity({ valueMissing: true }, this.errorText || 'This field is required');\n this.error = true;\n } else if (this.pattern && !new RegExp(this.pattern).test(this.value)) {\n this.setValidity({ patternMismatch: true }, this.errorText || 'Invalid format');\n this.error = true;\n } else {\n this.setValidity({});\n if (!this.errorText) {\n this.error = false;\n }\n }\n }\n\n private handleSlotChange() {\n const hasLeading = Boolean(this.leadingIcon || (this.assignedLeadingIcons && this.assignedLeadingIcons.length > 0));\n this.toggleAttribute('has-leading-icon', hasLeading);\n }\n\n override render() {\n const displayText = this.error ? (this.errorText || this.supportingText) : this.supportingText;\n\n return html`\n <div class=\"container\" @click=${() => this.inputElement?.focus()}>\n ${this.variant === 'filled' ? html`<md-ripple ?disabled=${this.disabled}></md-ripple>` : nothing}\n\n <span class=\"icon-slot leading-icon\">\n <slot name=\"leading-icon\" @slotchange=${this.handleSlotChange}>\n ${this.leadingIcon ? html`<md-icon name=${this.leadingIcon}></md-icon>` : nothing}\n </slot>\n </span>\n\n <div class=\"input-wrapper\">\n ${this.label ? html`<label class=\"label\">${this.label}</label>` : nothing}\n ${this.prefixText ? html`<span class=\"affix prefix\">${this.prefixText}</span>` : nothing}\n <input\n type=${this.type}\n .value=${this.value}\n placeholder=${this.focused || !this.label ? this.placeholder : ''}\n ?disabled=${this.disabled}\n ?readonly=${this.readonly}\n ?required=${this.required}\n maxlength=${this.maxLength > 0 ? this.maxLength : nothing}\n @focus=${this.handleFocus}\n @blur=${this.handleBlur}\n @input=${this.handleInput}\n @change=${this.handleChange}\n />\n ${this.suffixText ? html`<span class=\"affix suffix\">${this.suffixText}</span>` : nothing}\n </div>\n\n <span class=\"icon-slot trailing-icon\">\n <slot name=\"trailing-icon\">\n ${this.error ? html`<md-icon name=\"error\" filled></md-icon>` : (this.trailingIcon ? html`<md-icon name=${this.trailingIcon}></md-icon>` : nothing)}\n </slot>\n </span>\n </div>\n\n ${displayText || (this.maxLength > 0)\n ? html`\n <div class=\"supporting-text\">\n <span>${displayText}</span>\n ${this.maxLength > 0 ? html`<span>${this.value.length} / ${this.maxLength}</span>` : nothing}\n </div>\n `\n : nothing}\n `;\n }\n}\n\ndeclare global {\n interface HTMLElementTagNameMap {\n 'md-text-field': MdTextField;\n }\n}\n"],"mappings":"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"}
@@ -0,0 +1,228 @@
1
+ import { n as d, t as i } from "./decorate-DXuynaiA.js";
2
+ import { css as x, html as e, nothing as p } from "lit";
3
+ import { customElement as h, property as o } from "lit/decorators.js";
4
+ var v = x`
5
+ :host {
6
+ display: block;
7
+ box-sizing: border-box;
8
+ width: 100%;
9
+ position: relative;
10
+ background-color: var(--md-top-app-bar-container-color, var(--md-sys-color-surface, #FEF7FF));
11
+ color: var(--md-top-app-bar-on-container-color, var(--md-sys-color-on-surface, #1D1B20));
12
+ font-family: var(--md-sys-typescale-font-family, inherit);
13
+ transition: background-color 200ms cubic-bezier(0.2, 0, 0, 1),
14
+ box-shadow 200ms cubic-bezier(0.2, 0, 0, 1);
15
+ }
16
+
17
+ :host([fixed]) {
18
+ position: sticky;
19
+ top: 0;
20
+ z-index: 8;
21
+ }
22
+
23
+ :host([elevated]) {
24
+ background-color: var(--md-top-app-bar-container-color, var(--md-sys-color-surface-container, #F3EDF7));
25
+ box-shadow: var(--md-sys-elevation-level2, 0px 2px 6px 2px rgba(0, 0, 0, 0.15));
26
+ }
27
+
28
+ .top-app-bar {
29
+ display: flex;
30
+ flex-direction: column;
31
+ width: 100%;
32
+ box-sizing: border-box;
33
+ }
34
+
35
+ .row {
36
+ display: flex;
37
+ align-items: center;
38
+ height: 64px;
39
+ padding: 0 4px;
40
+ box-sizing: border-box;
41
+ position: relative;
42
+ }
43
+
44
+ .leading {
45
+ display: inline-flex;
46
+ align-items: center;
47
+ justify-content: center;
48
+ min-width: 48px;
49
+ min-height: 48px;
50
+ flex-shrink: 0;
51
+ }
52
+
53
+ .trailing {
54
+ display: inline-flex;
55
+ align-items: center;
56
+ justify-content: flex-end;
57
+ min-height: 48px;
58
+ flex-shrink: 0;
59
+ gap: 4px;
60
+ margin-left: auto;
61
+ }
62
+
63
+ .title-container {
64
+ display: flex;
65
+ flex-direction: column;
66
+ justify-content: center;
67
+ overflow: hidden;
68
+ flex: 1;
69
+ min-width: 0;
70
+ padding: 0 12px;
71
+ }
72
+
73
+ .headline {
74
+ margin: 0;
75
+ font-size: var(--md-sys-typescale-title-large-size, 22px);
76
+ line-height: 28px;
77
+ font-weight: 400;
78
+ color: var(--md-top-app-bar-headline-color, var(--md-sys-color-on-surface, #1D1B20));
79
+ white-space: nowrap;
80
+ overflow: hidden;
81
+ text-overflow: ellipsis;
82
+ }
83
+
84
+ .subtitle {
85
+ margin: 0;
86
+ font-size: var(--md-sys-typescale-body-medium-size, 14px);
87
+ line-height: 20px;
88
+ font-weight: 400;
89
+ color: var(--md-top-app-bar-subtitle-color, var(--md-sys-color-on-surface-variant, #49454F));
90
+ white-space: nowrap;
91
+ overflow: hidden;
92
+ text-overflow: ellipsis;
93
+ }
94
+
95
+ /* Center-aligned variant (Default) */
96
+ :host([variant="center-aligned"]) .title-container,
97
+ :host(:not([variant])) .title-container {
98
+ text-align: center;
99
+ align-items: center;
100
+ }
101
+
102
+ /* Small variant */
103
+ :host([variant="small"]) .title-container {
104
+ text-align: start;
105
+ align-items: flex-start;
106
+ }
107
+
108
+ /* Medium variant */
109
+ :host([variant="medium"]) .headline-row {
110
+ display: flex;
111
+ flex-direction: column;
112
+ justify-content: flex-end;
113
+ min-height: 48px;
114
+ padding: 0 16px 16px 16px;
115
+ box-sizing: border-box;
116
+ }
117
+
118
+ :host([variant="medium"]) .headline-row .headline {
119
+ font-size: 24px;
120
+ line-height: 32px;
121
+ font-weight: 400;
122
+ }
123
+
124
+ /* Large variant */
125
+ :host([variant="large"]) .headline-row {
126
+ display: flex;
127
+ flex-direction: column;
128
+ justify-content: flex-end;
129
+ min-height: 88px;
130
+ padding: 0 16px 20px 16px;
131
+ box-sizing: border-box;
132
+ }
133
+
134
+ :host([variant="large"]) .headline-row .headline {
135
+ font-size: 28px;
136
+ line-height: 36px;
137
+ font-weight: 400;
138
+ }
139
+ `, t = class extends d {
140
+ constructor(...a) {
141
+ super(...a), this.variant = "center-aligned", this.headline = "", this.subtitle = "", this.elevated = !1, this.fixed = !1;
142
+ }
143
+ static {
144
+ this.styles = [d.styles, v];
145
+ }
146
+ render() {
147
+ const a = this.variant === "medium" || this.variant === "large", n = e`
148
+ <div class="leading">
149
+ <slot name="navigation">
150
+ <slot name="leading-icon">
151
+ <slot name="leading"></slot>
152
+ </slot>
153
+ </slot>
154
+ </div>
155
+ `, l = e`
156
+ <div class="trailing">
157
+ <slot name="actions">
158
+ <slot name="trailing-icon">
159
+ <slot name="trailing"></slot>
160
+ </slot>
161
+ </slot>
162
+ </div>
163
+ `, s = e`
164
+ <slot name="headline">
165
+ <slot name="title">
166
+ ${this.headline ? e`<span class="headline">${this.headline}</span>` : p}
167
+ </slot>
168
+ </slot>
169
+ `, r = e`
170
+ <slot name="subtitle">
171
+ <slot name="supporting-text">
172
+ ${this.subtitle ? e`<span class="subtitle">${this.subtitle}</span>` : p}
173
+ </slot>
174
+ </slot>
175
+ `;
176
+ return a ? e`
177
+ <header class="top-app-bar" role="banner">
178
+ <div class="row">
179
+ ${n}
180
+ <slot></slot>
181
+ ${l}
182
+ </div>
183
+ <div class="headline-row">
184
+ <div class="title-container">
185
+ ${s}
186
+ ${r}
187
+ </div>
188
+ </div>
189
+ </header>
190
+ ` : e`
191
+ <header class="top-app-bar" role="banner">
192
+ <div class="row">
193
+ ${n}
194
+ <div class="title-container">
195
+ ${s}
196
+ ${r}
197
+ </div>
198
+ <slot></slot>
199
+ ${l}
200
+ </div>
201
+ </header>
202
+ `;
203
+ }
204
+ };
205
+ i([o({
206
+ type: String,
207
+ reflect: !0
208
+ })], t.prototype, "variant", void 0);
209
+ i([o({ type: String })], t.prototype, "headline", void 0);
210
+ i([o({ type: String })], t.prototype, "subtitle", void 0);
211
+ i([o({
212
+ type: Boolean,
213
+ reflect: !0
214
+ })], t.prototype, "elevated", void 0);
215
+ i([o({
216
+ type: Boolean,
217
+ reflect: !0
218
+ })], t.prototype, "fixed", void 0);
219
+ t = i([h("md-top-app-bar")], t);
220
+ var c = class extends t {
221
+ };
222
+ c = i([h("md-top-bar")], c);
223
+ export {
224
+ c as n,
225
+ t
226
+ };
227
+
228
+ //# sourceMappingURL=top-app-bar-Dgbp6CFv.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"top-app-bar-Dgbp6CFv.js","names":[],"sources":["../../src/components/top-app-bar/top-app-bar.css.ts","../../src/components/top-app-bar/top-app-bar.ts"],"sourcesContent":["import { css } from 'lit';\n\nexport const topAppBarStyles = css`\n :host {\n display: block;\n box-sizing: border-box;\n width: 100%;\n position: relative;\n background-color: var(--md-top-app-bar-container-color, var(--md-sys-color-surface, #FEF7FF));\n color: var(--md-top-app-bar-on-container-color, var(--md-sys-color-on-surface, #1D1B20));\n font-family: var(--md-sys-typescale-font-family, inherit);\n transition: background-color 200ms cubic-bezier(0.2, 0, 0, 1),\n box-shadow 200ms cubic-bezier(0.2, 0, 0, 1);\n }\n\n :host([fixed]) {\n position: sticky;\n top: 0;\n z-index: 8;\n }\n\n :host([elevated]) {\n background-color: var(--md-top-app-bar-container-color, var(--md-sys-color-surface-container, #F3EDF7));\n box-shadow: var(--md-sys-elevation-level2, 0px 2px 6px 2px rgba(0, 0, 0, 0.15));\n }\n\n .top-app-bar {\n display: flex;\n flex-direction: column;\n width: 100%;\n box-sizing: border-box;\n }\n\n .row {\n display: flex;\n align-items: center;\n height: 64px;\n padding: 0 4px;\n box-sizing: border-box;\n position: relative;\n }\n\n .leading {\n display: inline-flex;\n align-items: center;\n justify-content: center;\n min-width: 48px;\n min-height: 48px;\n flex-shrink: 0;\n }\n\n .trailing {\n display: inline-flex;\n align-items: center;\n justify-content: flex-end;\n min-height: 48px;\n flex-shrink: 0;\n gap: 4px;\n margin-left: auto;\n }\n\n .title-container {\n display: flex;\n flex-direction: column;\n justify-content: center;\n overflow: hidden;\n flex: 1;\n min-width: 0;\n padding: 0 12px;\n }\n\n .headline {\n margin: 0;\n font-size: var(--md-sys-typescale-title-large-size, 22px);\n line-height: 28px;\n font-weight: 400;\n color: var(--md-top-app-bar-headline-color, var(--md-sys-color-on-surface, #1D1B20));\n white-space: nowrap;\n overflow: hidden;\n text-overflow: ellipsis;\n }\n\n .subtitle {\n margin: 0;\n font-size: var(--md-sys-typescale-body-medium-size, 14px);\n line-height: 20px;\n font-weight: 400;\n color: var(--md-top-app-bar-subtitle-color, var(--md-sys-color-on-surface-variant, #49454F));\n white-space: nowrap;\n overflow: hidden;\n text-overflow: ellipsis;\n }\n\n /* Center-aligned variant (Default) */\n :host([variant=\"center-aligned\"]) .title-container,\n :host(:not([variant])) .title-container {\n text-align: center;\n align-items: center;\n }\n\n /* Small variant */\n :host([variant=\"small\"]) .title-container {\n text-align: start;\n align-items: flex-start;\n }\n\n /* Medium variant */\n :host([variant=\"medium\"]) .headline-row {\n display: flex;\n flex-direction: column;\n justify-content: flex-end;\n min-height: 48px;\n padding: 0 16px 16px 16px;\n box-sizing: border-box;\n }\n\n :host([variant=\"medium\"]) .headline-row .headline {\n font-size: 24px;\n line-height: 32px;\n font-weight: 400;\n }\n\n /* Large variant */\n :host([variant=\"large\"]) .headline-row {\n display: flex;\n flex-direction: column;\n justify-content: flex-end;\n min-height: 88px;\n padding: 0 16px 20px 16px;\n box-sizing: border-box;\n }\n\n :host([variant=\"large\"]) .headline-row .headline {\n font-size: 28px;\n line-height: 36px;\n font-weight: 400;\n }\n`;\n\n","import { html, nothing } from 'lit';\nimport { customElement, property } from 'lit/decorators.js';\nimport { MdBaseElement } from '../../internal/base-component.js';\nimport { topAppBarStyles } from './top-app-bar.css.js';\n\nexport type TopAppBarVariant = 'center-aligned' | 'small' | 'medium' | 'large';\n\n/**\n * Material Design 3 Top App Bar component.\n *\n * @slot navigation - Leading navigation icon button (e.g. menu, back arrow). Also aliased as `leading-icon` or `leading`.\n * @slot headline - Primary title text. Also aliased as `title`.\n * @slot subtitle - Secondary subtitle text. Also aliased as `supporting-text`.\n * @slot actions - Trailing action icon buttons or menus. Also aliased as `trailing-icon` or `trailing`.\n * @slot - Default slot for additional bar contents.\n */\n@customElement('md-top-app-bar')\nexport class MdTopAppBar extends MdBaseElement {\n static override styles = [MdBaseElement.styles, topAppBarStyles];\n\n @property({ type: String, reflect: true })\n variant: TopAppBarVariant = 'center-aligned';\n\n @property({ type: String })\n headline = '';\n\n @property({ type: String })\n subtitle = '';\n\n @property({ type: Boolean, reflect: true })\n elevated = false;\n\n @property({ type: Boolean, reflect: true })\n fixed = false;\n\n override render() {\n const isMultiRow = this.variant === 'medium' || this.variant === 'large';\n\n const navigationSlot = html`\n <div class=\"leading\">\n <slot name=\"navigation\">\n <slot name=\"leading-icon\">\n <slot name=\"leading\"></slot>\n </slot>\n </slot>\n </div>\n `;\n\n const actionsSlot = html`\n <div class=\"trailing\">\n <slot name=\"actions\">\n <slot name=\"trailing-icon\">\n <slot name=\"trailing\"></slot>\n </slot>\n </slot>\n </div>\n `;\n\n const headlineSlot = html`\n <slot name=\"headline\">\n <slot name=\"title\">\n ${this.headline ? html`<span class=\"headline\">${this.headline}</span>` : nothing}\n </slot>\n </slot>\n `;\n\n const subtitleSlot = html`\n <slot name=\"subtitle\">\n <slot name=\"supporting-text\">\n ${this.subtitle ? html`<span class=\"subtitle\">${this.subtitle}</span>` : nothing}\n </slot>\n </slot>\n `;\n\n if (isMultiRow) {\n return html`\n <header class=\"top-app-bar\" role=\"banner\">\n <div class=\"row\">\n ${navigationSlot}\n <slot></slot>\n ${actionsSlot}\n </div>\n <div class=\"headline-row\">\n <div class=\"title-container\">\n ${headlineSlot}\n ${subtitleSlot}\n </div>\n </div>\n </header>\n `;\n }\n\n return html`\n <header class=\"top-app-bar\" role=\"banner\">\n <div class=\"row\">\n ${navigationSlot}\n <div class=\"title-container\">\n ${headlineSlot}\n ${subtitleSlot}\n </div>\n <slot></slot>\n ${actionsSlot}\n </div>\n </header>\n `;\n }\n}\n\n// Register md-top-bar as an alias\n@customElement('md-top-bar')\nexport class MdTopBar extends MdTopAppBar {}\n\n\ndeclare global {\n interface HTMLElementTagNameMap {\n 'md-top-app-bar': MdTopAppBar;\n 'md-top-bar': MdTopAppBar;\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;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;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,GCelB,IAAN,cAA0B,EAAc;AAAA;iBAIjB,KAAA,UAAA,kBAGjB,KAAA,WAAA,IAGA,KAAA,WAAA,IAGA,KAAA,WAAA,IAGH,KAAA,QAAA;AAAA;;AAfiB,SAAA,SAAA,CAAC,EAAc,QAAQ,CAAe;AAAA;EAiB/D,SAAkB;AAChB,UAAM,IAAa,KAAK,YAAY,YAAY,KAAK,YAAY,SAE3D,IAAiB;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,OAUjB,IAAc;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,OAUd,IAAe;AAAA;AAAA;AAAA,YAGb,KAAK,WAAW,2BAA8B,KAAK,QAAA,YAAoB,CAAA;AAAA;AAAA;AAAA,OAKzE,IAAe;AAAA;AAAA;AAAA,YAGb,KAAK,WAAW,2BAA8B,KAAK,QAAA,YAAoB,CAAA;AAAA;AAAA;AAAA;AAK/E,WAAI,IACK;AAAA;AAAA;AAAA,cAGC,CAAA;AAAA;AAAA,cAEA,CAAA;AAAA;AAAA;AAAA;AAAA,gBAIE,CAAA;AAAA,gBACA,CAAA;AAAA;AAAA;AAAA;AAAA,UAOL;AAAA;AAAA;AAAA,YAGC,CAAA;AAAA;AAAA,cAEE,CAAA;AAAA,cACA,CAAA;AAAA;AAAA;AAAA,YAGF,CAAA;AAAA;AAAA;AAAA;AAAA,EAIV;AACF;AAtFG,EAAA,CAAA,EAAS;AAAA,EAAE,MAAM;AAAA,EAAQ,SAAS;AAAK,CAAC,CAAA,GAAA,EAAA,WAAA,WAAA,MAAA;AAGxC,EAAA,CAAA,EAAS,EAAE,MAAM,OAAO,CAAC,CAAA,GAAA,EAAA,WAAA,YAAA,MAAA;AAGzB,EAAA,CAAA,EAAS,EAAE,MAAM,OAAO,CAAC,CAAA,GAAA,EAAA,WAAA,YAAA,MAAA;AAGzB,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,SAAA,MAAA;AAhB3C,IAAA,EAAA,CAAA,EAAc,gBAAgB,CAAA,GAAA,CAAA;AA8FxB,IAAM,IAAN,cAAuB,EAAY;AAAC;AAD1C,IAAA,EAAA,CAAA,EAAc,YAAY,CAAA,GAAA,CAAA"}
@@ -0,0 +1,3 @@
1
+ export declare const accountMenuStyles: import('lit').CSSResult;
2
+ export declare const accountItemStyles: import('lit').CSSResult;
3
+ //# sourceMappingURL=account-menu.css.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"account-menu.css.d.ts","sourceRoot":"","sources":["../../../src/components/account-menu/account-menu.css.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,iBAAiB,yBA8oB7B,CAAC;AAEF,eAAO,MAAM,iBAAiB,yBA4G7B,CAAC"}
@@ -0,0 +1,111 @@
1
+ import { MdBaseElement } from '../../internal/base-component.js';
2
+ export type AccountMenuAlignment = 'start' | 'end';
3
+ export type AccountMenuPivot = 'left' | 'right';
4
+ export type AccountMenuTab = 'overview' | 'security' | 'storage' | 'accounts';
5
+ /**
6
+ * Material Design 3 Account Item component.
7
+ * Represents a single account profile in the account switcher or an account action item.
8
+ *
9
+ * @slot icon - Custom icon or graphic.
10
+ * @slot - Default slot for account name/details.
11
+ * @slot trailing - Custom trailing content or checkmark.
12
+ */
13
+ export declare class MdAccountItem extends MdBaseElement {
14
+ static styles: import('lit').CSSResultGroup[];
15
+ name: string;
16
+ email: string;
17
+ avatar: string;
18
+ initials: string;
19
+ icon: string;
20
+ badge: string;
21
+ href: string;
22
+ target: string;
23
+ active: boolean;
24
+ disabled: boolean;
25
+ action: boolean;
26
+ private handleClick;
27
+ render(): import('lit-html').TemplateResult<1>;
28
+ }
29
+ /**
30
+ * Material Design 3 Account Menu (Account Profile Switcher) component.
31
+ * Displays a profile menu with rich user info, storage usage, security overview, and multi-account switcher.
32
+ *
33
+ * @slot trigger - Custom trigger element replacing the default avatar button.
34
+ * @slot header - Custom header element.
35
+ * @slot overview - Custom overview info content.
36
+ * @slot security - Custom security info content.
37
+ * @slot storage - Custom storage info content.
38
+ * @slot accounts - Container for md-account-item instances.
39
+ * @slot footer - Custom footer content.
40
+ */
41
+ export declare class MdAccountMenu extends MdBaseElement {
42
+ static styles: import('lit').CSSResultGroup[];
43
+ open: boolean;
44
+ name: string;
45
+ email: string;
46
+ avatar: string;
47
+ initials: string;
48
+ icon: string;
49
+ headline: string;
50
+ manageText: string;
51
+ manageUrl: string;
52
+ organization: string;
53
+ roleTitle: string;
54
+ status: string;
55
+ storageUsed: string;
56
+ storageTotal: string;
57
+ storageProgress: number;
58
+ securityStatus: string;
59
+ ariaLabelText: string;
60
+ noTrigger: boolean;
61
+ get trigger(): boolean;
62
+ set trigger(value: boolean);
63
+ alignment: AccountMenuAlignment;
64
+ pivot: AccountMenuPivot;
65
+ modal: boolean;
66
+ fullscreen: boolean;
67
+ showTabs: boolean;
68
+ activeTab: AccountMenuTab;
69
+ connectedCallback(): void;
70
+ disconnectedCallback(): void;
71
+ updated(changedProperties: Map<string, unknown>): void;
72
+ private handleKeyDown;
73
+ private handleDocumentClick;
74
+ private handleBackdropClick;
75
+ private handleBackClick;
76
+ private handleTriggerClick;
77
+ private handleTabClick;
78
+ private handleManageClick;
79
+ private handleSignOutClick;
80
+ private handleEditAvatarClick;
81
+ private handleAccountItemClick;
82
+ /**
83
+ * Opens the account menu popover.
84
+ */
85
+ show(): void;
86
+ /**
87
+ * Closes the account menu popover.
88
+ */
89
+ close(): void;
90
+ /**
91
+ * Toggles the account menu open/closed state.
92
+ */
93
+ toggle(): void;
94
+ render(): import('lit-html').TemplateResult<1>;
95
+ }
96
+ export declare class MdAccountDrawer extends MdAccountMenu {
97
+ }
98
+ export declare class MdAccountProfile extends MdAccountMenu {
99
+ }
100
+ export declare class MdAccountProfileItem extends MdAccountItem {
101
+ }
102
+ declare global {
103
+ interface HTMLElementTagNameMap {
104
+ 'md-account-menu': MdAccountMenu;
105
+ 'md-account-drawer': MdAccountDrawer;
106
+ 'md-account-profile': MdAccountProfile;
107
+ 'md-account-item': MdAccountItem;
108
+ 'md-account-profile-item': MdAccountProfileItem;
109
+ }
110
+ }
111
+ //# sourceMappingURL=account-menu.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"account-menu.d.ts","sourceRoot":"","sources":["../../../src/components/account-menu/account-menu.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,aAAa,EAAE,MAAM,kCAAkC,CAAC;AACjE,OAAO,iCAAiC,CAAC;AACzC,OAAO,yCAAyC,CAAC;AACjD,OAAO,iBAAiB,CAAC;AACzB,OAAO,+BAA+B,CAAC;AAGvC,MAAM,MAAM,oBAAoB,GAAG,OAAO,GAAG,KAAK,CAAC;AACnD,MAAM,MAAM,gBAAgB,GAAG,MAAM,GAAG,OAAO,CAAC;AAChD,MAAM,MAAM,cAAc,GAAG,UAAU,GAAG,UAAU,GAAG,SAAS,GAAG,UAAU,CAAC;AAE9E;;;;;;;GAOG;AACH,qBACa,aAAc,SAAQ,aAAa;IAC9C,OAAgB,MAAM,iCAA6C;IAGnE,IAAI,SAAM;IAGV,KAAK,SAAM;IAGX,MAAM,SAAM;IAGZ,QAAQ,SAAM;IAGd,IAAI,SAAM;IAGV,KAAK,SAAM;IAGX,IAAI,SAAM;IAGV,MAAM,SAAM;IAGZ,MAAM,UAAS;IAGf,QAAQ,UAAS;IAGjB,MAAM,UAAS;IAEf,OAAO,CAAC,WAAW,CAejB;IAEO,MAAM;CA+DhB;AAED;;;;;;;;;;;GAWG;AACH,qBACa,aAAc,SAAQ,aAAa;IAC9C,OAAgB,MAAM,iCAA6C;IAGnE,IAAI,UAAS;IAGb,IAAI,SAAsB;IAG1B,KAAK,SAAkC;IAGvC,MAAM,SAAM;IAGZ,QAAQ,SAAM;IAGd,IAAI,SAAoB;IAGxB,QAAQ,SAAa;IAGrB,UAAU,SAAyB;IAGnC,SAAS,SAAM;IAGf,YAAY,SAAyB;IAGrC,SAAS,SAAoB;IAG7B,MAAM,SAAY;IAGlB,WAAW,SAAa;IAGxB,YAAY,SAAW;IAGvB,eAAe,SAAQ;IAGvB,cAAc,SAAe;IAG7B,aAAa,SAAkB;IAG/B,SAAS,UAAS;IAElB,IAAI,OAAO,IAAI,OAAO,CAErB;IAED,IAAI,OAAO,CAAC,KAAK,EAAE,OAAO,EAGzB;IAGD,SAAS,EAAE,oBAAoB,CAAS;IAGxC,KAAK,EAAE,gBAAgB,CAAW;IAGlC,KAAK,UAAS;IAGd,UAAU,UAAS;IAGnB,QAAQ,UAAQ;IAGhB,SAAS,EAAE,cAAc,CAAc;IAE9B,iBAAiB;IAOjB,oBAAoB;IAOpB,OAAO,CAAC,iBAAiB,EAAE,GAAG,CAAC,MAAM,EAAE,OAAO,CAAC;IAWxD,OAAO,CAAC,aAAa,CAInB;IAEF,OAAO,CAAC,mBAAmB,CAMzB;IAEF,OAAO,CAAC,mBAAmB,CAEzB;IAEF,OAAO,CAAC,eAAe,CAGrB;IAEF,OAAO,CAAC,kBAAkB,CAGxB;IAEF,OAAO,CAAC,cAAc,CAGpB;IAEF,OAAO,CAAC,iBAAiB,CAMvB;IAEF,OAAO,CAAC,kBAAkB,CAKxB;IAEF,OAAO,CAAC,qBAAqB,CAK3B;IAEF,OAAO,CAAC,sBAAsB,CAS5B;IAEF;;OAEG;IACH,IAAI;IAMJ;;OAEG;IACH,KAAK;IAML;;OAEG;IACH,MAAM;IAIG,MAAM;CA6ShB;AAGD,qBACa,eAAgB,SAAQ,aAAa;CAAG;AAErD,qBACa,gBAAiB,SAAQ,aAAa;CAAG;AAEtD,qBACa,oBAAqB,SAAQ,aAAa;CAAG;AAE1D,OAAO,CAAC,MAAM,CAAC;IACb,UAAU,qBAAqB;QAC7B,iBAAiB,EAAE,aAAa,CAAC;QACjC,mBAAmB,EAAE,eAAe,CAAC;QACrC,oBAAoB,EAAE,gBAAgB,CAAC;QACvC,iBAAiB,EAAE,aAAa,CAAC;QACjC,yBAAyB,EAAE,oBAAoB,CAAC;KACjD;CACF"}
@@ -0,0 +1,3 @@
1
+ export declare const appDrawerStyles: import('lit').CSSResult;
2
+ export declare const appDrawerItemStyles: import('lit').CSSResult;
3
+ //# sourceMappingURL=app-drawer.css.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"app-drawer.css.d.ts","sourceRoot":"","sources":["../../../src/components/app-drawer/app-drawer.css.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,eAAe,yBA6S3B,CAAC;AAEF,eAAO,MAAM,mBAAmB,yBA+G/B,CAAC"}
@@ -0,0 +1,173 @@
1
+ import { MdBaseElement } from '../../internal/base-component.js';
2
+ export type AppDrawerAlignment = 'start' | 'end';
3
+ export type AppDrawerPivot = 'left' | 'right';
4
+ /**
5
+ * Material Design 3 App Drawer Item component.
6
+ * Represents a single application, shortcut, or destination in the app drawer grid.
7
+ *
8
+ * @slot icon - Custom icon or graphic.
9
+ * @slot - Default slot for app label.
10
+ * @slot badge - Custom badge indicator.
11
+ */
12
+ export declare class MdAppDrawerItem extends MdBaseElement {
13
+ static styles: import('lit').CSSResultGroup[];
14
+ icon: string;
15
+ src: string;
16
+ label: string;
17
+ headline: string;
18
+ badge: string;
19
+ href: string;
20
+ target: string;
21
+ disabled: boolean;
22
+ active: boolean;
23
+ selected: boolean;
24
+ dragging: boolean;
25
+ dragOver: boolean;
26
+ private wasDragging;
27
+ willUpdate(changedProperties: Map<string, unknown>): void;
28
+ internalSetDragging(isDragging: boolean): void;
29
+ private handleClick;
30
+ render(): import('lit-html').TemplateResult<1>;
31
+ }
32
+ /**
33
+ * Material Design 3 App Drawer (Apps Launcher / Waffle Menu) component.
34
+ * Displays a popup grid of applications and services next to account or navigation controls.
35
+ *
36
+ * @slot trigger - Custom trigger button element.
37
+ * @slot header - Optional header content above the apps grid.
38
+ * @slot - Default slot for app drawer items (md-app-drawer-item).
39
+ * @slot footer - Optional footer content (e.g. "More apps" link/button).
40
+ */
41
+ export declare class MdAppDrawer extends MdBaseElement {
42
+ static styles: import('lit').CSSResultGroup[];
43
+ open: boolean;
44
+ headline: string;
45
+ icon: string;
46
+ ariaLabelText: string;
47
+ noTrigger: boolean;
48
+ get trigger(): boolean;
49
+ set trigger(value: boolean);
50
+ alignment: AppDrawerAlignment;
51
+ pivot: AppDrawerPivot;
52
+ modal: boolean;
53
+ fullscreen: boolean;
54
+ columns: number;
55
+ reorderable: boolean;
56
+ editable: boolean;
57
+ editing: boolean;
58
+ storageKey: string;
59
+ disableStorage: boolean;
60
+ private isReordering;
61
+ private initialOrder;
62
+ private draggedItem;
63
+ private dropTargetItem;
64
+ connectedCallback(): void;
65
+ disconnectedCallback(): void;
66
+ updated(changedProperties: Map<string, unknown>): void;
67
+ private handleKeyDown;
68
+ private handleDocumentClick;
69
+ private handleBackdropClick;
70
+ private handleBackClick;
71
+ private handleTriggerClick;
72
+ /**
73
+ * Identifies an app item uniquely for storage and ordering.
74
+ */
75
+ getItemKey(item: Element): string;
76
+ /**
77
+ * Returns the storage key used in localStorage.
78
+ */
79
+ getEffectiveStorageKey(): string;
80
+ /**
81
+ * Returns all slotted app item elements.
82
+ */
83
+ getItems(): HTMLElement[];
84
+ /**
85
+ * Retrieves the saved order array from persistent storage.
86
+ */
87
+ loadOrder(): string[] | null;
88
+ /**
89
+ * Persists the item order to storage.
90
+ */
91
+ saveOrder(order?: string[]): string[];
92
+ /**
93
+ * Returns the current array of item keys in DOM order.
94
+ */
95
+ getOrder(): string[];
96
+ firstUpdated(changedProperties: Map<string, unknown>): void;
97
+ /**
98
+ * Sets and applies the order of items in the app drawer.
99
+ */
100
+ setOrder(order: string[]): void;
101
+ /**
102
+ * Applies the saved order from localStorage if available.
103
+ */
104
+ applySavedOrder(): void;
105
+ /**
106
+ * Resets the persistent order and restores the initial layout.
107
+ */
108
+ resetOrder(): void;
109
+ /**
110
+ * Moves an item from one index position to another.
111
+ */
112
+ reorderItem(fromIndex: number, toIndex: number): void;
113
+ /**
114
+ * Returns whether reordering is currently active.
115
+ */
116
+ isReorderActive(): boolean;
117
+ /**
118
+ * Toggles the reordering editing mode.
119
+ */
120
+ toggleEdit(): void;
121
+ /**
122
+ * Enables the reordering editing mode.
123
+ */
124
+ startEditing(): void;
125
+ /**
126
+ * Disables the reordering editing mode.
127
+ */
128
+ stopEditing(): void;
129
+ private handleEditToggle;
130
+ private handleResetClick;
131
+ private updateDraggableItems;
132
+ private handleSlotChange;
133
+ private findDrawerItem;
134
+ private handleDragStart;
135
+ private handleDragOver;
136
+ private handleDragLeave;
137
+ private handleDrop;
138
+ private handleDragEnd;
139
+ private cleanupDrag;
140
+ private handleItemKeyDown;
141
+ /**
142
+ * Opens the app drawer popup.
143
+ */
144
+ show(): void;
145
+ /**
146
+ * Closes the app drawer popup.
147
+ */
148
+ close(): void;
149
+ /**
150
+ * Toggles the app drawer open/closed state.
151
+ */
152
+ toggle(): void;
153
+ render(): import('lit-html').TemplateResult<1>;
154
+ }
155
+ export declare class MdAppLauncher extends MdAppDrawer {
156
+ }
157
+ export declare class MdAppsMenu extends MdAppDrawer {
158
+ }
159
+ export declare class MdAppItem extends MdAppDrawerItem {
160
+ }
161
+ export declare class MdAppLauncherItem extends MdAppDrawerItem {
162
+ }
163
+ declare global {
164
+ interface HTMLElementTagNameMap {
165
+ 'md-app-drawer': MdAppDrawer;
166
+ 'md-app-launcher': MdAppLauncher;
167
+ 'md-apps-menu': MdAppsMenu;
168
+ 'md-app-drawer-item': MdAppDrawerItem;
169
+ 'md-app-item': MdAppItem;
170
+ 'md-app-launcher-item': MdAppLauncherItem;
171
+ }
172
+ }
173
+ //# sourceMappingURL=app-drawer.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"app-drawer.d.ts","sourceRoot":"","sources":["../../../src/components/app-drawer/app-drawer.ts"],"names":[],"mappings":"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"}