@sbb-esta/lyne-elements 4.8.0 → 4.9.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +2 -2
- package/action-group/action-group.component.js +1 -1
- package/action-group.component-OZNshH7G.js +158 -0
- package/action-group.js +1 -1
- package/action-group.pure.js +1 -1
- package/alert/alert/alert.component.js +1 -1
- package/alert/alert-group/alert-group.component.js +1 -1
- package/alert/alert-group.js +1 -1
- package/alert/alert.js +1 -1
- package/{alert-group.component-RV1M1OKy.js → alert-group.component-DnYg4aPB.js} +1 -1
- package/{alert.component-PPR7hfTi.js → alert.component-B94SoaHI.js} +1 -1
- package/alert.js +2 -2
- package/alert.pure.js +2 -2
- package/autocomplete/autocomplete-base-element.js +1 -1
- package/autocomplete/autocomplete.component.js +1 -1
- package/{autocomplete-base-element-DVFCZ4lt.js → autocomplete-base-element-BQj0oiHC.js} +1 -1
- package/autocomplete.js +1 -1
- package/autocomplete.pure.js +1 -1
- package/block-link-common-ClyAETjl.js +63 -0
- package/breadcrumb/breadcrumb/breadcrumb.component.js +1 -1
- package/breadcrumb/breadcrumb-group/breadcrumb-group.component.js +1 -1
- package/breadcrumb/breadcrumb-group.js +1 -1
- package/breadcrumb/breadcrumb.js +1 -1
- package/{breadcrumb-group.component-CfUyO1sI.js → breadcrumb-group.component-ioEaxcGE.js} +1 -1
- package/breadcrumb.component-CDs1jq2d.js +24 -0
- package/breadcrumb.js +2 -2
- package/breadcrumb.pure.js +2 -2
- package/button/common.js +1 -1
- package/button/mini-button-group/mini-button-group.component.js +1 -1
- package/button/mini-button-group.js +1 -1
- package/button/mini-button-link/mini-button-link.component.js +1 -1
- package/button/mini-button-link.js +1 -1
- package/button.js +3 -3
- package/button.pure.js +3 -3
- package/calendar/calendar/calendar.component.js +1 -1
- package/calendar/calendar-day/calendar-day.component.js +1 -1
- package/calendar/calendar-day.js +1 -1
- package/calendar/calendar.js +1 -1
- package/calendar/common.js +1 -1
- package/{calendar-day.component-Iewo-vBR.js → calendar-day.component-BZxPrp22.js} +1 -1
- package/{calendar.component-Cz-OGQu6.js → calendar.component-DtdBj_D-.js} +1 -1
- package/calendar.js +2 -2
- package/calendar.pure.js +2 -2
- package/card/card/card.component.js +1 -1
- package/card/card-badge/card-badge.component.js +1 -1
- package/card/card-badge.js +1 -1
- package/card/card.js +1 -1
- package/card/common/card-action-common.js +1 -1
- package/card/common.js +1 -1
- package/{card-action-common-GpkaNYtV.js → card-action-common-BNe4LRHp.js} +1 -1
- package/card-badge.component-CtpSWL9S.js +65 -0
- package/card.component-Bd-2-dP3.js +62 -0
- package/card.js +3 -3
- package/card.pure.js +3 -3
- package/carousel/carousel/carousel.component.js +1 -1
- package/carousel/carousel-item/carousel-item.component.js +1 -1
- package/carousel/carousel-item.js +1 -1
- package/carousel/carousel-list/carousel-list.component.js +1 -1
- package/carousel/carousel-list.js +1 -1
- package/carousel/carousel.js +1 -1
- package/{carousel-item.component-kv3rY8B-.js → carousel-item.component-BdW4Fe7j.js} +1 -1
- package/{carousel-list.component-DMMk66SP.js → carousel-list.component-CXKdk4dv.js} +1 -1
- package/{carousel.component-BA0V2JHI.js → carousel.component-D9By2rDH.js} +1 -1
- package/carousel.js +3 -3
- package/carousel.pure.js +3 -3
- package/checkbox/checkbox.component.js +2 -2
- package/checkbox/checkbox.js +2 -2
- package/checkbox/common/checkbox-common.js +1 -1
- package/checkbox/common.js +1 -1
- package/{checkbox-common-J-7Y966k.js → checkbox-common-CPIIGgkG.js} +1 -1
- package/{checkbox.component-Bazdxs9R.js → checkbox.component-Cax24yN1.js} +2 -2
- package/checkbox.js +2 -2
- package/checkbox.pure.js +2 -2
- package/chip/chip/chip.component.js +1 -1
- package/chip/chip-group/chip-group.component.js +1 -1
- package/chip/chip-group.js +1 -1
- package/chip/chip.js +1 -1
- package/{chip-group.component-CbruCoHR.js → chip-group.component-CpXuOisx.js} +1 -1
- package/chip-label/chip-label.component.js +1 -1
- package/{chip-label.component-D9AZdMSJ.js → chip-label.component-CFDlJJZv.js} +1 -1
- package/chip-label.js +1 -1
- package/chip-label.pure.js +1 -1
- package/chip.component-vKOg_uFQ.js +94 -0
- package/chip.js +2 -2
- package/chip.pure.js +2 -2
- package/clock/clock.component.js +1 -1
- package/{clock.component-gZJy4AU4.js → clock.component-CZq8NuSw.js} +1 -1
- package/clock.js +1 -1
- package/clock.pure.js +1 -1
- package/common-BdjLJuBp.js +5 -0
- package/{compact-paginator.component-BK7xj9tc.js → compact-paginator.component-JM9tD9ys.js} +1 -1
- package/container/container/container.component.js +1 -1
- package/container/container.js +1 -1
- package/container/sticky-bar/sticky-bar.component.js +1 -1
- package/container/sticky-bar.js +1 -1
- package/{container.component-C-jpJN2k.js → container.component-mgU80iW0.js} +1 -1
- package/container.js +2 -2
- package/container.pure.js +2 -2
- package/core/a11y/focus-trap-controller.js +2 -2
- package/core/base-elements/selection-group-base-element.js +1 -1
- package/core/base-elements.js +1 -1
- package/core/mixins.js +1 -1
- package/core/styles/core.scss +9 -0
- package/core.css +13 -0
- package/custom-elements.json +295 -212
- package/date-input/date-input.component.js +1 -1
- package/{date-input.component-Da-aS3jt.js → date-input.component-lInRTqua.js} +1 -1
- package/date-input.js +1 -1
- package/date-input.pure.js +1 -1
- package/datepicker/common/datepicker-button.js +1 -1
- package/datepicker/common.js +1 -1
- package/datepicker/datepicker/datepicker.component.js +1 -1
- package/datepicker/datepicker.js +1 -1
- package/{datepicker-button-Dk2UQkPN.js → datepicker-button--Bz_ztGR.js} +1 -1
- package/{datepicker.component-DUVgoAGU.js → datepicker.component-B64-Fip5.js} +1 -1
- package/datepicker.js +2 -2
- package/datepicker.pure.js +2 -2
- package/development/core/a11y/focus-trap-controller.js +3 -3
- package/development/core/mixins.js +2 -1
- package/development/header/header/header.component.d.ts +7 -0
- package/development/header/header/header.component.d.ts.map +1 -1
- package/development/header/header/header.component.js +1 -1
- package/development/header/header.js +1 -1
- package/development/header.component-C9JGj-z6.js +489 -0
- package/development/header.js +1 -1
- package/development/header.pure.js +1 -1
- package/development/popover/popover.component.d.ts.map +1 -1
- package/development/popover/popover.component.js +1 -1
- package/development/popover.component-dRXm7_Mv.js +736 -0
- package/development/popover.js +1 -1
- package/development/popover.pure.js +1 -1
- package/development/radio-button/common/radio-button-common.d.ts.map +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 +2 -2
- package/development/radio-button/radio-button.js +2 -2
- package/development/{radio-button-common-CsjMvmAn.js → radio-button-common-CCrvhOPQ.js} +7 -1
- package/development/radio-button-group/radio-button-group.component.d.ts.map +1 -1
- package/development/radio-button-group/radio-button-group.component.js +2 -1
- package/development/{radio-button.component-BTnHGixs.js → radio-button.component-DYD1hVIZ.js} +2 -2
- package/development/radio-button.js +2 -2
- package/development/radio-button.pure.js +2 -2
- package/development/signet/signet.component.d.ts.map +1 -1
- package/development/signet/signet.component.js +1 -1
- package/development/signet.component-9afq0BQh.js +164 -0
- package/development/signet.js +1 -1
- package/development/signet.pure.js +1 -1
- package/development/skiplink-list/skiplink-list.component.d.ts.map +1 -1
- package/development/skiplink-list/skiplink-list.component.js +1 -1
- package/development/{skiplink-list.component-BvbnZ24-.js → skiplink-list.component--EzDilpP.js} +12 -22
- package/development/skiplink-list.js +1 -1
- package/development/skiplink-list.pure.js +1 -1
- package/dialog/dialog/dialog.component.js +1 -1
- package/dialog/dialog-actions/dialog-actions.component.js +1 -1
- package/dialog/dialog-actions.js +1 -1
- package/dialog/dialog-close-button/dialog-close-button.component.js +1 -1
- package/dialog/dialog-close-button.js +1 -1
- package/dialog/dialog-content/dialog-content.component.js +1 -1
- package/dialog/dialog-content.js +1 -1
- package/dialog/dialog-title/dialog-title.component.js +1 -1
- package/dialog/dialog-title.js +1 -1
- package/dialog/dialog.js +1 -1
- package/dialog-actions.component-C6m1odAP.js +17 -0
- package/{dialog-close-button.component-CeZrvBtz.js → dialog-close-button.component-DsNnE7BE.js} +1 -1
- package/{dialog-content.component-bHJNAgKn.js → dialog-content.component-DIKknjUX.js} +1 -1
- package/dialog-title.component-DSq0esCH.js +17 -0
- package/{dialog.component-CIPresmM.js → dialog.component-BuIFpeUd.js} +1 -1
- package/dialog.js +5 -5
- package/dialog.pure.js +5 -5
- package/divider/divider.component.js +1 -1
- package/{divider.component-B99DkxCv.js → divider.component-DwDhJGac.js} +1 -1
- package/divider.js +1 -1
- package/divider.pure.js +1 -1
- package/{error.component-DTYppqRY.js → error.component-DpUkVwHl.js} +1 -1
- package/expansion-panel/expansion-panel/expansion-panel.component.js +1 -1
- package/expansion-panel/expansion-panel-content/expansion-panel-content.component.js +1 -1
- package/expansion-panel/expansion-panel-content.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-content.component-2C7bavY5.js +29 -0
- package/expansion-panel-header.component-B5ulwstr.js +56 -0
- package/{expansion-panel.component-CGss5cPS.js → expansion-panel.component-DxEqf6H1.js} +1 -1
- package/expansion-panel.js +3 -3
- package/expansion-panel.pure.js +3 -3
- 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-C--h0Yj2.js → file-selector-common-Bk07ovZm.js} +1 -1
- package/{file-selector-dropzone.component-BFlkqlsq.js → file-selector-dropzone.component-DhPsfRQk.js} +1 -1
- package/file-selector.js +2 -2
- package/file-selector.pure.js +2 -2
- package/flip-card/flip-card/flip-card.component.js +1 -1
- package/flip-card/flip-card-details/flip-card-details.component.js +1 -1
- package/flip-card/flip-card-details.js +1 -1
- package/flip-card/flip-card-summary/flip-card-summary.component.js +1 -1
- package/flip-card/flip-card-summary.js +1 -1
- package/flip-card/flip-card.js +1 -1
- package/{flip-card-details.component-BOVK7F1U.js → flip-card-details.component-Dd9w2AaO.js} +1 -1
- package/flip-card-summary.component-DN08GsS9.js +65 -0
- package/{flip-card.component-5pxuwGAv.js → flip-card.component-CrUlzxck.js} +1 -1
- package/flip-card.js +3 -3
- package/flip-card.pure.js +3 -3
- package/footer/footer.component.js +1 -1
- package/footer.component-C8s7qhZs.js +129 -0
- 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.component-CWj6jfYZ.js → form-field.component-Dc0CkOvA.js} +1 -1
- package/form-field.js +2 -2
- package/form-field.pure.js +2 -2
- package/header/common/header-action-common.js +1 -1
- package/header/common.js +1 -1
- package/header/header/header.component.js +1 -1
- package/header/header-environment/header-environment.component.js +1 -1
- package/header/header-environment.js +1 -1
- package/header/header.js +1 -1
- package/header-action-common-D9CO0Jax.js +62 -0
- package/header-environment.component-DDZ9fcZd.js +36 -0
- package/header.component-BPkEKqnQ.js +232 -0
- package/header.js +3 -3
- package/header.pure.js +3 -3
- package/icon/icon-base.js +1 -1
- package/icon/icon-name-mixin.js +1 -1
- package/icon/icon.component.js +1 -1
- package/{icon-base-C2VxpriZ.js → icon-base-BkDvJr2l.js} +1 -1
- package/icon-sidebar/icon-sidebar/icon-sidebar.component.js +1 -1
- package/icon-sidebar/icon-sidebar.js +1 -1
- package/{icon-sidebar.component-D3vOnYrs.js → icon-sidebar.component-CQ6KLiCN.js} +1 -1
- package/icon-sidebar.js +1 -1
- package/icon-sidebar.pure.js +1 -1
- package/icon.js +1 -1
- package/icon.pure.js +1 -1
- package/image/image.component.js +1 -1
- package/{image.component-BcOwT7-U.js → image.component-BSWcI8r3.js} +1 -1
- package/image.js +1 -1
- package/image.pure.js +1 -1
- package/index.d.ts +0 -2
- package/index.js +0 -2
- package/inline-link-common-B7MnXE80.js +18 -0
- package/journey-header/journey-header.component.js +1 -1
- package/{journey-header.component-CjXBxEor.js → journey-header.component-mIbM-KVg.js} +1 -1
- package/journey-header.js +1 -1
- package/journey-header.pure.js +1 -1
- package/lead-container/lead-container.component.js +1 -1
- package/lead-container.component-w3zhibLj.js +27 -0
- package/lead-container.js +1 -1
- package/lead-container.pure.js +1 -1
- package/link/common/block-link-common.js +2 -2
- package/link/common/inline-link-common.js +2 -2
- package/link/common/link-common.js +1 -1
- package/link/common.js +3 -3
- package/link-common-DqIfaliQ.js +52 -0
- package/link-list/common/link-list-base.js +1 -1
- package/link-list/common.js +1 -1
- package/link-list/link-list-anchor.js +2 -2
- package/link-list/link-list.component.js +2 -2
- package/link-list/link-list.js +2 -2
- package/link-list-anchor/link-list-anchor.component.js +1 -1
- package/link-list-anchor.component-CwmljGqM.js +18 -0
- package/link-list-anchor.js +1 -1
- package/link-list-anchor.pure.js +1 -1
- package/{link-list-base-CrpC5D4u.js → link-list-base-DwOmdG3N.js} +1 -1
- package/link-list.component-e-UmSwDi.js +78 -0
- package/link-list.js +3 -3
- package/link-list.pure.js +2 -2
- package/link.js +3 -3
- package/link.pure.js +3 -3
- package/loading-indicator/loading-indicator.component.js +1 -1
- package/loading-indicator-circle/loading-indicator-circle.component.js +1 -1
- package/loading-indicator-circle.component-5o-TFlzV.js +62 -0
- package/loading-indicator-circle.js +1 -1
- package/loading-indicator-circle.pure.js +1 -1
- package/loading-indicator.component-8XIZYm8V.js +92 -0
- package/loading-indicator.js +1 -1
- package/loading-indicator.pure.js +1 -1
- package/logo/logo.component.js +1 -1
- package/{logo.component-CdZe8lrB.js → logo.component-D0-6sm1j.js} +1 -1
- package/logo.js +1 -1
- package/logo.pure.js +1 -1
- package/map-container/map-container.component.js +1 -1
- package/map-container.component-CnErYagX.js +128 -0
- package/map-container.js +1 -1
- package/map-container.pure.js +1 -1
- package/menu/common/menu-action-common.js +1 -1
- package/menu/common.js +1 -1
- package/menu/menu/menu.component.js +1 -1
- package/menu/menu.js +1 -1
- package/menu-action-common-Br3mThg1.js +29 -0
- package/{menu.component-elxRPsQz.js → menu.component-D5u2hL8X.js} +1 -1
- package/menu.js +2 -2
- package/menu.pure.js +2 -2
- package/message/message.component.js +1 -1
- package/{message.component-DDMr1IXM.js → message.component-CnIfjJj8.js} +1 -1
- package/message.js +1 -1
- package/message.pure.js +1 -1
- package/{mini-button-group.component-D5Dph1Z7.js → mini-button-group.component-CDXkOnq4.js} +1 -1
- package/{mini-button-link.component-BYK_EUud.js → mini-button-link.component-BlPfUvvp.js} +1 -1
- package/mini-calendar/mini-calendar/mini-calendar.component.js +1 -1
- package/mini-calendar/mini-calendar-day/mini-calendar-day.component.js +1 -1
- package/mini-calendar/mini-calendar-day.js +1 -1
- package/mini-calendar/mini-calendar-month/mini-calendar-month.component.js +1 -1
- package/mini-calendar/mini-calendar-month.js +1 -1
- package/mini-calendar/mini-calendar.js +1 -1
- package/{mini-calendar-day.component-Tj7wlWj7.js → mini-calendar-day.component-CM1dgWp6.js} +1 -1
- package/{mini-calendar-month.component-DTod_RRs.js → mini-calendar-month.component-DZ45IgFZ.js} +1 -1
- package/{mini-calendar.component-BCDHUUZG.js → mini-calendar.component-CKR-WJWW.js} +1 -1
- package/mini-calendar.js +3 -3
- package/mini-calendar.pure.js +3 -3
- package/navigation/common/navigation-action-common.js +1 -1
- package/navigation/common.js +1 -1
- package/navigation/navigation/navigation.component.js +1 -1
- package/navigation/navigation-list/navigation-list.component.js +1 -1
- package/navigation/navigation-list.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/navigation.js +1 -1
- package/navigation-action-common-Cme_2GEs.js +64 -0
- package/{navigation-list.component-DnB7FrKG.js → navigation-list.component-DiyAt5hV.js} +1 -1
- package/{navigation-marker.component-B7hmb9iS.js → navigation-marker.component-D_U3Nd-_.js} +1 -1
- package/{navigation-section.component-C86pkDLG.js → navigation-section.component-DqFRimuS.js} +1 -1
- package/{navigation.component-BzgTWUiD.js → navigation.component-BAgxKoOU.js} +1 -1
- package/navigation.js +5 -5
- package/navigation.pure.js +5 -5
- package/notification/notification.component.js +1 -1
- package/notification.component-BYm_I7Df.js +197 -0
- package/notification.js +1 -1
- package/notification.pure.js +1 -1
- package/off-brand-theme.css +13 -0
- package/{optgroup-base-element-C8LeifgF.js → optgroup-base-element-D0ebmnMV.js} +1 -1
- package/option/optgroup/optgroup-base-element.js +1 -1
- package/option/optgroup/optgroup.component.js +1 -1
- package/option/optgroup.js +1 -1
- package/option/option/option.component.js +1 -1
- package/option/option-hint/option-hint.component.js +1 -1
- package/option/option-hint.js +1 -1
- package/option/option.js +1 -1
- package/option-hint.component-5KZ_UDB6.js +23 -0
- package/option.component-DJO5o_Ig.js +98 -0
- package/option.js +3 -3
- package/option.pure.js +3 -3
- package/overlay/overlay.component.js +1 -1
- package/{overlay.component-CAN3BK7B.js → overlay.component-CaBxt4sb.js} +1 -1
- package/overlay.js +1 -1
- package/overlay.pure.js +1 -1
- package/package.json +2 -3
- 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-nXF_Zbze.js +206 -0
- package/paginator.js +2 -2
- package/paginator.pure.js +2 -2
- package/popover/popover.component.js +1 -1
- package/{popover.component-eBpmXakQ.js → popover.component-H1g1e1o9.js} +3 -3
- 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 +2 -2
- package/radio-button/radio-button.js +2 -2
- package/radio-button-common-Ch3i83Qb.js +80 -0
- package/radio-button-group/radio-button-group.component.js +1 -1
- package/{radio-button.component-CVPy3eQi.js → radio-button.component-BGIJJyFd.js} +2 -2
- package/radio-button.js +2 -2
- package/radio-button.pure.js +2 -2
- package/safety-theme.css +13 -0
- package/screen-reader-only/screen-reader-only.component.js +1 -1
- package/{screen-reader-only.component-DEOirlKo.js → screen-reader-only.component-DxVn8U9m.js} +1 -1
- package/screen-reader-only.js +1 -1
- package/screen-reader-only.pure.js +1 -1
- package/select/select.component.js +1 -1
- package/{select.component-CsIiislt.js → select.component-Bo7kkaOF.js} +1 -1
- package/select.js +1 -1
- package/select.pure.js +1 -1
- package/selection-action-panel/selection-action-panel.component.js +1 -1
- package/selection-action-panel.component-DsXSIUJY.js +35 -0
- package/selection-action-panel.js +1 -1
- package/selection-action-panel.pure.js +1 -1
- package/selection-expansion-panel/selection-expansion-panel.component.js +1 -1
- package/{selection-expansion-panel.component-BQw9icBM.js → selection-expansion-panel.component-DdUCJdYH.js} +1 -1
- package/selection-expansion-panel.js +1 -1
- package/selection-expansion-panel.pure.js +1 -1
- package/{selection-group-base-element-Bd6na8dT.js → selection-group-base-element-CBG8qr2t.js} +1 -1
- package/sidebar/common/styles.js +1 -1
- package/sidebar/common.js +1 -1
- package/sidebar/sidebar/sidebar.component.js +1 -1
- package/sidebar/sidebar-close-button/sidebar-close-button.component.js +1 -1
- package/sidebar/sidebar-close-button.js +1 -1
- package/sidebar/sidebar-container/sidebar-container.component.js +1 -1
- package/sidebar/sidebar-container.js +1 -1
- package/sidebar/sidebar-content/sidebar-content.component.js +1 -1
- package/sidebar/sidebar-content.js +1 -1
- package/sidebar/sidebar-title/sidebar-title.component.js +1 -1
- package/sidebar/sidebar-title.js +1 -1
- package/sidebar/sidebar.js +1 -1
- package/{sidebar-close-button.component-D0JS2p5L.js → sidebar-close-button.component-BTrt_KtJ.js} +1 -1
- package/{sidebar-container.component-BFxFShTF.js → sidebar-container.component-5s-OUp0W.js} +1 -1
- package/{sidebar-content.component-M7FGd8SF.js → sidebar-content.component-cZMzji92.js} +1 -1
- package/{sidebar-title.component-BfjxBPpH.js → sidebar-title.component-DYd-60nF.js} +1 -1
- package/{sidebar.component-zRpWDGKR.js → sidebar.component-BcgVWM8W.js} +1 -1
- package/sidebar.js +5 -5
- package/sidebar.pure.js +5 -5
- package/signet/signet.component.js +1 -1
- package/signet.component-CobWzWhG.js +99 -0
- package/signet.js +1 -1
- package/signet.pure.js +1 -1
- package/skiplink-list/skiplink-list.component.js +1 -1
- package/{skiplink-list.component-BRJk6HvC.js → skiplink-list.component-DHOXaPS-.js} +8 -10
- package/skiplink-list.js +1 -1
- package/skiplink-list.pure.js +1 -1
- package/slider/slider.component.js +1 -1
- package/{slider.component-CLNsu212.js → slider.component-MdvM78XU.js} +1 -1
- package/slider.js +1 -1
- package/slider.pure.js +1 -1
- package/standard-theme.css +13 -0
- package/status/status.component.js +1 -1
- package/{status.component-CmLdUn37.js → status.component-C3Wx4Gvn.js} +1 -1
- package/status.js +1 -1
- package/status.pure.js +1 -1
- package/step-label.component-zeKJCNqa.js +82 -0
- package/{step.component-eKVtXlT4.js → step.component-DluGAXNI.js} +1 -1
- package/stepper/step/step.component.js +1 -1
- package/stepper/step-label/step-label.component.js +1 -1
- package/stepper/step-label.js +1 -1
- package/stepper/step.js +1 -1
- package/stepper/stepper/stepper.component.js +1 -1
- package/stepper/stepper.js +1 -1
- package/{stepper.component-yWCQtYWc.js → stepper.component-BIFuIy3T.js} +1 -1
- package/stepper.js +3 -3
- package/stepper.pure.js +3 -3
- package/sticky-bar.component-DnPfDrKx.js +141 -0
- package/styles-BhYx61ZB.js +5 -0
- package/styles-DjLiBgML.js +5 -0
- package/{tab-group.component-DE4H3_H4.js → tab-group.component-BTwC9WKX.js} +1 -1
- package/tab-label.component-CsT_0RH7.js +165 -0
- package/{tab-nav-bar.component-n5TiTWxE.js → tab-nav-bar.component-UOqFJjhe.js} +1 -1
- package/{tab.component-BrIEFDxk.js → tab.component-BpUsS18w.js} +1 -1
- package/table/table-wrapper/table-wrapper.component.js +1 -1
- package/table/table-wrapper.js +1 -1
- package/{table-wrapper.component-CoqozurQ.js → table-wrapper.component-DPUvpfK4.js} +1 -1
- package/table.js +1 -1
- package/table.pure.js +1 -1
- package/tabs/common/styles.js +1 -1
- package/tabs/common.js +1 -1
- package/tabs/tab/tab.component.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/tab-nav-bar/tab-nav-bar.component.js +1 -1
- package/tabs/tab-nav-bar.js +1 -1
- package/tabs/tab.js +1 -1
- package/tabs.js +5 -5
- package/tabs.pure.js +5 -5
- package/tag/tag/tag.component.js +1 -1
- package/tag/tag-group/tag-group.component.js +1 -1
- package/tag/tag-group.js +1 -1
- package/tag/tag.js +1 -1
- package/{tag-group.component-DiIp6zS1.js → tag-group.component-CoChkHtw.js} +1 -1
- package/tag.component-ClZ-ZKFC.js +170 -0
- package/tag.js +2 -2
- package/tag.pure.js +2 -2
- package/teaser/teaser.component.js +1 -1
- package/teaser-hero/teaser-hero.component.js +1 -1
- package/teaser-hero.component-dKZsY0fS.js +80 -0
- package/teaser-hero.js +1 -1
- package/teaser-hero.pure.js +1 -1
- package/teaser-product/common/teaser-product-common.js +1 -1
- package/teaser-product/common.js +1 -1
- package/teaser-product/teaser-product/teaser-product.component.js +1 -1
- package/teaser-product/teaser-product.js +1 -1
- package/teaser-product-common-CFCb5Rsx.js +62 -0
- package/{teaser-product.component-DiOhM_rU.js → teaser-product.component-C3Zi8Pdd.js} +1 -1
- package/teaser-product.js +2 -2
- package/teaser-product.pure.js +2 -2
- package/teaser.component-CUUvAAZ7.js +91 -0
- package/teaser.js +1 -1
- package/teaser.pure.js +1 -1
- package/time-input/time-input.component.js +1 -1
- package/{time-input.component-DT1BOC8m.js → time-input.component-BDkxBiPM.js} +1 -1
- package/time-input.js +1 -1
- package/time-input.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-swap-button/timetable-form-swap-button.component.js +1 -1
- package/timetable-form/timetable-form-swap-button.js +1 -1
- package/timetable-form/timetable-form.js +1 -1
- package/timetable-form-details.component-CfpM_Kse.js +16 -0
- package/timetable-form-field.component-DJ9FZ9vI.js +32 -0
- package/{timetable-form-swap-button.component-BGP-OsHD.js → timetable-form-swap-button.component-BXQ-ukkk.js} +1 -1
- package/{timetable-form.component-BqdKekNM.js → timetable-form.component-BeopwQmE.js} +1 -1
- package/timetable-form.js +4 -4
- package/timetable-form.pure.js +4 -4
- package/timetable-occupancy/timetable-occupancy.component.js +1 -1
- package/timetable-occupancy-icon/timetable-occupancy-icon.component.js +1 -1
- package/{timetable-occupancy-icon.component-ZrzpXaeV.js → timetable-occupancy-icon.component-LLMT_897.js} +1 -1
- package/timetable-occupancy-icon.js +1 -1
- package/timetable-occupancy-icon.pure.js +1 -1
- package/{timetable-occupancy.component-DMztYVmj.js → timetable-occupancy.component-CuI4uxPK.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 +2 -2
- package/{title-base-BDYkc8fG.js → title-base-DRgSZMaU.js} +1 -1
- package/{title.component-DafVwymI.js → title.component-1oKmMeCz.js} +2 -2
- package/title.js +2 -2
- package/title.pure.js +2 -2
- package/toast/toast.component.js +1 -1
- package/{toast.component-DbILctK5.js → toast.component-BGevO6ad.js} +1 -1
- 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-C2Ejl7a_.js +119 -0
- package/toggle-check.js +1 -1
- package/toggle-check.pure.js +1 -1
- package/{toggle-option.component-NMfqwd12.js → toggle-option.component-Lm0irQKj.js} +1 -1
- package/{toggle.component-D1n5S5ev.js → toggle.component-D8rRkRAo.js} +1 -1
- package/toggle.js +2 -2
- package/toggle.pure.js +2 -2
- package/tooltip/tooltip.component.js +1 -1
- package/{tooltip.component-X45T6iQH.js → tooltip.component-Bwp_yTA8.js} +1 -1
- package/tooltip.js +1 -1
- package/tooltip.pure.js +1 -1
- package/train/train/train.component.js +1 -1
- package/train/train-blocked-passage/train-blocked-passage.component.js +1 -1
- package/train/train-blocked-passage.js +1 -1
- package/train/train-formation/train-formation.component.js +1 -1
- package/train/train-formation.js +1 -1
- package/train/train-wagon/train-wagon.component.js +1 -1
- package/train/train-wagon.js +1 -1
- package/train/train.js +1 -1
- package/train-blocked-passage.component-D3mbnoQ4.js +23 -0
- package/train-formation.component-DoNKUil3.js +121 -0
- package/{train-wagon.component-bGA2a-0M.js → train-wagon.component-CLrqgGwH.js} +1 -1
- package/{train.component-V6FLqC82.js → train.component-COPys5v7.js} +1 -1
- package/train.js +4 -4
- package/train.pure.js +4 -4
- package/visual-checkbox/visual-checkbox.component.js +1 -1
- package/{visual-checkbox.component-eajUDpKu.js → visual-checkbox.component-CiAaB_Yc.js} +1 -1
- package/visual-checkbox.js +1 -1
- package/visual-checkbox.pure.js +1 -1
- package/action-group.component-KWugkMGf.js +0 -158
- package/block-link-common-BMTrbSfi.js +0 -63
- package/breadcrumb.component-DjkZzGJD.js +0 -24
- package/card-badge.component-D_PI9Ega.js +0 -65
- package/card.component-Dt2YFmd3.js +0 -62
- package/chip.component-DMB36gvC.js +0 -94
- package/common-CI_BB6sF.js +0 -5
- package/development/header.component-DEw_zC-n.js +0 -446
- package/development/popover.component-CLwOes_-.js +0 -746
- package/development/signet.component-B9nY5tTL.js +0 -188
- package/dialog-actions.component-QvbasYxg.js +0 -17
- package/dialog-title.component-BDHYjDn0.js +0 -17
- package/expansion-panel-content.component-DCl4nQ8V.js +0 -29
- package/expansion-panel-header.component-jc1Ty5jz.js +0 -56
- package/flip-card-summary.component-DVa7wF7x.js +0 -65
- package/footer.component-C-mSrCud.js +0 -129
- package/header-action-common-W_j0KPr-.js +0 -62
- package/header-environment.component-DduyZo6W.js +0 -36
- package/header.component-DW23EnaO.js +0 -203
- package/inline-link-common-DANB-hT-.js +0 -18
- package/lead-container.component-D9VzZCQa.js +0 -27
- package/link-common-akQv_-UR.js +0 -52
- package/link-list-anchor.component-Qm7h2mHK.js +0 -18
- package/link-list.component-C8zrqHYc.js +0 -78
- package/loading-indicator-circle.component-DfjVqe7n.js +0 -62
- package/loading-indicator.component-DkYs30Nf.js +0 -92
- package/map-container.component-C_wbi6WL.js +0 -128
- package/menu-action-common-vt9j6nkG.js +0 -29
- package/navigation-action-common-D_-gGOYm.js +0 -64
- package/notification.component-Cor1vQGU.js +0 -197
- package/option-hint.component-kPdwK61Z.js +0 -23
- package/option.component-DF9ZTj12.js +0 -98
- package/paginator.component-CsSs5q4D.js +0 -206
- package/radio-button-common-QHPueQrm.js +0 -77
- package/selection-action-panel.component-QfR2kPeM.js +0 -35
- package/signet.component-Kwdy4Uor.js +0 -101
- package/step-label.component-DTkviH8Q.js +0 -82
- package/sticky-bar.component-BqZVKHc7.js +0 -141
- package/styles-CsBiCI23.js +0 -5
- package/styles-DYZWSKeo.js +0 -5
- package/tab-label.component-BnxPGws1.js +0 -165
- package/tag.component-CfK6JwsO.js +0 -170
- package/teaser-hero.component-DjodzcX_.js +0 -80
- package/teaser-product-common-DkumwiRA.js +0 -62
- package/teaser.component-C7sJLVMk.js +0 -91
- package/timetable-form-details.component-DI5Mr8-O.js +0 -16
- package/timetable-form-field.component-2kEWygEC.js +0 -32
- package/toggle-check.component-CPewUjOg.js +0 -119
- package/train-blocked-passage.component-RIMoX91U.js +0 -23
- package/train-formation.component-B17tc6cx.js +0 -121
|
@@ -1,446 +0,0 @@
|
|
|
1
|
-
import { __esDecorate, __runInitializers } from "tslib";
|
|
2
|
-
import { css, html, isServer } from "lit";
|
|
3
|
-
import { property, state } from "lit/decorators.js";
|
|
4
|
-
import { SbbElement } from "./core/base-elements.js";
|
|
5
|
-
import { forceType, idReference } from "./core/decorators.js";
|
|
6
|
-
import { isLean } from "./core/dom.js";
|
|
7
|
-
import { boxSizingStyles } from "./core/styles.js";
|
|
8
|
-
import { SbbFocusVisibleWithinController } from "./core/a11y.js";
|
|
9
|
-
//#region src/elements/header/header/header.scss?lit&inline
|
|
10
|
-
var header_default = css`:host {
|
|
11
|
-
--sbb-logo-height: 1rem;
|
|
12
|
-
--sbb-signet-height: 1rem;
|
|
13
|
-
--sbb-header-transition-duration: var(
|
|
14
|
-
--sbb-disable-animation-duration,
|
|
15
|
-
var(--sbb-animation-duration-6x)
|
|
16
|
-
);
|
|
17
|
-
}
|
|
18
|
-
@media (min-width: calc(64rem)) {
|
|
19
|
-
:host {
|
|
20
|
-
--sbb-logo-height: 1.25rem;
|
|
21
|
-
--sbb-signet-height: 1.25rem;
|
|
22
|
-
}
|
|
23
|
-
}
|
|
24
|
-
:host {
|
|
25
|
-
display: block;
|
|
26
|
-
height: var(--sbb-header-height);
|
|
27
|
-
}
|
|
28
|
-
|
|
29
|
-
:host([size=s]) ::slotted(:is(sbb-header-button, sbb-header-link)) {
|
|
30
|
-
--sbb-header-action-min-height: var(--sbb-size-element-xs);
|
|
31
|
-
--sbb-header-action-padding-inline: var(--sbb-spacing-fixed-4x);
|
|
32
|
-
}
|
|
33
|
-
|
|
34
|
-
:host([hide-on-scroll]) {
|
|
35
|
-
--sbb-header-position: absolute;
|
|
36
|
-
}
|
|
37
|
-
|
|
38
|
-
:host([hide-on-scroll]:is(:state(fixed),[state--fixed])) {
|
|
39
|
-
--sbb-header-position: fixed;
|
|
40
|
-
--sbb-header-animation-name: hide;
|
|
41
|
-
--sbb-header-transform: translate3d(0, -100%, 0);
|
|
42
|
-
--sbb-header-inset-inline-end: var(--sbb-scrollbar-width, 0);
|
|
43
|
-
}
|
|
44
|
-
|
|
45
|
-
:host([hide-on-scroll]:is(:state(fixed),[state--fixed]):is(:state(animated),[state--animated])) {
|
|
46
|
-
--sbb-header-transition-timing: cubic-bezier(0.4, 0, 1, 1);
|
|
47
|
-
}
|
|
48
|
-
|
|
49
|
-
:host([hide-on-scroll]:is(:state(fixed),[state--fixed]):is(:state(visible),[state--visible])) {
|
|
50
|
-
--sbb-header-animation-name: show;
|
|
51
|
-
--sbb-header-transform: translate3d(0, 0, 0);
|
|
52
|
-
--sbb-header-transition-timing: cubic-bezier(0, 0, 0.2, 1);
|
|
53
|
-
}
|
|
54
|
-
|
|
55
|
-
:host([hide-on-scroll]:is(:state(fixed),[state--fixed]):is(:state(has-visible-focus-within),[state--has-visible-focus-within])) {
|
|
56
|
-
--sbb-header-transition-duration: 0;
|
|
57
|
-
--sbb-header-transform: translate3d(0, 0, 0);
|
|
58
|
-
}
|
|
59
|
-
|
|
60
|
-
.sbb-header {
|
|
61
|
-
position: var(--sbb-header-position);
|
|
62
|
-
inset: 0 var(--sbb-header-inset-inline-end) auto 0;
|
|
63
|
-
background: var(--sbb-header-background);
|
|
64
|
-
z-index: var(--sbb-header-z-index, 10);
|
|
65
|
-
transform: var(--sbb-header-transform);
|
|
66
|
-
transition-property: box-shadow;
|
|
67
|
-
transition-duration: var(--sbb-header-transition-duration);
|
|
68
|
-
transition-timing-function: var(--sbb-header-transition-timing);
|
|
69
|
-
animation-name: var(--sbb-header-animation-name);
|
|
70
|
-
animation-duration: var(--sbb-header-transition-duration);
|
|
71
|
-
animation-timing-function: var(--sbb-header-transition-timing);
|
|
72
|
-
}
|
|
73
|
-
:host(:is(:is(:state(shadow),[state--shadow]), :is(:state(has-visible-focus-within),[state--has-visible-focus-within]):is(:state(fixed),[state--fixed]))) .sbb-header {
|
|
74
|
-
box-shadow: var(--sbb-header-box-shadow);
|
|
75
|
-
}
|
|
76
|
-
@media (forced-colors: active) {
|
|
77
|
-
.sbb-header {
|
|
78
|
-
border-block-end: var(--sbb-border-width-1x) solid CanvasText;
|
|
79
|
-
}
|
|
80
|
-
}
|
|
81
|
-
|
|
82
|
-
.sbb-header__wrapper {
|
|
83
|
-
display: flex;
|
|
84
|
-
align-items: center;
|
|
85
|
-
justify-content: flex-start;
|
|
86
|
-
height: var(--sbb-header-height);
|
|
87
|
-
}
|
|
88
|
-
:host(:not([expanded])) .sbb-header__wrapper {
|
|
89
|
-
padding-inline: var(--sbb-page-spacing-padding, var(--sbb-layout-base-offset-responsive));
|
|
90
|
-
margin-inline: auto;
|
|
91
|
-
width: 100%;
|
|
92
|
-
}
|
|
93
|
-
@media (min-width: calc(90rem)) {
|
|
94
|
-
:host(:not([expanded])) .sbb-header__wrapper {
|
|
95
|
-
max-width: var(--sbb-spacing-max-width, calc(var(--sbb-layout-base-page-max-width) + 2 * var(--sbb-layout-base-offset-responsive)));
|
|
96
|
-
}
|
|
97
|
-
}
|
|
98
|
-
:host([expanded]) .sbb-header__wrapper {
|
|
99
|
-
padding-inline: var(--sbb-page-spacing-padding, var(--sbb-spacing-responsive-xxs));
|
|
100
|
-
}
|
|
101
|
-
|
|
102
|
-
::slotted(:is(sbb-header-button, sbb-header-link):first-child) {
|
|
103
|
-
margin-inline-start: var(--sbb-header-first-item-margin-inline-start);
|
|
104
|
-
}
|
|
105
|
-
|
|
106
|
-
::slotted(*) {
|
|
107
|
-
flex: 0 0 auto;
|
|
108
|
-
}
|
|
109
|
-
|
|
110
|
-
::slotted(.sbb-header-shrinkable) {
|
|
111
|
-
flex-shrink: 1;
|
|
112
|
-
min-width: 0;
|
|
113
|
-
}
|
|
114
|
-
|
|
115
|
-
::slotted(.sbb-header-spacer) {
|
|
116
|
-
flex-grow: 1;
|
|
117
|
-
}
|
|
118
|
-
|
|
119
|
-
::slotted(.sbb-header-logo) {
|
|
120
|
-
margin-inline-start: var(--sbb-spacing-responsive-s);
|
|
121
|
-
}
|
|
122
|
-
|
|
123
|
-
::slotted(a.sbb-header-logo) {
|
|
124
|
-
display: block;
|
|
125
|
-
padding-block: var(--sbb-spacing-fixed-3x);
|
|
126
|
-
position: relative;
|
|
127
|
-
outline: none !important;
|
|
128
|
-
}
|
|
129
|
-
|
|
130
|
-
::slotted(a.sbb-header-logo)::before {
|
|
131
|
-
content: "";
|
|
132
|
-
display: block;
|
|
133
|
-
position: absolute;
|
|
134
|
-
inset: var(--sbb-spacing-fixed-3x) 0;
|
|
135
|
-
}
|
|
136
|
-
|
|
137
|
-
::slotted(a.sbb-header-logo:focus-visible)::before {
|
|
138
|
-
outline-offset: var(--sbb-focus-outline-offset);
|
|
139
|
-
outline: var(--sbb-focus-outline-color) var(--sbb-focus-outline-style, solid) var(--sbb-focus-outline-width);
|
|
140
|
-
outline-offset: var(--sbb-spacing-fixed-3x);
|
|
141
|
-
border-radius: 1px;
|
|
142
|
-
}
|
|
143
|
-
|
|
144
|
-
@keyframes show {
|
|
145
|
-
from {
|
|
146
|
-
transform: translate3d(0, -100%, 0);
|
|
147
|
-
}
|
|
148
|
-
to {
|
|
149
|
-
transform: translate3d(0, 0, 0);
|
|
150
|
-
}
|
|
151
|
-
}
|
|
152
|
-
@keyframes hide {
|
|
153
|
-
from {
|
|
154
|
-
transform: translate3d(0, 0, 0);
|
|
155
|
-
}
|
|
156
|
-
to {
|
|
157
|
-
transform: translate3d(0, -100%, 0);
|
|
158
|
-
}
|
|
159
|
-
}`;
|
|
160
|
-
//#endregion
|
|
161
|
-
//#region src/elements/header/header/header.component.ts
|
|
162
|
-
var IS_MENU_OPENED_QUERY = "[aria-controls][aria-expanded='true']";
|
|
163
|
-
/**
|
|
164
|
-
* It displays a header section for the page.
|
|
165
|
-
*
|
|
166
|
-
* @slot - Use the unnamed slot to add actions, content and logo to the header.
|
|
167
|
-
* @cssprop [--sbb-header-z-index=10] - Can be used to modify the z-index of the header.
|
|
168
|
-
* @cssprop [--sbb-header-height=zero-small:var(--sbb-spacing-fixed-14x);large-ultra:var(--sbb-spacing-fixed-24x)] - Can be used to modify height of the header.
|
|
169
|
-
*/
|
|
170
|
-
var SbbHeaderElement = (() => {
|
|
171
|
-
let _classSuper = SbbElement;
|
|
172
|
-
let _expanded_decorators;
|
|
173
|
-
let _expanded_initializers = [];
|
|
174
|
-
let _expanded_extraInitializers = [];
|
|
175
|
-
let _scrollOrigin_decorators;
|
|
176
|
-
let _scrollOrigin_initializers = [];
|
|
177
|
-
let _scrollOrigin_extraInitializers = [];
|
|
178
|
-
let _hideOnScroll_decorators;
|
|
179
|
-
let _hideOnScroll_initializers = [];
|
|
180
|
-
let _hideOnScroll_extraInitializers = [];
|
|
181
|
-
let _size_decorators;
|
|
182
|
-
let _size_initializers = [];
|
|
183
|
-
let _size_extraInitializers = [];
|
|
184
|
-
let __headerOnTop_decorators;
|
|
185
|
-
let __headerOnTop_initializers = [];
|
|
186
|
-
let __headerOnTop_extraInitializers = [];
|
|
187
|
-
return class SbbHeaderElement extends _classSuper {
|
|
188
|
-
static {
|
|
189
|
-
const _metadata = typeof Symbol === "function" && Symbol.metadata ? Object.create(_classSuper[Symbol.metadata] ?? null) : void 0;
|
|
190
|
-
_expanded_decorators = [forceType(), property({
|
|
191
|
-
reflect: true,
|
|
192
|
-
type: Boolean
|
|
193
|
-
})];
|
|
194
|
-
_scrollOrigin_decorators = [idReference(), property({ attribute: "scroll-origin" })];
|
|
195
|
-
_hideOnScroll_decorators = [forceType(), property({
|
|
196
|
-
attribute: "hide-on-scroll",
|
|
197
|
-
reflect: true,
|
|
198
|
-
type: Boolean
|
|
199
|
-
})];
|
|
200
|
-
_size_decorators = [property({ reflect: true })];
|
|
201
|
-
__headerOnTop_decorators = [state()];
|
|
202
|
-
__esDecorate(this, null, _expanded_decorators, {
|
|
203
|
-
kind: "accessor",
|
|
204
|
-
name: "expanded",
|
|
205
|
-
static: false,
|
|
206
|
-
private: false,
|
|
207
|
-
access: {
|
|
208
|
-
has: (obj) => "expanded" in obj,
|
|
209
|
-
get: (obj) => obj.expanded,
|
|
210
|
-
set: (obj, value) => {
|
|
211
|
-
obj.expanded = value;
|
|
212
|
-
}
|
|
213
|
-
},
|
|
214
|
-
metadata: _metadata
|
|
215
|
-
}, _expanded_initializers, _expanded_extraInitializers);
|
|
216
|
-
__esDecorate(this, null, _scrollOrigin_decorators, {
|
|
217
|
-
kind: "accessor",
|
|
218
|
-
name: "scrollOrigin",
|
|
219
|
-
static: false,
|
|
220
|
-
private: false,
|
|
221
|
-
access: {
|
|
222
|
-
has: (obj) => "scrollOrigin" in obj,
|
|
223
|
-
get: (obj) => obj.scrollOrigin,
|
|
224
|
-
set: (obj, value) => {
|
|
225
|
-
obj.scrollOrigin = value;
|
|
226
|
-
}
|
|
227
|
-
},
|
|
228
|
-
metadata: _metadata
|
|
229
|
-
}, _scrollOrigin_initializers, _scrollOrigin_extraInitializers);
|
|
230
|
-
__esDecorate(this, null, _hideOnScroll_decorators, {
|
|
231
|
-
kind: "accessor",
|
|
232
|
-
name: "hideOnScroll",
|
|
233
|
-
static: false,
|
|
234
|
-
private: false,
|
|
235
|
-
access: {
|
|
236
|
-
has: (obj) => "hideOnScroll" in obj,
|
|
237
|
-
get: (obj) => obj.hideOnScroll,
|
|
238
|
-
set: (obj, value) => {
|
|
239
|
-
obj.hideOnScroll = value;
|
|
240
|
-
}
|
|
241
|
-
},
|
|
242
|
-
metadata: _metadata
|
|
243
|
-
}, _hideOnScroll_initializers, _hideOnScroll_extraInitializers);
|
|
244
|
-
__esDecorate(this, null, _size_decorators, {
|
|
245
|
-
kind: "accessor",
|
|
246
|
-
name: "size",
|
|
247
|
-
static: false,
|
|
248
|
-
private: false,
|
|
249
|
-
access: {
|
|
250
|
-
has: (obj) => "size" in obj,
|
|
251
|
-
get: (obj) => obj.size,
|
|
252
|
-
set: (obj, value) => {
|
|
253
|
-
obj.size = value;
|
|
254
|
-
}
|
|
255
|
-
},
|
|
256
|
-
metadata: _metadata
|
|
257
|
-
}, _size_initializers, _size_extraInitializers);
|
|
258
|
-
__esDecorate(this, null, __headerOnTop_decorators, {
|
|
259
|
-
kind: "accessor",
|
|
260
|
-
name: "_headerOnTop",
|
|
261
|
-
static: false,
|
|
262
|
-
private: false,
|
|
263
|
-
access: {
|
|
264
|
-
has: (obj) => "_headerOnTop" in obj,
|
|
265
|
-
get: (obj) => obj._headerOnTop,
|
|
266
|
-
set: (obj, value) => {
|
|
267
|
-
obj._headerOnTop = value;
|
|
268
|
-
}
|
|
269
|
-
},
|
|
270
|
-
metadata: _metadata
|
|
271
|
-
}, __headerOnTop_initializers, __headerOnTop_extraInitializers);
|
|
272
|
-
if (_metadata) Object.defineProperty(this, Symbol.metadata, {
|
|
273
|
-
enumerable: true,
|
|
274
|
-
configurable: true,
|
|
275
|
-
writable: true,
|
|
276
|
-
value: _metadata
|
|
277
|
-
});
|
|
278
|
-
}
|
|
279
|
-
static {
|
|
280
|
-
this.elementName = "sbb-header";
|
|
281
|
-
}
|
|
282
|
-
static {
|
|
283
|
-
this.styles = [boxSizingStyles, header_default];
|
|
284
|
-
}
|
|
285
|
-
#expanded_accessor_storage;
|
|
286
|
-
/**
|
|
287
|
-
* Whether to allow the header content to stretch to full width.
|
|
288
|
-
* By default, the content has the appropriate page size.
|
|
289
|
-
*/
|
|
290
|
-
get expanded() {
|
|
291
|
-
return this.#expanded_accessor_storage;
|
|
292
|
-
}
|
|
293
|
-
set expanded(value) {
|
|
294
|
-
this.#expanded_accessor_storage = value;
|
|
295
|
-
}
|
|
296
|
-
#scrollOrigin_accessor_storage;
|
|
297
|
-
/**
|
|
298
|
-
* The element's id or the element on which the scroll listener is attached.
|
|
299
|
-
*
|
|
300
|
-
* For attribute usage, provide an id reference.
|
|
301
|
-
*/
|
|
302
|
-
get scrollOrigin() {
|
|
303
|
-
return this.#scrollOrigin_accessor_storage;
|
|
304
|
-
}
|
|
305
|
-
set scrollOrigin(value) {
|
|
306
|
-
this.#scrollOrigin_accessor_storage = value;
|
|
307
|
-
}
|
|
308
|
-
#hideOnScroll_accessor_storage;
|
|
309
|
-
/** Whether the header should hide and show on scroll. */
|
|
310
|
-
get hideOnScroll() {
|
|
311
|
-
return this.#hideOnScroll_accessor_storage;
|
|
312
|
-
}
|
|
313
|
-
set hideOnScroll(value) {
|
|
314
|
-
this.#hideOnScroll_accessor_storage = value;
|
|
315
|
-
}
|
|
316
|
-
#size_accessor_storage;
|
|
317
|
-
/**
|
|
318
|
-
* Size of the header, either m or s.
|
|
319
|
-
* @default 'm' / 's' (lean)
|
|
320
|
-
*/
|
|
321
|
-
get size() {
|
|
322
|
-
return this.#size_accessor_storage;
|
|
323
|
-
}
|
|
324
|
-
set size(value) {
|
|
325
|
-
this.#size_accessor_storage = value;
|
|
326
|
-
}
|
|
327
|
-
#_headerOnTop_accessor_storage;
|
|
328
|
-
get _headerOnTop() {
|
|
329
|
-
return this.#_headerOnTop_accessor_storage;
|
|
330
|
-
}
|
|
331
|
-
set _headerOnTop(value) {
|
|
332
|
-
this.#_headerOnTop_accessor_storage = value;
|
|
333
|
-
}
|
|
334
|
-
constructor() {
|
|
335
|
-
super();
|
|
336
|
-
this.#expanded_accessor_storage = __runInitializers(this, _expanded_initializers, false);
|
|
337
|
-
this.#scrollOrigin_accessor_storage = (__runInitializers(this, _expanded_extraInitializers), __runInitializers(this, _scrollOrigin_initializers, null));
|
|
338
|
-
this.#hideOnScroll_accessor_storage = (__runInitializers(this, _scrollOrigin_extraInitializers), __runInitializers(this, _hideOnScroll_initializers, false));
|
|
339
|
-
this.#size_accessor_storage = (__runInitializers(this, _hideOnScroll_extraInitializers), __runInitializers(this, _size_initializers, isLean() ? "s" : "m"));
|
|
340
|
-
this.#_headerOnTop_accessor_storage = (__runInitializers(this, _size_extraInitializers), __runInitializers(this, __headerOnTop_initializers, true));
|
|
341
|
-
this._scrollElement = __runInitializers(this, __headerOnTop_extraInitializers);
|
|
342
|
-
this._lastScroll = 0;
|
|
343
|
-
this.addController(new SbbFocusVisibleWithinController(this));
|
|
344
|
-
}
|
|
345
|
-
/** If `hideOnScroll` is set, checks the element to hook the listener on, and possibly add it.*/
|
|
346
|
-
connectedCallback() {
|
|
347
|
-
super.connectedCallback();
|
|
348
|
-
if (this.hasUpdated) this._updateScrollListener();
|
|
349
|
-
}
|
|
350
|
-
/** Removes the scroll listener, if previously attached. */
|
|
351
|
-
disconnectedCallback() {
|
|
352
|
-
super.disconnectedCallback();
|
|
353
|
-
this._scrollElement = null;
|
|
354
|
-
this._scrollEventsController?.abort();
|
|
355
|
-
}
|
|
356
|
-
requestUpdate(name, oldValue, options) {
|
|
357
|
-
super.requestUpdate(name, oldValue, options);
|
|
358
|
-
if (!isServer && (!name || name === "scrollOrigin") && this.hasUpdated) this._updateScrollListener();
|
|
359
|
-
}
|
|
360
|
-
firstUpdated(changedProperties) {
|
|
361
|
-
super.firstUpdated(changedProperties);
|
|
362
|
-
this._updateScrollListener();
|
|
363
|
-
}
|
|
364
|
-
_updateScrollListener() {
|
|
365
|
-
const scrollElement = this.scrollOrigin ?? document;
|
|
366
|
-
if (scrollElement === this._scrollElement) return;
|
|
367
|
-
this._scrollEventsController?.abort();
|
|
368
|
-
this._scrollElement = scrollElement;
|
|
369
|
-
if (!this._scrollElement) return;
|
|
370
|
-
this._scrollEventsController = new AbortController();
|
|
371
|
-
this._scrollFunction = this._getScrollFunction.bind(this);
|
|
372
|
-
this._scrollElement.addEventListener("scroll", this._scrollFunction, {
|
|
373
|
-
passive: true,
|
|
374
|
-
signal: this._scrollEventsController.signal
|
|
375
|
-
});
|
|
376
|
-
const currentScroll = this._getCurrentScrollProperty("scrollTop");
|
|
377
|
-
this._lastScroll = currentScroll <= 0 ? 0 : currentScroll;
|
|
378
|
-
}
|
|
379
|
-
/** Returns the correct function to attach on scroll. */
|
|
380
|
-
_getScrollFunction() {
|
|
381
|
-
return this.hideOnScroll ? this._scrollListener() : this._scrollShadowListener();
|
|
382
|
-
}
|
|
383
|
-
/** Returns the requested property of the scrollContext. */
|
|
384
|
-
_getCurrentScrollProperty(property) {
|
|
385
|
-
if (this._scrollElement instanceof Document) return this._scrollElement.documentElement[property] || this._scrollElement.body[property];
|
|
386
|
-
return this._scrollElement?.[property] || 0;
|
|
387
|
-
}
|
|
388
|
-
/**
|
|
389
|
-
* Sets the correct value for `scrollTop`, then:
|
|
390
|
-
* - apply the shadow if the element/document has been scrolled down;
|
|
391
|
-
* - hides the header, remove the shadow and possibly close any open menu on the header if it is not visible anymore;
|
|
392
|
-
* - shows the header and re-apply the shadow if the element/document has been scrolled up.
|
|
393
|
-
*/
|
|
394
|
-
_scrollListener() {
|
|
395
|
-
const currentScroll = this._getCurrentScrollProperty("scrollTop");
|
|
396
|
-
if (this._getCurrentScrollProperty("scrollHeight") - window.innerHeight - currentScroll <= 0) return;
|
|
397
|
-
this.toggleState("shadow", currentScroll !== 0);
|
|
398
|
-
if (currentScroll > this.offsetHeight && currentScroll > 0 && this._lastScroll < currentScroll) this._closeOpenOverlays();
|
|
399
|
-
if (currentScroll > this.offsetHeight * 2) {
|
|
400
|
-
this._headerOnTop = false;
|
|
401
|
-
if (currentScroll > 0 && this._lastScroll < currentScroll) ["shadow", "visible"].forEach((name) => this.internals.states.delete(name));
|
|
402
|
-
else [
|
|
403
|
-
"fixed",
|
|
404
|
-
"shadow",
|
|
405
|
-
"animated",
|
|
406
|
-
"visible"
|
|
407
|
-
].forEach((name) => this.internals.states.add(name));
|
|
408
|
-
} else {
|
|
409
|
-
if (currentScroll === 0) this._headerOnTop = true;
|
|
410
|
-
if (this._headerOnTop) [
|
|
411
|
-
"shadow",
|
|
412
|
-
"animated",
|
|
413
|
-
"fixed",
|
|
414
|
-
"visible"
|
|
415
|
-
].forEach((name) => this.internals.states.delete(name));
|
|
416
|
-
}
|
|
417
|
-
this._lastScroll = currentScroll <= 0 ? 0 : currentScroll;
|
|
418
|
-
}
|
|
419
|
-
/** Apply the shadow if the element/document has been scrolled down. */
|
|
420
|
-
_scrollShadowListener() {
|
|
421
|
-
this.toggleState("shadow", this._getCurrentScrollProperty("scrollTop") !== 0);
|
|
422
|
-
}
|
|
423
|
-
_closeOpenOverlays() {
|
|
424
|
-
if (this.matches(":is(:state(has-visible-focus-within),[state--has-visible-focus-within])")) return;
|
|
425
|
-
const overlayTriggers = Array.from(this.querySelectorAll(IS_MENU_OPENED_QUERY));
|
|
426
|
-
for (const overlayTrigger of overlayTriggers) {
|
|
427
|
-
const overlayId = overlayTrigger.getAttribute("aria-controls");
|
|
428
|
-
const overlay = document.getElementById(overlayId);
|
|
429
|
-
if (typeof overlay?.close === "function") overlay.close();
|
|
430
|
-
}
|
|
431
|
-
}
|
|
432
|
-
render() {
|
|
433
|
-
return html`
|
|
434
|
-
<header class="sbb-header">
|
|
435
|
-
<div class="sbb-header__wrapper">
|
|
436
|
-
<slot></slot>
|
|
437
|
-
</div>
|
|
438
|
-
</header>
|
|
439
|
-
`;
|
|
440
|
-
}
|
|
441
|
-
};
|
|
442
|
-
})();
|
|
443
|
-
//#endregion
|
|
444
|
-
export { SbbHeaderElement as t };
|
|
445
|
-
|
|
446
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaGVhZGVyLmNvbXBvbmVudC1ERXdfekMtbi5qcyIsIm5hbWVzIjpbXSwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvZWxlbWVudHMvaGVhZGVyL2hlYWRlci9oZWFkZXIuc2Nzcz9saXQmaW5saW5lIiwiLi4vLi4vLi4vc3JjL2VsZW1lbnRzL2hlYWRlci9oZWFkZXIvaGVhZGVyLmNvbXBvbmVudC50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJAdXNlICcuLi8uLi9jb3JlL3N0eWxlcycgYXMgc2JiO1xuXG46aG9zdCB7XG4gIC0tc2JiLWxvZ28taGVpZ2h0OiAje3NiYi5weC10by1yZW0tYnVpbGQoMTYpfTtcbiAgLS1zYmItc2lnbmV0LWhlaWdodDogI3tzYmIucHgtdG8tcmVtLWJ1aWxkKDE2KX07XG4gIC0tc2JiLWhlYWRlci10cmFuc2l0aW9uLWR1cmF0aW9uOiB2YXIoXG4gICAgLS1zYmItZGlzYWJsZS1hbmltYXRpb24tZHVyYXRpb24sXG4gICAgdmFyKC0tc2JiLWFuaW1hdGlvbi1kdXJhdGlvbi02eClcbiAgKTtcblxuICBAaW5jbHVkZSBzYmIubXEoJGZyb206IGxhcmdlKSB7XG4gICAgLS1zYmItbG9nby1oZWlnaHQ6ICN7c2JiLnB4LXRvLXJlbS1idWlsZCgyMCl9O1xuICAgIC0tc2JiLXNpZ25ldC1oZWlnaHQ6ICN7c2JiLnB4LXRvLXJlbS1idWlsZCgyMCl9O1xuICB9XG5cbiAgZGlzcGxheTogYmxvY2s7XG5cbiAgLy8gU2V0dGluZyB0aGUgaGVpZ2h0IGhlcmUgcmVzZXJ2ZXMgdGhlIHNwYWNlIGZvciB0aGUgaGVhZGVyIHdoaWNoIHdpbGwgZWxzZSBiZSBsb3N0IHdpdGggZml4ZWQgcG9zaXRpb24uXG4gIGhlaWdodDogdmFyKC0tc2JiLWhlYWRlci1oZWlnaHQpO1xufVxuXG46aG9zdChbc2l6ZT0ncyddKSB7XG4gIDo6c2xvdHRlZCg6aXMoc2JiLWhlYWRlci1idXR0b24sIHNiYi1oZWFkZXItbGluaykpIHtcbiAgICAtLXNiYi1oZWFkZXItYWN0aW9uLW1pbi1oZWlnaHQ6IHZhcigtLXNiYi1zaXplLWVsZW1lbnQteHMpO1xuICAgIC0tc2JiLWhlYWRlci1hY3Rpb24tcGFkZGluZy1pbmxpbmU6IHZhcigtLXNiYi1zcGFjaW5nLWZpeGVkLTR4KTtcbiAgfVxufVxuXG46aG9zdChbaGlkZS1vbi1zY3JvbGxdKSB7XG4gIC0tc2JiLWhlYWRlci1wb3NpdGlvbjogYWJzb2x1dGU7XG59XG5cbjpob3N0KFtoaWRlLW9uLXNjcm9sbF06c3RhdGUoZml4ZWQpKSB7XG4gIC0tc2JiLWhlYWRlci1wb3NpdGlvbjogZml4ZWQ7XG4gIC0tc2JiLWhlYWRlci1hbmltYXRpb24tbmFtZTogaGlkZTtcbiAgLS1zYmItaGVhZGVyLXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgLTEwMCUsIDApO1xuICAtLXNiYi1oZWFkZXItaW5zZXQtaW5saW5lLWVuZDogdmFyKC0tc2JiLXNjcm9sbGJhci13aWR0aCwgMCk7XG59XG5cbjpob3N0KFtoaWRlLW9uLXNjcm9sbF06c3RhdGUoZml4ZWQpOnN0YXRlKGFuaW1hdGVkKSkge1xuICAvLyBIaWRlIHRyYW5zaXRpb25cbiAgLS1zYmItaGVhZGVyLXRyYW5zaXRpb24tdGltaW5nOiBjdWJpYy1iZXppZXIoMC40LCAwLCAxLCAxKTtcbn1cblxuOmhvc3QoW2hpZGUtb24tc2Nyb2xsXTpzdGF0ZShmaXhlZCk6c3RhdGUodmlzaWJsZSkpIHtcbiAgLS1zYmItaGVhZGVyLWFuaW1hdGlvbi1uYW1lOiBzaG93O1xuICAtLXNiYi1oZWFkZXItdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcblxuICAvLyBTaG93IHRyYW5zaXRpb25cbiAgLS1zYmItaGVhZGVyLXRyYW5zaXRpb24tdGltaW5nOiBjdWJpYy1iZXppZXIoMCwgMCwgMC4yLCAxKTtcbn1cblxuOmhvc3QoW2hpZGUtb24tc2Nyb2xsXTpzdGF0ZShmaXhlZCk6c3RhdGUoaGFzLXZpc2libGUtZm9jdXMtd2l0aGluKSkge1xuICAtLXNiYi1oZWFkZXItdHJhbnNpdGlvbi1kdXJhdGlvbjogMDtcbiAgLS1zYmItaGVhZGVyLXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG59XG5cbi5zYmItaGVhZGVyIHtcbiAgcG9zaXRpb246IHZhcigtLXNiYi1oZWFkZXItcG9zaXRpb24pO1xuICBpbnNldDogMCB2YXIoLS1zYmItaGVhZGVyLWluc2V0LWlubGluZS1lbmQpIGF1dG8gMDtcbiAgYmFja2dyb3VuZDogdmFyKC0tc2JiLWhlYWRlci1iYWNrZ3JvdW5kKTtcbiAgei1pbmRleDogdmFyKC0tc2JiLWhlYWRlci16LWluZGV4LCAxMCk7XG4gIHRyYW5zZm9ybTogdmFyKC0tc2JiLWhlYWRlci10cmFuc2Zvcm0pO1xuICB0cmFuc2l0aW9uOiB7XG4gICAgcHJvcGVydHk6IGJveC1zaGFkb3c7XG4gICAgZHVyYXRpb246IHZhcigtLXNiYi1oZWFkZXItdHJhbnNpdGlvbi1kdXJhdGlvbik7XG4gICAgdGltaW5nLWZ1bmN0aW9uOiB2YXIoLS1zYmItaGVhZGVyLXRyYW5zaXRpb24tdGltaW5nKTtcbiAgfVxuICBhbmltYXRpb246IHtcbiAgICBuYW1lOiB2YXIoLS1zYmItaGVhZGVyLWFuaW1hdGlvbi1uYW1lKTtcbiAgICBkdXJhdGlvbjogdmFyKC0tc2JiLWhlYWRlci10cmFuc2l0aW9uLWR1cmF0aW9uKTtcbiAgICB0aW1pbmctZnVuY3Rpb246IHZhcigtLXNiYi1oZWFkZXItdHJhbnNpdGlvbi10aW1pbmcpO1xuICB9XG5cbiAgOmhvc3QoOmlzKDpzdGF0ZShzaGFkb3cpLCA6c3RhdGUoaGFzLXZpc2libGUtZm9jdXMtd2l0aGluKTpzdGF0ZShmaXhlZCkpKSAmIHtcbiAgICBib3gtc2hhZG93OiB2YXIoLS1zYmItaGVhZGVyLWJveC1zaGFkb3cpO1xuICB9XG5cbiAgQGluY2x1ZGUgc2JiLmlmLWZvcmNlZC1jb2xvcnMge1xuICAgIGJvcmRlci1ibG9jay1lbmQ6IHZhcigtLXNiYi1ib3JkZXItd2lkdGgtMXgpIHNvbGlkIENhbnZhc1RleHQ7XG4gIH1cbn1cblxuLnNiYi1oZWFkZXJfX3dyYXBwZXIge1xuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7XG4gIGhlaWdodDogdmFyKC0tc2JiLWhlYWRlci1oZWlnaHQpO1xuXG4gIDpob3N0KDpub3QoW2V4cGFuZGVkXSkpICYge1xuICAgIEBpbmNsdWRlIHNiYi5wYWdlLXNwYWNpbmc7XG4gIH1cblxuICA6aG9zdChbZXhwYW5kZWRdKSAmIHtcbiAgICBAaW5jbHVkZSBzYmIucGFnZS1zcGFjaW5nLWV4cGFuZGVkO1xuICB9XG59XG5cbi8vIEZpeCBsZWZ0IG9mZnNldCBpZiBmaXJzdCBlbGVtZW50IG9mIHRoZSBoZWFkZXIgaXMgYSBzYmItaGVhZGVyLWJ1dHRvbi9zYmItaGVhZGVyLWxpbmsuXG4vLyBUaGUgdmFsdWUgb2YgdGhlIG9mZnNldCBpcyBjYWxjdWxhdGVkIGluc2lkZSBzYmItaGVhZGVyLWJ1dHRvbi9zYmItaGVhZGVyLWxpbmsgc3R5bGVzLlxuOjpzbG90dGVkKDppcyhzYmItaGVhZGVyLWJ1dHRvbiwgc2JiLWhlYWRlci1saW5rKTpmaXJzdC1jaGlsZCkge1xuICBtYXJnaW4taW5saW5lLXN0YXJ0OiB2YXIoLS1zYmItaGVhZGVyLWZpcnN0LWl0ZW0tbWFyZ2luLWlubGluZS1zdGFydCk7XG59XG5cbjo6c2xvdHRlZCgqKSB7XG4gIGZsZXg6IDAgMCBhdXRvO1xufVxuXG46OnNsb3R0ZWQoLnNiYi1oZWFkZXItc2hyaW5rYWJsZSkge1xuICBmbGV4LXNocmluazogMTtcbiAgbWluLXdpZHRoOiAwO1xufVxuXG46OnNsb3R0ZWQoLnNiYi1oZWFkZXItc3BhY2VyKSB7XG4gIGZsZXgtZ3JvdzogMTtcbn1cblxuOjpzbG90dGVkKC5zYmItaGVhZGVyLWxvZ28pIHtcbiAgbWFyZ2luLWlubGluZS1zdGFydDogdmFyKC0tc2JiLXNwYWNpbmctcmVzcG9uc2l2ZS1zKTtcbn1cblxuLy8gQXBwbHkgcGFkZGluZyBhbmQgb3V0bGluZSB0byBwb3NzaWJsZSBzbG90dGVkIGxpbmsgaW4gbG9nbyBzbG90XG46OnNsb3R0ZWQoYS5zYmItaGVhZGVyLWxvZ28pIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHBhZGRpbmctYmxvY2s6IHZhcigtLXNiYi1zcGFjaW5nLWZpeGVkLTN4KTtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gIC8vIFVzZSAhaW1wb3J0YW50IGhlcmUgdG8gbm90IGludGVyZmVyZSB3aXRoIEZpcmVmb3ggZm9jdXMgcmluZyBkZWZpbml0aW9uXG4gIC8vIHdoaWNoIGFwcGVhcnMgaW4gbm9ybWFsaXplIENTUyBvZiBzZXZlcmFsIGZyYW1ld29ya3MuXG4gIG91dGxpbmU6IG5vbmUgIWltcG9ydGFudDtcbn1cblxuLy8gVG8gc2hvdyB0aGUgY29ycmVjdCBvdXRsaW5lLCB3ZSBuZWVkIHRvIHNwYW4gYSBoaWRkZW4gZWxlbWVudCBmaWxsaW5nIHRoZSBsaW5rIGJ1dCB3aXRob3V0IHRoZSBvdXRsaW5lLW9mZnNldC5cbjo6c2xvdHRlZChhLnNiYi1oZWFkZXItbG9nbyk6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6ICcnO1xuICBkaXNwbGF5OiBibG9jaztcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBpbnNldDogdmFyKC0tc2JiLXNwYWNpbmctZml4ZWQtM3gpIDA7XG59XG5cbjo6c2xvdHRlZChhLnNiYi1oZWFkZXItbG9nbzpmb2N1cy12aXNpYmxlKTo6YmVmb3JlIHtcbiAgQGluY2x1ZGUgc2JiLmZvY3VzLW91dGxpbmU7XG5cbiAgb3V0bGluZS1vZmZzZXQ6IHZhcigtLXNiYi1zcGFjaW5nLWZpeGVkLTN4KTtcblxuICAvLyBBcyBpZiB0aGUgb3V0bGluZSBoYXMgYW4gb2Zmc2V0LCB0aGUgYm9yZGVyIHJhZGl1cyBpbmNyZWFzZXMsIHdlIHNldCBpdCB0byB0aGUgc21hbGxlc3QgcG9zc2libGUgYm9yZGVyLXJhZGl1cy5cbiAgYm9yZGVyLXJhZGl1czogMXB4O1xufVxuXG5Aa2V5ZnJhbWVzIHNob3cge1xuICBmcm9tIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIC0xMDAlLCAwKTtcbiAgfVxuXG4gIHRvIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICB9XG59XG5cbkBrZXlmcmFtZXMgaGlkZSB7XG4gIGZyb20ge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gIH1cblxuICB0byB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtMTAwJSwgMCk7XG4gIH1cbn1cbiIsImltcG9ydCB7XG4gIHR5cGUgQ1NTUmVzdWx0R3JvdXAsXG4gIGh0bWwsXG4gIGlzU2VydmVyLFxuICB0eXBlIFByb3BlcnR5RGVjbGFyYXRpb24sXG4gIHR5cGUgUHJvcGVydHlWYWx1ZXMsXG4gIHR5cGUgVGVtcGxhdGVSZXN1bHQsXG59IGZyb20gJ2xpdCc7XG5pbXBvcnQgeyBwcm9wZXJ0eSwgc3RhdGUgfSBmcm9tICdsaXQvZGVjb3JhdG9ycy5qcyc7XG5cbmltcG9ydCB7IFNiYkZvY3VzVmlzaWJsZVdpdGhpbkNvbnRyb2xsZXIgfSBmcm9tICcuLi8uLi9jb3JlL2ExMXkudHMnO1xuaW1wb3J0IHsgU2JiRWxlbWVudCB9IGZyb20gJy4uLy4uL2NvcmUvYmFzZS1lbGVtZW50cy50cyc7XG5pbXBvcnQgeyBmb3JjZVR5cGUsIGlkUmVmZXJlbmNlIH0gZnJvbSAnLi4vLi4vY29yZS9kZWNvcmF0b3JzLnRzJztcbmltcG9ydCB7IGlzTGVhbiB9IGZyb20gJy4uLy4uL2NvcmUvZG9tLnRzJztcbmltcG9ydCB7IGJveFNpemluZ1N0eWxlcyB9IGZyb20gJy4uLy4uL2NvcmUvc3R5bGVzLnRzJztcblxuaW1wb3J0IHN0eWxlIGZyb20gJy4vaGVhZGVyLnNjc3M/bGl0JmlubGluZSc7XG5cbmNvbnN0IElTX01FTlVfT1BFTkVEX1FVRVJZID0gXCJbYXJpYS1jb250cm9sc11bYXJpYS1leHBhbmRlZD0ndHJ1ZSddXCI7XG5cbi8qKlxuICogSXQgZGlzcGxheXMgYSBoZWFkZXIgc2VjdGlvbiBmb3IgdGhlIHBhZ2UuXG4gKlxuICogQHNsb3QgLSBVc2UgdGhlIHVubmFtZWQgc2xvdCB0byBhZGQgYWN0aW9ucywgY29udGVudCBhbmQgbG9nbyB0byB0aGUgaGVhZGVyLlxuICogQGNzc3Byb3AgWy0tc2JiLWhlYWRlci16LWluZGV4PTEwXSAtIENhbiBiZSB1c2VkIHRvIG1vZGlmeSB0aGUgei1pbmRleCBvZiB0aGUgaGVhZGVyLlxuICogQGNzc3Byb3AgWy0tc2JiLWhlYWRlci1oZWlnaHQ9emVyby1zbWFsbDp2YXIoLS1zYmItc3BhY2luZy1maXhlZC0xNHgpO2xhcmdlLXVsdHJhOnZhcigtLXNiYi1zcGFjaW5nLWZpeGVkLTI0eCldIC0gQ2FuIGJlIHVzZWQgdG8gbW9kaWZ5IGhlaWdodCBvZiB0aGUgaGVhZGVyLlxuICovXG5leHBvcnQgY2xhc3MgU2JiSGVhZGVyRWxlbWVudCBleHRlbmRzIFNiYkVsZW1lbnQge1xuICBwdWJsaWMgc3RhdGljIG92ZXJyaWRlIHJlYWRvbmx5IGVsZW1lbnROYW1lOiBzdHJpbmcgPSAnc2JiLWhlYWRlcic7XG4gIHB1YmxpYyBzdGF0aWMgb3ZlcnJpZGUgc3R5bGVzOiBDU1NSZXN1bHRHcm91cCA9IFtib3hTaXppbmdTdHlsZXMsIHN0eWxlXTtcblxuICAvKipcbiAgICogV2hldGhlciB0byBhbGxvdyB0aGUgaGVhZGVyIGNvbnRlbnQgdG8gc3RyZXRjaCB0byBmdWxsIHdpZHRoLlxuICAgKiBCeSBkZWZhdWx0LCB0aGUgY29udGVudCBoYXMgdGhlIGFwcHJvcHJpYXRlIHBhZ2Ugc2l6ZS5cbiAgICovXG4gIEBmb3JjZVR5cGUoKVxuICBAcHJvcGVydHkoeyByZWZsZWN0OiB0cnVlLCB0eXBlOiBCb29sZWFuIH0pXG4gIHB1YmxpYyBhY2Nlc3NvciBleHBhbmRlZDogYm9vbGVhbiA9IGZhbHNlO1xuXG4gIC8qKlxuICAgKiBUaGUgZWxlbWVudCdzIGlkIG9yIHRoZSBlbGVtZW50IG9uIHdoaWNoIHRoZSBzY3JvbGwgbGlzdGVuZXIgaXMgYXR0YWNoZWQuXG4gICAqXG4gICAqIEZvciBhdHRyaWJ1dGUgdXNhZ2UsIHByb3ZpZGUgYW4gaWQgcmVmZXJlbmNlLlxuICAgKi9cbiAgQGlkUmVmZXJlbmNlKClcbiAgQHByb3BlcnR5KHsgYXR0cmlidXRlOiAnc2Nyb2xsLW9yaWdpbicgfSlcbiAgcHVibGljIGFjY2Vzc29yIHNjcm9sbE9yaWdpbjogSFRNTEVsZW1lbnQgfCBudWxsID0gbnVsbDtcblxuICAvKiogV2hldGhlciB0aGUgaGVhZGVyIHNob3VsZCBoaWRlIGFuZCBzaG93IG9uIHNjcm9sbC4gKi9cbiAgQGZvcmNlVHlwZSgpXG4gIEBwcm9wZXJ0eSh7IGF0dHJpYnV0ZTogJ2hpZGUtb24tc2Nyb2xsJywgcmVmbGVjdDogdHJ1ZSwgdHlwZTogQm9vbGVhbiB9KVxuICBwdWJsaWMgYWNjZXNzb3IgaGlkZU9uU2Nyb2xsOiBib29sZWFuID0gZmFsc2U7XG5cbiAgLyoqXG4gICAqIFNpemUgb2YgdGhlIGhlYWRlciwgZWl0aGVyIG0gb3Igcy5cbiAgICogQGRlZmF1bHQgJ20nIC8gJ3MnIChsZWFuKVxuICAgKi9cbiAgQHByb3BlcnR5KHsgcmVmbGVjdDogdHJ1ZSB9KSBwdWJsaWMgYWNjZXNzb3Igc2l6ZTogJ20nIHwgJ3MnID0gaXNMZWFuKCkgPyAncycgOiAnbSc7XG5cbiAgQHN0YXRlKCkgcHJpdmF0ZSBhY2Nlc3NvciBfaGVhZGVyT25Ub3AgPSB0cnVlO1xuXG4gIHByaXZhdGUgX3Njcm9sbEVsZW1lbnQ6IEhUTUxFbGVtZW50IHwgRG9jdW1lbnQgfCBudWxsIHwgdW5kZWZpbmVkO1xuICBwcml2YXRlIF9zY3JvbGxFdmVudHNDb250cm9sbGVyITogQWJvcnRDb250cm9sbGVyO1xuICBwcml2YXRlIF9zY3JvbGxGdW5jdGlvbjogKCgpID0+IHZvaWQpIHwgdW5kZWZpbmVkO1xuICBwcml2YXRlIF9sYXN0U2Nyb2xsID0gMDtcblxuICBwdWJsaWMgY29uc3RydWN0b3IoKSB7XG4gICAgc3VwZXIoKTtcbiAgICB0aGlzLmFkZENvbnRyb2xsZXIobmV3IFNiYkZvY3VzVmlzaWJsZVdpdGhpbkNvbnRyb2xsZXIodGhpcykpO1xuICB9XG5cbiAgLyoqIElmIGBoaWRlT25TY3JvbGxgIGlzIHNldCwgY2hlY2tzIHRoZSBlbGVtZW50IHRvIGhvb2sgdGhlIGxpc3RlbmVyIG9uLCBhbmQgcG9zc2libHkgYWRkIGl0LiovXG4gIHB1YmxpYyBvdmVycmlkZSBjb25uZWN0ZWRDYWxsYmFjaygpOiB2b2lkIHtcbiAgICBzdXBlci5jb25uZWN0ZWRDYWxsYmFjaygpO1xuICAgIGlmICh0aGlzLmhhc1VwZGF0ZWQpIHtcbiAgICAgIHRoaXMuX3VwZGF0ZVNjcm9sbExpc3RlbmVyKCk7XG4gICAgfVxuICB9XG5cbiAgLyoqIFJlbW92ZXMgdGhlIHNjcm9sbCBsaXN0ZW5lciwgaWYgcHJldmlvdXNseSBhdHRhY2hlZC4gKi9cbiAgcHVibGljIG92ZXJyaWRlIGRpc2Nvbm5lY3RlZENhbGxiYWNrKCk6IHZvaWQge1xuICAgIHN1cGVyLmRpc2Nvbm5lY3RlZENhbGxiYWNrKCk7XG4gICAgdGhpcy5fc2Nyb2xsRWxlbWVudCA9IG51bGw7XG4gICAgdGhpcy5fc2Nyb2xsRXZlbnRzQ29udHJvbGxlcj8uYWJvcnQoKTtcbiAgfVxuXG4gIHB1YmxpYyBvdmVycmlkZSByZXF1ZXN0VXBkYXRlKFxuICAgIG5hbWU/OiBQcm9wZXJ0eUtleSxcbiAgICBvbGRWYWx1ZT86IHVua25vd24sXG4gICAgb3B0aW9ucz86IFByb3BlcnR5RGVjbGFyYXRpb24sXG4gICk6IHZvaWQge1xuICAgIHN1cGVyLnJlcXVlc3RVcGRhdGUobmFtZSwgb2xkVmFsdWUsIG9wdGlvbnMpO1xuXG4gICAgaWYgKCFpc1NlcnZlciAmJiAoIW5hbWUgfHwgbmFtZSA9PT0gJ3Njcm9sbE9yaWdpbicpICYmIHRoaXMuaGFzVXBkYXRlZCkge1xuICAgICAgdGhpcy5fdXBkYXRlU2Nyb2xsTGlzdGVuZXIoKTtcbiAgICB9XG4gIH1cblxuICBwcm90ZWN0ZWQgb3ZlcnJpZGUgZmlyc3RVcGRhdGVkKGNoYW5nZWRQcm9wZXJ0aWVzOiBQcm9wZXJ0eVZhbHVlczx0aGlzPik6IHZvaWQge1xuICAgIHN1cGVyLmZpcnN0VXBkYXRlZChjaGFuZ2VkUHJvcGVydGllcyk7XG4gICAgdGhpcy5fdXBkYXRlU2Nyb2xsTGlzdGVuZXIoKTtcbiAgfVxuXG4gIHByaXZhdGUgX3VwZGF0ZVNjcm9sbExpc3RlbmVyKCk6IHZvaWQge1xuICAgIGNvbnN0IHNjcm9sbEVsZW1lbnQgPSB0aGlzLnNjcm9sbE9yaWdpbiA/PyBkb2N1bWVudDtcbiAgICBpZiAoc2Nyb2xsRWxlbWVudCA9PT0gdGhpcy5fc2Nyb2xsRWxlbWVudCkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIHRoaXMuX3Njcm9sbEV2ZW50c0NvbnRyb2xsZXI/LmFib3J0KCk7XG4gICAgdGhpcy5fc2Nyb2xsRWxlbWVudCA9IHNjcm9sbEVsZW1lbnQ7XG4gICAgaWYgKCF0aGlzLl9zY3JvbGxFbGVtZW50KSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuICAgIHRoaXMuX3Njcm9sbEV2ZW50c0NvbnRyb2xsZXIgPSBuZXcgQWJvcnRDb250cm9sbGVyKCk7XG4gICAgdGhpcy5fc2Nyb2xsRnVuY3Rpb24gPSB0aGlzLl9nZXRTY3JvbGxGdW5jdGlvbi5iaW5kKHRoaXMpO1xuICAgIHRoaXMuX3Njcm9sbEVsZW1lbnQuYWRkRXZlbnRMaXN0ZW5lcignc2Nyb2xsJywgdGhpcy5fc2Nyb2xsRnVuY3Rpb24sIHtcbiAgICAgIHBhc3NpdmU6IHRydWUsXG4gICAgICBzaWduYWw6IHRoaXMuX3Njcm9sbEV2ZW50c0NvbnRyb2xsZXIuc2lnbmFsLFxuICAgIH0pO1xuXG4gICAgY29uc3QgY3VycmVudFNjcm9sbCA9IHRoaXMuX2dldEN1cnJlbnRTY3JvbGxQcm9wZXJ0eSgnc2Nyb2xsVG9wJyk7XG4gICAgLy8gYGN1cnJlbnRTY3JvbGxgIGNhbiBiZSBuZWdhdGl2ZSwgZS5nLiBvbiBtb2JpbGU7IHRoaXMgaXMgbm90IGFsbG93ZWQuXG4gICAgdGhpcy5fbGFzdFNjcm9sbCA9IGN1cnJlbnRTY3JvbGwgPD0gMCA/IDAgOiBjdXJyZW50U2Nyb2xsO1xuICB9XG5cbiAgLyoqIFJldHVybnMgdGhlIGNvcnJlY3QgZnVuY3Rpb24gdG8gYXR0YWNoIG9uIHNjcm9sbC4gKi9cbiAgcHJpdmF0ZSBfZ2V0U2Nyb2xsRnVuY3Rpb24oKTogdm9pZCB7XG4gICAgcmV0dXJuIHRoaXMuaGlkZU9uU2Nyb2xsID8gdGhpcy5fc2Nyb2xsTGlzdGVuZXIoKSA6IHRoaXMuX3Njcm9sbFNoYWRvd0xpc3RlbmVyKCk7XG4gIH1cblxuICAvKiogUmV0dXJucyB0aGUgcmVxdWVzdGVkIHByb3BlcnR5IG9mIHRoZSBzY3JvbGxDb250ZXh0LiAqL1xuICBwcml2YXRlIF9nZXRDdXJyZW50U2Nyb2xsUHJvcGVydHkocHJvcGVydHk6ICdzY3JvbGxUb3AnIHwgJ3Njcm9sbEhlaWdodCcpOiBudW1iZXIge1xuICAgIGlmICh0aGlzLl9zY3JvbGxFbGVtZW50IGluc3RhbmNlb2YgRG9jdW1lbnQpIHtcbiAgICAgIHJldHVybiB0aGlzLl9zY3JvbGxFbGVtZW50LmRvY3VtZW50RWxlbWVudFtwcm9wZXJ0eV0gfHwgdGhpcy5fc2Nyb2xsRWxlbWVudC5ib2R5W3Byb3BlcnR5XTtcbiAgICB9XG4gICAgcmV0dXJuIHRoaXMuX3Njcm9sbEVsZW1lbnQ/Lltwcm9wZXJ0eV0gfHwgMDtcbiAgfVxuXG4gIC8qKlxuICAgKiBTZXRzIHRoZSBjb3JyZWN0IHZhbHVlIGZvciBgc2Nyb2xsVG9wYCwgdGhlbjpcbiAgICogLSBhcHBseSB0aGUgc2hhZG93IGlmIHRoZSBlbGVtZW50L2RvY3VtZW50IGhhcyBiZWVuIHNjcm9sbGVkIGRvd247XG4gICAqIC0gaGlkZXMgdGhlIGhlYWRlciwgcmVtb3ZlIHRoZSBzaGFkb3cgYW5kIHBvc3NpYmx5IGNsb3NlIGFueSBvcGVuIG1lbnUgb24gdGhlIGhlYWRlciBpZiBpdCBpcyBub3QgdmlzaWJsZSBhbnltb3JlO1xuICAgKiAtIHNob3dzIHRoZSBoZWFkZXIgYW5kIHJlLWFwcGx5IHRoZSBzaGFkb3cgaWYgdGhlIGVsZW1lbnQvZG9jdW1lbnQgaGFzIGJlZW4gc2Nyb2xsZWQgdXAuXG4gICAqL1xuICBwcml2YXRlIF9zY3JvbGxMaXN0ZW5lcigpOiB2b2lkIHtcbiAgICBjb25zdCBjdXJyZW50U2Nyb2xsID0gdGhpcy5fZ2V0Q3VycmVudFNjcm9sbFByb3BlcnR5KCdzY3JvbGxUb3AnKTtcblxuICAgIC8vIFdoZXRoZXIgdGhlIHNjcm9sbCB2aWV3IGlzIGJvdW5jaW5nIHBhc3QgdGhlIGVkZ2Ugb2YgY29udGVudCBhbmQgYmFjayBhZ2Fpbi5cbiAgICBpZiAodGhpcy5fZ2V0Q3VycmVudFNjcm9sbFByb3BlcnR5KCdzY3JvbGxIZWlnaHQnKSAtIHdpbmRvdy5pbm5lckhlaWdodCAtIGN1cnJlbnRTY3JvbGwgPD0gMCkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIHRoaXMudG9nZ2xlU3RhdGUoJ3NoYWRvdycsIGN1cnJlbnRTY3JvbGwgIT09IDApO1xuXG4gICAgLy8gQ2xvc2Ugb3BlbiBvdmVybGF5cyB3aGVuIHNjcm9sbGluZyBkb3duIGlmIHRoZSBoZWFkZXIgaXMgc2Nyb2xsZWQgb3V0IG9mIHNpZ2h0LlxuICAgIGlmIChcbiAgICAgIGN1cnJlbnRTY3JvbGwgPiB0aGlzLm9mZnNldEhlaWdodCAmJlxuICAgICAgY3VycmVudFNjcm9sbCA+IDAgJiZcbiAgICAgIHRoaXMuX2xhc3RTY3JvbGwgPCBjdXJyZW50U2Nyb2xsXG4gICAgKSB7XG4gICAgICB0aGlzLl9jbG9zZU9wZW5PdmVybGF5cygpO1xuICAgIH1cbiAgICAvLyBDaGVjayBpZiB0aGUgaGVhZGVyIGlzIHNjcm9sbGVkIG91dCBvZiBzaWdodCwgc2Nyb2xsIHBvc2l0aW9uID4gaGVhZGVyIGhlaWdodCAqIDIuXG4gICAgaWYgKGN1cnJlbnRTY3JvbGwgPiB0aGlzLm9mZnNldEhlaWdodCAqIDIpIHtcbiAgICAgIHRoaXMuX2hlYWRlck9uVG9wID0gZmFsc2U7XG4gICAgICBpZiAoY3VycmVudFNjcm9sbCA+IDAgJiYgdGhpcy5fbGFzdFNjcm9sbCA8IGN1cnJlbnRTY3JvbGwpIHtcbiAgICAgICAgLy8gU2Nyb2xsaW5nIGRvd25cbiAgICAgICAgWydzaGFkb3cnLCAndmlzaWJsZSddLmZvckVhY2goKG5hbWUpID0+IHRoaXMuaW50ZXJuYWxzLnN0YXRlcy5kZWxldGUobmFtZSkpO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgLy8gU2Nyb2xsaW5nIHVwXG4gICAgICAgIFsnZml4ZWQnLCAnc2hhZG93JywgJ2FuaW1hdGVkJywgJ3Zpc2libGUnXS5mb3JFYWNoKChuYW1lKSA9PlxuICAgICAgICAgIHRoaXMuaW50ZXJuYWxzLnN0YXRlcy5hZGQobmFtZSksXG4gICAgICAgICk7XG4gICAgICB9XG4gICAgfSBlbHNlIHtcbiAgICAgIC8vIENoZWNrIGlmIGhlYWRlciBpbiBpdHMgb3JpZ2luYWwgcG9zaXRpb24sIHNjcm9sbCBwb3NpdGlvbiA8IGhlYWRlciBoZWlnaHQuXG4gICAgICAvLyBSZXNldCBoZWFkZXIgYmVoYXZpb3Igd2hlbiBzY3JvbGwgaGl0cyB0b3Agb2YgdGhlIHBhZ2UsIG9uIHNjcm9sbCBwb3NpdGlvbiA9IDAuXG4gICAgICBpZiAoY3VycmVudFNjcm9sbCA9PT0gMCkge1xuICAgICAgICB0aGlzLl9oZWFkZXJPblRvcCA9IHRydWU7XG4gICAgICB9XG4gICAgICBpZiAodGhpcy5faGVhZGVyT25Ub3ApIHtcbiAgICAgICAgWydzaGFkb3cnLCAnYW5pbWF0ZWQnLCAnZml4ZWQnLCAndmlzaWJsZSddLmZvckVhY2goKG5hbWUpID0+XG4gICAgICAgICAgdGhpcy5pbnRlcm5hbHMuc3RhdGVzLmRlbGV0ZShuYW1lKSxcbiAgICAgICAgKTtcbiAgICAgIH1cbiAgICB9XG4gICAgLy8gYGN1cnJlbnRTY3JvbGxgIGNhbiBiZSBuZWdhdGl2ZSwgZS5nLiBvbiBtb2JpbGU7IHRoaXMgaXMgbm90IGFsbG93ZWQuXG4gICAgdGhpcy5fbGFzdFNjcm9sbCA9IGN1cnJlbnRTY3JvbGwgPD0gMCA/IDAgOiBjdXJyZW50U2Nyb2xsO1xuICB9XG5cbiAgLyoqIEFwcGx5IHRoZSBzaGFkb3cgaWYgdGhlIGVsZW1lbnQvZG9jdW1lbnQgaGFzIGJlZW4gc2Nyb2xsZWQgZG93bi4gKi9cbiAgcHJpdmF0ZSBfc2Nyb2xsU2hhZG93TGlzdGVuZXIoKTogdm9pZCB7XG4gICAgdGhpcy50b2dnbGVTdGF0ZSgnc2hhZG93JywgdGhpcy5fZ2V0Q3VycmVudFNjcm9sbFByb3BlcnR5KCdzY3JvbGxUb3AnKSAhPT0gMCk7XG4gIH1cblxuICBwcml2YXRlIF9jbG9zZU9wZW5PdmVybGF5cygpOiB2b2lkIHtcbiAgICBpZiAodGhpcy5tYXRjaGVzKCc6c3RhdGUoaGFzLXZpc2libGUtZm9jdXMtd2l0aGluKScpKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuICAgIGNvbnN0IG92ZXJsYXlUcmlnZ2VyczogSFRNTEVsZW1lbnRbXSA9IEFycmF5LmZyb20oXG4gICAgICB0aGlzLnF1ZXJ5U2VsZWN0b3JBbGwoSVNfTUVOVV9PUEVORURfUVVFUlkpIGFzIE5vZGVMaXN0T2Y8SFRNTEVsZW1lbnQ+LFxuICAgICk7XG4gICAgZm9yIChjb25zdCBvdmVybGF5VHJpZ2dlciBvZiBvdmVybGF5VHJpZ2dlcnMpIHtcbiAgICAgIGNvbnN0IG92ZXJsYXlJZDogc3RyaW5nID0gb3ZlcmxheVRyaWdnZXIuZ2V0QXR0cmlidXRlKCdhcmlhLWNvbnRyb2xzJykhO1xuICAgICAgY29uc3Qgb3ZlcmxheSA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKG92ZXJsYXlJZCkgYXMgSFRNTEVsZW1lbnQgJiB7IGNsb3NlOiAoKSA9PiB2b2lkIH07XG4gICAgICBpZiAodHlwZW9mIG92ZXJsYXk/LmNsb3NlID09PSAnZnVuY3Rpb24nKSB7XG4gICAgICAgIG92ZXJsYXkuY2xvc2UoKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBwcm90ZWN0ZWQgb3ZlcnJpZGUgcmVuZGVyKCk6IFRlbXBsYXRlUmVzdWx0IHtcbiAgICByZXR1cm4gaHRtbGBcbiAgICAgIDxoZWFkZXIgY2xhc3M9XCJzYmItaGVhZGVyXCI+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJzYmItaGVhZGVyX193cmFwcGVyXCI+XG4gICAgICAgICAgPHNsb3Q+PC9zbG90PlxuICAgICAgICA8L2Rpdj5cbiAgICAgIDwvaGVhZGVyPlxuICAgIGA7XG4gIH1cbn1cblxuZGVjbGFyZSBnbG9iYWwge1xuICBpbnRlcmZhY2UgSFRNTEVsZW1lbnRUYWdOYW1lTWFwIHtcbiAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25hbWluZy1jb252ZW50aW9uXG4gICAgJ3NiYi1oZWFkZXInOiBTYmJIZWFkZXJFbGVtZW50O1xuICB9XG59XG4iXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FDa0JBLElBQU0sdUJBQXVCOzs7Ozs7OztJQVNoQiwwQkFBZ0I7bUJBQVM7Ozs7Ozs7Ozs7Ozs7Ozs7Y0FBekIseUJBQXlCLFlBQVU7OzsyQkFRN0MsV0FBVyxFQUNYLFNBQVM7SUFBRSxTQUFTO0lBQU0sTUFBTTtJQUFTLENBQUMsQ0FBQTsrQkFRMUMsYUFBYSxFQUNiLFNBQVMsRUFBRSxXQUFXLGlCQUFpQixDQUFDLENBQUE7K0JBSXhDLFdBQVcsRUFDWCxTQUFTO0lBQUUsV0FBVztJQUFrQixTQUFTO0lBQU0sTUFBTTtJQUFTLENBQUMsQ0FBQTt1QkFPdkUsU0FBUyxFQUFFLFNBQVMsTUFBTSxDQUFDLENBQUE7K0JBRTNCLE9BQU8sQ0FBQTtBQXRCUixnQkFBQSxNQUFBLE1BQUEsc0JBQUE7SUFBQSxNQUFBO0lBQUEsTUFBQTtJQUFBLFFBQUE7SUFBQSxTQUFBO0lB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
|