@sbb-esta/lyne-elements 4.10.0 → 4.12.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.
- package/autocomplete/autocomplete-base-element.js +1 -1
- package/autocomplete/autocomplete.component.js +3 -2
- package/{autocomplete-base-element-DarHnnYC.js → autocomplete-base-element-De2O5Wx-.js} +14 -9
- package/autocomplete.js +1 -1
- package/autocomplete.pure.js +1 -1
- package/{block-link-common-DzGY49Xc.js → block-link-common-1kRa_czx.js} +1 -1
- package/breadcrumb/breadcrumb-group/breadcrumb-group.component.js +1 -1
- package/breadcrumb/breadcrumb-group.js +1 -1
- package/{breadcrumb-group.component-Cc6CHbVy.js → breadcrumb-group.component-CKNsaUqs.js} +1 -1
- package/breadcrumb.js +1 -1
- package/breadcrumb.pure.js +1 -1
- package/button/common/button-common.js +1 -1
- package/button/common.js +1 -1
- package/button-common-BMEhm-dn.js +87 -0
- package/button.js +1 -1
- package/button.pure.js +1 -1
- package/calendar/calendar/calendar.component.js +1 -1
- package/calendar/calendar.js +1 -1
- package/{calendar.component-DhmaJt2k.js → calendar.component-C1jk_uE0.js} +5 -5
- package/calendar.js +1 -1
- package/calendar.pure.js +1 -1
- package/card/card-badge/card-badge.component.js +1 -1
- package/card/card-badge.js +1 -1
- package/{card-badge.component-BSOEYrN4.js → card-badge.component-D0r2iixU.js} +1 -1
- package/card.js +1 -1
- package/card.pure.js +1 -1
- package/checkbox/checkbox.component.js +1 -1
- package/checkbox/checkbox.js +1 -1
- package/checkbox/common/checkbox-common.js +1 -1
- package/checkbox/common.js +1 -1
- package/{checkbox-common-DdieysTG.js → checkbox-common-BpW4_bbi.js} +1 -1
- package/{checkbox.component-ROzxEnPh.js → checkbox.component-DS48CA_v.js} +1 -1
- package/checkbox.js +2 -2
- package/checkbox.pure.js +2 -2
- package/chip/chip-group/chip-group.component.js +1 -1
- package/chip/chip-group.js +1 -1
- package/{chip-group.component-DJzUToem.js → chip-group.component-BqBYzfXA.js} +1 -1
- package/chip.js +1 -1
- package/chip.pure.js +1 -1
- package/{compact-paginator.component-Cyi-t_YD.js → compact-paginator.component-BIAPutro.js} +1 -1
- package/core/base-elements/element.js +1 -1
- package/core/controllers/overlay-position-controller.js +4 -1
- package/core/mixins/named-slot-list-mixin.js +4 -1
- package/core/styles/core.scss +62 -77
- package/core/styles/mixins/helpers.scss +3 -3
- package/core/styles/mixins/overlay.scss +2 -2
- package/core/styles/mixins/table.scss +18 -19
- package/core/styles/mixins/typo.scss +2 -2
- package/core/styles/node_modules_@sbb-esta_lyne-design-tokens_dist_scss_sbb-variables-as-css.scss +8 -0
- package/core/styles/theme.scss +3 -1
- package/core.css +177 -73
- package/custom-elements.json +1387 -1092
- package/development/autocomplete/autocomplete-base-element.d.ts +8 -1
- package/development/autocomplete/autocomplete-base-element.d.ts.map +1 -1
- package/development/autocomplete/autocomplete-base-element.js +1 -1
- package/development/autocomplete/autocomplete.component.js +4 -3
- package/development/autocomplete-base-element-BpCpYcX9.js +692 -0
- package/development/autocomplete.js +1 -1
- package/development/autocomplete.pure.js +1 -1
- package/development/{block-link-common-GckvjULA.js → block-link-common-COY1RI1I.js} +2 -2
- package/development/breadcrumb/breadcrumb-group/breadcrumb-group.component.js +1 -1
- package/development/breadcrumb/breadcrumb-group.js +1 -1
- package/development/breadcrumb-group.component-DZslNBlB.js +195 -0
- package/development/breadcrumb.js +1 -1
- package/development/breadcrumb.pure.js +1 -1
- package/development/button/common/button-common.js +1 -1
- package/development/button/common.js +1 -1
- package/development/{button-common-CAu09Yim.js → button-common-7dmrUx4A.js} +3 -3
- package/development/button.js +1 -1
- package/development/button.pure.js +1 -1
- package/development/calendar/calendar/calendar.component.js +1 -1
- package/development/calendar/calendar.js +1 -1
- package/development/calendar-cell-base-element-BXohfDSl.js +1 -1
- package/development/calendar.component-Dg3D2A7k.js +1453 -0
- package/development/calendar.js +1 -1
- package/development/calendar.pure.js +1 -1
- package/development/card/card-badge/card-badge.component.js +1 -1
- package/development/card/card-badge.js +1 -1
- package/development/card-action-common-1FDHbfeR.js +1 -1
- package/development/card-badge.component-CUZIoVbL.js +84 -0
- package/development/card.js +1 -1
- package/development/card.pure.js +1 -1
- package/development/carousel-list.component-L-nYpHcN.js +1 -1
- package/development/carousel.component-Dl48ROSf.js +1 -1
- package/development/checkbox/checkbox.component.js +1 -1
- package/development/checkbox/checkbox.js +1 -1
- package/development/checkbox/common/checkbox-common.js +1 -1
- package/development/checkbox/common.js +1 -1
- package/development/checkbox-common-Dd5uup8K.js +86 -0
- package/development/checkbox-group/checkbox-group.component.js +1 -1
- package/development/{checkbox.component-D3_FFSys.js → checkbox.component-CFZrwUTA.js} +2 -2
- package/development/checkbox.js +2 -2
- package/development/checkbox.pure.js +2 -2
- package/development/chip/chip-group/chip-group.component.js +1 -1
- package/development/chip/chip-group.js +1 -1
- package/development/chip-group.component-BVfHWX2-.js +409 -0
- package/development/chip.js +1 -1
- package/development/chip.pure.js +1 -1
- package/development/clock.component-CVPv4mCp.js +1 -1
- package/development/compact-paginator.component-5_Q2Reul.js +51 -0
- package/development/core/a11y/input-modality-detector.js +1 -1
- package/development/core/base-elements/element.d.ts.map +1 -1
- package/development/core/base-elements/element.js +2 -5
- package/development/core/controllers/media-matchers-controller.js +1 -1
- package/development/core/controllers/overlay-position-controller.js +3 -2
- package/development/core/datetime/date-adapter.js +1 -1
- package/development/core/datetime/native-date-adapter.js +1 -1
- package/development/core/datetime/temporal-date-adapter.js +1 -1
- package/development/core/eventing/throttle.d.ts +1 -0
- package/development/core/eventing/throttle.d.ts.map +1 -1
- package/development/core/eventing/throttle.js +2 -1
- package/development/core/mixins/disabled-mixin.js +1 -1
- package/development/core/mixins/form-associated-checkbox-mixin.js +1 -1
- package/development/core/mixins/form-associated-input-mixin.js +1 -1
- package/development/core/mixins/form-associated-mixin.js +1 -1
- package/development/core/mixins/form-associated-radio-button-mixin.js +1 -1
- package/development/core/mixins/named-slot-list-mixin.d.ts.map +1 -1
- package/development/core/mixins/named-slot-list-mixin.js +5 -2
- package/development/core/mixins/negative-mixin.js +1 -1
- package/development/core/mixins/readonly-mixin.js +1 -1
- package/development/core/mixins/required-mixin.js +1 -1
- package/development/core/testing/event-spy.js +1 -1
- package/development/datepicker/common/datepicker-button.d.ts +6 -0
- package/development/datepicker/common/datepicker-button.d.ts.map +1 -1
- package/development/datepicker/common/datepicker-button.js +1 -1
- package/development/datepicker/common.js +1 -1
- package/development/datepicker/datepicker/datepicker.component.d.ts +3 -0
- package/development/datepicker/datepicker/datepicker.component.d.ts.map +1 -1
- package/development/datepicker/datepicker/datepicker.component.js +1 -1
- package/development/datepicker/datepicker.js +1 -1
- package/development/datepicker-button-CUPeoQgH.js +169 -0
- package/development/datepicker.component-D2DxFng_.js +216 -0
- package/development/datepicker.js +2 -2
- package/development/datepicker.pure.js +2 -2
- package/development/dialog/dialog/dialog.component.js +1 -1
- package/development/dialog/dialog.js +1 -1
- package/development/{dialog.component-TBiL0Sdq.js → dialog.component-DKuR4u-y.js} +2 -2
- package/development/dialog.js +1 -1
- package/development/dialog.pure.js +1 -1
- package/development/error.component-OBpWoVRL.js +55 -0
- package/development/expansion-panel/expansion-panel/expansion-panel.component.js +1 -1
- package/development/expansion-panel/expansion-panel-header/expansion-panel-header.component.js +1 -1
- package/development/expansion-panel/expansion-panel-header.js +1 -1
- package/development/expansion-panel/expansion-panel.js +1 -1
- package/development/expansion-panel-header.component-BEAabEE0.js +85 -0
- package/development/{expansion-panel.component-PDUmZe7w.js → expansion-panel.component-CV_IuWZA.js} +2 -2
- package/development/expansion-panel.js +2 -2
- package/development/expansion-panel.pure.js +2 -2
- package/development/file-selector/common/file-selector-common.d.ts.map +1 -1
- package/development/file-selector/common/file-selector-common.js +1 -1
- package/development/file-selector/common.js +1 -1
- package/development/file-selector/file-selector-dropzone/file-selector-dropzone.component.d.ts.map +1 -1
- package/development/file-selector/file-selector-dropzone/file-selector-dropzone.component.js +1 -1
- package/development/file-selector/file-selector-dropzone.js +1 -1
- package/development/file-selector-common-C7xIEiV4.js +416 -0
- package/development/file-selector-dropzone.component-BAWMZW4F.js +111 -0
- package/development/file-selector.js +2 -2
- package/development/file-selector.pure.js +2 -2
- package/development/footer/footer.component.js +1 -1
- package/development/footer.component-BmDkxYW9.js +172 -0
- package/development/footer.js +1 -1
- package/development/footer.pure.js +1 -1
- package/development/form-field/error/error.component.js +1 -1
- package/development/form-field/error.js +1 -1
- package/development/form-field/form-field/form-field.component.d.ts +6 -0
- package/development/form-field/form-field/form-field.component.d.ts.map +1 -1
- package/development/form-field/form-field/form-field.component.js +1 -1
- package/development/form-field/form-field-clear/form-field-clear.component.d.ts +3 -0
- package/development/form-field/form-field-clear/form-field-clear.component.d.ts.map +1 -1
- package/development/form-field/form-field-clear/form-field-clear.component.js +4 -1
- package/development/form-field/form-field.js +1 -1
- package/development/form-field/hint/hint.component.js +1 -1
- package/development/form-field.component-BU3Sv2mD.js +707 -0
- package/development/form-field.js +3 -3
- package/development/form-field.pure.js +3 -3
- package/development/header/header/header.component.js +1 -1
- package/development/header/header.js +1 -1
- package/development/header-action-common-MTYV0dqA.js +1 -1
- package/development/header.component-CWJ36jF0.js +340 -0
- package/development/header.js +1 -1
- package/development/header.pure.js +1 -1
- package/development/hint.component-DUtL0RS3.js +38 -0
- package/development/icon/icon-name-mixin.js +1 -1
- package/development/image.component-BD0jc-u-.js +1 -1
- package/development/link/common/block-link-common.js +1 -1
- package/development/link/common.js +1 -1
- package/development/link-common-DJ2FfG_Q.js +1 -1
- package/development/link-list-base-CKMNz30d.js +1 -1
- package/development/link.js +1 -1
- package/development/link.pure.js +1 -1
- package/development/message/message.component.js +1 -1
- package/development/message.component-Dlf5V5ba.js +44 -0
- package/development/message.js +1 -1
- package/development/message.pure.js +1 -1
- package/development/mini-calendar.component-BufzKw74.js +1 -1
- package/development/navigation/common/navigation-action-common.js +1 -1
- package/development/navigation/common.js +1 -1
- package/development/navigation/navigation-marker/navigation-marker.component.js +1 -1
- package/development/navigation/navigation-marker.js +1 -1
- package/development/navigation/navigation-section/navigation-section.component.js +1 -1
- package/development/navigation/navigation-section.js +1 -1
- package/development/{navigation-action-common-DpBp7-eZ.js → navigation-action-common-Hjr4dI9J.js} +2 -2
- package/development/{navigation-marker.component-BpZdT4xz.js → navigation-marker.component-GOv42emC.js} +2 -2
- package/development/{navigation-section.component-CtZtuacK.js → navigation-section.component-CnVrRETN.js} +2 -2
- package/development/navigation.component-CTNQ1dix.js +1 -1
- package/development/navigation.js +3 -3
- package/development/navigation.pure.js +3 -3
- package/development/notification/notification.component.js +1 -1
- package/development/notification.component-Cvq_uViC.js +274 -0
- package/development/notification.js +1 -1
- package/development/notification.pure.js +1 -1
- package/development/option/option/option-base-element.d.ts.map +1 -1
- package/development/option/option/option-base-element.js +3 -1
- package/development/option/option/option.component.js +1 -1
- package/development/option/option.js +1 -1
- package/development/option.component-CRVr0PfV.js +130 -0
- package/development/option.js +1 -1
- package/development/option.pure.js +1 -1
- package/development/paginator/common/paginator-common.js +1 -1
- package/development/paginator/compact-paginator/compact-paginator.component.js +1 -1
- package/development/paginator/compact-paginator.js +1 -1
- package/development/paginator/paginator/paginator.component.js +1 -1
- package/development/paginator/paginator.js +1 -1
- package/development/paginator.component-Bn5tK0FK.js +259 -0
- package/development/paginator.js +2 -2
- package/development/paginator.pure.js +2 -2
- package/development/panel-mixin-Dj_rsgL9.js +1 -1
- package/development/popover/popover.component.d.ts +1 -0
- package/development/popover/popover.component.d.ts.map +1 -1
- package/development/popover/popover.component.js +1 -1
- package/development/popover.component-rZb6B9uW.js +546 -0
- package/development/popover.js +1 -1
- package/development/popover.pure.js +1 -1
- package/development/radio-button/common/radio-button-common.js +1 -1
- package/development/radio-button/common.js +1 -1
- package/development/radio-button/radio-button.component.js +1 -1
- package/development/radio-button/radio-button.js +1 -1
- package/development/radio-button-common--d3WX-ZM.js +126 -0
- package/development/radio-button-panel/radio-button-panel.component.js +1 -1
- package/development/{radio-button.component-BrQF2FfA.js → radio-button.component-BauLEeCV.js} +2 -2
- package/development/radio-button.js +2 -2
- package/development/radio-button.pure.js +2 -2
- package/development/select/select.component.d.ts.map +1 -1
- package/development/select/select.component.js +1 -1
- package/development/select.component-D9SFG7Lk.js +814 -0
- package/development/select.js +1 -1
- package/development/select.pure.js +1 -1
- package/development/sidebar/sidebar/sidebar.component.d.ts +1 -0
- package/development/sidebar/sidebar/sidebar.component.d.ts.map +1 -1
- package/development/sidebar/sidebar/sidebar.component.js +1 -1
- package/development/sidebar/sidebar.js +1 -1
- package/development/sidebar-container.component-BDSoDAym.js +1 -1
- package/development/{sidebar.component-DvRTyNry.js → sidebar.component-BLqO52nH.js} +8 -1
- package/development/sidebar.js +1 -1
- package/development/sidebar.pure.js +1 -1
- package/development/slider/slider.component.js +1 -1
- package/development/{slider.component-BjfLnUvP.js → slider.component-C3qZB6ar.js} +2 -2
- package/development/slider.js +1 -1
- package/development/slider.pure.js +1 -1
- package/development/status/status.component.js +1 -1
- package/development/status.component-CPi1cPN0.js +111 -0
- package/development/status.js +1 -1
- package/development/status.pure.js +1 -1
- package/development/step-label.component-BJ9eainz.js +131 -0
- package/development/stepper/step-label/step-label.component.js +1 -1
- package/development/stepper/step-label.js +1 -1
- package/development/stepper.component-CxOBayI1.js +1 -1
- package/development/stepper.js +1 -1
- package/development/stepper.pure.js +1 -1
- package/development/sticky-bar.component-Dzrdsnxu.js +1 -1
- package/development/styles-D8-q-irv.js +1 -1
- package/development/styles-Jlhoev1S.js +14 -0
- package/development/tab-group.component-DldBA45K.js +275 -0
- package/development/{tab-label.component-14j2eh4Z.js → tab-label.component-B9e9kgVf.js} +2 -2
- package/development/tabs/common/styles.js +1 -1
- package/development/tabs/common.js +1 -1
- package/development/tabs/tab-group/tab-group.component.d.ts +1 -0
- package/development/tabs/tab-group/tab-group.component.d.ts.map +1 -1
- package/development/tabs/tab-group/tab-group.component.js +1 -1
- package/development/tabs/tab-group.js +1 -1
- package/development/tabs/tab-label/tab-label.component.js +1 -1
- package/development/tabs/tab-label.js +1 -1
- package/development/tabs.js +3 -3
- package/development/tabs.pure.js +3 -3
- package/development/tag/tag/tag.component.js +1 -1
- package/development/tag/tag.js +1 -1
- package/development/tag.component-Bl1nlIXQ.js +245 -0
- package/development/tag.js +1 -1
- package/development/tag.pure.js +1 -1
- package/development/teaser-hero/teaser-hero.component.js +1 -1
- package/development/{teaser-hero.component-DNlc8Tbl.js → teaser-hero.component-BIOpoGME.js} +2 -2
- package/development/teaser-hero.js +1 -1
- package/development/teaser-hero.pure.js +1 -1
- package/development/teaser-product-common-DYX370pm.js +1 -1
- package/development/time-input.component-BtdSR8kB.js +1 -1
- package/development/timetable-form/timetable-form/timetable-form.component.js +1 -1
- package/development/timetable-form/timetable-form-details/timetable-form-details.component.js +1 -1
- package/development/timetable-form/timetable-form-details.js +1 -1
- package/development/timetable-form/timetable-form-field/timetable-form-field.component.js +1 -1
- package/development/timetable-form/timetable-form-field.js +1 -1
- package/development/timetable-form/timetable-form-swap-button/timetable-form-swap-button.component.d.ts +3 -0
- package/development/timetable-form/timetable-form-swap-button/timetable-form-swap-button.component.d.ts.map +1 -1
- package/development/timetable-form/timetable-form-swap-button/timetable-form-swap-button.component.js +1 -1
- package/development/timetable-form/timetable-form-swap-button.js +1 -1
- package/development/timetable-form/timetable-form.js +1 -1
- package/development/timetable-form-details.component-DJl5Qt9y.js +26 -0
- package/development/timetable-form-field.component-DQ_TzcF4.js +44 -0
- package/development/{timetable-form-swap-button.component-BUKUjrpl.js → timetable-form-swap-button.component-Bh9aPmdn.js} +4 -1
- package/development/timetable-form.component-N8h4JBlH.js +27 -0
- package/development/timetable-form.js +4 -4
- package/development/timetable-form.pure.js +4 -4
- package/development/timetable-occupancy/timetable-occupancy.component.js +1 -1
- package/development/timetable-occupancy.component-BBcznUh0.js +124 -0
- package/development/timetable-occupancy.js +1 -1
- package/development/timetable-occupancy.pure.js +1 -1
- package/development/title/title-base.js +1 -1
- package/development/title/title.component.js +1 -1
- package/development/{title-base-CBE_2Hkb.js → title-base-BdYKwj3-.js} +2 -2
- package/development/{title.component-Dk23JVct.js → title.component-DSXVkddh.js} +2 -2
- package/development/title.js +2 -2
- package/development/title.pure.js +2 -2
- package/development/toast/toast.component.js +1 -1
- package/development/toast.component-IhHx0Qt3.js +275 -0
- package/development/toast.js +1 -1
- package/development/toast.pure.js +1 -1
- package/development/toggle/toggle/toggle.component.d.ts.map +1 -1
- package/development/toggle/toggle/toggle.component.js +1 -1
- package/development/toggle/toggle-option/toggle-option.component.d.ts +1 -0
- package/development/toggle/toggle-option/toggle-option.component.d.ts.map +1 -1
- package/development/toggle/toggle-option/toggle-option.component.js +1 -1
- package/development/toggle/toggle-option.js +1 -1
- package/development/toggle/toggle.js +1 -1
- package/development/toggle-check/toggle-check.component.js +1 -1
- package/development/toggle-check.component-_fDAuLob.js +159 -0
- package/development/toggle-check.js +1 -1
- package/development/toggle-check.pure.js +1 -1
- package/development/toggle-option.component-DTS3a603.js +167 -0
- package/development/toggle.component-BJpD1b9H.js +249 -0
- package/development/toggle.js +2 -2
- package/development/toggle.pure.js +2 -2
- package/development/tooltip/tooltip.component.js +1 -1
- package/development/tooltip.component-YaUQA-Id.js +378 -0
- package/development/tooltip.js +1 -1
- package/development/tooltip.pure.js +1 -1
- package/development/train/train-wagon/train-wagon.component.js +1 -1
- package/development/train/train-wagon.js +1 -1
- package/development/{train-wagon.component-BzA8-S_6.js → train-wagon.component-CNxkffOO.js} +2 -2
- package/development/train.js +1 -1
- package/development/train.pure.js +1 -1
- package/dialog/dialog/dialog.component.js +1 -1
- package/dialog/dialog.js +1 -1
- package/{dialog.component-B3oQbMki.js → dialog.component-Dv5ch5mh.js} +1 -1
- package/dialog.js +1 -1
- package/dialog.pure.js +1 -1
- package/{error.component-B_D8WUP5.js → error.component-DH9Obd7a.js} +1 -1
- package/expansion-panel/expansion-panel/expansion-panel.component.js +1 -1
- package/expansion-panel/expansion-panel-header/expansion-panel-header.component.js +1 -1
- package/expansion-panel/expansion-panel-header.js +1 -1
- package/expansion-panel/expansion-panel.js +1 -1
- package/{expansion-panel-header.component-B_dQ3ZWT.js → expansion-panel-header.component-FPoEEoZR.js} +1 -1
- package/{expansion-panel.component-BJCjwcoj.js → expansion-panel.component-DBnZ6IgB.js} +1 -1
- package/expansion-panel.js +2 -2
- package/expansion-panel.pure.js +2 -2
- package/file-selector/common/file-selector-common.js +1 -1
- package/file-selector/common.js +1 -1
- package/file-selector/file-selector-dropzone/file-selector-dropzone.component.js +1 -1
- package/file-selector/file-selector-dropzone.js +1 -1
- package/{file-selector-common-DN4vHMpP.js → file-selector-common-BL9mM4SZ.js} +38 -40
- package/{file-selector-dropzone.component-CBKsZsC2.js → file-selector-dropzone.component-Ctar2kEw.js} +3 -4
- package/file-selector.js +2 -2
- package/file-selector.pure.js +2 -2
- package/footer/footer.component.js +1 -1
- package/{footer.component-BM91Utiz.js → footer.component-b2docCY_.js} +1 -1
- package/footer.js +1 -1
- package/footer.pure.js +1 -1
- package/form-field/error/error.component.js +1 -1
- package/form-field/error.js +1 -1
- package/form-field/form-field/form-field.component.js +1 -1
- package/form-field/form-field.js +1 -1
- package/form-field/hint/hint.component.js +1 -1
- package/{form-field.component-D50q1wC0.js → form-field.component-BwZDRKbQ.js} +17 -16
- package/form-field.js +3 -3
- package/form-field.pure.js +3 -3
- package/header/header/header.component.js +1 -1
- package/header/header.js +1 -1
- package/{header.component-hZqs06Yh.js → header.component-UQUFcMOD.js} +1 -1
- package/header.js +1 -1
- package/header.pure.js +1 -1
- package/{hint.component-BVUUrSSu.js → hint.component-CE2D2TLU.js} +1 -1
- package/link/common/block-link-common.js +1 -1
- package/link/common.js +1 -1
- package/link.js +1 -1
- package/link.pure.js +1 -1
- package/message/message.component.js +1 -1
- package/message.component-DhN-aFms.js +27 -0
- package/message.js +1 -1
- package/message.pure.js +1 -1
- package/navigation/common/navigation-action-common.js +1 -1
- package/navigation/common.js +1 -1
- package/navigation/navigation-marker/navigation-marker.component.js +1 -1
- package/navigation/navigation-marker.js +1 -1
- package/navigation/navigation-section/navigation-section.component.js +1 -1
- package/navigation/navigation-section.js +1 -1
- package/{navigation-action-common-2ix0xrBs.js → navigation-action-common-AzRltwrb.js} +1 -1
- package/{navigation-marker.component-DKxK16IU.js → navigation-marker.component-BzbbKlfT.js} +1 -1
- package/{navigation-section.component-CvjXVn5r.js → navigation-section.component-DQxCi3O_.js} +1 -1
- package/navigation.js +3 -3
- package/navigation.pure.js +3 -3
- package/notification/notification.component.js +1 -1
- package/{notification.component-DjXJFh1G.js → notification.component-D80Wl5xM.js} +1 -1
- package/notification.js +1 -1
- package/notification.pure.js +1 -1
- package/off-brand-theme.css +209 -110
- package/option/option/option-base-element.js +1 -1
- package/option/option/option.component.js +1 -1
- package/option/option.js +1 -1
- package/{option.component-M-V_tdSC.js → option.component-2Xf1hz7y.js} +1 -1
- package/option.js +1 -1
- package/option.pure.js +1 -1
- package/package.json +1 -1
- package/paginator/compact-paginator/compact-paginator.component.js +1 -1
- package/paginator/compact-paginator.js +1 -1
- package/paginator/paginator/paginator.component.js +1 -1
- package/paginator/paginator.js +1 -1
- package/{paginator.component-CZt7Epaf.js → paginator.component-BEr0qU0m.js} +1 -1
- package/paginator.js +2 -2
- package/paginator.pure.js +2 -2
- package/popover/popover.component.js +1 -1
- package/{popover.component-DWNuW4wM.js → popover.component-DAgwBcBW.js} +32 -28
- package/popover.js +1 -1
- package/popover.pure.js +1 -1
- package/radio-button/common/radio-button-common.js +1 -1
- package/radio-button/common.js +1 -1
- package/radio-button/radio-button.component.js +1 -1
- package/radio-button/radio-button.js +1 -1
- package/{radio-button-common-DP4Izwwf.js → radio-button-common-C1mIf9KY.js} +1 -1
- package/{radio-button.component-BiGeOI5L.js → radio-button.component-Bae-yK_U.js} +1 -1
- package/radio-button.js +2 -2
- package/radio-button.pure.js +2 -2
- package/safety-theme.css +209 -110
- package/select/select.component.js +1 -1
- package/{select.component-DWLdApt_.js → select.component-BT6RbERH.js} +3 -3
- package/select.js +1 -1
- package/select.pure.js +1 -1
- package/sidebar/sidebar/sidebar.component.js +1 -1
- package/sidebar/sidebar.js +1 -1
- package/{sidebar.component-DxOx02l6.js → sidebar.component-Dsx1FAg0.js} +5 -3
- package/sidebar.js +1 -1
- package/sidebar.pure.js +1 -1
- package/slider/slider.component.js +1 -1
- package/{slider.component-CoqCppCq.js → slider.component-BlRVR6iU.js} +1 -1
- package/slider.js +1 -1
- package/slider.pure.js +1 -1
- package/standard-theme.css +209 -110
- package/status/status.component.js +1 -1
- package/{status.component-BFyXTFXH.js → status.component-lw_WDs7W.js} +1 -1
- package/status.js +1 -1
- package/status.pure.js +1 -1
- package/step-label.component-Dqis4FAN.js +80 -0
- package/stepper/step-label/step-label.component.js +1 -1
- package/stepper/step-label.js +1 -1
- package/stepper.js +1 -1
- package/stepper.pure.js +1 -1
- package/styles-BNu0Fjw5.js +5 -0
- package/{tab-group.component-Doy39cEh.js → tab-group.component-CHQlrhUy.js} +36 -33
- package/{tab-label.component-CD56RH1Z.js → tab-label.component-CpdUyfiq.js} +1 -1
- package/table.css +32 -37
- package/tabs/common/styles.js +1 -1
- package/tabs/common.js +1 -1
- package/tabs/tab-group/tab-group.component.js +1 -1
- package/tabs/tab-group.js +1 -1
- package/tabs/tab-label/tab-label.component.js +1 -1
- package/tabs/tab-label.js +1 -1
- package/tabs.js +3 -3
- package/tabs.pure.js +3 -3
- package/tag/tag/tag.component.js +1 -1
- package/tag/tag.js +1 -1
- package/{tag.component-CzYJZuFT.js → tag.component-CsNszQvB.js} +1 -1
- package/tag.js +1 -1
- package/tag.pure.js +1 -1
- package/teaser-hero/teaser-hero.component.js +1 -1
- package/{teaser-hero.component-CHy82SKQ.js → teaser-hero.component-D8yj-N5n.js} +1 -1
- package/teaser-hero.js +1 -1
- package/teaser-hero.pure.js +1 -1
- package/timetable-form/timetable-form/timetable-form.component.js +1 -1
- package/timetable-form/timetable-form-details/timetable-form-details.component.js +1 -1
- package/timetable-form/timetable-form-details.js +1 -1
- package/timetable-form/timetable-form-field/timetable-form-field.component.js +1 -1
- package/timetable-form/timetable-form-field.js +1 -1
- package/timetable-form/timetable-form.js +1 -1
- package/timetable-form-details.component-mWKaBW_9.js +16 -0
- package/timetable-form-field.component-Cv_lv8vf.js +32 -0
- package/{timetable-form.component-CU1FXAZH.js → timetable-form.component-YcvKAlfz.js} +1 -1
- package/timetable-form.js +3 -3
- package/timetable-form.pure.js +3 -3
- package/timetable-occupancy/timetable-occupancy.component.js +1 -1
- package/{timetable-occupancy.component-Db9SfiyD.js → timetable-occupancy.component-BCXPxz68.js} +1 -1
- package/timetable-occupancy.js +1 -1
- package/timetable-occupancy.pure.js +1 -1
- package/title/title-base.js +1 -1
- package/title/title.component.js +1 -1
- package/{title-base-D72Xo2SW.js → title-base-DV0qhfG9.js} +1 -1
- package/{title.component-CoMa84Sz.js → title.component-DAGyXwDm.js} +1 -1
- package/title.js +2 -2
- package/title.pure.js +2 -2
- package/toast/toast.component.js +1 -1
- package/{toast.component-BDE1vYLS.js → toast.component-CORnf2Tl.js} +3 -3
- package/toast.js +1 -1
- package/toast.pure.js +1 -1
- package/toggle/toggle/toggle.component.js +1 -1
- package/toggle/toggle-option/toggle-option.component.js +1 -1
- package/toggle/toggle-option.js +1 -1
- package/toggle/toggle.js +1 -1
- package/toggle-check/toggle-check.component.js +1 -1
- package/toggle-check.component-DvoslSRr.js +119 -0
- package/toggle-check.js +1 -1
- package/toggle-check.pure.js +1 -1
- package/{toggle-option.component-Bw-GXUQK.js → toggle-option.component-pX3tNwjE.js} +5 -7
- package/{toggle.component-BPpsMMPG.js → toggle.component-B20xAw1V.js} +6 -10
- package/toggle.js +2 -2
- package/toggle.pure.js +2 -2
- package/tooltip/tooltip.component.js +1 -1
- package/{tooltip.component-BY9mV5Sw.js → tooltip.component-ocVpJogs.js} +1 -1
- package/tooltip.js +1 -1
- package/tooltip.pure.js +1 -1
- package/train/train-wagon/train-wagon.component.js +1 -1
- package/train/train-wagon.js +1 -1
- package/{train-wagon.component-BwCcF4GD.js → train-wagon.component-BT4Xnzxr.js} +1 -1
- package/train.js +1 -1
- package/train.pure.js +1 -1
- package/button-common-yFVzAoGy.js +0 -87
- package/core/styles/table.scss +0 -156
- package/development/autocomplete-base-element-YwfObJzm.js +0 -678
- package/development/breadcrumb-group.component-B3Shlng3.js +0 -195
- package/development/calendar.component-6p9vsp-V.js +0 -1452
- package/development/card-badge.component-D4Mes-Gw.js +0 -84
- package/development/checkbox-common-DiTlHvFJ.js +0 -86
- package/development/chip-group.component-CvpUdzu1.js +0 -409
- package/development/compact-paginator.component-TfDVt_ST.js +0 -51
- package/development/datepicker-button-CANzGO5m.js +0 -163
- package/development/datepicker.component-C8XQVo45.js +0 -213
- package/development/error.component-xD_c9IBA.js +0 -55
- package/development/expansion-panel-header.component-Bw4uROTe.js +0 -85
- package/development/file-selector-common-C82QR3zb.js +0 -418
- package/development/file-selector-dropzone.component-B-cBO4bf.js +0 -112
- package/development/footer.component-BblB5218.js +0 -172
- package/development/form-field.component-BEXX0OcL.js +0 -702
- package/development/header.component-Cg0ZcA1s.js +0 -340
- package/development/hint.component-BsIzdUOV.js +0 -38
- package/development/message.component-CeJhYXSC.js +0 -44
- package/development/notification.component-Co9QChXc.js +0 -274
- package/development/option.component-CdL7fdzZ.js +0 -130
- package/development/paginator.component-DAdS2mMm.js +0 -259
- package/development/popover.component-BCMdJBUR.js +0 -537
- package/development/radio-button-common-C3-xuY78.js +0 -126
- package/development/select.component-CGNEhqzl.js +0 -812
- package/development/status.component-CHC2pBa-.js +0 -111
- package/development/step-label.component-CJFPHIZa.js +0 -131
- package/development/styles-DCQBzC2C.js +0 -14
- package/development/tab-group.component-DRipdAyc.js +0 -272
- package/development/tag.component-CnNPL6aI.js +0 -245
- package/development/timetable-form-details.component-C8awcdP5.js +0 -26
- package/development/timetable-form-field.component-BI24VjkC.js +0 -44
- package/development/timetable-form.component-CUG86CSN.js +0 -27
- package/development/timetable-occupancy.component-D_PXXvI9.js +0 -124
- package/development/toast.component-BnbpuU9L.js +0 -274
- package/development/toggle-check.component-BG4w_sE8.js +0 -159
- package/development/toggle-option.component-D-F7Fh7i.js +0 -168
- package/development/toggle.component-BFYLRN8o.js +0 -254
- package/development/tooltip.component-DzSd9VjW.js +0 -378
- package/message.component-BQjnZ5Z3.js +0 -27
- package/step-label.component-DnQBwnL8.js +0 -80
- package/styles-BUpK1iP2.js +0 -5
- package/timetable-form-details.component-CBZ7QSAx.js +0 -16
- package/timetable-form-field.component-BKxQQqt7.js +0 -32
- package/toggle-check.component-B6Ww5pLD.js +0 -119
|
@@ -1,378 +0,0 @@
|
|
|
1
|
-
import { __esDecorate, __runInitializers } from "tslib";
|
|
2
|
-
import { html, isServer, unsafeCSS } from "lit";
|
|
3
|
-
import { property } from "lit/decorators.js";
|
|
4
|
-
import { SbbOpenCloseBaseElement } from "./core/base-elements.js";
|
|
5
|
-
import { idReference } from "./core/decorators.js";
|
|
6
|
-
import { isAndroid, isIOS, isZeroAnimationDuration, queueDomContentLoaded } from "./core/dom.js";
|
|
7
|
-
import { SbbDisabledMixin, appendAriaElements, removeAriaElements } from "./core/mixins.js";
|
|
8
|
-
import { boxSizingStyles } from "./core/styles.js";
|
|
9
|
-
import { SbbEscapableOverlayController, SbbOverlayPositionController } from "./core/controllers.js";
|
|
10
|
-
import { sbbOverlayOutsidePointerEventListener } from "./core/overlay.js";
|
|
11
|
-
import { readConfig } from "./core/config.js";
|
|
12
|
-
//#region src/elements/tooltip/tooltip.scss?inline
|
|
13
|
-
var tooltip_default = ":host {\n --sbb-tooltip-pointer-events: all;\n --sbb-tooltip-min-width: var(--sbb-spacing-fixed-8x);\n --sbb-tooltip-max-width: min(\n 25rem,\n calc(100vw - var(--sbb-spacing-fixed-2x))\n );\n --sbb-tooltip-border-color: var(--sbb-background-color-1-inverted);\n --sbb-tooltip-border-radius: var(--sbb-border-radius-8x);\n --sbb-tooltip-padding: var(--sbb-spacing-fixed-2x) var(--sbb-spacing-fixed-4x);\n --sbb-tooltip-background-color: var(--sbb-background-color-1-inverted);\n --sbb-tooltip-color: var(--sbb-color-2-inverted);\n --sbb-tooltip-animation-duration: var(\n --sbb-disable-animation-duration,\n var(--sbb-animation-duration-4x)\n );\n --sbb-tooltip-animation-easing: ease-out;\n --sbb-tooltip-animation-translate: 0 var(--sbb-spacing-fixed-2x);\n --sbb-tooltip-gap: var(--sbb-spacing-fixed-2x);\n --sbb-overlay-position-area: block-start;\n --sbb-overlay-position-try-fallbacks:\n block-start span-inline-end, block-start span-inline-start, block-end,\n block-end span-inline-end, block-end span-inline-start;\n position-area: var(--sbb-overlay-position-area);\n position-try-fallbacks: var(--sbb-overlay-position-try-fallbacks);\n display: none;\n position: fixed;\n background-color: transparent;\n pointer-events: var(--sbb-tooltip-pointer-events);\n z-index: var(--sbb-tooltip-z-index, var(--sbb-overlay-default-z-index));\n animation-name: var(--sbb-tooltip-animation-name);\n animation-duration: var(--sbb-tooltip-animation-duration);\n animation-timing-function: var(--sbb-tooltip-animation-easing);\n border: none;\n inset: initial;\n padding: 0;\n margin: 0;\n}\n\n:host(:is(:is(:state(state-opening),[state--state-opening]), :is(:state(state-opened),[state--state-opened]), :is(:state(state-closing),[state--state-closing]))) {\n display: block;\n --sbb-tooltip-animation-name: open;\n}\n\n:host(:is(:state(state-closing),[state--state-closing])) {\n --sbb-tooltip-animation-name: close;\n --sbb-tooltip-pointer-events: none;\n}\n\n:host(:is([data-position~=block-end], [data-position~=bottom], [data-position^=end])) {\n padding-block-start: var(--sbb-tooltip-gap);\n}\n\n:host(:is([data-position~=block-start], [data-position~=top], [data-position^=start])) {\n padding-block-end: var(--sbb-tooltip-gap);\n}\n\n:host(:is([data-position~=inline-start],\n[data-position~=inline-end],\n[data-position~=left],\n[data-position~=right],\n[data-position$=\" start\"],\n[data-position$=\" end\"])) {\n padding-inline: var(--sbb-tooltip-gap);\n}\n\n.sbb-tooltip {\n box-shadow: var(--sbb-box-shadow-level-5-soft);\n --sbb-text-font-size: var(--sbb-text-font-size-xs);\n font-family: var(--sbb-typo-font-family);\n font-weight: normal;\n line-height: var(--sbb-typo-line-height-text);\n letter-spacing: var(--sbb-typo-letter-spacing-text);\n font-size: var(--sbb-text-font-size);\n border: var(--sbb-border-width-1x) solid var(--sbb-tooltip-border-color);\n border-radius: var(--sbb-tooltip-border-radius);\n padding: var(--sbb-tooltip-padding);\n color: var(--sbb-tooltip-color);\n background-color: var(--sbb-tooltip-background-color);\n min-width: var(--sbb-tooltip-min-width);\n max-width: var(--sbb-tooltip-max-width);\n}\n\n@keyframes open {\n from {\n opacity: 0;\n translate: var(--sbb-tooltip-animation-translate);\n }\n to {\n opacity: 1;\n translate: 0;\n }\n}\n@keyframes close {\n from {\n opacity: 1;\n translate: 0;\n }\n to {\n opacity: 0;\n translate: var(--sbb-tooltip-animation-translate);\n }\n}";
|
|
14
|
-
//#endregion
|
|
15
|
-
//#region src/elements/tooltip/tooltip.component.ts
|
|
16
|
-
/**
|
|
17
|
-
* Time between the user putting the pointer on a tooltip
|
|
18
|
-
* trigger and the long press event being fired.
|
|
19
|
-
*/
|
|
20
|
-
var LONGPRESS_DELAY = 500;
|
|
21
|
-
var isMobile = isAndroid || isIOS;
|
|
22
|
-
var tooltipTriggers = /* @__PURE__ */ new WeakMap();
|
|
23
|
-
var nextId = 0;
|
|
24
|
-
/**
|
|
25
|
-
* It displays text content within a tooltip.
|
|
26
|
-
*
|
|
27
|
-
* @slot - Use the unnamed slot to add the text into the tooltip.
|
|
28
|
-
* @cssprop [--sbb-overlay-position-area=block-end] - The primary position for the tooltip.
|
|
29
|
-
* @cssprop [--sbb-overlay-position-try-fallbacks=block-end span-inline-end, block-end span-inline-start, block-start, block-start span-inline-end, block-start span-inline-start] -
|
|
30
|
-
* The list of fallback positions, separated by ',', for the tooltip
|
|
31
|
-
* @cssprop [--sbb-tooltip-z-index=var(--sbb-overlay-default-z-index)] - To specify a custom stack order,
|
|
32
|
-
* the `z-index` can be overridden by defining this CSS variable. The default `z-index` of the
|
|
33
|
-
* component is set to `var(--sbb-overlay-default-z-index)` with a value of `1000`.
|
|
34
|
-
*/
|
|
35
|
-
var SbbTooltipElement = (() => {
|
|
36
|
-
let _classSuper = SbbDisabledMixin(SbbOpenCloseBaseElement);
|
|
37
|
-
let _instanceExtraInitializers = [];
|
|
38
|
-
let _trigger_decorators;
|
|
39
|
-
let _trigger_initializers = [];
|
|
40
|
-
let _trigger_extraInitializers = [];
|
|
41
|
-
let _set_openDelay_decorators;
|
|
42
|
-
let _set_closeDelay_decorators;
|
|
43
|
-
let _set_longPressCloseDelay_decorators;
|
|
44
|
-
return class SbbTooltipElement extends _classSuper {
|
|
45
|
-
static {
|
|
46
|
-
const _metadata = typeof Symbol === "function" && Symbol.metadata ? Object.create(_classSuper[Symbol.metadata] ?? null) : void 0;
|
|
47
|
-
_trigger_decorators = [idReference(), property()];
|
|
48
|
-
_set_openDelay_decorators = [property({
|
|
49
|
-
attribute: "open-delay",
|
|
50
|
-
type: Number
|
|
51
|
-
})];
|
|
52
|
-
_set_closeDelay_decorators = [property({
|
|
53
|
-
attribute: "close-delay",
|
|
54
|
-
type: Number
|
|
55
|
-
})];
|
|
56
|
-
_set_longPressCloseDelay_decorators = [property({
|
|
57
|
-
attribute: "long-press-close-delay",
|
|
58
|
-
type: Number
|
|
59
|
-
})];
|
|
60
|
-
__esDecorate(this, null, _trigger_decorators, {
|
|
61
|
-
kind: "accessor",
|
|
62
|
-
name: "trigger",
|
|
63
|
-
static: false,
|
|
64
|
-
private: false,
|
|
65
|
-
access: {
|
|
66
|
-
has: (obj) => "trigger" in obj,
|
|
67
|
-
get: (obj) => obj.trigger,
|
|
68
|
-
set: (obj, value) => {
|
|
69
|
-
obj.trigger = value;
|
|
70
|
-
}
|
|
71
|
-
},
|
|
72
|
-
metadata: _metadata
|
|
73
|
-
}, _trigger_initializers, _trigger_extraInitializers);
|
|
74
|
-
__esDecorate(this, null, _set_openDelay_decorators, {
|
|
75
|
-
kind: "setter",
|
|
76
|
-
name: "openDelay",
|
|
77
|
-
static: false,
|
|
78
|
-
private: false,
|
|
79
|
-
access: {
|
|
80
|
-
has: (obj) => "openDelay" in obj,
|
|
81
|
-
set: (obj, value) => {
|
|
82
|
-
obj.openDelay = value;
|
|
83
|
-
}
|
|
84
|
-
},
|
|
85
|
-
metadata: _metadata
|
|
86
|
-
}, null, _instanceExtraInitializers);
|
|
87
|
-
__esDecorate(this, null, _set_closeDelay_decorators, {
|
|
88
|
-
kind: "setter",
|
|
89
|
-
name: "closeDelay",
|
|
90
|
-
static: false,
|
|
91
|
-
private: false,
|
|
92
|
-
access: {
|
|
93
|
-
has: (obj) => "closeDelay" in obj,
|
|
94
|
-
set: (obj, value) => {
|
|
95
|
-
obj.closeDelay = value;
|
|
96
|
-
}
|
|
97
|
-
},
|
|
98
|
-
metadata: _metadata
|
|
99
|
-
}, null, _instanceExtraInitializers);
|
|
100
|
-
__esDecorate(this, null, _set_longPressCloseDelay_decorators, {
|
|
101
|
-
kind: "setter",
|
|
102
|
-
name: "longPressCloseDelay",
|
|
103
|
-
static: false,
|
|
104
|
-
private: false,
|
|
105
|
-
access: {
|
|
106
|
-
has: (obj) => "longPressCloseDelay" in obj,
|
|
107
|
-
set: (obj, value) => {
|
|
108
|
-
obj.longPressCloseDelay = value;
|
|
109
|
-
}
|
|
110
|
-
},
|
|
111
|
-
metadata: _metadata
|
|
112
|
-
}, null, _instanceExtraInitializers);
|
|
113
|
-
if (_metadata) Object.defineProperty(this, Symbol.metadata, {
|
|
114
|
-
enumerable: true,
|
|
115
|
-
configurable: true,
|
|
116
|
-
writable: true,
|
|
117
|
-
value: _metadata
|
|
118
|
-
});
|
|
119
|
-
}
|
|
120
|
-
static {
|
|
121
|
-
this.elementName = "sbb-tooltip";
|
|
122
|
-
}
|
|
123
|
-
static {
|
|
124
|
-
this.role = "tooltip";
|
|
125
|
-
}
|
|
126
|
-
static {
|
|
127
|
-
this.styles = [boxSizingStyles, unsafeCSS(tooltip_default)];
|
|
128
|
-
}
|
|
129
|
-
static {
|
|
130
|
-
if (!isServer) queueDomContentLoaded(() => this._initializeTooltipOutlet());
|
|
131
|
-
}
|
|
132
|
-
#trigger_accessor_storage;
|
|
133
|
-
/**
|
|
134
|
-
* The element that will trigger the tooltip overlay.
|
|
135
|
-
*
|
|
136
|
-
* For attribute usage, provide an id reference.
|
|
137
|
-
*/
|
|
138
|
-
get trigger() {
|
|
139
|
-
return this.#trigger_accessor_storage;
|
|
140
|
-
}
|
|
141
|
-
set trigger(value) {
|
|
142
|
-
this.#trigger_accessor_storage = value;
|
|
143
|
-
}
|
|
144
|
-
/**
|
|
145
|
-
* Open the tooltip after a given delay in milliseconds.
|
|
146
|
-
* Global configuration is used as default, if not set.
|
|
147
|
-
*
|
|
148
|
-
* @default null
|
|
149
|
-
*/
|
|
150
|
-
set openDelay(value) {
|
|
151
|
-
this._openDelay = value;
|
|
152
|
-
}
|
|
153
|
-
get openDelay() {
|
|
154
|
-
return this._openDelay ?? readConfig().tooltip?.openDelay ?? 0;
|
|
155
|
-
}
|
|
156
|
-
/**
|
|
157
|
-
* Close the tooltip after a given delay in milliseconds.
|
|
158
|
-
* Global configuration is used as default, if not set.
|
|
159
|
-
*
|
|
160
|
-
* @default null
|
|
161
|
-
*/
|
|
162
|
-
set closeDelay(value) {
|
|
163
|
-
this._closeDelay = value;
|
|
164
|
-
}
|
|
165
|
-
get closeDelay() {
|
|
166
|
-
return this._closeDelay ?? readConfig().tooltip?.closeDelay ?? 0;
|
|
167
|
-
}
|
|
168
|
-
/**
|
|
169
|
-
* Automatically close the tooltip after it has been open by long press.
|
|
170
|
-
* Global configuration is used as default, if not set.
|
|
171
|
-
*
|
|
172
|
-
* @default 1500
|
|
173
|
-
*/
|
|
174
|
-
set longPressCloseDelay(value) {
|
|
175
|
-
this._longPressCloseDelay = +value;
|
|
176
|
-
}
|
|
177
|
-
get longPressCloseDelay() {
|
|
178
|
-
return this._longPressCloseDelay ?? readConfig().tooltip?.longPressCloseDelay ?? 1500;
|
|
179
|
-
}
|
|
180
|
-
constructor() {
|
|
181
|
-
super();
|
|
182
|
-
this.#trigger_accessor_storage = (__runInitializers(this, _instanceExtraInitializers), __runInitializers(this, _trigger_initializers, null));
|
|
183
|
-
this._openDelay = (__runInitializers(this, _trigger_extraInitializers), null);
|
|
184
|
-
this._closeDelay = null;
|
|
185
|
-
this._triggerElement = null;
|
|
186
|
-
this._escapableOverlayController = new SbbEscapableOverlayController(this);
|
|
187
|
-
this._overlayController = new SbbOverlayPositionController(this);
|
|
188
|
-
this.addEventListener("mouseleave", (event) => {
|
|
189
|
-
if ((this.state === "opened" || this.state === "opening") && (!event.relatedTarget || !this._triggerElement?.contains(event.relatedTarget))) this._delayedClose();
|
|
190
|
-
}, { passive: true });
|
|
191
|
-
this.addEventListener("overlayOutsidePointer", () => this.close(), { passive: true });
|
|
192
|
-
this.addEventListener("animationend", (e) => this._onTooltipAnimationEnd(e), { passive: true });
|
|
193
|
-
}
|
|
194
|
-
static _initializeTooltipOutlet() {
|
|
195
|
-
this._tooltipOutlet = document.createElement("div");
|
|
196
|
-
this._tooltipOutlet.classList.add("sbb-overlay-outlet");
|
|
197
|
-
document.body.appendChild(this._tooltipOutlet);
|
|
198
|
-
new MutationObserver((mutations) => {
|
|
199
|
-
for (const mutation of mutations) if (mutation.type === "attributes") this._handleTooltipTrigger(mutation.target);
|
|
200
|
-
else if (mutation.type === "childList") for (const node of [...mutation.addedNodes, ...mutation.removedNodes].filter((n) => n.nodeType === n.ELEMENT_NODE)) {
|
|
201
|
-
this._handleTooltipTrigger(node);
|
|
202
|
-
this._findAndHandleTooltipTriggers(node);
|
|
203
|
-
}
|
|
204
|
-
}).observe(document.documentElement, {
|
|
205
|
-
attributeFilter: [
|
|
206
|
-
"sbb-tooltip",
|
|
207
|
-
"sbb-tooltip-open-delay",
|
|
208
|
-
"sbb-tooltip-close-delay",
|
|
209
|
-
"sbb-tooltip-position"
|
|
210
|
-
],
|
|
211
|
-
childList: true,
|
|
212
|
-
subtree: true
|
|
213
|
-
});
|
|
214
|
-
this._findAndHandleTooltipTriggers(document.body);
|
|
215
|
-
}
|
|
216
|
-
static _findAndHandleTooltipTriggers(root) {
|
|
217
|
-
root.querySelectorAll("[sbb-tooltip]").forEach((e) => this._handleTooltipTrigger(e));
|
|
218
|
-
}
|
|
219
|
-
static _handleTooltipTrigger(triggerElement) {
|
|
220
|
-
const tooltipMessage = triggerElement.getAttribute("sbb-tooltip");
|
|
221
|
-
let tooltip = tooltipTriggers.get(triggerElement);
|
|
222
|
-
if (tooltipMessage && triggerElement.isConnected) {
|
|
223
|
-
if (!tooltip) {
|
|
224
|
-
tooltip = document.createElement("sbb-tooltip");
|
|
225
|
-
tooltipTriggers.set(triggerElement, tooltip);
|
|
226
|
-
this._tooltipOutlet.appendChild(tooltip);
|
|
227
|
-
tooltip.trigger = triggerElement;
|
|
228
|
-
}
|
|
229
|
-
tooltip.textContent = tooltipMessage;
|
|
230
|
-
tooltip.openDelay = triggerElement.hasAttribute("sbb-tooltip-open-delay") ? +triggerElement.getAttribute("sbb-tooltip-open-delay") : null;
|
|
231
|
-
tooltip.closeDelay = triggerElement.hasAttribute("sbb-tooltip-close-delay") ? +triggerElement.getAttribute("sbb-tooltip-close-delay") : null;
|
|
232
|
-
const positions = triggerElement.hasAttribute("sbb-tooltip-position") ? triggerElement.getAttribute("sbb-tooltip-position").split(",").map((p) => p.trim()) : triggerElement.tooltipPositions;
|
|
233
|
-
if (positions && positions.length > 0) {
|
|
234
|
-
tooltip.style.setProperty("--sbb-overlay-position-area", positions[0]);
|
|
235
|
-
tooltip.style.setProperty("--sbb-overlay-position-try-fallbacks", positions.slice(1).join(", "));
|
|
236
|
-
} else {
|
|
237
|
-
tooltip.style.removeProperty("--sbb-overlay-position-area");
|
|
238
|
-
tooltip.style.removeProperty("--sbb-overlay-position-try-fallbacks");
|
|
239
|
-
}
|
|
240
|
-
} else if (tooltip) {
|
|
241
|
-
tooltipTriggers.delete(triggerElement);
|
|
242
|
-
tooltip._destroy?.();
|
|
243
|
-
}
|
|
244
|
-
}
|
|
245
|
-
connectedCallback() {
|
|
246
|
-
super.connectedCallback();
|
|
247
|
-
this.popover = "manual";
|
|
248
|
-
this.id ||= `sbb-tooltip-${++nextId}`;
|
|
249
|
-
this.state = "closed";
|
|
250
|
-
sbbOverlayOutsidePointerEventListener.connect(this);
|
|
251
|
-
if (this.hasUpdated && this.trigger) this._attach(this.trigger);
|
|
252
|
-
}
|
|
253
|
-
disconnectedCallback() {
|
|
254
|
-
super.disconnectedCallback();
|
|
255
|
-
sbbOverlayOutsidePointerEventListener.disconnect(this);
|
|
256
|
-
this._detach();
|
|
257
|
-
}
|
|
258
|
-
requestUpdate(name, oldValue, options) {
|
|
259
|
-
super.requestUpdate(name, oldValue, options);
|
|
260
|
-
if (isServer) return;
|
|
261
|
-
if ((!name || name === "trigger") && this.hasUpdated) this._attach(this.trigger);
|
|
262
|
-
}
|
|
263
|
-
firstUpdated(changedProperties) {
|
|
264
|
-
super.firstUpdated(changedProperties);
|
|
265
|
-
this._attach(this.trigger);
|
|
266
|
-
}
|
|
267
|
-
open() {
|
|
268
|
-
this._resetOpenCloseTimeout();
|
|
269
|
-
if (this.state !== "closed" && this.state !== "closing" || this.disabled || !this.trigger || !this.dispatchBeforeOpenEvent()) return;
|
|
270
|
-
this.showPopover?.();
|
|
271
|
-
this.state = "opening";
|
|
272
|
-
this._overlayController.connect(this.trigger);
|
|
273
|
-
if (this._isZeroAnimationDuration()) this._handleOpening();
|
|
274
|
-
}
|
|
275
|
-
close() {
|
|
276
|
-
this._resetOpenCloseTimeout();
|
|
277
|
-
if (this.state !== "opened" && this.state !== "opening") return;
|
|
278
|
-
this.dispatchBeforeCloseEvent();
|
|
279
|
-
this.state = "closing";
|
|
280
|
-
if (this._isZeroAnimationDuration()) this._handleClosing();
|
|
281
|
-
}
|
|
282
|
-
_delayedOpen() {
|
|
283
|
-
this._resetOpenCloseTimeout();
|
|
284
|
-
this._openTimeout = setTimeout(() => this.open(), this.openDelay);
|
|
285
|
-
}
|
|
286
|
-
_handleOpening() {
|
|
287
|
-
this.state = "opened";
|
|
288
|
-
this._escapableOverlayController.connect();
|
|
289
|
-
this.dispatchOpenEvent();
|
|
290
|
-
}
|
|
291
|
-
_delayedClose() {
|
|
292
|
-
this._resetOpenCloseTimeout();
|
|
293
|
-
this._closeTimeout = setTimeout(() => this.close(), this.closeDelay);
|
|
294
|
-
}
|
|
295
|
-
_handleClosing() {
|
|
296
|
-
this.state = "closed";
|
|
297
|
-
this.hidePopover?.();
|
|
298
|
-
this._overlayController.disconnect();
|
|
299
|
-
this._escapableOverlayController.disconnect();
|
|
300
|
-
this.dispatchCloseEvent();
|
|
301
|
-
this._openStateController?.abort();
|
|
302
|
-
}
|
|
303
|
-
_onTooltipAnimationEnd(event) {
|
|
304
|
-
if (event.animationName === "open" && this.state === "opening") this._handleOpening();
|
|
305
|
-
else if (event.animationName === "close" && this.state === "closing") this._handleClosing();
|
|
306
|
-
}
|
|
307
|
-
_attach(trigger) {
|
|
308
|
-
if (this._triggerElement) this._detach();
|
|
309
|
-
this._triggerElement = trigger;
|
|
310
|
-
if (!this._triggerElement) return;
|
|
311
|
-
this._triggerElement.ariaDescribedByElements = appendAriaElements(this._triggerElement.ariaDescribedByElements, this);
|
|
312
|
-
this._addTriggerEventHandlers();
|
|
313
|
-
}
|
|
314
|
-
_detach() {
|
|
315
|
-
this._triggerAbortController?.abort();
|
|
316
|
-
this._openStateController?.abort();
|
|
317
|
-
this._resetOpenCloseTimeout();
|
|
318
|
-
clearTimeout(this._longPressOpenTimeout);
|
|
319
|
-
clearTimeout(this._longPressCloseTimeout);
|
|
320
|
-
if (!this._triggerElement) return;
|
|
321
|
-
this._triggerElement.ariaDescribedByElements = removeAriaElements(this._triggerElement.ariaDescribedByElements, this);
|
|
322
|
-
this._triggerElement = null;
|
|
323
|
-
}
|
|
324
|
-
_destroy() {
|
|
325
|
-
this._detach();
|
|
326
|
-
this.remove();
|
|
327
|
-
}
|
|
328
|
-
_addTriggerEventHandlers() {
|
|
329
|
-
const trigger = this._triggerElement;
|
|
330
|
-
if (!trigger) return;
|
|
331
|
-
this._triggerAbortController?.abort();
|
|
332
|
-
this._triggerAbortController = new AbortController();
|
|
333
|
-
const options = {
|
|
334
|
-
signal: this._triggerAbortController.signal,
|
|
335
|
-
passive: true
|
|
336
|
-
};
|
|
337
|
-
if (!isMobile) {
|
|
338
|
-
trigger.addEventListener("mouseenter", () => this._delayedOpen(), options);
|
|
339
|
-
trigger.addEventListener("mouseleave", (event) => {
|
|
340
|
-
const newTarget = event.relatedTarget;
|
|
341
|
-
if (!newTarget || newTarget !== this) this._delayedClose();
|
|
342
|
-
}, options);
|
|
343
|
-
trigger.addEventListener("blur", () => this.close(), options);
|
|
344
|
-
trigger.addEventListener("focus", () => this._delayedOpen(), options);
|
|
345
|
-
}
|
|
346
|
-
trigger.addEventListener("touchstart", () => {
|
|
347
|
-
clearTimeout(this._longPressOpenTimeout);
|
|
348
|
-
clearTimeout(this._longPressCloseTimeout);
|
|
349
|
-
this._longPressOpenTimeout = setTimeout(() => this.open(), LONGPRESS_DELAY);
|
|
350
|
-
}, options);
|
|
351
|
-
trigger.addEventListener("touchend", () => {
|
|
352
|
-
clearTimeout(this._longPressOpenTimeout);
|
|
353
|
-
this._longPressCloseTimeout = setTimeout(() => this.close(), this.longPressCloseDelay);
|
|
354
|
-
}, options);
|
|
355
|
-
trigger.addEventListener("touchcancel", () => {
|
|
356
|
-
clearTimeout(this._longPressOpenTimeout);
|
|
357
|
-
}, options);
|
|
358
|
-
}
|
|
359
|
-
_isZeroAnimationDuration() {
|
|
360
|
-
return isZeroAnimationDuration(this, "--sbb-tooltip-animation-duration");
|
|
361
|
-
}
|
|
362
|
-
_resetOpenCloseTimeout() {
|
|
363
|
-
clearTimeout(this._openTimeout);
|
|
364
|
-
clearTimeout(this._closeTimeout);
|
|
365
|
-
}
|
|
366
|
-
render() {
|
|
367
|
-
return html`
|
|
368
|
-
<div class="sbb-tooltip">
|
|
369
|
-
<slot></slot>
|
|
370
|
-
</div>
|
|
371
|
-
`;
|
|
372
|
-
}
|
|
373
|
-
};
|
|
374
|
-
})();
|
|
375
|
-
//#endregion
|
|
376
|
-
export { SbbTooltipElement as t };
|
|
377
|
-
|
|
378
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidG9vbHRpcC5jb21wb25lbnQtRHpTZDlWalcuanMiLCJuYW1lcyI6W10sInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2VsZW1lbnRzL3Rvb2x0aXAvdG9vbHRpcC5zY3NzP2lubGluZSIsIi4uLy4uLy4uL3NyYy9lbGVtZW50cy90b29sdGlwL3Rvb2x0aXAuY29tcG9uZW50LnRzIl0sInNvdXJjZXNDb250ZW50IjpbIkB1c2UgJy4uL2NvcmUvc3R5bGVzJyBhcyBzYmI7XG5cbjpob3N0IHtcbiAgLS1zYmItdG9vbHRpcC1wb2ludGVyLWV2ZW50czogYWxsO1xuICAtLXNiYi10b29sdGlwLW1pbi13aWR0aDogdmFyKC0tc2JiLXNwYWNpbmctZml4ZWQtOHgpO1xuICAtLXNiYi10b29sdGlwLW1heC13aWR0aDogbWluKFxuICAgICN7c2JiLnB4LXRvLXJlbS1idWlsZCg0MDApfSxcbiAgICBjYWxjKDEwMHZ3IC0gdmFyKC0tc2JiLXNwYWNpbmctZml4ZWQtMngpKVxuICApO1xuICAtLXNiYi10b29sdGlwLWJvcmRlci1jb2xvcjogdmFyKC0tc2JiLWJhY2tncm91bmQtY29sb3ItMS1pbnZlcnRlZCk7XG4gIC0tc2JiLXRvb2x0aXAtYm9yZGVyLXJhZGl1czogdmFyKC0tc2JiLWJvcmRlci1yYWRpdXMtOHgpO1xuICAtLXNiYi10b29sdGlwLXBhZGRpbmc6IHZhcigtLXNiYi1zcGFjaW5nLWZpeGVkLTJ4KSB2YXIoLS1zYmItc3BhY2luZy1maXhlZC00eCk7XG4gIC0tc2JiLXRvb2x0aXAtYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tc2JiLWJhY2tncm91bmQtY29sb3ItMS1pbnZlcnRlZCk7XG4gIC0tc2JiLXRvb2x0aXAtY29sb3I6IHZhcigtLXNiYi1jb2xvci0yLWludmVydGVkKTtcbiAgLS1zYmItdG9vbHRpcC1hbmltYXRpb24tZHVyYXRpb246IHZhcihcbiAgICAtLXNiYi1kaXNhYmxlLWFuaW1hdGlvbi1kdXJhdGlvbixcbiAgICB2YXIoLS1zYmItYW5pbWF0aW9uLWR1cmF0aW9uLTR4KVxuICApO1xuICAtLXNiYi10b29sdGlwLWFuaW1hdGlvbi1lYXNpbmc6IGVhc2Utb3V0O1xuICAtLXNiYi10b29sdGlwLWFuaW1hdGlvbi10cmFuc2xhdGU6IDAgdmFyKC0tc2JiLXNwYWNpbmctZml4ZWQtMngpO1xuICAtLXNiYi10b29sdGlwLWdhcDogdmFyKC0tc2JiLXNwYWNpbmctZml4ZWQtMngpO1xuICAtLXNiYi1vdmVybGF5LXBvc2l0aW9uLWFyZWE6IGJsb2NrLXN0YXJ0O1xuICAtLXNiYi1vdmVybGF5LXBvc2l0aW9uLXRyeS1mYWxsYmFja3M6XG4gICAgYmxvY2stc3RhcnQgc3Bhbi1pbmxpbmUtZW5kLCBibG9jay1zdGFydCBzcGFuLWlubGluZS1zdGFydCwgYmxvY2stZW5kLFxuICAgIGJsb2NrLWVuZCBzcGFuLWlubGluZS1lbmQsIGJsb2NrLWVuZCBzcGFuLWlubGluZS1zdGFydDtcblxuICBwb3NpdGlvbi1hcmVhOiB2YXIoLS1zYmItb3ZlcmxheS1wb3NpdGlvbi1hcmVhKTtcbiAgcG9zaXRpb24tdHJ5LWZhbGxiYWNrczogdmFyKC0tc2JiLW92ZXJsYXktcG9zaXRpb24tdHJ5LWZhbGxiYWNrcyk7XG4gIGRpc3BsYXk6IG5vbmU7XG4gIHBvc2l0aW9uOiBmaXhlZDtcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIHBvaW50ZXItZXZlbnRzOiB2YXIoLS1zYmItdG9vbHRpcC1wb2ludGVyLWV2ZW50cyk7XG4gIHotaW5kZXg6IHZhcigtLXNiYi10b29sdGlwLXotaW5kZXgsIHZhcigtLXNiYi1vdmVybGF5LWRlZmF1bHQtei1pbmRleCkpO1xuICBhbmltYXRpb24tbmFtZTogdmFyKC0tc2JiLXRvb2x0aXAtYW5pbWF0aW9uLW5hbWUpO1xuICBhbmltYXRpb24tZHVyYXRpb246IHZhcigtLXNiYi10b29sdGlwLWFuaW1hdGlvbi1kdXJhdGlvbik7XG4gIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IHZhcigtLXNiYi10b29sdGlwLWFuaW1hdGlvbi1lYXNpbmcpO1xuXG4gIC8vIFJlc2V0IFtwb3BvdmVyXSBzdHlsZXNcbiAgYm9yZGVyOiBub25lO1xuICBpbnNldDogaW5pdGlhbDtcbiAgcGFkZGluZzogMDtcbiAgbWFyZ2luOiAwO1xufVxuXG46aG9zdCg6aXMoOnN0YXRlKHN0YXRlLW9wZW5pbmcpLCA6c3RhdGUoc3RhdGUtb3BlbmVkKSwgOnN0YXRlKHN0YXRlLWNsb3NpbmcpKSkge1xuICBkaXNwbGF5OiBibG9jaztcblxuICAtLXNiYi10b29sdGlwLWFuaW1hdGlvbi1uYW1lOiBvcGVuO1xufVxuXG46aG9zdCg6c3RhdGUoc3RhdGUtY2xvc2luZykpIHtcbiAgLS1zYmItdG9vbHRpcC1hbmltYXRpb24tbmFtZTogY2xvc2U7XG4gIC0tc2JiLXRvb2x0aXAtcG9pbnRlci1ldmVudHM6IG5vbmU7XG59XG5cbjpob3N0KDppcyhbZGF0YS1wb3NpdGlvbn49J2Jsb2NrLWVuZCddLCBbZGF0YS1wb3NpdGlvbn49J2JvdHRvbSddLCBbZGF0YS1wb3NpdGlvbl49J2VuZCddKSkge1xuICBwYWRkaW5nLWJsb2NrLXN0YXJ0OiB2YXIoLS1zYmItdG9vbHRpcC1nYXApO1xufVxuXG46aG9zdCg6aXMoW2RhdGEtcG9zaXRpb25+PSdibG9jay1zdGFydCddLCBbZGF0YS1wb3NpdGlvbn49J3RvcCddLCBbZGF0YS1wb3NpdGlvbl49J3N0YXJ0J10pKSB7XG4gIHBhZGRpbmctYmxvY2stZW5kOiB2YXIoLS1zYmItdG9vbHRpcC1nYXApO1xufVxuXG46aG9zdChcbiAgOmlzKFxuICAgIFtkYXRhLXBvc2l0aW9ufj0naW5saW5lLXN0YXJ0J10sXG4gICAgW2RhdGEtcG9zaXRpb25+PSdpbmxpbmUtZW5kJ10sXG4gICAgW2RhdGEtcG9zaXRpb25+PSdsZWZ0J10sXG4gICAgW2RhdGEtcG9zaXRpb25+PSdyaWdodCddLFxuICAgIFtkYXRhLXBvc2l0aW9uJD0nIHN0YXJ0J10sXG4gICAgW2RhdGEtcG9zaXRpb24kPScgZW5kJ11cbiAgKVxuKSB7XG4gIC8vIEFkZCBhIGdhcCBvbiBib3RoIHNpZGVzIHRvIGRpc3RhbmNlIHRoZSB0b29sdGlwIGZyb20gdGhlIHRyaWdnZXIgYW5kIHRoZSBlZGdlIG9mIHRoZSB2aWV3cG9ydC5cbiAgcGFkZGluZy1pbmxpbmU6IHZhcigtLXNiYi10b29sdGlwLWdhcCk7XG59XG5cbi5zYmItdG9vbHRpcCB7XG4gIGJveC1zaGFkb3c6IHZhcigtLXNiYi1ib3gtc2hhZG93LWxldmVsLTUtc29mdCk7XG4gIEBpbmNsdWRlIHNiYi50ZXh0LXhzLS1yZWd1bGFyO1xuXG4gIGJvcmRlcjogdmFyKC0tc2JiLWJvcmRlci13aWR0aC0xeCkgc29saWQgdmFyKC0tc2JiLXRvb2x0aXAtYm9yZGVyLWNvbG9yKTtcbiAgYm9yZGVyLXJhZGl1czogdmFyKC0tc2JiLXRvb2x0aXAtYm9yZGVyLXJhZGl1cyk7XG4gIHBhZGRpbmc6IHZhcigtLXNiYi10b29sdGlwLXBhZGRpbmcpO1xuICBjb2xvcjogdmFyKC0tc2JiLXRvb2x0aXAtY29sb3IpO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1zYmItdG9vbHRpcC1iYWNrZ3JvdW5kLWNvbG9yKTtcbiAgbWluLXdpZHRoOiB2YXIoLS1zYmItdG9vbHRpcC1taW4td2lkdGgpO1xuICBtYXgtd2lkdGg6IHZhcigtLXNiYi10b29sdGlwLW1heC13aWR0aCk7XG59XG5cbkBrZXlmcmFtZXMgb3BlbiB7XG4gIGZyb20ge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgdHJhbnNsYXRlOiB2YXIoLS1zYmItdG9vbHRpcC1hbmltYXRpb24tdHJhbnNsYXRlKTtcbiAgfVxuXG4gIHRvIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIHRyYW5zbGF0ZTogMDtcbiAgfVxufVxuXG5Aa2V5ZnJhbWVzIGNsb3NlIHtcbiAgZnJvbSB7XG4gICAgb3BhY2l0eTogMTtcbiAgICB0cmFuc2xhdGU6IDA7XG4gIH1cblxuICB0byB7XG4gICAgb3BhY2l0eTogMDtcbiAgICB0cmFuc2xhdGU6IHZhcigtLXNiYi10b29sdGlwLWFuaW1hdGlvbi10cmFuc2xhdGUpO1xuICB9XG59XG4iLCJpbXBvcnQge1xuICB0eXBlIENTU1Jlc3VsdEdyb3VwLFxuICBodG1sLFxuICBpc1NlcnZlcixcbiAgdHlwZSBQcm9wZXJ0eURlY2xhcmF0aW9uLFxuICB0eXBlIFByb3BlcnR5VmFsdWVzLFxuICB0eXBlIFRlbXBsYXRlUmVzdWx0LFxuICB1bnNhZmVDU1MsXG59IGZyb20gJ2xpdCc7XG5pbXBvcnQgeyBwcm9wZXJ0eSB9IGZyb20gJ2xpdC9kZWNvcmF0b3JzLmpzJztcblxuaW1wb3J0IHsgU2JiT3BlbkNsb3NlQmFzZUVsZW1lbnQgfSBmcm9tICcuLi9jb3JlL2Jhc2UtZWxlbWVudHMudHMnO1xuaW1wb3J0IHsgcmVhZENvbmZpZyB9IGZyb20gJy4uL2NvcmUvY29uZmlnLnRzJztcbmltcG9ydCB7XG4gIFNiYkVzY2FwYWJsZU92ZXJsYXlDb250cm9sbGVyLFxuICBTYmJPdmVybGF5UG9zaXRpb25Db250cm9sbGVyLFxufSBmcm9tICcuLi9jb3JlL2NvbnRyb2xsZXJzLnRzJztcbmltcG9ydCB7IGlkUmVmZXJlbmNlIH0gZnJvbSAnLi4vY29yZS9kZWNvcmF0b3JzLnRzJztcbmltcG9ydCB7IGlzQW5kcm9pZCwgaXNJT1MsIGlzWmVyb0FuaW1hdGlvbkR1cmF0aW9uLCBxdWV1ZURvbUNvbnRlbnRMb2FkZWQgfSBmcm9tICcuLi9jb3JlL2RvbS50cyc7XG5pbXBvcnQgeyBhcHBlbmRBcmlhRWxlbWVudHMsIHJlbW92ZUFyaWFFbGVtZW50cywgU2JiRGlzYWJsZWRNaXhpbiB9IGZyb20gJy4uL2NvcmUvbWl4aW5zLnRzJztcbmltcG9ydCB7IHNiYk92ZXJsYXlPdXRzaWRlUG9pbnRlckV2ZW50TGlzdGVuZXIgfSBmcm9tICcuLi9jb3JlL292ZXJsYXkudHMnO1xuaW1wb3J0IHsgYm94U2l6aW5nU3R5bGVzIH0gZnJvbSAnLi4vY29yZS9zdHlsZXMudHMnO1xuXG5pbXBvcnQgc3R5bGUgZnJvbSAnLi90b29sdGlwLnNjc3M/aW5saW5lJztcblxuLyoqXG4gKiBEZWZpbmVzIHRoZSBkZWZhdWx0IHBvc2l0aW9uIGZvciB0aGUgdG9vbHRpcCBpZiB0aGlzIGVsZW1lbnQgaXMgdXNlZCBhcyBhIHRyaWdnZXIuXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgU2JiVG9vbHRpcERlZmF1bHRQb3NpdGlvbnMge1xuICByZWFkb25seSB0b29sdGlwUG9zaXRpb25zOiBzdHJpbmdbXTtcbn1cblxuLyoqXG4gKiBUaW1lIGJldHdlZW4gdGhlIHVzZXIgcHV0dGluZyB0aGUgcG9pbnRlciBvbiBhIHRvb2x0aXBcbiAqIHRyaWdnZXIgYW5kIHRoZSBsb25nIHByZXNzIGV2ZW50IGJlaW5nIGZpcmVkLlxuICovXG5jb25zdCBMT05HUFJFU1NfREVMQVkgPSA1MDA7XG5cbmNvbnN0IGlzTW9iaWxlID0gaXNBbmRyb2lkIHx8IGlzSU9TO1xuY29uc3QgdG9vbHRpcFRyaWdnZXJzID0gbmV3IFdlYWtNYXA8SFRNTEVsZW1lbnQsIFNiYlRvb2x0aXBFbGVtZW50PigpO1xubGV0IG5leHRJZCA9IDA7XG5cbi8qKlxuICogSXQgZGlzcGxheXMgdGV4dCBjb250ZW50IHdpdGhpbiBhIHRvb2x0aXAuXG4gKlxuICogQHNsb3QgLSBVc2UgdGhlIHVubmFtZWQgc2xvdCB0byBhZGQgdGhlIHRleHQgaW50byB0aGUgdG9vbHRpcC5cbiAqIEBjc3Nwcm9wIFstLXNiYi1vdmVybGF5LXBvc2l0aW9uLWFyZWE9YmxvY2stZW5kXSAtIFRoZSBwcmltYXJ5IHBvc2l0aW9uIGZvciB0aGUgdG9vbHRpcC5cbiAqIEBjc3Nwcm9wIFstLXNiYi1vdmVybGF5LXBvc2l0aW9uLXRyeS1mYWxsYmFja3M9YmxvY2stZW5kIHNwYW4taW5saW5lLWVuZCwgYmxvY2stZW5kIHNwYW4taW5saW5lLXN0YXJ0LCBibG9jay1zdGFydCwgYmxvY2stc3RhcnQgc3Bhbi1pbmxpbmUtZW5kLCBibG9jay1zdGFydCBzcGFuLWlubGluZS1zdGFydF0gLVxuICogVGhlIGxpc3Qgb2YgZmFsbGJhY2sgcG9zaXRpb25zLCBzZXBhcmF0ZWQgYnkgJywnLCBmb3IgdGhlIHRvb2x0aXBcbiAqIEBjc3Nwcm9wIFstLXNiYi10b29sdGlwLXotaW5kZXg9dmFyKC0tc2JiLW92ZXJsYXktZGVmYXVsdC16LWluZGV4KV0gLSBUbyBzcGVjaWZ5IGEgY3VzdG9tIHN0YWNrIG9yZGVyLFxuICogdGhlIGB6LWluZGV4YCBjYW4gYmUgb3ZlcnJpZGRlbiBieSBkZWZpbmluZyB0aGlzIENTUyB2YXJpYWJsZS4gVGhlIGRlZmF1bHQgYHotaW5kZXhgIG9mIHRoZVxuICogY29tcG9uZW50IGlzIHNldCB0byBgdmFyKC0tc2JiLW92ZXJsYXktZGVmYXVsdC16LWluZGV4KWAgd2l0aCBhIHZhbHVlIG9mIGAxMDAwYC5cbiAqL1xuZXhwb3J0IGNsYXNzIFNiYlRvb2x0aXBFbGVtZW50IGV4dGVuZHMgU2JiRGlzYWJsZWRNaXhpbihTYmJPcGVuQ2xvc2VCYXNlRWxlbWVudCkge1xuICBwdWJsaWMgc3RhdGljIG92ZXJyaWRlIHJlYWRvbmx5IGVsZW1lbnROYW1lOiBzdHJpbmcgPSAnc2JiLXRvb2x0aXAnO1xuICBwdWJsaWMgc3RhdGljIG92ZXJyaWRlIHJlYWRvbmx5IHJvbGUgPSAndG9vbHRpcCc7XG4gIHB1YmxpYyBzdGF0aWMgb3ZlcnJpZGUgc3R5bGVzOiBDU1NSZXN1bHRHcm91cCA9IFtib3hTaXppbmdTdHlsZXMsIHVuc2FmZUNTUyhzdHlsZSldO1xuXG4gIHByaXZhdGUgc3RhdGljIF90b29sdGlwT3V0bGV0OiBFbGVtZW50O1xuXG4gIHN0YXRpYyB7XG4gICAgaWYgKCFpc1NlcnZlcikge1xuICAgICAgLy8gV2UgZG9uJ3Qgd2FudCB0byBibG9jayBleGVjdXRpb24gZm9yIGluaXRpYWxpemF0aW9uLFxuICAgICAgLy8gc28gd2UgZGVmZXIgaXQgdW50aWwgdGhlIERPTSBjb250ZW50IGlzIGxvYWRlZC5cbiAgICAgIHF1ZXVlRG9tQ29udGVudExvYWRlZCgoKSA9PiB0aGlzLl9pbml0aWFsaXplVG9vbHRpcE91dGxldCgpKTtcbiAgICB9XG4gIH1cblxuICAvKipcbiAgICogVGhlIGVsZW1lbnQgdGhhdCB3aWxsIHRyaWdnZXIgdGhlIHRvb2x0aXAgb3ZlcmxheS5cbiAgICpcbiAgICogRm9yIGF0dHJpYnV0ZSB1c2FnZSwgcHJvdmlkZSBhbiBpZCByZWZlcmVuY2UuXG4gICAqL1xuICBAaWRSZWZlcmVuY2UoKVxuICBAcHJvcGVydHkoKVxuICBwdWJsaWMgYWNjZXNzb3IgdHJpZ2dlcjogSFRNTEVsZW1lbnQgfCBudWxsID0gbnVsbDtcblxuICAvKipcbiAgICogT3BlbiB0aGUgdG9vbHRpcCBhZnRlciBhIGdpdmVuIGRlbGF5IGluIG1pbGxpc2Vjb25kcy5cbiAgICogR2xvYmFsIGNvbmZpZ3VyYXRpb24gaXMgdXNlZCBhcyBkZWZhdWx0LCBpZiBub3Qgc2V0LlxuICAgKlxuICAgKiBAZGVmYXVsdCBudWxsXG4gICAqL1xuICBAcHJvcGVydHkoeyBhdHRyaWJ1dGU6ICdvcGVuLWRlbGF5JywgdHlwZTogTnVtYmVyIH0pXG4gIHB1YmxpYyBzZXQgb3BlbkRlbGF5KHZhbHVlOiBudW1iZXIgfCBudWxsKSB7XG4gICAgdGhpcy5fb3BlbkRlbGF5ID0gdmFsdWU7XG4gIH1cbiAgcHVibGljIGdldCBvcGVuRGVsYXkoKTogbnVtYmVyIHtcbiAgICByZXR1cm4gdGhpcy5fb3BlbkRlbGF5ID8/IHJlYWRDb25maWcoKS50b29sdGlwPy5vcGVuRGVsYXkgPz8gMDtcbiAgfVxuICBwcml2YXRlIF9vcGVuRGVsYXk6IG51bWJlciB8IG51bGwgPSBudWxsO1xuXG4gIC8qKlxuICAgKiBDbG9zZSB0aGUgdG9vbHRpcCBhZnRlciBhIGdpdmVuIGRlbGF5IGluIG1pbGxpc2Vjb25kcy5cbiAgICogR2xvYmFsIGNvbmZpZ3VyYXRpb24gaXMgdXNlZCBhcyBkZWZhdWx0LCBpZiBub3Qgc2V0LlxuICAgKlxuICAgKiBAZGVmYXVsdCBudWxsXG4gICAqL1xuICBAcHJvcGVydHkoeyBhdHRyaWJ1dGU6ICdjbG9zZS1kZWxheScsIHR5cGU6IE51bWJlciB9KVxuICBwdWJsaWMgc2V0IGNsb3NlRGVsYXkodmFsdWU6IG51bWJlciB8IG51bGwpIHtcbiAgICB0aGlzLl9jbG9zZURlbGF5ID0gdmFsdWU7XG4gIH1cbiAgcHVibGljIGdldCBjbG9zZURlbGF5KCk6IG51bWJlciB7XG4gICAgcmV0dXJuIHRoaXMuX2Nsb3NlRGVsYXkgPz8gcmVhZENvbmZpZygpLnRvb2x0aXA/LmNsb3NlRGVsYXkgPz8gMDtcbiAgfVxuICBwcml2YXRlIF9jbG9zZURlbGF5OiBudW1iZXIgfCBudWxsID0gbnVsbDtcblxuICAvKipcbiAgICogQXV0b21hdGljYWxseSBjbG9zZSB0aGUgdG9vbHRpcCBhZnRlciBpdCBoYXMgYmVlbiBvcGVuIGJ5IGxvbmcgcHJlc3MuXG4gICAqIEdsb2JhbCBjb25maWd1cmF0aW9uIGlzIHVzZWQgYXMgZGVmYXVsdCwgaWYgbm90IHNldC5cbiAgICpcbiAgICogQGRlZmF1bHQgMTUwMFxuICAgKi9cbiAgQHByb3BlcnR5KHsgYXR0cmlidXRlOiAnbG9uZy1wcmVzcy1jbG9zZS1kZWxheScsIHR5cGU6IE51bWJlciB9KVxuICBwdWJsaWMgc2V0IGxvbmdQcmVzc0Nsb3NlRGVsYXkodmFsdWU6IG51bWJlcikge1xuICAgIHRoaXMuX2xvbmdQcmVzc0Nsb3NlRGVsYXkgPSArdmFsdWU7XG4gIH1cbiAgcHVibGljIGdldCBsb25nUHJlc3NDbG9zZURlbGF5KCk6IG51bWJlciB7XG4gICAgcmV0dXJuIHRoaXMuX2xvbmdQcmVzc0Nsb3NlRGVsYXkgPz8gcmVhZENvbmZpZygpLnRvb2x0aXA/LmxvbmdQcmVzc0Nsb3NlRGVsYXkgPz8gMTUwMDtcbiAgfVxuICBwcml2YXRlIF9sb25nUHJlc3NDbG9zZURlbGF5PzogbnVtYmVyO1xuXG4gIHByaXZhdGUgX3RyaWdnZXJFbGVtZW50OiBIVE1MRWxlbWVudCB8IG51bGwgPSBudWxsO1xuICBwcml2YXRlIF90cmlnZ2VyQWJvcnRDb250cm9sbGVyPzogQWJvcnRDb250cm9sbGVyO1xuICBwcml2YXRlIF9vcGVuU3RhdGVDb250cm9sbGVyITogQWJvcnRDb250cm9sbGVyO1xuICBwcml2YXRlIF9lc2NhcGFibGVPdmVybGF5Q29udHJvbGxlciA9IG5ldyBTYmJFc2NhcGFibGVPdmVybGF5Q29udHJvbGxlcih0aGlzKTtcbiAgcHJpdmF0ZSBfb3ZlcmxheUNvbnRyb2xsZXIgPSBuZXcgU2JiT3ZlcmxheVBvc2l0aW9uQ29udHJvbGxlcih0aGlzKTtcbiAgcHJpdmF0ZSBfb3BlblRpbWVvdXQ/OiBSZXR1cm5UeXBlPHR5cGVvZiBzZXRUaW1lb3V0PjtcbiAgcHJpdmF0ZSBfY2xvc2VUaW1lb3V0PzogUmV0dXJuVHlwZTx0eXBlb2Ygc2V0VGltZW91dD47XG4gIHByaXZhdGUgX2xvbmdQcmVzc09wZW5UaW1lb3V0PzogUmV0dXJuVHlwZTx0eXBlb2Ygc2V0VGltZW91dD47XG4gIHByaXZhdGUgX2xvbmdQcmVzc0Nsb3NlVGltZW91dD86IFJldHVyblR5cGU8dHlwZW9mIHNldFRpbWVvdXQ+O1xuXG4gIHB1YmxpYyBjb25zdHJ1Y3RvcigpIHtcbiAgICBzdXBlcigpO1xuXG4gICAgLy8gVW50aWwgdGhlIG1vdXNlIGhvdmVycyB0aGUgdG9vbHRpcCwgaXQgc3RheXMgb3Blbi5cbiAgICAvLyBPbiAnbW91c2VsZWF2ZScgKGlmIHRoZSBtb3VzZSBpcyBub3QgbW92ZWQgb250byB0aGUgdHJpZ2dlciBhZ2FpbiksIGNsb3NlIGl0LlxuICAgIHRoaXMuYWRkRXZlbnRMaXN0ZW5lcihcbiAgICAgICdtb3VzZWxlYXZlJyxcbiAgICAgIChldmVudCkgPT4ge1xuICAgICAgICBpZiAoXG4gICAgICAgICAgKHRoaXMuc3RhdGUgPT09ICdvcGVuZWQnIHx8IHRoaXMuc3RhdGUgPT09ICdvcGVuaW5nJykgJiZcbiAgICAgICAgICAoIWV2ZW50LnJlbGF0ZWRUYXJnZXQgfHwgIXRoaXMuX3RyaWdnZXJFbGVtZW50Py5jb250YWlucyhldmVudC5yZWxhdGVkVGFyZ2V0IGFzIE5vZGUpKVxuICAgICAgICApIHtcbiAgICAgICAgICB0aGlzLl9kZWxheWVkQ2xvc2UoKTtcbiAgICAgICAgfVxuICAgICAgfSxcbiAgICAgIHsgcGFzc2l2ZTogdHJ1ZSB9LFxuICAgICk7XG5cbiAgICAvLyBBbnkgdXNlciBpbnRlcmFjdGlvbiBvdXRzaWRlIHRoZSB0b29sdGlwIGNsb3NlcyBpdCBpbW1lZGlhdGVseVxuICAgIHRoaXMuYWRkRXZlbnRMaXN0ZW5lcignb3ZlcmxheU91dHNpZGVQb2ludGVyJywgKCkgPT4gdGhpcy5jbG9zZSgpLCB7IHBhc3NpdmU6IHRydWUgfSk7XG5cbiAgICB0aGlzLmFkZEV2ZW50TGlzdGVuZXIoJ2FuaW1hdGlvbmVuZCcsIChlKSA9PiB0aGlzLl9vblRvb2x0aXBBbmltYXRpb25FbmQoZSksIHsgcGFzc2l2ZTogdHJ1ZSB9KTtcbiAgfVxuXG4gIHByaXZhdGUgc3RhdGljIF9pbml0aWFsaXplVG9vbHRpcE91dGxldCgpOiB2b2lkIHtcbiAgICB0aGlzLl90b29sdGlwT3V0bGV0ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnZGl2Jyk7XG4gICAgdGhpcy5fdG9vbHRpcE91dGxldC5jbGFzc0xpc3QuYWRkKCdzYmItb3ZlcmxheS1vdXRsZXQnKTtcbiAgICBkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHRoaXMuX3Rvb2x0aXBPdXRsZXQpO1xuXG4gICAgLy8gV2UgYXJlIHVzaW5nIE11dGF0aW9uT2JzZXJ2ZXIgZGlyZWN0bHkgaGVyZSwgYXMgaXQgd2lsbCBvbmx5IGJlIGNhbGxlZCBvbiBjbGllbnQgc2lkZSxcbiAgICAvLyBhbmQgd2UgZG8gbm90IG5lZWQgdG8gZGlzY29ubmVjdCBpdCwgYXMgd2Ugd2FudCBpdCB0byB3b3JrIGR1cmluZyB0aGUgZnVsbCBsaWZldGltZVxuICAgIC8vIG9mIHRoZSBwYWdlLlxuICAgIG5ldyBNdXRhdGlvbk9ic2VydmVyKChtdXRhdGlvbnMpID0+IHtcbiAgICAgIGZvciAoY29uc3QgbXV0YXRpb24gb2YgbXV0YXRpb25zKSB7XG4gICAgICAgIGlmIChtdXRhdGlvbi50eXBlID09PSAnYXR0cmlidXRlcycpIHtcbiAgICAgICAgICB0aGlzLl9oYW5kbGVUb29sdGlwVHJpZ2dlcihtdXRhdGlvbi50YXJnZXQgYXMgSFRNTEVsZW1lbnQpO1xuICAgICAgICB9IGVsc2UgaWYgKG11dGF0aW9uLnR5cGUgPT09ICdjaGlsZExpc3QnKSB7XG4gICAgICAgICAgZm9yIChjb25zdCBub2RlIG9mIFsuLi5tdXRhdGlvbi5hZGRlZE5vZGVzLCAuLi5tdXRhdGlvbi5yZW1vdmVkTm9kZXNdLmZpbHRlcihcbiAgICAgICAgICAgIChuKTogbiBpcyBIVE1MRWxlbWVudCA9PiBuLm5vZGVUeXBlID09PSBuLkVMRU1FTlRfTk9ERSxcbiAgICAgICAgICApKSB7XG4gICAgICAgICAgICB0aGlzLl9oYW5kbGVUb29sdGlwVHJpZ2dlcihub2RlKTtcbiAgICAgICAgICAgIHRoaXMuX2ZpbmRBbmRIYW5kbGVUb29sdGlwVHJpZ2dlcnMobm9kZSk7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfSkub2JzZXJ2ZShkb2N1bWVudC5kb2N1bWVudEVsZW1lbnQsIHtcbiAgICAgIGF0dHJpYnV0ZUZpbHRlcjogW1xuICAgICAgICAnc2JiLXRvb2x0aXAnLFxuICAgICAgICAnc2JiLXRvb2x0aXAtb3Blbi1kZWxheScsXG4gICAgICAgICdzYmItdG9vbHRpcC1jbG9zZS1kZWxheScsXG4gICAgICAgICdzYmItdG9vbHRpcC1wb3NpdGlvbicsXG4gICAgICBdLFxuICAgICAgY2hpbGRMaXN0OiB0cnVlLFxuICAgICAgc3VidHJlZTogdHJ1ZSxcbiAgICB9KTtcbiAgICB0aGlzLl9maW5kQW5kSGFuZGxlVG9vbHRpcFRyaWdnZXJzKGRvY3VtZW50LmJvZHkpO1xuICB9XG5cbiAgcHJpdmF0ZSBzdGF0aWMgX2ZpbmRBbmRIYW5kbGVUb29sdGlwVHJpZ2dlcnMocm9vdDogSFRNTEVsZW1lbnQpOiB2b2lkIHtcbiAgICByb290XG4gICAgICAucXVlcnlTZWxlY3RvckFsbDxIVE1MRWxlbWVudD4oJ1tzYmItdG9vbHRpcF0nKVxuICAgICAgLmZvckVhY2goKGUpID0+IHRoaXMuX2hhbmRsZVRvb2x0aXBUcmlnZ2VyKGUpKTtcbiAgfVxuXG4gIHByaXZhdGUgc3RhdGljIF9oYW5kbGVUb29sdGlwVHJpZ2dlcih0cmlnZ2VyRWxlbWVudDogSFRNTEVsZW1lbnQpOiB2b2lkIHtcbiAgICBjb25zdCB0b29sdGlwTWVzc2FnZSA9IHRyaWdnZXJFbGVtZW50LmdldEF0dHJpYnV0ZSgnc2JiLXRvb2x0aXAnKTtcbiAgICBsZXQgdG9vbHRpcCA9IHRvb2x0aXBUcmlnZ2Vycy5nZXQodHJpZ2dlckVsZW1lbnQpO1xuXG4gICAgaWYgKHRvb2x0aXBNZXNzYWdlICYmIHRyaWdnZXJFbGVtZW50LmlzQ29ubmVjdGVkKSB7XG4gICAgICBpZiAoIXRvb2x0aXApIHtcbiAgICAgICAgLy8gQ3JlYXRlIGEgbmV3IHNiYi10b29sdGlwIGluIHRoZSBvdXRsZXQgYW5kIGF0dGFjaCBpdCB0byB0aGUgdHJpZ2dlclxuICAgICAgICB0b29sdGlwID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnc2JiLXRvb2x0aXAnKTtcbiAgICAgICAgdG9vbHRpcFRyaWdnZXJzLnNldCh0cmlnZ2VyRWxlbWVudCwgdG9vbHRpcCk7XG4gICAgICAgIHRoaXMuX3Rvb2x0aXBPdXRsZXQuYXBwZW5kQ2hpbGQodG9vbHRpcCk7XG4gICAgICAgIHRvb2x0aXAudHJpZ2dlciA9IHRyaWdnZXJFbGVtZW50O1xuICAgICAgfVxuXG4gICAgICB0b29sdGlwLnRleHRDb250ZW50ID0gdG9vbHRpcE1lc3NhZ2U7XG4gICAgICB0b29sdGlwLm9wZW5EZWxheSA9IHRyaWdnZXJFbGVtZW50Lmhhc0F0dHJpYnV0ZSgnc2JiLXRvb2x0aXAtb3Blbi1kZWxheScpXG4gICAgICAgID8gK3RyaWdnZXJFbGVtZW50LmdldEF0dHJpYnV0ZSgnc2JiLXRvb2x0aXAtb3Blbi1kZWxheScpIVxuICAgICAgICA6IG51bGw7XG4gICAgICB0b29sdGlwLmNsb3NlRGVsYXkgPSB0cmlnZ2VyRWxlbWVudC5oYXNBdHRyaWJ1dGUoJ3NiYi10b29sdGlwLWNsb3NlLWRlbGF5JylcbiAgICAgICAgPyArdHJpZ2dlckVsZW1lbnQuZ2V0QXR0cmlidXRlKCdzYmItdG9vbHRpcC1jbG9zZS1kZWxheScpIVxuICAgICAgICA6IG51bGw7XG5cbiAgICAgIC8vIFJlYWQgdGhlIHBvc2l0aW9ucyBmcm9tIHRoZSB0cmlnZ2VyIChlaXRoZXIgZnJvbSB0aGUgYXR0cmlidXRlIG9yIHRoZSBwcm9wZXJ0eSlcbiAgICAgIGNvbnN0IHBvc2l0aW9ucyA9IHRyaWdnZXJFbGVtZW50Lmhhc0F0dHJpYnV0ZSgnc2JiLXRvb2x0aXAtcG9zaXRpb24nKVxuICAgICAgICA/IHRyaWdnZXJFbGVtZW50XG4gICAgICAgICAgICAuZ2V0QXR0cmlidXRlKCdzYmItdG9vbHRpcC1wb3NpdGlvbicpIVxuICAgICAgICAgICAgLnNwbGl0KCcsJylcbiAgICAgICAgICAgIC5tYXAoKHApID0+IHAudHJpbSgpKVxuICAgICAgICA6ICh0cmlnZ2VyRWxlbWVudCBhcyB1bmtub3duIGFzIFNiYlRvb2x0aXBEZWZhdWx0UG9zaXRpb25zKS50b29sdGlwUG9zaXRpb25zO1xuXG4gICAgICBpZiAocG9zaXRpb25zICYmIHBvc2l0aW9ucy5sZW5ndGggPiAwKSB7XG4gICAgICAgIHRvb2x0aXAuc3R5bGUuc2V0UHJvcGVydHkoJy0tc2JiLW92ZXJsYXktcG9zaXRpb24tYXJlYScsIHBvc2l0aW9uc1swXSk7XG4gICAgICAgIHRvb2x0aXAuc3R5bGUuc2V0UHJvcGVydHkoXG4gICAgICAgICAgJy0tc2JiLW92ZXJsYXktcG9zaXRpb24tdHJ5LWZhbGxiYWNrcycsXG4gICAgICAgICAgcG9zaXRpb25zLnNsaWNlKDEpLmpvaW4oJywgJyksXG4gICAgICAgICk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICB0b29sdGlwLnN0eWxlLnJlbW92ZVByb3BlcnR5KCctLXNiYi1vdmVybGF5LXBvc2l0aW9uLWFyZWEnKTtcbiAgICAgICAgdG9vbHRpcC5zdHlsZS5yZW1vdmVQcm9wZXJ0eSgnLS1zYmItb3ZlcmxheS1wb3NpdGlvbi10cnktZmFsbGJhY2tzJyk7XG4gICAgICB9XG4gICAgfSBlbHNlIGlmICh0b29sdGlwKSB7XG4gICAgICAvLyBUaGUgdHJpZ2dlciBvciB0aGUgYXR0cmlidXRlIGhhcyBiZWVuIGRlbGV0ZWQgPT4gZGVsZXRlIHRoZSBjb25uZWN0ZWQgdG9vbHRpcFxuICAgICAgdG9vbHRpcFRyaWdnZXJzLmRlbGV0ZSh0cmlnZ2VyRWxlbWVudCk7XG4gICAgICAvLyBJZiBhIGNvbnN1bWVyIG92ZXJyaWRlcyB0aGUgYHNiYi10b29sdGlwYCwgdGhlIGZvbGxvd2luZyBjb2RlIHNob3VsZCBub3QgYmVcbiAgICAgIC8vIGV4ZWN1dGVkIGFzIHdlIGNhbid0IGV4cGVjdCB0aGF0IHByaXZhdGUgbWV0aG9kcyBhcmUgbW9ja2VkLlxuICAgICAgdG9vbHRpcC5fZGVzdHJveT8uKCk7XG4gICAgfVxuICB9XG5cbiAgcHVibGljIG92ZXJyaWRlIGNvbm5lY3RlZENhbGxiYWNrKCk6IHZvaWQge1xuICAgIHN1cGVyLmNvbm5lY3RlZENhbGxiYWNrKCk7XG4gICAgdGhpcy5wb3BvdmVyID0gJ21hbnVhbCc7XG4gICAgdGhpcy5pZCB8fD0gYHNiYi10b29sdGlwLSR7KytuZXh0SWR9YDtcbiAgICB0aGlzLnN0YXRlID0gJ2Nsb3NlZCc7XG4gICAgc2JiT3ZlcmxheU91dHNpZGVQb2ludGVyRXZlbnRMaXN0ZW5lci5jb25uZWN0KHRoaXMpO1xuXG4gICAgaWYgKHRoaXMuaGFzVXBkYXRlZCAmJiB0aGlzLnRyaWdnZXIpIHtcbiAgICAgIHRoaXMuX2F0dGFjaCh0aGlzLnRyaWdnZXIpO1xuICAgIH1cbiAgfVxuXG4gIHB1YmxpYyBvdmVycmlkZSBkaXNjb25uZWN0ZWRDYWxsYmFjaygpOiB2b2lkIHtcbiAgICBzdXBlci5kaXNjb25uZWN0ZWRDYWxsYmFjaygpO1xuICAgIHNiYk92ZXJsYXlPdXRzaWRlUG9pbnRlckV2ZW50TGlzdGVuZXIuZGlzY29ubmVjdCh0aGlzKTtcbiAgICB0aGlzLl9kZXRhY2goKTtcbiAgfVxuXG4gIHB1YmxpYyBvdmVycmlkZSByZXF1ZXN0VXBkYXRlKFxuICAgIG5hbWU/OiBQcm9wZXJ0eUtleSxcbiAgICBvbGRWYWx1ZT86IHVua25vd24sXG4gICAgb3B0aW9ucz86IFByb3BlcnR5RGVjbGFyYXRpb24sXG4gICk6IHZvaWQge1xuICAgIHN1cGVyLnJlcXVlc3RVcGRhdGUobmFtZSwgb2xkVmFsdWUsIG9wdGlvbnMpO1xuICAgIGlmIChpc1NlcnZlcikge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIGlmICgoIW5hbWUgfHwgbmFtZSA9PT0gJ3RyaWdnZXInKSAmJiB0aGlzLmhhc1VwZGF0ZWQpIHtcbiAgICAgIHRoaXMuX2F0dGFjaCh0aGlzLnRyaWdnZXIpO1xuICAgIH1cbiAgfVxuXG4gIHByb3RlY3RlZCBvdmVycmlkZSBmaXJzdFVwZGF0ZWQoY2hhbmdlZFByb3BlcnRpZXM6IFByb3BlcnR5VmFsdWVzKTogdm9pZCB7XG4gICAgc3VwZXIuZmlyc3RVcGRhdGVkKGNoYW5nZWRQcm9wZXJ0aWVzKTtcbiAgICB0aGlzLl9hdHRhY2godGhpcy50cmlnZ2VyKTtcbiAgfVxuXG4gIHB1YmxpYyBvcGVuKCk6IHZvaWQge1xuICAgIHRoaXMuX3Jlc2V0T3BlbkNsb3NlVGltZW91dCgpO1xuICAgIGlmIChcbiAgICAgICh0aGlzLnN0YXRlICE9PSAnY2xvc2VkJyAmJiB0aGlzLnN0YXRlICE9PSAnY2xvc2luZycpIHx8XG4gICAgICB0aGlzLmRpc2FibGVkIHx8XG4gICAgICAhdGhpcy50cmlnZ2VyIHx8XG4gICAgICAhdGhpcy5kaXNwYXRjaEJlZm9yZU9wZW5FdmVudCgpXG4gICAgKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgdGhpcy5zaG93UG9wb3Zlcj8uKCk7XG4gICAgdGhpcy5zdGF0ZSA9ICdvcGVuaW5nJztcbiAgICB0aGlzLl9vdmVybGF5Q29udHJvbGxlci5jb25uZWN0KHRoaXMudHJpZ2dlcik7XG5cbiAgICAvLyBJZiB0aGUgYW5pbWF0aW9uIGR1cmF0aW9uIGlzIHplcm8sIHRoZSBhbmltYXRpb25lbmQgZXZlbnQgaXMgbm90IGFsd2F5cyBmaXJlZCByZWxpYWJseS5cbiAgICAvLyBJbiB0aGlzIGNhc2Ugd2UgZGlyZWN0bHkgc2V0IHRoZSBgb3BlbmVkYCBzdGF0ZS5cbiAgICBpZiAodGhpcy5faXNaZXJvQW5pbWF0aW9uRHVyYXRpb24oKSkge1xuICAgICAgdGhpcy5faGFuZGxlT3BlbmluZygpO1xuICAgIH1cbiAgfVxuXG4gIHB1YmxpYyBjbG9zZSgpOiB2b2lkIHtcbiAgICB0aGlzLl9yZXNldE9wZW5DbG9zZVRpbWVvdXQoKTtcbiAgICBpZiAodGhpcy5zdGF0ZSAhPT0gJ29wZW5lZCcgJiYgdGhpcy5zdGF0ZSAhPT0gJ29wZW5pbmcnKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgdGhpcy5kaXNwYXRjaEJlZm9yZUNsb3NlRXZlbnQoKTtcbiAgICB0aGlzLnN0YXRlID0gJ2Nsb3NpbmcnO1xuXG4gICAgLy8gSWYgdGhlIGFuaW1hdGlvbiBkdXJhdGlvbiBpcyB6ZXJvLCB0aGUgYW5pbWF0aW9uZW5kIGV2ZW50IGlzIG5vdCBhbHdheXMgZmlyZWQgcmVsaWFibHkuXG4gICAgLy8gSW4gdGhpcyBjYXNlIHdlIGRpcmVjdGx5IHNldCB0aGUgYGNsb3NlZGAgc3RhdGUuXG4gICAgaWYgKHRoaXMuX2lzWmVyb0FuaW1hdGlvbkR1cmF0aW9uKCkpIHtcbiAgICAgIHRoaXMuX2hhbmRsZUNsb3NpbmcoKTtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIF9kZWxheWVkT3BlbigpOiB2b2lkIHtcbiAgICB0aGlzLl9yZXNldE9wZW5DbG9zZVRpbWVvdXQoKTtcbiAgICB0aGlzLl9vcGVuVGltZW91dCA9IHNldFRpbWVvdXQoKCkgPT4gdGhpcy5vcGVuKCksIHRoaXMub3BlbkRlbGF5KTtcbiAgfVxuXG4gIHByaXZhdGUgX2hhbmRsZU9wZW5pbmcoKTogdm9pZCB7XG4gICAgdGhpcy5zdGF0ZSA9ICdvcGVuZWQnO1xuICAgIHRoaXMuX2VzY2FwYWJsZU92ZXJsYXlDb250cm9sbGVyLmNvbm5lY3QoKTtcbiAgICB0aGlzLmRpc3BhdGNoT3BlbkV2ZW50KCk7XG4gIH1cblxuICBwcml2YXRlIF9kZWxheWVkQ2xvc2UoKTogdm9pZCB7XG4gICAgdGhpcy5fcmVzZXRPcGVuQ2xvc2VUaW1lb3V0KCk7XG4gICAgdGhpcy5fY2xvc2VUaW1lb3V0ID0gc2V0VGltZW91dCgoKSA9PiB0aGlzLmNsb3NlKCksIHRoaXMuY2xvc2VEZWxheSk7XG4gIH1cblxuICBwcml2YXRlIF9oYW5kbGVDbG9zaW5nKCk6IHZvaWQge1xuICAgIHRoaXMuc3RhdGUgPSAnY2xvc2VkJztcbiAgICB0aGlzLmhpZGVQb3BvdmVyPy4oKTtcbiAgICB0aGlzLl9vdmVybGF5Q29udHJvbGxlci5kaXNjb25uZWN0KCk7XG5cbiAgICB0aGlzLl9lc2NhcGFibGVPdmVybGF5Q29udHJvbGxlci5kaXNjb25uZWN0KCk7XG4gICAgdGhpcy5kaXNwYXRjaENsb3NlRXZlbnQoKTtcbiAgICB0aGlzLl9vcGVuU3RhdGVDb250cm9sbGVyPy5hYm9ydCgpO1xuICB9XG5cbiAgcHJpdmF0ZSBfb25Ub29sdGlwQW5pbWF0aW9uRW5kKGV2ZW50OiBBbmltYXRpb25FdmVudCk6IHZvaWQge1xuICAgIGlmIChldmVudC5hbmltYXRpb25OYW1lID09PSAnb3BlbicgJiYgdGhpcy5zdGF0ZSA9PT0gJ29wZW5pbmcnKSB7XG4gICAgICB0aGlzLl9oYW5kbGVPcGVuaW5nKCk7XG4gICAgfSBlbHNlIGlmIChldmVudC5hbmltYXRpb25OYW1lID09PSAnY2xvc2UnICYmIHRoaXMuc3RhdGUgPT09ICdjbG9zaW5nJykge1xuICAgICAgdGhpcy5faGFuZGxlQ2xvc2luZygpO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgX2F0dGFjaCh0cmlnZ2VyOiBIVE1MRWxlbWVudCB8IG51bGwpOiB2b2lkIHtcbiAgICBpZiAodGhpcy5fdHJpZ2dlckVsZW1lbnQpIHtcbiAgICAgIC8vIEV2ZW50dWFsbHkgZGV0YWNoIGZyb20gdGhlIG9sZCB0cmlnZ2VyXG4gICAgICB0aGlzLl9kZXRhY2goKTtcbiAgICB9XG5cbiAgICB0aGlzLl90cmlnZ2VyRWxlbWVudCA9IHRyaWdnZXI7XG4gICAgaWYgKCF0aGlzLl90cmlnZ2VyRWxlbWVudCkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICB0aGlzLl90cmlnZ2VyRWxlbWVudC5hcmlhRGVzY3JpYmVkQnlFbGVtZW50cyA9IGFwcGVuZEFyaWFFbGVtZW50cyhcbiAgICAgIHRoaXMuX3RyaWdnZXJFbGVtZW50LmFyaWFEZXNjcmliZWRCeUVsZW1lbnRzLFxuICAgICAgdGhpcyxcbiAgICApO1xuICAgIHRoaXMuX2FkZFRyaWdnZXJFdmVudEhhbmRsZXJzKCk7XG4gIH1cblxuICBwcml2YXRlIF9kZXRhY2goKTogdm9pZCB7XG4gICAgdGhpcy5fdHJpZ2dlckFib3J0Q29udHJvbGxlcj8uYWJvcnQoKTtcbiAgICB0aGlzLl9vcGVuU3RhdGVDb250cm9sbGVyPy5hYm9ydCgpO1xuXG4gICAgLy8gY2xlYXIgdGltZW91dHNcbiAgICB0aGlzLl9yZXNldE9wZW5DbG9zZVRpbWVvdXQoKTtcbiAgICBjbGVhclRpbWVvdXQodGhpcy5fbG9uZ1ByZXNzT3BlblRpbWVvdXQpO1xuICAgIGNsZWFyVGltZW91dCh0aGlzLl9sb25nUHJlc3NDbG9zZVRpbWVvdXQpO1xuXG4gICAgaWYgKCF0aGlzLl90cmlnZ2VyRWxlbWVudCkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICB0aGlzLl90cmlnZ2VyRWxlbWVudC5hcmlhRGVzY3JpYmVkQnlFbGVtZW50cyA9IHJlbW92ZUFyaWFFbGVtZW50cyhcbiAgICAgIHRoaXMuX3RyaWdnZXJFbGVtZW50LmFyaWFEZXNjcmliZWRCeUVsZW1lbnRzLFxuICAgICAgdGhpcyxcbiAgICApO1xuICAgIHRoaXMuX3RyaWdnZXJFbGVtZW50ID0gbnVsbDtcbiAgfVxuXG4gIHByaXZhdGUgX2Rlc3Ryb3koKTogdm9pZCB7XG4gICAgdGhpcy5fZGV0YWNoKCk7XG4gICAgdGhpcy5yZW1vdmUoKTtcbiAgfVxuXG4gIHByaXZhdGUgX2FkZFRyaWdnZXJFdmVudEhhbmRsZXJzKCk6IHZvaWQge1xuICAgIGNvbnN0IHRyaWdnZXIgPSB0aGlzLl90cmlnZ2VyRWxlbWVudDtcbiAgICBpZiAoIXRyaWdnZXIpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICB0aGlzLl90cmlnZ2VyQWJvcnRDb250cm9sbGVyPy5hYm9ydCgpO1xuICAgIHRoaXMuX3RyaWdnZXJBYm9ydENvbnRyb2xsZXIgPSBuZXcgQWJvcnRDb250cm9sbGVyKCk7XG4gICAgY29uc3Qgb3B0aW9uczogQWRkRXZlbnRMaXN0ZW5lck9wdGlvbnMgPSB7XG4gICAgICBzaWduYWw6IHRoaXMuX3RyaWdnZXJBYm9ydENvbnRyb2xsZXIuc2lnbmFsLFxuICAgICAgcGFzc2l2ZTogdHJ1ZSxcbiAgICB9O1xuXG4gICAgaWYgKCFpc01vYmlsZSkge1xuICAgICAgdHJpZ2dlci5hZGRFdmVudExpc3RlbmVyKCdtb3VzZWVudGVyJywgKCkgPT4gdGhpcy5fZGVsYXllZE9wZW4oKSwgb3B0aW9ucyk7XG4gICAgICB0cmlnZ2VyLmFkZEV2ZW50TGlzdGVuZXIoXG4gICAgICAgICdtb3VzZWxlYXZlJyxcbiAgICAgICAgKGV2ZW50KSA9PiB7XG4gICAgICAgICAgY29uc3QgbmV3VGFyZ2V0ID0gZXZlbnQucmVsYXRlZFRhcmdldCBhcyBOb2RlIHwgbnVsbDtcbiAgICAgICAgICBpZiAoIW5ld1RhcmdldCB8fCBuZXdUYXJnZXQgIT09IHRoaXMpIHtcbiAgICAgICAgICAgIHRoaXMuX2RlbGF5ZWRDbG9zZSgpO1xuICAgICAgICAgIH1cbiAgICAgICAgfSxcbiAgICAgICAgb3B0aW9ucyxcbiAgICAgICk7XG5cbiAgICAgIC8vICdibHVycycgaW1tZWRpYXRlbHkgY2xvc2UgdGhlIHRvb2x0aXAgYmVjYXVzZSBpdCBpcyBjb25zaWRlcmVkIGFuICdpbnRlcmFjdGlvbiB3aXRoIG90aGVyIGVsZW1lbnRzJ1xuICAgICAgdHJpZ2dlci5hZGRFdmVudExpc3RlbmVyKCdibHVyJywgKCkgPT4gdGhpcy5jbG9zZSgpLCBvcHRpb25zKTtcbiAgICAgIHRyaWdnZXIuYWRkRXZlbnRMaXN0ZW5lcignZm9jdXMnLCAoKSA9PiB0aGlzLl9kZWxheWVkT3BlbigpLCBvcHRpb25zKTtcbiAgICB9XG5cbiAgICAvLyBMb25nLXByZXNzIGV2ZW50IGhhbmRsaW5nIChtYWlubHkgZm9yIG1vYmlsZSB1c2VycylcbiAgICB0cmlnZ2VyLmFkZEV2ZW50TGlzdGVuZXIoXG4gICAgICAndG91Y2hzdGFydCcsXG4gICAgICAoKSA9PiB7XG4gICAgICAgIGNsZWFyVGltZW91dCh0aGlzLl9sb25nUHJlc3NPcGVuVGltZW91dCk7XG4gICAgICAgIGNsZWFyVGltZW91dCh0aGlzLl9sb25nUHJlc3NDbG9zZVRpbWVvdXQpO1xuICAgICAgICB0aGlzLl9sb25nUHJlc3NPcGVuVGltZW91dCA9IHNldFRpbWVvdXQoKCkgPT4gdGhpcy5vcGVuKCksIExPTkdQUkVTU19ERUxBWSk7XG4gICAgICB9LFxuICAgICAgb3B0aW9ucyxcbiAgICApO1xuICAgIHRyaWdnZXIuYWRkRXZlbnRMaXN0ZW5lcihcbiAgICAgICd0b3VjaGVuZCcsXG4gICAgICAoKSA9PiB7XG4gICAgICAgIGNsZWFyVGltZW91dCh0aGlzLl9sb25nUHJlc3NPcGVuVGltZW91dCk7XG4gICAgICAgIHRoaXMuX2xvbmdQcmVzc0Nsb3NlVGltZW91dCA9IHNldFRpbWVvdXQoKCkgPT4gdGhpcy5jbG9zZSgpLCB0aGlzLmxvbmdQcmVzc0Nsb3NlRGVsYXkpO1xuICAgICAgfSxcbiAgICAgIG9wdGlvbnMsXG4gICAgKTtcbiAgICB0cmlnZ2VyLmFkZEV2ZW50TGlzdGVuZXIoXG4gICAgICAndG91Y2hjYW5jZWwnLFxuICAgICAgKCkgPT4ge1xuICAgICAgICBjbGVhclRpbWVvdXQodGhpcy5fbG9uZ1ByZXNzT3BlblRpbWVvdXQpO1xuICAgICAgfSxcbiAgICAgIG9wdGlvbnMsXG4gICAgKTtcbiAgfVxuXG4gIHByaXZhdGUgX2lzWmVyb0FuaW1hdGlvbkR1cmF0aW9uKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiBpc1plcm9BbmltYXRpb25EdXJhdGlvbih0aGlzLCAnLS1zYmItdG9vbHRpcC1hbmltYXRpb24tZHVyYXRpb24nKTtcbiAgfVxuXG4gIHByaXZhdGUgX3Jlc2V0T3BlbkNsb3NlVGltZW91dCgpOiB2b2lkIHtcbiAgICBjbGVhclRpbWVvdXQodGhpcy5fb3BlblRpbWVvdXQpO1xuICAgIGNsZWFyVGltZW91dCh0aGlzLl9jbG9zZVRpbWVvdXQpO1xuICB9XG5cbiAgcHJvdGVjdGVkIG92ZXJyaWRlIHJlbmRlcigpOiBUZW1wbGF0ZVJlc3VsdCB7XG4gICAgcmV0dXJuIGh0bWxgXG4gICAgICA8ZGl2IGNsYXNzPVwic2JiLXRvb2x0aXBcIj5cbiAgICAgICAgPHNsb3Q+PC9zbG90PlxuICAgICAgPC9kaXY+XG4gICAgYDtcbiAgfVxufVxuXG5kZWNsYXJlIGdsb2JhbCB7XG4gIGludGVyZmFjZSBIVE1MRWxlbWVudFRhZ05hbWVNYXAge1xuICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbmFtaW5nLWNvbnZlbnRpb25cbiAgICAnc2JiLXRvb2x0aXAnOiBTYmJUb29sdGlwRWxlbWVudDtcbiAgfVxufVxuIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FDb0NBLElBQU0sa0JBQWtCO0FBRXhCLElBQU0sV0FBVyxhQUFhO0FBQzlCLElBQU0sa0NBQWtCLElBQUksU0FBeUM7QUFDckUsSUFBSSxTQUFTOzs7Ozs7Ozs7Ozs7SUFhQSwyQkFBaUI7bUJBQVMsaUJBQWlCLHdCQUF3Qjs7Ozs7Ozs7Y0FBbkUsMEJBQTBCLFlBQXlDOzs7MEJBb0I3RSxhQUFhLEVBQ2IsVUFBVSxDQUFBO2dDQVNWLFNBQVM7SUFBRSxXQUFXO0lB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
|
|
@@ -1,27 +0,0 @@
|
|
|
1
|
-
import { html as e, unsafeCSS as t } from "lit";
|
|
2
|
-
import { SbbElement as n } from "./core/base-elements.js";
|
|
3
|
-
import { boxSizingStyles as r } from "./core/styles.js";
|
|
4
|
-
//#region src/elements/message/message.scss?inline
|
|
5
|
-
var i = ":host{display:block;text-align:center}::slotted(sbb-title[slot=title]){margin:0}::slotted([slot=image]){display:block;margin-inline:auto!important;margin-block:var(--sbb-message-image-margin-block)!important;width:100%}::slotted([slot=subtitle]){color:var(--sbb-message-subtitle-color);font-size:var(--sbb-text-font-size-s);letter-spacing:var(--sbb-typo-letter-spacing-text);margin:0}::slotted([slot=legend]){--sbb-text-font-size: var(--sbb-text-font-size-xs);font-family:var(--sbb-typo-font-family);font-weight:400;line-height:var(--sbb-typo-line-height-text);letter-spacing:var(--sbb-typo-letter-spacing-text);font-size:var(--sbb-text-font-size);padding:0;color:var(--sbb-color-granite);color:light-dark(var(--sbb-color-granite),var(--sbb-color-cement));margin-block:var(--sbb-message-legend-margin-block)}::slotted([slot=action]){margin-block:var(--sbb-message-action-margin-block)}", a = class extends n {
|
|
6
|
-
static {
|
|
7
|
-
this.elementName = "sbb-message";
|
|
8
|
-
}
|
|
9
|
-
static {
|
|
10
|
-
this.styles = [r, t(i)];
|
|
11
|
-
}
|
|
12
|
-
_configureTitle(e) {
|
|
13
|
-
let t = e.target.assignedElements().find((e) => e.localName === "sbb-title");
|
|
14
|
-
t && (customElements.upgrade(t), t.visualLevel = "5");
|
|
15
|
-
}
|
|
16
|
-
render() {
|
|
17
|
-
return e`
|
|
18
|
-
<slot name="image"></slot>
|
|
19
|
-
<slot name="title" @slotchange=${this._configureTitle}></slot>
|
|
20
|
-
<slot name="subtitle"></slot>
|
|
21
|
-
<slot name="legend"></slot>
|
|
22
|
-
<slot name="action"></slot>
|
|
23
|
-
`;
|
|
24
|
-
}
|
|
25
|
-
};
|
|
26
|
-
//#endregion
|
|
27
|
-
export { a as t };
|
|
@@ -1,80 +0,0 @@
|
|
|
1
|
-
import { html as e, unsafeCSS as t } from "lit";
|
|
2
|
-
import { SbbButtonBaseElement as n } from "./core/base-elements.js";
|
|
3
|
-
import { SbbDisabledMixin as r, appendAriaElements as i, removeAriaElements as a } from "./core/mixins.js";
|
|
4
|
-
import { boxSizingStyles as o } from "./core/styles.js";
|
|
5
|
-
import { SbbPropertyWatcherController as s } from "./core/controllers.js";
|
|
6
|
-
import { SbbIconNameMixin as c } from "./icon.js";
|
|
7
|
-
//#region src/elements/stepper/step-label/step-label.scss?inline
|
|
8
|
-
var l = ":host{--sbb-step-label-animation-duration: var( --sbb-disable-animation-duration, var(--sbb-animation-duration-2x) );--_sbb-step-label-inset-block-start: var(--sbb-step-label-inset-block-start-size-m);--_sbb-step-label-inset-inline-start: calc(var(--sbb-step-label-prefix-size) / 2);--_sbb-step-label-transform-y: calc( -50% + var(--sbb-step-label-translate-y-content-hover, 0rem) );--_sbb-step-label-prefix-inset-block-start: calc( 1em * (var(--sbb-typo-line-height-text) / 2) + (var(--sbb-border-width-1x) / 2) - (var(--sbb-step-label-prefix-size) / 2) );position:relative;display:flex;min-width:0;max-width:fit-content;gap:var(--sbb-step-label-gap);cursor:var(--sbb-step-label-cursor);color:var(--sbb-step-label-color);font-size:var(--sbb-step-label-font-size);letter-spacing:var(--sbb-typo-letter-spacing-text)}:host:before{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);font-size:var(--sbb-text-font-size-xxs);font-weight:var(--sbb-step-label-font-weight-selected, normal);inset-block-start:var(--_sbb-step-label-inset-block-start);inset-inline-start:var(--_sbb-step-label-inset-inline-start);line-height:1;z-index:1;transform:translate(-50%,var(--_sbb-step-label-transform-y));transition:transform var(--sbb-step-label-animation-duration) var(--sbb-animation-easing)}:host(:is(:state(selected),[state--selected])){--sbb-step-label-color: var(--sbb-color-3);--sbb-step-label-font-weight-selected: bold}@media(forced-colors:active){:host(:is(:state(selected),[state--selected])){--sbb-step-label-color: Highlight !important}}:host(:is(:state(size-s),[state--size-s])){--sbb-step-label-gap: var(--sbb-spacing-fixed-3x);--sbb-step-label-prefix-size: var(--sbb-size-element-xxxs);--sbb-step-label-font-size: var(--sbb-text-font-size-m);--_sbb-step-label-inset-block-start: var(--sbb-step-label-inset-block-start-size-s)}:host(:disabled){--sbb-step-label-color: var(--sbb-color-granite);--sbb-step-label-color: light-dark(var(--sbb-color-granite), var(--sbb-color-graphite));--sbb-step-label-prefix-border-style: dashed}@media(forced-colors:active){:host(:disabled){--sbb-step-label-color: GrayText !important}}@media(any-hover:hover){:host(:hover:not(:disabled)){--sbb-step-label-cursor: var(--sbb-cursor-pointer);--sbb-step-label-prefix-background-color: var(--sbb-background-color-3);--sbb-step-label-translate-y-content-hover: -.0625rem;--sbb-step-label-prefix-size-grow-hover: calc(var(--sbb-border-width-2x) * -1)}}:host(:focus-visible){outline-offset:var(--sbb-focus-outline-offset);outline:var(--sbb-focus-outline-color) var(--sbb-focus-outline-style, solid) var(--sbb-focus-outline-width);border-radius:var(--sbb-border-radius-1x)}:host(:is(:state(orientation-vertical),[state--orientation-vertical])){transition:margin var(--sbb-stepper-animation-duration) var(--sbb-animation-easing)}:host(:is(:state(orientation-vertical),[state--orientation-vertical]):not(:first-of-type)){margin-block-start:var(--sbb-spacing-fixed-6x)}:host(:is(:state(selected),[state--selected]):is(:state(orientation-vertical),[state--orientation-vertical])){margin-block-end:var(--sbb-spacing-fixed-8x)}.sbb-step-label__prefix{position:relative;display:flex;flex-shrink:0;align-items:center;justify-content:center;width:var(--sbb-step-label-prefix-size);height:var(--sbb-step-label-prefix-size);inset-block-start:var(--_sbb-step-label-prefix-inset-block-start)}.sbb-step-label__prefix:before{content:\"\";position:absolute;inset:calc(var(--sbb-step-label-prefix-size-grow-hover, 0rem));border-radius:var(--sbb-border-radius-infinity);border:var(--sbb-border-width-1x) var(--sbb-step-label-prefix-border-style) var(--sbb-step-label-prefix-border-color);background-color:var(--sbb-step-label-prefix-background-color);transition-duration:var(--sbb-step-label-animation-duration);transition-timing-function:var(--sbb-animation-easing);transition-property:background-color,inset}.sbb-step-label__text{font-weight:700}:host(:is(:state(orientation-horizontal),[state--orientation-horizontal])) .sbb-step-label__text{overflow:hidden;white-space:nowrap;text-overflow:ellipsis}::slotted(sbb-icon),sbb-icon{z-index:1;background-color:var(--sbb-step-label-prefix-background-color);border-radius:var(--sbb-border-radius-infinity);transform:translateY(var(--sbb-step-label-translate-y-content-hover, 0rem));transition-duration:var(--sbb-step-label-animation-duration);transition-timing-function:var(--sbb-animation-easing);transition-property:background-color,transform}", u = 0, d = class extends c(r(n)) {
|
|
9
|
-
static {
|
|
10
|
-
this.elementName = "sbb-step-label";
|
|
11
|
-
}
|
|
12
|
-
static {
|
|
13
|
-
this.role = "tab";
|
|
14
|
-
}
|
|
15
|
-
static {
|
|
16
|
-
this.styles = [o, t(l)];
|
|
17
|
-
}
|
|
18
|
-
get step() {
|
|
19
|
-
return this._step;
|
|
20
|
-
}
|
|
21
|
-
get stepper() {
|
|
22
|
-
return this.closest("sbb-stepper");
|
|
23
|
-
}
|
|
24
|
-
set disabled(e) {
|
|
25
|
-
super.disabled = e, this.toggleState("user-disabled", e);
|
|
26
|
-
}
|
|
27
|
-
get disabled() {
|
|
28
|
-
return super.disabled;
|
|
29
|
-
}
|
|
30
|
-
constructor() {
|
|
31
|
-
super(), this._step = null, this.addEventListener?.("click", () => {
|
|
32
|
-
let e = this.stepper;
|
|
33
|
-
e && this.step && this._isNotDeactivatedByLinearMode(this.step) && (e.selected = this.step);
|
|
34
|
-
}), this.addController(new s(this, () => this.stepper, {
|
|
35
|
-
orientation: (e) => {
|
|
36
|
-
this._previousOrientation && this.internals.states.delete(`orientation-${this._previousOrientation}`), this._previousOrientation = e.orientation, this._previousOrientation && this.internals.states.add(`orientation-${this._previousOrientation}`);
|
|
37
|
-
},
|
|
38
|
-
size: (e) => {
|
|
39
|
-
this._previousSize && this.internals.states.delete(`size-${this._previousSize}`), this._previousSize = e.size, this._previousSize && this.internals.states.add(`size-${this._previousSize}`);
|
|
40
|
-
}
|
|
41
|
-
}));
|
|
42
|
-
}
|
|
43
|
-
_isNotDeactivatedByLinearMode(e) {
|
|
44
|
-
let t = this.stepper;
|
|
45
|
-
if (t?.linear && t.selectedIndex !== null) {
|
|
46
|
-
let n = t.steps.indexOf(e);
|
|
47
|
-
return n < t.selectedIndex || n === t.selectedIndex + 1;
|
|
48
|
-
}
|
|
49
|
-
return !0;
|
|
50
|
-
}
|
|
51
|
-
connectedCallback() {
|
|
52
|
-
super.connectedCallback(), this.id ||= `sbb-step-label-${u++}`, this.slot ||= "step-label", this.internals.ariaSelected = "false", this.tabIndex = -1, this._assignStep();
|
|
53
|
-
}
|
|
54
|
-
select() {
|
|
55
|
-
this.tabIndex = 0, this.internals.ariaSelected = "true", this.internals.states.add("selected");
|
|
56
|
-
}
|
|
57
|
-
deselect() {
|
|
58
|
-
this.tabIndex = -1, this.internals.ariaSelected = "false", this.internals.states.delete("selected");
|
|
59
|
-
}
|
|
60
|
-
configure(e, t, n) {
|
|
61
|
-
n && this._assignStep(), this.internals.ariaPosInSet = `${e}`, this.internals.ariaSetSize = `${t}`;
|
|
62
|
-
}
|
|
63
|
-
_assignStep() {
|
|
64
|
-
let e = this.nextElementSibling;
|
|
65
|
-
for (; e && e.localName !== "sbb-step";) e = e.nextElementSibling;
|
|
66
|
-
let t = e;
|
|
67
|
-
this.internals.ariaControlsElements = a(this.internals.ariaControlsElements, this._step), this._step = t instanceof Element ? t : null, this.internals.ariaControlsElements = i(this.internals.ariaControlsElements, this._step);
|
|
68
|
-
}
|
|
69
|
-
disable(e) {
|
|
70
|
-
super.disabled = e;
|
|
71
|
-
}
|
|
72
|
-
render() {
|
|
73
|
-
return e`
|
|
74
|
-
<span class="sbb-step-label__prefix">${this.renderIconSlot()}</span>
|
|
75
|
-
<span class="sbb-step-label__text"><slot></slot></span>
|
|
76
|
-
`;
|
|
77
|
-
}
|
|
78
|
-
};
|
|
79
|
-
//#endregion
|
|
80
|
-
export { d as t };
|
package/styles-BUpK1iP2.js
DELETED
|
@@ -1,5 +0,0 @@
|
|
|
1
|
-
import { unsafeCSS as e } from "lit";
|
|
2
|
-
//#region src/elements/tabs/common/tab-group-common.scss?inline
|
|
3
|
-
var t = ":host{display:flex;flex-direction:column}:host(:not([size])){--sbb-tab-group-content-gap: var(--sbb-tab-group-content-gap-default)}:host([size=s]){--sbb-tab-group-content-gap: var(--sbb-tab-group-content-gap-size-s)}:host([size=l]){--sbb-tab-group-content-gap: var(--sbb-tab-group-content-gap-size-l)}:host([size=xl]){--sbb-tab-group-content-gap: var(--sbb-tab-group-content-gap-size-xl)}.sbb-tab-group,.sbb-tab-nav-bar{display:flex;flex-wrap:wrap}", n = ":host{--sbb-tab-label-animation-duration: var( --sbb-disable-animation-duration, var(--sbb-animation-duration-2x) );--sbb-tab-label-outline-border-radius-internal: calc( var(--sbb-tab-label-outline-border-radius) - var(--sbb-focus-outline-offset) )}:host(:is(:is(:state(size-s),[state--size-s]),[size=s])){--sbb-tab-label-height: var(--sbb-size-element-xs);--sbb-tab-label-inline-padding: var(--sbb-spacing-responsive-xxxs);--sbb-tab-label-font-size: var(--sbb-text-font-size-s)}:host(:is(:is(:state(size-l),[state--size-l]),[size=l])){--sbb-tab-label-height: var(--sbb-size-element-m);--sbb-tab-label-inline-padding: var(--sbb-spacing-responsive-xs);--sbb-tab-label-font-size: var(--sbb-text-font-size-m)}:host(:is(:is(:state(size-xl),[state--size-xl]),[size=xl])){--sbb-tab-label-height: var(--sbb-size-element-m);--sbb-tab-label-inline-padding: var(--sbb-spacing-responsive-xs);--sbb-tab-label-font-size: var(--sbb-text-font-size-xl)}:host(sbb-tab-label),:host(sbb-tab-nav-bar) ::slotted(a){pointer-events:var(--sbb-tab-label-pointer-events, unset)}@media(forced-colors:active){:host(sbb-tab-label),:host(sbb-tab-nav-bar) ::slotted(a){--sbb-tab-label-color: ButtonText;--sbb-tab-label-amount-color: ButtonText}}:host(sbb-tab-nav-bar) ::slotted(a),:host(sbb-tab-label) .sbb-tab-label{position:relative;display:flex;align-items:center;gap:var(--sbb-tab-label-gap);color:var(--sbb-tab-label-color);margin:0;padding-inline:var(--sbb-tab-label-inline-padding);min-height:var(--sbb-tab-label-height);transition:color var(--sbb-tab-label-animation-duration) var(--sbb-tab-label-animation-easing);font-size:var(--sbb-tab-label-font-size);letter-spacing:var(--sbb-typo-letter-spacing-text);font-weight:var(--sbb-tab-label-font-weight);text-decoration:var(--sbb-tab-label-text-decoration)}:host(sbb-tab-nav-bar) ::slotted(a):after,:host(sbb-tab-label) .sbb-tab-label:after{position:absolute;content:\"\";inset-inline:0;inset-block-end:0;height:var(--sbb-tab-label-marker-thickness);background-color:var(--sbb-tab-label-color);scale:var(--sbb-tab-label-marker-scale, 0);transition-duration:var(--sbb-tab-label-animation-duration);transition-timing-function:var(--sbb-tab-label-animation-easing);transition-property:scale,background-color}:host(sbb-tab-nav-bar) .sbb-tab-nav-bar>[data-has-divider],:host(sbb-tab-label:is(:state(has-divider),[state--has-divider])){position:relative}:host(sbb-tab-nav-bar) .sbb-tab-nav-bar>[data-has-divider]:before,:host(sbb-tab-label:is(:state(has-divider),[state--has-divider])):before{content:\"\";position:absolute;inset-inline-start:0;inset-block-end:0;width:var(--sbb-tab-group-width);height:var(--sbb-border-width-1x);background-color:var(--sbb-tab-label-line-color)}:host(sbb-tab-nav-bar) ::slotted(a.sbb-disabled),:host(sbb-tab-label[disabled]){--sbb-tab-label-cursor: unset;--sbb-tab-label-pointer-events: none;--sbb-tab-label-text-decoration: line-through}@media(forced-colors:active){:host(sbb-tab-nav-bar) ::slotted(a.sbb-disabled),:host(sbb-tab-label[disabled]){--sbb-tab-label-color: GrayText;--sbb-tab-label-amount-color: GrayText}}:host(sbb-tab-nav-bar) ::slotted(a.sbb-active:not(.sbb-disabled)),:host(sbb-tab-label[active]:not([disabled])){--sbb-tab-label-color: var(--sbb-color-3);--sbb-tab-label-cursor: unset;--sbb-tab-label-pointer-events: none;--sbb-tab-label-marker-scale: 1}@media(forced-colors:active){:host(sbb-tab-nav-bar) ::slotted(a.sbb-active:not(.sbb-disabled)),:host(sbb-tab-label[active]:not([disabled])){--sbb-tab-label-color: ButtonText;--sbb-tab-label-amount-color: ButtonText}}@media(any-hover:hover){:host(sbb-tab-nav-bar) ::slotted(a:hover:not(.sbb-disabled)),:host(sbb-tab-label:hover:not([disabled])){--sbb-tab-label-marker-scale: 1}}:host(sbb-tab-nav-bar) ::slotted(a:active:not(.sbb-disabled)),:host(sbb-tab-label:active){--sbb-tab-label-color: var(--sbb-color-3)}@media(forced-colors:active){:host(sbb-tab-nav-bar) ::slotted(a:active:not(.sbb-disabled)),:host(sbb-tab-label:active){--sbb-tab-label-color: ButtonText;--sbb-tab-label-amount-color: ButtonText}}:host(sbb-tab-nav-bar) ::slotted(a:focus-visible),:host(sbb-tab-label:focus-visible) .sbb-tab-label{outline-offset:var(--sbb-focus-outline-offset);outline:var(--sbb-focus-outline-color) var(--sbb-focus-outline-style, solid) var(--sbb-focus-outline-width);border-radius:var(--sbb-tab-label-outline-border-radius-internal)}", r = e(t), i = e(n);
|
|
4
|
-
//#endregion
|
|
5
|
-
export { i as n, r as t };
|
|
@@ -1,16 +0,0 @@
|
|
|
1
|
-
import { html as e, unsafeCSS as t } from "lit";
|
|
2
|
-
import { SbbElement as n } from "./core/base-elements.js";
|
|
3
|
-
//#region src/elements/timetable-form/timetable-form-details/timetable-form-details.scss?inline
|
|
4
|
-
var r = ":host{--sbb-timetable-form-details-padding-block: var(--sbb-spacing-fixed-1x);--sbb-timetable-form-details-padding-inline: var(--sbb-spacing-responsive-xxs);--sbb-timetable-form-details-horizontal-divider-height: 1.5rem;display:flex;flex-wrap:wrap;gap:var(--sbb-spacing-fixed-1x);border-block-start:var(--sbb-border-width-1x) solid var(--sbb-border-color-4-inverted);padding-block:var(--sbb-timetable-form-details-padding-block);padding-inline-start:calc(var(--sbb-size-icon-ui-small) + var(--sbb-spacing-responsive-xxxs));align-items:center}::slotted(sbb-form-field){--sbb-form-field-border-radius: var(--sbb-border-radius-6x);--sbb-form-field-outline-offset: -.3125rem}::slotted(sbb-divider[orientation=vertical]){height:var(--sbb-timetable-form-details-horizontal-divider-height)}::slotted(:last-child){margin-inline-end:var(--sbb-timetable-form-details-padding-inline)}", i = class extends n {
|
|
5
|
-
static {
|
|
6
|
-
this.elementName = "sbb-timetable-form-details";
|
|
7
|
-
}
|
|
8
|
-
static {
|
|
9
|
-
this.styles = t(r);
|
|
10
|
-
}
|
|
11
|
-
render() {
|
|
12
|
-
return e`<slot></slot>`;
|
|
13
|
-
}
|
|
14
|
-
};
|
|
15
|
-
//#endregion
|
|
16
|
-
export { i as t };
|
|
@@ -1,32 +0,0 @@
|
|
|
1
|
-
import { html as e, isServer as t, unsafeCSS as n } from "lit";
|
|
2
|
-
import { SbbFormFieldElement as r } from "./form-field.pure.js";
|
|
3
|
-
//#region src/elements/timetable-form/timetable-form-field/timetable-form-field.scss?inline
|
|
4
|
-
var i = ":host{display:flex;--sbb-form-field-border-radius: var(--sbb-border-radius-6x);--sbb-form-field-outline-offset: -.3125rem;--sbb-timetable-form-field-route-icon-color: var(--sbb-color-2);--sbb-timetable-form-field-route-icon-background-color: var(--sbb-background-color-1)}:host(:first-of-type){--sbb-timetable-form-field-route-icon-rotate: 90deg}:host(:last-of-type){--sbb-timetable-form-field-route-icon-rotate: -90deg;--sbb-timetable-form-field-route-icon-translate: -.0625rem 0}:host(:where(:not(:last-of-type))) .sbb-form-field__wrapper:after{content:\"\";position:absolute;border-block-end:var(--sbb-border-width-1x) var(--sbb-form-field-border-style) var(--sbb-border-color-4-inverted);inset-inline:var(--sbb-form-field-padding-inline);inset-block-end:0}.sbb-timetable-form-field__start-route-icon{align-self:center;margin-inline-start:var(--sbb-form-field-padding-inline);rotate:var(--sbb-timetable-form-field-route-icon-rotate);translate:var(--sbb-timetable-form-field-route-icon-translate)}.sbb-timetable-form-field__start-route-icon:after{--connecting-line-offset: .1875rem;--connecting-line-width: calc( (var(--sbb-form-field-min-height) - var(--sbb-icon-svg-height)) / 2 + var(--connecting-line-offset) );content:\"\";position:absolute;inset-block-start:50%;border-block-start:var(--sbb-border-width-1x) solid var(--sbb-timetable-form-field-route-icon-color);width:var(--connecting-line-width);margin-left:calc(var(--connecting-line-offset) * -1)}.sbb-timetable-form-field__via-route-icon{align-self:stretch;position:relative;width:var(--sbb-size-icon-ui-small);margin-inline-start:var(--sbb-form-field-padding-inline)}.sbb-timetable-form-field__via-route-icon:before{content:\"\";position:absolute;inset-inline-start:50%;height:100%;margin-inline-start:-.0625rem;border-inline-start:var(--sbb-border-width-1x) solid var(--sbb-timetable-form-field-route-icon-color)}.sbb-timetable-form-field__via-route-icon:after{content:\"\";position:absolute;inset-block-start:50%;inset-inline-start:50%;translate:-50% -50%;width:.4375rem;height:.4375rem;border:var(--sbb-border-width-1x) solid var(--sbb-timetable-form-field-route-icon-color);border-radius:var(--sbb-border-radius-infinity);background-color:var(--sbb-timetable-form-field-route-icon-background-color);margin-inline-start:-.03125rem}.sbb-form-field__space-wrapper{flex-grow:1}";
|
|
5
|
-
//#endregion
|
|
6
|
-
//#region src/elements/timetable-form/timetable-form-field/timetable-form-field.component.ts
|
|
7
|
-
r.define();
|
|
8
|
-
var a = class extends r {
|
|
9
|
-
static {
|
|
10
|
-
this.elementName = "sbb-timetable-form-field";
|
|
11
|
-
}
|
|
12
|
-
static {
|
|
13
|
-
this.styles = [r.styles, n(i)];
|
|
14
|
-
}
|
|
15
|
-
constructor() {
|
|
16
|
-
super(), this._routeIcon = !1, this.borderless = !0, this.floatingLabel = !0, this.width = "collapse", this.size = "l";
|
|
17
|
-
}
|
|
18
|
-
connectedCallback() {
|
|
19
|
-
super.connectedCallback(), !t && this.hydrationComplete.then(() => this._routeIcon = this.matches(":first-of-type, :last-of-type"));
|
|
20
|
-
}
|
|
21
|
-
render() {
|
|
22
|
-
return e`
|
|
23
|
-
${this._routeIcon ? e` <sbb-icon
|
|
24
|
-
name="route-circle-start-small"
|
|
25
|
-
class="sbb-timetable-form-field__start-route-icon"
|
|
26
|
-
></sbb-icon>` : e` <span class="sbb-timetable-form-field__via-route-icon"></span> `}
|
|
27
|
-
${super.render()}
|
|
28
|
-
`;
|
|
29
|
-
}
|
|
30
|
-
};
|
|
31
|
-
//#endregion
|
|
32
|
-
export { a as t };
|