@sbb-esta/lyne-elements 1.7.0 → 1.8.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (88) hide show
  1. package/calendar/calendar.d.ts +5 -2
  2. package/calendar/calendar.d.ts.map +1 -1
  3. package/calendar.js +73 -66
  4. package/container/container.js +5 -5
  5. package/core/base-elements/open-close-base-element.d.ts +10 -0
  6. package/core/base-elements/open-close-base-element.d.ts.map +1 -1
  7. package/core/base-elements.js +4 -0
  8. package/core/controllers/inert-controller.d.ts +18 -0
  9. package/core/controllers/inert-controller.d.ts.map +1 -0
  10. package/core/controllers.d.ts +1 -0
  11. package/core/controllers.d.ts.map +1 -1
  12. package/core/controllers.js +67 -23
  13. package/core/overlay/overlay.d.ts +0 -13
  14. package/core/overlay/overlay.d.ts.map +1 -1
  15. package/core/overlay.js +36 -86
  16. package/custom-elements.json +369 -65
  17. package/datepicker/datepicker-toggle/datepicker-toggle.d.ts +4 -0
  18. package/datepicker/datepicker-toggle/datepicker-toggle.d.ts.map +1 -1
  19. package/datepicker/datepicker-toggle.js +51 -41
  20. package/development/calendar/calendar.d.ts +5 -2
  21. package/development/calendar/calendar.d.ts.map +1 -1
  22. package/development/calendar.js +35 -19
  23. package/development/container/container.js +8 -4
  24. package/development/core/base-elements/open-close-base-element.d.ts +10 -0
  25. package/development/core/base-elements/open-close-base-element.d.ts.map +1 -1
  26. package/development/core/base-elements.js +5 -1
  27. package/development/core/controllers/inert-controller.d.ts +18 -0
  28. package/development/core/controllers/inert-controller.d.ts.map +1 -0
  29. package/development/core/controllers.d.ts +1 -0
  30. package/development/core/controllers.d.ts.map +1 -1
  31. package/development/core/controllers.js +90 -1
  32. package/development/core/overlay/overlay.d.ts +0 -13
  33. package/development/core/overlay/overlay.d.ts.map +1 -1
  34. package/development/core/overlay.js +1 -87
  35. package/development/datepicker/datepicker-toggle/datepicker-toggle.d.ts +4 -0
  36. package/development/datepicker/datepicker-toggle/datepicker-toggle.d.ts.map +1 -1
  37. package/development/datepicker/datepicker-toggle.js +17 -2
  38. package/development/dialog/dialog/dialog.d.ts.map +1 -1
  39. package/development/dialog/dialog.js +3 -4
  40. package/development/flip-card/flip-card/flip-card.d.ts.map +1 -1
  41. package/development/flip-card/flip-card-details/flip-card-details.d.ts.map +1 -1
  42. package/development/flip-card/flip-card-details.js +28 -9
  43. package/development/flip-card/flip-card-summary.js +6 -1
  44. package/development/flip-card/flip-card.js +43 -12
  45. package/development/form-field/form-field.js +4 -2
  46. package/development/lead-container.js +5 -1
  47. package/development/menu/menu/menu.d.ts +1 -0
  48. package/development/menu/menu/menu.d.ts.map +1 -1
  49. package/development/menu/menu.js +6 -9
  50. package/development/navigation/navigation/navigation.d.ts +1 -0
  51. package/development/navigation/navigation/navigation.d.ts.map +1 -1
  52. package/development/navigation/navigation.js +6 -9
  53. package/development/overlay/overlay-base-element.d.ts +2 -1
  54. package/development/overlay/overlay-base-element.d.ts.map +1 -1
  55. package/development/overlay/overlay.d.ts.map +1 -1
  56. package/development/overlay.js +5 -9
  57. package/development/popover/popover.js +2 -2
  58. package/development/toggle/toggle/toggle.d.ts +2 -1
  59. package/development/toggle/toggle/toggle.d.ts.map +1 -1
  60. package/development/toggle/toggle-option/toggle-option.d.ts.map +1 -1
  61. package/development/toggle/toggle-option.js +3 -2
  62. package/development/toggle/toggle.js +7 -7
  63. package/dialog/dialog/dialog.d.ts.map +1 -1
  64. package/dialog/dialog.js +11 -12
  65. package/flip-card/flip-card/flip-card.d.ts.map +1 -1
  66. package/flip-card/flip-card-details/flip-card-details.d.ts.map +1 -1
  67. package/flip-card/flip-card-details.js +19 -17
  68. package/flip-card/flip-card-summary.js +13 -13
  69. package/flip-card/flip-card.js +26 -24
  70. package/form-field/form-field.js +1 -1
  71. package/lead-container.js +1 -1
  72. package/menu/menu/menu.d.ts +1 -0
  73. package/menu/menu/menu.d.ts.map +1 -1
  74. package/menu/menu.js +30 -30
  75. package/navigation/navigation/navigation.d.ts +1 -0
  76. package/navigation/navigation/navigation.d.ts.map +1 -1
  77. package/navigation/navigation.js +37 -37
  78. package/overlay/overlay-base-element.d.ts +2 -1
  79. package/overlay/overlay-base-element.d.ts.map +1 -1
  80. package/overlay/overlay.d.ts.map +1 -1
  81. package/overlay.js +44 -45
  82. package/package.json +1 -1
  83. package/popover/popover.js +1 -1
  84. package/toggle/toggle/toggle.d.ts +2 -1
  85. package/toggle/toggle/toggle.d.ts.map +1 -1
  86. package/toggle/toggle-option/toggle-option.d.ts.map +1 -1
  87. package/toggle/toggle-option.js +8 -8
  88. package/toggle/toggle.js +20 -21
@@ -1,33 +1,33 @@
1
- import { css as p, html as v } from "lit";
2
- import { property as m, state as u, customElement as _ } from "lit/decorators.js";
1
+ import { css as h, html as v } from "lit";
2
+ import { property as d, state as m, customElement as p } from "lit/decorators.js";
3
3
  import { ref as c } from "lit/directives/ref.js";
4
- import { SbbFocusHandler as f, setModalityOnNextFocus as g } from "../core/a11y.js";
5
- import { SbbOpenCloseBaseElement as w } from "../core/base-elements.js";
6
- import { SbbConnectedAbortController as k, SbbLanguageController as y } from "../core/controllers.js";
7
- import { hostAttributes as E } from "../core/decorators.js";
8
- import { SbbScrollHandler as x, findReferencedElement as C } from "../core/dom.js";
9
- import { i18nCloseNavigation as O } from "../core/i18n.js";
10
- import { SbbUpdateSchedulerMixin as S } from "../core/mixins.js";
11
- import { AgnosticMutationObserver as A, AgnosticResizeObserver as N } from "../core/observers.js";
12
- import { isEventOnElement as l, removeAriaOverlayTriggerAttributes as z, setAriaOverlayTriggerAttributes as T, applyInertMechanism as d, removeInertMechanism as h } from "../core/overlay.js";
4
+ import { SbbFocusHandler as u, setModalityOnNextFocus as g } from "../core/a11y.js";
5
+ import { SbbOpenCloseBaseElement as _ } from "../core/base-elements.js";
6
+ import { SbbConnectedAbortController as f, SbbLanguageController as w, SbbInertController as k } from "../core/controllers.js";
7
+ import { hostAttributes as y } from "../core/decorators.js";
8
+ import { SbbScrollHandler as E, findReferencedElement as x } from "../core/dom.js";
9
+ import { i18nCloseNavigation as C } from "../core/i18n.js";
10
+ import { SbbUpdateSchedulerMixin as O } from "../core/mixins.js";
11
+ import { AgnosticMutationObserver as S, AgnosticResizeObserver as A } from "../core/observers.js";
12
+ import { isEventOnElement as l, removeAriaOverlayTriggerAttributes as N, setAriaOverlayTriggerAttributes as z } from "../core/overlay.js";
13
13
  import "../button/transparent-button.js";
