@m3e/web 2.3.2 → 2.4.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (40) hide show
  1. package/README.md +1 -0
  2. package/dist/all.js +746 -32
  3. package/dist/all.js.map +1 -1
  4. package/dist/all.min.js +15 -15
  5. package/dist/all.min.js.map +1 -1
  6. package/dist/core.js +2 -2
  7. package/dist/core.js.map +1 -1
  8. package/dist/core.min.js +1 -1
  9. package/dist/core.min.js.map +1 -1
  10. package/dist/css-custom-data.json +375 -265
  11. package/dist/custom-elements.json +17627 -16439
  12. package/dist/html-custom-data.json +195 -156
  13. package/dist/list.js +1 -1
  14. package/dist/list.js.map +1 -1
  15. package/dist/list.min.js +1 -1
  16. package/dist/list.min.js.map +1 -1
  17. package/dist/nav-menu.js +18 -26
  18. package/dist/nav-menu.js.map +1 -1
  19. package/dist/nav-menu.min.js +1 -1
  20. package/dist/nav-menu.min.js.map +1 -1
  21. package/dist/src/all.d.ts +1 -0
  22. package/dist/src/all.d.ts.map +1 -1
  23. package/dist/src/core/shared/primitives/PseudoCheckboxElement.d.ts.map +1 -1
  24. package/dist/src/core/shared/primitives/PseudoRadioElement.d.ts.map +1 -1
  25. package/dist/src/list/ListItemElement.d.ts.map +1 -1
  26. package/dist/src/nav-menu/NavMenuElement.d.ts +18 -6
  27. package/dist/src/nav-menu/NavMenuElement.d.ts.map +1 -1
  28. package/dist/src/nav-menu/NavMenuItemElement.d.ts +3 -5
  29. package/dist/src/nav-menu/NavMenuItemElement.d.ts.map +1 -1
  30. package/dist/src/tree/TreeElement.d.ts +150 -0
  31. package/dist/src/tree/TreeElement.d.ts.map +1 -0
  32. package/dist/src/tree/TreeItemElement.d.ts +131 -0
  33. package/dist/src/tree/TreeItemElement.d.ts.map +1 -0
  34. package/dist/src/tree/index.d.ts +3 -0
  35. package/dist/src/tree/index.d.ts.map +1 -0
  36. package/dist/tree.js +737 -0
  37. package/dist/tree.js.map +1 -0
  38. package/dist/tree.min.js +7 -0
  39. package/dist/tree.min.js.map +1 -0
  40. package/package.json +7 -2
package/dist/all.js CHANGED
@@ -10624,7 +10624,7 @@ let M3ePseudoCheckboxElement = class M3ePseudoCheckboxElement extends CheckedInd
10624
10624
  }
10625
10625
  };
10626
10626
  /** The styles of the element. */
10627
- 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 ); }`;
10627
+ 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; } }`;
10628
10628
  M3ePseudoCheckboxElement = __decorate([customElement("m3e-pseudo-checkbox")], M3ePseudoCheckboxElement);
10629
10629
 
10630
10630
  /**
@@ -10662,7 +10662,7 @@ let M3ePseudoRadioElement = class M3ePseudoRadioElement extends Checked(Disabled
10662
10662
  }
10663
10663
  };
10664
10664
  /** The styles of the element. */
10665
- 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); }`;
10665
+ 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; } }`;
10666
10666
  M3ePseudoRadioElement = __decorate([customElement("m3e-pseudo-radio")], M3ePseudoRadioElement);
10667
10667
 
10668
10668
  /**
@@ -16900,7 +16900,7 @@ _M3eListItemElement_getSlotContentType = function _M3eListItemElement_getSlotCon
16900
16900
  return elements.length > 0 ? "text" : undefined;
16901
16901
  };
16902
16902
  /** The styles of the element. */
