@m3e/web 2.5.13 → 2.5.15

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (197) hide show
  1. package/dist/all.js +410 -168
  2. package/dist/all.js.map +1 -1
  3. package/dist/all.min.js +64 -64
  4. package/dist/all.min.js.map +1 -1
  5. package/dist/avatar.js +1 -1
  6. package/dist/avatar.js.map +1 -1
  7. package/dist/avatar.min.js +1 -1
  8. package/dist/avatar.min.js.map +1 -1
  9. package/dist/badge.js +29 -8
  10. package/dist/badge.js.map +1 -1
  11. package/dist/badge.min.js +1 -1
  12. package/dist/badge.min.js.map +1 -1
  13. package/dist/bottom-sheet.js +1 -1
  14. package/dist/bottom-sheet.js.map +1 -1
  15. package/dist/bottom-sheet.min.js +1 -1
  16. package/dist/bottom-sheet.min.js.map +1 -1
  17. package/dist/calendar.js +1 -1
  18. package/dist/calendar.js.map +1 -1
  19. package/dist/calendar.min.js +1 -1
  20. package/dist/calendar.min.js.map +1 -1
  21. package/dist/checkbox.js +1 -1
  22. package/dist/checkbox.js.map +1 -1
  23. package/dist/checkbox.min.js +1 -1
  24. package/dist/checkbox.min.js.map +1 -1
  25. package/dist/core-anchoring.js +40 -10
  26. package/dist/core-anchoring.js.map +1 -1
  27. package/dist/core-anchoring.min.js +1 -1
  28. package/dist/core-anchoring.min.js.map +1 -1
  29. package/dist/core.js +56 -17
  30. package/dist/core.js.map +1 -1
  31. package/dist/core.min.js +1 -1
  32. package/dist/core.min.js.map +1 -1
  33. package/dist/css-custom-data.json +20 -0
  34. package/dist/custom-elements.json +290 -46
  35. package/dist/datepicker.js +23 -10
  36. package/dist/datepicker.js.map +1 -1
  37. package/dist/datepicker.min.js +1 -1
  38. package/dist/datepicker.min.js.map +1 -1
  39. package/dist/dialog.js +1 -1
  40. package/dist/dialog.js.map +1 -1
  41. package/dist/dialog.min.js +1 -1
  42. package/dist/dialog.min.js.map +1 -1
  43. package/dist/divider.js +1 -1
  44. package/dist/divider.js.map +1 -1
  45. package/dist/divider.min.js +1 -1
  46. package/dist/divider.min.js.map +1 -1
  47. package/dist/drawer-container.js +2 -2
  48. package/dist/drawer-container.js.map +1 -1
  49. package/dist/drawer-container.min.js +1 -1
  50. package/dist/drawer-container.min.js.map +1 -1
  51. package/dist/expansion-panel.js +6 -3
  52. package/dist/expansion-panel.js.map +1 -1
  53. package/dist/expansion-panel.min.js +1 -1
  54. package/dist/expansion-panel.min.js.map +1 -1
  55. package/dist/fab-menu.js +1 -1
  56. package/dist/fab-menu.js.map +1 -1
  57. package/dist/fab-menu.min.js +1 -1
  58. package/dist/fab-menu.min.js.map +1 -1
  59. package/dist/form-field.js +1 -1
  60. package/dist/form-field.js.map +1 -1
  61. package/dist/form-field.min.js +1 -1
  62. package/dist/form-field.min.js.map +1 -1
  63. package/dist/html-custom-data.json +3 -3
  64. package/dist/icon.js +7 -8
  65. package/dist/icon.js.map +1 -1
  66. package/dist/icon.min.js +1 -1
  67. package/dist/icon.min.js.map +1 -1
  68. package/dist/menu.js +20 -7
  69. package/dist/menu.js.map +1 -1
  70. package/dist/menu.min.js +1 -1
  71. package/dist/menu.min.js.map +1 -1
  72. package/dist/nav-bar.js +4 -2
  73. package/dist/nav-bar.js.map +1 -1
  74. package/dist/nav-bar.min.js +1 -1
  75. package/dist/nav-bar.min.js.map +1 -1
  76. package/dist/nav-menu.js +2 -2
  77. package/dist/nav-menu.js.map +1 -1
  78. package/dist/nav-menu.min.js +1 -1
  79. package/dist/nav-menu.min.js.map +1 -1
  80. package/dist/nav-rail.js +1 -1
  81. package/dist/nav-rail.js.map +1 -1
  82. package/dist/nav-rail.min.js +1 -1
  83. package/dist/nav-rail.min.js.map +1 -1
  84. package/dist/radio-group.js +1 -1
  85. package/dist/radio-group.js.map +1 -1
  86. package/dist/radio-group.min.js +1 -1
  87. package/dist/radio-group.min.js.map +1 -1
  88. package/dist/search.js +31 -11
  89. package/dist/search.js.map +1 -1
  90. package/dist/search.min.js +1 -1
  91. package/dist/search.min.js.map +1 -1
  92. package/dist/skeleton.js +106 -45
  93. package/dist/skeleton.js.map +1 -1
  94. package/dist/skeleton.min.js +1 -1
  95. package/dist/skeleton.min.js.map +1 -1
  96. package/dist/slide-group.js +1 -1
  97. package/dist/slide-group.js.map +1 -1
  98. package/dist/slide-group.min.js +1 -1
  99. package/dist/slide-group.min.js.map +1 -1
  100. package/dist/slider.js +3 -2
  101. package/dist/slider.js.map +1 -1
  102. package/dist/slider.min.js +1 -1
  103. package/dist/slider.min.js.map +1 -1
  104. package/dist/snackbar.js +1 -1
  105. package/dist/snackbar.js.map +1 -1
  106. package/dist/snackbar.min.js +1 -1
  107. package/dist/snackbar.min.js.map +1 -1
  108. package/dist/split-pane.js +1 -1
  109. package/dist/split-pane.js.map +1 -1
  110. package/dist/split-pane.min.js +1 -1
  111. package/dist/split-pane.min.js.map +1 -1
  112. package/dist/src/avatar/AvatarElement.d.ts.map +1 -1
  113. package/dist/src/badge/BadgeElement.d.ts +1 -0
  114. package/dist/src/badge/BadgeElement.d.ts.map +1 -1
  115. package/dist/src/bottom-sheet/BottomSheetElement.d.ts.map +1 -1
  116. package/dist/src/calendar/CalendarElement.d.ts.map +1 -1
  117. package/dist/src/checkbox/CheckboxElement.d.ts.map +1 -1
  118. package/dist/src/core/anchoring/FloatingPanelElement.d.ts.map +1 -1
  119. package/dist/src/core/anchoring/positionAnchor.d.ts.map +1 -1
  120. package/dist/src/core/shared/mixins/AttachInternals.d.ts.map +1 -1
  121. package/dist/src/core/shared/primitives/CollapsibleElement.d.ts +1 -1
  122. package/dist/src/core/shared/primitives/CollapsibleElement.d.ts.map +1 -1
  123. package/dist/src/core/shared/primitives/CollapsibleOrientation.d.ts +1 -1
  124. package/dist/src/core/shared/primitives/CollapsibleOrientation.d.ts.map +1 -1
  125. package/dist/src/core/shared/primitives/FocusRingElement.d.ts.map +1 -1
  126. package/dist/src/core/shared/primitives/PseudoCheckboxElement.d.ts.map +1 -1
  127. package/dist/src/core/shared/primitives/PseudoRadioElement.d.ts.map +1 -1
  128. package/dist/src/core/shared/primitives/RippleElement.d.ts.map +1 -1
  129. package/dist/src/core/shared/primitives/StateLayerElement.d.ts.map +1 -1
  130. package/dist/src/datepicker/DatepickerElement.d.ts.map +1 -1
  131. package/dist/src/dialog/DialogElement.d.ts.map +1 -1
  132. package/dist/src/divider/DividerElement.d.ts.map +1 -1
  133. package/dist/src/drawer-container/styles/DrawerContainerStyle.d.ts.map +1 -1
  134. package/dist/src/expansion-panel/ExpansionPanelElement.d.ts.map +1 -1
  135. package/dist/src/expansion-panel/styles/ExpansionHeaderStyle.d.ts.map +1 -1
  136. package/dist/src/expansion-panel/styles/ExpansionPanelStyle.d.ts.map +1 -1
  137. package/dist/src/fab-menu/FabMenuElement.d.ts.map +1 -1
  138. package/dist/src/form-field/FormFieldElement.d.ts.map +1 -1
  139. package/dist/src/menu/MenuElement.d.ts.map +1 -1
  140. package/dist/src/nav-bar/NavBarElement.d.ts +2 -0
  141. package/dist/src/nav-bar/NavBarElement.d.ts.map +1 -1
  142. package/dist/src/nav-bar/NavItemElement.d.ts.map +1 -1
  143. package/dist/src/nav-menu/NavMenuElement.d.ts.map +1 -1
  144. package/dist/src/nav-menu/NavMenuItemElement.d.ts.map +1 -1
  145. package/dist/src/nav-rail/NavRailElement.d.ts.map +1 -1
  146. package/dist/src/radio-group/RadioElement.d.ts.map +1 -1
  147. package/dist/src/search/SearchViewElement.d.ts.map +1 -1
  148. package/dist/src/search/styles/SearchBarStyle.d.ts.map +1 -1
  149. package/dist/src/search/styles/SearchViewStyle.d.ts.map +1 -1
  150. package/dist/src/skeleton/SkeletonElement.d.ts +17 -1
  151. package/dist/src/skeleton/SkeletonElement.d.ts.map +1 -1
  152. package/dist/src/slide-group/SlideGroupElement.d.ts.map +1 -1
  153. package/dist/src/slider/SliderElement.d.ts.map +1 -1
  154. package/dist/src/slider/SliderThumbElement.d.ts.map +1 -1
  155. package/dist/src/snackbar/SnackbarElement.d.ts.map +1 -1
  156. package/dist/src/split-pane/SplitPaneElement.d.ts.map +1 -1
  157. package/dist/src/stepper/StepElement.d.ts.map +1 -1
  158. package/dist/src/stepper/StepPanelElement.d.ts.map +1 -1
  159. package/dist/src/stepper/StepperElement.d.ts.map +1 -1
  160. package/dist/src/switch/styles/SwitchStyle.d.ts.map +1 -1
  161. package/dist/src/switch/styles/SwitchTrackStyle.d.ts.map +1 -1
  162. package/dist/src/tabs/TabElement.d.ts.map +1 -1
  163. package/dist/src/tabs/TabPanelElement.d.ts.map +1 -1
  164. package/dist/src/tabs/TabsElement.d.ts.map +1 -1
  165. package/dist/src/toc/TocElement.d.ts.map +1 -1
  166. package/dist/src/toc/TocItemElement.d.ts.map +1 -1
  167. package/dist/src/tooltip/RichTooltipElement.d.ts +2 -0
  168. package/dist/src/tooltip/RichTooltipElement.d.ts.map +1 -1
  169. package/dist/src/tooltip/TooltipElement.d.ts +4 -0
  170. package/dist/src/tooltip/TooltipElement.d.ts.map +1 -1
  171. package/dist/src/tree/TreeElement.d.ts.map +1 -1
  172. package/dist/src/tree/TreeItemElement.d.ts.map +1 -1
  173. package/dist/stepper.js +3 -3
  174. package/dist/stepper.js.map +1 -1
  175. package/dist/stepper.min.js +1 -1
  176. package/dist/stepper.min.js.map +1 -1
  177. package/dist/switch.js +2 -2
  178. package/dist/switch.js.map +1 -1
  179. package/dist/switch.min.js +1 -1
  180. package/dist/switch.min.js.map +1 -1
  181. package/dist/tabs.js +3 -3
  182. package/dist/tabs.js.map +1 -1
  183. package/dist/tabs.min.js +1 -1
  184. package/dist/tabs.min.js.map +1 -1
  185. package/dist/toc.js +2 -2
  186. package/dist/toc.js.map +1 -1
  187. package/dist/toc.min.js +1 -1
  188. package/dist/toc.min.js.map +1 -1
  189. package/dist/tooltip.js +58 -18
  190. package/dist/tooltip.js.map +1 -1
  191. package/dist/tooltip.min.js +1 -1
  192. package/dist/tooltip.min.js.map +1 -1
  193. package/dist/tree.js +2 -2
  194. package/dist/tree.js.map +1 -1
  195. package/dist/tree.min.js +1 -1
  196. package/dist/tree.min.js.map +1 -1
  197. package/package.json +1 -1
