@m3e/web 2.2.0 → 2.2.2

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 (77) hide show
  1. package/README.md +2 -2
  2. package/dist/all.js +173 -66
  3. package/dist/all.js.map +1 -1
  4. package/dist/all.min.js +45 -45
  5. package/dist/all.min.js.map +1 -1
  6. package/dist/autocomplete.js +55 -15
  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/calendar.js +4 -2
  11. package/dist/calendar.js.map +1 -1
  12. package/dist/calendar.min.js +3 -3
  13. package/dist/calendar.min.js.map +1 -1
  14. package/dist/core.js +1 -1
  15. package/dist/core.js.map +1 -1
  16. package/dist/core.min.js.map +1 -1
  17. package/dist/css-custom-data.json +501 -481
  18. package/dist/custom-elements.json +8557 -8286
  19. package/dist/datepicker.js +39 -16
  20. package/dist/datepicker.js.map +1 -1
  21. package/dist/datepicker.min.js +1 -1
  22. package/dist/datepicker.min.js.map +1 -1
  23. package/dist/drawer-container.js +10 -4
  24. package/dist/drawer-container.js.map +1 -1
  25. package/dist/drawer-container.min.js +1 -1
  26. package/dist/drawer-container.min.js.map +1 -1
  27. package/dist/html-custom-data.json +220 -220
  28. package/dist/nav-bar.js +17 -7
  29. package/dist/nav-bar.js.map +1 -1
  30. package/dist/nav-bar.min.js +1 -1
  31. package/dist/nav-bar.min.js.map +1 -1
  32. package/dist/option.js +1 -1
  33. package/dist/option.js.map +1 -1
  34. package/dist/option.min.js +1 -1
  35. package/dist/option.min.js.map +1 -1
  36. package/dist/search.js +27 -11
  37. package/dist/search.js.map +1 -1
  38. package/dist/search.min.js +1 -1
  39. package/dist/search.min.js.map +1 -1
  40. package/dist/segmented-button.js +2 -2
  41. package/dist/segmented-button.js.map +1 -1
  42. package/dist/segmented-button.min.js.map +1 -1
  43. package/dist/select.js +1 -1
  44. package/dist/select.js.map +1 -1
  45. package/dist/select.min.js +1 -1
  46. package/dist/select.min.js.map +1 -1
  47. package/dist/split-button.js +1 -1
  48. package/dist/split-button.js.map +1 -1
  49. package/dist/split-button.min.js.map +1 -1
  50. package/dist/src/autocomplete/AutocompleteElement.d.ts +5 -0
  51. package/dist/src/autocomplete/AutocompleteElement.d.ts.map +1 -1
  52. package/dist/src/calendar/CalendarElement.d.ts +2 -0
  53. package/dist/src/calendar/CalendarElement.d.ts.map +1 -1
  54. package/dist/src/calendar/CalendarViewElementBase.d.ts.map +1 -1
  55. package/dist/src/calendar/MonthViewElement.d.ts.map +1 -1
  56. package/dist/src/core/shared/utils/registerStyleSheet.d.ts +1 -1
  57. package/dist/src/datepicker/DatepickerElement.d.ts +5 -1
  58. package/dist/src/datepicker/DatepickerElement.d.ts.map +1 -1
  59. package/dist/src/drawer-container/DrawerContainerElement.d.ts +2 -2
  60. package/dist/src/drawer-container/DrawerContainerElement.d.ts.map +1 -1
  61. package/dist/src/nav-bar/NavBarElement.d.ts +3 -1
  62. package/dist/src/nav-bar/NavBarElement.d.ts.map +1 -1
  63. package/dist/src/search/SearchViewElement.d.ts +5 -1
  64. package/dist/src/search/SearchViewElement.d.ts.map +1 -1
  65. package/dist/src/segmented-button/ButtonSegmentElement.d.ts +2 -2
  66. package/dist/src/split-button/SplitButtonElement.d.ts +1 -1
  67. package/dist/src/stepper/StepperElement.d.ts +3 -1
  68. package/dist/src/stepper/StepperElement.d.ts.map +1 -1
  69. package/dist/src/switch/SwitchElement.d.ts +2 -2
  70. package/dist/stepper.js +17 -7
  71. package/dist/stepper.js.map +1 -1
  72. package/dist/stepper.min.js +1 -1
  73. package/dist/stepper.min.js.map +1 -1
  74. package/dist/switch.js +2 -2
  75. package/dist/switch.js.map +1 -1
  76. package/dist/switch.min.js.map +1 -1
  77. package/package.json +1 -1
package/dist/all.js CHANGED
@@ -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_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_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;
362
362
  var M3eAutocompleteElement_1;
363
363
  /**
364
364
  * Enhances a text input with suggested options.
@@ -405,6 +405,7 @@ var M3eAutocompleteElement_1;
405
405
  *
406
406
  * @fires toggle - Emitted when the options menu opens or closes.
407
407
  * @fires query - Emitted when the input is focused or when the user modifies its value.
408
+ * @fires change - Emitted when the committed value changes due to selecting an option or clearing the input.
408
409
  */