16903
- M3eListItemElement.styles = css`:host { display: block; } .base { display: flex; min-height: inherit; width: 100%; box-sizing: border-box; column-gap: var(--m3e-list-item-between-space, 1rem); padding-inline-start: var(--m3e-list-item-leading-space, 1rem); padding-inline-end: var(--m3e-list-item-trailing-space, 1rem); border-top-left-radius: var( --_list-item-top-container-shape, var(--m3e-list-item-container-shape, ${DesignToken$1.shape.corner.none}) ); border-top-right-radius: var( --_list-item-top-container-shape, var(--m3e-list-item-container-shape, ${DesignToken$1.shape.corner.none}) ); border-bottom-left-radius: var( --_list-item-bottom-container-shape, var(--m3e-list-item-container-shape, ${DesignToken$1.shape.corner.none}) ); border-bottom-right-radius: var( --_list-item-bottom-container-shape, var(--m3e-list-item-container-shape, ${DesignToken$1.shape.corner.none}) ); transition: ${unsafeCSS(`border-radius ${DesignToken$1.motion.spring.fastEffects}, background-color ${DesignToken$1.motion.duration.short4} ${DesignToken$1.motion.easing.standard}`)}; } :host(:state(-one-line)) { min-height: calc(var(--m3e-list-item-one-line-height, 3.5rem) + ${DesignToken$1.density.calc(-3)}); } :host(:state(-one-line)) .base { padding-block-start: var(--m3e-list-item-one-line-top-space, 0.5rem); padding-block-end: var(--m3e-list-item-one-line-bottom-space, 0.5rem); } :host(:state(-two-line)) { min-height: calc(var(--m3e-list-item-two-line-height, 4.5rem) + ${DesignToken$1.density.calc(-3)}); } :host(:state(-two-line)) .base { padding-block-start: var(--m3e-list-item-two-line-top-space, 0.5rem); padding-block-end: var(--m3e-list-item-two-line-bottom-space, 0.5rem); } :host(:state(-three-line)) { min-height: calc(var(--m3e-list-item-three-line-height, 5.5rem) + ${DesignToken$1.density.calc(-3)}); } :host(:state(-three-line)) .base { padding-block-start: var(--m3e-list-item-three-line-top-space, 0.75rem); padding-block-end: var(--m3e-list-item-three-line-bottom-space, 0.75rem); } :host(:not(:state(-three-line))) .base { align-items: center; } :host(:state(-three-line)) .base { align-items: flex-start; } :host(:not(:disabled):not([selected])) .base:not(.hover).focus-visible:not(.pressed) { border-top-left-radius: var( --_list-item-top-container-shape, var(--m3e-list-item-focus-container-shape, ${DesignToken$1.shape.corner.large}) ); border-top-right-radius: var( --_list-item-top-container-shape, var(--m3e-list-item-focus-container-shape, ${DesignToken$1.shape.corner.large}) ); border-bottom-left-radius: var( --_list-item-bottom-container-shape, var(--m3e-list-item-focus-container-shape, ${DesignToken$1.shape.corner.large}) ); border-bottom-right-radius: var( --_list-item-bottom-container-shape, var(--m3e-list-item-focus-container-shape, ${DesignToken$1.shape.corner.large}) ); } :host(:not(:disabled):not([selected])) .base.hover, :host(:not(:disabled):not([selected])) .base.pressed { border-top-left-radius: var( --_list-item-top-container-shape, var(--m3e-list-item-hover-container-shape, ${DesignToken$1.shape.corner.medium}) ); border-top-right-radius: var( --_list-item-top-container-shape, var(--m3e-list-item-hover-container-shape, ${DesignToken$1.shape.corner.medium}) ); border-bottom-left-radius: var( --_list-item-bottom-container-shape, var(--m3e-list-item-hover-container-shape, ${DesignToken$1.shape.corner.medium}) ); border-bottom-right-radius: var( --_list-item-bottom-container-shape, var(--m3e-list-item-hover-container-shape, ${DesignToken$1.shape.corner.medium}) ); } .content { flex: 1 1 auto; display: flex; flex-direction: column; align-items: unset; justify-content: unset; } ::slotted([slot="overline"]) { font-size: var(--m3e-list-item-overline-font-size, ${DesignToken$1.typescale.standard.label.small.fontSize}); font-weight: var(--m3e-list-item-overline-font-weight, ${DesignToken$1.typescale.standard.label.small.fontWeight}); line-height: var(--m3e-list-item-overline-line-height, ${DesignToken$1.typescale.standard.label.small.lineHeight}); letter-spacing: var(--m3e-list-item-overline-tracking, ${DesignToken$1.typescale.standard.label.small.tracking}); } ::slotted([slot="supporting-text"]) { font-size: var(--m3e-list-item-supporting-text-font-size, ${DesignToken$1.typescale.standard.body.medium.fontSize}); font-weight: var( --m3e-list-item-supporting-text-font-weight, ${DesignToken$1.typescale.standard.body.medium.fontWeight} ); line-height: var( --m3e-list-item-supporting-text-line-height, ${DesignToken$1.typescale.standard.body.medium.lineHeight} ); letter-spacing: var( --m3e-list-item-supporting-text-tracking, ${DesignToken$1.typescale.standard.body.medium.tracking} ); } ::slotted(:not([slot])) { font-size: var(--m3e-list-item-font-size, ${DesignToken$1.typescale.standard.body.large.fontSize}); font-weight: var(--m3e-list-item-font-weight, ${DesignToken$1.typescale.standard.body.large.fontWeight}); line-height: var(--m3e-list-item-line-height, ${DesignToken$1.typescale.standard.body.large.lineHeight}); letter-spacing: var(--m3e-list-item-tracking, ${DesignToken$1.typescale.standard.body.large.tracking}); } :host(:state(-has-leading)) slot[name="leading"], :host(:state(-has-trailing)) slot[name="trailing"] { display: flex; justify-content: center; } :host(:not(:state(-has-leading))) slot[name="leading"] { display: var(--_list-item-leading-reserved-display, contents); } :host(:not(:state(-has-trailing))) slot[name="trailing"] { display: var(--_list-item-trailing-reserved-display, contents); } slot[name="leading"] { min-width: var(--_list-item-leading-reserved-space, 0px); margin-inline-start: calc(0px - var(--_list-item-leading-reserved-outset, 0px)); } slot[name="trailing"] { min-width: var(--_list-item-trailing-reserved-space, 0px); margin-inline-end: calc(0px - var(--_list-item-trailing-reserved-outset, 0px)); } ::slotted(span[slot="trailing"]), ::slotted([slot="trailing-supporting-text"]) { white-space: nowrap; font-size: var(--m3e-list-item-trailing-text-font-size, ${DesignToken$1.typescale.standard.label.small.fontSize}); font-weight: var( --m3e-list-item-trailing-text-font-weight, ${DesignToken$1.typescale.standard.label.small.fontWeight} ); line-height: var( --m3e-list-item-trailing-text-line-height, ${DesignToken$1.typescale.standard.label.small.lineHeight} ); letter-spacing: var( --m3e-list-item-trailing-text-tracking, ${DesignToken$1.typescale.standard.label.small.tracking} ); } ::slotted(video[slot="leading"]), ::slotted(video[slot="trailing"]), ::slotted(img[slot="leading"]), ::slotted(img[slot="trailing"]) { display: block; margin: 0 auto; overflow: hidden; object-fit: cover; } ::slotted(video) { width: var(--m3e-list-item-video-width, 6.25rem); height: var(--m3e-list-item-video-height, 3.5rem); } ::slotted(video[slot="leading"]), ::slotted(video[slot="trailing"]) { border-radius: var(--m3e-list-item-video-shape, ${DesignToken$1.shape.corner.none}); } ::slotted(video[slot="leading"]) { margin-inline-start: calc(0px - var(--_list-item-leading-video-outset, 0px)); } ::slotted(video[slot="trailing"]) { margin-inline-end: calc(0px - var(--_list-item-trailing-video-outset, 0px)); } ::slotted(img) { user-drag: none; user-select: none; pointer-events: none; width: var(--m3e-list-item-image-width, 3.5rem); height: var(--m3e-list-item-image-height, 3.5rem); } ::slotted(img[slot="leading"]), ::slotted(img[slot="trailing"]) { border-radius: var(--m3e-list-item-image-shape, ${DesignToken$1.shape.corner.none}); } ::slotted(m3e-icon[slot="leading"]), ::slotted(m3e-icon[slot="leading-icon"]), ::slotted(m3e-icon[slot="trailing"]), ::slotted(m3e-icon[slot="trailing-icon"]) { --m3e-icon-size: var(--m3e-list-item-icon-size, 1.5rem); } :host(:not(:disabled)) ::slotted(m3e-icon[slot="leading"]), :host(:not(:disabled)) ::slotted(m3e-icon[slot="leading-icon"]) { color: var(--m3e-list-item-leading-color, ${DesignToken$1.color.onSurfaceVariant}); } :host(:not(:disabled)) .content { color: var(--m3e-list-item-label-text-color, ${DesignToken$1.color.onSurface}); } :host(:not(:disabled)) ::slotted([slot="overline"]) { color: var(--m3e-list-item-overline-color, ${DesignToken$1.color.onSurfaceVariant}); } :host(:not(:disabled)) ::slotted([slot="supporting-text"]) { color: var(--m3e-list-item-supporting-text-color, ${DesignToken$1.color.onSurfaceVariant}); } :host(:not(:disabled)) ::slotted([slot="trailing"]), :host(:not(:disabled)) ::slotted([slot="trailing-supporting-text"]), :host(:not(:disabled)) ::slotted([slot="trailing-icon"]) { color: var(--m3e-list-item-trailing-color, ${DesignToken$1.color.onSurfaceVariant}); } :host(:not(:disabled)) .base { background-color: var(--_list-item-container-color, var(--m3e-list-item-container-color, transparent)); } :host(:disabled) .base { background-color: var(--m3e-list-item-disabled-container-color, transparent); } :host(:disabled) ::slotted(video), :host(:disabled) ::slotted(img), :host(:disabled) ::slotted(m3e-avatar) { opacity: var(--m3e-list-item-disabled-media-opacity, 38%); } :host(:disabled) .content { color: color-mix( in srgb, var(--m3e-list-item-disabled-label-text-color, ${DesignToken$1.color.onSurface}) var(--m3e-list-item-disabled-label-text-opacity, 38%), transparent ); } :host(:disabled) ::slotted([slot="overline"]) { color: color-mix( in srgb, var(--m3e-list-item-disabled-overline-color, ${DesignToken$1.color.onSurface}) var(--m3e-list-item-disabled-overline-opacity, 38%), transparent ); } :host(:disabled) ::slotted([slot="supporting-text"]) { color: color-mix( in srgb, var(--m3e-list-item-disabled-supporting-text-color, ${DesignToken$1.color.onSurface}) var(--m3e-list-item-disabled-supporting-text-opacity, 38%), transparent ); } :host(:disabled) ::slotted([slot="leading"]), :host(:disabled) ::slotted([slot="leading-icon"]) { color: color-mix( in srgb, var(--m3e-list-item-disabled-leading-color, ${DesignToken$1.color.onSurface}) var(--m3e-list-item-disabled-leading-opacity, 38%), transparent ); } :host(:disabled) ::slotted([slot="trailing"]), :host(:disabled) ::slotted([slot="trailing-supporting-text"]), :host(:disabled) ::slotted([slot="trailing-icon"]) { color: color-mix( in srgb, var(--m3e-list-item-disabled-trailing-color, ${DesignToken$1.color.onSurface}) var(--m3e-list-item-disabled-trailing-opacity, 38%), transparent ); } :host(:not(:disabled)) .state-layer { --m3e-state-layer-hover-color: var(--m3e-list-item-hover-state-layer-color, ${DesignToken$1.color.onSurface}); --m3e-state-layer-hover-opacity: var( --m3e-list-item-hover-state-layer-opacity, ${DesignToken$1.state.hoverStateLayerOpacity} ); --m3e-state-layer-focus-color: var(--m3e-list-item-focus-state-layer-color, ${DesignToken$1.color.onSurface}); --m3e-state-layer-focus-opacity: var( --m3e-list-item-focus-state-layer-opacity, ${DesignToken$1.state.focusStateLayerOpacity} ); } :host(:not(:disabled)) .ripple { --m3e-ripple-color: var(--m3e-list-item-pressed-state-layer-color, ${DesignToken$1.color.onSurface}); --m3e-ripple-opacity: var( --m3e-list-item-pressed-state-layer-opacity, ${DesignToken$1.state.pressedStateLayerOpacity} ); } @media (forced-colors: active) { :host(:disabled) ::slotted([slot="leading"]), :host(:disabled) ::slotted([slot="leading-icon"]), :host(:disabled) .content, :host(:disabled) ::slotted([slot="overline"]), :host(:disabled) ::slotted([slot="supporting-text"]), :host(:disabled) ::slotted([slot="trailing"]), :host(:disabled) ::slotted([slot="trailing-supporting-text"]), :host(:disabled) ::slotted([slot="trailing-icon"]) { color: GrayText; } } @media (prefers-reduced-motion) { .base { transition: none; } }`;
16903
+ M3eListItemElement.styles = css`:host { display: block; } .base { display: flex; min-height: inherit; width: 100%; box-sizing: border-box; column-gap: var(--m3e-list-item-between-space, 1rem); padding-inline-start: var(--m3e-list-item-leading-space, 1rem); padding-inline-end: var(--m3e-list-item-trailing-space, 1rem); border-top-left-radius: var( --_list-item-top-container-shape, var(--m3e-list-item-container-shape, ${DesignToken$1.shape.corner.none}) ); border-top-right-radius: var( --_list-item-top-container-shape, var(--m3e-list-item-container-shape, ${DesignToken$1.shape.corner.none}) ); border-bottom-left-radius: var( --_list-item-bottom-container-shape, var(--m3e-list-item-container-shape, ${DesignToken$1.shape.corner.none}) ); border-bottom-right-radius: var( --_list-item-bottom-container-shape, var(--m3e-list-item-container-shape, ${DesignToken$1.shape.corner.none}) ); transition: ${unsafeCSS(`border-radius ${DesignToken$1.motion.spring.fastEffects}, background-color ${DesignToken$1.motion.duration.short4} ${DesignToken$1.motion.easing.standard}`)}; } :host(:state(-one-line)) { min-height: calc(var(--m3e-list-item-one-line-height, 3.5rem) + ${DesignToken$1.density.calc(-3)}); } :host(:state(-one-line)) .base { padding-block-start: var(--m3e-list-item-one-line-top-space, 0.5rem); padding-block-end: var(--m3e-list-item-one-line-bottom-space, 0.5rem); } :host(:state(-two-line)) { min-height: calc(var(--m3e-list-item-two-line-height, 4.5rem) + ${DesignToken$1.density.calc(-3)}); } :host(:state(-two-line)) .base { padding-block-start: var(--m3e-list-item-two-line-top-space, 0.5rem); padding-block-end: var(--m3e-list-item-two-line-bottom-space, 0.5rem); } :host(:state(-three-line)) { min-height: calc(var(--m3e-list-item-three-line-height, 5.5rem) + ${DesignToken$1.density.calc(-3)}); } :host(:state(-three-line)) .base { padding-block-start: var(--m3e-list-item-three-line-top-space, 0.75rem); padding-block-end: var(--m3e-list-item-three-line-bottom-space, 0.75rem); } :host(:not(:state(-three-line))) .base { align-items: center; } :host(:state(-three-line)) .base { align-items: flex-start; } :host(:not(:disabled):not([selected])) .base:not(.hover).focus-visible:not(.pressed) { border-top-left-radius: var( --_list-item-top-container-shape, var(--m3e-list-item-focus-container-shape, ${DesignToken$1.shape.corner.large}) ); border-top-right-radius: var( --_list-item-top-container-shape, var(--m3e-list-item-focus-container-shape, ${DesignToken$1.shape.corner.large}) ); border-bottom-left-radius: var( --_list-item-bottom-container-shape, var(--m3e-list-item-focus-container-shape, ${DesignToken$1.shape.corner.large}) ); border-bottom-right-radius: var( --_list-item-bottom-container-shape, var(--m3e-list-item-focus-container-shape, ${DesignToken$1.shape.corner.large}) ); } :host(:not(:disabled):not([selected])) .base.hover, :host(:not(:disabled):not([selected])) .base.pressed { border-top-left-radius: var( --_list-item-top-container-shape, var(--m3e-list-item-hover-container-shape, ${DesignToken$1.shape.corner.medium}) ); border-top-right-radius: var( --_list-item-top-container-shape, var(--m3e-list-item-hover-container-shape, ${DesignToken$1.shape.corner.medium}) ); border-bottom-left-radius: var( --_list-item-bottom-container-shape, var(--m3e-list-item-hover-container-shape, ${DesignToken$1.shape.corner.medium}) ); border-bottom-right-radius: var( --_list-item-bottom-container-shape, var(--m3e-list-item-hover-container-shape, ${DesignToken$1.shape.corner.medium}) ); } .content { flex: 1 1 auto; display: flex; flex-direction: column; align-items: unset; justify-content: unset; } ::slotted([slot="overline"]) { font-size: var(--m3e-list-item-overline-font-size, ${DesignToken$1.typescale.standard.label.small.fontSize}); font-weight: var(--m3e-list-item-overline-font-weight, ${DesignToken$1.typescale.standard.label.small.fontWeight}); line-height: var(--m3e-list-item-overline-line-height, ${DesignToken$1.typescale.standard.label.small.lineHeight}); letter-spacing: var(--m3e-list-item-overline-tracking, ${DesignToken$1.typescale.standard.label.small.tracking}); } ::slotted([slot="supporting-text"]) { font-size: var(--m3e-list-item-supporting-text-font-size, ${DesignToken$1.typescale.standard.body.medium.fontSize}); font-weight: var( --m3e-list-item-supporting-text-font-weight, ${DesignToken$1.typescale.standard.body.medium.fontWeight} ); line-height: var( --m3e-list-item-supporting-text-line-height, ${DesignToken$1.typescale.standard.body.medium.lineHeight} ); letter-spacing: var( --m3e-list-item-supporting-text-tracking, ${DesignToken$1.typescale.standard.body.medium.tracking} ); } ::slotted(:not([slot])) { font-size: var(--m3e-list-item-font-size, ${DesignToken$1.typescale.standard.body.large.fontSize}); font-weight: var(--m3e-list-item-font-weight, ${DesignToken$1.typescale.standard.body.large.fontWeight}); line-height: var(--m3e-list-item-line-height, ${DesignToken$1.typescale.standard.body.large.lineHeight}); letter-spacing: var(--m3e-list-item-tracking, ${DesignToken$1.typescale.standard.body.large.tracking}); } :host(:state(-has-leading)) slot[name="leading"], :host(:state(-has-trailing)) slot[name="trailing"] { display: flex; justify-content: center; } :host(:not(:state(-has-leading))) slot[name="leading"] { display: var(--_list-item-leading-reserved-display, contents); } :host(:not(:state(-has-trailing))) slot[name="trailing"] { display: var(--_list-item-trailing-reserved-display, contents); } slot[name="leading"] { min-width: var(--_list-item-leading-reserved-space, 0px); margin-inline-start: calc(0px - var(--_list-item-leading-reserved-outset, 0px)); } slot[name="trailing"] { min-width: var(--_list-item-trailing-reserved-space, 0px); margin-inline-end: calc(0px - var(--_list-item-trailing-reserved-outset, 0px)); } ::slotted(span[slot="trailing"]), ::slotted([slot="trailing-supporting-text"]) { white-space: nowrap; font-size: var(--m3e-list-item-trailing-text-font-size, ${DesignToken$1.typescale.standard.label.small.fontSize}); font-weight: var( --m3e-list-item-trailing-text-font-weight, ${DesignToken$1.typescale.standard.label.small.fontWeight} ); line-height: var( --m3e-list-item-trailing-text-line-height, ${DesignToken$1.typescale.standard.label.small.lineHeight} ); letter-spacing: var( --m3e-list-item-trailing-text-tracking, ${DesignToken$1.typescale.standard.label.small.tracking} ); } ::slotted(video[slot="leading"]), ::slotted(video[slot="trailing"]), ::slotted(img[slot="leading"]), ::slotted(img[slot="trailing"]) { display: block; margin: 0 auto; overflow: hidden; object-fit: cover; } ::slotted(video) { width: var(--m3e-list-item-video-width, 6.25rem); height: var(--m3e-list-item-video-height, 3.5rem); } ::slotted(video[slot="leading"]), ::slotted(video[slot="trailing"]) { border-radius: var(--m3e-list-item-video-shape, ${DesignToken$1.shape.corner.none}); } ::slotted(video[slot="leading"]) { margin-inline-start: calc(0px - var(--_list-item-leading-video-outset, 0px)); } ::slotted(video[slot="trailing"]) { margin-inline-end: calc(0px - var(--_list-item-trailing-video-outset, 0px)); } ::slotted(img) { user-drag: none; user-select: none; pointer-events: none; width: var(--m3e-list-item-image-width, 3.5rem); height: var(--m3e-list-item-image-height, 3.5rem); } ::slotted(img[slot="leading"]), ::slotted(img[slot="trailing"]) { border-radius: var(--m3e-list-item-image-shape, ${DesignToken$1.shape.corner.none}); } ::slotted(m3e-icon[slot="leading"]), ::slotted(m3e-icon[slot="leading-icon"]), ::slotted(m3e-icon[slot="trailing"]), ::slotted(m3e-icon[slot="trailing-icon"]) { --m3e-icon-size: var(--m3e-list-item-icon-size, 1.5rem); } :host(:not(:disabled)) ::slotted(m3e-icon[slot="leading"]), :host(:not(:disabled)) ::slotted(m3e-icon[slot="leading-icon"]) { color: var(--m3e-list-item-leading-color, ${DesignToken$1.color.onSurfaceVariant}); } :host(:not(:disabled)) .content { color: var(--m3e-list-item-label-text-color, ${DesignToken$1.color.onSurface}); } :host(:not(:disabled)) ::slotted([slot="overline"]) { color: var(--m3e-list-item-overline-color, ${DesignToken$1.color.onSurfaceVariant}); } :host(:not(:disabled)) ::slotted([slot="supporting-text"]) { color: var(--m3e-list-item-supporting-text-color, ${DesignToken$1.color.onSurfaceVariant}); } :host(:not(:disabled)) ::slotted([slot="trailing"]), :host(:not(:disabled)) ::slotted([slot="trailing-supporting-text"]), :host(:not(:disabled)) ::slotted([slot="trailing-icon"]) { color: var(--m3e-list-item-trailing-color, ${DesignToken$1.color.onSurfaceVariant}); } :host(:not(:disabled)) .base { background-color: var(--_list-item-container-color, var(--m3e-list-item-container-color, transparent)); } :host(:disabled) .base { background-color: var(--m3e-list-item-disabled-container-color, transparent); } :host(:disabled) ::slotted(video), :host(:disabled) ::slotted(img), :host(:disabled) ::slotted(m3e-avatar) { opacity: var(--m3e-list-item-disabled-media-opacity, 38%); } :host(:disabled) .content { color: color-mix( in srgb, var(--m3e-list-item-disabled-label-text-color, ${DesignToken$1.color.onSurface}) var(--m3e-list-item-disabled-label-text-opacity, 38%), transparent ); } :host(:disabled) ::slotted([slot="overline"]) { color: color-mix( in srgb, var(--m3e-list-item-disabled-overline-color, ${DesignToken$1.color.onSurface}) var(--m3e-list-item-disabled-overline-opacity, 38%), transparent ); } :host(:disabled) ::slotted([slot="supporting-text"]) { color: color-mix( in srgb, var(--m3e-list-item-disabled-supporting-text-color, ${DesignToken$1.color.onSurface}) var(--m3e-list-item-disabled-supporting-text-opacity, 38%), transparent ); } :host(:disabled) ::slotted([slot="leading"]), :host(:disabled) ::slotted([slot="leading-icon"]) { color: color-mix( in srgb, var(--m3e-list-item-disabled-leading-color, ${DesignToken$1.color.onSurface}) var(--m3e-list-item-disabled-leading-opacity, 38%), transparent ); } :host(:disabled) ::slotted([slot="trailing"]), :host(:disabled) ::slotted([slot="trailing-supporting-text"]), :host(:disabled) ::slotted([slot="trailing-icon"]) { color: color-mix( in srgb, var(--m3e-list-item-disabled-trailing-color, ${DesignToken$1.color.onSurface}) var(--m3e-list-item-disabled-trailing-opacity, 38%), transparent ); } :host(:not(:disabled)) .state-layer { --m3e-state-layer-hover-color: var(--m3e-list-item-hover-state-layer-color, ${DesignToken$1.color.onSurface}); --m3e-state-layer-hover-opacity: var( --m3e-list-item-hover-state-layer-opacity, ${DesignToken$1.state.hoverStateLayerOpacity} ); --m3e-state-layer-focus-color: var(--m3e-list-item-focus-state-layer-color, ${DesignToken$1.color.onSurface}); --m3e-state-layer-focus-opacity: var( --m3e-list-item-focus-state-layer-opacity, ${DesignToken$1.state.focusStateLayerOpacity} ); } :host(:not(:disabled)) .ripple { --m3e-ripple-color: var(--m3e-list-item-pressed-state-layer-color, ${DesignToken$1.color.onSurface}); --m3e-ripple-opacity: var( --m3e-list-item-pressed-state-layer-opacity, ${DesignToken$1.state.pressedStateLayerOpacity} ); } @media (forced-colors: active) { .base { transition: none; } :host(:disabled) ::slotted([slot="leading"]), :host(:disabled) ::slotted([slot="leading-icon"]), :host(:disabled) .content, :host(:disabled) ::slotted([slot="overline"]), :host(:disabled) ::slotted([slot="supporting-text"]), :host(:disabled) ::slotted([slot="trailing"]), :host(:disabled) ::slotted([slot="trailing-supporting-text"]), :host(:disabled) ::slotted([slot="trailing-icon"]) { color: GrayText; } } @media (prefers-reduced-motion) { .base { transition: none; } }`;
16904
16904
  M3eListItemElement = __decorate([customElement$1("m3e-list-item")], M3eListItemElement);