package/dist/core.js CHANGED
@@ -837,7 +837,9 @@ class FocusController extends MonitorControllerBase {
837
837
  target.addEventListener("keydown", __classPrivateFieldGet(this, _FocusController_keyDownHandler, "f"));
838
838
  target.addEventListener("focusin", __classPrivateFieldGet(this, _FocusController_focusInHandler, "f"));
839
839
  target.addEventListener("focusout", __classPrivateFieldGet(this, _FocusController_focusOutHandler, "f"));
840
- target.addEventListener("touchstart", __classPrivateFieldGet(this, _FocusController_touchStartHandler, "f"));
840
+ target.addEventListener("touchstart", __classPrivateFieldGet(this, _FocusController_touchStartHandler, "f"), {
841
+ passive: true
842
+ });
841
843
  target.addEventListener("touchend", __classPrivateFieldGet(this, _FocusController_touchEndHandler, "f"));
842
844
  target.addEventListener("touchcancel", __classPrivateFieldGet(this, _FocusController_touchEndHandler, "f"));
843
845
  }
@@ -1818,6 +1820,8 @@ function hasCustomState(element, state) {
1818
1820
  * @param {string} state The custom state to add.
1819
1821
  */
1820
1822
  function addCustomState(element, state) {
1823
+ // Avoid style recalculation when element already has state.
1824
+ if (hasCustomState(element, state)) return;
1821
1825
  // Since flushing custom state doesn't flush in Safari (affecting all iOS browsers),
1822
1826
  // a copy of custom state is retained locally so components can correctly read after write.
1823
1827
  if (_customState in element) {
@@ -3950,6 +3954,7 @@ let M3eCollapsibleElement = class M3eCollapsibleElement extends AttachInternals(
3950
3954
  /** @inheritdoc */
3951
3955
  update(changedProperties) {
3952
3956
  super.update(changedProperties);
3957
+ const noAnimate = this.noAnimate || changedProperties.has("orientation") && !changedProperties.has("open");
3953
3958
  addCustomState(this, "--no-animate");
3954
3959
  if (!__classPrivateFieldGet(this, _M3eCollapsibleElement_slotChanged, "f")) {
3955
3960
  if (this.open) {
@@ -3962,9 +3967,9 @@ let M3eCollapsibleElement = class M3eCollapsibleElement extends AttachInternals(
3962
3967
  this.toggleAttribute("inert", !this.open);
3963
3968
  if (this.open) {
3964
3969
  __classPrivateFieldSet(this, _M3eCollapsibleElement_hasOpened, true, "f");
3965
- if (!(prefersReducedMotion() || this.noAnimate)) {
3970
+ if (!(noAnimate || prefersReducedMotion())) {
3966
3971
  __classPrivateFieldGet(this, _M3eCollapsibleElement_instances, "m", _M3eCollapsibleElement_autoSize).call(this);
3967
- setCustomState(this, "--overflows", this.orientation === "vertical" ? this.clientHeight < this.scrollHeight : this.clientWidth < this.scrollWidth);
3972
+ setCustomState(this, "--overflows", this.orientation === "vertical" ? this.clientHeight < this.scrollHeight : this.orientation === "horizontal" ? this.clientWidth < this.scrollWidth : this.clientHeight < this.scrollHeight || this.clientWidth < this.scrollWidth);
3968
3973
  __classPrivateFieldGet(this, _M3eCollapsibleElement_instances, "m", _M3eCollapsibleElement_clearSize).call(this);
3969
3974
  }
3970
3975
  deleteCustomState(this, "--closing");
@@ -3973,7 +3978,7 @@ let M3eCollapsibleElement = class M3eCollapsibleElement extends AttachInternals(
3973
3978
  __classPrivateFieldGet(this, _M3eCollapsibleElement_instances, "m", _M3eCollapsibleElement_clearSize).call(this);
3974
3979
  deleteCustomState(this, "--no-animate");
3975
3980
  __classPrivateFieldGet(this, _M3eCollapsibleElement_instances, "m", _M3eCollapsibleElement_actualSize).call(this);
3976
- if (prefersReducedMotion() || this.noAnimate) {
3981
+ if (noAnimate || prefersReducedMotion()) {
3977
3982
  __classPrivateFieldGet(this, _M3eCollapsibleElement_instances, "m", _M3eCollapsibleElement_autoSize).call(this);
3978
3983
  deleteCustomState(this, "--opening");
3979
3984
  this.dispatchEvent(new Event("opened"));
@@ -3996,7 +4001,7 @@ let M3eCollapsibleElement = class M3eCollapsibleElement extends AttachInternals(
3996
4001
  if (__classPrivateFieldGet(this, _M3eCollapsibleElement_hasOpened, "f")) {
3997
4002
  deleteCustomState(this, "--no-animate");
3998
4003
  }
3999
- if (prefersReducedMotion() || this.noAnimate) {
4004
+ if (noAnimate || prefersReducedMotion()) {
4000
4005
  __classPrivateFieldGet(this, _M3eCollapsibleElement_instances, "m", _M3eCollapsibleElement_clearSize).call(this);
4001
4006
  deleteCustomState(this, "--closing");
4002
4007
  this.dispatchEvent(new Event("closed"));
@@ -4027,16 +4032,43 @@ _M3eCollapsibleElement_handleSlotChange = function _M3eCollapsibleElement_handle
4027
4032
  __classPrivateFieldSet(this, _M3eCollapsibleElement_slotChanged, true, "f");
4028
4033
  };
4029
4034
  _M3eCollapsibleElement_autoSize = function _M3eCollapsibleElement_autoSize() {
4030
- this.style[this.orientation === "vertical" ? "height" : "width"] = "auto";
4035
+ switch (this.orientation) {
4036
+ case "vertical":
4037
+ this.style.height = "auto";
4038
+ break;
4039
+ case "horizontal":
4040
+ this.style.width = "auto";
4041
+ break;
4042
+ case "both":
4043
+ this.style.height = this.style.width = "auto";
4044
+ break;
4045
+ }
4031
4046
  };
4032
4047
  _M3eCollapsibleElement_clearSize = function _M3eCollapsibleElement_clearSize() {
4033
- this.style[this.orientation === "vertical" ? "height" : "width"] = "";
4048
+ switch (this.orientation) {
4049
+ case "vertical":
4050
+ this.style.height = "";
4051
+ break;
4052
+ case "horizontal":
4053
+ this.style.width = "";
4054
+ break;
4055
+ case "both":
4056
+ this.style.height = this.style.width = "";
4057
+ break;
4058
+ }
4034
4059
  };
4035
4060
  _M3eCollapsibleElement_actualSize = function _M3eCollapsibleElement_actualSize() {
4036
- if (this.orientation === "vertical") {
4037
- this.style.height = `${this.scrollHeight}px`;
4038
- } else {
4039
- this.style.width = `${this.scrollWidth}px`;
4061
+ switch (this.orientation) {
4062
+ case "vertical":
4063
+ this.style.height = `${this.scrollHeight}px`;
4064
+ break;
4065
+ case "horizontal":
4066
+ this.style.width = `${this.scrollWidth}px`;
4067
+ break;
4068
+ case "both":
4069
+ this.style.height = `${this.scrollHeight}px`;
4070
+ this.style.width = `${this.scrollWidth}px`;
4071
+ break;
4040
4072
  }
4041
4073
  };
4042
4074
  /** The styles of the element. */
@@ -4054,7 +4086,14 @@ M3eCollapsibleElement.styles = css`:host { display: block; overflow: hidden; } :
4054
4086
  padding-left var(--m3e-collapsible-animation-duration, ${DesignToken.motion.duration.medium1})
4055
4087
  ${DesignToken.motion.easing.standard},
4056
4088
  padding-right var(--m3e-collapsible-animation-duration, ${DesignToken.motion.duration.medium1})
4057
- ${DesignToken.motion.easing.standard}`)}; } :host(:not(:is(:state(--closing), :--closing)):not([open])) { visibility: hidden; } :host([orientation="vertical"]:not([open])) { min-height: unset !important; padding-top: 0px !important; padding-bottom: 0px !important; } :host([orientation="horizontal"]:not([open])) { min-width: unset !important; padding-left: 0px !important; padding-right: 0px !important; } :host([no-animate]), :host(:is(:state(--no-animate), :--no-animate)) { transition-duration: 0ms; } :host([orientation="vertical"]:is(:state(--opening), :--opening)), :host([orientation="vertical"]:is(:state(--closing), :--closing)) { overflow-y: hidden !important; } :host([orientation="horizontal"]:is(:state(--opening), :--opening)), :host([orientation="horizontal"]:is(:state(--closing), :--closing)) { overflow-x: hidden !important; } :host(:is(:state(--overflows), :--overflows)) { scrollbar-gutter: stable; } ::slotted(*) { --m3e-collapsible-animation-duration: initial; } @media (prefers-reduced-motion) { :host { transition: none; } }`;
4089
+ ${DesignToken.motion.easing.standard}`)}; } :host([orientation="both"]) { height: 0px; width: 0px; transition: ${unsafeCSS(`visibility var(--m3e-collapsible-animation-duration, ${DesignToken.motion.duration.medium1})
4090
+ ${DesignToken.motion.easing.standard},
4091
+ width var(--m3e-collapsible-animation-duration, ${DesignToken.motion.duration.medium1})
4092
+ ${DesignToken.motion.easing.standard},
4093
+ height var(--m3e-collapsible-animation-duration, ${DesignToken.motion.duration.medium1})
4094
+ ${DesignToken.motion.easing.standard},
4095
+ padding var(--m3e-collapsible-animation-duration, ${DesignToken.motion.duration.medium1})
4096
+ ${DesignToken.motion.easing.standard}`)}; } :host(:not(:is(:state(--closing), :--closing)):not([open])) { visibility: hidden; } :host([orientation="vertical"]:not([open])) { min-height: unset !important; padding-top: 0px !important; padding-bottom: 0px !important; } :host([orientation="horizontal"]:not([open])) { min-width: unset !important; padding-left: 0px !important; padding-right: 0px !important; } :host([orientation="both"]:not([open])) { min-height: unset !important; min-width: unset !important; padding: 0px !important; } :host([no-animate]), :host(:is(:state(--no-animate), :--no-animate)) { transition-duration: 0ms; } :host([orientation="vertical"]:is(:state(--opening), :--opening)), :host([orientation="vertical"]:is(:state(--closing), :--closing)) { overflow-y: hidden !important; } :host([orientation="horizontal"]:is(:state(--opening), :--opening)), :host([orientation="horizontal"]:is(:state(--closing), :--closing)) { overflow-x: hidden !important; } :host([orientation="both"]:is(:state(--opening), :--opening)), :host([orientation="both"]:is(:state(--closing), :--closing)) { overflow-y: hidden !important; overflow-x: hidden !important; } :host(:is(:state(--overflows), :--overflows)) { scrollbar-gutter: stable; } ::slotted(*) { --m3e-collapsible-animation-duration: initial; } @media (prefers-reduced-motion) { :host { transition: none; } }`;
4058
4097
  __decorate([property({
4059
4098
  type: Boolean,
4060
4099
  reflect: true
@@ -4375,7 +4414,7 @@ _M3eFocusRingElement_handleFocusChange = function _M3eFocusRingElement_handleFoc
4375
4414
  }
4376
4415
  };
4377
4416
  /** The styles of the element. */
4378
- M3eFocusRingElement.styles = css`:host { display: block; position: absolute; left: 0; top: 0; right: 0; bottom: 0; pointer-events: none; border-radius: inherit; outline: none; } .outline { position: absolute; left: 0; top: 0; right: 0; bottom: 0; pointer-events: none; border-radius: inherit; z-index: 1; outline-color: ${FocusRingToken.color}; outline-width: ${FocusRingToken.thickness}; visibility: ${FocusRingToken.visibility}; } .outline.visible { outline-style: solid; } :host(:not([inward])) .outline { outline-offset: ${FocusRingToken.outwardOffset}; } :host([inward]) .outline { outline-offset: calc(${FocusRingToken.inwardOffset} - ${FocusRingToken.thickness}); } :host(:not([inward])) .outline.visible { animation: grow-shrink ${FocusRingToken.duration}; } :host([inward]) .outline.visible { animation: shrink-grow ${FocusRingToken.duration}; } @keyframes grow-shrink { 50% { outline-width: calc(${FocusRingToken.thickness} * ${FocusRingToken.growthFactor}); } } @keyframes shrink-grow { 50% { outline-offset: calc( ${FocusRingToken.inwardOffset} - calc(${FocusRingToken.thickness} * ${FocusRingToken.growthFactor}) ); outline-width: calc(${FocusRingToken.thickness} * ${FocusRingToken.growthFactor}); } } @media (prefers-reduced-motion) { :host(:not([inward])) .outline.visible, :host([inward]) .outline.visible { animation: none; } } @media (forced-colors: active) { .outline { outline-color: Highlight; } }`;
4417
+ M3eFocusRingElement.styles = css`:host { display: block; position: absolute; left: 0; top: 0; right: 0; bottom: 0; pointer-events: none; border-radius: inherit; outline: none; } .outline { contain: layout style; position: absolute; left: 0; top: 0; right: 0; bottom: 0; pointer-events: none; border-radius: inherit; z-index: 1; outline-color: ${FocusRingToken.color}; outline-width: ${FocusRingToken.thickness}; visibility: ${FocusRingToken.visibility}; } .outline.visible { outline-style: solid; } :host(:not([inward])) .outline { outline-offset: ${FocusRingToken.outwardOffset}; } :host([inward]) .outline { outline-offset: calc(${FocusRingToken.inwardOffset} - ${FocusRingToken.thickness}); } :host(:not([inward])) .outline.visible { animation: grow-shrink ${FocusRingToken.duration}; } :host([inward]) .outline.visible { animation: shrink-grow ${FocusRingToken.duration}; } @keyframes grow-shrink { 50% { outline-width: calc(${FocusRingToken.thickness} * ${FocusRingToken.growthFactor}); } } @keyframes shrink-grow { 50% { outline-offset: calc( ${FocusRingToken.inwardOffset} - calc(${FocusRingToken.thickness} * ${FocusRingToken.growthFactor}) ); outline-width: calc(${FocusRingToken.thickness} * ${FocusRingToken.growthFactor}); } } @media (prefers-reduced-motion) { :host(:not([inward])) .outline.visible, :host([inward]) .outline.visible { animation: none; } } @media (forced-colors: active) { .outline { outline-color: Highlight; } }`;
4379
4418
  __decorate([query(".outline")], M3eFocusRingElement.prototype, "_outline", void 0);
4380
4419
  __decorate([property({
4381
4420
  type: Boolean,
@@ -4437,7 +4476,7 @@ let M3ePseudoCheckboxElement = class M3ePseudoCheckboxElement extends CheckedInd
4437
4476
  }
4438
4477
  };
4439
4478
  /** The styles of the element. */
4440
- M3ePseudoCheckboxElement.styles = css`:host { display: inline-block; vertical-align: middle; width: var(--m3e-checkbox-icon-size, 1.125rem); height: var(--m3e-checkbox-icon-size, 1.125rem); border-radius: var(--m3e-checkbox-container-shape, 2px); box-sizing: border-box; flex: none; } :host(:not([checked]):not([indeterminate])) { border-width: var(--m3e-checkbox-unselected-outline-thickness, 2px); border-style: solid; } :host(:not([disabled])[checked]), :host(:not([disabled])[indeterminate]) { background-color: var(--m3e-checkbox-selected-container-color, ${DesignToken.color.primary}); color: var(--m3e-checkbox-selected-icon-color, ${DesignToken.color.onPrimary}); } :host(:not([disabled]):not([checked]):not([indeterminate])) { border-color: var(--m3e-checkbox-unselected-outline-color, ${DesignToken.color.onSurfaceVariant}); } :host([disabled]:not([checked]):not([indeterminate])) { border-color: color-mix( in srgb, var(--m3e-checkbox-unselected-disabled-outline-color, ${DesignToken.color.onSurface}) var(--m3e-checkbox-unselected-disabled-outline-opacity, 38%), transparent ); } :host([disabled][checked]), :host([disabled][indeterminate]) { background-color: color-mix( in srgb, var(--m3e-checkbox-selected-disabled-container-color, ${DesignToken.color.onSurface}) var(--m3e-checkbox-selected-disabled-container-opacity, 38%), transparent ); color: color-mix( in srgb, var(--m3e-checkbox-selected-disabled-icon-color, ${DesignToken.color.surface}) var(--m3e-checkbox-selected-disabled-icon-opacity, 100%), transparent ); } svg { pointer-events: none; } @media (forced-colors: active) { :host(:not([disabled])[checked]), :host(:not([disabled])[indeterminate]) { border-color: Highlight; background-color: Highlight; color: HighlightText; } :host(:not([disabled]):not([checked]):not([indeterminate])) { border-color: CanvasText; background: Canvas; } :host([disabled]:not([checked]):not([indeterminate])) { border-color: GrayText; background-color: Canvas; } :host([disabled][checked]), :host([disabled][indeterminate]) { background-color: GrayText; color: Canvas; } }`;
4479
+ M3ePseudoCheckboxElement.styles = css`:host { display: inline-block; vertical-align: middle; width: var(--m3e-checkbox-icon-size, 1.125rem); height: var(--m3e-checkbox-icon-size, 1.125rem); border-radius: var(--m3e-checkbox-container-shape, 2px); box-sizing: border-box; flex: none; contain: layout style paint; } :host(:not([checked]):not([indeterminate])) { border-width: var(--m3e-checkbox-unselected-outline-thickness, 2px); border-style: solid; } :host(:not([disabled])[checked]), :host(:not([disabled])[indeterminate]) { background-color: var(--m3e-checkbox-selected-container-color, ${DesignToken.color.primary}); color: var(--m3e-checkbox-selected-icon-color, ${DesignToken.color.onPrimary}); } :host(:not([disabled]):not([checked]):not([indeterminate])) { border-color: var(--m3e-checkbox-unselected-outline-color, ${DesignToken.color.onSurfaceVariant}); } :host([disabled]:not([checked]):not([indeterminate])) { border-color: color-mix( in srgb, var(--m3e-checkbox-unselected-disabled-outline-color, ${DesignToken.color.onSurface}) var(--m3e-checkbox-unselected-disabled-outline-opacity, 38%), transparent ); } :host([disabled][checked]), :host([disabled][indeterminate]) { background-color: color-mix( in srgb, var(--m3e-checkbox-selected-disabled-container-color, ${DesignToken.color.onSurface}) var(--m3e-checkbox-selected-disabled-container-opacity, 38%), transparent ); color: color-mix( in srgb, var(--m3e-checkbox-selected-disabled-icon-color, ${DesignToken.color.surface}) var(--m3e-checkbox-selected-disabled-icon-opacity, 100%), transparent ); } svg { pointer-events: none; } @media (forced-colors: active) { :host(:not([disabled])[checked]), :host(:not([disabled])[indeterminate]) { border-color: Highlight; background-color: Highlight; color: HighlightText; } :host(:not([disabled]):not([checked]):not([indeterminate])) { border-color: CanvasText; background: Canvas; } :host([disabled]:not([checked]):not([indeterminate])) { border-color: GrayText; background-color: Canvas; } :host([disabled][checked]), :host([disabled][indeterminate]) { background-color: GrayText; color: Canvas; } }`;
4441
4480
  M3ePseudoCheckboxElement = __decorate([customElement("m3e-pseudo-checkbox")], M3ePseudoCheckboxElement);
4442
4481
 
4443
4482
  /**
@@ -4475,7 +4514,7 @@ let M3ePseudoRadioElement = class M3ePseudoRadioElement extends Checked(Disabled
4475
4514
  }
4476
4515
  };
4477
4516
  /** The styles of the element. */
4478
- M3ePseudoRadioElement.styles = css`:host { display: inline-block; vertical-align: middle; box-sizing: border-box; width: var(--m3e-radio-icon-size, 1.25rem); height: var(--m3e-radio-icon-size, 1.25rem); flex: none; } .circle { fill: currentColor; } :host(:not([checked])) .circle.inner { opacity: 0; } :host(:not([checked])) { color: var(--m3e-radio-unselected-icon-color, ${DesignToken.color.onSurfaceVariant}); } :host([checked]) { color: var(--m3e-radio-selected-icon-color, ${DesignToken.color.primary}); } :host([disabled]) { color: color-mix(in srgb, var(--m3e-radio-disabled-icon-color, ${DesignToken.color.onSurface}) 38%, transparent); } @media (forced-colors: active) { :host { border-radius: 50%; } :host(:not([checked])) { color: CanvasText; background-color: Canvas; } :host([checked]) { color: HighlightText; background-color: Highlight; } :host([disabled]) { color: GrayText; background-color: Canvas; } }`;
4517
+ M3ePseudoRadioElement.styles = css`:host { display: inline-block; vertical-align: middle; box-sizing: border-box; width: var(--m3e-radio-icon-size, 1.25rem); height: var(--m3e-radio-icon-size, 1.25rem); flex: none; contain: layout style paint; } .circle { fill: currentColor; } :host(:not([checked])) .circle.inner { opacity: 0; } :host(:not([checked])) { color: var(--m3e-radio-unselected-icon-color, ${DesignToken.color.onSurfaceVariant}); } :host([checked]) { color: var(--m3e-radio-selected-icon-color, ${DesignToken.color.primary}); } :host([disabled]) { color: color-mix(in srgb, var(--m3e-radio-disabled-icon-color, ${DesignToken.color.onSurface}) 38%, transparent); } @media (forced-colors: active) { :host { border-radius: 50%; } :host(:not([checked])) { color: CanvasText; background-color: Canvas; } :host([checked]) { color: HighlightText; background-color: Highlight; } :host([disabled]) { color: GrayText; background-color: Canvas; } }`;
4479
4518
  M3ePseudoRadioElement = __decorate([customElement("m3e-pseudo-radio")], M3ePseudoRadioElement);
4480
4519
 
4481
4520
  /**
@@ -4670,7 +4709,7 @@ _M3eRippleElement_handlePressedChange = function _M3eRippleElement_handlePressed
4670
4709
  }
4671
4710
  };
4672
4711
  /** The styles of the element. */
4673
- M3eRippleElement.styles = css`:host { display: block; position: absolute; left: 0; top: 0; right: 0; bottom: 0; pointer-events: none; border-radius: inherit; } :host(:not([unbounded])) { overflow: hidden; } .ripple { display: block; position: absolute; left: 0; top: 0; right: 0; bottom: 0; pointer-events: none; transform: scale(0); border-radius: ${DesignToken.shape.corner.full}; background-color: color-mix(in srgb, ${RippleToken.color} ${RippleToken.opacity}, transparent); will-change: background-color, opacity; animation: ripple ${RippleToken.enterDuration} linear; } .ripple.persistent.pressed { transform: scale(${RippleToken.scaleFactor}); } .ripple.exit { transition: opacity ${RippleToken.exitDuration} cubic-bezier(0, 0, 0.2, 0.1); opacity: 0; } @keyframes ripple { to { transform: scale(${RippleToken.scaleFactor}); } } @media (prefers-reduced-motion) { .ripple { transform: scale(${RippleToken.scaleFactor}); animation-duration: 90ms; } .ripple.exit { transition-duration: 10ms; } } @media (forced-colors: active) { .ripple { display: none; } }`;
4712
+ M3eRippleElement.styles = css`:host { display: block; position: absolute; left: 0; top: 0; right: 0; bottom: 0; pointer-events: none; border-radius: inherit; } :host(:not([unbounded])) { overflow: hidden; } :host(:not([unbounded])) .ripple { contain: layout style paint; } :host([unbounded]) .ripple { contain: layout style; } .ripple { display: block; position: absolute; left: 0; top: 0; right: 0; bottom: 0; pointer-events: none; transform: scale(0); border-radius: ${DesignToken.shape.corner.full}; background-color: color-mix(in srgb, ${RippleToken.color} ${RippleToken.opacity}, transparent); will-change: background-color, opacity; animation: ripple ${RippleToken.enterDuration} linear; } .ripple.persistent.pressed { transform: scale(${RippleToken.scaleFactor}); } .ripple.exit { transition: opacity ${RippleToken.exitDuration} cubic-bezier(0, 0, 0.2, 0.1); opacity: 0; } @keyframes ripple { to { transform: scale(${RippleToken.scaleFactor}); } } @media (prefers-reduced-motion) { .ripple { transform: scale(${RippleToken.scaleFactor}); animation-duration: 90ms; } .ripple.exit { transition-duration: 10ms; } } @media (forced-colors: active) { .ripple { display: none; } }`;
4674
4713
  __decorate([property({
4675
4714
  type: Boolean,
4676
4715
  reflect: true
@@ -5024,7 +5063,7 @@ _M3eStateLayerElement_handleFocusChange = function _M3eStateLayerElement_handleF
5024
5063
  }
5025
5064
  };
5026
5065
  /** The styles of the element. */
5027
- M3eStateLayerElement.styles = css`:host { display: block; } :host, .layer { position: absolute; left: 0; top: 0; right: 0; bottom: 0; pointer-events: none; border-radius: inherit; } .layer { will-change: background-color; transition: ${unsafeCSS(`background-color ${StateLayerToken.duration} ${StateLayerToken.easing}`)}; } .layer.focused { background-color: color-mix(in srgb, ${StateLayerToken.focusColor} ${StateLayerToken.focusOpacity}, transparent); } .layer.hover { background-color: color-mix(in srgb, ${StateLayerToken.hoverColor} ${StateLayerToken.hoverOpacity}, transparent); } @media (prefers-reduced-motion) { .layer { transition: none; } } @media (forced-colors: active) { .layer { display: none; } }`;
5066
+ M3eStateLayerElement.styles = css`:host { display: block; } :host, .layer { position: absolute; left: 0; top: 0; right: 0; bottom: 0; pointer-events: none; border-radius: inherit; } .layer { contain: layout style paint; will-change: background-color; transition: ${unsafeCSS(`background-color ${StateLayerToken.duration} ${StateLayerToken.easing}`)}; } .layer.focused { background-color: color-mix(in srgb, ${StateLayerToken.focusColor} ${StateLayerToken.focusOpacity}, transparent); } .layer.hover { background-color: color-mix(in srgb, ${StateLayerToken.hoverColor} ${StateLayerToken.hoverOpacity}, transparent); } @media (prefers-reduced-motion) { .layer { transition: none; } } @media (forced-colors: active) { .layer { display: none; } }`;
5028
5067
  __decorate([query(".layer")], M3eStateLayerElement.prototype, "_layer", void 0);
5029
5068
  __decorate([property({
5030
5069
  type: Boolean,