@m3e/web 2.5.4 → 2.5.5
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/all.js +382 -313
- package/dist/all.js.map +1 -1
- package/dist/all.min.js +56 -56
- package/dist/all.min.js.map +1 -1
- package/dist/autocomplete.js +12 -12
- package/dist/autocomplete.js.map +1 -1
- package/dist/autocomplete.min.js +1 -1
- package/dist/autocomplete.min.js.map +1 -1
- package/dist/bottom-sheet.js +10 -13
- package/dist/bottom-sheet.js.map +1 -1
- package/dist/bottom-sheet.min.js +1 -1
- package/dist/bottom-sheet.min.js.map +1 -1
- package/dist/breadcrumb.js +4 -4
- package/dist/breadcrumb.js.map +1 -1
- package/dist/breadcrumb.min.js +1 -1
- package/dist/breadcrumb.min.js.map +1 -1
- package/dist/button-group.js +5 -5
- package/dist/button-group.js.map +1 -1
- package/dist/button-group.min.js +1 -1
- package/dist/button-group.min.js.map +1 -1
- package/dist/button.js +15 -15
- package/dist/button.js.map +1 -1
- package/dist/button.min.js +1 -1
- package/dist/button.min.js.map +1 -1
- package/dist/checkbox.js +1 -1
- package/dist/checkbox.js.map +1 -1
- package/dist/checkbox.min.js +1 -1
- package/dist/checkbox.min.js.map +1 -1
- package/dist/chips.js +9 -9
- package/dist/chips.js.map +1 -1
- package/dist/chips.min.js +1 -1
- package/dist/chips.min.js.map +1 -1
- package/dist/core-a11y.js +5 -3
- package/dist/core-a11y.js.map +1 -1
- package/dist/core-a11y.min.js +4 -4
- package/dist/core-a11y.min.js.map +1 -1
- package/dist/core-anchoring.js +4 -4
- package/dist/core-anchoring.js.map +1 -1
- package/dist/core-anchoring.min.js +1 -1
- package/dist/core-anchoring.min.js.map +1 -1
- package/dist/core.js +77 -40
- package/dist/core.js.map +1 -1
- package/dist/core.min.js +1 -1
- package/dist/core.min.js.map +1 -1
- package/dist/css-custom-data.json +355 -340
- package/dist/custom-elements.json +3644 -3481
- package/dist/datepicker.js +12 -12
- package/dist/datepicker.js.map +1 -1
- package/dist/datepicker.min.js +1 -1
- package/dist/datepicker.min.js.map +1 -1
- package/dist/dialog.js +2 -2
- package/dist/dialog.js.map +1 -1
- package/dist/dialog.min.js +1 -1
- package/dist/dialog.min.js.map +1 -1
- package/dist/drawer-container.js +14 -14
- package/dist/drawer-container.js.map +1 -1
- package/dist/drawer-container.min.js +1 -1
- package/dist/drawer-container.min.js.map +1 -1
- package/dist/expansion-panel.js +2 -2
- package/dist/expansion-panel.js.map +1 -1
- package/dist/expansion-panel.min.js +1 -1
- package/dist/expansion-panel.min.js.map +1 -1
- package/dist/fab-menu.js +4 -4
- package/dist/fab-menu.js.map +1 -1
- package/dist/fab-menu.min.js +1 -1
- package/dist/fab-menu.min.js.map +1 -1
- package/dist/fab.js +2 -2
- package/dist/fab.js.map +1 -1
- package/dist/fab.min.js +1 -1
- package/dist/fab.min.js.map +1 -1
- package/dist/form-field.js +19 -19
- package/dist/form-field.js.map +1 -1
- package/dist/form-field.min.js +2 -2
- package/dist/form-field.min.js.map +1 -1
- package/dist/html-custom-data.json +128 -118
- package/dist/icon-button.js +15 -15
- package/dist/icon-button.js.map +1 -1
- package/dist/icon-button.min.js +1 -1
- package/dist/icon-button.min.js.map +1 -1
- package/dist/list.js +16 -16
- package/dist/list.js.map +1 -1
- package/dist/list.min.js +1 -1
- package/dist/list.min.js.map +1 -1
- package/dist/menu.js +20 -20
- package/dist/menu.js.map +1 -1
- package/dist/menu.min.js +1 -1
- package/dist/menu.min.js.map +1 -1
- package/dist/nav-bar.js +40 -10
- package/dist/nav-bar.js.map +1 -1
- package/dist/nav-bar.min.js +1 -1
- package/dist/nav-bar.min.js.map +1 -1
- package/dist/nav-menu.js +8 -8
- package/dist/nav-menu.js.map +1 -1
- package/dist/nav-menu.min.js +1 -1
- package/dist/nav-menu.min.js.map +1 -1
- package/dist/nav-rail.js +15 -11
- package/dist/nav-rail.js.map +1 -1
- package/dist/nav-rail.min.js +1 -1
- package/dist/nav-rail.min.js.map +1 -1
- package/dist/option.js +13 -13
- package/dist/option.js.map +1 -1
- package/dist/option.min.js +1 -1
- package/dist/option.min.js.map +1 -1
- package/dist/radio-group.js +2 -2
- package/dist/radio-group.js.map +1 -1
- package/dist/radio-group.min.js +1 -1
- package/dist/radio-group.min.js.map +1 -1
- package/dist/search.js +12 -12
- package/dist/search.js.map +1 -1
- package/dist/search.min.js +1 -1
- package/dist/search.min.js.map +1 -1
- package/dist/segmented-button.js +7 -7
- package/dist/segmented-button.js.map +1 -1
- package/dist/segmented-button.min.js +1 -1
- package/dist/segmented-button.min.js.map +1 -1
- package/dist/select.js +6 -6
- package/dist/select.js.map +1 -1
- package/dist/select.min.js +1 -1
- package/dist/select.min.js.map +1 -1
- package/dist/slider.js +5 -5
- package/dist/slider.js.map +1 -1
- package/dist/slider.min.js +1 -1
- package/dist/slider.min.js.map +1 -1
- package/dist/split-pane.js +10 -10
- package/dist/split-pane.js.map +1 -1
- package/dist/split-pane.min.js +1 -1
- package/dist/split-pane.min.js.map +1 -1
- package/dist/src/bottom-sheet/BottomSheetElement.d.ts +1 -1
- package/dist/src/bottom-sheet/BottomSheetElement.d.ts.map +1 -1
- package/dist/src/button/styles/ButtonSizeStyle.d.ts.map +1 -1
- package/dist/src/button/styles/ButtonStyle.d.ts.map +1 -1
- package/dist/src/button/styles/ButtonVariantStyle.d.ts.map +1 -1
- package/dist/src/button-group/ButtonGroupElement.d.ts.map +1 -1
- package/dist/src/checkbox/CheckboxElement.d.ts.map +1 -1
- package/dist/src/core/a11y/InteractivityChecker.d.ts +2 -1
- package/dist/src/core/a11y/InteractivityChecker.d.ts.map +1 -1
- package/dist/src/core/anchoring/FloatingPanelElement.d.ts +1 -1
- package/dist/src/core/shared/mixins/SuppressInitialAnimation.d.ts +9 -2
- package/dist/src/core/shared/mixins/SuppressInitialAnimation.d.ts.map +1 -1
- package/dist/src/core/shared/primitives/CollapsibleElement.d.ts +13 -0
- package/dist/src/core/shared/primitives/CollapsibleElement.d.ts.map +1 -1
- package/dist/src/core/shared/primitives/CollapsibleOrientation.d.ts +3 -0
- package/dist/src/core/shared/primitives/CollapsibleOrientation.d.ts.map +1 -0
- package/dist/src/core/shared/primitives/index.d.ts +1 -0
- package/dist/src/core/shared/primitives/index.d.ts.map +1 -1
- package/dist/src/datepicker/DatepickerElement.d.ts +1 -1
- package/dist/src/drawer-container/styles/DrawerContainerStyle.d.ts.map +1 -1
- package/dist/src/fab/FabElement.d.ts.map +1 -1
- package/dist/src/fab/styles/FabStyle.d.ts.map +1 -1
- package/dist/src/fab-menu/FabMenuElement.d.ts +1 -1
- package/dist/src/form-field/FormFieldElement.d.ts.map +1 -1
- package/dist/src/icon-button/styles/IconButtonSizeStyle.d.ts.map +1 -1
- package/dist/src/icon-button/styles/IconButtonStyle.d.ts.map +1 -1
- package/dist/src/icon-button/styles/IconButtonVariantStyle.d.ts.map +1 -1
- package/dist/src/menu/MenuElement.d.ts +1 -1
- package/dist/src/nav-bar/NavItemElement.d.ts +7 -1
- package/dist/src/nav-bar/NavItemElement.d.ts.map +1 -1
- package/dist/src/nav-rail/NavRailElement.d.ts +10 -5
- package/dist/src/nav-rail/NavRailElement.d.ts.map +1 -1
- package/dist/src/search/styles/SearchBarStyle.d.ts.map +1 -1
- package/dist/src/split-pane/SplitPaneElement.d.ts.map +1 -1
- package/dist/src/stepper/StepperElement.d.ts.map +1 -1
- package/dist/src/toolbar/ToolbarElement.d.ts.map +1 -1
- package/dist/stepper.js +6 -6
- package/dist/stepper.js.map +1 -1
- package/dist/stepper.min.js +1 -1
- package/dist/stepper.min.js.map +1 -1
- package/dist/tabs.js +5 -5
- package/dist/tabs.js.map +1 -1
- package/dist/tabs.min.js +1 -1
- package/dist/tabs.min.js.map +1 -1
- package/dist/toc.js +7 -7
- package/dist/toc.js.map +1 -1
- package/dist/toc.min.js +1 -1
- package/dist/toc.min.js.map +1 -1
- package/dist/toolbar.js +2 -1
- package/dist/toolbar.js.map +1 -1
- package/dist/toolbar.min.js +1 -1
- package/dist/toolbar.min.js.map +1 -1
- package/dist/tooltip.js +3 -3
- package/dist/tooltip.js.map +1 -1
- package/dist/tooltip.min.js +1 -1
- package/dist/tooltip.min.js.map +1 -1
- package/dist/tree.js +7 -7
- package/dist/tree.js.map +1 -1
- package/dist/tree.min.js +1 -1
- package/dist/tree.min.js.map +1 -1
- package/package.json +1 -1
package/dist/icon-button.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"icon-button.js","sources":["../../src/icon-button/styles/IconButtonSizeToken.ts","../../src/icon-button/styles/IconButtonSizeStyle.ts","../../src/icon-button/styles/IconButtonStyle.ts","../../src/icon-button/styles/IconButtonVariantToken.ts","../../src/icon-button/styles/IconButtonVariantStyle.ts","../../src/icon-button/IconButtonElement.ts"],"sourcesContent":["import { CSSResult, unsafeCSS } from \"lit\";\r\n\r\nimport { DesignToken } from \"@m3e/web/core\";\r\n\r\nimport { IconButtonSize } from \"../IconButtonSize\";\r\n\r\n/** @private */\r\ntype _IconButtonSizeToken = {\r\n containerHeight: CSSResult;\r\n outlineThickness: CSSResult;\r\n iconSize: CSSResult;\r\n shapeRound: CSSResult;\r\n shapeSquare: CSSResult;\r\n selectedShapeRound: CSSResult;\r\n selectedShapeSquare: CSSResult;\r\n shapePressedMorph: CSSResult;\r\n narrowLeadingSpace: CSSResult;\r\n narrowTrailingSpace: CSSResult;\r\n defaultLeadingSpace: CSSResult;\r\n defaultTrailingSpace: CSSResult;\r\n wideLeadingSpace: CSSResult;\r\n wideTrailingSpace: CSSResult;\r\n};\r\n\r\n/**\r\n * Component design tokens that control the `M3eIconButtonElement` for all size variants.\r\n * @internal\r\n */\r\nexport const IconButtonSizeToken: Record<IconButtonSize, _IconButtonSizeToken> = {\r\n /** Design tokens that control the `extra-small` `size` variant. */\r\n \"extra-small\": {\r\n containerHeight: unsafeCSS(\r\n `calc(var(--m3e-icon-button-extra-small-container-height, var(--m3e-icon-button-container-height, 2rem)) + ${DesignToken.density.calc(0)})`,\r\n ),\r\n outlineThickness: unsafeCSS(\r\n \"var(--m3e-icon-button-extra-small-outline-thickness, var(--m3e-icon-button-outline-thickness, 1px))\",\r\n ),\r\n iconSize: unsafeCSS(\r\n `calc(var(--m3e-icon-button-extra-small-icon-size, var(--m3e-icon-button-icon-size, 1.25rem)) + ${DesignToken.density.calc(0)})`,\r\n ),\r\n shapeRound: unsafeCSS(\r\n `var(--m3e-icon-button-extra-small-shape-round, var(--m3e-icon-button-shape-round, ${DesignToken.shape.corner.full}))`,\r\n ),\r\n shapeSquare: unsafeCSS(\r\n `var(--m3e-icon-button-extra-small-shape-square, var(--m3e-icon-button-shape-square, ${DesignToken.shape.corner.medium}))`,\r\n ),\r\n selectedShapeRound: unsafeCSS(\r\n `var(--m3e-icon-button-extra-small-selected-shape-round, var(--m3e-icon-button-selected-shape-round, ${DesignToken.shape.corner.medium}))`,\r\n ),\r\n selectedShapeSquare: unsafeCSS(\r\n `var(--m3e-icon-button-extra-small-selected-shape-square, var(--m3e-icon-button-selected-shape-square, ${DesignToken.shape.corner.full}))`,\r\n ),\r\n shapePressedMorph: unsafeCSS(\r\n `var(--m3e-icon-button-extra-small-shape-pressed-morph, var(--m3e-icon-button-shape-pressed-morph, ${DesignToken.shape.corner.small}))`,\r\n ),\r\n narrowLeadingSpace: unsafeCSS(\r\n `calc(var(--m3e-icon-button-extra-small-narrow-leading-space, var(--m3e-icon-button-narrow-leading-space, 0.25rem)) + ${DesignToken.density.calc(0)})`,\r\n ),\r\n narrowTrailingSpace: unsafeCSS(\r\n `calc(var(--m3e-icon-button-extra-small-narrow-trailing-space, var(--m3e-icon-button-narrow-trailing-space, 0.25rem)) + ${DesignToken.density.calc(0)})`,\r\n ),\r\n defaultLeadingSpace: unsafeCSS(\r\n `calc(var(--m3e-icon-button-extra-small-default-leading-space, var(--m3e-icon-button-default-leading-space, 0.375rem)) + ${DesignToken.density.calc(0)})`,\r\n ),\r\n defaultTrailingSpace: unsafeCSS(\r\n `calc(var(--m3e-icon-button-extra-small-default-trailing-space, var(--m3e-icon-button-default-trailing-space, 0.375rem)) + ${DesignToken.density.calc(0)})`,\r\n ),\r\n wideLeadingSpace: unsafeCSS(\r\n `calc(var(--m3e-icon-button-extra-small-wide-leading-space, var(--m3e-icon-button-wide-leading-space, 0.625rem)) + ${DesignToken.density.calc(0)})`,\r\n ),\r\n wideTrailingSpace: unsafeCSS(\r\n `calc(var(--m3e-icon-button-extra-small-wide-trailing-space, var(--m3e-icon-button-wide-trailing-space, 0.625rem)) + ${DesignToken.density.calc(0)})`,\r\n ),\r\n },\r\n\r\n /** Design tokens that control the `small` `size` variant. */\r\n small: {\r\n containerHeight: unsafeCSS(\r\n `calc(var(--m3e-icon-button-small-container-height, var(--m3e-icon-button-container-height, 2.5rem)) + ${DesignToken.density.calc(-1)})`,\r\n ),\r\n outlineThickness: unsafeCSS(\r\n \"var(--m3e-icon-button-small-outline-thickness, var(--m3e-icon-button-outline-thickness, 1px))\",\r\n ),\r\n iconSize: unsafeCSS(\r\n `calc(var(--m3e-icon-button-small-icon-size, var(--m3e-icon-button-icon-size, 1.5rem)) + ${DesignToken.density.calc(-1)})`,\r\n ),\r\n shapeRound: unsafeCSS(\r\n `var(--m3e-icon-button-small-shape-round, var(--m3e-icon-button-shape-round, ${DesignToken.shape.corner.full}))`,\r\n ),\r\n shapeSquare: unsafeCSS(\r\n `var(--m3e-icon-button-small-shape-square, var(--m3e-icon-button-shape-square, ${DesignToken.shape.corner.medium}))`,\r\n ),\r\n selectedShapeRound: unsafeCSS(\r\n `var(--m3e-icon-button-small-selected-shape-round, var(--m3e-icon-button-selected-shape-round, ${DesignToken.shape.corner.medium}))`,\r\n ),\r\n selectedShapeSquare: unsafeCSS(\r\n `var(--m3e-icon-button-small-selected-shape-square, var(--m3e-icon-button-selected-shape-square, ${DesignToken.shape.corner.full}))`,\r\n ),\r\n shapePressedMorph: unsafeCSS(\r\n `var(--m3e-icon-button-small-shape-pressed-morph, var(--m3e-icon-button-shape-pressed-morph, ${DesignToken.shape.corner.small}))`,\r\n ),\r\n narrowLeadingSpace: unsafeCSS(\r\n `calc(var(--m3e-icon-button-small-narrow-leading-space, var(--m3e-icon-button-narrow-leading-space, 0.25rem)) + ${DesignToken.density.calc(-1)})`,\r\n ),\r\n narrowTrailingSpace: unsafeCSS(\r\n `calc(var(--m3e-icon-button-small-narrow-trailing-space, var(--m3e-icon-button-narrow-trailing-space, 0.25rem)) + ${DesignToken.density.calc(-1)})`,\r\n ),\r\n defaultLeadingSpace: unsafeCSS(\r\n `calc(var(--m3e-icon-button-small-default-leading-space, var(--m3e-icon-button-default-leading-space, 0.5rem)) + ${DesignToken.density.calc(-1)})`,\r\n ),\r\n defaultTrailingSpace: unsafeCSS(\r\n `calc(var(--m3e-icon-button-small-default-trailing-space, var(--m3e-icon-button-default-trailing-space, 0.5rem)) + ${DesignToken.density.calc(-1)})`,\r\n ),\r\n wideLeadingSpace: unsafeCSS(\r\n `calc(var(--m3e-icon-button-small-wide-leading-space, var(--m3e-icon-button-wide-leading-space, 0.875rem)) + ${DesignToken.density.calc(-1)})`,\r\n ),\r\n wideTrailingSpace: unsafeCSS(\r\n `calc(var(--m3e-icon-button-small-wide-trailing-space, var(--m3e-icon-button-wide-trailing-space, 0.875rem)) + ${DesignToken.density.calc(-1)})`,\r\n ),\r\n },\r\n\r\n /** Design tokens that control the `medium` `size` variant. */\r\n medium: {\r\n containerHeight: unsafeCSS(\r\n `calc(var(--m3e-icon-button-medium-container-height, var(--m3e-icon-button-container-height, 3.5rem)) + ${DesignToken.density.calc(-2)})`,\r\n ),\r\n outlineThickness: unsafeCSS(\r\n \"var(--m3e-icon-button-medium-outline-thickness, var(--m3e-icon-button-outline-thickness, 1px))\",\r\n ),\r\n iconSize: unsafeCSS(\r\n `calc(var(--m3e-icon-button-medium-icon-size, var(--m3e-icon-button-icon-size, 1.5rem)) + ${DesignToken.density.calc(-2)})`,\r\n ),\r\n shapeRound: unsafeCSS(\r\n `var(--m3e-icon-button-medium-shape-round, var(--m3e-icon-button-shape-round, ${DesignToken.shape.corner.full}))`,\r\n ),\r\n shapeSquare: unsafeCSS(\r\n `var(--m3e-icon-button-medium-shape-square, var(--m3e-icon-button-shape-square, ${DesignToken.shape.corner.large}))`,\r\n ),\r\n selectedShapeRound: unsafeCSS(\r\n `var(--m3e-icon-button-medium-selected-shape-round, var(--m3e-icon-button-selected-shape-round, ${DesignToken.shape.corner.large}))`,\r\n ),\r\n selectedShapeSquare: unsafeCSS(\r\n `var(--m3e-icon-button-medium-selected-shape-square, var(--m3e-icon-button-selected-shape-square, ${DesignToken.shape.corner.full}))`,\r\n ),\r\n shapePressedMorph: unsafeCSS(\r\n `var(--m3e-icon-button-medium-shape-pressed-morph, var(--m3e-icon-button-shape-pressed-morph, ${DesignToken.shape.corner.medium}))`,\r\n ),\r\n narrowLeadingSpace: unsafeCSS(\r\n `calc(var(--m3e-icon-button-medium-narrow-leading-space, var(--m3e-icon-button-narrow-leading-space, 0.75rem)) + ${DesignToken.density.calc(-2)})`,\r\n ),\r\n narrowTrailingSpace: unsafeCSS(\r\n `calc(var(--m3e-icon-button-medium-narrow-trailing-space, var(--m3e-icon-button-narrow-trailing-space, 0.75rem)) + ${DesignToken.density.calc(-2)})`,\r\n ),\r\n defaultLeadingSpace: unsafeCSS(\r\n `calc(var(--m3e-icon-button-medium-default-leading-space, var(--m3e-icon-button-default-leading-space, 1rem)) + ${DesignToken.density.calc(-2)})`,\r\n ),\r\n defaultTrailingSpace: unsafeCSS(\r\n `calc(var(--m3e-icon-button-medium-default-trailing-space, var(--m3e-icon-button-default-trailing-space, 1rem)) + ${DesignToken.density.calc(-2)})`,\r\n ),\r\n wideLeadingSpace: unsafeCSS(\r\n `calc(var(--m3e-icon-button-medium-wide-leading-space, var(--m3e-icon-button-wide-leading-space, 1.5rem)) + ${DesignToken.density.calc(-2)})`,\r\n ),\r\n wideTrailingSpace: unsafeCSS(\r\n `calc(var(--m3e-icon-button-medium-wide-trailing-space, var(--m3e-icon-button-wide-trailing-space, 1.5rem)) + ${DesignToken.density.calc(-2)})`,\r\n ),\r\n },\r\n\r\n /** Design tokens that control the `large` `size` variant. */\r\n large: {\r\n containerHeight: unsafeCSS(\r\n `calc(var(--m3e-icon-button-large-container-height, var(--m3e-icon-button-container-height, 6rem)) + ${DesignToken.density.calc(-3)})`,\r\n ),\r\n outlineThickness: unsafeCSS(\r\n \"var(--m3e-icon-button-large-outline-thickness, var(--m3e-icon-button-outline-thickness, 2px))\",\r\n ),\r\n iconSize: unsafeCSS(\r\n `calc(var(--m3e-icon-button-large-icon-size, var(--m3e-icon-button-icon-size, 2rem)) + ${DesignToken.density.calc(-3)})`,\r\n ),\r\n shapeRound: unsafeCSS(\r\n `var(--m3e-icon-button-large-shape-round, var(--m3e-icon-button-shape-round, ${DesignToken.shape.corner.full}))`,\r\n ),\r\n shapeSquare: unsafeCSS(\r\n `var(--m3e-icon-button-large-shape-square, var(--m3e-icon-button-shape-square, ${DesignToken.shape.corner.extraLarge}))`,\r\n ),\r\n selectedShapeRound: unsafeCSS(\r\n `var(--m3e-icon-button-large-selected-shape-round, var(--m3e-icon-button-selected-shape-round, ${DesignToken.shape.corner.extraLarge}))`,\r\n ),\r\n selectedShapeSquare: unsafeCSS(\r\n `var(--m3e-icon-button-large-selected-shape-square, var(--m3e-icon-button-selected-shape-square, ${DesignToken.shape.corner.full}))`,\r\n ),\r\n shapePressedMorph: unsafeCSS(\r\n `var(--m3e-icon-button-large-shape-pressed-morph, var(--m3e-icon-button-shape-pressed-morph, ${DesignToken.shape.corner.large}))`,\r\n ),\r\n narrowLeadingSpace: unsafeCSS(\r\n `calc(var(--m3e-icon-button-large-narrow-leading-space, var(--m3e-icon-button-narrow-leading-space, 1rem)) + ${DesignToken.density.calc(-3)})`,\r\n ),\r\n narrowTrailingSpace: unsafeCSS(\r\n `calc(var(--m3e-icon-button-large-narrow-trailing-space, var(--m3e-icon-button-narrow-trailing-space, 1rem)) + ${DesignToken.density.calc(-3)})`,\r\n ),\r\n defaultLeadingSpace: unsafeCSS(\r\n `calc(var(--m3e-icon-button-large-default-leading-space, var(--m3e-icon-button-default-leading-space, 2rem)) + ${DesignToken.density.calc(-3)})`,\r\n ),\r\n defaultTrailingSpace: unsafeCSS(\r\n `calc(var(--m3e-icon-button-large-default-trailing-space, var(--m3e-icon-button-default-trailing-space, 2rem)) + ${DesignToken.density.calc(-3)})`,\r\n ),\r\n wideLeadingSpace: unsafeCSS(\r\n `calc(var(--m3e-icon-button-large-wide-leading-space, var(--m3e-icon-button-wide-leading-space, 3rem)) + ${DesignToken.density.calc(-3)})`,\r\n ),\r\n wideTrailingSpace: unsafeCSS(\r\n `calc(var(--m3e-icon-button-large-wide-trailing-space, var(--m3e-icon-button-wide-trailing-space, 3rem)) + ${DesignToken.density.calc(-3)})`,\r\n ),\r\n },\r\n\r\n /** Design tokens that control the `extra-large` `size` variant. */\r\n \"extra-large\": {\r\n containerHeight: unsafeCSS(\r\n `calc(var(--m3e-icon-button-extra-large-container-height, var(--m3e-icon-button-container-height, 8.5rem)) + ${DesignToken.density.calc(-3)})`,\r\n ),\r\n outlineThickness: unsafeCSS(\r\n \"var(--m3e-icon-button-extra-large-outline-thickness, var(--m3e-icon-button-outline-thickness, 3px))\",\r\n ),\r\n iconSize: unsafeCSS(\r\n `calc(var(--m3e-icon-button-extra-large-icon-size, var(--m3e-icon-button-icon-size, 2.5rem)) + ${DesignToken.density.calc(-3)})`,\r\n ),\r\n shapeRound: unsafeCSS(\r\n `var(--m3e-icon-button-extra-large-shape-round, var(--m3e-icon-button-shape-round, ${DesignToken.shape.corner.full}))`,\r\n ),\r\n shapeSquare: unsafeCSS(\r\n `var(--m3e-icon-button-extra-large-shape-square, var(--m3e-icon-button-shape-square, ${DesignToken.shape.corner.extraLarge}))`,\r\n ),\r\n selectedShapeRound: unsafeCSS(\r\n `var(--m3e-icon-button-extra-large-selected-shape-round, var(--m3e-icon-button-selected-shape-round, ${DesignToken.shape.corner.extraLarge}))`,\r\n ),\r\n selectedShapeSquare: unsafeCSS(\r\n `var(--m3e-icon-button-extra-large-selected-shape-square, var(--m3e-icon-button-selected-shape-square, ${DesignToken.shape.corner.full}))`,\r\n ),\r\n shapePressedMorph: unsafeCSS(\r\n `var(--m3e-icon-button-extra-large-shape-pressed-morph, var(--m3e-icon-button-shape-pressed-morph, ${DesignToken.shape.corner.large}))`,\r\n ),\r\n narrowLeadingSpace: unsafeCSS(\r\n `calc(var(--m3e-icon-button-extra-large-narrow-leading-space, var(--m3e-icon-button-narrow-leading-space, 2rem)) + ${DesignToken.density.calc(-3)})`,\r\n ),\r\n narrowTrailingSpace: unsafeCSS(\r\n `calc(var(--m3e-icon-button-extra-large-narrow-trailing-space, var(--m3e-icon-button-narrow-trailing-space, 2rem)) + ${DesignToken.density.calc(-3)})`,\r\n ),\r\n defaultLeadingSpace: unsafeCSS(\r\n `calc(var(--m3e-icon-button-extra-large-default-leading-space, var(--m3e-icon-button-default-leading-space, 3rem)) + ${DesignToken.density.calc(-3)})`,\r\n ),\r\n defaultTrailingSpace: unsafeCSS(\r\n `calc(var(--m3e-icon-button-extra-large-default-trailing-space, var(--m3e-icon-button-default-trailing-space, 3rem)) + ${DesignToken.density.calc(-3)})`,\r\n ),\r\n wideLeadingSpace: unsafeCSS(\r\n `calc(var(--m3e-icon-button-extra-large-wide-leading-space, var(--m3e-icon-button-wide-leading-space, 4.5rem)) + ${DesignToken.density.calc(-3)})`,\r\n ),\r\n wideTrailingSpace: unsafeCSS(\r\n `calc(var(--m3e-icon-button-extra-large-wide-trailing-space, var(--m3e-icon-button-wide-trailing-space, 4.5rem)) + ${DesignToken.density.calc(-3)})`,\r\n ),\r\n },\r\n} as const;\r\n","import { css, CSSResult, CSSResultGroup, unsafeCSS } from \"lit\";\r\n\r\nimport { IconButtonSize } from \"../IconButtonSize\";\r\nimport { IconButtonSizeToken } from \"./IconButtonSizeToken\";\r\n\r\n/** @private */\r\nfunction iconButtonStyle(size: IconButtonSize): CSSResult {\r\n return css`\r\n :host([size=\"${unsafeCSS(size)}\"]) .base {\r\n height: ${IconButtonSizeToken[size].containerHeight};\r\n }\r\n :host([size=\"${unsafeCSS(size)}\"][width=\"default\"]) .wrapper {\r\n padding-inline-start: ${IconButtonSizeToken[size].defaultLeadingSpace};\r\n padding-inline-end: ${IconButtonSizeToken[size].defaultTrailingSpace};\r\n }\r\n :host([size=\"${unsafeCSS(size)}\"][width=\"narrow\"]) .wrapper {\r\n padding-inline-start: ${IconButtonSizeToken[size].narrowLeadingSpace};\r\n padding-inline-end: ${IconButtonSizeToken[size].narrowTrailingSpace};\r\n }\r\n :host([size=\"${unsafeCSS(size)}\"][width=\"wide\"]) .wrapper {\r\n padding-inline-start: ${IconButtonSizeToken[size].wideLeadingSpace};\r\n padding-inline-end: ${IconButtonSizeToken[size].wideTrailingSpace};\r\n }\r\n :host([size=\"${unsafeCSS(size)}\"]) .icon {\r\n font-size: ${IconButtonSizeToken[size].iconSize};\r\n }\r\n :host([size=\"${unsafeCSS(size)}\"]) .base {\r\n outline-offset: calc(0px - ${IconButtonSizeToken[size].outlineThickness});\r\n outline-width: ${IconButtonSizeToken[size].outlineThickness};\r\n }\r\n :host(:not(:state(-connected))[size=\"${unsafeCSS(size)}\"][shape=\"rounded\"]:not(:state(-pressed))) .base {\r\n border-radius: var(--_button-shape, ${IconButtonSizeToken[size].shapeRound});\r\n }\r\n :host(:not(:state(-connected))[size=\"${unsafeCSS(size)}\"][shape=\"square\"]) .base {\r\n border-radius: ${IconButtonSizeToken[size].shapeSquare};\r\n }\r\n :host(:not(:state(-connected))[size=\"${unsafeCSS(size)}\"][shape=\"rounded\"][toggle][selected]:not(:state(-pressed)))\r\n .base {\r\n border-radius: ${IconButtonSizeToken[size].selectedShapeRound};\r\n }\r\n :host(:not(:state(-connected))[size=\"${unsafeCSS(size)}\"][shape=\"square\"][toggle][selected]:not(:state(-pressed)))\r\n .base {\r\n border-radius: var(--_button-shape, ${IconButtonSizeToken[size].selectedShapeSquare});\r\n }\r\n :host(:not(:state(-connected))[size=\"${unsafeCSS(size)}\"]:state(-pressed)) .base {\r\n border-radius: ${IconButtonSizeToken[size].shapePressedMorph};\r\n }\r\n :host(:state(-connected)[size=\"${unsafeCSS(size)}\"][shape=\"rounded\"]) .base {\r\n border-start-start-radius: var(\r\n --_button-rounded-start-shape,\r\n var(--_button-shape, ${IconButtonSizeToken[size].shapeRound})\r\n );\r\n border-end-start-radius: var(\r\n --_button-rounded-start-shape,\r\n var(--_button-shape, ${IconButtonSizeToken[size].shapeRound})\r\n );\r\n border-start-end-radius: var(\r\n --_button-rounded-end-shape,\r\n var(--_button-shape, ${IconButtonSizeToken[size].shapeRound})\r\n );\r\n border-end-end-radius: var(\r\n --_button-rounded-end-shape,\r\n var(--_button-shape, ${IconButtonSizeToken[size].shapeRound})\r\n );\r\n }\r\n :host(:state(-connected)[size=\"${unsafeCSS(size)}\"][shape=\"square\"]) .base {\r\n border-start-start-radius: var(--_button-square-start-shape, ${IconButtonSizeToken[size].shapeSquare});\r\n border-end-start-radius: var(--_button-square-start-shape, ${IconButtonSizeToken[size].shapeSquare});\r\n border-start-end-radius: var(--_button-square-end-shape, ${IconButtonSizeToken[size].shapeSquare});\r\n border-end-end-radius: var(--_button-square-end-shape, ${IconButtonSizeToken[size].shapeSquare});\r\n }\r\n :host(:state(-connected)[size=\"${unsafeCSS(size)}\"][shape=\"square\"][toggle][selected]:not(:state(-pressed))) .base {\r\n border-radius: var(--_button-shape, ${IconButtonSizeToken[size].selectedShapeSquare});\r\n }\r\n :host(:state(-connected)[size=\"${unsafeCSS(size)}\"]:state(-pressed)) .base {\r\n border-start-start-radius: var(\r\n --_button-start-shape-pressed-morph,\r\n ${IconButtonSizeToken[size].shapePressedMorph}\r\n );\r\n border-end-start-radius: var(--_button-start-shape-pressed-morph, ${IconButtonSizeToken[size].shapePressedMorph});\r\n border-start-end-radius: var(--_button-end-shape-pressed-morph, ${IconButtonSizeToken[size].shapePressedMorph});\r\n border-end-end-radius: var(--_button-end-shape-pressed-morph, ${IconButtonSizeToken[size].shapePressedMorph});\r\n }\r\n `;\r\n}\r\n\r\n/**\r\n * Size variant styles for `M3eIconButtonElement`.\r\n * @internal\r\n */\r\nexport const IconButtonSizeStyle: CSSResultGroup = [\r\n iconButtonStyle(\"extra-small\"),\r\n iconButtonStyle(\"small\"),\r\n iconButtonStyle(\"medium\"),\r\n iconButtonStyle(\"large\"),\r\n iconButtonStyle(\"extra-large\"),\r\n];\r\n","import { css, CSSResultGroup, unsafeCSS } from \"lit\";\r\n\r\nimport { DesignToken } from \"@m3e/web/core\";\r\n\r\n/**\r\n * Baseline styles for `M3eIconButtonElement`.\r\n * @internal\r\n */\r\nexport const IconButtonStyle: CSSResultGroup = css`\r\n :host {\r\n display: inline-block;\r\n outline: none;\r\n user-select: none;\r\n -webkit-tap-highlight-color: rgba(0, 0, 0, 0);\r\n }\r\n .base {\r\n box-sizing: border-box;\r\n vertical-align: middle;\r\n display: inline-flex;\r\n align-items: center;\r\n justify-content: center;\r\n position: relative;\r\n width: 100%;\r\n transition: ${unsafeCSS(\r\n `background-color ${DesignToken.motion.duration.short4} ${DesignToken.motion.easing.standard}`,\r\n )};\r\n }\r\n .touch {\r\n position: absolute;\r\n aspect-ratio: 1 / 1;\r\n height: 3rem;\r\n left: auto;\r\n right: auto;\r\n }\r\n :host(:state(-pressed)) .base,\r\n :host(:state(-resting)) .base {\r\n transition: ${unsafeCSS(`background-color ${DesignToken.motion.duration.short4} ${DesignToken.motion.easing.standard},\r\n border-radius ${DesignToken.motion.spring.fastEffects}`)};\r\n }\r\n .wrapper {\r\n width: 100%;\r\n overflow: hidden;\r\n display: inline-flex;\r\n align-items: center;\r\n justify-content: center;\r\n transition: ${unsafeCSS(`padding-inline ${DesignToken.motion.spring.fastEffects}`)};\r\n }\r\n .icon {\r\n transition: ${unsafeCSS(`color ${DesignToken.motion.duration.short4} ${DesignToken.motion.easing.standard}`)};\r\n\r\n --m3e-icon-size: 1em;\r\n }\r\n :host(:not(:disabled):not([disabled-interactive])) {\r\n cursor: pointer;\r\n }\r\n :host([disabled-interactive]) {\r\n cursor: not-allowed;\r\n }\r\n ::slotted(*) {\r\n font-size: inherit !important;\r\n flex: none;\r\n transform: var(--_icon-button-icon-transform);\r\n transform-origin: center center;\r\n transition: ${unsafeCSS(\r\n `transform var(--_icon-button-icon-transform-transition, ${DesignToken.motion.spring.fastEffects})`,\r\n )};\r\n }\r\n ::slotted(svg) {\r\n width: 1em;\r\n height: 1em;\r\n }\r\n :host([toggle]:not([selected])) .base.with-selected-icon slot[name=\"selected\"],\r\n :host([toggle][selected]) .base.with-selected-icon slot:not([name]) {\r\n display: none;\r\n }\r\n a {\r\n all: unset;\r\n display: block;\r\n position: absolute;\r\n top: 0px;\r\n left: 0px;\r\n right: 0px;\r\n bottom: 0px;\r\n z-index: 1;\r\n }\r\n :host(:state(-grouped):state(-connected)) {\r\n flex: 1 1 auto;\r\n }\r\n :host(:state(-grouped):not(:state(-connected)):not(:state(-adjacent-pressed)):not(:state(-pressed))) {\r\n flex-shrink: 0;\r\n flex-grow: 0;\r\n }\r\n :host(:state(-grouped):not(:state(-connected)):state(-adjacent-pressed):not(:state(-pressed))) {\r\n flex-shrink: 1;\r\n min-width: 0;\r\n }\r\n :host(:state(-grouped):not(:state(-connected)):state(-pressed):not([disabled-interactive]):not(:disabled)) {\r\n flex-shrink: 0;\r\n flex-basis: calc(\r\n var(--_button-width) + calc(var(--_button-width) * var(--m3e-standard-button-group-width-multiplier, 0.15))\r\n );\r\n }\r\n @media (forced-colors: active) {\r\n .base,\r\n .icon {\r\n transition: none;\r\n }\r\n :host(:state(-pressed)) .base,\r\n :host(:state(-resting)) .base {\r\n transition: border-radius ${DesignToken.motion.spring.fastEffects};\r\n }\r\n :host([variant]:not(:disabled):not([disabled-interactive]):not([toggle])) .base {\r\n background-color: ButtonFace;\r\n outline-color: ButtonText;\r\n }\r\n :host([variant]:not(:disabled):not([disabled-interactive]):not([toggle])) .icon {\r\n color: ButtonText;\r\n }\r\n :host([variant]:not(:disabled):not([disabled-interactive])[toggle]:not([selected])) .base {\r\n background-color: ButtonFace;\r\n outline-color: ButtonText;\r\n }\r\n :host([variant]:not(:disabled):not([disabled-interactive])[toggle]:not([selected])) .icon,\r\n :host([variant]:hover:not(:disabled):not([disabled-interactive])[toggle]:not([selected])) .icon,\r\n :host([variant]:not(:disabled):not([disabled-interactive])[toggle]:not([selected]):focus) .icon {\r\n color: ButtonText;\r\n }\r\n :host([variant]:not(:disabled):not([disabled-interactive])[toggle][selected]) .base {\r\n background-color: ButtonText;\r\n outline: none;\r\n }\r\n :host([variant]:not(:disabled):not([disabled-interactive])[toggle][selected]) .icon,\r\n :host([variant]:hover:not(:disabled):not([disabled-interactive])[toggle][selected]) .icon,\r\n :host([variant]:not(:disabled):not([disabled-interactive])[toggle][selected]:focus) .icon {\r\n forced-color-adjust: none;\r\n color: ButtonFace;\r\n background-color: ButtonText;\r\n }\r\n :host([variant]:disabled) .base,\r\n :host([variant][disabled-interactive]) .base {\r\n outline-color: GrayText;\r\n background-color: unset;\r\n }\r\n :host([variant]:disabled) .icon,\r\n :host([variant][disabled-interactive]) .icon {\r\n color: GrayText;\r\n }\r\n .base {\r\n outline-style: solid;\r\n }\r\n :host([size=\"extra-small\"]) .base {\r\n outline-offset: calc(0px - var(--m3e-icon-button-extra-small-outline-thickness, 1px));\r\n outline-width: var(--m3e-icon-button-extra-small-outline-thickness, 1px);\r\n }\r\n :host([size=\"small\"]) .base {\r\n outline-offset: calc(0px - var(--m3e-icon-button-small-outline-thickness, 1px));\r\n outline-width: var(--m3e-icon-button-small-outline-thickness, 1px);\r\n }\r\n :host([size=\"medium\"]) .base {\r\n outline-offset: calc(0px - var(--m3e-icon-button-medium-outline-thickness, 1px));\r\n outline-width: var(--m3e-icon-button-medium-outline-thickness, 1px);\r\n }\r\n :host([size=\"large\"]) .base {\r\n outline-offset: calc(0px - var(--m3e-icon-button-large-outline-thickness, 2px));\r\n outline-width: var(--m3e-icon-button-large-outline-thickness, 2px);\r\n }\r\n :host([size=\"extra-large\"]) .base {\r\n outline-offset: calc(0px - var(--m3e-icon-button-extra-large-outline-thickness, 3px));\r\n outline-width: var(--m3e-icon-button-extra-large-outline-thickness, 3px);\r\n }\r\n }\r\n @media (prefers-reduced-motion) {\r\n :host(:state(-pressed)) .base,\r\n :host(:state(-resting)) .base,\r\n .base,\r\n .wrapper,\r\n .icon {\r\n transition: none;\r\n }\r\n }\r\n`;\r\n","import { CSSResult, unsafeCSS } from \"lit\";\r\n\r\nimport { DesignToken } from \"@m3e/web/core\";\r\n\r\nimport { IconButtonVariant } from \"../IconButtonVariant\";\r\n\r\n/** @private */\r\ntype _IconButtonVariantToken = {\r\n iconColor: CSSResult;\r\n containerColor?: CSSResult;\r\n containerElevation?: CSSResult;\r\n outlineColor?: CSSResult;\r\n unselectedIconColor: CSSResult;\r\n unselectedContainerColor?: CSSResult;\r\n selectedIconColor: CSSResult;\r\n selectedContainerColor?: CSSResult;\r\n disabled: {\r\n containerColor: CSSResult;\r\n containerElevation?: CSSResult;\r\n containerOpacity: CSSResult;\r\n iconColor: CSSResult;\r\n iconOpacity: CSSResult;\r\n outlineColor?: CSSResult;\r\n };\r\n hover: {\r\n iconColor: CSSResult;\r\n stateLayerColor: CSSResult;\r\n stateLayerOpacity: CSSResult;\r\n containerElevation?: CSSResult;\r\n outlineColor?: CSSResult;\r\n unselectedIconColor: CSSResult;\r\n unselectedStateLayerColor: CSSResult;\r\n selectedIconColor: CSSResult;\r\n selectedStateLayerColor: CSSResult;\r\n };\r\n focus: {\r\n iconColor: CSSResult;\r\n stateLayerColor: CSSResult;\r\n stateLayerOpacity: CSSResult;\r\n containerElevation?: CSSResult;\r\n outlineColor?: CSSResult;\r\n unselectedIconColor: CSSResult;\r\n unselectedStateLayerColor: CSSResult;\r\n selectedIconColor: CSSResult;\r\n selectedStateLayerColor: CSSResult;\r\n };\r\n pressed: {\r\n iconColor: CSSResult;\r\n stateLayerColor: CSSResult;\r\n stateLayerOpacity: CSSResult;\r\n containerElevation?: CSSResult;\r\n outlineColor?: CSSResult;\r\n unselectedIconColor: CSSResult;\r\n unselectedStateLayerColor: CSSResult;\r\n selectedIconColor: CSSResult;\r\n selectedStateLayerColor: CSSResult;\r\n };\r\n};\r\n\r\n/**\r\n * Component design tokens that control the appearance variants of `M3eIconButtonElement`.\r\n * @internal\r\n */\r\nexport const IconButtonVariantToken: Record<IconButtonVariant | \"elevated\", _IconButtonVariantToken> = {\r\n /** Design tokens that control the `elevated` variant. */\r\n elevated: {\r\n /** Default icon color. */\r\n iconColor: unsafeCSS(\r\n `var(--m3e-elevated-icon-button-icon-color, var(--m3e-icon-button-icon-color, ${DesignToken.color.primary}))`,\r\n ),\r\n\r\n /** Default container background color. */\r\n containerColor: unsafeCSS(\r\n `var(--m3e-elevated-icon-button-container-color, var(--m3e-icon-button-container-color, ${DesignToken.color.surfaceContainerLow}))`,\r\n ),\r\n\r\n /** Resting elevation. */\r\n containerElevation: unsafeCSS(\r\n `var(--m3e-elevated-icon-button-container-elevation, var(--m3e-icon-button-container-elevation, ${DesignToken.elevation.level1}))`,\r\n ),\r\n\r\n /** Unselected icon color. */\r\n unselectedIconColor: unsafeCSS(\r\n `var(--m3e-elevated-icon-button-unselected-icon-color, var(--m3e-icon-button-unselected-icon-color, ${DesignToken.color.primary}))`,\r\n ),\r\n\r\n /** Unselected container background color. */\r\n unselectedContainerColor: unsafeCSS(\r\n `var(--m3e-elevated-icon-button-unselected-container-color, var(--m3e-icon-button-unselected-container-color, ${DesignToken.color.surfaceContainerLow}))`,\r\n ),\r\n\r\n /** Selected icon color. */\r\n selectedIconColor: unsafeCSS(\r\n `var(--m3e-elevated-icon-button-selected-icon-color, var(--m3e-icon-button-selected-icon-color, ${DesignToken.color.onPrimary}))`,\r\n ),\r\n\r\n /** Selected container background color. */\r\n selectedContainerColor: unsafeCSS(\r\n `var(--m3e-elevated-icon-button-selected-container-color, var(--m3e-icon-button-selected-container-color, ${DesignToken.color.primary}))`,\r\n ),\r\n\r\n /** Design tokens that control disabled state. */\r\n disabled: {\r\n /** Container background color when disabled. */\r\n containerColor: unsafeCSS(\r\n `var(--m3e-elevated-icon-button-disabled-container-color, var(--m3e-icon-button-disabled-container-color, ${DesignToken.color.onSurface}))`,\r\n ),\r\n\r\n /** Opacity of container when disabled. */\r\n containerOpacity: unsafeCSS(\r\n `var(--m3e-elevated-icon-button-disabled-container-opacity, var(--m3e-icon-button-disabled-container-opacity, 10%))`,\r\n ),\r\n\r\n /** Icon color when disabled. */\r\n iconColor: unsafeCSS(\r\n `var(--m3e-elevated-icon-button-disabled-icon-color, var(--m3e-icon-button-disabled-icon-color, ${DesignToken.color.onSurface}))`,\r\n ),\r\n\r\n /** Icon opacity when disabled. */\r\n iconOpacity: unsafeCSS(\r\n `var(--m3e-elevated-icon-button-disabled-icon-opacity, var(--m3e-icon-button-disabled-icon-opacity, 38%))`,\r\n ),\r\n\r\n /** Elevation when disabled. */\r\n containerElevation: unsafeCSS(\r\n `var(--m3e-elevated-icon-button-disabled-container-elevation, var(--m3e-icon-button-disabled-container-elevation, ${DesignToken.elevation.level0}))`,\r\n ),\r\n },\r\n\r\n /** Design tokens that control hover state. */\r\n hover: {\r\n /** Icon color on hover. */\r\n iconColor: unsafeCSS(\r\n `var(--m3e-elevated-icon-button-hover-icon-color, var(--m3e-icon-button-hover-icon-color, ${DesignToken.color.primary}))`,\r\n ),\r\n\r\n /** State layer color on hover. */\r\n stateLayerColor: unsafeCSS(\r\n `var(--m3e-elevated-icon-button-hover-state-layer-color, var(--m3e-icon-button-hover-state-layer-color, ${DesignToken.color.primary}))`,\r\n ),\r\n\r\n /** State layer opacity on hover. */\r\n stateLayerOpacity: unsafeCSS(\r\n `var(--m3e-elevated-icon-button-hover-state-layer-opacity, var(--m3e-icon-button-hover-state-layer-opacity, ${DesignToken.state.hoverStateLayerOpacity}))`,\r\n ),\r\n\r\n /** Elevation on hover. */\r\n containerElevation: unsafeCSS(\r\n `var(--m3e-elevated-icon-button-hover-container-elevation, var(--m3e-icon-button-hover-container-elevation, ${DesignToken.elevation.level2}))`,\r\n ),\r\n\r\n /** Unselected icon color on hover. */\r\n unselectedIconColor: unsafeCSS(\r\n `var(--m3e-elevated-icon-button-hover-unselected-icon-color, var(--m3e-icon-button-hover-unselected-icon-color, ${DesignToken.color.primary}))`,\r\n ),\r\n\r\n /** Unselected state layer color on hover. */\r\n unselectedStateLayerColor: unsafeCSS(\r\n `var(--m3e-elevated-icon-button-hover-unselected-state-layer-color, var(--m3e-icon-button-hover-unselected-state-layer-color, ${DesignToken.color.primary}))`,\r\n ),\r\n\r\n /** Selected icon color on hover. */\r\n selectedIconColor: unsafeCSS(\r\n `var(--m3e-elevated-icon-button-hover-selected-icon-color, var(--m3e-icon-button-hover-selected-icon-color, ${DesignToken.color.onPrimary}))`,\r\n ),\r\n\r\n /** Selected ripple color on hover. */\r\n selectedStateLayerColor: unsafeCSS(\r\n `var(--m3e-elevated-icon-button-hover-selected-state-layer-color, var(--m3e-icon-button-hover-selected-state-layer-color, ${DesignToken.color.onPrimary}))`,\r\n ),\r\n },\r\n\r\n /** Design tokens that control focus state. */\r\n focus: {\r\n /** Icon color on focus. */\r\n iconColor: unsafeCSS(\r\n `var(--m3e-elevated-icon-button-focus-icon-color, var(--m3e-icon-button-focus-icon-color, ${DesignToken.color.primary}))`,\r\n ),\r\n\r\n /** State layer color on focus. */\r\n stateLayerColor: unsafeCSS(\r\n `var(--m3e-elevated-icon-button-focus-state-layer-color, var(--m3e-icon-button-focus-state-layer-color, ${DesignToken.color.primary}))`,\r\n ),\r\n\r\n /**State layer opacity on focus. */\r\n stateLayerOpacity: unsafeCSS(\r\n `var(--m3e-elevated-icon-button-focus-state-layer-opacity, var(--m3e-icon-button-focus-state-layer-opacity, ${DesignToken.state.focusStateLayerOpacity}))`,\r\n ),\r\n\r\n /** Elevation on focus. */\r\n containerElevation: unsafeCSS(\r\n `var(--m3e-elevated-icon-button-focus-container-elevation, var(--m3e-icon-button-focus-container-elevation, ${DesignToken.elevation.level1}))`,\r\n ),\r\n\r\n /** Unselected icon color on focus. */\r\n unselectedIconColor: unsafeCSS(\r\n `var(--m3e-elevated-icon-button-focus-unselected-icon-color, var(--m3e-icon-button-focus-unselected-icon-color, ${DesignToken.color.primary}))`,\r\n ),\r\n\r\n /** Unselected ripple color on focus. */\r\n unselectedStateLayerColor: unsafeCSS(\r\n `var(--m3e-elevated-icon-button-focus-unselected-state-layer-color, var(--m3e-icon-button-focus-unselected-state-layer-color, ${DesignToken.color.primary}))`,\r\n ),\r\n\r\n /** Selected icon color on focus. */\r\n selectedIconColor: unsafeCSS(\r\n `var(--m3e-elevated-icon-button-focus-selected-icon-color, var(--m3e-icon-button-focus-selected-icon-color, ${DesignToken.color.onPrimary}))`,\r\n ),\r\n\r\n /** Selected ripple color on focus. */\r\n selectedStateLayerColor: unsafeCSS(\r\n `var(--m3e-elevated-icon-button-focus-selected-state-layer-color, var(--m3e-icon-button-focus-selected-state-layer-color, ${DesignToken.color.onPrimary}))`,\r\n ),\r\n },\r\n\r\n /** Design tokens that control pressed state. */\r\n pressed: {\r\n /** Icon color on pressed. */\r\n iconColor: unsafeCSS(\r\n `var(--m3e-elevated-icon-button-pressed-icon-color, var(--m3e-icon-button-pressed-icon-color, ${DesignToken.color.primary}))`,\r\n ),\r\n\r\n /** State layer color on pressed. */\r\n stateLayerColor: unsafeCSS(\r\n `var(--m3e-elevated-icon-button-pressed-state-layer-color, var(--m3e-icon-button-pressed-state-layer-color, ${DesignToken.color.primary}))`,\r\n ),\r\n\r\n /** State layer opacity on pressed. */\r\n stateLayerOpacity: unsafeCSS(\r\n `var(--m3e-elevated-icon-button-pressed-state-layer-opacity, var(--m3e-icon-button-pressed-state-layer-opacity, ${DesignToken.state.pressedStateLayerOpacity}))`,\r\n ),\r\n\r\n /** Elevation on pressed. */\r\n containerElevation: unsafeCSS(\r\n `var(--m3e-elevated-icon-button-pressed-container-elevation, var(--m3e-icon-button-pressed-container-elevation, ${DesignToken.elevation.level1}))`,\r\n ),\r\n\r\n /** Unselected icon color on pressed. */\r\n unselectedIconColor: unsafeCSS(\r\n `var(--m3e-elevated-icon-button-pressed-unselected-icon-color, var(--m3e-icon-button-pressed-unselected-icon-color, ${DesignToken.color.primary}))`,\r\n ),\r\n\r\n /** Unselected ripple color on pressed. */\r\n unselectedStateLayerColor: unsafeCSS(\r\n `var(--m3e-elevated-icon-button-pressed-unselected-state-layer-color, var(--m3e-icon-button-pressed-unselected-state-layer-color, ${DesignToken.color.primary}))`,\r\n ),\r\n\r\n /** Selected icon color on pressed. */\r\n selectedIconColor: unsafeCSS(\r\n `var(--m3e-elevated-icon-button-pressed-selected-icon-color, var(--m3e-icon-button-pressed-selected-icon-color, ${DesignToken.color.onPrimary}))`,\r\n ),\r\n\r\n /** Selected ripple color on pressed. */\r\n selectedStateLayerColor: unsafeCSS(\r\n `var(--m3e-elevated-icon-button-pressed-selected-state-layer-color, var(--m3e-icon-button-pressed-selected-state-layer-color, ${DesignToken.color.onPrimary}))`,\r\n ),\r\n },\r\n },\r\n /** Design tokens that control the `outlined` variant. */\r\n outlined: {\r\n /** Default icon color. */\r\n iconColor: unsafeCSS(\r\n `var(--m3e-outlined-icon-button-icon-color, var(--m3e-icon-button-icon-color, ${DesignToken.color.onSurfaceVariant}))`,\r\n ),\r\n\r\n /** Default outline color. */\r\n outlineColor: unsafeCSS(\r\n `var(--m3e-outlined-icon-button-outline-color, var(--m3e-icon-button-outline-color, ${DesignToken.color.outlineVariant}))`,\r\n ),\r\n\r\n /** Unselected icon color. */\r\n unselectedIconColor: unsafeCSS(\r\n `var(--m3e-outlined-icon-button-unselected-icon-color, var(--m3e-icon-button-unselected-icon-color, ${DesignToken.color.onSurfaceVariant}))`,\r\n ),\r\n\r\n /** Selected icon color. */\r\n selectedIconColor: unsafeCSS(\r\n `var(--m3e-outlined-icon-button-selected-icon-color, var(--m3e-icon-button-selected-icon-color, ${DesignToken.color.inverseOnSurface}))`,\r\n ),\r\n\r\n /** Selected container background color. */\r\n selectedContainerColor: unsafeCSS(\r\n `var(--m3e-outlined-icon-button-selected-container-color, var(--m3e-icon-button-selected-container-color, ${DesignToken.color.inverseSurface}))`,\r\n ),\r\n\r\n /** Design tokens that control disabled state. */\r\n disabled: {\r\n /** Container background color when disabled. */\r\n containerColor: unsafeCSS(\r\n `var(--m3e-outlined-icon-button-disabled-container-color, var(--m3e-icon-button-disabled-container-color, ${DesignToken.color.onSurface}))`,\r\n ),\r\n\r\n /** Opacity of container when disabled. */\r\n containerOpacity: unsafeCSS(\r\n `var(--m3e-outlined-icon-button-disabled-container-opacity, var(--m3e-icon-button-disabled-container-opacity, 10%))`,\r\n ),\r\n\r\n /** Icon color when disabled. */\r\n iconColor: unsafeCSS(\r\n `var(--m3e-outlined-icon-button-disabled-icon-color, var(--m3e-icon-button-disabled-icon-color, ${DesignToken.color.onSurface}))`,\r\n ),\r\n\r\n /** Icon opacity when disabled. */\r\n iconOpacity: unsafeCSS(\r\n `var(--m3e-outlined-icon-button-disabled-icon-opacity, var(--m3e-icon-button-disabled-icon-opacity, 38%))`,\r\n ),\r\n\r\n /** Outline color when disabled. */\r\n outlineColor: unsafeCSS(\r\n `var(--m3e-outlined-icon-button-disabled-outline-color, var(--m3e-icon-button-disabled-outline-color, ${DesignToken.color.outlineVariant}))`,\r\n ),\r\n },\r\n\r\n /** Design tokens that control hover state. */\r\n hover: {\r\n /** Icon color on hover. */\r\n iconColor: unsafeCSS(\r\n `var(--m3e-outlined-icon-button-hover-icon-color, var(--m3e-icon-button-hover-icon-color, ${DesignToken.color.onSurfaceVariant}))`,\r\n ),\r\n\r\n /** Outline color on hover. */\r\n outlineColor: unsafeCSS(\r\n `var(--m3e-outlined-icon-button-hover-outline-color, var(--m3e-icon-button-hover-outline-color, ${DesignToken.color.outlineVariant}))`,\r\n ),\r\n\r\n /** State layer color on hover. */\r\n stateLayerColor: unsafeCSS(\r\n `var(--m3e-outlined-icon-button-hover-state-layer-color, var(--m3e-icon-button-hover-state-layer-color, ${DesignToken.color.onSurfaceVariant}))`,\r\n ),\r\n\r\n /** State layer opacity on hover. */\r\n stateLayerOpacity: unsafeCSS(\r\n `var(--m3e-outlined-icon-button-hover-state-layer-opacity, var(--m3e-icon-button-hover-state-layer-opacity, ${DesignToken.state.hoverStateLayerOpacity}))`,\r\n ),\r\n\r\n /** Unselected icon color on hover. */\r\n unselectedIconColor: unsafeCSS(\r\n `var(--m3e-outlined-icon-button-hover-unselected-icon-color, var(--m3e-icon-button-hover-unselected-icon-color, ${DesignToken.color.onSurfaceVariant}))`,\r\n ),\r\n\r\n /** Unselected state layer color on hover. */\r\n unselectedStateLayerColor: unsafeCSS(\r\n `var(--m3e-outlined-icon-button-hover-unselected-state-layer-color, var(--m3e-icon-button-hover-unselected-state-layer-color, ${DesignToken.color.onSurfaceVariant}))`,\r\n ),\r\n\r\n /** Selected icon color on hover. */\r\n selectedIconColor: unsafeCSS(\r\n `var(--m3e-outlined-icon-button-hover-selected-icon-color, var(--m3e-icon-button-hover-selected-icon-color, ${DesignToken.color.inverseOnSurface}))`,\r\n ),\r\n\r\n /** Selected state layer color on hover. */\r\n selectedStateLayerColor: unsafeCSS(\r\n `var(--m3e-outlined-icon-button-hover-selected-state-layer-color, var(--m3e-icon-button-hover-selected-state-layer-color, ${DesignToken.color.inverseOnSurface}))`,\r\n ),\r\n },\r\n\r\n /** Design tokens that control focus state. */\r\n focus: {\r\n /** Icon color on focus. */\r\n iconColor: unsafeCSS(\r\n `var(--m3e-outlined-icon-button-focus-icon-color, var(--m3e-icon-button-focus-icon-color, ${DesignToken.color.onSurfaceVariant}))`,\r\n ),\r\n\r\n /** Outline color on focus. */\r\n outlineColor: unsafeCSS(\r\n `var(--m3e-outlined-icon-button-focus-outline-color, var(--m3e-icon-button-focus-outline-color, ${DesignToken.color.outlineVariant}))`,\r\n ),\r\n\r\n /** State layer color on focus. */\r\n stateLayerColor: unsafeCSS(\r\n `var(--m3e-outlined-icon-button-focus-state-layer-color, var(--m3e-icon-button-focus-state-layer-color, ${DesignToken.color.onSurfaceVariant}))`,\r\n ),\r\n\r\n /**State layer opacity on focus. */\r\n stateLayerOpacity: unsafeCSS(\r\n `var(--m3e-outlined-icon-button-focus-state-layer-opacity, var(--m3e-icon-button-focus-state-layer-opacity, ${DesignToken.state.focusStateLayerOpacity}))`,\r\n ),\r\n\r\n /** Unselected icon color on focus. */\r\n unselectedIconColor: unsafeCSS(\r\n `var(--m3e-outlined-icon-button-focus-unselected-icon-color, var(--m3e-icon-button-focus-unselected-icon-color, ${DesignToken.color.onSurfaceVariant}))`,\r\n ),\r\n\r\n /** Unselected state layer color on focus. */\r\n unselectedStateLayerColor: unsafeCSS(\r\n `var(--m3e-outlined-icon-button-focus-unselected-state-layer-color, var(--m3e-icon-button-focus-unselected-state-layer-color, ${DesignToken.color.onSurfaceVariant}))`,\r\n ),\r\n\r\n /** Selected icon color on focus. */\r\n selectedIconColor: unsafeCSS(\r\n `var(--m3e-outlined-icon-button-focus-selected-icon-color, var(--m3e-icon-button-focus-selected-icon-color, ${DesignToken.color.inverseOnSurface}))`,\r\n ),\r\n\r\n /** Selected state layer color on focus. */\r\n selectedStateLayerColor: unsafeCSS(\r\n `var(--m3e-outlined-icon-button-focus-selected-state-layer-color, var(--m3e-icon-button-focus-selected-state-layer-color, ${DesignToken.color.inverseOnSurface}))`,\r\n ),\r\n },\r\n\r\n /** Design tokens that control pressed state. */\r\n pressed: {\r\n /** Icon color on pressed. */\r\n iconColor: unsafeCSS(\r\n `var(--m3e-outlined-icon-button-pressed-icon-color, var(--m3e-icon-button-pressed-icon-color, ${DesignToken.color.onSurfaceVariant}))`,\r\n ),\r\n\r\n /** Outline color on pressed. */\r\n outlineColor: unsafeCSS(\r\n `var(--m3e-outlined-icon-button-pressed-outline-color, var(--m3e-icon-button-pressed-outline-color, ${DesignToken.color.outlineVariant}))`,\r\n ),\r\n\r\n /** State layer color on pressed. */\r\n stateLayerColor: unsafeCSS(\r\n `var(--m3e-outlined-icon-button-pressed-state-layer-color, var(--m3e-icon-button-pressed-state-layer-color, ${DesignToken.color.onSurfaceVariant}))`,\r\n ),\r\n\r\n /** State layer opacity on pressed. */\r\n stateLayerOpacity: unsafeCSS(\r\n `var(--m3e-outlined-icon-button-pressed-state-layer-opacity, var(--m3e-icon-button-pressed-state-layer-opacity, ${DesignToken.state.pressedStateLayerOpacity}))`,\r\n ),\r\n\r\n /** Unselected icon color on pressed. */\r\n unselectedIconColor: unsafeCSS(\r\n `var(--m3e-outlined-icon-button-pressed-unselected-icon-color, var(--m3e-icon-button-pressed-unselected-icon-color, ${DesignToken.color.onSurfaceVariant}))`,\r\n ),\r\n\r\n /** Unselected state layer color on pressed. */\r\n unselectedStateLayerColor: unsafeCSS(\r\n `var(--m3e-outlined-icon-button-pressed-unselected-state-layer-color, var(--m3e-icon-button-pressed-unselected-state-layer-color, ${DesignToken.color.onSurfaceVariant}))`,\r\n ),\r\n\r\n /** Selected icon color on pressed. */\r\n selectedIconColor: unsafeCSS(\r\n `var(--m3e-outlined-icon-button-pressed-selected-icon-color, var(--m3e-icon-button-pressed-selected-icon-color, ${DesignToken.color.inverseOnSurface}))`,\r\n ),\r\n\r\n /** Selected state layer color on pressed. */\r\n selectedStateLayerColor: unsafeCSS(\r\n `var(--m3e-outlined-icon-button-pressed-selected-state-layer-color, var(--m3e-icon-button-pressed-selected-state-layer-color, ${DesignToken.color.inverseOnSurface}))`,\r\n ),\r\n },\r\n },\r\n\r\n /** Design tokens that control the `filled` variant. */\r\n filled: {\r\n /** Default icon color. */\r\n iconColor: unsafeCSS(\r\n `var(--m3e-filled-icon-button-icon-color, var(--m3e-icon-button-icon-color, ${DesignToken.color.onPrimary}))`,\r\n ),\r\n\r\n /** Default container background color. */\r\n containerColor: unsafeCSS(\r\n `var(--m3e-filled-icon-button-container-color, var(--m3e-icon-button-container-color, ${DesignToken.color.primary}))`,\r\n ),\r\n\r\n /** Unselected icon color. */\r\n unselectedIconColor: unsafeCSS(\r\n `var(--m3e-filled-icon-button-unselected-icon-color, var(--m3e-icon-button-unselected-icon-color, ${DesignToken.color.onSurfaceVariant}))`,\r\n ),\r\n\r\n /** Unselected container background color. */\r\n unselectedContainerColor: unsafeCSS(\r\n `var(--m3e-filled-icon-button-unselected-container-color, var(--m3e-icon-button-unselected-container-color, ${DesignToken.color.surfaceContainer}))`,\r\n ),\r\n\r\n /** Selected icon color. */\r\n selectedIconColor: unsafeCSS(\r\n `var(--m3e-filled-icon-button-selected-icon-color, var(--m3e-icon-button-selected-icon-color, ${DesignToken.color.onPrimary}))`,\r\n ),\r\n\r\n /** Selected container background color. */\r\n selectedContainerColor: unsafeCSS(\r\n `var(--m3e-filled-icon-button-selected-container-color, var(--m3e-icon-button-selected-container-color, ${DesignToken.color.primary}))`,\r\n ),\r\n\r\n /** Design tokens that control disabled state. */\r\n disabled: {\r\n /** Container background color when disabled. */\r\n containerColor: unsafeCSS(\r\n `var(--m3e-filled-icon-button-disabled-container-color, var(--m3e-icon-button-disabled-container-color, ${DesignToken.color.onSurface}))`,\r\n ),\r\n\r\n /** Opacity of container when disabled. */\r\n containerOpacity: unsafeCSS(\r\n `var(--m3e-filled-icon-button-disabled-container-opacity, var(--m3e-icon-button-disabled-container-opacity, 10%))`,\r\n ),\r\n\r\n /** Icon color when disabled. */\r\n iconColor: unsafeCSS(\r\n `var(--m3e-filled-icon-button-disabled-icon-color, var(--m3e-icon-button-disabled-icon-color, ${DesignToken.color.onSurface}))`,\r\n ),\r\n\r\n /** Icon opacity when disabled. */\r\n iconOpacity: unsafeCSS(\r\n `var(--m3e-filled-icon-button-disabled-icon-opacity, var(--m3e-icon-button-disabled-icon-opacity, 38%))`,\r\n ),\r\n },\r\n\r\n /** Design tokens that control hover state. */\r\n hover: {\r\n /** Icon color on hover. */\r\n iconColor: unsafeCSS(\r\n `var(--m3e-filled-icon-button-hover-icon-color, var(--m3e-icon-button-hover-icon-color, ${DesignToken.color.onPrimary}))`,\r\n ),\r\n\r\n /** State layer color on hover. */\r\n stateLayerColor: unsafeCSS(\r\n `var(--m3e-filled-icon-button-hover-state-layer-color, var(--m3e-icon-button-hover-state-layer-color, ${DesignToken.color.onPrimary}))`,\r\n ),\r\n\r\n /** State layer opacity on hover. */\r\n stateLayerOpacity: unsafeCSS(\r\n `var(--m3e-filled-icon-button-hover-state-layer-opacity, var(--m3e-icon-button-hover-state-layer-opacity, ${DesignToken.state.hoverStateLayerOpacity}))`,\r\n ),\r\n\r\n /** Unselected icon color on hover. */\r\n unselectedIconColor: unsafeCSS(\r\n `var(--m3e-filled-icon-button-hover-unselected-icon-color, var(--m3e-icon-button-hover-unselected-icon-color, ${DesignToken.color.onSurfaceVariant}))`,\r\n ),\r\n\r\n /** Unselected state layer color on hover. */\r\n unselectedStateLayerColor: unsafeCSS(\r\n `var(--m3e-filled-icon-button-hover-unselected-state-layer-color, var(--m3e-icon-button-hover-unselected-state-layer-color, ${DesignToken.color.onSurfaceVariant}))`,\r\n ),\r\n\r\n /** Selected icon color on hover. */\r\n selectedIconColor: unsafeCSS(\r\n `var(--m3e-filled-icon-button-hover-selected-icon-color, var(--m3e-icon-button-hover-selected-icon-color, ${DesignToken.color.onPrimary}))`,\r\n ),\r\n\r\n /** Selected state layer color on hover. */\r\n selectedStateLayerColor: unsafeCSS(\r\n `var(--m3e-filled-icon-button-hover-selected-state-layer-color, var(--m3e-icon-button-hover-selected-state-layer-color, ${DesignToken.color.onPrimary}))`,\r\n ),\r\n },\r\n\r\n /** Design tokens that control focus state. */\r\n focus: {\r\n /** Icon color on focus. */\r\n iconColor: unsafeCSS(\r\n `var(--m3e-filled-icon-button-focus-icon-color, var(--m3e-icon-button-focus-icon-color, ${DesignToken.color.onPrimary}))`,\r\n ),\r\n\r\n /** State layer color on focus. */\r\n stateLayerColor: unsafeCSS(\r\n `var(--m3e-filled-icon-button-focus-state-layer-color, var(--m3e-icon-button-focus-state-layer-color, ${DesignToken.color.onPrimary}))`,\r\n ),\r\n\r\n /**State layer opacity on focus. */\r\n stateLayerOpacity: unsafeCSS(\r\n `var(--m3e-filled-icon-button-focus-state-layer-opacity, var(--m3e-icon-button-focus-state-layer-opacity, ${DesignToken.state.focusStateLayerOpacity}))`,\r\n ),\r\n\r\n /** Unselected icon color on focus. */\r\n unselectedIconColor: unsafeCSS(\r\n `var(--m3e-filled-icon-button-focus-unselected-icon-color, var(--m3e-icon-button-focus-unselected-icon-color, ${DesignToken.color.onSurfaceVariant}))`,\r\n ),\r\n\r\n /** Unselected state layer color on focus. */\r\n unselectedStateLayerColor: unsafeCSS(\r\n `var(--m3e-filled-icon-button-focus-unselected-state-layer-color, var(--m3e-icon-button-focus-unselected-state-layer-color, ${DesignToken.color.onSurfaceVariant}))`,\r\n ),\r\n\r\n /** Selected icon color on focus. */\r\n selectedIconColor: unsafeCSS(\r\n `var(--m3e-filled-icon-button-focus-selected-icon-color, var(--m3e-icon-button-focus-selected-icon-color, ${DesignToken.color.onPrimary}))`,\r\n ),\r\n\r\n /** Selected state layer color on focus. */\r\n selectedStateLayerColor: unsafeCSS(\r\n `var(--m3e-filled-icon-button-focus-selected-state-layer-color, var(--m3e-icon-button-focus-selected-state-layer-color, ${DesignToken.color.onPrimary}))`,\r\n ),\r\n },\r\n\r\n /** Design tokens that control pressed state. */\r\n pressed: {\r\n /** Icon color on pressed. */\r\n iconColor: unsafeCSS(\r\n `var(--m3e-filled-icon-button-pressed-icon-color, var(--m3e-icon-button-pressed-icon-color, ${DesignToken.color.onPrimary}))`,\r\n ),\r\n\r\n /** State layer color on pressed. */\r\n stateLayerColor: unsafeCSS(\r\n `var(--m3e-filled-icon-button-pressed-state-layer-color, var(--m3e-icon-button-pressed-state-layer-color, ${DesignToken.color.onPrimary}))`,\r\n ),\r\n\r\n /** State layer opacity on pressed. */\r\n stateLayerOpacity: unsafeCSS(\r\n `var(--m3e-filled-icon-button-pressed-state-layer-opacity, var(--m3e-icon-button-pressed-state-layer-opacity, ${DesignToken.state.pressedStateLayerOpacity}))`,\r\n ),\r\n\r\n /** Unselected icon color on pressed. */\r\n unselectedIconColor: unsafeCSS(\r\n `var(--m3e-filled-icon-button-pressed-unselected-icon-color, var(--m3e-icon-button-pressed-unselected-icon-color, ${DesignToken.color.onSurfaceVariant}))`,\r\n ),\r\n\r\n /** Unselected state layer color on pressed. */\r\n unselectedStateLayerColor: unsafeCSS(\r\n `var(--m3e-filled-icon-button-pressed-unselected-state-layer-color, var(--m3e-icon-button-pressed-unselected-state-layer-color, ${DesignToken.color.onSurfaceVariant}))`,\r\n ),\r\n\r\n /** Selected icon color on pressed. */\r\n selectedIconColor: unsafeCSS(\r\n `var(--m3e-filled-icon-button-pressed-selected-icon-color, var(--m3e-icon-button-pressed-selected-icon-color, ${DesignToken.color.onPrimary}))`,\r\n ),\r\n\r\n /** Selected state layer color on pressed. */\r\n selectedStateLayerColor: unsafeCSS(\r\n `var(--m3e-filled-icon-button-pressed-selected-state-layer-color, var(--m3e-icon-button-pressed-selected-state-layer-color, ${DesignToken.color.onPrimary}))`,\r\n ),\r\n },\r\n },\r\n\r\n /** Design tokens that control the `tonal` variant. */\r\n tonal: {\r\n /** Default icon color. */\r\n iconColor: unsafeCSS(\r\n `var(--m3e-tonal-icon-button-icon-color, var(--m3e-icon-button-icon-color, ${DesignToken.color.onSecondaryContainer}))`,\r\n ),\r\n\r\n /** Default container background color. */\r\n containerColor: unsafeCSS(\r\n `var(--m3e-tonal-icon-button-container-color, var(--m3e-icon-button-container-color, ${DesignToken.color.secondaryContainer}))`,\r\n ),\r\n\r\n /** Unselected icon color. */\r\n unselectedIconColor: unsafeCSS(\r\n `var(--m3e-tonal-icon-button-unselected-icon-color, var(--m3e-icon-button-unselected-icon-color, ${DesignToken.color.onSecondaryContainer}))`,\r\n ),\r\n\r\n /** Unselected container background color. */\r\n unselectedContainerColor: unsafeCSS(\r\n `var(--m3e-tonal-icon-button-unselected-container-color, var(--m3e-icon-button-unselected-container-color, ${DesignToken.color.secondaryContainer}))`,\r\n ),\r\n\r\n /** Selected icon color. */\r\n selectedIconColor: unsafeCSS(\r\n `var(--m3e-tonal-icon-button-selected-icon-color, var(--m3e-icon-button-selected-icon-color, ${DesignToken.color.onSecondary}))`,\r\n ),\r\n\r\n /** Selected container background color. */\r\n selectedContainerColor: unsafeCSS(\r\n `var(--m3e-tonal-icon-button-selected-container-color, var(--m3e-icon-button-selected-container-color, ${DesignToken.color.secondary}))`,\r\n ),\r\n\r\n /** Design tokens that control disabled state. */\r\n disabled: {\r\n /** Container background color when disabled. */\r\n containerColor: unsafeCSS(\r\n `var(--m3e-tonal-icon-button-disabled-container-color, var(--m3e-icon-button-disabled-container-color, ${DesignToken.color.onSurface}))`,\r\n ),\r\n\r\n /** Opacity of container when disabled. */\r\n containerOpacity: unsafeCSS(\r\n `var(--m3e-tonal-icon-button-disabled-container-opacity, var(--m3e-icon-button-disabled-container-opacity, 10%))`,\r\n ),\r\n\r\n /** Icon color when disabled. */\r\n iconColor: unsafeCSS(\r\n `var(--m3e-tonal-icon-button-disabled-icon-color, var(--m3e-icon-button-disabled-icon-color, ${DesignToken.color.onSurface}))`,\r\n ),\r\n\r\n /** Icon opacity when disabled. */\r\n iconOpacity: unsafeCSS(\r\n `var(--m3e-tonal-icon-button-disabled-icon-opacity, var(--m3e-icon-button-disabled-icon-opacity, 38%))`,\r\n ),\r\n },\r\n\r\n /** Design tokens that control hover state. */\r\n hover: {\r\n /** Icon color on hover. */\r\n iconColor: unsafeCSS(\r\n `var(--m3e-tonal-icon-button-hover-icon-color, var(--m3e-icon-button-hover-icon-color, ${DesignToken.color.onSecondaryContainer}))`,\r\n ),\r\n\r\n /** State layer color on hover. */\r\n stateLayerColor: unsafeCSS(\r\n `var(--m3e-tonal-icon-button-hover-state-layer-color, var(--m3e-icon-button-hover-state-layer-color, ${DesignToken.color.onSecondaryContainer}))`,\r\n ),\r\n\r\n /** State layer opacity on hover. */\r\n stateLayerOpacity: unsafeCSS(\r\n `var(--m3e-tonal-icon-button-hover-state-layer-opacity, var(--m3e-icon-button-hover-state-layer-opacity, ${DesignToken.state.hoverStateLayerOpacity}))`,\r\n ),\r\n\r\n /** Unselected icon color on hover. */\r\n unselectedIconColor: unsafeCSS(\r\n `var(--m3e-tonal-icon-button-hover-unselected-icon-color, var(--m3e-icon-button-hover-unselected-icon-color, ${DesignToken.color.onSecondaryContainer}))`,\r\n ),\r\n\r\n /** Unselected state layer color on hover. */\r\n unselectedStateLayerColor: unsafeCSS(\r\n `var(--m3e-tonal-icon-button-hover-unselected-state-layer-color, var(--m3e-icon-button-hover-unselected-state-layer-color, ${DesignToken.color.onSecondaryContainer}))`,\r\n ),\r\n\r\n /** Selected icon color on hover. */\r\n selectedIconColor: unsafeCSS(\r\n `var(--m3e-tonal-icon-button-hover-selected-icon-color, var(--m3e-icon-button-hover-selected-icon-color, ${DesignToken.color.onSecondary}))`,\r\n ),\r\n\r\n /** Selected state layer color on hover. */\r\n selectedStateLayerColor: unsafeCSS(\r\n `var(--m3e-tonal-icon-button-hover-selected-state-layer-color, var(--m3e-icon-button-hover-selected-state-layer-color, ${DesignToken.color.onSecondary}))`,\r\n ),\r\n },\r\n\r\n /** Design tokens that control focus state. */\r\n focus: {\r\n /** Icon color on focus. */\r\n iconColor: unsafeCSS(\r\n `var(--m3e-tonal-icon-button-focus-icon-color, var(--m3e-icon-button-focus-icon-color, ${DesignToken.color.onSecondaryContainer}))`,\r\n ),\r\n\r\n /** State layer color on focus. */\r\n stateLayerColor: unsafeCSS(\r\n `var(--m3e-tonal-icon-button-focus-state-layer-color, var(--m3e-icon-button-focus-state-layer-color, ${DesignToken.color.onSecondaryContainer}))`,\r\n ),\r\n\r\n /**State layer opacity on focus. */\r\n stateLayerOpacity: unsafeCSS(\r\n `var(--m3e-tonal-icon-button-focus-state-layer-opacity, var(--m3e-icon-button-focus-state-layer-opacity, ${DesignToken.state.focusStateLayerOpacity}))`,\r\n ),\r\n\r\n /** Unselected icon color on focus. */\r\n unselectedIconColor: unsafeCSS(\r\n `var(--m3e-tonal-icon-button-focus-unselected-icon-color, var(--m3e-icon-button-focus-unselected-icon-color, ${DesignToken.color.onSecondaryContainer}))`,\r\n ),\r\n\r\n /** Unselected state layer color on focus. */\r\n unselectedStateLayerColor: unsafeCSS(\r\n `var(--m3e-tonal-icon-button-focus-unselected-state-layer-color, var(--m3e-icon-button-focus-unselected-state-layer-color, ${DesignToken.color.onSecondaryContainer}))`,\r\n ),\r\n\r\n /** Selected icon color on focus. */\r\n selectedIconColor: unsafeCSS(\r\n `var(--m3e-tonal-icon-button-focus-selected-icon-color, var(--m3e-icon-button-focus-selected-icon-color, ${DesignToken.color.onSecondary}))`,\r\n ),\r\n\r\n /** Selected state layer color on focus. */\r\n selectedStateLayerColor: unsafeCSS(\r\n `var(--m3e-tonal-icon-button-focus-selected-state-layer-color, var(--m3e-icon-button-focus-selected-state-layer-color, ${DesignToken.color.onSecondary}))`,\r\n ),\r\n },\r\n\r\n /** Design tokens that control pressed state. */\r\n pressed: {\r\n /** Icon color on pressed. */\r\n iconColor: unsafeCSS(\r\n `var(--m3e-tonal-icon-button-pressed-icon-color, var(--m3e-icon-button-pressed-icon-color, ${DesignToken.color.onSecondaryContainer}))`,\r\n ),\r\n\r\n /** State layer color on pressed. */\r\n stateLayerColor: unsafeCSS(\r\n `var(--m3e-tonal-icon-button-pressed-state-layer-color, var(--m3e-icon-button-pressed-state-layer-color, ${DesignToken.color.onSecondaryContainer}))`,\r\n ),\r\n\r\n /** State layer opacity on pressed. */\r\n stateLayerOpacity: unsafeCSS(\r\n `var(--m3e-tonal-icon-button-pressed-state-layer-opacity, var(--m3e-icon-button-pressed-state-layer-opacity, ${DesignToken.state.pressedStateLayerOpacity}))`,\r\n ),\r\n\r\n /** Unselected icon color on pressed. */\r\n unselectedIconColor: unsafeCSS(\r\n `var(--m3e-tonal-icon-button-pressed-unselected-icon-color, var(--m3e-icon-button-pressed-unselected-icon-color, ${DesignToken.color.onSecondaryContainer}))`,\r\n ),\r\n\r\n /** Unselected state layer color on pressed. */\r\n unselectedStateLayerColor: unsafeCSS(\r\n `var(--m3e-tonal-icon-button-pressed-unselected-state-layer-color, var(--m3e-icon-button-pressed-unselected-state-layer-color, ${DesignToken.color.onSecondaryContainer}))`,\r\n ),\r\n\r\n /** Selected icon color on pressed. */\r\n selectedIconColor: unsafeCSS(\r\n `var(--m3e-tonal-icon-button-pressed-selected-icon-color, var(--m3e-icon-button-pressed-selected-icon-color, ${DesignToken.color.onSecondary}))`,\r\n ),\r\n\r\n /** Selected state layer color on pressed. */\r\n selectedStateLayerColor: unsafeCSS(\r\n `var(--m3e-tonal-icon-button-pressed-selected-state-layer-color, var(--m3e-icon-button-pressed-selected-state-layer-color, ${DesignToken.color.onSecondary}))`,\r\n ),\r\n },\r\n },\r\n\r\n /** Design tokens that control the `standard` variant. */\r\n standard: {\r\n /** Default icon color. */\r\n iconColor: unsafeCSS(\r\n `var(--m3e-standard-icon-button-icon-color, var(--m3e-icon-button-icon-color, ${DesignToken.color.onSurfaceVariant}))`,\r\n ),\r\n\r\n /** Unselected icon color. */\r\n unselectedIconColor: unsafeCSS(\r\n `var(--m3e-standard-icon-button-unselected-icon-color, var(--m3e-icon-button-unselected-icon-color, ${DesignToken.color.onSurfaceVariant}))`,\r\n ),\r\n\r\n /** Selected icon color. */\r\n selectedIconColor: unsafeCSS(\r\n `var(--m3e-standard-icon-button-selected-icon-color, var(--m3e-icon-button-selected-icon-color, ${DesignToken.color.primary}))`,\r\n ),\r\n\r\n /** Design tokens that control disabled state. */\r\n disabled: {\r\n /** Container background color when disabled. */\r\n containerColor: unsafeCSS(\r\n `var(--m3e-standard-icon-button-disabled-container-color, var(--m3e-icon-button-disabled-container-color, transparent))`,\r\n ),\r\n\r\n /** Opacity of container when disabled. */\r\n containerOpacity: unsafeCSS(\r\n `var(--m3e-standard-icon-button-disabled-container-opacity, var(--m3e-icon-button-disabled-container-opacity, 10%))`,\r\n ),\r\n\r\n /** Icon color when disabled. */\r\n iconColor: unsafeCSS(\r\n `var(--m3e-standard-icon-button-disabled-icon-color, var(--m3e-icon-button-disabled-icon-color, ${DesignToken.color.onSurface}))`,\r\n ),\r\n\r\n /** Icon opacity when disabled. */\r\n iconOpacity: unsafeCSS(\r\n `var(--m3e-standard-icon-button-disabled-icon-opacity, var(--m3e-icon-button-disabled-icon-opacity, 38%))`,\r\n ),\r\n },\r\n\r\n /** Design tokens that control hover state. */\r\n hover: {\r\n /** Icon color on hover. */\r\n iconColor: unsafeCSS(\r\n `var(--m3e-standard-icon-button-hover-icon-color, var(--m3e-icon-button-hover-icon-color, ${DesignToken.color.onSurfaceVariant}))`,\r\n ),\r\n\r\n /** State layer color on hover. */\r\n stateLayerColor: unsafeCSS(\r\n `var(--m3e-standard-icon-button-hover-state-layer-color, var(--m3e-icon-button-hover-state-layer-color, ${DesignToken.color.onSurfaceVariant}))`,\r\n ),\r\n\r\n /** State layer opacity on hover. */\r\n stateLayerOpacity: unsafeCSS(\r\n `var(--m3e-standard-icon-button-hover-state-layer-opacity, var(--m3e-icon-button-hover-state-layer-opacity, ${DesignToken.state.hoverStateLayerOpacity}))`,\r\n ),\r\n\r\n /** Unselected icon color on hover. */\r\n unselectedIconColor: unsafeCSS(\r\n `var(--m3e-standard-icon-button-hover-unselected-icon-color, var(--m3e-icon-button-hover-unselected-icon-color, ${DesignToken.color.onSurfaceVariant}))`,\r\n ),\r\n\r\n /** Unselected state layer color on hover. */\r\n unselectedStateLayerColor: unsafeCSS(\r\n `var(--m3e-standard-icon-button-hover-unselected-state-layer-color, var(--m3e-icon-button-hover-unselected-state-layer-color, ${DesignToken.color.onSurfaceVariant}))`,\r\n ),\r\n\r\n /** Selected icon color on hover. */\r\n selectedIconColor: unsafeCSS(\r\n `var(--m3e-standard-icon-button-hover-selected-icon-color, var(--m3e-icon-button-hover-selected-icon-color, ${DesignToken.color.primary}))`,\r\n ),\r\n\r\n /** Selected state layer color on hover. */\r\n selectedStateLayerColor: unsafeCSS(\r\n `var(--m3e-standard-icon-button-hover-selected-state-layer-color, var(--m3e-icon-button-hover-selected-state-layer-color, ${DesignToken.color.primary}))`,\r\n ),\r\n },\r\n\r\n /** Design tokens that control focus state. */\r\n focus: {\r\n /** Icon color on focus. */\r\n iconColor: unsafeCSS(\r\n `var(--m3e-standard-icon-button-focus-icon-color, var(--m3e-icon-button-focus-icon-color, ${DesignToken.color.onSurfaceVariant}))`,\r\n ),\r\n\r\n /** State layer color on focus. */\r\n stateLayerColor: unsafeCSS(\r\n `var(--m3e-standard-icon-button-focus-state-layer-color, var(--m3e-icon-button-focus-state-layer-color, ${DesignToken.color.onSurfaceVariant}))`,\r\n ),\r\n\r\n /**State layer opacity on focus. */\r\n stateLayerOpacity: unsafeCSS(\r\n `var(--m3e-standard-icon-button-focus-state-layer-opacity, var(--m3e-icon-button-focus-state-layer-opacity, ${DesignToken.state.focusStateLayerOpacity}))`,\r\n ),\r\n\r\n /** Unselected icon color on focus. */\r\n unselectedIconColor: unsafeCSS(\r\n `var(--m3e-standard-icon-button-focus-unselected-icon-color, var(--m3e-icon-button-focus-unselected-icon-color, ${DesignToken.color.onSurfaceVariant}))`,\r\n ),\r\n\r\n /** Unselected state layer color on focus. */\r\n unselectedStateLayerColor: unsafeCSS(\r\n `var(--m3e-standard-icon-button-focus-unselected-state-layer-color, var(--m3e-icon-button-focus-unselected-state-layer-color, ${DesignToken.color.onSurfaceVariant}))`,\r\n ),\r\n\r\n /** Selected icon color on focus. */\r\n selectedIconColor: unsafeCSS(\r\n `var(--m3e-standard-icon-button-focus-selected-icon-color, var(--m3e-icon-button-focus-selected-icon-color, ${DesignToken.color.primary}))`,\r\n ),\r\n\r\n /** Selected state layer color on focus. */\r\n selectedStateLayerColor: unsafeCSS(\r\n `var(--m3e-standard-icon-button-focus-selected-state-layer-color, var(--m3e-icon-button-focus-selected-state-layer-color, ${DesignToken.color.primary}))`,\r\n ),\r\n },\r\n\r\n /** Design tokens that control pressed state. */\r\n pressed: {\r\n /** Icon color on pressed. */\r\n iconColor: unsafeCSS(\r\n `var(--m3e-standard-icon-button-pressed-icon-color, var(--m3e-icon-button-pressed-icon-color, ${DesignToken.color.onSurfaceVariant}))`,\r\n ),\r\n\r\n /** State layer color on pressed. */\r\n stateLayerColor: unsafeCSS(\r\n `var(--m3e-standard-icon-button-pressed-state-layer-color, var(--m3e-icon-button-pressed-state-layer-color, ${DesignToken.color.onSurfaceVariant}))`,\r\n ),\r\n\r\n /** State layer opacity on pressed. */\r\n stateLayerOpacity: unsafeCSS(\r\n `var(--m3e-standard-icon-button-pressed-state-layer-opacity, var(--m3e-icon-button-pressed-state-layer-opacity, ${DesignToken.state.pressedStateLayerOpacity}))`,\r\n ),\r\n\r\n /** Unselected icon color on pressed. */\r\n unselectedIconColor: unsafeCSS(\r\n `var(--m3e-standard-icon-button-pressed-unselected-icon-color, var(--m3e-icon-button-pressed-unselected-icon-color, ${DesignToken.color.onSurfaceVariant}))`,\r\n ),\r\n\r\n /** Unselected state layer color on pressed. */\r\n unselectedStateLayerColor: unsafeCSS(\r\n `var(--m3e-standard-icon-button-pressed-unselected-state-layer-color, var(--m3e-icon-button-pressed-unselected-state-layer-color, ${DesignToken.color.onSurfaceVariant}))`,\r\n ),\r\n\r\n /** Selected icon color on pressed. */\r\n selectedIconColor: unsafeCSS(\r\n `var(--m3e-standard-icon-button-pressed-selected-icon-color, var(--m3e-icon-button-pressed-selected-icon-color, ${DesignToken.color.primary}))`,\r\n ),\r\n\r\n /** Selected state layer color on pressed. */\r\n selectedStateLayerColor: unsafeCSS(\r\n `var(--m3e-standard-icon-button-pressed-selected-state-layer-color, var(--m3e-icon-button-pressed-selected-state-layer-color, ${DesignToken.color.primary}))`,\r\n ),\r\n },\r\n },\r\n} as const;\r\n","import { css, CSSResult, CSSResultGroup, unsafeCSS } from \"lit\";\r\n\r\nimport { IconButtonVariant } from \"../IconButtonVariant\";\r\nimport { IconButtonVariantToken } from \"./IconButtonVariantToken\";\r\n\r\n/** @private */\r\nfunction iconButtonVariantStyle(variant: IconButtonVariant | \"elevated\"): CSSResult {\r\n return css`\r\n :host([variant=\"${unsafeCSS(variant)}\"]:not(:disabled):not([disabled-interactive])) .base {\r\n background-color: ${IconButtonVariantToken[variant].containerColor ?? unsafeCSS(\"unset\")};\r\n --m3e-state-layer-hover-color: ${IconButtonVariantToken[variant].hover.stateLayerColor};\r\n --m3e-state-layer-hover-opacity: ${IconButtonVariantToken[variant].hover.stateLayerOpacity};\r\n --m3e-state-layer-focus-color: ${IconButtonVariantToken[variant].focus.stateLayerColor};\r\n --m3e-state-layer-focus-opacity: ${IconButtonVariantToken[variant].focus.stateLayerOpacity};\r\n --m3e-ripple-color: ${IconButtonVariantToken[variant].pressed.stateLayerColor};\r\n --m3e-ripple-opacity: ${IconButtonVariantToken[variant].pressed.stateLayerOpacity};\r\n --m3e-elevation-level: ${IconButtonVariantToken[variant].containerElevation ?? unsafeCSS(\"unset\")};\r\n --m3e-elevation-hover-level: ${IconButtonVariantToken[variant].hover.containerElevation ?? unsafeCSS(\"unset\")};\r\n --m3e-elevation-focus-level: ${IconButtonVariantToken[variant].focus.containerElevation ?? unsafeCSS(\"unset\")};\r\n --m3e-elevation-pressed-level: ${IconButtonVariantToken[variant].pressed.containerElevation ??\r\n unsafeCSS(\"unset\")};\r\n }\r\n :host([variant=\"${unsafeCSS(variant)}\"][toggle]:not([selected]):not(:disabled):not([disabled-interactive])) .base {\r\n background-color: ${IconButtonVariantToken[variant].unselectedContainerColor ?? unsafeCSS(\"unset\")};\r\n --m3e-state-layer-hover-color: ${IconButtonVariantToken[variant].hover.unselectedStateLayerColor};\r\n --m3e-state-layer-focus-color: ${IconButtonVariantToken[variant].focus.unselectedStateLayerColor};\r\n --m3e-ripple-color: ${IconButtonVariantToken[variant].pressed.unselectedStateLayerColor};\r\n }\r\n :host([variant=\"${unsafeCSS(variant)}\"][toggle][selected]:not(:disabled):not([disabled-interactive])) .base {\r\n background-color: ${IconButtonVariantToken[variant].selectedContainerColor ?? unsafeCSS(\"unset\")};\r\n --m3e-state-layer-hover-color: ${IconButtonVariantToken[variant].hover.selectedStateLayerColor};\r\n --m3e-state-layer-focus-color: ${IconButtonVariantToken[variant].focus.selectedStateLayerColor};\r\n --m3e-ripple-color: ${IconButtonVariantToken[variant].pressed.selectedStateLayerColor};\r\n }\r\n :host([variant=\"${unsafeCSS(variant)}\"]:not(:disabled):not([disabled-interactive])) .base {\r\n outline-color: ${IconButtonVariantToken[variant].outlineColor ?? unsafeCSS(\"unset\")};\r\n }\r\n :host([variant=\"${unsafeCSS(variant)}\"]:focus:not(:disabled):not([disabled-interactive])) .base {\r\n outline-color: ${IconButtonVariantToken[variant].focus.outlineColor ?? unsafeCSS(\"unset\")};\r\n }\r\n :host([variant=\"${unsafeCSS(variant)}\"]:hover:not(:disabled):not([disabled-interactive])) .base {\r\n outline-color: ${IconButtonVariantToken[variant].hover.outlineColor ?? unsafeCSS(\"unset\")};\r\n }\r\n :host([variant=\"${unsafeCSS(variant)}\"]:state(-pressed):not(:disabled):not([disabled-interactive])) .base {\r\n outline-color: ${IconButtonVariantToken[variant].pressed.outlineColor ?? unsafeCSS(\"unset\")};\r\n }\r\n :host([variant=\"${unsafeCSS(variant)}\"]:not(:disabled):not([disabled-interactive])) .icon {\r\n color: ${IconButtonVariantToken[variant].iconColor};\r\n }\r\n :host([variant=\"${unsafeCSS(variant)}\"][toggle]:not([selected]):not(:disabled):not([disabled-interactive])) .icon {\r\n color: ${IconButtonVariantToken[variant].unselectedIconColor};\r\n }\r\n :host([variant=\"${unsafeCSS(variant)}\"][toggle][selected]:not(:disabled):not([disabled-interactive])) .icon {\r\n color: ${IconButtonVariantToken[variant].selectedIconColor};\r\n }\r\n :host([variant=\"${unsafeCSS(variant)}\"]:focus:not(:disabled):not([disabled-interactive])) .icon {\r\n color: ${IconButtonVariantToken[variant].focus.iconColor};\r\n }\r\n :host([variant=\"${unsafeCSS(variant)}\"][toggle]:not([selected]):focus:not(:disabled):not([disabled-interactive]))\r\n .icon {\r\n color: ${IconButtonVariantToken[variant].focus.unselectedIconColor};\r\n }\r\n :host([variant=\"${unsafeCSS(variant)}\"][toggle][selected]:focus:not(:disabled):not([disabled-interactive])) .icon {\r\n color: ${IconButtonVariantToken[variant].focus.selectedIconColor};\r\n }\r\n :host([variant=\"${unsafeCSS(variant)}\"]:hover:not(:disabled):not([disabled-interactive])) .icon {\r\n color: ${IconButtonVariantToken[variant].hover.iconColor};\r\n }\r\n :host([variant=\"${unsafeCSS(variant)}\"][toggle]:not([selected]):hover:not(:disabled):not([disabled-interactive]))\r\n .icon {\r\n color: ${IconButtonVariantToken[variant].hover.unselectedIconColor};\r\n }\r\n :host([variant=\"${unsafeCSS(variant)}\"][toggle][selected]:hover:not(:disabled):not([disabled-interactive])) .icon {\r\n color: ${IconButtonVariantToken[variant].hover.selectedIconColor};\r\n }\r\n :host([variant=\"${unsafeCSS(variant)}\"]:state(-pressed):not(:disabled):not([disabled-interactive])) .icon {\r\n color: ${IconButtonVariantToken[variant].pressed.iconColor};\r\n }\r\n :host(\r\n [variant=\"${unsafeCSS(variant)}\"][toggle]:not([selected]):state(-pressed):not(:disabled):not(\r\n [disabled-interactive]\r\n )\r\n )\r\n .icon {\r\n color: ${IconButtonVariantToken[variant].pressed.unselectedIconColor};\r\n }\r\n :host(\r\n [variant=\"${unsafeCSS(variant)}\"][toggle][selected]:state(-pressed):not(:disabled):not([disabled-interactive])\r\n )\r\n .icon {\r\n color: ${IconButtonVariantToken[variant].pressed.selectedIconColor};\r\n }\r\n :host([variant=\"${unsafeCSS(variant)}\"]:disabled) .base,\r\n :host([variant=\"${unsafeCSS(variant)}\"][disabled-interactive]) .base {\r\n outline-color: ${IconButtonVariantToken[variant].disabled.outlineColor ?? unsafeCSS(\"unset\")};\r\n background-color: color-mix(\r\n in srgb,\r\n ${IconButtonVariantToken[variant].disabled.containerColor}\r\n ${IconButtonVariantToken[variant].disabled.containerOpacity},\r\n transparent\r\n );\r\n }\r\n :host([variant=\"${unsafeCSS(variant)}\"]:disabled) .icon,\r\n :host([variant=\"${unsafeCSS(variant)}\"][disabled-interactive]) .icon {\r\n color: color-mix(\r\n in srgb,\r\n ${IconButtonVariantToken[variant].disabled.iconColor} ${IconButtonVariantToken[variant].disabled.iconOpacity},\r\n transparent\r\n );\r\n }\r\n `;\r\n}\r\n\r\n/**\r\n * Appearance variant styles for `M3eIconButtonElement`.\r\n * @internal\r\n */\r\nexport const IconButtonVariantStyle: CSSResultGroup = [\r\n iconButtonVariantStyle(\"standard\"),\r\n iconButtonVariantStyle(\"outlined\"),\r\n iconButtonVariantStyle(\"filled\"),\r\n iconButtonVariantStyle(\"tonal\"),\r\n iconButtonVariantStyle(\"elevated\"),\r\n css`\r\n :host([variant=\"outlined\"]:not([toggle][selected]):not(:disabled):not([disabled-interactive])) .base {\r\n outline-style: solid;\r\n }\r\n `,\r\n];\r\n","import { CSSResultGroup, html, LitElement, nothing, PropertyValues } from \"lit\";\r\nimport { property, query } from \"lit/decorators.js\";\r\n\r\nimport {\r\n renderPseudoLink,\r\n AttachInternals,\r\n Disabled,\r\n DisabledInteractive,\r\n Focusable,\r\n FocusController,\r\n FormSubmitter,\r\n LinkButton,\r\n M3eElevationElement,\r\n M3eFocusRingElement,\r\n M3eRippleElement,\r\n M3eStateLayerElement,\r\n PressedController,\r\n Role,\r\n KeyboardClick,\r\n hasAssignedNodes,\r\n debounce,\r\n ResizeController,\r\n prefersReducedMotion,\r\n hasCustomState,\r\n deleteCustomState,\r\n setCustomState,\r\n AttachInternalsMixin,\r\n customElement,\r\n} from \"@m3e/web/core\";\r\n\r\nimport { IconButtonSize } from \"./IconButtonSize\";\r\nimport { IconButtonShape } from \"./IconButtonShape\";\r\nimport { IconButtonVariant } from \"./IconButtonVariant\";\r\n\r\nimport { IconButtonStyle, IconButtonSizeStyle, IconButtonVariantStyle } from \"./styles\";\r\nimport { IconButtonWidth } from \"./IconButtonWidth\";\r\n\r\n/**\r\n * An icon button users interact with to perform a supplementary action.\r\n *\r\n * @description\r\n * The `m3e-icon-button` component is a semantic, expressive UI primitive for triggering actions with a single icon.\r\n * Designed according to Material Design 3 guidelines, it supports five four variants, specified using the\r\n * `variant` attribute—`filled`, `tonal`, `outlined`, and `standard`—each with dynamic elevation, shape morphing, and\r\n * adaptive color theming. The component responds to interaction states (hover, focus, press, disabled) with smooth motion\r\n * transitions, ensuring emotional clarity and visual hierarchy.\r\n *\r\n * The component is accessible by default, with ARIA roles, contrast-safe color tokens, and strong focus indicators.\r\n * It supports optional icons and states for binary actions. When using `m3e-icon` for icons, `filled` is automatically\r\n * set based on the selected state of a toggle button. It can also function as a link or be used to submit form data.\r\n *\r\n * Native disabled `<button>` elements cannot receive focus. This can be problematic in some cases because it can prevent you\r\n * from telling the user why the button is disabled. You can use the `disabled-interactive` attribute to style a `m3e-icon-button`\r\n * as disabled but allow for it to receive focus. The button will have `aria-disabled=\"true\"` for assistive technology.\r\n *\r\n * @example\r\n * The following example illustrates changing the appearance from `standard` (default) to `filled` using the `variant`\r\n * attribute, changing the size using the `size` attribute, and enabling toggle behavior using the `toggle` attribute.\r\n *\r\n * ```html\r\n * <m3e-icon-button variant=\"filled\" size=\"large\" toggle selected>\r\n * <m3e-icon name=\"favorite\"></m3e-icon>\r\n * </m3e-icon-button>\r\n * ```\r\n *\r\n * @tag m3e-icon-button\r\n *\r\n * @slot - Renders the icon of the button.\r\n * @slot selected - Renders an icon, when selected.\r\n *\r\n * @attr disabled - Whether the element is disabled.\r\n * @attr disabled-interactive - Whether the element is disabled and interactive.\r\n * @attr download - A value indicating whether the `target` of the link button will be downloaded, optionally specifying the new name of the file.\r\n * @attr href - The URL to which the link button points.\r\n * @attr name - The name of the element, submitted as a pair with the element's `value` as part of form data, when the element is used to submit a form.\r\n * @attr rel - The relationship between the `target` of the link button and the document.\r\n * @attr selected - Whether the toggle button is selected.\r\n * @attr shape - The shape of the button.\r\n * @attr size - The size of the button.\r\n * @attr target - The target of the link button.\r\n * @attr toggle - Whether the button will toggle between selected and unselected states.\r\n * @attr type - The type of the element.\r\n * @attr value - The value associated with the element's name when it's submitted with form data.\r\n * @attr variant - The appearance variant of the button.\r\n * @attr width - The width of the button.\r\n *\r\n * @fires input - Dispatched when a toggle button's selected state changes.\r\n * @fires change - Dispatched when a toggle button's selected state changes.\r\n * @fires click - Emitted when the element is clicked.\r\n *\r\n * @cssprop --m3e-icon-button-container-height - Height of the container for all size variants.\r\n * @cssprop --m3e-icon-button-outline-thickness - Outline thickness for all size variants.\r\n * @cssprop --m3e-icon-button-icon-size - Icon size for all size variants.\r\n * @cssprop --m3e-icon-button-shape-round - Corner radius for all round size variants.\r\n * @cssprop --m3e-icon-button-shape-square - Corner radius for all square size variants.\r\n * @cssprop --m3e-icon-button-selected-shape-round - Corner radius for all selected round size variants.\r\n * @cssprop --m3e-icon-button-selected-shape-square - Corner radius for all selected square size variants.\r\n * @cssprop --m3e-icon-button-shape-pressed-morph - Corner radius for all pressed size variants.\r\n * @cssprop --m3e-icon-button-narrow-leading-space - Leading space for all size variants (narrow).\r\n * @cssprop --m3e-icon-button-narrow-trailing-space - Trailing space for all size variants (narrow).\r\n * @cssprop --m3e-icon-button-default-leading-space - Leading space for all size variants (default).\r\n * @cssprop --m3e-icon-button-default-trailing-space - Trailing space for all size variants (default).\r\n * @cssprop --m3e-icon-button-wide-leading-space - Leading space for all size variants (wide).\r\n * @cssprop --m3e-icon-button-wide-trailing-space - Trailing space for all size variants (wide).\r\n * @cssprop --m3e-icon-button-extra-small-container-height - Height of the extra-small container.\r\n * @cssprop --m3e-icon-button-extra-small-outline-thickness - Outline thickness for extra-small.\r\n * @cssprop --m3e-icon-button-extra-small-icon-size - Icon size for extra-small.\r\n * @cssprop --m3e-icon-button-extra-small-shape-round - Corner radius for round extra-small.\r\n * @cssprop --m3e-icon-button-extra-small-shape-square - Corner radius for square extra-small.\r\n * @cssprop --m3e-icon-button-extra-small-selected-shape-round - Corner radius for selected round extra-small.\r\n * @cssprop --m3e-icon-button-extra-small-selected-shape-square - Corner radius for selected square extra-small.\r\n * @cssprop --m3e-icon-button-extra-small-shape-pressed-morph - Corner radius for pressed extra-small.\r\n * @cssprop --m3e-icon-button-extra-small-narrow-leading-space - Leading space for extra-small (narrow).\r\n * @cssprop --m3e-icon-button-extra-small-narrow-trailing-space - Trailing space for extra-small (narrow).\r\n * @cssprop --m3e-icon-button-extra-small-default-leading-space - Leading space for extra-small (default).\r\n * @cssprop --m3e-icon-button-extra-small-default-trailing-space - Trailing space for extra-small (default).\r\n * @cssprop --m3e-icon-button-extra-small-wide-leading-space - Leading space for extra-small (wide).\r\n * @cssprop --m3e-icon-button-extra-small-wide-trailing-space - Trailing space for extra-small (wide).\r\n * @cssprop --m3e-icon-button-small-container-height - Height of the small container.\r\n * @cssprop --m3e-icon-button-small-outline-thickness - Outline thickness for small.\r\n * @cssprop --m3e-icon-button-small-icon-size - Icon size for small.\r\n * @cssprop --m3e-icon-button-small-shape-round - Corner radius for round small.\r\n * @cssprop --m3e-icon-button-small-shape-square - Corner radius for square small.\r\n * @cssprop --m3e-icon-button-small-selected-shape-round - Corner radius for selected round small.\r\n * @cssprop --m3e-icon-button-small-selected-shape-square - Corner radius for selected square small.\r\n * @cssprop --m3e-icon-button-small-shape-pressed-morph - Corner radius for pressed small.\r\n * @cssprop --m3e-icon-button-small-narrow-leading-space - Leading space for small (narrow).\r\n * @cssprop --m3e-icon-button-small-narrow-trailing-space - Trailing space for small (narrow).\r\n * @cssprop --m3e-icon-button-small-default-leading-space - Leading space for small (default).\r\n * @cssprop --m3e-icon-button-small-default-trailing-space - Trailing space for small (default).\r\n * @cssprop --m3e-icon-button-small-wide-leading-space - Leading space for small (wide).\r\n * @cssprop --m3e-icon-button-small-wide-trailing-space - Trailing space for small (wide).\r\n * @cssprop --m3e-icon-button-medium-container-height - Height of the medium container.\r\n * @cssprop --m3e-icon-button-medium-outline-thickness - Outline thickness for medium.\r\n * @cssprop --m3e-icon-button-medium-icon-size - Icon size for medium.\r\n * @cssprop --m3e-icon-button-medium-shape-round - Corner radius for round medium.\r\n * @cssprop --m3e-icon-button-medium-shape-square - Corner radius for square medium.\r\n * @cssprop --m3e-icon-button-medium-selected-shape-round - Corner radius for selected round medium.\r\n * @cssprop --m3e-icon-button-medium-selected-shape-square - Corner radius for selected square medium.\r\n * @cssprop --m3e-icon-button-medium-shape-pressed-morph - Corner radius for pressed medium.\r\n * @cssprop --m3e-icon-button-medium-narrow-leading-space - Leading space for medium (narrow).\r\n * @cssprop --m3e-icon-button-medium-narrow-trailing-space - Trailing space for medium (narrow).\r\n * @cssprop --m3e-icon-button-medium-default-leading-space - Leading space for medium (default).\r\n * @cssprop --m3e-icon-button-medium-default-trailing-space - Trailing space for medium (default).\r\n * @cssprop --m3e-icon-button-medium-wide-leading-space - Leading space for medium (wide).\r\n * @cssprop --m3e-icon-button-medium-wide-trailing-space - Trailing space for medium (wide).\r\n * @cssprop --m3e-icon-button-large-container-height - Height of the large container.\r\n * @cssprop --m3e-icon-button-large-outline-thickness - Outline thickness for large.\r\n * @cssprop --m3e-icon-button-large-icon-size - Icon size for large.\r\n * @cssprop --m3e-icon-button-large-shape-round - Corner radius for round large.\r\n * @cssprop --m3e-icon-button-large-shape-square - Corner radius for square large.\r\n * @cssprop --m3e-icon-button-large-selected-shape-round - Corner radius for selected round large.\r\n * @cssprop --m3e-icon-button-large-selected-shape-square - Corner radius for selected square large.\r\n * @cssprop --m3e-icon-button-large-shape-pressed-morph - Corner radius for pressed large.\r\n * @cssprop --m3e-icon-button-large-narrow-leading-space - Leading space for large (narrow).\r\n * @cssprop --m3e-icon-button-large-narrow-trailing-space - Trailing space for large (narrow).\r\n * @cssprop --m3e-icon-button-large-default-leading-space - Leading space for large (default).\r\n * @cssprop --m3e-icon-button-large-default-trailing-space - Trailing space for large (default).\r\n * @cssprop --m3e-icon-button-large-wide-leading-space - Leading space for large (wide).\r\n * @cssprop --m3e-icon-button-large-wide-trailing-space - Trailing space for large (wide).\r\n * @cssprop --m3e-icon-button-extra-large-container-height - Height of the extra-large container.\r\n * @cssprop --m3e-icon-button-extra-large-outline-thickness - Outline thickness for extra-large.\r\n * @cssprop --m3e-icon-button-extra-large-icon-size - Icon size for extra-large.\r\n * @cssprop --m3e-icon-button-extra-large-shape-round - Corner radius for round extra-large.\r\n * @cssprop --m3e-icon-button-extra-large-shape-square - Corner radius for square extra-large.\r\n * @cssprop --m3e-icon-button-extra-large-selected-shape-round - Corner radius for selected round extra-large.\r\n * @cssprop --m3e-icon-button-extra-large-selected-shape-square - Corner radius for selected square extra-large.\r\n * @cssprop --m3e-icon-button-extra-large-shape-pressed-morph - Corner radius for pressed extra-large.\r\n * @cssprop --m3e-icon-button-extra-large-narrow-leading-space - Leading space for extra-large (narrow).\r\n * @cssprop --m3e-icon-button-extra-large-narrow-trailing-space - Trailing space for extra-large (narrow).\r\n * @cssprop --m3e-icon-button-extra-large-default-leading-space - Leading space for extra-large (default).\r\n * @cssprop --m3e-icon-button-extra-large-default-trailing-space - Trailing space for extra-large (default).\r\n * @cssprop --m3e-icon-button-extra-large-wide-leading-space - Leading space for extra-large (wide).\r\n * @cssprop --m3e-icon-button-extra-large-wide-trailing-space - Trailing space for extra-large (wide).\r\n * @cssprop --m3e-icon-button-outline-color - Default outline color for all variants.\r\n * @cssprop --m3e-icon-button-disabled-outline-color - Outline color when disabled (all variants).\r\n * @cssprop --m3e-icon-button-hover-outline-color - Outline color on hover (all variants).\r\n * @cssprop --m3e-icon-button-focus-outline-color - Outline color on focus (all variants).\r\n * @cssprop --m3e-icon-button-pressed-outline-color - Outline color on pressed (all variants).\r\n * @cssprop --m3e-icon-button-container-color - Default container background color for all variants.\r\n * @cssprop --m3e-icon-button-unselected-container-color - Unselected container background color for all variants.\r\n * @cssprop --m3e-icon-button-selected-container-color - Selected container background color for all variants.\r\n * @cssprop --m3e-icon-button-icon-color - Default icon color for tonal variant.\r\n * @cssprop --m3e-icon-button-container-color - Default container background color for tonal variant.\r\n * @cssprop --m3e-icon-button-unselected-icon-color - Unselected icon color for tonal variant.\r\n * @cssprop --m3e-icon-button-unselected-container-color - Unselected container background color for tonal variant.\r\n * @cssprop --m3e-icon-button-selected-icon-color - Selected icon color for tonal variant.\r\n * @cssprop --m3e-icon-button-selected-container-color - Selected container background color for tonal variant.\r\n * @cssprop --m3e-icon-button-icon-color - Default icon color for all variants.\r\n * @cssprop --m3e-icon-button-unselected-icon-color - Unselected icon color for all variants.\r\n * @cssprop --m3e-icon-button-selected-icon-color - Selected icon color for all variants.\r\n * @cssprop --m3e-icon-button-disabled-container-color - Container background color when disabled (all variants).\r\n * @cssprop --m3e-icon-button-disabled-container-opacity - Opacity of container when disabled (all variants).\r\n * @cssprop --m3e-icon-button-disabled-icon-color - Icon color when disabled (all variants).\r\n * @cssprop --m3e-icon-button-disabled-icon-opacity - Icon opacity when disabled (all variants).\r\n * @cssprop --m3e-icon-button-hover-icon-color - Icon color on hover (all variants).\r\n * @cssprop --m3e-icon-button-hover-state-layer-color - State layer color on hover (all variants).\r\n * @cssprop --m3e-icon-button-hover-state-layer-opacity - State layer opacity on hover (all variants).\r\n * @cssprop --m3e-icon-button-hover-unselected-icon-color - Unselected icon color on hover (all variants).\r\n * @cssprop --m3e-icon-button-hover-unselected-state-layer-color - Unselected state layer color on hover (all variants).\r\n * @cssprop --m3e-icon-button-hover-selected-icon-color - Selected icon color on hover (all variants).\r\n * @cssprop --m3e-icon-button-hover-selected-state-layer-color - Selected state layer color on hover (all variants).\r\n * @cssprop --m3e-icon-button-focus-icon-color - Icon color on focus (all variants).\r\n * @cssprop --m3e-icon-button-focus-state-layer-color - State layer color on focus (all variants).\r\n * @cssprop --m3e-icon-button-focus-state-layer-opacity - State layer opacity on focus (all variants).\r\n * @cssprop --m3e-icon-button-focus-unselected-icon-color - Unselected icon color on focus (all variants).\r\n * @cssprop --m3e-icon-button-focus-unselected-state-layer-color - Unselected state layer color on focus (all variants).\r\n * @cssprop --m3e-icon-button-focus-selected-icon-color - Selected icon color on focus (all variants).\r\n * @cssprop --m3e-icon-button-focus-selected-state-layer-color - Selected state layer color on focus (all variants).\r\n * @cssprop --m3e-icon-button-pressed-icon-color - Icon color on pressed (all variants).\r\n * @cssprop --m3e-icon-button-pressed-state-layer-color - State layer color on pressed (all variants).\r\n * @cssprop --m3e-icon-button-pressed-state-layer-opacity - State layer opacity on pressed (all variants).\r\n * @cssprop --m3e-icon-button-pressed-unselected-icon-color - Unselected icon color on pressed (all variants).\r\n * @cssprop --m3e-icon-button-pressed-unselected-state-layer-color - Unselected state layer color on pressed (all variants).\r\n * @cssprop --m3e-icon-button-pressed-selected-icon-color - Selected icon color on pressed (all variants).\r\n * @cssprop --m3e-icon-button-pressed-selected-state-layer-color - Selected state layer color on pressed (all variants).\r\n * @cssprop --m3e-outlined-icon-button-icon-color - Default icon color for outlined variant.\r\n * @cssprop --m3e-outlined-icon-button-outline-color - Default outline color for outlined variant.\r\n * @cssprop --m3e-outlined-icon-button-unselected-icon-color - Unselected icon color for outlined variant.\r\n * @cssprop --m3e-outlined-icon-button-selected-icon-color - Selected icon color for outlined variant.\r\n * @cssprop --m3e-outlined-icon-button-selected-container-color - Selected container background color for outlined variant.\r\n * @cssprop --m3e-outlined-icon-button-disabled-container-color - Container background color when disabled (outlined).\r\n * @cssprop --m3e-outlined-icon-button-disabled-container-opacity - Opacity of container when disabled (outlined).\r\n * @cssprop --m3e-outlined-icon-button-disabled-icon-color - Icon color when disabled (outlined).\r\n * @cssprop --m3e-outlined-icon-button-disabled-icon-opacity - Icon opacity when disabled (outlined).\r\n * @cssprop --m3e-outlined-icon-button-disabled-outline-color - Outline color when disabled (outlined).\r\n * @cssprop --m3e-outlined-icon-button-hover-icon-color - Icon color on hover (outlined).\r\n * @cssprop --m3e-outlined-icon-button-hover-outline-color - Outline color on hover (outlined).\r\n * @cssprop --m3e-outlined-icon-button-hover-state-layer-color - State layer color on hover (outlined).\r\n * @cssprop --m3e-outlined-icon-button-hover-state-layer-opacity - State layer opacity on hover (outlined).\r\n * @cssprop --m3e-outlined-icon-button-hover-unselected-icon-color - Unselected icon color on hover (outlined).\r\n * @cssprop --m3e-outlined-icon-button-hover-unselected-state-layer-color - Unselected state layer color on hover (outlined).\r\n * @cssprop --m3e-outlined-icon-button-hover-selected-icon-color - Selected icon color on hover (outlined).\r\n * @cssprop --m3e-outlined-icon-button-hover-selected-state-layer-color - Selected state layer color on hover (outlined).\r\n * @cssprop --m3e-outlined-icon-button-focus-icon-color - Icon color on focus (outlined).\r\n * @cssprop --m3e-outlined-icon-button-focus-outline-color - Outline color on focus (outlined).\r\n * @cssprop --m3e-outlined-icon-button-focus-state-layer-color - State layer color on focus (outlined).\r\n * @cssprop --m3e-outlined-icon-button-focus-state-layer-opacity - State layer opacity on focus (outlined).\r\n * @cssprop --m3e-outlined-icon-button-focus-unselected-icon-color - Unselected icon color on focus (outlined).\r\n * @cssprop --m3e-outlined-icon-button-focus-unselected-state-layer-color - Unselected state layer color on focus (outlined).\r\n * @cssprop --m3e-outlined-icon-button-focus-selected-icon-color - Selected icon color on focus (outlined).\r\n * @cssprop --m3e-outlined-icon-button-focus-selected-state-layer-color - Selected state layer color on focus (outlined).\r\n * @cssprop --m3e-outlined-icon-button-pressed-icon-color - Icon color on pressed (outlined).\r\n * @cssprop --m3e-outlined-icon-button-pressed-outline-color - Outline color on pressed (outlined).\r\n * @cssprop --m3e-outlined-icon-button-pressed-state-layer-color - State layer color on pressed (outlined).\r\n * @cssprop --m3e-outlined-icon-button-pressed-state-layer-opacity - State layer opacity on pressed (outlined).\r\n * @cssprop --m3e-outlined-icon-button-pressed-unselected-icon-color - Unselected icon color on pressed (outlined).\r\n * @cssprop --m3e-outlined-icon-button-pressed-unselected-state-layer-color - Unselected state layer color on pressed (outlined).\r\n * @cssprop --m3e-outlined-icon-button-pressed-selected-icon-color - Selected icon color on pressed (outlined).\r\n * @cssprop --m3e-outlined-icon-button-pressed-selected-state-layer-color - Selected state layer color on pressed (outlined).\r\n * @cssprop --m3e-filled-icon-button-icon-color - Default icon color for filled variant.\r\n * @cssprop --m3e-filled-icon-button-container-color - Default container background color for filled variant.\r\n * @cssprop --m3e-filled-icon-button-unselected-icon-color - Unselected icon color for filled variant.\r\n * @cssprop --m3e-filled-icon-button-unselected-container-color - Unselected container background color for filled variant.\r\n * @cssprop --m3e-filled-icon-button-selected-icon-color - Selected icon color for filled variant.\r\n * @cssprop --m3e-filled-icon-button-selected-container-color - Selected container background color for filled variant.\r\n * @cssprop --m3e-filled-icon-button-disabled-container-color - Container background color when disabled (filled).\r\n * @cssprop --m3e-filled-icon-button-disabled-container-opacity - Opacity of container when disabled (filled).\r\n * @cssprop --m3e-filled-icon-button-disabled-icon-color - Icon color when disabled (filled).\r\n * @cssprop --m3e-filled-icon-button-disabled-icon-opacity - Icon opacity when disabled (filled).\r\n * @cssprop --m3e-filled-icon-button-hover-icon-color - Icon color on hover (filled).\r\n * @cssprop --m3e-filled-icon-button-hover-state-layer-color - State layer color on hover (filled).\r\n * @cssprop --m3e-filled-icon-button-hover-state-layer-opacity - State layer opacity on hover (filled).\r\n * @cssprop --m3e-filled-icon-button-hover-unselected-icon-color - Unselected icon color on hover (filled).\r\n * @cssprop --m3e-filled-icon-button-hover-unselected-state-layer-color - Unselected state layer color on hover (filled).\r\n * @cssprop --m3e-filled-icon-button-hover-selected-icon-color - Selected icon color on hover (filled).\r\n * @cssprop --m3e-filled-icon-button-hover-selected-state-layer-color - Selected state layer color on hover (filled).\r\n * @cssprop --m3e-filled-icon-button-focus-icon-color - Icon color on focus (filled).\r\n * @cssprop --m3e-filled-icon-button-focus-state-layer-color - State layer color on focus (filled).\r\n * @cssprop --m3e-filled-icon-button-focus-state-layer-opacity - State layer opacity on focus (filled).\r\n * @cssprop --m3e-filled-icon-button-focus-unselected-icon-color - Unselected icon color on focus (filled).\r\n * @cssprop --m3e-filled-icon-button-focus-unselected-state-layer-color - Unselected state layer color on focus (filled).\r\n * @cssprop --m3e-filled-icon-button-focus-selected-icon-color - Selected icon color on focus (filled).\r\n * @cssprop --m3e-filled-icon-button-focus-selected-state-layer-color - Selected state layer color on focus (filled).\r\n * @cssprop --m3e-filled-icon-button-pressed-icon-color - Icon color on pressed (filled).\r\n * @cssprop --m3e-filled-icon-button-pressed-state-layer-color - State layer color on pressed (filled).\r\n * @cssprop --m3e-filled-icon-button-pressed-state-layer-opacity - State layer opacity on pressed (filled).\r\n * @cssprop --m3e-filled-icon-button-pressed-unselected-icon-color - Unselected icon color on pressed (filled).\r\n * @cssprop --m3e-filled-icon-button-pressed-unselected-state-layer-color - Unselected state layer color on pressed (filled).\r\n * @cssprop --m3e-filled-icon-button-pressed-selected-icon-color - Selected icon color on pressed (filled).\r\n * @cssprop --m3e-filled-icon-button-pressed-selected-state-layer-color - Selected state layer color on pressed (filled).\r\n * @cssprop --m3e-tonal-icon-button-icon-color - Default icon color for tonal variant.\r\n * @cssprop --m3e-tonal-icon-button-container-color - Default container background color for tonal variant.\r\n * @cssprop --m3e-tonal-icon-button-unselected-icon-color - Unselected icon color for tonal variant.\r\n * @cssprop --m3e-tonal-icon-button-unselected-container-color - Unselected container background color for tonal variant.\r\n * @cssprop --m3e-tonal-icon-button-selected-icon-color - Selected icon color for tonal variant.\r\n * @cssprop --m3e-tonal-icon-button-selected-container-color - Selected container background color for tonal variant.\r\n * @cssprop --m3e-tonal-icon-button-disabled-container-color - Container background color when disabled (tonal).\r\n * @cssprop --m3e-tonal-icon-button-disabled-container-opacity - Opacity of container when disabled (tonal).\r\n * @cssprop --m3e-tonal-icon-button-disabled-icon-color - Icon color when disabled (tonal).\r\n * @cssprop --m3e-tonal-icon-button-disabled-icon-opacity - Icon opacity when disabled (tonal).\r\n * @cssprop --m3e-tonal-icon-button-hover-icon-color - Icon color on hover (tonal).\r\n * @cssprop --m3e-tonal-icon-button-hover-state-layer-color - State layer color on hover (tonal).\r\n * @cssprop --m3e-tonal-icon-button-hover-state-layer-opacity - State layer opacity on hover (tonal).\r\n * @cssprop --m3e-tonal-icon-button-hover-unselected-icon-color - Unselected icon color on hover (tonal).\r\n * @cssprop --m3e-tonal-icon-button-hover-unselected-state-layer-color - Unselected state layer color on hover (tonal).\r\n * @cssprop --m3e-tonal-icon-button-hover-selected-icon-color - Selected icon color on hover (tonal).\r\n * @cssprop --m3e-tonal-icon-button-hover-selected-state-layer-color - Selected state layer color on hover (tonal).\r\n * @cssprop --m3e-tonal-icon-button-focus-icon-color - Icon color on focus (tonal).\r\n * @cssprop --m3e-tonal-icon-button-focus-state-layer-color - State layer color on focus (tonal).\r\n * @cssprop --m3e-tonal-icon-button-focus-state-layer-opacity - State layer opacity on focus (tonal).\r\n * @cssprop --m3e-tonal-icon-button-focus-unselected-icon-color - Unselected icon color on focus (tonal).\r\n * @cssprop --m3e-tonal-icon-button-focus-unselected-state-layer-color - Unselected state layer color on focus (tonal).\r\n * @cssprop --m3e-tonal-icon-button-focus-selected-icon-color - Selected icon color on focus (tonal).\r\n * @cssprop --m3e-tonal-icon-button-focus-selected-state-layer-color - Selected state layer color on focus (tonal).\r\n * @cssprop --m3e-tonal-icon-button-pressed-icon-color - Icon color on pressed (tonal).\r\n * @cssprop --m3e-tonal-icon-button-pressed-state-layer-color - State layer color on pressed (tonal).\r\n * @cssprop --m3e-tonal-icon-button-pressed-state-layer-opacity - State layer opacity on pressed (tonal).\r\n * @cssprop --m3e-tonal-icon-button-pressed-unselected-icon-color - Unselected icon color on pressed (tonal).\r\n * @cssprop --m3e-tonal-icon-button-pressed-unselected-state-layer-color - Unselected state layer color on pressed (tonal).\r\n * @cssprop --m3e-tonal-icon-button-pressed-selected-icon-color - Selected icon color on pressed (tonal).\r\n * @cssprop --m3e-tonal-icon-button-pressed-selected-state-layer-color - Selected state layer color on pressed (tonal).\r\n * @cssprop --m3e-standard-icon-button-icon-color - Default icon color for standard variant.\r\n * @cssprop --m3e-standard-icon-button-unselected-icon-color - Unselected icon color for standard variant.\r\n * @cssprop --m3e-standard-icon-button-selected-icon-color - Selected icon color for standard variant.\r\n * @cssprop --m3e-standard-icon-button-disabled-container-color - Container background color when disabled (standard).\r\n * @cssprop --m3e-standard-icon-button-disabled-container-opacity - Opacity of container when disabled (standard).\r\n * @cssprop --m3e-standard-icon-button-disabled-icon-color - Icon color when disabled (standard).\r\n * @cssprop --m3e-standard-icon-button-disabled-icon-opacity - Icon opacity when disabled (standard).\r\n * @cssprop --m3e-standard-icon-button-hover-icon-color - Icon color on hover (standard).\r\n * @cssprop --m3e-standard-icon-button-hover-state-layer-color - State layer color on hover (standard).\r\n * @cssprop --m3e-standard-icon-button-hover-state-layer-opacity - State layer opacity on hover (standard).\r\n * @cssprop --m3e-standard-icon-button-hover-unselected-icon-color - Unselected icon color on hover (standard).\r\n * @cssprop --m3e-standard-icon-button-hover-unselected-state-layer-color - Unselected state layer color on hover (standard).\r\n * @cssprop --m3e-standard-icon-button-hover-selected-icon-color - Selected icon color on hover (standard).\r\n * @cssprop --m3e-standard-icon-button-hover-selected-state-layer-color - Selected state layer color on hover (standard).\r\n * @cssprop --m3e-standard-icon-button-focus-icon-color - Icon color on focus (standard).\r\n * @cssprop --m3e-standard-icon-button-focus-state-layer-color - State layer color on focus (standard).\r\n * @cssprop --m3e-standard-icon-button-focus-state-layer-opacity - State layer opacity on focus (standard).\r\n * @cssprop --m3e-standard-icon-button-focus-unselected-icon-color - Unselected icon color on focus (standard).\r\n * @cssprop --m3e-standard-icon-button-focus-unselected-state-layer-color - Unselected state layer color on focus (standard).\r\n * @cssprop --m3e-standard-icon-button-focus-selected-icon-color - Selected icon color on focus (standard).\r\n * @cssprop --m3e-standard-icon-button-focus-selected-state-layer-color - Selected state layer color on focus (standard).\r\n * @cssprop --m3e-standard-icon-button-pressed-icon-color - Icon color on pressed (standard).\r\n * @cssprop --m3e-standard-icon-button-pressed-state-layer-color - State layer color on pressed (standard).\r\n * @cssprop --m3e-standard-icon-button-pressed-state-layer-opacity - State layer opacity on pressed (standard).\r\n * @cssprop --m3e-standard-icon-button-pressed-unselected-icon-color - Unselected icon color on pressed (standard).\r\n * @cssprop --m3e-standard-icon-button-pressed-unselected-state-layer-color - Unselected state layer color on pressed (standard).\r\n * @cssprop --m3e-standard-icon-button-pressed-selected-icon-color - Selected icon color on pressed (standard).\r\n * @cssprop --m3e-standard-icon-button-pressed-selected-state-layer-color - Selected state layer color on pressed (standard).\r\n */\r\n@customElement(\"m3e-icon-button\")\r\nexport class M3eIconButtonElement extends KeyboardClick(\r\n LinkButton(\r\n FormSubmitter(Focusable(DisabledInteractive(Disabled(AttachInternals(Role(LitElement, \"button\"), true))))),\r\n ),\r\n) {\r\n /** The styles of the element. */\r\n static override styles: CSSResultGroup = [IconButtonSizeStyle, IconButtonVariantStyle, IconButtonStyle];\r\n\r\n /** @private */ @query(\".base\") private readonly _base?: HTMLElement;\r\n /** @private */ @query(\".elevation\") private readonly _elevation?: M3eElevationElement;\r\n /** @private */ @query(\".focus-ring\") private readonly _focusRing?: M3eFocusRingElement;\r\n /** @private */ @query(\".state-layer\") private readonly _stateLayer?: M3eStateLayerElement;\r\n /** @private */ @query(\".ripple\") private readonly _ripple?: M3eRippleElement;\r\n\r\n /** @private */ readonly #clickHandler = (e: Event) => this.#handleClick(e);\r\n\r\n constructor() {\r\n super();\r\n\r\n new ResizeController(this, {\r\n callback: () => {\r\n if (this.grouped) {\r\n this._handleResize();\r\n }\r\n },\r\n });\r\n\r\n new FocusController(this, {\r\n callback: (focused) => {\r\n if (!this.disabledInteractive && !focused && !this.grouped) {\r\n this._base?.style.removeProperty(\"--_button-shape\");\r\n }\r\n },\r\n });\r\n\r\n new PressedController(this, {\r\n isPressedKey: (key) => key === \" \",\r\n minPressedDuration: 150,\r\n callback: (pressed) => {\r\n if (!this.disabled && !this.disabledInteractive) {\r\n if (pressed) {\r\n this.#updateButtonShape();\r\n if (prefersReducedMotion()) {\r\n this.#handlePressedChange(true);\r\n } else {\r\n requestAnimationFrame(() => this.#handlePressedChange(true));\r\n }\r\n } else {\r\n this.#handlePressedChange(false);\r\n }\r\n }\r\n },\r\n });\r\n }\r\n\r\n /**\r\n * The appearance variant of the button.\r\n * @default \"standard\"\r\n */\r\n @property({ reflect: true }) variant: IconButtonVariant = \"standard\";\r\n\r\n /**\r\n * The shape of the button.\r\n * @default \"rounded\"\r\n */\r\n @property({ reflect: true }) shape: IconButtonShape = \"rounded\";\r\n\r\n /**\r\n * The size of the button.\r\n * @default \"small\"\r\n */\r\n @property({ reflect: true }) size: IconButtonSize = \"small\";\r\n\r\n /**\r\n * The width of the button.\r\n * @default \"default\"\r\n */\r\n @property({ reflect: true }) width: IconButtonWidth = \"default\";\r\n\r\n /**\r\n * Whether the button will toggle between selected and unselected states.\r\n * @default false\r\n */\r\n @property({ type: Boolean, reflect: true }) toggle = false;\r\n\r\n /**\r\n * Whether the toggle button is selected.\r\n * @default false\r\n */\r\n @property({ type: Boolean, reflect: true }) selected = false;\r\n\r\n /** Whether the button is contained by a button group. */\r\n get grouped() {\r\n return hasCustomState(this, \"-grouped\");\r\n }\r\n\r\n /** @inheritdoc */\r\n override render(): unknown {\r\n return html`<div class=\"base\">\r\n <m3e-state-layer class=\"state-layer\" ?disabled=\"${this.disabled || this.disabledInteractive}\"></m3e-state-layer>\r\n <m3e-elevation class=\"elevation\" ?disabled=\"${this.disabled || this.disabledInteractive}\"></m3e-elevation>\r\n <m3e-focus-ring class=\"focus-ring\" ?disabled=\"${this.disabled}\"></m3e-focus-ring>\r\n <m3e-ripple class=\"ripple\" centered ?disabled=\"${this.disabled || this.disabledInteractive}\"></m3e-ripple>\r\n <div class=\"touch\" aria-hidden=\"true\"></div>\r\n ${this[renderPseudoLink]()}\r\n <div class=\"wrapper\">\r\n ${this.toggle\r\n ? html`<slot\r\n class=\"icon\"\r\n name=\"selected\"\r\n aria-hidden=\"true\"\r\n @slotchange=\"${this.#handleSelectedIconSlotChange}\"\r\n ></slot>`\r\n : nothing}\r\n <slot class=\"icon\" aria-hidden=\"true\"></slot>\r\n </div>\r\n </div>`;\r\n }\r\n\r\n /** @inheritdoc */\r\n override connectedCallback(): void {\r\n super.connectedCallback();\r\n\r\n this.addEventListener(\"click\", this.#clickHandler);\r\n }\r\n\r\n /** @inheritdoc */\r\n override disconnectedCallback(): void {\r\n super.disconnectedCallback();\r\n\r\n [\"-pressed\", \"-resting\", \"-grouped\", \"-connected\"].forEach((x) => deleteCustomState(this, x));\r\n this._base?.style.removeProperty(\"--_button-shape\");\r\n this.style.removeProperty(\"--_button-width\");\r\n this.style.removeProperty(\"--_adjacent-button-width\");\r\n deleteCustomState(this, \"-adjacent-pressed\");\r\n\r\n this.removeEventListener(\"click\", this.#clickHandler);\r\n }\r\n\r\n /** @inheritdoc */\r\n protected override firstUpdated(_changedProperties: PropertyValues<this>): void {\r\n super.firstUpdated(_changedProperties);\r\n [this._elevation, this._focusRing, this._stateLayer, this._ripple].forEach((x) => x?.attach(this));\r\n }\r\n\r\n /** @inheritdoc */\r\n protected override updated(_changedProperties: PropertyValues<this>): void {\r\n super.updated(_changedProperties);\r\n\r\n if (\r\n (_changedProperties.has(\"disabled\") && this.disabled) ||\r\n (_changedProperties.has(\"disabledInteractive\") && this.disabledInteractive)\r\n ) {\r\n deleteCustomState(this, \"-pressed\");\r\n deleteCustomState(this, \"-resting\");\r\n }\r\n\r\n if (_changedProperties.has(\"toggle\") || _changedProperties.has(\"selected\")) {\r\n this.ariaPressed = this.toggle ? `${this.selected}` : null;\r\n if (this.toggle) {\r\n for (const icon of this.querySelectorAll(\"m3e-icon\")) {\r\n icon.toggleAttribute(\"filled\", this.selected);\r\n }\r\n }\r\n }\r\n }\r\n\r\n /** @private */\r\n @debounce(40)\r\n private _handleResize(): void {\r\n if (this.grouped && !hasCustomState(this, \"-pressed\")) {\r\n this.style.setProperty(\"--_button-width\", `${this.clientWidth}px`);\r\n this.#updateButtonShape(true);\r\n }\r\n }\r\n\r\n /** @private */\r\n #updateButtonShape(force = false): void {\r\n if (!this._base) return;\r\n const shape = parseFloat(getComputedStyle(this._base).borderRadius);\r\n if (!isNaN(shape) || force) {\r\n const adjustedShape = this.clientHeight / 2;\r\n if (adjustedShape < shape || force) {\r\n this._base?.style.setProperty(\"--_button-shape\", `${adjustedShape}px`);\r\n }\r\n }\r\n }\r\n\r\n /** @private */\r\n #handlePressedChange(pressed: boolean): void {\r\n setCustomState(this, \"-pressed\", pressed);\r\n setCustomState(this, \"-resting\", !pressed);\r\n\r\n const group = this.closest(\"m3e-button-group\");\r\n if (group) {\r\n const clientWidth = this.getBoundingClientRect().width;\r\n const buttons = [...group.querySelectorAll<HTMLElement & AttachInternalsMixin>(\"m3e-button,m3e-icon-button\")];\r\n const index = buttons.indexOf(this);\r\n\r\n for (let i = 0; i < buttons.length; i++) {\r\n const button = buttons[i];\r\n if (i === index - 1) {\r\n button.style.setProperty(\"--_adjacent-button-width\", `${clientWidth}px`);\r\n setCustomState(button, \"-adjacent-pressed\", pressed);\r\n } else if (i === index + 1) {\r\n button.style.setProperty(\"--_adjacent-button-width\", `${clientWidth}px`);\r\n setCustomState(button, \"-adjacent-pressed\", pressed);\r\n } else {\r\n button.style.removeProperty(\"--_adjacent-button-width\");\r\n deleteCustomState(button, \"-adjacent-pressed\");\r\n }\r\n }\r\n }\r\n }\r\n\r\n /** @private */\r\n #handleClick(e: Event): void {\r\n if (this.disabled || this.disabledInteractive) {\r\n e.preventDefault();\r\n e.stopImmediatePropagation();\r\n }\r\n\r\n if (this.toggle && !e.defaultPrevented) {\r\n this.selected = !this.selected;\r\n\r\n // Dispatch an input event and if not prevented, dispatch a change event.\r\n // Otherwise, reset the selected state.\r\n\r\n if (this.dispatchEvent(new Event(\"input\", { bubbles: true, composed: true, cancelable: true }))) {\r\n this.dispatchEvent(new Event(\"change\", { bubbles: true }));\r\n } else {\r\n this.selected = !this.selected;\r\n }\r\n }\r\n }\r\n\r\n /** @private */\r\n #handleSelectedIconSlotChange(e: Event): void {\r\n this._base?.classList.toggle(\"with-selected-icon\", hasAssignedNodes(<HTMLSlotElement>e.target));\r\n }\r\n}\r\n\r\ndeclare global {\r\n interface HTMLElementTagNameMap {\r\n \"m3e-icon-button\": M3eIconButtonElement;\r\n }\r\n}\r\n"],"names":["IconButtonSizeToken","containerHeight","unsafeCSS","DesignToken","density","calc","outlineThickness","iconSize","shapeRound","shape","corner","full","shapeSquare","medium","selectedShapeRound","selectedShapeSquare","shapePressedMorph","small","narrowLeadingSpace","narrowTrailingSpace","defaultLeadingSpace","defaultTrailingSpace","wideLeadingSpace","wideTrailingSpace","large","extraLarge","iconButtonStyle","size","css","IconButtonSizeStyle","IconButtonStyle","motion","duration","short4","easing","standard","spring","fastEffects","IconButtonVariantToken","elevated","iconColor","color","primary","containerColor","surfaceContainerLow","containerElevation","elevation","level1","unselectedIconColor","unselectedContainerColor","selectedIconColor","onPrimary","selectedContainerColor","disabled","onSurface","containerOpacity","iconOpacity","level0","hover","stateLayerColor","stateLayerOpacity","state","hoverStateLayerOpacity","level2","unselectedStateLayerColor","selectedStateLayerColor","focus","focusStateLayerOpacity","pressed","pressedStateLayerOpacity","outlined","onSurfaceVariant","outlineColor","outlineVariant","inverseOnSurface","inverseSurface","filled","surfaceContainer","tonal","onSecondaryContainer","secondaryContainer","onSecondary","secondary","iconButtonVariantStyle","variant","IconButtonVariantStyle","M3eIconButtonElement","KeyboardClick","LinkButton","FormSubmitter","Focusable","DisabledInteractive","Disabled","AttachInternals","Role","LitElement","constructor","_M3eIconButtonElement_clickHandler","set","e","__classPrivateFieldGet","call","width","toggle","selected","ResizeController","callback","grouped","_handleResize","FocusController","focused","disabledInteractive","_base","style","removeProperty","PressedController","isPressedKey","key","minPressedDuration","_M3eIconButtonElement_instances","_M3eIconButtonElement_updateButtonShape","prefersReducedMotion","_M3eIconButtonElement_handlePressedChange","requestAnimationFrame","hasCustomState","render","html","renderPseudoLink","_M3eIconButtonElement_handleSelectedIconSlotChange","nothing","connectedCallback","addEventListener","disconnectedCallback","forEach","x","deleteCustomState","removeEventListener","firstUpdated","_changedProperties","_elevation","_focusRing","_stateLayer","_ripple","attach","updated","has","ariaPressed","icon","querySelectorAll","toggleAttribute","setProperty","clientWidth","force","parseFloat","getComputedStyle","borderRadius","isNaN","adjustedShape","clientHeight","setCustomState","group","closest","getBoundingClientRect","buttons","index","indexOf","i","length","button","preventDefault","stopImmediatePropagation","defaultPrevented","dispatchEvent","Event","bubbles","composed","cancelable","classList","hasAssignedNodes","target","styles","__decorate","query","prototype","property","reflect","type","Boolean","debounce","customElement"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"icon-button.js","sources":["../../src/icon-button/styles/IconButtonSizeToken.ts","../../src/icon-button/styles/IconButtonSizeStyle.ts","../../src/icon-button/styles/IconButtonStyle.ts","../../src/icon-button/styles/IconButtonVariantToken.ts","../../src/icon-button/styles/IconButtonVariantStyle.ts","../../src/icon-button/IconButtonElement.ts"],"sourcesContent":["import { CSSResult, unsafeCSS } from \"lit\";\r\n\r\nimport { DesignToken } from \"@m3e/web/core\";\r\n\r\nimport { IconButtonSize } from \"../IconButtonSize\";\r\n\r\n/** @private */\r\ntype _IconButtonSizeToken = {\r\n containerHeight: CSSResult;\r\n outlineThickness: CSSResult;\r\n iconSize: CSSResult;\r\n shapeRound: CSSResult;\r\n shapeSquare: CSSResult;\r\n selectedShapeRound: CSSResult;\r\n selectedShapeSquare: CSSResult;\r\n shapePressedMorph: CSSResult;\r\n narrowLeadingSpace: CSSResult;\r\n narrowTrailingSpace: CSSResult;\r\n defaultLeadingSpace: CSSResult;\r\n defaultTrailingSpace: CSSResult;\r\n wideLeadingSpace: CSSResult;\r\n wideTrailingSpace: CSSResult;\r\n};\r\n\r\n/**\r\n * Component design tokens that control the `M3eIconButtonElement` for all size variants.\r\n * @internal\r\n */\r\nexport const IconButtonSizeToken: Record<IconButtonSize, _IconButtonSizeToken> = {\r\n /** Design tokens that control the `extra-small` `size` variant. */\r\n \"extra-small\": {\r\n containerHeight: unsafeCSS(\r\n `calc(var(--m3e-icon-button-extra-small-container-height, var(--m3e-icon-button-container-height, 2rem)) + ${DesignToken.density.calc(0)})`,\r\n ),\r\n outlineThickness: unsafeCSS(\r\n \"var(--m3e-icon-button-extra-small-outline-thickness, var(--m3e-icon-button-outline-thickness, 1px))\",\r\n ),\r\n iconSize: unsafeCSS(\r\n `calc(var(--m3e-icon-button-extra-small-icon-size, var(--m3e-icon-button-icon-size, 1.25rem)) + ${DesignToken.density.calc(0)})`,\r\n ),\r\n shapeRound: unsafeCSS(\r\n `var(--m3e-icon-button-extra-small-shape-round, var(--m3e-icon-button-shape-round, ${DesignToken.shape.corner.full}))`,\r\n ),\r\n shapeSquare: unsafeCSS(\r\n `var(--m3e-icon-button-extra-small-shape-square, var(--m3e-icon-button-shape-square, ${DesignToken.shape.corner.medium}))`,\r\n ),\r\n selectedShapeRound: unsafeCSS(\r\n `var(--m3e-icon-button-extra-small-selected-shape-round, var(--m3e-icon-button-selected-shape-round, ${DesignToken.shape.corner.medium}))`,\r\n ),\r\n selectedShapeSquare: unsafeCSS(\r\n `var(--m3e-icon-button-extra-small-selected-shape-square, var(--m3e-icon-button-selected-shape-square, ${DesignToken.shape.corner.full}))`,\r\n ),\r\n shapePressedMorph: unsafeCSS(\r\n `var(--m3e-icon-button-extra-small-shape-pressed-morph, var(--m3e-icon-button-shape-pressed-morph, ${DesignToken.shape.corner.small}))`,\r\n ),\r\n narrowLeadingSpace: unsafeCSS(\r\n `calc(var(--m3e-icon-button-extra-small-narrow-leading-space, var(--m3e-icon-button-narrow-leading-space, 0.25rem)) + ${DesignToken.density.calc(0)})`,\r\n ),\r\n narrowTrailingSpace: unsafeCSS(\r\n `calc(var(--m3e-icon-button-extra-small-narrow-trailing-space, var(--m3e-icon-button-narrow-trailing-space, 0.25rem)) + ${DesignToken.density.calc(0)})`,\r\n ),\r\n defaultLeadingSpace: unsafeCSS(\r\n `calc(var(--m3e-icon-button-extra-small-default-leading-space, var(--m3e-icon-button-default-leading-space, 0.375rem)) + ${DesignToken.density.calc(0)})`,\r\n ),\r\n defaultTrailingSpace: unsafeCSS(\r\n `calc(var(--m3e-icon-button-extra-small-default-trailing-space, var(--m3e-icon-button-default-trailing-space, 0.375rem)) + ${DesignToken.density.calc(0)})`,\r\n ),\r\n wideLeadingSpace: unsafeCSS(\r\n `calc(var(--m3e-icon-button-extra-small-wide-leading-space, var(--m3e-icon-button-wide-leading-space, 0.625rem)) + ${DesignToken.density.calc(0)})`,\r\n ),\r\n wideTrailingSpace: unsafeCSS(\r\n `calc(var(--m3e-icon-button-extra-small-wide-trailing-space, var(--m3e-icon-button-wide-trailing-space, 0.625rem)) + ${DesignToken.density.calc(0)})`,\r\n ),\r\n },\r\n\r\n /** Design tokens that control the `small` `size` variant. */\r\n small: {\r\n containerHeight: unsafeCSS(\r\n `calc(var(--m3e-icon-button-small-container-height, var(--m3e-icon-button-container-height, 2.5rem)) + ${DesignToken.density.calc(-1)})`,\r\n ),\r\n outlineThickness: unsafeCSS(\r\n \"var(--m3e-icon-button-small-outline-thickness, var(--m3e-icon-button-outline-thickness, 1px))\",\r\n ),\r\n iconSize: unsafeCSS(\r\n `calc(var(--m3e-icon-button-small-icon-size, var(--m3e-icon-button-icon-size, 1.5rem)) + ${DesignToken.density.calc(-1)})`,\r\n ),\r\n shapeRound: unsafeCSS(\r\n `var(--m3e-icon-button-small-shape-round, var(--m3e-icon-button-shape-round, ${DesignToken.shape.corner.full}))`,\r\n ),\r\n shapeSquare: unsafeCSS(\r\n `var(--m3e-icon-button-small-shape-square, var(--m3e-icon-button-shape-square, ${DesignToken.shape.corner.medium}))`,\r\n ),\r\n selectedShapeRound: unsafeCSS(\r\n `var(--m3e-icon-button-small-selected-shape-round, var(--m3e-icon-button-selected-shape-round, ${DesignToken.shape.corner.medium}))`,\r\n ),\r\n selectedShapeSquare: unsafeCSS(\r\n `var(--m3e-icon-button-small-selected-shape-square, var(--m3e-icon-button-selected-shape-square, ${DesignToken.shape.corner.full}))`,\r\n ),\r\n shapePressedMorph: unsafeCSS(\r\n `var(--m3e-icon-button-small-shape-pressed-morph, var(--m3e-icon-button-shape-pressed-morph, ${DesignToken.shape.corner.small}))`,\r\n ),\r\n narrowLeadingSpace: unsafeCSS(\r\n `calc(var(--m3e-icon-button-small-narrow-leading-space, var(--m3e-icon-button-narrow-leading-space, 0.25rem)) + ${DesignToken.density.calc(-1)})`,\r\n ),\r\n narrowTrailingSpace: unsafeCSS(\r\n `calc(var(--m3e-icon-button-small-narrow-trailing-space, var(--m3e-icon-button-narrow-trailing-space, 0.25rem)) + ${DesignToken.density.calc(-1)})`,\r\n ),\r\n defaultLeadingSpace: unsafeCSS(\r\n `calc(var(--m3e-icon-button-small-default-leading-space, var(--m3e-icon-button-default-leading-space, 0.5rem)) + ${DesignToken.density.calc(-1)})`,\r\n ),\r\n defaultTrailingSpace: unsafeCSS(\r\n `calc(var(--m3e-icon-button-small-default-trailing-space, var(--m3e-icon-button-default-trailing-space, 0.5rem)) + ${DesignToken.density.calc(-1)})`,\r\n ),\r\n wideLeadingSpace: unsafeCSS(\r\n `calc(var(--m3e-icon-button-small-wide-leading-space, var(--m3e-icon-button-wide-leading-space, 0.875rem)) + ${DesignToken.density.calc(-1)})`,\r\n ),\r\n wideTrailingSpace: unsafeCSS(\r\n `calc(var(--m3e-icon-button-small-wide-trailing-space, var(--m3e-icon-button-wide-trailing-space, 0.875rem)) + ${DesignToken.density.calc(-1)})`,\r\n ),\r\n },\r\n\r\n /** Design tokens that control the `medium` `size` variant. */\r\n medium: {\r\n containerHeight: unsafeCSS(\r\n `calc(var(--m3e-icon-button-medium-container-height, var(--m3e-icon-button-container-height, 3.5rem)) + ${DesignToken.density.calc(-2)})`,\r\n ),\r\n outlineThickness: unsafeCSS(\r\n \"var(--m3e-icon-button-medium-outline-thickness, var(--m3e-icon-button-outline-thickness, 1px))\",\r\n ),\r\n iconSize: unsafeCSS(\r\n `calc(var(--m3e-icon-button-medium-icon-size, var(--m3e-icon-button-icon-size, 1.5rem)) + ${DesignToken.density.calc(-2)})`,\r\n ),\r\n shapeRound: unsafeCSS(\r\n `var(--m3e-icon-button-medium-shape-round, var(--m3e-icon-button-shape-round, ${DesignToken.shape.corner.full}))`,\r\n ),\r\n shapeSquare: unsafeCSS(\r\n `var(--m3e-icon-button-medium-shape-square, var(--m3e-icon-button-shape-square, ${DesignToken.shape.corner.large}))`,\r\n ),\r\n selectedShapeRound: unsafeCSS(\r\n `var(--m3e-icon-button-medium-selected-shape-round, var(--m3e-icon-button-selected-shape-round, ${DesignToken.shape.corner.large}))`,\r\n ),\r\n selectedShapeSquare: unsafeCSS(\r\n `var(--m3e-icon-button-medium-selected-shape-square, var(--m3e-icon-button-selected-shape-square, ${DesignToken.shape.corner.full}))`,\r\n ),\r\n shapePressedMorph: unsafeCSS(\r\n `var(--m3e-icon-button-medium-shape-pressed-morph, var(--m3e-icon-button-shape-pressed-morph, ${DesignToken.shape.corner.medium}))`,\r\n ),\r\n narrowLeadingSpace: unsafeCSS(\r\n `calc(var(--m3e-icon-button-medium-narrow-leading-space, var(--m3e-icon-button-narrow-leading-space, 0.75rem)) + ${DesignToken.density.calc(-2)})`,\r\n ),\r\n narrowTrailingSpace: unsafeCSS(\r\n `calc(var(--m3e-icon-button-medium-narrow-trailing-space, var(--m3e-icon-button-narrow-trailing-space, 0.75rem)) + ${DesignToken.density.calc(-2)})`,\r\n ),\r\n defaultLeadingSpace: unsafeCSS(\r\n `calc(var(--m3e-icon-button-medium-default-leading-space, var(--m3e-icon-button-default-leading-space, 1rem)) + ${DesignToken.density.calc(-2)})`,\r\n ),\r\n defaultTrailingSpace: unsafeCSS(\r\n `calc(var(--m3e-icon-button-medium-default-trailing-space, var(--m3e-icon-button-default-trailing-space, 1rem)) + ${DesignToken.density.calc(-2)})`,\r\n ),\r\n wideLeadingSpace: unsafeCSS(\r\n `calc(var(--m3e-icon-button-medium-wide-leading-space, var(--m3e-icon-button-wide-leading-space, 1.5rem)) + ${DesignToken.density.calc(-2)})`,\r\n ),\r\n wideTrailingSpace: unsafeCSS(\r\n `calc(var(--m3e-icon-button-medium-wide-trailing-space, var(--m3e-icon-button-wide-trailing-space, 1.5rem)) + ${DesignToken.density.calc(-2)})`,\r\n ),\r\n },\r\n\r\n /** Design tokens that control the `large` `size` variant. */\r\n large: {\r\n containerHeight: unsafeCSS(\r\n `calc(var(--m3e-icon-button-large-container-height, var(--m3e-icon-button-container-height, 6rem)) + ${DesignToken.density.calc(-3)})`,\r\n ),\r\n outlineThickness: unsafeCSS(\r\n \"var(--m3e-icon-button-large-outline-thickness, var(--m3e-icon-button-outline-thickness, 2px))\",\r\n ),\r\n iconSize: unsafeCSS(\r\n `calc(var(--m3e-icon-button-large-icon-size, var(--m3e-icon-button-icon-size, 2rem)) + ${DesignToken.density.calc(-3)})`,\r\n ),\r\n shapeRound: unsafeCSS(\r\n `var(--m3e-icon-button-large-shape-round, var(--m3e-icon-button-shape-round, ${DesignToken.shape.corner.full}))`,\r\n ),\r\n shapeSquare: unsafeCSS(\r\n `var(--m3e-icon-button-large-shape-square, var(--m3e-icon-button-shape-square, ${DesignToken.shape.corner.extraLarge}))`,\r\n ),\r\n selectedShapeRound: unsafeCSS(\r\n `var(--m3e-icon-button-large-selected-shape-round, var(--m3e-icon-button-selected-shape-round, ${DesignToken.shape.corner.extraLarge}))`,\r\n ),\r\n selectedShapeSquare: unsafeCSS(\r\n `var(--m3e-icon-button-large-selected-shape-square, var(--m3e-icon-button-selected-shape-square, ${DesignToken.shape.corner.full}))`,\r\n ),\r\n shapePressedMorph: unsafeCSS(\r\n `var(--m3e-icon-button-large-shape-pressed-morph, var(--m3e-icon-button-shape-pressed-morph, ${DesignToken.shape.corner.large}))`,\r\n ),\r\n narrowLeadingSpace: unsafeCSS(\r\n `calc(var(--m3e-icon-button-large-narrow-leading-space, var(--m3e-icon-button-narrow-leading-space, 1rem)) + ${DesignToken.density.calc(-3)})`,\r\n ),\r\n narrowTrailingSpace: unsafeCSS(\r\n `calc(var(--m3e-icon-button-large-narrow-trailing-space, var(--m3e-icon-button-narrow-trailing-space, 1rem)) + ${DesignToken.density.calc(-3)})`,\r\n ),\r\n defaultLeadingSpace: unsafeCSS(\r\n `calc(var(--m3e-icon-button-large-default-leading-space, var(--m3e-icon-button-default-leading-space, 2rem)) + ${DesignToken.density.calc(-3)})`,\r\n ),\r\n defaultTrailingSpace: unsafeCSS(\r\n `calc(var(--m3e-icon-button-large-default-trailing-space, var(--m3e-icon-button-default-trailing-space, 2rem)) + ${DesignToken.density.calc(-3)})`,\r\n ),\r\n wideLeadingSpace: unsafeCSS(\r\n `calc(var(--m3e-icon-button-large-wide-leading-space, var(--m3e-icon-button-wide-leading-space, 3rem)) + ${DesignToken.density.calc(-3)})`,\r\n ),\r\n wideTrailingSpace: unsafeCSS(\r\n `calc(var(--m3e-icon-button-large-wide-trailing-space, var(--m3e-icon-button-wide-trailing-space, 3rem)) + ${DesignToken.density.calc(-3)})`,\r\n ),\r\n },\r\n\r\n /** Design tokens that control the `extra-large` `size` variant. */\r\n \"extra-large\": {\r\n containerHeight: unsafeCSS(\r\n `calc(var(--m3e-icon-button-extra-large-container-height, var(--m3e-icon-button-container-height, 8.5rem)) + ${DesignToken.density.calc(-3)})`,\r\n ),\r\n outlineThickness: unsafeCSS(\r\n \"var(--m3e-icon-button-extra-large-outline-thickness, var(--m3e-icon-button-outline-thickness, 3px))\",\r\n ),\r\n iconSize: unsafeCSS(\r\n `calc(var(--m3e-icon-button-extra-large-icon-size, var(--m3e-icon-button-icon-size, 2.5rem)) + ${DesignToken.density.calc(-3)})`,\r\n ),\r\n shapeRound: unsafeCSS(\r\n `var(--m3e-icon-button-extra-large-shape-round, var(--m3e-icon-button-shape-round, ${DesignToken.shape.corner.full}))`,\r\n ),\r\n shapeSquare: unsafeCSS(\r\n `var(--m3e-icon-button-extra-large-shape-square, var(--m3e-icon-button-shape-square, ${DesignToken.shape.corner.extraLarge}))`,\r\n ),\r\n selectedShapeRound: unsafeCSS(\r\n `var(--m3e-icon-button-extra-large-selected-shape-round, var(--m3e-icon-button-selected-shape-round, ${DesignToken.shape.corner.extraLarge}))`,\r\n ),\r\n selectedShapeSquare: unsafeCSS(\r\n `var(--m3e-icon-button-extra-large-selected-shape-square, var(--m3e-icon-button-selected-shape-square, ${DesignToken.shape.corner.full}))`,\r\n ),\r\n shapePressedMorph: unsafeCSS(\r\n `var(--m3e-icon-button-extra-large-shape-pressed-morph, var(--m3e-icon-button-shape-pressed-morph, ${DesignToken.shape.corner.large}))`,\r\n ),\r\n narrowLeadingSpace: unsafeCSS(\r\n `calc(var(--m3e-icon-button-extra-large-narrow-leading-space, var(--m3e-icon-button-narrow-leading-space, 2rem)) + ${DesignToken.density.calc(-3)})`,\r\n ),\r\n narrowTrailingSpace: unsafeCSS(\r\n `calc(var(--m3e-icon-button-extra-large-narrow-trailing-space, var(--m3e-icon-button-narrow-trailing-space, 2rem)) + ${DesignToken.density.calc(-3)})`,\r\n ),\r\n defaultLeadingSpace: unsafeCSS(\r\n `calc(var(--m3e-icon-button-extra-large-default-leading-space, var(--m3e-icon-button-default-leading-space, 3rem)) + ${DesignToken.density.calc(-3)})`,\r\n ),\r\n defaultTrailingSpace: unsafeCSS(\r\n `calc(var(--m3e-icon-button-extra-large-default-trailing-space, var(--m3e-icon-button-default-trailing-space, 3rem)) + ${DesignToken.density.calc(-3)})`,\r\n ),\r\n wideLeadingSpace: unsafeCSS(\r\n `calc(var(--m3e-icon-button-extra-large-wide-leading-space, var(--m3e-icon-button-wide-leading-space, 4.5rem)) + ${DesignToken.density.calc(-3)})`,\r\n ),\r\n wideTrailingSpace: unsafeCSS(\r\n `calc(var(--m3e-icon-button-extra-large-wide-trailing-space, var(--m3e-icon-button-wide-trailing-space, 4.5rem)) + ${DesignToken.density.calc(-3)})`,\r\n ),\r\n },\r\n} as const;\r\n","import { css, CSSResult, CSSResultGroup, unsafeCSS } from \"lit\";\r\n\r\nimport { IconButtonSize } from \"../IconButtonSize\";\r\nimport { IconButtonSizeToken } from \"./IconButtonSizeToken\";\r\n\r\n/** @private */\r\nfunction iconButtonStyle(size: IconButtonSize): CSSResult {\r\n return css`\r\n :host([size=\"${unsafeCSS(size)}\"]) .base {\r\n height: ${IconButtonSizeToken[size].containerHeight};\r\n }\r\n :host([size=\"${unsafeCSS(size)}\"][width=\"default\"]) .wrapper {\r\n padding-inline-start: ${IconButtonSizeToken[size].defaultLeadingSpace};\r\n padding-inline-end: ${IconButtonSizeToken[size].defaultTrailingSpace};\r\n }\r\n :host([size=\"${unsafeCSS(size)}\"][width=\"narrow\"]) .wrapper {\r\n padding-inline-start: ${IconButtonSizeToken[size].narrowLeadingSpace};\r\n padding-inline-end: ${IconButtonSizeToken[size].narrowTrailingSpace};\r\n }\r\n :host([size=\"${unsafeCSS(size)}\"][width=\"wide\"]) .wrapper {\r\n padding-inline-start: ${IconButtonSizeToken[size].wideLeadingSpace};\r\n padding-inline-end: ${IconButtonSizeToken[size].wideTrailingSpace};\r\n }\r\n :host([size=\"${unsafeCSS(size)}\"]) .icon {\r\n font-size: ${IconButtonSizeToken[size].iconSize};\r\n }\r\n :host([size=\"${unsafeCSS(size)}\"]) .base {\r\n outline-offset: calc(0px - ${IconButtonSizeToken[size].outlineThickness});\r\n outline-width: ${IconButtonSizeToken[size].outlineThickness};\r\n }\r\n :host(\r\n :not(:is(:state(--connected), :--connected))[size=\"${unsafeCSS(size)}\"][shape=\"rounded\"]:not(\r\n :is(:state(--pressed), :--pressed)\r\n )\r\n )\r\n .base {\r\n border-radius: var(--_button-shape, ${IconButtonSizeToken[size].shapeRound});\r\n }\r\n :host(:not(:is(:state(--connected), :--connected))[size=\"${unsafeCSS(size)}\"][shape=\"square\"]) .base {\r\n border-radius: ${IconButtonSizeToken[size].shapeSquare};\r\n }\r\n :host(\r\n :not(:is(:state(--connected), :--connected))[size=\"${unsafeCSS(size)}\"][shape=\"rounded\"][toggle][selected]:not(\r\n :is(:state(--pressed), :--pressed)\r\n )\r\n )\r\n .base {\r\n border-radius: ${IconButtonSizeToken[size].selectedShapeRound};\r\n }\r\n :host(\r\n :not(:is(:state(--connected), :--connected))[size=\"${unsafeCSS(size)}\"][shape=\"square\"][toggle][selected]:not(\r\n :is(:state(--pressed), :--pressed)\r\n )\r\n )\r\n .base {\r\n border-radius: var(--_button-shape, ${IconButtonSizeToken[size].selectedShapeSquare});\r\n }\r\n :host(:not(:is(:state(--connected), :--connected))[size=\"${unsafeCSS(size)}\"]:is(:state(--pressed), :--pressed))\r\n .base {\r\n border-radius: ${IconButtonSizeToken[size].shapePressedMorph};\r\n }\r\n :host(:is(:state(--connected), :--connected)[size=\"${unsafeCSS(size)}\"][shape=\"rounded\"]) .base {\r\n border-start-start-radius: var(\r\n --_button-rounded-start-shape,\r\n var(--_button-shape, ${IconButtonSizeToken[size].shapeRound})\r\n );\r\n border-end-start-radius: var(\r\n --_button-rounded-start-shape,\r\n var(--_button-shape, ${IconButtonSizeToken[size].shapeRound})\r\n );\r\n border-start-end-radius: var(\r\n --_button-rounded-end-shape,\r\n var(--_button-shape, ${IconButtonSizeToken[size].shapeRound})\r\n );\r\n border-end-end-radius: var(\r\n --_button-rounded-end-shape,\r\n var(--_button-shape, ${IconButtonSizeToken[size].shapeRound})\r\n );\r\n }\r\n :host(:is(:state(--connected), :--connected)[size=\"${unsafeCSS(size)}\"][shape=\"square\"]) .base {\r\n border-start-start-radius: var(--_button-square-start-shape, ${IconButtonSizeToken[size].shapeSquare});\r\n border-end-start-radius: var(--_button-square-start-shape, ${IconButtonSizeToken[size].shapeSquare});\r\n border-start-end-radius: var(--_button-square-end-shape, ${IconButtonSizeToken[size].shapeSquare});\r\n border-end-end-radius: var(--_button-square-end-shape, ${IconButtonSizeToken[size].shapeSquare});\r\n }\r\n :host(\r\n :is(:state(--connected), :--connected)[size=\"${unsafeCSS(size)}\"][shape=\"square\"][toggle][selected]:not(\r\n :is(:state(--pressed), :--pressed)\r\n )\r\n )\r\n .base {\r\n border-radius: var(--_button-shape, ${IconButtonSizeToken[size].selectedShapeSquare});\r\n }\r\n :host(:is(:state(--connected), :--connected)[size=\"${unsafeCSS(size)}\"]:is(:state(--pressed), :--pressed)) .base {\r\n border-start-start-radius: var(\r\n --_button-start-shape-pressed-morph,\r\n ${IconButtonSizeToken[size].shapePressedMorph}\r\n );\r\n border-end-start-radius: var(--_button-start-shape-pressed-morph, ${IconButtonSizeToken[size].shapePressedMorph});\r\n border-start-end-radius: var(--_button-end-shape-pressed-morph, ${IconButtonSizeToken[size].shapePressedMorph});\r\n border-end-end-radius: var(--_button-end-shape-pressed-morph, ${IconButtonSizeToken[size].shapePressedMorph});\r\n }\r\n `;\r\n}\r\n\r\n/**\r\n * Size variant styles for `M3eIconButtonElement`.\r\n * @internal\r\n */\r\nexport const IconButtonSizeStyle: CSSResultGroup = [\r\n iconButtonStyle(\"extra-small\"),\r\n iconButtonStyle(\"small\"),\r\n iconButtonStyle(\"medium\"),\r\n iconButtonStyle(\"large\"),\r\n iconButtonStyle(\"extra-large\"),\r\n];\r\n","import { css, CSSResultGroup, unsafeCSS } from \"lit\";\r\n\r\nimport { DesignToken } from \"@m3e/web/core\";\r\n\r\n/**\r\n * Baseline styles for `M3eIconButtonElement`.\r\n * @internal\r\n */\r\nexport const IconButtonStyle: CSSResultGroup = css`\r\n :host {\r\n display: inline-block;\r\n outline: none;\r\n user-select: none;\r\n -webkit-tap-highlight-color: rgba(0, 0, 0, 0);\r\n }\r\n .base {\r\n box-sizing: border-box;\r\n vertical-align: middle;\r\n display: inline-flex;\r\n align-items: center;\r\n justify-content: center;\r\n position: relative;\r\n width: 100%;\r\n transition: ${unsafeCSS(\r\n `background-color ${DesignToken.motion.duration.short4} ${DesignToken.motion.easing.standard}`,\r\n )};\r\n }\r\n .touch {\r\n position: absolute;\r\n aspect-ratio: 1 / 1;\r\n height: 3rem;\r\n left: auto;\r\n right: auto;\r\n }\r\n :host(:is(:state(--pressed), :--pressed)) .base,\r\n :host(:is(:state(--resting), :--resting)) .base {\r\n transition: ${unsafeCSS(`background-color ${DesignToken.motion.duration.short4} ${DesignToken.motion.easing.standard},\r\n border-radius ${DesignToken.motion.spring.fastEffects}`)};\r\n }\r\n .wrapper {\r\n width: 100%;\r\n overflow: hidden;\r\n display: inline-flex;\r\n align-items: center;\r\n justify-content: center;\r\n transition: ${unsafeCSS(`padding-inline ${DesignToken.motion.spring.fastEffects}`)};\r\n }\r\n .icon {\r\n transition: ${unsafeCSS(`color ${DesignToken.motion.duration.short4} ${DesignToken.motion.easing.standard}`)};\r\n\r\n --m3e-icon-size: 1em;\r\n }\r\n :host(:not(:disabled):not([disabled-interactive])) {\r\n cursor: pointer;\r\n }\r\n :host([disabled-interactive]) {\r\n cursor: not-allowed;\r\n }\r\n ::slotted(*) {\r\n font-size: inherit !important;\r\n flex: none;\r\n transform: var(--_icon-button-icon-transform);\r\n transform-origin: center center;\r\n transition: ${unsafeCSS(\r\n `transform var(--_icon-button-icon-transform-transition, ${DesignToken.motion.spring.fastEffects})`,\r\n )};\r\n }\r\n ::slotted(svg) {\r\n width: 1em;\r\n height: 1em;\r\n }\r\n :host([toggle]:not([selected])) .base.with-selected-icon slot[name=\"selected\"],\r\n :host([toggle][selected]) .base.with-selected-icon slot:not([name]) {\r\n display: none;\r\n }\r\n a {\r\n all: unset;\r\n display: block;\r\n position: absolute;\r\n top: 0px;\r\n left: 0px;\r\n right: 0px;\r\n bottom: 0px;\r\n z-index: 1;\r\n }\r\n :host(:is(:state(--grouped), :--grouped):is(:state(--connected), :--connected)) {\r\n flex: 1 1 auto;\r\n }\r\n :host(\r\n :is(:state(--grouped), :--grouped):not(:is(:state(--connected), :--connected)):not(\r\n :is(:state(--adjacent-pressed), :--adjacent-pressed)\r\n ):not(:is(:state(--pressed), :--pressed))\r\n ) {\r\n flex-shrink: 0;\r\n flex-grow: 0;\r\n }\r\n :host(\r\n :is(:state(--grouped), :--grouped):not(:is(:state(--connected), :--connected)):is(\r\n :state(--adjacent-pressed),\r\n :--adjacent-pressed\r\n ):not(:is(:state(--pressed), :--pressed))\r\n ) {\r\n flex-shrink: 1;\r\n min-width: 0;\r\n }\r\n :host(\r\n :is(:state(--grouped), :--grouped):not(:is(:state(--connected), :--connected)):is(\r\n :state(--pressed),\r\n :--pressed\r\n ):not([disabled-interactive]):not(:disabled)\r\n ) {\r\n flex-shrink: 0;\r\n flex-basis: calc(\r\n var(--_button-width) + calc(var(--_button-width) * var(--m3e-standard-button-group-width-multiplier, 0.15))\r\n );\r\n }\r\n @media (forced-colors: active) {\r\n .base,\r\n .icon {\r\n transition: none;\r\n }\r\n :host(:is(:state(--pressed), :--pressed)) .base,\r\n :host(:is(:state(--resting), :--resting)) .base {\r\n transition: border-radius ${DesignToken.motion.spring.fastEffects};\r\n }\r\n :host([variant]:not(:disabled):not([disabled-interactive]):not([toggle])) .base {\r\n background-color: ButtonFace;\r\n outline-color: ButtonText;\r\n }\r\n :host([variant]:not(:disabled):not([disabled-interactive]):not([toggle])) .icon {\r\n color: ButtonText;\r\n }\r\n :host([variant]:not(:disabled):not([disabled-interactive])[toggle]:not([selected])) .base {\r\n background-color: ButtonFace;\r\n outline-color: ButtonText;\r\n }\r\n :host([variant]:not(:disabled):not([disabled-interactive])[toggle]:not([selected])) .icon,\r\n :host([variant]:hover:not(:disabled):not([disabled-interactive])[toggle]:not([selected])) .icon,\r\n :host([variant]:not(:disabled):not([disabled-interactive])[toggle]:not([selected]):focus) .icon {\r\n color: ButtonText;\r\n }\r\n :host([variant]:not(:disabled):not([disabled-interactive])[toggle][selected]) .base {\r\n background-color: ButtonText;\r\n outline: none;\r\n }\r\n :host([variant]:not(:disabled):not([disabled-interactive])[toggle][selected]) .icon,\r\n :host([variant]:hover:not(:disabled):not([disabled-interactive])[toggle][selected]) .icon,\r\n :host([variant]:not(:disabled):not([disabled-interactive])[toggle][selected]:focus) .icon {\r\n forced-color-adjust: none;\r\n color: ButtonFace;\r\n background-color: ButtonText;\r\n }\r\n :host([variant]:disabled) .base,\r\n :host([variant][disabled-interactive]) .base {\r\n outline-color: GrayText;\r\n background-color: unset;\r\n }\r\n :host([variant]:disabled) .icon,\r\n :host([variant][disabled-interactive]) .icon {\r\n color: GrayText;\r\n }\r\n .base {\r\n outline-style: solid;\r\n }\r\n :host([size=\"extra-small\"]) .base {\r\n outline-offset: calc(0px - var(--m3e-icon-button-extra-small-outline-thickness, 1px));\r\n outline-width: var(--m3e-icon-button-extra-small-outline-thickness, 1px);\r\n }\r\n :host([size=\"small\"]) .base {\r\n outline-offset: calc(0px - var(--m3e-icon-button-small-outline-thickness, 1px));\r\n outline-width: var(--m3e-icon-button-small-outline-thickness, 1px);\r\n }\r\n :host([size=\"medium\"]) .base {\r\n outline-offset: calc(0px - var(--m3e-icon-button-medium-outline-thickness, 1px));\r\n outline-width: var(--m3e-icon-button-medium-outline-thickness, 1px);\r\n }\r\n :host([size=\"large\"]) .base {\r\n outline-offset: calc(0px - var(--m3e-icon-button-large-outline-thickness, 2px));\r\n outline-width: var(--m3e-icon-button-large-outline-thickness, 2px);\r\n }\r\n :host([size=\"extra-large\"]) .base {\r\n outline-offset: calc(0px - var(--m3e-icon-button-extra-large-outline-thickness, 3px));\r\n outline-width: var(--m3e-icon-button-extra-large-outline-thickness, 3px);\r\n }\r\n }\r\n @media (prefers-reduced-motion) {\r\n :host(:is(:state(--pressed), :--pressed)) .base,\r\n :host(:is(:state(--resting), :--resting)) .base,\r\n .base,\r\n .wrapper,\r\n .icon {\r\n transition: none;\r\n }\r\n }\r\n`;\r\n","import { CSSResult, unsafeCSS } from \"lit\";\r\n\r\nimport { DesignToken } from \"@m3e/web/core\";\r\n\r\nimport { IconButtonVariant } from \"../IconButtonVariant\";\r\n\r\n/** @private */\r\ntype _IconButtonVariantToken = {\r\n iconColor: CSSResult;\r\n containerColor?: CSSResult;\r\n containerElevation?: CSSResult;\r\n outlineColor?: CSSResult;\r\n unselectedIconColor: CSSResult;\r\n unselectedContainerColor?: CSSResult;\r\n selectedIconColor: CSSResult;\r\n selectedContainerColor?: CSSResult;\r\n disabled: {\r\n containerColor: CSSResult;\r\n containerElevation?: CSSResult;\r\n containerOpacity: CSSResult;\r\n iconColor: CSSResult;\r\n iconOpacity: CSSResult;\r\n outlineColor?: CSSResult;\r\n };\r\n hover: {\r\n iconColor: CSSResult;\r\n stateLayerColor: CSSResult;\r\n stateLayerOpacity: CSSResult;\r\n containerElevation?: CSSResult;\r\n outlineColor?: CSSResult;\r\n unselectedIconColor: CSSResult;\r\n unselectedStateLayerColor: CSSResult;\r\n selectedIconColor: CSSResult;\r\n selectedStateLayerColor: CSSResult;\r\n };\r\n focus: {\r\n iconColor: CSSResult;\r\n stateLayerColor: CSSResult;\r\n stateLayerOpacity: CSSResult;\r\n containerElevation?: CSSResult;\r\n outlineColor?: CSSResult;\r\n unselectedIconColor: CSSResult;\r\n unselectedStateLayerColor: CSSResult;\r\n selectedIconColor: CSSResult;\r\n selectedStateLayerColor: CSSResult;\r\n };\r\n pressed: {\r\n iconColor: CSSResult;\r\n stateLayerColor: CSSResult;\r\n stateLayerOpacity: CSSResult;\r\n containerElevation?: CSSResult;\r\n outlineColor?: CSSResult;\r\n unselectedIconColor: CSSResult;\r\n unselectedStateLayerColor: CSSResult;\r\n selectedIconColor: CSSResult;\r\n selectedStateLayerColor: CSSResult;\r\n };\r\n};\r\n\r\n/**\r\n * Component design tokens that control the appearance variants of `M3eIconButtonElement`.\r\n * @internal\r\n */\r\nexport const IconButtonVariantToken: Record<IconButtonVariant | \"elevated\", _IconButtonVariantToken> = {\r\n /** Design tokens that control the `elevated` variant. */\r\n elevated: {\r\n /** Default icon color. */\r\n iconColor: unsafeCSS(\r\n `var(--m3e-elevated-icon-button-icon-color, var(--m3e-icon-button-icon-color, ${DesignToken.color.primary}))`,\r\n ),\r\n\r\n /** Default container background color. */\r\n containerColor: unsafeCSS(\r\n `var(--m3e-elevated-icon-button-container-color, var(--m3e-icon-button-container-color, ${DesignToken.color.surfaceContainerLow}))`,\r\n ),\r\n\r\n /** Resting elevation. */\r\n containerElevation: unsafeCSS(\r\n `var(--m3e-elevated-icon-button-container-elevation, var(--m3e-icon-button-container-elevation, ${DesignToken.elevation.level1}))`,\r\n ),\r\n\r\n /** Unselected icon color. */\r\n unselectedIconColor: unsafeCSS(\r\n `var(--m3e-elevated-icon-button-unselected-icon-color, var(--m3e-icon-button-unselected-icon-color, ${DesignToken.color.primary}))`,\r\n ),\r\n\r\n /** Unselected container background color. */\r\n unselectedContainerColor: unsafeCSS(\r\n `var(--m3e-elevated-icon-button-unselected-container-color, var(--m3e-icon-button-unselected-container-color, ${DesignToken.color.surfaceContainerLow}))`,\r\n ),\r\n\r\n /** Selected icon color. */\r\n selectedIconColor: unsafeCSS(\r\n `var(--m3e-elevated-icon-button-selected-icon-color, var(--m3e-icon-button-selected-icon-color, ${DesignToken.color.onPrimary}))`,\r\n ),\r\n\r\n /** Selected container background color. */\r\n selectedContainerColor: unsafeCSS(\r\n `var(--m3e-elevated-icon-button-selected-container-color, var(--m3e-icon-button-selected-container-color, ${DesignToken.color.primary}))`,\r\n ),\r\n\r\n /** Design tokens that control disabled state. */\r\n disabled: {\r\n /** Container background color when disabled. */\r\n containerColor: unsafeCSS(\r\n `var(--m3e-elevated-icon-button-disabled-container-color, var(--m3e-icon-button-disabled-container-color, ${DesignToken.color.onSurface}))`,\r\n ),\r\n\r\n /** Opacity of container when disabled. */\r\n containerOpacity: unsafeCSS(\r\n `var(--m3e-elevated-icon-button-disabled-container-opacity, var(--m3e-icon-button-disabled-container-opacity, 10%))`,\r\n ),\r\n\r\n /** Icon color when disabled. */\r\n iconColor: unsafeCSS(\r\n `var(--m3e-elevated-icon-button-disabled-icon-color, var(--m3e-icon-button-disabled-icon-color, ${DesignToken.color.onSurface}))`,\r\n ),\r\n\r\n /** Icon opacity when disabled. */\r\n iconOpacity: unsafeCSS(\r\n `var(--m3e-elevated-icon-button-disabled-icon-opacity, var(--m3e-icon-button-disabled-icon-opacity, 38%))`,\r\n ),\r\n\r\n /** Elevation when disabled. */\r\n containerElevation: unsafeCSS(\r\n `var(--m3e-elevated-icon-button-disabled-container-elevation, var(--m3e-icon-button-disabled-container-elevation, ${DesignToken.elevation.level0}))`,\r\n ),\r\n },\r\n\r\n /** Design tokens that control hover state. */\r\n hover: {\r\n /** Icon color on hover. */\r\n iconColor: unsafeCSS(\r\n `var(--m3e-elevated-icon-button-hover-icon-color, var(--m3e-icon-button-hover-icon-color, ${DesignToken.color.primary}))`,\r\n ),\r\n\r\n /** State layer color on hover. */\r\n stateLayerColor: unsafeCSS(\r\n `var(--m3e-elevated-icon-button-hover-state-layer-color, var(--m3e-icon-button-hover-state-layer-color, ${DesignToken.color.primary}))`,\r\n ),\r\n\r\n /** State layer opacity on hover. */\r\n stateLayerOpacity: unsafeCSS(\r\n `var(--m3e-elevated-icon-button-hover-state-layer-opacity, var(--m3e-icon-button-hover-state-layer-opacity, ${DesignToken.state.hoverStateLayerOpacity}))`,\r\n ),\r\n\r\n /** Elevation on hover. */\r\n containerElevation: unsafeCSS(\r\n `var(--m3e-elevated-icon-button-hover-container-elevation, var(--m3e-icon-button-hover-container-elevation, ${DesignToken.elevation.level2}))`,\r\n ),\r\n\r\n /** Unselected icon color on hover. */\r\n unselectedIconColor: unsafeCSS(\r\n `var(--m3e-elevated-icon-button-hover-unselected-icon-color, var(--m3e-icon-button-hover-unselected-icon-color, ${DesignToken.color.primary}))`,\r\n ),\r\n\r\n /** Unselected state layer color on hover. */\r\n unselectedStateLayerColor: unsafeCSS(\r\n `var(--m3e-elevated-icon-button-hover-unselected-state-layer-color, var(--m3e-icon-button-hover-unselected-state-layer-color, ${DesignToken.color.primary}))`,\r\n ),\r\n\r\n /** Selected icon color on hover. */\r\n selectedIconColor: unsafeCSS(\r\n `var(--m3e-elevated-icon-button-hover-selected-icon-color, var(--m3e-icon-button-hover-selected-icon-color, ${DesignToken.color.onPrimary}))`,\r\n ),\r\n\r\n /** Selected ripple color on hover. */\r\n selectedStateLayerColor: unsafeCSS(\r\n `var(--m3e-elevated-icon-button-hover-selected-state-layer-color, var(--m3e-icon-button-hover-selected-state-layer-color, ${DesignToken.color.onPrimary}))`,\r\n ),\r\n },\r\n\r\n /** Design tokens that control focus state. */\r\n focus: {\r\n /** Icon color on focus. */\r\n iconColor: unsafeCSS(\r\n `var(--m3e-elevated-icon-button-focus-icon-color, var(--m3e-icon-button-focus-icon-color, ${DesignToken.color.primary}))`,\r\n ),\r\n\r\n /** State layer color on focus. */\r\n stateLayerColor: unsafeCSS(\r\n `var(--m3e-elevated-icon-button-focus-state-layer-color, var(--m3e-icon-button-focus-state-layer-color, ${DesignToken.color.primary}))`,\r\n ),\r\n\r\n /**State layer opacity on focus. */\r\n stateLayerOpacity: unsafeCSS(\r\n `var(--m3e-elevated-icon-button-focus-state-layer-opacity, var(--m3e-icon-button-focus-state-layer-opacity, ${DesignToken.state.focusStateLayerOpacity}))`,\r\n ),\r\n\r\n /** Elevation on focus. */\r\n containerElevation: unsafeCSS(\r\n `var(--m3e-elevated-icon-button-focus-container-elevation, var(--m3e-icon-button-focus-container-elevation, ${DesignToken.elevation.level1}))`,\r\n ),\r\n\r\n /** Unselected icon color on focus. */\r\n unselectedIconColor: unsafeCSS(\r\n `var(--m3e-elevated-icon-button-focus-unselected-icon-color, var(--m3e-icon-button-focus-unselected-icon-color, ${DesignToken.color.primary}))`,\r\n ),\r\n\r\n /** Unselected ripple color on focus. */\r\n unselectedStateLayerColor: unsafeCSS(\r\n `var(--m3e-elevated-icon-button-focus-unselected-state-layer-color, var(--m3e-icon-button-focus-unselected-state-layer-color, ${DesignToken.color.primary}))`,\r\n ),\r\n\r\n /** Selected icon color on focus. */\r\n selectedIconColor: unsafeCSS(\r\n `var(--m3e-elevated-icon-button-focus-selected-icon-color, var(--m3e-icon-button-focus-selected-icon-color, ${DesignToken.color.onPrimary}))`,\r\n ),\r\n\r\n /** Selected ripple color on focus. */\r\n selectedStateLayerColor: unsafeCSS(\r\n `var(--m3e-elevated-icon-button-focus-selected-state-layer-color, var(--m3e-icon-button-focus-selected-state-layer-color, ${DesignToken.color.onPrimary}))`,\r\n ),\r\n },\r\n\r\n /** Design tokens that control pressed state. */\r\n pressed: {\r\n /** Icon color on pressed. */\r\n iconColor: unsafeCSS(\r\n `var(--m3e-elevated-icon-button-pressed-icon-color, var(--m3e-icon-button-pressed-icon-color, ${DesignToken.color.primary}))`,\r\n ),\r\n\r\n /** State layer color on pressed. */\r\n stateLayerColor: unsafeCSS(\r\n `var(--m3e-elevated-icon-button-pressed-state-layer-color, var(--m3e-icon-button-pressed-state-layer-color, ${DesignToken.color.primary}))`,\r\n ),\r\n\r\n /** State layer opacity on pressed. */\r\n stateLayerOpacity: unsafeCSS(\r\n `var(--m3e-elevated-icon-button-pressed-state-layer-opacity, var(--m3e-icon-button-pressed-state-layer-opacity, ${DesignToken.state.pressedStateLayerOpacity}))`,\r\n ),\r\n\r\n /** Elevation on pressed. */\r\n containerElevation: unsafeCSS(\r\n `var(--m3e-elevated-icon-button-pressed-container-elevation, var(--m3e-icon-button-pressed-container-elevation, ${DesignToken.elevation.level1}))`,\r\n ),\r\n\r\n /** Unselected icon color on pressed. */\r\n unselectedIconColor: unsafeCSS(\r\n `var(--m3e-elevated-icon-button-pressed-unselected-icon-color, var(--m3e-icon-button-pressed-unselected-icon-color, ${DesignToken.color.primary}))`,\r\n ),\r\n\r\n /** Unselected ripple color on pressed. */\r\n unselectedStateLayerColor: unsafeCSS(\r\n `var(--m3e-elevated-icon-button-pressed-unselected-state-layer-color, var(--m3e-icon-button-pressed-unselected-state-layer-color, ${DesignToken.color.primary}))`,\r\n ),\r\n\r\n /** Selected icon color on pressed. */\r\n selectedIconColor: unsafeCSS(\r\n `var(--m3e-elevated-icon-button-pressed-selected-icon-color, var(--m3e-icon-button-pressed-selected-icon-color, ${DesignToken.color.onPrimary}))`,\r\n ),\r\n\r\n /** Selected ripple color on pressed. */\r\n selectedStateLayerColor: unsafeCSS(\r\n `var(--m3e-elevated-icon-button-pressed-selected-state-layer-color, var(--m3e-icon-button-pressed-selected-state-layer-color, ${DesignToken.color.onPrimary}))`,\r\n ),\r\n },\r\n },\r\n /** Design tokens that control the `outlined` variant. */\r\n outlined: {\r\n /** Default icon color. */\r\n iconColor: unsafeCSS(\r\n `var(--m3e-outlined-icon-button-icon-color, var(--m3e-icon-button-icon-color, ${DesignToken.color.onSurfaceVariant}))`,\r\n ),\r\n\r\n /** Default outline color. */\r\n outlineColor: unsafeCSS(\r\n `var(--m3e-outlined-icon-button-outline-color, var(--m3e-icon-button-outline-color, ${DesignToken.color.outlineVariant}))`,\r\n ),\r\n\r\n /** Unselected icon color. */\r\n unselectedIconColor: unsafeCSS(\r\n `var(--m3e-outlined-icon-button-unselected-icon-color, var(--m3e-icon-button-unselected-icon-color, ${DesignToken.color.onSurfaceVariant}))`,\r\n ),\r\n\r\n /** Selected icon color. */\r\n selectedIconColor: unsafeCSS(\r\n `var(--m3e-outlined-icon-button-selected-icon-color, var(--m3e-icon-button-selected-icon-color, ${DesignToken.color.inverseOnSurface}))`,\r\n ),\r\n\r\n /** Selected container background color. */\r\n selectedContainerColor: unsafeCSS(\r\n `var(--m3e-outlined-icon-button-selected-container-color, var(--m3e-icon-button-selected-container-color, ${DesignToken.color.inverseSurface}))`,\r\n ),\r\n\r\n /** Design tokens that control disabled state. */\r\n disabled: {\r\n /** Container background color when disabled. */\r\n containerColor: unsafeCSS(\r\n `var(--m3e-outlined-icon-button-disabled-container-color, var(--m3e-icon-button-disabled-container-color, ${DesignToken.color.onSurface}))`,\r\n ),\r\n\r\n /** Opacity of container when disabled. */\r\n containerOpacity: unsafeCSS(\r\n `var(--m3e-outlined-icon-button-disabled-container-opacity, var(--m3e-icon-button-disabled-container-opacity, 10%))`,\r\n ),\r\n\r\n /** Icon color when disabled. */\r\n iconColor: unsafeCSS(\r\n `var(--m3e-outlined-icon-button-disabled-icon-color, var(--m3e-icon-button-disabled-icon-color, ${DesignToken.color.onSurface}))`,\r\n ),\r\n\r\n /** Icon opacity when disabled. */\r\n iconOpacity: unsafeCSS(\r\n `var(--m3e-outlined-icon-button-disabled-icon-opacity, var(--m3e-icon-button-disabled-icon-opacity, 38%))`,\r\n ),\r\n\r\n /** Outline color when disabled. */\r\n outlineColor: unsafeCSS(\r\n `var(--m3e-outlined-icon-button-disabled-outline-color, var(--m3e-icon-button-disabled-outline-color, ${DesignToken.color.outlineVariant}))`,\r\n ),\r\n },\r\n\r\n /** Design tokens that control hover state. */\r\n hover: {\r\n /** Icon color on hover. */\r\n iconColor: unsafeCSS(\r\n `var(--m3e-outlined-icon-button-hover-icon-color, var(--m3e-icon-button-hover-icon-color, ${DesignToken.color.onSurfaceVariant}))`,\r\n ),\r\n\r\n /** Outline color on hover. */\r\n outlineColor: unsafeCSS(\r\n `var(--m3e-outlined-icon-button-hover-outline-color, var(--m3e-icon-button-hover-outline-color, ${DesignToken.color.outlineVariant}))`,\r\n ),\r\n\r\n /** State layer color on hover. */\r\n stateLayerColor: unsafeCSS(\r\n `var(--m3e-outlined-icon-button-hover-state-layer-color, var(--m3e-icon-button-hover-state-layer-color, ${DesignToken.color.onSurfaceVariant}))`,\r\n ),\r\n\r\n /** State layer opacity on hover. */\r\n stateLayerOpacity: unsafeCSS(\r\n `var(--m3e-outlined-icon-button-hover-state-layer-opacity, var(--m3e-icon-button-hover-state-layer-opacity, ${DesignToken.state.hoverStateLayerOpacity}))`,\r\n ),\r\n\r\n /** Unselected icon color on hover. */\r\n unselectedIconColor: unsafeCSS(\r\n `var(--m3e-outlined-icon-button-hover-unselected-icon-color, var(--m3e-icon-button-hover-unselected-icon-color, ${DesignToken.color.onSurfaceVariant}))`,\r\n ),\r\n\r\n /** Unselected state layer color on hover. */\r\n unselectedStateLayerColor: unsafeCSS(\r\n `var(--m3e-outlined-icon-button-hover-unselected-state-layer-color, var(--m3e-icon-button-hover-unselected-state-layer-color, ${DesignToken.color.onSurfaceVariant}))`,\r\n ),\r\n\r\n /** Selected icon color on hover. */\r\n selectedIconColor: unsafeCSS(\r\n `var(--m3e-outlined-icon-button-hover-selected-icon-color, var(--m3e-icon-button-hover-selected-icon-color, ${DesignToken.color.inverseOnSurface}))`,\r\n ),\r\n\r\n /** Selected state layer color on hover. */\r\n selectedStateLayerColor: unsafeCSS(\r\n `var(--m3e-outlined-icon-button-hover-selected-state-layer-color, var(--m3e-icon-button-hover-selected-state-layer-color, ${DesignToken.color.inverseOnSurface}))`,\r\n ),\r\n },\r\n\r\n /** Design tokens that control focus state. */\r\n focus: {\r\n /** Icon color on focus. */\r\n iconColor: unsafeCSS(\r\n `var(--m3e-outlined-icon-button-focus-icon-color, var(--m3e-icon-button-focus-icon-color, ${DesignToken.color.onSurfaceVariant}))`,\r\n ),\r\n\r\n /** Outline color on focus. */\r\n outlineColor: unsafeCSS(\r\n `var(--m3e-outlined-icon-button-focus-outline-color, var(--m3e-icon-button-focus-outline-color, ${DesignToken.color.outlineVariant}))`,\r\n ),\r\n\r\n /** State layer color on focus. */\r\n stateLayerColor: unsafeCSS(\r\n `var(--m3e-outlined-icon-button-focus-state-layer-color, var(--m3e-icon-button-focus-state-layer-color, ${DesignToken.color.onSurfaceVariant}))`,\r\n ),\r\n\r\n /**State layer opacity on focus. */\r\n stateLayerOpacity: unsafeCSS(\r\n `var(--m3e-outlined-icon-button-focus-state-layer-opacity, var(--m3e-icon-button-focus-state-layer-opacity, ${DesignToken.state.focusStateLayerOpacity}))`,\r\n ),\r\n\r\n /** Unselected icon color on focus. */\r\n unselectedIconColor: unsafeCSS(\r\n `var(--m3e-outlined-icon-button-focus-unselected-icon-color, var(--m3e-icon-button-focus-unselected-icon-color, ${DesignToken.color.onSurfaceVariant}))`,\r\n ),\r\n\r\n /** Unselected state layer color on focus. */\r\n unselectedStateLayerColor: unsafeCSS(\r\n `var(--m3e-outlined-icon-button-focus-unselected-state-layer-color, var(--m3e-icon-button-focus-unselected-state-layer-color, ${DesignToken.color.onSurfaceVariant}))`,\r\n ),\r\n\r\n /** Selected icon color on focus. */\r\n selectedIconColor: unsafeCSS(\r\n `var(--m3e-outlined-icon-button-focus-selected-icon-color, var(--m3e-icon-button-focus-selected-icon-color, ${DesignToken.color.inverseOnSurface}))`,\r\n ),\r\n\r\n /** Selected state layer color on focus. */\r\n selectedStateLayerColor: unsafeCSS(\r\n `var(--m3e-outlined-icon-button-focus-selected-state-layer-color, var(--m3e-icon-button-focus-selected-state-layer-color, ${DesignToken.color.inverseOnSurface}))`,\r\n ),\r\n },\r\n\r\n /** Design tokens that control pressed state. */\r\n pressed: {\r\n /** Icon color on pressed. */\r\n iconColor: unsafeCSS(\r\n `var(--m3e-outlined-icon-button-pressed-icon-color, var(--m3e-icon-button-pressed-icon-color, ${DesignToken.color.onSurfaceVariant}))`,\r\n ),\r\n\r\n /** Outline color on pressed. */\r\n outlineColor: unsafeCSS(\r\n `var(--m3e-outlined-icon-button-pressed-outline-color, var(--m3e-icon-button-pressed-outline-color, ${DesignToken.color.outlineVariant}))`,\r\n ),\r\n\r\n /** State layer color on pressed. */\r\n stateLayerColor: unsafeCSS(\r\n `var(--m3e-outlined-icon-button-pressed-state-layer-color, var(--m3e-icon-button-pressed-state-layer-color, ${DesignToken.color.onSurfaceVariant}))`,\r\n ),\r\n\r\n /** State layer opacity on pressed. */\r\n stateLayerOpacity: unsafeCSS(\r\n `var(--m3e-outlined-icon-button-pressed-state-layer-opacity, var(--m3e-icon-button-pressed-state-layer-opacity, ${DesignToken.state.pressedStateLayerOpacity}))`,\r\n ),\r\n\r\n /** Unselected icon color on pressed. */\r\n unselectedIconColor: unsafeCSS(\r\n `var(--m3e-outlined-icon-button-pressed-unselected-icon-color, var(--m3e-icon-button-pressed-unselected-icon-color, ${DesignToken.color.onSurfaceVariant}))`,\r\n ),\r\n\r\n /** Unselected state layer color on pressed. */\r\n unselectedStateLayerColor: unsafeCSS(\r\n `var(--m3e-outlined-icon-button-pressed-unselected-state-layer-color, var(--m3e-icon-button-pressed-unselected-state-layer-color, ${DesignToken.color.onSurfaceVariant}))`,\r\n ),\r\n\r\n /** Selected icon color on pressed. */\r\n selectedIconColor: unsafeCSS(\r\n `var(--m3e-outlined-icon-button-pressed-selected-icon-color, var(--m3e-icon-button-pressed-selected-icon-color, ${DesignToken.color.inverseOnSurface}))`,\r\n ),\r\n\r\n /** Selected state layer color on pressed. */\r\n selectedStateLayerColor: unsafeCSS(\r\n `var(--m3e-outlined-icon-button-pressed-selected-state-layer-color, var(--m3e-icon-button-pressed-selected-state-layer-color, ${DesignToken.color.inverseOnSurface}))`,\r\n ),\r\n },\r\n },\r\n\r\n /** Design tokens that control the `filled` variant. */\r\n filled: {\r\n /** Default icon color. */\r\n iconColor: unsafeCSS(\r\n `var(--m3e-filled-icon-button-icon-color, var(--m3e-icon-button-icon-color, ${DesignToken.color.onPrimary}))`,\r\n ),\r\n\r\n /** Default container background color. */\r\n containerColor: unsafeCSS(\r\n `var(--m3e-filled-icon-button-container-color, var(--m3e-icon-button-container-color, ${DesignToken.color.primary}))`,\r\n ),\r\n\r\n /** Unselected icon color. */\r\n unselectedIconColor: unsafeCSS(\r\n `var(--m3e-filled-icon-button-unselected-icon-color, var(--m3e-icon-button-unselected-icon-color, ${DesignToken.color.onSurfaceVariant}))`,\r\n ),\r\n\r\n /** Unselected container background color. */\r\n unselectedContainerColor: unsafeCSS(\r\n `var(--m3e-filled-icon-button-unselected-container-color, var(--m3e-icon-button-unselected-container-color, ${DesignToken.color.surfaceContainer}))`,\r\n ),\r\n\r\n /** Selected icon color. */\r\n selectedIconColor: unsafeCSS(\r\n `var(--m3e-filled-icon-button-selected-icon-color, var(--m3e-icon-button-selected-icon-color, ${DesignToken.color.onPrimary}))`,\r\n ),\r\n\r\n /** Selected container background color. */\r\n selectedContainerColor: unsafeCSS(\r\n `var(--m3e-filled-icon-button-selected-container-color, var(--m3e-icon-button-selected-container-color, ${DesignToken.color.primary}))`,\r\n ),\r\n\r\n /** Design tokens that control disabled state. */\r\n disabled: {\r\n /** Container background color when disabled. */\r\n containerColor: unsafeCSS(\r\n `var(--m3e-filled-icon-button-disabled-container-color, var(--m3e-icon-button-disabled-container-color, ${DesignToken.color.onSurface}))`,\r\n ),\r\n\r\n /** Opacity of container when disabled. */\r\n containerOpacity: unsafeCSS(\r\n `var(--m3e-filled-icon-button-disabled-container-opacity, var(--m3e-icon-button-disabled-container-opacity, 10%))`,\r\n ),\r\n\r\n /** Icon color when disabled. */\r\n iconColor: unsafeCSS(\r\n `var(--m3e-filled-icon-button-disabled-icon-color, var(--m3e-icon-button-disabled-icon-color, ${DesignToken.color.onSurface}))`,\r\n ),\r\n\r\n /** Icon opacity when disabled. */\r\n iconOpacity: unsafeCSS(\r\n `var(--m3e-filled-icon-button-disabled-icon-opacity, var(--m3e-icon-button-disabled-icon-opacity, 38%))`,\r\n ),\r\n },\r\n\r\n /** Design tokens that control hover state. */\r\n hover: {\r\n /** Icon color on hover. */\r\n iconColor: unsafeCSS(\r\n `var(--m3e-filled-icon-button-hover-icon-color, var(--m3e-icon-button-hover-icon-color, ${DesignToken.color.onPrimary}))`,\r\n ),\r\n\r\n /** State layer color on hover. */\r\n stateLayerColor: unsafeCSS(\r\n `var(--m3e-filled-icon-button-hover-state-layer-color, var(--m3e-icon-button-hover-state-layer-color, ${DesignToken.color.onPrimary}))`,\r\n ),\r\n\r\n /** State layer opacity on hover. */\r\n stateLayerOpacity: unsafeCSS(\r\n `var(--m3e-filled-icon-button-hover-state-layer-opacity, var(--m3e-icon-button-hover-state-layer-opacity, ${DesignToken.state.hoverStateLayerOpacity}))`,\r\n ),\r\n\r\n /** Unselected icon color on hover. */\r\n unselectedIconColor: unsafeCSS(\r\n `var(--m3e-filled-icon-button-hover-unselected-icon-color, var(--m3e-icon-button-hover-unselected-icon-color, ${DesignToken.color.onSurfaceVariant}))`,\r\n ),\r\n\r\n /** Unselected state layer color on hover. */\r\n unselectedStateLayerColor: unsafeCSS(\r\n `var(--m3e-filled-icon-button-hover-unselected-state-layer-color, var(--m3e-icon-button-hover-unselected-state-layer-color, ${DesignToken.color.onSurfaceVariant}))`,\r\n ),\r\n\r\n /** Selected icon color on hover. */\r\n selectedIconColor: unsafeCSS(\r\n `var(--m3e-filled-icon-button-hover-selected-icon-color, var(--m3e-icon-button-hover-selected-icon-color, ${DesignToken.color.onPrimary}))`,\r\n ),\r\n\r\n /** Selected state layer color on hover. */\r\n selectedStateLayerColor: unsafeCSS(\r\n `var(--m3e-filled-icon-button-hover-selected-state-layer-color, var(--m3e-icon-button-hover-selected-state-layer-color, ${DesignToken.color.onPrimary}))`,\r\n ),\r\n },\r\n\r\n /** Design tokens that control focus state. */\r\n focus: {\r\n /** Icon color on focus. */\r\n iconColor: unsafeCSS(\r\n `var(--m3e-filled-icon-button-focus-icon-color, var(--m3e-icon-button-focus-icon-color, ${DesignToken.color.onPrimary}))`,\r\n ),\r\n\r\n /** State layer color on focus. */\r\n stateLayerColor: unsafeCSS(\r\n `var(--m3e-filled-icon-button-focus-state-layer-color, var(--m3e-icon-button-focus-state-layer-color, ${DesignToken.color.onPrimary}))`,\r\n ),\r\n\r\n /**State layer opacity on focus. */\r\n stateLayerOpacity: unsafeCSS(\r\n `var(--m3e-filled-icon-button-focus-state-layer-opacity, var(--m3e-icon-button-focus-state-layer-opacity, ${DesignToken.state.focusStateLayerOpacity}))`,\r\n ),\r\n\r\n /** Unselected icon color on focus. */\r\n unselectedIconColor: unsafeCSS(\r\n `var(--m3e-filled-icon-button-focus-unselected-icon-color, var(--m3e-icon-button-focus-unselected-icon-color, ${DesignToken.color.onSurfaceVariant}))`,\r\n ),\r\n\r\n /** Unselected state layer color on focus. */\r\n unselectedStateLayerColor: unsafeCSS(\r\n `var(--m3e-filled-icon-button-focus-unselected-state-layer-color, var(--m3e-icon-button-focus-unselected-state-layer-color, ${DesignToken.color.onSurfaceVariant}))`,\r\n ),\r\n\r\n /** Selected icon color on focus. */\r\n selectedIconColor: unsafeCSS(\r\n `var(--m3e-filled-icon-button-focus-selected-icon-color, var(--m3e-icon-button-focus-selected-icon-color, ${DesignToken.color.onPrimary}))`,\r\n ),\r\n\r\n /** Selected state layer color on focus. */\r\n selectedStateLayerColor: unsafeCSS(\r\n `var(--m3e-filled-icon-button-focus-selected-state-layer-color, var(--m3e-icon-button-focus-selected-state-layer-color, ${DesignToken.color.onPrimary}))`,\r\n ),\r\n },\r\n\r\n /** Design tokens that control pressed state. */\r\n pressed: {\r\n /** Icon color on pressed. */\r\n iconColor: unsafeCSS(\r\n `var(--m3e-filled-icon-button-pressed-icon-color, var(--m3e-icon-button-pressed-icon-color, ${DesignToken.color.onPrimary}))`,\r\n ),\r\n\r\n /** State layer color on pressed. */\r\n stateLayerColor: unsafeCSS(\r\n `var(--m3e-filled-icon-button-pressed-state-layer-color, var(--m3e-icon-button-pressed-state-layer-color, ${DesignToken.color.onPrimary}))`,\r\n ),\r\n\r\n /** State layer opacity on pressed. */\r\n stateLayerOpacity: unsafeCSS(\r\n `var(--m3e-filled-icon-button-pressed-state-layer-opacity, var(--m3e-icon-button-pressed-state-layer-opacity, ${DesignToken.state.pressedStateLayerOpacity}))`,\r\n ),\r\n\r\n /** Unselected icon color on pressed. */\r\n unselectedIconColor: unsafeCSS(\r\n `var(--m3e-filled-icon-button-pressed-unselected-icon-color, var(--m3e-icon-button-pressed-unselected-icon-color, ${DesignToken.color.onSurfaceVariant}))`,\r\n ),\r\n\r\n /** Unselected state layer color on pressed. */\r\n unselectedStateLayerColor: unsafeCSS(\r\n `var(--m3e-filled-icon-button-pressed-unselected-state-layer-color, var(--m3e-icon-button-pressed-unselected-state-layer-color, ${DesignToken.color.onSurfaceVariant}))`,\r\n ),\r\n\r\n /** Selected icon color on pressed. */\r\n selectedIconColor: unsafeCSS(\r\n `var(--m3e-filled-icon-button-pressed-selected-icon-color, var(--m3e-icon-button-pressed-selected-icon-color, ${DesignToken.color.onPrimary}))`,\r\n ),\r\n\r\n /** Selected state layer color on pressed. */\r\n selectedStateLayerColor: unsafeCSS(\r\n `var(--m3e-filled-icon-button-pressed-selected-state-layer-color, var(--m3e-icon-button-pressed-selected-state-layer-color, ${DesignToken.color.onPrimary}))`,\r\n ),\r\n },\r\n },\r\n\r\n /** Design tokens that control the `tonal` variant. */\r\n tonal: {\r\n /** Default icon color. */\r\n iconColor: unsafeCSS(\r\n `var(--m3e-tonal-icon-button-icon-color, var(--m3e-icon-button-icon-color, ${DesignToken.color.onSecondaryContainer}))`,\r\n ),\r\n\r\n /** Default container background color. */\r\n containerColor: unsafeCSS(\r\n `var(--m3e-tonal-icon-button-container-color, var(--m3e-icon-button-container-color, ${DesignToken.color.secondaryContainer}))`,\r\n ),\r\n\r\n /** Unselected icon color. */\r\n unselectedIconColor: unsafeCSS(\r\n `var(--m3e-tonal-icon-button-unselected-icon-color, var(--m3e-icon-button-unselected-icon-color, ${DesignToken.color.onSecondaryContainer}))`,\r\n ),\r\n\r\n /** Unselected container background color. */\r\n unselectedContainerColor: unsafeCSS(\r\n `var(--m3e-tonal-icon-button-unselected-container-color, var(--m3e-icon-button-unselected-container-color, ${DesignToken.color.secondaryContainer}))`,\r\n ),\r\n\r\n /** Selected icon color. */\r\n selectedIconColor: unsafeCSS(\r\n `var(--m3e-tonal-icon-button-selected-icon-color, var(--m3e-icon-button-selected-icon-color, ${DesignToken.color.onSecondary}))`,\r\n ),\r\n\r\n /** Selected container background color. */\r\n selectedContainerColor: unsafeCSS(\r\n `var(--m3e-tonal-icon-button-selected-container-color, var(--m3e-icon-button-selected-container-color, ${DesignToken.color.secondary}))`,\r\n ),\r\n\r\n /** Design tokens that control disabled state. */\r\n disabled: {\r\n /** Container background color when disabled. */\r\n containerColor: unsafeCSS(\r\n `var(--m3e-tonal-icon-button-disabled-container-color, var(--m3e-icon-button-disabled-container-color, ${DesignToken.color.onSurface}))`,\r\n ),\r\n\r\n /** Opacity of container when disabled. */\r\n containerOpacity: unsafeCSS(\r\n `var(--m3e-tonal-icon-button-disabled-container-opacity, var(--m3e-icon-button-disabled-container-opacity, 10%))`,\r\n ),\r\n\r\n /** Icon color when disabled. */\r\n iconColor: unsafeCSS(\r\n `var(--m3e-tonal-icon-button-disabled-icon-color, var(--m3e-icon-button-disabled-icon-color, ${DesignToken.color.onSurface}))`,\r\n ),\r\n\r\n /** Icon opacity when disabled. */\r\n iconOpacity: unsafeCSS(\r\n `var(--m3e-tonal-icon-button-disabled-icon-opacity, var(--m3e-icon-button-disabled-icon-opacity, 38%))`,\r\n ),\r\n },\r\n\r\n /** Design tokens that control hover state. */\r\n hover: {\r\n /** Icon color on hover. */\r\n iconColor: unsafeCSS(\r\n `var(--m3e-tonal-icon-button-hover-icon-color, var(--m3e-icon-button-hover-icon-color, ${DesignToken.color.onSecondaryContainer}))`,\r\n ),\r\n\r\n /** State layer color on hover. */\r\n stateLayerColor: unsafeCSS(\r\n `var(--m3e-tonal-icon-button-hover-state-layer-color, var(--m3e-icon-button-hover-state-layer-color, ${DesignToken.color.onSecondaryContainer}))`,\r\n ),\r\n\r\n /** State layer opacity on hover. */\r\n stateLayerOpacity: unsafeCSS(\r\n `var(--m3e-tonal-icon-button-hover-state-layer-opacity, var(--m3e-icon-button-hover-state-layer-opacity, ${DesignToken.state.hoverStateLayerOpacity}))`,\r\n ),\r\n\r\n /** Unselected icon color on hover. */\r\n unselectedIconColor: unsafeCSS(\r\n `var(--m3e-tonal-icon-button-hover-unselected-icon-color, var(--m3e-icon-button-hover-unselected-icon-color, ${DesignToken.color.onSecondaryContainer}))`,\r\n ),\r\n\r\n /** Unselected state layer color on hover. */\r\n unselectedStateLayerColor: unsafeCSS(\r\n `var(--m3e-tonal-icon-button-hover-unselected-state-layer-color, var(--m3e-icon-button-hover-unselected-state-layer-color, ${DesignToken.color.onSecondaryContainer}))`,\r\n ),\r\n\r\n /** Selected icon color on hover. */\r\n selectedIconColor: unsafeCSS(\r\n `var(--m3e-tonal-icon-button-hover-selected-icon-color, var(--m3e-icon-button-hover-selected-icon-color, ${DesignToken.color.onSecondary}))`,\r\n ),\r\n\r\n /** Selected state layer color on hover. */\r\n selectedStateLayerColor: unsafeCSS(\r\n `var(--m3e-tonal-icon-button-hover-selected-state-layer-color, var(--m3e-icon-button-hover-selected-state-layer-color, ${DesignToken.color.onSecondary}))`,\r\n ),\r\n },\r\n\r\n /** Design tokens that control focus state. */\r\n focus: {\r\n /** Icon color on focus. */\r\n iconColor: unsafeCSS(\r\n `var(--m3e-tonal-icon-button-focus-icon-color, var(--m3e-icon-button-focus-icon-color, ${DesignToken.color.onSecondaryContainer}))`,\r\n ),\r\n\r\n /** State layer color on focus. */\r\n stateLayerColor: unsafeCSS(\r\n `var(--m3e-tonal-icon-button-focus-state-layer-color, var(--m3e-icon-button-focus-state-layer-color, ${DesignToken.color.onSecondaryContainer}))`,\r\n ),\r\n\r\n /**State layer opacity on focus. */\r\n stateLayerOpacity: unsafeCSS(\r\n `var(--m3e-tonal-icon-button-focus-state-layer-opacity, var(--m3e-icon-button-focus-state-layer-opacity, ${DesignToken.state.focusStateLayerOpacity}))`,\r\n ),\r\n\r\n /** Unselected icon color on focus. */\r\n unselectedIconColor: unsafeCSS(\r\n `var(--m3e-tonal-icon-button-focus-unselected-icon-color, var(--m3e-icon-button-focus-unselected-icon-color, ${DesignToken.color.onSecondaryContainer}))`,\r\n ),\r\n\r\n /** Unselected state layer color on focus. */\r\n unselectedStateLayerColor: unsafeCSS(\r\n `var(--m3e-tonal-icon-button-focus-unselected-state-layer-color, var(--m3e-icon-button-focus-unselected-state-layer-color, ${DesignToken.color.onSecondaryContainer}))`,\r\n ),\r\n\r\n /** Selected icon color on focus. */\r\n selectedIconColor: unsafeCSS(\r\n `var(--m3e-tonal-icon-button-focus-selected-icon-color, var(--m3e-icon-button-focus-selected-icon-color, ${DesignToken.color.onSecondary}))`,\r\n ),\r\n\r\n /** Selected state layer color on focus. */\r\n selectedStateLayerColor: unsafeCSS(\r\n `var(--m3e-tonal-icon-button-focus-selected-state-layer-color, var(--m3e-icon-button-focus-selected-state-layer-color, ${DesignToken.color.onSecondary}))`,\r\n ),\r\n },\r\n\r\n /** Design tokens that control pressed state. */\r\n pressed: {\r\n /** Icon color on pressed. */\r\n iconColor: unsafeCSS(\r\n `var(--m3e-tonal-icon-button-pressed-icon-color, var(--m3e-icon-button-pressed-icon-color, ${DesignToken.color.onSecondaryContainer}))`,\r\n ),\r\n\r\n /** State layer color on pressed. */\r\n stateLayerColor: unsafeCSS(\r\n `var(--m3e-tonal-icon-button-pressed-state-layer-color, var(--m3e-icon-button-pressed-state-layer-color, ${DesignToken.color.onSecondaryContainer}))`,\r\n ),\r\n\r\n /** State layer opacity on pressed. */\r\n stateLayerOpacity: unsafeCSS(\r\n `var(--m3e-tonal-icon-button-pressed-state-layer-opacity, var(--m3e-icon-button-pressed-state-layer-opacity, ${DesignToken.state.pressedStateLayerOpacity}))`,\r\n ),\r\n\r\n /** Unselected icon color on pressed. */\r\n unselectedIconColor: unsafeCSS(\r\n `var(--m3e-tonal-icon-button-pressed-unselected-icon-color, var(--m3e-icon-button-pressed-unselected-icon-color, ${DesignToken.color.onSecondaryContainer}))`,\r\n ),\r\n\r\n /** Unselected state layer color on pressed. */\r\n unselectedStateLayerColor: unsafeCSS(\r\n `var(--m3e-tonal-icon-button-pressed-unselected-state-layer-color, var(--m3e-icon-button-pressed-unselected-state-layer-color, ${DesignToken.color.onSecondaryContainer}))`,\r\n ),\r\n\r\n /** Selected icon color on pressed. */\r\n selectedIconColor: unsafeCSS(\r\n `var(--m3e-tonal-icon-button-pressed-selected-icon-color, var(--m3e-icon-button-pressed-selected-icon-color, ${DesignToken.color.onSecondary}))`,\r\n ),\r\n\r\n /** Selected state layer color on pressed. */\r\n selectedStateLayerColor: unsafeCSS(\r\n `var(--m3e-tonal-icon-button-pressed-selected-state-layer-color, var(--m3e-icon-button-pressed-selected-state-layer-color, ${DesignToken.color.onSecondary}))`,\r\n ),\r\n },\r\n },\r\n\r\n /** Design tokens that control the `standard` variant. */\r\n standard: {\r\n /** Default icon color. */\r\n iconColor: unsafeCSS(\r\n `var(--m3e-standard-icon-button-icon-color, var(--m3e-icon-button-icon-color, ${DesignToken.color.onSurfaceVariant}))`,\r\n ),\r\n\r\n /** Unselected icon color. */\r\n unselectedIconColor: unsafeCSS(\r\n `var(--m3e-standard-icon-button-unselected-icon-color, var(--m3e-icon-button-unselected-icon-color, ${DesignToken.color.onSurfaceVariant}))`,\r\n ),\r\n\r\n /** Selected icon color. */\r\n selectedIconColor: unsafeCSS(\r\n `var(--m3e-standard-icon-button-selected-icon-color, var(--m3e-icon-button-selected-icon-color, ${DesignToken.color.primary}))`,\r\n ),\r\n\r\n /** Design tokens that control disabled state. */\r\n disabled: {\r\n /** Container background color when disabled. */\r\n containerColor: unsafeCSS(\r\n `var(--m3e-standard-icon-button-disabled-container-color, var(--m3e-icon-button-disabled-container-color, transparent))`,\r\n ),\r\n\r\n /** Opacity of container when disabled. */\r\n containerOpacity: unsafeCSS(\r\n `var(--m3e-standard-icon-button-disabled-container-opacity, var(--m3e-icon-button-disabled-container-opacity, 10%))`,\r\n ),\r\n\r\n /** Icon color when disabled. */\r\n iconColor: unsafeCSS(\r\n `var(--m3e-standard-icon-button-disabled-icon-color, var(--m3e-icon-button-disabled-icon-color, ${DesignToken.color.onSurface}))`,\r\n ),\r\n\r\n /** Icon opacity when disabled. */\r\n iconOpacity: unsafeCSS(\r\n `var(--m3e-standard-icon-button-disabled-icon-opacity, var(--m3e-icon-button-disabled-icon-opacity, 38%))`,\r\n ),\r\n },\r\n\r\n /** Design tokens that control hover state. */\r\n hover: {\r\n /** Icon color on hover. */\r\n iconColor: unsafeCSS(\r\n `var(--m3e-standard-icon-button-hover-icon-color, var(--m3e-icon-button-hover-icon-color, ${DesignToken.color.onSurfaceVariant}))`,\r\n ),\r\n\r\n /** State layer color on hover. */\r\n stateLayerColor: unsafeCSS(\r\n `var(--m3e-standard-icon-button-hover-state-layer-color, var(--m3e-icon-button-hover-state-layer-color, ${DesignToken.color.onSurfaceVariant}))`,\r\n ),\r\n\r\n /** State layer opacity on hover. */\r\n stateLayerOpacity: unsafeCSS(\r\n `var(--m3e-standard-icon-button-hover-state-layer-opacity, var(--m3e-icon-button-hover-state-layer-opacity, ${DesignToken.state.hoverStateLayerOpacity}))`,\r\n ),\r\n\r\n /** Unselected icon color on hover. */\r\n unselectedIconColor: unsafeCSS(\r\n `var(--m3e-standard-icon-button-hover-unselected-icon-color, var(--m3e-icon-button-hover-unselected-icon-color, ${DesignToken.color.onSurfaceVariant}))`,\r\n ),\r\n\r\n /** Unselected state layer color on hover. */\r\n unselectedStateLayerColor: unsafeCSS(\r\n `var(--m3e-standard-icon-button-hover-unselected-state-layer-color, var(--m3e-icon-button-hover-unselected-state-layer-color, ${DesignToken.color.onSurfaceVariant}))`,\r\n ),\r\n\r\n /** Selected icon color on hover. */\r\n selectedIconColor: unsafeCSS(\r\n `var(--m3e-standard-icon-button-hover-selected-icon-color, var(--m3e-icon-button-hover-selected-icon-color, ${DesignToken.color.primary}))`,\r\n ),\r\n\r\n /** Selected state layer color on hover. */\r\n selectedStateLayerColor: unsafeCSS(\r\n `var(--m3e-standard-icon-button-hover-selected-state-layer-color, var(--m3e-icon-button-hover-selected-state-layer-color, ${DesignToken.color.primary}))`,\r\n ),\r\n },\r\n\r\n /** Design tokens that control focus state. */\r\n focus: {\r\n /** Icon color on focus. */\r\n iconColor: unsafeCSS(\r\n `var(--m3e-standard-icon-button-focus-icon-color, var(--m3e-icon-button-focus-icon-color, ${DesignToken.color.onSurfaceVariant}))`,\r\n ),\r\n\r\n /** State layer color on focus. */\r\n stateLayerColor: unsafeCSS(\r\n `var(--m3e-standard-icon-button-focus-state-layer-color, var(--m3e-icon-button-focus-state-layer-color, ${DesignToken.color.onSurfaceVariant}))`,\r\n ),\r\n\r\n /**State layer opacity on focus. */\r\n stateLayerOpacity: unsafeCSS(\r\n `var(--m3e-standard-icon-button-focus-state-layer-opacity, var(--m3e-icon-button-focus-state-layer-opacity, ${DesignToken.state.focusStateLayerOpacity}))`,\r\n ),\r\n\r\n /** Unselected icon color on focus. */\r\n unselectedIconColor: unsafeCSS(\r\n `var(--m3e-standard-icon-button-focus-unselected-icon-color, var(--m3e-icon-button-focus-unselected-icon-color, ${DesignToken.color.onSurfaceVariant}))`,\r\n ),\r\n\r\n /** Unselected state layer color on focus. */\r\n unselectedStateLayerColor: unsafeCSS(\r\n `var(--m3e-standard-icon-button-focus-unselected-state-layer-color, var(--m3e-icon-button-focus-unselected-state-layer-color, ${DesignToken.color.onSurfaceVariant}))`,\r\n ),\r\n\r\n /** Selected icon color on focus. */\r\n selectedIconColor: unsafeCSS(\r\n `var(--m3e-standard-icon-button-focus-selected-icon-color, var(--m3e-icon-button-focus-selected-icon-color, ${DesignToken.color.primary}))`,\r\n ),\r\n\r\n /** Selected state layer color on focus. */\r\n selectedStateLayerColor: unsafeCSS(\r\n `var(--m3e-standard-icon-button-focus-selected-state-layer-color, var(--m3e-icon-button-focus-selected-state-layer-color, ${DesignToken.color.primary}))`,\r\n ),\r\n },\r\n\r\n /** Design tokens that control pressed state. */\r\n pressed: {\r\n /** Icon color on pressed. */\r\n iconColor: unsafeCSS(\r\n `var(--m3e-standard-icon-button-pressed-icon-color, var(--m3e-icon-button-pressed-icon-color, ${DesignToken.color.onSurfaceVariant}))`,\r\n ),\r\n\r\n /** State layer color on pressed. */\r\n stateLayerColor: unsafeCSS(\r\n `var(--m3e-standard-icon-button-pressed-state-layer-color, var(--m3e-icon-button-pressed-state-layer-color, ${DesignToken.color.onSurfaceVariant}))`,\r\n ),\r\n\r\n /** State layer opacity on pressed. */\r\n stateLayerOpacity: unsafeCSS(\r\n `var(--m3e-standard-icon-button-pressed-state-layer-opacity, var(--m3e-icon-button-pressed-state-layer-opacity, ${DesignToken.state.pressedStateLayerOpacity}))`,\r\n ),\r\n\r\n /** Unselected icon color on pressed. */\r\n unselectedIconColor: unsafeCSS(\r\n `var(--m3e-standard-icon-button-pressed-unselected-icon-color, var(--m3e-icon-button-pressed-unselected-icon-color, ${DesignToken.color.onSurfaceVariant}))`,\r\n ),\r\n\r\n /** Unselected state layer color on pressed. */\r\n unselectedStateLayerColor: unsafeCSS(\r\n `var(--m3e-standard-icon-button-pressed-unselected-state-layer-color, var(--m3e-icon-button-pressed-unselected-state-layer-color, ${DesignToken.color.onSurfaceVariant}))`,\r\n ),\r\n\r\n /** Selected icon color on pressed. */\r\n selectedIconColor: unsafeCSS(\r\n `var(--m3e-standard-icon-button-pressed-selected-icon-color, var(--m3e-icon-button-pressed-selected-icon-color, ${DesignToken.color.primary}))`,\r\n ),\r\n\r\n /** Selected state layer color on pressed. */\r\n selectedStateLayerColor: unsafeCSS(\r\n `var(--m3e-standard-icon-button-pressed-selected-state-layer-color, var(--m3e-icon-button-pressed-selected-state-layer-color, ${DesignToken.color.primary}))`,\r\n ),\r\n },\r\n },\r\n} as const;\r\n","import { css, CSSResult, CSSResultGroup, unsafeCSS } from \"lit\";\r\n\r\nimport { IconButtonVariant } from \"../IconButtonVariant\";\r\nimport { IconButtonVariantToken } from \"./IconButtonVariantToken\";\r\n\r\n/** @private */\r\nfunction iconButtonVariantStyle(variant: IconButtonVariant | \"elevated\"): CSSResult {\r\n return css`\r\n :host([variant=\"${unsafeCSS(variant)}\"]:not(:disabled):not([disabled-interactive])) .base {\r\n background-color: ${IconButtonVariantToken[variant].containerColor ?? unsafeCSS(\"unset\")};\r\n --m3e-state-layer-hover-color: ${IconButtonVariantToken[variant].hover.stateLayerColor};\r\n --m3e-state-layer-hover-opacity: ${IconButtonVariantToken[variant].hover.stateLayerOpacity};\r\n --m3e-state-layer-focus-color: ${IconButtonVariantToken[variant].focus.stateLayerColor};\r\n --m3e-state-layer-focus-opacity: ${IconButtonVariantToken[variant].focus.stateLayerOpacity};\r\n --m3e-ripple-color: ${IconButtonVariantToken[variant].pressed.stateLayerColor};\r\n --m3e-ripple-opacity: ${IconButtonVariantToken[variant].pressed.stateLayerOpacity};\r\n --m3e-elevation-level: ${IconButtonVariantToken[variant].containerElevation ?? unsafeCSS(\"unset\")};\r\n --m3e-elevation-hover-level: ${IconButtonVariantToken[variant].hover.containerElevation ?? unsafeCSS(\"unset\")};\r\n --m3e-elevation-focus-level: ${IconButtonVariantToken[variant].focus.containerElevation ?? unsafeCSS(\"unset\")};\r\n --m3e-elevation-pressed-level: ${IconButtonVariantToken[variant].pressed.containerElevation ??\r\n unsafeCSS(\"unset\")};\r\n }\r\n :host([variant=\"${unsafeCSS(variant)}\"][toggle]:not([selected]):not(:disabled):not([disabled-interactive])) .base {\r\n background-color: ${IconButtonVariantToken[variant].unselectedContainerColor ?? unsafeCSS(\"unset\")};\r\n --m3e-state-layer-hover-color: ${IconButtonVariantToken[variant].hover.unselectedStateLayerColor};\r\n --m3e-state-layer-focus-color: ${IconButtonVariantToken[variant].focus.unselectedStateLayerColor};\r\n --m3e-ripple-color: ${IconButtonVariantToken[variant].pressed.unselectedStateLayerColor};\r\n }\r\n :host([variant=\"${unsafeCSS(variant)}\"][toggle][selected]:not(:disabled):not([disabled-interactive])) .base {\r\n background-color: ${IconButtonVariantToken[variant].selectedContainerColor ?? unsafeCSS(\"unset\")};\r\n --m3e-state-layer-hover-color: ${IconButtonVariantToken[variant].hover.selectedStateLayerColor};\r\n --m3e-state-layer-focus-color: ${IconButtonVariantToken[variant].focus.selectedStateLayerColor};\r\n --m3e-ripple-color: ${IconButtonVariantToken[variant].pressed.selectedStateLayerColor};\r\n }\r\n :host([variant=\"${unsafeCSS(variant)}\"]:not(:disabled):not([disabled-interactive])) .base {\r\n outline-color: ${IconButtonVariantToken[variant].outlineColor ?? unsafeCSS(\"unset\")};\r\n }\r\n :host([variant=\"${unsafeCSS(variant)}\"]:focus:not(:disabled):not([disabled-interactive])) .base {\r\n outline-color: ${IconButtonVariantToken[variant].focus.outlineColor ?? unsafeCSS(\"unset\")};\r\n }\r\n :host([variant=\"${unsafeCSS(variant)}\"]:hover:not(:disabled):not([disabled-interactive])) .base {\r\n outline-color: ${IconButtonVariantToken[variant].hover.outlineColor ?? unsafeCSS(\"unset\")};\r\n }\r\n :host(\r\n [variant=\"${unsafeCSS(variant)}\"]:is(:state(--pressed), :--pressed):not(:disabled):not([disabled-interactive])\r\n )\r\n .base {\r\n outline-color: ${IconButtonVariantToken[variant].pressed.outlineColor ?? unsafeCSS(\"unset\")};\r\n }\r\n :host([variant=\"${unsafeCSS(variant)}\"]:not(:disabled):not([disabled-interactive])) .icon {\r\n color: ${IconButtonVariantToken[variant].iconColor};\r\n }\r\n :host([variant=\"${unsafeCSS(variant)}\"][toggle]:not([selected]):not(:disabled):not([disabled-interactive])) .icon {\r\n color: ${IconButtonVariantToken[variant].unselectedIconColor};\r\n }\r\n :host([variant=\"${unsafeCSS(variant)}\"][toggle][selected]:not(:disabled):not([disabled-interactive])) .icon {\r\n color: ${IconButtonVariantToken[variant].selectedIconColor};\r\n }\r\n :host([variant=\"${unsafeCSS(variant)}\"]:focus:not(:disabled):not([disabled-interactive])) .icon {\r\n color: ${IconButtonVariantToken[variant].focus.iconColor};\r\n }\r\n :host([variant=\"${unsafeCSS(variant)}\"][toggle]:not([selected]):focus:not(:disabled):not([disabled-interactive]))\r\n .icon {\r\n color: ${IconButtonVariantToken[variant].focus.unselectedIconColor};\r\n }\r\n :host([variant=\"${unsafeCSS(variant)}\"][toggle][selected]:focus:not(:disabled):not([disabled-interactive])) .icon {\r\n color: ${IconButtonVariantToken[variant].focus.selectedIconColor};\r\n }\r\n :host([variant=\"${unsafeCSS(variant)}\"]:hover:not(:disabled):not([disabled-interactive])) .icon {\r\n color: ${IconButtonVariantToken[variant].hover.iconColor};\r\n }\r\n :host([variant=\"${unsafeCSS(variant)}\"][toggle]:not([selected]):hover:not(:disabled):not([disabled-interactive]))\r\n .icon {\r\n color: ${IconButtonVariantToken[variant].hover.unselectedIconColor};\r\n }\r\n :host([variant=\"${unsafeCSS(variant)}\"][toggle][selected]:hover:not(:disabled):not([disabled-interactive])) .icon {\r\n color: ${IconButtonVariantToken[variant].hover.selectedIconColor};\r\n }\r\n :host(\r\n [variant=\"${unsafeCSS(variant)}\"]:is(:state(--pressed), :--pressed):not(:disabled):not([disabled-interactive])\r\n )\r\n .icon {\r\n color: ${IconButtonVariantToken[variant].pressed.iconColor};\r\n }\r\n :host(\r\n [variant=\"${unsafeCSS(variant)}\"][toggle]:not([selected]):is(:state(--pressed), :--pressed):not(:disabled):not(\r\n [disabled-interactive]\r\n )\r\n )\r\n .icon {\r\n color: ${IconButtonVariantToken[variant].pressed.unselectedIconColor};\r\n }\r\n :host(\r\n [variant=\"${unsafeCSS(variant)}\"][toggle][selected]:is(:state(--pressed), :--pressed):not(:disabled):not(\r\n [disabled-interactive]\r\n )\r\n )\r\n .icon {\r\n color: ${IconButtonVariantToken[variant].pressed.selectedIconColor};\r\n }\r\n :host([variant=\"${unsafeCSS(variant)}\"]:disabled) .base,\r\n :host([variant=\"${unsafeCSS(variant)}\"][disabled-interactive]) .base {\r\n outline-color: ${IconButtonVariantToken[variant].disabled.outlineColor ?? unsafeCSS(\"unset\")};\r\n background-color: color-mix(\r\n in srgb,\r\n ${IconButtonVariantToken[variant].disabled.containerColor}\r\n ${IconButtonVariantToken[variant].disabled.containerOpacity},\r\n transparent\r\n );\r\n }\r\n :host([variant=\"${unsafeCSS(variant)}\"]:disabled) .icon,\r\n :host([variant=\"${unsafeCSS(variant)}\"][disabled-interactive]) .icon {\r\n color: color-mix(\r\n in srgb,\r\n ${IconButtonVariantToken[variant].disabled.iconColor} ${IconButtonVariantToken[variant].disabled.iconOpacity},\r\n transparent\r\n );\r\n }\r\n `;\r\n}\r\n\r\n/**\r\n * Appearance variant styles for `M3eIconButtonElement`.\r\n * @internal\r\n */\r\nexport const IconButtonVariantStyle: CSSResultGroup = [\r\n iconButtonVariantStyle(\"standard\"),\r\n iconButtonVariantStyle(\"outlined\"),\r\n iconButtonVariantStyle(\"filled\"),\r\n iconButtonVariantStyle(\"tonal\"),\r\n iconButtonVariantStyle(\"elevated\"),\r\n css`\r\n :host([variant=\"outlined\"]:not([toggle][selected]):not(:disabled):not([disabled-interactive])) .base {\r\n outline-style: solid;\r\n }\r\n `,\r\n];\r\n","import { CSSResultGroup, html, LitElement, nothing, PropertyValues } from \"lit\";\r\nimport { property, query } from \"lit/decorators.js\";\r\n\r\nimport {\r\n renderPseudoLink,\r\n AttachInternals,\r\n Disabled,\r\n DisabledInteractive,\r\n Focusable,\r\n FocusController,\r\n FormSubmitter,\r\n LinkButton,\r\n M3eElevationElement,\r\n M3eFocusRingElement,\r\n M3eRippleElement,\r\n M3eStateLayerElement,\r\n PressedController,\r\n Role,\r\n KeyboardClick,\r\n hasAssignedNodes,\r\n debounce,\r\n ResizeController,\r\n prefersReducedMotion,\r\n hasCustomState,\r\n deleteCustomState,\r\n setCustomState,\r\n AttachInternalsMixin,\r\n customElement,\r\n} from \"@m3e/web/core\";\r\n\r\nimport { IconButtonSize } from \"./IconButtonSize\";\r\nimport { IconButtonShape } from \"./IconButtonShape\";\r\nimport { IconButtonVariant } from \"./IconButtonVariant\";\r\n\r\nimport { IconButtonStyle, IconButtonSizeStyle, IconButtonVariantStyle } from \"./styles\";\r\nimport { IconButtonWidth } from \"./IconButtonWidth\";\r\n\r\n/**\r\n * An icon button users interact with to perform a supplementary action.\r\n *\r\n * @description\r\n * The `m3e-icon-button` component is a semantic, expressive UI primitive for triggering actions with a single icon.\r\n * Designed according to Material Design 3 guidelines, it supports five four variants, specified using the\r\n * `variant` attribute—`filled`, `tonal`, `outlined`, and `standard`—each with dynamic elevation, shape morphing, and\r\n * adaptive color theming. The component responds to interaction states (hover, focus, press, disabled) with smooth motion\r\n * transitions, ensuring emotional clarity and visual hierarchy.\r\n *\r\n * The component is accessible by default, with ARIA roles, contrast-safe color tokens, and strong focus indicators.\r\n * It supports optional icons and states for binary actions. When using `m3e-icon` for icons, `filled` is automatically\r\n * set based on the selected state of a toggle button. It can also function as a link or be used to submit form data.\r\n *\r\n * Native disabled `<button>` elements cannot receive focus. This can be problematic in some cases because it can prevent you\r\n * from telling the user why the button is disabled. You can use the `disabled-interactive` attribute to style a `m3e-icon-button`\r\n * as disabled but allow for it to receive focus. The button will have `aria-disabled=\"true\"` for assistive technology.\r\n *\r\n * @example\r\n * The following example illustrates changing the appearance from `standard` (default) to `filled` using the `variant`\r\n * attribute, changing the size using the `size` attribute, and enabling toggle behavior using the `toggle` attribute.\r\n *\r\n * ```html\r\n * <m3e-icon-button variant=\"filled\" size=\"large\" toggle selected>\r\n * <m3e-icon name=\"favorite\"></m3e-icon>\r\n * </m3e-icon-button>\r\n * ```\r\n *\r\n * @tag m3e-icon-button\r\n *\r\n * @slot - Renders the icon of the button.\r\n * @slot selected - Renders an icon, when selected.\r\n *\r\n * @attr disabled - Whether the element is disabled.\r\n * @attr disabled-interactive - Whether the element is disabled and interactive.\r\n * @attr download - A value indicating whether the `target` of the link button will be downloaded, optionally specifying the new name of the file.\r\n * @attr href - The URL to which the link button points.\r\n * @attr name - The name of the element, submitted as a pair with the element's `value` as part of form data, when the element is used to submit a form.\r\n * @attr rel - The relationship between the `target` of the link button and the document.\r\n * @attr selected - Whether the toggle button is selected.\r\n * @attr shape - The shape of the button.\r\n * @attr size - The size of the button.\r\n * @attr target - The target of the link button.\r\n * @attr toggle - Whether the button will toggle between selected and unselected states.\r\n * @attr type - The type of the element.\r\n * @attr value - The value associated with the element's name when it's submitted with form data.\r\n * @attr variant - The appearance variant of the button.\r\n * @attr width - The width of the button.\r\n *\r\n * @fires input - Dispatched when a toggle button's selected state changes.\r\n * @fires change - Dispatched when a toggle button's selected state changes.\r\n * @fires click - Emitted when the element is clicked.\r\n *\r\n * @cssprop --m3e-icon-button-container-height - Height of the container for all size variants.\r\n * @cssprop --m3e-icon-button-outline-thickness - Outline thickness for all size variants.\r\n * @cssprop --m3e-icon-button-icon-size - Icon size for all size variants.\r\n * @cssprop --m3e-icon-button-shape-round - Corner radius for all round size variants.\r\n * @cssprop --m3e-icon-button-shape-square - Corner radius for all square size variants.\r\n * @cssprop --m3e-icon-button-selected-shape-round - Corner radius for all selected round size variants.\r\n * @cssprop --m3e-icon-button-selected-shape-square - Corner radius for all selected square size variants.\r\n * @cssprop --m3e-icon-button-shape-pressed-morph - Corner radius for all pressed size variants.\r\n * @cssprop --m3e-icon-button-narrow-leading-space - Leading space for all size variants (narrow).\r\n * @cssprop --m3e-icon-button-narrow-trailing-space - Trailing space for all size variants (narrow).\r\n * @cssprop --m3e-icon-button-default-leading-space - Leading space for all size variants (default).\r\n * @cssprop --m3e-icon-button-default-trailing-space - Trailing space for all size variants (default).\r\n * @cssprop --m3e-icon-button-wide-leading-space - Leading space for all size variants (wide).\r\n * @cssprop --m3e-icon-button-wide-trailing-space - Trailing space for all size variants (wide).\r\n * @cssprop --m3e-icon-button-extra-small-container-height - Height of the extra-small container.\r\n * @cssprop --m3e-icon-button-extra-small-outline-thickness - Outline thickness for extra-small.\r\n * @cssprop --m3e-icon-button-extra-small-icon-size - Icon size for extra-small.\r\n * @cssprop --m3e-icon-button-extra-small-shape-round - Corner radius for round extra-small.\r\n * @cssprop --m3e-icon-button-extra-small-shape-square - Corner radius for square extra-small.\r\n * @cssprop --m3e-icon-button-extra-small-selected-shape-round - Corner radius for selected round extra-small.\r\n * @cssprop --m3e-icon-button-extra-small-selected-shape-square - Corner radius for selected square extra-small.\r\n * @cssprop --m3e-icon-button-extra-small-shape-pressed-morph - Corner radius for pressed extra-small.\r\n * @cssprop --m3e-icon-button-extra-small-narrow-leading-space - Leading space for extra-small (narrow).\r\n * @cssprop --m3e-icon-button-extra-small-narrow-trailing-space - Trailing space for extra-small (narrow).\r\n * @cssprop --m3e-icon-button-extra-small-default-leading-space - Leading space for extra-small (default).\r\n * @cssprop --m3e-icon-button-extra-small-default-trailing-space - Trailing space for extra-small (default).\r\n * @cssprop --m3e-icon-button-extra-small-wide-leading-space - Leading space for extra-small (wide).\r\n * @cssprop --m3e-icon-button-extra-small-wide-trailing-space - Trailing space for extra-small (wide).\r\n * @cssprop --m3e-icon-button-small-container-height - Height of the small container.\r\n * @cssprop --m3e-icon-button-small-outline-thickness - Outline thickness for small.\r\n * @cssprop --m3e-icon-button-small-icon-size - Icon size for small.\r\n * @cssprop --m3e-icon-button-small-shape-round - Corner radius for round small.\r\n * @cssprop --m3e-icon-button-small-shape-square - Corner radius for square small.\r\n * @cssprop --m3e-icon-button-small-selected-shape-round - Corner radius for selected round small.\r\n * @cssprop --m3e-icon-button-small-selected-shape-square - Corner radius for selected square small.\r\n * @cssprop --m3e-icon-button-small-shape-pressed-morph - Corner radius for pressed small.\r\n * @cssprop --m3e-icon-button-small-narrow-leading-space - Leading space for small (narrow).\r\n * @cssprop --m3e-icon-button-small-narrow-trailing-space - Trailing space for small (narrow).\r\n * @cssprop --m3e-icon-button-small-default-leading-space - Leading space for small (default).\r\n * @cssprop --m3e-icon-button-small-default-trailing-space - Trailing space for small (default).\r\n * @cssprop --m3e-icon-button-small-wide-leading-space - Leading space for small (wide).\r\n * @cssprop --m3e-icon-button-small-wide-trailing-space - Trailing space for small (wide).\r\n * @cssprop --m3e-icon-button-medium-container-height - Height of the medium container.\r\n * @cssprop --m3e-icon-button-medium-outline-thickness - Outline thickness for medium.\r\n * @cssprop --m3e-icon-button-medium-icon-size - Icon size for medium.\r\n * @cssprop --m3e-icon-button-medium-shape-round - Corner radius for round medium.\r\n * @cssprop --m3e-icon-button-medium-shape-square - Corner radius for square medium.\r\n * @cssprop --m3e-icon-button-medium-selected-shape-round - Corner radius for selected round medium.\r\n * @cssprop --m3e-icon-button-medium-selected-shape-square - Corner radius for selected square medium.\r\n * @cssprop --m3e-icon-button-medium-shape-pressed-morph - Corner radius for pressed medium.\r\n * @cssprop --m3e-icon-button-medium-narrow-leading-space - Leading space for medium (narrow).\r\n * @cssprop --m3e-icon-button-medium-narrow-trailing-space - Trailing space for medium (narrow).\r\n * @cssprop --m3e-icon-button-medium-default-leading-space - Leading space for medium (default).\r\n * @cssprop --m3e-icon-button-medium-default-trailing-space - Trailing space for medium (default).\r\n * @cssprop --m3e-icon-button-medium-wide-leading-space - Leading space for medium (wide).\r\n * @cssprop --m3e-icon-button-medium-wide-trailing-space - Trailing space for medium (wide).\r\n * @cssprop --m3e-icon-button-large-container-height - Height of the large container.\r\n * @cssprop --m3e-icon-button-large-outline-thickness - Outline thickness for large.\r\n * @cssprop --m3e-icon-button-large-icon-size - Icon size for large.\r\n * @cssprop --m3e-icon-button-large-shape-round - Corner radius for round large.\r\n * @cssprop --m3e-icon-button-large-shape-square - Corner radius for square large.\r\n * @cssprop --m3e-icon-button-large-selected-shape-round - Corner radius for selected round large.\r\n * @cssprop --m3e-icon-button-large-selected-shape-square - Corner radius for selected square large.\r\n * @cssprop --m3e-icon-button-large-shape-pressed-morph - Corner radius for pressed large.\r\n * @cssprop --m3e-icon-button-large-narrow-leading-space - Leading space for large (narrow).\r\n * @cssprop --m3e-icon-button-large-narrow-trailing-space - Trailing space for large (narrow).\r\n * @cssprop --m3e-icon-button-large-default-leading-space - Leading space for large (default).\r\n * @cssprop --m3e-icon-button-large-default-trailing-space - Trailing space for large (default).\r\n * @cssprop --m3e-icon-button-large-wide-leading-space - Leading space for large (wide).\r\n * @cssprop --m3e-icon-button-large-wide-trailing-space - Trailing space for large (wide).\r\n * @cssprop --m3e-icon-button-extra-large-container-height - Height of the extra-large container.\r\n * @cssprop --m3e-icon-button-extra-large-outline-thickness - Outline thickness for extra-large.\r\n * @cssprop --m3e-icon-button-extra-large-icon-size - Icon size for extra-large.\r\n * @cssprop --m3e-icon-button-extra-large-shape-round - Corner radius for round extra-large.\r\n * @cssprop --m3e-icon-button-extra-large-shape-square - Corner radius for square extra-large.\r\n * @cssprop --m3e-icon-button-extra-large-selected-shape-round - Corner radius for selected round extra-large.\r\n * @cssprop --m3e-icon-button-extra-large-selected-shape-square - Corner radius for selected square extra-large.\r\n * @cssprop --m3e-icon-button-extra-large-shape-pressed-morph - Corner radius for pressed extra-large.\r\n * @cssprop --m3e-icon-button-extra-large-narrow-leading-space - Leading space for extra-large (narrow).\r\n * @cssprop --m3e-icon-button-extra-large-narrow-trailing-space - Trailing space for extra-large (narrow).\r\n * @cssprop --m3e-icon-button-extra-large-default-leading-space - Leading space for extra-large (default).\r\n * @cssprop --m3e-icon-button-extra-large-default-trailing-space - Trailing space for extra-large (default).\r\n * @cssprop --m3e-icon-button-extra-large-wide-leading-space - Leading space for extra-large (wide).\r\n * @cssprop --m3e-icon-button-extra-large-wide-trailing-space - Trailing space for extra-large (wide).\r\n * @cssprop --m3e-icon-button-outline-color - Default outline color for all variants.\r\n * @cssprop --m3e-icon-button-disabled-outline-color - Outline color when disabled (all variants).\r\n * @cssprop --m3e-icon-button-hover-outline-color - Outline color on hover (all variants).\r\n * @cssprop --m3e-icon-button-focus-outline-color - Outline color on focus (all variants).\r\n * @cssprop --m3e-icon-button-pressed-outline-color - Outline color on pressed (all variants).\r\n * @cssprop --m3e-icon-button-container-color - Default container background color for all variants.\r\n * @cssprop --m3e-icon-button-unselected-container-color - Unselected container background color for all variants.\r\n * @cssprop --m3e-icon-button-selected-container-color - Selected container background color for all variants.\r\n * @cssprop --m3e-icon-button-icon-color - Default icon color for tonal variant.\r\n * @cssprop --m3e-icon-button-container-color - Default container background color for tonal variant.\r\n * @cssprop --m3e-icon-button-unselected-icon-color - Unselected icon color for tonal variant.\r\n * @cssprop --m3e-icon-button-unselected-container-color - Unselected container background color for tonal variant.\r\n * @cssprop --m3e-icon-button-selected-icon-color - Selected icon color for tonal variant.\r\n * @cssprop --m3e-icon-button-selected-container-color - Selected container background color for tonal variant.\r\n * @cssprop --m3e-icon-button-icon-color - Default icon color for all variants.\r\n * @cssprop --m3e-icon-button-unselected-icon-color - Unselected icon color for all variants.\r\n * @cssprop --m3e-icon-button-selected-icon-color - Selected icon color for all variants.\r\n * @cssprop --m3e-icon-button-disabled-container-color - Container background color when disabled (all variants).\r\n * @cssprop --m3e-icon-button-disabled-container-opacity - Opacity of container when disabled (all variants).\r\n * @cssprop --m3e-icon-button-disabled-icon-color - Icon color when disabled (all variants).\r\n * @cssprop --m3e-icon-button-disabled-icon-opacity - Icon opacity when disabled (all variants).\r\n * @cssprop --m3e-icon-button-hover-icon-color - Icon color on hover (all variants).\r\n * @cssprop --m3e-icon-button-hover-state-layer-color - State layer color on hover (all variants).\r\n * @cssprop --m3e-icon-button-hover-state-layer-opacity - State layer opacity on hover (all variants).\r\n * @cssprop --m3e-icon-button-hover-unselected-icon-color - Unselected icon color on hover (all variants).\r\n * @cssprop --m3e-icon-button-hover-unselected-state-layer-color - Unselected state layer color on hover (all variants).\r\n * @cssprop --m3e-icon-button-hover-selected-icon-color - Selected icon color on hover (all variants).\r\n * @cssprop --m3e-icon-button-hover-selected-state-layer-color - Selected state layer color on hover (all variants).\r\n * @cssprop --m3e-icon-button-focus-icon-color - Icon color on focus (all variants).\r\n * @cssprop --m3e-icon-button-focus-state-layer-color - State layer color on focus (all variants).\r\n * @cssprop --m3e-icon-button-focus-state-layer-opacity - State layer opacity on focus (all variants).\r\n * @cssprop --m3e-icon-button-focus-unselected-icon-color - Unselected icon color on focus (all variants).\r\n * @cssprop --m3e-icon-button-focus-unselected-state-layer-color - Unselected state layer color on focus (all variants).\r\n * @cssprop --m3e-icon-button-focus-selected-icon-color - Selected icon color on focus (all variants).\r\n * @cssprop --m3e-icon-button-focus-selected-state-layer-color - Selected state layer color on focus (all variants).\r\n * @cssprop --m3e-icon-button-pressed-icon-color - Icon color on pressed (all variants).\r\n * @cssprop --m3e-icon-button-pressed-state-layer-color - State layer color on pressed (all variants).\r\n * @cssprop --m3e-icon-button-pressed-state-layer-opacity - State layer opacity on pressed (all variants).\r\n * @cssprop --m3e-icon-button-pressed-unselected-icon-color - Unselected icon color on pressed (all variants).\r\n * @cssprop --m3e-icon-button-pressed-unselected-state-layer-color - Unselected state layer color on pressed (all variants).\r\n * @cssprop --m3e-icon-button-pressed-selected-icon-color - Selected icon color on pressed (all variants).\r\n * @cssprop --m3e-icon-button-pressed-selected-state-layer-color - Selected state layer color on pressed (all variants).\r\n * @cssprop --m3e-outlined-icon-button-icon-color - Default icon color for outlined variant.\r\n * @cssprop --m3e-outlined-icon-button-outline-color - Default outline color for outlined variant.\r\n * @cssprop --m3e-outlined-icon-button-unselected-icon-color - Unselected icon color for outlined variant.\r\n * @cssprop --m3e-outlined-icon-button-selected-icon-color - Selected icon color for outlined variant.\r\n * @cssprop --m3e-outlined-icon-button-selected-container-color - Selected container background color for outlined variant.\r\n * @cssprop --m3e-outlined-icon-button-disabled-container-color - Container background color when disabled (outlined).\r\n * @cssprop --m3e-outlined-icon-button-disabled-container-opacity - Opacity of container when disabled (outlined).\r\n * @cssprop --m3e-outlined-icon-button-disabled-icon-color - Icon color when disabled (outlined).\r\n * @cssprop --m3e-outlined-icon-button-disabled-icon-opacity - Icon opacity when disabled (outlined).\r\n * @cssprop --m3e-outlined-icon-button-disabled-outline-color - Outline color when disabled (outlined).\r\n * @cssprop --m3e-outlined-icon-button-hover-icon-color - Icon color on hover (outlined).\r\n * @cssprop --m3e-outlined-icon-button-hover-outline-color - Outline color on hover (outlined).\r\n * @cssprop --m3e-outlined-icon-button-hover-state-layer-color - State layer color on hover (outlined).\r\n * @cssprop --m3e-outlined-icon-button-hover-state-layer-opacity - State layer opacity on hover (outlined).\r\n * @cssprop --m3e-outlined-icon-button-hover-unselected-icon-color - Unselected icon color on hover (outlined).\r\n * @cssprop --m3e-outlined-icon-button-hover-unselected-state-layer-color - Unselected state layer color on hover (outlined).\r\n * @cssprop --m3e-outlined-icon-button-hover-selected-icon-color - Selected icon color on hover (outlined).\r\n * @cssprop --m3e-outlined-icon-button-hover-selected-state-layer-color - Selected state layer color on hover (outlined).\r\n * @cssprop --m3e-outlined-icon-button-focus-icon-color - Icon color on focus (outlined).\r\n * @cssprop --m3e-outlined-icon-button-focus-outline-color - Outline color on focus (outlined).\r\n * @cssprop --m3e-outlined-icon-button-focus-state-layer-color - State layer color on focus (outlined).\r\n * @cssprop --m3e-outlined-icon-button-focus-state-layer-opacity - State layer opacity on focus (outlined).\r\n * @cssprop --m3e-outlined-icon-button-focus-unselected-icon-color - Unselected icon color on focus (outlined).\r\n * @cssprop --m3e-outlined-icon-button-focus-unselected-state-layer-color - Unselected state layer color on focus (outlined).\r\n * @cssprop --m3e-outlined-icon-button-focus-selected-icon-color - Selected icon color on focus (outlined).\r\n * @cssprop --m3e-outlined-icon-button-focus-selected-state-layer-color - Selected state layer color on focus (outlined).\r\n * @cssprop --m3e-outlined-icon-button-pressed-icon-color - Icon color on pressed (outlined).\r\n * @cssprop --m3e-outlined-icon-button-pressed-outline-color - Outline color on pressed (outlined).\r\n * @cssprop --m3e-outlined-icon-button-pressed-state-layer-color - State layer color on pressed (outlined).\r\n * @cssprop --m3e-outlined-icon-button-pressed-state-layer-opacity - State layer opacity on pressed (outlined).\r\n * @cssprop --m3e-outlined-icon-button-pressed-unselected-icon-color - Unselected icon color on pressed (outlined).\r\n * @cssprop --m3e-outlined-icon-button-pressed-unselected-state-layer-color - Unselected state layer color on pressed (outlined).\r\n * @cssprop --m3e-outlined-icon-button-pressed-selected-icon-color - Selected icon color on pressed (outlined).\r\n * @cssprop --m3e-outlined-icon-button-pressed-selected-state-layer-color - Selected state layer color on pressed (outlined).\r\n * @cssprop --m3e-filled-icon-button-icon-color - Default icon color for filled variant.\r\n * @cssprop --m3e-filled-icon-button-container-color - Default container background color for filled variant.\r\n * @cssprop --m3e-filled-icon-button-unselected-icon-color - Unselected icon color for filled variant.\r\n * @cssprop --m3e-filled-icon-button-unselected-container-color - Unselected container background color for filled variant.\r\n * @cssprop --m3e-filled-icon-button-selected-icon-color - Selected icon color for filled variant.\r\n * @cssprop --m3e-filled-icon-button-selected-container-color - Selected container background color for filled variant.\r\n * @cssprop --m3e-filled-icon-button-disabled-container-color - Container background color when disabled (filled).\r\n * @cssprop --m3e-filled-icon-button-disabled-container-opacity - Opacity of container when disabled (filled).\r\n * @cssprop --m3e-filled-icon-button-disabled-icon-color - Icon color when disabled (filled).\r\n * @cssprop --m3e-filled-icon-button-disabled-icon-opacity - Icon opacity when disabled (filled).\r\n * @cssprop --m3e-filled-icon-button-hover-icon-color - Icon color on hover (filled).\r\n * @cssprop --m3e-filled-icon-button-hover-state-layer-color - State layer color on hover (filled).\r\n * @cssprop --m3e-filled-icon-button-hover-state-layer-opacity - State layer opacity on hover (filled).\r\n * @cssprop --m3e-filled-icon-button-hover-unselected-icon-color - Unselected icon color on hover (filled).\r\n * @cssprop --m3e-filled-icon-button-hover-unselected-state-layer-color - Unselected state layer color on hover (filled).\r\n * @cssprop --m3e-filled-icon-button-hover-selected-icon-color - Selected icon color on hover (filled).\r\n * @cssprop --m3e-filled-icon-button-hover-selected-state-layer-color - Selected state layer color on hover (filled).\r\n * @cssprop --m3e-filled-icon-button-focus-icon-color - Icon color on focus (filled).\r\n * @cssprop --m3e-filled-icon-button-focus-state-layer-color - State layer color on focus (filled).\r\n * @cssprop --m3e-filled-icon-button-focus-state-layer-opacity - State layer opacity on focus (filled).\r\n * @cssprop --m3e-filled-icon-button-focus-unselected-icon-color - Unselected icon color on focus (filled).\r\n * @cssprop --m3e-filled-icon-button-focus-unselected-state-layer-color - Unselected state layer color on focus (filled).\r\n * @cssprop --m3e-filled-icon-button-focus-selected-icon-color - Selected icon color on focus (filled).\r\n * @cssprop --m3e-filled-icon-button-focus-selected-state-layer-color - Selected state layer color on focus (filled).\r\n * @cssprop --m3e-filled-icon-button-pressed-icon-color - Icon color on pressed (filled).\r\n * @cssprop --m3e-filled-icon-button-pressed-state-layer-color - State layer color on pressed (filled).\r\n * @cssprop --m3e-filled-icon-button-pressed-state-layer-opacity - State layer opacity on pressed (filled).\r\n * @cssprop --m3e-filled-icon-button-pressed-unselected-icon-color - Unselected icon color on pressed (filled).\r\n * @cssprop --m3e-filled-icon-button-pressed-unselected-state-layer-color - Unselected state layer color on pressed (filled).\r\n * @cssprop --m3e-filled-icon-button-pressed-selected-icon-color - Selected icon color on pressed (filled).\r\n * @cssprop --m3e-filled-icon-button-pressed-selected-state-layer-color - Selected state layer color on pressed (filled).\r\n * @cssprop --m3e-tonal-icon-button-icon-color - Default icon color for tonal variant.\r\n * @cssprop --m3e-tonal-icon-button-container-color - Default container background color for tonal variant.\r\n * @cssprop --m3e-tonal-icon-button-unselected-icon-color - Unselected icon color for tonal variant.\r\n * @cssprop --m3e-tonal-icon-button-unselected-container-color - Unselected container background color for tonal variant.\r\n * @cssprop --m3e-tonal-icon-button-selected-icon-color - Selected icon color for tonal variant.\r\n * @cssprop --m3e-tonal-icon-button-selected-container-color - Selected container background color for tonal variant.\r\n * @cssprop --m3e-tonal-icon-button-disabled-container-color - Container background color when disabled (tonal).\r\n * @cssprop --m3e-tonal-icon-button-disabled-container-opacity - Opacity of container when disabled (tonal).\r\n * @cssprop --m3e-tonal-icon-button-disabled-icon-color - Icon color when disabled (tonal).\r\n * @cssprop --m3e-tonal-icon-button-disabled-icon-opacity - Icon opacity when disabled (tonal).\r\n * @cssprop --m3e-tonal-icon-button-hover-icon-color - Icon color on hover (tonal).\r\n * @cssprop --m3e-tonal-icon-button-hover-state-layer-color - State layer color on hover (tonal).\r\n * @cssprop --m3e-tonal-icon-button-hover-state-layer-opacity - State layer opacity on hover (tonal).\r\n * @cssprop --m3e-tonal-icon-button-hover-unselected-icon-color - Unselected icon color on hover (tonal).\r\n * @cssprop --m3e-tonal-icon-button-hover-unselected-state-layer-color - Unselected state layer color on hover (tonal).\r\n * @cssprop --m3e-tonal-icon-button-hover-selected-icon-color - Selected icon color on hover (tonal).\r\n * @cssprop --m3e-tonal-icon-button-hover-selected-state-layer-color - Selected state layer color on hover (tonal).\r\n * @cssprop --m3e-tonal-icon-button-focus-icon-color - Icon color on focus (tonal).\r\n * @cssprop --m3e-tonal-icon-button-focus-state-layer-color - State layer color on focus (tonal).\r\n * @cssprop --m3e-tonal-icon-button-focus-state-layer-opacity - State layer opacity on focus (tonal).\r\n * @cssprop --m3e-tonal-icon-button-focus-unselected-icon-color - Unselected icon color on focus (tonal).\r\n * @cssprop --m3e-tonal-icon-button-focus-unselected-state-layer-color - Unselected state layer color on focus (tonal).\r\n * @cssprop --m3e-tonal-icon-button-focus-selected-icon-color - Selected icon color on focus (tonal).\r\n * @cssprop --m3e-tonal-icon-button-focus-selected-state-layer-color - Selected state layer color on focus (tonal).\r\n * @cssprop --m3e-tonal-icon-button-pressed-icon-color - Icon color on pressed (tonal).\r\n * @cssprop --m3e-tonal-icon-button-pressed-state-layer-color - State layer color on pressed (tonal).\r\n * @cssprop --m3e-tonal-icon-button-pressed-state-layer-opacity - State layer opacity on pressed (tonal).\r\n * @cssprop --m3e-tonal-icon-button-pressed-unselected-icon-color - Unselected icon color on pressed (tonal).\r\n * @cssprop --m3e-tonal-icon-button-pressed-unselected-state-layer-color - Unselected state layer color on pressed (tonal).\r\n * @cssprop --m3e-tonal-icon-button-pressed-selected-icon-color - Selected icon color on pressed (tonal).\r\n * @cssprop --m3e-tonal-icon-button-pressed-selected-state-layer-color - Selected state layer color on pressed (tonal).\r\n * @cssprop --m3e-standard-icon-button-icon-color - Default icon color for standard variant.\r\n * @cssprop --m3e-standard-icon-button-unselected-icon-color - Unselected icon color for standard variant.\r\n * @cssprop --m3e-standard-icon-button-selected-icon-color - Selected icon color for standard variant.\r\n * @cssprop --m3e-standard-icon-button-disabled-container-color - Container background color when disabled (standard).\r\n * @cssprop --m3e-standard-icon-button-disabled-container-opacity - Opacity of container when disabled (standard).\r\n * @cssprop --m3e-standard-icon-button-disabled-icon-color - Icon color when disabled (standard).\r\n * @cssprop --m3e-standard-icon-button-disabled-icon-opacity - Icon opacity when disabled (standard).\r\n * @cssprop --m3e-standard-icon-button-hover-icon-color - Icon color on hover (standard).\r\n * @cssprop --m3e-standard-icon-button-hover-state-layer-color - State layer color on hover (standard).\r\n * @cssprop --m3e-standard-icon-button-hover-state-layer-opacity - State layer opacity on hover (standard).\r\n * @cssprop --m3e-standard-icon-button-hover-unselected-icon-color - Unselected icon color on hover (standard).\r\n * @cssprop --m3e-standard-icon-button-hover-unselected-state-layer-color - Unselected state layer color on hover (standard).\r\n * @cssprop --m3e-standard-icon-button-hover-selected-icon-color - Selected icon color on hover (standard).\r\n * @cssprop --m3e-standard-icon-button-hover-selected-state-layer-color - Selected state layer color on hover (standard).\r\n * @cssprop --m3e-standard-icon-button-focus-icon-color - Icon color on focus (standard).\r\n * @cssprop --m3e-standard-icon-button-focus-state-layer-color - State layer color on focus (standard).\r\n * @cssprop --m3e-standard-icon-button-focus-state-layer-opacity - State layer opacity on focus (standard).\r\n * @cssprop --m3e-standard-icon-button-focus-unselected-icon-color - Unselected icon color on focus (standard).\r\n * @cssprop --m3e-standard-icon-button-focus-unselected-state-layer-color - Unselected state layer color on focus (standard).\r\n * @cssprop --m3e-standard-icon-button-focus-selected-icon-color - Selected icon color on focus (standard).\r\n * @cssprop --m3e-standard-icon-button-focus-selected-state-layer-color - Selected state layer color on focus (standard).\r\n * @cssprop --m3e-standard-icon-button-pressed-icon-color - Icon color on pressed (standard).\r\n * @cssprop --m3e-standard-icon-button-pressed-state-layer-color - State layer color on pressed (standard).\r\n * @cssprop --m3e-standard-icon-button-pressed-state-layer-opacity - State layer opacity on pressed (standard).\r\n * @cssprop --m3e-standard-icon-button-pressed-unselected-icon-color - Unselected icon color on pressed (standard).\r\n * @cssprop --m3e-standard-icon-button-pressed-unselected-state-layer-color - Unselected state layer color on pressed (standard).\r\n * @cssprop --m3e-standard-icon-button-pressed-selected-icon-color - Selected icon color on pressed (standard).\r\n * @cssprop --m3e-standard-icon-button-pressed-selected-state-layer-color - Selected state layer color on pressed (standard).\r\n */\r\n@customElement(\"m3e-icon-button\")\r\nexport class M3eIconButtonElement extends KeyboardClick(\r\n LinkButton(\r\n FormSubmitter(Focusable(DisabledInteractive(Disabled(AttachInternals(Role(LitElement, \"button\"), true))))),\r\n ),\r\n) {\r\n /** The styles of the element. */\r\n static override styles: CSSResultGroup = [IconButtonSizeStyle, IconButtonVariantStyle, IconButtonStyle];\r\n\r\n /** @private */ @query(\".base\") private readonly _base?: HTMLElement;\r\n /** @private */ @query(\".elevation\") private readonly _elevation?: M3eElevationElement;\r\n /** @private */ @query(\".focus-ring\") private readonly _focusRing?: M3eFocusRingElement;\r\n /** @private */ @query(\".state-layer\") private readonly _stateLayer?: M3eStateLayerElement;\r\n /** @private */ @query(\".ripple\") private readonly _ripple?: M3eRippleElement;\r\n\r\n /** @private */ readonly #clickHandler = (e: Event) => this.#handleClick(e);\r\n\r\n constructor() {\r\n super();\r\n\r\n new ResizeController(this, {\r\n callback: () => {\r\n if (this.grouped) {\r\n this._handleResize();\r\n }\r\n },\r\n });\r\n\r\n new FocusController(this, {\r\n callback: (focused) => {\r\n if (!this.disabledInteractive && !focused && !this.grouped) {\r\n this._base?.style.removeProperty(\"--_button-shape\");\r\n }\r\n },\r\n });\r\n\r\n new PressedController(this, {\r\n isPressedKey: (key) => key === \" \",\r\n minPressedDuration: 150,\r\n callback: (pressed) => {\r\n if (!this.disabled && !this.disabledInteractive) {\r\n if (pressed) {\r\n this.#updateButtonShape();\r\n if (prefersReducedMotion()) {\r\n this.#handlePressedChange(true);\r\n } else {\r\n requestAnimationFrame(() => this.#handlePressedChange(true));\r\n }\r\n } else {\r\n this.#handlePressedChange(false);\r\n }\r\n }\r\n },\r\n });\r\n }\r\n\r\n /**\r\n * The appearance variant of the button.\r\n * @default \"standard\"\r\n */\r\n @property({ reflect: true }) variant: IconButtonVariant = \"standard\";\r\n\r\n /**\r\n * The shape of the button.\r\n * @default \"rounded\"\r\n */\r\n @property({ reflect: true }) shape: IconButtonShape = \"rounded\";\r\n\r\n /**\r\n * The size of the button.\r\n * @default \"small\"\r\n */\r\n @property({ reflect: true }) size: IconButtonSize = \"small\";\r\n\r\n /**\r\n * The width of the button.\r\n * @default \"default\"\r\n */\r\n @property({ reflect: true }) width: IconButtonWidth = \"default\";\r\n\r\n /**\r\n * Whether the button will toggle between selected and unselected states.\r\n * @default false\r\n */\r\n @property({ type: Boolean, reflect: true }) toggle = false;\r\n\r\n /**\r\n * Whether the toggle button is selected.\r\n * @default false\r\n */\r\n @property({ type: Boolean, reflect: true }) selected = false;\r\n\r\n /** Whether the button is contained by a button group. */\r\n get grouped() {\r\n return hasCustomState(this, \"--grouped\");\r\n }\r\n\r\n /** @inheritdoc */\r\n override render(): unknown {\r\n return html`<div class=\"base\">\r\n <m3e-state-layer class=\"state-layer\" ?disabled=\"${this.disabled || this.disabledInteractive}\"></m3e-state-layer>\r\n <m3e-elevation class=\"elevation\" ?disabled=\"${this.disabled || this.disabledInteractive}\"></m3e-elevation>\r\n <m3e-focus-ring class=\"focus-ring\" ?disabled=\"${this.disabled}\"></m3e-focus-ring>\r\n <m3e-ripple class=\"ripple\" centered ?disabled=\"${this.disabled || this.disabledInteractive}\"></m3e-ripple>\r\n <div class=\"touch\" aria-hidden=\"true\"></div>\r\n ${this[renderPseudoLink]()}\r\n <div class=\"wrapper\">\r\n ${this.toggle\r\n ? html`<slot\r\n class=\"icon\"\r\n name=\"selected\"\r\n aria-hidden=\"true\"\r\n @slotchange=\"${this.#handleSelectedIconSlotChange}\"\r\n ></slot>`\r\n : nothing}\r\n <slot class=\"icon\" aria-hidden=\"true\"></slot>\r\n </div>\r\n </div>`;\r\n }\r\n\r\n /** @inheritdoc */\r\n override connectedCallback(): void {\r\n super.connectedCallback();\r\n\r\n this.addEventListener(\"click\", this.#clickHandler);\r\n }\r\n\r\n /** @inheritdoc */\r\n override disconnectedCallback(): void {\r\n super.disconnectedCallback();\r\n\r\n [\"--pressed\", \"--resting\", \"--grouped\", \"--connected\"].forEach((x) => deleteCustomState(this, x));\r\n this._base?.style.removeProperty(\"--_button-shape\");\r\n this.style.removeProperty(\"--_button-width\");\r\n this.style.removeProperty(\"--_adjacent-button-width\");\r\n deleteCustomState(this, \"--adjacent-pressed\");\r\n\r\n this.removeEventListener(\"click\", this.#clickHandler);\r\n }\r\n\r\n /** @inheritdoc */\r\n protected override firstUpdated(_changedProperties: PropertyValues<this>): void {\r\n super.firstUpdated(_changedProperties);\r\n [this._elevation, this._focusRing, this._stateLayer, this._ripple].forEach((x) => x?.attach(this));\r\n }\r\n\r\n /** @inheritdoc */\r\n protected override updated(_changedProperties: PropertyValues<this>): void {\r\n super.updated(_changedProperties);\r\n\r\n if (\r\n (_changedProperties.has(\"disabled\") && this.disabled) ||\r\n (_changedProperties.has(\"disabledInteractive\") && this.disabledInteractive)\r\n ) {\r\n deleteCustomState(this, \"--pressed\");\r\n deleteCustomState(this, \"--resting\");\r\n }\r\n\r\n if (_changedProperties.has(\"toggle\") || _changedProperties.has(\"selected\")) {\r\n this.ariaPressed = this.toggle ? `${this.selected}` : null;\r\n if (this.toggle) {\r\n for (const icon of this.querySelectorAll(\"m3e-icon\")) {\r\n icon.toggleAttribute(\"filled\", this.selected);\r\n }\r\n }\r\n }\r\n }\r\n\r\n /** @private */\r\n @debounce(40)\r\n private _handleResize(): void {\r\n if (this.grouped && !hasCustomState(this, \"--pressed\")) {\r\n this.style.setProperty(\"--_button-width\", `${this.clientWidth}px`);\r\n this.#updateButtonShape(true);\r\n }\r\n }\r\n\r\n /** @private */\r\n #updateButtonShape(force = false): void {\r\n if (!this._base) return;\r\n const shape = parseFloat(getComputedStyle(this._base).borderRadius);\r\n if (!isNaN(shape) || force) {\r\n const adjustedShape = this.clientHeight / 2;\r\n if (adjustedShape < shape || force) {\r\n this._base?.style.setProperty(\"--_button-shape\", `${adjustedShape}px`);\r\n }\r\n }\r\n }\r\n\r\n /** @private */\r\n #handlePressedChange(pressed: boolean): void {\r\n setCustomState(this, \"--pressed\", pressed);\r\n setCustomState(this, \"--resting\", !pressed);\r\n\r\n const group = this.closest(\"m3e-button-group\");\r\n if (group) {\r\n const clientWidth = this.getBoundingClientRect().width;\r\n const buttons = [...group.querySelectorAll<HTMLElement & AttachInternalsMixin>(\"m3e-button,m3e-icon-button\")];\r\n const index = buttons.indexOf(this);\r\n\r\n for (let i = 0; i < buttons.length; i++) {\r\n const button = buttons[i];\r\n if (i === index - 1) {\r\n button.style.setProperty(\"--_adjacent-button-width\", `${clientWidth}px`);\r\n setCustomState(button, \"--adjacent-pressed\", pressed);\r\n } else if (i === index + 1) {\r\n button.style.setProperty(\"--_adjacent-button-width\", `${clientWidth}px`);\r\n setCustomState(button, \"--adjacent-pressed\", pressed);\r\n } else {\r\n button.style.removeProperty(\"--_adjacent-button-width\");\r\n deleteCustomState(button, \"--adjacent-pressed\");\r\n }\r\n }\r\n }\r\n }\r\n\r\n /** @private */\r\n #handleClick(e: Event): void {\r\n if (this.disabled || this.disabledInteractive) {\r\n e.preventDefault();\r\n e.stopImmediatePropagation();\r\n }\r\n\r\n if (this.toggle && !e.defaultPrevented) {\r\n this.selected = !this.selected;\r\n\r\n // Dispatch an input event and if not prevented, dispatch a change event.\r\n // Otherwise, reset the selected state.\r\n\r\n if (this.dispatchEvent(new Event(\"input\", { bubbles: true, composed: true, cancelable: true }))) {\r\n this.dispatchEvent(new Event(\"change\", { bubbles: true }));\r\n } else {\r\n this.selected = !this.selected;\r\n }\r\n }\r\n }\r\n\r\n /** @private */\r\n #handleSelectedIconSlotChange(e: Event): void {\r\n this._base?.classList.toggle(\"with-selected-icon\", hasAssignedNodes(<HTMLSlotElement>e.target));\r\n }\r\n}\r\n\r\ndeclare global {\r\n interface HTMLElementTagNameMap {\r\n \"m3e-icon-button\": M3eIconButtonElement;\r\n }\r\n}\r\n"],"names":["IconButtonSizeToken","containerHeight","unsafeCSS","DesignToken","density","calc","outlineThickness","iconSize","shapeRound","shape","corner","full","shapeSquare","medium","selectedShapeRound","selectedShapeSquare","shapePressedMorph","small","narrowLeadingSpace","narrowTrailingSpace","defaultLeadingSpace","defaultTrailingSpace","wideLeadingSpace","wideTrailingSpace","large","extraLarge","iconButtonStyle","size","css","IconButtonSizeStyle","IconButtonStyle","motion","duration","short4","easing","standard","spring","fastEffects","IconButtonVariantToken","elevated","iconColor","color","primary","containerColor","surfaceContainerLow","containerElevation","elevation","level1","unselectedIconColor","unselectedContainerColor","selectedIconColor","onPrimary","selectedContainerColor","disabled","onSurface","containerOpacity","iconOpacity","level0","hover","stateLayerColor","stateLayerOpacity","state","hoverStateLayerOpacity","level2","unselectedStateLayerColor","selectedStateLayerColor","focus","focusStateLayerOpacity","pressed","pressedStateLayerOpacity","outlined","onSurfaceVariant","outlineColor","outlineVariant","inverseOnSurface","inverseSurface","filled","surfaceContainer","tonal","onSecondaryContainer","secondaryContainer","onSecondary","secondary","iconButtonVariantStyle","variant","IconButtonVariantStyle","M3eIconButtonElement","KeyboardClick","LinkButton","FormSubmitter","Focusable","DisabledInteractive","Disabled","AttachInternals","Role","LitElement","constructor","_M3eIconButtonElement_clickHandler","set","e","__classPrivateFieldGet","call","width","toggle","selected","ResizeController","callback","grouped","_handleResize","FocusController","focused","disabledInteractive","_base","style","removeProperty","PressedController","isPressedKey","key","minPressedDuration","_M3eIconButtonElement_instances","_M3eIconButtonElement_updateButtonShape","prefersReducedMotion","_M3eIconButtonElement_handlePressedChange","requestAnimationFrame","hasCustomState","render","html","renderPseudoLink","_M3eIconButtonElement_handleSelectedIconSlotChange","nothing","connectedCallback","addEventListener","disconnectedCallback","forEach","x","deleteCustomState","removeEventListener","firstUpdated","_changedProperties","_elevation","_focusRing","_stateLayer","_ripple","attach","updated","has","ariaPressed","icon","querySelectorAll","toggleAttribute","setProperty","clientWidth","force","parseFloat","getComputedStyle","borderRadius","isNaN","adjustedShape","clientHeight","setCustomState","group","closest","getBoundingClientRect","buttons","index","indexOf","i","length","button","preventDefault","stopImmediatePropagation","defaultPrevented","dispatchEvent","Event","bubbles","composed","cancelable","classList","hasAssignedNodes","target","styles","__decorate","query","prototype","property","reflect","type","Boolean","debounce","customElement"],"mappings":"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"}
|