@sbb-esta/lyne-elements 3.7.0 → 3.9.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 (414) hide show
  1. package/alert/alert/alert.component.d.ts +2 -0
  2. package/alert/alert/alert.component.d.ts.map +1 -1
  3. package/alert/alert/alert.component.js +44 -39
  4. package/autocomplete/autocomplete-base-element.js +20 -20
  5. package/autocomplete-grid/autocomplete-grid-button/autocomplete-grid-button.component.js +14 -14
  6. package/autocomplete-grid/autocomplete-grid-option/autocomplete-grid-option.component.js +1 -1
  7. package/autocomplete-grid/autocomplete-grid-row/autocomplete-grid-row.component.js +9 -9
  8. package/badge.css +2 -2
  9. package/breadcrumb/breadcrumb/breadcrumb.component.js +12 -12
  10. package/breadcrumb/breadcrumb-group/breadcrumb-group.component.js +15 -15
  11. package/button/common.js +1 -1
  12. package/button/mini-button/mini-button.component.js +7 -7
  13. package/button/mini-button-group/mini-button-group.component.js +21 -21
  14. package/button.js +1 -1
  15. package/calendar/calendar.component.js +36 -36
  16. package/card/card/card.component.js +10 -10
  17. package/card/card-badge/card-badge.component.js +15 -15
  18. package/carousel/carousel/carousel.component.d.ts +1 -0
  19. package/carousel/carousel/carousel.component.d.ts.map +1 -1
  20. package/carousel/carousel/carousel.component.js +37 -33
  21. package/carousel/carousel-list/carousel-list.component.d.ts +2 -2
  22. package/carousel/carousel-list/carousel-list.component.d.ts.map +1 -1
  23. package/carousel/carousel-list/carousel-list.component.js +32 -29
  24. package/checkbox/common.js +1 -1
  25. package/checkbox-common-gjHkSAmN.js +5 -0
  26. package/checkbox.js +1 -1
  27. package/chip/chip/chip.component.js +23 -23
  28. package/chip-label/chip-label.component.js +22 -22
  29. package/clock/clock.component.js +29 -29
  30. package/container/container/container.component.js +21 -21
  31. package/container/sticky-bar/sticky-bar.component.js +13 -13
  32. package/core/base-elements/open-close-base-element.d.ts +2 -0
  33. package/core/base-elements/open-close-base-element.d.ts.map +1 -1
  34. package/core/base-elements/open-close-base-element.js +4 -0
  35. package/core/config/config.d.ts +6 -0
  36. package/core/config/config.d.ts.map +1 -1
  37. package/core/controllers/escapable-overlay-controller.js +3 -3
  38. package/core/controllers/inert-controller.d.ts +8 -1
  39. package/core/controllers/inert-controller.d.ts.map +1 -1
  40. package/core/controllers/inert-controller.js +25 -13
  41. package/core/controllers/media-matchers-controller.d.ts +29 -0
  42. package/core/controllers/media-matchers-controller.d.ts.map +1 -1
  43. package/core/controllers/media-matchers-controller.js +73 -23
  44. package/core/controllers.js +16 -14
  45. package/core/dom/contains-pierce-shadow-dom.d.ts +3 -0
  46. package/core/dom/contains-pierce-shadow-dom.d.ts.map +1 -0
  47. package/core/dom/contains-pierce-shadow-dom.js +12 -0
  48. package/core/dom/queue-dom-content-loaded.d.ts +5 -0
  49. package/core/dom/queue-dom-content-loaded.d.ts.map +1 -0
  50. package/core/dom/queue-dom-content-loaded.js +7 -0
  51. package/core/dom/set-or-remove-attribute.d.ts +14 -0
  52. package/core/dom/set-or-remove-attribute.d.ts.map +1 -1
  53. package/core/dom/set-or-remove-attribute.js +11 -3
  54. package/core/dom.d.ts +2 -0
  55. package/core/dom.d.ts.map +1 -1
  56. package/core/dom.js +28 -22
  57. package/core/images.d.ts +4 -0
  58. package/core/images.d.ts.map +1 -1
  59. package/core/images.js +12 -12
  60. package/core/mixins.js +10 -10
  61. package/core/overlay/overlay-outside-pointer-event-listener.d.ts +26 -0
  62. package/core/overlay/overlay-outside-pointer-event-listener.d.ts.map +1 -0
  63. package/core/overlay/overlay-outside-pointer-event-listener.js +37 -0
  64. package/core/overlay/position.d.ts +20 -0
  65. package/core/overlay/position.d.ts.map +1 -1
  66. package/core/overlay/position.js +34 -23
  67. package/core/overlay.d.ts +1 -0
  68. package/core/overlay.d.ts.map +1 -1
  69. package/core/overlay.js +15 -11
  70. package/core/styles/core.scss +46 -12
  71. package/core/styles/mixins/badge.scss +2 -2
  72. package/core/styles/mixins/buttons.scss +14 -14
  73. package/core/styles/mixins/card.scss +9 -6
  74. package/core/styles/mixins/chip.scss +8 -8
  75. package/core/styles/mixins/image.scss +3 -0
  76. package/core/styles/mixins/link.scss +12 -7
  77. package/core/styles/mixins/lists.scss +6 -4
  78. package/core/styles/mixins/overlay.scss +6 -3
  79. package/core/styles/mixins/panel.scss +3 -3
  80. package/core/styles/mixins/pearl-chain-bullet.scss +9 -5
  81. package/core/styles/mixins/scrollbar.scss +12 -6
  82. package/core/styles/mixins/shadows.scss +32 -64
  83. package/core/styles/mixins/table.scss +13 -10
  84. package/core/styles/mixins/timetable-form.scss +3 -3
  85. package/core/styles/mixins/typo.scss +4 -4
  86. package/core/styles/node_modules_@sbb-esta_lyne-design-tokens_dist_scss_sbb-variables.scss +49 -1
  87. package/core/styles/node_modules_@sbb-esta_lyne-design-tokens_dist_scss_sbb-variables_css--mixin.scss +203 -5
  88. package/core/styles/off-brand-theme.scss +3 -0
  89. package/core/styles/safety-theme.scss +3 -0
  90. package/core/styles/standard-theme.scss +3 -14
  91. package/core/styles/theme.scss +18 -0
  92. package/core.css +259 -21
  93. package/custom-elements.json +2117 -366
  94. package/date-input/date-input.component.js +1 -1
  95. package/datepicker/datepicker-next-day/datepicker-next-day.component.js +4 -4
  96. package/datepicker/datepicker-previous-day/datepicker-previous-day.component.js +6 -6
  97. package/datepicker/datepicker-toggle/datepicker-toggle.component.js +7 -7
  98. package/development/alert/alert/alert.component.d.ts +2 -0
  99. package/development/alert/alert/alert.component.d.ts.map +1 -1
  100. package/development/alert/alert/alert.component.js +22 -8
  101. package/development/autocomplete/autocomplete-base-element.js +23 -11
  102. package/development/autocomplete-grid/autocomplete-grid-button/autocomplete-grid-button.component.js +15 -14
  103. package/development/autocomplete-grid/autocomplete-grid-option/autocomplete-grid-option.component.js +5 -4
  104. package/development/autocomplete-grid/autocomplete-grid-row/autocomplete-grid-row.component.js +19 -11
  105. package/development/breadcrumb/breadcrumb/breadcrumb.component.js +4 -1
  106. package/development/breadcrumb/breadcrumb-group/breadcrumb-group.component.js +16 -8
  107. package/development/button/common.js +1 -1
  108. package/development/button/mini-button/mini-button.component.js +15 -14
  109. package/development/button/mini-button-group/mini-button-group.component.js +4 -4
  110. package/development/button.js +1 -1
  111. package/development/calendar/calendar.component.js +21 -11
  112. package/development/card/card/card.component.js +11 -6
  113. package/development/card/card-badge/card-badge.component.js +10 -9
  114. package/development/carousel/carousel/carousel.component.d.ts +1 -0
  115. package/development/carousel/carousel/carousel.component.d.ts.map +1 -1
  116. package/development/carousel/carousel/carousel.component.js +14 -4
  117. package/development/carousel/carousel-list/carousel-list.component.d.ts +2 -2
  118. package/development/carousel/carousel-list/carousel-list.component.d.ts.map +1 -1
  119. package/development/carousel/carousel-list/carousel-list.component.js +29 -21
  120. package/development/checkbox/common.js +1 -1
  121. package/development/{checkbox-common-aMPOsPVA.js → checkbox-common-Dy_ofVhp.js} +4 -3
  122. package/development/checkbox.js +1 -1
  123. package/development/chip/chip/chip.component.js +15 -14
  124. package/development/chip-label/chip-label.component.js +12 -15
  125. package/development/clock/clock.component.js +11 -3
  126. package/development/container/container/container.component.js +6 -6
  127. package/development/container/sticky-bar/sticky-bar.component.js +6 -6
  128. package/development/core/base-elements/open-close-base-element.d.ts +2 -0
  129. package/development/core/base-elements/open-close-base-element.d.ts.map +1 -1
  130. package/development/core/base-elements/open-close-base-element.js +5 -1
  131. package/development/core/config/config.d.ts +6 -0
  132. package/development/core/config/config.d.ts.map +1 -1
  133. package/development/core/config/config.js +1 -1
  134. package/development/core/controllers/escapable-overlay-controller.js +2 -2
  135. package/development/core/controllers/inert-controller.d.ts +8 -1
  136. package/development/core/controllers/inert-controller.d.ts.map +1 -1
  137. package/development/core/controllers/inert-controller.js +49 -30
  138. package/development/core/controllers/media-matchers-controller.d.ts +29 -0
  139. package/development/core/controllers/media-matchers-controller.d.ts.map +1 -1
  140. package/development/core/controllers/media-matchers-controller.js +74 -1
  141. package/development/core/controllers.js +3 -1
  142. package/development/core/dom/contains-pierce-shadow-dom.d.ts +3 -0
  143. package/development/core/dom/contains-pierce-shadow-dom.d.ts.map +1 -0
  144. package/development/core/dom/contains-pierce-shadow-dom.js +14 -0
  145. package/development/core/dom/queue-dom-content-loaded.d.ts +5 -0
  146. package/development/core/dom/queue-dom-content-loaded.d.ts.map +1 -0
  147. package/development/core/dom/queue-dom-content-loaded.js +12 -0
  148. package/development/core/dom/set-or-remove-attribute.d.ts +14 -0
  149. package/development/core/dom/set-or-remove-attribute.d.ts.map +1 -1
  150. package/development/core/dom/set-or-remove-attribute.js +9 -1
  151. package/development/core/dom.d.ts +2 -0
  152. package/development/core/dom.d.ts.map +1 -1
  153. package/development/core/dom.js +8 -2
  154. package/development/core/images.d.ts +4 -0
  155. package/development/core/images.d.ts.map +1 -1
  156. package/development/core/images.js +11 -11
  157. package/development/core/mixins.js +7 -6
  158. package/development/core/overlay/overlay-outside-pointer-event-listener.d.ts +26 -0
  159. package/development/core/overlay/overlay-outside-pointer-event-listener.d.ts.map +1 -0
  160. package/development/core/overlay/overlay-outside-pointer-event-listener.js +61 -0
  161. package/development/core/overlay/position.d.ts +20 -0
  162. package/development/core/overlay/position.d.ts.map +1 -1
  163. package/development/core/overlay/position.js +41 -1
  164. package/development/core/overlay.d.ts +1 -0
  165. package/development/core/overlay.d.ts.map +1 -1
  166. package/development/core/overlay.js +6 -2
  167. package/development/date-input/date-input.component.js +2 -2
  168. package/development/datepicker/datepicker-next-day/datepicker-next-day.component.js +15 -14
  169. package/development/datepicker/datepicker-previous-day/datepicker-previous-day.component.js +15 -14
  170. package/development/datepicker/datepicker-toggle/datepicker-toggle.component.js +15 -14
  171. package/development/dialog/dialog/dialog.component.d.ts +1 -0
  172. package/development/dialog/dialog/dialog.component.d.ts.map +1 -1
  173. package/development/dialog/dialog/dialog.component.js +28 -14
  174. package/development/dialog/dialog-actions/dialog-actions.component.js +1 -1
  175. package/development/dialog/dialog-title/dialog-title.component.js +1 -1
  176. package/development/divider/divider.component.js +2 -2
  177. package/development/expansion-panel/expansion-panel/expansion-panel.component.js +6 -6
  178. package/development/expansion-panel/expansion-panel-header/expansion-panel-header.component.js +6 -2
  179. package/development/file-selector/common.js +1 -1
  180. package/development/{file-selector-common-CRnQigIZ.js → file-selector-common-CRNAWFM_.js} +8 -5
  181. package/development/file-selector.js +1 -1
  182. package/development/flip-card/flip-card/flip-card.component.js +8 -3
  183. package/development/footer/footer.component.js +5 -4
  184. package/development/form-error/form-error.component.js +2 -2
  185. package/development/form-field/form-field/form-field.component.js +36 -22
  186. package/development/form-field/form-field-clear/form-field-clear.component.js +15 -14
  187. package/development/header/common/header-action-common.js +4 -4
  188. package/development/header/header/header.component.js +2 -2
  189. package/development/header/header-environment/header-environment.component.js +1 -1
  190. package/development/{icon-sidebar-button-common-CA_8TnFu.js → icon-sidebar-button-common-BGrKtvyM.js} +3 -2
  191. package/development/journey-header/journey-header.component.js +1 -1
  192. package/development/lead-container/lead-container.component.js +4 -2
  193. package/development/link/common/block-link-common.js +17 -5
  194. package/development/link/common/inline-link-common.js +9 -3
  195. package/development/link-list/link-list-anchor/link-list-anchor.component.js +11 -9
  196. package/development/loading-indicator/loading-indicator.component.js +1 -1
  197. package/development/loading-indicator-circle/loading-indicator-circle.component.js +2 -2
  198. package/development/logo/logo.component.js +3 -2
  199. package/development/map-container/map-container.component.js +14 -6
  200. package/development/menu/common/menu-action-common.d.ts.map +1 -1
  201. package/development/menu/common/menu-action-common.js +23 -5
  202. package/development/menu/menu/menu.component.d.ts +23 -10
  203. package/development/menu/menu/menu.component.d.ts.map +1 -1
  204. package/development/menu/menu/menu.component.js +237 -72
  205. package/development/message/message.component.js +3 -1
  206. package/development/navigation/common/navigation-action-common.js +4 -4
  207. package/development/navigation/navigation/navigation.component.js +21 -19
  208. package/development/navigation/navigation-list/navigation-list.component.js +1 -1
  209. package/development/navigation/navigation-marker/navigation-marker.component.js +1 -1
  210. package/development/navigation/navigation-section/navigation-section.component.js +3 -3
  211. package/development/notification/notification.component.js +38 -18
  212. package/development/option/optgroup/optgroup-base-element.js +3 -2
  213. package/development/option/option/option.component.js +16 -12
  214. package/development/option/option-hint/option-hint.component.js +3 -2
  215. package/development/overlay/overlay.component.d.ts.map +1 -1
  216. package/development/overlay/overlay.component.js +28 -22
  217. package/development/paginator/compact-paginator/compact-paginator.component.js +3 -2
  218. package/development/paginator/paginator/paginator.component.js +18 -17
  219. package/development/popover/popover/popover.component.js +8 -6
  220. package/development/popover/popover-trigger/popover-trigger.component.js +20 -17
  221. package/development/radio-button/common.js +1 -1
  222. package/development/radio-button/radio-button/radio-button.component.js +3 -3
  223. package/development/radio-button/radio-button-panel/radio-button-panel.component.js +3 -3
  224. package/development/{radio-button-common-454JtP9b.js → radio-button-common-CgM3kQSW.js} +9 -8
  225. package/development/radio-button.js +1 -1
  226. package/development/sbb-tokens-CVLcOi-S.js +1 -1
  227. package/development/select/select.component.js +31 -13
  228. package/development/selection-action-panel/selection-action-panel.component.js +9 -5
  229. package/development/selection-expansion-panel/selection-expansion-panel.component.js +10 -6
  230. package/development/sidebar/common.js +1 -1
  231. package/development/sidebar/icon-sidebar/icon-sidebar.component.js +2 -2
  232. package/development/sidebar/sidebar/sidebar.component.js +14 -6
  233. package/development/sidebar.js +1 -1
  234. package/development/signet/signet.component.js +2 -2
  235. package/development/skiplink-list/skiplink-list.component.d.ts +3 -1
  236. package/development/skiplink-list/skiplink-list.component.d.ts.map +1 -1
  237. package/development/skiplink-list/skiplink-list.component.js +26 -9
  238. package/development/slider/slider.component.js +15 -9
  239. package/development/status/status.component.js +7 -7
  240. package/development/stepper/step/step.component.js +1 -3
  241. package/development/stepper/step-label/step-label.component.js +7 -6
  242. package/development/stepper/stepper/stepper.component.js +5 -5
  243. package/development/tabs/tab/tab.component.d.ts +10 -4
  244. package/development/tabs/tab/tab.component.d.ts.map +1 -1
  245. package/development/tabs/tab/tab.component.js +15 -16
  246. package/development/tabs/tab-group/tab-group.component.d.ts +15 -14
  247. package/development/tabs/tab-group/tab-group.component.d.ts.map +1 -1
  248. package/development/tabs/tab-group/tab-group.component.js +46 -175
  249. package/development/tabs/tab-label/tab-label.component.d.ts +21 -2
  250. package/development/tabs/tab-label/tab-label.component.d.ts.map +1 -1
  251. package/development/tabs/tab-label/tab-label.component.js +97 -19
  252. package/development/tag/tag/tag.component.js +15 -9
  253. package/development/teaser/teaser.component.js +3 -2
  254. package/development/teaser-hero/teaser-hero.component.js +3 -3
  255. package/development/teaser-product/common.js +1 -1
  256. package/development/{teaser-product-common-D6fa6x3w.js → teaser-product-common-DvlBRkE_.js} +14 -6
  257. package/development/teaser-product.js +1 -1
  258. package/development/time-input/time-input.component.js +2 -2
  259. package/development/timetable-form/timetable-form/timetable-form.component.js +1 -1
  260. package/development/timetable-form/timetable-form-details/timetable-form-details.component.js +1 -1
  261. package/development/timetable-form/timetable-form-field/timetable-form-field.component.js +3 -3
  262. package/development/timetable-occupancy/timetable-occupancy.component.js +2 -2
  263. package/development/timetable-occupancy-icon/timetable-occupancy-icon.component.d.ts +1 -0
  264. package/development/timetable-occupancy-icon/timetable-occupancy-icon.component.d.ts.map +1 -1
  265. package/development/timetable-occupancy-icon/timetable-occupancy-icon.component.js +4 -3
  266. package/development/title/title-base.js +2 -5
  267. package/development/title/title.component.js +1 -1
  268. package/development/toast/toast.component.d.ts +3 -1
  269. package/development/toast/toast.component.d.ts.map +1 -1
  270. package/development/toast/toast.component.js +31 -15
  271. package/development/toggle/toggle/toggle.component.js +8 -4
  272. package/development/toggle/toggle-option/toggle-option.component.js +5 -3
  273. package/development/toggle-check/toggle-check.component.js +13 -14
  274. package/development/tooltip/tooltip.component.d.ts +89 -0
  275. package/development/tooltip/tooltip.component.d.ts.map +1 -0
  276. package/development/tooltip/tooltip.component.js +473 -0
  277. package/development/tooltip.d.ts +5 -0
  278. package/development/tooltip.d.ts.map +1 -0
  279. package/development/tooltip.js +5 -0
  280. package/development/train/train-blocked-passage/train-blocked-passage.component.js +1 -1
  281. package/development/train/train-formation/train-formation.component.js +16 -4
  282. package/development/train/train-wagon/train-wagon.component.js +3 -12
  283. package/development/{transparent-button-COe-YB_U.js → transparent-button-DdSaBp_-.js} +141 -86
  284. package/development/visual-checkbox/visual-checkbox.component.js +12 -12
  285. package/dialog/dialog/dialog.component.d.ts +1 -0
  286. package/dialog/dialog/dialog.component.d.ts.map +1 -1
  287. package/dialog/dialog/dialog.component.js +37 -36
  288. package/dialog/dialog-actions/dialog-actions.component.js +6 -6
  289. package/dialog/dialog-title/dialog-title.component.js +4 -4
  290. package/divider/divider.component.js +16 -16
  291. package/expansion-panel/expansion-panel/expansion-panel.component.js +1 -1
  292. package/expansion-panel/expansion-panel-header/expansion-panel-header.component.js +3 -3
  293. package/file-selector/common.js +1 -1
  294. package/file-selector-common-D88J9PEh.js +5 -0
  295. package/file-selector.js +1 -1
  296. package/flip-card/flip-card/flip-card.component.js +14 -14
  297. package/footer/footer.component.js +18 -18
  298. package/form-error/form-error.component.js +4 -4
  299. package/form-field/form-field/form-field.component.js +1 -1
  300. package/form-field/form-field-clear/form-field-clear.component.js +9 -9
  301. package/header/common/header-action-common.js +1 -1
  302. package/header/header/header.component.js +19 -19
  303. package/header/header-environment/header-environment.component.js +1 -1
  304. package/icon-sidebar-button-common-BeRXvifI.js +7 -0
  305. package/index.d.ts +2 -0
  306. package/index.js +2 -0
  307. package/journey-header/journey-header.component.js +1 -1
  308. package/lead-container/lead-container.component.js +5 -5
  309. package/link/common/block-link-common.js +23 -23
  310. package/link/common/inline-link-common.js +7 -7
  311. package/link-list/link-list-anchor/link-list-anchor.component.js +11 -11
  312. package/lists.css +5 -3
  313. package/loading-indicator/loading-indicator.component.js +1 -1
  314. package/loading-indicator-circle/loading-indicator-circle.component.js +13 -13
  315. package/logo/logo.component.js +9 -9
  316. package/map-container/map-container.component.js +15 -15
  317. package/menu/common/menu-action-common.d.ts.map +1 -1
  318. package/menu/common/menu-action-common.js +15 -12
  319. package/menu/menu/menu.component.d.ts +23 -10
  320. package/menu/menu/menu.component.d.ts.map +1 -1
  321. package/menu/menu/menu.component.js +156 -85
  322. package/message/message.component.js +9 -9
  323. package/navigation/common/navigation-action-common.js +6 -6
  324. package/navigation/navigation/navigation.component.js +19 -19
  325. package/navigation/navigation-list/navigation-list.component.js +1 -1
  326. package/navigation/navigation-marker/navigation-marker.component.js +1 -1
  327. package/navigation/navigation-section/navigation-section.component.js +1 -1
  328. package/notification/notification.component.js +8 -8
  329. package/off-brand-theme.css +3023 -0
  330. package/option/optgroup/optgroup-base-element.js +1 -1
  331. package/option/option/option.component.js +3 -3
  332. package/option/option-hint/option-hint.component.js +8 -8
  333. package/overlay/overlay.component.d.ts.map +1 -1
  334. package/overlay/overlay.component.js +47 -48
  335. package/package.json +14 -1
  336. package/paginator/compact-paginator/compact-paginator.component.js +4 -4
  337. package/paginator/paginator/paginator.component.js +10 -10
  338. package/popover/popover/popover.component.js +9 -9
  339. package/popover/popover-trigger/popover-trigger.component.js +5 -5
  340. package/radio-button/common.js +1 -1
  341. package/radio-button/radio-button/radio-button.component.js +13 -13
  342. package/radio-button/radio-button-panel/radio-button-panel.component.js +2 -2
  343. package/radio-button-common-Nm9ULjVb.js +5 -0
  344. package/radio-button.js +1 -1
  345. package/safety-theme.css +3023 -0
  346. package/scrollbar.css +52 -20
  347. package/select/select.component.js +45 -45
  348. package/selection-action-panel/selection-action-panel.component.js +6 -6
  349. package/selection-expansion-panel/selection-expansion-panel.component.js +11 -11
  350. package/sidebar/common.js +1 -1
  351. package/sidebar/icon-sidebar/icon-sidebar.component.js +12 -12
  352. package/sidebar/sidebar/sidebar.component.js +29 -29
  353. package/sidebar.js +1 -1
  354. package/signet/signet.component.js +1 -1
  355. package/skiplink-list/skiplink-list.component.d.ts +3 -1
  356. package/skiplink-list/skiplink-list.component.d.ts.map +1 -1
  357. package/skiplink-list/skiplink-list.component.js +37 -30
  358. package/slider/slider.component.js +16 -16
  359. package/standard-theme.css +340 -58
  360. package/status/status.component.js +13 -13
  361. package/stepper/step/step.component.js +5 -5
  362. package/stepper/step-label/step-label.component.js +1 -1
  363. package/stepper/stepper/stepper.component.js +7 -7
  364. package/table.css +15 -9
  365. package/tabs/tab/tab.component.d.ts +10 -4
  366. package/tabs/tab/tab.component.d.ts.map +1 -1
  367. package/tabs/tab/tab.component.js +22 -24
  368. package/tabs/tab-group/tab-group.component.d.ts +15 -14
  369. package/tabs/tab-group/tab-group.component.d.ts.map +1 -1
  370. package/tabs/tab-group/tab-group.component.js +68 -122
  371. package/tabs/tab-label/tab-label.component.d.ts +21 -2
  372. package/tabs/tab-label/tab-label.component.d.ts.map +1 -1
  373. package/tabs/tab-label/tab-label.component.js +88 -46
  374. package/tag/tag/tag.component.js +14 -14
  375. package/teaser/teaser.component.js +1 -1
  376. package/teaser-hero/teaser-hero.component.js +12 -12
  377. package/teaser-product/common.js +1 -1
  378. package/teaser-product-common-DIra6aVg.js +5 -0
  379. package/teaser-product.js +1 -1
  380. package/time-input/time-input.component.js +1 -1
  381. package/timetable-form/timetable-form/timetable-form.component.js +6 -6
  382. package/timetable-form/timetable-form-details/timetable-form-details.component.js +4 -4
  383. package/timetable-form/timetable-form-field/timetable-form-field.component.js +5 -5
  384. package/timetable-form.css +3 -3
  385. package/timetable-occupancy/timetable-occupancy.component.js +7 -7
  386. package/timetable-occupancy-icon/timetable-occupancy-icon.component.d.ts +1 -0
  387. package/timetable-occupancy-icon/timetable-occupancy-icon.component.d.ts.map +1 -1
  388. package/timetable-occupancy-icon/timetable-occupancy-icon.component.js +23 -23
  389. package/title/title-base.js +1 -1
  390. package/title/title.component.js +1 -1
  391. package/toast/toast.component.d.ts +3 -1
  392. package/toast/toast.component.d.ts.map +1 -1
  393. package/toast/toast.component.js +67 -59
  394. package/toggle/toggle/toggle.component.js +1 -1
  395. package/toggle/toggle-option/toggle-option.component.js +5 -5
  396. package/toggle-check/toggle-check.component.js +16 -16
  397. package/tooltip/tooltip.component.d.ts +89 -0
  398. package/tooltip/tooltip.component.d.ts.map +1 -0
  399. package/tooltip/tooltip.component.js +220 -0
  400. package/tooltip.d.ts +5 -0
  401. package/tooltip.d.ts.map +1 -0
  402. package/tooltip.js +4 -0
  403. package/train/train-blocked-passage/train-blocked-passage.component.js +1 -1
  404. package/train/train-formation/train-formation.component.js +16 -16
  405. package/train/train-wagon/train-wagon.component.js +1 -1
  406. package/transparent-button-Bg9fU_iZ.js +9 -0
  407. package/typography.css +1 -0
  408. package/visual-checkbox/visual-checkbox.component.js +14 -14
  409. package/checkbox-common-CDzcyq8p.js +0 -5
  410. package/file-selector-common-OHK9hu3a.js +0 -5
  411. package/icon-sidebar-button-common-CM-ueEhH.js +0 -7
  412. package/radio-button-common-CUppr5FI.js +0 -5
  413. package/teaser-product-common-C8oSkIxy.js +0 -5
  414. package/transparent-button-xudJxob_.js +0 -9