409
410
  let M3eAutocompleteElement = M3eAutocompleteElement_1 = class M3eAutocompleteElement extends EventAttribute$1(HtmlFor$1(LitElement), "query") {
410
411
  constructor() {
@@ -449,7 +450,7 @@ let M3eAutocompleteElement = M3eAutocompleteElement_1 = class M3eAutocompleteEle
449
450
  /** @private */
450
451
  _M3eAutocompleteElement_menuPointerDownHandler.set(this, e => __classPrivateFieldGet(this, _M3eAutocompleteElement_instances, "m", _M3eAutocompleteElement_handleMenuPointerDown).call(this, e));
451
452
  /** @private */
452
- this._listKeyManager = new ListKeyManager().withWrap().withHomeAndEnd().withPageUpAndDown().withVerticalOrientation().withSkipPredicate(item => item.disabled || item.hidden).onActiveItemChange(() => {
453
+ this._listKeyManager = new ListKeyManager().withWrap().withHomeAndEnd().withPageUpAndDown().withVerticalOrientation().withSkipPredicate(item => item.disabled || item.hidden === true).onActiveItemChange(() => {
453
454
  if (this._listKeyManager.activeItem) {
454
455
  __classPrivateFieldGet(this, _M3eAutocompleteElement_instances, "m", _M3eAutocompleteElement_activateOption).call(this, this._listKeyManager.activeItem);
455
456
  }
@@ -526,6 +527,15 @@ let M3eAutocompleteElement = M3eAutocompleteElement_1 = class M3eAutocompleteEle
526
527
  get options() {
527
528
  return this._options ?? [];
528
529
  }
530
+ /** The selected option. */
531
+ get selected() {
532
+ return this.options.find(x => x.selected) ?? null;
533
+ }
534
+ /** The selected (enabled) value. */
535
+ get value() {
536
+ const selected = this.selected;
537
+ return selected && !selected.disabled ? selected.value : null;
538
+ }
529
539
  /** @inheritdoc */
530
540
  attach(control) {
531
541
  if (!(control instanceof HTMLInputElement)) return;
@@ -565,6 +575,11 @@ let M3eAutocompleteElement = M3eAutocompleteElement_1 = class M3eAutocompleteEle
565
575
  clear(restoreFocus = false) {
566
576
  if (!__classPrivateFieldGet(this, _M3eAutocompleteElement_instances, "a", _M3eAutocompleteElement_input_get)) return;
567
577
  __classPrivateFieldGet(this, _M3eAutocompleteElement_instances, "a", _M3eAutocompleteElement_input_get).value = "";
578
+ if (__classPrivateFieldGet(this, _M3eAutocompleteElement_instances, "m", _M3eAutocompleteElement_clearOptions).call(this)) {
579
+ this.dispatchEvent(new Event("change", {
580
+ bubbles: true
581
+ }));
582
+ }
568
583
  __classPrivateFieldGet(this, _M3eAutocompleteElement_instances, "m", _M3eAutocompleteElement_filterOptions).call(this);
569
584
  if (restoreFocus) {
570
585
  __classPrivateFieldGet(this, _M3eAutocompleteElement_instances, "a", _M3eAutocompleteElement_input_get).focus();
@@ -639,7 +654,7 @@ _M3eAutocompleteElement_hasLoadingSlot_get = function _M3eAutocompleteElement_ha
639
654
  return (__classPrivateFieldGet(this, _M3eAutocompleteElement_clone, "f")?.querySelector("[slot='loading']") ?? null) !== null;
640
655
  };
641
656
  _M3eAutocompleteElement_shouldShowMenu_get = function _M3eAutocompleteElement_shouldShowMenu_get() {
642
- return __classPrivateFieldGet(this, _M3eAutocompleteElement_instances, "a", _M3eAutocompleteElement_options_get).some(x => !x.hidden) || this.loading && !this.hideLoading && this.loadingLabel.length > 0 || !this.loading && !this.hideNoData && this.noDataLabel.length > 0;
657
+ return __classPrivateFieldGet(this, _M3eAutocompleteElement_instances, "a", _M3eAutocompleteElement_options_get).some(x => x.hidden === false) || this.loading && !this.hideLoading && this.loadingLabel.length > 0 || !this.loading && !this.hideNoData && this.noDataLabel.length > 0;
643
658
  };
644
659
  _M3eAutocompleteElement_formField_get = function _M3eAutocompleteElement_formField_get() {
645
660
  return this.control?.closest("m3e-form-field") ?? null;
@@ -719,6 +734,11 @@ _M3eAutocompleteElement_handleInput = function _M3eAutocompleteElement_handleInp
719
734
  bubbles: true,
720
735
  composed: true
721
736
  }));
737
+ if (__classPrivateFieldGet(this, _M3eAutocompleteElement_instances, "a", _M3eAutocompleteElement_input_get).value === "" && __classPrivateFieldGet(this, _M3eAutocompleteElement_instances, "m", _M3eAutocompleteElement_clearOptions).call(this)) {
738
+ this.dispatchEvent(new Event("change", {
739
+ bubbles: true
740
+ }));
741
+ }
722
742
  __classPrivateFieldSet(this, _M3eAutocompleteElement_inputChanged, true, "f");
723
743
  try {
724
744
  if (!__classPrivateFieldGet(this, _M3eAutocompleteElement_menu, "f")) {
@@ -735,8 +755,15 @@ _M3eAutocompleteElement_handleInput = function _M3eAutocompleteElement_handleInp
735
755
  }
736
756
  };
737
757
  _M3eAutocompleteElement_handleChange = function _M3eAutocompleteElement_handleChange() {
738
- if (__classPrivateFieldGet(this, _M3eAutocompleteElement_instances, "a", _M3eAutocompleteElement_input_get) && this.required && !__classPrivateFieldGet(this, _M3eAutocompleteElement_instances, "a", _M3eAutocompleteElement_options_get).some(x => x.selected && !x.disabled)) {
739
- __classPrivateFieldGet(this, _M3eAutocompleteElement_instances, "a", _M3eAutocompleteElement_input_get).value = "";
758
+ if (__classPrivateFieldGet(this, _M3eAutocompleteElement_instances, "a", _M3eAutocompleteElement_input_get)) {
759
+ const selected = this.selected;
760
+ if (this.required) {
761
+ __classPrivateFieldGet(this, _M3eAutocompleteElement_instances, "a", _M3eAutocompleteElement_input_get).value = selected?.label ?? "";
762
+ } else if (selected && selected.label !== __classPrivateFieldGet(this, _M3eAutocompleteElement_instances, "a", _M3eAutocompleteElement_input_get).value && __classPrivateFieldGet(this, _M3eAutocompleteElement_instances, "m", _M3eAutocompleteElement_clearOptions).call(this)) {
763
+ this.dispatchEvent(new Event("change", {
764
+ bubbles: true
765
+ }));
766
+ }
740
767
  }
741
768
  };
742
769
  _M3eAutocompleteElement_handleKeyDown = function _M3eAutocompleteElement_handleKeyDown(e) {
@@ -842,6 +869,7 @@ _M3eAutocompleteElement_destroyMenu = function _M3eAutocompleteElement_destroyMe
842
869
  __classPrivateFieldGet(this, _M3eAutocompleteElement_instances, "a", _M3eAutocompleteElement_input_get).ariaExpanded = "false";
843
870
  __classPrivateFieldGet(this, _M3eAutocompleteElement_instances, "a", _M3eAutocompleteElement_input_get).removeAttribute("aria-controls");
844
871
  __classPrivateFieldGet(this, _M3eAutocompleteElement_instances, "a", _M3eAutocompleteElement_input_get).removeAttribute("aria-owns");
872
+ __classPrivateFieldGet(this, _M3eAutocompleteElement_instances, "a", _M3eAutocompleteElement_input_get).removeAttribute("aria-activedescendant");
845
873
  }
846
874
  this.requestUpdate();
847
875
  __classPrivateFieldGet(this, _M3eAutocompleteElement_instances, "a", _M3eAutocompleteElement_formField_get)?.notifyControlStateChange();
@@ -849,6 +877,9 @@ _M3eAutocompleteElement_destroyMenu = function _M3eAutocompleteElement_destroyMe
849
877
  oldState: e.oldState,
850
878
  newState: e.newState
851
879
  }));
880
+ if (__classPrivateFieldGet(this, _M3eAutocompleteElement_instances, "a", _M3eAutocompleteElement_input_get)?.slot === "input" && __classPrivateFieldGet(this, _M3eAutocompleteElement_instances, "a", _M3eAutocompleteElement_input_get).parentElement?.tagName === "M3E-INPUT-CHIP-SET") {
881
+ __classPrivateFieldGet(this, _M3eAutocompleteElement_instances, "m", _M3eAutocompleteElement_clearOptions).call(this);
882
+ }
852
883
  };
853
884
  _M3eAutocompleteElement_showMenu = function _M3eAutocompleteElement_showMenu() {
854
885
  if (__classPrivateFieldGet(this, _M3eAutocompleteElement_menu, "f") || !__classPrivateFieldGet(this, _M3eAutocompleteElement_instances, "a", _M3eAutocompleteElement_input_get) || __classPrivateFieldGet(this, _M3eAutocompleteElement_instances, "a", _M3eAutocompleteElement_input_get).readOnly || __classPrivateFieldGet(this, _M3eAutocompleteElement_instances, "a", _M3eAutocompleteElement_input_get).disabled) return;
@@ -901,7 +932,6 @@ _M3eAutocompleteElement_updateMenuState = function _M3eAutocompleteElement_updat
901
932
  };
902
933
  _M3eAutocompleteElement_hideMenu = function _M3eAutocompleteElement_hideMenu() {
903
934
  __classPrivateFieldGet(this, _M3eAutocompleteElement_menu, "f")?.hide();
904
- __classPrivateFieldGet(this, _M3eAutocompleteElement_instances, "a", _M3eAutocompleteElement_input_get)?.removeAttribute("aria-activedescendant");
905
935
  };
906
936
  _M3eAutocompleteElement_activateOption = function _M3eAutocompleteElement_activateOption(option, forceFocusVisible = false) {
907
937
  if (!__classPrivateFieldGet(this, _M3eAutocompleteElement_instances, "a", _M3eAutocompleteElement_input_get)) return;
@@ -947,8 +977,11 @@ async function _M3eAutocompleteElement_selectOption(option) {
947
977
  await this.updateComplete;
948
978
  }
949
979
  if (__classPrivateFieldGet(this, _M3eAutocompleteElement_instances, "a", _M3eAutocompleteElement_input_get)) {
950
- __classPrivateFieldGet(this, _M3eAutocompleteElement_instances, "a", _M3eAutocompleteElement_input_get).value = option.value;
980
+ __classPrivateFieldGet(this, _M3eAutocompleteElement_instances, "a", _M3eAutocompleteElement_input_get).value = option.label;
951
981
  }
982
+ this.dispatchEvent(new Event("change", {
983
+ bubbles: true
984
+ }));
952
985
  __classPrivateFieldGet(this, _M3eAutocompleteElement_instances, "a", _M3eAutocompleteElement_formField_get)?.notifyControlStateChange(true);
953
986
  };
954
987
  _M3eAutocompleteElement_filterOption = function _M3eAutocompleteElement_filterOption(clone, option, term, exactTerm) {
@@ -976,7 +1009,7 @@ _M3eAutocompleteElement_filterOption = function _M3eAutocompleteElement_filterOp
976
1009
  };
977
1010
  _M3eAutocompleteElement_filterOptions = function _M3eAutocompleteElement_filterOptions() {
978
1011
  if (!__classPrivateFieldGet(this, _M3eAutocompleteElement_instances, "a", _M3eAutocompleteElement_input_get)) return 0;
979
- const oldCount = __classPrivateFieldGet(this, _M3eAutocompleteElement_instances, "a", _M3eAutocompleteElement_options_get).filter(x => !x.hidden).length;
1012
+ const oldCount = __classPrivateFieldGet(this, _M3eAutocompleteElement_instances, "a", _M3eAutocompleteElement_options_get).filter(x => x.hidden === false).length;
980
1013
  const shouldAnnounce = !this.loading && __classPrivateFieldGet(this, _M3eAutocompleteElement_inputChanged, "f");
981
1014
  __classPrivateFieldSet(this, _M3eAutocompleteElement_inputChanged, false, "f");
982
1015
  const exactTerm = __classPrivateFieldGet(this, _M3eAutocompleteElement_instances, "a", _M3eAutocompleteElement_input_get).value;
@@ -988,7 +1021,7 @@ _M3eAutocompleteElement_filterOptions = function _M3eAutocompleteElement_filterO
988
1021
  const clone = __classPrivateFieldGet(this, _M3eAutocompleteElement_instances, "a", _M3eAutocompleteElement_options_get)[i];
989
1022
  const option = this._options[i];
990
1023
  clone.hidden = !__classPrivateFieldGet(this, _M3eAutocompleteElement_instances, "m", _M3eAutocompleteElement_filterOption).call(this, clone, option, term, exactTerm);
991
- if (clone.hidden) {
1024
+ if (clone.hidden === true) {
992
1025
  __classPrivateFieldGet(this, _M3eAutocompleteElement_instances, "m", _M3eAutocompleteElement_deactivateOption).call(this, clone);
993
1026
  deleteCustomState$1(clone, "-first");
994
1027
  deleteCustomState$1(clone, "-last");
@@ -1008,17 +1041,13 @@ _M3eAutocompleteElement_filterOptions = function _M3eAutocompleteElement_filterO
1008
1041
  last = clone;
1009
1042
  }
1010
1043
  }
1011
- if (clone.selected && option.value !== exactTerm) {
1012
- clone.selected = false;
1013
- __classPrivateFieldGet(this, _M3eAutocompleteElement_instances, "m", _M3eAutocompleteElement_updateSelectionState).call(this, clone);
1014
- }
1015
1044
  }
1016
1045
  if (__classPrivateFieldGet(this, _M3eAutocompleteElement_menu, "f")) {
1017
1046
  __classPrivateFieldGet(this, _M3eAutocompleteElement_instances, "m", _M3eAutocompleteElement_updateMenuState).call(this, __classPrivateFieldGet(this, _M3eAutocompleteElement_menu, "f"), newCount);
1018
1047
  }
1019
1048
  const groups = __classPrivateFieldGet(this, _M3eAutocompleteElement_menu, "f")?.querySelectorAll("m3e-optgroup") ?? __classPrivateFieldGet(this, _M3eAutocompleteElement_clone, "f")?.querySelectorAll("m3e-optgroup") ?? [];
1020
1049
  for (const group of groups) {
1021
- group.hidden = [...group.querySelectorAll("m3e-option")].every(x => x.hidden);
1050
+ group.hidden = [...group.querySelectorAll("m3e-option")].every(x => x.hidden === true);
1022
1051
  }
1023
1052
  if (shouldAnnounce) {
1024
1053
  __classPrivateFieldGet(this, _M3eAutocompleteElement_instances, "m", _M3eAutocompleteElement_announceResults).call(this, oldCount, newCount);
@@ -1026,6 +1055,17 @@ _M3eAutocompleteElement_filterOptions = function _M3eAutocompleteElement_filterO
1026
1055
  __classPrivateFieldGet(this, _M3eAutocompleteElement_instances, "m", _M3eAutocompleteElement_autoActivate).call(this);
1027
1056
  return newCount;
1028
1057
  };
1058
+ _M3eAutocompleteElement_clearOptions = function _M3eAutocompleteElement_clearOptions() {
1059
+ const selected = this._listKeyManager.items.filter(x => x.selected);
1060
+ if (selected.length > 0) {
1061
+ selected.forEach(x => {
1062
+ x.selected = false;
1063
+ __classPrivateFieldGet(this, _M3eAutocompleteElement_instances, "m", _M3eAutocompleteElement_updateSelectionState).call(this, x);
1064
+ });
1065
+ return true;
1066
+ }
1067
+ return false;
1068
+ };
1029
1069
  _M3eAutocompleteElement_announceResults = function _M3eAutocompleteElement_announceResults(oldCount, newCount) {
1030
1070
  if (!__classPrivateFieldGet(this, _M3eAutocompleteElement_hasFocus, "f")) return;
1031
1071
  if (newCount == 0) {
@@ -1041,7 +1081,7 @@ _M3eAutocompleteElement_announceResults = function _M3eAutocompleteElement_annou
1041
1081
  };
1042
1082
  _M3eAutocompleteElement_autoActivate = function _M3eAutocompleteElement_autoActivate() {
1043
1083
  if (this.autoActivate && (!this._listKeyManager.activeItem || !this._listKeyManager.activeItem.selected)) {
1044
- const option = __classPrivateFieldGet(this, _M3eAutocompleteElement_instances, "a", _M3eAutocompleteElement_options_get).find(x => !x.disabled && !x.hidden);
1084
+ const option = __classPrivateFieldGet(this, _M3eAutocompleteElement_instances, "a", _M3eAutocompleteElement_options_get).find(x => !x.disabled && x.hidden === false);
1045
1085
  if (option) {
1046
1086
  this._listKeyManager.setActiveItem(option);
1047
1087
  if (__classPrivateFieldGet(this, _M3eAutocompleteElement_menu, "f")) {
@@ -3715,7 +3755,7 @@ class CalendarViewElementBase extends LitElement {
3715
3755
  }
3716
3756
  }
3717
3757
  /** The styles of the element. */
3718
- CalendarViewElementBase.styles = css`:host { display: inline-block; user-select: none; vertical-align: top; } .visually-hidden { position: absolute; appearance: none; visibility: hidden; border: none; outline: none; overflow: hidden; left: 0; height: 1px; width: 1px; margin: -1px; padding: 0; white-space: nowrap; } table { border-collapse: collapse; border-spacing: 0; width: calc(3rem * 7); } td, th { font: inherit; text-align: center; padding: unset; } td { box-sizing: border-box; height: 3rem; padding: 0.25rem; position: relative; } .item, .item > span { position: relative; } .item { display: flex; align-items: center; justify-content: center; border-radius: inherit; outline: none; width: 100%; height: 100%; border-radius: ${DesignToken$1.shape.corner.full}; } .item:not([aria-disabled]) { cursor: pointer; -webkit-tap-highlight-color: rgba(0, 0, 0, 0); } .touch { position: absolute; height: 3rem; width: 3rem; margin: auto; } td:not(:has(.item[aria-disabled])).selected { color: var(--m3e-calendar-item-selected-color, ${DesignToken$1.color.onPrimary}); --m3e-ripple-color: var(--m3e-calendar-item-selected-ripple-color, ${DesignToken$1.color.onPrimary}); --m3e-state-layer-hover-color: var(--m3e-calendar-item-selected-hover-color, ${DesignToken$1.color.onPrimary}); --m3e-state-layer-focus-color: var(--m3e-calendar-item-selected-focus-color, ${DesignToken$1.color.onPrimary}); } td:not(:has(.item[aria-disabled])).selected .state-layer { background-color: var(--m3e-calendar-item-selected-container-color, ${DesignToken$1.color.primary}); } td.current:not(.selected):not(.special):not(.range-start):not(.range-end) { color: var(--m3e-calendar-item-current-outline-color, ${DesignToken$1.color.primary}); } td.current:not(.selected):not(.special):not(.range-start):not(.range-end) .state-layer { outline-style: solid; outline-offset: -1px; outline-width: var(--m3e-calendar-item-current-outline-thickness, 1px); outline-color: var(--m3e-calendar-item-current-outline-color, ${DesignToken$1.color.primary}); } td:has(.item[aria-disabled]) { color: color-mix( in srgb, var(--m3e-calendar-item-disabled-color, ${DesignToken$1.color.onSurface}) var(--m3e-calendar-item-disabled-color-opacity, 38%), transparent ); } @media (forced-colors: active) { td:not(:has(.item[aria-disabled])).selected { forced-color-adjust: none; color: ButtonFace; } td:not(:has(.item[aria-disabled])).selected .state-layer { background-color: ButtonText; } td:has(.item[aria-disabled]) { color: GrayText; } td.current:not(.selected):not(.special):not(.range-start):not(.range-end) { color: ButtonText; } td.current:not(.selected):not(.special):not(.range-start):not(.range-end) .state-layer { border-color: ButtonText; } }`;
3758
+ CalendarViewElementBase.styles = css`:host { display: inline-block; user-select: none; vertical-align: top; } .visually-hidden { position: absolute; appearance: none; visibility: hidden; border: none; outline: none; overflow: hidden; left: 0; height: 1px; width: 1px; margin: -1px; padding: 0; white-space: nowrap; } table { border-collapse: collapse; border-spacing: 0; width: calc(3rem * 7); } td, th { font: inherit; text-align: center; padding: unset; } td { box-sizing: border-box; height: 3rem; padding: 0.25rem; position: relative; color: var(--m3e-calendar-item-color, ${DesignToken$1.color.onSurface}); } .item, .item > span { position: relative; } .item { display: flex; align-items: center; justify-content: center; border-radius: inherit; outline: none; width: 100%; height: 100%; border-radius: ${DesignToken$1.shape.corner.full}; } .item:not([aria-disabled]) { cursor: pointer; -webkit-tap-highlight-color: rgba(0, 0, 0, 0); } .touch { position: absolute; height: 3rem; width: 3rem; margin: auto; } td:not(:has(.item[aria-disabled])).selected { color: var(--m3e-calendar-item-selected-color, ${DesignToken$1.color.onPrimary}); --m3e-ripple-color: var(--m3e-calendar-item-selected-ripple-color, ${DesignToken$1.color.onPrimary}); --m3e-state-layer-hover-color: var(--m3e-calendar-item-selected-hover-color, ${DesignToken$1.color.onPrimary}); --m3e-state-layer-focus-color: var(--m3e-calendar-item-selected-focus-color, ${DesignToken$1.color.onPrimary}); } td:not(:has(.item[aria-disabled])).selected .state-layer { background-color: var(--m3e-calendar-item-selected-container-color, ${DesignToken$1.color.primary}); } td.current:not(.selected):not(.special):not(.range-start):not(.range-end) { color: var(--m3e-calendar-item-current-outline-color, ${DesignToken$1.color.primary}); } td.current:not(.selected):not(.special):not(.range-start):not(.range-end) .state-layer { outline-style: solid; outline-offset: -1px; outline-width: var(--m3e-calendar-item-current-outline-thickness, 1px); outline-color: var(--m3e-calendar-item-current-outline-color, ${DesignToken$1.color.primary}); } td:has(.item[aria-disabled]) { color: color-mix( in srgb, var(--m3e-calendar-item-disabled-color, ${DesignToken$1.color.onSurface}) var(--m3e-calendar-item-disabled-color-opacity, 38%), transparent ); } @media (forced-colors: active) { td:not(:has(.item[aria-disabled])).selected { forced-color-adjust: none; color: ButtonFace; } td:not(:has(.item[aria-disabled])).selected .state-layer { background-color: ButtonText; } td:has(.item[aria-disabled]) { color: GrayText; } td.current:not(.selected):not(.special):not(.range-start):not(.range-end) { color: ButtonText; } td.current:not(.selected):not(.special):not(.range-start):not(.range-end) .state-layer { border-color: ButtonText; } }`;
3719
3759
  __decorate([query(".active > .item")], CalendarViewElementBase.prototype, "_activeItem", void 0);
3720
3760
  __decorate([property({
3721
3761
  converter: dateConverter$1
@@ -3938,7 +3978,7 @@ _M3eMonthViewElement_clearRangeHighlight = function _M3eMonthViewElement_clearRa
3938
3978
  }
3939
3979
  };
3940
3980
  /** The styles of the element. */
3941
- M3eMonthViewElement.styles = [CalendarViewElementBase.styles, css`thead { font-size: var(--m3e-calendar-weekday-font-size, ${DesignToken$1.typescale.standard.title.small.fontSize}); font-weight: var(--m3e-calendar-weekday-font-weight, ${DesignToken$1.typescale.standard.title.small.fontWeight}); line-height: var(--m3e-calendar-weekday-line-height, ${DesignToken$1.typescale.standard.title.small.lineHeight}); letter-spacing: var(--m3e-calendar-weekday-tracking, ${DesignToken$1.typescale.standard.title.small.tracking}); } th { height: 1.5rem; padding-block-start: 1.875rem; padding-block-end: 1rem; } tbody { font-size: var(--m3e-calendar-date-font-size, ${DesignToken$1.typescale.standard.body.medium.fontSize}); font-weight: var(--m3e-calendar-date-font-weight, ${DesignToken$1.typescale.standard.body.medium.fontWeight}); line-height: var(--m3e-calendar-date-line-height, ${DesignToken$1.typescale.standard.body.medium.lineHeight}); letter-spacing: var(--m3e-calendar-date-tracking, ${DesignToken$1.typescale.standard.body.medium.tracking}); } td:not(:has(.item[aria-disabled])):not(.selected):not(.range-start):not(.range-end).special { color: var(--m3e-calendar-item-special-color, ${DesignToken$1.color.onTertiaryContainer}); --m3e-ripple-color: var(--m3e-calendar-item-special-ripple-color, ${DesignToken$1.color.onTertiaryContainer}); --m3e-state-layer-hover-color: var( --m3e-calendar-item-special-hover-color, ${DesignToken$1.color.onTertiaryContainer} ); --m3e-state-layer-focus-color: var( --m3e-calendar-item-special-focus-color, ${DesignToken$1.color.onTertiaryContainer} ); } td:not(:has(.item[aria-disabled])):not(.selected):not(.range-start):not(.range-end).special .state-layer { background-color: var(--m3e-calendar-item-special-container-color, ${DesignToken$1.color.tertiaryContainer}); } td:not(:has(.item[aria-disabled])).range-start, td:not(:has(.item[aria-disabled])).range-end { color: var(--m3e-calendar-item-selected-color, ${DesignToken$1.color.onPrimary}); --m3e-ripple-color: var(--m3e-calendar-item-selected-ripple-color, ${DesignToken$1.color.onPrimary}); } td:not(:has(.item[aria-disabled])).range-start .state-layer, td:not(:has(.item[aria-disabled])).range-end .state-layer { background-color: var(--m3e-calendar-item-selected-container-color, ${DesignToken$1.color.primary}); } td:not(:has(.item[aria-disabled])).range::before, td:not(:has(.item[aria-disabled])).range-start-range::before, td:not(:has(.item[aria-disabled])).range-end::before { content: ""; position: absolute; left: 0; right: 0; top: 0.25rem; bottom: 0.25rem; background-color: var(--m3e-calendar-range-container-color, ${DesignToken$1.color.primaryContainer}); } td:not(:has(.item[aria-disabled])):not(.selected).range { color: var(--m3e-calendar-range-color, ${DesignToken$1.color.onPrimaryContainer}); } td:not(:has(.item[aria-disabled])).range-start::before { inset-inline-start: 50%; width: 50%; } td:not(:has(.item[aria-disabled])).range-end::before { inset-inline-end: 50%; width: 50%; } td:not(:has(.item[aria-disabled])).range-highlight-start .item::after, td:not(:has(.item[aria-disabled])).range-highlight .item::after, td:not(:has(.item[aria-disabled])).range-highlight-end .item::after { content: ""; position: absolute; top: 0; left: calc(0px - 0.1875rem); right: calc(0px - 0.1875rem); bottom: 0; border-style: dashed; border-color: ${DesignToken$1.color.primary}; border-width: 1px; } td:not(:has(.item[aria-disabled])).range-highlight-start .item::after { margin-inline-start: 50%; } td:not(:has(.item[aria-disabled])).range-highlight-end .item::after { margin-inline-end: 0.1875rem; } td:not(:has(.item[aria-disabled])).range-highlight-start .item::after, td:not(:has(.item[aria-disabled])).range-highlight .item::after { border-inline-style: none; } td:not(:has(.item[aria-disabled])).range-highlight-end .item::after { border-start-end-radius: ${DesignToken$1.shape.corner.full}; border-end-end-radius: ${DesignToken$1.shape.corner.full}; border-inline-start-style: none; } @media (forced-colors: active) { td:not(:has(.item[aria-disabled])).range-start, td:not(:has(.item[aria-disabled])).range-end { forced-color-adjust: none; color: HighlightText; } td:not(:has(.item[aria-disabled])).range-start .state-layer, td:not(:has(.item[aria-disabled])).range-end .state-layer { background-color: Highlight; } td:not(:has(.item[aria-disabled])).range::before, td:not(:has(.item[aria-disabled])).range-start-range::before, td:not(:has(.item[aria-disabled])).range-end::before { background-color: Highlight; } td:not(:has(.item[aria-disabled])):not(.selected).range { forced-color-adjust: none; color: HighlightText; } td:not(:has(.item[aria-disabled])).range-highlight-start .item::after, td:not(:has(.item[aria-disabled])).range-highlight .item::after, td:not(:has(.item[aria-disabled])).range-highlight-end .item::after { border-color: GrayText; } }`];
3981
+ M3eMonthViewElement.styles = [CalendarViewElementBase.styles, css`thead { font-size: var(--m3e-calendar-weekday-font-size, ${DesignToken$1.typescale.standard.title.small.fontSize}); font-weight: var(--m3e-calendar-weekday-font-weight, ${DesignToken$1.typescale.standard.title.small.fontWeight}); line-height: var(--m3e-calendar-weekday-line-height, ${DesignToken$1.typescale.standard.title.small.lineHeight}); letter-spacing: var(--m3e-calendar-weekday-tracking, ${DesignToken$1.typescale.standard.title.small.tracking}); color: var(--m3e-calendar-weekday-color, ${DesignToken$1.color.onSurface}); } th { height: 1.5rem; padding-block-start: 1.875rem; padding-block-end: 1rem; } tbody { font-size: var(--m3e-calendar-date-font-size, ${DesignToken$1.typescale.standard.body.medium.fontSize}); font-weight: var(--m3e-calendar-date-font-weight, ${DesignToken$1.typescale.standard.body.medium.fontWeight}); line-height: var(--m3e-calendar-date-line-height, ${DesignToken$1.typescale.standard.body.medium.lineHeight}); letter-spacing: var(--m3e-calendar-date-tracking, ${DesignToken$1.typescale.standard.body.medium.tracking}); } td:not(:has(.item[aria-disabled])):not(.selected):not(.range-start):not(.range-end).special { color: var(--m3e-calendar-item-special-color, ${DesignToken$1.color.onTertiaryContainer}); --m3e-ripple-color: var(--m3e-calendar-item-special-ripple-color, ${DesignToken$1.color.onTertiaryContainer}); --m3e-state-layer-hover-color: var( --m3e-calendar-item-special-hover-color, ${DesignToken$1.color.onTertiaryContainer} ); --m3e-state-layer-focus-color: var( --m3e-calendar-item-special-focus-color, ${DesignToken$1.color.onTertiaryContainer} ); } td:not(:has(.item[aria-disabled])):not(.selected):not(.range-start):not(.range-end).special .state-layer { background-color: var(--m3e-calendar-item-special-container-color, ${DesignToken$1.color.tertiaryContainer}); } td:not(:has(.item[aria-disabled])).range-start, td:not(:has(.item[aria-disabled])).range-end { color: var(--m3e-calendar-item-selected-color, ${DesignToken$1.color.onPrimary}); --m3e-ripple-color: var(--m3e-calendar-item-selected-ripple-color, ${DesignToken$1.color.onPrimary}); } td:not(:has(.item[aria-disabled])).range-start .state-layer, td:not(:has(.item[aria-disabled])).range-end .state-layer { background-color: var(--m3e-calendar-item-selected-container-color, ${DesignToken$1.color.primary}); } td:not(:has(.item[aria-disabled])).range::before, td:not(:has(.item[aria-disabled])).range-start-range::before, td:not(:has(.item[aria-disabled])).range-end::before { content: ""; position: absolute; left: 0; right: 0; top: 0.25rem; bottom: 0.25rem; background-color: var(--m3e-calendar-range-container-color, ${DesignToken$1.color.primaryContainer}); } td:not(:has(.item[aria-disabled])):not(.selected).range { color: var(--m3e-calendar-range-color, ${DesignToken$1.color.onPrimaryContainer}); } td:not(:has(.item[aria-disabled])).range-start::before { inset-inline-start: 50%; width: 50%; } td:not(:has(.item[aria-disabled])).range-end::before { inset-inline-end: 50%; width: 50%; } td:not(:has(.item[aria-disabled])).range-highlight-start .item::after, td:not(:has(.item[aria-disabled])).range-highlight .item::after, td:not(:has(.item[aria-disabled])).range-highlight-end .item::after { content: ""; position: absolute; top: 0; left: calc(0px - 0.1875rem); right: calc(0px - 0.1875rem); bottom: 0; border-style: dashed; border-color: ${DesignToken$1.color.primary}; border-width: 1px; } td:not(:has(.item[aria-disabled])).range-highlight-start .item::after { margin-inline-start: 50%; } td:not(:has(.item[aria-disabled])).range-highlight-end .item::after { margin-inline-end: 0.1875rem; } td:not(:has(.item[aria-disabled])).range-highlight-start .item::after, td:not(:has(.item[aria-disabled])).range-highlight .item::after { border-inline-style: none; } td:not(:has(.item[aria-disabled])).range-highlight-end .item::after { border-start-end-radius: ${DesignToken$1.shape.corner.full}; border-end-end-radius: ${DesignToken$1.shape.corner.full}; border-inline-start-style: none; } @media (forced-colors: active) { td:not(:has(.item[aria-disabled])).range-start, td:not(:has(.item[aria-disabled])).range-end { forced-color-adjust: none; color: HighlightText; } td:not(:has(.item[aria-disabled])).range-start .state-layer, td:not(:has(.item[aria-disabled])).range-end .state-layer { background-color: Highlight; } td:not(:has(.item[aria-disabled])).range::before, td:not(:has(.item[aria-disabled])).range-start-range::before, td:not(:has(.item[aria-disabled])).range-end::before { background-color: Highlight; } td:not(:has(.item[aria-disabled])):not(.selected).range { forced-color-adjust: none; color: HighlightText; } td:not(:has(.item[aria-disabled])).range-highlight-start .item::after, td:not(:has(.item[aria-disabled])).range-highlight .item::after, td:not(:has(.item[aria-disabled])).range-highlight-end .item::after { border-color: GrayText; } }`];
3942
3982
  __decorate([property({
3943
3983
  attribute: "range-start",
3944
3984
  converter: dateConverter$1
@@ -4224,6 +4264,7 @@ var _M3eCalendarElement_instances, _M3eCalendarElement_transitionComplete, _M3eC
4224
4264
  * @cssprop --m3e-calendar-weekday-font-weight - Font weight of weekday labels in month view.
4225
4265
  * @cssprop --m3e-calendar-weekday-line-height - Line height of weekday labels in month view.
4226
4266
  * @cssprop --m3e-calendar-weekday-tracking - Letter spacing of weekday labels in month view.
4267
+ * @cssprop --m3e-calendar-weekday-color - Text color for weekday labels in month view.
4227
4268
  * @cssprop --m3e-calendar-date-font-size - Font size of date cells in month view.
4228
4269
  * @cssprop --m3e-calendar-date-font-weight - Font weight of date cells in month view.
4229
4270
  * @cssprop --m3e-calendar-date-line-height - Line height of date cells in month view.
@@ -4232,6 +4273,7 @@ var _M3eCalendarElement_instances, _M3eCalendarElement_transitionComplete, _M3eC
4232
4273
  * @cssprop --m3e-calendar-item-font-weight - Font weight of items in year and multi‑year views.
4233
4274
  * @cssprop --m3e-calendar-item-line-height - Line height of items in year and multi‑year views.
4234
4275
  * @cssprop --m3e-calendar-item-tracking - Letter spacing of items in year and multi‑year views.
4276
+ * @cssprop --m3e-calendar-item-color - Text color for date items.
4235
4277
  * @cssprop --m3e-calendar-item-selected-color - Text color for selected date items.
4236
4278
  * @cssprop --m3e-calendar-item-selected-container-color - Background color for selected date items.
4237
4279
  * @cssprop --m3e-calendar-item-selected-ripple-color - Ripple color used when interacting with selected date items.
@@ -6826,7 +6868,7 @@ function prefersReducedMotion() {
6826
6868
  }
6827
6869
 
6828
6870
  /**
6829
- * Registers a constructable stylesheet in the documents `adoptedStyleSheets`.
6871
+ * Registers a constructable stylesheet in the document's `adoptedStyleSheets`.
6830
6872
  * @param css - A `CSSResult` (e.g., from `css```) whose text will be injected into a constructable stylesheet.
6831
6873
  */
6832
6874
  function registerStyleSheet(css) {
@@ -11406,7 +11448,7 @@ let M3eTextOverflowElement = class M3eTextOverflowElement extends LitElement {
11406
11448
  M3eTextOverflowElement.styles = css`:host { flex: 1 1 auto; display: inline-flex; align-items: center; flex-wrap: nowrap; min-width: 0; } .base { flex: 1 1 auto; display: inline; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }`;
11407
11449
  M3eTextOverflowElement = __decorate([customElement("m3e-text-overflow")], M3eTextOverflowElement);
11408
11450
 
11409
- var _M3eDatepickerElement_instances, _M3eDatepickerElement_breakpointUnobserve, _M3eDatepickerElement_trigger, _M3eDatepickerElement_anchor, _M3eDatepickerElement_anchorCleanup, _M3eDatepickerElement_scrollLockController, _M3eDatepickerElement_inertController, _M3eDatepickerElement_documentClickHandler, _M3eDatepickerElement_documentKeyDownHandler, _M3eDatepickerElement_toggleHandler, _M3eDatepickerElement_renderHeader, _M3eDatepickerElement_handleDocumentClick, _M3eDatepickerElement_handleCalendarChange, _M3eDatepickerElement_handleClearClick, _M3eDatepickerElement_handleDismissClick, _M3eDatepickerElement_handleConfirmClick, _M3eDatepickerElement_handleDocumentKeyDown, _M3eDatepickerElement_updateVariant, _M3eDatepickerElement_updatePosition, _M3eDatepickerElement_clearSelectionState;
11451
+ var _M3eDatepickerElement_instances, _M3eDatepickerElement_breakpointUnobserve, _M3eDatepickerElement_trigger, _M3eDatepickerElement_anchor, _M3eDatepickerElement_anchorCleanup, _M3eDatepickerElement_scrollLockController, _M3eDatepickerElement_inertController, _M3eDatepickerElement_documentClickHandler, _M3eDatepickerElement_documentKeyDownHandler, _M3eDatepickerElement_toggleHandler, _M3eDatepickerElement_renderHeader, _M3eDatepickerElement_handleDocumentClick, _M3eDatepickerElement_handleCalendarChange, _M3eDatepickerElement_handleClearClick, _M3eDatepickerElement_handleDismissClick, _M3eDatepickerElement_handleConfirmClick, _M3eDatepickerElement_handleDocumentKeyDown, _M3eDatepickerElement_initBreakpointMonitoring, _M3eDatepickerElement_updateVariant, _M3eDatepickerElement_updatePosition, _M3eDatepickerElement_clearAnchoring, _M3eDatepickerElement_clearSelectionState;
11410
11452
  var M3eDatepickerElement_1;
11411
11453
  /**
11412
11454
  * Presents a date picker on a temporary surface.
@@ -11455,10 +11497,12 @@ var M3eDatepickerElement_1;
11455
11497
  * @cssprop --m3e-datepicker-container-padding-inline - Inline‑axis padding of the date picker container.
11456
11498
  * @cssprop --m3e-datepicker-container-color - Background color of the standard container surface.
11457
11499
  * @cssprop --m3e-datepicker-container-elevation - Elevation shadow applied to the container surface.
11500
+ * @cssprop --m3e-datepicker-modal-headline-color - Color used for the modal headline text.
11458
11501
  * @cssprop --m3e-datepicker-modal-headline-font-size - Font size used for the modal headline text.
11459
11502
  * @cssprop --m3e-datepicker-modal-headline-font-weight - Font weight used for the modal headline text.
11460
11503
  * @cssprop --m3e-datepicker-modal-headline-line-height - Line height used for the modal headline text.
11461
11504
  * @cssprop --m3e-datepicker-modal-headline-tracking - Letter spacing used for the modal headline text.
11505
+ * @cssprop --m3e-datepicker-modal-supporting-text-color - Color used for supporting text in modal mode.
11462
11506
  * @cssprop --m3e-datepicker-modal-supporting-text-font-size - Font size used for supporting text in modal mode.
11463
11507
  * @cssprop --m3e-datepicker-modal-supporting-text-font-weight - Font weight used for supporting text in modal mode.
11464
11508
  * @cssprop --m3e-datepicker-modal-supporting-text-line-height - Line height used for supporting text in modal mode.
@@ -11473,7 +11517,7 @@ var M3eDatepickerElement_1;
11473
11517
  * @cssprop --m3e-dialog-scrim-color - Base color used for the modal scrim behind the picker.
11474
11518
  * @cssprop --m3e-dialog-scrim-opacity - Opacity applied to the scrim color in modal mode.
11475
11519
  */
11476
- let M3eDatepickerElement = M3eDatepickerElement_1 = class M3eDatepickerElement extends SuppressInitialAnimation$1(AttachInternals$1(Role$1(LitElement, "dialog"))) {
11520
+ let M3eDatepickerElement = M3eDatepickerElement_1 = class M3eDatepickerElement extends SuppressInitialAnimation$1(ReconnectedCallback$1(AttachInternals$1(Role$1(LitElement, "dialog")))) {
11477
11521
  constructor() {
11478
11522
  super(...arguments);
11479
11523
  _M3eDatepickerElement_instances.add(this);
@@ -11628,12 +11672,20 @@ let M3eDatepickerElement = M3eDatepickerElement_1 = class M3eDatepickerElement e
11628
11672
  super.disconnectedCallback();
11629
11673
  this._variant = undefined;
11630
11674
  __classPrivateFieldGet(this, _M3eDatepickerElement_breakpointUnobserve, "f")?.call(this);
11675
+ __classPrivateFieldGet(this, _M3eDatepickerElement_instances, "m", _M3eDatepickerElement_clearAnchoring).call(this);
11631
11676
  deleteCustomState$1(this, "-docked");
11632
11677
  deleteCustomState$1(this, "-modal");
11633
11678
  this.removeEventListener("toggle", __classPrivateFieldGet(this, _M3eDatepickerElement_toggleHandler, "f"));
11634
11679
  document.removeEventListener("click", __classPrivateFieldGet(this, _M3eDatepickerElement_documentClickHandler, "f"));
11635
11680
  document.removeEventListener("keydown", __classPrivateFieldGet(this, _M3eDatepickerElement_documentKeyDownHandler, "f"));
11636
11681
  }
11682
+ /** @inheritdoc */
11683
+ reconnectedCallback() {
11684
+ super.reconnectedCallback();
11685
+ if (this.variant === "auto") {
11686
+ __classPrivateFieldGet(this, _M3eDatepickerElement_instances, "m", _M3eDatepickerElement_initBreakpointMonitoring).call(this);
11687
+ }
11688
+ }
11637
11689
  /**
11638
11690
  * Opens the picker.
11639
11691
  * @param {HTMLElement} trigger The element that triggered the picker.
@@ -11648,9 +11700,15 @@ let M3eDatepickerElement = M3eDatepickerElement_1 = class M3eDatepickerElement e
11648
11700
  __classPrivateFieldGet(this, _M3eDatepickerElement_scrollLockController, "f").lock();
11649
11701
  __classPrivateFieldGet(this, _M3eDatepickerElement_inertController, "f").lock();
11650
11702
  }
11651
- this._calendar.date = this.date;
11652
- this._calendar.rangeStart = this.rangeStart;
11653
- this._calendar.rangeEnd = this.rangeEnd;
11703
+ const calendar = this._calendar;
11704
+ calendar.date = this.date;
11705
+ calendar.rangeStart = this.rangeStart;
11706
+ calendar.rangeEnd = this.rangeEnd;
11707
+ // Reset the start-view
11708
+ calendar.requestUpdate("startView");
11709
+ if (calendar.isUpdatePending) {
11710
+ await calendar.updateComplete;
11711
+ }
11654
11712
  __classPrivateFieldSet(this, _M3eDatepickerElement_trigger, trigger, "f");
11655
11713
  __classPrivateFieldGet(this, _M3eDatepickerElement_trigger, "f").ariaExpanded = "true";
11656
11714
  __classPrivateFieldSet(this, _M3eDatepickerElement_anchor, anchor, "f");
@@ -11702,10 +11760,7 @@ let M3eDatepickerElement = M3eDatepickerElement_1 = class M3eDatepickerElement e
11702
11760
  if (changedProperties.has("variant")) {
11703
11761
  __classPrivateFieldGet(this, _M3eDatepickerElement_breakpointUnobserve, "f")?.call(this);
11704
11762
  if (this.variant === "auto") {
11705
- __classPrivateFieldSet(this, _M3eDatepickerElement_breakpointUnobserve, M3eBreakpointObserver.observe([Breakpoint.XSmall, Breakpoint.Small], matches => {
11706
- this._variant = matches.get(Breakpoint.XSmall) || matches.get(Breakpoint.Small) ? "modal" : "docked";
11707
- __classPrivateFieldGet(this, _M3eDatepickerElement_instances, "m", _M3eDatepickerElement_updateVariant).call(this);
11708
- }), "f");
11763
+ __classPrivateFieldGet(this, _M3eDatepickerElement_instances, "m", _M3eDatepickerElement_initBreakpointMonitoring).call(this);
11709
11764
  } else {
11710
11765
  this._variant = undefined;
11711
11766
  __classPrivateFieldGet(this, _M3eDatepickerElement_instances, "m", _M3eDatepickerElement_updateVariant).call(this);
@@ -11777,6 +11832,12 @@ _M3eDatepickerElement_handleDocumentKeyDown = function _M3eDatepickerElement_han
11777
11832
  this.hide(true);
11778
11833
  }
11779
11834
  };
11835
+ _M3eDatepickerElement_initBreakpointMonitoring = function _M3eDatepickerElement_initBreakpointMonitoring() {
11836
+ __classPrivateFieldSet(this, _M3eDatepickerElement_breakpointUnobserve, M3eBreakpointObserver.observe([Breakpoint.XSmall, Breakpoint.Small], matches => {
11837
+ this._variant = matches.get(Breakpoint.XSmall) || matches.get(Breakpoint.Small) ? "modal" : "docked";
11838
+ __classPrivateFieldGet(this, _M3eDatepickerElement_instances, "m", _M3eDatepickerElement_updateVariant).call(this);
11839
+ }), "f");
11840
+ };
11780
11841
  _M3eDatepickerElement_updateVariant = function _M3eDatepickerElement_updateVariant() {
11781
11842
  switch (this.currentVariant) {
11782
11843
  case "docked":
@@ -11803,6 +11864,7 @@ _M3eDatepickerElement_updateVariant = function _M3eDatepickerElement_updateVaria
11803
11864
  _M3eDatepickerElement_updatePosition = /** @private */
11804
11865
  async function _M3eDatepickerElement_updatePosition() {
11805
11866
  if (this.currentVariant === "docked" && __classPrivateFieldGet(this, _M3eDatepickerElement_trigger, "f")) {
11867
+ __classPrivateFieldGet(this, _M3eDatepickerElement_anchorCleanup, "f")?.call(this);
11806
11868
  __classPrivateFieldSet(this, _M3eDatepickerElement_anchorCleanup, await positionAnchor(this, __classPrivateFieldGet(this, _M3eDatepickerElement_anchor, "f") ?? __classPrivateFieldGet(this, _M3eDatepickerElement_trigger, "f"), {
11807
11869
  position: "bottom-start",
11808
11870
  inline: true,
@@ -11821,18 +11883,21 @@ async function _M3eDatepickerElement_updatePosition() {
11821
11883
  this.style.top = `${y}px`;
11822
11884
  }), "f");
11823
11885
  } else {
11824
- __classPrivateFieldGet(this, _M3eDatepickerElement_anchorCleanup, "f")?.call(this);
11825
- __classPrivateFieldSet(this, _M3eDatepickerElement_anchorCleanup, undefined, "f");
11826
- this.style.left = "";
11827
- this.style.right = "";
11828
- this.style.top = "";
11886
+ __classPrivateFieldGet(this, _M3eDatepickerElement_instances, "m", _M3eDatepickerElement_clearAnchoring).call(this);
11829
11887
  }
11830
11888
  };
11889
+ _M3eDatepickerElement_clearAnchoring = function _M3eDatepickerElement_clearAnchoring() {
11890
+ __classPrivateFieldGet(this, _M3eDatepickerElement_anchorCleanup, "f")?.call(this);
11891
+ __classPrivateFieldSet(this, _M3eDatepickerElement_anchorCleanup, undefined, "f");
11892
+ this.style.left = "";
11893
+ this.style.right = "";
11894
+ this.style.top = "";
11895
+ };
11831
11896
  _M3eDatepickerElement_clearSelectionState = function _M3eDatepickerElement_clearSelectionState() {
11832
11897
  this._date = this._rangeStart = this._rangeEnd = undefined;
11833
11898
  };
11834
11899
  /** The styles of the element. */
11835
- M3eDatepickerElement.styles = css`:host { flex-direction: column; margin: unset; border: unset; padding-block: var(--m3e-datepicker-container-padding-block, 0.75rem); padding-inline: var(--m3e-datepicker-container-padding-inline, 0.25rem); background-color: var(--m3e-datepicker-container-color, ${DesignToken$1.color.surfaceContainer}); box-shadow: var(--m3e-datepicker-container-elevation, ${DesignToken$1.elevation.level3}); opacity: 0; display: none; } .calendar { --m3e-calendar-container-color: transparent; --m3e-calendar-container-elevation: ${DesignToken$1.elevation.level0}; --m3e-calendar-container-shape: ${DesignToken$1.shape.corner.none}; } .headline { font-size: var( --m3e-datepicker-modal-headline-font-size, ${DesignToken$1.typescale.standard.headline.large.fontSize} ); font-weight: var( --m3e-datepicker-modal-headline-font-weight, ${DesignToken$1.typescale.standard.headline.large.fontWeight} ); line-height: var( --m3e-datepicker-modal-headline-line-height, ${DesignToken$1.typescale.standard.headline.large.lineHeight} ); letter-spacing: var( --m3e-datepicker-modal-headline-tracking, ${DesignToken$1.typescale.standard.headline.large.tracking} ); margin-block-start: 2.25rem; margin-block-end: 0.75rem; margin-inline: 1.5rem; } .supporting-text { font-size: var( --m3e-datepicker-modal-supporting-text-font-size, ${DesignToken$1.typescale.standard.label.large.fontSize} ); font-weight: var( --m3e-datepicker-modal-supporting-text-font-weight, ${DesignToken$1.typescale.standard.label.large.fontWeight} ); line-height: var( --m3e-datepicker-modal-supporting-text-line-height, ${DesignToken$1.typescale.standard.label.large.lineHeight} ); letter-spacing: var( --m3e-datepicker-modal-supporting-text-tracking, ${DesignToken$1.typescale.standard.label.large.tracking} ); margin-block-start: 1rem; margin-inline: 1.5rem; } .divider { height: var(--m3e-divider-thickness, 1px); width: 100%; position: relative; } .divider::before { content: ""; box-sizing: border-box; position: absolute; border-bottom: var(--m3e-divider-thickness, 1px) solid var(--m3e-divider-color, ${DesignToken$1.color.outlineVariant}); height: inherit; left: -0.25rem; right: -0.25rem; } .actions { display: flex; align-items: center; column-gap: 0.5rem; padding-inline: var(--m3e-datepicker-actions-padding-inline, 0.5rem); } .spacer { flex: 1 1 auto; } :host(:state(-docked)) { position: absolute; background-color: var(--m3e-datepicker-docked-container-color, ${DesignToken$1.color.surfaceContainer}); border-radius: var(--m3e-datepicker-docked-container-shape, ${DesignToken$1.shape.corner.large}); } :host(:state(-modal)) { position: fixed; inset: 0; margin: auto; transform-origin: top; background-color: var(--m3e-datepicker-modal-container-color, ${DesignToken$1.color.surfaceContainerHigh}); border-radius: var(--m3e-datepicker-modal-container-shape, ${DesignToken$1.shape.corner.extraLarge}); } :host(:not(:state(-no-animate))) { transition: ${unsafeCSS(`opacity ${DesignToken$1.motion.duration.short2} ${DesignToken$1.motion.easing.standard},
11900
+ M3eDatepickerElement.styles = css`:host { flex-direction: column; margin: unset; border: unset; padding-block: var(--m3e-datepicker-container-padding-block, 0.75rem); padding-inline: var(--m3e-datepicker-container-padding-inline, 0.25rem); background-color: var(--m3e-datepicker-container-color, ${DesignToken$1.color.surfaceContainer}); box-shadow: var(--m3e-datepicker-container-elevation, ${DesignToken$1.elevation.level3}); opacity: 0; display: none; } .calendar { --m3e-calendar-container-color: transparent; --m3e-calendar-container-elevation: ${DesignToken$1.elevation.level0}; --m3e-calendar-container-shape: ${DesignToken$1.shape.corner.none}; } .headline { color: var(--m3e-datepicker-modal-headline-color, ${DesignToken$1.color.onSurfaceVariant}); font-size: var( --m3e-datepicker-modal-headline-font-size, ${DesignToken$1.typescale.standard.headline.large.fontSize} ); font-weight: var( --m3e-datepicker-modal-headline-font-weight, ${DesignToken$1.typescale.standard.headline.large.fontWeight} ); line-height: var( --m3e-datepicker-modal-headline-line-height, ${DesignToken$1.typescale.standard.headline.large.lineHeight} ); letter-spacing: var( --m3e-datepicker-modal-headline-tracking, ${DesignToken$1.typescale.standard.headline.large.tracking} ); margin-block-start: 2.25rem; margin-block-end: 0.75rem; margin-inline: 1.5rem; } .supporting-text { color: var(--m3e-datepicker-modal-supporting-text-color, ${DesignToken$1.color.onSurfaceVariant}); font-size: var( --m3e-datepicker-modal-supporting-text-font-size, ${DesignToken$1.typescale.standard.label.large.fontSize} ); font-weight: var( --m3e-datepicker-modal-supporting-text-font-weight, ${DesignToken$1.typescale.standard.label.large.fontWeight} ); line-height: var( --m3e-datepicker-modal-supporting-text-line-height, ${DesignToken$1.typescale.standard.label.large.lineHeight} ); letter-spacing: var( --m3e-datepicker-modal-supporting-text-tracking, ${DesignToken$1.typescale.standard.label.large.tracking} ); margin-block-start: 1rem; margin-inline: 1.5rem; } .divider { height: var(--m3e-divider-thickness, 1px); width: 100%; position: relative; } .divider::before { content: ""; box-sizing: border-box; position: absolute; border-bottom: var(--m3e-divider-thickness, 1px) solid var(--m3e-divider-color, ${DesignToken$1.color.outlineVariant}); height: inherit; left: -0.25rem; right: -0.25rem; } .actions { display: flex; align-items: center; column-gap: 0.5rem; padding-inline: var(--m3e-datepicker-actions-padding-inline, 0.5rem); } .spacer { flex: 1 1 auto; } :host(:state(-docked)) { position: absolute; background-color: var(--m3e-datepicker-docked-container-color, ${DesignToken$1.color.surfaceContainer}); border-radius: var(--m3e-datepicker-docked-container-shape, ${DesignToken$1.shape.corner.large}); } :host(:state(-modal)) { position: fixed; inset: 0; margin: auto; transform-origin: top; background-color: var(--m3e-datepicker-modal-container-color, ${DesignToken$1.color.surfaceContainerHigh}); border-radius: var(--m3e-datepicker-modal-container-shape, ${DesignToken$1.shape.corner.extraLarge}); } :host(:not(:state(-no-animate))) { transition: ${unsafeCSS(`opacity ${DesignToken$1.motion.duration.short2} ${DesignToken$1.motion.easing.standard},
11836
11901
  transform ${DesignToken$1.motion.duration.short2} ${DesignToken$1.motion.easing.standard},
11837
11902
  overlay ${DesignToken$1.motion.duration.short2} ${DesignToken$1.motion.easing.standard} allow-discrete,
11838
11903
  display ${DesignToken$1.motion.duration.short2} ${DesignToken$1.motion.easing.standard} allow-discrete`)}; } :host { transform: scaleY(0.8); } :host(:popover-open) { transform: scaleY(1); display: inline-flex; opacity: 1; } :host(:state(-docked))::backdrop { background-color: transparent; } :host(:state(-modal))::backdrop { background-color: color-mix(in srgb, var(--m3e-dialog-scrim-color, ${DesignToken$1.color.scrim}) 0%, transparent); margin-inline-end: -20px; } :host(:state(-modal):not(:popover-open))::backdrop { transition: ${unsafeCSS(`background-color ${DesignToken$1.motion.duration.short3} ${DesignToken$1.motion.easing.standard},
@@ -12367,7 +12432,7 @@ const DrawerContainerStyle = css`:host { display: block; position: relative; ove
12367
12432
  visibility ${DesignToken$1.motion.duration.medium4} ${DesignToken$1.motion.easing.standard} allow-discrete`)}; } @starting-style { .scrim { opacity: 0; } } :host(:state(-start-push)[start]) .scrim, :host(:state(-end-push)[end]) .scrim, :host(:state(-start-over)[start]) .scrim, :host(:state(-end-over)[end]) .scrim { visibility: visible; opacity: ${DrawerContainerToken.scrimOpacity}; } :host(:state(-start-push)) .start, :host(:state(-start-over)) .start { border-start-end-radius: ${DrawerContainerToken.cornerShape}; border-end-end-radius: ${DrawerContainerToken.cornerShape}; } :host(:state(-end-push)) .end, :host(:state(-end-over)) .end { border-start-start-radius: ${DrawerContainerToken.cornerShape}; border-end-start-radius: ${DrawerContainerToken.cornerShape}; } :host(:state(-start-push)) .start, :host(:state(-end-push)) .end, :host(:state(-start-over)) .start, :host(:state(-end-over)) .end { background-color: ${DrawerContainerToken.modalContainerColor}; box-shadow: ${DrawerContainerToken.modalContainerElevation}; } :host([start-divider]) .start { border-inline-end-color: transparent; border-inline-end-width: ${DrawerContainerToken.dividerThickness}; border-inline-end-style: solid; box-sizing: border-box; } :host([start-divider]:state(-start-side)[start]:not(:state(-end-push)[end]):not(:state(-end-over)[end])) .start { border-inline-end-color: ${DrawerContainerToken.dividerColor}; } :host([end-divider]) .end { border-inline-start-color: transparent; border-inline-start-width: ${DrawerContainerToken.dividerThickness}; border-inline-start-style: solid; box-sizing: border-box; } :host([end-divider]:state(-end-side)[end]:not(:state(-start-push)[start]):not(:state(-start-over)[start])) .end { border-inline-start-color: ${DrawerContainerToken.dividerColor}; } :host(:state(-no-animate)) .start, :host(:state(-no-animate)) .end, :host(:state(-no-animate)) .content { transition: none; } @media (forced-colors: active) { .start, .end { background-color: Canvas; box-shadow: unset; transition: ${unsafeCSS(`margin ${DesignToken$1.motion.duration.medium4} ${DesignToken$1.motion.easing.standard},
12368
12433
  visibility ${DesignToken$1.motion.duration.medium4} ${DesignToken$1.motion.easing.standard} allow-discrete`)}; } :host(:state(-start-push)) .start, :host(:state(-end-push)) .end, :host(:state(-start-over)) .start, :host(:state(-end-over)) .end { background-color: Canvas; box-shadow: unset; border-color: CanvasText; } .start, .end { border-style: solid; border-color: Canvas; border-width: 1px; } .start { border-inline-start-style: none; } .end { border-inline-end-style: none; } :host([start-divider]:state(-start-side)[start]:not(:state(-end-push)[end]):not(:state(-end-over)[end])) .start { border-inline-end-color: GrayText; } :host([end-divider]:state(-end-side)[end]:not(:state(-start-push)[start]):not(:state(-start-over)[start])) .end { border-inline-start-color: GrayText; } } @media (prefers-reduced-motion) { .start, .end, .content, .scrim { transition: none; } }`;
12369
12434
 
12370
- var _M3eDrawerContainerElement_instances, _M3eDrawerContainerElement_breakpointUnobserve, _M3eDrawerContainerElement_disableStartFocusTrap, _M3eDrawerContainerElement_disableEndFocusTrap, _M3eDrawerContainerElement_resizeController, _M3eDrawerContainerElement_initialize, _M3eDrawerContainerElement_handleScrimClick, _M3eDrawerContainerElement_handleStartSlotChange, _M3eDrawerContainerElement_handleEndSlotChange, _M3eDrawerContainerElement_handleDrawerResize, _M3eDrawerContainerElement_clearMode, _M3eDrawerContainerElement_updateMode;
12435
+ var _M3eDrawerContainerElement_instances, _M3eDrawerContainerElement_breakpointUnobserve, _M3eDrawerContainerElement_disableStartFocusTrap, _M3eDrawerContainerElement_disableEndFocusTrap, _M3eDrawerContainerElement_resizeController, _M3eDrawerContainerElement_initialize, _M3eDrawerContainerElement_handleScrimClick, _M3eDrawerContainerElement_handleStartSlotChange, _M3eDrawerContainerElement_handleEndSlotChange, _M3eDrawerContainerElement_handleDrawerResize, _M3eDrawerContainerElement_initBreakpointMonitoring, _M3eDrawerContainerElement_clearMode, _M3eDrawerContainerElement_updateMode;
12371
12436
  /**
12372
12437
  * A container for one or two sliding drawers.
12373
12438
  *
@@ -12412,8 +12477,8 @@ var _M3eDrawerContainerElement_instances, _M3eDrawerContainerElement_breakpointU
12412
12477
  * @cssprop --m3e-drawer-container-elevation - The elevation level of the drawer container.
12413
12478
  * @cssprop --m3e-drawer-container-width - The width of the drawer container.
12414
12479
  * @cssprop --m3e-drawer-container-scrim-opacity - The opacity of the scrim behind the drawer.
12415
- * @cssprop --m3e-modal-drawer-start-shape - The shape of the drawers start edge (typically left in LTR).
12416
- * @cssprop --m3e-modal-drawer-end-shape - The shape of the drawers end edge (typically right in LTR).
12480
+ * @cssprop --m3e-modal-drawer-start-shape - The shape of the drawer's start edge (typically left in LTR).
12481
+ * @cssprop --m3e-modal-drawer-end-shape - The shape of the drawer's end edge (typically right in LTR).
12417
12482
  * @cssprop --m3e-modal-drawer-container-color - The background color of the modal drawer container.
12418
12483
  * @cssprop --m3e-modal-drawer-elevation - The elevation level of the modal drawer container.
12419
12484
  * @cssprop --m3e-drawer-divider-color - The color of the divider between drawer sections.
@@ -12487,7 +12552,7 @@ let M3eDrawerContainerElement = class M3eDrawerContainerElement extends Reconnec
12487
12552
  if (changedProperties.has("startMode") || changedProperties.has("endMode")) {
12488
12553
  __classPrivateFieldGet(this, _M3eDrawerContainerElement_breakpointUnobserve, "f")?.call(this);
12489
12554
  if (this.startMode === "auto" || this.endMode === "auto") {
12490
- __classPrivateFieldSet(this, _M3eDrawerContainerElement_breakpointUnobserve, M3eBreakpointObserver.observe([Breakpoint.XSmall, Breakpoint.Small], matches => __classPrivateFieldGet(this, _M3eDrawerContainerElement_instances, "m", _M3eDrawerContainerElement_updateMode).call(this, matches, true)), "f");
12555
+ __classPrivateFieldGet(this, _M3eDrawerContainerElement_instances, "m", _M3eDrawerContainerElement_initBreakpointMonitoring).call(this);
12491
12556
  } else {
12492
12557
  __classPrivateFieldGet(this, _M3eDrawerContainerElement_instances, "m", _M3eDrawerContainerElement_updateMode).call(this);
12493
12558
  }
@@ -12512,6 +12577,9 @@ let M3eDrawerContainerElement = class M3eDrawerContainerElement extends Reconnec
12512
12577
  reconnectedCallback() {
12513
12578
  super.reconnectedCallback();
12514
12579
  __classPrivateFieldGet(this, _M3eDrawerContainerElement_instances, "m", _M3eDrawerContainerElement_initialize).call(this);
12580
+ if (this.startMode === "auto" || this.endMode === "auto") {
12581
+ __classPrivateFieldGet(this, _M3eDrawerContainerElement_instances, "m", _M3eDrawerContainerElement_initBreakpointMonitoring).call(this);
12582
+ }
12515
12583
  }
12516
12584
  /** @inheritdoc */
12517
12585
  firstUpdated(_changedProperties) {
@@ -12566,6 +12634,9 @@ _M3eDrawerContainerElement_handleDrawerResize = function _M3eDrawerContainerElem
12566
12634
  deleteCustomState$1(this, "-no-animate");
12567
12635
  }
12568
12636
  };
12637
+ _M3eDrawerContainerElement_initBreakpointMonitoring = function _M3eDrawerContainerElement_initBreakpointMonitoring() {
12638
+ __classPrivateFieldSet(this, _M3eDrawerContainerElement_breakpointUnobserve, M3eBreakpointObserver.observe([Breakpoint.XSmall, Breakpoint.Small], matches => __classPrivateFieldGet(this, _M3eDrawerContainerElement_instances, "m", _M3eDrawerContainerElement_updateMode).call(this, matches, true)), "f");
12639
+ };
12569
12640
  _M3eDrawerContainerElement_clearMode = function _M3eDrawerContainerElement_clearMode() {
12570
12641
  deleteCustomState$1(this, "-start-over");
12571
12642
  deleteCustomState$1(this, "-start-push");
@@ -18760,7 +18831,7 @@ _M3eMenuItemRadioElement_handleMouseEnter = function _M3eMenuItemRadioElement_ha
18760
18831
  M3eMenuItemRadioElement.styles = M3eMenuItemCheckboxElement.styles;
18761
18832
  M3eMenuItemRadioElement = __decorate([customElement$1("m3e-menu-item-radio")], M3eMenuItemRadioElement);
18762
18833
 
18763
- var _M3eNavBarElement_instances, _M3eNavBarElement_breakpointUnobserve, _M3eNavBarElement_handleSlotChange, _M3eNavBarElement_handleChange, _a$6;
18834
+ var _M3eNavBarElement_instances, _M3eNavBarElement_breakpointUnobserve, _M3eNavBarElement_initBreakpointMonitoring, _M3eNavBarElement_handleSlotChange, _M3eNavBarElement_handleChange, _a$6;
18764
18835
  /**
18765
18836
  * A horizontal bar, typically used on smaller devices, that allows a user to switch between 3-5 views.
18766
18837
  *
@@ -18792,7 +18863,7 @@ var _M3eNavBarElement_instances, _M3eNavBarElement_breakpointUnobserve, _M3eNavB
18792
18863
  * @cssprop --m3e-nav-bar-container-color - Background color of the navigation bar container.
18793
18864
  * @cssprop --m3e-nav-bar-vertical-item-width - Minimum width of vertical nav items.
18794
18865
  */
18795
- let M3eNavBarElement = class M3eNavBarElement extends AttachInternals$1(Role$1(LitElement, "navigation")) {
18866
+ let M3eNavBarElement = class M3eNavBarElement extends ReconnectedCallback$1(AttachInternals$1(Role$1(LitElement, "navigation"))) {
18796
18867
  constructor() {
18797
18868
  super(...arguments);
18798
18869
  _M3eNavBarElement_instances.add(this);
@@ -18828,15 +18899,19 @@ let M3eNavBarElement = class M3eNavBarElement extends AttachInternals$1(Role$1(L
18828
18899
  __classPrivateFieldGet(this, _M3eNavBarElement_breakpointUnobserve, "f")?.call(this);
18829
18900
  }
18830
18901
  /** @inheritdoc */
18902
+ reconnectedCallback() {
18903
+ super.reconnectedCallback();
18904
+ if (this.mode === "auto") {
18905
+ __classPrivateFieldGet(this, _M3eNavBarElement_instances, "m", _M3eNavBarElement_initBreakpointMonitoring).call(this);
18906
+ }
18907
+ }
18908
+ /** @inheritdoc */
18831
18909
  willUpdate(changedProperties) {
18832
18910
  super.willUpdate(changedProperties);
18833
18911
  if (changedProperties.has("mode")) {
18834
18912
  __classPrivateFieldGet(this, _M3eNavBarElement_breakpointUnobserve, "f")?.call(this);
18835
18913
  if (this.mode === "auto") {
18836
- __classPrivateFieldSet(this, _M3eNavBarElement_breakpointUnobserve, M3eBreakpointObserver.observe([Breakpoint.XSmall, Breakpoint.Small], matches => {
18837
- this._mode = matches.get(Breakpoint.XSmall) || matches.get(Breakpoint.Small) ? "compact" : "expanded";
18838
- this._updateItems();
18839
- }), "f");
18914
+ __classPrivateFieldGet(this, _M3eNavBarElement_instances, "m", _M3eNavBarElement_initBreakpointMonitoring).call(this);
18840
18915
  } else {
18841
18916
  this._mode = undefined;
18842
18917
  this._updateItems();
@@ -18864,6 +18939,12 @@ let M3eNavBarElement = class M3eNavBarElement extends AttachInternals$1(Role$1(L
18864
18939
  _M3eNavBarElement_breakpointUnobserve = new WeakMap();
18865
18940
  _M3eNavBarElement_instances = new WeakSet();
18866
18941
  _a$6 = selectionManager;
18942
+ _M3eNavBarElement_initBreakpointMonitoring = function _M3eNavBarElement_initBreakpointMonitoring() {
18943
+ __classPrivateFieldSet(this, _M3eNavBarElement_breakpointUnobserve, M3eBreakpointObserver.observe([Breakpoint.XSmall, Breakpoint.Small], matches => {
18944
+ this._mode = matches.get(Breakpoint.XSmall) || matches.get(Breakpoint.Small) ? "compact" : "expanded";
18945
+ this._updateItems();
18946
+ }), "f");
18947
+ };
18867
18948
  _M3eNavBarElement_handleSlotChange = function _M3eNavBarElement_handleSlotChange() {
18868
18949
  this[selectionManager].setItems([...this.querySelectorAll("m3e-nav-item")]);
18869
18950
  this._updateItems();
@@ -20249,7 +20330,7 @@ _M3eOptionPanelElement_handleMutation = function _M3eOptionPanelElement_handleMu
20249
20330
  let last;
20250
20331
  for (let i = 0; i < options.length; i++) {
20251
20332
  const option = options[i];
20252
- if (option.hidden) {
20333
+ if (option.hidden === true) {
20253
20334
  deleteCustomState$1(option, "-first");
20254
20335
  deleteCustomState$1(option, "-last");
20255
20336
  } else if (!first && !(option.parentElement instanceof M3eOptGroupElement)) {
@@ -21749,7 +21830,7 @@ __decorate([property({
21749
21830
  })], M3eSearchBarElement.prototype, "clearLabel", void 0);
21750
21831
  M3eSearchBarElement = __decorate([customElement$1("m3e-search-bar")], M3eSearchBarElement);
21751
21832
 
21752
- var _M3eSearchViewElement_instances, _M3eSearchViewElement_input, _M3eSearchViewElement_closeOnInputFocus, _M3eSearchViewElement_inputInputHandler, _M3eSearchViewElement_inputFocusHandler, _M3eSearchViewElement_inputKeyDownHandler, _M3eSearchViewElement_inputPointerHandler, _M3eSearchViewElement_scrollLockController, _M3eSearchViewElement_inertController, _M3eSearchViewElement_openMode, _M3eSearchViewElement_anchorCleanup, _M3eSearchViewElement_breakpointUnobserve, _M3eSearchViewElement_renderIconOrBackButton, _M3eSearchViewElement_renderIcon, _M3eSearchViewElement_renderBackButton, _M3eSearchViewElement_renderClearButton, _M3eSearchViewElement_handleInputSlotChange, _M3eSearchViewElement_handleInputInput, _M3eSearchViewElement_updateMode, _M3eSearchViewElement_updateClearableState, _M3eSearchViewElement_handleInputFocus, _M3eSearchViewElement_handleCloseClick, _M3eSearchViewElement_handleClearClick, _M3eSearchViewElement_handleInputPointerDown, _M3eSearchViewElement_handleInputKeyDown, _M3eSearchViewElement_handleKeyDown, _M3eSearchViewElement_openDocked, _M3eSearchViewElement_closeDocked, _M3eSearchViewElement_hideDocked, _M3eSearchViewElement_openFullscreen, _M3eSearchViewElement_closeFullscreen;
21833
+ var _M3eSearchViewElement_instances, _M3eSearchViewElement_input, _M3eSearchViewElement_closeOnInputFocus, _M3eSearchViewElement_inputInputHandler, _M3eSearchViewElement_inputFocusHandler, _M3eSearchViewElement_inputKeyDownHandler, _M3eSearchViewElement_inputPointerHandler, _M3eSearchViewElement_scrollLockController, _M3eSearchViewElement_inertController, _M3eSearchViewElement_openMode, _M3eSearchViewElement_anchorCleanup, _M3eSearchViewElement_breakpointUnobserve, _M3eSearchViewElement_renderIconOrBackButton, _M3eSearchViewElement_renderIcon, _M3eSearchViewElement_renderBackButton, _M3eSearchViewElement_renderClearButton, _M3eSearchViewElement_initBreakpointMonitoring, _M3eSearchViewElement_handleInputSlotChange, _M3eSearchViewElement_handleInputInput, _M3eSearchViewElement_updateMode, _M3eSearchViewElement_updateClearableState, _M3eSearchViewElement_handleInputFocus, _M3eSearchViewElement_handleCloseClick, _M3eSearchViewElement_handleClearClick, _M3eSearchViewElement_handleInputPointerDown, _M3eSearchViewElement_handleInputKeyDown, _M3eSearchViewElement_handleKeyDown, _M3eSearchViewElement_openDocked, _M3eSearchViewElement_closeDocked, _M3eSearchViewElement_hideDocked, _M3eSearchViewElement_openFullscreen, _M3eSearchViewElement_closeFullscreen;
21753
21834
  /**
21754
21835
  * A surface that presents suggestions and results for a search.
21755
21836
  *
@@ -21818,7 +21899,7 @@ var _M3eSearchViewElement_instances, _M3eSearchViewElement_input, _M3eSearchView
21818
21899
  * @cssprop --m3e-search-view-docked-scrim-color - Color of the scrim behind the docked view.
21819
21900
  * @cssprop --m3e-search-view-docked-scrim-opacity - Opacity of the scrim behind the docked view.
21820
21901
  */
21821
- let M3eSearchViewElement = class M3eSearchViewElement extends EventAttribute$1(AttachInternals$1(LitElement), "clear", "query") {
21902
+ let M3eSearchViewElement = class M3eSearchViewElement extends EventAttribute$1(ReconnectedCallback$1(AttachInternals$1(LitElement)), "clear", "query") {
21822
21903
  constructor() {
21823
21904
  super();
21824
21905
  _M3eSearchViewElement_instances.add(this);
@@ -21905,6 +21986,19 @@ let M3eSearchViewElement = class M3eSearchViewElement extends EventAttribute$1(A
21905
21986
  }));
21906
21987
  }
21907
21988
  /** @inheritdoc */
21989
+ disconnectedCallback() {
21990
+ super.disconnectedCallback();
21991
+ this._mode = undefined;
21992
+ __classPrivateFieldGet(this, _M3eSearchViewElement_breakpointUnobserve, "f")?.call(this);
21993
+ }
21994
+ /** @inheritdoc */
21995
+ reconnectedCallback() {
21996
+ super.reconnectedCallback();
21997
+ if (this.mode === "auto") {
21998
+ __classPrivateFieldGet(this, _M3eSearchViewElement_instances, "m", _M3eSearchViewElement_initBreakpointMonitoring).call(this);
21999
+ }
22000
+ }
22001
+ /** @inheritdoc */
21908
22002
  willUpdate(changedProperties) {
21909
22003
  super.willUpdate(changedProperties);
21910
22004
  if (changedProperties.has("mode")) {
@@ -21914,14 +22008,7 @@ let M3eSearchViewElement = class M3eSearchViewElement extends EventAttribute$1(A
21914
22008
  this.open = false;
21915
22009
  }
21916
22010
  if (this.mode === "auto") {
21917
- __classPrivateFieldSet(this, _M3eSearchViewElement_breakpointUnobserve, M3eBreakpointObserver.observe([Breakpoint.XSmall], matches => {
21918
- const currentMode = this.currentMode;
21919
- this._mode = matches.get(Breakpoint.XSmall) ? "fullscreen" : "docked";
21920
- if (currentMode !== this._mode && this.open) {
21921
- this.open = false;
21922
- }
21923
- __classPrivateFieldGet(this, _M3eSearchViewElement_instances, "m", _M3eSearchViewElement_updateMode).call(this);
21924
- }), "f");
22011
+ __classPrivateFieldGet(this, _M3eSearchViewElement_instances, "m", _M3eSearchViewElement_initBreakpointMonitoring).call(this);
21925
22012
  } else {
21926
22013
  this._mode = undefined;
21927
22014
  __classPrivateFieldGet(this, _M3eSearchViewElement_instances, "m", _M3eSearchViewElement_updateMode).call(this);
@@ -21987,6 +22074,16 @@ _M3eSearchViewElement_renderBackButton = function _M3eSearchViewElement_renderBa
21987
22074
  _M3eSearchViewElement_renderClearButton = function _M3eSearchViewElement_renderClearButton() {
21988
22075
  return html`<m3e-icon-button class="clear" slot="trailing" aria-label="${this.open && !this._clearable ? this.closeLabel : this.clearLabel}" @click="${__classPrivateFieldGet(this, _M3eSearchViewElement_instances, "m", _M3eSearchViewElement_handleClearClick)}"><slot name="clear-icon"><svg class="clear-icon" viewBox="0 -960 960 960" fill="currentColor"><path d="m256-200-56-56 224-224-224-224 56-56 224 224 224-224 56 56-224 224 224 224-56 56-224-224-224 224Z"/></svg></slot></m3e-icon-button>`;
21989
22076
  };
22077
+ _M3eSearchViewElement_initBreakpointMonitoring = function _M3eSearchViewElement_initBreakpointMonitoring() {
22078
+ __classPrivateFieldSet(this, _M3eSearchViewElement_breakpointUnobserve, M3eBreakpointObserver.observe([Breakpoint.XSmall], matches => {
22079
+ const currentMode = this.currentMode;
22080
+ this._mode = matches.get(Breakpoint.XSmall) ? "fullscreen" : "docked";
22081
+ if (currentMode !== this._mode && this.open) {
22082
+ this.open = false;
22083
+ }
22084
+ __classPrivateFieldGet(this, _M3eSearchViewElement_instances, "m", _M3eSearchViewElement_updateMode).call(this);
22085
+ }), "f");
22086
+ };
21990
22087
  _M3eSearchViewElement_handleInputSlotChange = function _M3eSearchViewElement_handleInputSlotChange(e) {
21991
22088
  const input = e.target.assignedElements({
21992
22089
  flatten: true
@@ -22357,8 +22454,8 @@ var M3eButtonSegmentElement_1;
22357
22454
  * @fires click - Emitted when the element is clicked.
22358
22455
  *
22359
22456
  * @cssprop --m3e-segmented-button-height - Total height of the segmented button.
22360
- * @cssprop --m3e-segmented-button-outline-thickness - Thickness of the buttons border.
22361
- * @cssprop --m3e-segmented-button-outline-color - Color of the buttons border.
22457
+ * @cssprop --m3e-segmented-button-outline-thickness - Thickness of the button's border.
22458
+ * @cssprop --m3e-segmented-button-outline-color - Color of the button's border.
22362
22459
  * @cssprop --m3e-segmented-button-padding-start - Padding on the leading edge of the button content.
22363
22460
  * @cssprop --m3e-segmented-button-padding-end - Padding on the trailing edge of the button content.
22364
22461
  * @cssprop --m3e-segmented-button-spacing - Horizontal gap between icon and label.
@@ -23012,6 +23109,7 @@ _M3eSelectElement_destroyMenu = function _M3eSelectElement_destroyMenu(e) {
23012
23109
  this.ariaExpanded = "false";
23013
23110
  this.removeAttribute("aria-controls");
23014
23111
  this.removeAttribute("aria-owns");
23112
+ this.removeAttribute("aria-activedescendant");
23015
23113
  this.requestUpdate();
23016
23114
  deleteCustomState$1(this, "-open");
23017
23115
  __classPrivateFieldGet(this, _M3eSelectElement_instances, "a", _M3eSelectElement_formField_get)?.notifyControlStateChange();
@@ -23060,7 +23158,6 @@ _M3eSelectElement_showMenu = function _M3eSelectElement_showMenu() {
23060
23158
  _M3eSelectElement_hideMenu = function _M3eSelectElement_hideMenu() {
23061
23159
  if (!__classPrivateFieldGet(this, _M3eSelectElement_menu, "f")) return;
23062
23160
  __classPrivateFieldGet(this, _M3eSelectElement_menu, "f").hide();
23063
- this.removeAttribute("aria-activedescendant");
23064
23161
  deleteCustomState$1(this, "-open");
23065
23162
  };
23066
23163
  _M3eSelectElement_activateOption = function _M3eSelectElement_activateOption(option) {
@@ -24270,7 +24367,7 @@ var _M3eSplitButtonElement_instances, _M3eSplitButtonElement_leadingButton, _M3e
24270
24367
  * `filled`, `tonal`, and `outlined` variants, and adapts to all button sizes. The leading button triggers
24271
24368
  * the main action, while the trailing icon button reveals additional options, enabling efficient workflows
24272
24369
  * and clear visual hierarchy. The split button ensures accessible, adaptive, and visually harmonious
24273
- * interactions, reflecting Material 3s principles of clarity, flexibility, and expressive design.
24370
+ * interactions, reflecting Material 3's principles of clarity, flexibility, and expressive design.
24274
24371
  *
24275
24372
  * @example
24276
24373
  * The following example illustrates use of the `m3e-split-button` to combine the `m3e-button`,
@@ -24834,7 +24931,7 @@ class StepperButtonElementBase extends ActionElementBase$1 {
24834
24931
  }
24835
24932
  _StepperButtonElementBase_action = new WeakMap();
24836
24933
 
24837
- var _M3eStepperElement_instances, _M3eStepperElement_breakpointUnobserve, _M3eStepperElement_renderHeader, _M3eStepperElement_handleChange, _M3eStepperElement_handleSlotChange, _M3eStepperElement_handleKeyDown, _M3eStepperElement_handleSelectedChange, _M3eStepperElement_checkValidity, _M3eStepperElement_updateDisplayOrder, _a$3;
24934
+ var _M3eStepperElement_instances, _M3eStepperElement_breakpointUnobserve, _M3eStepperElement_renderHeader, _M3eStepperElement_handleChange, _M3eStepperElement_handleSlotChange, _M3eStepperElement_handleKeyDown, _M3eStepperElement_handleSelectedChange, _M3eStepperElement_checkValidity, _M3eStepperElement_initBreakpointMonitoring, _M3eStepperElement_updateDisplayOrder, _a$3;
24838
24935
  /**
24839
24936
  * Provides a wizard-like workflow by dividing content into logical steps.
24840
24937
  *
@@ -24900,7 +24997,7 @@ var _M3eStepperElement_instances, _M3eStepperElement_breakpointUnobserve, _M3eSt
24900
24997
  * @cssprop --m3e-step-divider-color - Color of the divider line between steps.
24901
24998
  * @cssprop --m3e-step-divider-inset - Inset offset for divider alignment within step layout.
24902
24999
  */
24903
- let M3eStepperElement = class M3eStepperElement extends AttachInternals$1(LitElement) {
25000
+ let M3eStepperElement = class M3eStepperElement extends ReconnectedCallback$1(AttachInternals$1(LitElement)) {
24904
25001
  constructor() {
24905
25002
  super(...arguments);
24906
25003
  _M3eStepperElement_instances.add(this);
@@ -25030,15 +25127,19 @@ let M3eStepperElement = class M3eStepperElement extends AttachInternals$1(LitEle
25030
25127
  __classPrivateFieldGet(this, _M3eStepperElement_breakpointUnobserve, "f")?.call(this);
25031
25128
  }
25032
25129
  /** @inheritdoc */
25130
+ reconnectedCallback() {
25131
+ super.reconnectedCallback();
25132
+ if (this.orientation === "auto") {
25133
+ __classPrivateFieldGet(this, _M3eStepperElement_instances, "m", _M3eStepperElement_initBreakpointMonitoring).call(this);
25134
+ }
25135
+ }
25136
+ /** @inheritdoc */
25033
25137
  willUpdate(changedProperties) {
25034
25138
  super.willUpdate(changedProperties);
25035
25139
  if (changedProperties.has("orientation")) {
25036
25140
  __classPrivateFieldGet(this, _M3eStepperElement_breakpointUnobserve, "f")?.call(this);
25037
25141
  if (this.orientation === "auto") {
25038
- __classPrivateFieldSet(this, _M3eStepperElement_breakpointUnobserve, M3eBreakpointObserver.observe([Breakpoint.XSmall], matches => {
25039
- this._orientation = matches.get(Breakpoint.XSmall) ? "vertical" : "horizontal";
25040
- __classPrivateFieldGet(this, _M3eStepperElement_instances, "m", _M3eStepperElement_updateDisplayOrder).call(this);
25041
- }), "f");
25142
+ __classPrivateFieldGet(this, _M3eStepperElement_instances, "m", _M3eStepperElement_initBreakpointMonitoring).call(this);
25042
25143
  } else {
25043
25144
  this._orientation = undefined;
25044
25145
  __classPrivateFieldGet(this, _M3eStepperElement_instances, "m", _M3eStepperElement_updateDisplayOrder).call(this);
@@ -25130,6 +25231,12 @@ _M3eStepperElement_checkValidity = function _M3eStepperElement_checkValidity() {
25130
25231
  }
25131
25232
  return valid;
25132
25233
  };
25234
+ _M3eStepperElement_initBreakpointMonitoring = function _M3eStepperElement_initBreakpointMonitoring() {
25235
+ __classPrivateFieldSet(this, _M3eStepperElement_breakpointUnobserve, M3eBreakpointObserver.observe([Breakpoint.XSmall], matches => {
25236
+ this._orientation = matches.get(Breakpoint.XSmall) ? "vertical" : "horizontal";
25237
+ __classPrivateFieldGet(this, _M3eStepperElement_instances, "m", _M3eStepperElement_updateDisplayOrder).call(this);
25238
+ }), "f");
25239
+ };
25133
25240
  _M3eStepperElement_updateDisplayOrder = function _M3eStepperElement_updateDisplayOrder() {
25134
25241
  this[selectionManager].vertical = (this._orientation ?? this.orientation) === "vertical";
25135
25242
  setCustomState$1(this, "-vertical", this[selectionManager].vertical);
@@ -25369,8 +25476,8 @@ var _M3eSwitchElement_instances, _M3eSwitchElement_clickHandler, _M3eSwitchEleme
25369
25476
  * @cssprop --m3e-switch-unselected-icon-size - Size of the icon in the unselected state.
25370
25477
  * @cssprop --m3e-switch-track-height - Height of the switch track.
25371
25478
  * @cssprop --m3e-switch-track-width - Width of the switch track.
25372
- * @cssprop --m3e-switch-track-outline-color - Color of the tracks outline.
25373
- * @cssprop --m3e-switch-track-outline-width - Thickness of the tracks outline.
25479
+ * @cssprop --m3e-switch-track-outline-color - Color of the track's outline.
25480
+ * @cssprop --m3e-switch-track-outline-width - Thickness of the track's outline.
25374
25481
  * @cssprop --m3e-switch-track-shape - Corner shape of the track.
25375
25482
  * @cssprop --m3e-switch-selected-track-color - Track color when selected.
25376
25483
  * @cssprop --m3e-switch-unselected-track-color - Track color when unselected.