16905
16905
 
16906
16906
  var _M3eListElement_instances, _M3eListElement_items, _M3eListElement_leadingContentTypes, _M3eListElement_trailingContentTypes, _M3eListElement_handleSlotChange;
@@ -19308,10 +19308,9 @@ var M3eNavMenuItemElement_1;
19308
19308
  *
19309
19309
  * @description
19310
19310
  * The `m3e-nav-menu-item` component represents an expandable, selectable item within a navigation menu.
19311
- * It supports nested child items, selection, disabled and indeterminate states, and emits events for
19312
- * open/close transitions. The component is highly customizable via slots and CSS custom properties, and
19313
- * is designed for accessible, keyboard-navigable menu structures.
19314
- *
19311
+ * It supports nested child items, selection and disabled states, and emits events for open/close transitions.
19312
+ * The component is highly customizable via slots and CSS custom properties, and is designed for accessible,
19313
+ * keyboard-navigable menu structures.
19315
19314
  *
19316
19315
  * @example
19317
19316
  * The following example illustrates a navigation menu with a top-level group of menu items.
@@ -19375,7 +19374,6 @@ var M3eNavMenuItemElement_1;
19375
19374
  * @slot toggle-icon - Renders the toggle icon.
19376
19375
  *
19377
19376
  * @attr disabled - Whether the element is disabled.
19378
- * @attr indeterminate - Whether the element's selected / checked state is indeterminate.
19379
19377
  * @attr open - Whether the item is expanded.
19380
19378
  * @attr selected - Whether the item is selected.
19381
19379
  *
@@ -19626,7 +19624,7 @@ __decorate([property({
19626
19624
  })], M3eNavMenuItemElement.prototype, "open", void 0);
19627
19625
  M3eNavMenuItemElement = M3eNavMenuItemElement_1 = __decorate([customElement$1("m3e-nav-menu-item")], M3eNavMenuItemElement);
19628
19626
 
19629
- var _M3eNavMenuElement_instances, _M3eNavMenuElement_ignoreFocusVisible, _M3eNavMenuElement_ignoreFocus, _M3eNavMenuElement_keyDownHandler, _M3eNavMenuElement_keyUpHandler, _M3eNavMenuElement_pointerDownHandler, _M3eNavMenuElement_handleSlotChange, _M3eNavMenuElement_handleKeyDown, _M3eNavMenuElement_handleKeyUp, _M3eNavMenuElement_handlePointerDown, _M3eNavMenuElement_activateItem, _M3eNavMenuElement_updateFocusVisible, _M3eNavMenuElement_updateItemFocusVisible, _b;
19627
+ var _M3eNavMenuElement_instances, _M3eNavMenuElement_ignoreFocusVisible, _M3eNavMenuElement_ignoreFocus, _M3eNavMenuElement_keyDownHandler, _M3eNavMenuElement_keyUpHandler, _M3eNavMenuElement_pointerDownHandler, _M3eNavMenuElement_handleSlotChange, _M3eNavMenuElement_handleKeyDown, _M3eNavMenuElement_handleKeyUp, _M3eNavMenuElement_handlePointerDown, _M3eNavMenuElement_activateItem, _M3eNavMenuElement_updateFocusVisible, _M3eNavMenuElement_updateItemFocusVisible, _b$1;
19630
19628
  var M3eNavMenuElement_1;
19631
19629
  /**
19632
19630
  * A hierarchical menu, typically used on larger devices, that allows a user to switch between views.
@@ -19710,7 +19708,7 @@ let M3eNavMenuElement = M3eNavMenuElement_1 = class M3eNavMenuElement extends Ro
19710
19708
  /** @private */
19711
19709
  _M3eNavMenuElement_ignoreFocus.set(this, false);
19712
19710
  /** @private */
