@material/web 2.4.2-nightly.fd6fe2a.0 → 2.5.1-nightly.b4de401.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 (156) hide show
  1. package/custom-elements.json +2458 -4710
  2. package/labs/gb/components/badge/_badge-tokens.scss +18 -0
  3. package/labs/gb/components/badge/badge-element.d.ts +15 -0
  4. package/labs/gb/components/badge/badge-element.js +49 -0
  5. package/labs/gb/components/badge/badge-element.js.map +1 -0
  6. package/labs/gb/components/badge/badge.css +4 -0
  7. package/labs/gb/components/badge/badge.css.map +1 -0
  8. package/labs/gb/components/badge/badge.cssresult.d.ts +3 -0
  9. package/labs/gb/components/badge/badge.cssresult.js +14 -0
  10. package/labs/gb/components/badge/badge.cssresult.js.map +1 -0
  11. package/labs/gb/components/badge/badge.d.ts +32 -0
  12. package/labs/gb/components/badge/badge.js +35 -0
  13. package/labs/gb/components/badge/badge.js.map +1 -0
  14. package/labs/gb/components/badge/badge.scss +49 -0
  15. package/labs/gb/components/badge/md-gb-badge.d.ts +12 -0
  16. package/labs/gb/components/badge/md-gb-badge.js +8 -0
  17. package/labs/gb/components/badge/md-gb-badge.js.map +1 -0
  18. package/labs/gb/components/button/_button-tokens.scss +2 -0
  19. package/labs/gb/components/button/{md-button.d.ts → button-element.d.ts} +22 -7
  20. package/labs/gb/components/button/{md-button.js → button-element.js} +38 -20
  21. package/labs/gb/components/button/button-element.js.map +1 -0
  22. package/labs/gb/components/button/button.css.map +1 -1
  23. package/labs/gb/components/button/md-gb-button.d.ts +12 -0
  24. package/labs/gb/components/button/md-gb-button.js +8 -0
  25. package/labs/gb/components/button/md-gb-button.js.map +1 -0
  26. package/labs/gb/components/card/_card-tokens.scss +2 -0
  27. package/labs/gb/components/card/{md-card.d.ts → card-element.d.ts} +12 -7
  28. package/labs/gb/components/card/{md-card.js → card-element.js} +21 -14
  29. package/labs/gb/components/card/card-element.js.map +1 -0
  30. package/labs/gb/components/card/card.css.map +1 -1
  31. package/labs/gb/components/card/md-gb-card.d.ts +12 -0
  32. package/labs/gb/components/card/md-gb-card.js +8 -0
  33. package/labs/gb/components/card/md-gb-card.js.map +1 -0
  34. package/labs/gb/components/checkbox/_checkbox-tokens.scss +2 -0
  35. package/labs/gb/components/checkbox/{md-checkbox.d.ts → checkbox-element.d.ts} +15 -7
  36. package/labs/gb/components/checkbox/{md-checkbox.js → checkbox-element.js} +26 -16
  37. package/labs/gb/components/checkbox/checkbox-element.js.map +1 -0
  38. package/labs/gb/components/checkbox/checkbox.css.map +1 -1
  39. package/labs/gb/components/checkbox/md-gb-checkbox.d.ts +12 -0
  40. package/labs/gb/components/checkbox/md-gb-checkbox.js +8 -0
  41. package/labs/gb/components/checkbox/md-gb-checkbox.js.map +1 -0
  42. package/labs/gb/components/divider/_divider-tokens.scss +2 -0
  43. package/labs/gb/components/divider/{md-divider.d.ts → divider-element.d.ts} +5 -7
  44. package/labs/gb/components/divider/{md-divider.js → divider-element.js} +10 -10
  45. package/labs/gb/components/divider/divider-element.js.map +1 -0
  46. package/labs/gb/components/divider/divider.css.map +1 -1
  47. package/labs/gb/components/divider/md-gb-divider.d.ts +12 -0
  48. package/labs/gb/components/divider/md-gb-divider.js +8 -0
  49. package/labs/gb/components/divider/md-gb-divider.js.map +1 -0
  50. package/labs/gb/components/fab/_fab-tokens.scss +2 -0
  51. package/labs/gb/components/fab/fab-element.d.ts +31 -0
  52. package/labs/gb/components/fab/{md-fab.js → fab-element.js} +22 -11
  53. package/labs/gb/components/fab/fab-element.js.map +1 -0
  54. package/labs/gb/components/fab/fab.css.map +1 -1
  55. package/labs/gb/components/fab/md-gb-fab.d.ts +12 -0
  56. package/labs/gb/components/fab/md-gb-fab.js +8 -0
  57. package/labs/gb/components/fab/md-gb-fab.js.map +1 -0
  58. package/labs/gb/components/iconbutton/_icon-button-tokens.scss +2 -0
  59. package/labs/gb/components/iconbutton/{md-icon-button.d.ts → icon-button-element.d.ts} +15 -7
  60. package/labs/gb/components/iconbutton/{md-icon-button.js → icon-button-element.js} +30 -20
  61. package/labs/gb/components/iconbutton/icon-button-element.js.map +1 -0
  62. package/labs/gb/components/iconbutton/icon-button.css.map +1 -1
  63. package/labs/gb/components/iconbutton/md-gb-icon-button.d.ts +12 -0
  64. package/labs/gb/components/iconbutton/md-gb-icon-button.js +8 -0
  65. package/labs/gb/components/iconbutton/md-gb-icon-button.js.map +1 -0
  66. package/labs/gb/components/list/_list-tokens.scss +4 -0
  67. package/labs/gb/components/list/{md-list.d.ts → list-element.d.ts} +6 -7
  68. package/labs/gb/components/list/{md-list.js → list-element.js} +11 -10
  69. package/labs/gb/components/list/list-element.js.map +1 -0
  70. package/labs/gb/components/list/list-item-element.d.ts +77 -0
  71. package/labs/gb/components/list/{md-list-item.js → list-item-element.js} +48 -13
  72. package/labs/gb/components/list/list-item-element.js.map +1 -0
  73. package/labs/gb/components/list/list.css.map +1 -1
  74. package/labs/gb/components/list/md-gb-list-item.d.ts +12 -0
  75. package/labs/gb/components/list/md-gb-list-item.js +8 -0
  76. package/labs/gb/components/list/md-gb-list-item.js.map +1 -0
  77. package/labs/gb/components/list/md-gb-list.d.ts +12 -0
  78. package/labs/gb/components/list/md-gb-list.js +8 -0
  79. package/labs/gb/components/list/md-gb-list.js.map +1 -0
  80. package/labs/gb/components/menu/_menu-tokens.scss +4 -0
  81. package/labs/gb/components/menu/md-gb-menu-group.d.ts +12 -0
  82. package/labs/gb/components/menu/md-gb-menu-group.js +8 -0
  83. package/labs/gb/components/menu/md-gb-menu-group.js.map +1 -0
  84. package/labs/gb/components/menu/md-gb-menu-item.d.ts +12 -0
  85. package/labs/gb/components/menu/md-gb-menu-item.js +8 -0
  86. package/labs/gb/components/menu/md-gb-menu-item.js.map +1 -0
  87. package/labs/gb/components/menu/md-gb-menu.d.ts +12 -0
  88. package/labs/gb/components/menu/md-gb-menu.js +8 -0
  89. package/labs/gb/components/menu/md-gb-menu.js.map +1 -0
  90. package/labs/gb/components/menu/{md-menu.d.ts → menu-element.d.ts} +11 -7
  91. package/labs/gb/components/menu/{md-menu.js → menu-element.js} +16 -10
  92. package/labs/gb/components/menu/menu-element.js.map +1 -0
  93. package/labs/gb/components/menu/{md-menu-group.d.ts → menu-group-element.d.ts} +3 -6
  94. package/labs/gb/components/menu/{md-menu-group.js → menu-group-element.js} +11 -11
  95. package/labs/gb/components/menu/menu-group-element.js.map +1 -0
  96. package/labs/gb/components/menu/menu-item-element.d.ts +56 -0
  97. package/labs/gb/components/menu/{md-menu-item.js → menu-item-element.js} +41 -13
  98. package/labs/gb/components/menu/menu-item-element.js.map +1 -0
  99. package/labs/gb/components/menu/menu.css.map +1 -1
  100. package/labs/gb/components/menu/menu.js +1 -1
  101. package/labs/gb/components/menu/menu.js.map +1 -1
  102. package/labs/gb/components/radio/_radio-tokens.scss +2 -0
  103. package/labs/gb/components/radio/md-gb-radio.d.ts +12 -0
  104. package/labs/gb/components/radio/md-gb-radio.js +8 -0
  105. package/labs/gb/components/radio/md-gb-radio.js.map +1 -0
  106. package/labs/gb/components/radio/{md-radio.d.ts → radio-element.d.ts} +10 -7
  107. package/labs/gb/components/radio/{md-radio.js → radio-element.js} +19 -14
  108. package/labs/gb/components/radio/radio-element.js.map +1 -0
  109. package/labs/gb/components/radio/radio.css.map +1 -1
  110. package/labs/gb/components/splitbutton/_split-button-tokens.scss +4 -0
  111. package/labs/gb/components/splitbutton/md-gb-split-button.d.ts +12 -0
  112. package/labs/gb/components/splitbutton/md-gb-split-button.js +8 -0
  113. package/labs/gb/components/splitbutton/md-gb-split-button.js.map +1 -0
  114. package/labs/gb/components/splitbutton/split-button-element.d.ts +33 -0
  115. package/labs/gb/components/splitbutton/{md-split-button.js → split-button-element.js} +21 -12
  116. package/labs/gb/components/splitbutton/split-button-element.js.map +1 -0
  117. package/labs/gb/components/splitbutton/split-button.css.map +1 -1
  118. package/labs/gb/components/splitbutton/split-button.d.ts +4 -4
  119. package/labs/gb/components/splitbutton/split-button.js +4 -4
  120. package/labs/gb/components/splitbutton/split-button.js.map +1 -1
  121. package/labs/gb/components/switch/_switch-tokens.scss +2 -0
  122. package/labs/gb/components/switch/md-gb-switch.d.ts +12 -0
  123. package/labs/gb/components/switch/md-gb-switch.js +8 -0
  124. package/labs/gb/components/switch/md-gb-switch.js.map +1 -0
  125. package/labs/gb/components/switch/{md-switch.d.ts → switch-element.d.ts} +19 -7
  126. package/labs/gb/components/switch/{md-switch.js → switch-element.js} +28 -14
  127. package/labs/gb/components/switch/switch-element.js.map +1 -0
  128. package/labs/gb/components/switch/switch.css.map +1 -1
  129. package/labs/gb/styles/adopt-styles.js +6 -1
  130. package/labs/gb/styles/adopt-styles.js.map +1 -1
  131. package/labs/gb/styles/icon/{md-icon.d.ts → icon-element.d.ts} +1 -7
  132. package/labs/gb/styles/icon/{md-icon.js → icon-element.js} +8 -10
  133. package/labs/gb/styles/icon/icon-element.js.map +1 -0
  134. package/labs/gb/styles/icon/md-gb-icon.d.ts +12 -0
  135. package/labs/gb/styles/icon/md-gb-icon.js +8 -0
  136. package/labs/gb/styles/icon/md-gb-icon.js.map +1 -0
  137. package/package.json +3 -3
  138. package/labs/gb/components/button/md-button.js.map +0 -1
  139. package/labs/gb/components/card/md-card.js.map +0 -1
  140. package/labs/gb/components/checkbox/md-checkbox.js.map +0 -1
  141. package/labs/gb/components/divider/md-divider.js.map +0 -1
  142. package/labs/gb/components/fab/md-fab.d.ts +0 -22
  143. package/labs/gb/components/fab/md-fab.js.map +0 -1
  144. package/labs/gb/components/iconbutton/md-icon-button.js.map +0 -1
  145. package/labs/gb/components/list/md-list-item.d.ts +0 -44
  146. package/labs/gb/components/list/md-list-item.js.map +0 -1
  147. package/labs/gb/components/list/md-list.js.map +0 -1
  148. package/labs/gb/components/menu/md-menu-group.js.map +0 -1
  149. package/labs/gb/components/menu/md-menu-item.d.ts +0 -30
  150. package/labs/gb/components/menu/md-menu-item.js.map +0 -1
  151. package/labs/gb/components/menu/md-menu.js.map +0 -1
  152. package/labs/gb/components/radio/md-radio.js.map +0 -1
  153. package/labs/gb/components/splitbutton/md-split-button.d.ts +0 -26
  154. package/labs/gb/components/splitbutton/md-split-button.js.map +0 -1
  155. package/labs/gb/components/switch/md-switch.js.map +0 -1
  156. package/labs/gb/styles/icon/md-icon.js.map +0 -1
