@m3e/fab 1.0.0-rc.1

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 (45) hide show
  1. package/LICENSE +22 -0
  2. package/README.md +181 -0
  3. package/cem.config.mjs +16 -0
  4. package/demo/index.html +80 -0
  5. package/dist/css-custom-data.json +1247 -0
  6. package/dist/custom-elements.json +1363 -0
  7. package/dist/html-custom-data.json +78 -0
  8. package/dist/index.js +1393 -0
  9. package/dist/index.js.map +1 -0
  10. package/dist/index.min.js +310 -0
  11. package/dist/index.min.js.map +1 -0
  12. package/dist/src/FabElement.d.ts +355 -0
  13. package/dist/src/FabElement.d.ts.map +1 -0
  14. package/dist/src/FabSize.d.ts +3 -0
  15. package/dist/src/FabSize.d.ts.map +1 -0
  16. package/dist/src/FabVariant.d.ts +3 -0
  17. package/dist/src/FabVariant.d.ts.map +1 -0
  18. package/dist/src/index.d.ts +4 -0
  19. package/dist/src/index.d.ts.map +1 -0
  20. package/dist/src/styles/FabSizeStyle.d.ts +7 -0
  21. package/dist/src/styles/FabSizeStyle.d.ts.map +1 -0
  22. package/dist/src/styles/FabSizeToken.d.ts +25 -0
  23. package/dist/src/styles/FabSizeToken.d.ts.map +1 -0
  24. package/dist/src/styles/FabStyle.d.ts +7 -0
  25. package/dist/src/styles/FabStyle.d.ts.map +1 -0
  26. package/dist/src/styles/FabVariantStyle.d.ts +7 -0
  27. package/dist/src/styles/FabVariantStyle.d.ts.map +1 -0
  28. package/dist/src/styles/FabVariantToken.d.ts +52 -0
  29. package/dist/src/styles/FabVariantToken.d.ts.map +1 -0
  30. package/dist/src/styles/index.d.ts +4 -0
  31. package/dist/src/styles/index.d.ts.map +1 -0
  32. package/eslint.config.mjs +13 -0
  33. package/package.json +49 -0
  34. package/rollup.config.js +32 -0
  35. package/src/FabElement.ts +448 -0
  36. package/src/FabSize.ts +2 -0
  37. package/src/FabVariant.ts +9 -0
  38. package/src/index.ts +3 -0
  39. package/src/styles/FabSizeStyle.ts +45 -0
  40. package/src/styles/FabSizeToken.ts +102 -0
  41. package/src/styles/FabStyle.ts +155 -0
  42. package/src/styles/FabVariantStyle.ts +95 -0
  43. package/src/styles/FabVariantToken.ts +1068 -0
  44. package/src/styles/index.ts +3 -0
  45. package/tsconfig.json +9 -0