19713
- this[_b] = new SelectionManager().withVerticalOrientation().withHomeAndEnd().withTypeahead().withSkipPredicate(x => x.disabled || !x.visible).disableRovingTabIndex().onActiveItemChange(() => {
19711
+ this[_b$1] = new SelectionManager().withVerticalOrientation().withHomeAndEnd().withTypeahead().withSkipPredicate(x => x.disabled || !x.visible).disableRovingTabIndex().onActiveItemChange(() => {
19714
19712
  if (this[selectionManager].activeItem) {
19715
19713
  __classPrivateFieldGet(this, _M3eNavMenuElement_instances, "m", _M3eNavMenuElement_activateItem).call(this, this[selectionManager].activeItem);
19716
19714
  }
@@ -19753,19 +19751,17 @@ let M3eNavMenuElement = M3eNavMenuElement_1 = class M3eNavMenuElement extends Ro
19753
19751
  get items() {
19754
19752
  return this[selectionManager].items;
19755
19753
  }
19756
- /**
19757
- * Expands the specified items, or all items if no items are provided.
19758
- * @param {M3eNavMenuItemElement | undefined} items The items to expand.
19759
- */
19760
- expand(items) {
19761
- (items ?? this[selectionManager].items).forEach(x => x.expand());
19754
+ /** @internal */
19755
+ expand(itemsOrDescendants, maybeDescendants = false) {
19756
+ const items = Array.isArray(itemsOrDescendants) ? itemsOrDescendants : this[selectionManager].items;
19757
+ const descendants = typeof itemsOrDescendants === "boolean" ? itemsOrDescendants : maybeDescendants;
19758
+ items.forEach(x => x.expand(descendants));
19762
19759
  }
19763
- /**
19764
- * Collapses the specified items, or all items if no items are provided.
19765
- * @param {M3eNavMenuItemElement | undefined} items The items to collapse.
19766
- */
19767
- collapse(items) {
19768
- (items ?? this[selectionManager].items).forEach(x => x.collapse());
19760
+ /** @internal */
19761
+ collapse(itemsOrDescendants, maybeDescendants = false) {
19762
+ const items = Array.isArray(itemsOrDescendants) ? itemsOrDescendants : this[selectionManager].items;
19763
+ const descendants = typeof itemsOrDescendants === "boolean" ? itemsOrDescendants : maybeDescendants;
19764
+ items.forEach(x => x.collapse(descendants));
19769
19765
  const activeItem = this[selectionManager].activeItem;
19770
19766
  if (activeItem && !activeItem.visible) {
19771
19767
  for (let parent = activeItem.parentItem; parent; parent = parent.parentItem) {
@@ -19802,7 +19798,7 @@ _M3eNavMenuElement_keyDownHandler = new WeakMap();
19802
19798
  _M3eNavMenuElement_keyUpHandler = new WeakMap();
19803
19799
  _M3eNavMenuElement_pointerDownHandler = new WeakMap();
19804
19800
  _M3eNavMenuElement_instances = new WeakSet();
19805
- _b = selectionManager;
19801
+ _b$1 = selectionManager;
19806
19802
  _M3eNavMenuElement_handleSlotChange = function _M3eNavMenuElement_handleSlotChange() {
19807
19803
  for (const divider of this.querySelectorAll("m3e-divider")) {
19808
19804
  divider.ariaHidden = "true";
@@ -19830,7 +19826,9 @@ _M3eNavMenuElement_handleKeyDown = function _M3eNavMenuElement_handleKeyDown(e)
19830
19826
  case " ":
19831
19827
  e.preventDefault();
19832
19828
  if (e.key === " " && item.ripple && !item.ripple.visible) {
19829
+ item.ripple.centered = true;
19833
19830
  item.ripple.show(0, 0, true);
19831
+ item.ripple.centered = false;
19834
19832
  }
19835
19833
  if (item.hasChildItems) {
19836
19834
  requestAnimationFrame(() => item.toggle());
@@ -19852,10 +19850,7 @@ _M3eNavMenuElement_handleKeyDown = function _M3eNavMenuElement_handleKeyDown(e)
19852
19850
  } else {
19853
19851
  const parent = item.parentItem;
19854
19852
  if (parent) {
19855
- requestAnimationFrame(() => {
19856
- parent.collapse();
19857
- this[selectionManager].setActiveItem(parent);
19858
- });
19853
+ this[selectionManager].setActiveItem(parent);
19859
19854
  }
19860
19855
  }
19861
19856
  } else if (item.hasChildItems && !item.open) {
@@ -19871,10 +19866,7 @@ _M3eNavMenuElement_handleKeyDown = function _M3eNavMenuElement_handleKeyDown(e)
19871
19866
  } else {
19872
19867
  const parent = item.parentItem;
19873
19868
  if (parent) {
19874
- requestAnimationFrame(() => {
19875
- parent.collapse();
19876
- this[selectionManager].setActiveItem(parent);
19877
- });
19869
+ this[selectionManager].setActiveItem(parent);
19878
19870
  }
19879
19871
  }
19880
19872
  } else if (item.hasChildItems && !item.open) {
@@ -31707,5 +31699,727 @@ M3eTooltipElement.styles = css`:host { display: contents; } .base { position: ab
31707
31699
  __decorate([property()], M3eTooltipElement.prototype, "position", void 0);
31708
31700
  M3eTooltipElement = __decorate([customElement$1("m3e-tooltip")], M3eTooltipElement);
31709
31701
 
31710
- export { ActionElementBase, AnimationLoopController, AttachInternals, CalendarViewElementBase, Checked, CheckedIndeterminate, ConstraintValidation, DesignToken, Dirty, Disabled, DisabledInteractive, EventAttribute, FocusController, Focusable, FormAssociated, FormSubmitter, HoverController, HtmlFor, InertController, IntersectionController, KeyboardClick, Labelled, LinkButton, LongPressController, M3eAccordionElement, M3eActionListElement, M3eAppBarElement, M3eAssistChipElement, M3eAutocompleteElement, M3eAvatarElement, M3eBadgeElement, M3eBottomSheetActionElement, M3eBottomSheetElement, M3eBottomSheetTriggerElement, M3eButtonElement, M3eButtonGroupElement, M3eButtonSegmentElement, M3eCalendarElement, M3eCardElement, M3eCheckboxElement, M3eChipElement, M3eChipSetElement, M3eCircularProgressIndicatorElement, M3eCollapsibleElement, M3eDatepickerElement, M3eDatepickerToggleElement, M3eDialogActionElement, M3eDialogElement, M3eDialogTriggerElement, M3eDividerElement, M3eDrawerContainerElement, M3eDrawerToggleElement, M3eElevationElement, M3eExpandableListItemElement, M3eExpansionHeaderElement, M3eExpansionPanelElement, M3eFabElement, M3eFabMenuElement, M3eFabMenuItemElement, M3eFabMenuTriggerElement, M3eFilterChipElement, M3eFilterChipSetElement, M3eFocusRingElement, M3eFormFieldElement, M3eHeadingElement, M3eIconButtonElement, M3eIconElement, M3eInputChipElement, M3eInputChipSetElement, M3eLinearProgressIndicatorElement, M3eListActionElement, M3eListElement, M3eListItemButtonElement, M3eListItemElement, M3eListOptionElement, M3eLoadingIndicatorElement, M3eMenuElement, M3eMenuItemCheckboxElement, M3eMenuItemElement, M3eMenuItemGroupElement, M3eMenuItemRadioElement, M3eMenuTriggerElement, M3eMonthViewElement, M3eMultiYearViewElement, M3eNavBarElement, M3eNavItemElement, M3eNavMenuElement, M3eNavMenuItemElement, M3eNavMenuItemGroupElement, M3eNavRailElement, M3eNavRailToggleElement, M3eOptGroupElement, M3eOptionElement, M3eOptionPanelElement, M3ePaginatorElement, M3ePseudoCheckboxElement, M3ePseudoRadioElement, M3eRadioElement, M3eRadioGroupElement, M3eRichTooltipActionElement, M3eRichTooltipElement, M3eRippleElement, M3eScrollContainerElement, M3eSearchBarElement, M3eSearchViewElement, M3eSegmentedButtonElement, M3eSelectElement, M3eSelectionListElement, M3eShapeElement, M3eSkeletonElement, M3eSlideElement, M3eSlideGroupElement, M3eSliderElement, M3eSliderThumbElement, M3eSnackbar, M3eSnackbarElement, M3eSplitButtonElement, M3eSplitPaneElement, M3eStateLayerElement, M3eStepElement, M3eStepPanelElement, M3eStepperElement, M3eStepperNextElement, M3eStepperPreviousElement, M3eStepperResetElement, M3eSuggestionChipElement, M3eSwitchElement, M3eTabElement, M3eTabPanelElement, M3eTabsElement, M3eTextHighlightElement, M3eTextOverflowElement, M3eTextareaAutosizeElement, M3eThemeElement, M3eTocElement, M3eTocItemElement, M3eToolbarElement, M3eTooltipElement, M3eYearViewElement, MutationController, PressedController, ProgressElementIndicatorBase, ReadOnly, ReconnectedCallback, Required, RequiredConstraintValidation, ResizeController, Role, ScrollController, ScrollLockController, Selected, StepperButtonElementBase, SuppressInitialAnimation, TocGenerator, TooltipElementBase, Touched, VelocityTracker, Vertical, addCustomState, checkOrSelect, computeCssSize, computeLineCount, customElement, dateConverter, debounce, defaultValue, deleteCustomState, findFormFieldControl, focusWhenReady, forcedColorsActive, formValue, generateClipPaths, getTextContent, guid, hasAssignedNodes, hasCustomState, hasKeys, interceptProperty, internals, isAttachInternalsMixin, isCheckedIndeterminateMixin, isCheckedMixin, isCheckedOrSelected, isCheckedOrSelectedMixin, isConstraintValidationMixin, isDirtyMixin, isDisabledInteractiveMixin, isDisabledMixin, isFormAssociatedMixin, isFormFieldControl, isFormSubmitterMixin, isHtmlForMixin, isLabelledMixin, isLinkButtonMixin, isReadOnlyMixin, isRequiredConstraintValidationMixin, isRequiredMixin, isSelectedMixin, isTouchedMixin, isVerticalMixin, prefersReducedMotion, registerIcon, registerStyleSheet, renderPseudoLink, resolveElementById, resolveFragmentUrl, safeStyleMap, scrollIntoViewIfNeeded, setCustomState, spaceSeparatedStringConverter, updateLabels, validate, waitForUpgrade };
31702
+ var _M3eTreeItemElement_instances, _M3eTreeItemElement_treeMutationController, _M3eTreeItemElement_items, _M3eTreeItemElement_tree, _M3eTreeItemElement_path, _M3eTreeItemElement_link, _M3eTreeItemElement_renderIcon, _M3eTreeItemElement_handleOpenToggleIconSlotChange, _M3eTreeItemElement_handleIconSlotChange, _M3eTreeItemElement_handleSlotChange, _M3eTreeItemElement_handleItemSlotChange, _M3eTreeItemElement_handleTreeChange, _M3eTreeItemElement_handleClick, _M3eTreeItemElement_handleCheckboxClick, _M3eTreeItemElement_handleCollapsibleEvent;
31703
+ var M3eTreeItemElement_1;
31704
+ /**
31705
+ * An expandable item in a tree.
31706
+ *
31707
+ * @description
31708
+ * The `m3e-tree-item` component represents a single item within an `m3e-tree`.
31709
+ * It supports nested child items, expand/collapse behavior, selection,
31710
+ * disabled state, and interaction styling. Items may contain a child group
31711
+ * that hosts additional `m3e-tree-item` elements.
31712
+ *
31713
+ * @tag m3e-tree-item
31714
+ *
31715
+ * @slot - Renders the nested child items.
31716
+ * @slot label - Renders the label of the item.
31717
+ * @slot icon - Renders the icon of the item.
31718
+ * @slot selected-icon - Renders the icon of the item when selected.
31719
+ * @slot toggle-icon - Renders the toggle icon.
31720
+ * @slot open-toggle-icon - Renders the toggle icon when selected.
31721
+ *
31722
+ * @attr disabled - Whether the element is disabled.
31723
+ * @attr indeterminate - Whether the element's checked state is indeterminate.
31724
+ * @attr open - Whether the item is expanded.
31725
+ * @attr selected - Whether the item is selected.
31726
+ *
31727
+ * @fires opening - Emitted when the item begins to open.
31728
+ * @fires opened - Emitted when the item has opened.
31729
+ * @fires closing - Emitted when the item begins to close.
31730
+ * @fires closed - Emitted when the item has closed.
31731
+ * @fires click - Emitted when the element is clicked.
31732
+ *
31733
+ * @cssprop --m3e-tree-item-font-size - Font size for the item label.
31734
+ * @cssprop --m3e-tree-item-font-weight - Font weight for the item label.
31735
+ * @cssprop --m3e-tree-item-line-height - Line height for the item label.
31736
+ * @cssprop --m3e-tree-item-tracking - Letter spacing for the item label.
31737
+ * @cssprop --m3e-tree-item-padding - Inline padding for the item.
31738
+ * @cssprop --m3e-tree-item-height - Height of the item.
31739
+ * @cssprop --m3e-tree-item-shape - Border radius of the item and focus ring.
31740
+ * @cssprop --m3e-tree-item-icon-size - Size of the icon.
31741
+ * @cssprop --m3e-tree-item-inset - Indentation for nested items.
31742
+ * @cssprop --m3e-tree-item-label-color - Text color for the item label.
31743
+ * @cssprop --m3e-tree-item-selected-label-color - Text color for selected item label.
31744
+ * @cssprop --m3e-tree-item-selected-container-color - Background color for selected item.
31745
+ * @cssprop --m3e-tree-item-selected-container-focus-color - Focus color for selected item container.
31746
+ * @cssprop --m3e-tree-item-selected-container-hover-color - Hover color for selected item container.
31747
+ * @cssprop --m3e-tree-item-selected-ripple-color - Ripple color for selected item.
31748
+ * @cssprop --m3e-tree-item-unselected-container-focus-color - Focus color for unselected item container.
31749
+ * @cssprop --m3e-tree-item-unselected-container-hover-color - Hover color for unselected item container.
31750
+ * @cssprop --m3e-tree-item-unselected-ripple-color - Ripple color for unselected item.
31751
+ * @cssprop --m3e-tree-item-disabled-color - Text color for disabled item.
31752
+ * @cssprop --m3e-tree-item-disabled-color-opacity - Opacity for disabled item text color.
31753
+ */
31754
+ let M3eTreeItemElement = M3eTreeItemElement_1 = class M3eTreeItemElement extends Selected$1(Disabled$1(EventAttribute$1(AttachInternals$1(Role$1(LitElement, "treeitem"), true), "opening", "opened", "closing", "closed"))) {
31755
+ constructor() {
31756
+ super(...arguments);
31757
+ _M3eTreeItemElement_instances.add(this);
31758
+ /** @private */
31759
+ this._hasChildItems = false;
31760
+ /** @private */
31761
+ this._multi = false;
31762
+ /** @private */
31763
+ _M3eTreeItemElement_treeMutationController.set(this, new MutationController$1(this, {
31764
+ target: null,
31765
+ skipInitial: true,
31766
+ config: {
31767
+ attributeFilter: ["multi"]
31768
+ },
31769
+ callback: () => __classPrivateFieldGet(this, _M3eTreeItemElement_instances, "m", _M3eTreeItemElement_handleTreeChange).call(this)
31770
+ }));
31771
+ /** @private */
31772
+ _M3eTreeItemElement_items.set(this, []);
31773
+ /** @private */
31774
+ _M3eTreeItemElement_tree.set(this, null);
31775
+ /** @private */
31776
+ _M3eTreeItemElement_path.set(this, new Array());
31777
+ /** @private */
31778
+ _M3eTreeItemElement_link.set(this, null);
31779
+ /**
31780
+ * Whether the item is expanded.
31781
+ * @default false
31782
+ */
31783
+ this.open = false;
31784
+ /**
31785
+ * A value indicating whether the element's selected / checked state is indeterminate.
31786
+ * @default false
31787
+ */
31788
+ this.indeterminate = false;
31789
+ }
31790
+ /** A reference to the nested `HTMLAnchorElement`. */
31791
+ get link() {
31792
+ return __classPrivateFieldGet(this, _M3eTreeItemElement_link, "f");
31793
+ }
31794
+ /** A reference to the element used to present the label of the item. */
31795
+ get label() {
31796
+ return this._base ?? null;
31797
+ }
31798
+ /** Whether the item is visible. */
31799
+ get visible() {
31800
+ return !__classPrivateFieldGet(this, _M3eTreeItemElement_path, "f").some(x => !x.open);
31801
+ }
31802
+ /** The full path of the item, starting with the top-most ancestor, including this item. */
31803
+ get path() {
31804
+ return [...__classPrivateFieldGet(this, _M3eTreeItemElement_path, "f"), this];
31805
+ }
31806
+ /** Whether the item has child items. */
31807
+ get hasChildItems() {
31808
+ return this._hasChildItems;
31809
+ }
31810
+ /** The parenting item. */
31811
+ get parentItem() {
31812
+ return __classPrivateFieldGet(this, _M3eTreeItemElement_path, "f")[__classPrivateFieldGet(this, _M3eTreeItemElement_path, "f").length - 1] ?? null;
31813
+ }
31814
+ /** The items that immediately descend from this item. */
31815
+ get childItems() {
31816
+ return __classPrivateFieldGet(this, _M3eTreeItemElement_items, "f");
31817
+ }
31818
+ /** The one-based level of the item. */
31819
+ get level() {
31820
+ return __classPrivateFieldGet(this, _M3eTreeItemElement_path, "f").length + 1;
31821
+ }
31822
+ /**
31823
+ * Expands this item, and optionally, all descendants.
31824
+ * @param {boolean} [descendants=false] Whether to expand all descendants.
31825
+ */
31826
+ expand(descendants = false) {
31827
+ if (this.hasChildItems) {
31828
+ this.open = true;
31829
+ if (descendants) {
31830
+ this.childItems.forEach(x => x.expand(true));
31831
+ }
31832
+ }
31833
+ }
31834
+ /**
31835
+ * Collapses this item, and optionally, all descendants.
31836
+ * @param {boolean} [descendants=false] Whether to collapse all descendants.
31837
+ */
31838
+ collapse(descendants = false) {
31839
+ if (this.hasChildItems) {
31840
+ this.open = false;
31841
+ if (descendants) {
31842
+ this.childItems.forEach(x => x.collapse(true));
31843
+ }
31844
+ }
31845
+ }
31846
+ /** Toggles the expanded state of the item. */
31847
+ toggle() {
31848
+ if (this.hasChildItems) {
31849
+ this.open = !this.open;
31850
+ }
31851
+ }
31852
+ /** @inheritdoc */
31853
+ connectedCallback() {
31854
+ super.connectedCallback();
31855
+ __classPrivateFieldGet(this, _M3eTreeItemElement_path, "f").length = 0;
31856
+ for (let item = this.parentElement?.closest("m3e-tree-item"); item; item = item.parentElement?.closest("m3e-tree-item")) {
31857
+ __classPrivateFieldGet(this, _M3eTreeItemElement_path, "f").push(item);
31858
+ }
31859
+ __classPrivateFieldGet(this, _M3eTreeItemElement_path, "f").reverse();
31860
+ this.style.setProperty("--_tree-item-level", `${this.level - 1}`);
31861
+ __classPrivateFieldSet(this, _M3eTreeItemElement_tree, this.closest("m3e-tree"), "f");
31862
+ if (__classPrivateFieldGet(this, _M3eTreeItemElement_tree, "f")) {
31863
+ __classPrivateFieldGet(this, _M3eTreeItemElement_treeMutationController, "f").observe(__classPrivateFieldGet(this, _M3eTreeItemElement_tree, "f"));
31864
+ __classPrivateFieldGet(this, _M3eTreeItemElement_instances, "m", _M3eTreeItemElement_handleTreeChange).call(this);
31865
+ }
31866
+ }
31867
+ /** @inheritdoc */
31868
+ disconnectedCallback() {
31869
+ super.disconnectedCallback();
31870
+ __classPrivateFieldGet(this, _M3eTreeItemElement_path, "f").length = 0;
31871
+ if (__classPrivateFieldGet(this, _M3eTreeItemElement_tree, "f")) {
31872
+ __classPrivateFieldGet(this, _M3eTreeItemElement_treeMutationController, "f").unobserve(__classPrivateFieldGet(this, _M3eTreeItemElement_tree, "f"));
31873
+ }
31874
+ }
31875
+ /** @inheritdoc */
31876
+ update(changedProperties) {
31877
+ super.update(changedProperties);
31878
+ if (changedProperties.has("selected") || changedProperties.has("indeterminate") || changedProperties.has("_multi")) {
31879
+ if (__classPrivateFieldGet(this, _M3eTreeItemElement_tree, "f")?.multi) {
31880
+ this.ariaSelected = null;
31881
+ this.ariaChecked = this.indeterminate ? "mixed" : `${this.selected}`;
31882
+ } else {
31883
+ this.ariaSelected = `${this.selected}`;
31884
+ }
31885
+ }
31886
+ if (changedProperties.has("selected")) {
31887
+ for (const icon of this.querySelectorAll(":scope > m3e-icon[slot]:not([slot='toggle-icon']):not([slot='open-toggle-icon'])")) {
31888
+ icon.toggleAttribute("filled", this.selected);
31889
+ }
31890
+ }
31891
+ if (changedProperties.has("open") || changedProperties.has("_hasChildItems")) {
31892
+ this.ariaExpanded = this._hasChildItems ? `${this.open}` : null;
31893
+ }
31894
+ if (changedProperties.has("_hasChildItems") && this.disabled || changedProperties.has("disabled")) {
31895
+ __classPrivateFieldGet(this, _M3eTreeItemElement_items, "f").forEach(x => x.disabled = this.disabled);
31896
+ }
31897
+ }
31898
+ /** @inheritdoc */
31899
+ firstUpdated(_changedProperties) {
31900
+ super.firstUpdated(_changedProperties);
31901
+ const base = this._base;
31902
+ if (base) {
31903
+ [this.focusRing, this.stateLayer, this.ripple].forEach(x => x?.attach(base));
31904
+ }
31905
+ }
31906
+ /** @inheritdoc */
31907
+ render() {
31908
+ return html`<div class="base" @click="${__classPrivateFieldGet(this, _M3eTreeItemElement_instances, "m", _M3eTreeItemElement_handleClick)}"><m3e-state-layer class="state-layer" ?disabled="${this.disabled}"></m3e-state-layer><m3e-focus-ring class="focus-ring" inward ?disabled="${this.disabled}"></m3e-focus-ring><m3e-ripple class="ripple" ?disabled="${this.disabled}"></m3e-ripple><div aria-hidden="true" class="inset"></div><div aria-hidden="true" class="toggle"><slot name="toggle-icon"><svg class="toggle-icon" viewBox="0 -960 960 960" fill="currentColor"><path d="M504-480 320-664l56-56 240 240-240 240-56-56 184-184Z"/></svg></slot><slot name="open-toggle-icon" @slotchange="${__classPrivateFieldGet(this, _M3eTreeItemElement_instances, "m", _M3eTreeItemElement_handleOpenToggleIconSlotChange)}"></slot></div>${this._multi ? html`<m3e-pseudo-checkbox class="checkbox" ?checked="${this.selected}" ?indeterminate="${this.indeterminate}" ?disabled="${this.disabled}" @click="${__classPrivateFieldGet(this, _M3eTreeItemElement_instances, "m", _M3eTreeItemElement_handleCheckboxClick)}"></m3e-pseudo-checkbox>` : nothing}<div class="icon" aria-hidden="true">${__classPrivateFieldGet(this, _M3eTreeItemElement_instances, "m", _M3eTreeItemElement_renderIcon).call(this)}</div><div class="label"><slot name="label" @slotchange="${__classPrivateFieldGet(this, _M3eTreeItemElement_instances, "m", _M3eTreeItemElement_handleSlotChange)}"></slot></div></div><m3e-collapsible class="group" role="group" aria-hidden="${ifDefined(this._hasChildItems ? undefined : "true")}" ?open="${this._hasChildItems && this.open}" @opening="${__classPrivateFieldGet(this, _M3eTreeItemElement_instances, "m", _M3eTreeItemElement_handleCollapsibleEvent)}" @opened="${__classPrivateFieldGet(this, _M3eTreeItemElement_instances, "m", _M3eTreeItemElement_handleCollapsibleEvent)}" @closing="${__classPrivateFieldGet(this, _M3eTreeItemElement_instances, "m", _M3eTreeItemElement_handleCollapsibleEvent)}" @closed="${__classPrivateFieldGet(this, _M3eTreeItemElement_instances, "m", _M3eTreeItemElement_handleCollapsibleEvent)}"><slot @slotchange="${__classPrivateFieldGet(this, _M3eTreeItemElement_instances, "m", _M3eTreeItemElement_handleItemSlotChange)}"></slot></m3e-collapsible>`;
31909
+ }
31910
+ };
31911
+ _M3eTreeItemElement_treeMutationController = new WeakMap();
31912
+ _M3eTreeItemElement_items = new WeakMap();
31913
+ _M3eTreeItemElement_tree = new WeakMap();
31914
+ _M3eTreeItemElement_path = new WeakMap();
31915
+ _M3eTreeItemElement_link = new WeakMap();
31916
+ _M3eTreeItemElement_instances = new WeakSet();
31917
+ _M3eTreeItemElement_renderIcon = function _M3eTreeItemElement_renderIcon() {
31918
+ const icon = html`<slot name="icon" @slotchange="${__classPrivateFieldGet(this, _M3eTreeItemElement_instances, "m", _M3eTreeItemElement_handleIconSlotChange)}"></slot>`;
31919
+ return this.selected && !this.hasChildItems ? html`<slot name="selected-icon" @slotchange="${__classPrivateFieldGet(this, _M3eTreeItemElement_instances, "m", _M3eTreeItemElement_handleIconSlotChange)}">${icon}</slot>` : icon;
31920
+ };
31921
+ _M3eTreeItemElement_handleOpenToggleIconSlotChange = function _M3eTreeItemElement_handleOpenToggleIconSlotChange(e) {
31922
+ setCustomState$1(this, "-with-open-toggle-icon", hasAssignedNodes$1(e.target));
31923
+ };
31924
+ _M3eTreeItemElement_handleIconSlotChange = function _M3eTreeItemElement_handleIconSlotChange(e) {
31925
+ setCustomState$1(this, "-with-icon", hasAssignedNodes$1(e.target));
31926
+ };
31927
+ _M3eTreeItemElement_handleSlotChange = function _M3eTreeItemElement_handleSlotChange(e) {
31928
+ __classPrivateFieldSet(this, _M3eTreeItemElement_link, e.target.assignedElements({
31929
+ flatten: true
31930
+ }).find(x => x instanceof HTMLAnchorElement) ?? null, "f");
31931
+ __classPrivateFieldGet(this, _M3eTreeItemElement_link, "f")?.setAttribute("tabindex", "-1");
31932
+ };
31933
+ _M3eTreeItemElement_handleItemSlotChange = function _M3eTreeItemElement_handleItemSlotChange(e) {
31934
+ __classPrivateFieldSet(this, _M3eTreeItemElement_items, e.target.assignedElements({
31935
+ flatten: true
31936
+ }).filter(x => x instanceof M3eTreeItemElement_1), "f");
31937
+ const hadChildItems = this._hasChildItems;
31938
+ this._hasChildItems = __classPrivateFieldGet(this, _M3eTreeItemElement_items, "f").length > 0;
31939
+ setCustomState$1(this, "-with-items", this._hasChildItems);
31940
+ if (hadChildItems || this._hasChildItems) {
31941
+ if (this._multi && __classPrivateFieldGet(this, _M3eTreeItemElement_tree, "f")?.cascade) {
31942
+ let anySelected = false,
31943
+ anyDeselected = false;
31944
+ for (const child of this.querySelectorAll("m3e-tree-item")) {
31945
+ anySelected = anySelected || child.selected;
31946
+ anyDeselected = anyDeselected || !child.selected;
31947
+ if (anySelected && anyDeselected) {
31948
+ break;
31949
+ }
31950
+ }
31951
+ if (anyDeselected) {
31952
+ __classPrivateFieldGet(this, _M3eTreeItemElement_tree, "f")?.[selectionManager].deselect(this);
31953
+ this.indeterminate = anySelected;
31954
+ } else {
31955
+ __classPrivateFieldGet(this, _M3eTreeItemElement_tree, "f")?.[selectionManager].select(this, false);
31956
+ this.indeterminate = false;
31957
+ }
31958
+ }
31959
+ }
31960
+ };
31961
+ _M3eTreeItemElement_handleTreeChange = function _M3eTreeItemElement_handleTreeChange() {
31962
+ this._multi = __classPrivateFieldGet(this, _M3eTreeItemElement_tree, "f")?.multi === true;
31963
+ console.log(this._multi);
31964
+ setCustomState$1(this, "-multi", this._multi);
31965
+ };
31966
+ _M3eTreeItemElement_handleClick = function _M3eTreeItemElement_handleClick() {
31967
+ if (this.disabled) return;
31968
+ __classPrivateFieldGet(this, _M3eTreeItemElement_tree, "f")?.[selectionManager].setActiveItem(this);
31969
+ if (!this._hasChildItems) {
31970
+ if (this._multi) {
31971
+ if (this.selected) {
31972
+ __classPrivateFieldGet(this, _M3eTreeItemElement_tree, "f")?.deselect(this);
31973
+ } else {
31974
+ __classPrivateFieldGet(this, _M3eTreeItemElement_tree, "f")?.select(this);
31975
+ }
31976
+ } else {
31977
+ __classPrivateFieldGet(this, _M3eTreeItemElement_tree, "f")?.select(this);
31978
+ }
31979
+ __classPrivateFieldGet(this, _M3eTreeItemElement_link, "f")?.click();
31980
+ } else {
31981
+ if (!this._multi) {
31982
+ __classPrivateFieldGet(this, _M3eTreeItemElement_tree, "f")?.select(this);
31983
+ }
31984
+ this.toggle();
31985
+ }
31986
+ };
31987
+ _M3eTreeItemElement_handleCheckboxClick = function _M3eTreeItemElement_handleCheckboxClick(e) {
31988
+ e.stopPropagation();
31989
+ if (!this.selected) {
31990
+ __classPrivateFieldGet(this, _M3eTreeItemElement_tree, "f")?.select(this);
31991
+ } else {
31992
+ __classPrivateFieldGet(this, _M3eTreeItemElement_tree, "f")?.deselect(this);
31993
+ }
31994
+ };
31995
+ _M3eTreeItemElement_handleCollapsibleEvent = function _M3eTreeItemElement_handleCollapsibleEvent(e) {
31996
+ e.stopPropagation();
31997
+ this.dispatchEvent(new Event(e.type, {
31998
+ bubbles: true
31999
+ }));
32000
+ };
32001
+ /** The styles of the element. */
32002
+ M3eTreeItemElement.styles = css`:host { display: block; flex: none; outline: none; user-select: none; -webkit-tap-highlight-color: rgba(0, 0, 0, 0); } .base { display: flex; align-items: center; position: relative; height: calc(var(--m3e-tree-item-height, 3rem) + ${DesignToken$1.density.calc(-3)}); padding-inline: var(--m3e-tree-item-padding, 1rem); font-size: var(--m3e-tree-item-font-size, ${DesignToken$1.typescale.standard.label.large.fontSize}); font-weight: var(--m3e-tree-item-font-weight, ${DesignToken$1.typescale.standard.label.large.fontWeight}); line-height: var(--m3e-tree-item-line-height, ${DesignToken$1.typescale.standard.label.large.lineHeight}); letter-spacing: var(--m3e-tree-item-tracking, ${DesignToken$1.typescale.standard.label.large.tracking}); transition: ${unsafeCSS(`color ${DesignToken$1.motion.duration.short4} ${DesignToken$1.motion.easing.standard},
32003
+ background-color ${DesignToken$1.motion.duration.short4} ${DesignToken$1.motion.easing.standard}`)}; } .base, .focus-ring { border-radius: var(--m3e-tree-item-shape, ${DesignToken$1.shape.corner.none}); } .label { flex: 1 1 auto; display: flex; align-items: center; position: relative; overflow: hidden; vertical-align: middle; } .checkbox { flex: none; margin-inline-end: 0.5rem; } .icon, .toggle { flex: none; align-items: center; justify-content: center; position: relative; vertical-align: middle; margin-inline-end: 0.5rem; } .toggle { display: var(--_tree-item-toggle-display, none); } :host(:not(:state(-with-icon))) .icon { display: none; } .inset { margin-inline-start: calc(var(--m3e-tree-item-inset, 2rem) * var(--_tree-item-level, 0)); } :host([open]) .toggle-icon { transform: rotate(90deg); } :host(:not(:state(-with-items))) .toggle { visibility: hidden; } :host(:not(:state(-with-items))) .group { display: none; } ::slotted([slot="selected-icon"]), ::slotted([slot="icon"]), ::slotted([slot="toggle-icon"]), ::slotted([slot="open-toggle-icon"]), .toggle-icon { vertical-align: middle; width: 1em; height: 1em; font-size: var(--m3e-tree-item-icon-size, 1.5rem); } .toggle-icon { transition: ${unsafeCSS(`transform var(--m3e-collapsible-animation-duration, ${DesignToken$1.motion.duration.medium1})
32004
+ ${DesignToken$1.motion.easing.standard}`)}; } :host(:state(-with-open-toggle-icon)[open]) slot[name="toggle-icon"], :host(:state(-with-open-toggle-icon):not([open])) slot[name="open-toggle-icon"] { display: none; } :host(:not(:disabled)) .base { cursor: pointer; } :host(:not(:disabled)) .base { color: var(--m3e-tree-item-label-color, ${DesignToken$1.color.onSurfaceVariant}); } :host(:disabled) .base { color: color-mix( in srgb, var(--m3e-tree-item-disabled-color, ${DesignToken$1.color.onSurface}) var(--m3e-tree-item-disabled-color-opacity, 38%), transparent ); } :host([selected]:not(:disabled)) .base { color: var(--m3e-tree-item-selected-label-color, ${DesignToken$1.color.onSecondaryContainer}); background-color: var(--m3e-tree-item-selected-container-color, ${DesignToken$1.color.secondaryContainer}); --m3e-state-layer-focus-color: var( --m3e-tree-item-selected-container-focus-color, ${DesignToken$1.color.onSecondaryContainer} ); --m3e-state-layer-hover-color: var( --m3e-tree-item-selected-container-hover-color, ${DesignToken$1.color.onSecondaryContainer} ); --m3e-ripple-color: var(--m3e-tree-item-selected-ripple-color, ${DesignToken$1.color.onSecondaryContainer}); } :host(:not([selected]):not(:disabled)) .base { --m3e-state-layer-focus-color: var( --m3e-tree-item-unselected-container-focus-color, ${DesignToken$1.color.onSurface} ); --m3e-state-layer-hover-color: var( --m3e-tree-item-unselected-container-hover-color, ${DesignToken$1.color.onSurface} ); --m3e-ripple-color: var(--m3e-tree-item-unselected-ripple-color, ${DesignToken$1.color.onSurface}); } .state-layer { margin-inline: auto; } ::slotted(a[slot="label"]) { all: unset; } @media (prefers-reduced-motion) { .base, .toggle, .state-layer { transition: none !important; } } @media (forced-colors: active) { .base, .state-layer { transition: none !important; } :host(:disabled) .base { color: GrayText; } :host(:not(:disabled)) .base { color: CanvasText; background-color: Canvas; } :host([selected]:not(:state(-multi)):not(:disabled)) slot[name="icon"], :host([selected]:not(:state(-multi)):not(:disabled)) slot[name="label"] { color: Highlight; } }`;
32005
+ __decorate([query(".state-layer")], M3eTreeItemElement.prototype, "stateLayer", void 0);
32006
+ __decorate([query(".focus-ring")], M3eTreeItemElement.prototype, "focusRing", void 0);
32007
+ __decorate([query(".ripple")], M3eTreeItemElement.prototype, "ripple", void 0);
32008
+ __decorate([query(".base")], M3eTreeItemElement.prototype, "_base", void 0);
32009
+ __decorate([state()], M3eTreeItemElement.prototype, "_hasChildItems", void 0);
32010
+ __decorate([state()], M3eTreeItemElement.prototype, "_multi", void 0);
32011
+ __decorate([property({
32012
+ type: Boolean,
32013
+ reflect: true
32014
+ })], M3eTreeItemElement.prototype, "open", void 0);
32015
+ __decorate([property({
32016
+ type: Boolean,
32017
+ reflect: true
32018
+ })], M3eTreeItemElement.prototype, "indeterminate", void 0);
32019
+ M3eTreeItemElement = M3eTreeItemElement_1 = __decorate([customElement$1("m3e-tree-item")], M3eTreeItemElement);
32020
+
32021
+ var _M3eTreeElement_instances, _M3eTreeElement_ignoreFocusVisible, _M3eTreeElement_ignoreFocus, _M3eTreeElement_keyDownHandler, _M3eTreeElement_keyUpHandler, _M3eTreeElement_pointerDownHandler, _M3eTreeElement_handleSlotChange, _M3eTreeElement_handleKeyDown, _M3eTreeElement_handleKeyUp, _M3eTreeElement_handlePointerDown, _M3eTreeElement_activateItem, _M3eTreeElement_updateFocusVisible, _M3eTreeElement_updateItemFocusVisible, _M3eTreeElement_cascadeAncestorSelected, _b;
32022
+ var M3eTreeElement_1;
32023
+ /**
32024
+ * Presents hierarchical data in a tree structure.
32025
+ *
32026
+ * @description
32027
+ * The `m3e-tree` component presents hierarchical data in a structure that users can
32028
+ * navigate, with nested levels that open and collapse as needed.
32029
+ *
32030
+ * @example
32031
+ * The following example illustrates a simple tree with nested child items.
32032
+ * ```html
32033
+ * <m3e-tree>
32034
+ * <m3e-tree-item open>
32035
+ * <span slot="label">Getting Started</span>
32036
+ * <m3e-tree-item>
32037
+ * <span slot="label">Overview</span>
32038
+ * </m3e-tree-item>
32039
+ * <m3e-tree-item>
32040
+ * <span slot="label">Installation</span>
32041
+ * </m3e-tree-item>
32042
+ * </m3e-tree-item>
32043
+ * <m3e-tree-item>
32044
+ * <span slot="label">Components</span>
32045
+ * <m3e-tree-item>
32046
+ * <span slot="label">Button</span>
32047
+ * </m3e-tree-item>
32048
+ * <m3e-tree-item>
32049
+ * <span slot="label">Card</span>
32050
+ * </m3e-tree-item>
32051
+ * </m3e-tree-item>
32052
+ * </m3e-tree>
32053
+ * ```
32054
+ *
32055
+ * @example
32056
+ * The next example demonstrates multi-selection with cascading selection state.
32057
+ * ```html
32058
+ * <m3e-tree multi cascade>
32059
+ * <m3e-tree-item>
32060
+ * <span slot="label">Fruits</span>
32061
+ * <m3e-tree-item>
32062
+ * <span slot="label">Apples</span>
32063
+ * </m3e-tree-item>
32064
+ * <m3e-tree-item>
32065
+ * <span slot="label">Oranges</span>
32066
+ * </m3e-tree-item>
32067
+ * <m3e-tree-item>
32068
+ * <span slot="label">Bananas</span>
32069
+ * </m3e-tree-item>
32070
+ * </m3e-tree-item>
32071
+ * <m3e-tree-item>
32072
+ * <span slot="label">Vegetables</span>
32073
+ * <m3e-tree-item>
32074
+ * <span slot="label">Carrots</span>
32075
+ * </m3e-tree-item>
32076
+ * <m3e-tree-item>
32077
+ * <span slot="label">Broccoli</span>
32078
+ * </m3e-tree-item>
32079
+ * <m3e-tree-item>
32080
+ * <span slot="label">Spinach</span>
32081
+ * </m3e-tree-item>
32082
+ * </m3e-tree-item>
32083
+ * </m3e-tree>
32084
+ * ```
32085
+ *
32086
+ * @tag m3e-tree
32087
+ *
32088
+ * @slot - Renders the items of the tree.
32089
+ *
32090
+ * @attr multi - Whether multiple items can be selected.
32091
+ * @attr cascade -Whether multiple item selection cascades to child items.
32092
+ *
32093
+ * @fires change - Emitted when the selected state changes.
32094
+ *
32095
+ * @cssprop --m3e-tree-scrollbar-width - Width of the tree scrollbar.
32096
+ * @cssprop --m3e-tree-scrollbar-color - Color of the tree scrollbar.
32097
+ */
32098
+ let M3eTreeElement = M3eTreeElement_1 = class M3eTreeElement extends Role$1(LitElement, "tree") {
32099
+ constructor() {
32100
+ super();
32101
+ _M3eTreeElement_instances.add(this);
32102
+ /** @private */
32103
+ _M3eTreeElement_ignoreFocusVisible.set(this, false);
32104
+ /** @private */
32105
+ _M3eTreeElement_ignoreFocus.set(this, false);
32106
+ /** @private */
32107
+ this[_b] = new SelectionManager().withVerticalOrientation().withHomeAndEnd().withPageUpAndDown().withTypeahead().withSkipPredicate(x => x.disabled || !x.visible).disableRovingTabIndex().onActiveItemChange(() => {
32108
+ if (this[selectionManager].activeItem) {
32109
+ __classPrivateFieldGet(this, _M3eTreeElement_instances, "m", _M3eTreeElement_activateItem).call(this, this[selectionManager].activeItem);
32110
+ }
32111
+ });
32112
+ /** @private */
32113
+ _M3eTreeElement_keyDownHandler.set(this, e => __classPrivateFieldGet(this, _M3eTreeElement_instances, "m", _M3eTreeElement_handleKeyDown).call(this, e));
32114
+ /** @private */
32115
+ _M3eTreeElement_keyUpHandler.set(this, () => __classPrivateFieldGet(this, _M3eTreeElement_instances, "m", _M3eTreeElement_handleKeyUp).call(this));
32116
+ /** @private */
32117
+ _M3eTreeElement_pointerDownHandler.set(this, e => __classPrivateFieldGet(this, _M3eTreeElement_instances, "m", _M3eTreeElement_handlePointerDown).call(this, e));
32118
+ /**
32119
+ * Whether multiple items can be selected.
32120
+ * @default false
32121
+ */
32122
+ this.multi = false;
32123
+ /**
32124
+ * Whether multiple item selection cascades to child items.
32125
+ * @default false
32126
+ */
32127
+ this.cascade = false;
32128
+ new PressedController$1(this, {
32129
+ callback: pressed => __classPrivateFieldSet(this, _M3eTreeElement_ignoreFocus, pressed, "f")
32130
+ });
32131
+ new FocusController$1(this, {
32132
+ callback: () => {
32133
+ if (!__classPrivateFieldGet(this, _M3eTreeElement_ignoreFocus, "f")) {
32134
+ __classPrivateFieldGet(this, _M3eTreeElement_instances, "m", _M3eTreeElement_updateFocusVisible).call(this);
32135
+ }
32136
+ }
32137
+ });
32138
+ }
32139
+ /** The selected items of the tree. */
32140
+ get selected() {
32141
+ return this[selectionManager].selectedItems;
32142
+ }
32143
+ /** All the items of the tree. */
32144
+ get items() {
32145
+ return this[selectionManager].items;
32146
+ }
32147
+ /** @internal */
32148
+ expand(itemsOrDescendants, maybeDescendants = false) {
32149
+ const items = Array.isArray(itemsOrDescendants) ? itemsOrDescendants : this[selectionManager].items;
32150
+ const descendants = typeof itemsOrDescendants === "boolean" ? itemsOrDescendants : maybeDescendants;
32151
+ items.forEach(x => x.expand(descendants));
32152
+ }
32153
+ /** @internal */
32154
+ collapse(itemsOrDescendants, maybeDescendants = false) {
32155
+ const items = Array.isArray(itemsOrDescendants) ? itemsOrDescendants : this[selectionManager].items;
32156
+ const descendants = typeof itemsOrDescendants === "boolean" ? itemsOrDescendants : maybeDescendants;
32157
+ items.forEach(x => x.collapse(descendants));
32158
+ const activeItem = this[selectionManager].activeItem;
32159
+ if (activeItem && !activeItem.visible) {
32160
+ for (let parent = activeItem.parentItem; parent; parent = parent.parentItem) {
32161
+ if (parent.visible) {
32162
+ this[selectionManager].setActiveItem(parent);
32163
+ break;
32164
+ }
32165
+ }
32166
+ }
32167
+ }
32168
+ /**
32169
+ * Selects the specified item.
32170
+ * @param {M3eTreeItemElement} item The item to select.
32171
+ * @param {boolean} [activate=false] A value indicating whether to activate the item.
32172
+ */
32173
+ select(item, activate = false) {
32174
+ this[selectionManager].select(item, activate);
32175
+ item.indeterminate = false;
32176
+ if (this.multi && this.cascade) {
32177
+ if (item.hasChildItems) {
32178
+ item.childItems.forEach(x => this.select(x));
32179
+ }
32180
+ __classPrivateFieldGet(this, _M3eTreeElement_instances, "m", _M3eTreeElement_cascadeAncestorSelected).call(this, item);
32181
+ }
32182
+ if (activate) {
32183
+ __classPrivateFieldGet(this, _M3eTreeElement_instances, "m", _M3eTreeElement_activateItem).call(this, item);
32184
+ }
32185
+ this.dispatchEvent(new Event("change", {
32186
+ bubbles: true
32187
+ }));
32188
+ }
32189
+ /**
32190
+ * Deselects the specified item.
32191
+ * @param {M3eTreeItemElement} item The item to deselect.
32192
+ */
32193
+ deselect(item) {
32194
+ this[selectionManager].deselect(item);
32195
+ item.indeterminate = false;
32196
+ if (this.multi && this.cascade) {
32197
+ if (item.hasChildItems) {
32198
+ item.childItems.forEach(x => this.deselect(x));
32199
+ }
32200
+ __classPrivateFieldGet(this, _M3eTreeElement_instances, "m", _M3eTreeElement_cascadeAncestorSelected).call(this, item);
32201
+ }
32202
+ this.dispatchEvent(new Event("change", {
32203
+ bubbles: true
32204
+ }));
32205
+ }
32206
+ /** @inheritdoc */
32207
+ connectedCallback() {
32208
+ super.connectedCallback();
32209
+ this.setAttribute("tabindex", "0");
32210
+ this.addEventListener("keydown", __classPrivateFieldGet(this, _M3eTreeElement_keyDownHandler, "f"));
32211
+ this.addEventListener("keyup", __classPrivateFieldGet(this, _M3eTreeElement_keyUpHandler, "f"));
32212
+ this.addEventListener("pointerdown", __classPrivateFieldGet(this, _M3eTreeElement_pointerDownHandler, "f"));
32213
+ }
32214
+ /** @inheritdoc */
32215
+ disconnectedCallback() {
32216
+ super.disconnectedCallback();
32217
+ this.removeEventListener("keydown", __classPrivateFieldGet(this, _M3eTreeElement_keyDownHandler, "f"));
32218
+ this.removeEventListener("keyup", __classPrivateFieldGet(this, _M3eTreeElement_keyUpHandler, "f"));
32219
+ this.removeEventListener("pointerdown", __classPrivateFieldGet(this, _M3eTreeElement_pointerDownHandler, "f"));
32220
+ }
32221
+ /** @inheritdoc */
32222
+ willUpdate(_changedProperties) {
32223
+ super.willUpdate(_changedProperties);
32224
+ if (_changedProperties.has("multi")) {
32225
+ this[selectionManager].multi = this.multi;
32226
+ if (this.multi) {
32227
+ this.setAttribute("aria-multiselectable", "true");
32228
+ } else {
32229
+ this.removeAttribute("aria-multiselectable");
32230
+ }
32231
+ }
32232
+ }
32233
+ /** @inheritdoc */
32234
+ render() {
32235
+ return html`<div class="base"><slot @slotchange="${__classPrivateFieldGet(this, _M3eTreeElement_instances, "m", _M3eTreeElement_handleSlotChange)}"></slot></div>`;
32236
+ }
32237
+ };
32238
+ _M3eTreeElement_ignoreFocusVisible = new WeakMap();
32239
+ _M3eTreeElement_ignoreFocus = new WeakMap();
32240
+ _M3eTreeElement_keyDownHandler = new WeakMap();
32241
+ _M3eTreeElement_keyUpHandler = new WeakMap();
32242
+ _M3eTreeElement_pointerDownHandler = new WeakMap();
32243
+ _M3eTreeElement_instances = new WeakSet();
32244
+ _b = selectionManager;
32245
+ _M3eTreeElement_handleSlotChange = function _M3eTreeElement_handleSlotChange() {
32246
+ const {
32247
+ added
32248
+ } = this[selectionManager].setItems([...this.querySelectorAll("m3e-tree-item")]);
32249
+ for (const item of added) {
32250
+ item.id = item.id || `m3e-tree-item-${M3eTreeElement_1.__nextId++}`;
32251
+ }
32252
+ if (this[selectionManager].activeItem) {
32253
+ this.setAttribute("aria-activedescendant", this[selectionManager].activeItem.id);
32254
+ __classPrivateFieldGet(this, _M3eTreeElement_instances, "m", _M3eTreeElement_updateFocusVisible).call(this);
32255
+ } else {
32256
+ this.removeAttribute("aria-activedescendant");
32257
+ }
32258
+ };
32259
+ _M3eTreeElement_handleKeyDown = function _M3eTreeElement_handleKeyDown(e) {
32260
+ __classPrivateFieldSet(this, _M3eTreeElement_ignoreFocusVisible, false, "f");
32261
+ __classPrivateFieldGet(this, _M3eTreeElement_instances, "m", _M3eTreeElement_updateFocusVisible).call(this);
32262
+ const item = this[selectionManager].activeItem;
32263
+ if (e.defaultPrevented || !item || item.disabled) return;
32264
+ switch (e.key) {
32265
+ case "Enter":
32266
+ if (!this.multi) {
32267
+ if (!item.selected) {
32268
+ this.select(item);
32269
+ item.link?.click();
32270
+ }
32271
+ } else {
32272
+ if (item.ripple && !item.ripple.visible) {
32273
+ item.ripple.centered = true;
32274
+ item.ripple.show(0, 0, true);
32275
+ item.ripple.centered = false;
32276
+ }
32277
+ item.link?.click();
32278
+ }
32279
+ break;
32280
+ case " ":
32281
+ e.preventDefault();
32282
+ if (this.multi) {
32283
+ if (item.selected) {
32284
+ this.deselect(item);
32285
+ } else {
32286
+ this.select(item);
32287
+ }
32288
+ } else {
32289
+ if (item.ripple && !item.ripple.visible) {
32290
+ item.ripple.centered = true;
32291
+ item.ripple.show(0, 0, true);
32292
+ item.ripple.centered = false;
32293
+ }
32294
+ this.select(item);
32295
+ item.link?.click();
32296
+ }
32297
+ break;
32298
+ case "*":
32299
+ e.preventDefault();
32300
+ item.expand(true);
32301
+ break;
32302
+ case "Left":
32303
+ case "ArrowLeft":
32304
+ e.preventDefault();
32305
+ if (M3eDirectionality.current === "ltr") {
32306
+ if (item.hasChildItems && item.open) {
32307
+ requestAnimationFrame(() => item.collapse());
32308
+ } else {
32309
+ const parent = item.parentItem;
32310
+ if (parent) {
32311
+ this[selectionManager].setActiveItem(parent);
32312
+ }
32313
+ }
32314
+ } else if (item.hasChildItems && !item.open) {
32315
+ item.expand();
32316
+ }
32317
+ break;
32318
+ case "Right":
32319
+ case "ArrowRight":
32320
+ e.preventDefault();
32321
+ if (M3eDirectionality.current === "rtl") {
32322
+ if (item.hasChildItems && item.open) {
32323
+ requestAnimationFrame(() => item.collapse());
32324
+ } else {
32325
+ const parent = item.parentItem;
32326
+ if (parent) {
32327
+ this[selectionManager].setActiveItem(parent);
32328
+ }
32329
+ }
32330
+ } else if (item.hasChildItems && !item.open) {
32331
+ item.expand();
32332
+ }
32333
+ break;
32334
+ default:
32335
+ this[selectionManager].onKeyDown(e);
32336
+ break;
32337
+ }
32338
+ };
32339
+ _M3eTreeElement_handleKeyUp = function _M3eTreeElement_handleKeyUp() {
32340
+ const item = this[selectionManager].activeItem;
32341
+ if (item && !item.disabled && item.ripple?.visible) {
32342
+ item.ripple.hide();
32343
+ }
32344
+ };
32345
+ _M3eTreeElement_handlePointerDown = function _M3eTreeElement_handlePointerDown(e) {
32346
+ if (!e.defaultPrevented && !__classPrivateFieldGet(this, _M3eTreeElement_ignoreFocusVisible, "f")) {
32347
+ __classPrivateFieldSet(this, _M3eTreeElement_ignoreFocusVisible, true, "f");
32348
+ const item = e.composedPath().reverse().find(x => x instanceof M3eTreeItemElement);
32349
+ if (item && !item.disabled) {
32350
+ __classPrivateFieldGet(this, _M3eTreeElement_instances, "m", _M3eTreeElement_updateItemFocusVisible).call(this, item, true, false);
32351
+ }
32352
+ }
32353
+ };
32354
+ _M3eTreeElement_activateItem = function _M3eTreeElement_activateItem(item) {
32355
+ this.setAttribute("aria-activedescendant", item.id);
32356
+ if (item.label) {
32357
+ scrollIntoViewIfNeeded$1(item.label, this, {
32358
+ block: "nearest",
32359
+ behavior: "smooth"
32360
+ });
32361
+ }
32362
+ __classPrivateFieldGet(this, _M3eTreeElement_instances, "m", _M3eTreeElement_updateFocusVisible).call(this);
32363
+ };
32364
+ _M3eTreeElement_updateFocusVisible = function _M3eTreeElement_updateFocusVisible() {
32365
+ const focused = this.matches(":focus") || this.matches(":focus-within");
32366
+ const focusVisible = !__classPrivateFieldGet(this, _M3eTreeElement_ignoreFocusVisible, "f") && this.matches(":focus-visible");
32367
+ this[selectionManager].items.forEach(x => {
32368
+ const active = x === this[selectionManager].activeItem;
32369
+ __classPrivateFieldGet(this, _M3eTreeElement_instances, "m", _M3eTreeElement_updateItemFocusVisible).call(this, x, active && focused, active && focusVisible);
32370
+ });
32371
+ };
32372
+ _M3eTreeElement_updateItemFocusVisible = function _M3eTreeElement_updateItemFocusVisible(item, focused, focusVisible) {
32373
+ if (focused && focusVisible) {
32374
+ item.stateLayer?.show("focused");
32375
+ } else {
32376
+ item.stateLayer?.hide("focused");
32377
+ }
32378
+ if (focusVisible) {
32379
+ item.focusRing?.show();
32380
+ } else {
32381
+ item.focusRing?.hide();
32382
+ }
32383
+ };
32384
+ _M3eTreeElement_cascadeAncestorSelected = function _M3eTreeElement_cascadeAncestorSelected(item) {
32385
+ for (let parent = item.parentItem; parent; parent = parent.parentItem) {
32386
+ let hasSelected = false,
32387
+ hasDeselected = false;
32388
+ for (const child of parent.querySelectorAll("m3e-tree-item")) {
32389
+ hasSelected = hasSelected || child.selected;
32390
+ hasDeselected = hasDeselected || !child.selected;
32391
+ if (hasSelected && hasDeselected) {
32392
+ break;
32393
+ }
32394
+ }
32395
+ if (hasDeselected) {
32396
+ this[selectionManager].deselect(parent);
32397
+ parent.indeterminate = hasSelected;
32398
+ } else {
32399
+ this[selectionManager].select(parent, false);
32400
+ parent.indeterminate = false;
32401
+ }
32402
+ }
32403
+ };
32404
+ (() => {
32405
+ // NOTE: unsafeCSS used here due to linting error with use of '>'.
32406
+ registerStyleSheet$1(css`${unsafeCSS(`m3e-tree:has(> m3e-tree-item:state(-with-items)) {
32407
+ --_tree-item-toggle-display: flex;
32408
+ }`)}`);
32409
+ })();
32410
+ /** The styles of the element. */
32411
+ M3eTreeElement.styles = css`:host { display: block; outline: none; overflow-y: auto; overflow-x: hidden; min-height: 0; scrollbar-width: ${DesignToken$1.scrollbar.width}; scrollbar-color: ${DesignToken$1.scrollbar.color}; } .base { width: 100%; display: flex; flex-direction: column; position: relative; min-height: inherit; box-sizing: border-box; }`;
32412
+ /** @private */
32413
+ M3eTreeElement.__nextId = 0;
32414
+ __decorate([property({
32415
+ type: Boolean,
32416
+ reflect: true
32417
+ })], M3eTreeElement.prototype, "multi", void 0);
32418
+ __decorate([property({
32419
+ type: Boolean,
32420
+ reflect: true
32421
+ })], M3eTreeElement.prototype, "cascade", void 0);
32422
+ M3eTreeElement = M3eTreeElement_1 = __decorate([customElement$1("m3e-tree")], M3eTreeElement);
32423
+
32424
+ export { ActionElementBase, AnimationLoopController, AttachInternals, CalendarViewElementBase, Checked, CheckedIndeterminate, ConstraintValidation, DesignToken, Dirty, Disabled, DisabledInteractive, EventAttribute, FocusController, Focusable, FormAssociated, FormSubmitter, HoverController, HtmlFor, InertController, IntersectionController, KeyboardClick, Labelled, LinkButton, LongPressController, M3eAccordionElement, M3eActionListElement, M3eAppBarElement, M3eAssistChipElement, M3eAutocompleteElement, M3eAvatarElement, M3eBadgeElement, M3eBottomSheetActionElement, M3eBottomSheetElement, M3eBottomSheetTriggerElement, M3eButtonElement, M3eButtonGroupElement, M3eButtonSegmentElement, M3eCalendarElement, M3eCardElement, M3eCheckboxElement, M3eChipElement, M3eChipSetElement, M3eCircularProgressIndicatorElement, M3eCollapsibleElement, M3eDatepickerElement, M3eDatepickerToggleElement, M3eDialogActionElement, M3eDialogElement, M3eDialogTriggerElement, M3eDividerElement, M3eDrawerContainerElement, M3eDrawerToggleElement, M3eElevationElement, M3eExpandableListItemElement, M3eExpansionHeaderElement, M3eExpansionPanelElement, M3eFabElement, M3eFabMenuElement, M3eFabMenuItemElement, M3eFabMenuTriggerElement, M3eFilterChipElement, M3eFilterChipSetElement, M3eFocusRingElement, M3eFormFieldElement, M3eHeadingElement, M3eIconButtonElement, M3eIconElement, M3eInputChipElement, M3eInputChipSetElement, M3eLinearProgressIndicatorElement, M3eListActionElement, M3eListElement, M3eListItemButtonElement, M3eListItemElement, M3eListOptionElement, M3eLoadingIndicatorElement, M3eMenuElement, M3eMenuItemCheckboxElement, M3eMenuItemElement, M3eMenuItemGroupElement, M3eMenuItemRadioElement, M3eMenuTriggerElement, M3eMonthViewElement, M3eMultiYearViewElement, M3eNavBarElement, M3eNavItemElement, M3eNavMenuElement, M3eNavMenuItemElement, M3eNavMenuItemGroupElement, M3eNavRailElement, M3eNavRailToggleElement, M3eOptGroupElement, M3eOptionElement, M3eOptionPanelElement, M3ePaginatorElement, M3ePseudoCheckboxElement, M3ePseudoRadioElement, M3eRadioElement, M3eRadioGroupElement, M3eRichTooltipActionElement, M3eRichTooltipElement, M3eRippleElement, M3eScrollContainerElement, M3eSearchBarElement, M3eSearchViewElement, M3eSegmentedButtonElement, M3eSelectElement, M3eSelectionListElement, M3eShapeElement, M3eSkeletonElement, M3eSlideElement, M3eSlideGroupElement, M3eSliderElement, M3eSliderThumbElement, M3eSnackbar, M3eSnackbarElement, M3eSplitButtonElement, M3eSplitPaneElement, M3eStateLayerElement, M3eStepElement, M3eStepPanelElement, M3eStepperElement, M3eStepperNextElement, M3eStepperPreviousElement, M3eStepperResetElement, M3eSuggestionChipElement, M3eSwitchElement, M3eTabElement, M3eTabPanelElement, M3eTabsElement, M3eTextHighlightElement, M3eTextOverflowElement, M3eTextareaAutosizeElement, M3eThemeElement, M3eTocElement, M3eTocItemElement, M3eToolbarElement, M3eTooltipElement, M3eTreeElement, M3eTreeItemElement, M3eYearViewElement, MutationController, PressedController, ProgressElementIndicatorBase, ReadOnly, ReconnectedCallback, Required, RequiredConstraintValidation, ResizeController, Role, ScrollController, ScrollLockController, Selected, StepperButtonElementBase, SuppressInitialAnimation, TocGenerator, TooltipElementBase, Touched, VelocityTracker, Vertical, addCustomState, checkOrSelect, computeCssSize, computeLineCount, customElement, dateConverter, debounce, defaultValue, deleteCustomState, findFormFieldControl, focusWhenReady, forcedColorsActive, formValue, generateClipPaths, getTextContent, guid, hasAssignedNodes, hasCustomState, hasKeys, interceptProperty, internals, isAttachInternalsMixin, isCheckedIndeterminateMixin, isCheckedMixin, isCheckedOrSelected, isCheckedOrSelectedMixin, isConstraintValidationMixin, isDirtyMixin, isDisabledInteractiveMixin, isDisabledMixin, isFormAssociatedMixin, isFormFieldControl, isFormSubmitterMixin, isHtmlForMixin, isLabelledMixin, isLinkButtonMixin, isReadOnlyMixin, isRequiredConstraintValidationMixin, isRequiredMixin, isSelectedMixin, isTouchedMixin, isVerticalMixin, prefersReducedMotion, registerIcon, registerStyleSheet, renderPseudoLink, resolveElementById, resolveFragmentUrl, safeStyleMap, scrollIntoViewIfNeeded, setCustomState, spaceSeparatedStringConverter, updateLabels, validate, waitForUpgrade };
31711
32425
  //# sourceMappingURL=all.js.map