@sbb-esta/lyne-elements 3.12.0 → 4.0.0-next
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/accordion/accordion.component.d.ts.map +1 -1
- package/accordion/accordion.component.js +18 -17
- package/action-group/action-group.component.d.ts.map +1 -1
- package/action-group/action-group.component.js +52 -51
- package/alert/alert/alert.component.d.ts +1 -6
- package/alert/alert/alert.component.d.ts.map +1 -1
- package/alert/alert/alert.component.js +44 -55
- package/alert/alert-group/alert-group.component.d.ts.map +1 -1
- package/alert/alert-group/alert-group.component.js +21 -20
- package/autocomplete/autocomplete-base-element.d.ts.map +1 -1
- package/autocomplete/autocomplete-base-element.js +59 -58
- package/autocomplete-grid/autocomplete-grid-button/autocomplete-grid-button.component.d.ts.map +1 -1
- package/autocomplete-grid/autocomplete-grid-button/autocomplete-grid-button.component.js +26 -25
- package/autocomplete-grid/autocomplete-grid-cell/autocomplete-grid-cell.component.d.ts.map +1 -1
- package/autocomplete-grid/autocomplete-grid-cell/autocomplete-grid-cell.component.js +13 -12
- package/autocomplete-grid/autocomplete-grid-option/autocomplete-grid-option.component.d.ts.map +1 -1
- package/autocomplete-grid/autocomplete-grid-option/autocomplete-grid-option.component.js +8 -7
- package/autocomplete-grid/autocomplete-grid-row/autocomplete-grid-row.component.d.ts.map +1 -1
- package/autocomplete-grid/autocomplete-grid-row/autocomplete-grid-row.component.js +8 -7
- package/breadcrumb/breadcrumb/breadcrumb.component.d.ts.map +1 -1
- package/breadcrumb/breadcrumb/breadcrumb.component.js +8 -8
- package/breadcrumb/breadcrumb-group/breadcrumb-group.component.d.ts.map +1 -1
- package/breadcrumb/breadcrumb-group/breadcrumb-group.component.js +13 -12
- package/button/accent-button/accent-button.component.d.ts.map +1 -1
- package/button/accent-button/accent-button.component.js +12 -7
- package/button/accent-button-link/accent-button-link.component.d.ts.map +1 -1
- package/button/accent-button-link/accent-button-link.component.js +10 -5
- package/button/accent-button-static/accent-button-static.component.d.ts.map +1 -1
- package/button/accent-button-static/accent-button-static.component.js +13 -8
- package/button/button/button.component.d.ts.map +1 -1
- package/button/button/button.component.js +15 -10
- package/button/button-link/button-link.component.d.ts.map +1 -1
- package/button/button-link/button-link.component.js +14 -9
- package/button/button-static/button-static.component.d.ts.map +1 -1
- package/button/button-static/button-static.component.js +14 -9
- package/button/common/button-common.d.ts.map +1 -1
- package/button/common/button-common.js +12 -12
- package/button/common.d.ts.map +1 -1
- package/button/common.js +8 -7
- package/button/mini-button/mini-button.component.d.ts.map +1 -1
- package/button/mini-button/mini-button.component.js +19 -18
- package/button/mini-button-group/mini-button-group.component.d.ts.map +1 -1
- package/button/mini-button-group/mini-button-group.component.js +23 -22
- package/button/secondary-button/secondary-button.component.d.ts.map +1 -1
- package/button/secondary-button/secondary-button.component.js +12 -7
- package/button/secondary-button-link/secondary-button-link.component.d.ts.map +1 -1
- package/button/secondary-button-link/secondary-button-link.component.js +13 -8
- package/button/secondary-button-static/secondary-button-static.component.d.ts.map +1 -1
- package/button/secondary-button-static/secondary-button-static.component.js +14 -9
- package/button/transparent-button/transparent-button.component.d.ts.map +1 -1
- package/button/transparent-button/transparent-button.component.js +13 -8
- package/button/transparent-button-link/transparent-button-link.component.d.ts.map +1 -1
- package/button/transparent-button-link/transparent-button-link.component.js +13 -8
- package/button/transparent-button-static/transparent-button-static.component.d.ts.map +1 -1
- package/button/transparent-button-static/transparent-button-static.component.js +16 -11
- package/button.js +11 -10
- package/calendar/calendar.component.d.ts.map +1 -1
- package/calendar/calendar.component.js +150 -149
- package/card/card/card.component.d.ts.map +1 -1
- package/card/card/card.component.js +17 -16
- package/card/card-badge/card-badge.component.d.ts.map +1 -1
- package/card/card-badge/card-badge.component.js +17 -16
- package/card/common/card-action-common.d.ts.map +1 -1
- package/card/common/card-action-common.js +4 -3
- package/carousel/carousel/carousel.component.d.ts.map +1 -1
- package/carousel/carousel/carousel.component.js +33 -32
- package/carousel/carousel-item/carousel-item.component.js +8 -8
- package/carousel/carousel-list/carousel-list.component.js +4 -4
- package/checkbox/checkbox/checkbox.component.d.ts +1 -1
- package/checkbox/checkbox/checkbox.component.d.ts.map +1 -1
- package/checkbox/checkbox/checkbox.component.js +22 -17
- package/checkbox/checkbox-group/checkbox-group.component.d.ts +1 -1
- package/checkbox/checkbox-group/checkbox-group.component.d.ts.map +1 -1
- package/checkbox/checkbox-group/checkbox-group.component.js +37 -36
- package/checkbox/checkbox-panel/checkbox-panel.component.d.ts.map +1 -1
- package/checkbox/checkbox-panel/checkbox-panel.component.js +20 -15
- package/checkbox/common.js +1 -1
- package/checkbox-common-BGA_q9nc.js +5 -0
- package/checkbox.js +1 -1
- package/chip/chip/chip.component.d.ts.map +1 -1
- package/chip/chip/chip.component.js +20 -19
- package/chip/chip-group/chip-group.component.d.ts.map +1 -1
- package/chip/chip-group/chip-group.component.js +11 -10
- package/chip-label/chip-label.component.d.ts.map +1 -1
- package/chip-label/chip-label.component.js +5 -4
- package/clock/clock.component.d.ts.map +1 -1
- package/clock/clock.component.js +24 -23
- package/container/container/container.component.d.ts +3 -1
- package/container/container/container.component.d.ts.map +1 -1
- package/container/container/container.component.js +27 -25
- package/container/sticky-bar/sticky-bar.component.d.ts.map +1 -1
- package/container/sticky-bar/sticky-bar.component.js +25 -24
- package/core/controllers/media-matchers-controller.d.ts +2 -2
- package/core/controllers/media-matchers-controller.d.ts.map +1 -1
- package/core/controllers/media-matchers-controller.js +22 -22
- package/core/controllers/slot-state-controller.d.ts +26 -14
- package/core/controllers/slot-state-controller.d.ts.map +1 -1
- package/core/controllers/slot-state-controller.js +28 -22
- package/core/controllers.js +17 -16
- package/core/decorators.d.ts +0 -1
- package/core/decorators.d.ts.map +1 -1
- package/core/decorators.js +5 -7
- package/core/dom/breakpoint.d.ts +1 -1
- package/core/dom/breakpoint.d.ts.map +1 -1
- package/core/dom/breakpoint.js +4 -4
- package/core/i18n/i18n.js +6 -6
- package/core/interfaces/types.d.ts +1 -1
- package/core/interfaces/types.d.ts.map +1 -1
- package/core/mixins/element-internals-mixin.d.ts.map +1 -1
- package/core/mixins/element-internals-mixin.js +9 -8
- package/core/mixins/form-associated-input-mixin.d.ts.map +1 -1
- package/core/mixins/form-associated-input-mixin.js +55 -38
- package/core/mixins.js +5 -5
- package/core/styles/_index.scss +0 -1
- package/core/styles/box-sizing.scss +3 -0
- package/core/styles/core/mediaqueries.scss +6 -12
- package/core/styles/core.scss +85 -74
- package/core/styles/mixins/buttons.scss +0 -171
- package/core/styles/mixins/card.scss +1 -2
- package/core/styles/mixins/lists.scss +1 -1
- package/core/styles/mixins/panel.scss +1 -1
- package/core/styles/{node_modules_@sbb-esta_lyne-design-tokens_dist_scss_sbb-variables_css--mixin.scss → node_modules_@sbb-esta_lyne-design-tokens_dist_scss_sbb-variables-as-css.scss} +194 -460
- package/core/styles/node_modules_@sbb-esta_lyne-design-tokens_dist_scss_sbb-variables.scss +10 -217
- package/core/styles.d.ts +4 -0
- package/core/styles.d.ts.map +1 -0
- package/core/styles.js +5 -0
- package/core.css +163 -475
- package/custom-elements.json +2978 -2171
- package/date-input/date-input.component.js +1 -1
- package/datepicker/datepicker/datepicker.component.d.ts +1 -1
- package/datepicker/datepicker/datepicker.component.d.ts.map +1 -1
- package/datepicker/datepicker-next-day/datepicker-next-day.component.d.ts.map +1 -1
- package/datepicker/datepicker-next-day/datepicker-next-day.component.js +24 -22
- package/datepicker/datepicker-previous-day/datepicker-previous-day.component.d.ts.map +1 -1
- package/datepicker/datepicker-previous-day/datepicker-previous-day.component.js +25 -23
- package/datepicker/datepicker-toggle/datepicker-toggle.component.d.ts.map +1 -1
- package/datepicker/datepicker-toggle/datepicker-toggle.component.js +29 -27
- package/development/accordion/accordion.component.d.ts.map +1 -1
- package/development/accordion/accordion.component.js +4 -9
- package/development/action-group/action-group.component.d.ts.map +1 -1
- package/development/action-group/action-group.component.js +5 -88
- package/development/alert/alert/alert.component.d.ts +1 -6
- package/development/alert/alert/alert.component.d.ts.map +1 -1
- package/development/alert/alert/alert.component.js +12 -35
- package/development/alert/alert-group/alert-group.component.d.ts.map +1 -1
- package/development/alert/alert-group/alert-group.component.js +4 -9
- package/development/autocomplete/autocomplete-base-element.d.ts.map +1 -1
- package/development/autocomplete/autocomplete-base-element.js +8 -13
- package/development/autocomplete-grid/autocomplete-grid-button/autocomplete-grid-button.component.d.ts.map +1 -1
- package/development/autocomplete-grid/autocomplete-grid-button/autocomplete-grid-button.component.js +7 -120
- package/development/autocomplete-grid/autocomplete-grid-cell/autocomplete-grid-cell.component.d.ts.map +1 -1
- package/development/autocomplete-grid/autocomplete-grid-cell/autocomplete-grid-cell.component.js +4 -9
- package/development/autocomplete-grid/autocomplete-grid-option/autocomplete-grid-option.component.d.ts.map +1 -1
- package/development/autocomplete-grid/autocomplete-grid-option/autocomplete-grid-option.component.js +5 -10
- package/development/autocomplete-grid/autocomplete-grid-row/autocomplete-grid-row.component.d.ts.map +1 -1
- package/development/autocomplete-grid/autocomplete-grid-row/autocomplete-grid-row.component.js +6 -11
- package/development/breadcrumb/breadcrumb/breadcrumb.component.d.ts.map +1 -1
- package/development/breadcrumb/breadcrumb/breadcrumb.component.js +7 -13
- package/development/breadcrumb/breadcrumb-group/breadcrumb-group.component.d.ts.map +1 -1
- package/development/breadcrumb/breadcrumb-group/breadcrumb-group.component.js +5 -10
- package/development/button/accent-button/accent-button.component.d.ts.map +1 -1
- package/development/button/accent-button/accent-button.component.js +7 -2
- package/development/button/accent-button-link/accent-button-link.component.d.ts.map +1 -1
- package/development/button/accent-button-link/accent-button-link.component.js +7 -2
- package/development/button/accent-button-static/accent-button-static.component.d.ts.map +1 -1
- package/development/button/accent-button-static/accent-button-static.component.js +7 -2
- package/development/button/button/button.component.d.ts.map +1 -1
- package/development/button/button/button.component.js +7 -2
- package/development/button/button-link/button-link.component.d.ts.map +1 -1
- package/development/button/button-link/button-link.component.js +7 -2
- package/development/button/button-static/button-static.component.d.ts.map +1 -1
- package/development/button/button-static/button-static.component.js +7 -2
- package/development/button/common/button-common.d.ts.map +1 -1
- package/development/button/common/button-common.js +3 -3
- package/development/button/common.d.ts.map +1 -1
- package/development/button/common.js +3 -2
- package/development/button/mini-button/mini-button.component.d.ts.map +1 -1
- package/development/button/mini-button/mini-button.component.js +11 -126
- package/development/button/mini-button-group/mini-button-group.component.d.ts.map +1 -1
- package/development/button/mini-button-group/mini-button-group.component.js +4 -9
- package/development/button/secondary-button/secondary-button.component.d.ts.map +1 -1
- package/development/button/secondary-button/secondary-button.component.js +7 -2
- package/development/button/secondary-button-link/secondary-button-link.component.d.ts.map +1 -1
- package/development/button/secondary-button-link/secondary-button-link.component.js +7 -2
- package/development/button/secondary-button-static/secondary-button-static.component.d.ts.map +1 -1
- package/development/button/secondary-button-static/secondary-button-static.component.js +7 -2
- package/development/button/transparent-button/transparent-button.component.d.ts.map +1 -1
- package/development/button/transparent-button/transparent-button.component.js +7 -2
- package/development/button/transparent-button-link/transparent-button-link.component.d.ts.map +1 -1
- package/development/button/transparent-button-link/transparent-button-link.component.js +7 -2
- package/development/button/transparent-button-static/transparent-button-static.component.d.ts.map +1 -1
- package/development/button/transparent-button-static/transparent-button-static.component.js +7 -2
- package/development/button.js +3 -2
- package/development/calendar/calendar.component.d.ts.map +1 -1
- package/development/calendar/calendar.component.js +10 -15
- package/development/card/card/card.component.d.ts.map +1 -1
- package/development/card/card/card.component.js +5 -10
- package/development/card/card-badge/card-badge.component.d.ts.map +1 -1
- package/development/card/card-badge/card-badge.component.js +4 -9
- package/development/card/common/card-action-common.d.ts.map +1 -1
- package/development/card/common/card-action-common.js +5 -10
- package/development/carousel/carousel/carousel.component.d.ts.map +1 -1
- package/development/carousel/carousel/carousel.component.js +5 -10
- package/development/carousel/carousel-item/carousel-item.component.js +2 -8
- package/development/carousel/carousel-list/carousel-list.component.js +2 -8
- package/development/checkbox/checkbox/checkbox.component.d.ts +1 -1
- package/development/checkbox/checkbox/checkbox.component.d.ts.map +1 -1
- package/development/checkbox/checkbox/checkbox.component.js +13 -8
- package/development/checkbox/checkbox-group/checkbox-group.component.d.ts +1 -1
- package/development/checkbox/checkbox-group/checkbox-group.component.d.ts.map +1 -1
- package/development/checkbox/checkbox-group/checkbox-group.component.js +9 -50
- package/development/checkbox/checkbox-panel/checkbox-panel.component.d.ts.map +1 -1
- package/development/checkbox/checkbox-panel/checkbox-panel.component.js +9 -4
- package/development/checkbox/common.js +1 -1
- package/development/{checkbox-common-Dy_ofVhp.js → checkbox-common-BZFJgZd7.js} +3 -9
- package/development/checkbox.js +1 -1
- package/development/chip/chip/chip.component.d.ts.map +1 -1
- package/development/chip/chip/chip.component.js +9 -14
- package/development/chip/chip-group/chip-group.component.d.ts.map +1 -1
- package/development/chip/chip-group/chip-group.component.js +5 -10
- package/development/chip-label/chip-label.component.d.ts.map +1 -1
- package/development/chip-label/chip-label.component.js +4 -9
- package/development/clock/clock.component.d.ts.map +1 -1
- package/development/clock/clock.component.js +4 -9
- package/development/container/container/container.component.d.ts +3 -1
- package/development/container/container/container.component.d.ts.map +1 -1
- package/development/container/container/container.component.js +11 -15
- package/development/container/sticky-bar/sticky-bar.component.d.ts.map +1 -1
- package/development/container/sticky-bar/sticky-bar.component.js +5 -10
- package/development/core/controllers/media-matchers-controller.d.ts +2 -2
- package/development/core/controllers/media-matchers-controller.d.ts.map +1 -1
- package/development/core/controllers/media-matchers-controller.js +6 -6
- package/development/core/controllers/slot-state-controller.d.ts +26 -14
- package/development/core/controllers/slot-state-controller.d.ts.map +1 -1
- package/development/core/controllers/slot-state-controller.js +48 -41
- package/development/core/controllers.js +6 -5
- package/development/core/decorators.d.ts +0 -1
- package/development/core/decorators.d.ts.map +1 -1
- package/development/core/decorators.js +2 -4
- package/development/core/dom/breakpoint.d.ts +1 -1
- package/development/core/dom/breakpoint.d.ts.map +1 -1
- package/development/core/dom/breakpoint.js +2 -2
- package/development/core/i18n/i18n.js +7 -7
- package/development/core/interfaces/types.d.ts +1 -1
- package/development/core/interfaces/types.d.ts.map +1 -1
- package/development/core/mixins/element-internals-mixin.d.ts.map +1 -1
- package/development/core/mixins/element-internals-mixin.js +3 -1
- package/development/core/mixins/form-associated-input-mixin.d.ts.map +1 -1
- package/development/core/mixins/form-associated-input-mixin.js +47 -12
- package/development/core/mixins.js +3 -3
- package/development/core/styles.d.ts +4 -0
- package/development/core/styles.d.ts.map +1 -0
- package/development/core/styles.js +10 -0
- package/development/date-input/date-input.component.js +1 -1
- package/development/datepicker/datepicker/datepicker.component.d.ts +1 -1
- package/development/datepicker/datepicker/datepicker.component.d.ts.map +1 -1
- package/development/datepicker/datepicker/datepicker.component.js +1 -1
- package/development/datepicker/datepicker-next-day/datepicker-next-day.component.d.ts.map +1 -1
- package/development/datepicker/datepicker-next-day/datepicker-next-day.component.js +5 -113
- package/development/datepicker/datepicker-previous-day/datepicker-previous-day.component.d.ts.map +1 -1
- package/development/datepicker/datepicker-previous-day/datepicker-previous-day.component.js +5 -113
- package/development/datepicker/datepicker-toggle/datepicker-toggle.component.d.ts.map +1 -1
- package/development/datepicker/datepicker-toggle/datepicker-toggle.component.js +5 -113
- package/development/dialog/dialog/dialog.component.d.ts.map +1 -1
- package/development/dialog/dialog/dialog.component.js +9 -19
- package/development/dialog/dialog-actions/dialog-actions.component.js +2 -8
- package/development/dialog/dialog-close-button/dialog-close-button.component.d.ts +1 -0
- package/development/dialog/dialog-close-button/dialog-close-button.component.d.ts.map +1 -1
- package/development/dialog/dialog-close-button/dialog-close-button.component.js +5 -9
- package/development/dialog/dialog-content/dialog-content.component.js +2 -8
- package/development/divider/divider.component.d.ts.map +1 -1
- package/development/divider/divider.component.js +4 -9
- package/development/expansion-panel/expansion-panel/expansion-panel.component.d.ts.map +1 -1
- package/development/expansion-panel/expansion-panel/expansion-panel.component.js +5 -10
- package/development/expansion-panel/expansion-panel-content/expansion-panel-content.component.d.ts.map +1 -1
- package/development/expansion-panel/expansion-panel-content/expansion-panel-content.component.js +6 -11
- package/development/expansion-panel/expansion-panel-header/expansion-panel-header.component.d.ts +2 -3
- package/development/expansion-panel/expansion-panel-header/expansion-panel-header.component.d.ts.map +1 -1
- package/development/expansion-panel/expansion-panel-header/expansion-panel-header.component.js +13 -18
- package/development/file-selector/common.js +1 -1
- package/development/file-selector/file-selector/file-selector.component.d.ts.map +1 -1
- package/development/file-selector/file-selector/file-selector.component.js +4 -4
- 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 +6 -11
- package/development/{file-selector-common-CRNAWFM_.js → file-selector-common-CsFa5XJ-.js} +3 -9
- package/development/file-selector.js +1 -1
- package/development/flip-card/flip-card/flip-card.component.d.ts.map +1 -1
- package/development/flip-card/flip-card/flip-card.component.js +9 -14
- package/development/flip-card/flip-card-details/flip-card-details.component.d.ts.map +1 -1
- package/development/flip-card/flip-card-details/flip-card-details.component.js +4 -9
- package/development/flip-card/flip-card-summary/flip-card-summary.component.d.ts.map +1 -1
- package/development/flip-card/flip-card-summary/flip-card-summary.component.js +7 -12
- package/development/footer/footer.component.d.ts.map +1 -1
- package/development/footer/footer.component.js +8 -13
- package/development/form-error/form-error.component.d.ts.map +1 -1
- package/development/form-error/form-error.component.js +4 -9
- package/development/form-field/form-field/form-field.component.d.ts.map +1 -1
- package/development/form-field/form-field/form-field.component.js +11 -16
- 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 +6 -118
- package/development/header/common/header-action-common.d.ts.map +1 -1
- package/development/header/common/header-action-common.js +24 -109
- package/development/header/header/header.component.d.ts +1 -1
- package/development/header/header/header.component.d.ts.map +1 -1
- package/development/header/header/header.component.js +6 -11
- package/development/header/header-environment/header-environment.component.d.ts.map +1 -1
- package/development/header/header-environment/header-environment.component.js +4 -9
- package/development/icon/icon-base.d.ts.map +1 -1
- package/development/icon/icon-base.js +4 -9
- package/development/icon/icon-name-mixin.d.ts +3 -2
- package/development/icon/icon-name-mixin.d.ts.map +1 -1
- package/development/icon/icon-name-mixin.js +12 -3
- package/development/{icon-sidebar-button-common-BGrKtvyM.js → icon-sidebar-button-common-C6QChtaa.js} +5 -23
- package/development/image/image.component.d.ts +1 -1
- package/development/image/image.component.d.ts.map +1 -1
- package/development/image/image.component.js +7 -18
- package/development/journey-header/journey-header.component.d.ts.map +1 -1
- package/development/journey-header/journey-header.component.js +4 -9
- package/development/lead-container/lead-container.component.d.ts.map +1 -1
- package/development/lead-container/lead-container.component.js +6 -24
- package/development/link/common/block-link-common.d.ts.map +1 -1
- package/development/link/common/block-link-common.js +5 -4
- package/development/link/common/inline-link-common.d.ts.map +1 -1
- package/development/link/common/inline-link-common.js +4 -3
- package/development/link/common/link-common.d.ts.map +1 -1
- package/development/link/common/link-common.js +1 -1
- package/development/link/common.js +1 -1
- package/development/{link-common-BDFF9Oiz.js → link-common-DYZHRSSJ.js} +6 -12
- package/development/link-list/common/link-list-base.d.ts.map +1 -1
- package/development/link-list/common/link-list-base.js +7 -15
- package/development/link-list/common.js +1 -1
- package/development/link-list/link-list/link-list.component.d.ts.map +1 -1
- package/development/link-list/link-list/link-list.component.js +3 -50
- package/development/link-list/link-list-anchor/link-list-anchor.component.d.ts.map +1 -1
- package/development/link-list/link-list-anchor/link-list-anchor.component.js +3 -2
- package/development/{link-list-base-DC9sc7q5.js → link-list-base-CJJ3qdD7.js} +3 -9
- package/development/link-list.js +1 -1
- package/development/link.js +1 -1
- package/development/loading-indicator/loading-indicator.component.d.ts.map +1 -1
- package/development/loading-indicator/loading-indicator.component.js +3 -8
- package/development/loading-indicator-circle/loading-indicator-circle.component.d.ts.map +1 -1
- package/development/loading-indicator-circle/loading-indicator-circle.component.js +4 -9
- package/development/logo/logo.component.d.ts.map +1 -1
- package/development/logo/logo.component.js +4 -9
- package/development/map-container/map-container.component.d.ts +1 -1
- package/development/map-container/map-container.component.d.ts.map +1 -1
- package/development/map-container/map-container.component.js +10 -15
- package/development/menu/common/menu-action-common.d.ts.map +1 -1
- package/development/menu/common/menu-action-common.js +16 -35
- package/development/menu/menu/menu.component.d.ts +1 -12
- package/development/menu/menu/menu.component.d.ts.map +1 -1
- package/development/menu/menu/menu.component.js +17 -65
- package/development/message/message.component.d.ts.map +1 -1
- package/development/message/message.component.js +4 -9
- package/development/{transparent-button-DdSaBp_-.js → mini-button-common-Di32bSJj.js} +114 -17
- package/development/mini-calendar/mini-calendar/mini-calendar.component.js +2 -8
- package/development/mini-calendar/mini-calendar-day/mini-calendar-day.component.js +2 -8
- package/development/mini-calendar/mini-calendar-month/mini-calendar-month.component.d.ts.map +1 -1
- package/development/mini-calendar/mini-calendar-month/mini-calendar-month.component.js +4 -9
- package/development/navigation/common/navigation-action-common.d.ts.map +1 -1
- package/development/navigation/common/navigation-action-common.js +5 -10
- package/development/navigation/navigation/navigation.component.d.ts.map +1 -1
- package/development/navigation/navigation/navigation.component.js +5 -15
- package/development/navigation/navigation-list/navigation-list.component.d.ts.map +1 -1
- package/development/navigation/navigation-list/navigation-list.component.js +9 -14
- package/development/navigation/navigation-marker/navigation-marker.component.d.ts.map +1 -1
- package/development/navigation/navigation-marker/navigation-marker.component.js +4 -9
- package/development/navigation/navigation-section/navigation-section.component.d.ts.map +1 -1
- package/development/navigation/navigation-section/navigation-section.component.js +10 -20
- package/development/notification/notification.component.d.ts +4 -2
- package/development/notification/notification.component.d.ts.map +1 -1
- package/development/notification/notification.component.js +22 -18
- package/development/option/optgroup/optgroup-base-element.d.ts.map +1 -1
- package/development/option/optgroup/optgroup-base-element.js +5 -9
- package/development/option/option/option-base-element.d.ts.map +1 -1
- package/development/option/option/option-base-element.js +6 -14
- package/development/option/option/option.component.d.ts.map +1 -1
- package/development/option/option/option.component.js +7 -12
- package/development/option/option-hint/option-hint.component.d.ts.map +1 -1
- package/development/option/option-hint/option-hint.component.js +4 -9
- package/development/overlay/overlay.component.d.ts.map +1 -1
- package/development/overlay/overlay.component.js +5 -10
- package/development/paginator/compact-paginator/compact-paginator.component.d.ts.map +1 -1
- package/development/paginator/compact-paginator/compact-paginator.component.js +4 -9
- package/development/paginator/paginator/paginator.component.d.ts.map +1 -1
- package/development/paginator/paginator/paginator.component.js +6 -11
- package/development/popover/popover/popover.component.d.ts +2 -0
- package/development/popover/popover/popover.component.d.ts.map +1 -1
- package/development/popover/popover/popover.component.js +20 -11
- package/development/popover.d.ts +0 -1
- package/development/popover.d.ts.map +1 -1
- package/development/popover.js +2 -4
- package/development/radio-button/common.js +1 -1
- package/development/radio-button/radio-button/radio-button.component.d.ts.map +1 -1
- package/development/radio-button/radio-button/radio-button.component.js +10 -11
- package/development/radio-button/radio-button-group/radio-button-group.component.d.ts.map +1 -1
- package/development/radio-button/radio-button-group/radio-button-group.component.js +7 -45
- package/development/radio-button/radio-button-panel/radio-button-panel.component.d.ts.map +1 -1
- package/development/radio-button/radio-button-panel/radio-button-panel.component.js +9 -4
- package/development/{radio-button-common-CgM3kQSW.js → radio-button-common-5uawgCpB.js} +4 -10
- package/development/radio-button.js +1 -1
- package/development/sbb-tokens-DXgmy_b-.js +21 -0
- package/development/select/select.component.d.ts +12 -8
- package/development/select/select.component.d.ts.map +1 -1
- package/development/select/select.component.js +105 -98
- package/development/selection-action-panel/selection-action-panel.component.d.ts.map +1 -1
- package/development/selection-action-panel/selection-action-panel.component.js +4 -9
- package/development/selection-expansion-panel/selection-expansion-panel.component.d.ts.map +1 -1
- package/development/selection-expansion-panel/selection-expansion-panel.component.js +9 -14
- package/development/sidebar/common.js +1 -1
- package/development/sidebar/icon-sidebar/icon-sidebar.component.js +2 -8
- package/development/sidebar/icon-sidebar-button/icon-sidebar-button.component.d.ts.map +1 -1
- package/development/sidebar/icon-sidebar-button/icon-sidebar-button.component.js +3 -2
- package/development/sidebar/icon-sidebar-link/icon-sidebar-link.component.d.ts.map +1 -1
- package/development/sidebar/icon-sidebar-link/icon-sidebar-link.component.js +3 -2
- package/development/sidebar/sidebar/sidebar.component.d.ts.map +1 -1
- package/development/sidebar/sidebar/sidebar.component.js +5 -10
- package/development/sidebar/sidebar-close-button/sidebar-close-button.component.d.ts +1 -0
- package/development/sidebar/sidebar-close-button/sidebar-close-button.component.d.ts.map +1 -1
- package/development/sidebar/sidebar-close-button/sidebar-close-button.component.js +5 -9
- package/development/sidebar/sidebar-container/sidebar-container.component.d.ts.map +1 -1
- package/development/sidebar/sidebar-container/sidebar-container.component.js +7 -2
- package/development/sidebar.js +1 -1
- package/development/signet/signet.component.d.ts.map +1 -1
- package/development/signet/signet.component.js +4 -9
- package/development/skiplink-list/skiplink-list.component.d.ts.map +1 -1
- package/development/skiplink-list/skiplink-list.component.js +5 -10
- package/development/slider/slider.component.d.ts.map +1 -1
- package/development/slider/slider.component.js +4 -9
- package/development/status/status.component.d.ts +2 -2
- package/development/status/status.component.d.ts.map +1 -1
- package/development/status/status.component.js +8 -16
- package/development/stepper/step/step.component.d.ts.map +1 -1
- package/development/stepper/step/step.component.js +4 -9
- package/development/stepper/step-label/step-label.component.d.ts.map +1 -1
- package/development/stepper/step-label/step-label.component.js +5 -10
- package/development/stepper/stepper/stepper.component.d.ts.map +1 -1
- package/development/stepper/stepper/stepper.component.js +4 -9
- package/development/table/table-wrapper/table-wrapper.component.js +2 -8
- package/development/tabs/tab/tab.component.js +1 -7
- package/development/tabs/tab-group/tab-group.component.d.ts.map +1 -1
- package/development/tabs/tab-group/tab-group.component.js +4 -9
- package/development/tabs/tab-label/tab-label.component.d.ts.map +1 -1
- package/development/tabs/tab-label/tab-label.component.js +10 -15
- package/development/tag/tag/tag.component.d.ts.map +1 -1
- package/development/tag/tag/tag.component.js +9 -14
- package/development/tag/tag-group/tag-group.component.d.ts.map +1 -1
- package/development/tag/tag-group/tag-group.component.js +4 -9
- package/development/teaser/teaser.component.d.ts.map +1 -1
- package/development/teaser/teaser.component.js +5 -10
- package/development/teaser-hero/teaser-hero.component.d.ts.map +1 -1
- package/development/teaser-hero/teaser-hero.component.js +8 -13
- package/development/teaser-product/common/teaser-product-common.d.ts.map +1 -1
- package/development/teaser-product/common/teaser-product-common.js +4 -13
- package/development/teaser-product/common.js +1 -1
- package/development/teaser-product/teaser-product/teaser-product.component.d.ts.map +1 -1
- package/development/teaser-product/teaser-product/teaser-product.component.js +7 -2
- package/development/teaser-product/teaser-product-static/teaser-product-static.component.d.ts.map +1 -1
- package/development/teaser-product/teaser-product-static/teaser-product-static.component.js +3 -2
- package/development/{teaser-product-common-DvlBRkE_.js → teaser-product-common-B1KK4iNu.js} +3 -9
- package/development/teaser-product.js +1 -1
- package/development/time-input/time-input.component.js +3 -9
- package/development/timetable-form/timetable-form/timetable-form.component.js +2 -8
- package/development/timetable-form/timetable-form-details/timetable-form-details.component.js +2 -8
- package/development/timetable-form/timetable-form-field/timetable-form-field.component.js +2 -8
- package/development/timetable-form/timetable-form-swap-button/timetable-form-swap-button.component.d.ts +1 -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 +5 -9
- package/development/timetable-occupancy/timetable-occupancy.component.d.ts.map +1 -1
- package/development/timetable-occupancy/timetable-occupancy.component.js +5 -10
- package/development/timetable-occupancy-icon/timetable-occupancy-icon.component.js +1 -1
- package/development/title/title-base.js +2 -8
- package/development/toast/toast.component.d.ts.map +1 -1
- package/development/toast/toast.component.js +4 -9
- package/development/toggle/toggle/toggle.component.d.ts.map +1 -1
- package/development/toggle/toggle/toggle.component.js +4 -9
- package/development/toggle/toggle-option/toggle-option.component.d.ts.map +1 -1
- package/development/toggle/toggle-option/toggle-option.component.js +7 -12
- package/development/toggle-check/toggle-check.component.d.ts +2 -3
- package/development/toggle-check/toggle-check.component.d.ts.map +1 -1
- package/development/toggle-check/toggle-check.component.js +15 -33
- package/development/tooltip/tooltip.component.d.ts.map +1 -1
- package/development/tooltip/tooltip.component.js +5 -10
- package/development/train/train/train.component.d.ts.map +1 -1
- package/development/train/train/train.component.js +4 -9
- package/development/train/train-blocked-passage/train-blocked-passage.component.d.ts.map +1 -1
- package/development/train/train-blocked-passage/train-blocked-passage.component.js +4 -9
- package/development/train/train-formation/train-formation.component.d.ts.map +1 -1
- package/development/train/train-formation/train-formation.component.js +4 -9
- package/development/train/train-wagon/train-wagon.component.d.ts.map +1 -1
- package/development/train/train-wagon/train-wagon.component.js +4 -9
- package/development/visual-checkbox/visual-checkbox.component.d.ts.map +1 -1
- package/development/visual-checkbox/visual-checkbox.component.js +6 -11
- package/dialog/dialog/dialog.component.d.ts.map +1 -1
- package/dialog/dialog/dialog.component.js +39 -38
- package/dialog/dialog-actions/dialog-actions.component.js +9 -9
- package/dialog/dialog-close-button/dialog-close-button.component.d.ts +1 -0
- package/dialog/dialog-close-button/dialog-close-button.component.d.ts.map +1 -1
- package/dialog/dialog-close-button/dialog-close-button.component.js +14 -11
- package/dialog/dialog-content/dialog-content.component.js +9 -9
- package/divider/divider.component.d.ts.map +1 -1
- package/divider/divider.component.js +16 -15
- package/expansion-panel/expansion-panel/expansion-panel.component.d.ts.map +1 -1
- package/expansion-panel/expansion-panel/expansion-panel.component.js +18 -17
- package/expansion-panel/expansion-panel-content/expansion-panel-content.component.d.ts.map +1 -1
- package/expansion-panel/expansion-panel-content/expansion-panel-content.component.js +12 -11
- package/expansion-panel/expansion-panel-header/expansion-panel-header.component.d.ts +2 -3
- package/expansion-panel/expansion-panel-header/expansion-panel-header.component.d.ts.map +1 -1
- package/expansion-panel/expansion-panel-header/expansion-panel-header.component.js +18 -17
- package/file-selector/common.js +1 -1
- package/file-selector/file-selector/file-selector.component.d.ts.map +1 -1
- package/file-selector/file-selector/file-selector.component.js +12 -12
- package/file-selector/file-selector-dropzone/file-selector-dropzone.component.d.ts.map +1 -1
- package/file-selector/file-selector-dropzone/file-selector-dropzone.component.js +15 -14
- package/file-selector-common-CUp299VH.js +5 -0
- package/file-selector.js +1 -1
- package/flip-card/flip-card/flip-card.component.d.ts.map +1 -1
- package/flip-card/flip-card/flip-card.component.js +15 -14
- package/flip-card/flip-card-details/flip-card-details.component.d.ts.map +1 -1
- package/flip-card/flip-card-details/flip-card-details.component.js +13 -12
- package/flip-card/flip-card-summary/flip-card-summary.component.d.ts.map +1 -1
- package/flip-card/flip-card-summary/flip-card-summary.component.js +5 -4
- package/footer/footer.component.d.ts.map +1 -1
- package/footer/footer.component.js +5 -4
- package/form-error/form-error.component.d.ts.map +1 -1
- package/form-error/form-error.component.js +10 -9
- package/form-field/form-field/form-field.component.d.ts.map +1 -1
- package/form-field/form-field/form-field.component.js +17 -16
- package/form-field/form-field-clear/form-field-clear.component.d.ts.map +1 -1
- package/form-field/form-field-clear/form-field-clear.component.js +18 -17
- package/header/common/header-action-common.d.ts.map +1 -1
- package/header/common/header-action-common.js +27 -27
- package/header/header/header.component.d.ts +1 -1
- package/header/header/header.component.d.ts.map +1 -1
- package/header/header/header.component.js +39 -38
- package/header/header-environment/header-environment.component.d.ts.map +1 -1
- package/header/header-environment/header-environment.component.js +5 -4
- package/icon/icon-base.d.ts.map +1 -1
- package/icon/icon-base.js +22 -21
- package/icon/icon-name-mixin.d.ts +3 -2
- package/icon/icon-name-mixin.d.ts.map +1 -1
- package/icon/icon-name-mixin.js +30 -22
- package/icon-sidebar-button-common-W6GYJbVt.js +7 -0
- package/image/image.component.d.ts +1 -1
- package/image/image.component.d.ts.map +1 -1
- package/image/image.component.js +72 -77
- package/index.d.ts +0 -3
- package/index.js +0 -3
- package/journey-header/journey-header.component.d.ts.map +1 -1
- package/journey-header/journey-header.component.js +19 -18
- package/lead-container/lead-container.component.d.ts.map +1 -1
- package/lead-container/lead-container.component.js +8 -7
- package/link/common/block-link-common.d.ts.map +1 -1
- package/link/common/block-link-common.js +14 -13
- package/link/common/inline-link-common.d.ts.map +1 -1
- package/link/common/inline-link-common.js +7 -6
- package/link/common/link-common.d.ts.map +1 -1
- package/link/common/link-common.js +1 -1
- package/link/common.js +1 -1
- package/link-common-CdQBSga7.js +46 -0
- package/link-list/common/link-list-base.d.ts.map +1 -1
- package/link-list/common/link-list-base.js +34 -34
- package/link-list/common.js +1 -1
- package/link-list/link-list/link-list.component.d.ts.map +1 -1
- package/link-list/link-list/link-list.component.js +23 -22
- package/link-list/link-list-anchor/link-list-anchor.component.d.ts.map +1 -1
- package/link-list/link-list-anchor/link-list-anchor.component.js +11 -10
- package/link-list-base-3v7CHEei.js +5 -0
- package/link-list.js +1 -1
- package/link.js +1 -1
- package/lists.css +1 -1
- package/loading-indicator/loading-indicator.component.d.ts.map +1 -1
- package/loading-indicator/loading-indicator.component.js +9 -8
- package/loading-indicator-circle/loading-indicator-circle.component.d.ts.map +1 -1
- package/loading-indicator-circle/loading-indicator-circle.component.js +8 -7
- package/logo/logo.component.d.ts.map +1 -1
- package/logo/logo.component.js +10 -9
- package/map-container/map-container.component.d.ts +1 -1
- package/map-container/map-container.component.d.ts.map +1 -1
- package/map-container/map-container.component.js +21 -20
- package/menu/common/menu-action-common.d.ts.map +1 -1
- package/menu/common/menu-action-common.js +14 -17
- package/menu/menu/menu.component.d.ts +1 -12
- package/menu/menu/menu.component.d.ts.map +1 -1
- package/menu/menu/menu.component.js +62 -82
- package/message/message.component.d.ts.map +1 -1
- package/message/message.component.js +5 -4
- package/mini-button-common-DBnJfrBZ.js +10 -0
- package/mini-calendar/mini-calendar/mini-calendar.component.js +7 -7
- package/mini-calendar/mini-calendar-day/mini-calendar-day.component.js +10 -10
- package/mini-calendar/mini-calendar-month/mini-calendar-month.component.d.ts.map +1 -1
- package/mini-calendar/mini-calendar-month/mini-calendar-month.component.js +13 -12
- package/navigation/common/navigation-action-common.d.ts.map +1 -1
- package/navigation/common/navigation-action-common.js +4 -3
- package/navigation/navigation/navigation.component.d.ts.map +1 -1
- package/navigation/navigation/navigation.component.js +10 -9
- package/navigation/navigation-list/navigation-list.component.d.ts.map +1 -1
- package/navigation/navigation-list/navigation-list.component.js +17 -16
- package/navigation/navigation-marker/navigation-marker.component.d.ts.map +1 -1
- package/navigation/navigation-marker/navigation-marker.component.js +11 -10
- package/navigation/navigation-section/navigation-section.component.d.ts.map +1 -1
- package/navigation/navigation-section/navigation-section.component.js +7 -6
- package/notification/notification.component.d.ts +4 -2
- package/notification/notification.component.d.ts.map +1 -1
- package/notification/notification.component.js +37 -35
- package/off-brand-theme.css +164 -476
- package/option/optgroup/optgroup-base-element.d.ts.map +1 -1
- package/option/optgroup/optgroup-base-element.js +24 -23
- package/option/option/option-base-element.d.ts.map +1 -1
- package/option/option/option-base-element.js +59 -60
- package/option/option/option.component.d.ts.map +1 -1
- package/option/option/option.component.js +7 -6
- package/option/option-hint/option-hint.component.d.ts.map +1 -1
- package/option/option-hint/option-hint.component.js +5 -4
- package/overlay/overlay.component.d.ts.map +1 -1
- package/overlay/overlay.component.js +10 -9
- package/package.json +6 -6
- package/paginator/compact-paginator/compact-paginator.component.d.ts.map +1 -1
- package/paginator/compact-paginator/compact-paginator.component.js +9 -8
- package/paginator/paginator/paginator.component.d.ts.map +1 -1
- package/paginator/paginator/paginator.component.js +14 -13
- package/popover/popover/popover.component.d.ts +2 -0
- package/popover/popover/popover.component.d.ts.map +1 -1
- package/popover/popover/popover.component.js +79 -68
- package/popover.d.ts +0 -1
- package/popover.d.ts.map +1 -1
- package/popover.js +3 -5
- package/radio-button/common.js +1 -1
- package/radio-button/radio-button/radio-button.component.d.ts.map +1 -1
- package/radio-button/radio-button/radio-button.component.js +28 -23
- package/radio-button/radio-button-group/radio-button-group.component.d.ts.map +1 -1
- package/radio-button/radio-button-group/radio-button-group.component.js +47 -46
- package/radio-button/radio-button-panel/radio-button-panel.component.d.ts.map +1 -1
- package/radio-button/radio-button-panel/radio-button-panel.component.js +19 -14
- package/radio-button-common-BT3VkZLM.js +5 -0
- package/radio-button.js +1 -1
- package/safety-theme.css +164 -476
- package/sbb-tokens-CB1Hgctn.js +12 -0
- package/select/select.component.d.ts +12 -8
- package/select/select.component.d.ts.map +1 -1
- package/select/select.component.js +136 -127
- package/selection-action-panel/selection-action-panel.component.d.ts.map +1 -1
- package/selection-action-panel/selection-action-panel.component.js +5 -4
- package/selection-expansion-panel/selection-expansion-panel.component.d.ts.map +1 -1
- package/selection-expansion-panel/selection-expansion-panel.component.js +24 -23
- package/sidebar/common.js +1 -1
- package/sidebar/icon-sidebar/icon-sidebar.component.js +4 -4
- package/sidebar/icon-sidebar-button/icon-sidebar-button.component.d.ts.map +1 -1
- package/sidebar/icon-sidebar-button/icon-sidebar-button.component.js +11 -10
- package/sidebar/icon-sidebar-link/icon-sidebar-link.component.d.ts.map +1 -1
- package/sidebar/icon-sidebar-link/icon-sidebar-link.component.js +11 -10
- package/sidebar/sidebar/sidebar.component.d.ts.map +1 -1
- package/sidebar/sidebar/sidebar.component.js +20 -19
- package/sidebar/sidebar-close-button/sidebar-close-button.component.d.ts +1 -0
- package/sidebar/sidebar-close-button/sidebar-close-button.component.d.ts.map +1 -1
- package/sidebar/sidebar-close-button/sidebar-close-button.component.js +14 -11
- package/sidebar/sidebar-container/sidebar-container.component.d.ts.map +1 -1
- package/sidebar/sidebar-container/sidebar-container.component.js +16 -11
- package/sidebar.js +1 -1
- package/signet/signet.component.d.ts.map +1 -1
- package/signet/signet.component.js +11 -10
- package/skiplink-list/skiplink-list.component.d.ts.map +1 -1
- package/skiplink-list/skiplink-list.component.js +36 -35
- package/slider/slider.component.d.ts.map +1 -1
- package/slider/slider.component.js +25 -24
- package/standard-theme.css +164 -476
- package/status/status.component.d.ts +2 -2
- package/status/status.component.d.ts.map +1 -1
- package/status/status.component.js +22 -24
- package/stepper/step/step.component.d.ts.map +1 -1
- package/stepper/step/step.component.js +10 -9
- package/stepper/step-label/step-label.component.d.ts.map +1 -1
- package/stepper/step-label/step-label.component.js +8 -7
- package/stepper/stepper/stepper.component.d.ts.map +1 -1
- package/stepper/stepper/stepper.component.js +11 -10
- package/table/table-wrapper/table-wrapper.component.js +5 -5
- package/tabs/tab/tab.component.js +1 -1
- package/tabs/tab-group/tab-group.component.d.ts.map +1 -1
- package/tabs/tab-group/tab-group.component.js +8 -7
- package/tabs/tab-label/tab-label.component.d.ts.map +1 -1
- package/tabs/tab-label/tab-label.component.js +13 -12
- package/tag/tag/tag.component.d.ts.map +1 -1
- package/tag/tag/tag.component.js +14 -13
- package/tag/tag-group/tag-group.component.d.ts.map +1 -1
- package/tag/tag-group/tag-group.component.js +27 -26
- package/teaser/teaser.component.d.ts.map +1 -1
- package/teaser/teaser.component.js +19 -18
- package/teaser-hero/teaser-hero.component.d.ts.map +1 -1
- package/teaser-hero/teaser-hero.component.js +12 -11
- package/teaser-product/common/teaser-product-common.d.ts.map +1 -1
- package/teaser-product/common/teaser-product-common.js +24 -25
- package/teaser-product/common.js +1 -1
- package/teaser-product/teaser-product/teaser-product.component.d.ts.map +1 -1
- package/teaser-product/teaser-product/teaser-product.component.js +12 -7
- package/teaser-product/teaser-product-static/teaser-product-static.component.d.ts.map +1 -1
- package/teaser-product/teaser-product-static/teaser-product-static.component.js +6 -5
- package/teaser-product-common-BwqWqRrK.js +5 -0
- package/teaser-product.js +1 -1
- package/time-input/time-input.component.js +5 -5
- package/timetable-form/timetable-form/timetable-form.component.js +6 -6
- package/timetable-form/timetable-form-details/timetable-form-details.component.js +4 -4
- package/timetable-form/timetable-form-field/timetable-form-field.component.js +7 -7
- package/timetable-form/timetable-form-swap-button/timetable-form-swap-button.component.d.ts +1 -0
- package/timetable-form/timetable-form-swap-button/timetable-form-swap-button.component.d.ts.map +1 -1
- package/timetable-form/timetable-form-swap-button/timetable-form-swap-button.component.js +12 -9
- package/timetable-occupancy/timetable-occupancy.component.d.ts.map +1 -1
- package/timetable-occupancy/timetable-occupancy.component.js +5 -4
- package/title/title-base.js +5 -5
- package/toast/toast.component.d.ts.map +1 -1
- package/toast/toast.component.js +10 -9
- package/toggle/toggle/toggle.component.d.ts.map +1 -1
- package/toggle/toggle/toggle.component.js +9 -8
- package/toggle/toggle-option/toggle-option.component.d.ts.map +1 -1
- package/toggle/toggle-option/toggle-option.component.js +24 -23
- package/toggle-check/toggle-check.component.d.ts +2 -3
- package/toggle-check/toggle-check.component.d.ts.map +1 -1
- package/toggle-check/toggle-check.component.js +46 -53
- package/tooltip/tooltip.component.d.ts.map +1 -1
- package/tooltip/tooltip.component.js +40 -39
- package/train/train/train.component.d.ts.map +1 -1
- package/train/train/train.component.js +22 -21
- package/train/train-blocked-passage/train-blocked-passage.component.d.ts.map +1 -1
- package/train/train-blocked-passage/train-blocked-passage.component.js +9 -8
- package/train/train-formation/train-formation.component.d.ts.map +1 -1
- package/train/train-formation/train-formation.component.js +10 -9
- package/train/train-wagon/train-wagon.component.d.ts.map +1 -1
- package/train/train-wagon/train-wagon.component.js +10 -9
- package/visual-checkbox/visual-checkbox.component.d.ts.map +1 -1
- package/visual-checkbox/visual-checkbox.component.js +14 -13
- package/checkbox-common-gjHkSAmN.js +0 -5
- package/core/decorators/slot-state.d.ts +0 -17
- package/core/decorators/slot-state.d.ts.map +0 -1
- package/core/decorators/slot-state.js +0 -8
- package/core/styles/mixins/shadows.scss +0 -191
- package/development/core/decorators/slot-state.d.ts +0 -17
- package/development/core/decorators/slot-state.d.ts.map +0 -1
- package/development/core/decorators/slot-state.js +0 -11
- package/development/popover/popover-trigger/popover-trigger.component.d.ts +0 -20
- package/development/popover/popover-trigger/popover-trigger.component.d.ts.map +0 -1
- package/development/popover/popover-trigger/popover-trigger.component.js +0 -216
- package/development/popover/popover-trigger.d.ts +0 -5
- package/development/popover/popover-trigger.d.ts.map +0 -1
- package/development/popover/popover-trigger.js +0 -5
- package/development/sbb-tokens-CVLcOi-S.js +0 -33
- package/file-selector-common-BEWjyy75.js +0 -5
- package/icon-sidebar-button-common-XcKoF2SP.js +0 -7
- package/link-common-nA3q92jp.js +0 -46
- package/link-list-base-BdOBGhxe.js +0 -5
- package/popover/popover-trigger/popover-trigger.component.d.ts +0 -20
- package/popover/popover-trigger/popover-trigger.component.d.ts.map +0 -1
- package/popover/popover-trigger/popover-trigger.component.js +0 -32
- package/popover/popover-trigger.d.ts +0 -5
- package/popover/popover-trigger.d.ts.map +0 -1
- package/popover/popover-trigger.js +0 -4
- package/radio-button-common-Bw2t3Sxz.js +0 -5
- package/sbb-tokens-B3Eka-Tz.js +0 -18
- package/teaser-product-common-Du28QCY3.js +0 -5
- package/transparent-button-DJIkG5hj.js +0 -9
|
@@ -12,21 +12,15 @@ import { ref } from "lit/directives/ref.js";
|
|
|
12
12
|
import { SbbFocusTrapController, isArrowKeyOrPageKeysPressed, interactivityChecker, getNextElementIndex } from "../../core/a11y.js";
|
|
13
13
|
import { SbbOpenCloseBaseElement } from "../../core/base-elements.js";
|
|
14
14
|
import { SbbEscapableOverlayController, SbbInertController, SbbMediaQueryBreakpointSmallAndBelow, SbbMediaMatcherController, SbbDarkModeController, SbbLanguageController } from "../../core/controllers.js";
|
|
15
|
-
import { idReference
|
|
15
|
+
import { idReference } from "../../core/decorators.js";
|
|
16
16
|
import { SbbScrollHandler, isZeroAnimationDuration } from "../../core/dom.js";
|
|
17
17
|
import { forwardEvent } from "../../core/eventing.js";
|
|
18
18
|
import { i18nGoBack } from "../../core/i18n/i18n.js";
|
|
19
|
-
import { SbbNamedSlotListMixin } from "../../core/mixins.js";
|
|
20
19
|
import { isEventOnElement, removeAriaOverlayTriggerAttributes, setAriaOverlayTriggerAttributes, getElementPosition, getElementPositionHorizontal } from "../../core/overlay.js";
|
|
20
|
+
import { boxSizingStyles } from "../../core/styles.js";
|
|
21
21
|
import "../../divider.js";
|
|
22
22
|
import "../menu-button.js";
|
|
23
|
-
const style = css
|
|
24
|
-
::before,
|
|
25
|
-
::after {
|
|
26
|
-
box-sizing: border-box;
|
|
27
|
-
}
|
|
28
|
-
|
|
29
|
-
:host {
|
|
23
|
+
const style = css`:host {
|
|
30
24
|
display: contents;
|
|
31
25
|
--sbb-menu-position-x: 0;
|
|
32
26
|
--sbb-menu-position-y: 0;
|
|
@@ -56,7 +50,7 @@ const style = css`*,
|
|
|
56
50
|
--sbb-scrollbar-color-hover: color-mix(in srgb, var(--sbb-color-white) 60%, transparent);
|
|
57
51
|
--sbb-scrollbar-track-color: transparent;
|
|
58
52
|
}
|
|
59
|
-
@media (min-width: calc(
|
|
53
|
+
@media (min-width: calc(64rem)) {
|
|
60
54
|
:host {
|
|
61
55
|
--sbb-menu-transform-y: var(--sbb-spacing-fixed-2x);
|
|
62
56
|
--sbb-menu-max-width: 20rem;
|
|
@@ -69,7 +63,7 @@ const style = css`*,
|
|
|
69
63
|
--sbb-menu-visibility: visible;
|
|
70
64
|
--sbb-menu-backdrop-color: color-mix(in srgb, var(--sbb-color-black) 20%, transparent);
|
|
71
65
|
}
|
|
72
|
-
@media (min-width: calc(
|
|
66
|
+
@media (min-width: calc(64rem)) {
|
|
73
67
|
:host(:is([data-state=opened], [data-state=opening])) {
|
|
74
68
|
--sbb-menu-backdrop-color: transparent;
|
|
75
69
|
}
|
|
@@ -89,7 +83,7 @@ const style = css`*,
|
|
|
89
83
|
--sbb-scrollbar-color-hover: color-mix(in srgb, var(--sbb-color-black) 60%, transparent);
|
|
90
84
|
}
|
|
91
85
|
|
|
92
|
-
@media (max-width: calc(
|
|
86
|
+
@media (max-width: calc(63.9375rem)) {
|
|
93
87
|
:host(:is(:state(skip-animation),[state--skip-animation])) {
|
|
94
88
|
--sbb-menu-animation-duration: 0ms;
|
|
95
89
|
}
|
|
@@ -180,7 +174,7 @@ sbb-divider,
|
|
|
180
174
|
outline: var(--sbb-border-width-1x) solid CanvasText;
|
|
181
175
|
}
|
|
182
176
|
}
|
|
183
|
-
@media (min-width: calc(
|
|
177
|
+
@media (min-width: calc(64rem)) {
|
|
184
178
|
.sbb-menu {
|
|
185
179
|
top: 0;
|
|
186
180
|
bottom: unset;
|
|
@@ -238,7 +232,7 @@ sbb-divider,
|
|
|
238
232
|
display: block;
|
|
239
233
|
height: var(--sbb-spacing-fixed-8x);
|
|
240
234
|
}
|
|
241
|
-
@media (min-width: calc(
|
|
235
|
+
@media (min-width: calc(64rem)) {
|
|
242
236
|
.sbb-menu__content {
|
|
243
237
|
max-height: fit-content;
|
|
244
238
|
}
|
|
@@ -251,13 +245,6 @@ sbb-divider,
|
|
|
251
245
|
}
|
|
252
246
|
}
|
|
253
247
|
|
|
254
|
-
.sbb-menu-list {
|
|
255
|
-
list-style: none;
|
|
256
|
-
margin: 0;
|
|
257
|
-
padding: 0;
|
|
258
|
-
font-size: inherit;
|
|
259
|
-
}
|
|
260
|
-
|
|
261
248
|
::slotted(:is([data-sbb-link], [data-sbb-button])) {
|
|
262
249
|
color-scheme: only light;
|
|
263
250
|
}
|
|
@@ -314,27 +301,21 @@ const INTERACTIVE_ELEMENTS = [
|
|
|
314
301
|
];
|
|
315
302
|
let nextId = 0;
|
|
316
303
|
let SbbMenuElement = (() => {
|
|
317
|
-
var _trigger_accessor_storage,
|
|
304
|
+
var _trigger_accessor_storage, _a;
|
|
318
305
|
let _classDecorators = [customElement("sbb-menu")];
|
|
319
306
|
let _classDescriptor;
|
|
320
307
|
let _classExtraInitializers = [];
|
|
321
308
|
let _classThis;
|
|
322
|
-
let _classSuper =
|
|
309
|
+
let _classSuper = SbbOpenCloseBaseElement;
|
|
323
310
|
let _trigger_decorators;
|
|
324
311
|
let _trigger_initializers = [];
|
|
325
312
|
let _trigger_extraInitializers = [];
|
|
326
|
-
let _listAccessibilityLabel_decorators;
|
|
327
|
-
let _listAccessibilityLabel_initializers = [];
|
|
328
|
-
let _listAccessibilityLabel_extraInitializers = [];
|
|
329
313
|
_a = class extends _classSuper {
|
|
330
314
|
constructor() {
|
|
331
315
|
super();
|
|
332
316
|
__privateAdd(this, _trigger_accessor_storage);
|
|
333
|
-
__privateAdd(this, _listAccessibilityLabel_accessor_storage);
|
|
334
|
-
this.listChildLocalNames = ["sbb-menu-button", "sbb-menu-link"];
|
|
335
317
|
__privateSet(this, _trigger_accessor_storage, __runInitializers(this, _trigger_initializers, null));
|
|
336
|
-
|
|
337
|
-
this._menu = __runInitializers(this, _listAccessibilityLabel_extraInitializers);
|
|
318
|
+
this._menu = __runInitializers(this, _trigger_extraInitializers);
|
|
338
319
|
this._triggerElement = null;
|
|
339
320
|
this._isPointerDownEventOnMenu = false;
|
|
340
321
|
this._escapableOverlayController = new SbbEscapableOverlayController(this);
|
|
@@ -377,16 +358,6 @@ let SbbMenuElement = (() => {
|
|
|
377
358
|
set trigger(value) {
|
|
378
359
|
__privateSet(this, _trigger_accessor_storage, value);
|
|
379
360
|
}
|
|
380
|
-
/**
|
|
381
|
-
* This will be forwarded as aria-label to the inner list.
|
|
382
|
-
* Used only if the menu automatically renders the actions inside as a list.
|
|
383
|
-
*/
|
|
384
|
-
get listAccessibilityLabel() {
|
|
385
|
-
return __privateGet(this, _listAccessibilityLabel_accessor_storage);
|
|
386
|
-
}
|
|
387
|
-
set listAccessibilityLabel(value) {
|
|
388
|
-
__privateSet(this, _listAccessibilityLabel_accessor_storage, value);
|
|
389
|
-
}
|
|
390
361
|
firstUpdated(changedProperties) {
|
|
391
362
|
super.firstUpdated(changedProperties);
|
|
392
363
|
this._configureTrigger();
|
|
@@ -523,12 +494,7 @@ let SbbMenuElement = (() => {
|
|
|
523
494
|
// Removes trigger click listener on trigger change.
|
|
524
495
|
createRenderRoot() {
|
|
525
496
|
const renderRoot = super.createRenderRoot();
|
|
526
|
-
this.shadowRoot?.addEventListener("slotchange", (
|
|
527
|
-
this._syncNegative();
|
|
528
|
-
this._checkListCase(e);
|
|
529
|
-
}, {
|
|
530
|
-
capture: true
|
|
531
|
-
});
|
|
497
|
+
this.shadowRoot?.addEventListener("slotchange", () => this._syncNegative(), { capture: true });
|
|
532
498
|
return renderRoot;
|
|
533
499
|
}
|
|
534
500
|
connectedCallback() {
|
|
@@ -552,16 +518,6 @@ let SbbMenuElement = (() => {
|
|
|
552
518
|
this._configureTrigger();
|
|
553
519
|
}
|
|
554
520
|
}
|
|
555
|
-
_checkListCase(event) {
|
|
556
|
-
if (this.children?.length && Array.from(this.children ?? []).every((c) => c.localName === "sbb-menu-button" || c.localName === "sbb-menu-link")) {
|
|
557
|
-
return;
|
|
558
|
-
}
|
|
559
|
-
event.stopImmediatePropagation();
|
|
560
|
-
if (this.listChildren.length) {
|
|
561
|
-
this.listChildren.forEach((c) => c.removeAttribute("slot"));
|
|
562
|
-
this.listChildren = [];
|
|
563
|
-
}
|
|
564
|
-
}
|
|
565
521
|
// Check if the trigger is valid and attach click event listeners.
|
|
566
522
|
_configureTrigger() {
|
|
567
523
|
if (this.trigger === this._triggerElement) {
|
|
@@ -656,7 +612,7 @@ let SbbMenuElement = (() => {
|
|
|
656
612
|
this._handleClosing();
|
|
657
613
|
}
|
|
658
614
|
}
|
|
659
|
-
// Set menu position and max height if the breakpoint is
|
|
615
|
+
// Set menu position and max height if the breakpoint is large-ultra.
|
|
660
616
|
_setMenuPosition() {
|
|
661
617
|
if (this._isMobile() || !this._menu || !this._triggerElement || this.state === "closing") {
|
|
662
618
|
return;
|
|
@@ -695,7 +651,7 @@ let SbbMenuElement = (() => {
|
|
|
695
651
|
@scroll=${(e) => forwardEvent(e, document)}
|
|
696
652
|
class="sbb-menu__content"
|
|
697
653
|
>
|
|
698
|
-
|
|
654
|
+
<slot></slot>
|
|
699
655
|
<sbb-divider></sbb-divider>
|
|
700
656
|
<sbb-menu-button
|
|
701
657
|
id="sbb-menu__back-button"
|
|
@@ -709,23 +665,19 @@ let SbbMenuElement = (() => {
|
|
|
709
665
|
</div>
|
|
710
666
|
`;
|
|
711
667
|
}
|
|
712
|
-
}, _trigger_accessor_storage = new WeakMap(),
|
|
668
|
+
}, _trigger_accessor_storage = new WeakMap(), _classThis = _a, (() => {
|
|
713
669
|
const _metadata = typeof Symbol === "function" && Symbol.metadata ? Object.create(_classSuper[Symbol.metadata] ?? null) : void 0;
|
|
714
670
|
_trigger_decorators = [idReference(), property()];
|
|
715
|
-
_listAccessibilityLabel_decorators = [forceType(), property({ attribute: "list-accessibility-label" })];
|
|
716
671
|
__esDecorate(_a, null, _trigger_decorators, { kind: "accessor", name: "trigger", static: false, private: false, access: { has: (obj) => "trigger" in obj, get: (obj) => obj.trigger, set: (obj, value) => {
|
|
717
672
|
obj.trigger = value;
|
|
718
673
|
} }, metadata: _metadata }, _trigger_initializers, _trigger_extraInitializers);
|
|
719
|
-
__esDecorate(_a, null, _listAccessibilityLabel_decorators, { kind: "accessor", name: "listAccessibilityLabel", static: false, private: false, access: { has: (obj) => "listAccessibilityLabel" in obj, get: (obj) => obj.listAccessibilityLabel, set: (obj, value) => {
|
|
720
|
-
obj.listAccessibilityLabel = value;
|
|
721
|
-
} }, metadata: _metadata }, _listAccessibilityLabel_initializers, _listAccessibilityLabel_extraInitializers);
|
|
722
674
|
__esDecorate(null, _classDescriptor = { value: _classThis }, _classDecorators, { kind: "class", name: _classThis.name, metadata: _metadata }, null, _classExtraInitializers);
|
|
723
675
|
_classThis = _classDescriptor.value;
|
|
724
676
|
if (_metadata) Object.defineProperty(_classThis, Symbol.metadata, { enumerable: true, configurable: true, writable: true, value: _metadata });
|
|
725
|
-
})(), _a.styles = style, _a.role = "menu", __runInitializers(_classThis, _classExtraInitializers), _a;
|
|
677
|
+
})(), _a.styles = [boxSizingStyles, style], _a.role = "menu", __runInitializers(_classThis, _classExtraInitializers), _a;
|
|
726
678
|
return _classThis;
|
|
727
679
|
})();
|
|
728
680
|
export {
|
|
729
681
|
SbbMenuElement
|
|
730
682
|
};
|
|
731
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWVudS5jb21wb25lbnQuanMiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9lbGVtZW50cy9tZW51L21lbnUvbWVudS5jb21wb25lbnQudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgdHlwZSBDU1NSZXN1bHRHcm91cCxcbiAgaHRtbCxcbiAgaXNTZXJ2ZXIsXG4gIHR5cGUgUHJvcGVydHlEZWNsYXJhdGlvbixcbiAgdHlwZSBQcm9wZXJ0eVZhbHVlcyxcbiAgdHlwZSBUZW1wbGF0ZVJlc3VsdCxcbn0gZnJvbSAnbGl0JztcbmltcG9ydCB7IGN1c3RvbUVsZW1lbnQsIHByb3BlcnR5IH0gZnJvbSAnbGl0L2RlY29yYXRvcnMuanMnO1xuaW1wb3J0IHsgcmVmIH0gZnJvbSAnbGl0L2RpcmVjdGl2ZXMvcmVmLmpzJztcblxuaW1wb3J0IHtcbiAgZ2V0TmV4dEVsZW1lbnRJbmRleCxcbiAgaW50ZXJhY3Rpdml0eUNoZWNrZXIsXG4gIGlzQXJyb3dLZXlPclBhZ2VLZXlzUHJlc3NlZCxcbiAgU2JiRm9jdXNUcmFwQ29udHJvbGxlcixcbn0gZnJvbSAnLi4vLi4vY29yZS9hMTF5LmpzJztcbmltcG9ydCB7IFNiYk9wZW5DbG9zZUJhc2VFbGVtZW50IH0gZnJvbSAnLi4vLi4vY29yZS9iYXNlLWVsZW1lbnRzLmpzJztcbmltcG9ydCB7XG4gIFNiYkRhcmtNb2RlQ29udHJvbGxlcixcbiAgU2JiRXNjYXBhYmxlT3ZlcmxheUNvbnRyb2xsZXIsXG4gIFNiYkluZXJ0Q29udHJvbGxlcixcbiAgU2JiTGFuZ3VhZ2VDb250cm9sbGVyLFxuICBTYmJNZWRpYU1hdGNoZXJDb250cm9sbGVyLFxuICBTYmJNZWRpYVF1ZXJ5QnJlYWtwb2ludFNtYWxsQW5kQmVsb3csXG59IGZyb20gJy4uLy4uL2NvcmUvY29udHJvbGxlcnMuanMnO1xuaW1wb3J0IHsgZm9yY2VUeXBlLCBpZFJlZmVyZW5jZSB9IGZyb20gJy4uLy4uL2NvcmUvZGVjb3JhdG9ycy5qcyc7XG5pbXBvcnQgeyBpc1plcm9BbmltYXRpb25EdXJhdGlvbiwgU2JiU2Nyb2xsSGFuZGxlciB9IGZyb20gJy4uLy4uL2NvcmUvZG9tLmpzJztcbmltcG9ydCB7IGZvcndhcmRFdmVudCB9IGZyb20gJy4uLy4uL2NvcmUvZXZlbnRpbmcuanMnO1xuaW1wb3J0IHsgaTE4bkdvQmFjayB9IGZyb20gJy4uLy4uL2NvcmUvaTE4bi9pMThuLmpzJztcbmltcG9ydCB7IFNiYk5hbWVkU2xvdExpc3RNaXhpbiwgdHlwZSBTYmJOZWdhdGl2ZU1peGluVHlwZSB9IGZyb20gJy4uLy4uL2NvcmUvbWl4aW5zLmpzJztcbmltcG9ydCB7XG4gIGdldEVsZW1lbnRQb3NpdGlvbixcbiAgZ2V0RWxlbWVudFBvc2l0aW9uSG9yaXpvbnRhbCxcbiAgaXNFdmVudE9uRWxlbWVudCxcbiAgcmVtb3ZlQXJpYU92ZXJsYXlUcmlnZ2VyQXR0cmlidXRlcyxcbiAgc2V0QXJpYU92ZXJsYXlUcmlnZ2VyQXR0cmlidXRlcyxcbn0gZnJvbSAnLi4vLi4vY29yZS9vdmVybGF5LmpzJztcbmltcG9ydCB0eXBlIHsgU2JiTWVudUJ1dHRvbkVsZW1lbnQgfSBmcm9tICcuLi9tZW51LWJ1dHRvbi5qcyc7XG5pbXBvcnQgdHlwZSB7IFNiYk1lbnVMaW5rRWxlbWVudCB9IGZyb20gJy4uL21lbnUtbGluay9tZW51LWxpbmsuY29tcG9uZW50LmpzJztcblxuaW1wb3J0IHN0eWxlIGZyb20gJy4vbWVudS5zY3NzP2xpdCZpbmxpbmUnO1xuXG5pbXBvcnQgJy4uLy4uL2RpdmlkZXIuanMnO1xuaW1wb3J0ICcuLi9tZW51LWJ1dHRvbi5qcyc7XG5cbmNvbnN0IE1FTlVfT0ZGU0VUID0gODtcbmNvbnN0IE5FU1RFRF9NRU5VX09GRlNFVCA9IC00O1xuY29uc3QgSU5URVJBQ1RJVkVfRUxFTUVOVFMgPSBbXG4gICdBJyxcbiAgJ0JVVFRPTicsXG4gICdTQkItQlVUVE9OJyxcbiAgJ1NCQi1CVVRUT04tTElOSycsXG4gICdTQkItTElOSycsXG4gICdTQkItQkxPQ0stTElOSycsXG4gICdTQkItTElOSy1CVVRUT04nLFxuICAnU0JCLUJMT0NLLUxJTkstQlVUVE9OJyxcbiAgJ1NCQi1NRU5VLUJVVFRPTicsXG4gICdTQkItTUVOVS1MSU5LJyxcbl07XG5cbmxldCBuZXh0SWQgPSAwO1xuXG4vKipcbiAqIEl0IGRpc3BsYXlzIGEgY29udGV4dHVhbCBtZW51IHdpdGggb25lIG9yIG1vcmUgYWN0aW9uIGVsZW1lbnQuXG4gKlxuICogQHNsb3QgLSBVc2UgdGhlIHVubmFtZWQgc2xvdCB0byBhZGQgYHNiYi1tZW51LWJ1dHRvbmAvYHNiYi1tZW51LWxpbmtgIG9yIG90aGVyIGVsZW1lbnRzIHRvIHRoZSBtZW51LlxuICogQGNzc3Byb3AgWy0tc2JiLW1lbnUtei1pbmRleD12YXIoLS1zYmItb3ZlcmxheS1kZWZhdWx0LXotaW5kZXgpXSAtIFRvIHNwZWNpZnkgYSBjdXN0b20gc3RhY2sgb3JkZXIsXG4gKiB0aGUgYHotaW5kZXhgIGNhbiBiZSBvdmVycmlkZGVuIGJ5IGRlZmluaW5nIHRoaXMgQ1NTIHZhcmlhYmxlLiBUaGUgZGVmYXVsdCBgei1pbmRleGAgb2YgdGhlXG4gKiBjb21wb25lbnQgaXMgc2V0IHRvIGB2YXIoLS1zYmItb3ZlcmxheS1kZWZhdWx0LXotaW5kZXgpYCB3aXRoIGEgdmFsdWUgb2YgYDEwMDBgLlxuICovXG5leHBvcnRcbkBjdXN0b21FbGVtZW50KCdzYmItbWVudScpXG5jbGFzcyBTYmJNZW51RWxlbWVudCBleHRlbmRzIFNiYk5hbWVkU2xvdExpc3RNaXhpbjxcbiAgU2JiTWVudUJ1dHRvbkVsZW1lbnQgfCBTYmJNZW51TGlua0VsZW1lbnQsXG4gIHR5cGVvZiBTYmJPcGVuQ2xvc2VCYXNlRWxlbWVudFxuPihTYmJPcGVuQ2xvc2VCYXNlRWxlbWVudCkge1xuICBwdWJsaWMgc3RhdGljIG92ZXJyaWRlIHN0eWxlczogQ1NTUmVzdWx0R3JvdXAgPSBzdHlsZTtcbiAgcHVibGljIHN0YXRpYyBvdmVycmlkZSByZWFkb25seSByb2xlID0gJ21lbnUnO1xuICBwcm90ZWN0ZWQgb3ZlcnJpZGUgcmVhZG9ubHkgbGlzdENoaWxkTG9jYWxOYW1lcyA9IFsnc2JiLW1lbnUtYnV0dG9uJywgJ3NiYi1tZW51LWxpbmsnXTtcblxuICAvKipcbiAgICogVGhlIGVsZW1lbnQgdGhhdCB3aWxsIHRyaWdnZXIgdGhlIG1lbnUgb3ZlcmxheS5cbiAgICpcbiAgICogRm9yIGF0dHJpYnV0ZSB1c2FnZSwgcHJvdmlkZSBhbiBpZCByZWZlcmVuY2UuXG4gICAqL1xuICBAaWRSZWZlcmVuY2UoKVxuICBAcHJvcGVydHkoKVxuICBwdWJsaWMgYWNjZXNzb3IgdHJpZ2dlcjogSFRNTEVsZW1lbnQgfCBudWxsID0gbnVsbDtcblxuICAvKipcbiAgICogVGhpcyB3aWxsIGJlIGZvcndhcmRlZCBhcyBhcmlhLWxhYmVsIHRvIHRoZSBpbm5lciBsaXN0LlxuICAgKiBVc2VkIG9ubHkgaWYgdGhlIG1lbnUgYXV0b21hdGljYWxseSByZW5kZXJzIHRoZSBhY3Rpb25zIGluc2lkZSBhcyBhIGxpc3QuXG4gICAqL1xuICBAZm9yY2VUeXBlKClcbiAgQHByb3BlcnR5KHsgYXR0cmlidXRlOiAnbGlzdC1hY2Nlc3NpYmlsaXR5LWxhYmVsJyB9KVxuICBwdWJsaWMgYWNjZXNzb3IgbGlzdEFjY2Vzc2liaWxpdHlMYWJlbDogc3RyaW5nID0gJyc7XG5cbiAgcHJpdmF0ZSBfbWVudSE6IEhUTUxEaXZFbGVtZW50O1xuICBwcml2YXRlIF90cmlnZ2VyRWxlbWVudDogSFRNTEVsZW1lbnQgfCBudWxsID0gbnVsbDtcbiAgcHJpdmF0ZSBfdHJpZ2dlckFib3J0Q29udHJvbGxlciE6IEFib3J0Q29udHJvbGxlcjtcbiAgcHJpdmF0ZSBfaXNQb2ludGVyRG93bkV2ZW50T25NZW51OiBib29sZWFuID0gZmFsc2U7XG4gIHByaXZhdGUgX3dpbmRvd0V2ZW50c0NvbnRyb2xsZXIhOiBBYm9ydENvbnRyb2xsZXI7XG4gIHByaXZhdGUgX2VzY2FwYWJsZU92ZXJsYXlDb250cm9sbGVyID0gbmV3IFNiYkVzY2FwYWJsZU92ZXJsYXlDb250cm9sbGVyKHRoaXMpO1xuICBwcml2YXRlIF9mb2N1c1RyYXBDb250cm9sbGVyID0gbmV3IFNiYkZvY3VzVHJhcENvbnRyb2xsZXIodGhpcyk7XG4gIHByaXZhdGUgX3Njcm9sbEhhbmRsZXIgPSBuZXcgU2JiU2Nyb2xsSGFuZGxlcigpO1xuICBwcml2YXRlIF9pbmVydENvbnRyb2xsZXIgPSBuZXcgU2JiSW5lcnRDb250cm9sbGVyKHRoaXMpO1xuICBwcml2YXRlIF9tb2JpbGVCcmVha3BvaW50ID0gU2JiTWVkaWFRdWVyeUJyZWFrcG9pbnRTbWFsbEFuZEJlbG93O1xuICBwcml2YXRlIF9tZWRpYU1hdGNoZXIgPSBuZXcgU2JiTWVkaWFNYXRjaGVyQ29udHJvbGxlcih0aGlzLCB7XG4gICAgW3RoaXMuX21vYmlsZUJyZWFrcG9pbnRdOiAobWF0Y2hlcykgPT4ge1xuICAgICAgaWYgKG1hdGNoZXMgJiYgKHRoaXMuc3RhdGUgPT09ICdvcGVuaW5nJyB8fCB0aGlzLnN0YXRlID09PSAnb3BlbmVkJykpIHtcbiAgICAgICAgdGhpcy5fc2Nyb2xsSGFuZGxlci5kaXNhYmxlU2Nyb2xsKCk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICB0aGlzLl9zY3JvbGxIYW5kbGVyLmVuYWJsZVNjcm9sbCgpO1xuICAgICAgfVxuICAgIH0sXG4gIH0pO1xuICBwcml2YXRlIF9kYXJrTW9kZUNvbnRyb2xsZXIgPSBuZXcgU2JiRGFya01vZGVDb250cm9sbGVyKHRoaXMsICgpID0+IHRoaXMuX3N5bmNOZWdhdGl2ZSgpKTtcbiAgcHJpdmF0ZSBfbGFuZ3VhZ2UgPSBuZXcgU2JiTGFuZ3VhZ2VDb250cm9sbGVyKHRoaXMpO1xuICBwcml2YXRlIF9uZXN0ZWRNZW51OiBTYmJNZW51RWxlbWVudCB8IG51bGwgPSBudWxsO1xuXG4gIHB1YmxpYyBjb25zdHJ1Y3RvcigpIHtcbiAgICBzdXBlcigpO1xuICAgIHRoaXMuYWRkRXZlbnRMaXN0ZW5lcj8uKCdrZXlkb3duJywgKGUpID0+IHRoaXMuX2hhbmRsZUtleURvd24oZSkpO1xuICB9XG5cbiAgcHJvdGVjdGVkIG92ZXJyaWRlIGZpcnN0VXBkYXRlZChjaGFuZ2VkUHJvcGVydGllczogUHJvcGVydHlWYWx1ZXM8dGhpcz4pOiB2b2lkIHtcbiAgICBzdXBlci5maXJzdFVwZGF0ZWQoY2hhbmdlZFByb3BlcnRpZXMpO1xuXG4gICAgdGhpcy5fY29uZmlndXJlVHJpZ2dlcigpO1xuICB9XG5cbiAgcHVibGljIG92ZXJyaWRlIGVzY2FwZVN0cmF0ZWd5KCk6IHZvaWQge1xuICAgIHRoaXMuY2xvc2VBbGwoKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBPcGVucyB0aGUgbWVudSBvbiB0cmlnZ2VyIGNsaWNrLlxuICAgKi9cbiAgcHVibGljIG9wZW4oKTogdm9pZCB7XG4gICAgaWYgKFxuICAgICAgdGhpcy5zdGF0ZSA9PT0gJ2Nsb3NpbmcnIHx8XG4gICAgICB0aGlzLnN0YXRlID09PSAnb3BlbmVkJyB8fFxuICAgICAgIXRoaXMuX21lbnUgfHxcbiAgICAgICF0aGlzLmRpc3BhdGNoQmVmb3JlT3BlbkV2ZW50KClcbiAgICApIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBpZiAodGhpcy5faXNOZXN0ZWQoKSkge1xuICAgICAgY29uc3QgcGFyZW50TWVudSA9IHRoaXMuX3BhcmVudE1lbnUoKSE7XG4gICAgICBwYXJlbnRNZW51LnRvZ2dsZVN0YXRlKCduZXN0ZWQtY2hpbGQnLCB0cnVlKTtcblxuICAgICAgLy8gSW4gY2FzZSB3ZSBjaGFuZ2UgYmV0d2VlbiBhcnJvdyBrZXkgbmF2aWdhdGlvbiBhbmQgbW91c2UgbmF2aWdhdGlvbiwgaXQgY2FuIGJlIHRoYXQgYW5vdGhlclxuICAgICAgLy8gbmVzdGVkIHBhcmVudCBtZW51IGlzIHN0aWxsIG9wZW4uIFdlIGhhdmUgdG8gY2xvc2UgaXQuXG4gICAgICBpZiAocGFyZW50TWVudS5fbmVzdGVkTWVudSAhPT0gdGhpcykge1xuICAgICAgICBwYXJlbnRNZW51Ll9uZXN0ZWRNZW51Py5jbG9zZSgpO1xuICAgICAgfVxuICAgICAgcGFyZW50TWVudS5fbmVzdGVkTWVudSA9IHRoaXM7XG4gICAgfVxuXG4gICAgdGhpcy5zaG93UG9wb3Zlcj8uKCk7XG4gICAgdGhpcy5zdGF0ZSA9ICdvcGVuaW5nJztcbiAgICB0aGlzLl9zZXRNZW51UG9zaXRpb24oKTtcbiAgICB0aGlzLl90cmlnZ2VyRWxlbWVudD8uc2V0QXR0cmlidXRlKCdhcmlhLWV4cGFuZGVkJywgJ3RydWUnKTtcblxuICAgIC8vIEZyb20gemVybyB0byBtZWRpdW0sIGRpc2FibGUgc2Nyb2xsXG4gICAgaWYgKHRoaXMuX2lzTW9iaWxlKCkpIHtcbiAgICAgIHRoaXMuX3Njcm9sbEhhbmRsZXIuZGlzYWJsZVNjcm9sbCgpO1xuICAgIH1cblxuICAgIC8vIElmIHRoZSBhbmltYXRpb24gZHVyYXRpb24gaXMgemVybywgdGhlIGFuaW1hdGlvbmVuZCBldmVudCBpcyBub3QgYWx3YXlzIGZpcmVkIHJlbGlhYmx5LlxuICAgIC8vIEluIHRoaXMgY2FzZSB3ZSBkaXJlY3RseSBzZXQgdGhlIGBvcGVuZWRgIHN0YXRlLlxuICAgIGlmICh0aGlzLl9pc1plcm9BbmltYXRpb25EdXJhdGlvbigpKSB7XG4gICAgICB0aGlzLl9oYW5kbGVPcGVuaW5nKCk7XG4gICAgfVxuICB9XG5cbiAgLyoqIENsb3NlcyB0aGUgbWVudSBhbmQgYWxsIGl0cyBuZXN0ZWQgbWVudXMuICovXG4gIHB1YmxpYyBjbG9zZSgpOiB2b2lkIHtcbiAgICB0aGlzLl9jbG9zZSgpO1xuICB9XG5cbiAgLyoqIENsb3NlcyB0aGUgbWVudSBhbmQgYWxsIHJlbGF0ZWQgbWVudXMgIG5lc3RlZCBhbmQgcGFyZW50IG1lbnVzKS4gKi9cbiAgcHVibGljIGNsb3NlQWxsKCk6IHZvaWQge1xuICAgIHRoaXMuX21haW5NZW51KCkuX2Nsb3NlKHRydWUpO1xuICB9XG5cbiAgLyoqIEBwYXJhbSBbY2xvc2VBbGw9J2ZhbHNlJ10gLSBJZiB0cnVlLCBpdCBlbnN1cmVzIGFuaW1hdGlvbnMgYXJlIGNvcnJlY3QgYnkgdG9nZ2xpbmcgc29tZSBzdGF0ZXMgd2hlbiBjbG9zaW5nIGFsbCByZWxhdGVkIG1lbnVzIGF0IG9uY2UuICovXG4gIHByaXZhdGUgX2Nsb3NlKGNsb3NlQWxsID0gZmFsc2UpOiB2b2lkIHtcbiAgICBpZiAoKHRoaXMuc3RhdGUgPT09ICdvcGVuaW5nJyAmJiAhdGhpcy5faXNOZXN0ZWQoKSkgfHwgIXRoaXMuZGlzcGF0Y2hCZWZvcmVDbG9zZUV2ZW50KCkpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICAvLyBDbG9zZSBuZXN0ZWQgbWVudXMgZmlyc3RcbiAgICB0aGlzLl9uZXN0ZWRNZW51Py5fY2xvc2UoY2xvc2VBbGwpO1xuXG4gICAgaWYgKHRoaXMuX2lzTmVzdGVkKCkpIHtcbiAgICAgIGNvbnN0IHBhcmVudE1lbnUgPSB0aGlzLl9wYXJlbnRNZW51KCkhO1xuICAgICAgdGhpcy50b2dnbGVTdGF0ZSgnY2xvc2UtYWxsJywgY2xvc2VBbGwpO1xuICAgICAgcGFyZW50TWVudS50b2dnbGVTdGF0ZSgnc2tpcC1hbmltYXRpb24nLCBjbG9zZUFsbCk7XG4gICAgICBwYXJlbnRNZW51LnRvZ2dsZVN0YXRlKCduZXN0ZWQtY2hpbGQnLCBmYWxzZSk7XG4gICAgICBwYXJlbnRNZW51Ll9uZXN0ZWRNZW51ID0gbnVsbDtcbiAgICB9XG5cbiAgICB0aGlzLnN0YXRlID0gJ2Nsb3NpbmcnO1xuICAgIHRoaXMuX3RyaWdnZXJFbGVtZW50Py5zZXRBdHRyaWJ1dGUoJ2FyaWEtZXhwYW5kZWQnLCAnZmFsc2UnKTtcblxuICAgIC8vIElmIHRoZSBhbmltYXRpb24gZHVyYXRpb24gaXMgemVybywgdGhlIGFuaW1hdGlvbmVuZCBldmVudCBpcyBub3QgYWx3YXlzIGZpcmVkIHJlbGlhYmx5LlxuICAgIC8vIEluIHRoaXMgY2FzZSB3ZSBkaXJlY3RseSBzZXQgdGhlIGBjbG9zZWRgIHN0YXRlLlxuICAgIGlmICh0aGlzLl9pc1plcm9BbmltYXRpb25EdXJhdGlvbigpKSB7XG4gICAgICB0aGlzLl9oYW5kbGVDbG9zaW5nKCk7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBfaXNaZXJvQW5pbWF0aW9uRHVyYXRpb24oKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIGlzWmVyb0FuaW1hdGlvbkR1cmF0aW9uKHRoaXMsICctLXNiYi1tZW51LWFuaW1hdGlvbi1kdXJhdGlvbicpO1xuICB9XG5cbiAgcHJpdmF0ZSBfaGFuZGxlT3BlbmluZygpOiB2b2lkIHtcbiAgICB0aGlzLnN0YXRlID0gJ29wZW5lZCc7XG5cbiAgICBpZiAoIXRoaXMuX2lzTmVzdGVkKCkpIHtcbiAgICAgIHRoaXMuX2luZXJ0Q29udHJvbGxlci5hY3RpdmF0ZSgpO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLl91cGRhdGVOZXN0ZWRJbmVydCgpO1xuICAgIH1cbiAgICB0aGlzLl9lc2NhcGFibGVPdmVybGF5Q29udHJvbGxlci5jb25uZWN0KCk7XG4gICAgdGhpcy5fZm9jdXNUcmFwQ29udHJvbGxlci5mb2N1c0luaXRpYWxFbGVtZW50KCk7XG4gICAgdGhpcy5fZm9jdXNUcmFwQ29udHJvbGxlci5lbmFibGVkID0gdHJ1ZTtcbiAgICB0aGlzLl9hdHRhY2hXaW5kb3dFdmVudHMoKTtcbiAgICB0aGlzLmRpc3BhdGNoT3BlbkV2ZW50KCk7XG4gIH1cblxuICBwcml2YXRlIF9oYW5kbGVDbG9zaW5nKCk6IHZvaWQge1xuICAgIHRoaXMuc3RhdGUgPSAnY2xvc2VkJztcbiAgICB0aGlzLnRvZ2dsZVN0YXRlKCdza2lwLWFuaW1hdGlvbicsIGZhbHNlKTtcbiAgICB0aGlzLnRvZ2dsZVN0YXRlKCdjbG9zZS1hbGwnLCBmYWxzZSk7XG4gICAgdGhpcy5oaWRlUG9wb3Zlcj8uKCk7XG5cbiAgICB0aGlzLl9tZW51Py5maXJzdEVsZW1lbnRDaGlsZD8uc2Nyb2xsVG8oMCwgMCk7XG4gICAgaWYgKCF0aGlzLl9pc05lc3RlZCgpKSB7XG4gICAgICB0aGlzLl9pbmVydENvbnRyb2xsZXIuZGVhY3RpdmF0ZSgpO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLl91cGRhdGVOZXN0ZWRJbmVydCgpO1xuICAgIH1cbiAgICAvLyBNYW51YWxseSBmb2N1cyBsYXN0IGZvY3VzZWQgZWxlbWVudFxuICAgIHRoaXMuX3RyaWdnZXJFbGVtZW50Py5mb2N1cyh7XG4gICAgICAvLyBXaGVuIGluc2lkZSB0aGUgc2JiLWhlYWRlciwgd2UgcHJldmVudCB0aGUgc2Nyb2xsIHRvIGF2b2lkIHRoZSBzbmFwcGluZyB0byB0aGUgdG9wIG9mIHRoZSBwYWdlXG4gICAgICBwcmV2ZW50U2Nyb2xsOiBbJ3NiYi1oZWFkZXItYnV0dG9uJywgJ3NiYi1oZWFkZXItbGluayddLmluY2x1ZGVzKFxuICAgICAgICB0aGlzLl90cmlnZ2VyRWxlbWVudC5sb2NhbE5hbWUsXG4gICAgICApLFxuICAgIH0pO1xuICAgIHRoaXMuX2VzY2FwYWJsZU92ZXJsYXlDb250cm9sbGVyLmRpc2Nvbm5lY3QoKTtcbiAgICB0aGlzLmRpc3BhdGNoQ2xvc2VFdmVudCgpO1xuICAgIHRoaXMuX3dpbmRvd0V2ZW50c0NvbnRyb2xsZXI/LmFib3J0KCk7XG4gICAgdGhpcy5fZm9jdXNUcmFwQ29udHJvbGxlci5lbmFibGVkID0gZmFsc2U7XG5cbiAgICAvLyBTdGFydGluZyBmcm9tIGJyZWFrcG9pbnQgbWVkaXVtLCBlbmFibGUgc2Nyb2xsXG4gICAgdGhpcy5fc2Nyb2xsSGFuZGxlci5lbmFibGVTY3JvbGwoKTtcbiAgfVxuXG4gIHByaXZhdGUgX2hhbmRsZUtleURvd24oZXZ0OiBLZXlib2FyZEV2ZW50KTogdm9pZCB7XG4gICAgaWYgKCFpc0Fycm93S2V5T3JQYWdlS2V5c1ByZXNzZWQoZXZ0KSkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICBldnQucHJldmVudERlZmF1bHQoKTtcblxuICAgIGNvbnN0IGVuYWJsZWRBY3Rpb25zOiBFbGVtZW50W10gPSBBcnJheS5mcm9tKFxuICAgICAgdGhpcy5xdWVyeVNlbGVjdG9yQWxsPFNiYk1lbnVCdXR0b25FbGVtZW50IHwgU2JiTWVudUxpbmtFbGVtZW50PihcbiAgICAgICAgJ3NiYi1tZW51LWJ1dHRvbiwgc2JiLW1lbnUtbGluaycsXG4gICAgICApLFxuICAgIClcbiAgICAgIC5jb25jYXQodGhpcy5zaGFkb3dSb290IS5xdWVyeVNlbGVjdG9yKCdzYmItbWVudS1idXR0b24nKSEpXG4gICAgICAuZmlsdGVyKFxuICAgICAgICAoZWwpID0+ICghZWwuZGlzYWJsZWQgfHwgZWwuZGlzYWJsZWRJbnRlcmFjdGl2ZSkgJiYgaW50ZXJhY3Rpdml0eUNoZWNrZXIuaXNWaXNpYmxlKGVsKSxcbiAgICAgICk7XG4gICAgY29uc3QgY3VycmVudCA9IGVuYWJsZWRBY3Rpb25zLmZpbmRJbmRleCgoZTogRWxlbWVudCkgPT4gZSA9PT0gZXZ0LnRhcmdldCk7XG5cbiAgICBsZXQgbmV4dEluZGV4O1xuICAgIHN3aXRjaCAoZXZ0LmtleSkge1xuICAgICAgY2FzZSAnQXJyb3dVcCc6XG4gICAgICBjYXNlICdBcnJvd0Rvd24nOlxuICAgICAgICBuZXh0SW5kZXggPSBnZXROZXh0RWxlbWVudEluZGV4KGV2dCwgY3VycmVudCwgZW5hYmxlZEFjdGlvbnMubGVuZ3RoKTtcbiAgICAgICAgYnJlYWs7XG5cbiAgICAgIGNhc2UgJ0Fycm93TGVmdCc6XG4gICAgICAgIGlmICh0aGlzLl9pc05lc3RlZCgpKSB7XG4gICAgICAgICAgdGhpcy5jbG9zZSgpO1xuICAgICAgICB9XG4gICAgICAgIGJyZWFrO1xuXG4gICAgICBjYXNlICdBcnJvd1JpZ2h0JzpcbiAgICAgICAgaWYgKChldnQudGFyZ2V0IGFzIEhUTUxFbGVtZW50KS5oYXNBdHRyaWJ1dGUoJ2RhdGEtc2JiLW1lbnUtdHJpZ2dlcicpKSB7XG4gICAgICAgICAgKGV2dC50YXJnZXQgYXMgSFRNTEVsZW1lbnQpLmNsaWNrKCk7XG4gICAgICAgIH1cbiAgICAgICAgYnJlYWs7XG5cbiAgICAgIGNhc2UgJ1BhZ2VVcCc6XG4gICAgICBjYXNlICdIb21lJzpcbiAgICAgICAgbmV4dEluZGV4ID0gMDtcbiAgICAgICAgYnJlYWs7XG5cbiAgICAgIGNhc2UgJ0VuZCc6XG4gICAgICBjYXNlICdQYWdlRG93bic6XG4gICAgICAgIG5leHRJbmRleCA9IGVuYWJsZWRBY3Rpb25zLmxlbmd0aCAtIDE7XG4gICAgICAgIGJyZWFrO1xuICAgIH1cblxuICAgIGlmIChuZXh0SW5kZXggIT09IHVuZGVmaW5lZCkge1xuICAgICAgKGVuYWJsZWRBY3Rpb25zW25leHRJbmRleF0gYXMgSFRNTEVsZW1lbnQpLmZvY3VzKCk7XG4gICAgfVxuICB9XG5cbiAgLy8gUmVtb3ZlcyB0cmlnZ2VyIGNsaWNrIGxpc3RlbmVyIG9uIHRyaWdnZXIgY2hhbmdlLlxuICBwcm90ZWN0ZWQgb3ZlcnJpZGUgY3JlYXRlUmVuZGVyUm9vdCgpOiBIVE1MRWxlbWVudCB8IERvY3VtZW50RnJhZ21lbnQge1xuICAgIGNvbnN0IHJlbmRlclJvb3QgPSBzdXBlci5jcmVhdGVSZW5kZXJSb290KCk7XG4gICAgLy8gRHVlIHRvIHRoZSBmYWN0IHRoYXQgbWVudSBjYW4gYm90aCBiZSBhIGxpc3QgYW5kIGp1c3QgYSBjb250YWluZXIsIHdlIG5lZWQgdG8gY2hlY2sgaXRzXG4gICAgLy8gc3RhdGUgYmVmb3JlIHRoZSBTYmJOYW1lZFNsb3RMaXN0TWl4aW4gaGFuZGxlcyB0aGUgc2xvdGNoYW5nZSBldmVudCwgaW4gb3JkZXIgdG8gYXZvaWRcbiAgICAvLyBpdCBpbnRlcnByZXRpbmcgdGhlIG5vbiBsaXN0IGNhc2UgYXMgYSBsaXN0LlxuICAgIHRoaXMuc2hhZG93Um9vdD8uYWRkRXZlbnRMaXN0ZW5lcihcbiAgICAgICdzbG90Y2hhbmdlJyxcbiAgICAgIChlKSA9PiB7XG4gICAgICAgIHRoaXMuX3N5bmNOZWdhdGl2ZSgpO1xuICAgICAgICB0aGlzLl9jaGVja0xpc3RDYXNlKGUpO1xuICAgICAgfSxcbiAgICAgIHtcbiAgICAgICAgY2FwdHVyZTogdHJ1ZSxcbiAgICAgIH0sXG4gICAgKTtcbiAgICByZXR1cm4gcmVuZGVyUm9vdDtcbiAgfVxuXG4gIHB1YmxpYyBvdmVycmlkZSBjb25uZWN0ZWRDYWxsYmFjaygpOiB2b2lkIHtcbiAgICB0aGlzLnBvcG92ZXIgPSAnbWFudWFsJztcbiAgICBzdXBlci5jb25uZWN0ZWRDYWxsYmFjaygpO1xuICAgIHRoaXMuaWQgfHw9IGBzYmItbWVudS0ke25leHRJZCsrfWA7XG4gICAgaWYgKHRoaXMuaGFzVXBkYXRlZCkge1xuICAgICAgdGhpcy5fY29uZmlndXJlVHJpZ2dlcigpO1xuICAgIH1cbiAgfVxuXG4gIHB1YmxpYyBvdmVycmlkZSBkaXNjb25uZWN0ZWRDYWxsYmFjaygpOiB2b2lkIHtcbiAgICBzdXBlci5kaXNjb25uZWN0ZWRDYWxsYmFjaygpO1xuICAgIHRoaXMuX3RyaWdnZXJFbGVtZW50ID0gbnVsbDtcbiAgICB0aGlzLl90cmlnZ2VyQWJvcnRDb250cm9sbGVyPy5hYm9ydCgpO1xuICAgIHRoaXMuX3dpbmRvd0V2ZW50c0NvbnRyb2xsZXI/LmFib3J0KCk7XG4gICAgdGhpcy5fc2Nyb2xsSGFuZGxlci5lbmFibGVTY3JvbGwoKTtcbiAgfVxuXG4gIHB1YmxpYyBvdmVycmlkZSByZXF1ZXN0VXBkYXRlKFxuICAgIG5hbWU/OiBQcm9wZXJ0eUtleSxcbiAgICBvbGRWYWx1ZT86IHVua25vd24sXG4gICAgb3B0aW9ucz86IFByb3BlcnR5RGVjbGFyYXRpb24sXG4gICk6IHZvaWQge1xuICAgIHN1cGVyLnJlcXVlc3RVcGRhdGUobmFtZSwgb2xkVmFsdWUsIG9wdGlvbnMpO1xuXG4gICAgaWYgKCFpc1NlcnZlciAmJiAoIW5hbWUgfHwgbmFtZSA9PT0gJ3RyaWdnZXInKSAmJiB0aGlzLmhhc1VwZGF0ZWQpIHtcbiAgICAgIHRoaXMuX2NvbmZpZ3VyZVRyaWdnZXIoKTtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIF9jaGVja0xpc3RDYXNlKGV2ZW50OiBFdmVudCk6IHZvaWQge1xuICAgIC8vIElmIGFsbCBjaGlsZHJlbiBhcmUgc2JiLW1lbnUtYnV0dG9uL21lbnUtbGluayBpbnN0YW5jZXMsIHdlIHJlbmRlciB0aGVtIGFzIGEgbGlzdC5cbiAgICBpZiAoXG4gICAgICB0aGlzLmNoaWxkcmVuPy5sZW5ndGggJiZcbiAgICAgIEFycmF5LmZyb20odGhpcy5jaGlsZHJlbiA/PyBbXSkuZXZlcnkoXG4gICAgICAgIChjKSA9PiBjLmxvY2FsTmFtZSA9PT0gJ3NiYi1tZW51LWJ1dHRvbicgfHwgYy5sb2NhbE5hbWUgPT09ICdzYmItbWVudS1saW5rJyxcbiAgICAgIClcbiAgICApIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBldmVudC5zdG9wSW1tZWRpYXRlUHJvcGFnYXRpb24oKTtcbiAgICBpZiAodGhpcy5saXN0Q2hpbGRyZW4ubGVuZ3RoKSB7XG4gICAgICB0aGlzLmxpc3RDaGlsZHJlbi5mb3JFYWNoKChjKSA9PiBjLnJlbW92ZUF0dHJpYnV0ZSgnc2xvdCcpKTtcbiAgICAgIHRoaXMubGlzdENoaWxkcmVuID0gW107XG4gICAgfVxuICB9XG5cbiAgLy8gQ2hlY2sgaWYgdGhlIHRyaWdnZXIgaXMgdmFsaWQgYW5kIGF0dGFjaCBjbGljayBldmVudCBsaXN0ZW5lcnMuXG4gIHByaXZhdGUgX2NvbmZpZ3VyZVRyaWdnZXIoKTogdm9pZCB7XG4gICAgaWYgKHRoaXMudHJpZ2dlciA9PT0gdGhpcy5fdHJpZ2dlckVsZW1lbnQpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICB0aGlzLl90cmlnZ2VyQWJvcnRDb250cm9sbGVyPy5hYm9ydCgpO1xuICAgIHJlbW92ZUFyaWFPdmVybGF5VHJpZ2dlckF0dHJpYnV0ZXModGhpcy5fdHJpZ2dlckVsZW1lbnQpO1xuICAgIHRoaXMuX3RyaWdnZXJFbGVtZW50ID0gdGhpcy50cmlnZ2VyO1xuXG4gICAgaWYgKCF0aGlzLl90cmlnZ2VyRWxlbWVudCkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIHNldEFyaWFPdmVybGF5VHJpZ2dlckF0dHJpYnV0ZXModGhpcy5fdHJpZ2dlckVsZW1lbnQsICdtZW51JywgdGhpcy5pZCwgdGhpcy5zdGF0ZSk7XG4gICAgdGhpcy5fdHJpZ2dlckFib3J0Q29udHJvbGxlciA9IG5ldyBBYm9ydENvbnRyb2xsZXIoKTtcbiAgICB0aGlzLl90cmlnZ2VyRWxlbWVudC5hZGRFdmVudExpc3RlbmVyKCdjbGljaycsICgpID0+IHRoaXMub3BlbigpLCB7XG4gICAgICBzaWduYWw6IHRoaXMuX3RyaWdnZXJBYm9ydENvbnRyb2xsZXIuc2lnbmFsLFxuICAgIH0pO1xuXG4gICAgLy8gQ29uc2lkZXIgdGhlIG1lbnUgYXMgbmVzdGVkIGlmIHRoZSB0cmlnZ2VyIGlzIGEgbWVudSBidXR0b24gb3IgbWVudSBsaW5rLlxuICAgIHRoaXMudG9nZ2xlU3RhdGUoXG4gICAgICAnbmVzdGVkJyxcbiAgICAgIFsnc2JiLW1lbnUtYnV0dG9uJywgJ3NiYi1tZW51LWxpbmsnXS5pbmNsdWRlcyh0aGlzLl90cmlnZ2VyRWxlbWVudC5sb2NhbE5hbWUpLFxuICAgICk7XG4gICAgdGhpcy5fdHJpZ2dlckVsZW1lbnQudG9nZ2xlQXR0cmlidXRlKCdkYXRhLXNiYi1tZW51LXRyaWdnZXInLCB0cnVlKTtcbiAgfVxuXG4gIHByaXZhdGUgX2F0dGFjaFdpbmRvd0V2ZW50cygpOiB2b2lkIHtcbiAgICB0aGlzLl93aW5kb3dFdmVudHNDb250cm9sbGVyID0gbmV3IEFib3J0Q29udHJvbGxlcigpO1xuICAgIGRvY3VtZW50LmFkZEV2ZW50TGlzdGVuZXIoJ3Njcm9sbCcsICgpID0+IHRoaXMuX3NldE1lbnVQb3NpdGlvbigpLCB7XG4gICAgICBwYXNzaXZlOiB0cnVlLFxuICAgICAgc2lnbmFsOiB0aGlzLl93aW5kb3dFdmVudHNDb250cm9sbGVyLnNpZ25hbCxcbiAgICAgIC8vIFdpdGhvdXQgY2FwdHVyZSwgb3RoZXIgc2Nyb2xsIGNvbnRleHRzIHdvdWxkIG5vdCBidWJibGUgdG8gdGhpcyBldmVudCBsaXN0ZW5lci5cbiAgICAgIC8vIENhcHR1cmUgYWxsb3dzIHVzIHRvIHJlYWN0IHRvIGFsbCBzY3JvbGwgY29udGV4dHMgaW4gdGhpcyBET00uXG4gICAgICBjYXB0dXJlOiB0cnVlLFxuICAgIH0pO1xuICAgIHdpbmRvdy5hZGRFdmVudExpc3RlbmVyKCdyZXNpemUnLCAoKSA9PiB0aGlzLl9zZXRNZW51UG9zaXRpb24oKSwge1xuICAgICAgcGFzc2l2ZTogdHJ1ZSxcbiAgICAgIHNpZ25hbDogdGhpcy5fd2luZG93RXZlbnRzQ29udHJvbGxlci5zaWduYWwsXG4gICAgfSk7XG5cbiAgICAvLyBPbmx5IHRoZSBvdXRlcm1vc3QgbWVudSBuZWVkcyB0byBsaXN0ZW4gdG8gdGhlIGJhY2tkcm9wIGNsaWNrc1xuICAgIGlmICghdGhpcy5faXNOZXN0ZWQoKSkge1xuICAgICAgLy8gQ2xvc2UgbWVudSBvbiBiYWNrZHJvcCBjbGlja1xuICAgICAgd2luZG93LmFkZEV2ZW50TGlzdGVuZXIoJ3BvaW50ZXJkb3duJywgdGhpcy5fcG9pbnRlckRvd25MaXN0ZW5lciwge1xuICAgICAgICBzaWduYWw6IHRoaXMuX3dpbmRvd0V2ZW50c0NvbnRyb2xsZXIuc2lnbmFsLFxuICAgICAgfSk7XG4gICAgICB3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcigncG9pbnRlcnVwJywgdGhpcy5fY2xvc2VPbkJhY2tkcm9wQ2xpY2ssIHtcbiAgICAgICAgc2lnbmFsOiB0aGlzLl93aW5kb3dFdmVudHNDb250cm9sbGVyLnNpZ25hbCxcbiAgICAgIH0pO1xuICAgIH1cbiAgfVxuXG4gIC8vIENsb3NlIG1lbnUgYXQgYW55IGNsaWNrIG9uIGFuIGludGVyYWN0aXZlIGVsZW1lbnQgaW5zaWRlIHRoZSA8c2JiLW1lbnU+IHRoYXQgYnViYmxlcyB0byB0aGUgY29udGFpbmVyLlxuICBwcml2YXRlIF9pbnRlcmFjdGl2ZUVsZW1lbnRDbGljayhldmVudDogRXZlbnQpOiB2b2lkIHtcbiAgICBjb25zdCB0YXJnZXQgPSBldmVudC50YXJnZXQgYXMgSFRNTEVsZW1lbnQ7XG5cbiAgICBpZiAoXG4gICAgICBJTlRFUkFDVElWRV9FTEVNRU5UUy5pbmNsdWRlcyh0YXJnZXQubm9kZU5hbWUpICYmXG4gICAgICAhdGFyZ2V0Lmhhc0F0dHJpYnV0ZSgnZGlzYWJsZWQnKSAmJlxuICAgICAgIXRhcmdldC5oYXNBdHRyaWJ1dGUoJ2RhdGEtc2JiLW1lbnUtdHJpZ2dlcicpICYmXG4gICAgICB0YXJnZXQuaWQgIT09ICdzYmItbWVudV9fYmFjay1idXR0b24nXG4gICAgKSB7XG4gICAgICB0aGlzLmNsb3NlQWxsKCk7XG4gICAgfVxuICB9XG5cbiAgLy8gQ2hlY2sgaWYgdGhlIHBvaW50ZXJkb3duIGV2ZW50IHRhcmdldCBpcyB0cmlnZ2VyZWQgb24gdGhlIG1lbnUuXG4gIHByaXZhdGUgX3BvaW50ZXJEb3duTGlzdGVuZXIgPSAoZXZlbnQ6IFBvaW50ZXJFdmVudCk6IHZvaWQgPT4ge1xuICAgIGNvbnN0IG1lbnUgPSAoZXZlbnQudGFyZ2V0IGFzIEhUTUxFbGVtZW50KS5jbG9zZXN0KCdzYmItbWVudScpO1xuXG4gICAgLy8gVGhlIHBvaW50ZXIgZG93biBpcyBvbiB0aGUgbWVudSBvciBvbmUgb2YgaXRzIG5lc3RlZCBtZW51cy5cbiAgICB0aGlzLl9pc1BvaW50ZXJEb3duRXZlbnRPbk1lbnUgPVxuICAgICAgaXNFdmVudE9uRWxlbWVudCh0aGlzLl9tZW51LCBldmVudCkgfHwgdGhpcy5fbmVzdGVkTWVudXMoKS5zb21lKChlbCkgPT4gbWVudSA9PT0gZWwpO1xuICB9O1xuXG4gIC8vIENsb3NlIG1lbnUgb24gYmFja2Ryb3AgY2xpY2suXG4gIHByaXZhdGUgX2Nsb3NlT25CYWNrZHJvcENsaWNrID0gKGV2ZW50OiBQb2ludGVyRXZlbnQpOiB2b2lkID0+IHtcbiAgICBjb25zdCB0YXJnZXQgPSBldmVudC50YXJnZXQgYXMgSFRNTEVsZW1lbnQ7XG5cbiAgICAvLyBUaGUgYmFja2Ryb3AgaXMgb25seSBsaXN0ZW5lZCBvbiB0aGUgbWFpbiBtZW51IChvdXRlcm1vc3QgbWVudSkuXG4gICAgLy8gVG8gY2xvc2UuXG4gICAgLy8gLSBUaGUgcG9pbnRlciBkb3duIGFuZCB1cCBuZWVkIHRvIGJlIG91dHNpZGUgdGhlIG1lbnUuXG4gICAgLy8gLSBUaGUgdGFyZ2V0IHNob3VsZCBiZSBub3Qgb24gYSBuZXN0ZWQgbWVudVxuICAgIGlmIChcbiAgICAgICF0aGlzLl9pc1BvaW50ZXJEb3duRXZlbnRPbk1lbnUgJiZcbiAgICAgICFpc0V2ZW50T25FbGVtZW50KHRoaXMuX21lbnUsIGV2ZW50KSAmJlxuICAgICAgIXRoaXMuX25lc3RlZE1lbnVzKCkuc29tZSgoZWwpID0+IGVsID09PSB0YXJnZXQpXG4gICAgKSB7XG4gICAgICB0aGlzLmNsb3NlQWxsKCk7XG4gICAgfVxuICB9O1xuXG4gIC8qKiBDb252ZXJ0cyB0aGUgbGlua2VkIGxpc3QgaW50byBhbiBhcnJheSBvZiBTYmJNZW51RWxlbWVudC4gKi9cbiAgcHJpdmF0ZSBfbmVzdGVkTWVudXMoKTogU2JiTWVudUVsZW1lbnRbXSB7XG4gICAgY29uc3QgbWVudXM6IFNiYk1lbnVFbGVtZW50W10gPSBbXTtcbiAgICBsZXQgY3VycmVudCA9IHRoaXMuX25lc3RlZE1lbnU7XG5cbiAgICB3aGlsZSAoY3VycmVudCkge1xuICAgICAgbWVudXMucHVzaChjdXJyZW50KTtcbiAgICAgIGN1cnJlbnQgPSBjdXJyZW50Ll9uZXN0ZWRNZW51O1xuICAgIH1cblxuICAgIHJldHVybiBtZW51cztcbiAgfVxuXG4gIHByaXZhdGUgX3BhcmVudE1lbnUoKTogU2JiTWVudUVsZW1lbnQgfCBudWxsIHtcbiAgICByZXR1cm4gdGhpcy5fdHJpZ2dlckVsZW1lbnQ/LmNsb3Nlc3QoJ3NiYi1tZW51JykgPz8gbnVsbDtcbiAgfVxuXG4gIC8qKiBUaGUgb3V0ZXJtb3N0IG1lbnUuICovXG4gIHByaXZhdGUgX21haW5NZW51KCk6IFNiYk1lbnVFbGVtZW50IHtcbiAgICByZXR1cm4gdGhpcy5faXNOZXN0ZWQoKSA/ICh0aGlzLl9wYXJlbnRNZW51KCk/Ll9tYWluTWVudSgpID8/IHRoaXMpIDogdGhpcztcbiAgfVxuXG4gIHByaXZhdGUgX2lzTmVzdGVkKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiAhIXRoaXMuX3BhcmVudE1lbnUoKTtcbiAgfVxuXG4gIHByaXZhdGUgX3VwZGF0ZU5lc3RlZEluZXJ0KCk6IHZvaWQge1xuICAgIHRoaXMuX2luZXJ0Q29udHJvbGxlci5yZXN0b3JlQWxsRXhlbXB0ZWQoKTtcbiAgICB0aGlzLl9tYWluTWVudSgpXG4gICAgICAuX25lc3RlZE1lbnVzKClcbiAgICAgIC5mb3JFYWNoKChtZW51KSA9PiB0aGlzLl9pbmVydENvbnRyb2xsZXIuZXhlbXB0KG1lbnUpKTtcbiAgfVxuXG4gIC8vIENoZWNrIGlmIG5lc3RlZCBtZW51IHNob3VsZCBiZSBjbG9zZWQuXG4gIHByaXZhdGUgX2hhbmRsZU1vdXNlT3ZlcihldmVudDogTW91c2VFdmVudCk6IHZvaWQge1xuICAgIGNvbnN0IGVsZW1lbnQgPSBldmVudC50YXJnZXQgYXMgSFRNTEVsZW1lbnQ7XG4gICAgY29uc3QgaXNNb2JpbGUgPSB0aGlzLl9pc01vYmlsZSgpO1xuXG4gICAgLy8gQWxsIG5lc3RlZCBtZW51cyBzaG91bGQgY2xvc2UgaW4gZGVza3RvcCBtb2RlIGlmIHRoZSBjdXJzb3IgbGFuZGVkIG9uXG4gICAgLy8gYW55dGhpbmcgb3RoZXIgdGhhbiB0aGUgY29udGFpbmVyLCB0aGUgY29udGFpbmVyJ3Mgc2Nyb2xsYmFyIG9yIHRoZSB0cmlnZ2VyIGl0c2VsZlxuICAgIGlmIChcbiAgICAgICFpc01vYmlsZSAmJlxuICAgICAgdGhpcy5fbmVzdGVkTWVudSAmJlxuICAgICAgIWVsZW1lbnQuY2xhc3NMaXN0LmNvbnRhaW5zKCdzYmItbWVudV9fY29udGVudCcpICYmXG4gICAgICAhKGVsZW1lbnQuZ2V0QXR0cmlidXRlKCdhcmlhLWV4cGFuZGVkJykgPT09ICd0cnVlJylcbiAgICApIHtcbiAgICAgIHRoaXMuX25lc3RlZE1lbnUuY2xvc2UoKTtcbiAgICB9XG5cbiAgICBpZiAoZWxlbWVudC5oYXNBdHRyaWJ1dGUoJ2RhdGEtc2JiLW1lbnUtdHJpZ2dlcicpICYmICFpc01vYmlsZSkge1xuICAgICAgZWxlbWVudC5jbGljaygpO1xuICAgIH1cbiAgfVxuXG4gIC8vIFNldCBtZW51IHBvc2l0aW9uICh4LCB5KSB0byAnMCcgb25jZSB0aGUgbWVudSBpcyBjbG9zZWQgYW5kIHRoZSB0cmFuc2l0aW9uIGVuZGVkIHRvIHByZXZlbnQgdGhlXG4gIC8vIHZpZXdwb3J0IGZyb20gb3ZlcmZsb3dpbmcuIEFuZCBzZXQgdGhlIGZvY3VzIHRvIHRoZSBmaXJzdCBmb2N1c2FibGUgZWxlbWVudCBvbmNlIHRoZSBtZW51IGlzIG9wZW4uXG4gIC8vIEluIHJhcmUgY2FzZXMgaXQgY2FuIGJlIHRoYXQgdGhlIGFuaW1hdGlvbkVuZCBldmVudCBpcyB0cmlnZ2VyZWQgdHdpY2UuXG4gIC8vIFRvIGF2b2lkIGVudGVyaW5nIGEgY29ycnVwdCBzdGF0ZSwgZXhpdCB3aGVuIHN0YXRlIGlzIG5vdCBleHBlY3RlZC5cbiAgcHJpdmF0ZSBfb25NZW51QW5pbWF0aW9uRW5kKGV2ZW50OiBBbmltYXRpb25FdmVudCk6IHZvaWQge1xuICAgIGlmIChcbiAgICAgIChldmVudC5hbmltYXRpb25OYW1lID09PSAnb3BlbicgfHwgZXZlbnQuYW5pbWF0aW9uTmFtZSA9PT0gJ29wZW4tc2lkZXdheXMnKSAmJlxuICAgICAgdGhpcy5zdGF0ZSA9PT0gJ29wZW5pbmcnXG4gICAgKSB7XG4gICAgICB0aGlzLl9oYW5kbGVPcGVuaW5nKCk7XG4gICAgfSBlbHNlIGlmIChcbiAgICAgIChldmVudC5hbmltYXRpb25OYW1lID09PSAnY2xvc2UnIHx8IGV2ZW50LmFuaW1hdGlvbk5hbWUgPT09ICdjbG9zZS1zaWRld2F5cycpICYmXG4gICAgICB0aGlzLnN0YXRlID09PSAnY2xvc2luZydcbiAgICApIHtcbiAgICAgIHRoaXMuX2hhbmRsZUNsb3NpbmcoKTtcbiAgICB9XG4gIH1cblxuICAvLyBTZXQgbWVudSBwb3NpdGlvbiBhbmQgbWF4IGhlaWdodCBpZiB0aGUgYnJlYWtwb2ludCBpcyBtZWRpdW0tdWx0cmEuXG4gIHByaXZhdGUgX3NldE1lbnVQb3NpdGlvbigpOiB2b2lkIHtcbiAgICAvLyBTdGFydGluZyBmcm9tIGJyZWFrcG9pbnQgbWVkaXVtXG4gICAgaWYgKHRoaXMuX2lzTW9iaWxlKCkgfHwgIXRoaXMuX21lbnUgfHwgIXRoaXMuX3RyaWdnZXJFbGVtZW50IHx8IHRoaXMuc3RhdGUgPT09ICdjbG9zaW5nJykge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIGNvbnN0IG1lbnVQb3NpdGlvbiA9ICF0aGlzLl9pc05lc3RlZCgpXG4gICAgICA/IGdldEVsZW1lbnRQb3NpdGlvbihcbiAgICAgICAgICB0aGlzLnNoYWRvd1Jvb3QhLnF1ZXJ5U2VsZWN0b3IoJy5zYmItbWVudV9fY29udGVudCcpISxcbiAgICAgICAgICB0aGlzLl90cmlnZ2VyRWxlbWVudCxcbiAgICAgICAgICB0aGlzLnNoYWRvd1Jvb3QhLnF1ZXJ5U2VsZWN0b3IoJy5zYmItbWVudV9fY29udGFpbmVyJykhLFxuICAgICAgICAgIHtcbiAgICAgICAgICAgIHZlcnRpY2FsT2Zmc2V0OiBNRU5VX09GRlNFVCxcbiAgICAgICAgICB9LFxuICAgICAgICApXG4gICAgICA6IGdldEVsZW1lbnRQb3NpdGlvbkhvcml6b250YWwoXG4gICAgICAgICAgdGhpcy5zaGFkb3dSb290IS5xdWVyeVNlbGVjdG9yKCcuc2JiLW1lbnVfX2NvbnRlbnQnKSEsXG4gICAgICAgICAgdGhpcy5fdHJpZ2dlckVsZW1lbnQsXG4gICAgICAgICAgdGhpcy5zaGFkb3dSb290IS5xdWVyeVNlbGVjdG9yKCcuc2JiLW1lbnVfX2NvbnRhaW5lcicpISxcbiAgICAgICAgICB7XG4gICAgICAgICAgICBob3Jpem9udGFsT2Zmc2V0OiBNRU5VX09GRlNFVCxcbiAgICAgICAgICAgIHZlcnRpY2FsT2Zmc2V0OiBORVNURURfTUVOVV9PRkZTRVQsXG4gICAgICAgICAgICBjb250ZW50U2VsZWN0b3I6ICcuc2JiLW1lbnVfX2NvbnRlbnQnLFxuICAgICAgICAgIH0sXG4gICAgICAgICk7XG5cbiAgICB0aGlzLnN0eWxlLnNldFByb3BlcnR5KCctLXNiYi1tZW51LXBvc2l0aW9uLXgnLCBgJHttZW51UG9zaXRpb24ubGVmdH1weGApO1xuICAgIHRoaXMuc3R5bGUuc2V0UHJvcGVydHkoJy0tc2JiLW1lbnUtcG9zaXRpb24teScsIGAke21lbnVQb3NpdGlvbi50b3B9cHhgKTtcbiAgICB0aGlzLnN0eWxlLnNldFByb3BlcnR5KCctLXNiYi1tZW51LW1heC1oZWlnaHQnLCBtZW51UG9zaXRpb24ubWF4SGVpZ2h0KTtcbiAgfVxuXG4gIHByaXZhdGUgX3N5bmNOZWdhdGl2ZSgpOiB2b2lkIHtcbiAgICAvLyBMaW5rcyBhbmQgYnV0dG9ucyBhcmUgdGhlIG1vc3QgZXhwZWN0ZWQgY29udGVudHMgd2hpY2ggaGF2ZSBhIG5lZ2F0aXZlIHByb3BlcnR5XG4gICAgdGhpcy5xdWVyeVNlbGVjdG9yQWxsKCdbZGF0YS1zYmItbGlua10sIFtkYXRhLXNiYi1idXR0b25dJyk/LmZvckVhY2goKGVsOiBFbGVtZW50KSA9PiB7XG4gICAgICBjdXN0b21FbGVtZW50cy51cGdyYWRlKGVsKTtcbiAgICAgIChlbCBhcyBFbGVtZW50ICYgU2JiTmVnYXRpdmVNaXhpblR5cGUpLm5lZ2F0aXZlID0gIXRoaXMuX2RhcmtNb2RlQ29udHJvbGxlci5tYXRjaGVzKCk7XG4gICAgfSk7XG4gIH1cblxuICBwcml2YXRlIF9pc01vYmlsZSgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5fbWVkaWFNYXRjaGVyLm1hdGNoZXModGhpcy5fbW9iaWxlQnJlYWtwb2ludCkgPz8gdHJ1ZTtcbiAgfVxuXG4gIHByb3RlY3RlZCBvdmVycmlkZSByZW5kZXIoKTogVGVtcGxhdGVSZXN1bHQge1xuICAgIC8vIFRPRE86IEhhbmRsZSBjYXNlIHdpdGggb3RoZXIgZWxlbWVudHMgdGhhbiBzYmItbWVudS1idXR0b24vc2JiLW1lbnUtbGluay5cbiAgICByZXR1cm4gaHRtbGBcbiAgICAgIDxkaXYgY2xhc3M9XCJzYmItbWVudV9fY29udGFpbmVyXCI+XG4gICAgICAgIDxkaXZcbiAgICAgICAgICBAYW5pbWF0aW9uZW5kPSR7dGhpcy5fb25NZW51QW5pbWF0aW9uRW5kfVxuICAgICAgICAgIEBtb3VzZW92ZXI9JHsoZTogTW91c2VFdmVudCkgPT4gdGhpcy5faGFuZGxlTW91c2VPdmVyKGUpfVxuICAgICAgICAgIGNsYXNzPVwic2JiLW1lbnVcIlxuICAgICAgICAgICR7cmVmKChlbD86IEVsZW1lbnQpID0+ICh0aGlzLl9tZW51ID0gZWwgYXMgSFRNTERpdkVsZW1lbnQpKX1cbiAgICAgICAgPlxuICAgICAgICAgIDxkaXZcbiAgICAgICAgICAgIEBjbGljaz0keyhldmVudDogRXZlbnQpID0+IHRoaXMuX2ludGVyYWN0aXZlRWxlbWVudENsaWNrKGV2ZW50KX1cbiAgICAgICAgICAgIEBzY3JvbGw9JHsoZTogRXZlbnQpID0+IGZvcndhcmRFdmVudChlLCBkb2N1bWVudCl9XG4gICAgICAgICAgICBjbGFzcz1cInNiYi1tZW51X19jb250ZW50XCJcbiAgICAgICAgICA+XG4gICAgICAgICAgICAke3RoaXMubGlzdENoaWxkcmVuLmxlbmd0aFxuICAgICAgICAgICAgICA/IHRoaXMucmVuZGVyTGlzdCh7IGNsYXNzOiAnc2JiLW1lbnUtbGlzdCcsIGFyaWFMYWJlbDogdGhpcy5saXN0QWNjZXNzaWJpbGl0eUxhYmVsIH0pXG4gICAgICAgICAgICAgIDogaHRtbGA8c2xvdD48L3Nsb3Q+YH1cbiAgICAgICAgICAgIDxzYmItZGl2aWRlcj48L3NiYi1kaXZpZGVyPlxuICAgICAgICAgICAgPHNiYi1tZW51LWJ1dHRvblxuICAgICAgICAgICAgICBpZD1cInNiYi1tZW51X19iYWNrLWJ1dHRvblwiXG4gICAgICAgICAgICAgIEBjbGljaz0keygpID0+IHRoaXMuY2xvc2UoKX1cbiAgICAgICAgICAgICAgaWNvbi1uYW1lPVwiY2hldnJvbi1zbWFsbC1sZWZ0LXNtYWxsXCJcbiAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgJHtpMThuR29CYWNrW3RoaXMuX2xhbmd1YWdlLmN1cnJlbnRdfVxuICAgICAgICAgICAgPC9zYmItbWVudS1idXR0b24+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvZGl2PlxuICAgICAgPC9kaXY+XG4gICAgYDtcbiAgfVxufVxuXG5kZWNsYXJlIGdsb2JhbCB7XG4gIGludGVyZmFjZSBIVE1MRWxlbWVudFRhZ05hbWVNYXAge1xuICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbmFtaW5nLWNvbnZlbnRpb25cbiAgICAnc2JiLW1lbnUnOiBTYmJNZW51RWxlbWVudDtcbiAgfVxufVxuIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQThDQSxNQUFNLGNBQWM7QUFDcEIsTUFBTSxxQkFBcUI7QUFDM0IsTUFBTSx1QkFBdUI7QUFBQSxFQUMzQjtBQUFBLEVBQ0E7QUFBQSxFQUNBO0FBQUEsRUFDQTtBQUFBLEVBQ0E7QUFBQSxFQUNBO0FBQUEsRUFDQTtBQUFBLEVBQ0E7QUFBQSxFQUNBO0FBQUEsRUFDQTs7QUFHRixJQUFJLFNBQVM7SUFZUCxrQkFBYyxNQUFBOzswQkFEbkIsY0FBYyxVQUFVLENBQUM7Ozs7b0JBQ0csc0JBRzNCLHVCQUF1Qjs7Ozs7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
|
|
683
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWVudS5jb21wb25lbnQuanMiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9lbGVtZW50cy9tZW51L21lbnUvbWVudS5jb21wb25lbnQudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgdHlwZSBDU1NSZXN1bHRHcm91cCxcbiAgaHRtbCxcbiAgaXNTZXJ2ZXIsXG4gIHR5cGUgUHJvcGVydHlEZWNsYXJhdGlvbixcbiAgdHlwZSBQcm9wZXJ0eVZhbHVlcyxcbiAgdHlwZSBUZW1wbGF0ZVJlc3VsdCxcbn0gZnJvbSAnbGl0JztcbmltcG9ydCB7IGN1c3RvbUVsZW1lbnQsIHByb3BlcnR5IH0gZnJvbSAnbGl0L2RlY29yYXRvcnMuanMnO1xuaW1wb3J0IHsgcmVmIH0gZnJvbSAnbGl0L2RpcmVjdGl2ZXMvcmVmLmpzJztcblxuaW1wb3J0IHtcbiAgZ2V0TmV4dEVsZW1lbnRJbmRleCxcbiAgaW50ZXJhY3Rpdml0eUNoZWNrZXIsXG4gIGlzQXJyb3dLZXlPclBhZ2VLZXlzUHJlc3NlZCxcbiAgU2JiRm9jdXNUcmFwQ29udHJvbGxlcixcbn0gZnJvbSAnLi4vLi4vY29yZS9hMTF5LmpzJztcbmltcG9ydCB7IFNiYk9wZW5DbG9zZUJhc2VFbGVtZW50IH0gZnJvbSAnLi4vLi4vY29yZS9iYXNlLWVsZW1lbnRzLmpzJztcbmltcG9ydCB7XG4gIFNiYkRhcmtNb2RlQ29udHJvbGxlcixcbiAgU2JiRXNjYXBhYmxlT3ZlcmxheUNvbnRyb2xsZXIsXG4gIFNiYkluZXJ0Q29udHJvbGxlcixcbiAgU2JiTGFuZ3VhZ2VDb250cm9sbGVyLFxuICBTYmJNZWRpYU1hdGNoZXJDb250cm9sbGVyLFxuICBTYmJNZWRpYVF1ZXJ5QnJlYWtwb2ludFNtYWxsQW5kQmVsb3csXG59IGZyb20gJy4uLy4uL2NvcmUvY29udHJvbGxlcnMuanMnO1xuaW1wb3J0IHsgaWRSZWZlcmVuY2UgfSBmcm9tICcuLi8uLi9jb3JlL2RlY29yYXRvcnMuanMnO1xuaW1wb3J0IHsgaXNaZXJvQW5pbWF0aW9uRHVyYXRpb24sIFNiYlNjcm9sbEhhbmRsZXIgfSBmcm9tICcuLi8uLi9jb3JlL2RvbS5qcyc7XG5pbXBvcnQgeyBmb3J3YXJkRXZlbnQgfSBmcm9tICcuLi8uLi9jb3JlL2V2ZW50aW5nLmpzJztcbmltcG9ydCB7IGkxOG5Hb0JhY2sgfSBmcm9tICcuLi8uLi9jb3JlL2kxOG4vaTE4bi5qcyc7XG5pbXBvcnQgdHlwZSB7IFNiYk5lZ2F0aXZlTWl4aW5UeXBlIH0gZnJvbSAnLi4vLi4vY29yZS9taXhpbnMuanMnO1xuaW1wb3J0IHtcbiAgZ2V0RWxlbWVudFBvc2l0aW9uLFxuICBnZXRFbGVtZW50UG9zaXRpb25Ib3Jpem9udGFsLFxuICBpc0V2ZW50T25FbGVtZW50LFxuICByZW1vdmVBcmlhT3ZlcmxheVRyaWdnZXJBdHRyaWJ1dGVzLFxuICBzZXRBcmlhT3ZlcmxheVRyaWdnZXJBdHRyaWJ1dGVzLFxufSBmcm9tICcuLi8uLi9jb3JlL292ZXJsYXkuanMnO1xuaW1wb3J0IHsgYm94U2l6aW5nU3R5bGVzIH0gZnJvbSAnLi4vLi4vY29yZS9zdHlsZXMuanMnO1xuaW1wb3J0IHR5cGUgeyBTYmJNZW51QnV0dG9uRWxlbWVudCB9IGZyb20gJy4uL21lbnUtYnV0dG9uLmpzJztcbmltcG9ydCB0eXBlIHsgU2JiTWVudUxpbmtFbGVtZW50IH0gZnJvbSAnLi4vbWVudS1saW5rL21lbnUtbGluay5jb21wb25lbnQuanMnO1xuXG5pbXBvcnQgc3R5bGUgZnJvbSAnLi9tZW51LnNjc3M/bGl0JmlubGluZSc7XG5cbmltcG9ydCAnLi4vLi4vZGl2aWRlci5qcyc7XG5pbXBvcnQgJy4uL21lbnUtYnV0dG9uLmpzJztcblxuY29uc3QgTUVOVV9PRkZTRVQgPSA4O1xuY29uc3QgTkVTVEVEX01FTlVfT0ZGU0VUID0gLTQ7XG5jb25zdCBJTlRFUkFDVElWRV9FTEVNRU5UUyA9IFtcbiAgJ0EnLFxuICAnQlVUVE9OJyxcbiAgJ1NCQi1CVVRUT04nLFxuICAnU0JCLUJVVFRPTi1MSU5LJyxcbiAgJ1NCQi1MSU5LJyxcbiAgJ1NCQi1CTE9DSy1MSU5LJyxcbiAgJ1NCQi1MSU5LLUJVVFRPTicsXG4gICdTQkItQkxPQ0stTElOSy1CVVRUT04nLFxuICAnU0JCLU1FTlUtQlVUVE9OJyxcbiAgJ1NCQi1NRU5VLUxJTksnLFxuXTtcblxubGV0IG5leHRJZCA9IDA7XG5cbi8qKlxuICogSXQgZGlzcGxheXMgYSBjb250ZXh0dWFsIG1lbnUgd2l0aCBvbmUgb3IgbW9yZSBhY3Rpb24gZWxlbWVudC5cbiAqXG4gKiBAc2xvdCAtIFVzZSB0aGUgdW5uYW1lZCBzbG90IHRvIGFkZCBgc2JiLW1lbnUtYnV0dG9uYC9gc2JiLW1lbnUtbGlua2Agb3Igb3RoZXIgZWxlbWVudHMgdG8gdGhlIG1lbnUuXG4gKiBAY3NzcHJvcCBbLS1zYmItbWVudS16LWluZGV4PXZhcigtLXNiYi1vdmVybGF5LWRlZmF1bHQtei1pbmRleCldIC0gVG8gc3BlY2lmeSBhIGN1c3RvbSBzdGFjayBvcmRlcixcbiAqIHRoZSBgei1pbmRleGAgY2FuIGJlIG92ZXJyaWRkZW4gYnkgZGVmaW5pbmcgdGhpcyBDU1MgdmFyaWFibGUuIFRoZSBkZWZhdWx0IGB6LWluZGV4YCBvZiB0aGVcbiAqIGNvbXBvbmVudCBpcyBzZXQgdG8gYHZhcigtLXNiYi1vdmVybGF5LWRlZmF1bHQtei1pbmRleClgIHdpdGggYSB2YWx1ZSBvZiBgMTAwMGAuXG4gKi9cbmV4cG9ydFxuQGN1c3RvbUVsZW1lbnQoJ3NiYi1tZW51JylcbmNsYXNzIFNiYk1lbnVFbGVtZW50IGV4dGVuZHMgU2JiT3BlbkNsb3NlQmFzZUVsZW1lbnQge1xuICBwdWJsaWMgc3RhdGljIG92ZXJyaWRlIHN0eWxlczogQ1NTUmVzdWx0R3JvdXAgPSBbYm94U2l6aW5nU3R5bGVzLCBzdHlsZV07XG4gIHB1YmxpYyBzdGF0aWMgb3ZlcnJpZGUgcmVhZG9ubHkgcm9sZSA9ICdtZW51JztcblxuICAvKipcbiAgICogVGhlIGVsZW1lbnQgdGhhdCB3aWxsIHRyaWdnZXIgdGhlIG1lbnUgb3ZlcmxheS5cbiAgICpcbiAgICogRm9yIGF0dHJpYnV0ZSB1c2FnZSwgcHJvdmlkZSBhbiBpZCByZWZlcmVuY2UuXG4gICAqL1xuICBAaWRSZWZlcmVuY2UoKVxuICBAcHJvcGVydHkoKVxuICBwdWJsaWMgYWNjZXNzb3IgdHJpZ2dlcjogSFRNTEVsZW1lbnQgfCBudWxsID0gbnVsbDtcblxuICBwcml2YXRlIF9tZW51ITogSFRNTERpdkVsZW1lbnQ7XG4gIHByaXZhdGUgX3RyaWdnZXJFbGVtZW50OiBIVE1MRWxlbWVudCB8IG51bGwgPSBudWxsO1xuICBwcml2YXRlIF90cmlnZ2VyQWJvcnRDb250cm9sbGVyITogQWJvcnRDb250cm9sbGVyO1xuICBwcml2YXRlIF9pc1BvaW50ZXJEb3duRXZlbnRPbk1lbnU6IGJvb2xlYW4gPSBmYWxzZTtcbiAgcHJpdmF0ZSBfd2luZG93RXZlbnRzQ29udHJvbGxlciE6IEFib3J0Q29udHJvbGxlcjtcbiAgcHJpdmF0ZSBfZXNjYXBhYmxlT3ZlcmxheUNvbnRyb2xsZXIgPSBuZXcgU2JiRXNjYXBhYmxlT3ZlcmxheUNvbnRyb2xsZXIodGhpcyk7XG4gIHByaXZhdGUgX2ZvY3VzVHJhcENvbnRyb2xsZXIgPSBuZXcgU2JiRm9jdXNUcmFwQ29udHJvbGxlcih0aGlzKTtcbiAgcHJpdmF0ZSBfc2Nyb2xsSGFuZGxlciA9IG5ldyBTYmJTY3JvbGxIYW5kbGVyKCk7XG4gIHByaXZhdGUgX2luZXJ0Q29udHJvbGxlciA9IG5ldyBTYmJJbmVydENvbnRyb2xsZXIodGhpcyk7XG4gIHByaXZhdGUgX21vYmlsZUJyZWFrcG9pbnQgPSBTYmJNZWRpYVF1ZXJ5QnJlYWtwb2ludFNtYWxsQW5kQmVsb3c7XG4gIHByaXZhdGUgX21lZGlhTWF0Y2hlciA9IG5ldyBTYmJNZWRpYU1hdGNoZXJDb250cm9sbGVyKHRoaXMsIHtcbiAgICBbdGhpcy5fbW9iaWxlQnJlYWtwb2ludF06IChtYXRjaGVzKSA9PiB7XG4gICAgICBpZiAobWF0Y2hlcyAmJiAodGhpcy5zdGF0ZSA9PT0gJ29wZW5pbmcnIHx8IHRoaXMuc3RhdGUgPT09ICdvcGVuZWQnKSkge1xuICAgICAgICB0aGlzLl9zY3JvbGxIYW5kbGVyLmRpc2FibGVTY3JvbGwoKTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHRoaXMuX3Njcm9sbEhhbmRsZXIuZW5hYmxlU2Nyb2xsKCk7XG4gICAgICB9XG4gICAgfSxcbiAgfSk7XG4gIHByaXZhdGUgX2RhcmtNb2RlQ29udHJvbGxlciA9IG5ldyBTYmJEYXJrTW9kZUNvbnRyb2xsZXIodGhpcywgKCkgPT4gdGhpcy5fc3luY05lZ2F0aXZlKCkpO1xuICBwcml2YXRlIF9sYW5ndWFnZSA9IG5ldyBTYmJMYW5ndWFnZUNvbnRyb2xsZXIodGhpcyk7XG4gIHByaXZhdGUgX25lc3RlZE1lbnU6IFNiYk1lbnVFbGVtZW50IHwgbnVsbCA9IG51bGw7XG5cbiAgcHVibGljIGNvbnN0cnVjdG9yKCkge1xuICAgIHN1cGVyKCk7XG4gICAgdGhpcy5hZGRFdmVudExpc3RlbmVyPy4oJ2tleWRvd24nLCAoZSkgPT4gdGhpcy5faGFuZGxlS2V5RG93bihlKSk7XG4gIH1cblxuICBwcm90ZWN0ZWQgb3ZlcnJpZGUgZmlyc3RVcGRhdGVkKGNoYW5nZWRQcm9wZXJ0aWVzOiBQcm9wZXJ0eVZhbHVlczx0aGlzPik6IHZvaWQge1xuICAgIHN1cGVyLmZpcnN0VXBkYXRlZChjaGFuZ2VkUHJvcGVydGllcyk7XG5cbiAgICB0aGlzLl9jb25maWd1cmVUcmlnZ2VyKCk7XG4gIH1cblxuICBwdWJsaWMgb3ZlcnJpZGUgZXNjYXBlU3RyYXRlZ3koKTogdm9pZCB7XG4gICAgdGhpcy5jbG9zZUFsbCgpO1xuICB9XG5cbiAgLyoqXG4gICAqIE9wZW5zIHRoZSBtZW51IG9uIHRyaWdnZXIgY2xpY2suXG4gICAqL1xuICBwdWJsaWMgb3BlbigpOiB2b2lkIHtcbiAgICBpZiAoXG4gICAgICB0aGlzLnN0YXRlID09PSAnY2xvc2luZycgfHxcbiAgICAgIHRoaXMuc3RhdGUgPT09ICdvcGVuZWQnIHx8XG4gICAgICAhdGhpcy5fbWVudSB8fFxuICAgICAgIXRoaXMuZGlzcGF0Y2hCZWZvcmVPcGVuRXZlbnQoKVxuICAgICkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIGlmICh0aGlzLl9pc05lc3RlZCgpKSB7XG4gICAgICBjb25zdCBwYXJlbnRNZW51ID0gdGhpcy5fcGFyZW50TWVudSgpITtcbiAgICAgIHBhcmVudE1lbnUudG9nZ2xlU3RhdGUoJ25lc3RlZC1jaGlsZCcsIHRydWUpO1xuXG4gICAgICAvLyBJbiBjYXNlIHdlIGNoYW5nZSBiZXR3ZWVuIGFycm93IGtleSBuYXZpZ2F0aW9uIGFuZCBtb3VzZSBuYXZpZ2F0aW9uLCBpdCBjYW4gYmUgdGhhdCBhbm90aGVyXG4gICAgICAvLyBuZXN0ZWQgcGFyZW50IG1lbnUgaXMgc3RpbGwgb3Blbi4gV2UgaGF2ZSB0byBjbG9zZSBpdC5cbiAgICAgIGlmIChwYXJlbnRNZW51Ll9uZXN0ZWRNZW51ICE9PSB0aGlzKSB7XG4gICAgICAgIHBhcmVudE1lbnUuX25lc3RlZE1lbnU/LmNsb3NlKCk7XG4gICAgICB9XG4gICAgICBwYXJlbnRNZW51Ll9uZXN0ZWRNZW51ID0gdGhpcztcbiAgICB9XG5cbiAgICB0aGlzLnNob3dQb3BvdmVyPy4oKTtcbiAgICB0aGlzLnN0YXRlID0gJ29wZW5pbmcnO1xuICAgIHRoaXMuX3NldE1lbnVQb3NpdGlvbigpO1xuICAgIHRoaXMuX3RyaWdnZXJFbGVtZW50Py5zZXRBdHRyaWJ1dGUoJ2FyaWEtZXhwYW5kZWQnLCAndHJ1ZScpO1xuXG4gICAgLy8gRnJvbSB6ZXJvIHRvIGxhcmdlLCBkaXNhYmxlIHNjcm9sbFxuICAgIGlmICh0aGlzLl9pc01vYmlsZSgpKSB7XG4gICAgICB0aGlzLl9zY3JvbGxIYW5kbGVyLmRpc2FibGVTY3JvbGwoKTtcbiAgICB9XG5cbiAgICAvLyBJZiB0aGUgYW5pbWF0aW9uIGR1cmF0aW9uIGlzIHplcm8sIHRoZSBhbmltYXRpb25lbmQgZXZlbnQgaXMgbm90IGFsd2F5cyBmaXJlZCByZWxpYWJseS5cbiAgICAvLyBJbiB0aGlzIGNhc2Ugd2UgZGlyZWN0bHkgc2V0IHRoZSBgb3BlbmVkYCBzdGF0ZS5cbiAgICBpZiAodGhpcy5faXNaZXJvQW5pbWF0aW9uRHVyYXRpb24oKSkge1xuICAgICAgdGhpcy5faGFuZGxlT3BlbmluZygpO1xuICAgIH1cbiAgfVxuXG4gIC8qKiBDbG9zZXMgdGhlIG1lbnUgYW5kIGFsbCBpdHMgbmVzdGVkIG1lbnVzLiAqL1xuICBwdWJsaWMgY2xvc2UoKTogdm9pZCB7XG4gICAgdGhpcy5fY2xvc2UoKTtcbiAgfVxuXG4gIC8qKiBDbG9zZXMgdGhlIG1lbnUgYW5kIGFsbCByZWxhdGVkIG1lbnVzICBuZXN0ZWQgYW5kIHBhcmVudCBtZW51cykuICovXG4gIHB1YmxpYyBjbG9zZUFsbCgpOiB2b2lkIHtcbiAgICB0aGlzLl9tYWluTWVudSgpLl9jbG9zZSh0cnVlKTtcbiAgfVxuXG4gIC8qKiBAcGFyYW0gW2Nsb3NlQWxsPSdmYWxzZSddIC0gSWYgdHJ1ZSwgaXQgZW5zdXJlcyBhbmltYXRpb25zIGFyZSBjb3JyZWN0IGJ5IHRvZ2dsaW5nIHNvbWUgc3RhdGVzIHdoZW4gY2xvc2luZyBhbGwgcmVsYXRlZCBtZW51cyBhdCBvbmNlLiAqL1xuICBwcml2YXRlIF9jbG9zZShjbG9zZUFsbCA9IGZhbHNlKTogdm9pZCB7XG4gICAgaWYgKCh0aGlzLnN0YXRlID09PSAnb3BlbmluZycgJiYgIXRoaXMuX2lzTmVzdGVkKCkpIHx8ICF0aGlzLmRpc3BhdGNoQmVmb3JlQ2xvc2VFdmVudCgpKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgLy8gQ2xvc2UgbmVzdGVkIG1lbnVzIGZpcnN0XG4gICAgdGhpcy5fbmVzdGVkTWVudT8uX2Nsb3NlKGNsb3NlQWxsKTtcblxuICAgIGlmICh0aGlzLl9pc05lc3RlZCgpKSB7XG4gICAgICBjb25zdCBwYXJlbnRNZW51ID0gdGhpcy5fcGFyZW50TWVudSgpITtcbiAgICAgIHRoaXMudG9nZ2xlU3RhdGUoJ2Nsb3NlLWFsbCcsIGNsb3NlQWxsKTtcbiAgICAgIHBhcmVudE1lbnUudG9nZ2xlU3RhdGUoJ3NraXAtYW5pbWF0aW9uJywgY2xvc2VBbGwpO1xuICAgICAgcGFyZW50TWVudS50b2dnbGVTdGF0ZSgnbmVzdGVkLWNoaWxkJywgZmFsc2UpO1xuICAgICAgcGFyZW50TWVudS5fbmVzdGVkTWVudSA9IG51bGw7XG4gICAgfVxuXG4gICAgdGhpcy5zdGF0ZSA9ICdjbG9zaW5nJztcbiAgICB0aGlzLl90cmlnZ2VyRWxlbWVudD8uc2V0QXR0cmlidXRlKCdhcmlhLWV4cGFuZGVkJywgJ2ZhbHNlJyk7XG5cbiAgICAvLyBJZiB0aGUgYW5pbWF0aW9uIGR1cmF0aW9uIGlzIHplcm8sIHRoZSBhbmltYXRpb25lbmQgZXZlbnQgaXMgbm90IGFsd2F5cyBmaXJlZCByZWxpYWJseS5cbiAgICAvLyBJbiB0aGlzIGNhc2Ugd2UgZGlyZWN0bHkgc2V0IHRoZSBgY2xvc2VkYCBzdGF0ZS5cbiAgICBpZiAodGhpcy5faXNaZXJvQW5pbWF0aW9uRHVyYXRpb24oKSkge1xuICAgICAgdGhpcy5faGFuZGxlQ2xvc2luZygpO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgX2lzWmVyb0FuaW1hdGlvbkR1cmF0aW9uKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiBpc1plcm9BbmltYXRpb25EdXJhdGlvbih0aGlzLCAnLS1zYmItbWVudS1hbmltYXRpb24tZHVyYXRpb24nKTtcbiAgfVxuXG4gIHByaXZhdGUgX2hhbmRsZU9wZW5pbmcoKTogdm9pZCB7XG4gICAgdGhpcy5zdGF0ZSA9ICdvcGVuZWQnO1xuXG4gICAgaWYgKCF0aGlzLl9pc05lc3RlZCgpKSB7XG4gICAgICB0aGlzLl9pbmVydENvbnRyb2xsZXIuYWN0aXZhdGUoKTtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5fdXBkYXRlTmVzdGVkSW5lcnQoKTtcbiAgICB9XG4gICAgdGhpcy5fZXNjYXBhYmxlT3ZlcmxheUNvbnRyb2xsZXIuY29ubmVjdCgpO1xuICAgIHRoaXMuX2ZvY3VzVHJhcENvbnRyb2xsZXIuZm9jdXNJbml0aWFsRWxlbWVudCgpO1xuICAgIHRoaXMuX2ZvY3VzVHJhcENvbnRyb2xsZXIuZW5hYmxlZCA9IHRydWU7XG4gICAgdGhpcy5fYXR0YWNoV2luZG93RXZlbnRzKCk7XG4gICAgdGhpcy5kaXNwYXRjaE9wZW5FdmVudCgpO1xuICB9XG5cbiAgcHJpdmF0ZSBfaGFuZGxlQ2xvc2luZygpOiB2b2lkIHtcbiAgICB0aGlzLnN0YXRlID0gJ2Nsb3NlZCc7XG4gICAgdGhpcy50b2dnbGVTdGF0ZSgnc2tpcC1hbmltYXRpb24nLCBmYWxzZSk7XG4gICAgdGhpcy50b2dnbGVTdGF0ZSgnY2xvc2UtYWxsJywgZmFsc2UpO1xuICAgIHRoaXMuaGlkZVBvcG92ZXI/LigpO1xuXG4gICAgdGhpcy5fbWVudT8uZmlyc3RFbGVtZW50Q2hpbGQ/LnNjcm9sbFRvKDAsIDApO1xuICAgIGlmICghdGhpcy5faXNOZXN0ZWQoKSkge1xuICAgICAgdGhpcy5faW5lcnRDb250cm9sbGVyLmRlYWN0aXZhdGUoKTtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5fdXBkYXRlTmVzdGVkSW5lcnQoKTtcbiAgICB9XG4gICAgLy8gTWFudWFsbHkgZm9jdXMgbGFzdCBmb2N1c2VkIGVsZW1lbnRcbiAgICB0aGlzLl90cmlnZ2VyRWxlbWVudD8uZm9jdXMoe1xuICAgICAgLy8gV2hlbiBpbnNpZGUgdGhlIHNiYi1oZWFkZXIsIHdlIHByZXZlbnQgdGhlIHNjcm9sbCB0byBhdm9pZCB0aGUgc25hcHBpbmcgdG8gdGhlIHRvcCBvZiB0aGUgcGFnZVxuICAgICAgcHJldmVudFNjcm9sbDogWydzYmItaGVhZGVyLWJ1dHRvbicsICdzYmItaGVhZGVyLWxpbmsnXS5pbmNsdWRlcyhcbiAgICAgICAgdGhpcy5fdHJpZ2dlckVsZW1lbnQubG9jYWxOYW1lLFxuICAgICAgKSxcbiAgICB9KTtcbiAgICB0aGlzLl9lc2NhcGFibGVPdmVybGF5Q29udHJvbGxlci5kaXNjb25uZWN0KCk7XG4gICAgdGhpcy5kaXNwYXRjaENsb3NlRXZlbnQoKTtcbiAgICB0aGlzLl93aW5kb3dFdmVudHNDb250cm9sbGVyPy5hYm9ydCgpO1xuICAgIHRoaXMuX2ZvY3VzVHJhcENvbnRyb2xsZXIuZW5hYmxlZCA9IGZhbHNlO1xuXG4gICAgLy8gU3RhcnRpbmcgZnJvbSBicmVha3BvaW50IGxhcmdlLCBlbmFibGUgc2Nyb2xsXG4gICAgdGhpcy5fc2Nyb2xsSGFuZGxlci5lbmFibGVTY3JvbGwoKTtcbiAgfVxuXG4gIHByaXZhdGUgX2hhbmRsZUtleURvd24oZXZ0OiBLZXlib2FyZEV2ZW50KTogdm9pZCB7XG4gICAgaWYgKCFpc0Fycm93S2V5T3JQYWdlS2V5c1ByZXNzZWQoZXZ0KSkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICBldnQucHJldmVudERlZmF1bHQoKTtcblxuICAgIGNvbnN0IGVuYWJsZWRBY3Rpb25zOiBFbGVtZW50W10gPSBBcnJheS5mcm9tKFxuICAgICAgdGhpcy5xdWVyeVNlbGVjdG9yQWxsPFNiYk1lbnVCdXR0b25FbGVtZW50IHwgU2JiTWVudUxpbmtFbGVtZW50PihcbiAgICAgICAgJ3NiYi1tZW51LWJ1dHRvbiwgc2JiLW1lbnUtbGluaycsXG4gICAgICApLFxuICAgIClcbiAgICAgIC5jb25jYXQodGhpcy5zaGFkb3dSb290IS5xdWVyeVNlbGVjdG9yKCdzYmItbWVudS1idXR0b24nKSEpXG4gICAgICAuZmlsdGVyKFxuICAgICAgICAoZWwpID0+ICghZWwuZGlzYWJsZWQgfHwgZWwuZGlzYWJsZWRJbnRlcmFjdGl2ZSkgJiYgaW50ZXJhY3Rpdml0eUNoZWNrZXIuaXNWaXNpYmxlKGVsKSxcbiAgICAgICk7XG4gICAgY29uc3QgY3VycmVudCA9IGVuYWJsZWRBY3Rpb25zLmZpbmRJbmRleCgoZTogRWxlbWVudCkgPT4gZSA9PT0gZXZ0LnRhcmdldCk7XG5cbiAgICBsZXQgbmV4dEluZGV4O1xuICAgIHN3aXRjaCAoZXZ0LmtleSkge1xuICAgICAgY2FzZSAnQXJyb3dVcCc6XG4gICAgICBjYXNlICdBcnJvd0Rvd24nOlxuICAgICAgICBuZXh0SW5kZXggPSBnZXROZXh0RWxlbWVudEluZGV4KGV2dCwgY3VycmVudCwgZW5hYmxlZEFjdGlvbnMubGVuZ3RoKTtcbiAgICAgICAgYnJlYWs7XG5cbiAgICAgIGNhc2UgJ0Fycm93TGVmdCc6XG4gICAgICAgIGlmICh0aGlzLl9pc05lc3RlZCgpKSB7XG4gICAgICAgICAgdGhpcy5jbG9zZSgpO1xuICAgICAgICB9XG4gICAgICAgIGJyZWFrO1xuXG4gICAgICBjYXNlICdBcnJvd1JpZ2h0JzpcbiAgICAgICAgaWYgKChldnQudGFyZ2V0IGFzIEhUTUxFbGVtZW50KS5oYXNBdHRyaWJ1dGUoJ2RhdGEtc2JiLW1lbnUtdHJpZ2dlcicpKSB7XG4gICAgICAgICAgKGV2dC50YXJnZXQgYXMgSFRNTEVsZW1lbnQpLmNsaWNrKCk7XG4gICAgICAgIH1cbiAgICAgICAgYnJlYWs7XG5cbiAgICAgIGNhc2UgJ1BhZ2VVcCc6XG4gICAgICBjYXNlICdIb21lJzpcbiAgICAgICAgbmV4dEluZGV4ID0gMDtcbiAgICAgICAgYnJlYWs7XG5cbiAgICAgIGNhc2UgJ0VuZCc6XG4gICAgICBjYXNlICdQYWdlRG93bic6XG4gICAgICAgIG5leHRJbmRleCA9IGVuYWJsZWRBY3Rpb25zLmxlbmd0aCAtIDE7XG4gICAgICAgIGJyZWFrO1xuICAgIH1cblxuICAgIGlmIChuZXh0SW5kZXggIT09IHVuZGVmaW5lZCkge1xuICAgICAgKGVuYWJsZWRBY3Rpb25zW25leHRJbmRleF0gYXMgSFRNTEVsZW1lbnQpLmZvY3VzKCk7XG4gICAgfVxuICB9XG5cbiAgLy8gUmVtb3ZlcyB0cmlnZ2VyIGNsaWNrIGxpc3RlbmVyIG9uIHRyaWdnZXIgY2hhbmdlLlxuICBwcm90ZWN0ZWQgb3ZlcnJpZGUgY3JlYXRlUmVuZGVyUm9vdCgpOiBIVE1MRWxlbWVudCB8IERvY3VtZW50RnJhZ21lbnQge1xuICAgIGNvbnN0IHJlbmRlclJvb3QgPSBzdXBlci5jcmVhdGVSZW5kZXJSb290KCk7XG4gICAgLy8gRHVlIHRvIHRoZSBmYWN0IHRoYXQgbWVudSBjYW4gYm90aCBiZSBhIGxpc3QgYW5kIGp1c3QgYSBjb250YWluZXIsIHdlIG5lZWQgdG8gY2hlY2sgaXRzXG4gICAgLy8gc3RhdGUgYmVmb3JlIHRoZSBTYmJOYW1lZFNsb3RMaXN0TWl4aW4gaGFuZGxlcyB0aGUgc2xvdGNoYW5nZSBldmVudCwgaW4gb3JkZXIgdG8gYXZvaWRcbiAgICAvLyBpdCBpbnRlcnByZXRpbmcgdGhlIG5vbiBsaXN0IGNhc2UgYXMgYSBsaXN0LlxuICAgIHRoaXMuc2hhZG93Um9vdD8uYWRkRXZlbnRMaXN0ZW5lcignc2xvdGNoYW5nZScsICgpID0+IHRoaXMuX3N5bmNOZWdhdGl2ZSgpLCB7IGNhcHR1cmU6IHRydWUgfSk7XG4gICAgcmV0dXJuIHJlbmRlclJvb3Q7XG4gIH1cblxuICBwdWJsaWMgb3ZlcnJpZGUgY29ubmVjdGVkQ2FsbGJhY2soKTogdm9pZCB7XG4gICAgdGhpcy5wb3BvdmVyID0gJ21hbnVhbCc7XG4gICAgc3VwZXIuY29ubmVjdGVkQ2FsbGJhY2soKTtcbiAgICB0aGlzLmlkIHx8PSBgc2JiLW1lbnUtJHtuZXh0SWQrK31gO1xuICAgIGlmICh0aGlzLmhhc1VwZGF0ZWQpIHtcbiAgICAgIHRoaXMuX2NvbmZpZ3VyZVRyaWdnZXIoKTtcbiAgICB9XG4gIH1cblxuICBwdWJsaWMgb3ZlcnJpZGUgZGlzY29ubmVjdGVkQ2FsbGJhY2soKTogdm9pZCB7XG4gICAgc3VwZXIuZGlzY29ubmVjdGVkQ2FsbGJhY2soKTtcbiAgICB0aGlzLl90cmlnZ2VyRWxlbWVudCA9IG51bGw7XG4gICAgdGhpcy5fdHJpZ2dlckFib3J0Q29udHJvbGxlcj8uYWJvcnQoKTtcbiAgICB0aGlzLl93aW5kb3dFdmVudHNDb250cm9sbGVyPy5hYm9ydCgpO1xuICAgIHRoaXMuX3Njcm9sbEhhbmRsZXIuZW5hYmxlU2Nyb2xsKCk7XG4gIH1cblxuICBwdWJsaWMgb3ZlcnJpZGUgcmVxdWVzdFVwZGF0ZShcbiAgICBuYW1lPzogUHJvcGVydHlLZXksXG4gICAgb2xkVmFsdWU/OiB1bmtub3duLFxuICAgIG9wdGlvbnM/OiBQcm9wZXJ0eURlY2xhcmF0aW9uLFxuICApOiB2b2lkIHtcbiAgICBzdXBlci5yZXF1ZXN0VXBkYXRlKG5hbWUsIG9sZFZhbHVlLCBvcHRpb25zKTtcblxuICAgIGlmICghaXNTZXJ2ZXIgJiYgKCFuYW1lIHx8IG5hbWUgPT09ICd0cmlnZ2VyJykgJiYgdGhpcy5oYXNVcGRhdGVkKSB7XG4gICAgICB0aGlzLl9jb25maWd1cmVUcmlnZ2VyKCk7XG4gICAgfVxuICB9XG5cbiAgLy8gQ2hlY2sgaWYgdGhlIHRyaWdnZXIgaXMgdmFsaWQgYW5kIGF0dGFjaCBjbGljayBldmVudCBsaXN0ZW5lcnMuXG4gIHByaXZhdGUgX2NvbmZpZ3VyZVRyaWdnZXIoKTogdm9pZCB7XG4gICAgaWYgKHRoaXMudHJpZ2dlciA9PT0gdGhpcy5fdHJpZ2dlckVsZW1lbnQpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICB0aGlzLl90cmlnZ2VyQWJvcnRDb250cm9sbGVyPy5hYm9ydCgpO1xuICAgIHJlbW92ZUFyaWFPdmVybGF5VHJpZ2dlckF0dHJpYnV0ZXModGhpcy5fdHJpZ2dlckVsZW1lbnQpO1xuICAgIHRoaXMuX3RyaWdnZXJFbGVtZW50ID0gdGhpcy50cmlnZ2VyO1xuXG4gICAgaWYgKCF0aGlzLl90cmlnZ2VyRWxlbWVudCkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIHNldEFyaWFPdmVybGF5VHJpZ2dlckF0dHJpYnV0ZXModGhpcy5fdHJpZ2dlckVsZW1lbnQsICdtZW51JywgdGhpcy5pZCwgdGhpcy5zdGF0ZSk7XG4gICAgdGhpcy5fdHJpZ2dlckFib3J0Q29udHJvbGxlciA9IG5ldyBBYm9ydENvbnRyb2xsZXIoKTtcbiAgICB0aGlzLl90cmlnZ2VyRWxlbWVudC5hZGRFdmVudExpc3RlbmVyKCdjbGljaycsICgpID0+IHRoaXMub3BlbigpLCB7XG4gICAgICBzaWduYWw6IHRoaXMuX3RyaWdnZXJBYm9ydENvbnRyb2xsZXIuc2lnbmFsLFxuICAgIH0pO1xuXG4gICAgLy8gQ29uc2lkZXIgdGhlIG1lbnUgYXMgbmVzdGVkIGlmIHRoZSB0cmlnZ2VyIGlzIGEgbWVudSBidXR0b24gb3IgbWVudSBsaW5rLlxuICAgIHRoaXMudG9nZ2xlU3RhdGUoXG4gICAgICAnbmVzdGVkJyxcbiAgICAgIFsnc2JiLW1lbnUtYnV0dG9uJywgJ3NiYi1tZW51LWxpbmsnXS5pbmNsdWRlcyh0aGlzLl90cmlnZ2VyRWxlbWVudC5sb2NhbE5hbWUpLFxuICAgICk7XG4gICAgdGhpcy5fdHJpZ2dlckVsZW1lbnQudG9nZ2xlQXR0cmlidXRlKCdkYXRhLXNiYi1tZW51LXRyaWdnZXInLCB0cnVlKTtcbiAgfVxuXG4gIHByaXZhdGUgX2F0dGFjaFdpbmRvd0V2ZW50cygpOiB2b2lkIHtcbiAgICB0aGlzLl93aW5kb3dFdmVudHNDb250cm9sbGVyID0gbmV3IEFib3J0Q29udHJvbGxlcigpO1xuICAgIGRvY3VtZW50LmFkZEV2ZW50TGlzdGVuZXIoJ3Njcm9sbCcsICgpID0+IHRoaXMuX3NldE1lbnVQb3NpdGlvbigpLCB7XG4gICAgICBwYXNzaXZlOiB0cnVlLFxuICAgICAgc2lnbmFsOiB0aGlzLl93aW5kb3dFdmVudHNDb250cm9sbGVyLnNpZ25hbCxcbiAgICAgIC8vIFdpdGhvdXQgY2FwdHVyZSwgb3RoZXIgc2Nyb2xsIGNvbnRleHRzIHdvdWxkIG5vdCBidWJibGUgdG8gdGhpcyBldmVudCBsaXN0ZW5lci5cbiAgICAgIC8vIENhcHR1cmUgYWxsb3dzIHVzIHRvIHJlYWN0IHRvIGFsbCBzY3JvbGwgY29udGV4dHMgaW4gdGhpcyBET00uXG4gICAgICBjYXB0dXJlOiB0cnVlLFxuICAgIH0pO1xuICAgIHdpbmRvdy5hZGRFdmVudExpc3RlbmVyKCdyZXNpemUnLCAoKSA9PiB0aGlzLl9zZXRNZW51UG9zaXRpb24oKSwge1xuICAgICAgcGFzc2l2ZTogdHJ1ZSxcbiAgICAgIHNpZ25hbDogdGhpcy5fd2luZG93RXZlbnRzQ29udHJvbGxlci5zaWduYWwsXG4gICAgfSk7XG5cbiAgICAvLyBPbmx5IHRoZSBvdXRlcm1vc3QgbWVudSBuZWVkcyB0byBsaXN0ZW4gdG8gdGhlIGJhY2tkcm9wIGNsaWNrc1xuICAgIGlmICghdGhpcy5faXNOZXN0ZWQoKSkge1xuICAgICAgLy8gQ2xvc2UgbWVudSBvbiBiYWNrZHJvcCBjbGlja1xuICAgICAgd2luZG93LmFkZEV2ZW50TGlzdGVuZXIoJ3BvaW50ZXJkb3duJywgdGhpcy5fcG9pbnRlckRvd25MaXN0ZW5lciwge1xuICAgICAgICBzaWduYWw6IHRoaXMuX3dpbmRvd0V2ZW50c0NvbnRyb2xsZXIuc2lnbmFsLFxuICAgICAgfSk7XG4gICAgICB3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcigncG9pbnRlcnVwJywgdGhpcy5fY2xvc2VPbkJhY2tkcm9wQ2xpY2ssIHtcbiAgICAgICAgc2lnbmFsOiB0aGlzLl93aW5kb3dFdmVudHNDb250cm9sbGVyLnNpZ25hbCxcbiAgICAgIH0pO1xuICAgIH1cbiAgfVxuXG4gIC8vIENsb3NlIG1lbnUgYXQgYW55IGNsaWNrIG9uIGFuIGludGVyYWN0aXZlIGVsZW1lbnQgaW5zaWRlIHRoZSA8c2JiLW1lbnU+IHRoYXQgYnViYmxlcyB0byB0aGUgY29udGFpbmVyLlxuICBwcml2YXRlIF9pbnRlcmFjdGl2ZUVsZW1lbnRDbGljayhldmVudDogRXZlbnQpOiB2b2lkIHtcbiAgICBjb25zdCB0YXJnZXQgPSBldmVudC50YXJnZXQgYXMgSFRNTEVsZW1lbnQ7XG5cbiAgICBpZiAoXG4gICAgICBJTlRFUkFDVElWRV9FTEVNRU5UUy5pbmNsdWRlcyh0YXJnZXQubm9kZU5hbWUpICYmXG4gICAgICAhdGFyZ2V0Lmhhc0F0dHJpYnV0ZSgnZGlzYWJsZWQnKSAmJlxuICAgICAgIXRhcmdldC5oYXNBdHRyaWJ1dGUoJ2RhdGEtc2JiLW1lbnUtdHJpZ2dlcicpICYmXG4gICAgICB0YXJnZXQuaWQgIT09ICdzYmItbWVudV9fYmFjay1idXR0b24nXG4gICAgKSB7XG4gICAgICB0aGlzLmNsb3NlQWxsKCk7XG4gICAgfVxuICB9XG5cbiAgLy8gQ2hlY2sgaWYgdGhlIHBvaW50ZXJkb3duIGV2ZW50IHRhcmdldCBpcyB0cmlnZ2VyZWQgb24gdGhlIG1lbnUuXG4gIHByaXZhdGUgX3BvaW50ZXJEb3duTGlzdGVuZXIgPSAoZXZlbnQ6IFBvaW50ZXJFdmVudCk6IHZvaWQgPT4ge1xuICAgIGNvbnN0IG1lbnUgPSAoZXZlbnQudGFyZ2V0IGFzIEhUTUxFbGVtZW50KS5jbG9zZXN0KCdzYmItbWVudScpO1xuXG4gICAgLy8gVGhlIHBvaW50ZXIgZG93biBpcyBvbiB0aGUgbWVudSBvciBvbmUgb2YgaXRzIG5lc3RlZCBtZW51cy5cbiAgICB0aGlzLl9pc1BvaW50ZXJEb3duRXZlbnRPbk1lbnUgPVxuICAgICAgaXNFdmVudE9uRWxlbWVudCh0aGlzLl9tZW51LCBldmVudCkgfHwgdGhpcy5fbmVzdGVkTWVudXMoKS5zb21lKChlbCkgPT4gbWVudSA9PT0gZWwpO1xuICB9O1xuXG4gIC8vIENsb3NlIG1lbnUgb24gYmFja2Ryb3AgY2xpY2suXG4gIHByaXZhdGUgX2Nsb3NlT25CYWNrZHJvcENsaWNrID0gKGV2ZW50OiBQb2ludGVyRXZlbnQpOiB2b2lkID0+IHtcbiAgICBjb25zdCB0YXJnZXQgPSBldmVudC50YXJnZXQgYXMgSFRNTEVsZW1lbnQ7XG5cbiAgICAvLyBUaGUgYmFja2Ryb3AgaXMgb25seSBsaXN0ZW5lZCBvbiB0aGUgbWFpbiBtZW51IChvdXRlcm1vc3QgbWVudSkuXG4gICAgLy8gVG8gY2xvc2UuXG4gICAgLy8gLSBUaGUgcG9pbnRlciBkb3duIGFuZCB1cCBuZWVkIHRvIGJlIG91dHNpZGUgdGhlIG1lbnUuXG4gICAgLy8gLSBUaGUgdGFyZ2V0IHNob3VsZCBiZSBub3Qgb24gYSBuZXN0ZWQgbWVudVxuICAgIGlmIChcbiAgICAgICF0aGlzLl9pc1BvaW50ZXJEb3duRXZlbnRPbk1lbnUgJiZcbiAgICAgICFpc0V2ZW50T25FbGVtZW50KHRoaXMuX21lbnUsIGV2ZW50KSAmJlxuICAgICAgIXRoaXMuX25lc3RlZE1lbnVzKCkuc29tZSgoZWwpID0+IGVsID09PSB0YXJnZXQpXG4gICAgKSB7XG4gICAgICB0aGlzLmNsb3NlQWxsKCk7XG4gICAgfVxuICB9O1xuXG4gIC8qKiBDb252ZXJ0cyB0aGUgbGlua2VkIGxpc3QgaW50byBhbiBhcnJheSBvZiBTYmJNZW51RWxlbWVudC4gKi9cbiAgcHJpdmF0ZSBfbmVzdGVkTWVudXMoKTogU2JiTWVudUVsZW1lbnRbXSB7XG4gICAgY29uc3QgbWVudXM6IFNiYk1lbnVFbGVtZW50W10gPSBbXTtcbiAgICBsZXQgY3VycmVudCA9IHRoaXMuX25lc3RlZE1lbnU7XG5cbiAgICB3aGlsZSAoY3VycmVudCkge1xuICAgICAgbWVudXMucHVzaChjdXJyZW50KTtcbiAgICAgIGN1cnJlbnQgPSBjdXJyZW50Ll9uZXN0ZWRNZW51O1xuICAgIH1cblxuICAgIHJldHVybiBtZW51cztcbiAgfVxuXG4gIHByaXZhdGUgX3BhcmVudE1lbnUoKTogU2JiTWVudUVsZW1lbnQgfCBudWxsIHtcbiAgICByZXR1cm4gdGhpcy5fdHJpZ2dlckVsZW1lbnQ/LmNsb3Nlc3QoJ3NiYi1tZW51JykgPz8gbnVsbDtcbiAgfVxuXG4gIC8qKiBUaGUgb3V0ZXJtb3N0IG1lbnUuICovXG4gIHByaXZhdGUgX21haW5NZW51KCk6IFNiYk1lbnVFbGVtZW50IHtcbiAgICByZXR1cm4gdGhpcy5faXNOZXN0ZWQoKSA/ICh0aGlzLl9wYXJlbnRNZW51KCk/Ll9tYWluTWVudSgpID8/IHRoaXMpIDogdGhpcztcbiAgfVxuXG4gIHByaXZhdGUgX2lzTmVzdGVkKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiAhIXRoaXMuX3BhcmVudE1lbnUoKTtcbiAgfVxuXG4gIHByaXZhdGUgX3VwZGF0ZU5lc3RlZEluZXJ0KCk6IHZvaWQge1xuICAgIHRoaXMuX2luZXJ0Q29udHJvbGxlci5yZXN0b3JlQWxsRXhlbXB0ZWQoKTtcbiAgICB0aGlzLl9tYWluTWVudSgpXG4gICAgICAuX25lc3RlZE1lbnVzKClcbiAgICAgIC5mb3JFYWNoKChtZW51KSA9PiB0aGlzLl9pbmVydENvbnRyb2xsZXIuZXhlbXB0KG1lbnUpKTtcbiAgfVxuXG4gIC8vIENoZWNrIGlmIG5lc3RlZCBtZW51IHNob3VsZCBiZSBjbG9zZWQuXG4gIHByaXZhdGUgX2hhbmRsZU1vdXNlT3ZlcihldmVudDogTW91c2VFdmVudCk6IHZvaWQge1xuICAgIGNvbnN0IGVsZW1lbnQgPSBldmVudC50YXJnZXQgYXMgSFRNTEVsZW1lbnQ7XG4gICAgY29uc3QgaXNNb2JpbGUgPSB0aGlzLl9pc01vYmlsZSgpO1xuXG4gICAgLy8gQWxsIG5lc3RlZCBtZW51cyBzaG91bGQgY2xvc2UgaW4gZGVza3RvcCBtb2RlIGlmIHRoZSBjdXJzb3IgbGFuZGVkIG9uXG4gICAgLy8gYW55dGhpbmcgb3RoZXIgdGhhbiB0aGUgY29udGFpbmVyLCB0aGUgY29udGFpbmVyJ3Mgc2Nyb2xsYmFyIG9yIHRoZSB0cmlnZ2VyIGl0c2VsZlxuICAgIGlmIChcbiAgICAgICFpc01vYmlsZSAmJlxuICAgICAgdGhpcy5fbmVzdGVkTWVudSAmJlxuICAgICAgIWVsZW1lbnQuY2xhc3NMaXN0LmNvbnRhaW5zKCdzYmItbWVudV9fY29udGVudCcpICYmXG4gICAgICAhKGVsZW1lbnQuZ2V0QXR0cmlidXRlKCdhcmlhLWV4cGFuZGVkJykgPT09ICd0cnVlJylcbiAgICApIHtcbiAgICAgIHRoaXMuX25lc3RlZE1lbnUuY2xvc2UoKTtcbiAgICB9XG5cbiAgICBpZiAoZWxlbWVudC5oYXNBdHRyaWJ1dGUoJ2RhdGEtc2JiLW1lbnUtdHJpZ2dlcicpICYmICFpc01vYmlsZSkge1xuICAgICAgZWxlbWVudC5jbGljaygpO1xuICAgIH1cbiAgfVxuXG4gIC8vIFNldCBtZW51IHBvc2l0aW9uICh4LCB5KSB0byAnMCcgb25jZSB0aGUgbWVudSBpcyBjbG9zZWQgYW5kIHRoZSB0cmFuc2l0aW9uIGVuZGVkIHRvIHByZXZlbnQgdGhlXG4gIC8vIHZpZXdwb3J0IGZyb20gb3ZlcmZsb3dpbmcuIEFuZCBzZXQgdGhlIGZvY3VzIHRvIHRoZSBmaXJzdCBmb2N1c2FibGUgZWxlbWVudCBvbmNlIHRoZSBtZW51IGlzIG9wZW4uXG4gIC8vIEluIHJhcmUgY2FzZXMgaXQgY2FuIGJlIHRoYXQgdGhlIGFuaW1hdGlvbkVuZCBldmVudCBpcyB0cmlnZ2VyZWQgdHdpY2UuXG4gIC8vIFRvIGF2b2lkIGVudGVyaW5nIGEgY29ycnVwdCBzdGF0ZSwgZXhpdCB3aGVuIHN0YXRlIGlzIG5vdCBleHBlY3RlZC5cbiAgcHJpdmF0ZSBfb25NZW51QW5pbWF0aW9uRW5kKGV2ZW50OiBBbmltYXRpb25FdmVudCk6IHZvaWQge1xuICAgIGlmIChcbiAgICAgIChldmVudC5hbmltYXRpb25OYW1lID09PSAnb3BlbicgfHwgZXZlbnQuYW5pbWF0aW9uTmFtZSA9PT0gJ29wZW4tc2lkZXdheXMnKSAmJlxuICAgICAgdGhpcy5zdGF0ZSA9PT0gJ29wZW5pbmcnXG4gICAgKSB7XG4gICAgICB0aGlzLl9oYW5kbGVPcGVuaW5nKCk7XG4gICAgfSBlbHNlIGlmIChcbiAgICAgIChldmVudC5hbmltYXRpb25OYW1lID09PSAnY2xvc2UnIHx8IGV2ZW50LmFuaW1hdGlvbk5hbWUgPT09ICdjbG9zZS1zaWRld2F5cycpICYmXG4gICAgICB0aGlzLnN0YXRlID09PSAnY2xvc2luZydcbiAgICApIHtcbiAgICAgIHRoaXMuX2hhbmRsZUNsb3NpbmcoKTtcbiAgICB9XG4gIH1cblxuICAvLyBTZXQgbWVudSBwb3NpdGlvbiBhbmQgbWF4IGhlaWdodCBpZiB0aGUgYnJlYWtwb2ludCBpcyBsYXJnZS11bHRyYS5cbiAgcHJpdmF0ZSBfc2V0TWVudVBvc2l0aW9uKCk6IHZvaWQge1xuICAgIC8vIFN0YXJ0aW5nIGZyb20gYnJlYWtwb2ludCBsYXJnZVxuICAgIGlmICh0aGlzLl9pc01vYmlsZSgpIHx8ICF0aGlzLl9tZW51IHx8ICF0aGlzLl90cmlnZ2VyRWxlbWVudCB8fCB0aGlzLnN0YXRlID09PSAnY2xvc2luZycpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBjb25zdCBtZW51UG9zaXRpb24gPSAhdGhpcy5faXNOZXN0ZWQoKVxuICAgICAgPyBnZXRFbGVtZW50UG9zaXRpb24oXG4gICAgICAgICAgdGhpcy5zaGFkb3dSb290IS5xdWVyeVNlbGVjdG9yKCcuc2JiLW1lbnVfX2NvbnRlbnQnKSEsXG4gICAgICAgICAgdGhpcy5fdHJpZ2dlckVsZW1lbnQsXG4gICAgICAgICAgdGhpcy5zaGFkb3dSb290IS5xdWVyeVNlbGVjdG9yKCcuc2JiLW1lbnVfX2NvbnRhaW5lcicpISxcbiAgICAgICAgICB7XG4gICAgICAgICAgICB2ZXJ0aWNhbE9mZnNldDogTUVOVV9PRkZTRVQsXG4gICAgICAgICAgfSxcbiAgICAgICAgKVxuICAgICAgOiBnZXRFbGVtZW50UG9zaXRpb25Ib3Jpem9udGFsKFxuICAgICAgICAgIHRoaXMuc2hhZG93Um9vdCEucXVlcnlTZWxlY3RvcignLnNiYi1tZW51X19jb250ZW50JykhLFxuICAgICAgICAgIHRoaXMuX3RyaWdnZXJFbGVtZW50LFxuICAgICAgICAgIHRoaXMuc2hhZG93Um9vdCEucXVlcnlTZWxlY3RvcignLnNiYi1tZW51X19jb250YWluZXInKSEsXG4gICAgICAgICAge1xuICAgICAgICAgICAgaG9yaXpvbnRhbE9mZnNldDogTUVOVV9PRkZTRVQsXG4gICAgICAgICAgICB2ZXJ0aWNhbE9mZnNldDogTkVTVEVEX01FTlVfT0ZGU0VULFxuICAgICAgICAgICAgY29udGVudFNlbGVjdG9yOiAnLnNiYi1tZW51X19jb250ZW50JyxcbiAgICAgICAgICB9LFxuICAgICAgICApO1xuXG4gICAgdGhpcy5zdHlsZS5zZXRQcm9wZXJ0eSgnLS1zYmItbWVudS1wb3NpdGlvbi14JywgYCR7bWVudVBvc2l0aW9uLmxlZnR9cHhgKTtcbiAgICB0aGlzLnN0eWxlLnNldFByb3BlcnR5KCctLXNiYi1tZW51LXBvc2l0aW9uLXknLCBgJHttZW51UG9zaXRpb24udG9wfXB4YCk7XG4gICAgdGhpcy5zdHlsZS5zZXRQcm9wZXJ0eSgnLS1zYmItbWVudS1tYXgtaGVpZ2h0JywgbWVudVBvc2l0aW9uLm1heEhlaWdodCk7XG4gIH1cblxuICBwcml2YXRlIF9zeW5jTmVnYXRpdmUoKTogdm9pZCB7XG4gICAgLy8gTGlua3MgYW5kIGJ1dHRvbnMgYXJlIHRoZSBtb3N0IGV4cGVjdGVkIGNvbnRlbnRzIHdoaWNoIGhhdmUgYSBuZWdhdGl2ZSBwcm9wZXJ0eVxuICAgIHRoaXMucXVlcnlTZWxlY3RvckFsbCgnW2RhdGEtc2JiLWxpbmtdLCBbZGF0YS1zYmItYnV0dG9uXScpPy5mb3JFYWNoKChlbDogRWxlbWVudCkgPT4ge1xuICAgICAgY3VzdG9tRWxlbWVudHMudXBncmFkZShlbCk7XG4gICAgICAoZWwgYXMgRWxlbWVudCAmIFNiYk5lZ2F0aXZlTWl4aW5UeXBlKS5uZWdhdGl2ZSA9ICF0aGlzLl9kYXJrTW9kZUNvbnRyb2xsZXIubWF0Y2hlcygpO1xuICAgIH0pO1xuICB9XG5cbiAgcHJpdmF0ZSBfaXNNb2JpbGUoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMuX21lZGlhTWF0Y2hlci5tYXRjaGVzKHRoaXMuX21vYmlsZUJyZWFrcG9pbnQpID8/IHRydWU7XG4gIH1cblxuICBwcm90ZWN0ZWQgb3ZlcnJpZGUgcmVuZGVyKCk6IFRlbXBsYXRlUmVzdWx0IHtcbiAgICAvLyBUT0RPOiBIYW5kbGUgY2FzZSB3aXRoIG90aGVyIGVsZW1lbnRzIHRoYW4gc2JiLW1lbnUtYnV0dG9uL3NiYi1tZW51LWxpbmsuXG4gICAgcmV0dXJuIGh0bWxgXG4gICAgICA8ZGl2IGNsYXNzPVwic2JiLW1lbnVfX2NvbnRhaW5lclwiPlxuICAgICAgICA8ZGl2XG4gICAgICAgICAgQGFuaW1hdGlvbmVuZD0ke3RoaXMuX29uTWVudUFuaW1hdGlvbkVuZH1cbiAgICAgICAgICBAbW91c2VvdmVyPSR7KGU6IE1vdXNlRXZlbnQpID0+IHRoaXMuX2hhbmRsZU1vdXNlT3ZlcihlKX1cbiAgICAgICAgICBjbGFzcz1cInNiYi1tZW51XCJcbiAgICAgICAgICAke3JlZigoZWw/OiBFbGVtZW50KSA9PiAodGhpcy5fbWVudSA9IGVsIGFzIEhUTUxEaXZFbGVtZW50KSl9XG4gICAgICAgID5cbiAgICAgICAgICA8ZGl2XG4gICAgICAgICAgICBAY2xpY2s9JHsoZXZlbnQ6IEV2ZW50KSA9PiB0aGlzLl9pbnRlcmFjdGl2ZUVsZW1lbnRDbGljayhldmVudCl9XG4gICAgICAgICAgICBAc2Nyb2xsPSR7KGU6IEV2ZW50KSA9PiBmb3J3YXJkRXZlbnQoZSwgZG9jdW1lbnQpfVxuICAgICAgICAgICAgY2xhc3M9XCJzYmItbWVudV9fY29udGVudFwiXG4gICAgICAgICAgPlxuICAgICAgICAgICAgPHNsb3Q+PC9zbG90PlxuICAgICAgICAgICAgPHNiYi1kaXZpZGVyPjwvc2JiLWRpdmlkZXI+XG4gICAgICAgICAgICA8c2JiLW1lbnUtYnV0dG9uXG4gICAgICAgICAgICAgIGlkPVwic2JiLW1lbnVfX2JhY2stYnV0dG9uXCJcbiAgICAgICAgICAgICAgQGNsaWNrPSR7KCkgPT4gdGhpcy5jbG9zZSgpfVxuICAgICAgICAgICAgICBpY29uLW5hbWU9XCJjaGV2cm9uLXNtYWxsLWxlZnQtc21hbGxcIlxuICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAke2kxOG5Hb0JhY2tbdGhpcy5fbGFuZ3VhZ2UuY3VycmVudF19XG4gICAgICAgICAgICA8L3NiYi1tZW51LWJ1dHRvbj5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9kaXY+XG4gICAgICA8L2Rpdj5cbiAgICBgO1xuICB9XG59XG5cbmRlY2xhcmUgZ2xvYmFsIHtcbiAgaW50ZXJmYWNlIEhUTUxFbGVtZW50VGFnTmFtZU1hcCB7XG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uYW1pbmctY29udmVudGlvblxuICAgICdzYmItbWVudSc6IFNiYk1lbnVFbGVtZW50O1xuICB9XG59XG4iXSwi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
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"message.component.d.ts","sourceRoot":"","sources":["../../../../src/elements/message/message.component.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,cAAc,EAAE,MAAM,KAAK,CAAC;AAC1D,OAAO,EAAQ,UAAU,EAAE,MAAM,KAAK,CAAC;
|
|
1
|
+
{"version":3,"file":"message.component.d.ts","sourceRoot":"","sources":["../../../../src/elements/message/message.component.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,cAAc,EAAE,MAAM,KAAK,CAAC;AAC1D,OAAO,EAAQ,UAAU,EAAE,MAAM,KAAK,CAAC;AAQvC;;;;;;;;GAQG;AACH,qBAEM,iBAAkB,SAAQ,UAAU;IACxC,OAAuB,MAAM,EAAE,cAAc,CAA4B;IAEzE,OAAO,CAAC,eAAe;cAUJ,MAAM,IAAI,cAAc;CAW5C;AAED,OAAO,CAAC,MAAM,CAAC;IACb,UAAU,qBAAqB;QAE7B,aAAa,EAAE,iBAAiB,CAAC;KAClC;CACF"}
|
|
@@ -1,13 +1,8 @@
|
|
|
1
1
|
import { __esDecorate, __runInitializers } from "tslib";
|
|
2
2
|
import { css, LitElement, html } from "lit";
|
|
3
3
|
import { customElement } from "lit/decorators.js";
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
::after {
|
|
7
|
-
box-sizing: border-box;
|
|
8
|
-
}
|
|
9
|
-
|
|
10
|
-
:host {
|
|
4
|
+
import { boxSizingStyles } from "../core/styles.js";
|
|
5
|
+
const style = css`:host {
|
|
11
6
|
--sbb-message-subtitle-color: var(--sbb-color-granite);
|
|
12
7
|
--sbb-message-subtitle-color: light-dark(var(--sbb-color-granite), var(--sbb-color-platinum));
|
|
13
8
|
--sbb-message-image-margin-block: 0 var(--sbb-spacing-responsive-s);
|
|
@@ -90,10 +85,10 @@ let SbbMessageElement = (() => {
|
|
|
90
85
|
__esDecorate(null, _classDescriptor = { value: _classThis }, _classDecorators, { kind: "class", name: _classThis.name, metadata: _metadata }, null, _classExtraInitializers);
|
|
91
86
|
_classThis = _classDescriptor.value;
|
|
92
87
|
if (_metadata) Object.defineProperty(_classThis, Symbol.metadata, { enumerable: true, configurable: true, writable: true, value: _metadata });
|
|
93
|
-
})(), _a.styles = style, __runInitializers(_classThis, _classExtraInitializers), _a;
|
|
88
|
+
})(), _a.styles = [boxSizingStyles, style], __runInitializers(_classThis, _classExtraInitializers), _a;
|
|
94
89
|
return _classThis;
|
|
95
90
|
})();
|
|
96
91
|
export {
|
|
97
92
|
SbbMessageElement
|
|
98
93
|
};
|
|
99
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,
|
|
94
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWVzc2FnZS5jb21wb25lbnQuanMiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9lbGVtZW50cy9tZXNzYWdlL21lc3NhZ2UuY29tcG9uZW50LnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB0eXBlIHsgQ1NTUmVzdWx0R3JvdXAsIFRlbXBsYXRlUmVzdWx0IH0gZnJvbSAnbGl0JztcbmltcG9ydCB7IGh0bWwsIExpdEVsZW1lbnQgfSBmcm9tICdsaXQnO1xuaW1wb3J0IHsgY3VzdG9tRWxlbWVudCB9IGZyb20gJ2xpdC9kZWNvcmF0b3JzLmpzJztcblxuaW1wb3J0IHsgYm94U2l6aW5nU3R5bGVzIH0gZnJvbSAnLi4vY29yZS9zdHlsZXMuanMnO1xuaW1wb3J0IHR5cGUgeyBTYmJUaXRsZUVsZW1lbnQgfSBmcm9tICcuLi90aXRsZS5qcyc7XG5cbmltcG9ydCBzdHlsZSBmcm9tICcuL21lc3NhZ2Uuc2Nzcz9saXQmaW5saW5lJztcblxuLyoqXG4gKiBJdCBkaXNwbGF5cyBhIGNvbXBsZXggbWVzc2FnZSBjb21iaW5pbmcgYSB0aXRsZSwgYW4gaW1hZ2UsIGFuIGFjdGlvbiBhbmQgc29tZSBjb250ZW50LlxuICpcbiAqIEBzbG90IGltYWdlIC0gVXNlIHRoaXMgc2xvdCB0byBwcm92aWRlIGFuIGBzYmItaW1hZ2VgIGNvbXBvbmVudC5cbiAqIEBzbG90IHRpdGxlIC0gVXNlIHRoaXMgc2xvdCB0byBwcm92aWRlIGFuIGBzYmItdGl0bGVgLlxuICogQHNsb3Qgc3VidGl0bGUgLSBVc2UgdGhpcyBzbG90IHRvIHByb3ZpZGUgYSBzdWJ0aXRsZSwgbXVzdCBiZSBhIHBhcmFncmFwaC5cbiAqIEBzbG90IGxlZ2VuZCAtIFVzZSB0aGlzIHNsb3QgdG8gcHJvdmlkZSBhIGxlZ2VuZCwgbXVzdCBiZSBhIHBhcmFncmFwaC5cbiAqIEBzbG90IGFjdGlvbiAtIFVzZSB0aGlzIHNsb3QgdG8gcHJvdmlkZSBhbiBgc2JiLXNlY29uZGFyeS1idXR0b25gLlxuICovXG5leHBvcnRcbkBjdXN0b21FbGVtZW50KCdzYmItbWVzc2FnZScpXG5jbGFzcyBTYmJNZXNzYWdlRWxlbWVudCBleHRlbmRzIExpdEVsZW1lbnQge1xuICBwdWJsaWMgc3RhdGljIG92ZXJyaWRlIHN0eWxlczogQ1NTUmVzdWx0R3JvdXAgPSBbYm94U2l6aW5nU3R5bGVzLCBzdHlsZV07XG5cbiAgcHJpdmF0ZSBfY29uZmlndXJlVGl0bGUoZXZlbnQ6IEV2ZW50KTogdm9pZCB7XG4gICAgY29uc3QgdGl0bGUgPSAoZXZlbnQudGFyZ2V0IGFzIEhUTUxTbG90RWxlbWVudClcbiAgICAgIC5hc3NpZ25lZEVsZW1lbnRzKClcbiAgICAgIC5maW5kKChlKTogZSBpcyBTYmJUaXRsZUVsZW1lbnQgPT4gZS5sb2NhbE5hbWUgPT09ICdzYmItdGl0bGUnKTtcbiAgICBpZiAodGl0bGUpIHtcbiAgICAgIGN1c3RvbUVsZW1lbnRzLnVwZ3JhZGUodGl0bGUpO1xuICAgICAgdGl0bGUudmlzdWFsTGV2ZWwgPSAnNSc7XG4gICAgfVxuICB9XG5cbiAgcHJvdGVjdGVkIG92ZXJyaWRlIHJlbmRlcigpOiBUZW1wbGF0ZVJlc3VsdCB7XG4gICAgcmV0dXJuIGh0bWxgXG4gICAgICA8ZGl2IGNsYXNzPVwic2JiLW1lc3NhZ2VfX2NvbnRhaW5lclwiPlxuICAgICAgICA8c2xvdCBuYW1lPVwiaW1hZ2VcIj48L3Nsb3Q+XG4gICAgICAgIDxzbG90IG5hbWU9XCJ0aXRsZVwiIEBzbG90Y2hhbmdlPSR7dGhpcy5fY29uZmlndXJlVGl0bGV9Pjwvc2xvdD5cbiAgICAgICAgPHNsb3QgbmFtZT1cInN1YnRpdGxlXCI+PC9zbG90PlxuICAgICAgICA8c2xvdCBuYW1lPVwibGVnZW5kXCI+PC9zbG90PlxuICAgICAgICA8c2xvdCBuYW1lPVwiYWN0aW9uXCI+PC9zbG90PlxuICAgICAgPC9kaXY+XG4gICAgYDtcbiAgfVxufVxuXG5kZWNsYXJlIGdsb2JhbCB7XG4gIGludGVyZmFjZSBIVE1MRWxlbWVudFRhZ05hbWVNYXAge1xuICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbmFtaW5nLWNvbnZlbnRpb25cbiAgICAnc2JiLW1lc3NhZ2UnOiBTYmJNZXNzYWdlRWxlbWVudDtcbiAgfVxufVxuIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0lBb0JNLHFCQUFpQixNQUFBOzswQkFEdEIsY0FBYyxhQUFhLENBQUM7Ozs7b0JBQ0c7QUFBUixFQUFBLG1CQUFRLFlBQVU7QUFBQSxJQUdoQyxnQkFBZ0IsT0FBWTtBQUNsQyxZQUFNLFFBQVMsTUFBTSxPQUNsQixpQkFBQSxFQUNBLEtBQUssQ0FBQyxNQUE0QixFQUFFLGNBQWMsV0FBVztBQUNoRSxVQUFJLE9BQU87QUFDVCx1QkFBZSxRQUFRLEtBQUs7QUFDNUIsY0FBTSxjQUFjO0FBQUEsTUFDdEI7QUFBQSxJQUNGO0FBQUEsSUFFbUIsU0FBTTtBQUN2QixhQUFPO0FBQUE7QUFBQTtBQUFBLHlDQUc4QixLQUFLLGVBQWU7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUEsSUFNM0Q7QUFBQTs7QUF2QkYsaUJBQUEsTUFBQSxtQkFBQSxFQUFBLE9BQUEsV0FBQSxHQUFBLGtCQUFBLEVBQUEsTUFBQSxTQUFBLE1BQUEsV0FBQSxNQUFBLFVBQUEsVUFBQSxHQUFBLE1BQUEsdUJBQUE7OztRQUN5QixHQUFBLFNBQXlCLENBQUMsaUJBQWlCLEtBQUssR0FEbkUsa0JBQUEsWUFBQSx1QkFBQSxHQUFrQjs7OyJ9
|
|
@@ -1,11 +1,5 @@
|
|
|
1
1
|
import { css } from "lit";
|
|
2
|
-
const buttonCommon = css
|
|
3
|
-
::before,
|
|
4
|
-
::after {
|
|
5
|
-
box-sizing: border-box;
|
|
6
|
-
}
|
|
7
|
-
|
|
8
|
-
:host {
|
|
2
|
+
const buttonCommon = css`:host {
|
|
9
3
|
display: inline-block;
|
|
10
4
|
outline: none !important;
|
|
11
5
|
--sbb-button-icon-size: var(--sbb-size-icon-ui-small);
|
|
@@ -52,7 +46,7 @@ const buttonCommon = css`*,
|
|
|
52
46
|
--_border: calc(var(--sbb-button-border-width) + var(--sbb-button-border-overlap-fix, 1px)) solid
|
|
53
47
|
var(--_border-color);
|
|
54
48
|
}
|
|
55
|
-
@media (min-width: calc(
|
|
49
|
+
@media (min-width: calc(64rem)) {
|
|
56
50
|
:host {
|
|
57
51
|
--sbb-button-padding-inline: var(--sbb-spacing-fixed-10x);
|
|
58
52
|
}
|
|
@@ -99,7 +93,7 @@ const buttonCommon = css`*,
|
|
|
99
93
|
--sbb-button-min-height: var(--sbb-size-element-s);
|
|
100
94
|
--sbb-button-padding-inline: var(--sbb-spacing-fixed-5x);
|
|
101
95
|
}
|
|
102
|
-
@media (min-width: calc(
|
|
96
|
+
@media (min-width: calc(64rem)) {
|
|
103
97
|
:host([size=m]) {
|
|
104
98
|
--sbb-button-padding-inline: var(--sbb-spacing-fixed-8x);
|
|
105
99
|
}
|
|
@@ -110,26 +104,26 @@ const buttonCommon = css`*,
|
|
|
110
104
|
--sbb-button-padding-inline: var(--sbb-spacing-fixed-4x);
|
|
111
105
|
--sbb-button-gap: var(--sbb-spacing-fixed-1x);
|
|
112
106
|
}
|
|
113
|
-
@media (min-width: calc(
|
|
107
|
+
@media (min-width: calc(64rem)) {
|
|
114
108
|
:host([size=s]) {
|
|
115
109
|
--sbb-button-padding-inline: var(--sbb-spacing-fixed-5x);
|
|
116
110
|
}
|
|
117
111
|
}
|
|
118
112
|
|
|
119
|
-
:host(:where([
|
|
113
|
+
:host(:where(:is(:state(slotted-icon),[state--slotted-icon]), :is(:state(has-icon-name),[state--has-icon-name])):not(:is(:state(slotted),[state--slotted]))) {
|
|
120
114
|
--sbb-button-padding-inline: 0;
|
|
121
115
|
--_width: calc(var(--sbb-button-min-height) + var(--_min-height-modifier));
|
|
122
116
|
}
|
|
123
117
|
|
|
124
118
|
@media (any-hover: hover) {
|
|
125
|
-
:host(:not([disabled], :disabled, [disabled-interactive], :active, [data-active], [loading]):hover) {
|
|
119
|
+
:host(:not([disabled], :disabled, [disabled-interactive], :active, [data-active], [loading]):is(:hover, :is(:state(force-hover),[state--force-hover]))) {
|
|
126
120
|
--sbb-button-translate-y-content-hover: -0.0625rem;
|
|
127
121
|
--sbb-button-shadow-1-offset-y: calc(
|
|
128
122
|
0.5 * var(--sbb-shadow-elevation-level-3-shadow-1-offset-y)
|
|
129
123
|
);
|
|
130
124
|
--sbb-button-shadow-1-blur: calc(0.5 * var(--sbb-shadow-elevation-level-3-shadow-1-blur));
|
|
131
125
|
--sbb-button-shadow-2-blur: calc(0.5 * var(--sbb-shadow-elevation-level-3-shadow-2-blur));
|
|
132
|
-
--sbb-button-cursor: pointer;
|
|
126
|
+
--sbb-button-cursor: var(--sbb-cursor-pointer);
|
|
133
127
|
--_border-color: var(--sbb-button-color-hover-border);
|
|
134
128
|
--_color: var(--sbb-button-color-hover-text);
|
|
135
129
|
--_background-color: var(--sbb-button-color-hover-background);
|
|
@@ -137,13 +131,13 @@ const buttonCommon = css`*,
|
|
|
137
131
|
}
|
|
138
132
|
}
|
|
139
133
|
@media (forced-colors: active) {
|
|
140
|
-
:host(:not([disabled], :disabled, [disabled-interactive], :active, [data-active], [loading]):hover) {
|
|
134
|
+
:host(:not([disabled], :disabled, [disabled-interactive], :active, [data-active], [loading]):is(:hover, :is(:state(force-hover),[state--force-hover]))) {
|
|
141
135
|
--sbb-button-color-hover-border: Highlight !important;
|
|
142
136
|
}
|
|
143
137
|
}
|
|
144
138
|
|
|
145
139
|
:host(:is([disabled], :disabled, [disabled-interactive])) {
|
|
146
|
-
--sbb-button-cursor: default;
|
|
140
|
+
--sbb-button-cursor: var(--sbb-cursor-default);
|
|
147
141
|
--_color: var(--sbb-button-color-disabled-text);
|
|
148
142
|
--_background-color: var(--sbb-button-color-disabled-background);
|
|
149
143
|
--_border-color: var(--sbb-button-color-disabled-border);
|
|
@@ -225,7 +219,7 @@ const buttonCommon = css`*,
|
|
|
225
219
|
white-space: nowrap;
|
|
226
220
|
text-overflow: ellipsis;
|
|
227
221
|
}
|
|
228
|
-
:host(:where([
|
|
222
|
+
:host(:where(:is(:state(slotted-icon),[state--slotted-icon]), :is(:state(has-icon-name),[state--has-icon-name])):not(:is(:state(slotted),[state--slotted]))) .sbb-button__label {
|
|
229
223
|
display: none;
|
|
230
224
|
}
|
|
231
225
|
|
|
@@ -464,11 +458,114 @@ const transparentButton = css`:host {
|
|
|
464
458
|
--sbb-button-color-hover-text: var(--sbb-color-1-negative);
|
|
465
459
|
--sbb-button-color-loading-border: var(--sbb-color-granite);
|
|
466
460
|
}`;
|
|
461
|
+
const miniButtonCommon = css`:host {
|
|
462
|
+
display: inline-block;
|
|
463
|
+
-webkit-tap-highlight-color: transparent;
|
|
464
|
+
height: fit-content;
|
|
465
|
+
outline: none !important;
|
|
466
|
+
--sbb-mini-button-color-text: var(--sbb-color-3);
|
|
467
|
+
--sbb-mini-button-color-default-background: transparent;
|
|
468
|
+
--sbb-mini-button-color-hover-background: var(--sbb-background-color-3);
|
|
469
|
+
--sbb-mini-button-color-active-background: var(--sbb-background-color-4);
|
|
470
|
+
--sbb-mini-button-color-disabled-background: var(--sbb-background-color-3);
|
|
471
|
+
--sbb-mini-button-color-disabled-border: var(--sbb-border-color-5);
|
|
472
|
+
--sbb-mini-button-color-disabled-text: var(--sbb-color-granite);
|
|
473
|
+
--sbb-mini-button-color-disabled-text: light-dark(
|
|
474
|
+
var(--sbb-color-granite),
|
|
475
|
+
var(--sbb-color-smoke)
|
|
476
|
+
);
|
|
477
|
+
--sbb-mini-button-border-radius: var(--sbb-border-radius-infinity);
|
|
478
|
+
--sbb-mini-button-transition-duration: var(
|
|
479
|
+
--sbb-disable-animation-duration,
|
|
480
|
+
var(--sbb-animation-duration-2x)
|
|
481
|
+
);
|
|
482
|
+
--sbb-mini-button-transition-easing-function: var(--sbb-animation-easing);
|
|
483
|
+
--sbb-mini-button-color-background: var(--sbb-mini-button-color-default-background);
|
|
484
|
+
--sbb-mini-button-color: var(--sbb-mini-button-color-text);
|
|
485
|
+
}
|
|
486
|
+
@media (forced-colors: active) {
|
|
487
|
+
:host {
|
|
488
|
+
--sbb-mini-button-color-text: ButtonText !important;
|
|
489
|
+
--sbb-mini-button-color-hover-background: Highlight !important;
|
|
490
|
+
--sbb-mini-button-color-active-background: Highlight !important;
|
|
491
|
+
--sbb-mini-button-color-disabled-background: Canvas !important;
|
|
492
|
+
--sbb-mini-button-color-disabled-border: GrayText !important;
|
|
493
|
+
--sbb-mini-button-color-disabled-text: GrayText !important;
|
|
494
|
+
}
|
|
495
|
+
}
|
|
496
|
+
|
|
497
|
+
:host([negative]) {
|
|
498
|
+
--sbb-mini-button-color-text: var(--sbb-color-3-negative);
|
|
499
|
+
--sbb-mini-button-color-default-background: transparent;
|
|
500
|
+
--sbb-mini-button-color-hover-background: var(--sbb-background-color-3-negative);
|
|
501
|
+
--sbb-mini-button-color-active-background: var(--sbb-background-color-4-negative);
|
|
502
|
+
--sbb-mini-button-color-disabled-background: var(--sbb-background-color-3-negative);
|
|
503
|
+
--sbb-mini-button-color-disabled-border: var(--sbb-border-color-5);
|
|
504
|
+
--sbb-mini-button-color-disabled-text: var(--sbb-color-5);
|
|
505
|
+
}
|
|
506
|
+
|
|
507
|
+
@media (any-hover: hover) {
|
|
508
|
+
:host(:is(:hover, :is(:state(force-hover),[state--force-hover])):not([disabled], :disabled, [disabled-interactive], [data-disabled], [data-group-disabled], :active, [data-active])) {
|
|
509
|
+
--sbb-mini-button-translate-y-content-hover: -0.0625rem;
|
|
510
|
+
--sbb-mini-button-color-background: var(--sbb-mini-button-color-hover-background);
|
|
511
|
+
}
|
|
512
|
+
}
|
|
513
|
+
|
|
514
|
+
:host(:is(:active, [data-active]):not([disabled], :disabled, [disabled-interactive], [data-disabled], [data-group-disabled])) {
|
|
515
|
+
--sbb-mini-button-color-background: var(--sbb-mini-button-color-active-background);
|
|
516
|
+
}
|
|
517
|
+
|
|
518
|
+
:host(:is([disabled], :disabled, [disabled-interactive], [data-disabled], [data-group-disabled])) {
|
|
519
|
+
--sbb-mini-button-color-background: var(--sbb-mini-button-color-disabled-background);
|
|
520
|
+
--sbb-mini-button-border: var(--sbb-border-width-1x) dashed
|
|
521
|
+
var(--sbb-mini-button-color-disabled-border);
|
|
522
|
+
--sbb-mini-button-color: var(--sbb-mini-button-color-disabled-text);
|
|
523
|
+
--sbb-mini-button-pointer-events: none;
|
|
524
|
+
--sbb-mini-button-cursor: var(--sbb-cursor-default);
|
|
525
|
+
}
|
|
526
|
+
|
|
527
|
+
:host([data-focus-visible]) {
|
|
528
|
+
--sbb-focus-outline-style: initial;
|
|
529
|
+
}
|
|
530
|
+
|
|
531
|
+
.sbb-action-base {
|
|
532
|
+
display: flex;
|
|
533
|
+
position: relative;
|
|
534
|
+
color: var(--sbb-mini-button-color);
|
|
535
|
+
border-radius: var(--sbb-mini-button-border-radius);
|
|
536
|
+
user-select: none;
|
|
537
|
+
pointer-events: var(--sbb-mini-button-pointer-events, auto);
|
|
538
|
+
cursor: var(--sbb-mini-button-cursor, var(--sbb-cursor-pointer));
|
|
539
|
+
transition: color var(--sbb-mini-button-transition-duration) var(--sbb-mini-button-transition-easing-function);
|
|
540
|
+
}
|
|
541
|
+
.sbb-action-base::before {
|
|
542
|
+
position: absolute;
|
|
543
|
+
content: "";
|
|
544
|
+
inset: 0;
|
|
545
|
+
border-radius: var(--sbb-mini-button-border-radius);
|
|
546
|
+
background-color: var(--sbb-mini-button-color-background);
|
|
547
|
+
transition-duration: var(--sbb-mini-button-transition-duration);
|
|
548
|
+
transition-timing-function: var(--sbb-mini-button-transition-easing-function);
|
|
549
|
+
transition-property: inset, background-color;
|
|
550
|
+
border: var(--sbb-mini-button-border);
|
|
551
|
+
}
|
|
552
|
+
:host(:is([data-focus-visible], :focus-visible)) .sbb-action-base::before {
|
|
553
|
+
outline-offset: var(--sbb-focus-outline-offset);
|
|
554
|
+
outline: var(--sbb-focus-outline-color) var(--sbb-focus-outline-style, solid) var(--sbb-focus-outline-width);
|
|
555
|
+
}
|
|
556
|
+
|
|
557
|
+
::slotted(sbb-icon),
|
|
558
|
+
sbb-icon {
|
|
559
|
+
display: flex;
|
|
560
|
+
transition: translate var(--sbb-mini-button-transition-duration) var(--sbb-mini-button-transition-easing-function);
|
|
561
|
+
translate: 0 var(--sbb-mini-button-translate-y-content-hover, 0rem);
|
|
562
|
+
}`;
|
|
467
563
|
export {
|
|
468
564
|
accentButton as a,
|
|
469
565
|
buttonCommon as b,
|
|
566
|
+
miniButtonCommon as m,
|
|
470
567
|
primaryButton as p,
|
|
471
568
|
secondaryButton as s,
|
|
472
569
|
transparentButton as t
|
|
473
570
|
};
|
|
474
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,
|
|
571
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWluaS1idXR0b24tY29tbW9uLURpMzJiU0pqLmpzIiwic291cmNlcyI6W10sInNvdXJjZXNDb250ZW50IjpbXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OzsifQ==
|