@@ -1,9 +1,9 @@
1
- import { S as m, a as h, b as u, c as M } from "../../sbb-tokens-B3Eka-Tz.js";
2
- import { isServer as c } from "lit";
3
- const a = (n) => n / m, f = "(forced-colors: active)", p = "(any-hover: hover)", Q = "(pointer: coarse)", v = `(min-width: ${a(M)}rem)`, B = `(max-width: ${a(h)}rem)`, w = `(max-width: ${a(u)}rem)`, o = /* @__PURE__ */ new Map();
4
- class k {
5
- constructor(e, r) {
6
- this._queries = r, e.addController(this);
1
+ import { S as p, a as b, b as g, c as y } from "../../sbb-tokens-B3Eka-Tz.js";
2
+ import { isServer as n } from "lit";
3
+ const c = (d) => d / p, k = "(forced-colors: active)", i = "(prefers-color-scheme: dark)", Q = "(any-hover: hover)", w = "(pointer: coarse)", L = `(min-width: ${c(y)}rem)`, B = `(max-width: ${c(b)}rem)`, C = `(max-width: ${c(g)}rem)`, a = /* @__PURE__ */ new Map();
4
+ class M {
5
+ constructor(e, t) {
6
+ this._queries = t, e.addController(this);
7
7
  }
8
8
  /**
9
9
  * Returns whether the given query matches. Returns null with SSR.
@@ -11,33 +11,83 @@ class k {
11
11
  * @returns Whether the query matches or null with SSR.
12
12
  */
13
13
  matches(e) {
14
- return c ? null : matchMedia(e).matches;
14
+ return n ? null : matchMedia(e).matches;
15
15
  }
16
16
  hostConnected() {
17
- if (!c)
18
- for (const [e, r] of Object.entries(this._queries)) {
19
- const t = o.get(e);
20
- if (t)
21
- t.handlers.add(r);
17
+ if (!n)
18
+ for (const [e, t] of Object.entries(this._queries)) {
19
+ const r = a.get(e);
20
+ if (r)
21
+ r.handlers.add(t);
22
22
  else {
23
- const i = matchMedia(e), s = /* @__PURE__ */ new Set([r]), d = (l) => s.forEach((b) => b(l.matches));
24
- i.addEventListener("change", d), o.set(e, { mediaQueryList: i, handlers: s, eventHandler: d });
23
+ const o = matchMedia(e), h = /* @__PURE__ */ new Set([t]), u = (m) => h.forEach((f) => f(m.matches));
24
+ o.addEventListener("change", u), a.set(e, { mediaQueryList: o, handlers: h, eventHandler: u });
25
25
  }
26
26
  }
27
27
  }
28
28
  hostDisconnected() {
29
- for (const [e, r] of Object.entries(this._queries)) {
30
- const t = o.get(e);
31
- t && (t.handlers.delete(r), t.handlers.size || o.delete(e));
29
+ for (const [e, t] of Object.entries(this._queries)) {
30
+ const r = a.get(e);
31
+ r && (r.handlers.delete(t), r.handlers.size || a.delete(e));
32
32
  }
33
33
  }
34
34
  }
35
+ const s = class s extends M {
36
+ constructor(e, t) {
37
+ const r = () => {
38
+ t(this.matches()), this._host.toggleState("dark", this.matches());
39
+ };
40
+ super(e, {
41
+ [i]: r
42
+ }), this._host = e, this._onChangeWithStateUpdater = r;
43
+ }
44
+ static _readLightDarkClass() {
45
+ if (n)
46
+ return null;
47
+ const e = document.documentElement.classList;
48
+ return ["light-dark", "dark", "light"].find((t) => e.contains(`sbb-${t}`)) ?? null;
49
+ }
50
+ /**
51
+ * Requests an update of the dark mode state. This is needed when the color-scheme
52
+ * CSS property changes, as the media query does not pick this up automatically.
53
+ */
54
+ // eslint-disable-next-line lyne/needs-super-call-rule
55
+ static requestUpdate() {
56
+ const e = a.get(i);
57
+ e && e.handlers.forEach((t) => t(e.mediaQueryList.matches));
58
+ }
59
+ hostConnected() {
60
+ const e = (a.get(i)?.handlers.size ?? 0) === 0;
61
+ super.hostConnected(), e && s._observer.observe(document.documentElement, s._observerConfig), this._onChangeWithStateUpdater();
62
+ }
63
+ hostDisconnected() {
64
+ super.hostDisconnected(), (a.get(i)?.handlers.size ?? 0) === 0 && s._observer.disconnect();
65
+ }
66
+ matches() {
67
+ if (n)
68
+ return !1;
69
+ const e = getComputedStyle(this._host).getPropertyValue("color-scheme"), t = e.includes("dark"), r = e.trim() === "dark";
70
+ return super.matches(i) && t || r;
71
+ }
72
+ };
73
+ s._currentMode = s._readLightDarkClass(), s._observer = n ? null : new MutationObserver((e) => {
74
+ if (e[0].oldValue !== document.documentElement.getAttribute("class")) {
75
+ const t = s._readLightDarkClass();
76
+ s._currentMode !== t && (s.requestUpdate(), s._currentMode = t);
77
+ }
78
+ }), s._observerConfig = {
79
+ attributeFilter: ["class"],
80
+ attributeOldValue: !0
81
+ };
82
+ let l = s;
35
83
  export {
36
- k as SbbMediaMatcherController,
37
- v as SbbMediaQueryBreakpointMediumAndAbove,
84
+ l as SbbDarkModeController,
85
+ M as SbbMediaMatcherController,
86
+ L as SbbMediaQueryBreakpointMediumAndAbove,
38
87
  B as SbbMediaQueryBreakpointMediumAndBelow,
39
- w as SbbMediaQueryBreakpointSmallAndBelow,
40
- f as SbbMediaQueryForcedColors,
41
- p as SbbMediaQueryHover,
42
- Q as SbbMediaQueryPointerCoarse
88
+ C as SbbMediaQueryBreakpointSmallAndBelow,
89
+ i as SbbMediaQueryDarkMode,
90
+ k as SbbMediaQueryForcedColors,
91
+ Q as SbbMediaQueryHover,
92
+ w as SbbMediaQueryPointerCoarse
43
93
  };
@@ -1,20 +1,22 @@
1
1
  import { SbbEscapableOverlayController as o } from "./controllers/escapable-overlay-controller.js";
2
- import { SbbIdReferenceController as t } from "./controllers/id-reference-controller.js";
3
- import { SbbInertController as a } from "./controllers/inert-controller.js";
4
- import { SbbLanguageController as S } from "./controllers/language-controller.js";
5
- import { SbbMediaMatcherController as i, SbbMediaQueryBreakpointMediumAndAbove as p, SbbMediaQueryBreakpointMediumAndBelow as M, SbbMediaQueryBreakpointSmallAndBelow as m, SbbMediaQueryForcedColors as u, SbbMediaQueryHover as C, SbbMediaQueryPointerCoarse as f } from "./controllers/media-matchers-controller.js";
6
- import { SbbSlotStateController as x } from "./controllers/slot-state-controller.js";
2
+ import { SbbIdReferenceController as a } from "./controllers/id-reference-controller.js";
3
+ import { SbbInertController as t } from "./controllers/inert-controller.js";
4
+ import { SbbLanguageController as n } from "./controllers/language-controller.js";
5
+ import { SbbDarkModeController as i, SbbMediaMatcherController as M, SbbMediaQueryBreakpointMediumAndAbove as p, SbbMediaQueryBreakpointMediumAndBelow as u, SbbMediaQueryBreakpointSmallAndBelow as m, SbbMediaQueryDarkMode as C, SbbMediaQueryForcedColors as y, SbbMediaQueryHover as f, SbbMediaQueryPointerCoarse as Q } from "./controllers/media-matchers-controller.js";
6
+ import { SbbSlotStateController as k } from "./controllers/slot-state-controller.js";
7
7
  export {
8
+ i as SbbDarkModeController,
8
9
  o as SbbEscapableOverlayController,
9
- t as SbbIdReferenceController,
10
- a as SbbInertController,
11
- S as SbbLanguageController,
12
- i as SbbMediaMatcherController,
10
+ a as SbbIdReferenceController,
11
+ t as SbbInertController,
12
+ n as SbbLanguageController,
13
+ M as SbbMediaMatcherController,
13
14
  p as SbbMediaQueryBreakpointMediumAndAbove,
14
- M as SbbMediaQueryBreakpointMediumAndBelow,
15
+ u as SbbMediaQueryBreakpointMediumAndBelow,
15
16
  m as SbbMediaQueryBreakpointSmallAndBelow,
16
- u as SbbMediaQueryForcedColors,
17
- C as SbbMediaQueryHover,
18
- f as SbbMediaQueryPointerCoarse,
19
- x as SbbSlotStateController
17
+ C as SbbMediaQueryDarkMode,
18
+ y as SbbMediaQueryForcedColors,
19
+ f as SbbMediaQueryHover,
20
+ Q as SbbMediaQueryPointerCoarse,
21
+ k as SbbSlotStateController
20
22
  };
@@ -0,0 +1,3 @@
1
+ /** Equivalent to `Element.contains` while piercing shadow DOM. */
2
+ export declare function containsPierceShadowDom(root: HTMLElement, child: HTMLElement | null): boolean;
3
+ //# sourceMappingURL=contains-pierce-shadow-dom.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"contains-pierce-shadow-dom.d.ts","sourceRoot":"","sources":["../../../../src/elements/core/dom/contains-pierce-shadow-dom.ts"],"names":[],"mappings":"AAAA,kEAAkE;AAClE,wBAAgB,uBAAuB,CAAC,IAAI,EAAE,WAAW,EAAE,KAAK,EAAE,WAAW,GAAG,IAAI,GAAG,OAAO,CAY7F"}
@@ -0,0 +1,12 @@
1
+ function n(t, o) {
2
+ let e = o;
3
+ for (; e; ) {
4
+ if (e === t)
5
+ return !0;
6
+ e = e instanceof ShadowRoot ? e.host : e.parentNode;
7
+ }
8
+ return !1;
9
+ }
10
+ export {
11
+ n as containsPierceShadowDom
12
+ };
@@ -0,0 +1,5 @@
1
+ /**
2
+ * Postpone 'action' after the DOM is loaded.
3
+ */
4
+ export declare function queueDomContentLoaded(action: () => void): void;
5
+ //# sourceMappingURL=queue-dom-content-loaded.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"queue-dom-content-loaded.d.ts","sourceRoot":"","sources":["../../../../src/elements/core/dom/queue-dom-content-loaded.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,wBAAgB,qBAAqB,CAAC,MAAM,EAAE,MAAM,IAAI,GAAG,IAAI,CAO9D"}
@@ -0,0 +1,7 @@
1
+ function n(t) {
2
+ const e = () => queueMicrotask(t);
3
+ document.readyState === "loading" ? document.addEventListener("DOMContentLoaded", e) : e();
4
+ }
5
+ export {
6
+ n as queueDomContentLoaded
7
+ };
@@ -5,4 +5,18 @@
5
5
  * @param value The attribute value
6
6
  */
7
7
  export declare function setOrRemoveAttribute(element: HTMLElement, attribute: string, value?: any): void;
8
+ /**
9
+ * Add `value` to an attribute that accept a list of values. If the attribute is not set, it will be set to `value`.
10
+ * @param element The element that will have the attribute
11
+ * @param attribute The attribute name
12
+ * @param value The value to add
13
+ */
14
+ export declare function addToListAttribute(element: HTMLElement, attribute: string, value: string): void;
15
+ /**
16
+ * Remove `value` from an attribute list of values. If the attribute results empty, it will be removed.
17
+ * @param element The element with the attribute
18
+ * @param attribute The attribute name
19
+ * @param value The value to remove from the list
20
+ */
21
+ export declare function removeFromListAttribute(element: HTMLElement, attribute: string, value: string): void;
8
22
  //# sourceMappingURL=set-or-remove-attribute.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"set-or-remove-attribute.d.ts","sourceRoot":"","sources":["../../../../src/elements/core/dom/set-or-remove-attribute.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AACH,wBAAgB,oBAAoB,CAAC,OAAO,EAAE,WAAW,EAAE,SAAS,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,GAAG,GAAG,IAAI,CAM/F"}
1
+ {"version":3,"file":"set-or-remove-attribute.d.ts","sourceRoot":"","sources":["../../../../src/elements/core/dom/set-or-remove-attribute.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AACH,wBAAgB,oBAAoB,CAAC,OAAO,EAAE,WAAW,EAAE,SAAS,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,GAAG,GAAG,IAAI,CAM/F;AAED;;;;;GAKG;AACH,wBAAgB,kBAAkB,CAAC,OAAO,EAAE,WAAW,EAAE,SAAS,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,IAAI,CAM/F;AAED;;;;;GAKG;AACH,wBAAgB,uBAAuB,CACrC,OAAO,EAAE,WAAW,EACpB,SAAS,EAAE,MAAM,EACjB,KAAK,EAAE,MAAM,GACZ,IAAI,CAMN"}
@@ -1,6 +1,14 @@
1
- function i(t, e, r) {
2
- r ? t.setAttribute(e, r) : t.removeAttribute(e);
1
+ function e(t, i, r) {
2
+ r ? t.setAttribute(i, r) : t.removeAttribute(i);
3
+ }
4
+ function o(t, i, r) {
5
+ e(t, i, `${t.getAttribute(i) ?? ""} ${r}`.trim());
6
+ }
7
+ function A(t, i, r) {
8
+ e(t, i, t.getAttribute(i)?.replace(r, "").trim());
3
9
  }
4
10
  export {
5
- i as setOrRemoveAttribute
11
+ o as addToListAttribute,
12
+ A as removeFromListAttribute,
13
+ e as setOrRemoveAttribute
6
14
  };
package/core/dom.d.ts CHANGED
@@ -3,9 +3,11 @@
3
3
  */
4
4
  export * from './dom/animation.js';
5
5
  export * from './dom/breakpoint.js';
6
+ export * from './dom/contains-pierce-shadow-dom.js';
6
7
  export * from './dom/host-context.js';
7
8
  export * from './dom/lean-context.js';
8
9
  export * from './dom/set-or-remove-attribute.js';
9
10
  export * from './dom/platform.js';
11
+ export * from './dom/queue-dom-content-loaded.js';
10
12
  export * from './dom/scroll.js';
11
13
  //# sourceMappingURL=dom.d.ts.map
package/core/dom.d.ts.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"dom.d.ts","sourceRoot":"","sources":["../../../src/elements/core/dom.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,cAAc,oBAAoB,CAAC;AACnC,cAAc,qBAAqB,CAAC;AACpC,cAAc,uBAAuB,CAAC;AACtC,cAAc,uBAAuB,CAAC;AACtC,cAAc,kCAAkC,CAAC;AACjD,cAAc,mBAAmB,CAAC;AAClC,cAAc,iBAAiB,CAAC"}
1
+ {"version":3,"file":"dom.d.ts","sourceRoot":"","sources":["../../../src/elements/core/dom.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,cAAc,oBAAoB,CAAC;AACnC,cAAc,qBAAqB,CAAC;AACpC,cAAc,qCAAqC,CAAC;AACpD,cAAc,uBAAuB,CAAC;AACtC,cAAc,uBAAuB,CAAC;AACtC,cAAc,kCAAkC,CAAC;AACjD,cAAc,mBAAmB,CAAC;AAClC,cAAc,mCAAmC,CAAC;AAClD,cAAc,iBAAiB,CAAC"}
package/core/dom.js CHANGED
@@ -1,29 +1,35 @@
1
- import { isZeroAnimationDuration as o } from "./dom/animation.js";
1
+ import { isZeroAnimationDuration as e } from "./dom/animation.js";
2
2
  import { breakpoints as t, isBreakpoint as s } from "./dom/breakpoint.js";
3
- import { ACTION_ELEMENTS as m, hostContext as n } from "./dom/host-context.js";
4
- import { isLean as x } from "./dom/lean-context.js";
5
- import { setOrRemoveAttribute as l } from "./dom/set-or-remove-attribute.js";
6
- import { isAndroid as b, isBlink as d, isChromium as k, isEdge as A, isFirefox as E, isIOS as O, isMacOS as c, isNextjs as u, isSafari as C, isTrident as N, isWebkit as T } from "./dom/platform.js";
7
- import { SbbScrollHandler as h, pageScrollDisabled as B } from "./dom/scroll.js";
3
+ import { containsPierceShadowDom as a } from "./dom/contains-pierce-shadow-dom.js";
4
+ import { ACTION_ELEMENTS as p, hostContext as x } from "./dom/host-context.js";
5
+ import { isLean as f } from "./dom/lean-context.js";
6
+ import { addToListAttribute as S, removeFromListAttribute as l, setOrRemoveAttribute as u } from "./dom/set-or-remove-attribute.js";
7
+ import { isAndroid as c, isBlink as L, isChromium as k, isEdge as C, isFirefox as D, isIOS as E, isMacOS as O, isNextjs as T, isSafari as h, isTrident as N, isWebkit as g } from "./dom/platform.js";
8
+ import { queueDomContentLoaded as B } from "./dom/queue-dom-content-loaded.js";
9
+ import { SbbScrollHandler as I, pageScrollDisabled as M } from "./dom/scroll.js";
8
10
  export {
9
- m as ACTION_ELEMENTS,
10
- h as SbbScrollHandler,
11
+ p as ACTION_ELEMENTS,
12
+ I as SbbScrollHandler,
13
+ S as addToListAttribute,
11
14
  t as breakpoints,
12
- n as hostContext,
13
- b as isAndroid,
14
- d as isBlink,
15
+ a as containsPierceShadowDom,
16
+ x as hostContext,
17
+ c as isAndroid,
18
+ L as isBlink,
15
19
  s as isBreakpoint,
16
20
  k as isChromium,
17
- A as isEdge,
18
- E as isFirefox,
19
- O as isIOS,
20
- x as isLean,
21
- c as isMacOS,
22
- u as isNextjs,
23
- C as isSafari,
21
+ C as isEdge,
22
+ D as isFirefox,
23
+ E as isIOS,
24
+ f as isLean,
25
+ O as isMacOS,
26
+ T as isNextjs,
27
+ h as isSafari,
24
28
  N as isTrident,
25
- T as isWebkit,
26
- o as isZeroAnimationDuration,
27
- B as pageScrollDisabled,
28
- l as setOrRemoveAttribute
29
+ g as isWebkit,
30
+ e as isZeroAnimationDuration,
31
+ M as pageScrollDisabled,
32
+ B as queueDomContentLoaded,
33
+ l as removeFromListAttribute,
34
+ u as setOrRemoveAttribute
29
35
  };
package/core/images.d.ts CHANGED
@@ -1,3 +1,7 @@
1
+ /**
2
+ * This demo pictures must not be used in production code.
3
+ * Internally we should only use them in stories.
4
+ */
1
5
  declare const sampleImages: string[];
2
6
  export default sampleImages;
3
7
  //# sourceMappingURL=images.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"images.d.ts","sourceRoot":"","sources":["../../../src/elements/core/images.ts"],"names":[],"mappings":"AAAA,QAAA,MAAM,YAAY,EAAE,MAAM,EAWzB,CAAC;AAEF,eAAe,YAAY,CAAC"}
1
+ {"version":3,"file":"images.d.ts","sourceRoot":"","sources":["../../../src/elements/core/images.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,QAAA,MAAM,YAAY,EAAE,MAAM,EAWzB,CAAC;AAEF,eAAe,YAAY,CAAC"}
package/core/images.js CHANGED
@@ -1,15 +1,15 @@
1
- const n = [
2
- "https://cdn.img.sbb.ch/content/dam/internet/lyne/Billetkontrolle.jpg",
3
- "https://cdn.img.sbb.ch/content/dam/internet/lyne/Hoehenrundweg-Gryden-Lenk.jpg",
4
- "https://cdn.img.sbb.ch/content/dam/internet/lyne/Kaufmann-frau.jpg",
5
- "https://cdn.img.sbb.ch/content/dam/internet/lyne/Corona-Schutzkonzept.jpg",
6
- "https://cdn.img.sbb.ch/content/dam/internet/lyne/Digitale-Werbung-SBB.jpg",
7
- "https://cdn.img.sbb.ch/content/dam/internet/lyne/Bahnhof-Luzern.jpg",
8
- "https://cdn.img.sbb.ch/content/dam/internet/lyne/Einheitswagen-IV-EuroCity.jpg",
9
- "https://cdn.img.sbb.ch/content/dam/internet/lyne/Einsatzstrecken_EW4-Eurocity.jpg",
10
- "https://cdn.img.sbb.ch/content/dam/internet/lyne/Frau-No-Results.png",
11
- "https://cdn.img.sbb.ch/content/dam/internet/lyne/Helpteaser-Background-Landscape.png"
1
+ const e = [
2
+ "https://cdn.img.sbb.ch/content/dam/internet/externe-assets/lyne/Billetkontrolle.jpg",
3
+ "https://cdn.img.sbb.ch/content/dam/internet/externe-assets/lyne/Hoehenrundweg-Gryden-Lenk.jpg",
4
+ "https://cdn.img.sbb.ch/content/dam/internet/externe-assets/lyne/Kaufmann-frau.jpg",
5
+ "https://cdn.img.sbb.ch/content/dam/internet/externe-assets/lyne/Corona-Schutzkonzept.jpg",
6
+ "https://cdn.img.sbb.ch/content/dam/internet/externe-assets/lyne/Digitale-Werbung-SBB.jpg",
7
+ "https://cdn.img.sbb.ch/content/dam/internet/externe-assets/lyne/Bahnhof-Luzern.jpg",
8
+ "https://cdn.img.sbb.ch/content/dam/internet/externe-assets/lyne/Einheitswagen-IV-EuroCity.jpg",
9
+ "https://cdn.img.sbb.ch/content/dam/internet/externe-assets/lyne/Einsatzstrecken_EW4-Eurocity.jpg",
10
+ "https://cdn.img.sbb.ch/content/dam/internet/externe-assets/lyne/Frau-No-Results.png",
11
+ "https://cdn.img.sbb.ch/content/dam/internet/externe-assets/lyne/Helpteaser-Background-Landscape.png"
12
12
  ];
13
13
  export {
14
- n as default
14
+ e as default
15
15
  };
package/core/mixins.js CHANGED
@@ -1,10 +1,10 @@
1
- import { SbbAnimationCompleteMixin as i } from "./mixins/animation-complete-mixin.js";
1
+ import { SbbAnimationCompleteMixin as b } from "./mixins/animation-complete-mixin.js";
2
2
  import { SbbDisabledInteractiveMixin as a, SbbDisabledMixin as t, SbbDisabledTabIndexActionMixin as l } from "./mixins/disabled-mixin.js";
3
- import { SbbElementInternalsMixin as c, appendAriaElements as p, removeAriaElements as x } from "./mixins/element-internals-mixin.js";
3
+ import { SbbElementInternalsMixin as c, appendAriaElements as p, removeAriaElements as u } from "./mixins/element-internals-mixin.js";
4
4
  import { SbbFormAssociatedCheckboxMixin as v } from "./mixins/form-associated-checkbox-mixin.js";
5
5
  import { SbbFormAssociatedInputMixin as f } from "./mixins/form-associated-input-mixin.js";
6
- import { SbbFormAssociatedMixin as g } from "./mixins/form-associated-mixin.js";
7
- import { SbbFormAssociatedRadioButtonMixin as M, radioButtonRegistry as k } from "./mixins/form-associated-radio-button-mixin.js";
6
+ import { SbbFormAssociatedMixin as h } from "./mixins/form-associated-mixin.js";
7
+ import { SbbFormAssociatedRadioButtonMixin as k, radioButtonRegistry as M } from "./mixins/form-associated-radio-button-mixin.js";
8
8
  import { SbbHydrationMixin as y } from "./mixins/hydration-mixin.js";
9
9
  import { SbbNamedSlotListMixin as C } from "./mixins/named-slot-list-mixin.js";
10
10
  import { SbbNegativeMixin as I } from "./mixins/negative-mixin.js";
@@ -14,17 +14,17 @@ import { SbbReadonlyMixin as P } from "./mixins/readonly-mixin.js";
14
14
  import { SbbSelectionPanelMixin as q } from "./mixins/selection-panel-mixin.js";
15
15
  import { SbbUpdateSchedulerMixin as H } from "./mixins/update-scheduler-mixin.js";
16
16
  import { css as e } from "lit";
17
- const n = e`:host{--sbb-selection-panel-background: var( --sbb-selection-panel-inner-background, var(--sbb-color-white) );--sbb-selection-panel-border-color: var(--sbb-color-cloud);--sbb-selection-panel-border-radius: var( --sbb-selection-expansion-panel-border-radius, var(--sbb-border-radius-4x) );--sbb-selection-panel-border-width: var( --sbb-selection-panel-inner-border-width, var(--sbb-border-width-1x) );--sbb-selection-panel-input-padding: var(--sbb-spacing-responsive-xs) var(--sbb-spacing-responsive-xxs);--sbb-selection-panel-animation-duration: var( --sbb-disable-animation-duration, var(--sbb-animation-duration-4x) );--sbb-selection-panel-cursor: pointer;--sbb-selection-panel-suffix-color: var(--sbb-color-charcoal);--sbb-selection-panel-subtext-color: var(--sbb-color-granite);display:block;outline:none!important}:host([size=s]){--sbb-selection-panel-input-padding: var(--sbb-spacing-responsive-xxs) var(--sbb-spacing-responsive-xxxs)}:host([color=milk]){--sbb-selection-panel-background: var( --sbb-selection-panel-inner-background, var(--sbb-color-milk) )}:host([borderless]:not([data-checked])){--sbb-selection-panel-border-color: transparent}:host(:is([data-checked]):not(:disabled,[disabled])){--sbb-selection-panel-border-color: var(--sbb-color-charcoal);--sbb-selection-panel-border-width: var( --sbb-selection-panel-inner-border-width, var(--sbb-border-width-2x) )}:host(:is(:disabled,[disabled])){--sbb-selection-panel-cursor: default}.sbb-selection-panel{display:block;cursor:var(--sbb-selection-panel-cursor);position:relative;border-radius:var(--sbb-selection-panel-border-radius);box-shadow:inset 0 0 0 var(--sbb-selection-panel-border-width) var(--sbb-selection-panel-border-color);padding:var(--sbb-selection-panel-input-padding);background-color:var(--sbb-selection-panel-background);transition-duration:var(--sbb-selection-panel-animation-duration);transition-timing-function:var(--sbb-animation-easing);transition-property:box-shadow}@media (forced-colors: active){.sbb-selection-panel:after{content:"";display:block;position:absolute;inset:0;pointer-events:none;border:var(--sbb-selection-panel-border-width) solid var(--sbb-selection-panel-border-color);border-radius:var(--sbb-selection-panel-border-radius)}}:host(:focus-visible) .sbb-selection-panel{outline-offset:var(--sbb-focus-outline-offset);outline:var(--sbb-focus-outline-color) var(--sbb-focus-outline-style, solid) var(--sbb-focus-outline-width)}.sbb-selection-panel__badge{-webkit-user-select:none;user-select:none;pointer-events:none;position:absolute;inset:0;border-radius:var(--sbb-selection-panel-border-radius);overflow:hidden}slot[name=suffix]{color:var(--sbb-selection-panel-suffix-color)}slot[name=subtext]{display:block;color:var(--sbb-selection-panel-subtext-color);padding-inline-start:var(--sbb-spacing-fixed-8x)}:host(:not([data-slot-names~=subtext])) slot[name=subtext]{display:none}`;
17
+ const n = e`:host{--sbb-selection-panel-background: var( --sbb-selection-panel-inner-background, var(--sbb-background-color-1) );--sbb-selection-panel-border-color: var(--sbb-border-color-4-inverted);--sbb-selection-panel-border-radius: var( --sbb-selection-expansion-panel-border-radius, var(--sbb-border-radius-4x) );--sbb-selection-panel-border-width: var( --sbb-selection-panel-inner-border-width, var(--sbb-border-width-1x) );--sbb-selection-panel-input-padding: var(--sbb-spacing-responsive-xs) var(--sbb-spacing-responsive-xxs);--sbb-selection-panel-animation-duration: var( --sbb-disable-animation-duration, var(--sbb-animation-duration-4x) );--sbb-selection-panel-cursor: pointer;--sbb-selection-panel-suffix-color: var(--sbb-color-3);--sbb-selection-panel-subtext-color: var(--sbb-color-granite);--sbb-selection-panel-subtext-color: light-dark(var(--sbb-color-granite), var(--sbb-color-smoke));display:block;outline:none!important}:host([size=s]){--sbb-selection-panel-input-padding: var(--sbb-spacing-responsive-xxs) var(--sbb-spacing-responsive-xxxs)}:host([color=milk]){--sbb-selection-panel-background: var( --sbb-selection-panel-inner-background, var(--sbb-background-color-3) )}:host([borderless]:not([data-checked])){--sbb-selection-panel-border-color: transparent}:host(:is([data-checked]):not(:disabled,[disabled])){--sbb-selection-panel-border-color: var(--sbb-border-color-3);--sbb-selection-panel-border-width: var( --sbb-selection-panel-inner-border-width, var(--sbb-border-width-2x) )}:host(:is(:disabled,[disabled])){--sbb-selection-panel-cursor: default}.sbb-selection-panel{display:block;cursor:var(--sbb-selection-panel-cursor);position:relative;border-radius:var(--sbb-selection-panel-border-radius);box-shadow:inset 0 0 0 var(--sbb-selection-panel-border-width) var(--sbb-selection-panel-border-color);padding:var(--sbb-selection-panel-input-padding);background-color:var(--sbb-selection-panel-background);transition-duration:var(--sbb-selection-panel-animation-duration);transition-timing-function:var(--sbb-animation-easing);transition-property:box-shadow}@media (forced-colors: active){.sbb-selection-panel:after{content:"";display:block;position:absolute;inset:0;pointer-events:none;border:var(--sbb-selection-panel-border-width) solid var(--sbb-selection-panel-border-color);border-radius:var(--sbb-selection-panel-border-radius)}}:host(:focus-visible) .sbb-selection-panel{outline-offset:var(--sbb-focus-outline-offset);outline:var(--sbb-focus-outline-color) var(--sbb-focus-outline-style, solid) var(--sbb-focus-outline-width)}.sbb-selection-panel__badge{-webkit-user-select:none;user-select:none;pointer-events:none;position:absolute;inset:0;border-radius:var(--sbb-selection-panel-border-radius);overflow:hidden}slot[name=suffix]{color:var(--sbb-selection-panel-suffix-color)}slot[name=subtext]{display:block;color:var(--sbb-selection-panel-subtext-color);padding-inline-start:var(--sbb-spacing-fixed-8x)}:host(:not([data-slot-names~=subtext])) slot[name=subtext]{display:none}`;
18
18
  export {
19
- i as SbbAnimationCompleteMixin,
19
+ b as SbbAnimationCompleteMixin,
20
20
  a as SbbDisabledInteractiveMixin,
21
21
  t as SbbDisabledMixin,
22
22
  l as SbbDisabledTabIndexActionMixin,
23
23
  c as SbbElementInternalsMixin,
24
24
  v as SbbFormAssociatedCheckboxMixin,
25
25
  f as SbbFormAssociatedInputMixin,
26
- g as SbbFormAssociatedMixin,
27
- M as SbbFormAssociatedRadioButtonMixin,
26
+ h as SbbFormAssociatedMixin,
27
+ k as SbbFormAssociatedRadioButtonMixin,
28
28
  y as SbbHydrationMixin,
29
29
  C as SbbNamedSlotListMixin,
30
30
  I as SbbNegativeMixin,
@@ -35,6 +35,6 @@ export {
35
35
  H as SbbUpdateSchedulerMixin,
36
36
  p as appendAriaElements,
37
37
  n as panelCommonStyle,
38
- k as radioButtonRegistry,
39
- x as removeAriaElements
38
+ M as radioButtonRegistry,
39
+ u as removeAriaElements
40
40
  };
@@ -0,0 +1,26 @@
1
+ /**
2
+ * Listens globally to pointer events that happen outside the overlay area.
3
+ *
4
+ * Ref: https://github.com/angular/components/blob/main/src/cdk/overlay/dispatchers/overlay-outside-click-dispatcher.ts
5
+ */
6
+ export declare class SbbOverlayOutsidePointerEventListener {
7
+ private _overlays;
8
+ private _pointerDownEventTarget?;
9
+ private _abortController?;
10
+ private _cursorOriginalValue?;
11
+ connect(overlay: HTMLElement): void;
12
+ disconnect(overlay: HTMLElement): void;
13
+ private _addGlobalEventListeners;
14
+ /** Store pointerdown event target to track origin of click. */
15
+ private _pointerDownListener;
16
+ /** Click event listener that will be attached to the body propagate phase. */
17
+ private _clickListener;
18
+ }
19
+ /** The global instance for listening for outside pointer events. */
20
+ export declare const sbbOverlayOutsidePointerEventListener: SbbOverlayOutsidePointerEventListener;
21
+ declare global {
22
+ interface GlobalEventHandlersEventMap {
23
+ overlayOutsidePointer: CustomEvent;
24
+ }
25
+ }
26
+ //# sourceMappingURL=overlay-outside-pointer-event-listener.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"overlay-outside-pointer-event-listener.d.ts","sourceRoot":"","sources":["../../../../src/elements/core/overlay/overlay-outside-pointer-event-listener.ts"],"names":[],"mappings":"AAEA;;;;GAIG;AACH,qBAAa,qCAAqC;IAChD,OAAO,CAAC,SAAS,CAA0B;IAC3C,OAAO,CAAC,uBAAuB,CAAC,CAAc;IAC9C,OAAO,CAAC,gBAAgB,CAAC,CAAkB;IAC3C,OAAO,CAAC,oBAAoB,CAAC,CAAS;IAE/B,OAAO,CAAC,OAAO,EAAE,WAAW,GAAG,IAAI;IAiBnC,UAAU,CAAC,OAAO,EAAE,WAAW,GAAG,IAAI;IAW7C,OAAO,CAAC,wBAAwB;IAkBhC,+DAA+D;IAC/D,OAAO,CAAC,oBAAoB,CAE1B;IAEF,8EAA8E;IAC9E,OAAO,CAAC,cAAc,CAyBpB;CACH;AAED,oEAAoE;AACpE,eAAO,MAAM,qCAAqC,uCAA8C,CAAC;AAEjG,OAAO,CAAC,MAAM,CAAC;IACb,UAAU,2BAA2B;QACnC,qBAAqB,EAAE,WAAW,CAAC;KACpC;CACF"}
@@ -0,0 +1,37 @@
1
+ import { containsPierceShadowDom as r, isIOS as i, isAndroid as n } from "../dom.js";
2
+ class a {
3
+ constructor() {
4
+ this._overlays = /* @__PURE__ */ new Set(), this._pointerDownListener = (t) => {
5
+ this._pointerDownEventTarget = t.composedPath()[0];
6
+ }, this._clickListener = (t) => {
7
+ const e = t.composedPath()[0], s = t.type === "click" && this._pointerDownEventTarget ? this._pointerDownEventTarget : e;
8
+ this._pointerDownEventTarget = void 0;
9
+ for (const o of Array.from(this._overlays).reverse()) {
10
+ if (r(o, e) || r(o, s))
11
+ break;
12
+ o.dispatchEvent(new CustomEvent("overlayOutsidePointer"));
13
+ }
14
+ };
15
+ }
16
+ connect(t) {
17
+ this._overlays.size || (this._addGlobalEventListeners(), i && (this._cursorOriginalValue = document.body.style.cursor, document.body.style.cursor = "pointer")), this._overlays.add(t);
18
+ }
19
+ disconnect(t) {
20
+ this._overlays.delete(t), this._overlays.size || (this._abortController?.abort(), this._abortController = void 0, i && (document.body.style.cursor = this._cursorOriginalValue));
21
+ }
22
+ _addGlobalEventListeners() {
23
+ const t = document.body;
24
+ this._abortController = new AbortController();
25
+ const e = {
26
+ capture: !0,
27
+ passive: !0,
28
+ signal: this._abortController.signal
29
+ };
30
+ t.addEventListener("click", this._clickListener, e), !n && !i && (t.addEventListener("pointerdown", this._pointerDownListener, e), t.addEventListener("auxclick", this._clickListener, e), t.addEventListener("contextmenu", this._clickListener, e));
31
+ }
32
+ }
33
+ const d = new a();
34
+ export {
35
+ a as SbbOverlayOutsidePointerEventListener,
36
+ d as sbbOverlayOutsidePointerEventListener
37
+ };
@@ -38,4 +38,24 @@ export declare function getElementPosition(element: HTMLElement, trigger: HTMLEl
38
38
  centered?: boolean;
39
39
  responsiveHeight?: boolean;
40
40
  }): SbbElementPositionInfos;
41
+ /**
42
+ * Determines the position of an element relative to a trigger element by evaluating
43
+ * the optimal position based on the available space.
44
+ *
45
+ * @param element The element of which to calculate the position.
46
+ * @param trigger The element relative to which to calculate the position.
47
+ * @param container The element which has the position:fixed applied.
48
+ * @param properties Properties to take into account in calculations (optional).
49
+ * @param properties.verticalOffset The distance to be added between the element and the trigger (optional).
50
+ * @param properties.horizontalOffset The horizontal offset to be applied to the element (optional).
51
+ * @param properties.responsiveHeight Whether the element calculates its height based on its content (optional).
52
+ * @returns Returns an object containing the left position, the top position, the maximum height
53
+ * of the element and the current alignment object.
54
+ */
55
+ export declare function getElementPositionHorizontal(element: HTMLElement, trigger: HTMLElement, container: HTMLElement, properties?: {
56
+ verticalOffset?: number;
57
+ horizontalOffset?: number;
58
+ responsiveHeight?: boolean;
59
+ contentSelector?: string;
60
+ }): SbbElementPositionInfos;
41
61
  //# sourceMappingURL=position.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"position.d.ts","sourceRoot":"","sources":["../../../../src/elements/core/overlay/position.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,gBAAgB,GAAG,IAAI,CACjC,WAAW,EACX,cAAc,GAAG,cAAc,GAAG,cAAc,GAAG,aAAa,GAAG,aAAa,GAAG,aAAa,CACjG,CAAC;AAEF,MAAM,WAAW,YAAY;IAC3B,UAAU,EAAE,OAAO,GAAG,QAAQ,GAAG,KAAK,CAAC;IACvC,QAAQ,EAAE,OAAO,GAAG,OAAO,CAAC;CAC7B;AAED,MAAM,WAAW,uBAAuB;IACtC,GAAG,EAAE,MAAM,CAAC;IACZ,IAAI,EAAE,MAAM,CAAC;IACb,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,YAAY,CAAC;CACzB;AAED;;GAEG;AACH,wBAAgB,mBAAmB,CAAC,EAAE,EAAE,WAAW,GAAG,gBAAgB,CAoCrE;AAED;;GAEG;AACH,wBAAgB,gBAAgB,CAC9B,OAAO,EAAE,WAAW,GAAG,IAAI,EAC3B,KAAK,EAAE,UAAU,GAAG,YAAY,GAC/B,OAAO,CAYT;AAED;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,kBAAkB,CAChC,OAAO,EAAE,WAAW,EACpB,OAAO,EAAE,WAAW,EACpB,SAAS,EAAE,WAAW,EACtB,UAAU,CAAC,EAAE;IACX,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,gBAAgB,CAAC,EAAE,OAAO,CAAC;CAC5B,GACA,uBAAuB,CAqGzB"}
1
+ {"version":3,"file":"position.d.ts","sourceRoot":"","sources":["../../../../src/elements/core/overlay/position.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,gBAAgB,GAAG,IAAI,CACjC,WAAW,EACX,cAAc,GAAG,cAAc,GAAG,cAAc,GAAG,aAAa,GAAG,aAAa,GAAG,aAAa,CACjG,CAAC;AAEF,MAAM,WAAW,YAAY;IAC3B,UAAU,EAAE,OAAO,GAAG,QAAQ,GAAG,KAAK,CAAC;IACvC,QAAQ,EAAE,OAAO,GAAG,OAAO,CAAC;CAC7B;AAED,MAAM,WAAW,uBAAuB;IACtC,GAAG,EAAE,MAAM,CAAC;IACZ,IAAI,EAAE,MAAM,CAAC;IACb,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,YAAY,CAAC;CACzB;AAED;;GAEG;AACH,wBAAgB,mBAAmB,CAAC,EAAE,EAAE,WAAW,GAAG,gBAAgB,CAoCrE;AAED;;GAEG;AACH,wBAAgB,gBAAgB,CAC9B,OAAO,EAAE,WAAW,GAAG,IAAI,EAC3B,KAAK,EAAE,UAAU,GAAG,YAAY,GAC/B,OAAO,CAYT;AAED;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,kBAAkB,CAChC,OAAO,EAAE,WAAW,EACpB,OAAO,EAAE,WAAW,EACpB,SAAS,EAAE,WAAW,EACtB,UAAU,CAAC,EAAE;IACX,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,gBAAgB,CAAC,EAAE,OAAO,CAAC;CAC5B,GACA,uBAAuB,CAqGzB;AAED;;;;;;;;;;;;;GAaG;AACH,wBAAgB,4BAA4B,CAC1C,OAAO,EAAE,WAAW,EACpB,OAAO,EAAE,WAAW,EACpB,SAAS,EAAE,WAAW,EACtB,UAAU,CAAC,EAAE;IACX,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAC3B,eAAe,CAAC,EAAE,MAAM,CAAC;CAC1B,GACA,uBAAuB,CAgEzB"}
@@ -1,6 +1,6 @@
1
- function b(t) {
2
- const o = window.getComputedStyle(t), l = o.display, h = parseInt(o.maxHeight, 10).toString();
3
- if (l !== "none" && h !== "0")
1
+ function R(t) {
2
+ const o = window.getComputedStyle(t), c = o.display, h = parseInt(o.maxHeight, 10).toString();
3
+ if (c !== "none" && h !== "0")
4
4
  return {
5
5
  scrollHeight: t.scrollHeight,
6
6
  clientHeight: t.clientHeight,
@@ -10,31 +10,42 @@ function b(t) {
10
10
  offsetWidth: t.offsetWidth
11
11
  };
12
12
  t.style.position = "absolute", t.style.visibility = "hidden", t.style.display = "block";
13
- const y = t.scrollHeight, e = t.clientHeight, g = t.offsetHeight, a = t.scrollWidth, n = t.clientWidth, i = t.offsetWidth;
14
- return t.style.display = "", t.style.position = "", t.style.visibility = "", { scrollHeight: y, clientHeight: e, offsetHeight: g, scrollWidth: a, clientWidth: n, offsetWidth: i };
13
+ const v = t.scrollHeight, n = t.clientHeight, g = t.offsetHeight, r = t.scrollWidth, e = t.clientWidth, i = t.offsetWidth;
14
+ return t.style.display = "", t.style.position = "", t.style.visibility = "", { scrollHeight: v, clientHeight: n, offsetHeight: g, scrollWidth: r, clientWidth: e, offsetWidth: i };
15
15
  }
16
- function w(t, o) {
16
+ function x(t, o) {
17
17
  if (!t || !o)
18
18
  return !1;
19
- const l = t.getBoundingClientRect();
20
- return l.top <= o.clientY && o.clientY <= l.top + l.height && l.left <= o.clientX && o.clientX <= l.left + l.width;
19
+ const c = t.getBoundingClientRect();
20
+ return c.top <= o.clientY && o.clientY <= c.top + c.height && c.left <= o.clientX && o.clientX <= c.left + c.width;
21
21
  }
22
- function x(t, o, l, h) {
23
- const e = h?.verticalOffset || 0, g = h?.horizontalOffset || 0, a = h?.responsiveHeight || !1, n = o.getBoundingClientRect(), i = b(t), d = n.left, m = n.top, p = document.documentElement.clientWidth - (d + n.width), r = m - e, H = document.documentElement.clientHeight - (m + n.height + e);
24
- let c = d, W = m + n.height + e, s = i.offsetWidth - n.width;
25
- const f = { horizontal: "start", vertical: "below" };
26
- let v = `${H - e}px`;
27
- h?.centered && d - 16 + n.width / 2 > i.offsetWidth / 2 && p - 16 > s / 2 && (c -= s /= 2, f.horizontal = "center"), p < s && d > s && (c = c - s, f.horizontal = "end"), g && f.horizontal !== "center" && n.width / 2 < g && (c += g * (f.horizontal === "start" ? -1 : 1)), (d < s && p < s || document.documentElement.clientWidth < i.offsetWidth) && (c = document.documentElement.clientWidth / 2 - i.offsetWidth / 2), (H - e < i.scrollHeight && r - e > (a ? i.clientHeight : i.scrollHeight) || r > H && H - e < i.clientHeight && !a) && (W = r < i.scrollHeight ? W - n.height - r - e : m - i.clientHeight - e, v = `${r - e}px`, f.vertical = "above");
28
- const u = l.getBoundingClientRect();
29
- return u.left < 0 && (c -= u.left), u.top < 0 && (W -= u.top), {
30
- top: W,
31
- left: c,
32
- maxHeight: v,
33
- alignment: f
22
+ function y(t, o, c, h) {
23
+ const n = h?.verticalOffset || 0, g = h?.horizontalOffset || 0, r = h?.responsiveHeight || !1, e = o.getBoundingClientRect(), i = R(t), f = e.left, H = e.top, W = document.documentElement.clientWidth - (f + e.width), d = H - n, u = document.documentElement.clientHeight - (H + e.height + n);
24
+ let s = f, m = H + e.height + n, l = i.offsetWidth - e.width;
25
+ const a = { horizontal: "start", vertical: "below" };
26
+ let O = `${u - n}px`;
27
+ h?.centered && f - 16 + e.width / 2 > i.offsetWidth / 2 && W - 16 > l / 2 && (s -= l /= 2, a.horizontal = "center"), W < l && f > l && (s = s - l, a.horizontal = "end"), g && a.horizontal !== "center" && e.width / 2 < g && (s += g * (a.horizontal === "start" ? -1 : 1)), (f < l && W < l || document.documentElement.clientWidth < i.offsetWidth) && (s = document.documentElement.clientWidth / 2 - i.offsetWidth / 2), (u - n < i.scrollHeight && d - n > (r ? i.clientHeight : i.scrollHeight) || d > u && u - n < i.clientHeight && !r) && (m = d < i.scrollHeight ? m - e.height - d - n : H - i.clientHeight - n, O = `${d - n}px`, a.vertical = "above");
28
+ const p = c.getBoundingClientRect();
29
+ return p.left < 0 && (s -= p.left), p.top < 0 && (m -= p.top), {
30
+ top: m,
31
+ left: s,
32
+ maxHeight: O,
33
+ alignment: a
34
+ };
35
+ }
36
+ function b(t, o, c, h) {
37
+ const n = h?.verticalOffset || 0, g = h?.horizontalOffset || 0, r = o.getBoundingClientRect(), e = R(t), i = o.parentElement.shadowRoot.querySelector(h?.contentSelector ?? `.${t.className}`).getBoundingClientRect(), f = c.getBoundingClientRect(), H = document.documentElement.clientWidth - i.right, W = document.documentElement.clientHeight - (r.top - n), d = document.documentElement.clientHeight, u = `${d - 32}px`, s = { horizontal: "end", vertical: "above" }, m = e.offsetWidth + g;
38
+ let l = i.right, a = r.top + n;
39
+ return H < m && r.left > m && (l = l - i.width - e.offsetWidth, s.horizontal = "start"), g && s.horizontal !== "center" && (l += g * (s.horizontal === "start" ? -1 : 1)), W < e.scrollHeight && (a = d - e.clientHeight - 16), f.left < 0 && (l -= f.left), f.top < 0 && (a -= f.top), {
40
+ top: a,
41
+ left: l,
42
+ maxHeight: u,
43
+ alignment: s
34
44
  };
35
45
  }
36
46
  export {
37
- x as getElementPosition,
38
- b as getElementRectangle,
39
- w as isEventOnElement
47
+ y as getElementPosition,
48
+ b as getElementPositionHorizontal,
49
+ R as getElementRectangle,
50
+ x as isEventOnElement
40
51
  };
package/core/overlay.d.ts CHANGED
@@ -3,6 +3,7 @@
3
3
  */
4
4
  export * from './overlay/overlay.js';
5
5
  export * from './overlay/overlay-option-panel.js';
6
+ export * from './overlay/overlay-outside-pointer-event-listener.js';
6
7
  export * from './overlay/overlay-trigger-attributes.js';
7
8
  export * from './overlay/position.js';
8
9
  //# sourceMappingURL=overlay.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"overlay.d.ts","sourceRoot":"","sources":["../../../src/elements/core/overlay.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,cAAc,sBAAsB,CAAC;AACrC,cAAc,mCAAmC,CAAC;AAClD,cAAc,yCAAyC,CAAC;AACxD,cAAc,uBAAuB,CAAC"}
1
+ {"version":3,"file":"overlay.d.ts","sourceRoot":"","sources":["../../../src/elements/core/overlay.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,cAAc,sBAAsB,CAAC;AACrC,cAAc,mCAAmC,CAAC;AAClD,cAAc,qDAAqD,CAAC;AACpE,cAAc,yCAAyC,CAAC;AACxD,cAAc,uBAAuB,CAAC"}