14
- const L = p`*,:before,:after{box-sizing:border-box}:host{--sbb-navigation-grid-column: 1 / 5;--sbb-navigation-animation-duration: var( --sbb-disable-animation-zero-time, var(--sbb-animation-duration-3x) );--sbb-navigation-animation-easing: ease-in;--sbb-navigation-padding-inline: var(--sbb-layout-base-offset-responsive);--sbb-navigation-padding-block-start: var(--sbb-spacing-responsive-l);--sbb-navigation-padding-block-end: var(--sbb-spacing-responsive-xl);--sbb-navigation-backdrop-visibility: hidden;--sbb-navigation-backdrop-pointer-events: none;--sbb-navigation-backdrop-color: transparent;--sbb-navigation-list-margin-block-start: var(--sbb-spacing-responsive-xxl);--sbb-navigation-inline-start: 0;--sbb-navigation-expanded-width: 100%;--sbb-navigation-inset: 0 auto auto 0;--sbb-navigation-transform: translateX(-100%);--sbb-navigation-content-transform: translateX(0);--sbb-navigation-width: 100%;--sbb-navigation-height: 100vh;--sbb-focus-outline-color: var(--sbb-focus-outline-color-dark);display:block;position:fixed;inset:var(--sbb-navigation-inset);z-index:var(--sbb-navigation-z-index, var(--sbb-overlay-default-z-index));overflow:hidden}@supports (height: 100dvh){:host{--sbb-navigation-height: 100dvh}}@media (min-width: 52.5rem){:host{--sbb-navigation-grid-column: 1 / 9}}@media (min-width: 64rem){:host{--sbb-navigation-grid-column: 1 / 5;--sbb-navigation-animation-duration: var( --sbb-disable-animation-zero-time, var(--sbb-animation-duration-6x) );--sbb-navigation-padding-block-start: var(--sbb-spacing-responsive-xl);--sbb-navigation-padding-inline: var(--sbb-layout-base-offset-responsive) 0;--sbb-navigation-list-margin-block-start: var(--sbb-spacing-fixed-1x);--sbb-navigation-inline-start: calc(var(--sbb-layout-base-offset-responsive) * -1);--sbb-navigation-width: calc(100% + var(--sbb-layout-base-offset-responsive))}}@media (min-width: 90rem){:host{--sbb-navigation-grid-column: 1 / 6;--sbb-navigation-padding-block-start: var(--sbb-spacing-responsive-xxl)}}:host([data-state=opened]){--sbb-navigation-animation-easing: ease-out}:host(:is([data-state=opened],[data-state=opening])){--sbb-navigation-backdrop-visibility: visible;--sbb-navigation-backdrop-pointer-events: all;--sbb-navigation-backdrop-color: var(--sbb-color-black-alpha-70)}:host(:not([data-state=closed])){--sbb-navigation-inset: 0;--sbb-navigation-transform: translateX(0)}:host([data-has-navigation-section]){--sbb-navigation-content-transform: translateX(-100%)}@media (min-width: 64rem){:host([data-has-navigation-section]){--sbb-navigation-expanded-width: 100vw;--sbb-navigation-content-transform: translateX(0%)}@supports (height: 100dvw){:host([data-has-navigation-section]){--sbb-navigation-expanded-width: 100dvw}}}:host([data-resize-disable-animation]){--sbb-disable-animation-time: .1ms;--sbb-disable-animation-zero-time: 0s}.sbb-navigation__container{display:grid;gap:var(--sbb-grid-base-gutter-responsive);grid-template-columns:repeat(var(--sbb-grid-base-columns),1fr);padding-inline:0;pointer-events:none;transform:var(--sbb-navigation-transform)}@media (min-width: 64rem){.sbb-navigation__container{padding-inline:var(--sbb-layout-base-offset-responsive)}.sbb-navigation__container:before{transition-duration:var(--sbb-navigation-animation-duration);transition-timing-function:var(--sbb-navigation-animation-easing);transition-property:background-color,visibility;content:"";visibility:var(--sbb-navigation-backdrop-visibility);pointer-events:var(--sbb-navigation-backdrop-pointer-events);position:fixed;inset:var(--sbb-navigation-inset);background-color:var(--sbb-navigation-backdrop-color)}}.sbb-navigation{transition-duration:var(--sbb-navigation-animation-duration);transition-timing-function:var(--sbb-navigation-animation-easing);transition-property:width;display:none;width:var(--sbb-navigation-width);grid-column:var(--sbb-navigation-grid-column);padding:0;margin:0;position:relative;inset-inline-start:var(--sbb-navigation-inline-start);inset-block-start:0;border:none;pointer-events:none;height:var(--sbb-navigation-height);color:var(--sbb-color-white);background-color:var(--sbb-color-midnight)}.sbb-navigation:before{transition-duration:var(--sbb-navigation-animation-duration);transition-timing-function:var(--sbb-navigation-animation-easing);transition-property:width;content:"";position:absolute;width:var(--sbb-navigation-expanded-width);height:var(--sbb-navigation-height);background:var(--sbb-color-midnight)}:host([data-state]:not([data-state=closed])) .sbb-navigation{display:block;pointer-events:all;animation-name:open;animation-duration:var(--sbb-navigation-animation-duration);animation-timing-function:var(--sbb-navigation-animation-easing)}:host([data-state][data-state=closing]) .sbb-navigation{pointer-events:none;animation-name:close}@media (forced-colors: active){.sbb-navigation{outline:var(--sbb-border-width-1x) solid CanvasText}}.sbb-navigation__wrapper{outline:none}.sbb-navigation__header{transition-duration:var(--sbb-navigation-animation-duration);transition-timing-function:var(--sbb-navigation-animation-easing);transition-property:width;display:flex;justify-content:flex-end;position:absolute;width:var(--sbb-navigation-expanded-width);pointer-events:none;padding:var(--sbb-spacing-responsive-xs);z-index:calc(var(--sbb-navigation-z-index, var(--sbb-overlay-default-z-index)) + 1)}.sbb-navigation__close{pointer-events:all}.sbb-navigation__content{transition-duration:var(--sbb-navigation-animation-duration);transition-timing-function:var(--sbb-navigation-animation-easing);transition-property:transform;--sbb-scrollbar-thumb-width: .125rem;--sbb-scrollbar-thumb-width-hover: .25rem;--sbb-scrollbar-width-firefox: thin;--sbb-scrollbar-color: var(--sbb-color-white-alpha-30);--sbb-scrollbar-color-hover: var(--sbb-color-white-alpha-60);--sbb-scrollbar-track-color: transparent;--sbb-scrollbar-width: var(--sbb-spacing-fixed-3x)}.sbb-navigation__content::-webkit-scrollbar{width:var(--sbb-scrollbar-width);height:var(--sbb-scrollbar-width);background-color:var(--sbb-scrollbar-track-color, transparent)}.sbb-navigation__content::-webkit-scrollbar-corner{background-color:var(--sbb-scrollbar-track-color, transparent)}.sbb-navigation__content::-webkit-scrollbar-thumb{background-color:var(--sbb-scrollbar-color, currentcolor);border:calc(.5 * (var(--sbb-scrollbar-width) - var(--sbb-scrollbar-thumb-width))) solid transparent;border-radius:var(--sbb-border-radius-4x);background-clip:padding-box}.sbb-navigation__content::-webkit-scrollbar-thumb:hover{background-color:var(--sbb-scrollbar-color-hover, currentcolor);border-width:calc(.5 * (var(--sbb-scrollbar-width) - var(--sbb-scrollbar-thumb-width-hover)))}.sbb-navigation__content::-webkit-scrollbar-button,.sbb-navigation__content::-webkit-scrollbar-corner{display:none}@supports not selector(::-webkit-scrollbar){.sbb-navigation__content{scrollbar-width:var(--sbb-scrollbar-width-firefox);scrollbar-color:var(--sbb-scrollbar-color, currentcolor) var(--sbb-scrollbar-track-color, transparent)}}.sbb-navigation__content{display:flex;flex-direction:column;gap:var(--sbb-spacing-responsive-xxl);position:relative;height:var(--sbb-navigation-height);padding-inline:var(--sbb-navigation-padding-inline);padding-block:var(--sbb-navigation-padding-block-start) var(--sbb-navigation-padding-block-end);overflow-y:auto;transform:var(--sbb-navigation-content-transform)}::slotted(:first-child){margin-block-start:var(--sbb-navigation-list-margin-block-start)}@keyframes open{0%{transform:translate(-100%)}to{transform:translate(0)}}@keyframes close{0%{transform:translate(0)}to{transform:translate(-100%)}}`;
15
- var H = Object.defineProperty, B = Object.getOwnPropertyDescriptor, s = (t, i, n, a) => {
16
- for (var e = a > 1 ? void 0 : a ? B(i, n) : i, r = t.length - 1, b; r >= 0; r--)
17
- (b = t[r]) && (e = (a ? b(i, n, e) : b(e)) || e);
18
- return a && e && H(i, n, e), e;
14
+ const T = h`*,:before,:after{box-sizing:border-box}:host{--sbb-navigation-grid-column: 1 / 5;--sbb-navigation-animation-duration: var( --sbb-disable-animation-zero-time, var(--sbb-animation-duration-3x) );--sbb-navigation-animation-easing: ease-in;--sbb-navigation-padding-inline: var(--sbb-layout-base-offset-responsive);--sbb-navigation-padding-block-start: var(--sbb-spacing-responsive-l);--sbb-navigation-padding-block-end: var(--sbb-spacing-responsive-xl);--sbb-navigation-backdrop-visibility: hidden;--sbb-navigation-backdrop-pointer-events: none;--sbb-navigation-backdrop-color: transparent;--sbb-navigation-list-margin-block-start: var(--sbb-spacing-responsive-xxl);--sbb-navigation-inline-start: 0;--sbb-navigation-expanded-width: 100%;--sbb-navigation-inset: 0 auto auto 0;--sbb-navigation-transform: translateX(-100%);--sbb-navigation-content-transform: translateX(0);--sbb-navigation-width: 100%;--sbb-navigation-height: 100vh;--sbb-focus-outline-color: var(--sbb-focus-outline-color-dark);display:block;position:fixed;inset:var(--sbb-navigation-inset);z-index:var(--sbb-navigation-z-index, var(--sbb-overlay-default-z-index));overflow:hidden}@supports (height: 100dvh){:host{--sbb-navigation-height: 100dvh}}@media (min-width: 52.5rem){:host{--sbb-navigation-grid-column: 1 / 9}}@media (min-width: 64rem){:host{--sbb-navigation-grid-column: 1 / 5;--sbb-navigation-animation-duration: var( --sbb-disable-animation-zero-time, var(--sbb-animation-duration-6x) );--sbb-navigation-padding-block-start: var(--sbb-spacing-responsive-xl);--sbb-navigation-padding-inline: var(--sbb-layout-base-offset-responsive) 0;--sbb-navigation-list-margin-block-start: var(--sbb-spacing-fixed-1x);--sbb-navigation-inline-start: calc(var(--sbb-layout-base-offset-responsive) * -1);--sbb-navigation-width: calc(100% + var(--sbb-layout-base-offset-responsive))}}@media (min-width: 90rem){:host{--sbb-navigation-grid-column: 1 / 6;--sbb-navigation-padding-block-start: var(--sbb-spacing-responsive-xxl)}}:host([data-state=opened]){--sbb-navigation-animation-easing: ease-out}:host(:is([data-state=opened],[data-state=opening])){--sbb-navigation-backdrop-visibility: visible;--sbb-navigation-backdrop-pointer-events: all;--sbb-navigation-backdrop-color: var(--sbb-color-black-alpha-70)}:host(:not([data-state=closed])){--sbb-navigation-inset: 0;--sbb-navigation-transform: translateX(0)}:host([data-has-navigation-section]){--sbb-navigation-content-transform: translateX(-100%)}@media (min-width: 64rem){:host([data-has-navigation-section]){--sbb-navigation-expanded-width: 100vw;--sbb-navigation-content-transform: translateX(0%)}@supports (height: 100dvw){:host([data-has-navigation-section]){--sbb-navigation-expanded-width: 100dvw}}}:host([data-resize-disable-animation]){--sbb-disable-animation-time: .1ms;--sbb-disable-animation-zero-time: 0s}.sbb-navigation__container{display:grid;gap:var(--sbb-grid-base-gutter-responsive);grid-template-columns:repeat(var(--sbb-grid-base-columns),1fr);padding-inline:0;pointer-events:none;transform:var(--sbb-navigation-transform)}@media (min-width: 64rem){.sbb-navigation__container{padding-inline:var(--sbb-layout-base-offset-responsive)}.sbb-navigation__container:before{transition-duration:var(--sbb-navigation-animation-duration);transition-timing-function:var(--sbb-navigation-animation-easing);transition-property:background-color,visibility;content:"";visibility:var(--sbb-navigation-backdrop-visibility);pointer-events:var(--sbb-navigation-backdrop-pointer-events);position:fixed;inset:var(--sbb-navigation-inset);background-color:var(--sbb-navigation-backdrop-color)}}.sbb-navigation{transition-duration:var(--sbb-navigation-animation-duration);transition-timing-function:var(--sbb-navigation-animation-easing);transition-property:width;display:none;width:var(--sbb-navigation-width);grid-column:var(--sbb-navigation-grid-column);padding:0;margin:0;position:relative;inset-inline-start:var(--sbb-navigation-inline-start);inset-block-start:0;border:none;pointer-events:none;height:var(--sbb-navigation-height);color:var(--sbb-color-white);background-color:var(--sbb-color-midnight)}.sbb-navigation:before{transition-duration:var(--sbb-navigation-animation-duration);transition-timing-function:var(--sbb-navigation-animation-easing);transition-property:width;content:"";position:absolute;width:var(--sbb-navigation-expanded-width);height:var(--sbb-navigation-height);background:var(--sbb-color-midnight)}:host([data-state]:not([data-state=closed])) .sbb-navigation{display:block;pointer-events:all;animation-name:open;animation-duration:var(--sbb-navigation-animation-duration);animation-timing-function:var(--sbb-navigation-animation-easing)}:host([data-state][data-state=closing]) .sbb-navigation{pointer-events:none;animation-name:close}@media (forced-colors: active){.sbb-navigation{outline:var(--sbb-border-width-1x) solid CanvasText}}.sbb-navigation__wrapper{outline:none}.sbb-navigation__header{transition-duration:var(--sbb-navigation-animation-duration);transition-timing-function:var(--sbb-navigation-animation-easing);transition-property:width;display:flex;justify-content:flex-end;position:absolute;width:var(--sbb-navigation-expanded-width);pointer-events:none;padding:var(--sbb-spacing-responsive-xs);z-index:calc(var(--sbb-navigation-z-index, var(--sbb-overlay-default-z-index)) + 1)}.sbb-navigation__close{pointer-events:all}.sbb-navigation__content{transition-duration:var(--sbb-navigation-animation-duration);transition-timing-function:var(--sbb-navigation-animation-easing);transition-property:transform;--sbb-scrollbar-thumb-width: .125rem;--sbb-scrollbar-thumb-width-hover: .25rem;--sbb-scrollbar-width-firefox: thin;--sbb-scrollbar-color: var(--sbb-color-white-alpha-30);--sbb-scrollbar-color-hover: var(--sbb-color-white-alpha-60);--sbb-scrollbar-track-color: transparent;--sbb-scrollbar-width: var(--sbb-spacing-fixed-3x)}.sbb-navigation__content::-webkit-scrollbar{width:var(--sbb-scrollbar-width);height:var(--sbb-scrollbar-width);background-color:var(--sbb-scrollbar-track-color, transparent)}.sbb-navigation__content::-webkit-scrollbar-corner{background-color:var(--sbb-scrollbar-track-color, transparent)}.sbb-navigation__content::-webkit-scrollbar-thumb{background-color:var(--sbb-scrollbar-color, currentcolor);border:calc(.5 * (var(--sbb-scrollbar-width) - var(--sbb-scrollbar-thumb-width))) solid transparent;border-radius:var(--sbb-border-radius-4x);background-clip:padding-box}.sbb-navigation__content::-webkit-scrollbar-thumb:hover{background-color:var(--sbb-scrollbar-color-hover, currentcolor);border-width:calc(.5 * (var(--sbb-scrollbar-width) - var(--sbb-scrollbar-thumb-width-hover)))}.sbb-navigation__content::-webkit-scrollbar-button,.sbb-navigation__content::-webkit-scrollbar-corner{display:none}@supports not selector(::-webkit-scrollbar){.sbb-navigation__content{scrollbar-width:var(--sbb-scrollbar-width-firefox);scrollbar-color:var(--sbb-scrollbar-color, currentcolor) var(--sbb-scrollbar-track-color, transparent)}}.sbb-navigation__content{display:flex;flex-direction:column;gap:var(--sbb-spacing-responsive-xxl);position:relative;height:var(--sbb-navigation-height);padding-inline:var(--sbb-navigation-padding-inline);padding-block:var(--sbb-navigation-padding-block-start) var(--sbb-navigation-padding-block-end);overflow-y:auto;transform:var(--sbb-navigation-content-transform)}::slotted(:first-child){margin-block-start:var(--sbb-navigation-list-margin-block-start)}@keyframes open{0%{transform:translate(-100%)}to{transform:translate(0)}}@keyframes close{0%{transform:translate(0)}to{transform:translate(-100%)}}`;
15
+ var L = Object.defineProperty, H = Object.getOwnPropertyDescriptor, s = (t, i, n, a) => {
16
+ for (var o = a > 1 ? void 0 : a ? H(i, n) : i, r = t.length - 1, b; r >= 0; r--)
17
+ (b = t[r]) && (o = (a ? b(i, n, o) : b(o)) || o);
18
+ return a && o && L(i, n, o), o;
19
19
  };
20
- const I = {
20
+ const B = {
21
21
  subtree: !0,
22
22
  attributeFilter: ["data-state"]
23
23
  };
24
24
  let P = 0;
25
25
  const R = 150;
26
- let o = class extends S(w) {
26
+ let e = class extends O(_) {
27
27
  constructor() {
28
- super(...arguments), this._trigger = null, this._activeNavigationSection = null, this._triggerElement = null, this._abort = new k(this), this._language = new y(this), this._focusHandler = new f(), this._scrollHandler = new x(), this._isPointerDownEventOnNavigation = !1, this._resizeObserverTimeout = null, this._navigationObserver = new A(
28
+ super(...arguments), this._trigger = null, this._activeNavigationSection = null, this._triggerElement = null, this._abort = new f(this), this._language = new w(this), this._inertController = new k(this), this._focusHandler = new u(), this._scrollHandler = new E(), this._isPointerDownEventOnNavigation = !1, this._resizeObserverTimeout = null, this._navigationObserver = new S(
29
29
  (t) => this._onNavigationSectionChange(t)
30
- ), this._navigationResizeObserver = new N(() => this._onNavigationResize()), this._trapFocusFilter = (t) => t.nodeName !== "SBB-NAVIGATION-SECTION" || t.getAttribute("data-state") === "opened", this._pointerDownListener = (t) => {
30
+ ), this._navigationResizeObserver = new A(() => this._onNavigationResize()), this._trapFocusFilter = (t) => t.nodeName !== "SBB-NAVIGATION-SECTION" || t.getAttribute("data-state") === "opened", this._pointerDownListener = (t) => {
31
31
  var i, n;
32
32
  this._isPointerDownEventOnNavigation = l(this._navigation, t) || l(
33
33
  (n = (i = this.querySelector(
@@ -87,7 +87,7 @@ let o = class extends S(w) {
87
87
  // Check if the trigger is valid and attach click event listeners.
88
88
  _configure(t) {
89
89
  var i;
90
- z(this._triggerElement), t && (this._triggerElement = C(t), this._triggerElement && (T(this._triggerElement, "menu", this.id, this.state), (i = this._navigationController) == null || i.abort(), this._navigationController = new AbortController(), this._triggerElement.addEventListener("click", () => this.open(), {
90
+ N(this._triggerElement), t && (this._triggerElement = x(t), this._triggerElement && (z(this._triggerElement, "menu", this.id, this.state), (i = this._navigationController) == null || i.abort(), this._navigationController = new AbortController(), this._triggerElement.addEventListener("click", () => this.open(), {
91
91
  signal: this._navigationController.signal
92
92
  })));
93
93
  }
@@ -95,7 +95,7 @@ let o = class extends S(w) {
95
95
  // To avoid entering a corrupt state, exit when state is not expected.
96
96
  _onAnimationEnd(t) {
97
97
  var i, n;
98
- t.animationName === "open" && this.state === "opening" ? (this.state = "opened", this.didOpen.emit(), this._navigationResizeObserver.observe(this), d(this), this._focusHandler.trap(this, { filter: this._trapFocusFilter }), this._attachWindowEvents(), this._setNavigationFocus()) : t.animationName === "close" && this.state === "closing" && (this.state = "closed", this._navigationContentElement.scrollTo(0, 0), g(this._triggerElement), h(), (i = this._triggerElement) == null || i.focus(), this.didClose.emit(), this._navigationResizeObserver.unobserve(this), this._resetMarkers(), (n = this._windowEventsController) == null || n.abort(), this._focusHandler.disconnect(), this._scrollHandler.enableScroll()), this.completeUpdate();
98
+ t.animationName === "open" && this.state === "opening" ? (this.state = "opened", this.didOpen.emit(), this._navigationResizeObserver.observe(this), this._inertController.activate(), this._focusHandler.trap(this, { filter: this._trapFocusFilter }), this._attachWindowEvents(), this._setNavigationFocus()) : t.animationName === "close" && this.state === "closing" && (this.state = "closed", this._navigationContentElement.scrollTo(0, 0), g(this._triggerElement), this._inertController.deactivate(), (i = this._triggerElement) == null || i.focus(), this.didClose.emit(), this._navigationResizeObserver.unobserve(this), this._resetMarkers(), (n = this._windowEventsController) == null || n.abort(), this._focusHandler.disconnect(), this._scrollHandler.enableScroll()), this.completeUpdate();
99
99
  }
100
100
  _resetMarkers() {
101
101
  const t = Array.from(
@@ -146,18 +146,18 @@ let o = class extends S(w) {
146
146
  connectedCallback() {
147
147
  super.connectedCallback(), this.id || (this.id = `sbb-navigation-${P++}`);
148
148
  const t = this._abort.signal;
149
- this.addEventListener("click", (i) => this._handleNavigationClose(i), { signal: t }), this._configure(this.trigger), this._navigationObserver.observe(this, I), this.addEventListener("pointerup", (i) => this._closeOnBackdropClick(i), { signal: t }), this.addEventListener("pointerdown", (i) => this._pointerDownListener(i), { signal: t }), this.state === "opened" && d(this);
149
+ this.addEventListener("click", (i) => this._handleNavigationClose(i), { signal: t }), this._configure(this.trigger), this._navigationObserver.observe(this, B), this.addEventListener("pointerup", (i) => this._closeOnBackdropClick(i), { signal: t }), this.addEventListener("pointerdown", (i) => this._pointerDownListener(i), { signal: t });
150
150
  }
151
151
  disconnectedCallback() {
152
152
  var t, i;
153
- super.disconnectedCallback(), (t = this._navigationController) == null || t.abort(), (i = this._windowEventsController) == null || i.abort(), this._focusHandler.disconnect(), this._navigationObserver.disconnect(), this._navigationResizeObserver.disconnect(), h(), this._scrollHandler.enableScroll();
153
+ super.disconnectedCallback(), (t = this._navigationController) == null || t.abort(), (i = this._windowEventsController) == null || i.abort(), this._focusHandler.disconnect(), this._navigationObserver.disconnect(), this._navigationResizeObserver.disconnect(), this._scrollHandler.enableScroll();
154
154
  }
155
155
  render() {
156
156
  const t = v`
157
157
  <sbb-transparent-button
158
158
  id="sbb-navigation-close-button"
159
159
  class="sbb-navigation__close"
160
- aria-label=${this.accessibilityCloseLabel || O[this._language.current]}
160
+ aria-label=${this.accessibilityCloseLabel || C[this._language.current]}
161
161
  aria-controls="sbb-navigation-overlay"
162
162
  negative
163
163
  size="m"
@@ -189,22 +189,22 @@ let o = class extends S(w) {
189
189
  `;
190
190
  }
191
191
  };
192
- o.styles = L;
192
+ e.styles = T;
193
193
  s([
194
- m()
195
- ], o.prototype, "trigger", 1);
194
+ d()
195
+ ], e.prototype, "trigger", 1);
196
196
  s([
197
- m({ attribute: "accessibility-close-label" })
198
- ], o.prototype, "accessibilityCloseLabel", 2);
197
+ d({ attribute: "accessibility-close-label" })
198
+ ], e.prototype, "accessibilityCloseLabel", 2);
199
199
  s([
200
- u()
201
- ], o.prototype, "_activeNavigationSection", 2);
202
- o = s([
203
- _("sbb-navigation"),
204
- E({
200
+ m()
201
+ ], e.prototype, "_activeNavigationSection", 2);
202
+ e = s([
203
+ p("sbb-navigation"),
204
+ y({
205
205
  role: "navigation"
206
206
  })
207
- ], o);
207
+ ], e);
208
208
  export {
209
- o as SbbNavigationElement
209
+ e as SbbNavigationElement
210
210
  };
@@ -1,7 +1,7 @@
1
1
  import { PropertyValues } from 'lit';
2
2
  import { SbbFocusHandler } from '../core/a11y.js';
3
3
  import { SbbOpenCloseBaseElement } from '../core/base-elements.js';
4
- import { SbbLanguageController } from '../core/controllers.js';
4
+ import { SbbInertController, SbbLanguageController } from '../core/controllers.js';
5
5
  import { SbbScrollHandler } from '../core/dom.js';
6
6
  import { EventEmitter } from '../core/eventing.js';
7
7
  import { SbbOverlayCloseEventDetails } from '../core/interfaces.js';
@@ -23,6 +23,7 @@ export declare abstract class SbbOverlayBaseElement extends SbbOverlayBaseElemen
23
23
  protected ariaLiveRefToggle: boolean;
24
24
  protected ariaLiveRef: SbbScreenReaderOnlyElement;
25
25
  protected language: SbbLanguageController;
26
+ protected inertController: SbbInertController;
26
27
  protected abstract onOverlayAnimationEnd(event: AnimationEvent): void;
27
28
  protected abstract setOverlayFocus(): void;
28
29
  protected abstract closeAttribute: string;
@@ -1 +1 @@
1
- {"version":3,"file":"overlay-base-element.d.ts","sourceRoot":"","sources":["../../../src/elements/overlay/overlay-base-element.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,cAAc,EAAE,MAAM,KAAK,CAAC;AAG1C,OAAO,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAC;AAClD,OAAO,EAAE,uBAAuB,EAAE,MAAM,0BAA0B,CAAC;AACnE,OAAO,EAAE,qBAAqB,EAAE,MAAM,wBAAwB,CAAC;AAC/D,OAAO,EAAe,gBAAgB,EAAE,MAAM,gBAAgB,CAAC;AAC/D,OAAO,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AAEnD,OAAO,KAAK,EAAE,2BAA2B,EAAE,MAAM,uBAAuB,CAAC;AAGzE,OAAO,KAAK,EAAE,0BAA0B,EAAE,MAAM,0BAA0B,CAAC;AAG3E,eAAO,MAAM,WAAW,EAAE,qBAAqB,EAAO,CAAC;;AAEvD,8BAAsB,qBAAsB,SAAQ,0BAAyC;IAC3F,kHAAkH;IAC3D,kBAAkB,EAAE,MAAM,GAAG,SAAS,CAAC;IAE9F,8CAA8C;IAC9C,UAAmB,QAAQ,EAAE,YAAY,CAAC,2BAA2B,CAAC,CAGpE;IAGF,SAAS,CAAC,kBAAkB,CAAC,EAAE,WAAW,CAAC;IAC3C,SAAS,CAAC,mBAAmB,CAAC,EAAE,WAAW,CAAC;IAC5C,SAAS,CAAC,iBAAiB,EAAG,eAAe,CAAC;IAC9C,SAAS,CAAC,qBAAqB,EAAG,eAAe,CAAC;IAClD,SAAS,CAAC,YAAY,kBAAyB;IAC/C,SAAS,CAAC,aAAa,mBAA0B;IACjD,SAAS,CAAC,WAAW,EAAE,GAAG,CAAC;IAC3B,SAAS,CAAC,iBAAiB,UAAS;IACpC,SAAS,CAAC,WAAW,EAAG,0BAA0B,CAAC;IACnD,SAAS,CAAC,QAAQ,wBAAmC;IAErD,SAAS,CAAC,QAAQ,CAAC,qBAAqB,CAAC,KAAK,EAAE,cAAc,GAAG,IAAI;IACrE,SAAS,CAAC,QAAQ,CAAC,eAAe,IAAI,IAAI;IAC1C,SAAS,CAAC,QAAQ,CAAC,cAAc,EAAE,MAAM,CAAC;IAE1C,4BAA4B;IACrB,KAAK,CAAC,MAAM,CAAC,EAAE,GAAG,EAAE,MAAM,CAAC,EAAE,WAAW,GAAG,GAAG;IAmBrC,iBAAiB,IAAI,IAAI;cAUtB,YAAY,CAAC,iBAAiB,EAAE,cAAc,CAAC,IAAI,CAAC,GAAG,IAAI;IAO9D,oBAAoB,IAAI,IAAI;IAU5C,SAAS,CAAC,uBAAuB,IAAI,IAAI;IAkBzC,SAAS,CAAC,cAAc,CAAC,KAAK,EAAE,aAAa,GAAG,IAAI;IAWpD,SAAS,CAAC,kCAAkC,IAAI,IAAI;IAKpD,SAAS,CAAC,2BAA2B,CAAC,KAAK,EAAE,KAAK,GAAG,IAAI;IAoBzD,SAAS,CAAC,wBAAwB,IAAI,IAAI;IAI1C,SAAS,CAAC,qBAAqB,CAAC,KAAK,CAAC,EAAE,MAAM,GAAG,IAAI;CAStD"}
1
+ {"version":3,"file":"overlay-base-element.d.ts","sourceRoot":"","sources":["../../../src/elements/overlay/overlay-base-element.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,cAAc,EAAE,MAAM,KAAK,CAAC;AAG1C,OAAO,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAC;AAClD,OAAO,EAAE,uBAAuB,EAAE,MAAM,0BAA0B,CAAC;AACnE,OAAO,EAAE,kBAAkB,EAAE,qBAAqB,EAAE,MAAM,wBAAwB,CAAC;AACnF,OAAO,EAAe,gBAAgB,EAAE,MAAM,gBAAgB,CAAC;AAC/D,OAAO,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AAEnD,OAAO,KAAK,EAAE,2BAA2B,EAAE,MAAM,uBAAuB,CAAC;AAEzE,OAAO,KAAK,EAAE,0BAA0B,EAAE,MAAM,0BAA0B,CAAC;AAG3E,eAAO,MAAM,WAAW,EAAE,qBAAqB,EAAO,CAAC;;AAEvD,8BAAsB,qBAAsB,SAAQ,0BAAyC;IAC3F,kHAAkH;IAC3D,kBAAkB,EAAE,MAAM,GAAG,SAAS,CAAC;IAE9F,8CAA8C;IAC9C,UAAmB,QAAQ,EAAE,YAAY,CAAC,2BAA2B,CAAC,CAGpE;IAGF,SAAS,CAAC,kBAAkB,CAAC,EAAE,WAAW,CAAC;IAC3C,SAAS,CAAC,mBAAmB,CAAC,EAAE,WAAW,CAAC;IAC5C,SAAS,CAAC,iBAAiB,EAAG,eAAe,CAAC;IAC9C,SAAS,CAAC,qBAAqB,EAAG,eAAe,CAAC;IAClD,SAAS,CAAC,YAAY,kBAAyB;IAC/C,SAAS,CAAC,aAAa,mBAA0B;IACjD,SAAS,CAAC,WAAW,EAAE,GAAG,CAAC;IAC3B,SAAS,CAAC,iBAAiB,UAAS;IACpC,SAAS,CAAC,WAAW,EAAG,0BAA0B,CAAC;IACnD,SAAS,CAAC,QAAQ,wBAAmC;IACrD,SAAS,CAAC,eAAe,qBAAgC;IAEzD,SAAS,CAAC,QAAQ,CAAC,qBAAqB,CAAC,KAAK,EAAE,cAAc,GAAG,IAAI;IACrE,SAAS,CAAC,QAAQ,CAAC,eAAe,IAAI,IAAI;IAC1C,SAAS,CAAC,QAAQ,CAAC,cAAc,EAAE,MAAM,CAAC;IAE1C,4BAA4B;IACrB,KAAK,CAAC,MAAM,CAAC,EAAE,GAAG,EAAE,MAAM,CAAC,EAAE,WAAW,GAAG,GAAG;IAmBrC,iBAAiB,IAAI,IAAI;cAMtB,YAAY,CAAC,iBAAiB,EAAE,cAAc,CAAC,IAAI,CAAC,GAAG,IAAI;IAO9D,oBAAoB,IAAI,IAAI;IAS5C,SAAS,CAAC,uBAAuB,IAAI,IAAI;IAkBzC,SAAS,CAAC,cAAc,CAAC,KAAK,EAAE,aAAa,GAAG,IAAI;IAWpD,SAAS,CAAC,kCAAkC,IAAI,IAAI;IAKpD,SAAS,CAAC,2BAA2B,CAAC,KAAK,EAAE,KAAK,GAAG,IAAI;IAoBzD,SAAS,CAAC,wBAAwB,IAAI,IAAI;IAI1C,SAAS,CAAC,qBAAqB,CAAC,KAAK,CAAC,EAAE,MAAM,GAAG,IAAI;CAStD"}
@@ -1 +1 @@
1
- {"version":3,"file":"overlay.d.ts","sourceRoot":"","sources":["../../../src/elements/overlay/overlay.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,cAAc,EAAE,MAAM,KAAK,CAAC;AAU1D,OAAO,EAAe,qBAAqB,EAAE,MAAM,2BAA2B,CAAC;AAE/E,OAAO,+BAA+B,CAAC;AACvC,OAAO,iCAAiC,CAAC;AACzC,OAAO,iBAAiB,CAAC;AACzB,OAAO,0BAA0B,CAAC;AAElC;;;;;;;;;;;;GAYG;AACH,qBACa,iBAAkB,SAAQ,qBAAqB;IAC1D,OAAuB,MAAM,EAAE,cAAc,CAAS;IAGtD,gBAAgC,MAAM;;;;;;MAM3B;IAEX;;;OAGG;IACgD,QAAQ,UAAS;IAEpE,4DAA4D;IACE,UAAU,UAAS;IAEjF,wEAAwE;IACX,uBAAuB,EAChF,MAAM,GACN,SAAS,CAAC;IAEd,uEAAuE;IACX,sBAAsB,EAC9E,MAAM,GACN,SAAS,CAAC;IAEd,SAAS,CAAC,cAAc,EAAE,MAAM,CAAuB;IAEvD,iDAAiD;IACjD,OAAO,CAAC,UAAU,CAGhB;IACF,OAAO,CAAC,sBAAsB,CAA4B;IAE1D,2BAA2B;IACpB,IAAI,IAAI,IAAI;IAyBnB,SAAS,CAAC,qBAAqB,CAAC,KAAK,EAAE,cAAc,GAAG,IAAI;IAgC5D,SAAS,CAAC,eAAe,IAAI,IAAI;cAUd,MAAM,IAAI,cAAc;CAyD5C;AAED,OAAO,CAAC,MAAM,CAAC;IACb,UAAU,qBAAqB;QAE7B,aAAa,EAAE,iBAAiB,CAAC;KAClC;CACF"}
1
+ {"version":3,"file":"overlay.d.ts","sourceRoot":"","sources":["../../../src/elements/overlay/overlay.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,cAAc,EAAE,MAAM,KAAK,CAAC;AAS1D,OAAO,EAAe,qBAAqB,EAAE,MAAM,2BAA2B,CAAC;AAE/E,OAAO,+BAA+B,CAAC;AACvC,OAAO,iCAAiC,CAAC;AACzC,OAAO,iBAAiB,CAAC;AACzB,OAAO,0BAA0B,CAAC;AAElC;;;;;;;;;;;;GAYG;AACH,qBACa,iBAAkB,SAAQ,qBAAqB;IAC1D,OAAuB,MAAM,EAAE,cAAc,CAAS;IAGtD,gBAAgC,MAAM;;;;;;MAM3B;IAEX;;;OAGG;IACgD,QAAQ,UAAS;IAEpE,4DAA4D;IACE,UAAU,UAAS;IAEjF,wEAAwE;IACX,uBAAuB,EAChF,MAAM,GACN,SAAS,CAAC;IAEd,uEAAuE;IACX,sBAAsB,EAC9E,MAAM,GACN,SAAS,CAAC;IAEd,SAAS,CAAC,cAAc,EAAE,MAAM,CAAuB;IAEvD,iDAAiD;IACjD,OAAO,CAAC,UAAU,CAGhB;IACF,OAAO,CAAC,sBAAsB,CAA4B;IAE1D,2BAA2B;IACpB,IAAI,IAAI,IAAI;IAyBnB,SAAS,CAAC,qBAAqB,CAAC,KAAK,EAAE,cAAc,GAAG,IAAI;IAgC5D,SAAS,CAAC,eAAe,IAAI,IAAI;cAUd,MAAM,IAAI,cAAc;CAyD5C;AAED,OAAO,CAAC,MAAM,CAAC;IACb,UAAU,qBAAqB;QAE7B,aAAa,EAAE,iBAAiB,CAAC;KAClC;CACF"}
package/overlay.js CHANGED
@@ -1,51 +1,50 @@
1
- import { css as g, nothing as _ } from "lit";
2
- import { property as b, customElement as w } from "lit/decorators.js";
1
+ import { css as u, nothing as f } from "lit";
2
+ import { property as b, customElement as g } from "lit/decorators.js";
3
3
  import { html as d, unsafeStatic as v } from "lit/static-html.js";
4
- import { SbbFocusHandler as k, setModalityOnNextFocus as h, getFirstFocusableElement as C } from "./core/a11y.js";
4
+ import { SbbFocusHandler as _, setModalityOnNextFocus as h, getFirstFocusableElement as w } from "./core/a11y.js";
5
5
  import { EventEmitter as p } from "./core/eventing.js";
6
- import { i18nDialog as x, i18nCloseDialog as O, i18nGoBack as E } from "./core/i18n.js";
7
- import { applyInertMechanism as m, removeInertMechanism as y } from "./core/overlay.js";
8
- import { SbbOpenCloseBaseElement as L } from "./core/base-elements.js";
9
- import { SbbLanguageController as $ } from "./core/controllers.js";
10
- import { SbbScrollHandler as A, hostContext as S } from "./core/dom.js";
11
- import { SbbNegativeMixin as R } from "./core/mixins.js";
6
+ import { i18nDialog as k, i18nCloseDialog as C, i18nGoBack as x } from "./core/i18n.js";
7
+ import { SbbOpenCloseBaseElement as O } from "./core/base-elements.js";
8
+ import { SbbLanguageController as E, SbbInertController as L } from "./core/controllers.js";
9
+ import { SbbScrollHandler as $, hostContext as A } from "./core/dom.js";
10
+ import { SbbNegativeMixin as S } from "./core/mixins.js";
12
11
  import "./button/secondary-button.js";
13
12
  import "./button/transparent-button.js";
14
13
  import "./container.js";
15
14
  import "./screen-reader-only.js";
16
- var B = Object.defineProperty, F = (t, e, o, r) => {
17
- for (var a = void 0, n = t.length - 1, i; n >= 0; n--)
18
- (i = t[n]) && (a = i(e, o, a) || a);
19
- return a && B(e, o, a), a;
15
+ var R = Object.defineProperty, B = (t, e, o, a) => {
16
+ for (var r = void 0, n = t.length - 1, i; n >= 0; n--)
17
+ (i = t[n]) && (r = i(e, o, r) || r);
18
+ return r && R(e, o, r), r;
20
19
  };
21
- const l = [], u = class f extends R(L) {
20
+ const l = [], m = class y extends S(O) {
22
21
  constructor() {
23
22
  super(...arguments), this.didClose = new p(
24
23
  this,
25
- f.events.didClose
26
- ), this.focusHandler = new k(), this.scrollHandler = new A(), this.ariaLiveRefToggle = !1, this.language = new $(this);
24
+ y.events.didClose
25
+ ), this.focusHandler = new _(), this.scrollHandler = new $(), this.ariaLiveRefToggle = !1, this.language = new E(this), this.inertController = new L(this);
27
26
  }
28
27
  /** Closes the component. */
29
28
  close(e, o) {
30
29
  if (this.state !== "opened")
31
30
  return;
32
31
  this.returnValue = e, this.overlayCloseElement = o;
33
- const r = {
32
+ const a = {
34
33
  returnValue: this.returnValue,
35
34
  closeTarget: this.overlayCloseElement
36
35
  };
37
- this.willClose.emit(r) && (this.state = "closing", this.removeAriaLiveRefContent());
36
+ this.willClose.emit(a) && (this.state = "closing", this.removeAriaLiveRefContent());
38
37
  }
39
38
  connectedCallback() {
40
39
  var e;
41
- super.connectedCallback(), (e = this.overlayController) == null || e.abort(), this.overlayController = new AbortController(), this.state === "opened" && m(this);
40
+ super.connectedCallback(), (e = this.overlayController) == null || e.abort(), this.overlayController = new AbortController();
42
41
  }
43
42
  firstUpdated(e) {
44
43
  this.ariaLiveRef = this.shadowRoot.querySelector("sbb-screen-reader-only"), super.firstUpdated(e);
45
44
  }
46
45
  disconnectedCallback() {
47
46
  var e, o;
48
- super.disconnectedCallback(), (e = this.overlayController) == null || e.abort(), (o = this.openOverlayController) == null || o.abort(), this.focusHandler.disconnect(), this.removeInstanceFromGlobalCollection(), y(), this.scrollHandler.enableScroll();
47
+ super.disconnectedCallback(), (e = this.overlayController) == null || e.abort(), (o = this.openOverlayController) == null || o.abort(), this.focusHandler.disconnect(), this.removeInstanceFromGlobalCollection(), this.scrollHandler.enableScroll();
49
48
  }
50
49
  attachOpenOverlayEvents() {
51
50
  this.openOverlayController = new AbortController(), window.addEventListener(
@@ -71,32 +70,32 @@ const l = [], u = class f extends R(L) {
71
70
  }
72
71
  // Close the component on click of any element that has the `closeAttribute` attribute.
73
72
  closeOnSbbOverlayCloseClick(e) {
74
- const o = e.composedPath().filter((a) => a instanceof window.HTMLElement).find(
75
- (a) => a.hasAttribute(this.closeAttribute) && !a.hasAttribute("disabled")
73
+ const o = e.composedPath().filter((r) => r instanceof window.HTMLElement).find(
74
+ (r) => r.hasAttribute(this.closeAttribute) && !r.hasAttribute("disabled")
76
75
  );
77
76
  if (!o)
78
77
  return;
79
- const r = o.getAttribute("type") === "submit" ? S("form", o) : void 0;
80
- l[l.length - 1].close(r, o);
78
+ const a = o.getAttribute("type") === "submit" ? A("form", o) : void 0;
79
+ l[l.length - 1].close(a, o);
81
80
  }
82
81
  removeAriaLiveRefContent() {
83
82
  this.ariaLiveRef.textContent = "";
84
83
  }
85
84
  setAriaLiveRefContent(e) {
86
- this.ariaLiveRefToggle = !this.ariaLiveRefToggle, this.ariaLiveRef.textContent = `${x[this.language.current]}${e ? `, ${e}` : ""}${this.ariaLiveRefToggle ? " " : ""}`;
85
+ this.ariaLiveRefToggle = !this.ariaLiveRefToggle, this.ariaLiveRef.textContent = `${k[this.language.current]}${e ? `, ${e}` : ""}${this.ariaLiveRefToggle ? " " : ""}`;
87
86
  }
88
87
  };
89
- F([
88
+ B([
90
89
  b({ attribute: "accessibility-label" })
91
- ], u.prototype, "accessibilityLabel");
92
- let H = u;
93
- const T = g`*,:before,:after{box-sizing:border-box}:host{--sbb-scrollbar-thumb-width: .125rem;--sbb-scrollbar-thumb-width-hover: .25rem;--sbb-scrollbar-width-firefox: thin;--sbb-scrollbar-color: var(--sbb-color-black-alpha-30);--sbb-scrollbar-color-hover: var(--sbb-color-black-alpha-60);--sbb-scrollbar-track-color: transparent;--sbb-overlay-background-color: var(--sbb-color-milk);--sbb-overlay-height: 100%;--sbb-overlay-inset: 0 auto auto 0;--sbb-overlay-padding-block: calc( var(--sbb-spacing-responsive-xxl) + var(--sbb-spacing-responsive-l) );--sbb-overlay-animation-duration: var( --sbb-disable-animation-zero-time, var(--sbb-animation-duration-6x) );--sbb-overlay-animation-easing: ease;--sbb-overlay-pointer-events: none;display:block;position:fixed;inset:var(--sbb-overlay-inset);z-index:var(--sbb-overlay-z-index, var(--sbb-overlay-default-z-index))}@media (min-width: 64rem){:host{--sbb-overlay-padding-block: var(--sbb-spacing-responsive-xl)}}:host(:is([data-state=opened],[data-state=opening])){--sbb-overlay-pointer-events: all}:host([negative]){--sbb-scrollbar-color: var(--sbb-color-white-alpha-30);--sbb-scrollbar-color-hover: var(--sbb-color-white-alpha-60);--sbb-focus-outline-color: var(--sbb-focus-outline-color-dark);--sbb-overlay-color: var(--sbb-color-white);--sbb-overlay-background-color: var(--sbb-color-midnight)}:host(:not([data-state=closed])){--sbb-overlay-inset: 0}.sbb-overlay__container{background-color:var(--sbb-overlay-background-color);pointer-events:var(--sbb-overlay-pointer-events);display:none;align-items:center;position:fixed;inset:var(--sbb-overlay-inset)}:host([data-state]:not([data-state=closed])) .sbb-overlay__container{display:flex;animation-name:open;animation-duration:var(--sbb-overlay-animation-duration);animation-timing-function:var(--sbb-overlay-animation-easing)}:host([data-state][data-state=closing]) .sbb-overlay__container{pointer-events:none;animation-name:close}.sbb-overlay{position:absolute;inset-inline:0;margin:auto;padding:0;border:none;height:var(--sbb-overlay-height);overflow:auto;color:var(--sbb-overlay-color)}:host([data-state]:not([data-state=closed])) .sbb-overlay{animation-name:open-move-in;animation-duration:var(--sbb-overlay-animation-duration);animation-timing-function:var(--sbb-overlay-animation-easing)}:host([data-state][data-state=closing]) .sbb-overlay{animation-name:close-move-out}.sbb-overlay__wrapper{display:flex;flex-direction:column;width:100%;height:var(--sbb-overlay-height);outline:none;position:fixed}@media (min-width: 52.5rem){.sbb-overlay__wrapper{position:sticky;inset-block-start:0;height:auto}}.sbb-overlay__header{position:absolute;inset-inline-start:0;display:flex;pointer-events:none;align-items:start;justify-content:space-between;width:100%;padding:var(--sbb-spacing-responsive-xs);padding-block-end:0;z-index:1}.sbb-overlay__header *{pointer-events:all}.sbb-overlay__close{margin-inline-start:auto}.sbb-overlay__content{--sbb-scrollbar-width: var(--sbb-spacing-fixed-3x)}.sbb-overlay__content::-webkit-scrollbar{width:var(--sbb-scrollbar-width);height:var(--sbb-scrollbar-width);background-color:var(--sbb-scrollbar-track-color, transparent)}.sbb-overlay__content::-webkit-scrollbar-corner{background-color:var(--sbb-scrollbar-track-color, transparent)}.sbb-overlay__content::-webkit-scrollbar-thumb{background-color:var(--sbb-scrollbar-color, currentcolor);border:calc(.5 * (var(--sbb-scrollbar-width) - var(--sbb-scrollbar-thumb-width))) solid transparent;border-radius:var(--sbb-border-radius-4x);background-clip:padding-box}.sbb-overlay__content::-webkit-scrollbar-thumb:hover{background-color:var(--sbb-scrollbar-color-hover, currentcolor);border-width:calc(.5 * (var(--sbb-scrollbar-width) - var(--sbb-scrollbar-thumb-width-hover)))}.sbb-overlay__content::-webkit-scrollbar-button,.sbb-overlay__content::-webkit-scrollbar-corner{display:none}@supports not selector(::-webkit-scrollbar){.sbb-overlay__content{scrollbar-width:var(--sbb-scrollbar-width-firefox);scrollbar-color:var(--sbb-scrollbar-color, currentcolor) var(--sbb-scrollbar-track-color, transparent)}}.sbb-overlay__content{height:100vh;overflow:auto;-webkit-overflow-scrolling:touch}.sbb-overlay__content-container{padding-block:var(--sbb-overlay-padding-block)}@keyframes open{0%{opacity:0}to{opacity:1}}@keyframes open-move-in{0%{transform:translateY(var(--sbb-spacing-fixed-4x))}to{transform:translateY(0)}}@keyframes close{0%{opacity:1}to{opacity:0}}@keyframes close-move-out{0%{transform:translateY(0)}to{transform:translateY(var(--sbb-spacing-fixed-4x))}}`;
94
- var z = Object.defineProperty, M = Object.getOwnPropertyDescriptor, c = (t, e, o, r) => {
95
- for (var a = r > 1 ? void 0 : r ? M(e, o) : e, n = t.length - 1, i; n >= 0; n--)
96
- (i = t[n]) && (a = (r ? i(e, o, a) : i(a)) || a);
97
- return r && a && z(e, o, a), a;
90
+ ], m.prototype, "accessibilityLabel");
91
+ let F = m;
92
+ const H = u`*,:before,:after{box-sizing:border-box}:host{--sbb-scrollbar-thumb-width: .125rem;--sbb-scrollbar-thumb-width-hover: .25rem;--sbb-scrollbar-width-firefox: thin;--sbb-scrollbar-color: var(--sbb-color-black-alpha-30);--sbb-scrollbar-color-hover: var(--sbb-color-black-alpha-60);--sbb-scrollbar-track-color: transparent;--sbb-overlay-background-color: var(--sbb-color-milk);--sbb-overlay-height: 100%;--sbb-overlay-inset: 0 auto auto 0;--sbb-overlay-padding-block: calc( var(--sbb-spacing-responsive-xxl) + var(--sbb-spacing-responsive-l) );--sbb-overlay-animation-duration: var( --sbb-disable-animation-zero-time, var(--sbb-animation-duration-6x) );--sbb-overlay-animation-easing: ease;--sbb-overlay-pointer-events: none;display:block;position:fixed;inset:var(--sbb-overlay-inset);z-index:var(--sbb-overlay-z-index, var(--sbb-overlay-default-z-index))}@media (min-width: 64rem){:host{--sbb-overlay-padding-block: var(--sbb-spacing-responsive-xl)}}:host(:is([data-state=opened],[data-state=opening])){--sbb-overlay-pointer-events: all}:host([negative]){--sbb-scrollbar-color: var(--sbb-color-white-alpha-30);--sbb-scrollbar-color-hover: var(--sbb-color-white-alpha-60);--sbb-focus-outline-color: var(--sbb-focus-outline-color-dark);--sbb-overlay-color: var(--sbb-color-white);--sbb-overlay-background-color: var(--sbb-color-midnight)}:host(:not([data-state=closed])){--sbb-overlay-inset: 0}.sbb-overlay__container{background-color:var(--sbb-overlay-background-color);pointer-events:var(--sbb-overlay-pointer-events);display:none;align-items:center;position:fixed;inset:var(--sbb-overlay-inset)}:host([data-state]:not([data-state=closed])) .sbb-overlay__container{display:flex;animation-name:open;animation-duration:var(--sbb-overlay-animation-duration);animation-timing-function:var(--sbb-overlay-animation-easing)}:host([data-state][data-state=closing]) .sbb-overlay__container{pointer-events:none;animation-name:close}.sbb-overlay{position:absolute;inset-inline:0;margin:auto;padding:0;border:none;height:var(--sbb-overlay-height);overflow:auto;color:var(--sbb-overlay-color)}:host([data-state]:not([data-state=closed])) .sbb-overlay{animation-name:open-move-in;animation-duration:var(--sbb-overlay-animation-duration);animation-timing-function:var(--sbb-overlay-animation-easing)}:host([data-state][data-state=closing]) .sbb-overlay{animation-name:close-move-out}.sbb-overlay__wrapper{display:flex;flex-direction:column;width:100%;height:var(--sbb-overlay-height);outline:none;position:fixed}@media (min-width: 52.5rem){.sbb-overlay__wrapper{position:sticky;inset-block-start:0;height:auto}}.sbb-overlay__header{position:absolute;inset-inline-start:0;display:flex;pointer-events:none;align-items:start;justify-content:space-between;width:100%;padding:var(--sbb-spacing-responsive-xs);padding-block-end:0;z-index:1}.sbb-overlay__header *{pointer-events:all}.sbb-overlay__close{margin-inline-start:auto}.sbb-overlay__content{--sbb-scrollbar-width: var(--sbb-spacing-fixed-3x)}.sbb-overlay__content::-webkit-scrollbar{width:var(--sbb-scrollbar-width);height:var(--sbb-scrollbar-width);background-color:var(--sbb-scrollbar-track-color, transparent)}.sbb-overlay__content::-webkit-scrollbar-corner{background-color:var(--sbb-scrollbar-track-color, transparent)}.sbb-overlay__content::-webkit-scrollbar-thumb{background-color:var(--sbb-scrollbar-color, currentcolor);border:calc(.5 * (var(--sbb-scrollbar-width) - var(--sbb-scrollbar-thumb-width))) solid transparent;border-radius:var(--sbb-border-radius-4x);background-clip:padding-box}.sbb-overlay__content::-webkit-scrollbar-thumb:hover{background-color:var(--sbb-scrollbar-color-hover, currentcolor);border-width:calc(.5 * (var(--sbb-scrollbar-width) - var(--sbb-scrollbar-thumb-width-hover)))}.sbb-overlay__content::-webkit-scrollbar-button,.sbb-overlay__content::-webkit-scrollbar-corner{display:none}@supports not selector(::-webkit-scrollbar){.sbb-overlay__content{scrollbar-width:var(--sbb-scrollbar-width-firefox);scrollbar-color:var(--sbb-scrollbar-color, currentcolor) var(--sbb-scrollbar-track-color, transparent)}}.sbb-overlay__content{height:100vh;overflow:auto;-webkit-overflow-scrolling:touch}.sbb-overlay__content-container{padding-block:var(--sbb-overlay-padding-block)}@keyframes open{0%{opacity:0}to{opacity:1}}@keyframes open-move-in{0%{transform:translateY(var(--sbb-spacing-fixed-4x))}to{transform:translateY(0)}}@keyframes close{0%{opacity:1}to{opacity:0}}@keyframes close-move-out{0%{transform:translateY(0)}to{transform:translateY(var(--sbb-spacing-fixed-4x))}}`;
93
+ var T = Object.defineProperty, z = Object.getOwnPropertyDescriptor, c = (t, e, o, a) => {
94
+ for (var r = a > 1 ? void 0 : a ? z(e, o) : e, n = t.length - 1, i; n >= 0; n--)
95
+ (i = t[n]) && (r = (a ? i(e, o, r) : i(r)) || r);
96
+ return a && r && T(e, o, r), r;
98
97
  };
99
- let s = class extends H {
98
+ let s = class extends F {
100
99
  constructor() {
101
100
  super(...arguments), this.expanded = !1, this.backButton = !1, this.closeAttribute = "sbb-overlay-close", this._backClick = new p(
102
101
  this,
@@ -114,15 +113,15 @@ let s = class extends H {
114
113
  // In rare cases, it can be that the animationEnd event is triggered twice.
115
114
  // To avoid entering a corrupt state, exit when state is not expected.
116
115
  onOverlayAnimationEnd(t) {
117
- var e, o, r;
118
- t.animationName === "open" && this.state === "opening" ? (this.state = "opened", this.didOpen.emit(), m(this), this.attachOpenOverlayEvents(), this.setOverlayFocus(), setTimeout(() => this.setAriaLiveRefContent(this.accessibilityLabel)), this.focusHandler.trap(this)) : t.animationName === "close" && this.state === "closing" && ((e = this._overlayContentElement) == null || e.scrollTo(0, 0), this.state = "closed", y(), h(this.lastFocusedElement), (o = this.lastFocusedElement) == null || o.focus(), (r = this.openOverlayController) == null || r.abort(), this.focusHandler.disconnect(), this.removeInstanceFromGlobalCollection(), l.length || this.scrollHandler.enableScroll(), this.didClose.emit({
116
+ var e, o, a;
117
+ t.animationName === "open" && this.state === "opening" ? (this.state = "opened", this.didOpen.emit(), this.inertController.activate(), this.attachOpenOverlayEvents(), this.setOverlayFocus(), setTimeout(() => this.setAriaLiveRefContent(this.accessibilityLabel)), this.focusHandler.trap(this)) : t.animationName === "close" && this.state === "closing" && ((e = this._overlayContentElement) == null || e.scrollTo(0, 0), this.state = "closed", this.inertController.deactivate(), h(this.lastFocusedElement), (o = this.lastFocusedElement) == null || o.focus(), (a = this.openOverlayController) == null || a.abort(), this.focusHandler.disconnect(), this.removeInstanceFromGlobalCollection(), l.length || this.scrollHandler.enableScroll(), this.didClose.emit({
119
118
  returnValue: this.returnValue,
120
119
  closeTarget: this.overlayCloseElement
121
120
  }));
122
121
  }
123
122
  // Set focus on the first focusable element.
124
123
  setOverlayFocus() {
125
- const t = C(
124
+ const t = w(
126
125
  Array.from(this.shadowRoot.children).filter(
127
126
  (e) => e instanceof window.HTMLElement
128
127
  )
@@ -133,7 +132,7 @@ let s = class extends H {
133
132
  const t = this.negative ? "sbb-transparent-button" : "sbb-secondary-button", e = d`
134
133
  <${v(t)}
135
134
  class="sbb-overlay__close"
136
- aria-label=${this.accessibilityCloseLabel || O[this.language.current]}
135
+ aria-label=${this.accessibilityCloseLabel || C[this.language.current]}
137
136
  ?negative=${this.negative}
138
137
  size="m"
139
138
  type="button"
@@ -143,7 +142,7 @@ let s = class extends H {
143
142
  `, o = d`
144
143
  <${v(t)}
145
144
  class="sbb-overlay__back"
146
- aria-label=${this.accessibilityBackLabel || E[this.language.current]}
145
+ aria-label=${this.accessibilityBackLabel || x[this.language.current]}
147
146
  ?negative=${this.negative}
148
147
  size="m"
149
148
  type="button"
@@ -154,15 +153,15 @@ let s = class extends H {
154
153
  return d`
155
154
  <div
156
155
  class="sbb-overlay__container"
157
- @animationend=${(r) => this.onOverlayAnimationEnd(r)}
156
+ @animationend=${(a) => this.onOverlayAnimationEnd(a)}
158
157
  >
159
158
  <div class="sbb-overlay">
160
159
  <div
161
- @click=${(r) => this.closeOnSbbOverlayCloseClick(r)}
160
+ @click=${(a) => this.closeOnSbbOverlayCloseClick(a)}
162
161
  class="sbb-overlay__wrapper"
163
162
  >
164
163
  <div class="sbb-overlay__header">
165
- ${this.backButton ? o : _} ${e}
164
+ ${this.backButton ? o : f} ${e}
166
165
  </div>
167
166
  <div class="sbb-overlay__content">
168
167
  <sbb-container
@@ -180,7 +179,7 @@ let s = class extends H {
180
179
  `;
181
180
  }
182
181
  };
183
- s.styles = T;
182
+ s.styles = H;
184
183
  s.events = {
185
184
  willOpen: "willOpen",
186
185
  didOpen: "didOpen",
@@ -201,10 +200,10 @@ c([
201
200
  b({ attribute: "accessibility-back-label" })
202
201
  ], s.prototype, "accessibilityBackLabel", 2);
203
202
  s = c([
204
- w("sbb-overlay")
203
+ g("sbb-overlay")
205
204
  ], s);
206
205
  export {
207
- H as SbbOverlayBaseElement,
206
+ F as SbbOverlayBaseElement,
208
207
  s as SbbOverlayElement,
209
208
  l as overlayRefs
210
209
  };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@sbb-esta/lyne-elements",
3
- "version": "1.7.0",
3
+ "version": "1.8.0",
4
4
  "description": "Lyne Design System",
5
5
  "keywords": [
6
6
  "design system",
@@ -87,7 +87,7 @@ let s = class extends L(E) {
87
87
  var e;
88
88
  if (!g) {
89
89
  if (this.hydrationRequired) {
90
- this.hydrationComplete.then(() => this._configure);
90
+ this.hydrationComplete.then(() => this._configure());
91
91
  return;
92
92
  }
93
93
  O(this._triggerElement), this.trigger && (this._triggerElement = T(this.trigger), this._triggerElement && (S(this._triggerElement, "dialog", this.id, this.state), this._hoverTrigger = this.hoverTrigger && !window.matchMedia("(pointer: coarse)").matches, (e = this._popoverController) == null || e.abort(), this._popoverController = new AbortController(), this._hoverTrigger ? (this._triggerElement.addEventListener("mouseenter", this._onTriggerMouseEnter, {
@@ -45,7 +45,8 @@ export declare class SbbToggleElement extends LitElement {
45
45
  /** Emits whenever the toggle value changes. */
46
46
  private _change;
47
47
  private _abort;
48
- private _setCheckedPillPosition;
48
+ /** @internal */
49
+ updatePillPosition(resizing: boolean): void;
49
50
  connectedCallback(): void;
50
51
  protected firstUpdated(changedProperties: PropertyValues<this>): Promise<void>;
51
52
  disconnectedCallback(): void;
@@ -1 +1 @@
1
- {"version":3,"file":"toggle.d.ts","sourceRoot":"","sources":["../../../../src/elements/toggle/toggle/toggle.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,KAAK,cAAc,EAGnB,UAAU,EACV,KAAK,cAAc,EACnB,KAAK,cAAc,EACpB,MAAM,KAAK,CAAC;AAQb,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,qBAAqB,CAAC;AAIlE;;;;;;GAMG;AACH,qBAIa,gBAAiB,SAAQ,UAAU;IAC9C,OAAuB,MAAM,EAAE,cAAc,CAAS;IACtD,gBAAuB,MAAM;;;MAGlB;IAEX,sCAAsC;IACtC,IACW,QAAQ,CAAC,KAAK,EAAE,OAAO,EAGjC;IACD,IAAW,QAAQ,IAAI,OAAO,CAE7B;IACD,OAAO,CAAC,SAAS,CAAkB;IAEnC;;;OAGG;IACgD,IAAI,EAAE,OAAO,CAAS;IAEzE,mCAAmC;IACC,IAAI,CAAC,EAAE,GAAG,GAAG,GAAG,CAAO;IAE3D;;;OAGG;IACH,IACW,KAAK,CAAC,KAAK,EAAE,MAAM,EAM7B;IACD,IAAW,KAAK,IAAI,MAAM,CAIzB;IACD,OAAO,CAAC,MAAM,CAAuB;IAErC,4DAA4D;IAC5D,IAAW,OAAO,IAAI,sBAAsB,EAAE,CAE7C;IAED,OAAO,CAAC,OAAO,CAAkB;IACjC,OAAO,CAAC,qBAAqB,CAE3B;IAEF,OAAO,CAAC,aAAa;IAuBrB,OAAO,CAAC,eAAe;IAMvB;;;OAGG;IACH,OAAO,CAAC,UAAU,CAGf;IAEH,+CAA+C;IAC/C,OAAO,CAAC,OAAO,CAGZ;IAEH,OAAO,CAAC,MAAM,CAAyC;IAEvD,OAAO,CAAC,uBAAuB;IA6Bf,iBAAiB,IAAI,IAAI;cAShB,YAAY,CAAC,iBAAiB,EAAE,cAAc,CAAC,IAAI,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC;IAO7E,oBAAoB,IAAI,IAAI;IAK5C,OAAO,CAAC,aAAa;IAKrB,OAAO,CAAC,YAAY;IAMpB,OAAO,CAAC,cAAc;cA6BH,MAAM,IAAI,cAAc;CAO5C;AAED,OAAO,CAAC,MAAM,CAAC;IACb,UAAU,qBAAqB;QAE7B,YAAY,EAAE,gBAAgB,CAAC;KAChC;CACF"}
1
+ {"version":3,"file":"toggle.d.ts","sourceRoot":"","sources":["../../../../src/elements/toggle/toggle/toggle.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,KAAK,cAAc,EAGnB,UAAU,EACV,KAAK,cAAc,EACnB,KAAK,cAAc,EACpB,MAAM,KAAK,CAAC;AAQb,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,qBAAqB,CAAC;AAIlE;;;;;;GAMG;AACH,qBAIa,gBAAiB,SAAQ,UAAU;IAC9C,OAAuB,MAAM,EAAE,cAAc,CAAS;IACtD,gBAAuB,MAAM;;;MAGlB;IAEX,sCAAsC;IACtC,IACW,QAAQ,CAAC,KAAK,EAAE,OAAO,EAGjC;IACD,IAAW,QAAQ,IAAI,OAAO,CAE7B;IACD,OAAO,CAAC,SAAS,CAAkB;IAEnC;;;OAGG;IACgD,IAAI,EAAE,OAAO,CAAS;IAEzE,mCAAmC;IACC,IAAI,CAAC,EAAE,GAAG,GAAG,GAAG,CAAO;IAE3D;;;OAGG;IACH,IACW,KAAK,CAAC,KAAK,EAAE,MAAM,EAM7B;IACD,IAAW,KAAK,IAAI,MAAM,CAIzB;IACD,OAAO,CAAC,MAAM,CAAuB;IAErC,4DAA4D;IAC5D,IAAW,OAAO,IAAI,sBAAsB,EAAE,CAE7C;IAED,OAAO,CAAC,OAAO,CAAkB;IACjC,OAAO,CAAC,qBAAqB,CAAmE;IAEhG,OAAO,CAAC,aAAa;IAuBrB,OAAO,CAAC,eAAe;IAMvB;;;OAGG;IACH,OAAO,CAAC,UAAU,CAGf;IAEH,+CAA+C;IAC/C,OAAO,CAAC,OAAO,CAGZ;IAEH,OAAO,CAAC,MAAM,CAAyC;IAEvD,gBAAgB;IACT,kBAAkB,CAAC,QAAQ,EAAE,OAAO,GAAG,IAAI;IA6BlC,iBAAiB,IAAI,IAAI;cAShB,YAAY,CAAC,iBAAiB,EAAE,cAAc,CAAC,IAAI,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC;IAQ7E,oBAAoB,IAAI,IAAI;IAK5C,OAAO,CAAC,aAAa;IAKrB,OAAO,CAAC,YAAY;IAMpB,OAAO,CAAC,cAAc;cA6BH,MAAM,IAAI,cAAc;CAO5C;AAED,OAAO,CAAC,MAAM,CAAC;IACb,UAAU,qBAAqB;QAE7B,YAAY,EAAE,gBAAgB,CAAC;KAChC;CACF"}
@@ -1 +1 @@
1
- {"version":3,"file":"toggle-option.d.ts","sourceRoot":"","sources":["../../../../src/elements/toggle/toggle-option/toggle-option.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,cAAc,EAAE,cAAc,EAAE,MAAM,KAAK,CAAC;AAC1E,OAAO,EAAQ,UAAU,EAAW,MAAM,KAAK,CAAC;;AAWhD;;;;;GAKG;AACH,qBAKa,sBAAuB,SAAQ,2BAA4B;IACtE,OAAuB,MAAM,EAAE,cAAc,CAAS;IAEtD,4CAA4C;IAErC,OAAO,UAAS;IAEvB,6CAA6C;IAEtC,QAAQ,EAAE,OAAO,CAAS;IAEjC,8BAA8B;IAC9B,IACW,KAAK,CAAC,KAAK,EAAE,MAAM,EAE7B;IACD,IAAW,KAAK,IAAI,MAAM,CAEzB;IACD,OAAO,CAAC,MAAM,CAAc;IAE5B,OAAO,CAAC,OAAO,CAAC,CAAmB;IACnC,OAAO,CAAC,MAAM,CAAyC;IAEvC,iBAAiB,IAAI,IAAI;cAetB,UAAU,CAAC,iBAAiB,EAAE,cAAc,CAAC,IAAI,CAAC,GAAG,IAAI;IAe5E,OAAO,CAAC,oBAAoB;IAI5B,OAAO,CAAC,qBAAqB;IAc7B,OAAO,CAAC,YAAY;IAQpB,OAAO,CAAC,eAAe;cAIJ,MAAM,IAAI,cAAc;CAoB5C;AAED,OAAO,CAAC,MAAM,CAAC;IACb,UAAU,qBAAqB;QAE7B,mBAAmB,EAAE,sBAAsB,CAAC;KAC7C;CACF"}
1
+ {"version":3,"file":"toggle-option.d.ts","sourceRoot":"","sources":["../../../../src/elements/toggle/toggle-option/toggle-option.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,cAAc,EAAE,cAAc,EAAE,MAAM,KAAK,CAAC;AAC1E,OAAO,EAAQ,UAAU,EAAW,MAAM,KAAK,CAAC;;AAWhD;;;;;GAKG;AACH,qBAKa,sBAAuB,SAAQ,2BAA4B;IACtE,OAAuB,MAAM,EAAE,cAAc,CAAS;IAEtD,4CAA4C;IAErC,OAAO,UAAS;IAEvB,6CAA6C;IAEtC,QAAQ,EAAE,OAAO,CAAS;IAEjC,8BAA8B;IAC9B,IACW,KAAK,CAAC,KAAK,EAAE,MAAM,EAE7B;IACD,IAAW,KAAK,IAAI,MAAM,CAEzB;IACD,OAAO,CAAC,MAAM,CAAc;IAE5B,OAAO,CAAC,OAAO,CAAC,CAAmB;IACnC,OAAO,CAAC,MAAM,CAAyC;IAEvC,iBAAiB,IAAI,IAAI;cAetB,UAAU,CAAC,iBAAiB,EAAE,cAAc,CAAC,IAAI,CAAC,GAAG,IAAI;IAe5E,OAAO,CAAC,oBAAoB;IAK5B,OAAO,CAAC,qBAAqB;IAc7B,OAAO,CAAC,YAAY;IAQpB,OAAO,CAAC,eAAe;cAIJ,MAAM,IAAI,cAAc;CAoB5C;AAED,OAAO,CAAC,MAAM,CAAC;IACb,UAAU,qBAAqB;QAE7B,mBAAmB,EAAE,sBAAsB,CAAC;KAC7C;CACF"}
@@ -5,10 +5,10 @@ import { hostAttributes as f, slotState as v } from "../core/decorators.js";
5
5
  import { setOrRemoveAttribute as m } from "../core/dom.js";
6
6
  import { SbbIconNameMixin as _ } from "../icon.js";
7
7
  const y = h`*,:before,:after{box-sizing:border-box}:host{--sbb-toggle-option-cursor: pointer;--sbb-toggle-option-color: var(--sbb-color-anthracite);--sbb-toggle-option-icon-min-size: var(--sbb-size-icon-ui-small);--sbb-toggle-option-border-radius: var(--sbb-border-radius-infinity);--sbb-toggle-option-line-height: calc(1em * var(--sbb-typo-line-height-body-text));display:inline-block;min-width:var(--sbb-toggle-min-width);overflow:hidden;z-index:1}:host(:focus-visible:not([data-focus-origin=mouse],[data-focus-origin=touch])){outline:none!important}:host([checked]){--sbb-toggle-option-color: var(--sbb-color-charcoal)}:host([disabled]){--sbb-toggle-option-cursor: unset;--sbb-toggle-option-color: var(--sbb-color-granite)}input[type=radio]{border:0;clip:rect(0 0 0 0);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;white-space:nowrap;width:1px}.sbb-toggle-option{--sbb-text-font-size: var(--sbb-font-size-text-xs);font-family:var(--sbb-typo-font-family);font-weight:400;line-height:var(--sbb-typo-line-height-body-text);letter-spacing:var(--sbb-typo-letter-spacing-body-text);font-size:var(--sbb-text-font-size);font-weight:700;cursor:var(--sbb-toggle-option-cursor);display:flex;justify-content:center;align-items:center;height:var(--sbb-toggle-height);padding-inline:var(--sbb-toggle-padding-inline);border-radius:var(--sbb-toggle-option-border-radius);color:var(--sbb-toggle-option-color)}:host([data-slot-names~=unnamed]:where([data-slot-names~=icon],[icon-name])) .sbb-toggle-option{gap:var(--sbb-spacing-fixed-1x)}.sbb-toggle-option__label{overflow:hidden;white-space:nowrap;text-overflow:ellipsis}:host(:focus-visible:not([data-focus-origin=mouse],[data-focus-origin=touch])) .sbb-toggle-option__label:before{content:"";position:absolute;pointer-events:none;inset:calc(var(--sbb-focus-outline-offset) * -2);border:var(--sbb-focus-outline-color) solid var(--sbb-focus-outline-width);border-radius:var(--sbb-toggle-option-border-radius)}sbb-icon,::slotted(sbb-icon){min-width:var(--sbb-toggle-option-icon-min-size);min-height:var(--sbb-toggle-option-icon-min-size)}`;
8
- var x = Object.defineProperty, w = Object.getOwnPropertyDescriptor, n = (e, t, i, l) => {
9
- for (var o = l > 1 ? void 0 : l ? w(t, i) : t, r = e.length - 1, a; r >= 0; r--)
10
- (a = e[r]) && (o = (l ? a(t, i, o) : a(o)) || o);
11
- return l && o && x(t, i, o), o;
8
+ var x = Object.defineProperty, w = Object.getOwnPropertyDescriptor, n = (e, t, o, l) => {
9
+ for (var i = l > 1 ? void 0 : l ? w(t, o) : t, r = e.length - 1, a; r >= 0; r--)
10
+ (a = e[r]) && (i = (l ? a(t, o, i) : a(i)) || i);
11
+ return l && i && x(t, o, i), i;
12
12
  };
13
13
  let s = class extends _(c) {
14
14
  constructor() {
@@ -25,8 +25,8 @@ let s = class extends _(c) {
25
25
  super.connectedCallback();
26
26
  const e = this._abort.signal;
27
27
  this.addEventListener("input", () => this._handleInput(), { signal: e }), this.addEventListener("click", () => {
28
- var i;
29
- return (i = this.shadowRoot.querySelector("label")) == null ? void 0 : i.click();
28
+ var o;
29
+ return (o = this.shadowRoot.querySelector("label")) == null ? void 0 : o.click();
30
30
  }, {
31
31
  signal: e
32
32
  }), this._toggle = ((t = this.closest) == null ? void 0 : t.call(this, "sbb-toggle")) ?? void 0, this._verifyTabindex();
@@ -35,8 +35,8 @@ let s = class extends _(c) {
35
35
  super.willUpdate(e), e.has("checked") && (this.setAttribute("aria-checked", `${this.checked}`), this._verifyTabindex(), this.checked && this._uncheckOtherOptions()), e.has("disabled") && this._handleDisabledChange();
36
36
  }
37
37
  _uncheckOtherOptions() {
38
- var e;
39
- (e = this._toggle) == null || e.options.filter((t) => t !== this).forEach((t) => t.checked = !1);
38
+ var e, t;
39
+ (e = this._toggle) == null || e.options.filter((o) => o !== this).forEach((o) => o.checked = !1), (t = this._toggle) == null || t.updatePillPosition(!1);
40
40
  }
41
41
  _handleDisabledChange() {
42
42
  this._toggle && (this._toggle.disabled && !this.disabled ? this.disabled = !0 : !this._toggle.disabled && this.disabled && (this.disabled = !1)), m(this, "aria-disabled", this.disabled ? "true" : null), this._verifyTabindex();
package/toggle/toggle.js CHANGED
@@ -1,21 +1,19 @@
1
1
  import { css as u, LitElement as v, isServer as c, html as m } from "lit";
2
- import { property as a, customElement as f } from "lit/decorators.js";
3
- import { interactivityChecker as y, isArrowKeyPressed as _, getNextElementIndex as w } from "../core/a11y.js";
2
+ import { property as b, customElement as f } from "lit/decorators.js";
3
+ import { interactivityChecker as y, isArrowKeyPressed as w, getNextElementIndex as _ } from "../core/a11y.js";
4
4
  import { SbbConnectedAbortController as x } from "../core/controllers.js";
5
5
  import { hostAttributes as k } from "../core/decorators.js";
6
6
  import { EventEmitter as p } from "../core/eventing.js";
7
7
  import { AgnosticResizeObserver as C } from "../core/observers.js";
8
8
  const z = u`*,:before,:after{box-sizing:border-box}:host{display:block;--sbb-toggle-width: fit-content;--sbb-toggle-min-width: calc( var(--sbb-toggle-padding-inline) * 2 + var(--sbb-size-icon-ui-small) );--sbb-toggle-selected-option-border-color: var(--sbb-color-smoke);--sbb-toggle-padding-inline: var(--sbb-spacing-responsive-xxxs);--sbb-toggle-animation-duration: var( --sbb-disable-animation-zero-time, var(--sbb-animation-duration-6x) );--sbb-toggle-height: 1.75rem;--sbb-toggle-border-width: var(--sbb-border-width-1x);--sbb-toggle-border-style: solid;--sbb-toggle-border-radius: var(--sbb-border-radius-infinity)}@media (min-width: 52.5rem){:host{--sbb-toggle-height: 2rem}}@media (forced-colors: active){:host{--sbb-toggle-selected-option-border-color: Highlight;--sbb-toggle-border-width: var(--sbb-border-width-2x)}}:host([even]){--sbb-toggle-width: 100%}:host([even]) ::slotted(sbb-toggle-option){width:50%}:host([disabled]){--sbb-toggle-selected-option-border-color: var(--sbb-color-graphite);--sbb-toggle-border-style: dashed}@media (forced-colors: active){:host([disabled]){--sbb-toggle-border-style: solid;--sbb-toggle-selected-option-border-color: GrayText}}:host([size=m]){--sbb-toggle-padding-inline: var(--sbb-spacing-responsive-xs);--sbb-toggle-height: 2.75rem}@media (min-width: 52.5rem){:host([size=m]){--sbb-toggle-height: 3.25rem}}:host([data-disable-animation-on-resizing]){--sbb-disable-animation-time: .1ms;--sbb-disable-animation-zero-time: 0s}.sbb-toggle{--sbb-text-font-size: var(--sbb-font-size-text-m);font-family:var(--sbb-typo-font-family);font-weight:400;line-height:var(--sbb-typo-line-height-body-text);letter-spacing:var(--sbb-typo-letter-spacing-body-text);font-size:var(--sbb-text-font-size);position:relative;display:flex;align-items:center;width:var(--sbb-toggle-width);max-width:100%;min-width:calc(var(--sbb-toggle-min-width) * 2);height:var(--sbb-toggle-height);-webkit-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent;background:var(--sbb-color-cloud);border-radius:var(--sbb-toggle-border-radius)}.sbb-toggle:after{content:"";padding-inline:var(--sbb-toggle-padding-inline);display:inline-block;opacity:1;background-color:var(--sbb-color-white);border:var(--sbb-toggle-border-width) var(--sbb-toggle-border-style) var(--sbb-toggle-selected-option-border-color);border-radius:var(--sbb-toggle-border-radius);position:absolute;max-width:100%;min-width:var(--sbb-toggle-min-width);inset-block:calc(-2 * var(--sbb-toggle-border-width));inset-inline:calc(var(--sbb-toggle-option-left) - .125rem) calc(var(--sbb-toggle-option-right) - .125rem);transition-duration:var(--sbb-toggle-animation-duration);transition-timing-function:ease;transition-property:opacity,inset-inline-end,inset-inline-start}@media (forced-colors: active){.sbb-toggle{outline:var(--sbb-toggle-border-width) solid CanvasText}}`;
9
- var P = Object.defineProperty, E = Object.getOwnPropertyDescriptor, b = (e, t, s, i) => {
9
+ var P = Object.defineProperty, E = Object.getOwnPropertyDescriptor, a = (e, t, s, i) => {
10
10
  for (var o = i > 1 ? void 0 : i ? E(t, s) : t, n = e.length - 1, l; n >= 0; n--)
11
11
  (l = e[n]) && (o = (i ? l(t, s, o) : l(o)) || o);
12
12
  return i && o && P(t, s, o), o;
13
13
  };
14
14
  let r = class extends v {
15
15
  constructor() {
16
- super(...arguments), this._disabled = !1, this.even = !1, this.size = "m", this._value = null, this._loaded = !1, this._toggleResizeObserver = new C(
17
- () => this._setCheckedPillPosition(!0)
18
- ), this._didChange = new p(this, r.events.didChange, {
16
+ super(...arguments), this._disabled = !1, this.even = !1, this.size = "m", this._value = null, this._loaded = !1, this._toggleResizeObserver = new C(() => this.updatePillPosition(!0)), this._didChange = new p(this, r.events.didChange, {
19
17
  bubbles: !0,
20
18
  composed: !0
21
19
  }), this._change = new p(this, r.events.change, {
@@ -45,13 +43,14 @@ let r = class extends v {
45
43
  const t = this.options, s = t.find(
46
44
  (i) => e === ("value" in i ? i.value : i.getAttribute("value"))
47
45
  ) ?? t.find((i) => i.checked) ?? t[0];
48
- s && (s.checked || (s.checked = !0), this._setCheckedPillPosition(!1));
46
+ s && (s.checked || (s.checked = !0), this.updatePillPosition(!1));
49
47
  }
50
48
  _updateDisabled() {
51
49
  for (const e of this.options)
52
50
  e.disabled = this.disabled;
53
51
  }
54
- _setCheckedPillPosition(e) {
52
+ /** @internal */
53
+ updatePillPosition(e) {
55
54
  var g, h;
56
55
  if (!this._loaded)
57
56
  return;
@@ -68,7 +67,7 @@ let r = class extends v {
68
67
  this.addEventListener("input", () => this._handleInput(), { signal: e, passive: !0 }), this.addEventListener("keydown", (t) => this._handleKeyDown(t), { signal: e }), this.options.forEach((t) => this._toggleResizeObserver.observe(t)), this._updateToggle();
69
68
  }
70
69
  async firstUpdated(e) {
71
- super.firstUpdated(e), await this.updateComplete, this._loaded = !0;
70
+ super.firstUpdated(e), await this.updateComplete, this._loaded = !0, this.updatePillPosition(!1);
72
71
  }
73
72
  disconnectedCallback() {
74
73
  super.disconnectedCallback(), this._toggleResizeObserver.disconnect();
@@ -77,17 +76,17 @@ let r = class extends v {
77
76
  this._valueChanged(this.value), this._updateDisabled();
78
77
  }
79
78
  _handleInput() {
80
- this._setCheckedPillPosition(!1), this._change.emit(), this._didChange.emit();
79
+ this.updatePillPosition(!1), this._change.emit(), this._didChange.emit();
81
80
  }
82
81
  _handleKeyDown(e) {
83
82
  const t = this.options.filter(
84
83
  (s) => !s.disabled && y.isVisible(s)
85
84
  );
86
85
  if (!(!t || // don't trap nested handling
87
- e.target !== this && e.target.parentElement !== this) && _(e)) {
86
+ e.target !== this && e.target.parentElement !== this) && w(e)) {
88
87
  const s = t.findIndex(
89
88
  (o) => o.checked
90
- ), i = w(e, s, t.length);
89
+ ), i = _(e, s, t.length);
91
90
  t[i].checked || (t[i].checked = !0, t[i].focus(), t[i].dispatchEvent(
92
91
  new InputEvent("input", { bubbles: !0, composed: !0 })
93
92
  )), e.preventDefault();
@@ -106,19 +105,19 @@ r.events = {
106
105
  didChange: "didChange",
107
106
  change: "change"
108
107
  };
109
- b([
110
- a({ reflect: !0, type: Boolean })
108
+ a([
109
+ b({ reflect: !0, type: Boolean })
111
110
  ], r.prototype, "disabled", 1);
112
- b([
113
- a({ reflect: !0, type: Boolean })
111
+ a([
112
+ b({ reflect: !0, type: Boolean })
114
113
  ], r.prototype, "even", 2);
115
- b([
116
- a({ reflect: !0 })
114
+ a([
115
+ b({ reflect: !0 })
117
116
  ], r.prototype, "size", 2);
118
- b([
119
- a()
117
+ a([
118
+ b()
120
119
  ], r.prototype, "value", 1);
121
- r = b([
120
+ r = a([
122
121
  f("sbb-toggle"),
123
122
  k({
124
123
  role: "radiogroup"