@sbb-esta/lyne-elements 2.0.3 → 2.1.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 (195) hide show
  1. package/accordion/accordion.d.ts.map +1 -1
  2. package/accordion.js +6 -6
  3. package/alert/alert.js +8 -8
  4. package/autocomplete/autocomplete-base-element.d.ts.map +1 -1
  5. package/autocomplete-grid/autocomplete-grid-button.js +4 -4
  6. package/autocomplete-grid/autocomplete-grid-optgroup.js +4 -4
  7. package/autocomplete-grid/autocomplete-grid-option/autocomplete-grid-option.d.ts +1 -1
  8. package/autocomplete-grid/autocomplete-grid-option/autocomplete-grid-option.d.ts.map +1 -1
  9. package/autocomplete-grid/autocomplete-grid-option.js +10 -10
  10. package/autocomplete-grid/autocomplete-grid-row.js +4 -4
  11. package/autocomplete.js +92 -89
  12. package/breadcrumb/breadcrumb-group.js +4 -4
  13. package/button/accent-button-link.js +9 -9
  14. package/button/accent-button-static.js +6 -6
  15. package/button/accent-button.js +6 -6
  16. package/button/button-link.js +7 -7
  17. package/button/button-static.js +7 -7
  18. package/button/button.js +8 -8
  19. package/button/common.js +1 -1
  20. package/button/mini-button-group.js +8 -8
  21. package/button/secondary-button-link.js +7 -7
  22. package/button/secondary-button-static.js +7 -7
  23. package/button/secondary-button.js +3 -3
  24. package/button/transparent-button-link.js +6 -6
  25. package/button/transparent-button-static.js +5 -5
  26. package/button/transparent-button.js +6 -6
  27. package/card/card-badge.js +9 -9
  28. package/card/card-button.js +5 -5
  29. package/card/card-link.js +7 -7
  30. package/checkbox/checkbox-panel.js +16 -16
  31. package/checkbox/checkbox.js +15 -15
  32. package/checkbox/common.js +3 -3
  33. package/clock.js +8 -8
  34. package/container/container/container.d.ts +1 -1
  35. package/container/container/container.d.ts.map +1 -1
  36. package/container/container.js +21 -21
  37. package/container/sticky-bar/sticky-bar.d.ts +1 -1
  38. package/container/sticky-bar/sticky-bar.d.ts.map +1 -1
  39. package/container/sticky-bar.js +4 -4
  40. package/core/base-elements.js +8 -8
  41. package/core/controllers.js +4 -4
  42. package/core/datetime/date-adapter.d.ts +1 -1
  43. package/core/datetime/date-adapter.d.ts.map +1 -1
  44. package/core/datetime/native-date-adapter.d.ts +1 -1
  45. package/core/datetime/native-date-adapter.d.ts.map +1 -1
  46. package/core/datetime.js +6 -6
  47. package/core/dom/scroll.d.ts +1 -1
  48. package/core/dom/scroll.d.ts.map +1 -1
  49. package/core/dom.js +39 -39
  50. package/core/eventing.js +4 -4
  51. package/core/mixins.js +18 -18
  52. package/core/styles/core.scss +21 -2
  53. package/core/testing.js +14 -14
  54. package/core.css +18 -2
  55. package/custom-elements.json +364 -428
  56. package/datepicker/common/datepicker-association-controllers.d.ts +21 -0
  57. package/datepicker/common/datepicker-association-controllers.d.ts.map +1 -0
  58. package/datepicker/common/datepicker-button.d.ts +17 -9
  59. package/datepicker/common/datepicker-button.d.ts.map +1 -1
  60. package/datepicker/common.d.ts +1 -0
  61. package/datepicker/common.d.ts.map +1 -1
  62. package/datepicker/common.js +130 -92
  63. package/datepicker/datepicker/datepicker.d.ts +19 -4
  64. package/datepicker/datepicker/datepicker.d.ts.map +1 -1
  65. package/datepicker/datepicker-toggle/datepicker-toggle.d.ts +14 -8
  66. package/datepicker/datepicker-toggle/datepicker-toggle.d.ts.map +1 -1
  67. package/datepicker/datepicker-toggle.js +108 -112
  68. package/datepicker/datepicker.js +95 -80
  69. package/development/accordion/accordion.d.ts.map +1 -1
  70. package/development/accordion.js +1 -1
  71. package/development/autocomplete/autocomplete-base-element.d.ts.map +1 -1
  72. package/development/autocomplete-grid/autocomplete-grid-option/autocomplete-grid-option.d.ts +1 -1
  73. package/development/autocomplete-grid/autocomplete-grid-option/autocomplete-grid-option.d.ts.map +1 -1
  74. package/development/autocomplete-grid/autocomplete-grid-option.js +3 -3
  75. package/development/autocomplete.js +24 -8
  76. package/development/button/common.js +4 -2
  77. package/development/calendar.js +1 -1
  78. package/development/container/container/container.d.ts +1 -1
  79. package/development/container/container/container.d.ts.map +1 -1
  80. package/development/container/container.js +17 -1
  81. package/development/container/sticky-bar/sticky-bar.d.ts +1 -1
  82. package/development/container/sticky-bar/sticky-bar.d.ts.map +1 -1
  83. package/development/container/sticky-bar.js +9 -1
  84. package/development/core/datetime/date-adapter.d.ts +1 -1
  85. package/development/core/datetime/date-adapter.d.ts.map +1 -1
  86. package/development/core/datetime/native-date-adapter.d.ts +1 -1
  87. package/development/core/datetime/native-date-adapter.d.ts.map +1 -1
  88. package/development/core/datetime.js +1 -1
  89. package/development/core/dom/scroll.d.ts +1 -1
  90. package/development/core/dom/scroll.d.ts.map +1 -1
  91. package/development/core/dom.js +4 -4
  92. package/development/core/mixins.js +1 -1
  93. package/development/datepicker/common/datepicker-association-controllers.d.ts +21 -0
  94. package/development/datepicker/common/datepicker-association-controllers.d.ts.map +1 -0
  95. package/development/datepicker/common/datepicker-button.d.ts +17 -9
  96. package/development/datepicker/common/datepicker-button.d.ts.map +1 -1
  97. package/development/datepicker/common.d.ts +1 -0
  98. package/development/datepicker/common.d.ts.map +1 -1
  99. package/development/datepicker/common.js +139 -90
  100. package/development/datepicker/datepicker/datepicker.d.ts +19 -4
  101. package/development/datepicker/datepicker/datepicker.d.ts.map +1 -1
  102. package/development/datepicker/datepicker-toggle/datepicker-toggle.d.ts +14 -8
  103. package/development/datepicker/datepicker-toggle/datepicker-toggle.d.ts.map +1 -1
  104. package/development/datepicker/datepicker-toggle.js +65 -69
  105. package/development/datepicker/datepicker.js +54 -36
  106. package/development/dialog/dialog/dialog.d.ts +2 -0
  107. package/development/dialog/dialog/dialog.d.ts.map +1 -1
  108. package/development/dialog/dialog.js +37 -11
  109. package/development/menu/menu/menu.d.ts.map +1 -1
  110. package/development/menu/menu.js +35 -12
  111. package/development/navigation/navigation/navigation.d.ts.map +1 -1
  112. package/development/navigation/navigation.js +15 -8
  113. package/development/option/option/option-base-element.d.ts +3 -2
  114. package/development/option/option/option-base-element.d.ts.map +1 -1
  115. package/development/option/option.js +15 -8
  116. package/development/overlay/overlay-base-element.d.ts.map +1 -1
  117. package/development/overlay/overlay.d.ts.map +1 -1
  118. package/development/overlay.js +29 -13
  119. package/development/popover/popover/popover.d.ts.map +1 -1
  120. package/development/popover/popover.js +16 -13
  121. package/development/select/select.d.ts +11 -0
  122. package/development/select/select.d.ts.map +1 -1
  123. package/development/select.js +60 -9
  124. package/development/toast/toast.d.ts.map +1 -1
  125. package/development/toast.js +14 -8
  126. package/development/toggle/toggle.js +1 -1
  127. package/development/train/train-wagon.js +1 -1
  128. package/dialog/dialog/dialog.d.ts +2 -0
  129. package/dialog/dialog/dialog.d.ts.map +1 -1
  130. package/dialog/dialog-content.js +3 -3
  131. package/dialog/dialog-title.js +8 -8
  132. package/dialog/dialog.js +59 -49
  133. package/divider.js +12 -12
  134. package/file-selector/file-selector-dropzone.js +5 -5
  135. package/file-selector/file-selector.js +6 -6
  136. package/flip-card/flip-card-details.js +4 -4
  137. package/flip-card/flip-card-summary.js +9 -9
  138. package/header/header-button.js +5 -5
  139. package/header/header-link.js +5 -5
  140. package/icon.js +36 -36
  141. package/link/block-link-button.js +4 -4
  142. package/link/block-link-static.js +9 -9
  143. package/link/block-link.js +4 -4
  144. package/link/common.js +16 -16
  145. package/link/link-button.js +7 -7
  146. package/link/link-static.js +7 -7
  147. package/link/link.js +4 -4
  148. package/link-list/common.js +12 -12
  149. package/loading-indicator-circle.js +11 -11
  150. package/map-container.js +4 -4
  151. package/menu/common.js +7 -7
  152. package/menu/menu/menu.d.ts.map +1 -1
  153. package/menu/menu-button.js +8 -8
  154. package/menu/menu-link.js +6 -6
  155. package/menu/menu.js +64 -42
  156. package/navigation/navigation/navigation.d.ts.map +1 -1
  157. package/navigation/navigation-button.js +4 -4
  158. package/navigation/navigation-link.js +7 -7
  159. package/navigation/navigation-list.js +4 -4
  160. package/navigation/navigation-marker.js +3 -3
  161. package/navigation/navigation.js +21 -20
  162. package/notification.js +17 -17
  163. package/option/optgroup.js +11 -11
  164. package/option/option/option-base-element.d.ts +3 -2
  165. package/option/option/option-base-element.d.ts.map +1 -1
  166. package/option/option.js +113 -101
  167. package/overlay/overlay-base-element.d.ts.map +1 -1
  168. package/overlay/overlay.d.ts.map +1 -1
  169. package/overlay.js +87 -84
  170. package/package.json +1 -1
  171. package/paginator/common.js +6 -6
  172. package/popover/popover/popover.d.ts.map +1 -1
  173. package/popover/popover.js +73 -73
  174. package/radio-button/radio-button-panel.js +5 -5
  175. package/screen-reader-only.js +5 -5
  176. package/select/select.d.ts +11 -0
  177. package/select/select.d.ts.map +1 -1
  178. package/select.js +111 -83
  179. package/slider.js +8 -8
  180. package/standard-theme.css +18 -2
  181. package/status.js +3 -3
  182. package/stepper/step-label.js +4 -4
  183. package/table/table-wrapper.js +4 -4
  184. package/tabs/tab-group.js +24 -24
  185. package/tabs/tab.js +3 -3
  186. package/tag/tag-group.js +7 -7
  187. package/teaser-product/common.js +5 -5
  188. package/teaser-product/teaser-product-static.js +2 -2
  189. package/timetable-occupancy-icon.js +3 -3
  190. package/timetable-occupancy.js +6 -6
  191. package/toast/toast.d.ts.map +1 -1
  192. package/toast.js +58 -54
  193. package/toggle/toggle-option.js +11 -11
  194. package/toggle-check.js +5 -5
  195. package/train/train.js +28 -28
