@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
|
@@ -0,0 +1,378 @@
|
|
|
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-max-width: min(\n 25rem,\n calc(100vw - var(--sbb-spacing-fixed-2x))\n );\n --sbb-tooltip-animation-duration: var(\n --sbb-disable-animation-duration,\n var(--sbb-animation-duration-4x)\n );\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, all);\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 font-size: var(--sbb-tooltip-font-size);\n letter-spacing: var(--sbb-typo-letter-spacing-text);\n line-height: var(--sbb-typo-line-height-text);\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 --sbb-tooltip-animation-name: open;\n display: block;\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 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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidG9vbHRpcC5jb21wb25lbnQtWWFVUUEtSWQuanMiLCJuYW1lcyI6W10sInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2VsZW1lbnRzL3Rvb2x0aXAvdG9vbHRpcC5zY3NzP2lubGluZSIsIi4uLy4uLy4uL3NyYy9lbGVtZW50cy90b29sdGlwL3Rvb2x0aXAuY29tcG9uZW50LnRzIl0sInNvdXJjZXNDb250ZW50IjpbIkB1c2UgJy4uL2NvcmUvc3R5bGVzJyBhcyBzYmI7XG5cbjpob3N0IHtcbiAgLS1zYmItdG9vbHRpcC1tYXgtd2lkdGg6IG1pbihcbiAgICAje3NiYi5weC10by1yZW0tYnVpbGQoNDAwKX0sXG4gICAgY2FsYygxMDB2dyAtIHZhcigtLXNiYi1zcGFjaW5nLWZpeGVkLTJ4KSlcbiAgKTtcbiAgLS1zYmItdG9vbHRpcC1hbmltYXRpb24tZHVyYXRpb246IHZhcihcbiAgICAtLXNiYi1kaXNhYmxlLWFuaW1hdGlvbi1kdXJhdGlvbixcbiAgICB2YXIoLS1zYmItYW5pbWF0aW9uLWR1cmF0aW9uLTR4KVxuICApO1xuXG4gIHBvc2l0aW9uLWFyZWE6IHZhcigtLXNiYi1vdmVybGF5LXBvc2l0aW9uLWFyZWEpO1xuICBwb3NpdGlvbi10cnktZmFsbGJhY2tzOiB2YXIoLS1zYmItb3ZlcmxheS1wb3NpdGlvbi10cnktZmFsbGJhY2tzKTtcbiAgZGlzcGxheTogbm9uZTtcbiAgcG9zaXRpb246IGZpeGVkO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgcG9pbnRlci1ldmVudHM6IHZhcigtLXNiYi10b29sdGlwLXBvaW50ZXItZXZlbnRzLCBhbGwpO1xuICB6LWluZGV4OiB2YXIoLS1zYmItdG9vbHRpcC16LWluZGV4LCB2YXIoLS1zYmItb3ZlcmxheS1kZWZhdWx0LXotaW5kZXgpKTtcbiAgYW5pbWF0aW9uLW5hbWU6IHZhcigtLXNiYi10b29sdGlwLWFuaW1hdGlvbi1uYW1lKTtcbiAgYW5pbWF0aW9uLWR1cmF0aW9uOiB2YXIoLS1zYmItdG9vbHRpcC1hbmltYXRpb24tZHVyYXRpb24pO1xuICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiB2YXIoLS1zYmItdG9vbHRpcC1hbmltYXRpb24tZWFzaW5nKTtcbiAgZm9udC1zaXplOiB2YXIoLS1zYmItdG9vbHRpcC1mb250LXNpemUpO1xuICBsZXR0ZXItc3BhY2luZzogdmFyKC0tc2JiLXR5cG8tbGV0dGVyLXNwYWNpbmctdGV4dCk7XG4gIGxpbmUtaGVpZ2h0OiB2YXIoLS1zYmItdHlwby1saW5lLWhlaWdodC10ZXh0KTtcblxuICAvLyBSZXNldCBbcG9wb3Zlcl0gc3R5bGVzXG4gIGJvcmRlcjogbm9uZTtcbiAgaW5zZXQ6IGluaXRpYWw7XG4gIHBhZGRpbmc6IDA7XG4gIG1hcmdpbjogMDtcbn1cblxuOmhvc3QoOmlzKDpzdGF0ZShzdGF0ZS1vcGVuaW5nKSwgOnN0YXRlKHN0YXRlLW9wZW5lZCksIDpzdGF0ZShzdGF0ZS1jbG9zaW5nKSkpIHtcbiAgLS1zYmItdG9vbHRpcC1hbmltYXRpb24tbmFtZTogb3BlbjtcblxuICBkaXNwbGF5OiBibG9jaztcbn1cblxuOmhvc3QoOnN0YXRlKHN0YXRlLWNsb3NpbmcpKSB7XG4gIC0tc2JiLXRvb2x0aXAtYW5pbWF0aW9uLW5hbWU6IGNsb3NlO1xuICAtLXNiYi10b29sdGlwLXBvaW50ZXItZXZlbnRzOiBub25lO1xufVxuXG46aG9zdCg6aXMoW2RhdGEtcG9zaXRpb25+PSdibG9jay1lbmQnXSwgW2RhdGEtcG9zaXRpb25+PSdib3R0b20nXSwgW2RhdGEtcG9zaXRpb25ePSdlbmQnXSkpIHtcbiAgcGFkZGluZy1ibG9jay1zdGFydDogdmFyKC0tc2JiLXRvb2x0aXAtZ2FwKTtcbn1cblxuOmhvc3QoOmlzKFtkYXRhLXBvc2l0aW9ufj0nYmxvY2stc3RhcnQnXSwgW2RhdGEtcG9zaXRpb25+PSd0b3AnXSwgW2RhdGEtcG9zaXRpb25ePSdzdGFydCddKSkge1xuICBwYWRkaW5nLWJsb2NrLWVuZDogdmFyKC0tc2JiLXRvb2x0aXAtZ2FwKTtcbn1cblxuOmhvc3QoXG4gIDppcyhcbiAgICBbZGF0YS1wb3NpdGlvbn49J2lubGluZS1zdGFydCddLFxuICAgIFtkYXRhLXBvc2l0aW9ufj0naW5saW5lLWVuZCddLFxuICAgIFtkYXRhLXBvc2l0aW9ufj0nbGVmdCddLFxuICAgIFtkYXRhLXBvc2l0aW9ufj0ncmlnaHQnXSxcbiAgICBbZGF0YS1wb3NpdGlvbiQ9JyBzdGFydCddLFxuICAgIFtkYXRhLXBvc2l0aW9uJD0nIGVuZCddXG4gIClcbikge1xuICAvLyBBZGQgYSBnYXAgb24gYm90aCBzaWRlcyB0byBkaXN0YW5jZSB0aGUgdG9vbHRpcCBmcm9tIHRoZSB0cmlnZ2VyIGFuZCB0aGUgZWRnZSBvZiB0aGUgdmlld3BvcnQuXG4gIHBhZGRpbmctaW5saW5lOiB2YXIoLS1zYmItdG9vbHRpcC1nYXApO1xufVxuXG4uc2JiLXRvb2x0aXAge1xuICBib3gtc2hhZG93OiB2YXIoLS1zYmItYm94LXNoYWRvdy1sZXZlbC01LXNvZnQpO1xuICBib3JkZXI6IHZhcigtLXNiYi1ib3JkZXItd2lkdGgtMXgpIHNvbGlkIHZhcigtLXNiYi10b29sdGlwLWJvcmRlci1jb2xvcik7XG4gIGJvcmRlci1yYWRpdXM6IHZhcigtLXNiYi10b29sdGlwLWJvcmRlci1yYWRpdXMpO1xuICBwYWRkaW5nOiB2YXIoLS1zYmItdG9vbHRpcC1wYWRkaW5nKTtcbiAgY29sb3I6IHZhcigtLXNiYi10b29sdGlwLWNvbG9yKTtcbiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tc2JiLXRvb2x0aXAtYmFja2dyb3VuZC1jb2xvcik7XG4gIG1pbi13aWR0aDogdmFyKC0tc2JiLXRvb2x0aXAtbWluLXdpZHRoKTtcbiAgbWF4LXdpZHRoOiB2YXIoLS1zYmItdG9vbHRpcC1tYXgtd2lkdGgpO1xufVxuXG5Aa2V5ZnJhbWVzIG9wZW4ge1xuICBmcm9tIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIHRyYW5zbGF0ZTogdmFyKC0tc2JiLXRvb2x0aXAtYW5pbWF0aW9uLXRyYW5zbGF0ZSk7XG4gIH1cblxuICB0byB7XG4gICAgb3BhY2l0eTogMTtcbiAgICB0cmFuc2xhdGU6IDA7XG4gIH1cbn1cblxuQGtleWZyYW1lcyBjbG9zZSB7XG4gIGZyb20ge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgdHJhbnNsYXRlOiAwO1xuICB9XG5cbiAgdG8ge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgdHJhbnNsYXRlOiB2YXIoLS1zYmItdG9vbHRpcC1hbmltYXRpb24tdHJhbnNsYXRlKTtcbiAgfVxufVxuIiwiaW1wb3J0IHtcbiAgdHlwZSBDU1NSZXN1bHRHcm91cCxcbiAgaHRtbCxcbiAgaXNTZXJ2ZXIsXG4gIHR5cGUgUHJvcGVydHlEZWNsYXJhdGlvbixcbiAgdHlwZSBQcm9wZXJ0eVZhbHVlcyxcbiAgdHlwZSBUZW1wbGF0ZVJlc3VsdCxcbiAgdW5zYWZlQ1NTLFxufSBmcm9tICdsaXQnO1xuaW1wb3J0IHsgcHJvcGVydHkgfSBmcm9tICdsaXQvZGVjb3JhdG9ycy5qcyc7XG5cbmltcG9ydCB7IFNiYk9wZW5DbG9zZUJhc2VFbGVtZW50IH0gZnJvbSAnLi4vY29yZS9iYXNlLWVsZW1lbnRzLnRzJztcbmltcG9ydCB7IHJlYWRDb25maWcgfSBmcm9tICcuLi9jb3JlL2NvbmZpZy50cyc7XG5pbXBvcnQge1xuICBTYmJFc2NhcGFibGVPdmVybGF5Q29udHJvbGxlcixcbiAgU2JiT3ZlcmxheVBvc2l0aW9uQ29udHJvbGxlcixcbn0gZnJvbSAnLi4vY29yZS9jb250cm9sbGVycy50cyc7XG5pbXBvcnQgeyBpZFJlZmVyZW5jZSB9IGZyb20gJy4uL2NvcmUvZGVjb3JhdG9ycy50cyc7XG5pbXBvcnQgeyBpc0FuZHJvaWQsIGlzSU9TLCBpc1plcm9BbmltYXRpb25EdXJhdGlvbiwgcXVldWVEb21Db250ZW50TG9hZGVkIH0gZnJvbSAnLi4vY29yZS9kb20udHMnO1xuaW1wb3J0IHsgYXBwZW5kQXJpYUVsZW1lbnRzLCByZW1vdmVBcmlhRWxlbWVudHMsIFNiYkRpc2FibGVkTWl4aW4gfSBmcm9tICcuLi9jb3JlL21peGlucy50cyc7XG5pbXBvcnQgeyBzYmJPdmVybGF5T3V0c2lkZVBvaW50ZXJFdmVudExpc3RlbmVyIH0gZnJvbSAnLi4vY29yZS9vdmVybGF5LnRzJztcbmltcG9ydCB7IGJveFNpemluZ1N0eWxlcyB9IGZyb20gJy4uL2NvcmUvc3R5bGVzLnRzJztcblxuaW1wb3J0IHN0eWxlIGZyb20gJy4vdG9vbHRpcC5zY3NzP2lubGluZSc7XG5cbi8qKlxuICogRGVmaW5lcyB0aGUgZGVmYXVsdCBwb3NpdGlvbiBmb3IgdGhlIHRvb2x0aXAgaWYgdGhpcyBlbGVtZW50IGlzIHVzZWQgYXMgYSB0cmlnZ2VyLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIFNiYlRvb2x0aXBEZWZhdWx0UG9zaXRpb25zIHtcbiAgcmVhZG9ubHkgdG9vbHRpcFBvc2l0aW9uczogc3RyaW5nW107XG59XG5cbi8qKlxuICogVGltZSBiZXR3ZWVuIHRoZSB1c2VyIHB1dHRpbmcgdGhlIHBvaW50ZXIgb24gYSB0b29sdGlwXG4gKiB0cmlnZ2VyIGFuZCB0aGUgbG9uZyBwcmVzcyBldmVudCBiZWluZyBmaXJlZC5cbiAqL1xuY29uc3QgTE9OR1BSRVNTX0RFTEFZID0gNTAwO1xuXG5jb25zdCBpc01vYmlsZSA9IGlzQW5kcm9pZCB8fCBpc0lPUztcbmNvbnN0IHRvb2x0aXBUcmlnZ2VycyA9IG5ldyBXZWFrTWFwPEhUTUxFbGVtZW50LCBTYmJUb29sdGlwRWxlbWVudD4oKTtcbmxldCBuZXh0SWQgPSAwO1xuXG4vKipcbiAqIEl0IGRpc3BsYXlzIHRleHQgY29udGVudCB3aXRoaW4gYSB0b29sdGlwLlxuICpcbiAqIEBzbG90IC0gVXNlIHRoZSB1bm5hbWVkIHNsb3QgdG8gYWRkIHRoZSB0ZXh0IGludG8gdGhlIHRvb2x0aXAuXG4gKiBAY3NzcHJvcCBbLS1zYmItb3ZlcmxheS1wb3NpdGlvbi1hcmVhPWJsb2NrLWVuZF0gLSBUaGUgcHJpbWFyeSBwb3NpdGlvbiBmb3IgdGhlIHRvb2x0aXAuXG4gKiBAY3NzcHJvcCBbLS1zYmItb3ZlcmxheS1wb3NpdGlvbi10cnktZmFsbGJhY2tzPWJsb2NrLWVuZCBzcGFuLWlubGluZS1lbmQsIGJsb2NrLWVuZCBzcGFuLWlubGluZS1zdGFydCwgYmxvY2stc3RhcnQsIGJsb2NrLXN0YXJ0IHNwYW4taW5saW5lLWVuZCwgYmxvY2stc3RhcnQgc3Bhbi1pbmxpbmUtc3RhcnRdIC1cbiAqIFRoZSBsaXN0IG9mIGZhbGxiYWNrIHBvc2l0aW9ucywgc2VwYXJhdGVkIGJ5ICcsJywgZm9yIHRoZSB0b29sdGlwXG4gKiBAY3NzcHJvcCBbLS1zYmItdG9vbHRpcC16LWluZGV4PXZhcigtLXNiYi1vdmVybGF5LWRlZmF1bHQtei1pbmRleCldIC0gVG8gc3BlY2lmeSBhIGN1c3RvbSBzdGFjayBvcmRlcixcbiAqIHRoZSBgei1pbmRleGAgY2FuIGJlIG92ZXJyaWRkZW4gYnkgZGVmaW5pbmcgdGhpcyBDU1MgdmFyaWFibGUuIFRoZSBkZWZhdWx0IGB6LWluZGV4YCBvZiB0aGVcbiAqIGNvbXBvbmVudCBpcyBzZXQgdG8gYHZhcigtLXNiYi1vdmVybGF5LWRlZmF1bHQtei1pbmRleClgIHdpdGggYSB2YWx1ZSBvZiBgMTAwMGAuXG4gKi9cbmV4cG9ydCBjbGFzcyBTYmJUb29sdGlwRWxlbWVudCBleHRlbmRzIFNiYkRpc2FibGVkTWl4aW4oU2JiT3BlbkNsb3NlQmFzZUVsZW1lbnQpIHtcbiAgcHVibGljIHN0YXRpYyBvdmVycmlkZSByZWFkb25seSBlbGVtZW50TmFtZTogc3RyaW5nID0gJ3NiYi10b29sdGlwJztcbiAgcHVibGljIHN0YXRpYyBvdmVycmlkZSByZWFkb25seSByb2xlID0gJ3Rvb2x0aXAnO1xuICBwdWJsaWMgc3RhdGljIG92ZXJyaWRlIHN0eWxlczogQ1NTUmVzdWx0R3JvdXAgPSBbYm94U2l6aW5nU3R5bGVzLCB1bnNhZmVDU1Moc3R5bGUpXTtcblxuICBwcml2YXRlIHN0YXRpYyBfdG9vbHRpcE91dGxldDogRWxlbWVudDtcblxuICBzdGF0aWMge1xuICAgIGlmICghaXNTZXJ2ZXIpIHtcbiAgICAgIC8vIFdlIGRvbid0IHdhbnQgdG8gYmxvY2sgZXhlY3V0aW9uIGZvciBpbml0aWFsaXphdGlvbixcbiAgICAgIC8vIHNvIHdlIGRlZmVyIGl0IHVudGlsIHRoZSBET00gY29udGVudCBpcyBsb2FkZWQuXG4gICAgICBxdWV1ZURvbUNvbnRlbnRMb2FkZWQoKCkgPT4gdGhpcy5faW5pdGlhbGl6ZVRvb2x0aXBPdXRsZXQoKSk7XG4gICAgfVxuICB9XG5cbiAgLyoqXG4gICAqIFRoZSBlbGVtZW50IHRoYXQgd2lsbCB0cmlnZ2VyIHRoZSB0b29sdGlwIG92ZXJsYXkuXG4gICAqXG4gICAqIEZvciBhdHRyaWJ1dGUgdXNhZ2UsIHByb3ZpZGUgYW4gaWQgcmVmZXJlbmNlLlxuICAgKi9cbiAgQGlkUmVmZXJlbmNlKClcbiAgQHByb3BlcnR5KClcbiAgcHVibGljIGFjY2Vzc29yIHRyaWdnZXI6IEhUTUxFbGVtZW50IHwgbnVsbCA9IG51bGw7XG5cbiAgLyoqXG4gICAqIE9wZW4gdGhlIHRvb2x0aXAgYWZ0ZXIgYSBnaXZlbiBkZWxheSBpbiBtaWxsaXNlY29uZHMuXG4gICAqIEdsb2JhbCBjb25maWd1cmF0aW9uIGlzIHVzZWQgYXMgZGVmYXVsdCwgaWYgbm90IHNldC5cbiAgICpcbiAgICogQGRlZmF1bHQgbnVsbFxuICAgKi9cbiAgQHByb3BlcnR5KHsgYXR0cmlidXRlOiAnb3Blbi1kZWxheScsIHR5cGU6IE51bWJlciB9KVxuICBwdWJsaWMgc2V0IG9wZW5EZWxheSh2YWx1ZTogbnVtYmVyIHwgbnVsbCkge1xuICAgIHRoaXMuX29wZW5EZWxheSA9IHZhbHVlO1xuICB9XG4gIHB1YmxpYyBnZXQgb3BlbkRlbGF5KCk6IG51bWJlciB7XG4gICAgcmV0dXJuIHRoaXMuX29wZW5EZWxheSA/PyByZWFkQ29uZmlnKCkudG9vbHRpcD8ub3BlbkRlbGF5ID8/IDA7XG4gIH1cbiAgcHJpdmF0ZSBfb3BlbkRlbGF5OiBudW1iZXIgfCBudWxsID0gbnVsbDtcblxuICAvKipcbiAgICogQ2xvc2UgdGhlIHRvb2x0aXAgYWZ0ZXIgYSBnaXZlbiBkZWxheSBpbiBtaWxsaXNlY29uZHMuXG4gICAqIEdsb2JhbCBjb25maWd1cmF0aW9uIGlzIHVzZWQgYXMgZGVmYXVsdCwgaWYgbm90IHNldC5cbiAgICpcbiAgICogQGRlZmF1bHQgbnVsbFxuICAgKi9cbiAgQHByb3BlcnR5KHsgYXR0cmlidXRlOiAnY2xvc2UtZGVsYXknLCB0eXBlOiBOdW1iZXIgfSlcbiAgcHVibGljIHNldCBjbG9zZURlbGF5KHZhbHVlOiBudW1iZXIgfCBudWxsKSB7XG4gICAgdGhpcy5fY2xvc2VEZWxheSA9IHZhbHVlO1xuICB9XG4gIHB1YmxpYyBnZXQgY2xvc2VEZWxheSgpOiBudW1iZXIge1xuICAgIHJldHVybiB0aGlzLl9jbG9zZURlbGF5ID8/IHJlYWRDb25maWcoKS50b29sdGlwPy5jbG9zZURlbGF5ID8/IDA7XG4gIH1cbiAgcHJpdmF0ZSBfY2xvc2VEZWxheTogbnVtYmVyIHwgbnVsbCA9IG51bGw7XG5cbiAgLyoqXG4gICAqIEF1dG9tYXRpY2FsbHkgY2xvc2UgdGhlIHRvb2x0aXAgYWZ0ZXIgaXQgaGFzIGJlZW4gb3BlbiBieSBsb25nIHByZXNzLlxuICAgKiBHbG9iYWwgY29uZmlndXJhdGlvbiBpcyB1c2VkIGFzIGRlZmF1bHQsIGlmIG5vdCBzZXQuXG4gICAqXG4gICAqIEBkZWZhdWx0IDE1MDBcbiAgICovXG4gIEBwcm9wZXJ0eSh7IGF0dHJpYnV0ZTogJ2xvbmctcHJlc3MtY2xvc2UtZGVsYXknLCB0eXBlOiBOdW1iZXIgfSlcbiAgcHVibGljIHNldCBsb25nUHJlc3NDbG9zZURlbGF5KHZhbHVlOiBudW1iZXIpIHtcbiAgICB0aGlzLl9sb25nUHJlc3NDbG9zZURlbGF5ID0gK3ZhbHVlO1xuICB9XG4gIHB1YmxpYyBnZXQgbG9uZ1ByZXNzQ2xvc2VEZWxheSgpOiBudW1iZXIge1xuICAgIHJldHVybiB0aGlzLl9sb25nUHJlc3NDbG9zZURlbGF5ID8/IHJlYWRDb25maWcoKS50b29sdGlwPy5sb25nUHJlc3NDbG9zZURlbGF5ID8/IDE1MDA7XG4gIH1cbiAgcHJpdmF0ZSBfbG9uZ1ByZXNzQ2xvc2VEZWxheT86IG51bWJlcjtcblxuICBwcml2YXRlIF90cmlnZ2VyRWxlbWVudDogSFRNTEVsZW1lbnQgfCBudWxsID0gbnVsbDtcbiAgcHJpdmF0ZSBfdHJpZ2dlckFib3J0Q29udHJvbGxlcj86IEFib3J0Q29udHJvbGxlcjtcbiAgcHJpdmF0ZSBfb3BlblN0YXRlQ29udHJvbGxlciE6IEFib3J0Q29udHJvbGxlcjtcbiAgcHJpdmF0ZSBfZXNjYXBhYmxlT3ZlcmxheUNvbnRyb2xsZXIgPSBuZXcgU2JiRXNjYXBhYmxlT3ZlcmxheUNvbnRyb2xsZXIodGhpcyk7XG4gIHByaXZhdGUgX292ZXJsYXlDb250cm9sbGVyID0gbmV3IFNiYk92ZXJsYXlQb3NpdGlvbkNvbnRyb2xsZXIodGhpcyk7XG4gIHByaXZhdGUgX29wZW5UaW1lb3V0PzogUmV0dXJuVHlwZTx0eXBlb2Ygc2V0VGltZW91dD47XG4gIHByaXZhdGUgX2Nsb3NlVGltZW91dD86IFJldHVyblR5cGU8dHlwZW9mIHNldFRpbWVvdXQ+O1xuICBwcml2YXRlIF9sb25nUHJlc3NPcGVuVGltZW91dD86IFJldHVyblR5cGU8dHlwZW9mIHNldFRpbWVvdXQ+O1xuICBwcml2YXRlIF9sb25nUHJlc3NDbG9zZVRpbWVvdXQ/OiBSZXR1cm5UeXBlPHR5cGVvZiBzZXRUaW1lb3V0PjtcblxuICBwdWJsaWMgY29uc3RydWN0b3IoKSB7XG4gICAgc3VwZXIoKTtcblxuICAgIC8vIFVudGlsIHRoZSBtb3VzZSBob3ZlcnMgdGhlIHRvb2x0aXAsIGl0IHN0YXlzIG9wZW4uXG4gICAgLy8gT24gJ21vdXNlbGVhdmUnIChpZiB0aGUgbW91c2UgaXMgbm90IG1vdmVkIG9udG8gdGhlIHRyaWdnZXIgYWdhaW4pLCBjbG9zZSBpdC5cbiAgICB0aGlzLmFkZEV2ZW50TGlzdGVuZXIoXG4gICAgICAnbW91c2VsZWF2ZScsXG4gICAgICAoZXZlbnQpID0+IHtcbiAgICAgICAgaWYgKFxuICAgICAgICAgICh0aGlzLnN0YXRlID09PSAnb3BlbmVkJyB8fCB0aGlzLnN0YXRlID09PSAnb3BlbmluZycpICYmXG4gICAgICAgICAgKCFldmVudC5yZWxhdGVkVGFyZ2V0IHx8ICF0aGlzLl90cmlnZ2VyRWxlbWVudD8uY29udGFpbnMoZXZlbnQucmVsYXRlZFRhcmdldCBhcyBOb2RlKSlcbiAgICAgICAgKSB7XG4gICAgICAgICAgdGhpcy5fZGVsYXllZENsb3NlKCk7XG4gICAgICAgIH1cbiAgICAgIH0sXG4gICAgICB7IHBhc3NpdmU6IHRydWUgfSxcbiAgICApO1xuXG4gICAgLy8gQW55IHVzZXIgaW50ZXJhY3Rpb24gb3V0c2lkZSB0aGUgdG9vbHRpcCBjbG9zZXMgaXQgaW1tZWRpYXRlbHlcbiAgICB0aGlzLmFkZEV2ZW50TGlzdGVuZXIoJ292ZXJsYXlPdXRzaWRlUG9pbnRlcicsICgpID0+IHRoaXMuY2xvc2UoKSwgeyBwYXNzaXZlOiB0cnVlIH0pO1xuXG4gICAgdGhpcy5hZGRFdmVudExpc3RlbmVyKCdhbmltYXRpb25lbmQnLCAoZSkgPT4gdGhpcy5fb25Ub29sdGlwQW5pbWF0aW9uRW5kKGUpLCB7IHBhc3NpdmU6IHRydWUgfSk7XG4gIH1cblxuICBwcml2YXRlIHN0YXRpYyBfaW5pdGlhbGl6ZVRvb2x0aXBPdXRsZXQoKTogdm9pZCB7XG4gICAgdGhpcy5fdG9vbHRpcE91dGxldCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2RpdicpO1xuICAgIHRoaXMuX3Rvb2x0aXBPdXRsZXQuY2xhc3NMaXN0LmFkZCgnc2JiLW92ZXJsYXktb3V0bGV0Jyk7XG4gICAgZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZCh0aGlzLl90b29sdGlwT3V0bGV0KTtcblxuICAgIC8vIFdlIGFyZSB1c2luZyBNdXRhdGlvbk9ic2VydmVyIGRpcmVjdGx5IGhlcmUsIGFzIGl0IHdpbGwgb25seSBiZSBjYWxsZWQgb24gY2xpZW50IHNpZGUsXG4gICAgLy8gYW5kIHdlIGRvIG5vdCBuZWVkIHRvIGRpc2Nvbm5lY3QgaXQsIGFzIHdlIHdhbnQgaXQgdG8gd29yayBkdXJpbmcgdGhlIGZ1bGwgbGlmZXRpbWVcbiAgICAvLyBvZiB0aGUgcGFnZS5cbiAgICBuZXcgTXV0YXRpb25PYnNlcnZlcigobXV0YXRpb25zKSA9PiB7XG4gICAgICBmb3IgKGNvbnN0IG11dGF0aW9uIG9mIG11dGF0aW9ucykge1xuICAgICAgICBpZiAobXV0YXRpb24udHlwZSA9PT0gJ2F0dHJpYnV0ZXMnKSB7XG4gICAgICAgICAgdGhpcy5faGFuZGxlVG9vbHRpcFRyaWdnZXIobXV0YXRpb24udGFyZ2V0IGFzIEhUTUxFbGVtZW50KTtcbiAgICAgICAgfSBlbHNlIGlmIChtdXRhdGlvbi50eXBlID09PSAnY2hpbGRMaXN0Jykge1xuICAgICAgICAgIGZvciAoY29uc3Qgbm9kZSBvZiBbLi4ubXV0YXRpb24uYWRkZWROb2RlcywgLi4ubXV0YXRpb24ucmVtb3ZlZE5vZGVzXS5maWx0ZXIoXG4gICAgICAgICAgICAobik6IG4gaXMgSFRNTEVsZW1lbnQgPT4gbi5ub2RlVHlwZSA9PT0gbi5FTEVNRU5UX05PREUsXG4gICAgICAgICAgKSkge1xuICAgICAgICAgICAgdGhpcy5faGFuZGxlVG9vbHRpcFRyaWdnZXIobm9kZSk7XG4gICAgICAgICAgICB0aGlzLl9maW5kQW5kSGFuZGxlVG9vbHRpcFRyaWdnZXJzKG5vZGUpO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH0pLm9ic2VydmUoZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50LCB7XG4gICAgICBhdHRyaWJ1dGVGaWx0ZXI6IFtcbiAgICAgICAgJ3NiYi10b29sdGlwJyxcbiAgICAgICAgJ3NiYi10b29sdGlwLW9wZW4tZGVsYXknLFxuICAgICAgICAnc2JiLXRvb2x0aXAtY2xvc2UtZGVsYXknLFxuICAgICAgICAnc2JiLXRvb2x0aXAtcG9zaXRpb24nLFxuICAgICAgXSxcbiAgICAgIGNoaWxkTGlzdDogdHJ1ZSxcbiAgICAgIHN1YnRyZWU6IHRydWUsXG4gICAgfSk7XG4gICAgdGhpcy5fZmluZEFuZEhhbmRsZVRvb2x0aXBUcmlnZ2Vycyhkb2N1bWVudC5ib2R5KTtcbiAgfVxuXG4gIHByaXZhdGUgc3RhdGljIF9maW5kQW5kSGFuZGxlVG9vbHRpcFRyaWdnZXJzKHJvb3Q6IEhUTUxFbGVtZW50KTogdm9pZCB7XG4gICAgcm9vdFxuICAgICAgLnF1ZXJ5U2VsZWN0b3JBbGw8SFRNTEVsZW1lbnQ+KCdbc2JiLXRvb2x0aXBdJylcbiAgICAgIC5mb3JFYWNoKChlKSA9PiB0aGlzLl9oYW5kbGVUb29sdGlwVHJpZ2dlcihlKSk7XG4gIH1cblxuICBwcml2YXRlIHN0YXRpYyBfaGFuZGxlVG9vbHRpcFRyaWdnZXIodHJpZ2dlckVsZW1lbnQ6IEhUTUxFbGVtZW50KTogdm9pZCB7XG4gICAgY29uc3QgdG9vbHRpcE1lc3NhZ2UgPSB0cmlnZ2VyRWxlbWVudC5nZXRBdHRyaWJ1dGUoJ3NiYi10b29sdGlwJyk7XG4gICAgbGV0IHRvb2x0aXAgPSB0b29sdGlwVHJpZ2dlcnMuZ2V0KHRyaWdnZXJFbGVtZW50KTtcblxuICAgIGlmICh0b29sdGlwTWVzc2FnZSAmJiB0cmlnZ2VyRWxlbWVudC5pc0Nvbm5lY3RlZCkge1xuICAgICAgaWYgKCF0b29sdGlwKSB7XG4gICAgICAgIC8vIENyZWF0ZSBhIG5ldyBzYmItdG9vbHRpcCBpbiB0aGUgb3V0bGV0IGFuZCBhdHRhY2ggaXQgdG8gdGhlIHRyaWdnZXJcbiAgICAgICAgdG9vbHRpcCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ3NiYi10b29sdGlwJyk7XG4gICAgICAgIHRvb2x0aXBUcmlnZ2Vycy5zZXQodHJpZ2dlckVsZW1lbnQsIHRvb2x0aXApO1xuICAgICAgICB0aGlzLl90b29sdGlwT3V0bGV0LmFwcGVuZENoaWxkKHRvb2x0aXApO1xuICAgICAgICB0b29sdGlwLnRyaWdnZXIgPSB0cmlnZ2VyRWxlbWVudDtcbiAgICAgIH1cblxuICAgICAgdG9vbHRpcC50ZXh0Q29udGVudCA9IHRvb2x0aXBNZXNzYWdlO1xuICAgICAgdG9vbHRpcC5vcGVuRGVsYXkgPSB0cmlnZ2VyRWxlbWVudC5oYXNBdHRyaWJ1dGUoJ3NiYi10b29sdGlwLW9wZW4tZGVsYXknKVxuICAgICAgICA/ICt0cmlnZ2VyRWxlbWVudC5nZXRBdHRyaWJ1dGUoJ3NiYi10b29sdGlwLW9wZW4tZGVsYXknKSFcbiAgICAgICAgOiBudWxsO1xuICAgICAgdG9vbHRpcC5jbG9zZURlbGF5ID0gdHJpZ2dlckVsZW1lbnQuaGFzQXR0cmlidXRlKCdzYmItdG9vbHRpcC1jbG9zZS1kZWxheScpXG4gICAgICAgID8gK3RyaWdnZXJFbGVtZW50LmdldEF0dHJpYnV0ZSgnc2JiLXRvb2x0aXAtY2xvc2UtZGVsYXknKSFcbiAgICAgICAgOiBudWxsO1xuXG4gICAgICAvLyBSZWFkIHRoZSBwb3NpdGlvbnMgZnJvbSB0aGUgdHJpZ2dlciAoZWl0aGVyIGZyb20gdGhlIGF0dHJpYnV0ZSBvciB0aGUgcHJvcGVydHkpXG4gICAgICBjb25zdCBwb3NpdGlvbnMgPSB0cmlnZ2VyRWxlbWVudC5oYXNBdHRyaWJ1dGUoJ3NiYi10b29sdGlwLXBvc2l0aW9uJylcbiAgICAgICAgPyB0cmlnZ2VyRWxlbWVudFxuICAgICAgICAgICAgLmdldEF0dHJpYnV0ZSgnc2JiLXRvb2x0aXAtcG9zaXRpb24nKSFcbiAgICAgICAgICAgIC5zcGxpdCgnLCcpXG4gICAgICAgICAgICAubWFwKChwKSA9PiBwLnRyaW0oKSlcbiAgICAgICAgOiAodHJpZ2dlckVsZW1lbnQgYXMgdW5rbm93biBhcyBTYmJUb29sdGlwRGVmYXVsdFBvc2l0aW9ucykudG9vbHRpcFBvc2l0aW9ucztcblxuICAgICAgaWYgKHBvc2l0aW9ucyAmJiBwb3NpdGlvbnMubGVuZ3RoID4gMCkge1xuICAgICAgICB0b29sdGlwLnN0eWxlLnNldFByb3BlcnR5KCctLXNiYi1vdmVybGF5LXBvc2l0aW9uLWFyZWEnLCBwb3NpdGlvbnNbMF0pO1xuICAgICAgICB0b29sdGlwLnN0eWxlLnNldFByb3BlcnR5KFxuICAgICAgICAgICctLXNiYi1vdmVybGF5LXBvc2l0aW9uLXRyeS1mYWxsYmFja3MnLFxuICAgICAgICAgIHBvc2l0aW9ucy5zbGljZSgxKS5qb2luKCcsICcpLFxuICAgICAgICApO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgdG9vbHRpcC5zdHlsZS5yZW1vdmVQcm9wZXJ0eSgnLS1zYmItb3ZlcmxheS1wb3NpdGlvbi1hcmVhJyk7XG4gICAgICAgIHRvb2x0aXAuc3R5bGUucmVtb3ZlUHJvcGVydHkoJy0tc2JiLW92ZXJsYXktcG9zaXRpb24tdHJ5LWZhbGxiYWNrcycpO1xuICAgICAgfVxuICAgIH0gZWxzZSBpZiAodG9vbHRpcCkge1xuICAgICAgLy8gVGhlIHRyaWdnZXIgb3IgdGhlIGF0dHJpYnV0ZSBoYXMgYmVlbiBkZWxldGVkID0+IGRlbGV0ZSB0aGUgY29ubmVjdGVkIHRvb2x0aXBcbiAgICAgIHRvb2x0aXBUcmlnZ2Vycy5kZWxldGUodHJpZ2dlckVsZW1lbnQpO1xuICAgICAgLy8gSWYgYSBjb25zdW1lciBvdmVycmlkZXMgdGhlIGBzYmItdG9vbHRpcGAsIHRoZSBmb2xsb3dpbmcgY29kZSBzaG91bGQgbm90IGJlXG4gICAgICAvLyBleGVjdXRlZCBhcyB3ZSBjYW4ndCBleHBlY3QgdGhhdCBwcml2YXRlIG1ldGhvZHMgYXJlIG1vY2tlZC5cbiAgICAgIHRvb2x0aXAuX2Rlc3Ryb3k/LigpO1xuICAgIH1cbiAgfVxuXG4gIHB1YmxpYyBvdmVycmlkZSBjb25uZWN0ZWRDYWxsYmFjaygpOiB2b2lkIHtcbiAgICBzdXBlci5jb25uZWN0ZWRDYWxsYmFjaygpO1xuICAgIHRoaXMucG9wb3ZlciA9ICdtYW51YWwnO1xuICAgIHRoaXMuaWQgfHw9IGBzYmItdG9vbHRpcC0keysrbmV4dElkfWA7XG4gICAgdGhpcy5zdGF0ZSA9ICdjbG9zZWQnO1xuICAgIHNiYk92ZXJsYXlPdXRzaWRlUG9pbnRlckV2ZW50TGlzdGVuZXIuY29ubmVjdCh0aGlzKTtcblxuICAgIGlmICh0aGlzLmhhc1VwZGF0ZWQgJiYgdGhpcy50cmlnZ2VyKSB7XG4gICAgICB0aGlzLl9hdHRhY2godGhpcy50cmlnZ2VyKTtcbiAgICB9XG4gIH1cblxuICBwdWJsaWMgb3ZlcnJpZGUgZGlzY29ubmVjdGVkQ2FsbGJhY2soKTogdm9pZCB7XG4gICAgc3VwZXIuZGlzY29ubmVjdGVkQ2FsbGJhY2soKTtcbiAgICBzYmJPdmVybGF5T3V0c2lkZVBvaW50ZXJFdmVudExpc3RlbmVyLmRpc2Nvbm5lY3QodGhpcyk7XG4gICAgdGhpcy5fZGV0YWNoKCk7XG4gIH1cblxuICBwdWJsaWMgb3ZlcnJpZGUgcmVxdWVzdFVwZGF0ZShcbiAgICBuYW1lPzogUHJvcGVydHlLZXksXG4gICAgb2xkVmFsdWU/OiB1bmtub3duLFxuICAgIG9wdGlvbnM/OiBQcm9wZXJ0eURlY2xhcmF0aW9uLFxuICApOiB2b2lkIHtcbiAgICBzdXBlci5yZXF1ZXN0VXBkYXRlKG5hbWUsIG9sZFZhbHVlLCBvcHRpb25zKTtcbiAgICBpZiAoaXNTZXJ2ZXIpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBpZiAoKCFuYW1lIHx8IG5hbWUgPT09ICd0cmlnZ2VyJykgJiYgdGhpcy5oYXNVcGRhdGVkKSB7XG4gICAgICB0aGlzLl9hdHRhY2godGhpcy50cmlnZ2VyKTtcbiAgICB9XG4gIH1cblxuICBwcm90ZWN0ZWQgb3ZlcnJpZGUgZmlyc3RVcGRhdGVkKGNoYW5nZWRQcm9wZXJ0aWVzOiBQcm9wZXJ0eVZhbHVlcyk6IHZvaWQge1xuICAgIHN1cGVyLmZpcnN0VXBkYXRlZChjaGFuZ2VkUHJvcGVydGllcyk7XG4gICAgdGhpcy5fYXR0YWNoKHRoaXMudHJpZ2dlcik7XG4gIH1cblxuICBwdWJsaWMgb3BlbigpOiB2b2lkIHtcbiAgICB0aGlzLl9yZXNldE9wZW5DbG9zZVRpbWVvdXQoKTtcbiAgICBpZiAoXG4gICAgICAodGhpcy5zdGF0ZSAhPT0gJ2Nsb3NlZCcgJiYgdGhpcy5zdGF0ZSAhPT0gJ2Nsb3NpbmcnKSB8fFxuICAgICAgdGhpcy5kaXNhYmxlZCB8fFxuICAgICAgIXRoaXMudHJpZ2dlciB8fFxuICAgICAgIXRoaXMuZGlzcGF0Y2hCZWZvcmVPcGVuRXZlbnQoKVxuICAgICkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIHRoaXMuc2hvd1BvcG92ZXI/LigpO1xuICAgIHRoaXMuc3RhdGUgPSAnb3BlbmluZyc7XG4gICAgdGhpcy5fb3ZlcmxheUNvbnRyb2xsZXIuY29ubmVjdCh0aGlzLnRyaWdnZXIpO1xuXG4gICAgLy8gSWYgdGhlIGFuaW1hdGlvbiBkdXJhdGlvbiBpcyB6ZXJvLCB0aGUgYW5pbWF0aW9uZW5kIGV2ZW50IGlzIG5vdCBhbHdheXMgZmlyZWQgcmVsaWFibHkuXG4gICAgLy8gSW4gdGhpcyBjYXNlIHdlIGRpcmVjdGx5IHNldCB0aGUgYG9wZW5lZGAgc3RhdGUuXG4gICAgaWYgKHRoaXMuX2lzWmVyb0FuaW1hdGlvbkR1cmF0aW9uKCkpIHtcbiAgICAgIHRoaXMuX2hhbmRsZU9wZW5pbmcoKTtcbiAgICB9XG4gIH1cblxuICBwdWJsaWMgY2xvc2UoKTogdm9pZCB7XG4gICAgdGhpcy5fcmVzZXRPcGVuQ2xvc2VUaW1lb3V0KCk7XG4gICAgaWYgKHRoaXMuc3RhdGUgIT09ICdvcGVuZWQnICYmIHRoaXMuc3RhdGUgIT09ICdvcGVuaW5nJykge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIHRoaXMuZGlzcGF0Y2hCZWZvcmVDbG9zZUV2ZW50KCk7XG4gICAgdGhpcy5zdGF0ZSA9ICdjbG9zaW5nJztcblxuICAgIC8vIElmIHRoZSBhbmltYXRpb24gZHVyYXRpb24gaXMgemVybywgdGhlIGFuaW1hdGlvbmVuZCBldmVudCBpcyBub3QgYWx3YXlzIGZpcmVkIHJlbGlhYmx5LlxuICAgIC8vIEluIHRoaXMgY2FzZSB3ZSBkaXJlY3RseSBzZXQgdGhlIGBjbG9zZWRgIHN0YXRlLlxuICAgIGlmICh0aGlzLl9pc1plcm9BbmltYXRpb25EdXJhdGlvbigpKSB7XG4gICAgICB0aGlzLl9oYW5kbGVDbG9zaW5nKCk7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBfZGVsYXllZE9wZW4oKTogdm9pZCB7XG4gICAgdGhpcy5fcmVzZXRPcGVuQ2xvc2VUaW1lb3V0KCk7XG4gICAgdGhpcy5fb3BlblRpbWVvdXQgPSBzZXRUaW1lb3V0KCgpID0+IHRoaXMub3BlbigpLCB0aGlzLm9wZW5EZWxheSk7XG4gIH1cblxuICBwcml2YXRlIF9oYW5kbGVPcGVuaW5nKCk6IHZvaWQge1xuICAgIHRoaXMuc3RhdGUgPSAnb3BlbmVkJztcbiAgICB0aGlzLl9lc2NhcGFibGVPdmVybGF5Q29udHJvbGxlci5jb25uZWN0KCk7XG4gICAgdGhpcy5kaXNwYXRjaE9wZW5FdmVudCgpO1xuICB9XG5cbiAgcHJpdmF0ZSBfZGVsYXllZENsb3NlKCk6IHZvaWQge1xuICAgIHRoaXMuX3Jlc2V0T3BlbkNsb3NlVGltZW91dCgpO1xuICAgIHRoaXMuX2Nsb3NlVGltZW91dCA9IHNldFRpbWVvdXQoKCkgPT4gdGhpcy5jbG9zZSgpLCB0aGlzLmNsb3NlRGVsYXkpO1xuICB9XG5cbiAgcHJpdmF0ZSBfaGFuZGxlQ2xvc2luZygpOiB2b2lkIHtcbiAgICB0aGlzLnN0YXRlID0gJ2Nsb3NlZCc7XG4gICAgdGhpcy5oaWRlUG9wb3Zlcj8uKCk7XG4gICAgdGhpcy5fb3ZlcmxheUNvbnRyb2xsZXIuZGlzY29ubmVjdCgpO1xuXG4gICAgdGhpcy5fZXNjYXBhYmxlT3ZlcmxheUNvbnRyb2xsZXIuZGlzY29ubmVjdCgpO1xuICAgIHRoaXMuZGlzcGF0Y2hDbG9zZUV2ZW50KCk7XG4gICAgdGhpcy5fb3BlblN0YXRlQ29udHJvbGxlcj8uYWJvcnQoKTtcbiAgfVxuXG4gIHByaXZhdGUgX29uVG9vbHRpcEFuaW1hdGlvbkVuZChldmVudDogQW5pbWF0aW9uRXZlbnQpOiB2b2lkIHtcbiAgICBpZiAoZXZlbnQuYW5pbWF0aW9uTmFtZSA9PT0gJ29wZW4nICYmIHRoaXMuc3RhdGUgPT09ICdvcGVuaW5nJykge1xuICAgICAgdGhpcy5faGFuZGxlT3BlbmluZygpO1xuICAgIH0gZWxzZSBpZiAoZXZlbnQuYW5pbWF0aW9uTmFtZSA9PT0gJ2Nsb3NlJyAmJiB0aGlzLnN0YXRlID09PSAnY2xvc2luZycpIHtcbiAgICAgIHRoaXMuX2hhbmRsZUNsb3NpbmcoKTtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIF9hdHRhY2godHJpZ2dlcjogSFRNTEVsZW1lbnQgfCBudWxsKTogdm9pZCB7XG4gICAgaWYgKHRoaXMuX3RyaWdnZXJFbGVtZW50KSB7XG4gICAgICAvLyBFdmVudHVhbGx5IGRldGFjaCBmcm9tIHRoZSBvbGQgdHJpZ2dlclxuICAgICAgdGhpcy5fZGV0YWNoKCk7XG4gICAgfVxuXG4gICAgdGhpcy5fdHJpZ2dlckVsZW1lbnQgPSB0cmlnZ2VyO1xuICAgIGlmICghdGhpcy5fdHJpZ2dlckVsZW1lbnQpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG4gICAgdGhpcy5fdHJpZ2dlckVsZW1lbnQuYXJpYURlc2NyaWJlZEJ5RWxlbWVudHMgPSBhcHBlbmRBcmlhRWxlbWVudHMoXG4gICAgICB0aGlzLl90cmlnZ2VyRWxlbWVudC5hcmlhRGVzY3JpYmVkQnlFbGVtZW50cyxcbiAgICAgIHRoaXMsXG4gICAgKTtcbiAgICB0aGlzLl9hZGRUcmlnZ2VyRXZlbnRIYW5kbGVycygpO1xuICB9XG5cbiAgcHJpdmF0ZSBfZGV0YWNoKCk6IHZvaWQge1xuICAgIHRoaXMuX3RyaWdnZXJBYm9ydENvbnRyb2xsZXI/LmFib3J0KCk7XG4gICAgdGhpcy5fb3BlblN0YXRlQ29udHJvbGxlcj8uYWJvcnQoKTtcblxuICAgIC8vIGNsZWFyIHRpbWVvdXRzXG4gICAgdGhpcy5fcmVzZXRPcGVuQ2xvc2VUaW1lb3V0KCk7XG4gICAgY2xlYXJUaW1lb3V0KHRoaXMuX2xvbmdQcmVzc09wZW5UaW1lb3V0KTtcbiAgICBjbGVhclRpbWVvdXQodGhpcy5fbG9uZ1ByZXNzQ2xvc2VUaW1lb3V0KTtcblxuICAgIGlmICghdGhpcy5fdHJpZ2dlckVsZW1lbnQpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG4gICAgdGhpcy5fdHJpZ2dlckVsZW1lbnQuYXJpYURlc2NyaWJlZEJ5RWxlbWVudHMgPSByZW1vdmVBcmlhRWxlbWVudHMoXG4gICAgICB0aGlzLl90cmlnZ2VyRWxlbWVudC5hcmlhRGVzY3JpYmVkQnlFbGVtZW50cyxcbiAgICAgIHRoaXMsXG4gICAgKTtcbiAgICB0aGlzLl90cmlnZ2VyRWxlbWVudCA9IG51bGw7XG4gIH1cblxuICBwcml2YXRlIF9kZXN0cm95KCk6IHZvaWQge1xuICAgIHRoaXMuX2RldGFjaCgpO1xuICAgIHRoaXMucmVtb3ZlKCk7XG4gIH1cblxuICBwcml2YXRlIF9hZGRUcmlnZ2VyRXZlbnRIYW5kbGVycygpOiB2b2lkIHtcbiAgICBjb25zdCB0cmlnZ2VyID0gdGhpcy5fdHJpZ2dlckVsZW1lbnQ7XG4gICAgaWYgKCF0cmlnZ2VyKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgdGhpcy5fdHJpZ2dlckFib3J0Q29udHJvbGxlcj8uYWJvcnQoKTtcbiAgICB0aGlzLl90cmlnZ2VyQWJvcnRDb250cm9sbGVyID0gbmV3IEFib3J0Q29udHJvbGxlcigpO1xuICAgIGNvbnN0IG9wdGlvbnM6IEFkZEV2ZW50TGlzdGVuZXJPcHRpb25zID0ge1xuICAgICAgc2lnbmFsOiB0aGlzLl90cmlnZ2VyQWJvcnRDb250cm9sbGVyLnNpZ25hbCxcbiAgICAgIHBhc3NpdmU6IHRydWUsXG4gICAgfTtcblxuICAgIGlmICghaXNNb2JpbGUpIHtcbiAgICAgIHRyaWdnZXIuYWRkRXZlbnRMaXN0ZW5lcignbW91c2VlbnRlcicsICgpID0+IHRoaXMuX2RlbGF5ZWRPcGVuKCksIG9wdGlvbnMpO1xuICAgICAgdHJpZ2dlci5hZGRFdmVudExpc3RlbmVyKFxuICAgICAgICAnbW91c2VsZWF2ZScsXG4gICAgICAgIChldmVudCkgPT4ge1xuICAgICAgICAgIGNvbnN0IG5ld1RhcmdldCA9IGV2ZW50LnJlbGF0ZWRUYXJnZXQgYXMgTm9kZSB8IG51bGw7XG4gICAgICAgICAgaWYgKCFuZXdUYXJnZXQgfHwgbmV3VGFyZ2V0ICE9PSB0aGlzKSB7XG4gICAgICAgICAgICB0aGlzLl9kZWxheWVkQ2xvc2UoKTtcbiAgICAgICAgICB9XG4gICAgICAgIH0sXG4gICAgICAgIG9wdGlvbnMsXG4gICAgICApO1xuXG4gICAgICAvLyAnYmx1cnMnIGltbWVkaWF0ZWx5IGNsb3NlIHRoZSB0b29sdGlwIGJlY2F1c2UgaXQgaXMgY29uc2lkZXJlZCBhbiAnaW50ZXJhY3Rpb24gd2l0aCBvdGhlciBlbGVtZW50cydcbiAgICAgIHRyaWdnZXIuYWRkRXZlbnRMaXN0ZW5lcignYmx1cicsICgpID0+IHRoaXMuY2xvc2UoKSwgb3B0aW9ucyk7XG4gICAgICB0cmlnZ2VyLmFkZEV2ZW50TGlzdGVuZXIoJ2ZvY3VzJywgKCkgPT4gdGhpcy5fZGVsYXllZE9wZW4oKSwgb3B0aW9ucyk7XG4gICAgfVxuXG4gICAgLy8gTG9uZy1wcmVzcyBldmVudCBoYW5kbGluZyAobWFpbmx5IGZvciBtb2JpbGUgdXNlcnMpXG4gICAgdHJpZ2dlci5hZGRFdmVudExpc3RlbmVyKFxuICAgICAgJ3RvdWNoc3RhcnQnLFxuICAgICAgKCkgPT4ge1xuICAgICAgICBjbGVhclRpbWVvdXQodGhpcy5fbG9uZ1ByZXNzT3BlblRpbWVvdXQpO1xuICAgICAgICBjbGVhclRpbWVvdXQodGhpcy5fbG9uZ1ByZXNzQ2xvc2VUaW1lb3V0KTtcbiAgICAgICAgdGhpcy5fbG9uZ1ByZXNzT3BlblRpbWVvdXQgPSBzZXRUaW1lb3V0KCgpID0+IHRoaXMub3BlbigpLCBMT05HUFJFU1NfREVMQVkpO1xuICAgICAgfSxcbiAgICAgIG9wdGlvbnMsXG4gICAgKTtcbiAgICB0cmlnZ2VyLmFkZEV2ZW50TGlzdGVuZXIoXG4gICAgICAndG91Y2hlbmQnLFxuICAgICAgKCkgPT4ge1xuICAgICAgICBjbGVhclRpbWVvdXQodGhpcy5fbG9uZ1ByZXNzT3BlblRpbWVvdXQpO1xuICAgICAgICB0aGlzLl9sb25nUHJlc3NDbG9zZVRpbWVvdXQgPSBzZXRUaW1lb3V0KCgpID0+IHRoaXMuY2xvc2UoKSwgdGhpcy5sb25nUHJlc3NDbG9zZURlbGF5KTtcbiAgICAgIH0sXG4gICAgICBvcHRpb25zLFxuICAgICk7XG4gICAgdHJpZ2dlci5hZGRFdmVudExpc3RlbmVyKFxuICAgICAgJ3RvdWNoY2FuY2VsJyxcbiAgICAgICgpID0+IHtcbiAgICAgICAgY2xlYXJUaW1lb3V0KHRoaXMuX2xvbmdQcmVzc09wZW5UaW1lb3V0KTtcbiAgICAgIH0sXG4gICAgICBvcHRpb25zLFxuICAgICk7XG4gIH1cblxuICBwcml2YXRlIF9pc1plcm9BbmltYXRpb25EdXJhdGlvbigpOiBib29sZWFuIHtcbiAgICByZXR1cm4gaXNaZXJvQW5pbWF0aW9uRHVyYXRpb24odGhpcywgJy0tc2JiLXRvb2x0aXAtYW5pbWF0aW9uLWR1cmF0aW9uJyk7XG4gIH1cblxuICBwcml2YXRlIF9yZXNldE9wZW5DbG9zZVRpbWVvdXQoKTogdm9pZCB7XG4gICAgY2xlYXJUaW1lb3V0KHRoaXMuX29wZW5UaW1lb3V0KTtcbiAgICBjbGVhclRpbWVvdXQodGhpcy5fY2xvc2VUaW1lb3V0KTtcbiAgfVxuXG4gIHByb3RlY3RlZCBvdmVycmlkZSByZW5kZXIoKTogVGVtcGxhdGVSZXN1bHQge1xuICAgIHJldHVybiBodG1sYFxuICAgICAgPGRpdiBjbGFzcz1cInNiYi10b29sdGlwXCI+XG4gICAgICAgIDxzbG90Pjwvc2xvdD5cbiAgICAgIDwvZGl2PlxuICAgIGA7XG4gIH1cbn1cblxuZGVjbGFyZSBnbG9iYWwge1xuICBpbnRlcmZhY2UgSFRNTEVsZW1lbnRUYWdOYW1lTWFwIHtcbiAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25hbWluZy1jb252ZW50aW9uXG4gICAgJ3NiYi10b29sdGlwJzogU2JiVG9vbHRpcEVsZW1lbnQ7XG4gIH1cbn1cbiJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQ29DQSxJQUFNLGtC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
|
package/development/tooltip.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import { t as SbbTooltipElement } from "./tooltip.component-
|
|
1
|
+
import { t as SbbTooltipElement } from "./tooltip.component-YaUQA-Id.js";
|
|
2
2
|
export { SbbTooltipElement };
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import { t as SbbTrainWagonElement } from "../../train-wagon.component-
|
|
1
|
+
import { t as SbbTrainWagonElement } from "../../train-wagon.component-CNxkffOO.js";
|
|
2
2
|
export { SbbTrainWagonElement };
|
|
@@ -12,7 +12,7 @@ import "./icon.js";
|
|
|
12
12
|
import "./timetable-occupancy-icon.js";
|
|
13
13
|
import { when } from "lit/directives/when.js";
|
|
14
14
|
//#region src/elements/train/train-wagon/train-wagon.scss?inline
|
|
15
|
-
var train_wagon_default = ":host {\n display: block;\n --sbb-train-wagon-width: var(--sbb-train-formation-wagon-width);\n --sbb-train-wagon-height: var(--sbb-train-formation-wagon-height);\n --sbb-train-wagon-shape-color: var(--sbb-color-3);\n --sbb-train-wagon-main-icon-height: 1.25rem;\n --sbb-train-wagon-main-icon-margin-block-start: 0.625rem;\n --sbb-train-wagon-attribute-icon-gap: var(--sbb-spacing-fixed-1x);\n --sbb-train-wagon-attribute-icon-height: 0.875rem;\n --sbb-train-wagon-attribute-icon-color: var(--sbb-color-1);\n --sbb-train-wagon-occupancy-height: 0.75rem;\n}\n@media (forced-colors: active) {\n :host {\n --sbb-train-wagon-shape-color: CanvasText;\n }\n}\n\n@media (forced-colors: active) {\n :host([type=closed]) {\n --sbb-train-wagon-shape-color: GrayText;\n }\n}\n\n:host(:is([type=sleeping], [type=couchette])) {\n --sbb-train-wagon-main-icon-margin-block-start: 0.390625rem;\n}\n\n:host(:is([type=wagon], [type=restaurant], [type=sleeping], [type=couchette])) {\n --sbb-train-wagon-shape: var(--sbb-train-wagon-wagon-shape);\n}\n\n:host([type=closed]) {\n --sbb-train-wagon-shape: var(--sbb-train-wagon-wagon-closed-shape);\n}\n\n:host([type=locomotive]) {\n --sbb-train-wagon-shape: var(--sbb-train-wagon-locomotive-shape);\n}\n\n:host([type=wagon-end-left]) {\n --sbb-train-wagon-shape: var(--sbb-train-wagon-wagon-end-left-shape);\n}\n\n:host([type=wagon-end-right]) {\n --sbb-train-wagon-shape: var(--sbb-train-wagon-wagon-end-right-shape);\n}\n\n.sbb-train-wagon {\n display: flex;\n flex-direction: column;\n align-items: center;\n width: var(--sbb-train-wagon-width);\n gap: var(--sbb-train-formation-vertical-gap);\n}\n\n.sbb-train-wagon__compartment {\n list-style: none;\n margin: 0;\n padding: 0;\n font-size: inherit;\n display: grid;\n grid-template: \"label label\" auto \"occupancy class\" 1fr/1fr 1fr;\n}\n.sbb-train-wagon__compartment::before {\n content: \"\";\n grid-column: occupancy/class;\n grid-row: occupancy;\n pointer-events: none;\n width: var(--sbb-train-wagon-width);\n height: var(--sbb-train-wagon-height);\n background-color: var(--sbb-train-wagon-shape-color);\n mask-image: var(--sbb-train-wagon-shape);\n}\n\n.sbb-train-wagon__main-icon {\n --sbb-icon-svg-height: var(--sbb-train-wagon-main-icon-height);\n grid-column: occupancy/class;\n grid-row: occupancy;\n margin-block-start: var(--sbb-train-wagon-main-icon-margin-block-start);\n justify-self: center;\n}\n\n.sbb-train-wagon__label {\n --sbb-text-font-size: var(--sbb-text-font-size-xxs);\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 grid-area: label;\n text-align: center;\n display: var(--sbb-train-formation-wagon-label-display, inline-block);\n min-height: calc(1em * var(--sbb-typo-line-height-text));\n}\n\n.sbb-train-wagon__occupancy,\n.sbb-train-wagon__class {\n height: var(--sbb-train-wagon-height);\n display: flex;\n align-items: center;\n justify-content: center;\n}\n\n.sbb-train-wagon__occupancy {\n --sbb-icon-svg-height: var(--sbb-train-wagon-occupancy-height);\n grid-area: occupancy;\n}\n\n.sbb-train-wagon__class {\n --sbb-title-font-size: var(--sbb-title-font-size-level-6-lean, var(--sbb-heading-font-size-6));\n --sbb-title-line-height: var(--sbb-typo-line-height-text);\n margin-block: var(--sbb-title-margin-block, 0);\n margin-inline: 0;\n font-family: var(--sbb-typo-font-family);\n font-weight: bold;\n
|
|
15
|
+
var train_wagon_default = ":host {\n display: block;\n --sbb-train-wagon-width: var(--sbb-train-formation-wagon-width);\n --sbb-train-wagon-height: var(--sbb-train-formation-wagon-height);\n --sbb-train-wagon-shape-color: var(--sbb-color-3);\n --sbb-train-wagon-main-icon-height: 1.25rem;\n --sbb-train-wagon-main-icon-margin-block-start: 0.625rem;\n --sbb-train-wagon-attribute-icon-gap: var(--sbb-spacing-fixed-1x);\n --sbb-train-wagon-attribute-icon-height: 0.875rem;\n --sbb-train-wagon-attribute-icon-color: var(--sbb-color-1);\n --sbb-train-wagon-occupancy-height: 0.75rem;\n}\n@media (forced-colors: active) {\n :host {\n --sbb-train-wagon-shape-color: CanvasText;\n }\n}\n\n@media (forced-colors: active) {\n :host([type=closed]) {\n --sbb-train-wagon-shape-color: GrayText;\n }\n}\n\n:host(:is([type=sleeping], [type=couchette])) {\n --sbb-train-wagon-main-icon-margin-block-start: 0.390625rem;\n}\n\n:host(:is([type=wagon], [type=restaurant], [type=sleeping], [type=couchette])) {\n --sbb-train-wagon-shape: var(--sbb-train-wagon-wagon-shape);\n}\n\n:host([type=closed]) {\n --sbb-train-wagon-shape: var(--sbb-train-wagon-wagon-closed-shape);\n}\n\n:host([type=locomotive]) {\n --sbb-train-wagon-shape: var(--sbb-train-wagon-locomotive-shape);\n}\n\n:host([type=wagon-end-left]) {\n --sbb-train-wagon-shape: var(--sbb-train-wagon-wagon-end-left-shape);\n}\n\n:host([type=wagon-end-right]) {\n --sbb-train-wagon-shape: var(--sbb-train-wagon-wagon-end-right-shape);\n}\n\n.sbb-train-wagon {\n display: flex;\n flex-direction: column;\n align-items: center;\n width: var(--sbb-train-wagon-width);\n gap: var(--sbb-train-formation-vertical-gap);\n}\n\n.sbb-train-wagon__compartment {\n list-style: none;\n margin: 0;\n padding: 0;\n font-size: inherit;\n display: grid;\n grid-template: \"label label\" auto \"occupancy class\" 1fr/1fr 1fr;\n}\n.sbb-train-wagon__compartment::before {\n content: \"\";\n grid-column: occupancy/class;\n grid-row: occupancy;\n pointer-events: none;\n width: var(--sbb-train-wagon-width);\n height: var(--sbb-train-wagon-height);\n background-color: var(--sbb-train-wagon-shape-color);\n mask-image: var(--sbb-train-wagon-shape);\n}\n\n.sbb-train-wagon__main-icon {\n --sbb-icon-svg-height: var(--sbb-train-wagon-main-icon-height);\n grid-column: occupancy/class;\n grid-row: occupancy;\n margin-block-start: var(--sbb-train-wagon-main-icon-margin-block-start);\n justify-self: center;\n}\n\n.sbb-train-wagon__label {\n --sbb-text-font-size: var(--sbb-text-font-size-xxs);\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 grid-area: label;\n text-align: center;\n display: var(--sbb-train-formation-wagon-label-display, inline-block);\n min-height: calc(1em * var(--sbb-typo-line-height-text));\n}\n\n.sbb-train-wagon__occupancy,\n.sbb-train-wagon__class {\n height: var(--sbb-train-wagon-height);\n display: flex;\n align-items: center;\n justify-content: center;\n}\n\n.sbb-train-wagon__occupancy {\n --sbb-icon-svg-height: var(--sbb-train-wagon-occupancy-height);\n grid-area: occupancy;\n}\n\n.sbb-train-wagon__class {\n --sbb-title-font-size: var(--sbb-title-font-size-level-6-lean, var(--sbb-heading-font-size-6));\n --sbb-title-line-height: var(--sbb-typo-line-height-text);\n margin-block: var(--sbb-title-margin-block, 0);\n margin-inline: 0;\n font-family: var(--sbb-typo-font-family);\n font-weight: bold;\n font-size: var(--sbb-title-font-size);\n letter-spacing: var(--sbb-typo-letter-spacing-heading);\n line-height: var(--sbb-title-line-height, var(--sbb-typo-line-height-heading));\n grid-area: class;\n}\n\n.sbb-train-wagon__attribute-icon-list {\n list-style: none;\n margin: 0;\n padding: 0;\n font-size: inherit;\n --sbb-icon-svg-height: var(--sbb-train-wagon-attribute-icon-height);\n display: flex;\n flex-wrap: wrap;\n justify-content: center;\n gap: var(--sbb-train-wagon-attribute-icon-gap);\n color: var(--sbb-train-wagon-attribute-icon-color);\n}\n\n.sbb-train-wagon__attribute-icon-list > :is(li, span) {\n display: inline-flex;\n}\n\n.sbb-screen-reader-only {\n border: 0;\n clip-path: rect(0 0 0 0);\n height: 1px;\n margin: -1px;\n overflow: hidden;\n padding: 0;\n position: absolute;\n white-space: nowrap;\n width: 1px;\n}";
|
|
16
16
|
//#endregion
|
|
17
17
|
//#region src/elements/train/train-wagon/train-wagon.component.ts
|
|
18
18
|
var typeToIconMap = {
|
|
@@ -333,4 +333,4 @@ var SbbTrainWagonElement = (() => {
|
|
|
333
333
|
//#endregion
|
|
334
334
|
export { SbbTrainWagonElement as t };
|
|
335
335
|
|
|
336
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJhaW4td2Fnb24uY29tcG9uZW50LUJ6QTgtU182LmpzIiwibmFtZXMiOltdLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9lbGVtZW50cy90cmFpbi90cmFpbi13YWdvbi90cmFpbi13YWdvbi5zY3NzP2lubGluZSIsIi4uLy4uLy4uL3NyYy9lbGVtZW50cy90cmFpbi90cmFpbi13YWdvbi90cmFpbi13YWdvbi5jb21wb25lbnQudHMiXSwic291cmNlc0NvbnRlbnQiOlsiQHVzZSAnLi4vLi4vY29yZS9zdHlsZXMnIGFzIHNiYjtcblxuOmhvc3Qge1xuICBkaXNwbGF5OiBibG9jaztcblxuICAtLXNiYi10cmFpbi13YWdvbi13aWR0aDogdmFyKC0tc2JiLXRyYWluLWZvcm1hdGlvbi13YWdvbi13aWR0aCk7XG4gIC0tc2JiLXRyYWluLXdhZ29uLWhlaWdodDogdmFyKC0tc2JiLXRyYWluLWZvcm1hdGlvbi13YWdvbi1oZWlnaHQpO1xuICAtLXNiYi10cmFpbi13YWdvbi1zaGFwZS1jb2xvcjogdmFyKC0tc2JiLWNvbG9yLTMpO1xuICAtLXNiYi10cmFpbi13YWdvbi1tYWluLWljb24taGVpZ2h0OiAje3NiYi5weC10by1yZW0tYnVpbGQoMjApfTtcbiAgLS1zYmItdHJhaW4td2Fnb24tbWFpbi1pY29uLW1hcmdpbi1ibG9jay1zdGFydDogI3tzYmIucHgtdG8tcmVtLWJ1aWxkKDEwKX07XG4gIC0tc2JiLXRyYWluLXdhZ29uLWF0dHJpYnV0ZS1pY29uLWdhcDogdmFyKC0tc2JiLXNwYWNpbmctZml4ZWQtMXgpO1xuICAtLXNiYi10cmFpbi13YWdvbi1hdHRyaWJ1dGUtaWNvbi1oZWlnaHQ6ICN7c2JiLnB4LXRvLXJlbS1idWlsZCgxNCl9O1xuICAtLXNiYi10cmFpbi13YWdvbi1hdHRyaWJ1dGUtaWNvbi1jb2xvcjogdmFyKC0tc2JiLWNvbG9yLTEpO1xuICAtLXNiYi10cmFpbi13YWdvbi1vY2N1cGFuY3ktaGVpZ2h0OiAje3NiYi5weC10by1yZW0tYnVpbGQoMTIpfTtcblxuICBAaW5jbHVkZSBzYmIuaWYtZm9yY2VkLWNvbG9ycyB7XG4gICAgLS1zYmItdHJhaW4td2Fnb24tc2hhcGUtY29sb3I6IENhbnZhc1RleHQ7XG4gIH1cbn1cblxuLy8gOmhvc3QoOmlzKFt0eXBlPSdjbG9zZWQnXSwgW3R5cGU9J2xvY29tb3RpdmUnXSkpIHtcbi8vICAtLXNiYi10cmFpbi13YWdvbi1zaGFwZS1jb2xvcjogdmFyKC0tc2JiLWNvbG9yLW1ldGFsKTtcbi8vXG4vLyAgQGluY2x1ZGUgc2JiLmlmLWZvcmNlZC1jb2xvcnMge1xuLy8gICAgLS1zYmItdHJhaW4td2Fnb24tc2hhcGUtY29sb3I6IENhbnZhc1RleHQ7XG4vLyAgfVxuLy8gfVxuXG46aG9zdChbdHlwZT0nY2xvc2VkJ10pIHtcbiAgQGluY2x1ZGUgc2JiLmlmLWZvcmNlZC1jb2xvcnMge1xuICAgIC0tc2JiLXRyYWluLXdhZ29uLXNoYXBlLWNvbG9yOiBHcmF5VGV4dDtcbiAgfVxufVxuXG46aG9zdCg6aXMoW3R5cGU9J3NsZWVwaW5nJ10sIFt0eXBlPSdjb3VjaGV0dGUnXSkpIHtcbiAgLS1zYmItdHJhaW4td2Fnb24tbWFpbi1pY29uLW1hcmdpbi1ibG9jay1zdGFydDogI3tzYmIucHgtdG8tcmVtLWJ1aWxkKDYuMjUpfTtcbn1cblxuOmhvc3QoOmlzKFt0eXBlPSd3YWdvbiddLCBbdHlwZT0ncmVzdGF1cmFudCddLCBbdHlwZT0nc2xlZXBpbmcnXSwgW3R5cGU9J2NvdWNoZXR0ZSddKSkge1xuICAtLXNiYi10cmFpbi13YWdvbi1zaGFwZTogdmFyKC0tc2JiLXRyYWluLXdhZ29uLXdhZ29uLXNoYXBlKTtcbn1cblxuOmhvc3QoW3R5cGU9J2Nsb3NlZCddKSB7XG4gIC0tc2JiLXRyYWluLXdhZ29uLXNoYXBlOiB2YXIoLS1zYmItdHJhaW4td2Fnb24td2Fnb24tY2xvc2VkLXNoYXBlKTtcbn1cblxuOmhvc3QoW3R5cGU9J2xvY29tb3RpdmUnXSkge1xuICAtLXNiYi10cmFpbi13YWdvbi1zaGFwZTogdmFyKC0tc2JiLXRyYWluLXdhZ29uLWxvY29tb3RpdmUtc2hhcGUpO1xufVxuXG46aG9zdChbdHlwZT0nd2Fnb24tZW5kLWxlZnQnXSkge1xuICAtLXNiYi10cmFpbi13YWdvbi1zaGFwZTogdmFyKC0tc2JiLXRyYWluLXdhZ29uLXdhZ29uLWVuZC1sZWZ0LXNoYXBlKTtcbn1cblxuOmhvc3QoW3R5cGU9J3dhZ29uLWVuZC1yaWdodCddKSB7XG4gIC0tc2JiLXRyYWluLXdhZ29uLXNoYXBlOiB2YXIoLS1zYmItdHJhaW4td2Fnb24td2Fnb24tZW5kLXJpZ2h0LXNoYXBlKTtcbn1cblxuLnNiYi10cmFpbi13YWdvbiB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIHdpZHRoOiB2YXIoLS1zYmItdHJhaW4td2Fnb24td2lkdGgpO1xuICBnYXA6IHZhcigtLXNiYi10cmFpbi1mb3JtYXRpb24tdmVydGljYWwtZ2FwKTtcbn1cblxuLnNiYi10cmFpbi13YWdvbl9fY29tcGFydG1lbnQge1xuICBAaW5jbHVkZSBzYmIubGlzdC1yZXNldDtcblxuICBkaXNwbGF5OiBncmlkO1xuICBncmlkLXRlbXBsYXRlOlxuICAgICdsYWJlbCBsYWJlbCcgYXV0b1xuICAgICdvY2N1cGFuY3kgY2xhc3MnIDFmciAvIDFmciAxZnI7XG5cbiAgLy8gVHlwZSBzaGFwZVxuICAmOjpiZWZvcmUge1xuICAgIGNvbnRlbnQ6ICcnO1xuICAgIGdyaWQtY29sdW1uOiBvY2N1cGFuY3kgLyBjbGFzcztcbiAgICBncmlkLXJvdzogb2NjdXBhbmN5O1xuICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICAgIHdpZHRoOiB2YXIoLS1zYmItdHJhaW4td2Fnb24td2lkdGgpO1xuICAgIGhlaWdodDogdmFyKC0tc2JiLXRyYWluLXdhZ29uLWhlaWdodCk7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tc2JiLXRyYWluLXdhZ29uLXNoYXBlLWNvbG9yKTtcblxuICAgIC8vIFVzaW5nIG1hc2staW1hZ2UgdGFrZXMgdGhlIGJhY2tncm91bmQtY29sb3IgYXMgc3Ryb2tlIGNvbG9yXG4gICAgbWFzay1pbWFnZTogdmFyKC0tc2JiLXRyYWluLXdhZ29uLXNoYXBlKTtcbiAgfVxufVxuXG4uc2JiLXRyYWluLXdhZ29uX19tYWluLWljb24ge1xuICAtLXNiYi1pY29uLXN2Zy1oZWlnaHQ6IHZhcigtLXNiYi10cmFpbi13YWdvbi1tYWluLWljb24taGVpZ2h0KTtcblxuICBncmlkLWNvbHVtbjogb2NjdXBhbmN5IC8gY2xhc3M7XG4gIGdyaWQtcm93OiBvY2N1cGFuY3k7XG4gIG1hcmdpbi1ibG9jay1zdGFydDogdmFyKC0tc2JiLXRyYWluLXdhZ29uLW1haW4taWNvbi1tYXJnaW4tYmxvY2stc3RhcnQpO1xuICBqdXN0aWZ5LXNlbGY6IGNlbnRlcjtcbn1cblxuLnNiYi10cmFpbi13YWdvbl9fbGFiZWwge1xuICBAaW5jbHVkZSBzYmIudGV4dC14eHMtLXJlZ3VsYXI7XG5cbiAgZ3JpZC1hcmVhOiBsYWJlbDtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBkaXNwbGF5OiB2YXIoLS1zYmItdHJhaW4tZm9ybWF0aW9uLXdhZ29uLWxhYmVsLWRpc3BsYXksIGlubGluZS1ibG9jayk7XG4gIG1pbi1oZWlnaHQ6IGNhbGMoMWVtICogdmFyKC0tc2JiLXR5cG8tbGluZS1oZWlnaHQtdGV4dCkpO1xufVxuXG4uc2JiLXRyYWluLXdhZ29uX19vY2N1cGFuY3ksXG4uc2JiLXRyYWluLXdhZ29uX19jbGFzcyB7XG4gIGhlaWdodDogdmFyKC0tc2JiLXRyYWluLXdhZ29uLWhlaWdodCk7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xufVxuXG4uc2JiLXRyYWluLXdhZ29uX19vY2N1cGFuY3kge1xuICAtLXNiYi1pY29uLXN2Zy1oZWlnaHQ6IHZhcigtLXNiYi10cmFpbi13YWdvbi1vY2N1cGFuY3ktaGVpZ2h0KTtcblxuICBncmlkLWFyZWE6IG9jY3VwYW5jeTtcbn1cblxuLnNiYi10cmFpbi13YWdvbl9fY2xhc3Mge1xuICBAaW5jbHVkZSBzYmIudGl0bGUtNigkZXhjbHVkZS1zcGFjaW5nOiB0cnVlKTtcblxuICBncmlkLWFyZWE6IGNsYXNzO1xufVxuXG4uc2JiLXRyYWluLXdhZ29uX19hdHRyaWJ1dGUtaWNvbi1saXN0IHtcbiAgQGluY2x1ZGUgc2JiLmxpc3QtcmVzZXQ7XG5cbiAgLS1zYmItaWNvbi1zdmctaGVpZ2h0OiB2YXIoLS1zYmItdHJhaW4td2Fnb24tYXR0cmlidXRlLWljb24taGVpZ2h0KTtcblxuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LXdyYXA6IHdyYXA7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICBnYXA6IHZhcigtLXNiYi10cmFpbi13YWdvbi1hdHRyaWJ1dGUtaWNvbi1nYXApO1xuICBjb2xvcjogdmFyKC0tc2JiLXRyYWluLXdhZ29uLWF0dHJpYnV0ZS1pY29uLWNvbG9yKTtcbn1cblxuLy8gVXNpbmcgLi4uIGxpIHNlbGVjdG9yLCBiZWNhdXNlIHRoZSBsaSBnZW5lcmF0aW9uXG4vLyBpcyBoYW5kbGVkIGluIHRoZSBjb21wb25lbnQgYmFzZSBjbGFzcy5cbi5zYmItdHJhaW4td2Fnb25fX2F0dHJpYnV0ZS1pY29uLWxpc3QgPiA6aXMobGksIHNwYW4pIHtcbiAgZGlzcGxheTogaW5saW5lLWZsZXg7XG59XG5cbi5zYmItc2NyZWVuLXJlYWRlci1vbmx5IHtcbiAgQGluY2x1ZGUgc2JiLnNjcmVlbi1yZWFkZXItb25seTtcbn1cbiIsImltcG9ydCB7IHR5cGUgQ1NTUmVzdWx0R3JvdXAsIG5vdGhpbmcsIHR5cGUgVGVtcGxhdGVSZXN1bHQsIHVuc2FmZUNTUyB9IGZyb20gJ2xpdCc7XG5pbXBvcnQgeyBwcm9wZXJ0eSB9IGZyb20gJ2xpdC9kZWNvcmF0b3JzLmpzJztcbmltcG9ydCB7IHdoZW4gfSBmcm9tICdsaXQvZGlyZWN0aXZlcy93aGVuLmpzJztcbmltcG9ydCB7IGh0bWwgfSBmcm9tICdsaXQvc3RhdGljLWh0bWwuanMnO1xuXG5pbXBvcnQgeyBTYmJFbGVtZW50IH0gZnJvbSAnLi4vLi4vY29yZS9iYXNlLWVsZW1lbnRzLnRzJztcbmltcG9ydCB7IFNiYkxhbmd1YWdlQ29udHJvbGxlciB9IGZyb20gJy4uLy4uL2NvcmUvY29udHJvbGxlcnMudHMnO1xuaW1wb3J0IHsgZm9yY2VUeXBlLCBoYW5kbGVEaXN0aW5jdENoYW5nZSwgb21pdEVtcHR5Q29udmVydGVyIH0gZnJvbSAnLi4vLi4vY29yZS9kZWNvcmF0b3JzLnRzJztcbmltcG9ydCB7XG4gIGkxOG5BZGRpdGlvbmFsV2Fnb25JbmZvcm1hdGlvbkhlYWRpbmcsXG4gIGkxOG5CbG9ja2VkUGFzc2FnZSxcbiAgaTE4bkNsYXNzLFxuICBpMThuQ2xvc2VkQ29tcGFydG1lbnRMYWJlbCxcbiAgaTE4bkNvdWNoZXR0ZVdhZ29uTGFiZWwsXG4gIGkxOG5Mb2NvbW90aXZlTGFiZWwsXG4gIGkxOG5SZXN0YXVyYW50V2Fnb25MYWJlbCxcbiAgaTE4blNlY3RvcixcbiAgaTE4blNsZWVwaW5nV2Fnb25MYWJlbCxcbiAgaTE4bldhZ29uTGFiZWwsXG4gIGkxOG5XYWdvbkxhYmVsTnVtYmVyLFxufSBmcm9tICcuLi8uLi9jb3JlL2kxOG4udHMnO1xuaW1wb3J0IHR5cGUgeyBTYmJPY2N1cGFuY3kgfSBmcm9tICcuLi8uLi9jb3JlL2ludGVyZmFjZXMudHMnO1xuaW1wb3J0IHsgU2JiTmFtZWRTbG90TGlzdE1peGluIH0gZnJvbSAnLi4vLi4vY29yZS9taXhpbnMudHMnO1xuaW1wb3J0IHsgYm94U2l6aW5nU3R5bGVzIH0gZnJvbSAnLi4vLi4vY29yZS9zdHlsZXMudHMnO1xuaW1wb3J0IHR5cGUgeyBTYmJJY29uRWxlbWVudCB9IGZyb20gJy4uLy4uL2ljb24udHMnO1xuXG5pbXBvcnQgc3R5bGUgZnJvbSAnLi90cmFpbi13YWdvbi5zY3NzP2lubGluZSc7XG5cbmltcG9ydCAnLi4vLi4vaWNvbi50cyc7XG5pbXBvcnQgJy4uLy4uL3RpbWV0YWJsZS1vY2N1cGFuY3ktaWNvbi50cyc7XG5cbmNvbnN0IHR5cGVUb0ljb25NYXA6IFJlY29yZDxzdHJpbmcsIHN0cmluZz4gPSB7XG4gIGNvdWNoZXR0ZTogJ3NhLWNjJyxcbiAgc2xlZXBpbmc6ICdzYS13bCcsXG4gIHJlc3RhdXJhbnQ6ICdzYS13cicsXG59O1xuXG4vKipcbiAqIEl0IGRpc3BsYXlzIGEgdHJhaW4gY29tcGFydG1lbnQgd2l0aGluIGEgYHNiYi10cmFpbmAgY29tcG9uZW50LlxuICpcbiAqIEBzbG90IC0gVXNlIHRoZSB1bm5hbWVkIHNsb3QgdG8gYWRkIG9uZSBvciBtb3JlIGBzYmItaWNvbmAgZm9yIG1ldGEtaW5mb3JtYXRpb24gb2YgdGhlIGBzYmItdHJhaW4td2Fnb25gLlxuICovXG5leHBvcnQgY2xhc3MgU2JiVHJhaW5XYWdvbkVsZW1lbnQgZXh0ZW5kcyBTYmJOYW1lZFNsb3RMaXN0TWl4aW48U2JiSWNvbkVsZW1lbnQsIHR5cGVvZiBTYmJFbGVtZW50PihcbiAgU2JiRWxlbWVudCxcbikge1xuICBwdWJsaWMgc3RhdGljIG92ZXJyaWRlIHJlYWRvbmx5IGVsZW1lbnROYW1lOiBzdHJpbmcgPSAnc2JiLXRyYWluLXdhZ29uJztcbiAgcHVibGljIHN0YXRpYyBvdmVycmlkZSBzdHlsZXM6IENTU1Jlc3VsdEdyb3VwID0gW2JveFNpemluZ1N0eWxlcywgdW5zYWZlQ1NTKHN0eWxlKV07XG4gIHB1YmxpYyBzdGF0aWMgcmVhZG9ubHkgZXZlbnRzID0ge1xuICAgIHNlY3RvcmNoYW5nZTogJ3NlY3RvcmNoYW5nZScsXG4gIH0gYXMgY29uc3Q7XG5cbiAgLyoqXG4gICAqIFdhZ29uIHR5cGUuXG4gICAqIEZvciBgd2Fnb24tZW5kLWxlZnRgIGFuZCBgd2Fnb24tZW5kLXJpZ2h0YCwgcGxlYXNlIHNldCB0aGUgY29ycmVzcG9uZGluZyB2YWx1ZSBvZiB0aGUgYGJsb2NrZWRQYXNzYWdlYCBwcm9wZXJ0eS5cbiAgICovXG4gIEBwcm9wZXJ0eSh7IHJlZmxlY3Q6IHRydWUgfSkgcHVibGljIGFjY2Vzc29yIHR5cGU6XG4gICAgfCAnd2Fnb24nXG4gICAgfCAnd2Fnb24tZW5kLWxlZnQnXG4gICAgfCAnd2Fnb24tZW5kLXJpZ2h0J1xuICAgIHwgJ2NvdWNoZXR0ZSdcbiAgICB8ICdzbGVlcGluZydcbiAgICB8ICdyZXN0YXVyYW50J1xuICAgIHwgJ2xvY29tb3RpdmUnXG4gICAgfCAnY2xvc2VkJyA9ICd3YWdvbic7XG5cbiAgcHJvdGVjdGVkIG92ZXJyaWRlIHJlYWRvbmx5IGxpc3RDaGlsZExvY2FsTmFtZXMgPSBbJ3NiYi1pY29uJ107XG5cbiAgLyoqIE9jY3VwYW5jeSBvZiBhIHdhZ29uLiAqL1xuICBAcHJvcGVydHkoKSBwdWJsaWMgYWNjZXNzb3Igb2NjdXBhbmN5OiBTYmJPY2N1cGFuY3kgfCBudWxsID0gbnVsbDtcblxuICAvKiogU2VjdG9yIGluIHdoaWNoIHRoZSB3YWdvbiBzdG9wcy4gKi9cbiAgQGZvcmNlVHlwZSgpXG4gIEBoYW5kbGVEaXN0aW5jdENoYW5nZSgoZTogU2JiVHJhaW5XYWdvbkVsZW1lbnQpID0+IGUuX3NlY3RvckNoYW5nZWQoKSlcbiAgQHByb3BlcnR5KHsgcmVmbGVjdDogdHJ1ZSwgY29udmVydGVyOiBvbWl0RW1wdHlDb252ZXJ0ZXIgfSlcbiAgcHVibGljIGFjY2Vzc29yIHNlY3Rvcjogc3RyaW5nID0gJyc7XG5cbiAgLyoqIEFjY2Vzc2liaWxpdHkgdGV4dCBmb3IgYmxvY2tlZCBwYXNzYWdlcyBvZiB0aGUgd2Fnb24uICovXG4gIEBwcm9wZXJ0eSh7IGF0dHJpYnV0ZTogJ2Jsb2NrZWQtcGFzc2FnZScgfSlcbiAgcHVibGljIGFjY2Vzc29yIGJsb2NrZWRQYXNzYWdlOiAncHJldmlvdXMnIHwgJ25leHQnIHwgJ2JvdGgnIHwgJ25vbmUnID0gJ25vbmUnO1xuXG4gIC8qKiBDbGFzcyBsYWJlbCAqL1xuICBAcHJvcGVydHkoeyBhdHRyaWJ1dGU6ICd3YWdvbi1jbGFzcycgfSkgcHVibGljIGFjY2Vzc29yIHdhZ29uQ2xhc3M6ICcxJyB8ICcyJyB8IG51bGwgPSBudWxsO1xuXG4gIC8qKiBXYWdvbiBudW1iZXIgKi9cbiAgQGZvcmNlVHlwZSgpXG4gIEBwcm9wZXJ0eSh7IHJlZmxlY3Q6IHRydWUsIGNvbnZlcnRlcjogb21pdEVtcHR5Q29udmVydGVyIH0pXG4gIHB1YmxpYyBhY2Nlc3NvciBsYWJlbDogc3RyaW5nID0gJyc7XG5cbiAgLyoqIEFkZGl0aW9uYWwgYWNjZXNzaWJpbGl0eSB0ZXh0IHdoaWNoIHdpbGwgYmUgYXBwZW5kZWQgdG8gdGhlIGVuZC4gKi9cbiAgQGZvcmNlVHlwZSgpXG4gIEBwcm9wZXJ0eSh7IGF0dHJpYnV0ZTogJ2FkZGl0aW9uYWwtYWNjZXNzaWJpbGl0eS10ZXh0JyB9KVxuICBwdWJsaWMgYWNjZXNzb3IgYWRkaXRpb25hbEFjY2Vzc2liaWxpdHlUZXh0OiBzdHJpbmcgPSAnJztcblxuICBwcml2YXRlIF9sYW5ndWFnZSA9IG5ldyBTYmJMYW5ndWFnZUNvbnRyb2xsZXIodGhpcyk7XG5cbiAgcHJpdmF0ZSBfc2VjdG9yQ2hhbmdlZCgpOiB2b2lkIHtcbiAgICAvKiogQGludGVybmFsICovXG4gICAgdGhpcy5kaXNwYXRjaEV2ZW50KG5ldyBFdmVudCgnc2VjdG9yY2hhbmdlJywgeyBidWJibGVzOiB0cnVlLCBjb21wb3NlZDogdHJ1ZSB9KSk7XG4gIH1cblxuICBwcml2YXRlIF90eXBlTGFiZWwoKTogc3RyaW5nIHtcbiAgICBpZiAodGhpcy50eXBlID09PSAnY2xvc2VkJykge1xuICAgICAgcmV0dXJuIGkxOG5DbG9zZWRDb21wYXJ0bWVudExhYmVsW3RoaXMuX2xhbmd1YWdlLmN1cnJlbnRdO1xuICAgIH0gZWxzZSBpZiAodGhpcy50eXBlID09PSAnbG9jb21vdGl2ZScpIHtcbiAgICAgIHJldHVybiBpMThuTG9jb21vdGl2ZUxhYmVsW3RoaXMuX2xhbmd1YWdlLmN1cnJlbnRdO1xuICAgIH0gZWxzZSBpZiAodGhpcy50eXBlID09PSAnY291Y2hldHRlJykge1xuICAgICAgcmV0dXJuIGkxOG5Db3VjaGV0dGVXYWdvbkxhYmVsW3RoaXMuX2xhbmd1YWdlLmN1cnJlbnRdO1xuICAgIH0gZWxzZSBpZiAodGhpcy50eXBlID09PSAnc2xlZXBpbmcnKSB7XG4gICAgICByZXR1cm4gaTE4blNsZWVwaW5nV2Fnb25MYWJlbFt0aGlzLl9sYW5ndWFnZS5jdXJyZW50XTtcbiAgICB9IGVsc2UgaWYgKHRoaXMudHlwZSA9PT0gJ3Jlc3RhdXJhbnQnKSB7XG4gICAgICByZXR1cm4gaTE4blJlc3RhdXJhbnRXYWdvbkxhYmVsW3RoaXMuX2xhbmd1YWdlLmN1cnJlbnRdO1xuICAgIH1cbiAgICByZXR1cm4gaTE4bldhZ29uTGFiZWxbdGhpcy5fbGFuZ3VhZ2UuY3VycmVudF07XG4gIH1cblxuICBwcm90ZWN0ZWQgb3ZlcnJpZGUgcmVuZGVyKCk6IFRlbXBsYXRlUmVzdWx0IHtcbiAgICBjb25zdCBibG9ja2VkUGFzc2FnZSA9XG4gICAgICB0aGlzLnR5cGUgPT09ICd3YWdvbi1lbmQtbGVmdCcgJiYgdGhpcy5ibG9ja2VkUGFzc2FnZSA9PT0gJ25vbmUnXG4gICAgICAgID8gJ3ByZXZpb3VzJ1xuICAgICAgICA6IHRoaXMudHlwZSA9PT0gJ3dhZ29uLWVuZC1yaWdodCcgJiYgdGhpcy5ibG9ja2VkUGFzc2FnZSA9PT0gJ25vbmUnXG4gICAgICAgICAgPyAnbmV4dCdcbiAgICAgICAgICA6ICh0aGlzLmJsb2NrZWRQYXNzYWdlID8/ICdub25lJyk7XG5cbiAgICBjb25zdCBoYXNCbG9ja2VkUGFzc2FnZUVudHJ5ID0gYmxvY2tlZFBhc3NhZ2UgIT09ICdub25lJztcblxuICAgIC8vIEZyb20gYWNjZXNzaWJpbGl0eSBwZXJzcGVjdGl2ZSB3ZSBjYW5ub3QgY3JlYXRlIGEgbGlzdCB3aXRoIG9ubHkgb25lIGVudHJ5LlxuICAgIC8vIFdlIG5lZWQgdG8ga25vdyB3aGF0IHdpbGwgYmUgcHJlc2VudGVkIGFuZCBzd2l0Y2ggc2VtYW50aWNzIGJhc2VkIG9uIGNvdW50LlxuICAgIGNvbnN0IGxpc3RFbnRyaWVzQ291bnQgPVxuICAgICAgKyEhdGhpcy5zZWN0b3IgK1xuICAgICAgKyEhdGhpcy5sYWJlbCArXG4gICAgICArKCEhdGhpcy53YWdvbkNsYXNzICYmIHRoaXMudHlwZSAhPT0gJ2Nsb3NlZCcpICtcbiAgICAgICsoISF0aGlzLm9jY3VwYW5jeSAmJiB0aGlzLnR5cGUgIT09ICdjbG9zZWQnKSArXG4gICAgICAraGFzQmxvY2tlZFBhc3NhZ2VFbnRyeTtcblxuICAgIGNvbnN0IHNlY3RvclN0cmluZyA9IGAke2kxOG5TZWN0b3JbdGhpcy5fbGFuZ3VhZ2UuY3VycmVudF19LCAke3RoaXMuc2VjdG9yfWA7XG5cbiAgICBjb25zdCBsYWJlbENvbnRlbnQgPSB0aGlzLmxhYmVsXG4gICAgICA/IGh0bWxgPHNwYW4gY2xhc3M9XCJzYmItc2NyZWVuLXJlYWRlci1vbmx5XCI+XG4gICAgICAgICAgICAke2Ake2kxOG5XYWdvbkxhYmVsTnVtYmVyW3RoaXMuX2xhbmd1YWdlLmN1cnJlbnRdfSwgJHt0aGlzLmxhYmVsfWB9XG4gICAgICAgICAgPC9zcGFuPlxuICAgICAgICAgIDxzcGFuIGFyaWEtaGlkZGVuPVwidHJ1ZVwiPiR7dGhpcy5sYWJlbH08L3NwYW4+YFxuICAgICAgOiBub3RoaW5nO1xuXG4gICAgY29uc3Qgd2Fnb25DbGFzc0NvbnRlbnQgPSBodG1sYDxzcGFuIGNsYXNzPVwic2JiLXNjcmVlbi1yZWFkZXItb25seVwiPlxuICAgICAgICAke3RoaXMud2Fnb25DbGFzcyA9PT0gJzEnXG4gICAgICAgICAgPyBpMThuQ2xhc3NbJ2ZpcnN0J11bdGhpcy5fbGFuZ3VhZ2UuY3VycmVudF1cbiAgICAgICAgICA6IGkxOG5DbGFzc1snc2Vjb25kJ11bdGhpcy5fbGFuZ3VhZ2UuY3VycmVudF19XG4gICAgICA8L3NwYW4+XG4gICAgICA8c3BhbiBhcmlhLWhpZGRlbj1cInRydWVcIj4ke3RoaXMud2Fnb25DbGFzc308L3NwYW4+YDtcblxuICAgIGNvbnN0IG1haW5JY29uID0gdHlwZVRvSWNvbk1hcFt0aGlzLnR5cGVdXG4gICAgICA/IGh0bWxgPHNiYi1pY29uXG4gICAgICAgICAgbmFtZT0ke3R5cGVUb0ljb25NYXBbdGhpcy50eXBlXX1cbiAgICAgICAgICBjbGFzcz1cInNiYi10cmFpbi13YWdvbl9fbWFpbi1pY29uXCJcbiAgICAgICAgPjwvc2JiLWljb24+YFxuICAgICAgOiBub3RoaW5nO1xuXG4gICAgcmV0dXJuIGh0bWxgXG4gICAgICA8ZGl2IGNsYXNzPVwic2JiLXRyYWluLXdhZ29uXCI+XG4gICAgICAgICR7d2hlbihcbiAgICAgICAgICBsaXN0RW50cmllc0NvdW50ID4gMSxcbiAgICAgICAgICAoKSA9PlxuICAgICAgICAgICAgaHRtbGA8dWwgYXJpYS1sYWJlbD0ke3RoaXMuX3R5cGVMYWJlbCgpfSBjbGFzcz1cInNiYi10cmFpbi13YWdvbl9fY29tcGFydG1lbnRcIj5cbiAgICAgICAgICAgICAgJHt0aGlzLnNlY3RvclxuICAgICAgICAgICAgICAgID8gaHRtbGA8bGkgY2xhc3M9XCJzYmItc2NyZWVuLXJlYWRlci1vbmx5XCI+JHtzZWN0b3JTdHJpbmd9PC9saT5gXG4gICAgICAgICAgICAgICAgOiBub3RoaW5nfVxuICAgICAgICAgICAgICA8bGkgY2xhc3M9XCJzYmItdHJhaW4td2Fnb25fX2xhYmVsXCIgYXJpYS1oaWRkZW49JHtgJHshdGhpcy5sYWJlbH1gfT5cbiAgICAgICAgICAgICAgICAke2xhYmVsQ29udGVudH1cbiAgICAgICAgICAgICAgPC9saT5cbiAgICAgICAgICAgICAgJHt0aGlzLndhZ29uQ2xhc3MgJiYgdGhpcy50eXBlICE9PSAnY2xvc2VkJ1xuICAgICAgICAgICAgICAgID8gaHRtbGA8bGkgY2xhc3M9XCJzYmItdHJhaW4td2Fnb25fX2NsYXNzXCI+JHt3YWdvbkNsYXNzQ29udGVudH08L2xpPmBcbiAgICAgICAgICAgICAgICA6IG5vdGhpbmd9XG4gICAgICAgICAgICAgICR7dGhpcy5vY2N1cGFuY3kgJiYgdGhpcy50eXBlICE9PSAnY2xvc2VkJ1xuICAgICAgICAgICAgICAgID8gaHRtbGA8c2JiLXRpbWV0YWJsZS1vY2N1cGFuY3ktaWNvblxuICAgICAgICAgICAgICAgICAgICBjbGFzcz1cInNiYi10cmFpbi13YWdvbl9fb2NjdXBhbmN5XCJcbiAgICAgICAgICAgICAgICAgICAgcm9sZT1cImxpc3RpdGVtXCJcbiAgICAgICAgICAgICAgICAgICAgb2NjdXBhbmN5PSR7dGhpcy5vY2N1cGFuY3l9XG4gICAgICAgICAgICAgICAgICA+PC9zYmItdGltZXRhYmxlLW9jY3VwYW5jeS1pY29uPmBcbiAgICAgICAgICAgICAgICA6IG5vdGhpbmd9XG4gICAgICAgICAgICAgICR7aGFzQmxvY2tlZFBhc3NhZ2VFbnRyeVxuICAgICAgICAgICAgICAgID8gaHRtbGA8bGkgY2xhc3M9XCJzYmItc2NyZWVuLXJlYWRlci1vbmx5XCI+XG4gICAgICAgICAgICAgICAgICAgICR7aTE4bkJsb2NrZWRQYXNzYWdlW2Jsb2NrZWRQYXNzYWdlXVt0aGlzLl9sYW5ndWFnZS5jdXJyZW50XX1cbiAgICAgICAgICAgICAgICAgIDwvbGk+YFxuICAgICAgICAgICAgICAgIDogbm90aGluZ31cbiAgICAgICAgICAgICAgJHttYWluSWNvbn1cbiAgICAgICAgICAgIDwvdWw+YCxcbiAgICAgICAgICAoKSA9PlxuICAgICAgICAgICAgaHRtbGA8ZGl2IGNsYXNzPVwic2JiLXRyYWluLXdhZ29uX19jb21wYXJ0bWVudFwiPlxuICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cInNiYi1zY3JlZW4tcmVhZGVyLW9ubHlcIj5cbiAgICAgICAgICAgICAgICAke2Ake3RoaXMuX3R5cGVMYWJlbCgpfSR7dGhpcy5zZWN0b3IgPyBgLCAke3NlY3RvclN0cmluZ31gIDogJyd9YH1cbiAgICAgICAgICAgICAgPC9zcGFuPlxuICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cInNiYi10cmFpbi13YWdvbl9fbGFiZWxcIiBhcmlhLWhpZGRlbj0ke2AkeyF0aGlzLmxhYmVsfWB9PlxuICAgICAgICAgICAgICAgICR7bGFiZWxDb250ZW50fVxuICAgICAgICAgICAgICA8L3NwYW4+XG5cbiAgICAgICAgICAgICAgJHt0aGlzLndhZ29uQ2xhc3MgJiYgdGhpcy50eXBlICE9PSAnY2xvc2VkJ1xuICAgICAgICAgICAgICAgID8gaHRtbGA8c3BhbiBjbGFzcz1cInNiYi10cmFpbi13YWdvbl9fY2xhc3NcIj4ke3dhZ29uQ2xhc3NDb250ZW50fTwvc3Bhbj5gXG4gICAgICAgICAgICAgICAgOiBub3RoaW5nfVxuICAgICAgICAgICAgICAke3RoaXMub2NjdXBhbmN5ICYmIHRoaXMudHlwZSAhPT0gJ2Nsb3NlZCdcbiAgICAgICAgICAgICAgICA/IGh0bWxgPHNiYi10aW1ldGFibGUtb2NjdXBhbmN5LWljb25cbiAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJzYmItdHJhaW4td2Fnb25fX29jY3VwYW5jeVwiXG4gICAgICAgICAgICAgICAgICAgIG9jY3VwYW5jeT0ke3RoaXMub2NjdXBhbmN5fVxuICAgICAgICAgICAgICAgICAgPjwvc2JiLXRpbWV0YWJsZS1vY2N1cGFuY3ktaWNvbj5gXG4gICAgICAgICAgICAgICAgOiBub3RoaW5nfVxuICAgICAgICAgICAgICAke2hhc0Jsb2NrZWRQYXNzYWdlRW50cnlcbiAgICAgICAgICAgICAgICA/IGh0bWxgPHNwYW4gY2xhc3M9XCJzYmItc2NyZWVuLXJlYWRlci1vbmx5XCI+XG4gICAgICAgICAgICAgICAgICAgICR7aTE4bkJsb2NrZWRQYXNzYWdlW2Jsb2NrZWRQYXNzYWdlXVt0aGlzLl9sYW5ndWFnZS5jdXJyZW50XX1cbiAgICAgICAgICAgICAgICAgIDwvc3Bhbj5gXG4gICAgICAgICAgICAgICAgOiBub3RoaW5nfVxuICAgICAgICAgICAgICAke21haW5JY29ufVxuICAgICAgICAgICAgPC9kaXY+IGAsXG4gICAgICAgICl9XG4gICAgICAgICR7dGhpcy5hZGRpdGlvbmFsQWNjZXNzaWJpbGl0eVRleHRcbiAgICAgICAgICA/IGh0bWxgPHNwYW4gY2xhc3M9XCJzYmItc2NyZWVuLXJlYWRlci1vbmx5XCI+LCAke3RoaXMuYWRkaXRpb25hbEFjY2Vzc2liaWxpdHlUZXh0fTwvc3Bhbj5gXG4gICAgICAgICAgOiBub3RoaW5nfVxuICAgICAgICAke3RoaXMucmVuZGVyTGlzdCh7XG4gICAgICAgICAgY2xhc3M6ICdzYmItdHJhaW4td2Fnb25fX2F0dHJpYnV0ZS1pY29uLWxpc3QnLFxuICAgICAgICAgIGFyaWFMYWJlbDogaTE4bkFkZGl0aW9uYWxXYWdvbkluZm9ybWF0aW9uSGVhZGluZ1t0aGlzLl9sYW5ndWFnZS5jdXJyZW50XSxcbiAgICAgICAgfSl9XG4gICAgICA8L2Rpdj5cbiAgICBgO1xuICB9XG59XG5cbmRlY2xhcmUgZ2xvYmFsIHtcbiAgaW50ZXJmYWNlIEhUTUxFbGVtZW50VGFnTmFtZU1hcCB7XG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uYW1pbmctY29udmVudGlvblxuICAgICdzYmItdHJhaW4td2Fnb24nOiBTYmJUcmFpbldhZ29uRWxlbWVudDtcbiAgfVxufVxuIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7OztBQytCQSxJQUFNLGdCQUF3QztDQUM1QyxXQUFXO0NBQ1gsVUFBVTtDQUNWLFlBQVk7Q0FDYjs7Ozs7O0lBT1ksOEJBQW9CO21CQUFTLHNCQUN4QyxXQUNEOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O2NBRlksNkJBQTZCLFlBRXpDOzs7QUFXOEMsU0FBQSx3QkFBQSxrQkFBQSxNQUFBLG9CQVE5QixRQUFPO0FBRU0sUUFBQSx1QkFBbUIsa0JBQUEsTUFBQSx3QkFBQSxFQUFHLENBQUMsV0FBVztBQUdsQyxTQUFBLDZCQUFBLGtCQUFBLE1BQUEseUJBQWlDLEtBQUk7QUFNakQsU0FBQSwyQkFBQSxrQkFBQSxNQUFBLDZCQUFBLEVBQUEsa0JBQUEsTUFBQSxzQkFBaUIsR0FBRTtBQUluQixTQUFBLG1DQUFBLGtCQUFBLE1BQUEsMEJBQUEs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
|
|
336
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJhaW4td2Fnb24uY29tcG9uZW50LUNOeGtmZk9PLmpzIiwibmFtZXMiOltdLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9lbGVtZW50cy90cmFpbi90cmFpbi13YWdvbi90cmFpbi13YWdvbi5zY3NzP2lubGluZSIsIi4uLy4uLy4uL3NyYy9lbGVtZW50cy90cmFpbi90cmFpbi13YWdvbi90cmFpbi13YWdvbi5jb21wb25lbnQudHMiXSwic291cmNlc0NvbnRlbnQiOlsiQHVzZSAnLi4vLi4vY29yZS9zdHlsZXMnIGFzIHNiYjtcblxuOmhvc3Qge1xuICBkaXNwbGF5OiBibG9jaztcblxuICAtLXNiYi10cmFpbi13YWdvbi13aWR0aDogdmFyKC0tc2JiLXRyYWluLWZvcm1hdGlvbi13YWdvbi13aWR0aCk7XG4gIC0tc2JiLXRyYWluLXdhZ29uLWhlaWdodDogdmFyKC0tc2JiLXRyYWluLWZvcm1hdGlvbi13YWdvbi1oZWlnaHQpO1xuICAtLXNiYi10cmFpbi13YWdvbi1zaGFwZS1jb2xvcjogdmFyKC0tc2JiLWNvbG9yLTMpO1xuICAtLXNiYi10cmFpbi13YWdvbi1tYWluLWljb24taGVpZ2h0OiAje3NiYi5weC10by1yZW0tYnVpbGQoMjApfTtcbiAgLS1zYmItdHJhaW4td2Fnb24tbWFpbi1pY29uLW1hcmdpbi1ibG9jay1zdGFydDogI3tzYmIucHgtdG8tcmVtLWJ1aWxkKDEwKX07XG4gIC0tc2JiLXRyYWluLXdhZ29uLWF0dHJpYnV0ZS1pY29uLWdhcDogdmFyKC0tc2JiLXNwYWNpbmctZml4ZWQtMXgpO1xuICAtLXNiYi10cmFpbi13YWdvbi1hdHRyaWJ1dGUtaWNvbi1oZWlnaHQ6ICN7c2JiLnB4LXRvLXJlbS1idWlsZCgxNCl9O1xuICAtLXNiYi10cmFpbi13YWdvbi1hdHRyaWJ1dGUtaWNvbi1jb2xvcjogdmFyKC0tc2JiLWNvbG9yLTEpO1xuICAtLXNiYi10cmFpbi13YWdvbi1vY2N1cGFuY3ktaGVpZ2h0OiAje3NiYi5weC10by1yZW0tYnVpbGQoMTIpfTtcblxuICBAaW5jbHVkZSBzYmIuaWYtZm9yY2VkLWNvbG9ycyB7XG4gICAgLS1zYmItdHJhaW4td2Fnb24tc2hhcGUtY29sb3I6IENhbnZhc1RleHQ7XG4gIH1cbn1cblxuLy8gOmhvc3QoOmlzKFt0eXBlPSdjbG9zZWQnXSwgW3R5cGU9J2xvY29tb3RpdmUnXSkpIHtcbi8vICAtLXNiYi10cmFpbi13YWdvbi1zaGFwZS1jb2xvcjogdmFyKC0tc2JiLWNvbG9yLW1ldGFsKTtcbi8vXG4vLyAgQGluY2x1ZGUgc2JiLmlmLWZvcmNlZC1jb2xvcnMge1xuLy8gICAgLS1zYmItdHJhaW4td2Fnb24tc2hhcGUtY29sb3I6IENhbnZhc1RleHQ7XG4vLyAgfVxuLy8gfVxuXG46aG9zdChbdHlwZT0nY2xvc2VkJ10pIHtcbiAgQGluY2x1ZGUgc2JiLmlmLWZvcmNlZC1jb2xvcnMge1xuICAgIC0tc2JiLXRyYWluLXdhZ29uLXNoYXBlLWNvbG9yOiBHcmF5VGV4dDtcbiAgfVxufVxuXG46aG9zdCg6aXMoW3R5cGU9J3NsZWVwaW5nJ10sIFt0eXBlPSdjb3VjaGV0dGUnXSkpIHtcbiAgLS1zYmItdHJhaW4td2Fnb24tbWFpbi1pY29uLW1hcmdpbi1ibG9jay1zdGFydDogI3tzYmIucHgtdG8tcmVtLWJ1aWxkKDYuMjUpfTtcbn1cblxuOmhvc3QoOmlzKFt0eXBlPSd3YWdvbiddLCBbdHlwZT0ncmVzdGF1cmFudCddLCBbdHlwZT0nc2xlZXBpbmcnXSwgW3R5cGU9J2NvdWNoZXR0ZSddKSkge1xuICAtLXNiYi10cmFpbi13YWdvbi1zaGFwZTogdmFyKC0tc2JiLXRyYWluLXdhZ29uLXdhZ29uLXNoYXBlKTtcbn1cblxuOmhvc3QoW3R5cGU9J2Nsb3NlZCddKSB7XG4gIC0tc2JiLXRyYWluLXdhZ29uLXNoYXBlOiB2YXIoLS1zYmItdHJhaW4td2Fnb24td2Fnb24tY2xvc2VkLXNoYXBlKTtcbn1cblxuOmhvc3QoW3R5cGU9J2xvY29tb3RpdmUnXSkge1xuICAtLXNiYi10cmFpbi13YWdvbi1zaGFwZTogdmFyKC0tc2JiLXRyYWluLXdhZ29uLWxvY29tb3RpdmUtc2hhcGUpO1xufVxuXG46aG9zdChbdHlwZT0nd2Fnb24tZW5kLWxlZnQnXSkge1xuICAtLXNiYi10cmFpbi13YWdvbi1zaGFwZTogdmFyKC0tc2JiLXRyYWluLXdhZ29uLXdhZ29uLWVuZC1sZWZ0LXNoYXBlKTtcbn1cblxuOmhvc3QoW3R5cGU9J3dhZ29uLWVuZC1yaWdodCddKSB7XG4gIC0tc2JiLXRyYWluLXdhZ29uLXNoYXBlOiB2YXIoLS1zYmItdHJhaW4td2Fnb24td2Fnb24tZW5kLXJpZ2h0LXNoYXBlKTtcbn1cblxuLnNiYi10cmFpbi13YWdvbiB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIHdpZHRoOiB2YXIoLS1zYmItdHJhaW4td2Fnb24td2lkdGgpO1xuICBnYXA6IHZhcigtLXNiYi10cmFpbi1mb3JtYXRpb24tdmVydGljYWwtZ2FwKTtcbn1cblxuLnNiYi10cmFpbi13YWdvbl9fY29tcGFydG1lbnQge1xuICBAaW5jbHVkZSBzYmIubGlzdC1yZXNldDtcblxuICBkaXNwbGF5OiBncmlkO1xuICBncmlkLXRlbXBsYXRlOlxuICAgICdsYWJlbCBsYWJlbCcgYXV0b1xuICAgICdvY2N1cGFuY3kgY2xhc3MnIDFmciAvIDFmciAxZnI7XG5cbiAgLy8gVHlwZSBzaGFwZVxuICAmOjpiZWZvcmUge1xuICAgIGNvbnRlbnQ6ICcnO1xuICAgIGdyaWQtY29sdW1uOiBvY2N1cGFuY3kgLyBjbGFzcztcbiAgICBncmlkLXJvdzogb2NjdXBhbmN5O1xuICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICAgIHdpZHRoOiB2YXIoLS1zYmItdHJhaW4td2Fnb24td2lkdGgpO1xuICAgIGhlaWdodDogdmFyKC0tc2JiLXRyYWluLXdhZ29uLWhlaWdodCk7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tc2JiLXRyYWluLXdhZ29uLXNoYXBlLWNvbG9yKTtcblxuICAgIC8vIFVzaW5nIG1hc2staW1hZ2UgdGFrZXMgdGhlIGJhY2tncm91bmQtY29sb3IgYXMgc3Ryb2tlIGNvbG9yXG4gICAgbWFzay1pbWFnZTogdmFyKC0tc2JiLXRyYWluLXdhZ29uLXNoYXBlKTtcbiAgfVxufVxuXG4uc2JiLXRyYWluLXdhZ29uX19tYWluLWljb24ge1xuICAtLXNiYi1pY29uLXN2Zy1oZWlnaHQ6IHZhcigtLXNiYi10cmFpbi13YWdvbi1tYWluLWljb24taGVpZ2h0KTtcblxuICBncmlkLWNvbHVtbjogb2NjdXBhbmN5IC8gY2xhc3M7XG4gIGdyaWQtcm93OiBvY2N1cGFuY3k7XG4gIG1hcmdpbi1ibG9jay1zdGFydDogdmFyKC0tc2JiLXRyYWluLXdhZ29uLW1haW4taWNvbi1tYXJnaW4tYmxvY2stc3RhcnQpO1xuICBqdXN0aWZ5LXNlbGY6IGNlbnRlcjtcbn1cblxuLnNiYi10cmFpbi13YWdvbl9fbGFiZWwge1xuICBAaW5jbHVkZSBzYmIudGV4dC14eHMtLXJlZ3VsYXI7XG5cbiAgZ3JpZC1hcmVhOiBsYWJlbDtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBkaXNwbGF5OiB2YXIoLS1zYmItdHJhaW4tZm9ybWF0aW9uLXdhZ29uLWxhYmVsLWRpc3BsYXksIGlubGluZS1ibG9jayk7XG4gIG1pbi1oZWlnaHQ6IGNhbGMoMWVtICogdmFyKC0tc2JiLXR5cG8tbGluZS1oZWlnaHQtdGV4dCkpO1xufVxuXG4uc2JiLXRyYWluLXdhZ29uX19vY2N1cGFuY3ksXG4uc2JiLXRyYWluLXdhZ29uX19jbGFzcyB7XG4gIGhlaWdodDogdmFyKC0tc2JiLXRyYWluLXdhZ29uLWhlaWdodCk7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xufVxuXG4uc2JiLXRyYWluLXdhZ29uX19vY2N1cGFuY3kge1xuICAtLXNiYi1pY29uLXN2Zy1oZWlnaHQ6IHZhcigtLXNiYi10cmFpbi13YWdvbi1vY2N1cGFuY3ktaGVpZ2h0KTtcblxuICBncmlkLWFyZWE6IG9jY3VwYW5jeTtcbn1cblxuLnNiYi10cmFpbi13YWdvbl9fY2xhc3Mge1xuICBAaW5jbHVkZSBzYmIudGl0bGUtNigkZXhjbHVkZS1zcGFjaW5nOiB0cnVlKTtcblxuICBncmlkLWFyZWE6IGNsYXNzO1xufVxuXG4uc2JiLXRyYWluLXdhZ29uX19hdHRyaWJ1dGUtaWNvbi1saXN0IHtcbiAgQGluY2x1ZGUgc2JiLmxpc3QtcmVzZXQ7XG5cbiAgLS1zYmItaWNvbi1zdmctaGVpZ2h0OiB2YXIoLS1zYmItdHJhaW4td2Fnb24tYXR0cmlidXRlLWljb24taGVpZ2h0KTtcblxuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LXdyYXA6IHdyYXA7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICBnYXA6IHZhcigtLXNiYi10cmFpbi13YWdvbi1hdHRyaWJ1dGUtaWNvbi1nYXApO1xuICBjb2xvcjogdmFyKC0tc2JiLXRyYWluLXdhZ29uLWF0dHJpYnV0ZS1pY29uLWNvbG9yKTtcbn1cblxuLy8gVXNpbmcgLi4uIGxpIHNlbGVjdG9yLCBiZWNhdXNlIHRoZSBsaSBnZW5lcmF0aW9uXG4vLyBpcyBoYW5kbGVkIGluIHRoZSBjb21wb25lbnQgYmFzZSBjbGFzcy5cbi5zYmItdHJhaW4td2Fnb25fX2F0dHJpYnV0ZS1pY29uLWxpc3QgPiA6aXMobGksIHNwYW4pIHtcbiAgZGlzcGxheTogaW5saW5lLWZsZXg7XG59XG5cbi5zYmItc2NyZWVuLXJlYWRlci1vbmx5IHtcbiAgQGluY2x1ZGUgc2JiLnNjcmVlbi1yZWFkZXItb25seTtcbn1cbiIsImltcG9ydCB7IHR5cGUgQ1NTUmVzdWx0R3JvdXAsIG5vdGhpbmcsIHR5cGUgVGVtcGxhdGVSZXN1bHQsIHVuc2FmZUNTUyB9IGZyb20gJ2xpdCc7XG5pbXBvcnQgeyBwcm9wZXJ0eSB9IGZyb20gJ2xpdC9kZWNvcmF0b3JzLmpzJztcbmltcG9ydCB7IHdoZW4gfSBmcm9tICdsaXQvZGlyZWN0aXZlcy93aGVuLmpzJztcbmltcG9ydCB7IGh0bWwgfSBmcm9tICdsaXQvc3RhdGljLWh0bWwuanMnO1xuXG5pbXBvcnQgeyBTYmJFbGVtZW50IH0gZnJvbSAnLi4vLi4vY29yZS9iYXNlLWVsZW1lbnRzLnRzJztcbmltcG9ydCB7IFNiYkxhbmd1YWdlQ29udHJvbGxlciB9IGZyb20gJy4uLy4uL2NvcmUvY29udHJvbGxlcnMudHMnO1xuaW1wb3J0IHsgZm9yY2VUeXBlLCBoYW5kbGVEaXN0aW5jdENoYW5nZSwgb21pdEVtcHR5Q29udmVydGVyIH0gZnJvbSAnLi4vLi4vY29yZS9kZWNvcmF0b3JzLnRzJztcbmltcG9ydCB7XG4gIGkxOG5BZGRpdGlvbmFsV2Fnb25JbmZvcm1hdGlvbkhlYWRpbmcsXG4gIGkxOG5CbG9ja2VkUGFzc2FnZSxcbiAgaTE4bkNsYXNzLFxuICBpMThuQ2xvc2VkQ29tcGFydG1lbnRMYWJlbCxcbiAgaTE4bkNvdWNoZXR0ZVdhZ29uTGFiZWwsXG4gIGkxOG5Mb2NvbW90aXZlTGFiZWwsXG4gIGkxOG5SZXN0YXVyYW50V2Fnb25MYWJlbCxcbiAgaTE4blNlY3RvcixcbiAgaTE4blNsZWVwaW5nV2Fnb25MYWJlbCxcbiAgaTE4bldhZ29uTGFiZWwsXG4gIGkxOG5XYWdvbkxhYmVsTnVtYmVyLFxufSBmcm9tICcuLi8uLi9jb3JlL2kxOG4udHMnO1xuaW1wb3J0IHR5cGUgeyBTYmJPY2N1cGFuY3kgfSBmcm9tICcuLi8uLi9jb3JlL2ludGVyZmFjZXMudHMnO1xuaW1wb3J0IHsgU2JiTmFtZWRTbG90TGlzdE1peGluIH0gZnJvbSAnLi4vLi4vY29yZS9taXhpbnMudHMnO1xuaW1wb3J0IHsgYm94U2l6aW5nU3R5bGVzIH0gZnJvbSAnLi4vLi4vY29yZS9zdHlsZXMudHMnO1xuaW1wb3J0IHR5cGUgeyBTYmJJY29uRWxlbWVudCB9IGZyb20gJy4uLy4uL2ljb24udHMnO1xuXG5pbXBvcnQgc3R5bGUgZnJvbSAnLi90cmFpbi13YWdvbi5zY3NzP2lubGluZSc7XG5cbmltcG9ydCAnLi4vLi4vaWNvbi50cyc7XG5pbXBvcnQgJy4uLy4uL3RpbWV0YWJsZS1vY2N1cGFuY3ktaWNvbi50cyc7XG5cbmNvbnN0IHR5cGVUb0ljb25NYXA6IFJlY29yZDxzdHJpbmcsIHN0cmluZz4gPSB7XG4gIGNvdWNoZXR0ZTogJ3NhLWNjJyxcbiAgc2xlZXBpbmc6ICdzYS13bCcsXG4gIHJlc3RhdXJhbnQ6ICdzYS13cicsXG59O1xuXG4vKipcbiAqIEl0IGRpc3BsYXlzIGEgdHJhaW4gY29tcGFydG1lbnQgd2l0aGluIGEgYHNiYi10cmFpbmAgY29tcG9uZW50LlxuICpcbiAqIEBzbG90IC0gVXNlIHRoZSB1bm5hbWVkIHNsb3QgdG8gYWRkIG9uZSBvciBtb3JlIGBzYmItaWNvbmAgZm9yIG1ldGEtaW5mb3JtYXRpb24gb2YgdGhlIGBzYmItdHJhaW4td2Fnb25gLlxuICovXG5leHBvcnQgY2xhc3MgU2JiVHJhaW5XYWdvbkVsZW1lbnQgZXh0ZW5kcyBTYmJOYW1lZFNsb3RMaXN0TWl4aW48U2JiSWNvbkVsZW1lbnQsIHR5cGVvZiBTYmJFbGVtZW50PihcbiAgU2JiRWxlbWVudCxcbikge1xuICBwdWJsaWMgc3RhdGljIG92ZXJyaWRlIHJlYWRvbmx5IGVsZW1lbnROYW1lOiBzdHJpbmcgPSAnc2JiLXRyYWluLXdhZ29uJztcbiAgcHVibGljIHN0YXRpYyBvdmVycmlkZSBzdHlsZXM6IENTU1Jlc3VsdEdyb3VwID0gW2JveFNpemluZ1N0eWxlcywgdW5zYWZlQ1NTKHN0eWxlKV07XG4gIHB1YmxpYyBzdGF0aWMgcmVhZG9ubHkgZXZlbnRzID0ge1xuICAgIHNlY3RvcmNoYW5nZTogJ3NlY3RvcmNoYW5nZScsXG4gIH0gYXMgY29uc3Q7XG5cbiAgLyoqXG4gICAqIFdhZ29uIHR5cGUuXG4gICAqIEZvciBgd2Fnb24tZW5kLWxlZnRgIGFuZCBgd2Fnb24tZW5kLXJpZ2h0YCwgcGxlYXNlIHNldCB0aGUgY29ycmVzcG9uZGluZyB2YWx1ZSBvZiB0aGUgYGJsb2NrZWRQYXNzYWdlYCBwcm9wZXJ0eS5cbiAgICovXG4gIEBwcm9wZXJ0eSh7IHJlZmxlY3Q6IHRydWUgfSkgcHVibGljIGFjY2Vzc29yIHR5cGU6XG4gICAgfCAnd2Fnb24nXG4gICAgfCAnd2Fnb24tZW5kLWxlZnQnXG4gICAgfCAnd2Fnb24tZW5kLXJpZ2h0J1xuICAgIHwgJ2NvdWNoZXR0ZSdcbiAgICB8ICdzbGVlcGluZydcbiAgICB8ICdyZXN0YXVyYW50J1xuICAgIHwgJ2xvY29tb3RpdmUnXG4gICAgfCAnY2xvc2VkJyA9ICd3YWdvbic7XG5cbiAgcHJvdGVjdGVkIG92ZXJyaWRlIHJlYWRvbmx5IGxpc3RDaGlsZExvY2FsTmFtZXMgPSBbJ3NiYi1pY29uJ107XG5cbiAgLyoqIE9jY3VwYW5jeSBvZiBhIHdhZ29uLiAqL1xuICBAcHJvcGVydHkoKSBwdWJsaWMgYWNjZXNzb3Igb2NjdXBhbmN5OiBTYmJPY2N1cGFuY3kgfCBudWxsID0gbnVsbDtcblxuICAvKiogU2VjdG9yIGluIHdoaWNoIHRoZSB3YWdvbiBzdG9wcy4gKi9cbiAgQGZvcmNlVHlwZSgpXG4gIEBoYW5kbGVEaXN0aW5jdENoYW5nZSgoZTogU2JiVHJhaW5XYWdvbkVsZW1lbnQpID0+IGUuX3NlY3RvckNoYW5nZWQoKSlcbiAgQHByb3BlcnR5KHsgcmVmbGVjdDogdHJ1ZSwgY29udmVydGVyOiBvbWl0RW1wdHlDb252ZXJ0ZXIgfSlcbiAgcHVibGljIGFjY2Vzc29yIHNlY3Rvcjogc3RyaW5nID0gJyc7XG5cbiAgLyoqIEFjY2Vzc2liaWxpdHkgdGV4dCBmb3IgYmxvY2tlZCBwYXNzYWdlcyBvZiB0aGUgd2Fnb24uICovXG4gIEBwcm9wZXJ0eSh7IGF0dHJpYnV0ZTogJ2Jsb2NrZWQtcGFzc2FnZScgfSlcbiAgcHVibGljIGFjY2Vzc29yIGJsb2NrZWRQYXNzYWdlOiAncHJldmlvdXMnIHwgJ25leHQnIHwgJ2JvdGgnIHwgJ25vbmUnID0gJ25vbmUnO1xuXG4gIC8qKiBDbGFzcyBsYWJlbCAqL1xuICBAcHJvcGVydHkoeyBhdHRyaWJ1dGU6ICd3YWdvbi1jbGFzcycgfSkgcHVibGljIGFjY2Vzc29yIHdhZ29uQ2xhc3M6ICcxJyB8ICcyJyB8IG51bGwgPSBudWxsO1xuXG4gIC8qKiBXYWdvbiBudW1iZXIgKi9cbiAgQGZvcmNlVHlwZSgpXG4gIEBwcm9wZXJ0eSh7IHJlZmxlY3Q6IHRydWUsIGNvbnZlcnRlcjogb21pdEVtcHR5Q29udmVydGVyIH0pXG4gIHB1YmxpYyBhY2Nlc3NvciBsYWJlbDogc3RyaW5nID0gJyc7XG5cbiAgLyoqIEFkZGl0aW9uYWwgYWNjZXNzaWJpbGl0eSB0ZXh0IHdoaWNoIHdpbGwgYmUgYXBwZW5kZWQgdG8gdGhlIGVuZC4gKi9cbiAgQGZvcmNlVHlwZSgpXG4gIEBwcm9wZXJ0eSh7IGF0dHJpYnV0ZTogJ2FkZGl0aW9uYWwtYWNjZXNzaWJpbGl0eS10ZXh0JyB9KVxuICBwdWJsaWMgYWNjZXNzb3IgYWRkaXRpb25hbEFjY2Vzc2liaWxpdHlUZXh0OiBzdHJpbmcgPSAnJztcblxuICBwcml2YXRlIF9sYW5ndWFnZSA9IG5ldyBTYmJMYW5ndWFnZUNvbnRyb2xsZXIodGhpcyk7XG5cbiAgcHJpdmF0ZSBfc2VjdG9yQ2hhbmdlZCgpOiB2b2lkIHtcbiAgICAvKiogQGludGVybmFsICovXG4gICAgdGhpcy5kaXNwYXRjaEV2ZW50KG5ldyBFdmVudCgnc2VjdG9yY2hhbmdlJywgeyBidWJibGVzOiB0cnVlLCBjb21wb3NlZDogdHJ1ZSB9KSk7XG4gIH1cblxuICBwcml2YXRlIF90eXBlTGFiZWwoKTogc3RyaW5nIHtcbiAgICBpZiAodGhpcy50eXBlID09PSAnY2xvc2VkJykge1xuICAgICAgcmV0dXJuIGkxOG5DbG9zZWRDb21wYXJ0bWVudExhYmVsW3RoaXMuX2xhbmd1YWdlLmN1cnJlbnRdO1xuICAgIH0gZWxzZSBpZiAodGhpcy50eXBlID09PSAnbG9jb21vdGl2ZScpIHtcbiAgICAgIHJldHVybiBpMThuTG9jb21vdGl2ZUxhYmVsW3RoaXMuX2xhbmd1YWdlLmN1cnJlbnRdO1xuICAgIH0gZWxzZSBpZiAodGhpcy50eXBlID09PSAnY291Y2hldHRlJykge1xuICAgICAgcmV0dXJuIGkxOG5Db3VjaGV0dGVXYWdvbkxhYmVsW3RoaXMuX2xhbmd1YWdlLmN1cnJlbnRdO1xuICAgIH0gZWxzZSBpZiAodGhpcy50eXBlID09PSAnc2xlZXBpbmcnKSB7XG4gICAgICByZXR1cm4gaTE4blNsZWVwaW5nV2Fnb25MYWJlbFt0aGlzLl9sYW5ndWFnZS5jdXJyZW50XTtcbiAgICB9IGVsc2UgaWYgKHRoaXMudHlwZSA9PT0gJ3Jlc3RhdXJhbnQnKSB7XG4gICAgICByZXR1cm4gaTE4blJlc3RhdXJhbnRXYWdvbkxhYmVsW3RoaXMuX2xhbmd1YWdlLmN1cnJlbnRdO1xuICAgIH1cbiAgICByZXR1cm4gaTE4bldhZ29uTGFiZWxbdGhpcy5fbGFuZ3VhZ2UuY3VycmVudF07XG4gIH1cblxuICBwcm90ZWN0ZWQgb3ZlcnJpZGUgcmVuZGVyKCk6IFRlbXBsYXRlUmVzdWx0IHtcbiAgICBjb25zdCBibG9ja2VkUGFzc2FnZSA9XG4gICAgICB0aGlzLnR5cGUgPT09ICd3YWdvbi1lbmQtbGVmdCcgJiYgdGhpcy5ibG9ja2VkUGFzc2FnZSA9PT0gJ25vbmUnXG4gICAgICAgID8gJ3ByZXZpb3VzJ1xuICAgICAgICA6IHRoaXMudHlwZSA9PT0gJ3dhZ29uLWVuZC1yaWdodCcgJiYgdGhpcy5ibG9ja2VkUGFzc2FnZSA9PT0gJ25vbmUnXG4gICAgICAgICAgPyAnbmV4dCdcbiAgICAgICAgICA6ICh0aGlzLmJsb2NrZWRQYXNzYWdlID8/ICdub25lJyk7XG5cbiAgICBjb25zdCBoYXNCbG9ja2VkUGFzc2FnZUVudHJ5ID0gYmxvY2tlZFBhc3NhZ2UgIT09ICdub25lJztcblxuICAgIC8vIEZyb20gYWNjZXNzaWJpbGl0eSBwZXJzcGVjdGl2ZSB3ZSBjYW5ub3QgY3JlYXRlIGEgbGlzdCB3aXRoIG9ubHkgb25lIGVudHJ5LlxuICAgIC8vIFdlIG5lZWQgdG8ga25vdyB3aGF0IHdpbGwgYmUgcHJlc2VudGVkIGFuZCBzd2l0Y2ggc2VtYW50aWNzIGJhc2VkIG9uIGNvdW50LlxuICAgIGNvbnN0IGxpc3RFbnRyaWVzQ291bnQgPVxuICAgICAgKyEhdGhpcy5zZWN0b3IgK1xuICAgICAgKyEhdGhpcy5sYWJlbCArXG4gICAgICArKCEhdGhpcy53YWdvbkNsYXNzICYmIHRoaXMudHlwZSAhPT0gJ2Nsb3NlZCcpICtcbiAgICAgICsoISF0aGlzLm9jY3VwYW5jeSAmJiB0aGlzLnR5cGUgIT09ICdjbG9zZWQnKSArXG4gICAgICAraGFzQmxvY2tlZFBhc3NhZ2VFbnRyeTtcblxuICAgIGNvbnN0IHNlY3RvclN0cmluZyA9IGAke2kxOG5TZWN0b3JbdGhpcy5fbGFuZ3VhZ2UuY3VycmVudF19LCAke3RoaXMuc2VjdG9yfWA7XG5cbiAgICBjb25zdCBsYWJlbENvbnRlbnQgPSB0aGlzLmxhYmVsXG4gICAgICA/IGh0bWxgPHNwYW4gY2xhc3M9XCJzYmItc2NyZWVuLXJlYWRlci1vbmx5XCI+XG4gICAgICAgICAgICAke2Ake2kxOG5XYWdvbkxhYmVsTnVtYmVyW3RoaXMuX2xhbmd1YWdlLmN1cnJlbnRdfSwgJHt0aGlzLmxhYmVsfWB9XG4gICAgICAgICAgPC9zcGFuPlxuICAgICAgICAgIDxzcGFuIGFyaWEtaGlkZGVuPVwidHJ1ZVwiPiR7dGhpcy5sYWJlbH08L3NwYW4+YFxuICAgICAgOiBub3RoaW5nO1xuXG4gICAgY29uc3Qgd2Fnb25DbGFzc0NvbnRlbnQgPSBodG1sYDxzcGFuIGNsYXNzPVwic2JiLXNjcmVlbi1yZWFkZXItb25seVwiPlxuICAgICAgICAke3RoaXMud2Fnb25DbGFzcyA9PT0gJzEnXG4gICAgICAgICAgPyBpMThuQ2xhc3NbJ2ZpcnN0J11bdGhpcy5fbGFuZ3VhZ2UuY3VycmVudF1cbiAgICAgICAgICA6IGkxOG5DbGFzc1snc2Vjb25kJ11bdGhpcy5fbGFuZ3VhZ2UuY3VycmVudF19XG4gICAgICA8L3NwYW4+XG4gICAgICA8c3BhbiBhcmlhLWhpZGRlbj1cInRydWVcIj4ke3RoaXMud2Fnb25DbGFzc308L3NwYW4+YDtcblxuICAgIGNvbnN0IG1haW5JY29uID0gdHlwZVRvSWNvbk1hcFt0aGlzLnR5cGVdXG4gICAgICA/IGh0bWxgPHNiYi1pY29uXG4gICAgICAgICAgbmFtZT0ke3R5cGVUb0ljb25NYXBbdGhpcy50eXBlXX1cbiAgICAgICAgICBjbGFzcz1cInNiYi10cmFpbi13YWdvbl9fbWFpbi1pY29uXCJcbiAgICAgICAgPjwvc2JiLWljb24+YFxuICAgICAgOiBub3RoaW5nO1xuXG4gICAgcmV0dXJuIGh0bWxgXG4gICAgICA8ZGl2IGNsYXNzPVwic2JiLXRyYWluLXdhZ29uXCI+XG4gICAgICAgICR7d2hlbihcbiAgICAgICAgICBsaXN0RW50cmllc0NvdW50ID4gMSxcbiAgICAgICAgICAoKSA9PlxuICAgICAgICAgICAgaHRtbGA8dWwgYXJpYS1sYWJlbD0ke3RoaXMuX3R5cGVMYWJlbCgpfSBjbGFzcz1cInNiYi10cmFpbi13YWdvbl9fY29tcGFydG1lbnRcIj5cbiAgICAgICAgICAgICAgJHt0aGlzLnNlY3RvclxuICAgICAgICAgICAgICAgID8gaHRtbGA8bGkgY2xhc3M9XCJzYmItc2NyZWVuLXJlYWRlci1vbmx5XCI+JHtzZWN0b3JTdHJpbmd9PC9saT5gXG4gICAgICAgICAgICAgICAgOiBub3RoaW5nfVxuICAgICAgICAgICAgICA8bGkgY2xhc3M9XCJzYmItdHJhaW4td2Fnb25fX2xhYmVsXCIgYXJpYS1oaWRkZW49JHtgJHshdGhpcy5sYWJlbH1gfT5cbiAgICAgICAgICAgICAgICAke2xhYmVsQ29udGVudH1cbiAgICAgICAgICAgICAgPC9saT5cbiAgICAgICAgICAgICAgJHt0aGlzLndhZ29uQ2xhc3MgJiYgdGhpcy50eXBlICE9PSAnY2xvc2VkJ1xuICAgICAgICAgICAgICAgID8gaHRtbGA8bGkgY2xhc3M9XCJzYmItdHJhaW4td2Fnb25fX2NsYXNzXCI+JHt3YWdvbkNsYXNzQ29udGVudH08L2xpPmBcbiAgICAgICAgICAgICAgICA6IG5vdGhpbmd9XG4gICAgICAgICAgICAgICR7dGhpcy5vY2N1cGFuY3kgJiYgdGhpcy50eXBlICE9PSAnY2xvc2VkJ1xuICAgICAgICAgICAgICAgID8gaHRtbGA8c2JiLXRpbWV0YWJsZS1vY2N1cGFuY3ktaWNvblxuICAgICAgICAgICAgICAgICAgICBjbGFzcz1cInNiYi10cmFpbi13YWdvbl9fb2NjdXBhbmN5XCJcbiAgICAgICAgICAgICAgICAgICAgcm9sZT1cImxpc3RpdGVtXCJcbiAgICAgICAgICAgICAgICAgICAgb2NjdXBhbmN5PSR7dGhpcy5vY2N1cGFuY3l9XG4gICAgICAgICAgICAgICAgICA+PC9zYmItdGltZXRhYmxlLW9jY3VwYW5jeS1pY29uPmBcbiAgICAgICAgICAgICAgICA6IG5vdGhpbmd9XG4gICAgICAgICAgICAgICR7aGFzQmxvY2tlZFBhc3NhZ2VFbnRyeVxuICAgICAgICAgICAgICAgID8gaHRtbGA8bGkgY2xhc3M9XCJzYmItc2NyZWVuLXJlYWRlci1vbmx5XCI+XG4gICAgICAgICAgICAgICAgICAgICR7aTE4bkJsb2NrZWRQYXNzYWdlW2Jsb2NrZWRQYXNzYWdlXVt0aGlzLl9sYW5ndWFnZS5jdXJyZW50XX1cbiAgICAgICAgICAgICAgICAgIDwvbGk+YFxuICAgICAgICAgICAgICAgIDogbm90aGluZ31cbiAgICAgICAgICAgICAgJHttYWluSWNvbn1cbiAgICAgICAgICAgIDwvdWw+YCxcbiAgICAgICAgICAoKSA9PlxuICAgICAgICAgICAgaHRtbGA8ZGl2IGNsYXNzPVwic2JiLXRyYWluLXdhZ29uX19jb21wYXJ0bWVudFwiPlxuICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cInNiYi1zY3JlZW4tcmVhZGVyLW9ubHlcIj5cbiAgICAgICAgICAgICAgICAke2Ake3RoaXMuX3R5cGVMYWJlbCgpfSR7dGhpcy5zZWN0b3IgPyBgLCAke3NlY3RvclN0cmluZ31gIDogJyd9YH1cbiAgICAgICAgICAgICAgPC9zcGFuPlxuICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cInNiYi10cmFpbi13YWdvbl9fbGFiZWxcIiBhcmlhLWhpZGRlbj0ke2AkeyF0aGlzLmxhYmVsfWB9PlxuICAgICAgICAgICAgICAgICR7bGFiZWxDb250ZW50fVxuICAgICAgICAgICAgICA8L3NwYW4+XG5cbiAgICAgICAgICAgICAgJHt0aGlzLndhZ29uQ2xhc3MgJiYgdGhpcy50eXBlICE9PSAnY2xvc2VkJ1xuICAgICAgICAgICAgICAgID8gaHRtbGA8c3BhbiBjbGFzcz1cInNiYi10cmFpbi13YWdvbl9fY2xhc3NcIj4ke3dhZ29uQ2xhc3NDb250ZW50fTwvc3Bhbj5gXG4gICAgICAgICAgICAgICAgOiBub3RoaW5nfVxuICAgICAgICAgICAgICAke3RoaXMub2NjdXBhbmN5ICYmIHRoaXMudHlwZSAhPT0gJ2Nsb3NlZCdcbiAgICAgICAgICAgICAgICA/IGh0bWxgPHNiYi10aW1ldGFibGUtb2NjdXBhbmN5LWljb25cbiAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJzYmItdHJhaW4td2Fnb25fX29jY3VwYW5jeVwiXG4gICAgICAgICAgICAgICAgICAgIG9jY3VwYW5jeT0ke3RoaXMub2NjdXBhbmN5fVxuICAgICAgICAgICAgICAgICAgPjwvc2JiLXRpbWV0YWJsZS1vY2N1cGFuY3ktaWNvbj5gXG4gICAgICAgICAgICAgICAgOiBub3RoaW5nfVxuICAgICAgICAgICAgICAke2hhc0Jsb2NrZWRQYXNzYWdlRW50cnlcbiAgICAgICAgICAgICAgICA/IGh0bWxgPHNwYW4gY2xhc3M9XCJzYmItc2NyZWVuLXJlYWRlci1vbmx5XCI+XG4gICAgICAgICAgICAgICAgICAgICR7aTE4bkJsb2NrZWRQYXNzYWdlW2Jsb2NrZWRQYXNzYWdlXVt0aGlzLl9sYW5ndWFnZS5jdXJyZW50XX1cbiAgICAgICAgICAgICAgICAgIDwvc3Bhbj5gXG4gICAgICAgICAgICAgICAgOiBub3RoaW5nfVxuICAgICAgICAgICAgICAke21haW5JY29ufVxuICAgICAgICAgICAgPC9kaXY+IGAsXG4gICAgICAgICl9XG4gICAgICAgICR7dGhpcy5hZGRpdGlvbmFsQWNjZXNzaWJpbGl0eVRleHRcbiAgICAgICAgICA/IGh0bWxgPHNwYW4gY2xhc3M9XCJzYmItc2NyZWVuLXJlYWRlci1vbmx5XCI+LCAke3RoaXMuYWRkaXRpb25hbEFjY2Vzc2liaWxpdHlUZXh0fTwvc3Bhbj5gXG4gICAgICAgICAgOiBub3RoaW5nfVxuICAgICAgICAke3RoaXMucmVuZGVyTGlzdCh7XG4gICAgICAgICAgY2xhc3M6ICdzYmItdHJhaW4td2Fnb25fX2F0dHJpYnV0ZS1pY29uLWxpc3QnLFxuICAgICAgICAgIGFyaWFMYWJlbDogaTE4bkFkZGl0aW9uYWxXYWdvbkluZm9ybWF0aW9uSGVhZGluZ1t0aGlzLl9sYW5ndWFnZS5jdXJyZW50XSxcbiAgICAgICAgfSl9XG4gICAgICA8L2Rpdj5cbiAgICBgO1xuICB9XG59XG5cbmRlY2xhcmUgZ2xvYmFsIHtcbiAgaW50ZXJmYWNlIEhUTUxFbGVtZW50VGFnTmFtZU1hcCB7XG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uYW1pbmctY29udmVudGlvblxuICAgICdzYmItdHJhaW4td2Fnb24nOiBTYmJUcmFpbldhZ29uRWxlbWVudDtcbiAgfVxufVxuIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7OztBQytCQSxJQUFNLGdCQUF3QztDQUM1QyxXQUFXO0NBQ1gsVUFBVTtDQUNWLFlBQVk7Q0FDYjs7Ozs7O0lBT1ksOEJBQW9CO21CQUFTLHNCQUN4QyxXQUNEOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O2NBRlksNkJBQTZCLFlBRXpDOzs7QUFXOEMsU0FBQSx3QkFBQSxrQkFBQSxNQUFBLG9CQVE5QixRQUFPO0FBRU0sUUFBQSx1QkFBbUIsa0JBQUEsTUFBQSx3QkFBQSxFQUFHLENBQUMsV0FBVztBQUdsQyxTQUFBLDZCQUFBLGtCQUFBLE1BQUEseUJBQWlDLEtBQUk7QUFNakQsU0FBQSwyQkFBQSxrQkFBQSxNQUFBLDZCQUFBLEVBQUEsa0JBQUEsTUFBQSxzQkFBaUIsR0FBRTtBQUluQixTQUFBLG1DQUFBLGtCQUFBLE1BQUEsMEJBQUEs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
|
package/development/train.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { t as SbbTrainBlockedPassageElement } from "./train-blocked-passage.component-BrUJK0gf.js";
|
|
2
2
|
import { t as SbbTrainFormationElement } from "./train-formation.component-vt-nYQXA.js";
|
|
3
|
-
import { t as SbbTrainWagonElement } from "./train-wagon.component-
|
|
3
|
+
import { t as SbbTrainWagonElement } from "./train-wagon.component-CNxkffOO.js";
|
|
4
4
|
import { t as SbbTrainElement } from "./train.component-BgpmEDx-.js";
|
|
5
5
|
import "./train.pure.js";
|
|
6
6
|
//#region src/elements/train.ts
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { t as SbbTrainBlockedPassageElement } from "./train-blocked-passage.component-BrUJK0gf.js";
|
|
2
2
|
import { t as SbbTrainFormationElement } from "./train-formation.component-vt-nYQXA.js";
|
|
3
|
-
import { t as SbbTrainWagonElement } from "./train-wagon.component-
|
|
3
|
+
import { t as SbbTrainWagonElement } from "./train-wagon.component-CNxkffOO.js";
|
|
4
4
|
import { t as SbbTrainElement } from "./train.component-BgpmEDx-.js";
|
|
5
5
|
export { SbbTrainBlockedPassageElement, SbbTrainElement, SbbTrainFormationElement, SbbTrainWagonElement };
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import { n as e, r as t, t as n } from "../../dialog.component-
|
|
1
|
+
import { n as e, r as t, t as n } from "../../dialog.component-Dv5ch5mh.js";
|
|
2
2
|
export { n as SbbDialogCloseEvent, e as SbbDialogElement, t as assignDialogResult };
|