@m3e/web 2.2.2 → 2.3.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (51) hide show
  1. package/README.md +2 -0
  2. package/dist/all.js +829 -17
  3. package/dist/all.js.map +1 -1
  4. package/dist/all.min.js +44 -44
  5. package/dist/all.min.js.map +1 -1
  6. package/dist/autocomplete.js +26 -6
  7. package/dist/autocomplete.js.map +1 -1
  8. package/dist/autocomplete.min.js +1 -1
  9. package/dist/autocomplete.min.js.map +1 -1
  10. package/dist/core.js +22 -1
  11. package/dist/core.js.map +1 -1
  12. package/dist/core.min.js +1 -1
  13. package/dist/core.min.js.map +1 -1
  14. package/dist/css-custom-data.json +411 -301
  15. package/dist/custom-elements.json +20862 -19416
  16. package/dist/html-custom-data.json +228 -140
  17. package/dist/select.js +28 -9
  18. package/dist/select.js.map +1 -1
  19. package/dist/select.min.js +1 -1
  20. package/dist/select.min.js.map +1 -1
  21. package/dist/skeleton.js +153 -0
  22. package/dist/skeleton.js.map +1 -0
  23. package/dist/skeleton.min.js +7 -0
  24. package/dist/skeleton.min.js.map +1 -0
  25. package/dist/split-pane.js +627 -0
  26. package/dist/split-pane.js.map +1 -0
  27. package/dist/split-pane.min.js +7 -0
  28. package/dist/split-pane.min.js.map +1 -0
  29. package/dist/src/all.d.ts +2 -0
  30. package/dist/src/all.d.ts.map +1 -1
  31. package/dist/src/autocomplete/AutocompleteElement.d.ts.map +1 -1
  32. package/dist/src/core/shared/utils/index.d.ts +1 -0
  33. package/dist/src/core/shared/utils/index.d.ts.map +1 -1
  34. package/dist/src/core/shared/utils/waitForUpgrade.d.ts +6 -0
  35. package/dist/src/core/shared/utils/waitForUpgrade.d.ts.map +1 -0
  36. package/dist/src/select/SelectElement.d.ts.map +1 -1
  37. package/dist/src/skeleton/SkeletonAnimation.d.ts +3 -0
  38. package/dist/src/skeleton/SkeletonAnimation.d.ts.map +1 -0
  39. package/dist/src/skeleton/SkeletonElement.d.ts +73 -0
  40. package/dist/src/skeleton/SkeletonElement.d.ts.map +1 -0
  41. package/dist/src/skeleton/SkeletonShape.d.ts +3 -0
  42. package/dist/src/skeleton/SkeletonShape.d.ts.map +1 -0
  43. package/dist/src/skeleton/index.d.ts +4 -0
  44. package/dist/src/skeleton/index.d.ts.map +1 -0
  45. package/dist/src/split-pane/SplitPaneElement.d.ts +163 -0
  46. package/dist/src/split-pane/SplitPaneElement.d.ts.map +1 -0
  47. package/dist/src/split-pane/SplitPaneOrientation.d.ts +3 -0
  48. package/dist/src/split-pane/SplitPaneOrientation.d.ts.map +1 -0
  49. package/dist/src/split-pane/index.d.ts +3 -0
  50. package/dist/src/split-pane/index.d.ts.map +1 -0
  51. package/package.json +11 -1
package/dist/all.js CHANGED
@@ -6,7 +6,7 @@
6
6
  import { __classPrivateFieldGet, __decorate, __classPrivateFieldSet } from 'tslib';
7
7
  import { unsafeCSS, css, LitElement, html, nothing, isServer, noChange, svg } from 'lit';
8
8
  import { query, property, queryAssignedElements, state } from 'lit/decorators.js';
9
- import { DesignToken as DesignToken$1, HtmlFor as HtmlFor$1, Role as Role$1, hasAssignedNodes as hasAssignedNodes$1, debounce as debounce$1, customElement as customElement$1, EventAttribute as EventAttribute$1, MutationController as MutationController$1, setCustomState as setCustomState$1, deleteCustomState as deleteCustomState$1, prefersReducedMotion as prefersReducedMotion$1, scrollIntoViewIfNeeded as scrollIntoViewIfNeeded$1, forcedColorsActive as forcedColorsActive$1, addCustomState as addCustomState$1, ActionElementBase as ActionElementBase$1, ReconnectedCallback as ReconnectedCallback$1, SuppressInitialAnimation as SuppressInitialAnimation$1, AttachInternals as AttachInternals$1, VelocityTracker as VelocityTracker$1, ScrollLockController as ScrollLockController$1, InertController as InertController$1, ResizeController as ResizeController$1, focusWhenReady as focusWhenReady$1, hasCustomState as hasCustomState$1, computeCssSize as computeCssSize$1, registerStyleSheet as registerStyleSheet$1, spaceSeparatedStringConverter as spaceSeparatedStringConverter$1, KeyboardClick as KeyboardClick$1, LinkButton as LinkButton$1, FormSubmitter as FormSubmitter$1, Focusable as Focusable$1, DisabledInteractive as DisabledInteractive$1, Disabled as Disabled$1, FocusController as FocusController$1, PressedController as PressedController$1, renderPseudoLink as renderPseudoLink$1, isSelectedMixin as isSelectedMixin$1, dateConverter as dateConverter$1, Labelled as Labelled$1, RequiredConstraintValidation as RequiredConstraintValidation$1, Dirty as Dirty$1, Touched as Touched$1, Required as Required$1, ConstraintValidation as ConstraintValidation$1, CheckedIndeterminate as CheckedIndeterminate$1, FormAssociated as FormAssociated$1, HoverController as HoverController$1, formValue as formValue$1, isDisabledMixin as isDisabledMixin$1, isDisabledInteractiveMixin as isDisabledInteractiveMixin$1, isLinkButtonMixin as isLinkButtonMixin$1, getTextContent as getTextContent$1, Vertical as Vertical$1, Selected as Selected$1, ScrollController as ScrollController$1, isReadOnlyMixin as isReadOnlyMixin$1, interceptProperty as interceptProperty$1, computeLineCount as computeLineCount$1, generateClipPaths as generateClipPaths$1, Checked as Checked$1, AnimationLoopController as AnimationLoopController$1, resolveFragmentUrl as resolveFragmentUrl$1, safeStyleMap as safeStyleMap$1, updateLabels as updateLabels$1, guid as guid$1, IntersectionController as IntersectionController$1, LongPressController as LongPressController$1 } from '@m3e/web/core';
9
+ import { DesignToken as DesignToken$1, HtmlFor as HtmlFor$1, Role as Role$1, hasAssignedNodes as hasAssignedNodes$1, debounce as debounce$1, customElement as customElement$1, EventAttribute as EventAttribute$1, MutationController as MutationController$1, setCustomState as setCustomState$1, deleteCustomState as deleteCustomState$1, prefersReducedMotion as prefersReducedMotion$1, scrollIntoViewIfNeeded as scrollIntoViewIfNeeded$1, forcedColorsActive as forcedColorsActive$1, addCustomState as addCustomState$1, ActionElementBase as ActionElementBase$1, ReconnectedCallback as ReconnectedCallback$1, SuppressInitialAnimation as SuppressInitialAnimation$1, AttachInternals as AttachInternals$1, VelocityTracker as VelocityTracker$1, ScrollLockController as ScrollLockController$1, InertController as InertController$1, ResizeController as ResizeController$1, focusWhenReady as focusWhenReady$1, hasCustomState as hasCustomState$1, computeCssSize as computeCssSize$1, registerStyleSheet as registerStyleSheet$1, spaceSeparatedStringConverter as spaceSeparatedStringConverter$1, KeyboardClick as KeyboardClick$1, LinkButton as LinkButton$1, FormSubmitter as FormSubmitter$1, Focusable as Focusable$1, DisabledInteractive as DisabledInteractive$1, Disabled as Disabled$1, FocusController as FocusController$1, PressedController as PressedController$1, renderPseudoLink as renderPseudoLink$1, isSelectedMixin as isSelectedMixin$1, dateConverter as dateConverter$1, Labelled as Labelled$1, RequiredConstraintValidation as RequiredConstraintValidation$1, Dirty as Dirty$1, Touched as Touched$1, Required as Required$1, ConstraintValidation as ConstraintValidation$1, CheckedIndeterminate as CheckedIndeterminate$1, FormAssociated as FormAssociated$1, HoverController as HoverController$1, formValue as formValue$1, isDisabledMixin as isDisabledMixin$1, isDisabledInteractiveMixin as isDisabledInteractiveMixin$1, isLinkButtonMixin as isLinkButtonMixin$1, getTextContent as getTextContent$1, Vertical as Vertical$1, Selected as Selected$1, ScrollController as ScrollController$1, isReadOnlyMixin as isReadOnlyMixin$1, interceptProperty as interceptProperty$1, computeLineCount as computeLineCount$1, generateClipPaths as generateClipPaths$1, Checked as Checked$1, AnimationLoopController as AnimationLoopController$1, resolveFragmentUrl as resolveFragmentUrl$1, safeStyleMap as safeStyleMap$1, updateLabels as updateLabels$1, waitForUpgrade as waitForUpgrade$1, guid as guid$1, IntersectionController as IntersectionController$1, LongPressController as LongPressController$1 } from '@m3e/web/core';
10
10
  import { ListKeyManager, M3eLiveAnnouncer, M3eInteractivityChecker, isModifierAllowed, addAriaReferencedId, removeAriaReferencedId, selectionManager, SelectionManager, ListManager, RovingTabIndexManager, M3eAriaDescriber, typeaheadLabel } from '@m3e/web/core/a11y';
11
11
  import { M3eOptGroupElement as M3eOptGroupElement$1 } from '@m3e/web/option';
12
12
  import { M3eDirectionality } from '@m3e/web/core/bidi';