@@ -0,0 +1,310 @@
1
+ /**
2
+ * @license MIT
3
+ * Copyright (c) 2025 matraic
4
+ * See LICENSE file in the project root for full license text.
5
+ */
6
+ import{unsafeCSS as e,css as a,LitElement as t,html as o}from"lit";import{DesignToken as r,KeyboardClick as i,LinkButton as n,FormSubmitter as l,Focusable as c,DisabledInteractive as s,Disabled as d,AttachInternals as v,Role as y,PressedController as b,renderPseudoLink as m}from"@m3e/core";function p(e,a,t,o){var r,i=arguments.length,n=i<3?a:null===o?o=Object.getOwnPropertyDescriptor(a,t):o;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)n=Reflect.decorate(e,a,t,o);else for(var l=e.length-1;l>=0;l--)(r=e[l])&&(n=(i<3?r(n):i>3?r(a,t,n):r(a,t))||n);return i>3&&n&&Object.defineProperty(a,t,n),n}function f(e,a,t,o){if("a"===t&&!o)throw new TypeError("Private accessor was defined without a getter");if("function"==typeof a?e!==a||!o:!a.has(e))throw new TypeError("Cannot read private member from an object whose class did not declare it");return"m"===t?o:"a"===t?o.call(e):o?o.value:a.get(e)}"function"==typeof SuppressedError&&SuppressedError;
7
+ /**
8
+ * @license
9
+ * Copyright 2017 Google LLC
10
+ * SPDX-License-Identifier: BSD-3-Clause
11
+ */
12
+ const h=globalThis,u=h.ShadowRoot&&(void 0===h.ShadyCSS||h.ShadyCSS.nativeShadow)&&"adoptedStyleSheets"in Document.prototype&&"replace"in CSSStyleSheet.prototype,$=Symbol(),C=new WeakMap;
13
+ /**
14
+ * @license
15
+ * Copyright 2019 Google LLC
16
+ * SPDX-License-Identifier: BSD-3-Clause
17
+ */let g=class{constructor(e,a,t){if(this._$cssResult$=!0,t!==$)throw Error("CSSResult is not constructable. Use `unsafeCSS` or `css` instead.");this.cssText=e,this.t=a}get styleSheet(){let e=this.o;const a=this.t;if(u&&void 0===e){const t=void 0!==a&&1===a.length;t&&(e=C.get(a)),void 0===e&&((this.o=e=new CSSStyleSheet).replaceSync(this.cssText),t&&C.set(a,e))}return e}toString(){return this.cssText}};const x=(e,a)=>{if(u)e.adoptedStyleSheets=a.map(e=>e instanceof CSSStyleSheet?e:e.styleSheet);else for(const t of a){const a=document.createElement("style"),o=h.litNonce;void 0!==o&&a.setAttribute("nonce",o),a.textContent=t.cssText,e.appendChild(a)}},w=u?e=>e:e=>e instanceof CSSStyleSheet?(e=>{let a="";for(const t of e.cssRules)a+=t.cssText;return(e=>new g("string"==typeof e?e:e+"",void 0,$))(a)})(e):e,{is:S,defineProperty:E,getOwnPropertyDescriptor:T,getOwnPropertyNames:O,getOwnPropertySymbols:L,getPrototypeOf:_}=Object,P=globalThis,z=P.trustedTypes,k=z?z.emptyScript:"",U=P.reactiveElementPolyfillSupport,A=(e,a)=>e,R={toAttribute(e,a){switch(a){case Boolean:e=e?k:null;break;case Object:case Array:e=null==e?e:JSON.stringify(e)}return e},fromAttribute(e,a){let t=e;switch(a){case Boolean:t=null!==e;break;case Number:t=null===e?null:Number(e);break;case Object:case Array:try{t=JSON.parse(e)}catch(e){t=null}}return t}},j=(e,a)=>!S(e,a),M={attribute:!0,type:String,converter:R,reflect:!1,useDefault:!1,hasChanged:j};
18
+ /**
19
+ * @license
20
+ * Copyright 2017 Google LLC
21
+ * SPDX-License-Identifier: BSD-3-Clause
22
+ */Symbol.metadata??=Symbol("metadata"),P.litPropertyMetadata??=new WeakMap;class I extends HTMLElement{static addInitializer(e){this._$Ei(),(this.l??=[]).push(e)}static get observedAttributes(){return this.finalize(),this._$Eh&&[...this._$Eh.keys()]}static createProperty(e,a=M){if(a.state&&(a.attribute=!1),this._$Ei(),this.prototype.hasOwnProperty(e)&&((a=Object.create(a)).wrapped=!0),this.elementProperties.set(e,a),!a.noAccessor){const t=Symbol(),o=this.getPropertyDescriptor(e,t,a);void 0!==o&&E(this.prototype,e,o)}}static getPropertyDescriptor(e,a,t){const{get:o,set:r}=T(this.prototype,e)??{get(){return this[a]},set(e){this[a]=e}};return{get:o,set(a){const i=o?.call(this);r?.call(this,a),this.requestUpdate(e,i,t)},configurable:!0,enumerable:!0}}static getPropertyOptions(e){return this.elementProperties.get(e)??M}static _$Ei(){if(this.hasOwnProperty(A("elementProperties")))return;const e=_(this);e.finalize(),void 0!==e.l&&(this.l=[...e.l]),this.elementProperties=new Map(e.elementProperties)}static finalize(){if(this.hasOwnProperty(A("finalized")))return;if(this.finalized=!0,this._$Ei(),this.hasOwnProperty(A("properties"))){const e=this.properties,a=[...O(e),...L(e)];for(const t of a)this.createProperty(t,e[t])}const e=this[Symbol.metadata];if(null!==e){const a=litPropertyMetadata.get(e);if(void 0!==a)for(const[e,t]of a)this.elementProperties.set(e,t)}this._$Eh=new Map;for(const[e,a]of this.elementProperties){const t=this._$Eu(e,a);void 0!==t&&this._$Eh.set(t,e)}this.elementStyles=this.finalizeStyles(this.styles)}static finalizeStyles(e){const a=[];if(Array.isArray(e)){const t=new Set(e.flat(1/0).reverse());for(const e of t)a.unshift(w(e))}else void 0!==e&&a.push(w(e));return a}static _$Eu(e,a){const t=a.attribute;return!1===t?void 0:"string"==typeof t?t:"string"==typeof e?e.toLowerCase():void 0}constructor(){super(),this._$Ep=void 0,this.isUpdatePending=!1,this.hasUpdated=!1,this._$Em=null,this._$Ev()}_$Ev(){this._$ES=new Promise(e=>this.enableUpdating=e),this._$AL=new Map,this._$E_(),this.requestUpdate(),this.constructor.l?.forEach(e=>e(this))}addController(e){(this._$EO??=new Set).add(e),void 0!==this.renderRoot&&this.isConnected&&e.hostConnected?.()}removeController(e){this._$EO?.delete(e)}_$E_(){const e=new Map,a=this.constructor.elementProperties;for(const t of a.keys())this.hasOwnProperty(t)&&(e.set(t,this[t]),delete this[t]);e.size>0&&(this._$Ep=e)}createRenderRoot(){const e=this.shadowRoot??this.attachShadow(this.constructor.shadowRootOptions);return x(e,this.constructor.elementStyles),e}connectedCallback(){this.renderRoot??=this.createRenderRoot(),this.enableUpdating(!0),this._$EO?.forEach(e=>e.hostConnected?.())}enableUpdating(e){}disconnectedCallback(){this._$EO?.forEach(e=>e.hostDisconnected?.())}attributeChangedCallback(e,a,t){this._$AK(e,t)}_$ET(e,a){const t=this.constructor.elementProperties.get(e),o=this.constructor._$Eu(e,t);if(void 0!==o&&!0===t.reflect){const r=(void 0!==t.converter?.toAttribute?t.converter:R).toAttribute(a,t.type);this._$Em=e,null==r?this.removeAttribute(o):this.setAttribute(o,r),this._$Em=null}}_$AK(e,a){const t=this.constructor,o=t._$Eh.get(e);if(void 0!==o&&this._$Em!==o){const e=t.getPropertyOptions(o),r="function"==typeof e.converter?{fromAttribute:e.converter}:void 0!==e.converter?.fromAttribute?e.converter:R;this._$Em=o;const i=r.fromAttribute(a,e.type);this[o]=i??this._$Ej?.get(o)??i,this._$Em=null}}requestUpdate(e,a,t){if(void 0!==e){const o=this.constructor,r=this[e];if(t??=o.getPropertyOptions(e),!((t.hasChanged??j)(r,a)||t.useDefault&&t.reflect&&r===this._$Ej?.get(e)&&!this.hasAttribute(o._$Eu(e,t))))return;this.C(e,a,t)}!1===this.isUpdatePending&&(this._$ES=this._$EP())}C(e,a,{useDefault:t,reflect:o,wrapped:r},i){t&&!(this._$Ej??=new Map).has(e)&&(this._$Ej.set(e,i??a??this[e]),!0!==r||void 0!==i)||(this._$AL.has(e)||(this.hasUpdated||t||(a=void 0),this._$AL.set(e,a)),!0===o&&this._$Em!==e&&(this._$Eq??=new Set).add(e))}async _$EP(){this.isUpdatePending=!0;try{await this._$ES}catch(e){Promise.reject(e)}const e=this.scheduleUpdate();return null!=e&&await e,!this.isUpdatePending}scheduleUpdate(){return this.performUpdate()}performUpdate(){if(!this.isUpdatePending)return;if(!this.hasUpdated){if(this.renderRoot??=this.createRenderRoot(),this._$Ep){for(const[e,a]of this._$Ep)this[e]=a;this._$Ep=void 0}const e=this.constructor.elementProperties;if(e.size>0)for(const[a,t]of e){const{wrapped:e}=t,o=this[a];!0!==e||this._$AL.has(a)||void 0===o||this.C(a,void 0,t,o)}}let e=!1;const a=this._$AL;try{e=this.shouldUpdate(a),e?(this.willUpdate(a),this._$EO?.forEach(e=>e.hostUpdate?.()),this.update(a)):this._$EM()}catch(a){throw e=!1,this._$EM(),a}e&&this._$AE(a)}willUpdate(e){}_$AE(e){this._$EO?.forEach(e=>e.hostUpdated?.()),this.hasUpdated||(this.hasUpdated=!0,this.firstUpdated(e)),this.updated(e)}_$EM(){this._$AL=new Map,this.isUpdatePending=!1}get updateComplete(){return this.getUpdateComplete()}getUpdateComplete(){return this._$ES}shouldUpdate(e){return!0}update(e){this._$Eq&&=this._$Eq.forEach(e=>this._$ET(e,this[e])),this._$EM()}updated(e){}firstUpdated(e){}}I.elementStyles=[],I.shadowRootOptions={mode:"open"},I[A("elementProperties")]=new Map,I[A("finalized")]=new Map,U?.({ReactiveElement:I}),(P.reactiveElementVersions??=[]).push("2.1.1");
23
+ /**
24
+ * @license
25
+ * Copyright 2017 Google LLC
26
+ * SPDX-License-Identifier: BSD-3-Clause
27
+ */
28
+ const H={attribute:!0,type:String,converter:R,reflect:!1,hasChanged:j},q=(e=H,a,t)=>{const{kind:o,metadata:r}=t;let i=globalThis.litPropertyMetadata.get(r);if(void 0===i&&globalThis.litPropertyMetadata.set(r,i=new Map),"setter"===o&&((e=Object.create(e)).wrapped=!0),i.set(t.name,e),"accessor"===o){const{name:o}=t;return{set(t){const r=a.get.call(this);a.set.call(this,t),this.requestUpdate(o,r,e)},init(a){return void 0!==a&&this.C(o,void 0,e,a),a}}}if("setter"===o){const{name:o}=t;return function(t){const r=this[o];a.call(this,t),this.requestUpdate(o,r,e)}}throw Error("Unsupported decorator location: "+o)};function D(e){return(a,t)=>"object"==typeof t?q(e,a,t):((e,a,t)=>{const o=a.hasOwnProperty(t);return a.constructor.createProperty(t,e),o?Object.getOwnPropertyDescriptor(a,t):void 0})(e,a,t)}
29
+ /**
30
+ * @license
31
+ * Copyright 2017 Google LLC
32
+ * SPDX-License-Identifier: BSD-3-Clause
33
+ */
34
+ /**
35
+ * @license
36
+ * Copyright 2017 Google LLC
37
+ * SPDX-License-Identifier: BSD-3-Clause
38
+ */
39
+ function W(e,a){return(a,t,o)=>((e,a,t)=>(t.configurable=!0,t.enumerable=!0,Reflect.decorate&&"object"!=typeof a&&Object.defineProperty(e,a,t),t))(a,t,{get(){return(a=>a.renderRoot?.querySelector(e)??null)(this)}})}const F=a`
40
+ :host {
41
+ display: inline-block;
42
+ outline: none;
43
+ user-select: none;
44
+ }
45
+ .base {
46
+ box-sizing: border-box;
47
+ vertical-align: middle;
48
+ display: inline-flex;
49
+ align-items: center;
50
+ justify-content: center;
51
+ position: relative;
52
+ width: 100%;
53
+ transition: ${e(`background-color ${r.motion.duration.short4} ${r.motion.easing.standard}`)};
54
+ }
55
+ .touch {
56
+ position: absolute;
57
+ height: 3rem;
58
+ left: 0;
59
+ right: 0;
60
+ }
61
+ .wrapper {
62
+ width: 100%;
63
+ overflow: hidden;
64
+ display: inline-flex;
65
+ align-items: center;
66
+ }
67
+ .label {
68
+ justify-self: center;
69
+ flex: 1 1 auto;
70
+ text-align: center;
71
+ white-space: nowrap;
72
+ overflow: hidden;
73
+ text-overflow: ellipsis;
74
+ transition: ${e(`color ${r.motion.duration.short4} ${r.motion.easing.standard}`)};
75
+ }
76
+ .icon {
77
+ transition: ${e(`color ${r.motion.duration.short4} ${r.motion.easing.standard}`)};
78
+ }
79
+ :host(:not(:disabled):not([disabled-interactive])) {
80
+ cursor: pointer;
81
+ }
82
+ :host([disabled-interactive]) {
83
+ cursor: not-allowed;
84
+ }
85
+ .close-icon,
86
+ ::slotted(:not([slot])),
87
+ ::slotted([slot="close-icon"]) {
88
+ font-size: inherit !important;
89
+ flex: none;
90
+ }
91
+ .close-icon,
92
+ ::slotted(svg:not([slot])),
93
+ ::slotted(svg[slot="close-icon"]) {
94
+ width: 1em;
95
+ height: 1em;
96
+ }
97
+ :host(:not([extended])) ::slotted([slot="label"]),
98
+ .base.-with-menu ::slotted([slot="label"]),
99
+ .base:not(.-with-menu) ::slotted([slot="close-icon"]),
100
+ .base:not(.-with-menu) .close-icon,
101
+ :host([aria-expanded="true"]) .base.-with-menu ::slotted(:not([slot])),
102
+ :host([aria-expanded="false"]) .base.-with-menu ::slotted([slot="close-icon"]),
103
+ :host([aria-expanded="false"]) .base.-with-menu .close-icon {
104
+ display: none;
105
+ }
106
+ :host([aria-expanded="true"]) .base.-with-menu {
107
+ border-radius: var(--m3e-fab-menu-close-button-container-shape, ${r.shape.corner.full});
108
+ height: calc(var(--m3e-fab-menu-close-button-container-height, 3.5rem) + ${r.density.calc(-3)});
109
+ }
110
+ :host([aria-expanded="true"]) .base.-with-menu .wrapper {
111
+ padding-inline-start: calc(var(--m3e-fab-menu-close-button-leading-space, 1rem) + ${r.density.calc(-3)});
112
+ padding-inline-end: calc(var(--m3e-fab-menu-close-button-trailing-space, 1rem) + ${r.density.calc(-3)});
113
+ }
114
+ :host([aria-expanded="true"]) .base.-with-menu .icon {
115
+ font-size: calc(var(--m3e-fab-menu-close-button-icon-size, 1.5rem) + ${r.density.calc(-3)});
116
+ --m3e-icon-size: calc(var(--m3e-fab-menu-close-button-icon-size, 1.5rem) + ${r.density.calc(-3)});
117
+ }
118
+ .base.-with-menu {
119
+ transition: height ${r.motion.spring.fastSpatial};
120
+ }
121
+ .base.-with-menu .wrapper {
122
+ transition: padding ${r.motion.spring.fastSpatial};
123
+ }
124
+ a {
125
+ all: unset;
126
+ display: block;
127
+ position: absolute;
128
+ top: 0px;
129
+ left: 0px;
130
+ right: 0px;
131
+ bottom: 0px;
132
+ z-index: 1;
133
+ }
134
+ @media (forced-colors: active) {
135
+ .base,
136
+ .icon {
137
+ transition: none;
138
+ }
139
+ .base {
140
+ outline-style: solid;
141
+ }
142
+ :host([variant]:not(:disabled):not([disabled-interactive])) .base {
143
+ background-color: ButtonFace;
144
+ outline-color: ButtonText;
145
+ }
146
+ :host([variant]:not(:disabled):not([disabled-interactive])) .label,
147
+ :host([variant]:not(:disabled):not([disabled-interactive])) .icon {
148
+ color: ButtonText;
149
+ }
150
+ :host([variant]:disabled) .base,
151
+ :host([variant][disabled-interactive]) .base {
152
+ outline-color: GrayText;
153
+ background-color: unset;
154
+ }
155
+ :host([variant]:disabled) .label,
156
+ :host([variant][disabled-interactive]) .label,
157
+ :host([variant]:disabled) .icon,
158
+ :host([variant][disabled-interactive]) .icon {
159
+ color: GrayText;
160
+ }
161
+ :host([size="small"]) .base {
162
+ outline-offset: calc(0px - var(--m3e-button-small-outline-thickness, 1px));
163
+ outline-width: var(--m3e-button-small-outline-thickness, 1px);
164
+ }
165
+ :host([size="medium"]) .base {
166
+ outline-offset: calc(0px - var(--m3e-button-medium-outline-thickness, 1px));
167
+ outline-width: var(--m3e-button-medium-outline-thickness, 1px);
168
+ }
169
+ :host([size="large"]) .base {
170
+ outline-offset: calc(0px - var(--m3e-button-large-outline-thickness, 0.125rem));
171
+ outline-width: var(--m3e-button-large-outline-thickness, 0.125rem);
172
+ }
173
+ }
174
+ @media (prefers-reduced-motion) {
175
+ .base,
176
+ .base.resting,
177
+ .base.pressed,
178
+ .label,
179
+ .icon {
180
+ transition: none;
181
+ }
182
+ }
183
+ `,B={small:{containerHeight:e(`calc(var(--m3e-fab-small-container-height, 3.5rem) + ${r.density.calc(-3)})`),labelTextFontSize:e(`var(--m3e-fab-small-label-text-font-size, ${r.typescale.standard.title.medium.fontSize})`),labelTextFontWeight:e(`var(--m3e-fab-small-label-text-font-weight, ${r.typescale.standard.title.medium.fontWeight})`),labelTextLineHeight:e(`var(--m3e-fab-small-label-text-line-height, ${r.typescale.standard.title.medium.lineHeight})`),labelTextTracking:e(`var(--m3e-fab-small-label-text-tracking, ${r.typescale.standard.title.medium.tracking})`),iconSize:e(`calc(var(--m3e-fab-small-icon-size, 1.5rem) + ${r.density.calc(-3)})`),extendedIconSize:e("var(--m3e-fab-small-icon-size, 1.5rem)"),shape:e(`var(--m3e-fab-small-shape, ${r.shape.corner.large})`),leadingSpace:e(`calc(var(--m3e-fab-small-leading-space, 1rem) + ${r.density.calc(-3)})`),trailingSpace:e(`calc(var(--m3e-fab-small-trailing-space, 1rem) + ${r.density.calc(-3)})`),iconLabelSpace:e("var(--m3e-fab-small-icon-label-space, 0.5rem)"),extendedLeadingSpace:e("var(--m3e-fab-small-leading-space, 1rem)"),extendedTrailingSpace:e("var(--m3e-fab-small-trailing-space, 1rem)")},medium:{containerHeight:e(`calc(var(--m3e-fab-medium-container-height, 5rem) + ${r.density.calc(-3)})`),labelTextFontSize:e(`var(--m3e-fab-medium-label-text-font-size, ${r.typescale.standard.title.large.fontSize})`),labelTextFontWeight:e(`var(--m3e-fab-medium-label-text-font-weight, ${r.typescale.standard.title.large.fontWeight})`),labelTextLineHeight:e(`var(--m3e-fab-medium-label-text-line-height, ${r.typescale.standard.title.large.lineHeight})`),labelTextTracking:e(`var(--m3e-fab-medium-label-text-tracking, ${r.typescale.standard.title.large.tracking})`),iconSize:e(`calc(var(--m3e-fab-medium-icon-size, 1.75rem) + ${r.density.calc(-3)})`),extendedIconSize:e("var(--m3e-fab-medium-icon-size, 1.75rem)"),shape:e(`var(--m3e-fab-medium-shape, ${r.shape.corner.largeIncreased})`),leadingSpace:e(`calc(var(--m3e-fab-medium-leading-space, 1.625rem) + ${r.density.calc(-3)})`),trailingSpace:e(`calc(var(--m3e-fab-medium-trailing-space, 1.625rem) + ${r.density.calc(-3)})`),iconLabelSpace:e("var(--m3e-fab-medium-icon-label-space, 0.75rem)"),extendedLeadingSpace:e("var(--m3e-fab-medium-leading-space, 1.625rem)"),extendedTrailingSpace:e("var(--m3e-fab-medium-trailing-space, 1.625rem)")},large:{containerHeight:e(`calc(var(--m3e-fab-large-container-height, 6rem) + ${r.density.calc(-3)})`),labelTextFontSize:e(`var(--m3e-fab-large-label-text-font-size, ${r.typescale.standard.headline.small.fontSize})`),labelTextFontWeight:e(`var(--m3e-fab-large-label-text-font-weight, ${r.typescale.standard.headline.small.fontWeight})`),labelTextLineHeight:e(`var(--m3e-fab-large-label-text-line-height, ${r.typescale.standard.headline.small.lineHeight})`),labelTextTracking:e(`var(--m3e-fab-large-label-text-tracking, ${r.typescale.standard.headline.small.tracking})`),iconSize:e(`calc(var(--m3e-fab-large-icon-size, 2.25rem) + ${r.density.calc(-3)})`),extendedIconSize:e("var(--m3e-fab-large-icon-size, 2.25rem)"),shape:e(`var(--m3e-fab-large-shape, ${r.shape.corner.extraLarge})`),leadingSpace:e(`calc(var(--m3e-fab-large-leading-space, 1.75rem) + ${r.density.calc(-3)})`),trailingSpace:e(`calc(var(--m3e-fab-large-trailing-space, 1.75rem) + ${r.density.calc(-3)})`),iconLabelSpace:e("var(--m3e-fab-large-icon-label-space, 1rem)"),extendedLeadingSpace:e("var(--m3e-fab-large-leading-space, 1.75rem)"),extendedTrailingSpace:e("var(--m3e-fab-large-trailing-space, 1.75rem)")}};function N(t){return a`
184
+ :host([size="${e(t)}"]) .base {
185
+ height: ${B[t].containerHeight};
186
+ }
187
+ :host([size="${e(t)}"]) .base {
188
+ border-radius: ${B[t].shape};
189
+ }
190
+ :host([size="${e(t)}"]) .label {
191
+ font-size: ${B[t].labelTextFontSize};
192
+ font-weight: ${B[t].labelTextFontWeight};
193
+ line-height: ${B[t].labelTextLineHeight};
194
+ letter-spacing: ${B[t].labelTextTracking};
195
+ }
196
+ :host([size="${e(t)}"]:not([extended])) .wrapper {
197
+ padding-inline-start: ${B[t].leadingSpace};
198
+ padding-inline-end: ${B[t].trailingSpace};
199
+ }
200
+ :host([size="${e(t)}"]:not([extended])) .icon {
201
+ font-size: ${B[t].iconSize};
202
+ --m3e-icon-size: ${B[t].iconSize};
203
+ }
204
+ :host([size="${e(t)}"][extended]) .wrapper {
205
+ padding-inline-start: ${B[t].extendedLeadingSpace};
206
+ padding-inline-end: ${B[t].extendedTrailingSpace};
207
+ column-gap: ${B[t].iconLabelSpace};
208
+ }
209
+ :host([size="${e(t)}"][extended]) .icon {
210
+ font-size: ${B[t].extendedIconSize};
211
+ --m3e-icon-size: ${B[t].extendedIconSize};
212
+ }
213
+ `}const K=[N("small"),N("medium"),N("large")],G={primary:{labelTextColor:e(`var(--m3e-primary-fab-label-text-color, ${r.color.onPrimary})`),iconColor:e(`var(--m3e-primary-fab-icon-color, ${r.color.onPrimary})`),containerColor:e(`var(--m3e-primary-fab-container-color, ${r.color.primary})`),containerElevation:e(`var(--m3e-primary-fab-container-elevation, ${r.elevation.level3})`),loweredContainerElevation:e(`var(--m3e-primary-fab-lowered-container-elevation, ${r.elevation.level2})`),disabled:{containerColor:e(`var(--m3e-primary-fab-disabled-container-color, ${r.color.onSurface})`),containerOpacity:e("var(--m3e-primary-fab-disabled-container-opacity, 10%)"),iconColor:e(`var(--m3e-primary-fab-disabled-icon-color, ${r.color.onSurface})`),iconOpacity:e("var(--m3e-primary-fab-disabled-icon-opacity, 38%)"),labelTextColor:e(`var(--m3e-primary-fab-disabled-label-text-color, ${r.color.onSurface})`),labelTextOpacity:e("var(--m3e-primary-fab-disabled-label-text-opacity, 38%)"),containerElevation:e(`var(--m3e-primary-fab-disabled-container-elevation, ${r.elevation.level0})`),loweredContainerElevation:e(`var(--m3e-primary-fab-lowered-disabled-container-elevation, ${r.elevation.level0})`)},hover:{iconColor:e(`var(--m3e-primary-fab-hover-icon-color, ${r.color.onPrimary})`),labelTextColor:e(`var(--m3e-primary-fab-hover-label-text-color, ${r.color.onPrimary})`),stateLayerColor:e(`var(--m3e-primary-fab-hover-state-layer-color, ${r.color.onPrimary})`),stateLayerOpacity:e(`var(--m3e-primary-fab-hover-state-layer-opacity, ${r.state.hoverStateLayerOpacity})`),containerElevation:e(`var(--m3e-primary-fab-hover-container-elevation, ${r.elevation.level4})`),loweredContainerElevation:e(`var(--m3e-primary-fab-lowered-hover-container-elevation, ${r.elevation.level3})`)},focus:{iconColor:e(`var(--m3e-primary-fab-focus-icon-color, ${r.color.onPrimary})`),labelTextColor:e(`var(--m3e-primary-fab-focus-label-text-color, ${r.color.onPrimary})`),stateLayerColor:e(`var(--m3e-primary-fab-focus-state-layer-color, ${r.color.onPrimary})`),stateLayerOpacity:e(`var(--m3e-primary-fab-focus-state-layer-opacity, ${r.state.focusStateLayerOpacity})`),containerElevation:e(`var(--m3e-primary-fab-focus-container-elevation, ${r.elevation.level3})`),loweredContainerElevation:e(`var(--m3e-primary-fab-lowered-focus-container-elevation, ${r.elevation.level2})`)},pressed:{iconColor:e(`var(--m3e-primary-fab-pressed-icon-color, ${r.color.onPrimary})`),labelTextColor:e(`var(--m3e-primary-fab-pressed-label-text-color, ${r.color.onPrimary})`),stateLayerColor:e(`var(--m3e-primary-fab-pressed-state-layer-color, ${r.color.onPrimary})`),stateLayerOpacity:e(`var(--m3e-primary-fab-pressed-state-layer-opacity, ${r.state.pressedStateLayerOpacity})`),containerElevation:e(`var(--m3e-primary-fab-pressed-container-elevation, ${r.elevation.level3})`),loweredContainerElevation:e(`var(--m3e-primary-fab-lowered-pressed-container-elevation, ${r.elevation.level2})`)}},secondary:{labelTextColor:e(`var(--m3e-secondary-fab-label-text-color, ${r.color.onSecondary})`),iconColor:e(`var(--m3e-secondary-fab-icon-color, ${r.color.onSecondary})`),containerColor:e(`var(--m3e-secondary-fab-container-color, ${r.color.secondary})`),containerElevation:e(`var(--m3e-secondary-fab-container-elevation, ${r.elevation.level3})`),loweredContainerElevation:e(`var(--m3e-secondary-fab-lowered-container-elevation, ${r.elevation.level2})`),disabled:{containerColor:e(`var(--m3e-secondary-fab-disabled-container-color, ${r.color.onSurface})`),containerOpacity:e("var(--m3e-secondary-fab-disabled-container-opacity, 10%)"),iconColor:e(`var(--m3e-secondary-fab-disabled-icon-color, ${r.color.onSurface})`),iconOpacity:e("var(--m3e-secondary-fab-disabled-icon-opacity, 38%)"),labelTextColor:e(`var(--m3e-secondary-fab-disabled-label-text-color, ${r.color.onSurface})`),labelTextOpacity:e("var(--m3e-secondary-fab-disabled-label-text-opacity, 38%)"),containerElevation:e(`var(--m3e-secondary-fab-disabled-container-elevation, ${r.elevation.level0})`),loweredContainerElevation:e(`var(--m3e-secondary-fab-lowered-disabled-container-elevation, ${r.elevation.level0})`)},hover:{iconColor:e(`var(--m3e-secondary-fab-hover-icon-color, ${r.color.onSecondary})`),labelTextColor:e(`var(--m3e-secondary-fab-hover-label-text-color, ${r.color.onSecondary})`),stateLayerColor:e(`var(--m3e-secondary-fab-hover-state-layer-color, ${r.color.onSecondary})`),stateLayerOpacity:e(`var(--m3e-secondary-fab-hover-state-layer-opacity, ${r.state.hoverStateLayerOpacity})`),containerElevation:e(`var(--m3e-secondary-fab-hover-container-elevation, ${r.elevation.level4})`),loweredContainerElevation:e(`var(--m3e-secondary-fab-lowered-hover-container-elevation, ${r.elevation.level3})`)},focus:{iconColor:e(`var(--m3e-secondary-fab-focus-icon-color, ${r.color.onSecondary})`),labelTextColor:e(`var(--m3e-secondary-fab-focus-label-text-color, ${r.color.onSecondary})`),stateLayerColor:e(`var(--m3e-secondary-fab-focus-state-layer-color, ${r.color.onSecondary})`),stateLayerOpacity:e(`var(--m3e-secondary-fab-focus-state-layer-opacity, ${r.state.focusStateLayerOpacity})`),containerElevation:e(`var(--m3e-secondary-fab-focus-container-elevation, ${r.elevation.level3})`),loweredContainerElevation:e(`var(--m3e-secondary-fab-lowered-focus-container-elevation, ${r.elevation.level2})`)},pressed:{iconColor:e(`var(--m3e-secondary-fab-pressed-icon-color, ${r.color.onSecondary})`),labelTextColor:e(`var(--m3e-secondary-fab-pressed-label-text-color, ${r.color.onSecondary})`),stateLayerColor:e(`var(--m3e-secondary-fab-pressed-state-layer-color, ${r.color.onSecondary})`),stateLayerOpacity:e(`var(--m3e-secondary-fab-pressed-state-layer-opacity, ${r.state.pressedStateLayerOpacity})`),containerElevation:e(`var(--m3e-secondary-fab-pressed-container-elevation, ${r.elevation.level3})`),loweredContainerElevation:e(`var(--m3e-secondary-fab-lowered-pressed-container-elevation, ${r.elevation.level2})`)}},tertiary:{labelTextColor:e(`var(--m3e-tertiary-fab-label-text-color, ${r.color.onTertiary})`),iconColor:e(`var(--m3e-tertiary-fab-icon-color, ${r.color.onTertiary})`),containerColor:e(`var(--m3e-tertiary-fab-container-color, ${r.color.tertiary})`),containerElevation:e(`var(--m3e-tertiary-fab-container-elevation, ${r.elevation.level3})`),loweredContainerElevation:e(`var(--m3e-tertiary-fab-lowered-container-elevation, ${r.elevation.level2})`),disabled:{containerColor:e(`var(--m3e-tertiary-fab-disabled-container-color, ${r.color.onSurface})`),containerOpacity:e("var(--m3e-tertiary-fab-disabled-container-opacity, 10%)"),iconColor:e(`var(--m3e-tertiary-fab-disabled-icon-color, ${r.color.onSurface})`),iconOpacity:e("var(--m3e-tertiary-fab-disabled-icon-opacity, 38%)"),labelTextColor:e(`var(--m3e-tertiary-fab-disabled-label-text-color, ${r.color.onSurface})`),labelTextOpacity:e("var(--m3e-tertiary-fab-disabled-label-text-opacity, 38%)"),containerElevation:e(`var(--m3e-tertiary-fab-disabled-container-elevation, ${r.elevation.level0})`),loweredContainerElevation:e(`var(--m3e-tertiary-fab-lowered-disabled-container-elevation, ${r.elevation.level0})`)},hover:{iconColor:e(`var(--m3e-tertiary-fab-hover-icon-color, ${r.color.onTertiary})`),labelTextColor:e(`var(--m3e-tertiary-fab-hover-label-text-color, ${r.color.onTertiary})`),stateLayerColor:e(`var(--m3e-tertiary-fab-hover-state-layer-color, ${r.color.onTertiary})`),stateLayerOpacity:e(`var(--m3e-tertiary-fab-hover-state-layer-opacity, ${r.state.hoverStateLayerOpacity})`),containerElevation:e(`var(--m3e-tertiary-fab-hover-container-elevation, ${r.elevation.level4})`),loweredContainerElevation:e(`var(--m3e-tertiary-fab-lowered-hover-container-elevation, ${r.elevation.level3})`)},focus:{iconColor:e(`var(--m3e-tertiary-fab-focus-icon-color, ${r.color.onTertiary})`),labelTextColor:e(`var(--m3e-tertiary-fab-focus-label-text-color, ${r.color.onTertiary})`),stateLayerColor:e(`var(--m3e-tertiary-fab-focus-state-layer-color, ${r.color.onTertiary})`),stateLayerOpacity:e(`var(--m3e-tertiary-fab-focus-state-layer-opacity, ${r.state.focusStateLayerOpacity})`),containerElevation:e(`var(--m3e-tertiary-fab-focus-container-elevation, ${r.elevation.level3})`),loweredContainerElevation:e(`var(--m3e-tertiary-fab-lowered-focus-container-elevation, ${r.elevation.level2})`)},pressed:{iconColor:e(`var(--m3e-tertiary-fab-pressed-icon-color, ${r.color.onTertiary})`),labelTextColor:e(`var(--m3e-tertiary-fab-pressed-label-text-color, ${r.color.onTertiary})`),stateLayerColor:e(`var(--m3e-tertiary-fab-pressed-state-layer-color, ${r.color.onTertiary})`),stateLayerOpacity:e(`var(--m3e-tertiary-fab-pressed-state-layer-opacity, ${r.state.pressedStateLayerOpacity})`),containerElevation:e(`var(--m3e-tertiary-fab-pressed-container-elevation, ${r.elevation.level3})`),loweredContainerElevation:e(`var(--m3e-tertiary-fab-lowered-pressed-container-elevation, ${r.elevation.level2})`)}},"primary-container":{labelTextColor:e(`var(--m3e-primary-container-fab-label-text-color, ${r.color.onPrimaryContainer})`),iconColor:e(`var(--m3e-primary-container-fab-icon-color, ${r.color.onPrimaryContainer})`),containerColor:e(`var(--m3e-primary-container-fab-container-color, ${r.color.primaryContainer})`),containerElevation:e(`var(--m3e-primary-container-fab-container-elevation, ${r.elevation.level3})`),loweredContainerElevation:e(`var(--m3e-primary-container-fab-lowered-container-elevation, ${r.elevation.level2})`),disabled:{containerColor:e(`var(--m3e-primary-container-fab-disabled-container-color, ${r.color.onSurface})`),containerOpacity:e("var(--m3e-primary-container-fab-disabled-container-opacity, 10%)"),iconColor:e(`var(--m3e-primary-container-fab-disabled-icon-color, ${r.color.onSurface})`),iconOpacity:e("var(--m3e-primary-container-fab-disabled-icon-opacity, 38%)"),labelTextColor:e(`var(--m3e-primary-container-fab-disabled-label-text-color, ${r.color.onSurface})`),labelTextOpacity:e("var(--m3e-primary-container-fab-disabled-label-text-opacity, 38%)"),containerElevation:e(`var(--m3e-primary-container-fab-disabled-container-elevation, ${r.elevation.level0})`),loweredContainerElevation:e(`var(--m3e-primary-container-fab-lowered-disabled-container-elevation, ${r.elevation.level0})`)},hover:{iconColor:e(`var(--m3e-primary-container-fab-hover-icon-color, ${r.color.onPrimaryContainer})`),labelTextColor:e(`var(--m3e-primary-container-fab-hover-label-text-color, ${r.color.onPrimaryContainer})`),stateLayerColor:e(`var(--m3e-primary-container-fab-hover-state-layer-color, ${r.color.onPrimaryContainer})`),stateLayerOpacity:e(`var(--m3e-primary-container-fab-hover-state-layer-opacity, ${r.state.hoverStateLayerOpacity})`),containerElevation:e(`var(--m3e-primary-container-fab-hover-container-elevation, ${r.elevation.level4})`),loweredContainerElevation:e(`var(--m3e-primary-container-fab-lowered-hover-container-elevation, ${r.elevation.level3})`)},focus:{iconColor:e(`var(--m3e-primary-container-fab-focus-icon-color, ${r.color.onPrimaryContainer})`),labelTextColor:e(`var(--m3e-primary-container-fab-focus-label-text-color, ${r.color.onPrimaryContainer})`),stateLayerColor:e(`var(--m3e-primary-container-fab-focus-state-layer-color, ${r.color.onPrimaryContainer})`),stateLayerOpacity:e(`var(--m3e-primary-container-fab-focus-state-layer-opacity, ${r.state.focusStateLayerOpacity})`),containerElevation:e(`var(--m3e-primary-container-fab-focus-container-elevation, ${r.elevation.level3})`),loweredContainerElevation:e(`var(--m3e-primary-container-fab-lowered-focus-container-elevation, ${r.elevation.level2})`)},pressed:{iconColor:e(`var(--m3e-primary-container-fab-pressed-icon-color, ${r.color.onPrimaryContainer})`),labelTextColor:e(`var(--m3e-primary-container-fab-pressed-label-text-color, ${r.color.onPrimaryContainer})`),stateLayerColor:e(`var(--m3e-primary-container-fab-pressed-state-layer-color, ${r.color.onPrimaryContainer})`),stateLayerOpacity:e(`var(--m3e-primary-container-fab-pressed-state-layer-opacity, ${r.state.pressedStateLayerOpacity})`),containerElevation:e(`var(--m3e-primary-container-fab-pressed-container-elevation, ${r.elevation.level3})`),loweredContainerElevation:e(`var(--m3e-primary-container-fab-lowered-pressed-container-elevation, ${r.elevation.level2})`)}},"secondary-container":{labelTextColor:e(`var(--m3e-secondary-container-fab-label-text-color, ${r.color.onSecondaryContainer})`),iconColor:e(`var(--m3e-secondary-container-fab-icon-color, ${r.color.onSecondaryContainer})`),containerColor:e(`var(--m3e-secondary-container-fab-container-color, ${r.color.secondaryContainer})`),containerElevation:e(`var(--m3e-secondary-container-fab-container-elevation, ${r.elevation.level3})`),loweredContainerElevation:e(`var(--m3e-secondary-container-fab-lowered-container-elevation, ${r.elevation.level2})`),disabled:{containerColor:e(`var(--m3e-secondary-container-fab-disabled-container-color, ${r.color.onSurface})`),containerOpacity:e("var(--m3e-secondary-container-fab-disabled-container-opacity, 10%)"),iconColor:e(`var(--m3e-secondary-container-fab-disabled-icon-color, ${r.color.onSurface})`),iconOpacity:e("var(--m3e-secondary-container-fab-disabled-icon-opacity, 38%)"),labelTextColor:e(`var(--m3e-secondary-container-fab-disabled-label-text-color, ${r.color.onSurface})`),labelTextOpacity:e("var(--m3e-secondary-container-fab-disabled-label-text-opacity, 38%)"),containerElevation:e(`var(--m3e-secondary-container-fab-disabled-container-elevation, ${r.elevation.level0})`),loweredContainerElevation:e(`var(--m3e-secondary-container-fab-lowered-disabled-container-elevation, ${r.elevation.level0})`)},hover:{iconColor:e(`var(--m3e-secondary-container-fab-hover-icon-color, ${r.color.onSecondaryContainer})`),labelTextColor:e(`var(--m3e-secondary-container-fab-hover-label-text-color, ${r.color.onSecondaryContainer})`),stateLayerColor:e(`var(--m3e-secondary-container-fab-hover-state-layer-color, ${r.color.onSecondaryContainer})`),stateLayerOpacity:e(`var(--m3e-secondary-container-fab-hover-state-layer-opacity, ${r.state.hoverStateLayerOpacity})`),containerElevation:e(`var(--m3e-secondary-container-fab-hover-container-elevation, ${r.elevation.level4})`),loweredContainerElevation:e(`var(--m3e-secondary-container-fab-lowered-hover-container-elevation, ${r.elevation.level3})`)},focus:{iconColor:e(`var(--m3e-secondary-container-fab-focus-icon-color, ${r.color.onSecondaryContainer})`),labelTextColor:e(`var(--m3e-secondary-container-fab-focus-label-text-color, ${r.color.onSecondaryContainer})`),stateLayerColor:e(`var(--m3e-secondary-container-fab-focus-state-layer-color, ${r.color.onSecondaryContainer})`),stateLayerOpacity:e(`var(--m3e-secondary-container-fab-focus-state-layer-opacity, ${r.state.focusStateLayerOpacity})`),containerElevation:e(`var(--m3e-secondary-container-fab-focus-container-elevation, ${r.elevation.level3})`),loweredContainerElevation:e(`var(--m3e-secondary-container-fab-lowered-focus-container-elevation, ${r.elevation.level2})`)},pressed:{iconColor:e(`var(--m3e-secondary-container-fab-pressed-icon-color, ${r.color.onSecondaryContainer})`),labelTextColor:e(`var(--m3e-secondary-container-fab-pressed-label-text-color, ${r.color.onSecondaryContainer})`),stateLayerColor:e(`var(--m3e-secondary-container-fab-pressed-state-layer-color, ${r.color.onSecondaryContainer})`),stateLayerOpacity:e(`var(--m3e-secondary-container-fab-pressed-state-layer-opacity, ${r.state.pressedStateLayerOpacity})`),containerElevation:e(`var(--m3e-secondary-container-fab-pressed-container-elevation, ${r.elevation.level3})`),loweredContainerElevation:e(`var(--m3e-secondary-container-fab-lowered-pressed-container-elevation, ${r.elevation.level2})`)}},"tertiary-container":{labelTextColor:e(`var(--m3e-tertiary-container-fab-label-text-color, ${r.color.onTertiaryContainer})`),iconColor:e(`var(--m3e-tertiary-container-fab-icon-color, ${r.color.onTertiaryContainer})`),containerColor:e(`var(--m3e-tertiary-container-fab-container-color, ${r.color.tertiaryContainer})`),containerElevation:e(`var(--m3e-tertiary-container-fab-container-elevation, ${r.elevation.level3})`),loweredContainerElevation:e(`var(--m3e-tertiary-container-fab-lowered-container-elevation, ${r.elevation.level2})`),disabled:{containerColor:e(`var(--m3e-tertiary-container-fab-disabled-container-color, ${r.color.onSurface})`),containerOpacity:e("var(--m3e-tertiary-container-fab-disabled-container-opacity, 10%)"),iconColor:e(`var(--m3e-tertiary-container-fab-disabled-icon-color, ${r.color.onSurface})`),iconOpacity:e("var(--m3e-tertiary-container-fab-disabled-icon-opacity, 38%)"),labelTextColor:e(`var(--m3e-tertiary-container-fab-disabled-label-text-color, ${r.color.onSurface})`),labelTextOpacity:e("var(--m3e-tertiary-container-fab-disabled-label-text-opacity, 38%)"),containerElevation:e(`var(--m3e-tertiary-container-fab-disabled-container-elevation, ${r.elevation.level0})`),loweredContainerElevation:e(`var(--m3e-tertiary-container-fab-lowered-disabled-container-elevation, ${r.elevation.level0})`)},hover:{iconColor:e(`var(--m3e-tertiary-container-fab-hover-icon-color, ${r.color.onTertiaryContainer})`),labelTextColor:e(`var(--m3e-tertiary-container-fab-hover-label-text-color, ${r.color.onTertiaryContainer})`),stateLayerColor:e(`var(--m3e-tertiary-container-fab-hover-state-layer-color, ${r.color.onTertiaryContainer})`),stateLayerOpacity:e(`var(--m3e-tertiary-container-fab-hover-state-layer-opacity, ${r.state.hoverStateLayerOpacity})`),containerElevation:e(`var(--m3e-tertiary-container-fab-hover-container-elevation, ${r.elevation.level4})`),loweredContainerElevation:e(`var(--m3e-tertiary-container-fab-lowered-hover-container-elevation, ${r.elevation.level3})`)},focus:{iconColor:e(`var(--m3e-tertiary-container-fab-focus-icon-color, ${r.color.onTertiaryContainer})`),labelTextColor:e(`var(--m3e-tertiary-container-fab-focus-label-text-color, ${r.color.onTertiaryContainer})`),stateLayerColor:e(`var(--m3e-tertiary-container-fab-focus-state-layer-color, ${r.color.onTertiaryContainer})`),stateLayerOpacity:e(`var(--m3e-tertiary-container-fab-focus-state-layer-opacity, ${r.state.focusStateLayerOpacity})`),containerElevation:e(`var(--m3e-tertiary-container-fab-focus-container-elevation, ${r.elevation.level3})`),loweredContainerElevation:e(`var(--m3e-tertiary-container-fab-lowered-focus-container-elevation, ${r.elevation.level2})`)},pressed:{iconColor:e(`var(--m3e-tertiary-container-fab-pressed-icon-color, ${r.color.onTertiaryContainer})`),labelTextColor:e(`var(--m3e-tertiary-container-fab-pressed-label-text-color, ${r.color.onTertiaryContainer})`),stateLayerColor:e(`var(--m3e-tertiary-container-fab-pressed-state-layer-color, ${r.color.onTertiaryContainer})`),stateLayerOpacity:e(`var(--m3e-tertiary-container-fab-pressed-state-layer-opacity, ${r.state.pressedStateLayerOpacity})`),containerElevation:e(`var(--m3e-tertiary-container-fab-pressed-container-elevation, ${r.elevation.level3})`),loweredContainerElevation:e(`var(--m3e-tertiary-container-fab-lowered-pressed-container-elevation, ${r.elevation.level2})`)}},surface:{labelTextColor:e(`var(--m3e-surface-fab-label-text-color, ${r.color.primary})`),iconColor:e(`var(--m3e-surface-fab-icon-color, ${r.color.primary})`),containerColor:e(`var(--m3e-surface-fab-container-color, ${r.color.surfaceContainerHigh})`),containerElevation:e(`var(--m3e-surface-fab-container-elevation, ${r.elevation.level3})`),loweredContainerElevation:e(`var(--m3e-surface-fab-lowered-container-elevation, ${r.elevation.level2})`),loweredContainerColor:e(`var(--m3e-surface-fab-lowered-container-color, ${r.color.surfaceContainerLow})`),disabled:{containerColor:e(`var(--m3e-surface-fab-disabled-container-color, ${r.color.onSurface})`),containerOpacity:e("var(--m3e-surface-fab-disabled-container-opacity, 10%)"),iconColor:e(`var(--m3e-surface-fab-disabled-icon-color, ${r.color.onSurface})`),iconOpacity:e("var(--m3e-surface-fab-disabled-icon-opacity, 38%)"),labelTextColor:e(`var(--m3e-surface-fab-disabled-label-text-color, ${r.color.onSurface})`),labelTextOpacity:e("var(--m3e-surface-fab-disabled-label-text-opacity, 38%)"),containerElevation:e(`var(--m3e-surface-fab-disabled-container-elevation, ${r.elevation.level0})`),loweredContainerElevation:e(`var(--m3e-surface-fab-lowered-disabled-container-elevation, ${r.elevation.level0})`)},hover:{iconColor:e(`var(--m3e-surface-fab-hover-icon-color, ${r.color.primary})`),labelTextColor:e(`var(--m3e-surface-fab-hover-label-text-color, ${r.color.primary})`),stateLayerColor:e(`var(--m3e-surface-fab-hover-state-layer-color, ${r.color.primary})`),stateLayerOpacity:e(`var(--m3e-surface-fab-hover-state-layer-opacity, ${r.state.hoverStateLayerOpacity})`),containerElevation:e(`var(--m3e-surface-fab-hover-container-elevation, ${r.elevation.level4})`),loweredContainerElevation:e(`var(--m3e-surface-fab-lowered-hover-container-elevation, ${r.elevation.level3})`)},focus:{iconColor:e(`var(--m3e-surface-fab-focus-icon-color, ${r.color.primary})`),labelTextColor:e(`var(--m3e-surface-fab-focus-label-text-color, ${r.color.primary})`),stateLayerColor:e(`var(--m3e-surface-fab-focus-state-layer-color, ${r.color.primary})`),stateLayerOpacity:e(`var(--m3e-surface-fab-focus-state-layer-opacity, ${r.state.focusStateLayerOpacity})`),containerElevation:e(`var(--m3e-surface-fab-focus-container-elevation, ${r.elevation.level3})`),loweredContainerElevation:e(`var(--m3e-surface-fab-lowered-focus-container-elevation, ${r.elevation.level2})`)},pressed:{iconColor:e(`var(--m3e-surface-fab-pressed-icon-color, ${r.color.primary})`),labelTextColor:e(`var(--m3e-surface-fab-pressed-label-text-color, ${r.color.primary})`),stateLayerColor:e(`var(--m3e-surface-fab-pressed-state-layer-color, ${r.color.primary})`),stateLayerOpacity:e(`var(--m3e-surface-fab-pressed-state-layer-opacity, ${r.state.pressedStateLayerOpacity})`),containerElevation:e(`var(--m3e-surface-fab-pressed-container-elevation, ${r.elevation.level3})`),loweredContainerElevation:e(`var(--m3e-surface-fab-lowered-pressed-container-elevation, ${r.elevation.level2})`)}}};function J(t){return a`
214
+ :host([variant="${e(t)}"]:not([lowered])) .base {
215
+ background-color: ${G[t].containerColor};
216
+ --m3e-elevation-level: ${G[t].containerElevation};
217
+ --m3e-elevation-hover-level: ${G[t].hover.containerElevation};
218
+ --m3e-elevation-focus-level: ${G[t].focus.containerElevation};
219
+ --m3e-elevation-pressed-level: ${G[t].pressed.containerElevation};
220
+ }
221
+ :host([variant="${e(t)}"][lowered]) .base {
222
+ background-color: ${G[t].loweredContainerColor??G[t].containerColor};
223
+ --m3e-elevation-level: ${G[t].loweredContainerElevation};
224
+ --m3e-elevation-hover-level: ${G[t].hover.loweredContainerElevation};
225
+ --m3e-elevation-focus-level: ${G[t].focus.loweredContainerElevation};
226
+ --m3e-elevation-pressed-level: ${G[t].pressed.loweredContainerElevation};
227
+ }
228
+ :host([variant="${e(t)}"]) .base {
229
+ --m3e-state-layer-hover-color: ${G[t].hover.stateLayerColor};
230
+ --m3e-state-layer-hover-opacity: ${G[t].hover.stateLayerOpacity};
231
+ --m3e-state-layer-focus-color: ${G[t].focus.stateLayerColor};
232
+ --m3e-state-layer-focus-opacity: ${G[t].focus.stateLayerOpacity};
233
+ --m3e-ripple-color: ${G[t].pressed.stateLayerColor};
234
+ --m3e-ripple-opacity: ${G[t].pressed.stateLayerOpacity};
235
+ }
236
+ :host([variant="${e(t)}"]) .label {
237
+ color: ${G[t].labelTextColor};
238
+ }
239
+ :host([variant="${e(t)}"]:focus) .label {
240
+ color: ${G[t].focus.labelTextColor};
241
+ }
242
+ :host([variant="${e(t)}"]:hover) .label {
243
+ color: ${G[t].hover.labelTextColor};
244
+ }
245
+ :host([variant="${e(t)}"]) .base.pressed .label {
246
+ color: ${G[t].pressed.labelTextColor};
247
+ }
248
+ :host([variant="${e(t)}"]) .icon {
249
+ color: ${G[t].iconColor};
250
+ }
251
+ :host([variant="${e(t)}"]:focus) .icon {
252
+ color: ${G[t].focus.iconColor};
253
+ }
254
+ :host([variant="${e(t)}"]:hover) .icon {
255
+ color: ${G[t].hover.iconColor};
256
+ }
257
+ :host([variant="${e(t)}"]) .base.pressed .icon {
258
+ color: ${G[t].pressed.iconColor};
259
+ }
260
+ :host([variant="${e(t)}"]:disabled) .base,
261
+ :host([variant="${e(t)}"][disabled-interactive]) .base {
262
+ --m3e-elevation-level: ${G[t].disabled.containerElevation};
263
+ background-color: color-mix(
264
+ in srgb,
265
+ ${G[t].disabled.containerColor} ${G[t].disabled.containerOpacity},
266
+ transparent
267
+ );
268
+ }
269
+ :host([variant="${e(t)}"]:disabled) .label,
270
+ :host([variant="${e(t)}"][disabled-interactive]) .label {
271
+ color: color-mix(
272
+ in srgb,
273
+ ${G[t].disabled.labelTextColor} ${G[t].disabled.labelTextOpacity},
274
+ transparent
275
+ );
276
+ }
277
+ :host([variant="${e(t)}"]:disabled) .icon,
278
+ :host([variant="${e(t)}"][disabled-interactive]) .icon {
279
+ color: color-mix(
280
+ in srgb,
281
+ ${G[t].disabled.iconColor} ${G[t].disabled.iconOpacity},
282
+ transparent
283
+ );
284
+ }
285
+ `}const V=[J("primary"),J("secondary"),J("tertiary"),J("primary-container"),J("secondary-container"),J("tertiary-container"),J("surface")];var Z,Q;let X=class extends(i(n(l(c(s(d(v(y(t,"button"),!0)))))))){constructor(){super(),Z.add(this),this.variant="primary-container",this.lowered=!1,this.size="medium",this.extended=!1,new b(this,{isPressedKey:e=>" "===e||"Enter"===e,callback:e=>{this.disabled||this.disabledInteractive||(this._base?.classList.toggle("pressed",e),this._base?.classList.toggle("resting",!e))}})}disconnectedCallback(){super.disconnectedCallback(),this._base?.classList.toggle("pressed",!1),this._base?.classList.toggle("resting",!1)}firstUpdated(e){super.firstUpdated(e),[this._elevation,this._focusRing,this._stateLayer,this._ripple].forEach(e=>e?.attach(this))}updated(e){super.updated(e),(e.has("disabled")&&this.disabled||e.has("disabledInteractive")&&this.disabledInteractive)&&(this._base?.classList.toggle("pressed",!1),this._base?.classList.toggle("resting",!1))}render(){return o`<div class="base">
286
+ <m3e-elevation class="elevation" ?disabled="${this.disabled||this.disabledInteractive}"></m3e-elevation>
287
+ <m3e-state-layer class="state-layer" ?disabled="${this.disabled||this.disabledInteractive}"></m3e-state-layer>
288
+ <m3e-focus-ring class="focus-ring" ?disabled="${this.disabled}"></m3e-focus-ring>
289
+ <m3e-ripple
290
+ class="ripple"
291
+ ?centered="${!this.extended}"
292
+ ?disabled="${this.disabled||this.disabledInteractive}"
293
+ ></m3e-ripple>
294
+ <div class="touch" aria-hidden="true"></div>
295
+ ${this[m]()}
296
+ <div class="wrapper">
297
+ <slot class="icon" aria-hidden="true" @slotchange="${f(this,Z,"m",Q)}"></slot>
298
+ <slot class="icon" aria-hidden="true" name="close-icon">
299
+ <svg class="close-icon" viewBox="0 -960 960 960" fill="currentColor">
300
+ <path
301
+ d="m256-200-56-56 224-224-224-224 56-56 224 224 224-224 56 56-224 224 224 224-56 56-224-224-224 224Z"
302
+ />
303
+ </svg>
304
+ </slot>
305
+ <div class="label">
306
+ <slot name="label" @slotchange="${f(this,Z,"m",Q)}"></slot>
307
+ </div>
308
+ </div>
309
+ </div>`}};Z=new WeakSet,Q=function(){this._base?.classList.toggle("-with-menu",null!==this.querySelector("m3e-fab-menu-trigger"))},X.styles=[K,V,F],p([W(".base")],X.prototype,"_base",void 0),p([W(".elevation")],X.prototype,"_elevation",void 0),p([W(".focus-ring")],X.prototype,"_focusRing",void 0),p([W(".state-layer")],X.prototype,"_stateLayer",void 0),p([W(".ripple")],X.prototype,"_ripple",void 0),p([D({reflect:!0})],X.prototype,"variant",void 0),p([D({type:Boolean,reflect:!0})],X.prototype,"lowered",void 0),p([D({reflect:!0})],X.prototype,"size",void 0),p([D({type:Boolean,reflect:!0})],X.prototype,"extended",void 0),X=p([(e=>(a,t)=>{void 0!==t?t.addInitializer(()=>{customElements.define(e,a)}):customElements.define(e,a)})("m3e-fab")],X);export{X as M3eFabElement};
310
+ //# sourceMappingURL=index.min.js.map