package/menu/menu.js CHANGED
@@ -2,20 +2,20 @@ var y = (n) => {
2
2
  throw TypeError(n);
3
3
  };
4
4
  var k = (n, s, r) => s.has(n) || y("Cannot " + r);
5
- var E = (n, s, r) => (k(n, s, "read from private field"), r ? r.call(n) : s.get(n)), x = (n, s, r) => s.has(n) ? y("Cannot add the same private member more than once") : s instanceof WeakSet ? s.add(n) : s.set(n, r), h = (n, s, r, o) => (k(n, s, "write to private field"), o ? o.call(n, r) : s.set(n, r), r);
5
+ var E = (n, s, r) => (k(n, s, "read from private field"), r ? r.call(n) : s.get(n)), x = (n, s, r) => s.has(n) ? y("Cannot add the same private member more than once") : s instanceof WeakSet ? s.add(n) : s.set(n, r), h = (n, s, r, a) => (k(n, s, "write to private field"), a ? a.call(n, r) : s.set(n, r), r);
6
6
  import { __esDecorate as m, __runInitializers as d } from "tslib";
7
7
  import { css as O, html as C } from "lit";
8
- import { customElement as N, property as L } from "lit/decorators.js";
8
+ import { customElement as N, property as A } from "lit/decorators.js";
9
9
  import { ref as B } from "lit/directives/ref.js";
10
- import { SbbFocusHandler as M, setModalityOnNextFocus as A, isArrowKeyPressed as T, interactivityChecker as I, getNextElementIndex as D, IS_FOCUSABLE_QUERY as P } from "../core/a11y.js";
10
+ import { SbbFocusHandler as M, setModalityOnNextFocus as L, isArrowKeyOrPageKeysPressed as T, interactivityChecker as I, getNextElementIndex as P, IS_FOCUSABLE_QUERY as D } from "../core/a11y.js";
11
11
  import { SbbOpenCloseBaseElement as H } from "../core/base-elements.js";