@@ -0,0 +1 @@
1
+ {"version":3,"file":"card-element.js","sourceRoot":"","sources":["card-element.ts"],"names":[],"mappings":"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","sourcesContent":["/**\n * @license\n * Copyright 2026 Google LLC\n * SPDX-License-Identifier: Apache-2.0\n */\n\nimport {\n css,\n CSSResultOrNative,\n html,\n LitElement,\n nothing,\n PropertyValues,\n} from 'lit';\nimport {property, state} from 'lit/decorators.js';\nimport {ARIAMixinStrict} from '../../../../internal/aria/aria.js';\nimport {mixinDelegatesAria} from '../../../../internal/aria/delegate.js';\nimport {ripple} from '../ripple/ripple.js';\nimport {hasSlotted} from '../shared/has-slotted.js';\n\nimport focusRingStyles from '../focus/focus-ring.css' with {type: 'css'}; // github-only\n// import focusRingStyles from '../focus/focus-ring.cssresult.js'; // google3-only\nimport rippleStyles from '../ripple/ripple.css' with {type: 'css'}; // github-only\n// import rippleStyles from '../ripple/ripple.cssresult.js'; // google3-only\nimport cardStyles from './card.css' with {type: 'css'}; // github-only\n// import cardStyles from './card.cssresult.js'; // google3-only\n\nimport {type CardColor, card} from './card.js';\n\n// Separate variable needed for closure.\nconst baseClass = mixinDelegatesAria(LitElement);\n\n/**\n * A Material Design card.\n *\n * @slot - Used to display the card's content. Note: add padding to content, not the host <md-gb-card> element.\n * @slot container - Used to set a custom background container for the card.\n * @csspart card - The card's root element.\n * @csspart card-btn - The card's main action button, when interactive.\n * @cssprop --container-color\n * @cssprop --container-elevation\n * @cssprop --container-shape\n * @cssprop --outline-color\n * @cssprop --outline-width\n * @cssprop --state-layer-color\n */\nexport class CardElement extends baseClass {\n /** @nocollapse */\n static override shadowRootOptions: ShadowRootInit = {\n mode: 'open',\n delegatesFocus: true,\n };\n\n static override styles: CSSResultOrNative[] = [\n focusRingStyles,\n rippleStyles,\n cardStyles,\n css`\n :host {\n display: inline-flex;\n isolation: isolate;\n }\n .card {\n flex: 1;\n position: relative;\n }\n .card:has([name='container'].has-slotted) {\n background-color: transparent;\n }\n .card.card-hide-outline {\n --outline-color: transparent;\n --container-elevation: var(--md-sys-elevation-shadow-0);\n }\n slot[name='container'] {\n display: block;\n position: absolute;\n inset: 0;\n border-radius: inherit;\n pointer-events: none;\n --color: var(--container-color);\n z-index: -1;\n transition: inherit;\n }\n slot[name='container']::slotted(*) {\n width: 100%;\n height: 100%;\n }\n `,\n ];\n\n @state() private hideOutline = false;\n\n private lastFiredEnabledState?: boolean;\n\n /** The color of the card. */\n @property() color: CardColor = 'outlined';\n\n /** Whether the card is disabled. */\n @property({type: Boolean}) disabled = false;\n\n /** Whether the card is interactive. */\n @property({type: Boolean}) interactive = false;\n\n override connectedCallback() {\n super.connectedCallback();\n this.addEventListener('md-gb:set-show-outline', this.handleSetShowOutline);\n }\n\n override disconnectedCallback() {\n super.disconnectedCallback();\n this.removeEventListener(\n 'md-gb:set-show-outline',\n this.handleSetShowOutline,\n );\n }\n\n private readonly handleSetShowOutline = (event: Event) => {\n const customEvent = event as CustomEvent<{shown: boolean}>;\n this.hideOutline = !customEvent.detail.shown;\n };\n\n protected override updated(changedProperties: PropertyValues) {\n super.updated(changedProperties);\n if (changedProperties.has('disabled')) {\n this.dispatchSetEnabledEvent();\n }\n }\n\n private dispatchSetEnabledEvent() {\n const enabled = !this.disabled;\n\n if (this.lastFiredEnabledState === enabled) return;\n\n const slot = this.shadowRoot?.querySelector(\n 'slot[name=\"container\"]',\n ) as HTMLSlotElement;\n if (slot) {\n for (const element of slot.assignedElements({flatten: true})) {\n element.dispatchEvent(\n new CustomEvent('md-gb:set-enabled', {\n detail: {enabled},\n }),\n );\n }\n }\n this.lastFiredEnabledState = enabled;\n }\n\n protected override render() {\n const {ariaLabel} = this as ARIAMixinStrict;\n return html`<div\n part=\"card\"\n class=\"${card({\n color: this.color,\n disabled: this.disabled,\n interactive: this.interactive,\n classes: {\n 'card-hide-outline': this.hideOutline,\n },\n })}\">\n ${this.interactive\n ? html`<button\n part=\"card-btn\"\n class=\"card-btn ripple focus-ring-target\"\n ${ripple()}\n ?disabled=\"${this.disabled}\"\n aria-label=\"${ariaLabel || nothing}\"></button>`\n : nothing}\n <slot></slot>\n <slot\n name=\"container\"\n ${hasSlotted()}\n @slotchange=${this.handleContainerSlotChange}></slot>\n </div>`;\n }\n\n private handleContainerSlotChange(event: Event) {\n const slot = event.target as HTMLSlotElement;\n\n const enabled = !this.disabled;\n\n for (const element of slot.assignedElements({flatten: true})) {\n element.dispatchEvent(new CustomEvent('md-gb:change-container-slot'));\n element.dispatchEvent(\n new CustomEvent('md-gb:set-enabled', {\n detail: {enabled},\n }),\n );\n }\n }\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"sourceRoot":"","sources":["card.scss","_card-tokens.scss"],"names":[],"mappings":"AAAA;AAAA;AAAA;AAAA,GASA,kDACA,oBAEI,MCNF,+BACA,wDACA,iDACA,6BACA,mBACA,oDDKE,wECDF,wDDKE,kBCDF,iEDII,sIAKF,oBCCF,+CACA,qDACA,qEAIA,+FAIA,mEDCE,oBCGF,6DACA,wDDDI,sFCKJ,wDDDI,+CCKJ,2EDCI,aACA,sBACA,kBACA,gBACA,wCACA,qCACA,sCACA,uDAGF,gBACE,gBACA,+BACA,YACA,aACA,kBACA,QACA","file":"card.css"}
1
+ {"version":3,"sourceRoot":"","sources":["card.scss","_card-tokens.scss"],"names":[],"mappings":"AAAA;AAAA;AAAA;AAAA,GASA,kDACA,oBAEI,MCLF,+BACA,wDACA,iDACA,6BACA,mBACA,oDDIE,wECCF,wDDGE,kBCCF,iEDEI,6CCEJ,yFDGE,oBCGF,+CACA,qDACA,qBDFI,gDCMJ,gDDFI,+CCMJ,mEDDE,oBCKF,6DACA,wDDHI,sFCOJ,wDDHI,+CCOJ,qEDFE,MACE,aACA,sBACA,kBACA,gBACA,wCACA,qCACA,sCACA,uDAGF,gBACE,gBACA,+BACA,YACA,aACA,kBACA,QACA","file":"card.css"}
@@ -0,0 +1,12 @@
1
+ /**
2
+ * @license
3
+ * Copyright 2026 Google LLC
4
+ * SPDX-License-Identifier: Apache-2.0
5
+ */
6
+ import { CardElement } from './card-element.js';
7
+ declare global {
8
+ interface HTMLElementTagNameMap {
9
+ /** A Material Design component. */
10
+ 'md-gb-card': CardElement;
11
+ }
12
+ }
@@ -0,0 +1,8 @@
1
+ /**
2
+ * @license
3
+ * Copyright 2026 Google LLC
4
+ * SPDX-License-Identifier: Apache-2.0
5
+ */
6
+ import { CardElement } from './card-element.js';
7
+ customElements.define('md-gb-card', CardElement);
8
+ //# sourceMappingURL=md-gb-card.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"md-gb-card.js","sourceRoot":"","sources":["md-gb-card.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAC,WAAW,EAAC,MAAM,mBAAmB,CAAC;AAS9C,cAAc,CAAC,MAAM,CAAC,YAAY,EAAE,WAAW,CAAC,CAAC","sourcesContent":["/**\n * @license\n * Copyright 2026 Google LLC\n * SPDX-License-Identifier: Apache-2.0\n */\n\nimport {CardElement} from './card-element.js';\n\ndeclare global {\n interface HTMLElementTagNameMap {\n /** A Material Design component. */\n 'md-gb-card': CardElement;\n }\n}\n\ncustomElements.define('md-gb-card', CardElement);\n"]}
@@ -4,6 +4,7 @@
4
4
  //
5
5
 
6
6
  @mixin root {
7
+ // LINT.IfChange
7
8
  --container-color: transparent;
8
9
  --container-shape: 2px;
9
10
  --container-size: 18px;
@@ -14,6 +15,7 @@
14
15
  --state-layer-color: var(--md-sys-color-on-surface);
15
16
  --state-layer-shape: 50%;
16
17
  --state-layer-size: 40px;
18
+ // LINT.ThenChange(md-checkbox.ts) keep in sync with `@cssprop` jsdoc tags
17
19
  }
18
20
 
19
21
  @mixin hovered {
@@ -7,17 +7,25 @@ import { CSSResultOrNative, LitElement } from 'lit';
7
7
  import { createValidator, getValidityAnchor } from '../../../behaviors/constraint-validation.js';
8
8
  import { getFormState, getFormValue } from '../../../behaviors/form-associated.js';
9
9
  import { CheckboxValidator } from '../../../behaviors/validators/checkbox-validator.js';
10
- declare global {
11
- interface HTMLElementTagNameMap {
12
- /** A Material Design checkbox component. */
13
- 'md-checkbox': Checkbox;
14
- }
15
- }
16
10
  declare const baseClass: import("@material/web/labs/behaviors/mixin.js").MixinReturn<import("@material/web/labs/behaviors/mixin.js").MixinReturn<import("@material/web/labs/behaviors/mixin.js").MixinReturn<(abstract new (...args: any[]) => import("../../../behaviors/element-internals.js").WithElementInternals) & typeof LitElement & import("../../../behaviors/form-associated.js").FormAssociatedConstructor, import("../../../behaviors/form-associated.js").FormAssociated>, import("../../../behaviors/constraint-validation.js").ConstraintValidation>>;
17
11
  /**
18
12
  * A Material Design checkbox component.
13
+ *
14
+ * @fires {InputEvent} input - Fired when the checkbox is checked or unchecked. --bubbles --composed
15
+ * @fires {Event} change - Fired when the checkbox is checked or unchecked. --bubbles
16
+ * @csspart checkbox - The checkbox's root element.
17
+ * @cssprop --container-color
18
+ * @cssprop --container-shape
19
+ * @cssprop --container-size
20
+ * @cssprop --icon-color
21
+ * @cssprop --icon-size
22
+ * @cssprop --outline-color
23
+ * @cssprop --outline-width
24
+ * @cssprop --state-layer-color
25
+ * @cssprop --state-layer-shape
26
+ * @cssprop --state-layer-size
19
27
  */
20
- export declare class Checkbox extends baseClass {
28
+ export declare class CheckboxElement extends baseClass {
21
29
  /** @nocollapse */
22
30
  static shadowRootOptions: ShadowRootInit;
23
31
  static styles: CSSResultOrNative[];
@@ -5,7 +5,7 @@
5
5
  */
6
6
  import { __decorate } from "tslib";
7
7
  import { css, html, LitElement, nothing } from 'lit';
8
- import { customElement, property, query } from 'lit/decorators.js';
8
+ import { property, query } from 'lit/decorators.js';
9
9
  import { mixinDelegatesAria } from '../../../../internal/aria/delegate.js';
10
10
  import { redispatchEvent } from '../../../../internal/events/redispatch-event.js';
11
11
  import { createValidator, getValidityAnchor, mixinConstraintValidation, } from '../../../behaviors/constraint-validation.js';
@@ -23,8 +23,22 @@ import { checkbox } from './checkbox.js';
23
23
  const baseClass = mixinDelegatesAria(mixinConstraintValidation(mixinFormAssociated(mixinElementInternals(LitElement))));
24
24
  /**
25
25
  * A Material Design checkbox component.
26
+ *
27
+ * @fires {InputEvent} input - Fired when the checkbox is checked or unchecked. --bubbles --composed
28
+ * @fires {Event} change - Fired when the checkbox is checked or unchecked. --bubbles
29
+ * @csspart checkbox - The checkbox's root element.
30
+ * @cssprop --container-color
31
+ * @cssprop --container-shape
32
+ * @cssprop --container-size
33
+ * @cssprop --icon-color
34
+ * @cssprop --icon-size
35
+ * @cssprop --outline-color
36
+ * @cssprop --outline-width
37
+ * @cssprop --state-layer-color
38
+ * @cssprop --state-layer-shape
39
+ * @cssprop --state-layer-size
26
40
  */
27
- let Checkbox = class Checkbox extends baseClass {
41
+ export class CheckboxElement extends baseClass {
28
42
  constructor() {
29
43
  super(...arguments);
30
44
  /**
@@ -130,13 +144,13 @@ let Checkbox = class Checkbox extends baseClass {
130
144
  [getValidityAnchor]() {
131
145
  return this.input;
132
146
  }
133
- };
147
+ }
134
148
  /** @nocollapse */
135
- Checkbox.shadowRootOptions = {
149
+ CheckboxElement.shadowRootOptions = {
136
150
  mode: 'open',
137
151
  delegatesFocus: true,
138
152
  };
139
- Checkbox.styles = [
153
+ CheckboxElement.styles = [
140
154
  focusRingStyles,
141
155
  rippleStyles,
142
156
  checkboxStyles,
@@ -151,24 +165,20 @@ Checkbox.styles = [
151
165
  ];
152
166
  __decorate([
153
167
  property({ type: Boolean })
154
- ], Checkbox.prototype, "error", void 0);
168
+ ], CheckboxElement.prototype, "error", void 0);
155
169
  __decorate([
156
170
  property({ type: Boolean })
157
- ], Checkbox.prototype, "checked", void 0);
171
+ ], CheckboxElement.prototype, "checked", void 0);
158
172
  __decorate([
159
173
  property({ type: Boolean })
160
- ], Checkbox.prototype, "indeterminate", void 0);
174
+ ], CheckboxElement.prototype, "indeterminate", void 0);
161
175
  __decorate([
162
176
  property({ type: Boolean })
163
- ], Checkbox.prototype, "required", void 0);
177
+ ], CheckboxElement.prototype, "required", void 0);
164
178
  __decorate([
165
179
  property()
166
- ], Checkbox.prototype, "value", void 0);
180
+ ], CheckboxElement.prototype, "value", void 0);
167
181
  __decorate([
168
182
  query('input', true)
169
- ], Checkbox.prototype, "input", void 0);
170
- Checkbox = __decorate([
171
- customElement('md-checkbox')
172
- ], Checkbox);
173
- export { Checkbox };
174
- //# sourceMappingURL=md-checkbox.js.map
183
+ ], CheckboxElement.prototype, "input", void 0);
184
+ //# sourceMappingURL=checkbox-element.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"checkbox-element.js","sourceRoot":"","sources":["checkbox-element.ts"],"names":[],"mappings":"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","sourcesContent":["/**\n * @license\n * Copyright 2026 Google LLC\n * SPDX-License-Identifier: Apache-2.0\n */\n\nimport {css, CSSResultOrNative, html, LitElement, nothing} from 'lit';\nimport {property, query} from 'lit/decorators.js';\nimport {ARIAMixinStrict} from '../../../../internal/aria/aria.js';\nimport {mixinDelegatesAria} from '../../../../internal/aria/delegate.js';\nimport {redispatchEvent} from '../../../../internal/events/redispatch-event.js';\nimport {\n createValidator,\n getValidityAnchor,\n mixinConstraintValidation,\n} from '../../../behaviors/constraint-validation.js';\nimport {mixinElementInternals} from '../../../behaviors/element-internals.js';\nimport {\n getFormState,\n getFormValue,\n mixinFormAssociated,\n} from '../../../behaviors/form-associated.js';\nimport {CheckboxValidator} from '../../../behaviors/validators/checkbox-validator.js';\n\nimport focusRingStyles from '../focus/focus-ring.css' with {type: 'css'}; // github-only\n// import focusRingStyles from '../focus/focus-ring.cssresult.js'; // google3-only\nimport rippleStyles from '../ripple/ripple.css' with {type: 'css'}; // github-only\n// import rippleStyles from '../ripple/ripple.cssresult.js'; // google3-only\nimport checkboxStyles from './checkbox.css' with {type: 'css'}; // github-only\n// import checkboxStyles from './checkbox.cssresult.js'; // google3-only\n\nimport {checkbox} from './checkbox.js';\n\n// Separate variable needed for closure.\nconst baseClass = mixinDelegatesAria(\n mixinConstraintValidation(\n mixinFormAssociated(mixinElementInternals(LitElement)),\n ),\n);\n\n/**\n * A Material Design checkbox component.\n *\n * @fires {InputEvent} input - Fired when the checkbox is checked or unchecked. --bubbles --composed\n * @fires {Event} change - Fired when the checkbox is checked or unchecked. --bubbles\n * @csspart checkbox - The checkbox's root element.\n * @cssprop --container-color\n * @cssprop --container-shape\n * @cssprop --container-size\n * @cssprop --icon-color\n * @cssprop --icon-size\n * @cssprop --outline-color\n * @cssprop --outline-width\n * @cssprop --state-layer-color\n * @cssprop --state-layer-shape\n * @cssprop --state-layer-size\n */\nexport class CheckboxElement extends baseClass {\n /** @nocollapse */\n static override shadowRootOptions: ShadowRootInit = {\n mode: 'open',\n delegatesFocus: true,\n };\n\n static override styles: CSSResultOrNative[] = [\n focusRingStyles,\n rippleStyles,\n checkboxStyles,\n css`\n :host {\n display: inline-flex;\n }\n .checkbox {\n flex: 1;\n }\n `,\n ];\n\n /**\n * Whether or not the checkbox is invalid.\n */\n @property({type: Boolean}) error = false;\n\n /**\n * Whether or not the checkbox is selected.\n */\n @property({type: Boolean}) checked = false;\n\n /**\n * The default checked state of the checkbox.\n */\n get defaultChecked(): boolean {\n return this.hasAttribute('checked');\n }\n set defaultChecked(value: boolean) {\n this.toggleAttribute('checked', value || false);\n }\n\n /**\n * Whether or not the checkbox is indeterminate.\n *\n * https://developer.mozilla.org/en-US/docs/Web/HTML/Element/input/checkbox#indeterminate_state_checkboxes\n */\n @property({type: Boolean}) indeterminate = false;\n\n /**\n * When true, require the checkbox to be selected when participating in\n * form submission.\n *\n * https://developer.mozilla.org/en-US/docs/Web/HTML/Element/input/checkbox#validation\n */\n @property({type: Boolean}) required = false;\n\n /**\n * The value of the checkbox that is submitted with a form when selected.\n *\n * https://developer.mozilla.org/en-US/docs/Web/HTML/Element/input/checkbox#value\n */\n @property() value = 'on';\n\n @query('input', true)\n private readonly input!: HTMLInputElement | null;\n /**\n * Mimics the behavior of <input> dirty checkedness, where the `checked`\n * attribute only updates the checked state if the checkbox has not been\n * interacted with.\n *\n * @see https://html.spec.whatwg.org/multipage/input.html#concept-input-checked-dirty-flag\n */\n private dirtyCheckedness = false;\n\n protected override render() {\n // Needed for closure conformance\n const {ariaLabel, ariaInvalid} = this as ARIAMixinStrict;\n return html`\n <input\n part=\"checkbox\"\n class=\"${checkbox({invalid: this.error})}\"\n type=\"checkbox\"\n aria-checked=${this.indeterminate ? 'mixed' : nothing}\n aria-label=${ariaLabel || nothing}\n aria-invalid=${ariaInvalid || this.error || nothing}\n ?disabled=${this.disabled}\n ?required=${this.required}\n .indeterminate=${this.indeterminate}\n .checked=${this.checked}\n @input=${this.handleInput}\n @change=${this.handleChange} />\n `;\n }\n\n private handleInput(event: Event) {\n this.dirtyCheckedness = true;\n const target = event.target as HTMLInputElement;\n this.checked = target.checked;\n this.indeterminate = target.indeterminate;\n // <input> 'input' event bubbles and is composed, don't re-dispatch it.\n }\n\n private handleChange(event: Event) {\n this.dirtyCheckedness = true;\n // <input> 'change' event is not composed, re-dispatch it.\n redispatchEvent(this, event);\n }\n\n override attributeChangedCallback(\n name: string,\n oldValue: string | null,\n newValue: string | null,\n ) {\n if (name === 'checked' && this.dirtyCheckedness) {\n // The 'checked' attribute does not update checkboxes that have been\n // interacted with.\n return;\n }\n\n super.attributeChangedCallback(name, oldValue, newValue);\n }\n\n override [getFormValue]() {\n return this.checked ? this.value : null;\n }\n\n override [getFormState]() {\n return String(this.checked);\n }\n\n override formResetCallback() {\n this.dirtyCheckedness = false;\n this.checked = this.defaultChecked;\n }\n\n override formStateRestoreCallback(state: string) {\n this.checked = state === 'true';\n }\n\n override [createValidator]() {\n return new CheckboxValidator(() => this);\n }\n\n override [getValidityAnchor]() {\n return this.input;\n }\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"sourceRoot":"","sources":["checkbox.scss","_checkbox-tokens.scss"],"names":[],"mappings":"AAAA;AAAA;AAAA;AAAA,GASA,kDACA,wBAEI,UCNF,+BACA,uBACA,uBACA,0BACA,kBACA,wDACA,qBACA,oDACA,yBACA,yBDCE,4BCGF,oDACA,mFAIA,8EAIA,iDACA,gDDDE,8DCKF,mBACA,+CACA,6CDJI,mFCQJ,iDDJI,qFCQJ,oDDHE,gCCOF,+CACA,2CDLI,uFCSJ,6CACA,2CDLE,kCCSF,sEDNI,yFCUJ,wEACA,0CDNE,UACE,gBACA,kBACA,oBACA,mBACA,uBACA,WACA,YACA,sBACA,aACA,SACA,gBAEA,oDACE,iBAGF,kBACE,oBACA,oBACA,mBACA,uBACA,sBACA,gBACA,eACA,4BACA,kCACA,qCACA,uDACA,wBACA,4CAGF,iBACE,WACA,kBACA,eACA,+BACA,+BACA,8BACA,uCACA,kCACA,wCACA,oCACA","file":"checkbox.css"}
1
+ {"version":3,"sourceRoot":"","sources":["checkbox.scss","_checkbox-tokens.scss"],"names":[],"mappings":"AAAA;AAAA;AAAA;AAAA,GASA,kDACA,wBAEI,UCLF,+BACA,uBACA,uBACA,0BACA,kBACA,wDACA,qBACA,oDACA,yBACA,qDAKA,oDACA,gDDFE,mCCMF,gDDFE,8BCMF,iDACA,gDDHE,8DCOF,mBACA,+CACA,6CDNI,mFCUJ,iDDNI,qFCUJ,oDDLE,gCCSF,+CACA,2CDPI,uFCWJ,6CACA,2CDPE,kCCWF,sEDRI,yFCYJ,wEACA,0CDRE,UACE,gBACA,kBACA,oBACA,mBACA,uBACA,WACA,YACA,sBACA,aACA,SACA,gBAEA,oDACE,iBAGF,kBACE,oBACA,oBACA,mBACA,uBACA,sBACA,gBACA,eACA,4BACA,kCACA,qCACA,uDACA,wBACA,4CAGF,iBACE,WACA,kBACA,eACA,+BACA,+BACA,8BACA,uCACA,kCACA,wCACA,oCACA","file":"checkbox.css"}
@@ -0,0 +1,12 @@
1
+ /**
2
+ * @license
3
+ * Copyright 2026 Google LLC
4
+ * SPDX-License-Identifier: Apache-2.0
5
+ */
6
+ import { CheckboxElement } from './checkbox-element.js';
7
+ declare global {
8
+ interface HTMLElementTagNameMap {
9
+ /** A Material Design component. */
10
+ 'md-gb-checkbox': CheckboxElement;
11
+ }
12
+ }
@@ -0,0 +1,8 @@
1
+ /**
2
+ * @license
3
+ * Copyright 2026 Google LLC
4
+ * SPDX-License-Identifier: Apache-2.0
5
+ */
6
+ import { CheckboxElement } from './checkbox-element.js';
7
+ customElements.define('md-gb-checkbox', CheckboxElement);
8
+ //# sourceMappingURL=md-gb-checkbox.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"md-gb-checkbox.js","sourceRoot":"","sources":["md-gb-checkbox.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAC,eAAe,EAAC,MAAM,uBAAuB,CAAC;AAStD,cAAc,CAAC,MAAM,CAAC,gBAAgB,EAAE,eAAe,CAAC,CAAC","sourcesContent":["/**\n * @license\n * Copyright 2026 Google LLC\n * SPDX-License-Identifier: Apache-2.0\n */\n\nimport {CheckboxElement} from './checkbox-element.js';\n\ndeclare global {\n interface HTMLElementTagNameMap {\n /** A Material Design component. */\n 'md-gb-checkbox': CheckboxElement;\n }\n}\n\ncustomElements.define('md-gb-checkbox', CheckboxElement);\n"]}
@@ -4,6 +4,8 @@
4
4
  //