@@ -358,7 +358,7 @@ __decorate([property({
358
358
  __decorate([debounce$1(40)], M3eAppBarElement.prototype, "_updateScroll", null);
359
359
  M3eAppBarElement = __decorate([customElement$1("m3e-app-bar")], M3eAppBarElement);
360
360
 
361
- var _M3eAutocompleteElement_instances, _M3eAutocompleteElement_id, _M3eAutocompleteElement_menuId, _M3eAutocompleteElement_clone, _M3eAutocompleteElement_ignoreFocusVisible, _M3eAutocompleteElement_menu, _M3eAutocompleteElement_ignoreHideMenuOnBlur, _M3eAutocompleteElement_inputChanged, _M3eAutocompleteElement_hasFocus, _M3eAutocompleteElement_mutationAbortController, _M3eAutocompleteElement_clickHandler, _M3eAutocompleteElement_formFieldPointerDownHandler, _M3eAutocompleteElement_focusHandler, _M3eAutocompleteElement_blurHandler, _M3eAutocompleteElement_keyDownHandler, _M3eAutocompleteElement_inputHandler, _M3eAutocompleteElement_changeHandler, _M3eAutocompleteElement_menuToggleHandler, _M3eAutocompleteElement_menuPointerDownHandler, _M3eAutocompleteElement_options_get, _M3eAutocompleteElement_input_get, _M3eAutocompleteElement_hasNoDataSlot_get, _M3eAutocompleteElement_hasLoadingSlot_get, _M3eAutocompleteElement_shouldShowMenu_get, _M3eAutocompleteElement_formField_get, _M3eAutocompleteElement_handleMutation, _M3eAutocompleteElement_handleClick, _M3eAutocompleteElement_handleFormFieldPointerDown, _M3eAutocompleteElement_handleFocus, _M3eAutocompleteElement_handleBlur, _M3eAutocompleteElement_handleInput, _M3eAutocompleteElement_handleChange, _M3eAutocompleteElement_handleKeyDown, _M3eAutocompleteElement_handleMenuPointerDown, _M3eAutocompleteElement_handleMenuToggle, _M3eAutocompleteElement_destroyMenu, _M3eAutocompleteElement_showMenu, _M3eAutocompleteElement_projectClone, _M3eAutocompleteElement_updateMenuState, _M3eAutocompleteElement_hideMenu, _M3eAutocompleteElement_activateOption, _M3eAutocompleteElement_updateSelectionState, _M3eAutocompleteElement_selectOption, _M3eAutocompleteElement_filterOption, _M3eAutocompleteElement_filterOptions, _M3eAutocompleteElement_clearOptions, _M3eAutocompleteElement_announceResults, _M3eAutocompleteElement_autoActivate, _M3eAutocompleteElement_deactivateOption;
361
+ var _M3eAutocompleteElement_instances, _M3eAutocompleteElement_id, _M3eAutocompleteElement_menuId, _M3eAutocompleteElement_clone, _M3eAutocompleteElement_ignoreFocusVisible, _M3eAutocompleteElement_menu, _M3eAutocompleteElement_ignoreHideMenuOnBlur, _M3eAutocompleteElement_inputChanged, _M3eAutocompleteElement_hasFocus, _M3eAutocompleteElement_mutationAbortController, _M3eAutocompleteElement_clickHandler, _M3eAutocompleteElement_formFieldPointerDownHandler, _M3eAutocompleteElement_focusHandler, _M3eAutocompleteElement_blurHandler, _M3eAutocompleteElement_keyDownHandler, _M3eAutocompleteElement_inputHandler, _M3eAutocompleteElement_changeHandler, _M3eAutocompleteElement_menuToggleHandler, _M3eAutocompleteElement_menuPointerDownHandler, _M3eAutocompleteElement_menuPointerUpHandler, _M3eAutocompleteElement_menuPressedOption, _M3eAutocompleteElement_options_get, _M3eAutocompleteElement_input_get, _M3eAutocompleteElement_hasNoDataSlot_get, _M3eAutocompleteElement_hasLoadingSlot_get, _M3eAutocompleteElement_shouldShowMenu_get, _M3eAutocompleteElement_formField_get, _M3eAutocompleteElement_handleMutation, _M3eAutocompleteElement_handleClick, _M3eAutocompleteElement_handleFormFieldPointerDown, _M3eAutocompleteElement_handleFocus, _M3eAutocompleteElement_handleBlur, _M3eAutocompleteElement_handleInput, _M3eAutocompleteElement_handleChange, _M3eAutocompleteElement_handleKeyDown, _M3eAutocompleteElement_handleMenuPointerDown, _M3eAutocompleteElement_handleMenuPointerUp, _M3eAutocompleteElement_handleMenuToggle, _M3eAutocompleteElement_destroyMenu, _M3eAutocompleteElement_showMenu, _M3eAutocompleteElement_projectClone, _M3eAutocompleteElement_updateMenuState, _M3eAutocompleteElement_hideMenu, _M3eAutocompleteElement_activateOption, _M3eAutocompleteElement_updateSelectionState, _M3eAutocompleteElement_selectOption, _M3eAutocompleteElement_filterOption, _M3eAutocompleteElement_filterOptions, _M3eAutocompleteElement_clearOptions, _M3eAutocompleteElement_announceResults, _M3eAutocompleteElement_autoActivate, _M3eAutocompleteElement_deactivateOption;
362
362
  var M3eAutocompleteElement_1;
363
363
  /**
364
364
  * Enhances a text input with suggested options.
@@ -450,6 +450,10 @@ let M3eAutocompleteElement = M3eAutocompleteElement_1 = class M3eAutocompleteEle
450
450
  /** @private */
451
451
  _M3eAutocompleteElement_menuPointerDownHandler.set(this, e => __classPrivateFieldGet(this, _M3eAutocompleteElement_instances, "m", _M3eAutocompleteElement_handleMenuPointerDown).call(this, e));
452
452
  /** @private */
453
+ _M3eAutocompleteElement_menuPointerUpHandler.set(this, e => __classPrivateFieldGet(this, _M3eAutocompleteElement_instances, "m", _M3eAutocompleteElement_handleMenuPointerUp).call(this, e));
454
+ /** @private */
455
+ _M3eAutocompleteElement_menuPressedOption.set(this, void 0);
456
+ /** @private */
453
457
  this._listKeyManager = new ListKeyManager().withWrap().withHomeAndEnd().withPageUpAndDown().withVerticalOrientation().withSkipPredicate(item => item.disabled || item.hidden === true).onActiveItemChange(() => {
454
458
  if (this._listKeyManager.activeItem) {
455
459
  __classPrivateFieldGet(this, _M3eAutocompleteElement_instances, "m", _M3eAutocompleteElement_activateOption).call(this, this._listKeyManager.activeItem);
@@ -640,6 +644,8 @@ _M3eAutocompleteElement_inputHandler = new WeakMap();
640
644
  _M3eAutocompleteElement_changeHandler = new WeakMap();
641
645
  _M3eAutocompleteElement_menuToggleHandler = new WeakMap();
642
646
  _M3eAutocompleteElement_menuPointerDownHandler = new WeakMap();
647
+ _M3eAutocompleteElement_menuPointerUpHandler = new WeakMap();
648
+ _M3eAutocompleteElement_menuPressedOption = new WeakMap();
643
649
  _M3eAutocompleteElement_instances = new WeakSet();
644
650
  _M3eAutocompleteElement_options_get = function _M3eAutocompleteElement_options_get() {
645
651
  return this._listKeyManager?.items ?? [];
@@ -820,18 +826,30 @@ _M3eAutocompleteElement_handleKeyDown = function _M3eAutocompleteElement_handleK
820
826
  }
821
827
  };
822
828
  _M3eAutocompleteElement_handleMenuPointerDown = function _M3eAutocompleteElement_handleMenuPointerDown(e) {
829
+ __classPrivateFieldSet(this, _M3eAutocompleteElement_menuPressedOption, undefined, "f");
823
830
  if (e.button === 2) return;
831
+ // Prevent click to avoid stealing focus.
824
832
  e.preventDefault();
825
833
  e.stopImmediatePropagation();
826
834
  const option = e.composedPath().find(x => x instanceof HTMLElement && x.tagName === "M3E-OPTION");
827
835
  if (option && !option.disabled) {
836
+ __classPrivateFieldSet(this, _M3eAutocompleteElement_menuPressedOption, option, "f");
837
+ }
838
+ };
839
+ _M3eAutocompleteElement_handleMenuPointerUp = function _M3eAutocompleteElement_handleMenuPointerUp(e) {
840
+ const pressedOption = __classPrivateFieldGet(this, _M3eAutocompleteElement_menuPressedOption, "f");
841
+ __classPrivateFieldSet(this, _M3eAutocompleteElement_menuPressedOption, undefined, "f");
842
+ if (e.button === 2) return;
843
+ if (!pressedOption) return;
844
+ const option = e.composedPath().find(x => x instanceof HTMLElement && x.tagName === "M3E-OPTION");
845
+ if (option === pressedOption) {
828
846
  this._listKeyManager.setActiveItem(option);
829
847
  __classPrivateFieldGet(this, _M3eAutocompleteElement_instances, "m", _M3eAutocompleteElement_selectOption).call(this, option);
830
- if (!prefersReducedMotion$1()) {
831
- setTimeout(() => __classPrivateFieldGet(this, _M3eAutocompleteElement_instances, "m", _M3eAutocompleteElement_hideMenu).call(this), 150);
832
- } else {
833
- __classPrivateFieldGet(this, _M3eAutocompleteElement_instances, "m", _M3eAutocompleteElement_hideMenu).call(this);
834
- }
848
+ }
849
+ if (!prefersReducedMotion$1()) {
850
+ setTimeout(() => __classPrivateFieldGet(this, _M3eAutocompleteElement_instances, "m", _M3eAutocompleteElement_hideMenu).call(this), 150);
851
+ } else {
852
+ __classPrivateFieldGet(this, _M3eAutocompleteElement_instances, "m", _M3eAutocompleteElement_hideMenu).call(this);
835
853
  }
836
854
  };
837
855
  _M3eAutocompleteElement_handleMenuToggle = function _M3eAutocompleteElement_handleMenuToggle(e) {
@@ -864,6 +882,7 @@ _M3eAutocompleteElement_destroyMenu = function _M3eAutocompleteElement_destroyMe
864
882
  __classPrivateFieldGet(this, _M3eAutocompleteElement_menu, "f").remove();
865
883
  __classPrivateFieldGet(this, _M3eAutocompleteElement_menu, "f").removeEventListener("toggle", __classPrivateFieldGet(this, _M3eAutocompleteElement_menuToggleHandler, "f"));
866
884
  __classPrivateFieldGet(this, _M3eAutocompleteElement_menu, "f").removeEventListener("pointerdown", __classPrivateFieldGet(this, _M3eAutocompleteElement_menuPointerDownHandler, "f"));
885
+ __classPrivateFieldGet(this, _M3eAutocompleteElement_menu, "f").removeEventListener("pointerup", __classPrivateFieldGet(this, _M3eAutocompleteElement_menuPointerUpHandler, "f"));
867
886
  __classPrivateFieldSet(this, _M3eAutocompleteElement_menu, undefined, "f");
868
887
  if (__classPrivateFieldGet(this, _M3eAutocompleteElement_instances, "a", _M3eAutocompleteElement_input_get)) {
869
888
  __classPrivateFieldGet(this, _M3eAutocompleteElement_instances, "a", _M3eAutocompleteElement_input_get).ariaExpanded = "false";
@@ -897,6 +916,7 @@ _M3eAutocompleteElement_showMenu = function _M3eAutocompleteElement_showMenu() {
897
916
  __classPrivateFieldGet(this, _M3eAutocompleteElement_menu, "f").fitAnchorWidth = true;
898
917
  __classPrivateFieldGet(this, _M3eAutocompleteElement_menu, "f").addEventListener("toggle", __classPrivateFieldGet(this, _M3eAutocompleteElement_menuToggleHandler, "f"));
899
918
  __classPrivateFieldGet(this, _M3eAutocompleteElement_menu, "f").addEventListener("pointerdown", __classPrivateFieldGet(this, _M3eAutocompleteElement_menuPointerDownHandler, "f"));
919
+ __classPrivateFieldGet(this, _M3eAutocompleteElement_menu, "f").addEventListener("pointerup", __classPrivateFieldGet(this, _M3eAutocompleteElement_menuPointerUpHandler, "f"));
900
920
  __classPrivateFieldGet(this, _M3eAutocompleteElement_instances, "m", _M3eAutocompleteElement_projectClone).call(this);
901
921
  __classPrivateFieldGet(this, _M3eAutocompleteElement_instances, "m", _M3eAutocompleteElement_updateMenuState).call(this, __classPrivateFieldGet(this, _M3eAutocompleteElement_menu, "f"), count);
902
922
  (__classPrivateFieldGet(this, _M3eAutocompleteElement_instances, "a", _M3eAutocompleteElement_formField_get) ?? __classPrivateFieldGet(this, _M3eAutocompleteElement_instances, "a", _M3eAutocompleteElement_input_get)).insertAdjacentElement("afterend", __classPrivateFieldGet(this, _M3eAutocompleteElement_menu, "f"));
@@ -6987,6 +7007,27 @@ class VelocityTracker {
6987
7007
  }
6988
7008
  _VelocityTracker_samples = new WeakMap(), _VelocityTracker_windowMs = new WeakMap();
6989
7009
 
7010
+ /**
7011
+ * Determines whether an element is a custom element and waits for it to be upgraded.
7012
+ * @param {Element} el The element for which to wait for upgrade.
7013
+ */
7014
+ async function waitForUpgrade(el) {
7015
+ const tag = el.tagName.toLowerCase();
7016
+ if (!tag.includes("-")) return;
7017
+ if (!customElements.get(tag)) {
7018
+ await customElements.whenDefined(tag);
7019
+ }
7020
+ const ctor = customElements.get(tag);
7021
+ if (!ctor || el instanceof ctor) {
7022
+ return;
7023
+ }
7024
+ await Promise.resolve();
7025
+ if (el instanceof ctor) {
7026
+ return;
7027
+ }
7028
+ await Promise.resolve();
7029
+ }
7030
+
6990
7031
  var _FocusController_instances, _FocusController_touch, _FocusController_callback, _FocusController_keyDownHandler, _FocusController_focusInHandler, _FocusController_focusOutHandler, _FocusController_touchStartHandler, _FocusController_touchEndHandler, _FocusController_hadKeydown, _FocusController_windowKeyDownHandler, _FocusController_windowPointerDownHandler, _FocusController_handleKeyDown, _FocusController_handleFocusIn, _FocusController_handleFocusOut;
6991
7032
  /** A `ReactiveController` used to monitor the focused state of one or more elements. */
6992
7033
  class FocusController extends MonitorControllerBase {
@@ -22744,7 +22785,7 @@ __decorate([property({
22744
22785
  })], M3eSegmentedButtonElement.prototype, "hideSelectionIndicator", void 0);
22745
22786
  M3eSegmentedButtonElement = __decorate([customElement$1("m3e-segmented-button")], M3eSegmentedButtonElement);
22746
22787
 
22747
- var _M3eSelectElement_instances, _M3eSelectElement_clone, _M3eSelectElement_menu, _M3eSelectElement_ignoreKeyUp, _M3eSelectElement_ignoreFocusVisible, _M3eSelectElement_id, _M3eSelectElement_listId, _M3eSelectElement_clickHandler, _M3eSelectElement_keyDownHandler, _M3eSelectElement_keyUpHandler, _M3eSelectElement_menuToggleHandler, _M3eSelectElement_menuPointerDownHandler, _M3eSelectElement_options_get, _M3eSelectElement_selected_get, _M3eSelectElement_formField_get, _M3eSelectElement_handleMutation, _M3eSelectElement_handleClick, _M3eSelectElement_handleKeyDown, _M3eSelectElement_handleKeyUp, _M3eSelectElement_handleMenuPointerDown, _M3eSelectElement_handleMenuToggle, _M3eSelectElement_destroyMenu, _M3eSelectElement_toggleMenu, _M3eSelectElement_showMenu, _M3eSelectElement_hideMenu, _M3eSelectElement_activateOption, _M3eSelectElement_updateSelectionState, _M3eSelectElement_selectOption;
22788
+ var _M3eSelectElement_instances, _M3eSelectElement_clone, _M3eSelectElement_menu, _M3eSelectElement_ignoreKeyUp, _M3eSelectElement_ignoreFocusVisible, _M3eSelectElement_id, _M3eSelectElement_listId, _M3eSelectElement_clickHandler, _M3eSelectElement_keyDownHandler, _M3eSelectElement_keyUpHandler, _M3eSelectElement_menuToggleHandler, _M3eSelectElement_menuPointerDownHandler, _M3eSelectElement_menuPointerUpHandler, _M3eSelectElement_menuPressedOption, _M3eSelectElement_options_get, _M3eSelectElement_selected_get, _M3eSelectElement_formField_get, _M3eSelectElement_handleMutation, _M3eSelectElement_handleClick, _M3eSelectElement_handleKeyDown, _M3eSelectElement_handleKeyUp, _M3eSelectElement_handleMenuPointerDown, _M3eSelectElement_handleMenuPointerUp, _M3eSelectElement_handleMenuToggle, _M3eSelectElement_destroyMenu, _M3eSelectElement_toggleMenu, _M3eSelectElement_showMenu, _M3eSelectElement_hideMenu, _M3eSelectElement_activateOption, _M3eSelectElement_updateSelectionState, _M3eSelectElement_selectOption;
22748
22789
  var M3eSelectElement_1;
22749
22790
  /**
22750
22791
  * A form control that allows users to select a value from a set of predefined options.
@@ -22828,6 +22869,10 @@ let M3eSelectElement = M3eSelectElement_1 = class M3eSelectElement extends Focus
22828
22869
  /** @private */
22829
22870
  _M3eSelectElement_menuPointerDownHandler.set(this, e => __classPrivateFieldGet(this, _M3eSelectElement_instances, "m", _M3eSelectElement_handleMenuPointerDown).call(this, e));
22830
22871
  /** @private */
22872
+ _M3eSelectElement_menuPointerUpHandler.set(this, e => __classPrivateFieldGet(this, _M3eSelectElement_instances, "m", _M3eSelectElement_handleMenuPointerUp).call(this, e));
22873
+ /** @private */
22874
+ _M3eSelectElement_menuPressedOption.set(this, void 0);
22875
+ /** @private */
22831
22876
  this._listKeyManager = new ListKeyManager().withWrap().withHomeAndEnd().withPageUpAndDown().withVerticalOrientation().withTypeahead().onActiveItemChange(() => {
22832
22877
  if (this._listKeyManager.activeItem) {
22833
22878
  __classPrivateFieldGet(this, _M3eSelectElement_instances, "m", _M3eSelectElement_activateOption).call(this, this._listKeyManager.activeItem);
@@ -22877,7 +22922,7 @@ let M3eSelectElement = M3eSelectElement_1 = class M3eSelectElement extends Focus
22877
22922
  }
22878
22923
  }
22879
22924
  /** @inheritdoc @internal */
22880
- get [(_M3eSelectElement_clone = new WeakMap(), _M3eSelectElement_menu = new WeakMap(), _M3eSelectElement_ignoreKeyUp = new WeakMap(), _M3eSelectElement_ignoreFocusVisible = new WeakMap(), _M3eSelectElement_id = new WeakMap(), _M3eSelectElement_listId = new WeakMap(), _M3eSelectElement_clickHandler = new WeakMap(), _M3eSelectElement_keyDownHandler = new WeakMap(), _M3eSelectElement_keyUpHandler = new WeakMap(), _M3eSelectElement_menuToggleHandler = new WeakMap(), _M3eSelectElement_menuPointerDownHandler = new WeakMap(), _M3eSelectElement_instances = new WeakSet(), _M3eSelectElement_options_get = function _M3eSelectElement_options_get() {
22925
+ get [(_M3eSelectElement_clone = new WeakMap(), _M3eSelectElement_menu = new WeakMap(), _M3eSelectElement_ignoreKeyUp = new WeakMap(), _M3eSelectElement_ignoreFocusVisible = new WeakMap(), _M3eSelectElement_id = new WeakMap(), _M3eSelectElement_listId = new WeakMap(), _M3eSelectElement_clickHandler = new WeakMap(), _M3eSelectElement_keyDownHandler = new WeakMap(), _M3eSelectElement_keyUpHandler = new WeakMap(), _M3eSelectElement_menuToggleHandler = new WeakMap(), _M3eSelectElement_menuPointerDownHandler = new WeakMap(), _M3eSelectElement_menuPointerUpHandler = new WeakMap(), _M3eSelectElement_menuPressedOption = new WeakMap(), _M3eSelectElement_instances = new WeakSet(), _M3eSelectElement_options_get = function _M3eSelectElement_options_get() {
22881
22926
  return this._listKeyManager?.items ?? [];
22882
22927
  }, _M3eSelectElement_selected_get = function _M3eSelectElement_selected_get() {
22883
22928
  return __classPrivateFieldGet(this, _M3eSelectElement_instances, "a", _M3eSelectElement_options_get).filter(x => x.selected);
@@ -23056,23 +23101,36 @@ _M3eSelectElement_handleKeyUp = function _M3eSelectElement_handleKeyUp(e) {
23056
23101
  }
23057
23102
  };
23058
23103
  _M3eSelectElement_handleMenuPointerDown = function _M3eSelectElement_handleMenuPointerDown(e) {
23104
+ __classPrivateFieldSet(this, _M3eSelectElement_menuPressedOption, undefined, "f");
23059
23105
  if (e.button === 2) return;
23106
+ // Prevent click to avoid stealing focus.
23060
23107
  e.preventDefault();
23061
23108
  e.stopImmediatePropagation();
23062
23109
  const option = e.composedPath().find(x => x instanceof HTMLElement && x.tagName === "M3E-OPTION");
23063
23110
  if (option && !option.disabled) {
23111
+ __classPrivateFieldSet(this, _M3eSelectElement_menuPressedOption, option, "f");
23112
+ }
23113
+ };
23114
+ _M3eSelectElement_handleMenuPointerUp = function _M3eSelectElement_handleMenuPointerUp(e) {
23115
+ const pressedOption = __classPrivateFieldGet(this, _M3eSelectElement_menuPressedOption, "f");
23116
+ __classPrivateFieldSet(this, _M3eSelectElement_menuPressedOption, undefined, "f");
23117
+ if (e.button === 2) return;
23118
+ if (!pressedOption) return;
23119
+ const option = e.composedPath().find(x => x instanceof HTMLElement && x.tagName === "M3E-OPTION");
23120
+ if (option === pressedOption) {
23064
23121
  __classPrivateFieldGet(this, _M3eSelectElement_instances, "m", _M3eSelectElement_selectOption).call(this, option);
23065
23122
  this._listKeyManager.setActiveItem(option);
23066
- if (!this.multi) {
23067
- if (!prefersReducedMotion$1()) {
23068
- setTimeout(() => __classPrivateFieldGet(this, _M3eSelectElement_instances, "m", _M3eSelectElement_hideMenu).call(this), 150);
23069
- } else {
23070
- __classPrivateFieldGet(this, _M3eSelectElement_instances, "m", _M3eSelectElement_hideMenu).call(this);
23071
- }
23072
- } else {
23123
+ if (this.multi) {
23073
23124
  this.requestUpdate();
23074
23125
  }
23075
23126
  }
23127
+ if (!this.multi) {
23128
+ if (!prefersReducedMotion$1()) {
23129
+ setTimeout(() => __classPrivateFieldGet(this, _M3eSelectElement_instances, "m", _M3eSelectElement_hideMenu).call(this), 150);
23130
+ } else {
23131
+ __classPrivateFieldGet(this, _M3eSelectElement_instances, "m", _M3eSelectElement_hideMenu).call(this);
23132
+ }
23133
+ }
23076
23134
  };
23077
23135
  _M3eSelectElement_handleMenuToggle = function _M3eSelectElement_handleMenuToggle(e) {
23078
23136
  if (!__classPrivateFieldGet(this, _M3eSelectElement_menu, "f")) return;
@@ -23105,6 +23163,7 @@ _M3eSelectElement_destroyMenu = function _M3eSelectElement_destroyMenu(e) {
23105
23163
  __classPrivateFieldGet(this, _M3eSelectElement_menu, "f").remove();
23106
23164
  __classPrivateFieldGet(this, _M3eSelectElement_menu, "f").removeEventListener("toggle", __classPrivateFieldGet(this, _M3eSelectElement_menuToggleHandler, "f"));
23107
23165
  __classPrivateFieldGet(this, _M3eSelectElement_menu, "f").removeEventListener("pointerdown", __classPrivateFieldGet(this, _M3eSelectElement_menuPointerDownHandler, "f"));
23166
+ __classPrivateFieldGet(this, _M3eSelectElement_menu, "f").removeEventListener("pointerup", __classPrivateFieldGet(this, _M3eSelectElement_menuPointerUpHandler, "f"));
23108
23167
  __classPrivateFieldSet(this, _M3eSelectElement_menu, undefined, "f");
23109
23168
  this.ariaExpanded = "false";
23110
23169
  this.removeAttribute("aria-controls");
@@ -23142,6 +23201,7 @@ _M3eSelectElement_showMenu = function _M3eSelectElement_showMenu() {
23142
23201
  __classPrivateFieldGet(this, _M3eSelectElement_menu, "f").fitAnchorWidth = true;
23143
23202
  __classPrivateFieldGet(this, _M3eSelectElement_menu, "f").addEventListener("toggle", __classPrivateFieldGet(this, _M3eSelectElement_menuToggleHandler, "f"));
23144
23203
  __classPrivateFieldGet(this, _M3eSelectElement_menu, "f").addEventListener("pointerdown", __classPrivateFieldGet(this, _M3eSelectElement_menuPointerDownHandler, "f"));
23204
+ __classPrivateFieldGet(this, _M3eSelectElement_menu, "f").addEventListener("pointerup", __classPrivateFieldGet(this, _M3eSelectElement_menuPointerUpHandler, "f"));
23145
23205
  if (__classPrivateFieldGet(this, _M3eSelectElement_clone, "f")) {
23146
23206
  __classPrivateFieldGet(this, _M3eSelectElement_menu, "f").replaceChildren(...__classPrivateFieldGet(this, _M3eSelectElement_clone, "f").childNodes);
23147
23207
  }
@@ -23362,6 +23422,146 @@ __decorate([property({
23362
23422
  })], M3eShapeElement.prototype, "name", void 0);
23363
23423
  M3eShapeElement = __decorate([customElement$1("m3e-shape")], M3eShapeElement);
23364
23424
 
23425
+ var _M3eSkeletonElement_instances, _M3eSkeletonElement_anchoringCleanupMap, _M3eSkeletonElement_handleSlotChange, _M3eSkeletonElement_clearShapes, _M3eSkeletonElement_createShapes, _M3eSkeletonElement_createShape;
23426
+ /**
23427
+ * A visual placeholder that mimics the layout of content while it's still loading.
23428
+ * @description
23429
+ * The `m3e-skeleton` component provides a loading placeholder surface with flexible shape variants and
23430
+ * motion-based animations that communicate loading state while preserving layout stability. It mimics
23431
+ * the layout of content while it's still loading, ensuring a smooth user experience during data fetching
23432
+ * or rendering delays. The component supports different animation effects (`pulse`, `wave`, `none`) and
23433
+ * shape variants (`circular`, `rounded`, `square`, `auto`) to adapt to various content types. When the
23434
+ * content is loaded, the skeleton fades out with a smooth transition.
23435
+ *
23436
+ * @example
23437
+ * The following example illustrates a skeleton shaped and sized by the slotted `m3e-card`.
23438
+ * ```html
23439
+ * <m3e-skeleton>
23440
+ * <m3e-card></m3e-card>
23441
+ * </m3e-skeleton>
23442
+ * ```
23443
+ *
23444
+ * @tag m3e-skeleton
23445
+ *
23446
+ * @attr animation - The animation effect of the skeleton.
23447
+ * @attr shape - The shape of the skeleton.
23448
+ * @attr loaded - Whether the content of the skeleton has been loaded.
23449
+ *
23450
+ * @slot - Renders the content to be mimicked by the skeleton.
23451
+ *
23452
+ * @cssprop --m3e-skeleton-color - Base fill color for the skeleton surface.
23453
+ * @cssprop --m3e-skeleton-tint-color - Tint fill color for the skeleton surface.
23454
+ * @cssprop --m3e-skeleton-tint-opacity - Tint Opacity applied when the skeleton animation is not pulsating.
23455
+ * @cssprop --m3e-skeleton-accent-color - Accent color used in wave animation.
23456
+ * @cssprop --m3e-skeleton-accent-opacity - Opacity of the accent effect in animations.
23457
+ * @cssprop --m3e-skeleton-rounded-shape - Corner radius for the rounded skeleton shape.
23458
+ * @cssprop --m3e-skeleton-circular-shape - Corner radius for the circular skeleton shape.
23459
+ * @cssprop --m3e-skeleton-square-shape - Corner radius for the square skeleton shape.
23460
+ * @cssprop --m3e-skeleton-shape - Corner radius for the skeleton shape.
23461
+ */
23462
+ let M3eSkeletonElement = class M3eSkeletonElement extends ReconnectedCallback$1(LitElement) {
23463
+ constructor() {
23464
+ super(...arguments);
23465
+ _M3eSkeletonElement_instances.add(this);
23466
+ /** @private */
23467
+ _M3eSkeletonElement_anchoringCleanupMap.set(this, new Map());
23468
+ /**
23469
+ * The shape of the skeleton.
23470
+ * @default "auto"
23471
+ */
23472
+ this.shape = "auto";
23473
+ /**
23474
+ * The animation effect of the skeleton.
23475
+ * @default "wave"
23476
+ */
23477
+ this.animation = "wave";
23478
+ /**
23479
+ * Whether the content of the skeleton has been loaded.
23480
+ * @default false
23481
+ */
23482
+ this.loaded = false;
23483
+ }
23484
+ /** @inheritdoc */
23485
+ disconnectedCallback() {
23486
+ super.disconnectedCallback();
23487
+ __classPrivateFieldGet(this, _M3eSkeletonElement_instances, "m", _M3eSkeletonElement_clearShapes).call(this);
23488
+ }
23489
+ /** @inheritdoc */
23490
+ reconnectedCallback() {
23491
+ super.reconnectedCallback();
23492
+ __classPrivateFieldGet(this, _M3eSkeletonElement_instances, "m", _M3eSkeletonElement_createShapes).call(this);
23493
+ }
23494
+ /** @inheritdoc */
23495
+ render() {
23496
+ return html`<slot ?inert="${!this.loaded}" @slotchange="${__classPrivateFieldGet(this, _M3eSkeletonElement_instances, "m", _M3eSkeletonElement_handleSlotChange)}"></slot>`;
23497
+ }
23498
+ };
23499
+ _M3eSkeletonElement_anchoringCleanupMap = new WeakMap();
23500
+ _M3eSkeletonElement_instances = new WeakSet();
23501
+ _M3eSkeletonElement_handleSlotChange = /** @private */
23502
+ async function _M3eSkeletonElement_handleSlotChange() {
23503
+ __classPrivateFieldGet(this, _M3eSkeletonElement_instances, "m", _M3eSkeletonElement_createShapes).call(this);
23504
+ };
23505
+ _M3eSkeletonElement_clearShapes = function _M3eSkeletonElement_clearShapes() {
23506
+ for (const item of __classPrivateFieldGet(this, _M3eSkeletonElement_anchoringCleanupMap, "f")) {
23507
+ item[0].remove();
23508
+ item[1]();
23509
+ }
23510
+ __classPrivateFieldGet(this, _M3eSkeletonElement_anchoringCleanupMap, "f").clear();
23511
+ };
23512
+ _M3eSkeletonElement_createShapes = /** @private */
23513
+ async function _M3eSkeletonElement_createShapes() {
23514
+ __classPrivateFieldGet(this, _M3eSkeletonElement_instances, "m", _M3eSkeletonElement_clearShapes).call(this);
23515
+ const slot = this.shadowRoot?.querySelector("slot");
23516
+ if (!slot) return;
23517
+ for (const element of slot.assignedElements({
23518
+ flatten: true
23519
+ }).filter(x => x instanceof HTMLElement)) {
23520
+ await __classPrivateFieldGet(this, _M3eSkeletonElement_instances, "m", _M3eSkeletonElement_createShape).call(this, element);
23521
+ }
23522
+ };
23523
+ _M3eSkeletonElement_createShape = /** @private */
23524
+ async function _M3eSkeletonElement_createShape(element) {
23525
+ await waitForUpgrade$1(element);
23526
+ const shape = document.createElement("div");
23527
+ shape.classList.add("shape");
23528
+ if (this.shape === "auto") {
23529
+ let borderRadius = getComputedStyle(element).borderRadius;
23530
+ if (!borderRadius || borderRadius === "0px") {
23531
+ const firstElement = element.shadowRoot?.firstElementChild;
23532
+ if (firstElement && !firstElement.nextElementSibling) {
23533
+ borderRadius = getComputedStyle(firstElement).borderRadius;
23534
+ }
23535
+ }
23536
+ if (borderRadius && borderRadius !== "0px") {
23537
+ shape.style.borderRadius = borderRadius;
23538
+ }
23539
+ }
23540
+ const anchoringCleanup = await positionAnchor(shape, element, {
23541
+ position: "bottom"
23542
+ }, (x, y) => {
23543
+ shape.style.left = `${x}px`;
23544
+ shape.style.top = `${y - element.clientHeight}px`;
23545
+ shape.style.width = `${element.clientWidth}px`;
23546
+ shape.style.height = `${element.clientHeight}px`;
23547
+ });
23548
+ __classPrivateFieldGet(this, _M3eSkeletonElement_anchoringCleanupMap, "f").set(shape, anchoringCleanup);
23549
+ this.shadowRoot?.appendChild(shape);
23550
+ };
23551
+ /** The styles of the element. */
23552
+ M3eSkeletonElement.styles = css`:host { display: contents; } .shape { position: absolute; overflow: hidden; pointer-events: none; opacity: 1; background-color: var(--m3e-skeleton-color, ${DesignToken$1.color.surface}); } .shape::before { content: ""; position: absolute; left: 0; top: 0; width: 100%; height: 100%; background-color: color-mix( in srgb, var(--m3e-skeleton-tint-color, ${DesignToken$1.color.onSurface}) var(--m3e-skeleton-tint-opacity, 8%), transparent ); } :host(:not([loaded])) slot { visibility: hidden; } :host([loaded]) .shape { opacity: 0; transition: ${unsafeCSS(`opacity ${DesignToken$1.motion.duration.short3} ${DesignToken$1.motion.easing.standard}`)}; } :host([shape="rounded"]) .shape { border-radius: var(--m3e-skeleton-rounded-shape, var(--m3e-skeleton-shape, ${DesignToken$1.shape.corner.large})); } :host([shape="circular"]) .shape { border-radius: var(--m3e-skeleton-circular-shape, var(--m3e-skeleton-shape, ${DesignToken$1.shape.corner.full})); } :host([shape="square"]) .shape { border-radius: var(--m3e-skeleton-square-shape, var(--m3e-skeleton-shape, 0px)); } :host([animation="pulse"]:not([loaded])) .shape::after { content: ""; position: absolute; top: 0; left: 0; width: 100%; height: 100%; animation: pulse 1.2s ease-in-out infinite; background-color: var(--m3e-skeleton-tint-color, ${DesignToken$1.color.surfaceDim}); } :host([animation="wave"]:not([loaded])) .shape::after { content: ""; position: absolute; top: 0; left: -150%; height: 100%; width: 150%; opacity: var(--m3e-skeleton-accent-opacity, 6%); background: linear-gradient( 90deg, transparent, var(--m3e-skeleton-accent-color, ${DesignToken$1.color.onSurface}), transparent ); animation: wave 2.1s linear infinite; } @keyframes pulse { 0% { opacity: 1; } 50% { opacity: var(--m3e-skeleton-accent-opacity, 6%); } 100% { opacity: 1; } } @keyframes wave { 0% { left: -150%; } 100% { left: 100%; } } @media (forced-colors: active) { :host([loaded]) .shape { transition: none; } .shape::after { display: none; } .shape { background-color: GrayText; } } @media (prefers-reduced-motion) { :host([loaded]) .shape { transition: none; } .shape::after { display: none; } }`;
23553
+ __decorate([property({
23554
+ reflect: true
23555
+ })], M3eSkeletonElement.prototype, "shape", void 0);
23556
+ __decorate([property({
23557
+ reflect: true
23558
+ })], M3eSkeletonElement.prototype, "animation", void 0);
23559
+ __decorate([property({
23560
+ type: Boolean,
23561
+ reflect: true
23562
+ })], M3eSkeletonElement.prototype, "loaded", void 0);
23563
+ M3eSkeletonElement = __decorate([customElement$1("m3e-skeleton")], M3eSkeletonElement);
23564
+
23365
23565
  var _M3eSlideGroupElement_instances, _M3eSlideGroupElement_directionalitySubscription, _M3eSlideGroupElement_resizeController, _M3eSlideGroupElement_pageStart, _M3eSlideGroupElement_pageEnd;
23366
23566
  /**
23367
23567
  * Presents pagination controls used to scroll overflowing content.
@@ -24573,6 +24773,618 @@ __decorate([property({
24573
24773
  })], M3eSplitButtonElement.prototype, "size", void 0);
24574
24774
  M3eSplitButtonElement = __decorate([customElement$1("m3e-split-button")], M3eSplitButtonElement);
24575
24775
 
24776
+ var _M3eSplitPaneElement_instances, _M3eSplitPaneElement_breakpointUnobserve, _M3eSplitPaneElement_dragPos, _M3eSplitPaneElement_valueChanged, _M3eSplitPaneElement_cachedSize, _M3eSplitPaneElement_snapAnimation, _M3eSplitPaneElement_pressedController, _M3eSplitPaneElement_startMutationController, _M3eSplitPaneElement_endMutationController, _M3eSplitPaneElement_renderDragHandle, _M3eSplitPaneElement_handleStartSlotChange, _M3eSplitPaneElement_handleEndSlotChange, _M3eSplitPaneElement_handleSlotChange, _M3eSplitPaneElement_updatePaneVisibility, _M3eSplitPaneElement_hasVisibleElements, _M3eSplitPaneElement_initialize, _M3eSplitPaneElement_initBreakpointMonitoring, _M3eSplitPaneElement_updateOrientation, _M3eSplitPaneElement_clearOrientation, _M3eSplitPaneElement_handlePointerDown, _M3eSplitPaneElement_handlePointerMove, _M3eSplitPaneElement_handlePointerUp, _M3eSplitPaneElement_handleKeyDown, _M3eSplitPaneElement_changeValue, _M3eSplitPaneElement_getClosestDetent, _M3eSplitPaneElement_getNextHigherDetent, _M3eSplitPaneElement_getNextLowerDetent, _M3eSplitPaneElement_computeDetent, _M3eSplitPaneElement_clearSnapAnimation, _M3eSplitPaneElement_snapToValue, _M3eSplitPaneElement_cycleDetent;
24777
+ /**
24778
+ * A dual-view layout that separates content with a movable drag handle.
24779
+ * @description
24780
+ * The `m3e-split-pane` component delivers a Material 3-inspired split view with a
24781
+ * movable drag handle, enabling responsive layout composition and pane resizing.
24782
+ * It supports keyboard interaction, adaptive orientation, and optional detent snapping
24783
+ * for consistent, accessible content distribution.
24784
+ *
24785
+ * @example
24786
+ * The following example illustrates the basic use of the `m3e-split-pane` with start and end content.
24787
+ * In this example, the start pane occupies 25% of the available width.
24788
+ * ```html
24789
+ * <m3e-split-pane value="25">
24790
+ * <m3e-card slot="start"></m3e-card>
24791
+ * <m3e-card slot="end"></m3e-card>
24792
+ * </m3e-split-pane>
24793
+ * ```
24794
+ *
24795
+ * @example
24796
+ * The next example demonstrates minimum and maximum constraints, where the start pane
24797
+ * may shrink to 25% but cannot grow beyond 50% of the available space.
24798
+ * ```html
24799
+ * <m3e-split-pane value="25" min="25" max="50">
24800
+ * <m3e-card slot="start"></m3e-card>
24801
+ * <m3e-card slot="end"></m3e-card>
24802
+ * </m3e-split-pane>
24803
+ * ```
24804
+ *
24805
+ * @example
24806
+ * The next example demonstrates percentage‑based detents, allowing the drag handle to snap at
24807
+ * 0%, 25%, 50%, 75%, and 100% of the available space.
24808
+ * ```html
24809
+ * <m3e-split-pane value="50" detents="0 25 50 75 100">
24810
+ * <m3e-card slot="start"></m3e-card>
24811
+ * <m3e-card slot="end"></m3e-card>
24812
+ * </m3e-split-pane>
24813
+ * ```
24814
+ *
24815
+ * @tag m3e-split-pane
24816
+ *
24817
+ * @slot start - Renders content at the logical start side of the pane.
24818
+ * @slot end - Renders content at the logical end side of the pane.
24819
+ *
24820
+ * @attr detents - Detents (discrete sizes) the start pane can snap to.
24821
+ * @attr label - The accessible label given to the moveable drag handle.
24822
+ * @attr max - A fractional value, between 0 and 100, indicating the maximum size of the start pane.
24823
+ * @attr min - A fractional value, between 0 and 100, indicating the minimum size of the start pane.
24824
+ * @attr orientation - The orientation of the split.
24825
+ * @attr step - A fractional value, between 0 and 100, indicating the increment by which to adjust the value when resized via keyboard.
24826
+ * @attr value - A fractional value, between 0 and 100, indicating the size of the start pane.
24827
+ * @attr wrap-detents - Whether cycling through detents will wrap.
24828
+ *
24829
+ * @fires input - Fired continuously while the user adjusts the drag handle.
24830
+ * @fires change - Fired when the user finishes adjusting the drag handle.
24831
+ *
24832
+ * @cssprop --m3e-split-pane-drag-handle-hover-color - Color used for the drag handle hover state.
24833
+ * @cssprop --m3e-split-pane-drag-handle-hover-opacity - Opacity used for the drag handle hover state.
24834
+ * @cssprop --m3e-split-pane-drag-handle-focus-color - Color used for the drag handle focus state.
24835
+ * @cssprop --m3e-split-pane-drag-handle-focus-opacity - Opacity used for the drag handle focus state.
24836
+ * @cssprop --m3e-split-pane-drag-handle-color - Background color of the drag handle when not pressed.
24837
+ * @cssprop --m3e-split-pane-drag-handle-shape - Corner shape of the drag handle when not pressed.
24838
+ * @cssprop --m3e-split-pane-drag-handle-pressed-color - Background color of the drag handle when pressed.
24839
+ * @cssprop --m3e-split-pane-drag-handle-pressed-shape - Corner shape of the drag handle when pressed.
24840
+ * @cssprop --m3e-split-pane-drag-handle-container-width - Width of the drag handle container.
24841
+ * @cssprop --m3e-split-pane-drag-handle-width - Thickness of the drag handle when not pressed.
24842
+ * @cssprop --m3e-split-pane-drag-handle-height - Length of the drag handle when not pressed.
24843
+ * @cssprop --m3e-split-pane-drag-handle-pressed-width - Thickness of the drag handle when pressed.
24844
+ * @cssprop --m3e-split-pane-drag-handle-pressed-height - Length of the drag handle when pressed.
24845
+ */
24846
+ let M3eSplitPaneElement = class M3eSplitPaneElement extends FormAssociated$1(Disabled$1(ReconnectedCallback$1(AttachInternals$1(LitElement)))) {
24847
+ constructor() {
24848
+ super(...arguments);
24849
+ _M3eSplitPaneElement_instances.add(this);
24850
+ /** @private */
24851
+ _M3eSplitPaneElement_breakpointUnobserve.set(this, void 0);
24852
+ /** @private */
24853
+ _M3eSplitPaneElement_dragPos.set(this, 0);
24854
+ /** @private */
24855
+ _M3eSplitPaneElement_valueChanged.set(this, false);
24856
+ /** @private */
24857
+ _M3eSplitPaneElement_cachedSize.set(this, 0);
24858
+ /** @private */
24859
+ _M3eSplitPaneElement_snapAnimation.set(this, void 0);
24860
+ /** @private */
24861
+ _M3eSplitPaneElement_pressedController.set(this, new PressedController$1(this, {
24862
+ target: null,
24863
+ isPressedKey: key => key === " ",
24864
+ minPressedDuration: 150,
24865
+ callback: pressed => setCustomState$1(this, "-pressed", pressed && !this.disabled)
24866
+ }));
24867
+ /** @private */
24868
+ _M3eSplitPaneElement_startMutationController.set(this, new MutationController$1(this, {
24869
+ target: null,
24870
+ config: {
24871
+ attributeFilter: ["hidden"]
24872
+ },
24873
+ callback: () => __classPrivateFieldGet(this, _M3eSplitPaneElement_instances, "m", _M3eSplitPaneElement_updatePaneVisibility).call(this, "start")
24874
+ }));
24875
+ /** @private */
24876
+ _M3eSplitPaneElement_endMutationController.set(this, new MutationController$1(this, {
24877
+ target: null,
24878
+ config: {
24879
+ attributeFilter: ["hidden"]
24880
+ },
24881
+ callback: () => __classPrivateFieldGet(this, _M3eSplitPaneElement_instances, "m", _M3eSplitPaneElement_updatePaneVisibility).call(this, "end")
24882
+ }));
24883
+ /**
24884
+ * A fractional value, between 0 and 100, indicating the size of the start pane.
24885
+ * @default 50
24886
+ */
24887
+ this.value = 50;
24888
+ /**
24889
+ * A fractional value, between 0 and 100, indicating the minimum size of the start pane.
24890
+ * @default 0
24891
+ */
24892
+ this.min = 0;
24893
+ /**
24894
+ * A fractional value, between 0 and 100, indicating the maximum size of the start pane.
24895
+ * @default 100
24896
+ */
24897
+ this.max = 100;
24898
+ /**
24899
+ * A fractional value, between 0 and 100, indicating the increment by which to adjust the value when resized via keyboard.
24900
+ * @default 1
24901
+ */
24902
+ this.step = 1;
24903
+ /**
24904
+ * Detents (discrete sizes) the start pane can snap to.
24905
+ * @default []
24906
+ */
24907
+ this.detents = [];
24908
+ /**
24909
+ * Whether cycling through detents will wrap.
24910
+ * @default false
24911
+ */
24912
+ this.wrapDetents = false;
24913
+ /**
24914
+ * The orientation of the split.
24915
+ * @default "horizontal"
24916
+ */
24917
+ this.orientation = "horizontal";
24918
+ /**
24919
+ * The accessible label given to the movable drag handle.
24920
+ * @default "Resize panes"
24921
+ */
24922
+ this.label = "Resize panes";
24923
+ /** A function used to generates human readable text for the accessible value (`aria-valuetext`) of the drag handle. */
24924
+ this.valueFormatter = (value, orientation, dir) => {
24925
+ value = Math.round(value);
24926
+ if (value >= 48 && value <= 52) {
24927
+ return "Panes equally sized";
24928
+ }
24929
+ switch (value) {
24930
+ case 0:
24931
+ return orientation === "horizontal" ? dir === "ltr" ? "Left pane collapsed" : "Right pane collapsed" : "Top pane collapsed";
24932
+ case 100:
24933
+ return orientation === "horizontal" ? dir === "ltr" ? "Right pane collapsed" : "Left pane collapsed" : "Bottom pane collapsed";
24934
+ default:
24935
+ return orientation === "horizontal" ? dir === "ltr" ? `Left pane ${value}%, right pane ${100 - value}%` : `Left pane ${100 - value}%, right pane ${value}%` : `Top pane ${value}%, bottom pane ${100 - value}%`;
24936
+ }
24937
+ };
24938
+ }
24939
+ /** The current orientation of the split. */
24940
+ get currentOrientation() {
24941
+ return this._orientation ?? (this.orientation !== "vertical" ? "horizontal" : "vertical");
24942
+ }
24943
+ /** @inheritdoc */
24944
+ get [(_M3eSplitPaneElement_breakpointUnobserve = new WeakMap(), _M3eSplitPaneElement_dragPos = new WeakMap(), _M3eSplitPaneElement_valueChanged = new WeakMap(), _M3eSplitPaneElement_cachedSize = new WeakMap(), _M3eSplitPaneElement_snapAnimation = new WeakMap(), _M3eSplitPaneElement_pressedController = new WeakMap(), _M3eSplitPaneElement_startMutationController = new WeakMap(), _M3eSplitPaneElement_endMutationController = new WeakMap(), _M3eSplitPaneElement_instances = new WeakSet(), formValue$1)]() {
24945
+ return this.value?.toString() ?? null;
24946
+ }
24947
+ /**
24948
+ * Moves the drag handle to the collapsed position. If detents exist, snaps to the collapsed detent.
24949
+ * If no detents exist, moves to the minimum allowed value.
24950
+ */
24951
+ collapse() {
24952
+ this.snapToValue(this.min);
24953
+ }
24954
+ /**
24955
+ * Moves the drag handle to the expanded position. If detents exist, snaps to the expanded detent.
24956
+ * If no detents exist, moves to the maximum allowed value.
24957
+ */
24958
+ expand() {
24959
+ this.snapToValue(this.max);
24960
+ }
24961
+ /**
24962
+ * Moves the drag handle to the specified position. If detents exist, snaps to the closest detent.
24963
+ * If no detents exist, moves to the specified value.
24964
+ * @param {number} value A fractional value, between 0 and 100, indicating the size of the start pane.
24965
+ */
24966
+ snapToValue(value) {
24967
+ const detent = __classPrivateFieldGet(this, _M3eSplitPaneElement_instances, "m", _M3eSplitPaneElement_getClosestDetent).call(this, value);
24968
+ value = detent > -1 ? __classPrivateFieldGet(this, _M3eSplitPaneElement_instances, "m", _M3eSplitPaneElement_computeDetent).call(this, this.detents[detent]) : value;
24969
+ if (!__classPrivateFieldGet(this, _M3eSplitPaneElement_snapAnimation, "f")) {
24970
+ __classPrivateFieldGet(this, _M3eSplitPaneElement_instances, "m", _M3eSplitPaneElement_snapToValue).call(this, value);
24971
+ } else {
24972
+ __classPrivateFieldGet(this, _M3eSplitPaneElement_instances, "m", _M3eSplitPaneElement_changeValue).call(this, value);
24973
+ }
24974
+ }
24975
+ /** @inheritdoc */
24976
+ disconnectedCallback() {
24977
+ super.disconnectedCallback();
24978
+ __classPrivateFieldGet(this, _M3eSplitPaneElement_instances, "m", _M3eSplitPaneElement_clearOrientation).call(this);
24979
+ __classPrivateFieldGet(this, _M3eSplitPaneElement_pressedController, "f").unobserve(this._dragHandle);
24980
+ }
24981
+ /** @inheritdoc */
24982
+ reconnectedCallback() {
24983
+ super.reconnectedCallback();
24984
+ __classPrivateFieldGet(this, _M3eSplitPaneElement_instances, "m", _M3eSplitPaneElement_initialize).call(this);
24985
+ if (this.orientation === "auto") {
24986
+ __classPrivateFieldGet(this, _M3eSplitPaneElement_instances, "m", _M3eSplitPaneElement_initBreakpointMonitoring).call(this);
24987
+ }
24988
+ }
24989
+ /** @inheritdoc */
24990
+ willUpdate(changedProperties) {
24991
+ super.willUpdate(changedProperties);
24992
+ if (changedProperties.has("orientation")) {
24993
+ __classPrivateFieldGet(this, _M3eSplitPaneElement_breakpointUnobserve, "f")?.call(this);
24994
+ if (this.orientation === "auto") {
24995
+ __classPrivateFieldGet(this, _M3eSplitPaneElement_instances, "m", _M3eSplitPaneElement_initBreakpointMonitoring).call(this);
24996
+ } else {
24997
+ this._orientation = undefined;
24998
+ __classPrivateFieldGet(this, _M3eSplitPaneElement_instances, "m", _M3eSplitPaneElement_updateOrientation).call(this);
24999
+ }
25000
+ }
25001
+ }
25002
+ /** @inheritdoc */
25003
+ updated(_changedProperties) {
25004
+ super.updated(_changedProperties);
25005
+ if (_changedProperties.has("value")) {
25006
+ this._base.style.setProperty("--_split-pane-value", `${this.value}%`);
25007
+ }
25008
+ }
25009
+ /** @inheritdoc */
25010
+ firstUpdated(_changedProperties) {
25011
+ super.firstUpdated(_changedProperties);
25012
+ __classPrivateFieldGet(this, _M3eSplitPaneElement_instances, "m", _M3eSplitPaneElement_initialize).call(this);
25013
+ }
25014
+ /** @inheritdoc */
25015
+ render() {
25016
+ return html`<div class="base"><div class="start" id="start" ?inert="${this.value <= 0}"><slot name="start" @slotchange="${__classPrivateFieldGet(this, _M3eSplitPaneElement_instances, "m", _M3eSplitPaneElement_handleStartSlotChange)}"></slot></div>${__classPrivateFieldGet(this, _M3eSplitPaneElement_instances, "m", _M3eSplitPaneElement_renderDragHandle).call(this)}<div class="end" ?inert="${this.value >= 100}"><slot name="end" @slotchange="${__classPrivateFieldGet(this, _M3eSplitPaneElement_instances, "m", _M3eSplitPaneElement_handleEndSlotChange)}"></slot></div></div>`;
25017
+ }
25018
+ };
25019
+ _M3eSplitPaneElement_renderDragHandle = function _M3eSplitPaneElement_renderDragHandle() {
25020
+ return html`<div id="drag-handle" class="drag-handle" role="separator" ?hidden="${this.disabled}" tabindex="0" aria-label="${this.label}" aria-controls="start" aria-orientation="${this.currentOrientation === "horizontal" ? "vertical" : "horizontal"}" aria-valuemin="${this.min}" aria-valuemax="${this.max}" aria-valuenow="${this.value}" aria-valuetext="${ifDefined(this.valueFormatter?.(this.value, this.currentOrientation, M3eDirectionality.current))}" @pointerdown="${__classPrivateFieldGet(this, _M3eSplitPaneElement_instances, "m", _M3eSplitPaneElement_handlePointerDown)}" @pointerup="${__classPrivateFieldGet(this, _M3eSplitPaneElement_instances, "m", _M3eSplitPaneElement_handlePointerUp)}" @pointermove="${__classPrivateFieldGet(this, _M3eSplitPaneElement_instances, "m", _M3eSplitPaneElement_handlePointerMove)}" @keydown="${__classPrivateFieldGet(this, _M3eSplitPaneElement_instances, "m", _M3eSplitPaneElement_handleKeyDown)}" @dblclick="${__classPrivateFieldGet(this, _M3eSplitPaneElement_instances, "m", _M3eSplitPaneElement_cycleDetent)}"><div class="handle"><m3e-focus-ring for="drag-handle"></m3e-focus-ring><m3e-state-layer for="drag-handle"></m3e-state-layer></div><div class="touch"></div></div>`;
25021
+ };
25022
+ _M3eSplitPaneElement_handleStartSlotChange = function _M3eSplitPaneElement_handleStartSlotChange(e) {
25023
+ __classPrivateFieldGet(this, _M3eSplitPaneElement_instances, "m", _M3eSplitPaneElement_handleSlotChange).call(this, e.target, __classPrivateFieldGet(this, _M3eSplitPaneElement_startMutationController, "f"), "-with-start");
25024
+ };
25025
+ _M3eSplitPaneElement_handleEndSlotChange = function _M3eSplitPaneElement_handleEndSlotChange(e) {
25026
+ __classPrivateFieldGet(this, _M3eSplitPaneElement_instances, "m", _M3eSplitPaneElement_handleSlotChange).call(this, e.target, __classPrivateFieldGet(this, _M3eSplitPaneElement_endMutationController, "f"), "-with-end");
25027
+ };
25028
+ _M3eSplitPaneElement_handleSlotChange = function _M3eSplitPaneElement_handleSlotChange(slot, mutationController, state) {
25029
+ for (const target of mutationController.targets) {
25030
+ mutationController.unobserve(target);
25031
+ }
25032
+ const assignedElements = new Array();
25033
+ setCustomState$1(this, state, __classPrivateFieldGet(this, _M3eSplitPaneElement_instances, "m", _M3eSplitPaneElement_hasVisibleElements).call(this, slot, assignedElements));
25034
+ for (const element of assignedElements) {
25035
+ if (element instanceof HTMLElement) {
25036
+ mutationController.observe(element);
25037
+ }
25038
+ }
25039
+ };
25040
+ _M3eSplitPaneElement_updatePaneVisibility = function _M3eSplitPaneElement_updatePaneVisibility(pane) {
25041
+ setCustomState$1(this, `-with-${pane}`, __classPrivateFieldGet(this, _M3eSplitPaneElement_instances, "m", _M3eSplitPaneElement_hasVisibleElements).call(this, this.shadowRoot?.querySelector(`slot[name='${pane}']`)));
25042
+ };
25043
+ _M3eSplitPaneElement_hasVisibleElements = function _M3eSplitPaneElement_hasVisibleElements(slot, assignedElements) {
25044
+ assignedElements = assignedElements ?? [];
25045
+ assignedElements.push(...(slot?.assignedElements({
25046
+ flatten: true
25047
+ }) ?? []));
25048
+ return assignedElements.length > 0 && !assignedElements.every(x => x.hasAttribute("hidden"));
25049
+ };
25050
+ _M3eSplitPaneElement_initialize = function _M3eSplitPaneElement_initialize() {
25051
+ __classPrivateFieldGet(this, _M3eSplitPaneElement_pressedController, "f").observe(this._dragHandle);
25052
+ };
25053
+ _M3eSplitPaneElement_initBreakpointMonitoring = function _M3eSplitPaneElement_initBreakpointMonitoring() {
25054
+ __classPrivateFieldSet(this, _M3eSplitPaneElement_breakpointUnobserve, M3eBreakpointObserver.observe([Breakpoint.XSmall], matches => {
25055
+ this._orientation = matches.get(Breakpoint.XSmall) ? "vertical" : "horizontal";
25056
+ __classPrivateFieldGet(this, _M3eSplitPaneElement_instances, "m", _M3eSplitPaneElement_updateOrientation).call(this);
25057
+ }), "f");
25058
+ };
25059
+ _M3eSplitPaneElement_updateOrientation = function _M3eSplitPaneElement_updateOrientation() {
25060
+ setCustomState$1(this, "-vertical", this.currentOrientation === "vertical");
25061
+ };
25062
+ _M3eSplitPaneElement_clearOrientation = function _M3eSplitPaneElement_clearOrientation() {
25063
+ deleteCustomState$1(this, "-vertical");
25064
+ this._orientation = undefined;
25065
+ __classPrivateFieldGet(this, _M3eSplitPaneElement_breakpointUnobserve, "f")?.call(this);
25066
+ __classPrivateFieldSet(this, _M3eSplitPaneElement_breakpointUnobserve, undefined, "f");
25067
+ };
25068
+ _M3eSplitPaneElement_handlePointerDown = function _M3eSplitPaneElement_handlePointerDown(e) {
25069
+ if (e.pointerType === "mouse" && e.button > 1) return;
25070
+ if (this.disabled) return;
25071
+ this._dragHandle.setPointerCapture(e.pointerId);
25072
+ __classPrivateFieldSet(this, _M3eSplitPaneElement_valueChanged, false, "f");
25073
+ __classPrivateFieldSet(this, _M3eSplitPaneElement_dragPos, this.currentOrientation === "vertical" ? e.clientY : e.clientX, "f");
25074
+ __classPrivateFieldSet(this, _M3eSplitPaneElement_cachedSize, this.currentOrientation === "vertical" ? this.clientHeight : this.clientWidth, "f");
25075
+ };
25076
+ _M3eSplitPaneElement_handlePointerMove = function _M3eSplitPaneElement_handlePointerMove(e) {
25077
+ if (!this._dragHandle.hasPointerCapture(e.pointerId)) return;
25078
+ const pos = this.currentOrientation === "vertical" ? e.clientY : e.clientX;
25079
+ let delta = __classPrivateFieldGet(this, _M3eSplitPaneElement_cachedSize, "f") > 0 ? (pos - __classPrivateFieldGet(this, _M3eSplitPaneElement_dragPos, "f")) / __classPrivateFieldGet(this, _M3eSplitPaneElement_cachedSize, "f") * 100 : 0;
25080
+ if (M3eDirectionality.current === "rtl" && this.currentOrientation !== "vertical") {
25081
+ delta = -delta;
25082
+ }
25083
+ if (__classPrivateFieldGet(this, _M3eSplitPaneElement_instances, "m", _M3eSplitPaneElement_changeValue).call(this, this.value + delta, false)) {
25084
+ __classPrivateFieldSet(this, _M3eSplitPaneElement_dragPos, pos, "f");
25085
+ __classPrivateFieldSet(this, _M3eSplitPaneElement_valueChanged, true, "f");
25086
+ }
25087
+ };
25088
+ _M3eSplitPaneElement_handlePointerUp = function _M3eSplitPaneElement_handlePointerUp(e) {
25089
+ if (e.pointerType === "mouse" && e.button > 1) return;
25090
+ if (this._dragHandle.hasPointerCapture(e.pointerId)) {
25091
+ this._dragHandle.releasePointerCapture(e.pointerId);
25092
+ __classPrivateFieldSet(this, _M3eSplitPaneElement_dragPos, 0, "f");
25093
+ __classPrivateFieldSet(this, _M3eSplitPaneElement_cachedSize, 0, "f");
25094
+ const detent = __classPrivateFieldGet(this, _M3eSplitPaneElement_instances, "m", _M3eSplitPaneElement_getClosestDetent).call(this, this.value);
25095
+ if (detent >= 0) {
25096
+ const value = __classPrivateFieldGet(this, _M3eSplitPaneElement_instances, "m", _M3eSplitPaneElement_computeDetent).call(this, this.detents[detent]);
25097
+ if (value !== undefined) {
25098
+ __classPrivateFieldGet(this, _M3eSplitPaneElement_instances, "m", _M3eSplitPaneElement_snapToValue).call(this, value, false);
25099
+ }
25100
+ }
25101
+ if (__classPrivateFieldGet(this, _M3eSplitPaneElement_valueChanged, "f")) {
25102
+ this.dispatchEvent(new Event("change", {
25103
+ bubbles: true,
25104
+ composed: true
25105
+ }));
25106
+ __classPrivateFieldSet(this, _M3eSplitPaneElement_valueChanged, false, "f");
25107
+ }
25108
+ }
25109
+ };
25110
+ _M3eSplitPaneElement_handleKeyDown = function _M3eSplitPaneElement_handleKeyDown(e) {
25111
+ const ltr = M3eDirectionality.current === "ltr" || this.currentOrientation === "vertical";
25112
+ switch (e.key) {
25113
+ case "Up":
25114
+ case "ArrowUp":
25115
+ case "Left":
25116
+ case "ArrowLeft":
25117
+ {
25118
+ e.preventDefault();
25119
+ const detent = __classPrivateFieldGet(this, _M3eSplitPaneElement_instances, "m", _M3eSplitPaneElement_getClosestDetent).call(this, this.value);
25120
+ if (detent >= 0) {
25121
+ const nextDetent = ltr ? __classPrivateFieldGet(this, _M3eSplitPaneElement_instances, "m", _M3eSplitPaneElement_getNextLowerDetent).call(this, detent) : __classPrivateFieldGet(this, _M3eSplitPaneElement_instances, "m", _M3eSplitPaneElement_getNextHigherDetent).call(this, detent);
25122
+ if (nextDetent !== detent && !__classPrivateFieldGet(this, _M3eSplitPaneElement_snapAnimation, "f")) {
25123
+ const value = __classPrivateFieldGet(this, _M3eSplitPaneElement_instances, "m", _M3eSplitPaneElement_computeDetent).call(this, this.detents[nextDetent]);
25124
+ if (value !== undefined) {
25125
+ __classPrivateFieldGet(this, _M3eSplitPaneElement_instances, "m", _M3eSplitPaneElement_snapToValue).call(this, value);
25126
+ }
25127
+ }
25128
+ } else if (this.step > 1) {
25129
+ if (!__classPrivateFieldGet(this, _M3eSplitPaneElement_snapAnimation, "f")) {
25130
+ __classPrivateFieldGet(this, _M3eSplitPaneElement_instances, "m", _M3eSplitPaneElement_snapToValue).call(this, this.value + (ltr ? -this.step : this.step));
25131
+ }
25132
+ } else {
25133
+ __classPrivateFieldGet(this, _M3eSplitPaneElement_instances, "m", _M3eSplitPaneElement_changeValue).call(this, this.value + (ltr ? -this.step : this.step));
25134
+ }
25135
+ break;
25136
+ }
25137
+ case "Down":
25138
+ case "ArrowDown":
25139
+ case "Right":
25140
+ case "ArrowRight":
25141
+ {
25142
+ e.preventDefault();
25143
+ const detent = __classPrivateFieldGet(this, _M3eSplitPaneElement_instances, "m", _M3eSplitPaneElement_getClosestDetent).call(this, this.value);
25144
+ if (detent >= 0) {
25145
+ const nextDetent = ltr ? __classPrivateFieldGet(this, _M3eSplitPaneElement_instances, "m", _M3eSplitPaneElement_getNextHigherDetent).call(this, detent) : __classPrivateFieldGet(this, _M3eSplitPaneElement_instances, "m", _M3eSplitPaneElement_getNextLowerDetent).call(this, detent);
25146
+ if (nextDetent !== detent && !__classPrivateFieldGet(this, _M3eSplitPaneElement_snapAnimation, "f")) {
25147
+ const value = __classPrivateFieldGet(this, _M3eSplitPaneElement_instances, "m", _M3eSplitPaneElement_computeDetent).call(this, this.detents[nextDetent]);
25148
+ if (value !== undefined) {
25149
+ __classPrivateFieldGet(this, _M3eSplitPaneElement_instances, "m", _M3eSplitPaneElement_snapToValue).call(this, value);
25150
+ }
25151
+ }
25152
+ } else if (this.step > 1) {
25153
+ if (!__classPrivateFieldGet(this, _M3eSplitPaneElement_snapAnimation, "f")) {
25154
+ __classPrivateFieldGet(this, _M3eSplitPaneElement_instances, "m", _M3eSplitPaneElement_snapToValue).call(this, this.value + (ltr ? this.step : -this.step));
25155
+ }
25156
+ } else {
25157
+ __classPrivateFieldGet(this, _M3eSplitPaneElement_instances, "m", _M3eSplitPaneElement_changeValue).call(this, this.value + (ltr ? this.step : -this.step));
25158
+ }
25159
+ break;
25160
+ }
25161
+ case "Home":
25162
+ {
25163
+ e.preventDefault();
25164
+ if (!__classPrivateFieldGet(this, _M3eSplitPaneElement_snapAnimation, "f")) {
25165
+ const next = __classPrivateFieldGet(this, _M3eSplitPaneElement_instances, "m", _M3eSplitPaneElement_getClosestDetent).call(this, this.min);
25166
+ if (next > -1) {
25167
+ __classPrivateFieldGet(this, _M3eSplitPaneElement_instances, "m", _M3eSplitPaneElement_snapToValue).call(this, __classPrivateFieldGet(this, _M3eSplitPaneElement_instances, "m", _M3eSplitPaneElement_computeDetent).call(this, this.detents[next]));
25168
+ } else {
25169
+ __classPrivateFieldGet(this, _M3eSplitPaneElement_instances, "m", _M3eSplitPaneElement_snapToValue).call(this, this.min);
25170
+ }
25171
+ }
25172
+ break;
25173
+ }
25174
+ case "End":
25175
+ {
25176
+ e.preventDefault();
25177
+ if (!__classPrivateFieldGet(this, _M3eSplitPaneElement_snapAnimation, "f")) {
25178
+ const next = __classPrivateFieldGet(this, _M3eSplitPaneElement_instances, "m", _M3eSplitPaneElement_getClosestDetent).call(this, this.max);
25179
+ if (next > -1) {
25180
+ __classPrivateFieldGet(this, _M3eSplitPaneElement_instances, "m", _M3eSplitPaneElement_snapToValue).call(this, __classPrivateFieldGet(this, _M3eSplitPaneElement_instances, "m", _M3eSplitPaneElement_computeDetent).call(this, this.detents[next]));
25181
+ } else {
25182
+ __classPrivateFieldGet(this, _M3eSplitPaneElement_instances, "m", _M3eSplitPaneElement_snapToValue).call(this, this.max);
25183
+ }
25184
+ }
25185
+ break;
25186
+ }
25187
+ case "PageUp":
25188
+ {
25189
+ e.preventDefault();
25190
+ if (!__classPrivateFieldGet(this, _M3eSplitPaneElement_snapAnimation, "f")) {
25191
+ const detent = __classPrivateFieldGet(this, _M3eSplitPaneElement_instances, "m", _M3eSplitPaneElement_getClosestDetent).call(this, this.value);
25192
+ if (detent >= 0) {
25193
+ const nextDetent = __classPrivateFieldGet(this, _M3eSplitPaneElement_instances, "m", _M3eSplitPaneElement_getNextLowerDetent).call(this, detent);
25194
+ if (nextDetent !== detent) {
25195
+ const value = __classPrivateFieldGet(this, _M3eSplitPaneElement_instances, "m", _M3eSplitPaneElement_computeDetent).call(this, this.detents[nextDetent]);
25196
+ if (value !== undefined) {
25197
+ __classPrivateFieldGet(this, _M3eSplitPaneElement_instances, "m", _M3eSplitPaneElement_snapToValue).call(this, value);
25198
+ }
25199
+ }
25200
+ } else {
25201
+ __classPrivateFieldGet(this, _M3eSplitPaneElement_instances, "m", _M3eSplitPaneElement_snapToValue).call(this, this.value - Math.max(10, this.step));
25202
+ }
25203
+ }
25204
+ break;
25205
+ }
25206
+ case "PageDown":
25207
+ {
25208
+ e.preventDefault();
25209
+ if (!__classPrivateFieldGet(this, _M3eSplitPaneElement_snapAnimation, "f")) {
25210
+ const detent = __classPrivateFieldGet(this, _M3eSplitPaneElement_instances, "m", _M3eSplitPaneElement_getClosestDetent).call(this, this.value);
25211
+ if (detent >= 0) {
25212
+ const nextDetent = __classPrivateFieldGet(this, _M3eSplitPaneElement_instances, "m", _M3eSplitPaneElement_getNextHigherDetent).call(this, detent);
25213
+ if (nextDetent !== detent) {
25214
+ const value = __classPrivateFieldGet(this, _M3eSplitPaneElement_instances, "m", _M3eSplitPaneElement_computeDetent).call(this, this.detents[nextDetent]);
25215
+ if (value !== undefined) {
25216
+ __classPrivateFieldGet(this, _M3eSplitPaneElement_instances, "m", _M3eSplitPaneElement_snapToValue).call(this, value);
25217
+ }
25218
+ }
25219
+ } else {
25220
+ __classPrivateFieldGet(this, _M3eSplitPaneElement_instances, "m", _M3eSplitPaneElement_snapToValue).call(this, this.value + Math.max(10, this.step));
25221
+ }
25222
+ }
25223
+ break;
25224
+ }
25225
+ case "Enter":
25226
+ if (!__classPrivateFieldGet(this, _M3eSplitPaneElement_snapAnimation, "f")) {
25227
+ __classPrivateFieldGet(this, _M3eSplitPaneElement_instances, "m", _M3eSplitPaneElement_cycleDetent).call(this);
25228
+ }
25229
+ break;
25230
+ case " ":
25231
+ e.preventDefault();
25232
+ if (!__classPrivateFieldGet(this, _M3eSplitPaneElement_snapAnimation, "f")) {
25233
+ __classPrivateFieldGet(this, _M3eSplitPaneElement_instances, "m", _M3eSplitPaneElement_cycleDetent).call(this);
25234
+ }
25235
+ break;
25236
+ }
25237
+ };
25238
+ _M3eSplitPaneElement_changeValue = function _M3eSplitPaneElement_changeValue(value, emitChange = true) {
25239
+ __classPrivateFieldGet(this, _M3eSplitPaneElement_instances, "m", _M3eSplitPaneElement_clearSnapAnimation).call(this);
25240
+ value = Math.max(this.min, Math.min(this.max, value));
25241
+ if (value != this.value) {
25242
+ const prev = this.value;
25243
+ this.value = value;
25244
+ if (this.dispatchEvent(new Event("input", {
25245
+ bubbles: true,
25246
+ composed: true,
25247
+ cancelable: true
25248
+ }))) {
25249
+ this._base.style.setProperty("--_split-pane-value", `${this.value}%`);
25250
+ if (emitChange) {
25251
+ this.dispatchEvent(new Event("change", {
25252
+ bubbles: true,
25253
+ composed: true
25254
+ }));
25255
+ }
25256
+ return true;
25257
+ } else {
25258
+ this.value = prev;
25259
+ }
25260
+ }
25261
+ return false;
25262
+ };
25263
+ _M3eSplitPaneElement_getClosestDetent = function _M3eSplitPaneElement_getClosestDetent(value) {
25264
+ let closestDetent = -1;
25265
+ let closestDistance = Infinity;
25266
+ for (let i = 0; i < this.detents.length; i++) {
25267
+ const detent = __classPrivateFieldGet(this, _M3eSplitPaneElement_instances, "m", _M3eSplitPaneElement_computeDetent).call(this, this.detents[i]);
25268
+ if (detent === undefined) continue;
25269
+ const distance = Math.abs(value - detent);
25270
+ if (distance < closestDistance) {
25271
+ closestDistance = distance;
25272
+ closestDetent = i;
25273
+ }
25274
+ }
25275
+ return closestDetent;
25276
+ };
25277
+ _M3eSplitPaneElement_getNextHigherDetent = function _M3eSplitPaneElement_getNextHigherDetent(detentIndex) {
25278
+ const currentValue = __classPrivateFieldGet(this, _M3eSplitPaneElement_instances, "m", _M3eSplitPaneElement_computeDetent).call(this, this.detents[detentIndex]);
25279
+ if (currentValue === undefined) return detentIndex;
25280
+ let value = Infinity;
25281
+ let nextDetent = detentIndex;
25282
+ for (let i = 0; i < this.detents.length; i++) {
25283
+ if (i === detentIndex) continue;
25284
+ const detent = __classPrivateFieldGet(this, _M3eSplitPaneElement_instances, "m", _M3eSplitPaneElement_computeDetent).call(this, this.detents[i]);
25285
+ if (detent === undefined) continue;
25286
+ if (detent > currentValue && detent < value) {
25287
+ value = detent;
25288
+ nextDetent = i;
25289
+ }
25290
+ }
25291
+ return nextDetent;
25292
+ };
25293
+ _M3eSplitPaneElement_getNextLowerDetent = function _M3eSplitPaneElement_getNextLowerDetent(detentIndex) {
25294
+ const currentValue = __classPrivateFieldGet(this, _M3eSplitPaneElement_instances, "m", _M3eSplitPaneElement_computeDetent).call(this, this.detents[detentIndex]);
25295
+ if (currentValue === undefined) return detentIndex;
25296
+ let value = -Infinity;
25297
+ let nextDetent = detentIndex;
25298
+ for (let i = 0; i < this.detents.length; i++) {
25299
+ if (i === detentIndex) continue;
25300
+ const detent = __classPrivateFieldGet(this, _M3eSplitPaneElement_instances, "m", _M3eSplitPaneElement_computeDetent).call(this, this.detents[i]);
25301
+ if (detent === undefined) continue;
25302
+ if (detent < currentValue && detent > value) {
25303
+ value = detent;
25304
+ nextDetent = i;
25305
+ }
25306
+ }
25307
+ return nextDetent;
25308
+ };
25309
+ _M3eSplitPaneElement_computeDetent = function _M3eSplitPaneElement_computeDetent(detent) {
25310
+ const value = detent.endsWith("px") ? this.clientWidth / parseFloat(detent) : parseFloat(detent);
25311
+ return !isNaN(value) ? value : undefined;
25312
+ };
25313
+ _M3eSplitPaneElement_clearSnapAnimation = function _M3eSplitPaneElement_clearSnapAnimation() {
25314
+ __classPrivateFieldGet(this, _M3eSplitPaneElement_snapAnimation, "f")?.cancel();
25315
+ __classPrivateFieldSet(this, _M3eSplitPaneElement_snapAnimation, undefined, "f");
25316
+ };
25317
+ _M3eSplitPaneElement_snapToValue = function _M3eSplitPaneElement_snapToValue(value, emitChange = true) {
25318
+ __classPrivateFieldGet(this, _M3eSplitPaneElement_instances, "m", _M3eSplitPaneElement_clearSnapAnimation).call(this);
25319
+ value = Math.max(this.min, Math.min(this.max, value));
25320
+ if (value === this.value) return;
25321
+ if (!prefersReducedMotion$1()) {
25322
+ addCustomState$1(this, "-animating");
25323
+ __classPrivateFieldSet(this, _M3eSplitPaneElement_snapAnimation, this._base.animate([{
25324
+ "--_split-pane-value": `${this.value}%`
25325
+ }, {
25326
+ "--_split-pane-value": `${value}%`
25327
+ }], {
25328
+ duration: 250,
25329
+ easing: "cubic-bezier(0.2, 0.0, 0, 1.0)"
25330
+ }), "f");
25331
+ __classPrivateFieldGet(this, _M3eSplitPaneElement_snapAnimation, "f").onfinish = () => {
25332
+ __classPrivateFieldGet(this, _M3eSplitPaneElement_instances, "m", _M3eSplitPaneElement_changeValue).call(this, value, emitChange);
25333
+ __classPrivateFieldSet(this, _M3eSplitPaneElement_snapAnimation, undefined, "f");
25334
+ deleteCustomState$1(this, "-animating");
25335
+ };
25336
+ } else {
25337
+ __classPrivateFieldGet(this, _M3eSplitPaneElement_instances, "m", _M3eSplitPaneElement_changeValue).call(this, value, emitChange);
25338
+ }
25339
+ };
25340
+ _M3eSplitPaneElement_cycleDetent = function _M3eSplitPaneElement_cycleDetent() {
25341
+ if (this.detents.length === 0) return;
25342
+ const detent = __classPrivateFieldGet(this, _M3eSplitPaneElement_instances, "m", _M3eSplitPaneElement_getClosestDetent).call(this, this.value);
25343
+ if (detent === -1) return;
25344
+ let next = __classPrivateFieldGet(this, _M3eSplitPaneElement_instances, "m", _M3eSplitPaneElement_getNextHigherDetent).call(this, detent);
25345
+ if (next === detent && this.wrapDetents) {
25346
+ next = __classPrivateFieldGet(this, _M3eSplitPaneElement_instances, "m", _M3eSplitPaneElement_getClosestDetent).call(this, 0);
25347
+ if (next === -1) return;
25348
+ }
25349
+ const value = __classPrivateFieldGet(this, _M3eSplitPaneElement_instances, "m", _M3eSplitPaneElement_computeDetent).call(this, this.detents[next]);
25350
+ if (value !== undefined) {
25351
+ __classPrivateFieldGet(this, _M3eSplitPaneElement_instances, "m", _M3eSplitPaneElement_snapToValue).call(this, value);
25352
+ }
25353
+ };
25354
+ (() => {
25355
+ registerStyleSheet$1(css`@property --_split-pane-value { syntax: "<length-percentage>"; inherits: true; initial-value: 50%; }</length-percentage>`);
25356
+ })();
25357
+ /** The styles of the element. */
25358
+ M3eSplitPaneElement.styles = css`:host { display: block; } .base { display: flex; width: 100%; height: 100%; overflow: hidden; } :host(:not(:state(-vertical))) .base { flex-direction: row; } :host(:state(-vertical)) .base { flex-direction: column; } :host(:state(-with-start):state(-with-end)) .base:not(:has(.drag-handle[hidden])) .start { flex: 0 1 calc(var(--_split-pane-value) - calc(var(--m3e-split-pane-drag-handle-container-width, 1.5rem) / 2)); } :host(:state(-with-start):state(-with-end)) .base:has(.drag-handle[hidden]) .start { flex: 0 1 var(--_split-pane-value); } :host(:not(:state(-with-end))) .start { flex: 1 1 auto; } :host(:state(-with-end)) .end { flex: 1 1 auto; } :host(:not(:state(-with-end))) .end { display: none; } :host(:not(:state(-animating))) .start[inert], :host(:not(:state(-animating))) .end[inert] { visibility: hidden; } .drag-handle { flex: none; display: flex; align-items: center; justify-content: center; outline: none; touch-action: none; user-select: none; -webkit-tap-highlight-color: rgba(0, 0, 0, 0); --m3e-state-layer-hover-color: var(--m3e-split-pane-drag-handle-hover-color, ${DesignToken$1.color.onSurface}); --m3e-state-layer-hover-opacity: var(--m3e-split-pane-drag-handle-hover-opacity, 8%); --m3e-state-layer-focus-color: var(--m3e-split-pane-drag-handle-focus-color, ${DesignToken$1.color.onSurface}); --m3e-state-layer-focus-opacity: var(--m3e-split-pane-drag-handle-focus-opacity, 10%); } :host(:is(:not(:state(-with-start)), :not(:state(-with-end)))) .drag-handle, .drag-handle[hidden] { display: none; } :host(:not(:state(-pressed))) .drag-handle:not([aria-disabled]) { cursor: grab; } :host(:state(-pressed)) .drag-handle:not([aria-disabled]) { cursor: grabbing; } .handle { position: relative; transition: ${unsafeCSS(`background-color ${DesignToken$1.motion.duration.short4} ${DesignToken$1.motion.easing.standard},
25359
+ width ${DesignToken$1.motion.spring.fastEffects}, height ${DesignToken$1.motion.spring.fastEffects}`)}; } .touch { z-index: 1; position: absolute; height: 3rem; width: 3rem; margin: auto; touch-action: none; user-select: none; -webkit-tap-highlight-color: rgba(0, 0, 0, 0); } :host(:not(:state(-pressed))) .handle { background-color: var(--m3e-split-pane-drag-handle-color, ${DesignToken$1.color.outline}); border-radius: var(--m3e-split-pane-drag-handle-shape, ${DesignToken$1.shape.corner.full}); } :host(:state(-pressed)) .handle { background-color: var(--m3e-split-pane-drag-handle-pressed-color, ${DesignToken$1.color.onSurface}); border-radius: var(--m3e-split-pane-drag-handle-pressed-shape, ${DesignToken$1.shape.corner.medium}); } :host(:not(:state(-vertical))) .drag-handle { flex-direction: column; width: var(--m3e-split-pane-drag-handle-container-width, 1.5rem); } :host(:not(:state(-vertical)):not(:state(-pressed))) .handle { width: var(--m3e-split-pane-drag-handle-width, 0.25rem); height: var(--m3e-split-pane-drag-handle-height, 3rem); } :host(:not(:state(-vertical)):state(-pressed)) .handle { width: var(--m3e-split-pane-drag-handle-pressed-width, 0.75rem); height: var(--m3e-split-pane-drag-handle-pressed-height, 3.25rem); } :host(:state(-vertical)) .drag-handle { height: var(--m3e-split-pane-drag-handle-container-width, 1.5rem); } :host(:state(-vertical):not(:state(-pressed))) .handle { width: var(--m3e-split-pane-drag-handle-height, 3rem); height: var(--m3e-split-pane-drag-handle-width, 0.25rem); } :host(:state(-vertical):state(-pressed)) .handle { width: var(--m3e-split-pane-drag-handle-pressed-height, 3.25rem); height: var(--m3e-split-pane-drag-handle-pressed-width, 0.75rem); } @media (prefers-reduced-motion) { .handle { transition: none; } } @media (forced-colors: active) { :host(:state(-pressed)) .handle, :host(:not(:state(-pressed))) .handle { background-color: ButtonText; } }`;
25360
+ __decorate([state()], M3eSplitPaneElement.prototype, "_orientation", void 0);
25361
+ __decorate([query(".base")], M3eSplitPaneElement.prototype, "_base", void 0);
25362
+ __decorate([query(".drag-handle")], M3eSplitPaneElement.prototype, "_dragHandle", void 0);
25363
+ __decorate([property({
25364
+ type: Number
25365
+ })], M3eSplitPaneElement.prototype, "value", void 0);
25366
+ __decorate([property({
25367
+ type: Number
25368
+ })], M3eSplitPaneElement.prototype, "min", void 0);
25369
+ __decorate([property({
25370
+ type: Number
25371
+ })], M3eSplitPaneElement.prototype, "max", void 0);
25372
+ __decorate([property({
25373
+ type: Number
25374
+ })], M3eSplitPaneElement.prototype, "step", void 0);
25375
+ __decorate([property({
25376
+ attribute: "detents",
25377
+ converter: spaceSeparatedStringConverter$1
25378
+ })], M3eSplitPaneElement.prototype, "detents", void 0);
25379
+ __decorate([property({
25380
+ attribute: "wrap-detents",
25381
+ type: Boolean
25382
+ })], M3eSplitPaneElement.prototype, "wrapDetents", void 0);
25383
+ __decorate([property()], M3eSplitPaneElement.prototype, "orientation", void 0);
25384
+ __decorate([property()], M3eSplitPaneElement.prototype, "label", void 0);
25385
+ __decorate([property()], M3eSplitPaneElement.prototype, "valueFormatter", void 0);
25386
+ M3eSplitPaneElement = __decorate([customElement$1("m3e-split-pane")], M3eSplitPaneElement);
25387
+
24576
25388
  /**
24577
25389
  * A panel presented for a step in a wizard-like workflow.
24578
25390
  *
@@ -30711,5 +31523,5 @@ M3eTooltipElement.styles = css`:host { display: contents; } .base { position: ab
30711
31523
  __decorate([property()], M3eTooltipElement.prototype, "position", void 0);
30712
31524
  M3eTooltipElement = __decorate([customElement$1("m3e-tooltip")], M3eTooltipElement);
30713
31525
 
30714
- 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, M3eSlideElement, M3eSlideGroupElement, M3eSliderElement, M3eSliderThumbElement, M3eSnackbar, M3eSnackbarElement, M3eSplitButtonElement, 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, registerStyleSheet, renderPseudoLink, resolveElementById, resolveFragmentUrl, safeStyleMap, scrollIntoViewIfNeeded, setCustomState, spaceSeparatedStringConverter, updateLabels, validate };
31526
+ 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, registerStyleSheet, renderPseudoLink, resolveElementById, resolveFragmentUrl, safeStyleMap, scrollIntoViewIfNeeded, setCustomState, spaceSeparatedStringConverter, updateLabels, validate, waitForUpgrade };
30715
31527
  //# sourceMappingURL=all.js.map