12
- import { SbbInertController as K, SbbMediaMatcherController as z, SbbMediaQueryBreakpointSmallAndBelow as u } from "../core/controllers.js";
13
- import { forceType as R } from "../core/decorators.js";
14
- import { SbbScrollHandler as F, isZeroAnimationDuration as U, findReferencedElement as $ } from "../core/dom.js";
15
- import { forwardEvent as Y } from "../core/eventing.js";
16
- import { SbbNamedSlotListMixin as q } from "../core/mixins.js";
17
- import { isEventOnElement as S, removeAriaOverlayTriggerAttributes as Z, setAriaOverlayTriggerAttributes as V, getElementPosition as j } from "../core/overlay.js";
18
- const Q = O`*,:before,:after{box-sizing:border-box}:host{display:contents;--sbb-menu-position-x: 0;--sbb-menu-position-y: 0;--sbb-menu-animation-duration: var( --sbb-disable-animation-duration, var(--sbb-animation-duration-6x) );--sbb-menu-animation-easing: ease;--sbb-menu-transform: translateY(100%);--sbb-menu-max-width: 100%;--sbb-menu-min-width: 100%;--sbb-menu-inset: 0 auto auto 0;--sbb-menu-container-height: 100dvh;--sbb-menu-max-height: calc(85vh - var(--sbb-spacing-fixed-8x));--sbb-menu-min-height: 3.03125rem;--sbb-menu-border-radius: var(--sbb-border-radius-4x);--sbb-menu-visibility: hidden;--sbb-menu-backdrop-color: transparent}@media (min-width: 52.5rem){:host{--sbb-menu-transform: translateY(var(--sbb-spacing-fixed-2x));--sbb-menu-max-width: 20rem;--sbb-menu-min-width: 11.25rem}}:host(:is([data-state=opened],[data-state=opening])){--sbb-menu-visibility: visible;--sbb-menu-backdrop-color: var(--sbb-color-black-alpha-20)}@media (min-width: 52.5rem){:host(:is([data-state=opened],[data-state=opening])){--sbb-menu-backdrop-color: transparent}}:host(:not([data-state=closed])){--sbb-menu-inset: 0}::slotted(:not(sbb-menu-button,sbb-menu-link,sbb-divider)){display:block;padding-inline:var(--sbb-spacing-fixed-5x)}::slotted(sbb-divider){--sbb-divider-color: var(--sbb-color-iron);margin-block:var(--sbb-spacing-fixed-2x)}.sbb-menu__container{position:fixed;pointer-events:none;inset:var(--sbb-menu-inset);height:var(--sbb-menu-container-height);z-index:var(--sbb-menu-z-index, var(--sbb-overlay-default-z-index))}.sbb-menu__container:before{content:"";visibility:var(--sbb-menu-visibility);pointer-events:all;position:fixed;inset:var(--sbb-menu-inset);height:var(--sbb-menu-container-height);background-color:var(--sbb-menu-backdrop-color);transition-duration:var(--sbb-menu-animation-duration);transition-timing-function:var(--sbb-menu-animation-easing);transition-property:background-color,visibility}.sbb-menu{display:none;opacity:0;pointer-events:none;max-width:var(--sbb-menu-max-width);min-width:var(--sbb-menu-min-width);text-align:start;position:absolute;inset-inline-start:0;inset-block-start:unset;inset-block-end:0;inset-inline-end:unset;color:var(--sbb-color-white);border:none;border-radius:var(--sbb-menu-border-radius) var(--sbb-menu-border-radius) 0 0;background-color:var(--sbb-color-black);padding:0;overflow:hidden}:host([data-state]:not([data-state=closed])) .sbb-menu{display:block;opacity:1;pointer-events:all;animation-name:open;animation-duration:var(--sbb-menu-animation-duration);animation-timing-function:var(--sbb-menu-animation-easing)}:host([data-state][data-state=closing]) .sbb-menu{pointer-events:none;animation-name:close}@media (forced-colors: active){.sbb-menu{outline:var(--sbb-border-width-1x) solid CanvasText}}@media (min-width: 52.5rem){.sbb-menu{top:0;bottom:unset;left:0;right:unset;max-height:fit-content;border-radius:var(--sbb-menu-border-radius)}:host(:not([data-state=closed])) .sbb-menu{top:var(--sbb-menu-position-y);left:var(--sbb-menu-position-x);max-height:var(--sbb-menu-max-height);min-height:var(--sbb-menu-min-height)}}.sbb-menu__content{--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-menu__content::-webkit-scrollbar{width:var(--sbb-scrollbar-width);height:var(--sbb-scrollbar-width);background-color:var(--sbb-scrollbar-track-color, transparent)}.sbb-menu__content::-webkit-scrollbar-corner{background-color:var(--sbb-scrollbar-track-color, transparent)}.sbb-menu__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-menu__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-menu__content::-webkit-scrollbar-button,.sbb-menu__content::-webkit-scrollbar-corner{display:none}@supports not selector(::-webkit-scrollbar){.sbb-menu__content{scrollbar-width:var(--sbb-scrollbar-width-firefox);scrollbar-color:var(--sbb-scrollbar-color, currentcolor) var(--sbb-scrollbar-track-color, transparent)}}.sbb-menu__content{max-height:var(--sbb-menu-max-height);padding-block:var(--sbb-spacing-fixed-1x);overflow:auto;outline:none}.sbb-menu__content:after{content:"";display:block;height:var(--sbb-spacing-fixed-8x)}@media (min-width: 52.5rem){.sbb-menu__content{max-height:fit-content}:host(:not([data-state=closed])) .sbb-menu__content{max-height:var(--sbb-menu-max-height);min-height:var(--sbb-menu-min-height)}.sbb-menu__content:after{display:none}}.sbb-menu-list{list-style:none;margin:0;padding:0;font-size:inherit}@keyframes open{0%{opacity:0;transform:var(--sbb-menu-transform)}to{opacity:1;transform:translateY(0)}}@keyframes close{0%{opacity:1;transform:translateY(0)}to{opacity:0;transform:var(--sbb-menu-transform)}}`, W = 8, G = [
12
+ import { SbbInertController as K, SbbMediaMatcherController as R, SbbMediaQueryBreakpointSmallAndBelow as u } from "../core/controllers.js";
13
+ import { hostAttributes as z, forceType as U } from "../core/decorators.js";
14
+ import { SbbScrollHandler as F, isZeroAnimationDuration as $, findReferencedElement as Y } from "../core/dom.js";
15
+ import { forwardEvent as q } from "../core/eventing.js";
16
+ import { SbbNamedSlotListMixin as Z } from "../core/mixins.js";
17
+ import { isEventOnElement as S, removeAriaOverlayTriggerAttributes as V, setAriaOverlayTriggerAttributes as j, getElementPosition as Q } from "../core/overlay.js";
18
+ const W = O`*,:before,:after{box-sizing:border-box}:host{display:contents;--sbb-menu-position-x: 0;--sbb-menu-position-y: 0;--sbb-menu-animation-duration: var( --sbb-disable-animation-duration, var(--sbb-animation-duration-6x) );--sbb-menu-animation-easing: ease;--sbb-menu-transform: translateY(100%);--sbb-menu-max-width: 100%;--sbb-menu-min-width: 100%;--sbb-menu-inset: 0 auto auto 0;--sbb-menu-container-height: 100dvh;--sbb-menu-max-height: calc(85vh - var(--sbb-spacing-fixed-8x));--sbb-menu-min-height: 3.03125rem;--sbb-menu-border-radius: var(--sbb-border-radius-4x);--sbb-menu-visibility: hidden;--sbb-menu-backdrop-color: transparent}@media (min-width: 52.5rem){:host{--sbb-menu-transform: translateY(var(--sbb-spacing-fixed-2x));--sbb-menu-max-width: 20rem;--sbb-menu-min-width: 11.25rem}}:host(:is([data-state=opened],[data-state=opening])){--sbb-menu-visibility: visible;--sbb-menu-backdrop-color: var(--sbb-color-black-alpha-20)}@media (min-width: 52.5rem){:host(:is([data-state=opened],[data-state=opening])){--sbb-menu-backdrop-color: transparent}}:host(:not([data-state=closed])){--sbb-menu-inset: 0}::slotted(:not(sbb-menu-button,sbb-menu-link,sbb-divider)){display:block;padding-inline:var(--sbb-spacing-fixed-5x)}::slotted(sbb-divider){--sbb-divider-color: var(--sbb-color-iron);margin-block:var(--sbb-spacing-fixed-2x)}.sbb-menu__container{position:fixed;pointer-events:none;inset:var(--sbb-menu-inset);height:var(--sbb-menu-container-height);z-index:var(--sbb-menu-z-index, var(--sbb-overlay-default-z-index))}.sbb-menu__container:before{content:"";visibility:var(--sbb-menu-visibility);pointer-events:all;position:fixed;inset:var(--sbb-menu-inset);height:var(--sbb-menu-container-height);background-color:var(--sbb-menu-backdrop-color);transition-duration:var(--sbb-menu-animation-duration);transition-timing-function:var(--sbb-menu-animation-easing);transition-property:background-color,visibility}.sbb-menu{display:none;opacity:0;pointer-events:none;max-width:var(--sbb-menu-max-width);min-width:var(--sbb-menu-min-width);text-align:start;position:absolute;inset-inline-start:0;inset-block-start:unset;inset-block-end:0;inset-inline-end:unset;color:var(--sbb-color-white);border:none;border-radius:var(--sbb-menu-border-radius) var(--sbb-menu-border-radius) 0 0;background-color:var(--sbb-color-black);padding:0;overflow:hidden}:host([data-state]:not([data-state=closed])) .sbb-menu{display:block;opacity:1;pointer-events:all;animation-name:open;animation-duration:var(--sbb-menu-animation-duration);animation-timing-function:var(--sbb-menu-animation-easing)}:host([data-state][data-state=closing]) .sbb-menu{pointer-events:none;animation-name:close}@media (forced-colors: active){.sbb-menu{outline:var(--sbb-border-width-1x) solid CanvasText}}@media (min-width: 52.5rem){.sbb-menu{top:0;bottom:unset;left:0;right:unset;max-height:fit-content;border-radius:var(--sbb-menu-border-radius)}:host(:not([data-state=closed])) .sbb-menu{top:var(--sbb-menu-position-y);left:var(--sbb-menu-position-x);max-height:var(--sbb-menu-max-height);min-height:var(--sbb-menu-min-height)}}.sbb-menu__content{--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-menu__content::-webkit-scrollbar{width:var(--sbb-scrollbar-width);height:var(--sbb-scrollbar-width);background-color:var(--sbb-scrollbar-track-color, transparent)}.sbb-menu__content::-webkit-scrollbar-corner{background-color:var(--sbb-scrollbar-track-color, transparent)}.sbb-menu__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-menu__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-menu__content::-webkit-scrollbar-button,.sbb-menu__content::-webkit-scrollbar-corner{display:none}@supports not selector(::-webkit-scrollbar){.sbb-menu__content{scrollbar-width:var(--sbb-scrollbar-width-firefox);scrollbar-color:var(--sbb-scrollbar-color, currentcolor) var(--sbb-scrollbar-track-color, transparent)}}.sbb-menu__content{max-height:var(--sbb-menu-max-height);padding-block:var(--sbb-spacing-fixed-1x);overflow:auto;outline:none}.sbb-menu__content:after{content:"";display:block;height:var(--sbb-spacing-fixed-8x)}@media (min-width: 52.5rem){.sbb-menu__content{max-height:fit-content}:host(:not([data-state=closed])) .sbb-menu__content{max-height:var(--sbb-menu-max-height);min-height:var(--sbb-menu-min-height)}.sbb-menu__content:after{display:none}}.sbb-menu-list{list-style:none;margin:0;padding:0;font-size:inherit}@keyframes open{0%{opacity:0;transform:var(--sbb-menu-transform)}to{opacity:1;transform:translateY(0)}}@keyframes close{0%{opacity:1;transform:translateY(0)}to{opacity:0;transform:var(--sbb-menu-transform)}}`, G = 8, J = [
19
19
  "A",
20
20
  "BUTTON",
21
21
  "SBB-BUTTON",
@@ -25,15 +25,17 @@ const Q = O`*,:before,:after{box-sizing:border-box}:host{display:contents;--sbb-
25
25
  "SBB-LINK-BUTTON",
26
26
  "SBB-BLOCK-LINK-BUTTON"
27
27
  ];
28
- let J = 0, me = (() => {
29
- var b, a;
30
- let n = [N("sbb-menu")], s, r = [], o, _ = q(H), g = [], v, p, f = [], w = [];
31
- return a = class extends _ {
28
+ let X = 0, ue = (() => {
29
+ var c, l;
30
+ let n = [N("sbb-menu"), z({
31
+ popover: "manual"
32
+ })], s, r = [], a, g = Z(H), _ = [], p, v, f = [], w = [];
33
+ return l = class extends g {
32
34
  constructor() {
33
35
  var e, t;
34
36
  super();
35
- x(this, b);
36
- this.listChildLocalNames = (d(this, g), ["sbb-menu-button", "sbb-menu-link"]), this._trigger = null, h(this, b, d(this, f, "")), this._menu = d(this, w), this._triggerElement = null, this._isPointerDownEventOnMenu = !1, this._focusHandler = new M(), this._scrollHandler = new F(), this._inertController = new K(this), this._mediaMatcher = new z(this, {
37
+ x(this, c);
38
+ this.listChildLocalNames = (d(this, _), ["sbb-menu-button", "sbb-menu-link"]), this._trigger = null, h(this, c, d(this, f, "")), this._menu = d(this, w), this._triggerElement = null, this._isPointerDownEventOnMenu = !1, this._focusHandler = new M(), this._scrollHandler = new F(), this._inertController = new K(this), this._mediaMatcher = new R(this, {
37
39
  [u]: (i) => {
38
40
  i && (this.state === "opening" || this.state === "opened") ? this._scrollHandler.disableScroll() : this._scrollHandler.enableScroll();
39
41
  }
@@ -59,17 +61,17 @@ let J = 0, me = (() => {
59
61
  * Used only if the menu automatically renders the actions inside as a list.
60
62
  */
61
63
  get listAccessibilityLabel() {
62
- return E(this, b);
64
+ return E(this, c);
63
65
  }
64
66
  set listAccessibilityLabel(e) {
65
- h(this, b, e);
67
+ h(this, c, e);
66
68
  }
67
69
  /**
68
70
  * Opens the menu on trigger click.
69
71
  */
70
72
  open() {
71
- var e;
72
- this.state === "closing" || !this._menu || this.willOpen.emit() && (this.state = "opening", this._setMenuPosition(), (e = this._triggerElement) == null || e.setAttribute("aria-expanded", "true"), this._mediaMatcher.matches(u) && this._scrollHandler.disableScroll(), this._isZeroAnimationDuration() && this._handleOpening());
73
+ var e, t;
74
+ this.state === "closing" || !this._menu || this.willOpen.emit() && ((e = this.showPopover) == null || e.call(this), this.state = "opening", this._setMenuPosition(), (t = this._triggerElement) == null || t.setAttribute("aria-expanded", "true"), this._mediaMatcher.matches(u) && this._scrollHandler.disableScroll(), this._isZeroAnimationDuration() && this._handleOpening());
73
75
  }
74
76
  /**
75
77
  * Closes the menu.
@@ -79,17 +81,17 @@ let J = 0, me = (() => {
79
81
  this.state !== "opening" && this.willClose.emit() && (this.state = "closing", (e = this._triggerElement) == null || e.setAttribute("aria-expanded", "false"), this._isZeroAnimationDuration() && this._handleClosing());
80
82
  }
81
83
  _isZeroAnimationDuration() {
82
- return U(this, "--sbb-menu-animation-duration");
84
+ return $(this, "--sbb-menu-animation-duration");
83
85
  }
84
86
  _handleOpening() {
85
87
  this.state = "opened", this._inertController.activate(), this._setMenuFocus(), this._focusHandler.trap(this), this._attachWindowEvents(), this.didOpen.emit();
86
88
  }
87
89
  _handleClosing() {
88
- var e, t, i, l;
89
- this.state = "closed", (t = (e = this._menu) == null ? void 0 : e.firstElementChild) == null || t.scrollTo(0, 0), this._inertController.deactivate(), A(this._triggerElement), (i = this._triggerElement) == null || i.focus({
90
+ var e, t, i, o, b;
91
+ this.state = "closed", (e = this.hidePopover) == null || e.call(this), (i = (t = this._menu) == null ? void 0 : t.firstElementChild) == null || i.scrollTo(0, 0), this._inertController.deactivate(), L(this._triggerElement), (o = this._triggerElement) == null || o.focus({
90
92
  // When inside the sbb-header, we prevent the scroll to avoid the snapping to the top of the page
91
93
  preventScroll: this._triggerElement.localName === "sbb-header-button" || this._triggerElement.localName === "sbb-header-link"
92
- }), this.didClose.emit(), (l = this._windowEventsController) == null || l.abort(), this._focusHandler.disconnect(), this._scrollHandler.enableScroll();
94
+ }), this.didClose.emit(), (b = this._windowEventsController) == null || b.abort(), this._focusHandler.disconnect(), this._scrollHandler.enableScroll();
93
95
  }
94
96
  /**
95
97
  * Handles click and checks if its target is a sbb-menu-button/sbb-menu-link.
@@ -102,8 +104,28 @@ let J = 0, me = (() => {
102
104
  if (!T(e))
103
105
  return;
104
106
  e.preventDefault();
105
- const t = Array.from(this.querySelectorAll("sbb-menu-button, sbb-menu-link")).filter((c) => (!c.disabled || c.disabledInteractive) && I.isVisible(c)), i = t.findIndex((c) => c === e.target), l = D(e, i, t.length);
106
- t[l].focus();
107
+ const t = Array.from(this.querySelectorAll("sbb-menu-button, sbb-menu-link")).filter((b) => (!b.disabled || b.disabledInteractive) && I.isVisible(b)), i = t.findIndex((b) => b === e.target);
108
+ let o;
109
+ switch (e.key) {
110
+ case "ArrowUp":
111
+ case "ArrowDown":
112
+ case "ArrowLeft":
113
+ case "ArrowRight":
114
+ o = P(e, i, t.length);
115
+ break;
116
+ case "PageUp":
117
+ case "Home":
118
+ o = 0;
119
+ break;
120
+ case "End":
121
+ case "PageDown":
122
+ o = t.length - 1;
123
+ break;
124
+ // this should never happen since all the case allowed by `isArrowKeyOrPageKeysPressed` should be covered
125
+ default:
126
+ o = 0;
127
+ }
128
+ t[o].focus();
107
129
  }
108
130
  // Closes the menu on "Esc" key pressed and traps focus within the menu.
109
131
  async _onKeydownEvent(e) {
@@ -114,8 +136,8 @@ let J = 0, me = (() => {
114
136
  }
115
137
  // Removes trigger click listener on trigger change.
116
138
  _removeTriggerClickListener(e, t) {
117
- var i, l;
118
- e !== t && ((i = this._menuController) == null || i.abort(), (l = this._windowEventsController) == null || l.abort(), this._configure(this.trigger));
139
+ var i, o;
140
+ e !== t && ((i = this._menuController) == null || i.abort(), (o = this._windowEventsController) == null || o.abort(), this._configure(this.trigger));
119
141
  }
120
142
  createRenderRoot() {
121
143
  var t;
@@ -138,7 +160,7 @@ let J = 0, me = (() => {
138
160
  // Check if the trigger is valid and attach click event listeners.
139
161
  _configure(e) {
140
162
  var t;
141
- Z(this._triggerElement), e && (this._triggerElement = $(e), this._triggerElement && (this.id = this.id || `sbb-menu-${J++}`, V(this._triggerElement, "menu", this.id, this.state), (t = this._menuController) == null || t.abort(), this._menuController = new AbortController(), this._triggerElement.addEventListener("click", () => this.open(), {
163
+ V(this._triggerElement), e && (this._triggerElement = Y(e), this._triggerElement && (this.id = this.id || `sbb-menu-${X++}`, j(this._triggerElement, "menu", this.id, this.state), (t = this._menuController) == null || t.abort(), this._menuController = new AbortController(), this._triggerElement.addEventListener("click", () => this.open(), {
142
164
  signal: this._menuController.signal
143
165
  })));
144
166
  }
@@ -163,7 +185,7 @@ let J = 0, me = (() => {
163
185
  // Close menu at any click on an interactive element inside the <sbb-menu> that bubbles to the container.
164
186
  _closeOnInteractiveElementClick(e) {
165
187
  const t = e.target;
166
- G.includes(t.nodeName) && !t.hasAttribute("disabled") && this.close();
188
+ J.includes(t.nodeName) && !t.hasAttribute("disabled") && this.close();
167
189
  }
168
190
  // Set menu position (x, y) to '0' once the menu is closed and the transition ended to prevent the
169
191
  // viewport from overflowing. And set the focus to the first focusable element once the menu is open.
@@ -174,15 +196,15 @@ let J = 0, me = (() => {
174
196
  }
175
197
  // Set focus on the first focusable element.
176
198
  _setMenuFocus() {
177
- const e = this.querySelector(P);
178
- A(e), e.focus();
199
+ const e = this.querySelector(D);
200
+ L(e), e.focus();
179
201
  }
180
202
  // Set menu position and max height if the breakpoint is medium-ultra.
181
203
  _setMenuPosition() {
182
204
  if ((this._mediaMatcher.matches(u) ?? !0) || !this._menu || !this._triggerElement || this.state === "closing")
183
205
  return;
184
- const e = j(this.shadowRoot.querySelector(".sbb-menu__content"), this._triggerElement, this.shadowRoot.querySelector(".sbb-menu__container"), {
185
- verticalOffset: W
206
+ const e = Q(this.shadowRoot.querySelector(".sbb-menu__content"), this._triggerElement, this.shadowRoot.querySelector(".sbb-menu__container"), {
207
+ verticalOffset: G
186
208
  });
187
209
  this.style.setProperty("--sbb-menu-position-x", `${e.left}px`), this.style.setProperty("--sbb-menu-position-y", `${e.top}px`), this.style.setProperty("--sbb-menu-max-height", e.maxHeight);
188
210
  }
@@ -196,7 +218,7 @@ let J = 0, me = (() => {
196
218
  >
197
219
  <div
198
220
  @click=${(e) => this._closeOnInteractiveElementClick(e)}
199
- @scroll=${(e) => Y(e, document)}
221
+ @scroll=${(e) => q(e, document)}
200
222
  class="sbb-menu__content"
201
223
  >
202
224
  ${this.listChildren.length ? this.renderList({ class: "sbb-menu-list", ariaLabel: this.listAccessibilityLabel }) : C`<slot></slot>`}
@@ -205,15 +227,15 @@ let J = 0, me = (() => {
205
227
  </div>
206
228
  `;
207
229
  }
208
- }, b = new WeakMap(), o = a, (() => {
209
- const e = typeof Symbol == "function" && Symbol.metadata ? Object.create(_[Symbol.metadata] ?? null) : void 0;
210
- v = [L()], p = [R(), L({ attribute: "list-accessibility-label" })], m(a, null, v, { kind: "setter", name: "trigger", static: !1, private: !1, access: { has: (t) => "trigger" in t, set: (t, i) => {
230
+ }, c = new WeakMap(), a = l, (() => {
231
+ const e = typeof Symbol == "function" && Symbol.metadata ? Object.create(g[Symbol.metadata] ?? null) : void 0;
232
+ p = [A()], v = [U(), A({ attribute: "list-accessibility-label" })], m(l, null, p, { kind: "setter", name: "trigger", static: !1, private: !1, access: { has: (t) => "trigger" in t, set: (t, i) => {
211
233
  t.trigger = i;
212
- } }, metadata: e }, null, g), m(a, null, p, { kind: "accessor", name: "listAccessibilityLabel", static: !1, private: !1, access: { has: (t) => "listAccessibilityLabel" in t, get: (t) => t.listAccessibilityLabel, set: (t, i) => {
234
+ } }, metadata: e }, null, _), m(l, null, v, { kind: "accessor", name: "listAccessibilityLabel", static: !1, private: !1, access: { has: (t) => "listAccessibilityLabel" in t, get: (t) => t.listAccessibilityLabel, set: (t, i) => {
213
235
  t.listAccessibilityLabel = i;
214
- } }, metadata: e }, f, w), m(null, s = { value: o }, n, { kind: "class", name: o.name, metadata: e }, null, r), o = s.value, e && Object.defineProperty(o, Symbol.metadata, { enumerable: !0, configurable: !0, writable: !0, value: e });
215
- })(), a.styles = Q, d(o, r), o;
236
+ } }, metadata: e }, f, w), m(null, s = { value: a }, n, { kind: "class", name: a.name, metadata: e }, null, r), a = s.value, e && Object.defineProperty(a, Symbol.metadata, { enumerable: !0, configurable: !0, writable: !0, value: e });
237
+ })(), l.styles = W, d(a, r), a;
216
238
  })();