5
5
 
6
6
  @mixin root {
7
+ // LINT.IfChange
7
8
  --color: var(--md-sys-color-outline-variant);
8
9
  --thickness: 1px;
10
+ // LINT.ThenChange(md-divider.ts) keep in sync with `@cssprop` jsdoc tags
9
11
  }
@@ -4,16 +4,14 @@
4
4
  * SPDX-License-Identifier: Apache-2.0
5
5
  */
6
6
  import { CSSResultOrNative, LitElement } from 'lit';
7
- declare global {
8
- interface HTMLElementTagNameMap {
9
- /** A Material Design divider component. */
10
- 'md-divider': Divider;
11
- }
12
- }
13
7
  /**
14
8
  * A Material Design divider component.
9
+ *
10
+ * @csspart divider - The divider element.
11
+ * @cssprop --color
12
+ * @cssprop --thickness
15
13
  */
16
- export declare class Divider extends LitElement {
14
+ export declare class DividerElement extends LitElement {
17
15
  static styles: CSSResultOrNative[];
18
16
  /**
19
17
  * Whether or not the divider is vertical.
@@ -5,14 +5,18 @@
5
5
  */
6
6
  import { __decorate } from "tslib";
7
7
  import { css, html, LitElement } from 'lit';
8
- import { customElement, property } from 'lit/decorators.js';
8
+ import { property } from 'lit/decorators.js';
9
9
  import dividerStyles from './divider.css' with { type: 'css' }; // github-only
10
10
  // import {styles as dividerStyles} from './divider.cssresult.js'; // google3-only
11
11
  import { divider } from './divider.js';
12
12
  /**
13
13
  * A Material Design divider component.
14
+ *
15
+ * @csspart divider - The divider element.
16
+ * @cssprop --color
17
+ * @cssprop --thickness
14
18
  */
15
- let Divider = class Divider extends LitElement {
19
+ export class DividerElement extends LitElement {
16
20
  constructor() {
17
21
  super(...arguments);
18
22
  /**
@@ -23,8 +27,8 @@ let Divider = class Divider extends LitElement {
23
27
  render() {
24
28
  return html `<div part="divider" class="${divider(this)}"></div>`;
25
29
  }
26
- };
27
- Divider.styles = [
30
+ }
31
+ DividerElement.styles = [
28
32
  dividerStyles,
29
33
  css `
30
34
  :host {
@@ -43,9 +47,5 @@ Divider.styles = [
43
47
  ];
44
48
  __decorate([
45
49
  property({ type: Boolean, reflect: true })
46
- ], Divider.prototype, "vertical", void 0);
47
- Divider = __decorate([
48
- customElement('md-divider')
49
- ], Divider);
50
- export { Divider };
51
- //# sourceMappingURL=md-divider.js.map
50
+ ], DividerElement.prototype, "vertical", void 0);
51
+ //# sourceMappingURL=divider-element.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"divider-element.js","sourceRoot":"","sources":["divider-element.ts"],"names":[],"mappings":"AAAA;;;;GAIG;;AAEH,OAAO,EAAC,GAAG,EAAqB,IAAI,EAAE,UAAU,EAAC,MAAM,KAAK,CAAC;AAC7D,OAAO,EAAC,QAAQ,EAAC,MAAM,mBAAmB,CAAC;AAE3C,OAAO,aAAa,MAAM,eAAe,CAAC,OAAM,IAAI,EAAE,KAAK,EAAC,CAAC,CAAC,cAAc;AAC5E,kFAAkF;AAElF,OAAO,EAAC,OAAO,EAAC,MAAM,cAAc,CAAC;AAErC;;;;;;GAMG;AACH,MAAM,OAAO,cAAe,SAAQ,UAAU;IAA9C;;QAmBE;;WAEG;QACuC,aAAQ,GAAG,KAAK,CAAC;IAK7D,CAAC;IAHoB,MAAM;QACvB,OAAO,IAAI,CAAA,8BAA8B,OAAO,CAAC,IAAI,CAAC,UAAU,CAAC;IACnE,CAAC;;AAzBe,qBAAM,GAAwB;IAC5C,aAAa;IACb,GAAG,CAAA;;;;;;;;;;;;;KAaF;CACF,AAhBqB,CAgBpB;AAKwC;IAAzC,QAAQ,CAAC,EAAC,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,IAAI,EAAC,CAAC;gDAAkB","sourcesContent":["/**\n * @license\n * Copyright 2026 Google LLC\n * SPDX-License-Identifier: Apache-2.0\n */\n\nimport {css, CSSResultOrNative, html, LitElement} from 'lit';\nimport {property} from 'lit/decorators.js';\n\nimport dividerStyles from './divider.css' with {type: 'css'}; // github-only\n// import {styles as dividerStyles} from './divider.cssresult.js'; // google3-only\n\nimport {divider} from './divider.js';\n\n/**\n * A Material Design divider component.\n *\n * @csspart divider - The divider element.\n * @cssprop --color\n * @cssprop --thickness\n */\nexport class DividerElement extends LitElement {\n static override styles: CSSResultOrNative[] = [\n dividerStyles,\n css`\n :host {\n display: flex;\n }\n .divider {\n flex: 1;\n }\n :host(:not([vertical])) {\n width: 100%;\n }\n :host([vertical]) {\n min-height: 100%;\n }\n `,\n ];\n\n /**\n * Whether or not the divider is vertical.\n */\n @property({type: Boolean, reflect: true}) vertical = false;\n\n protected override render() {\n return html`<div part=\"divider\" class=\"${divider(this)}\"></div>`;\n }\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"sourceRoot":"","sources":["divider.scss","_divider-tokens.scss"],"names":[],"mappings":"AAAA;AAAA;AAAA;AAAA,GASA,cACA,uBAEI,SCNF,6CACA,iBDQI,sBACA,YACA,aAGF,gCACE,kDACA,WAGF,0BACE,sDACA","file":"divider.css"}
1
+ {"version":3,"sourceRoot":"","sources":["divider.scss","_divider-tokens.scss"],"names":[],"mappings":"AAAA;AAAA;AAAA;AAAA,GASA,cACA,uBAEI,SCLF,6CACA,iBDOI,sBACA,YACA,aAGF,gCACE,kDACA,WAGF,0BACE,sDACA","file":"divider.css"}
@@ -0,0 +1,12 @@
1
+ /**
2
+ * @license
3
+ * Copyright 2026 Google LLC
4
+ * SPDX-License-Identifier: Apache-2.0
5
+ */
6
+ import { DividerElement } from './divider-element.js';
7
+ declare global {
8
+ interface HTMLElementTagNameMap {
9
+ /** A Material Design component. */
10
+ 'md-gb-divider': DividerElement;
11
+ }
12
+ }
@@ -0,0 +1,8 @@
1
+ /**
2
+ * @license
3
+ * Copyright 2026 Google LLC
4
+ * SPDX-License-Identifier: Apache-2.0
5
+ */
6
+ import { DividerElement } from './divider-element.js';
7
+ customElements.define('md-gb-divider', DividerElement);
8
+ //# sourceMappingURL=md-gb-divider.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"md-gb-divider.js","sourceRoot":"","sources":["md-gb-divider.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAC,cAAc,EAAC,MAAM,sBAAsB,CAAC;AASpD,cAAc,CAAC,MAAM,CAAC,eAAe,EAAE,cAAc,CAAC,CAAC","sourcesContent":["/**\n * @license\n * Copyright 2026 Google LLC\n * SPDX-License-Identifier: Apache-2.0\n */\n\nimport {DividerElement} from './divider-element.js';\n\ndeclare global {\n interface HTMLElementTagNameMap {\n /** A Material Design component. */\n 'md-gb-divider': DividerElement;\n }\n}\n\ncustomElements.define('md-gb-divider', DividerElement);\n"]}
@@ -4,6 +4,7 @@
4
4
  //
5
5
 
6
6
  @mixin root {
7
+ // LINT.IfChange
7
8
  --container-color: transparent;
8
9
  --container-elevation: var(--md-sys-elevation-shadow-3);
9
10
  --container-height: 56px;
@@ -16,6 +17,7 @@
16
17
  --label-text-tracking: var(--md-sys-typescale-label-lg-tracking);
17
18
  --leading-space: 16px;
18
19
  --trailing-space: 16px;
20
+ // LINT.ThenChange(md-fab.ts) keep in sync with `@cssprop` jsdoc tags
19
21
  }
20
22
 
21
23
  @mixin hovered {
@@ -0,0 +1,31 @@
1
+ /**
2
+ * @license
3
+ * Copyright 2026 Google LLC
4
+ * SPDX-License-Identifier: Apache-2.0
5
+ */
6
+ import { CSSResultOrNative, LitElement } from 'lit';
7
+ import { type FabColor, type FabSize } from './fab.js';
8
+ /**
9
+ * A Material Design fab component.
10
+ *
11
+ * @slot - Used to display an icon and optional label.
12
+ * @csspart fab - The FAB's root element.
13
+ * @cssprop --container-color
14
+ * @cssprop --container-elevation
15
+ * @cssprop --container-height
16
+ * @cssprop --container-shape
17
+ * @cssprop --icon-color
18
+ * @cssprop --icon-label-space
19
+ * @cssprop --icon-size
20
+ * @cssprop --label-text
21
+ * @cssprop --label-text-color
22
+ * @cssprop --label-text-tracking
23
+ * @cssprop --leading-space
24
+ * @cssprop --trailing-space
25
+ */
26
+ export declare class FabElement extends LitElement {
27
+ static styles: CSSResultOrNative[];
28
+ color: FabColor;
29
+ size: FabSize;
30
+ protected render(): import("lit-html").TemplateResult<1>;
31
+ }
@@ -5,7 +5,7 @@
5
5
  */
6
6
  import { __decorate } from "tslib";
7
7
  import { css, html, LitElement } from 'lit';
8
- import { customElement, property } from 'lit/decorators.js';
8
+ import { property } from 'lit/decorators.js';
9
9
  import focusRingStyles from '../focus/focus-ring.css' with { type: 'css' }; // github-only
10
10
  // import focusRingStyles from '../focus/focus-ring.cssresult.js'; // google3-only
11
11
  import rippleStyles from '../ripple/ripple.css' with { type: 'css' }; // github-only
@@ -15,8 +15,23 @@ import fabStyles from './fab.css' with { type: 'css' }; // github-only
15
15
  import { fab } from './fab.js';
16
16
  /**
17
17
  * A Material Design fab component.
18
+ *
19
+ * @slot - Used to display an icon and optional label.
20
+ * @csspart fab - The FAB's root element.
21
+ * @cssprop --container-color
22
+ * @cssprop --container-elevation
23
+ * @cssprop --container-height
24
+ * @cssprop --container-shape
25
+ * @cssprop --icon-color
26
+ * @cssprop --icon-label-space
27
+ * @cssprop --icon-size
28
+ * @cssprop --label-text
29
+ * @cssprop --label-text-color
30
+ * @cssprop --label-text-tracking
31
+ * @cssprop --leading-space
32
+ * @cssprop --trailing-space
18
33
  */
19
- let Fab = class Fab extends LitElement {
34
+ export class FabElement extends LitElement {
20
35
  constructor() {
21
36
  super(...arguments);
22
37
  this.color = 'primary-container';
@@ -29,8 +44,8 @@ let Fab = class Fab extends LitElement {
29
44
  <slot></slot>
30
45
  </button>`;
31
46
  }
32
- };
33
- Fab.styles = [
47
+ }
48
+ FabElement.styles = [
34
49
  focusRingStyles,
35
50
  rippleStyles,
36
51
  fabStyles,
@@ -45,12 +60,8 @@ Fab.styles = [
45
60
  ];
46
61
  __decorate([
47
62
  property()
48
- ], Fab.prototype, "color", void 0);
63
+ ], FabElement.prototype, "color", void 0);
49
64
  __decorate([
50
65
  property()
51
- ], Fab.prototype, "size", void 0);
52
- Fab = __decorate([
53
- customElement('md-fab')
54
- ], Fab);
55
- export { Fab };
56
- //# sourceMappingURL=md-fab.js.map
66
+ ], FabElement.prototype, "size", void 0);
67
+ //# sourceMappingURL=fab-element.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"fab-element.js","sourceRoot":"","sources":["fab-element.ts"],"names":[],"mappings":"AAAA;;;;GAIG;;AAEH,OAAO,EAAC,GAAG,EAAqB,IAAI,EAAE,UAAU,EAAC,MAAM,KAAK,CAAC;AAC7D,OAAO,EAAC,QAAQ,EAAC,MAAM,mBAAmB,CAAC;AAE3C,OAAO,eAAe,MAAM,yBAAyB,CAAC,OAAM,IAAI,EAAE,KAAK,EAAC,CAAC,CAAC,cAAc;AACxF,kFAAkF;AAClF,OAAO,YAAY,MAAM,sBAAsB,CAAC,OAAM,IAAI,EAAE,KAAK,EAAC,CAAC,CAAC,cAAc;AAClF,4EAA4E;AAC5E,OAAO,SAAS,MAAM,WAAW,CAAC,OAAM,IAAI,EAAE,KAAK,EAAC,CAAC,CAAC,cAAc;AACpE,0EAA0E;AAE1E,OAAO,EAAC,GAAG,EAA8B,MAAM,UAAU,CAAC;AAE1D;;;;;;;;;;;;;;;;;GAiBG;AACH,MAAM,OAAO,UAAW,SAAQ,UAAU;IAA1C;;QAec,UAAK,GAAa,mBAAmB,CAAC;QACtC,SAAI,GAAY,SAAS,CAAC;IASxC,CAAC;IAPoB,MAAM;QACvB,OAAO,IAAI,CAAA;;eAEA,GAAG,CAAC,EAAC,KAAK,EAAE,IAAI,CAAC,KAAK,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAC,CAAC;;cAE1C,CAAC;IACb,CAAC;;AAvBe,iBAAM,GAAwB;IAC5C,eAAe;IACf,YAAY;IACZ,SAAS;IACT,GAAG,CAAA;;;;;;;KAOF;CACF,AAZqB,CAYpB;AAEU;IAAX,QAAQ,EAAE;yCAAuC;AACtC;IAAX,QAAQ,EAAE;wCAA2B","sourcesContent":["/**\n * @license\n * Copyright 2026 Google LLC\n * SPDX-License-Identifier: Apache-2.0\n */\n\nimport {css, CSSResultOrNative, html, LitElement} from 'lit';\nimport {property} from 'lit/decorators.js';\n\nimport focusRingStyles from '../focus/focus-ring.css' with {type: 'css'}; // github-only\n// import focusRingStyles from '../focus/focus-ring.cssresult.js'; // google3-only\nimport rippleStyles from '../ripple/ripple.css' with {type: 'css'}; // github-only\n// import rippleStyles from '../ripple/ripple.cssresult.js'; // google3-only\nimport fabStyles from './fab.css' with {type: 'css'}; // github-only\n// import {styles as fabStyles} from './fab.cssresult.js'; // google3-only\n\nimport {fab, type FabColor, type FabSize} from './fab.js';\n\n/**\n * A Material Design fab component.\n *\n * @slot - Used to display an icon and optional label.\n * @csspart fab - The FAB's root element.\n * @cssprop --container-color\n * @cssprop --container-elevation\n * @cssprop --container-height\n * @cssprop --container-shape\n * @cssprop --icon-color\n * @cssprop --icon-label-space\n * @cssprop --icon-size\n * @cssprop --label-text\n * @cssprop --label-text-color\n * @cssprop --label-text-tracking\n * @cssprop --leading-space\n * @cssprop --trailing-space\n */\nexport class FabElement extends LitElement {\n static override styles: CSSResultOrNative[] = [\n focusRingStyles,\n rippleStyles,\n fabStyles,\n css`\n :host {\n display: inline-flex;\n }\n .fab {\n flex: 1;\n }\n `,\n ];\n\n @property() color: FabColor = 'primary-container';\n @property() size: FabSize = 'default';\n\n protected override render() {\n return html`<button\n part=\"fab\"\n class=\"${fab({color: this.color, size: this.size})}\">\n <slot></slot>\n </button>`;\n }\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"sourceRoot":"","sources":["fab.scss","_fab-tokens.scss"],"names":[],"mappings":"AAAA;AAAA;AAAA;AAAA,GAUA,oCACA,mBAEI,KCPF,+BACA,wDACA,yBACA,iDACA,2BACA,yBACA,kBACA,+CACA,iCACA,iEACA,sBACA,8CAIA,iFAIA,mFAIA,yDACA,uDACA,6DDFE,iBCMF,+CACA,6CACA,mDDJE,6BCQF,2DACA,yDACA,+DDNE,mBCUF,iDACA,+CACA,qDDRE,4BCYF,0DACA,wDACA,8DDVE,kBCcF,gDACA,8CACA,oDDZE,YCgBF,yBACA,2DACA,kBACA,+CACA,iEACA,sBACA,uBDlBE,YCsBF,yBACA,iDACA,yBACA,kBACA,kDACA,oEACA,sBACA,uBDzBE,KACE,gBACA,YACA,oBACA,mBACA,4BACA,+BACA,wCACA,qCACA,sCACA,8BACA,uBACA,0CACA,0DACA,8DACA,mCACA","file":"fab.css"}
1
+ {"version":3,"sourceRoot":"","sources":["fab.scss","_fab-tokens.scss"],"names":[],"mappings":"AAAA;AAAA;AAAA;AAAA,GAUA,oCACA,mBAEI,KCNF,+BACA,wDACA,yBACA,iDACA,2BACA,yBACA,kBACA,+CACA,iCACA,iEACA,sBACA,uBDDE,uBCMF,wDDFE,yBCMF,wDDFE,2BCMF,yDACA,uDACA,6DDJE,iBCQF,+CACA,6CACA,mDDNE,6BCUF,2DACA,yDACA,+DDRE,mBCYF,iDACA,+CACA,qDDVE,4BCcF,0DACA,wDACA,8DDZE,kBCgBF,gDACA,8CACA,oDDdE,YCkBF,yBACA,2DACA,kBACA,+CACA,iEACA,sBACA,uBDpBE,YCwBF,yBACA,iDACA,yBACA,kBACA,kDACA,oEACA,sBACA,uBD3BE,KACE,gBACA,YACA,oBACA,mBACA,4BACA,+BACA,wCACA,qCACA,sCACA,8BACA,uBACA,0CACA,0DACA,8DACA,mCACA","file":"fab.css"}
@@ -0,0 +1,12 @@
1
+ /**
2
+ * @license
3
+ * Copyright 2026 Google LLC
4
+ * SPDX-License-Identifier: Apache-2.0
5
+ */
6
+ import { FabElement } from './fab-element.js';
7
+ declare global {
8
+ interface HTMLElementTagNameMap {
9
+ /** A Material Design component. */
10
+ 'md-gb-fab': FabElement;
11
+ }
12
+ }
@@ -0,0 +1,8 @@
1
+ /**
2
+ * @license
3
+ * Copyright 2026 Google LLC
4
+ * SPDX-License-Identifier: Apache-2.0
5
+ */
6
+ import { FabElement } from './fab-element.js';
7
+ customElements.define('md-gb-fab', FabElement);
8
+ //# sourceMappingURL=md-gb-fab.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"md-gb-fab.js","sourceRoot":"","sources":["md-gb-fab.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAC,UAAU,EAAC,MAAM,kBAAkB,CAAC;AAS5C,cAAc,CAAC,MAAM,CAAC,WAAW,EAAE,UAAU,CAAC,CAAC","sourcesContent":["/**\n * @license\n * Copyright 2026 Google LLC\n * SPDX-License-Identifier: Apache-2.0\n */\n\nimport {FabElement} from './fab-element.js';\n\ndeclare global {\n interface HTMLElementTagNameMap {\n /** A Material Design component. */\n 'md-gb-fab': FabElement;\n }\n}\n\ncustomElements.define('md-gb-fab', FabElement);\n"]}
@@ -4,6 +4,7 @@
4
4
  //
5
5
 
6
6
  @mixin root {
7
+ // LINT.IfChange
7
8
  --container-color: transparent;
8
9
  --container-height: auto;
9
10
  --container-shape: calc(var(--container-height) / 2);
@@ -13,6 +14,7 @@
13
14
  --outline-width: 1px;
14
15
  --leading-space: 0;
15
16
  --trailing-space: 0;
17
+ // LINT.ThenChange(md-icon-button.ts) keep in sync with `@cssprop` jsdoc tags
16
18
  }
17
19
 
18
20
  @mixin selected {
@@ -5,17 +5,25 @@
5
5
  */
6
6
  import { CSSResultOrNative, LitElement } from 'lit';
7
7
  import type { IconButtonColor, IconButtonSize, IconButtonWidth } from './icon-button.js';
8
- declare global {
9
- interface HTMLElementTagNameMap {
10
- /** A Material Design icon button component. */
11
- 'md-icon-button': IconButton;
12
- }
13
- }
14
8
  declare const baseClass: import("@material/web/labs/behaviors/mixin.js").MixinReturn<import("@material/web/labs/behaviors/mixin.js").MixinReturn<import("@material/web/labs/behaviors/mixin.js").MixinReturn<(abstract new (...args: any[]) => import("../../../behaviors/element-internals.js").WithElementInternals) & typeof LitElement & import("../../../behaviors/form-associated.js").FormAssociatedConstructor, import("../../../behaviors/form-associated.js").FormAssociated>, import("../../../behaviors/form-submitter.js").FormSubmitter>>;
15
9
  /**
16
10
  * A Material Design icon button component.
11
+ *
12
+ * @slot - Used to display an icon.
13
+ * @fires {InputEvent} input - Fired when a toggle icon button is selected or unselected. --bubbles --composed
14
+ * @fires {Event} change - Fired when a toggle button is selected or unselected. --bubbles
15
+ * @csspart icon-btn - The icon button's root element.
16
+ * @cssprop --container-color
17
+ * @cssprop --container-height
18
+ * @cssprop --container-shape
19
+ * @cssprop --icon-color
20
+ * @cssprop --icon-size
21
+ * @cssprop --outline-color
22
+ * @cssprop --outline-width
23
+ * @cssprop --leading-space
24
+ * @cssprop --trailing-space
17
25
  */
18
- export declare class IconButton extends baseClass {
26
+ export declare class IconButtonElement extends baseClass {
19
27
  /** @nocollapse */
20
28
  static shadowRootOptions: ShadowRootInit;
21
29
  static styles: CSSResultOrNative[];