217
239
  export {
218
- me as SbbMenuElement
240
+ ue as SbbMenuElement
219
241
  };
@@ -1 +1 @@
1
- {"version":3,"file":"navigation.d.ts","sourceRoot":"","sources":["../../../../src/elements/navigation/navigation/navigation.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,cAAc,EAAE,cAAc,EAAE,MAAM,KAAK,CAAC;AAM1D,OAAO,EAAE,uBAAuB,EAAE,MAAM,6BAA6B,CAAC;AAoBtE,OAAO,oCAAoC,CAAC;;AAW5C;;;;;;;;;;;GAWG;AACH,qBAKM,oBAAqB,SAAQ,yBAAgD;IACjF,OAAuB,MAAM,EAAE,cAAc,CAAS;IAEtD;;;OAGG;IACH,IACW,OAAO,CAAC,KAAK,EAAE,MAAM,GAAG,WAAW,GAAG,IAAI,EAIpD;IACD,IAAW,OAAO,IAAI,MAAM,GAAG,WAAW,GAAG,IAAI,CAEhD;IACD,OAAO,CAAC,QAAQ,CAAqC;IAErD;;OAEG;IACH,SAEgB,uBAAuB,EAAE,MAAM,CAAM;IAErD;;OAEG;IACM,OAAO,CAAC,QAAQ,CAAC,wBAAwB,CAA4B;IAE9E,IAAW,uBAAuB,IAAI,WAAW,GAAG,IAAI,CAEvD;IAED,OAAO,CAAC,WAAW,CAAkB;IACrC,OAAO,CAAC,yBAAyB,CAAe;IAChD,OAAO,CAAC,eAAe,CAA4B;IACnD,OAAO,CAAC,qBAAqB,CAAmB;IAChD,OAAO,CAAC,uBAAuB,CAAmB;IAClD,OAAO,CAAC,SAAS,CAAmC;IACpD,OAAO,CAAC,gBAAgB,CAAgC;IACxD,OAAO,CAAC,aAAa,CAAyB;IAC9C,OAAO,CAAC,cAAc,CAA0B;IAChD,OAAO,CAAC,+BAA+B,CAAkB;IACzD,OAAO,CAAC,sBAAsB,CAA8C;IAC5E,OAAO,CAAC,yBAAyB,CAG9B;;IAeH;;OAEG;IACI,IAAI,IAAI,IAAI;IAwBnB,OAAO,CAAC,mBAAmB;IAO3B,OAAO,CAAC,mBAAmB;IAO3B;;OAEG;IACI,KAAK,IAAI,IAAI;IAmBpB,OAAO,CAAC,wBAAwB;IAIhC,OAAO,CAAC,cAAc;IAkBtB,OAAO,CAAC,cAAc;IAYtB,OAAO,CAAC,2BAA2B;IAYnC,OAAO,CAAC,UAAU;IAqBlB,OAAO,CAAC,gBAAgB,CAEtB;IAIF,OAAO,CAAC,eAAe;IAQvB,OAAO,CAAC,aAAa;IASrB,OAAO,CAAC,mBAAmB;IAO3B,OAAO,CAAC,sBAAsB;IAS9B,OAAO,CAAC,eAAe;IAQvB,OAAO,CAAC,eAAe;IAOvB,OAAO,CAAC,mBAAmB;IAS3B,OAAO,CAAC,oBAAoB,CAS1B;IAGF,OAAO,CAAC,qBAAqB,CAI3B;IAGF,OAAO,CAAC,0BAA0B;IAWlC,OAAO,CAAC,mBAAmB;IAkBX,iBAAiB,IAAI,IAAI;IAMzB,oBAAoB,IAAI,IAAI;cAQzB,MAAM,IAAI,cAAc;CAqC5C;AAED,OAAO,CAAC,MAAM,CAAC;IACb,UAAU,qBAAqB;QAE7B,gBAAgB,EAAE,oBAAoB,CAAC;KACxC;CACF"}
1
+ {"version":3,"file":"navigation.d.ts","sourceRoot":"","sources":["../../../../src/elements/navigation/navigation/navigation.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,cAAc,EAAE,cAAc,EAAE,MAAM,KAAK,CAAC;AAM1D,OAAO,EAAE,uBAAuB,EAAE,MAAM,6BAA6B,CAAC;AAoBtE,OAAO,oCAAoC,CAAC;;AAW5C;;;;;;;;;;;GAWG;AACH,qBAMM,oBAAqB,SAAQ,yBAAgD;IACjF,OAAuB,MAAM,EAAE,cAAc,CAAS;IAEtD;;;OAGG;IACH,IACW,OAAO,CAAC,KAAK,EAAE,MAAM,GAAG,WAAW,GAAG,IAAI,EAIpD;IACD,IAAW,OAAO,IAAI,MAAM,GAAG,WAAW,GAAG,IAAI,CAEhD;IACD,OAAO,CAAC,QAAQ,CAAqC;IAErD;;OAEG;IACH,SAEgB,uBAAuB,EAAE,MAAM,CAAM;IAErD;;OAEG;IACM,OAAO,CAAC,QAAQ,CAAC,wBAAwB,CAA4B;IAE9E,IAAW,uBAAuB,IAAI,WAAW,GAAG,IAAI,CAEvD;IAED,OAAO,CAAC,WAAW,CAAkB;IACrC,OAAO,CAAC,yBAAyB,CAAe;IAChD,OAAO,CAAC,eAAe,CAA4B;IACnD,OAAO,CAAC,qBAAqB,CAAmB;IAChD,OAAO,CAAC,uBAAuB,CAAmB;IAClD,OAAO,CAAC,SAAS,CAAmC;IACpD,OAAO,CAAC,gBAAgB,CAAgC;IACxD,OAAO,CAAC,aAAa,CAAyB;IAC9C,OAAO,CAAC,cAAc,CAA0B;IAChD,OAAO,CAAC,+BAA+B,CAAkB;IACzD,OAAO,CAAC,sBAAsB,CAA8C;IAC5E,OAAO,CAAC,yBAAyB,CAG9B;;IAeH;;OAEG;IACI,IAAI,IAAI,IAAI;IA0BnB,OAAO,CAAC,mBAAmB;IAO3B,OAAO,CAAC,mBAAmB;IAO3B;;OAEG;IACI,KAAK,IAAI,IAAI;IAmBpB,OAAO,CAAC,wBAAwB;IAIhC,OAAO,CAAC,cAAc;IAmBtB,OAAO,CAAC,cAAc;IAYtB,OAAO,CAAC,2BAA2B;IAYnC,OAAO,CAAC,UAAU;IAqBlB,OAAO,CAAC,gBAAgB,CAEtB;IAIF,OAAO,CAAC,eAAe;IAQvB,OAAO,CAAC,aAAa;IASrB,OAAO,CAAC,mBAAmB;IAO3B,OAAO,CAAC,sBAAsB;IAS9B,OAAO,CAAC,eAAe;IAQvB,OAAO,CAAC,eAAe;IAOvB,OAAO,CAAC,mBAAmB;IAS3B,OAAO,CAAC,oBAAoB,CAS1B;IAGF,OAAO,CAAC,qBAAqB,CAI3B;IAGF,OAAO,CAAC,0BAA0B;IAWlC,OAAO,CAAC,mBAAmB;IAkBX,iBAAiB,IAAI,IAAI;IAMzB,oBAAoB,IAAI,IAAI;cAQzB,MAAM,IAAI,cAAc;CAqC5C;AAED,OAAO,CAAC,MAAM,CAAC;IACb,UAAU,qBAAqB;QAE7B,gBAAgB,EAAE,oBAAoB,CAAC;KACxC;CACF"}
@@ -4,11 +4,11 @@ import { SbbButtonBaseElement as c } from "../core/base-elements.js";
4
4
  import { SbbNavigationActionCommonElementMixin as u } from "./common.js";
5
5
  let p = (() => {
6
6
  var e;
7
- let n = [m("sbb-navigation-button")], l, o = [], t, i = u(c);
8
- return e = class extends i {
7
+ let i = [m("sbb-navigation-button")], l, n = [], t, o = u(c);
8
+ return e = class extends o {
9
9
  }, t = e, (() => {
10
- const a = typeof Symbol == "function" && Symbol.metadata ? Object.create(i[Symbol.metadata] ?? null) : void 0;
11
- r(null, l = { value: t }, n, { kind: "class", name: t.name, metadata: a }, null, o), t = l.value, a && Object.defineProperty(t, Symbol.metadata, { enumerable: !0, configurable: !0, writable: !0, value: a }), s(t, o);
10
+ const a = typeof Symbol == "function" && Symbol.metadata ? Object.create(o[Symbol.metadata] ?? null) : void 0;
11
+ r(null, l = { value: t }, i, { kind: "class", name: t.name, metadata: a }, null, n), t = l.value, a && Object.defineProperty(t, Symbol.metadata, { enumerable: !0, configurable: !0, writable: !0, value: a }), s(t, n);
12
12
  })(), t;
13
13
  })();
14
14
  export {
@@ -1,15 +1,15 @@
1
- import { __esDecorate as r, __runInitializers as s } from "tslib";
1
+ import { __esDecorate as o, __runInitializers as s } from "tslib";
2
2
  import { customElement as m } from "lit/decorators.js";
3
3
  import { SbbLinkBaseElement as c } from "../core/base-elements.js";
4
4
  import { SbbNavigationActionCommonElementMixin as b } from "./common.js";
5
5
  let p = (() => {
6
- var e;
7
- let o = [m("sbb-navigation-link")], l, i = [], t, n = b(c);
8
- return e = class extends n {
9
- }, t = e, (() => {
6
+ var t;
7
+ let r = [m("sbb-navigation-link")], l, i = [], e, n = b(c);
8
+ return t = class extends n {
9
+ }, e = t, (() => {
10
10
  const a = typeof Symbol == "function" && Symbol.metadata ? Object.create(n[Symbol.metadata] ?? null) : void 0;
11
- r(null, l = { value: t }, o, { kind: "class", name: t.name, metadata: a }, null, i), t = l.value, a && Object.defineProperty(t, Symbol.metadata, { enumerable: !0, configurable: !0, writable: !0, value: a }), s(t, i);
12
- })(), t;
11
+ o(null, l = { value: e }, r, { kind: "class", name: e.name, metadata: a }, null, i), e = l.value, a && Object.defineProperty(e, Symbol.metadata, { enumerable: !0, configurable: !0, writable: !0, value: a }), s(e, i);
12
+ })(), e;
13
13
  })();
14
14
  export {
15
15
  p as SbbNavigationLinkElement
@@ -3,7 +3,7 @@ var p = (t) => {
3
3
  };
4
4
  var g = (t, e, a) => e.has(t) || p("Cannot " + a);
5
5
  var h = (t, e, a) => (g(t, e, "read from private field"), a ? a.call(t) : e.get(t)), _ = (t, e, a) => e.has(t) ? p("Cannot add the same private member more than once") : e instanceof WeakSet ? e.add(t) : e.set(t, a), r = (t, e, a, i) => (g(t, e, "write to private field"), i ? i.call(t, a) : e.set(t, a), a);
6
- import { __esDecorate as v, __runInitializers as b } from "tslib";
6
+ import { __esDecorate as u, __runInitializers as b } from "tslib";
7
7
  import { css as y, LitElement as x, html as z } from "lit";
8
8
  import { customElement as k, property as S } from "lit/decorators.js";
9
9
  import { slotState as L, forceType as E, omitEmptyConverter as w } from "../core/decorators.js";
@@ -47,9 +47,9 @@ let A = (() => {
47
47
  }
48
48
  }, o = new WeakMap(), i = s, (() => {
49
49
  const l = typeof Symbol == "function" && Symbol.metadata ? Object.create(c[Symbol.metadata] ?? null) : void 0;
50
- m = [E(), S({ reflect: !0, converter: w })], v(s, null, m, { kind: "accessor", name: "label", static: !1, private: !1, access: { has: (n) => "label" in n, get: (n) => n.label, set: (n, u) => {
51
- n.label = u;
52
- } }, metadata: l }, d, f), v(null, e = { value: i }, t, { kind: "class", name: i.name, metadata: l }, null, a), i = e.value, l && Object.defineProperty(i, Symbol.metadata, { enumerable: !0, configurable: !0, writable: !0, value: l });
50
+ m = [E(), S({ reflect: !0, converter: w })], u(s, null, m, { kind: "accessor", name: "label", static: !1, private: !1, access: { has: (n) => "label" in n, get: (n) => n.label, set: (n, v) => {
51
+ n.label = v;
52
+ } }, metadata: l }, d, f), u(null, e = { value: i }, t, { kind: "class", name: i.name, metadata: l }, null, a), i = e.value, l && Object.defineProperty(i, Symbol.metadata, { enumerable: !0, configurable: !0, writable: !0, value: l });
53
53
  })(), s.styles = I, b(i, a), i;
54
54
  })();
55
55
  export {
@@ -12,7 +12,7 @@ import { SbbNamedSlotListMixin as C } from "../core/mixins.js";
12
12
  const M = _`*,:before,:after{box-sizing:border-box}:host{--sbb-navigation-action-gap: var(--sbb-spacing-responsive-xs);--sbb-navigation-marker-position-x: var(--sbb-spacing-fixed-1x);--sbb-navigation-marker-position-y: unset;--sbb-navigation-marker-width: 1.0625rem;--sbb-navigation-marker-border: var(--sbb-border-width-1x);--sbb-navigation-marker-padding-inline-start: var(--sbb-spacing-fixed-6x);--sbb-navigation-marker-typo-line-height: var(--sbb-typo-line-height-titles);--sbb-navigation-margin-inline-start: var(--sbb-spacing-fixed-3x);--sbb-navigation-marker-margin-block: calc( 1em * var(--sbb-navigation-marker-typo-line-height) / 2 - var(--sbb-navigation-marker-border) / 2 );display:block}:host([size=s]){--sbb-navigation-action-gap: var(--sbb-spacing-fixed-2x);--sbb-navigation-marker-width: .5rem;--sbb-navigation-marker-typo-line-height: var(--sbb-typo-line-height-body-text);--sbb-navigation-margin-inline-start: var(--sbb-spacing-fixed-2x);--sbb-navigation-marker-position-x: calc( var(--sbb-navigation-marker-padding-inline-start) - var(--sbb-spacing-fixed-2x) );--sbb-navigation-marker-padding-inline-start: calc( var(--sbb-spacing-fixed-6x) + var(--sbb-spacing-fixed-1x) )}.sbb-navigation-marker{list-style:none;padding:0;font-size:inherit;--sbb-title-line-height: var(--sbb-typo-line-height-titles);--sbb-title-margin-block-start: 0;--sbb-title-margin-block-end: 0;margin:0;margin-block:var(--sbb-title-margin-block-start) var(--sbb-title-margin-block-end);font-family:var(--sbb-typo-font-family);font-weight:700;line-height:var(--sbb-title-line-height);letter-spacing:var(--sbb-typo-letter-spacing-titles);font-size:var(--sbb-title-font-size);--sbb-title-font-size: var(--sbb-font-size-title-4);position:relative;display:flex;flex-direction:column;align-items:flex-start;gap:var(--sbb-navigation-action-gap);padding-inline-start:var(--sbb-navigation-marker-padding-inline-start)}.sbb-navigation-marker:before{content:"";position:absolute;opacity:0;inset-inline-start:var(--sbb-navigation-marker-position-x);inset-block-start:var(--sbb-navigation-marker-position-y);width:var(--sbb-navigation-marker-width);border-block-start:var(--sbb-navigation-marker-border) solid var(--sbb-color-storm);margin-block:var(--sbb-navigation-marker-margin-block);transition-duration:var(--sbb-disable-animation-duration, var(--sbb-animation-duration-6x));transition-timing-function:ease;transition-property:opacity,inset-block-start}:host([data-has-active-action]) .sbb-navigation-marker:before{opacity:1}@media (forced-colors: active){.sbb-navigation-marker:before{border-color:CanvasText}}:host([size=s]) .sbb-navigation-marker{--sbb-text-font-size: var(--sbb-font-size-text-xxs);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}::slotted(:is(sbb-navigation-button,sbb-navigation-link)){margin-inline-start:var(--sbb-navigation-margin-inline-start)}`;
13
13
  let O = (() => {
14
14
  var o, n;
15
- let i = [z("sbb-navigation-marker")], e, a = [], s, v = C(A), g, m = [], d = [];
15
+ let i = [z("sbb-navigation-marker")], e, a = [], s, v = C(A), g, d = [], m = [];
16
16
  return n = class extends v {
17
17
  constructor() {
18
18
  super();
@@ -20,7 +20,7 @@ let O = (() => {
20
20
  this.listChildLocalNames = [
21
21
  "sbb-navigation-button",
22
22
  "sbb-navigation-link"
23
- ], l(this, o, c(this, m, S() ? "s" : "l")), this._currentActiveAction = c(this, d), new y(this, {
23
+ ], l(this, o, c(this, d, S() ? "s" : "l")), this._currentActiveAction = c(this, m), new y(this, {
24
24
  skipInitial: !0,
25
25
  callback: () => this._setMarkerPosition()
26
26
  });
@@ -74,7 +74,7 @@ let O = (() => {
74
74
  const t = typeof Symbol == "function" && Symbol.metadata ? Object.create(v[Symbol.metadata] ?? null) : void 0;
75
75
  g = [w({ reflect: !0 })], x(n, null, g, { kind: "accessor", name: "size", static: !1, private: !1, access: { has: (r) => "size" in r, get: (r) => r.size, set: (r, b) => {
76
76
  r.size = b;
77
- } }, metadata: t }, m, d), x(null, e = { value: s }, i, { kind: "class", name: s.name, metadata: t }, null, a), s = e.value, t && Object.defineProperty(s, Symbol.metadata, { enumerable: !0, configurable: !0, writable: !0, value: t });
77
+ } }, metadata: t }, d, m), x(null, e = { value: s }, i, { kind: "class", name: s.name, metadata: t }, null, a), s = e.value, t && Object.defineProperty(s, Symbol.metadata, { enumerable: !0, configurable: !0, writable: !0, value: t });
78
78
  })(), n.styles = M, c(s, a), s;
79
79
  })();
80
80
  export {
@@ -2,23 +2,23 @@ var A = (e) => {
2
2
  throw TypeError(e);
3
3
  };
4
4
  var O = (e, o, s) => o.has(e) || A("Cannot " + s);
5
- var h = (e, o, s) => (O(e, o, "read from private field"), s ? s.call(e) : o.get(e)), m = (e, o, s) => o.has(e) ? A("Cannot add the same private member more than once") : o instanceof WeakSet ? o.add(e) : o.set(e, s), g = (e, o, s, r) => (O(e, o, "write to private field"), r ? r.call(e, s) : o.set(e, s), s);
6
- import { __esDecorate as d, __runInitializers as v } from "tslib";
5
+ var h = (e, o, s) => (O(e, o, "read from private field"), s ? s.call(e) : o.get(e)), m = (e, o, s) => o.has(e) ? A("Cannot add the same private member more than once") : o instanceof WeakSet ? o.add(e) : o.set(e, s), d = (e, o, s, r) => (O(e, o, "write to private field"), r ? r.call(e, s) : o.set(e, s), s);
6
+ import { __esDecorate as g, __runInitializers as v } from "tslib";
7
7
  import { MutationController as D } from "@lit-labs/observers/mutation-controller.js";
8
8
  import { ResizeController as H } from "@lit-labs/observers/resize-controller.js";
9
9
  import { css as B, html as z } from "lit";
10
- import { customElement as F, property as L, state as R } from "lit/decorators.js";
10
+ import { customElement as F, property as L, state as P } from "lit/decorators.js";
11
11
  import { ref as T } from "lit/directives/ref.js";
12
- import { SbbFocusHandler as q, setModalityOnNextFocus as I } from "../core/a11y.js";
13
- import { SbbOpenCloseBaseElement as M } from "../core/base-elements.js";
14
- import { SbbLanguageController as P, SbbInertController as U } from "../core/controllers.js";
12
+ import { SbbFocusHandler as R, setModalityOnNextFocus as I } from "../core/a11y.js";
13
+ import { SbbOpenCloseBaseElement as q } from "../core/base-elements.js";
14
+ import { SbbLanguageController as M, SbbInertController as U } from "../core/controllers.js";
15
15
  import { hostAttributes as $, forceType as X } from "../core/decorators.js";
16
16
  import { SbbScrollHandler as Z, isZeroAnimationDuration as j, findReferencedElement as V } from "../core/dom.js";
17
17
  import { i18nCloseNavigation as G } from "../core/i18n.js";
18
18
  import { SbbUpdateSchedulerMixin as K } from "../core/mixins.js";
19
19
  import { isEventOnElement as u, removeAriaOverlayTriggerAttributes as W, setAriaOverlayTriggerAttributes as J } from "../core/overlay.js";
20
20
  import "../button/transparent-button.js";
21
- const Q = B`*,:before,:after{box-sizing:border-box}:host{--sbb-navigation-grid-column: 1 / 5;--sbb-navigation-animation-duration: var( --sbb-disable-animation-duration, 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: 100dvh;--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}@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-duration, 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: 100dvw;--sbb-navigation-content-transform: translateX(0%)}}:host([data-resize-disable-animation]){--sbb-disable-animation-duration: 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%)}}`, Y = {
21
+ const Q = B`*,:before,:after{box-sizing:border-box}:host{--sbb-navigation-grid-column: 1 / 5;--sbb-navigation-animation-duration: var( --sbb-disable-animation-duration, 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: 100dvh;--sbb-focus-outline-color: var(--sbb-focus-outline-color-dark);display:none;position:fixed;inset:var(--sbb-navigation-inset);z-index:var(--sbb-navigation-z-index, var(--sbb-overlay-default-z-index));overflow:hidden}@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-duration, 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]:not([data-state=closed])){display:block}: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: 100dvw;--sbb-navigation-content-transform: translateX(0%)}}:host([data-resize-disable-animation]){--sbb-disable-animation-duration: 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%)}}`, Y = {
22
22
  subtree: !0,
23
23
  attributeFilter: ["data-state"]
24
24
  };
@@ -27,15 +27,16 @@ const it = 150;
27
27
  let ft = (() => {
28
28
  var l, c, b;
29
29
  let e = [F("sbb-navigation"), $({
30
- role: "navigation"
31
- })], o, s = [], r, p = K(M), _ = [], f, w, k = [], y = [], C, E = [], x = [];
30
+ role: "navigation",
31
+ popover: "manual"
32
+ })], o, s = [], r, p = K(q), _ = [], f, w, k = [], y = [], C, E = [], x = [];
32
33
  return b = class extends p {
33
34
  constructor() {
34
35
  var t, i, a;
35
36
  super();
36
37
  m(this, l);
37
38
  m(this, c);
38
- this._trigger = (v(this, _), null), g(this, l, v(this, k, "")), g(this, c, (v(this, y), v(this, E, null))), this._navigation = v(this, x), this._triggerElement = null, this._language = new P(this), this._inertController = new U(this), this._focusHandler = new q(), this._scrollHandler = new Z(), this._isPointerDownEventOnNavigation = !1, this._resizeObserverTimeout = null, this._navigationResizeObserver = new H(this, {
39
+ this._trigger = (v(this, _), null), d(this, l, v(this, k, "")), d(this, c, (v(this, y), v(this, E, null))), this._navigation = v(this, x), this._triggerElement = null, this._language = new M(this), this._inertController = new U(this), this._focusHandler = new R(), this._scrollHandler = new Z(), this._isPointerDownEventOnNavigation = !1, this._resizeObserverTimeout = null, this._navigationResizeObserver = new H(this, {
39
40
  skipInitial: !0,
40
41
  callback: () => this._onNavigationResize()
41
42
  }), this._trapFocusFilter = (n) => n.nodeName !== "SBB-NAVIGATION-SECTION" || n.getAttribute("data-state") === "opened", this._pointerDownListener = (n) => {
@@ -67,7 +68,7 @@ let ft = (() => {
67
68
  return h(this, l);
68
69
  }
69
70
  set accessibilityCloseLabel(t) {
70
- g(this, l, t);
71
+ d(this, l, t);
71
72
  }
72
73
  /**
73
74
  * Whether a navigation section is displayed.
@@ -76,7 +77,7 @@ let ft = (() => {
76
77
  return h(this, c);
77
78
  }
78
79
  set _activeNavigationSection(t) {
79
- g(this, c, t);
80
+ d(this, c, t);
80
81
  }
81
82
  get activeNavigationSection() {
82
83
  return this._activeNavigationSection;
@@ -85,8 +86,8 @@ let ft = (() => {
85
86
  * Opens the navigation.
86
87
  */
87
88
  open() {
88
- var t;
89
- this.state !== "closed" || !this._navigation || this.willOpen.emit() && (this.state = "opening", this._checkActiveActions(), this._checkActiveSection(), this.startUpdate(), this._scrollHandler.disableScroll(), (t = this._triggerElement) == null || t.setAttribute("aria-expanded", "true"), this._isZeroAnimationDuration() && this._handleOpening());
89
+ var t, i;
90
+ this.state !== "closed" || !this._navigation || this.willOpen.emit() && ((t = this.showPopover) == null || t.call(this), this.state = "opening", this._checkActiveActions(), this._checkActiveSection(), this.startUpdate(), this._scrollHandler.disableScroll(), (i = this._triggerElement) == null || i.setAttribute("aria-expanded", "true"), this._isZeroAnimationDuration() && this._handleOpening());
90
91
  }
91
92
  _checkActiveSection() {
92
93
  var i;
@@ -111,8 +112,8 @@ let ft = (() => {
111
112
  return j(this, "--sbb-navigation-animation-duration");
112
113
  }
113
114
  _handleClosing() {
114
- var t, i;
115
- this.state = "closed", this._navigationContentElement.scrollTo(0, 0), I(this._triggerElement), this._inertController.deactivate(), (t = this._triggerElement) == null || t.focus(), this.didClose.emit(), this._navigationResizeObserver.unobserve(this), this._resetMarkers(), (i = this._windowEventsController) == null || i.abort(), this._focusHandler.disconnect(), this._scrollHandler.enableScroll(), this.completeUpdate();
115
+ var t, i, a;
116
+ this.state = "closed", (t = this.hidePopover) == null || t.call(this), this._navigationContentElement.scrollTo(0, 0), I(this._triggerElement), this._inertController.deactivate(), (i = this._triggerElement) == null || i.focus(), this.didClose.emit(), this._navigationResizeObserver.unobserve(this), this._resetMarkers(), (a = this._windowEventsController) == null || a.abort(), this._focusHandler.disconnect(), this._scrollHandler.enableScroll(), this.completeUpdate();
116
117
  }
117
118
  _handleOpening() {
118
119
  this.state = "opened", this._navigationResizeObserver.observe(this), this._inertController.activate(), this._focusHandler.trap(this, { filter: this._trapFocusFilter }), this._attachWindowEvents(), this._setNavigationFocus(), this.completeUpdate(), this.didOpen.emit();
@@ -214,13 +215,13 @@ let ft = (() => {
214
215
  }
215
216
  }, l = new WeakMap(), c = new WeakMap(), r = b, (() => {
216
217
  const t = typeof Symbol == "function" && Symbol.metadata ? Object.create(p[Symbol.metadata] ?? null) : void 0;
217
- f = [L()], w = [X(), L({ attribute: "accessibility-close-label" })], C = [R()], d(b, null, f, { kind: "setter", name: "trigger", static: !1, private: !1, access: { has: (i) => "trigger" in i, set: (i, a) => {
218
+ f = [L()], w = [X(), L({ attribute: "accessibility-close-label" })], C = [P()], g(b, null, f, { kind: "setter", name: "trigger", static: !1, private: !1, access: { has: (i) => "trigger" in i, set: (i, a) => {
218
219
  i.trigger = a;
219
- } }, metadata: t }, null, _), d(b, null, w, { kind: "accessor", name: "accessibilityCloseLabel", static: !1, private: !1, access: { has: (i) => "accessibilityCloseLabel" in i, get: (i) => i.accessibilityCloseLabel, set: (i, a) => {
220
+ } }, metadata: t }, null, _), g(b, null, w, { kind: "accessor", name: "accessibilityCloseLabel", static: !1, private: !1, access: { has: (i) => "accessibilityCloseLabel" in i, get: (i) => i.accessibilityCloseLabel, set: (i, a) => {
220
221
  i.accessibilityCloseLabel = a;
221
- } }, metadata: t }, k, y), d(b, null, C, { kind: "accessor", name: "_activeNavigationSection", static: !1, private: !1, access: { has: (i) => "_activeNavigationSection" in i, get: (i) => i._activeNavigationSection, set: (i, a) => {
222
+ } }, metadata: t }, k, y), g(b, null, C, { kind: "accessor", name: "_activeNavigationSection", static: !1, private: !1, access: { has: (i) => "_activeNavigationSection" in i, get: (i) => i._activeNavigationSection, set: (i, a) => {
222
223
  i._activeNavigationSection = a;
223
- } }, metadata: t }, E, x), d(null, o = { value: r }, e, { kind: "class", name: r.name, metadata: t }, null, s), r = o.value, t && Object.defineProperty(r, Symbol.metadata, { enumerable: !0, configurable: !0, writable: !0, value: t });
224
+ } }, metadata: t }, E, x), g(null, o = { value: r }, e, { kind: "class", name: r.name, metadata: t }, null, s), r = o.value, t && Object.defineProperty(r, Symbol.metadata, { enumerable: !0, configurable: !0, writable: !0, value: t });
224
225
  })(), b.styles = Q, v(r, s), r;
225
226
  })();
226
227
  export {
package/notification.js CHANGED
@@ -1,8 +1,8 @@
1
1
  var B = (e) => {
2
2
  throw TypeError(e);
3
3
  };
4
- var M = (e, a, n) => a.has(e) || B("Cannot " + n);
5
- var c = (e, a, n) => (M(e, a, "read from private field"), n ? n.call(e) : a.get(e)), d = (e, a, n) => a.has(e) ? B("Cannot add the same private member more than once") : a instanceof WeakSet ? a.add(e) : a.set(e, n), s = (e, a, n, l) => (M(e, a, "write to private field"), l ? l.call(e, n) : a.set(e, n), n);
4
+ var M = (e, a, o) => a.has(e) || B("Cannot " + o);
5
+ var c = (e, a, o) => (M(e, a, "read from private field"), o ? o.call(e) : a.get(e)), d = (e, a, o) => a.has(e) ? B("Cannot add the same private member more than once") : a instanceof WeakSet ? a.add(e) : a.set(e, o), s = (e, a, o, l) => (M(e, a, "write to private field"), l ? l.call(e, o) : a.set(e, o), o);
6
6
  import { __runInitializers as r, __esDecorate as f } from "tslib";
7
7
  import { ResizeController as F } from "@lit-labs/observers/resize-controller.js";
8
8
  import { css as G, html as P, nothing as J, LitElement as K } from "lit";
@@ -21,11 +21,11 @@ const ei = G`*,:before,:after{box-sizing:border-box}:host{--sbb-notification-mar
21
21
  ["success", "circle-tick-small"],
22
22
  ["warn", "circle-exclamation-point-small"],
23
23
  ["error", "circle-cross-small"]
24
- ]), oi = 150;
24
+ ]), ni = 150;
25
25
  let yi = (() => {
26
- var m, p, v, _, g, u, o;
27
- let e = [Q("sbb-notification"), W()], a, n = [], l, w = K, z, k = [], C = [], O, E = [], L = [], N, T = [], A = [], I, S = [], $ = [], D, R = [], H = [], Z, U = [], j = [];
28
- var h = (o = class extends w {
26
+ var m, p, v, _, g, u, n;
27
+ let e = [Q("sbb-notification"), W()], a, o = [], l, w = K, z, k = [], C = [], O, E = [], L = [], N, T = [], A = [], I, S = [], $ = [], D, R = [], H = [], Z, U = [], j = [];
28
+ var h = (n = class extends w {
29
29
  constructor() {
30
30
  super(...arguments);
31
31
  d(this, m);
@@ -119,7 +119,7 @@ let yi = (() => {
119
119
  this.style.setProperty("--sbb-notification-height", t);
120
120
  }
121
121
  _onNotificationResize() {
122
- this._state === "opened" && (this._resizeObserverTimeout && clearTimeout(this._resizeObserverTimeout), this.toggleAttribute("data-resize-disable-animation", !0), this._resizeObserverTimeout = setTimeout(() => this.removeAttribute("data-resize-disable-animation"), oi), setTimeout(() => this._setNotificationHeight()));
122
+ this._state === "opened" && (this._resizeObserverTimeout && clearTimeout(this._resizeObserverTimeout), this.toggleAttribute("data-resize-disable-animation", !0), this._resizeObserverTimeout = setTimeout(() => this.removeAttribute("data-resize-disable-animation"), ni), setTimeout(() => this._setNotificationHeight()));
123
123
  }
124
124
  _onNotificationAnimationEnd(t) {
125
125
  this._state === "opening" && t.animationName === "open" && this._handleOpening(), this._state === "closing" && t.animationName === "close-height" && this._handleClosing();
@@ -164,27 +164,27 @@ let yi = (() => {
164
164
  </div>
165
165
  `;
166
166
  }
167
- }, m = new WeakMap(), p = new WeakMap(), v = new WeakMap(), _ = new WeakMap(), g = new WeakMap(), u = new WeakMap(), l = o, (() => {
167
+ }, m = new WeakMap(), p = new WeakMap(), v = new WeakMap(), _ = new WeakMap(), g = new WeakMap(), u = new WeakMap(), l = n, (() => {
168
168
  const t = typeof Symbol == "function" && Symbol.metadata ? Object.create(w[Symbol.metadata] ?? null) : void 0;
169
- z = [y({ reflect: !0 })], O = [q(), y({ attribute: "title-content", reflect: !0, converter: X })], N = [y({ attribute: "title-level" })], I = [q(), y({ reflect: !0, type: Boolean })], D = [y({ reflect: !0 })], Z = [y({ reflect: !0 })], f(o, null, z, { kind: "accessor", name: "type", static: !1, private: !1, access: { has: (i) => "type" in i, get: (i) => i.type, set: (i, b) => {
169
+ z = [y({ reflect: !0 })], O = [q(), y({ attribute: "title-content", reflect: !0, converter: X })], N = [y({ attribute: "title-level" })], I = [q(), y({ reflect: !0, type: Boolean })], D = [y({ reflect: !0 })], Z = [y({ reflect: !0 })], f(n, null, z, { kind: "accessor", name: "type", static: !1, private: !1, access: { has: (i) => "type" in i, get: (i) => i.type, set: (i, b) => {
170
170
  i.type = b;
171
- } }, metadata: t }, k, C), f(o, null, O, { kind: "accessor", name: "titleContent", static: !1, private: !1, access: { has: (i) => "titleContent" in i, get: (i) => i.titleContent, set: (i, b) => {
171
+ } }, metadata: t }, k, C), f(n, null, O, { kind: "accessor", name: "titleContent", static: !1, private: !1, access: { has: (i) => "titleContent" in i, get: (i) => i.titleContent, set: (i, b) => {
172
172
  i.titleContent = b;
173
- } }, metadata: t }, E, L), f(o, null, N, { kind: "accessor", name: "titleLevel", static: !1, private: !1, access: { has: (i) => "titleLevel" in i, get: (i) => i.titleLevel, set: (i, b) => {
173
+ } }, metadata: t }, E, L), f(n, null, N, { kind: "accessor", name: "titleLevel", static: !1, private: !1, access: { has: (i) => "titleLevel" in i, get: (i) => i.titleLevel, set: (i, b) => {
174
174
  i.titleLevel = b;
175
- } }, metadata: t }, T, A), f(o, null, I, { kind: "accessor", name: "readonly", static: !1, private: !1, access: { has: (i) => "readonly" in i, get: (i) => i.readonly, set: (i, b) => {
175
+ } }, metadata: t }, T, A), f(n, null, I, { kind: "accessor", name: "readonly", static: !1, private: !1, access: { has: (i) => "readonly" in i, get: (i) => i.readonly, set: (i, b) => {
176
176
  i.readonly = b;
177
- } }, metadata: t }, S, $), f(o, null, D, { kind: "accessor", name: "size", static: !1, private: !1, access: { has: (i) => "size" in i, get: (i) => i.size, set: (i, b) => {
177
+ } }, metadata: t }, S, $), f(n, null, D, { kind: "accessor", name: "size", static: !1, private: !1, access: { has: (i) => "size" in i, get: (i) => i.size, set: (i, b) => {
178
178
  i.size = b;
179
- } }, metadata: t }, R, H), f(o, null, Z, { kind: "accessor", name: "animation", static: !1, private: !1, access: { has: (i) => "animation" in i, get: (i) => i.animation, set: (i, b) => {
179
+ } }, metadata: t }, R, H), f(n, null, Z, { kind: "accessor", name: "animation", static: !1, private: !1, access: { has: (i) => "animation" in i, get: (i) => i.animation, set: (i, b) => {
180
180
  i.animation = b;
181
- } }, metadata: t }, U, j), f(null, a = { value: l }, e, { kind: "class", name: l.name, metadata: t }, null, n), h = l = a.value, t && Object.defineProperty(l, Symbol.metadata, { enumerable: !0, configurable: !0, writable: !0, value: t });
182
- })(), o.styles = ei, o.events = {
181
+ } }, metadata: t }, U, j), f(null, a = { value: l }, e, { kind: "class", name: l.name, metadata: t }, null, o), h = l = a.value, t && Object.defineProperty(l, Symbol.metadata, { enumerable: !0, configurable: !0, writable: !0, value: t });
182
+ })(), n.styles = ei, n.events = {
183
183
  willOpen: "willOpen",
184
184
  didOpen: "didOpen",
185
185
  willClose: "willClose",
186
186
  didClose: "didClose"
187
- }, r(l, n), o);
187
+ }, r(l, o), n);
188
188
  return h = l;
189
189
  })();
190
190
  export {