@sbb-esta/lyne-elements 1.16.0 → 2.0.1
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.d.ts +4 -1
- package/accordion/accordion.d.ts.map +1 -1
- package/accordion.js +31 -22
- package/action-group/action-group.d.ts +6 -4
- package/action-group/action-group.d.ts.map +1 -1
- package/action-group.js +20 -17
- package/alert/alert/alert.d.ts +7 -23
- package/alert/alert/alert.d.ts.map +1 -1
- package/alert/alert-group/alert-group.d.ts +0 -4
- package/alert/alert-group/alert-group.d.ts.map +1 -1
- package/alert/alert-group.js +46 -47
- package/alert/alert.js +74 -132
- package/animation.css +4 -8
- package/autocomplete/autocomplete-base-element.d.ts +7 -6
- package/autocomplete/autocomplete-base-element.d.ts.map +1 -1
- package/autocomplete/autocomplete.d.ts +0 -1
- package/autocomplete/autocomplete.d.ts.map +1 -1
- package/autocomplete-grid/autocomplete-grid/autocomplete-grid.d.ts +0 -1
- package/autocomplete-grid/autocomplete-grid/autocomplete-grid.d.ts.map +1 -1
- package/autocomplete-grid/autocomplete-grid-button.js +11 -11
- package/autocomplete-grid/autocomplete-grid.js +0 -3
- package/autocomplete.js +68 -67
- package/button/accent-button/accent-button.d.ts +19 -0
- package/button/accent-button/accent-button.d.ts.map +1 -0
- package/button/accent-button-link/accent-button-link.d.ts +19 -0
- package/button/accent-button-link/accent-button-link.d.ts.map +1 -0
- package/button/accent-button-link.d.ts +2 -0
- package/button/accent-button-link.d.ts.map +1 -0
- package/button/accent-button-link.js +17 -0
- package/button/accent-button-static/accent-button-static.d.ts +19 -0
- package/button/accent-button-static/accent-button-static.d.ts.map +1 -0
- package/button/accent-button-static.d.ts +2 -0
- package/button/accent-button-static.d.ts.map +1 -0
- package/button/accent-button-static.js +17 -0
- package/button/accent-button.d.ts +2 -0
- package/button/accent-button.d.ts.map +1 -0
- package/button/accent-button.js +17 -0
- package/button/common/button-common.d.ts.map +1 -1
- package/button/common.d.ts.map +1 -1
- package/button/common.js +20 -16
- package/button/mini-button/mini-button.d.ts +4 -3
- package/button/mini-button/mini-button.d.ts.map +1 -1
- package/button/mini-button-group/mini-button-group.d.ts +4 -1
- package/button/mini-button-group/mini-button-group.d.ts.map +1 -1
- package/button/mini-button-group.js +12 -8
- package/button/mini-button.d.ts +0 -1
- package/button/mini-button.d.ts.map +1 -1
- package/button/mini-button.js +10 -20
- package/button.d.ts +3 -3
- package/button.d.ts.map +1 -1
- package/button.js +3 -3
- package/calendar.js +25 -25
- package/card/card/card.d.ts +4 -1
- package/card/card/card.d.ts.map +1 -1
- package/card/card.js +10 -6
- package/checkbox/checkbox/checkbox.d.ts +4 -6
- package/checkbox/checkbox/checkbox.d.ts.map +1 -1
- package/checkbox/checkbox-group/checkbox-group.d.ts +4 -1
- package/checkbox/checkbox-group/checkbox-group.d.ts.map +1 -1
- package/checkbox/checkbox-group.js +14 -10
- package/checkbox/checkbox-panel/checkbox-panel.d.ts +4 -4
- package/checkbox/checkbox-panel/checkbox-panel.d.ts.map +1 -1
- package/checkbox/checkbox-panel.js +21 -18
- package/checkbox/checkbox.js +28 -26
- package/{chip/chip.d.ts → chip-label/chip-label.d.ts} +4 -4
- package/chip-label/chip-label.d.ts.map +1 -0
- package/chip-label.d.ts +2 -0
- package/chip-label.d.ts.map +1 -0
- package/chip-label.js +54 -0
- package/clock.js +1 -1
- package/container/container.js +21 -21
- package/container/sticky-bar/sticky-bar.d.ts +1 -0
- package/container/sticky-bar/sticky-bar.d.ts.map +1 -1
- package/container/sticky-bar.js +20 -12
- package/core/base-elements/button-base-element.d.ts +27 -18
- package/core/base-elements/button-base-element.d.ts.map +1 -1
- package/core/base-elements/open-close-base-element.d.ts.map +1 -1
- package/core/base-elements.js +135 -138
- package/core/datetime/date-adapter.d.ts +2 -1
- package/core/datetime/date-adapter.d.ts.map +1 -1
- package/core/datetime/native-date-adapter.d.ts +1 -1
- package/core/datetime/native-date-adapter.d.ts.map +1 -1
- package/core/datetime.js +29 -28
- package/core/dom/animation.d.ts +2 -0
- package/core/dom/animation.d.ts.map +1 -0
- package/core/dom/lean-context.d.ts +5 -0
- package/core/dom/lean-context.d.ts.map +1 -0
- package/core/dom.d.ts +2 -2
- package/core/dom.d.ts.map +1 -1
- package/core/dom.js +50 -55
- package/core/eventing/form-element-handlers.d.ts +0 -7
- package/core/eventing/form-element-handlers.d.ts.map +1 -1
- package/core/eventing.d.ts +0 -1
- package/core/eventing.d.ts.map +1 -1
- package/core/eventing.js +28 -49
- package/core/i18n/i18n.d.ts +4 -2
- package/core/i18n/i18n.d.ts.map +1 -1
- package/core/i18n.js +147 -140
- package/core/mixins/disabled-mixin.d.ts +2 -7
- package/core/mixins/disabled-mixin.d.ts.map +1 -1
- package/core/mixins/form-associated-checkbox-mixin.d.ts.map +1 -1
- package/core/mixins/form-associated-radio-button-mixin.d.ts +35 -0
- package/core/mixins/form-associated-radio-button-mixin.d.ts.map +1 -0
- package/core/mixins.d.ts +1 -0
- package/core/mixins.d.ts.map +1 -1
- package/core/mixins.js +347 -220
- package/core/styles/_index.scss +1 -0
- package/core/styles/core.scss +150 -0
- package/core/styles/image.scss +66 -0
- package/core/styles/mixins/animation.scss +2 -4
- package/core/styles/mixins/buttons.scss +7 -4
- package/core/styles/mixins/card.scss +1 -1
- package/core/styles/mixins/chip.scss +35 -35
- package/core/styles/mixins/image.scss +34 -0
- package/core/styles/mixins/overlay.scss +1 -1
- package/core/styles/mixins/panel.scss +1 -1
- package/core/styles/standard-theme.scss +1 -0
- package/core/styles/table.scss +4 -0
- package/core/testing/event-spy.d.ts +2 -1
- package/core/testing/event-spy.d.ts.map +1 -1
- package/core/testing.d.ts +0 -1
- package/core/testing.d.ts.map +1 -1
- package/core/testing.js +48 -57
- package/core.css +113 -0
- package/custom-elements.json +25946 -21671
- package/datepicker/common/datepicker-button.d.ts +3 -5
- package/datepicker/common/datepicker-button.d.ts.map +1 -1
- package/datepicker/common.js +30 -29
- package/datepicker/datepicker/datepicker.d.ts +25 -72
- package/datepicker/datepicker/datepicker.d.ts.map +1 -1
- package/datepicker/datepicker-next-day/datepicker-next-day.d.ts +1 -3
- package/datepicker/datepicker-next-day/datepicker-next-day.d.ts.map +1 -1
- package/datepicker/datepicker-next-day.js +10 -12
- package/datepicker/datepicker-previous-day/datepicker-previous-day.d.ts +1 -3
- package/datepicker/datepicker-previous-day/datepicker-previous-day.d.ts.map +1 -1
- package/datepicker/datepicker-previous-day.js +11 -13
- package/datepicker/datepicker.js +129 -157
- package/development/accordion/accordion.d.ts +4 -1
- package/development/accordion/accordion.d.ts.map +1 -1
- package/development/accordion.js +16 -5
- package/development/action-group/action-group.d.ts +6 -4
- package/development/action-group/action-group.d.ts.map +1 -1
- package/development/action-group.js +10 -7
- package/development/alert/alert/alert.d.ts +7 -23
- package/development/alert/alert/alert.d.ts.map +1 -1
- package/development/alert/alert-group/alert-group.d.ts +0 -4
- package/development/alert/alert-group/alert-group.d.ts.map +1 -1
- package/development/alert/alert-group.js +10 -12
- package/development/alert/alert.js +38 -122
- package/development/autocomplete/autocomplete-base-element.d.ts +7 -6
- package/development/autocomplete/autocomplete-base-element.d.ts.map +1 -1
- package/development/autocomplete/autocomplete.d.ts +0 -1
- package/development/autocomplete/autocomplete.d.ts.map +1 -1
- package/development/autocomplete-grid/autocomplete-grid/autocomplete-grid.d.ts +0 -1
- package/development/autocomplete-grid/autocomplete-grid/autocomplete-grid.d.ts.map +1 -1
- package/development/autocomplete-grid/autocomplete-grid-button.js +6 -6
- package/development/autocomplete-grid/autocomplete-grid.js +1 -7
- package/development/autocomplete.js +23 -19
- package/development/button/accent-button/accent-button.d.ts +19 -0
- package/development/button/accent-button/accent-button.d.ts.map +1 -0
- package/development/button/accent-button-link/accent-button-link.d.ts +19 -0
- package/development/button/accent-button-link/accent-button-link.d.ts.map +1 -0
- package/development/button/accent-button-link.d.ts +2 -0
- package/development/button/accent-button-link.d.ts.map +1 -0
- package/development/button/accent-button-link.js +25 -0
- package/development/button/accent-button-static/accent-button-static.d.ts +19 -0
- package/development/button/accent-button-static/accent-button-static.d.ts.map +1 -0
- package/development/button/accent-button-static.d.ts +2 -0
- package/development/button/accent-button-static.d.ts.map +1 -0
- package/development/button/accent-button-static.js +25 -0
- package/development/button/accent-button.d.ts +2 -0
- package/development/button/accent-button.d.ts.map +1 -0
- package/development/button/accent-button.js +25 -0
- package/development/button/common/button-common.d.ts.map +1 -1
- package/development/button/common.d.ts.map +1 -1
- package/development/button/common.js +20 -16
- package/development/button/mini-button/mini-button.d.ts +4 -3
- package/development/button/mini-button/mini-button.d.ts.map +1 -1
- package/development/button/mini-button-group/mini-button-group.d.ts +4 -1
- package/development/button/mini-button-group/mini-button-group.d.ts.map +1 -1
- package/development/button/mini-button-group.js +7 -3
- package/development/button/mini-button.d.ts +0 -1
- package/development/button/mini-button.d.ts.map +1 -1
- package/development/button/mini-button.js +14 -32
- package/development/button.d.ts +3 -3
- package/development/button.d.ts.map +1 -1
- package/development/button.js +3 -3
- package/development/calendar.js +1 -1
- package/development/card/card/card.d.ts +4 -1
- package/development/card/card/card.d.ts.map +1 -1
- package/development/card/card.js +8 -4
- package/development/checkbox/checkbox/checkbox.d.ts +4 -6
- package/development/checkbox/checkbox/checkbox.d.ts.map +1 -1
- package/development/checkbox/checkbox-group/checkbox-group.d.ts +4 -1
- package/development/checkbox/checkbox-group/checkbox-group.d.ts.map +1 -1
- package/development/checkbox/checkbox-group.js +7 -3
- package/development/checkbox/checkbox-panel/checkbox-panel.d.ts +4 -4
- package/development/checkbox/checkbox-panel/checkbox-panel.d.ts.map +1 -1
- package/development/checkbox/checkbox-panel.js +7 -4
- package/development/checkbox/checkbox.js +8 -6
- package/development/{chip/chip.d.ts → chip-label/chip-label.d.ts} +4 -4
- package/development/chip-label/chip-label.d.ts.map +1 -0
- package/development/chip-label.d.ts +2 -0
- package/development/chip-label.d.ts.map +1 -0
- package/development/{chip.js → chip-label.js} +26 -26
- package/development/clock.js +1 -1
- package/development/container/container.js +8 -12
- package/development/container/sticky-bar/sticky-bar.d.ts +1 -0
- package/development/container/sticky-bar/sticky-bar.d.ts.map +1 -1
- package/development/container/sticky-bar.js +18 -10
- package/development/core/base-elements/button-base-element.d.ts +27 -18
- package/development/core/base-elements/button-base-element.d.ts.map +1 -1
- package/development/core/base-elements/open-close-base-element.d.ts.map +1 -1
- package/development/core/base-elements.js +66 -74
- package/development/core/datetime/date-adapter.d.ts +2 -1
- package/development/core/datetime/date-adapter.d.ts.map +1 -1
- package/development/core/datetime/native-date-adapter.d.ts +1 -1
- package/development/core/datetime/native-date-adapter.d.ts.map +1 -1
- package/development/core/datetime.js +4 -3
- package/development/core/dom/animation.d.ts +2 -0
- package/development/core/dom/animation.d.ts.map +1 -0
- package/development/core/dom/lean-context.d.ts +5 -0
- package/development/core/dom/lean-context.d.ts.map +1 -0
- package/development/core/dom.d.ts +2 -2
- package/development/core/dom.d.ts.map +1 -1
- package/development/core/dom.js +13 -21
- package/development/core/eventing/form-element-handlers.d.ts +0 -7
- package/development/core/eventing/form-element-handlers.d.ts.map +1 -1
- package/development/core/eventing.d.ts +0 -1
- package/development/core/eventing.d.ts.map +1 -1
- package/development/core/eventing.js +1 -25
- package/development/core/i18n/i18n.d.ts +4 -2
- package/development/core/i18n/i18n.d.ts.map +1 -1
- package/development/core/i18n.js +27 -23
- package/development/core/mixins/disabled-mixin.d.ts +2 -7
- package/development/core/mixins/disabled-mixin.d.ts.map +1 -1
- package/development/core/mixins/form-associated-checkbox-mixin.d.ts.map +1 -1
- package/development/core/mixins/form-associated-radio-button-mixin.d.ts +35 -0
- package/development/core/mixins/form-associated-radio-button-mixin.d.ts.map +1 -0
- package/development/core/mixins.d.ts +1 -0
- package/development/core/mixins.d.ts.map +1 -1
- package/development/core/mixins.js +221 -30
- package/development/core/testing/event-spy.d.ts +2 -1
- package/development/core/testing/event-spy.d.ts.map +1 -1
- package/development/core/testing.d.ts +0 -1
- package/development/core/testing.d.ts.map +1 -1
- package/development/core/testing.js +4 -15
- package/development/datepicker/common/datepicker-button.d.ts +3 -5
- package/development/datepicker/common/datepicker-button.d.ts.map +1 -1
- package/development/datepicker/common.js +13 -12
- package/development/datepicker/datepicker/datepicker.d.ts +25 -72
- package/development/datepicker/datepicker/datepicker.d.ts.map +1 -1
- package/development/datepicker/datepicker-next-day/datepicker-next-day.d.ts +1 -3
- package/development/datepicker/datepicker-next-day/datepicker-next-day.d.ts.map +1 -1
- package/development/datepicker/datepicker-next-day.js +9 -15
- package/development/datepicker/datepicker-previous-day/datepicker-previous-day.d.ts +1 -3
- package/development/datepicker/datepicker-previous-day/datepicker-previous-day.d.ts.map +1 -1
- package/development/datepicker/datepicker-previous-day.js +9 -15
- package/development/datepicker/datepicker.js +74 -115
- package/development/dialog/dialog/dialog.d.ts +3 -0
- package/development/dialog/dialog/dialog.d.ts.map +1 -1
- package/development/dialog/dialog-title.js +2 -1
- package/development/dialog/dialog.js +46 -39
- package/development/expansion-panel/expansion-panel/expansion-panel.d.ts +7 -1
- package/development/expansion-panel/expansion-panel/expansion-panel.d.ts.map +1 -1
- package/development/expansion-panel/expansion-panel-header.js +3 -3
- package/development/expansion-panel/expansion-panel.js +32 -17
- package/development/file-selector/common/file-selector-common.d.ts +23 -0
- package/development/file-selector/common/file-selector-common.d.ts.map +1 -0
- package/development/file-selector/common.d.ts +2 -0
- package/development/file-selector/common.d.ts.map +1 -0
- package/development/file-selector/common.js +382 -0
- package/development/file-selector/file-selector/file-selector.d.ts +24 -0
- package/development/file-selector/file-selector/file-selector.d.ts.map +1 -0
- package/development/file-selector/file-selector-dropzone/file-selector-dropzone.d.ts +33 -0
- package/development/file-selector/file-selector-dropzone/file-selector-dropzone.d.ts.map +1 -0
- package/development/file-selector/file-selector-dropzone.d.ts +2 -0
- package/development/file-selector/file-selector-dropzone.d.ts.map +1 -0
- package/development/file-selector/file-selector-dropzone.js +181 -0
- package/development/file-selector/file-selector.d.ts +1 -87
- package/development/file-selector/file-selector.d.ts.map +1 -1
- package/development/file-selector/file-selector.js +52 -0
- package/development/file-selector.d.ts +2 -0
- package/development/file-selector.d.ts.map +1 -1
- package/development/file-selector.js +4 -552
- package/development/flip-card/flip-card-details.js +1 -1
- package/development/flip-card/flip-card-summary.js +3 -11
- package/development/flip-card/flip-card.js +6 -6
- package/development/form-field/form-field/form-field.d.ts +5 -10
- package/development/form-field/form-field/form-field.d.ts.map +1 -1
- package/development/form-field/form-field-clear.js +6 -6
- package/development/form-field/form-field.js +32 -40
- package/development/header/common.js +2 -2
- package/development/header/header/header.d.ts +5 -3
- package/development/header/header/header.d.ts.map +1 -1
- package/development/header/header.js +15 -20
- package/development/image/image.d.ts +0 -30
- package/development/image/image.d.ts.map +1 -1
- package/development/image.js +62 -273
- package/development/journey-header/journey-header.d.ts +4 -1
- package/development/journey-header/journey-header.d.ts.map +1 -1
- package/development/journey-header.js +7 -3
- package/development/lead-container.js +2 -10
- package/development/link/common/link-common.d.ts.map +1 -1
- package/development/link/common.js +9 -8
- package/development/link-list/common/link-list-base.d.ts +1 -0
- package/development/link-list/common/link-list-base.d.ts.map +1 -1
- package/development/link-list/common.js +4 -2
- package/development/link-list/link-list-anchor.js +4 -4
- package/development/loading-indicator/loading-indicator.d.ts +1 -3
- package/development/loading-indicator/loading-indicator.d.ts.map +1 -1
- package/development/loading-indicator-circle/loading-indicator-circle.d.ts +16 -0
- package/development/loading-indicator-circle/loading-indicator-circle.d.ts.map +1 -0
- package/development/loading-indicator-circle.d.ts +2 -0
- package/development/loading-indicator-circle.d.ts.map +1 -0
- package/development/loading-indicator-circle.js +146 -0
- package/development/loading-indicator.js +81 -182
- package/development/map-container/map-container.d.ts.map +1 -1
- package/development/map-container.js +5 -5
- package/development/menu/common.js +5 -5
- package/development/menu/menu/menu.d.ts +3 -0
- package/development/menu/menu/menu.d.ts.map +1 -1
- package/development/menu/menu.js +39 -24
- package/development/message.js +4 -2
- package/development/navigation/common/navigation-action-common.d.ts.map +1 -1
- package/development/navigation/common.js +9 -5
- package/development/navigation/navigation/navigation.d.ts +3 -0
- package/development/navigation/navigation/navigation.d.ts.map +1 -1
- package/development/navigation/navigation-list/navigation-list.d.ts.map +1 -1
- package/development/navigation/navigation-list.js +3 -2
- package/development/navigation/navigation-marker/navigation-marker.d.ts +2 -1
- package/development/navigation/navigation-marker/navigation-marker.d.ts.map +1 -1
- package/development/navigation/navigation-marker.js +6 -4
- package/development/navigation/navigation-section/navigation-section.d.ts +3 -0
- package/development/navigation/navigation-section/navigation-section.d.ts.map +1 -1
- package/development/navigation/navigation-section.js +38 -22
- package/development/navigation/navigation.js +42 -27
- package/development/notification/notification.d.ts +6 -2
- package/development/notification/notification.d.ts.map +1 -1
- package/development/notification.js +27 -21
- package/development/option/option/option-base-element.d.ts +0 -7
- package/development/option/option/option-base-element.d.ts.map +1 -1
- package/development/option/option.js +5 -26
- package/development/overlay/overlay-base-element.d.ts +2 -0
- package/development/overlay/overlay-base-element.d.ts.map +1 -1
- package/development/overlay/overlay.d.ts +3 -0
- package/development/overlay/overlay.d.ts.map +1 -1
- package/development/overlay.js +43 -31
- package/development/paginator/common/paginator-common.d.ts.map +1 -1
- package/development/paginator/common.js +7 -3
- package/development/paginator/paginator.js +1 -1
- package/development/popover/popover/popover.d.ts +3 -0
- package/development/popover/popover/popover.d.ts.map +1 -1
- package/development/popover/popover-trigger.js +9 -9
- package/development/popover/popover.js +41 -26
- package/development/radio-button/common/radio-button-common.d.ts +3 -10
- package/development/radio-button/common/radio-button-common.d.ts.map +1 -1
- package/development/radio-button/common.js +44 -121
- package/development/radio-button/radio-button/radio-button.d.ts +9 -1
- package/development/radio-button/radio-button/radio-button.d.ts.map +1 -1
- package/development/radio-button/radio-button-group/radio-button-group.d.ts +19 -26
- package/development/radio-button/radio-button-group/radio-button-group.d.ts.map +1 -1
- package/development/radio-button/radio-button-group.js +87 -123
- package/development/radio-button/radio-button-panel/radio-button-panel.d.ts +19 -1
- package/development/radio-button/radio-button-panel/radio-button-panel.d.ts.map +1 -1
- package/development/radio-button/radio-button-panel.js +35 -15
- package/development/radio-button/radio-button.js +11 -15
- package/development/select/select.d.ts +3 -9
- package/development/select/select.d.ts.map +1 -1
- package/development/select.js +27 -25
- package/development/selection-expansion-panel/selection-expansion-panel.d.ts +4 -1
- package/development/selection-expansion-panel/selection-expansion-panel.d.ts.map +1 -1
- package/development/selection-expansion-panel.js +28 -16
- package/development/skiplink-list/skiplink-list.d.ts.map +1 -1
- package/development/skiplink-list.js +3 -2
- package/development/slider/slider.d.ts +0 -1
- package/development/slider/slider.d.ts.map +1 -1
- package/development/slider.js +2 -2
- package/development/stepper/step-label/step-label.d.ts +0 -2
- package/development/stepper/step-label/step-label.d.ts.map +1 -1
- package/development/stepper/step-label.js +10 -11
- package/development/stepper/step.js +1 -1
- package/development/stepper/stepper/stepper.d.ts +4 -1
- package/development/stepper/stepper/stepper.d.ts.map +1 -1
- package/development/stepper/stepper.js +9 -7
- package/development/tabs/tab-group/tab-group.d.ts +4 -1
- package/development/tabs/tab-group/tab-group.d.ts.map +1 -1
- package/development/tabs/tab-group.js +8 -4
- package/development/tabs/tab-label.js +1 -1
- package/development/tag/tag/tag.d.ts +4 -1
- package/development/tag/tag/tag.d.ts.map +1 -1
- package/development/tag/tag-group/tag-group.d.ts +5 -2
- package/development/tag/tag-group/tag-group.d.ts.map +1 -1
- package/development/tag/tag-group.js +7 -4
- package/development/tag/tag.js +16 -12
- package/development/teaser/teaser.d.ts +2 -2
- package/development/teaser/teaser.d.ts.map +1 -1
- package/development/teaser-hero/teaser-hero.d.ts +2 -6
- package/development/teaser-hero/teaser-hero.d.ts.map +1 -1
- package/development/teaser-hero.js +9 -60
- package/development/teaser-product/common.js +7 -14
- package/development/teaser-product/teaser-product.js +1 -21
- package/development/teaser.js +14 -32
- package/development/time-input/time-input.d.ts +3 -6
- package/development/time-input/time-input.d.ts.map +1 -1
- package/development/time-input.js +33 -27
- package/development/toast/toast.d.ts +3 -0
- package/development/toast/toast.d.ts.map +1 -1
- package/development/toast.js +27 -13
- package/development/toggle/toggle/toggle.d.ts +4 -8
- package/development/toggle/toggle/toggle.d.ts.map +1 -1
- package/development/toggle/toggle.js +9 -12
- package/development/toggle-check/toggle-check.d.ts +4 -6
- package/development/toggle-check/toggle-check.d.ts.map +1 -1
- package/development/toggle-check.js +9 -7
- package/development/train/train/train.d.ts.map +1 -1
- package/development/train/train-blocked-passage.js +2 -2
- package/development/train/train-formation/train-formation.d.ts +3 -11
- package/development/train/train-formation/train-formation.d.ts.map +1 -1
- package/development/train/train-formation.js +43 -74
- package/development/train/train-wagon/train-wagon.d.ts +11 -8
- package/development/train/train-wagon/train-wagon.d.ts.map +1 -1
- package/development/train/train-wagon.js +149 -124
- package/development/train/train.js +35 -112
- package/development/visual-checkbox/visual-checkbox.d.ts +4 -1
- package/development/visual-checkbox/visual-checkbox.d.ts.map +1 -1
- package/development/visual-checkbox.js +7 -3
- package/dialog/dialog/dialog.d.ts +3 -0
- package/dialog/dialog/dialog.d.ts.map +1 -1
- package/dialog/dialog-title.js +9 -9
- package/dialog/dialog.js +56 -51
- package/expansion-panel/expansion-panel/expansion-panel.d.ts +7 -1
- package/expansion-panel/expansion-panel/expansion-panel.d.ts.map +1 -1
- package/expansion-panel/expansion-panel-header.js +1 -1
- package/expansion-panel/expansion-panel.js +41 -28
- package/file-selector/common/file-selector-common.d.ts +23 -0
- package/file-selector/common/file-selector-common.d.ts.map +1 -0
- package/file-selector/common.d.ts +2 -0
- package/file-selector/common.d.ts.map +1 -0
- package/file-selector/common.js +210 -0
- package/file-selector/file-selector/file-selector.d.ts +24 -0
- package/file-selector/file-selector/file-selector.d.ts.map +1 -0
- package/file-selector/file-selector-dropzone/file-selector-dropzone.d.ts +33 -0
- package/file-selector/file-selector-dropzone/file-selector-dropzone.d.ts.map +1 -0
- package/file-selector/file-selector-dropzone.d.ts +2 -0
- package/file-selector/file-selector-dropzone.d.ts.map +1 -0
- package/file-selector/file-selector-dropzone.js +97 -0
- package/file-selector/file-selector.d.ts +1 -87
- package/file-selector/file-selector.d.ts.map +1 -1
- package/file-selector/file-selector.js +44 -0
- package/file-selector.d.ts +2 -0
- package/file-selector.d.ts.map +1 -1
- package/file-selector.js +3 -301
- package/flip-card/flip-card-details.js +5 -5
- package/flip-card/flip-card-summary.js +7 -7
- package/flip-card/flip-card.js +9 -9
- package/form-field/form-field/form-field.d.ts +5 -10
- package/form-field/form-field/form-field.d.ts.map +1 -1
- package/form-field/form-field-clear.js +12 -12
- package/form-field/form-field.js +143 -141
- package/header/common.js +10 -10
- package/header/header/header.d.ts +5 -3
- package/header/header/header.d.ts.map +1 -1
- package/header/header.js +28 -31
- package/image/image.d.ts +0 -30
- package/image/image.d.ts.map +1 -1
- package/image.js +187 -281
- package/index.d.ts +13 -9
- package/index.js +13 -9
- package/journey-header/journey-header.d.ts +4 -1
- package/journey-header/journey-header.d.ts.map +1 -1
- package/journey-header.js +29 -25
- package/lead-container.js +5 -5
- package/link/common/link-common.d.ts.map +1 -1
- package/link/common.js +18 -16
- package/link-list/common/link-list-base.d.ts +1 -0
- package/link-list/common/link-list-base.d.ts.map +1 -1
- package/link-list/common.js +11 -9
- package/link-list/link-list-anchor.js +8 -8
- package/loading-indicator/loading-indicator.d.ts +1 -3
- package/loading-indicator/loading-indicator.d.ts.map +1 -1
- package/loading-indicator-circle/loading-indicator-circle.d.ts +16 -0
- package/loading-indicator-circle/loading-indicator-circle.d.ts.map +1 -0
- package/loading-indicator-circle.d.ts +2 -0
- package/loading-indicator-circle.d.ts.map +1 -0
- package/loading-indicator-circle.js +46 -0
- package/loading-indicator.js +41 -51
- package/map-container/map-container.d.ts.map +1 -1
- package/map-container.js +7 -7
- package/menu/common.js +8 -8
- package/menu/menu/menu.d.ts +3 -0
- package/menu/menu/menu.d.ts.map +1 -1
- package/menu/menu.js +52 -43
- package/message.js +12 -12
- package/navigation/common/navigation-action-common.d.ts.map +1 -1
- package/navigation/common.js +10 -6
- package/navigation/navigation/navigation.d.ts +3 -0
- package/navigation/navigation/navigation.d.ts.map +1 -1
- package/navigation/navigation-list/navigation-list.d.ts.map +1 -1
- package/navigation/navigation-list.js +17 -16
- package/navigation/navigation-marker/navigation-marker.d.ts +2 -1
- package/navigation/navigation-marker/navigation-marker.d.ts.map +1 -1
- package/navigation/navigation-marker.js +12 -10
- package/navigation/navigation-section/navigation-section.d.ts +3 -0
- package/navigation/navigation-section/navigation-section.d.ts.map +1 -1
- package/navigation/navigation-section.js +46 -37
- package/navigation/navigation.js +30 -21
- package/notification/notification.d.ts +6 -2
- package/notification/notification.d.ts.map +1 -1
- package/notification.js +55 -51
- package/option/option/option-base-element.d.ts +0 -7
- package/option/option/option-base-element.d.ts.map +1 -1
- package/option/option.js +110 -125
- package/overlay/overlay-base-element.d.ts +2 -0
- package/overlay/overlay-base-element.d.ts.map +1 -1
- package/overlay/overlay.d.ts +3 -0
- package/overlay/overlay.d.ts.map +1 -1
- package/overlay.js +83 -77
- package/package.json +40 -25
- package/paginator/common/paginator-common.d.ts.map +1 -1
- package/paginator/common.js +21 -17
- package/paginator/paginator.js +1 -1
- package/popover/popover/popover.d.ts +3 -0
- package/popover/popover/popover.d.ts.map +1 -1
- package/popover/popover-trigger.js +6 -6
- package/popover/popover.js +114 -109
- package/radio-button/common/radio-button-common.d.ts +3 -10
- package/radio-button/common/radio-button-common.d.ts.map +1 -1
- package/radio-button/common.js +43 -90
- package/radio-button/radio-button/radio-button.d.ts +9 -1
- package/radio-button/radio-button/radio-button.d.ts.map +1 -1
- package/radio-button/radio-button-group/radio-button-group.d.ts +19 -26
- package/radio-button/radio-button-group/radio-button-group.d.ts.map +1 -1
- package/radio-button/radio-button-group.js +112 -131
- package/radio-button/radio-button-panel/radio-button-panel.d.ts +19 -1
- package/radio-button/radio-button-panel/radio-button-panel.d.ts.map +1 -1
- package/radio-button/radio-button-panel.js +56 -44
- package/radio-button/radio-button.js +34 -38
- package/select/select.d.ts +3 -9
- package/select/select.d.ts.map +1 -1
- package/select.js +65 -66
- package/selection-expansion-panel/selection-expansion-panel.d.ts +4 -1
- package/selection-expansion-panel/selection-expansion-panel.d.ts.map +1 -1
- package/selection-expansion-panel.js +41 -31
- package/skiplink-list/skiplink-list.d.ts.map +1 -1
- package/skiplink-list.js +14 -13
- package/slider/slider.d.ts +0 -1
- package/slider/slider.d.ts.map +1 -1
- package/slider.js +1 -1
- package/standard-theme.css +238 -8
- package/stepper/step-label/step-label.d.ts +0 -2
- package/stepper/step-label/step-label.d.ts.map +1 -1
- package/stepper/step-label.js +6 -6
- package/stepper/step.js +4 -4
- package/stepper/stepper/stepper.d.ts +4 -1
- package/stepper/stepper/stepper.d.ts.map +1 -1
- package/stepper/stepper.js +22 -19
- package/table.css +15 -0
- package/tabs/tab-group/tab-group.d.ts +4 -1
- package/tabs/tab-group/tab-group.d.ts.map +1 -1
- package/tabs/tab-group.js +24 -20
- package/tabs/tab-label.js +1 -1
- package/tag/tag/tag.d.ts +4 -1
- package/tag/tag/tag.d.ts.map +1 -1
- package/tag/tag-group/tag-group.d.ts +5 -2
- package/tag/tag-group/tag-group.d.ts.map +1 -1
- package/tag/tag-group.js +13 -10
- package/tag/tag.js +25 -21
- package/teaser/teaser.d.ts +2 -2
- package/teaser/teaser.d.ts.map +1 -1
- package/teaser-hero/teaser-hero.d.ts +2 -6
- package/teaser-hero/teaser-hero.d.ts.map +1 -1
- package/teaser-hero.js +32 -57
- package/teaser-product/common.js +1 -1
- package/teaser-product/teaser-product.js +13 -13
- package/teaser.js +28 -28
- package/time-input/time-input.d.ts +3 -6
- package/time-input/time-input.d.ts.map +1 -1
- package/time-input.js +56 -55
- package/toast/toast.d.ts +3 -0
- package/toast/toast.d.ts.map +1 -1
- package/toast.js +51 -42
- package/toggle/toggle/toggle.d.ts +4 -8
- package/toggle/toggle/toggle.d.ts.map +1 -1
- package/toggle/toggle.js +48 -48
- package/toggle-check/toggle-check.d.ts +4 -6
- package/toggle-check/toggle-check.d.ts.map +1 -1
- package/toggle-check.js +23 -21
- package/train/train/train.d.ts.map +1 -1
- package/train/train-blocked-passage.js +1 -1
- package/train/train-formation/train-formation.d.ts +3 -11
- package/train/train-formation/train-formation.d.ts.map +1 -1
- package/train/train-formation.js +47 -65
- package/train/train-wagon/train-wagon.d.ts +11 -8
- package/train/train-wagon/train-wagon.d.ts.map +1 -1
- package/train/train-wagon.js +123 -134
- package/train/train.js +74 -78
- package/visual-checkbox/visual-checkbox.d.ts +4 -1
- package/visual-checkbox/visual-checkbox.d.ts.map +1 -1
- package/visual-checkbox.js +21 -17
- package/button/mini-button/mini-button-base-element.d.ts +0 -8
- package/button/mini-button/mini-button-base-element.d.ts.map +0 -1
- package/button/tertiary-button/tertiary-button.d.ts +0 -19
- package/button/tertiary-button/tertiary-button.d.ts.map +0 -1
- package/button/tertiary-button-link/tertiary-button-link.d.ts +0 -19
- package/button/tertiary-button-link/tertiary-button-link.d.ts.map +0 -1
- package/button/tertiary-button-link.d.ts +0 -2
- package/button/tertiary-button-link.d.ts.map +0 -1
- package/button/tertiary-button-link.js +0 -17
- package/button/tertiary-button-static/tertiary-button-static.d.ts +0 -19
- package/button/tertiary-button-static/tertiary-button-static.d.ts.map +0 -1
- package/button/tertiary-button-static.d.ts +0 -2
- package/button/tertiary-button-static.d.ts.map +0 -1
- package/button/tertiary-button-static.js +0 -17
- package/button/tertiary-button.d.ts +0 -2
- package/button/tertiary-button.d.ts.map +0 -1
- package/button/tertiary-button.js +0 -17
- package/chip/chip.d.ts.map +0 -1
- package/chip.d.ts +0 -2
- package/chip.d.ts.map +0 -1
- package/chip.js +0 -54
- package/core/dom/get-document-writing-mode.d.ts +0 -5
- package/core/dom/get-document-writing-mode.d.ts.map +0 -1
- package/core/dom/ssr.d.ts +0 -13
- package/core/dom/ssr.d.ts.map +0 -1
- package/core/eventing/handler-repository.d.ts +0 -28
- package/core/eventing/handler-repository.d.ts.map +0 -1
- package/core/observers/intersection-observer.d.ts +0 -20
- package/core/observers/intersection-observer.d.ts.map +0 -1
- package/core/observers/mutation-observer.d.ts +0 -13
- package/core/observers/mutation-observer.d.ts.map +0 -1
- package/core/observers/resize-observer.d.ts +0 -16
- package/core/observers/resize-observer.d.ts.map +0 -1
- package/core/observers.d.ts +0 -4
- package/core/observers.d.ts.map +0 -1
- package/core/observers.js +0 -38
- package/core/testing/wait-for-event.d.ts +0 -2
- package/core/testing/wait-for-event.d.ts.map +0 -1
- package/development/button/mini-button/mini-button-base-element.d.ts +0 -8
- package/development/button/mini-button/mini-button-base-element.d.ts.map +0 -1
- package/development/button/tertiary-button/tertiary-button.d.ts +0 -19
- package/development/button/tertiary-button/tertiary-button.d.ts.map +0 -1
- package/development/button/tertiary-button-link/tertiary-button-link.d.ts +0 -19
- package/development/button/tertiary-button-link/tertiary-button-link.d.ts.map +0 -1
- package/development/button/tertiary-button-link.d.ts +0 -2
- package/development/button/tertiary-button-link.d.ts.map +0 -1
- package/development/button/tertiary-button-link.js +0 -25
- package/development/button/tertiary-button-static/tertiary-button-static.d.ts +0 -19
- package/development/button/tertiary-button-static/tertiary-button-static.d.ts.map +0 -1
- package/development/button/tertiary-button-static.d.ts +0 -2
- package/development/button/tertiary-button-static.d.ts.map +0 -1
- package/development/button/tertiary-button-static.js +0 -25
- package/development/button/tertiary-button.d.ts +0 -2
- package/development/button/tertiary-button.d.ts.map +0 -1
- package/development/button/tertiary-button.js +0 -25
- package/development/chip/chip.d.ts.map +0 -1
- package/development/chip.d.ts +0 -2
- package/development/chip.d.ts.map +0 -1
- package/development/core/dom/get-document-writing-mode.d.ts +0 -5
- package/development/core/dom/get-document-writing-mode.d.ts.map +0 -1
- package/development/core/dom/ssr.d.ts +0 -13
- package/development/core/dom/ssr.d.ts.map +0 -1
- package/development/core/eventing/handler-repository.d.ts +0 -28
- package/development/core/eventing/handler-repository.d.ts.map +0 -1
- package/development/core/observers/intersection-observer.d.ts +0 -20
- package/development/core/observers/intersection-observer.d.ts.map +0 -1
- package/development/core/observers/mutation-observer.d.ts +0 -13
- package/development/core/observers/mutation-observer.d.ts.map +0 -1
- package/development/core/observers/resize-observer.d.ts +0 -16
- package/development/core/observers/resize-observer.d.ts.map +0 -1
- package/development/core/observers.d.ts +0 -4
- package/development/core/observers.d.ts.map +0 -1
- package/development/core/observers.js +0 -39
- package/development/core/testing/wait-for-event.d.ts +0 -2
- package/development/core/testing/wait-for-event.d.ts.map +0 -1
|
@@ -67,7 +67,7 @@ const style = css`*,
|
|
|
67
67
|
|
|
68
68
|
::slotted(*:not([slot=image])) {
|
|
69
69
|
transform: translateY(var(--sbb-flip-card-translate-title-y-hover, 0rem));
|
|
70
|
-
transition: transform var(--sbb-disable-animation-
|
|
70
|
+
transition: transform var(--sbb-disable-animation-duration, var(--sbb-animation-duration-2x)) var(--sbb-animation-easing);
|
|
71
71
|
}
|
|
72
72
|
|
|
73
73
|
.sbb-flip-card-summary--image-wrapper {
|
|
@@ -84,15 +84,7 @@ const style = css`*,
|
|
|
84
84
|
}
|
|
85
85
|
}
|
|
86
86
|
|
|
87
|
-
::slotted(
|
|
88
|
-
object-fit: cover;
|
|
89
|
-
width: 100%;
|
|
90
|
-
height: 100%;
|
|
91
|
-
}
|
|
92
|
-
|
|
93
|
-
::slotted(sbb-image) {
|
|
94
|
-
--sbb-image-border-radius: 0;
|
|
95
|
-
--sbb-image-aspect-ratio: auto;
|
|
87
|
+
::slotted([slot=image]) {
|
|
96
88
|
width: 100%;
|
|
97
89
|
height: 100%;
|
|
98
90
|
}`;
|
|
@@ -153,4 +145,4 @@ let SbbFlipCardSummaryElement = (() => {
|
|
|
153
145
|
export {
|
|
154
146
|
SbbFlipCardSummaryElement
|
|
155
147
|
};
|
|
156
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmxpcC1jYXJkLXN1bW1hcnkuanMiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9lbGVtZW50cy9mbGlwLWNhcmQvZmxpcC1jYXJkLXN1bW1hcnkvZmxpcC1jYXJkLXN1bW1hcnkudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHR5cGUgeyBDU1NSZXN1bHRHcm91cCwgUHJvcGVydHlWYWx1ZXMsIFRlbXBsYXRlUmVzdWx0IH0gZnJvbSAnbGl0JztcbmltcG9ydCB7IGh0bWwsIExpdEVsZW1lbnQgfSBmcm9tICdsaXQnO1xuaW1wb3J0IHsgY3VzdG9tRWxlbWVudCwgcHJvcGVydHkgfSBmcm9tICdsaXQvZGVjb3JhdG9ycy5qcyc7XG5cbmltcG9ydCB7IGhvc3RBdHRyaWJ1dGVzIH0gZnJvbSAnLi4vLi4vY29yZS9kZWNvcmF0b3JzLmpzJztcblxuaW1wb3J0IHN0eWxlIGZyb20gJy4vZmxpcC1jYXJkLXN1bW1hcnkuc2Nzcz9saXQmaW5saW5lJztcblxuZXhwb3J0IHR5cGUgU2JiRmxpcENhcmRJbWFnZUFsaWdubWVudCA9ICdhZnRlcicgfCAnYmVsb3cnO1xuXG4vKipcbiAqIENvbWJpbmVkIHdpdGggYSBgc2JiLWZsaXAtY2FyZGAsIGl0IGRpc3BsYXlzIGl0cyBjb250ZW50IHdoZW4gdGhlIGNhcmQgaXMgbm90IGZsaXBwZWQuXG4gKlxuICogQHNsb3QgLSBVc2UgdGhlIHVubmFtZWQgc2xvdCB0byBwcm92aWRlIGEgdGl0bGUgZm9yIHRoZSBgc2JiLWZsaXAtY2FyZC1zdW1tYXJ5YC5cbiAqIEBzbG90IGltYWdlIC0gVXNlIHRoaXMgc2xvdCB0byBwcm92aWRlIGFuIGltYWdlIGZvciB0aGUgYHNiYi1mbGlwLWNhcmQtc3VtbWFyeWAuXG4gKi9cbmV4cG9ydFxuQGN1c3RvbUVsZW1lbnQoJ3NiYi1mbGlwLWNhcmQtc3VtbWFyeScpXG5AaG9zdEF0dHJpYnV0ZXMoe1xuICBzbG90OiAnc3VtbWFyeScsXG59KVxuY2xhc3MgU2JiRmxpcENhcmRTdW1tYXJ5RWxlbWVudCBleHRlbmRzIExpdEVsZW1lbnQge1xuICBwdWJsaWMgc3RhdGljIG92ZXJyaWRlIHN0eWxlczogQ1NTUmVzdWx0R3JvdXAgPSBzdHlsZTtcblxuICAvKiogVGhlIHBvc2l0aW9uIHdoZXJlIHRvIHJlbmRlciB0aGUgaW1hZ2UuICovXG4gIEBwcm9wZXJ0eSh7IGF0dHJpYnV0ZTogJ2ltYWdlLWFsaWdubWVudCcsIHJlZmxlY3Q6IHRydWUgfSlcbiAgcHVibGljIGFjY2Vzc29yIGltYWdlQWxpZ25tZW50OiBTYmJGbGlwQ2FyZEltYWdlQWxpZ25tZW50ID0gJ2FmdGVyJztcblxuICBwcm90ZWN0ZWQgb3ZlcnJpZGUgd2lsbFVwZGF0ZShjaGFuZ2VkUHJvcGVydGllczogUHJvcGVydHlWYWx1ZXM8dGhpcz4pOiB2b2lkIHtcbiAgICBzdXBlci53aWxsVXBkYXRlKGNoYW5nZWRQcm9wZXJ0aWVzKTtcblxuICAgIGlmIChjaGFuZ2VkUHJvcGVydGllcy5oYXMoJ2ltYWdlQWxpZ25tZW50JykpIHtcbiAgICAgIHRoaXMuY2xvc2VzdD8uKCdzYmItZmxpcC1jYXJkJyk/LnNldEF0dHJpYnV0ZSgnZGF0YS1pbWFnZS1hbGlnbm1lbnQnLCB0aGlzLmltYWdlQWxpZ25tZW50KTtcbiAgICB9XG4gIH1cblxuICBwcm90ZWN0ZWQgb3ZlcnJpZGUgcmVuZGVyKCk6IFRlbXBsYXRlUmVzdWx0IHtcbiAgICByZXR1cm4gaHRtbGBcbiAgICAgIDxkaXYgY2xhc3M9XCJzYmItZmxpcC1jYXJkLXN1bW1hcnlcIj5cbiAgICAgICAgPHNsb3Q+PC9zbG90PlxuICAgICAgICA8ZGl2IGNsYXNzPVwic2JiLWZsaXAtY2FyZC1zdW1tYXJ5LS1pbWFnZS13cmFwcGVyXCI+XG4gICAgICAgICAgPHNsb3QgbmFtZT1cImltYWdlXCI+
|
|
148
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmxpcC1jYXJkLXN1bW1hcnkuanMiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9lbGVtZW50cy9mbGlwLWNhcmQvZmxpcC1jYXJkLXN1bW1hcnkvZmxpcC1jYXJkLXN1bW1hcnkudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHR5cGUgeyBDU1NSZXN1bHRHcm91cCwgUHJvcGVydHlWYWx1ZXMsIFRlbXBsYXRlUmVzdWx0IH0gZnJvbSAnbGl0JztcbmltcG9ydCB7IGh0bWwsIExpdEVsZW1lbnQgfSBmcm9tICdsaXQnO1xuaW1wb3J0IHsgY3VzdG9tRWxlbWVudCwgcHJvcGVydHkgfSBmcm9tICdsaXQvZGVjb3JhdG9ycy5qcyc7XG5cbmltcG9ydCB7IGhvc3RBdHRyaWJ1dGVzIH0gZnJvbSAnLi4vLi4vY29yZS9kZWNvcmF0b3JzLmpzJztcblxuaW1wb3J0IHN0eWxlIGZyb20gJy4vZmxpcC1jYXJkLXN1bW1hcnkuc2Nzcz9saXQmaW5saW5lJztcblxuZXhwb3J0IHR5cGUgU2JiRmxpcENhcmRJbWFnZUFsaWdubWVudCA9ICdhZnRlcicgfCAnYmVsb3cnO1xuXG4vKipcbiAqIENvbWJpbmVkIHdpdGggYSBgc2JiLWZsaXAtY2FyZGAsIGl0IGRpc3BsYXlzIGl0cyBjb250ZW50IHdoZW4gdGhlIGNhcmQgaXMgbm90IGZsaXBwZWQuXG4gKlxuICogQHNsb3QgLSBVc2UgdGhlIHVubmFtZWQgc2xvdCB0byBwcm92aWRlIGEgdGl0bGUgZm9yIHRoZSBgc2JiLWZsaXAtY2FyZC1zdW1tYXJ5YC5cbiAqIEBzbG90IGltYWdlIC0gVXNlIHRoaXMgc2xvdCB0byBwcm92aWRlIGFuIGltYWdlIGZvciB0aGUgYHNiYi1mbGlwLWNhcmQtc3VtbWFyeWAuXG4gKi9cbmV4cG9ydFxuQGN1c3RvbUVsZW1lbnQoJ3NiYi1mbGlwLWNhcmQtc3VtbWFyeScpXG5AaG9zdEF0dHJpYnV0ZXMoe1xuICBzbG90OiAnc3VtbWFyeScsXG59KVxuY2xhc3MgU2JiRmxpcENhcmRTdW1tYXJ5RWxlbWVudCBleHRlbmRzIExpdEVsZW1lbnQge1xuICBwdWJsaWMgc3RhdGljIG92ZXJyaWRlIHN0eWxlczogQ1NTUmVzdWx0R3JvdXAgPSBzdHlsZTtcblxuICAvKiogVGhlIHBvc2l0aW9uIHdoZXJlIHRvIHJlbmRlciB0aGUgaW1hZ2UuICovXG4gIEBwcm9wZXJ0eSh7IGF0dHJpYnV0ZTogJ2ltYWdlLWFsaWdubWVudCcsIHJlZmxlY3Q6IHRydWUgfSlcbiAgcHVibGljIGFjY2Vzc29yIGltYWdlQWxpZ25tZW50OiBTYmJGbGlwQ2FyZEltYWdlQWxpZ25tZW50ID0gJ2FmdGVyJztcblxuICBwcm90ZWN0ZWQgb3ZlcnJpZGUgd2lsbFVwZGF0ZShjaGFuZ2VkUHJvcGVydGllczogUHJvcGVydHlWYWx1ZXM8dGhpcz4pOiB2b2lkIHtcbiAgICBzdXBlci53aWxsVXBkYXRlKGNoYW5nZWRQcm9wZXJ0aWVzKTtcblxuICAgIGlmIChjaGFuZ2VkUHJvcGVydGllcy5oYXMoJ2ltYWdlQWxpZ25tZW50JykpIHtcbiAgICAgIHRoaXMuY2xvc2VzdD8uKCdzYmItZmxpcC1jYXJkJyk/LnNldEF0dHJpYnV0ZSgnZGF0YS1pbWFnZS1hbGlnbm1lbnQnLCB0aGlzLmltYWdlQWxpZ25tZW50KTtcbiAgICB9XG4gIH1cblxuICBwcm90ZWN0ZWQgb3ZlcnJpZGUgcmVuZGVyKCk6IFRlbXBsYXRlUmVzdWx0IHtcbiAgICByZXR1cm4gaHRtbGBcbiAgICAgIDxkaXYgY2xhc3M9XCJzYmItZmxpcC1jYXJkLXN1bW1hcnlcIj5cbiAgICAgICAgPHNsb3Q+PC9zbG90PlxuICAgICAgICA8ZGl2IGNsYXNzPVwic2JiLWZsaXAtY2FyZC1zdW1tYXJ5LS1pbWFnZS13cmFwcGVyXCI+XG4gICAgICAgICAgPHNsb3QgbmFtZT1cImltYWdlXCI+PC9zbG90PlxuICAgICAgICA8L2Rpdj5cbiAgICAgIDwvZGl2PlxuICAgIGA7XG4gIH1cbn1cblxuZGVjbGFyZSBnbG9iYWwge1xuICBpbnRlcmZhY2UgSFRNTEVsZW1lbnRUYWdOYW1lTWFwIHtcbiAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25hbWluZy1jb252ZW50aW9uXG4gICAgJ3NiYi1mbGlwLWNhcmQtc3VtbWFyeSc6IFNiYkZsaXBDYXJkU3VtbWFyeUVsZW1lbnQ7XG4gIH1cbn1cbiJdLCJuYW1lcyI6WyJfYSJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0lBcUJNLDZCQUF5QixNQUFBOztBQUo5QixNQUFBLG1CQUFBLENBQUEsY0FBYyx1QkFBdUIsR0FDckMsZUFBZTtBQUFBLElBQ2QsTUFBTTtBQUFBLEVBQUEsQ0FDUCxDQUFDOzs7O29CQUNzQzs7OztBQUFSLEVBQUEsbUJBQVEsWUFBVTtBQUFBOztBQUtoRCwyREFBQSxrQkFBQSxNQUFBLDhCQUE0RCxPQUFPOzs7O0lBQW5FLElBQWdCLGlCQUFvRDtBQUFBLGFBQUEsbUJBQUE7QUFBQSxJQUFBO0FBQUEsSUFBcEUsSUFBZ0IsZUFBb0QsT0FBQTtBQUFBLHlCQUFBLGtDQUFBO0FBQUEsSUFBQTtBQUFBLElBRWpELFdBQVcsbUJBQXVDOztBQUNuRSxZQUFNLFdBQVcsaUJBQWlCO0FBRTlCLFVBQUEsa0JBQWtCLElBQUksZ0JBQWdCLEdBQUc7QUFDM0MsZUFBQUEsTUFBQSxLQUFLLFlBQUwsZ0JBQUFBLElBQUEsV0FBZSxxQkFBZixtQkFBaUMsYUFBYSx3QkFBd0IsS0FBSztBQUFBLE1BQWM7QUFBQSxJQUMzRjtBQUFBLElBR2lCLFNBQU07QUFDaEIsYUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUEsSUFBQTtBQUFBLEtBWFQ7O2tDQURDLFNBQVMsRUFBRSxXQUFXLG1CQUFtQixTQUFTLEtBQUEsQ0FBTSxDQUFDO0FBQzFDLGlCQUFBLElBQUEsTUFBQSw0QkFBQSxFQUFBLE1BQUEsWUFBQSxNQUFBLGtCQUFBLFFBQUEsT0FBQSxTQUFBLE9BQUEsUUFBQSxFQUFBLEtBQUEsQ0FBQSxRQUFBLG9CQUFBLEtBQUEsS0FBQSxDQUFBLFFBQUEsSUFBQSxnQkFBQSxLQUFBLENBQUEsS0FBQSxVQUFBO0FBQUEsVUFBQSxpQkFBb0Q7QUFBQSxTQUFBLFVBQUEsYUFBQSw4QkFBQSxpQ0FBQTtBQUx0RSxpQkF5QkMsTUFBQSxtQkFBQSxFQUFBLE9BQUEsV0FBQSxHQUFBLGtCQUFBLEVBQUEsTUFBQSxTQUFBLE1BQUEsV0FBQSxNQUFBLFVBQUEsVUFBQSxHQUFBLE1BQUEsdUJBQUE7OztRQXhCd0IsR0FBTSxTQUFtQixPQUQ1QyxrQkFBeUIsWUFBQSx1QkFBQSxHQUFDOzs7In0=
|
|
@@ -30,15 +30,15 @@ const style = css`*,
|
|
|
30
30
|
--sbb-flip-card-border-radius: var(--sbb-border-radius-4x);
|
|
31
31
|
--sbb-flip-card-min-height: 17.5rem;
|
|
32
32
|
--sbb-flip-card-summary-transition-duration: var(
|
|
33
|
-
--sbb-disable-animation-
|
|
33
|
+
--sbb-disable-animation-duration,
|
|
34
34
|
var(--sbb-animation-duration-5x)
|
|
35
35
|
);
|
|
36
36
|
--sbb-flip-card-summary-transition-delay: var(
|
|
37
|
-
--sbb-disable-animation-
|
|
37
|
+
--sbb-disable-animation-duration,
|
|
38
38
|
var(--sbb-animation-duration-2x)
|
|
39
39
|
);
|
|
40
40
|
--sbb-flip-card-details-transition-duration: var(
|
|
41
|
-
--sbb-disable-animation-
|
|
41
|
+
--sbb-disable-animation-duration,
|
|
42
42
|
var(--sbb-animation-duration-4x)
|
|
43
43
|
);
|
|
44
44
|
position: relative;
|
|
@@ -60,7 +60,7 @@ const style = css`*,
|
|
|
60
60
|
:host([data-flipped]) {
|
|
61
61
|
--sbb-flip-card-toggle-icon-transform: rotate(45deg);
|
|
62
62
|
--sbb-flip-card-details-transition-duration: var(
|
|
63
|
-
--sbb-disable-animation-
|
|
63
|
+
--sbb-disable-animation-duration,
|
|
64
64
|
var(--sbb-animation-duration-2x)
|
|
65
65
|
);
|
|
66
66
|
--sbb-flip-card-summary-transition-delay: 0s;
|
|
@@ -128,7 +128,7 @@ const style = css`*,
|
|
|
128
128
|
width: var(--sbb-size-element-xs);
|
|
129
129
|
height: var(--sbb-size-element-xs);
|
|
130
130
|
border-radius: 16rem;
|
|
131
|
-
transition: var(--sbb-disable-animation-
|
|
131
|
+
transition: var(--sbb-disable-animation-duration, var(--sbb-animation-duration-3x)) ease-out;
|
|
132
132
|
}
|
|
133
133
|
:host([data-flipped]) .sbb-flip-card::before {
|
|
134
134
|
opacity: 1;
|
|
@@ -137,7 +137,7 @@ const style = css`*,
|
|
|
137
137
|
width: 100%;
|
|
138
138
|
height: 100%;
|
|
139
139
|
border-radius: var(--sbb-flip-card-border-radius);
|
|
140
|
-
transition-duration: var(--sbb-disable-animation-
|
|
140
|
+
transition-duration: var(--sbb-disable-animation-duration, var(--sbb-animation-duration-5x));
|
|
141
141
|
}
|
|
142
142
|
|
|
143
143
|
.sbb-flip-card--toggle-button {
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { CSSResultGroup, PropertyValues, TemplateResult
|
|
1
|
+
import { CSSResultGroup, LitElement, PropertyValues, TemplateResult } from 'lit';
|
|
2
2
|
declare const SbbFormFieldElement_base: import('../../core/mixins.js').AbstractConstructor<import('../../core/mixins.js').SbbNegativeMixinType> & import('../../core/mixins.js').AbstractConstructor<import('../../core/mixins.js').SbbHydrationMixinType> & typeof LitElement;
|
|
3
3
|
/**
|
|
4
4
|
* It wraps an input element adding label, errors, icon, etc.
|
|
@@ -24,7 +24,10 @@ export declare class SbbFormFieldElement extends SbbFormFieldElement_base {
|
|
|
24
24
|
accessor errorSpace: 'none' | 'reserve';
|
|
25
25
|
/** Indicates whether the input is optional. */
|
|
26
26
|
accessor optional: boolean;
|
|
27
|
-
/**
|
|
27
|
+
/**
|
|
28
|
+
* Size variant, either l, m or s.
|
|
29
|
+
* @default 'm' / 's' (lean)
|
|
30
|
+
*/
|
|
28
31
|
accessor size: 'l' | 'm' | 's';
|
|
29
32
|
/** Whether to display the form field without a border. */
|
|
30
33
|
accessor borderless: boolean;
|
|
@@ -46,7 +49,6 @@ export declare class SbbFormFieldElement extends SbbFormFieldElement_base {
|
|
|
46
49
|
private accessor _label;
|
|
47
50
|
/** Returns the input element. */
|
|
48
51
|
get inputElement(): HTMLInputElement | HTMLSelectElement | HTMLElement | undefined;
|
|
49
|
-
private _abort;
|
|
50
52
|
private _language;
|
|
51
53
|
/**
|
|
52
54
|
* Listens to the changes on `readonly` and `disabled` attributes of `<input>`.
|
|
@@ -56,8 +58,6 @@ export declare class SbbFormFieldElement extends SbbFormFieldElement_base {
|
|
|
56
58
|
connectedCallback(): void;
|
|
57
59
|
protected willUpdate(changedProperties: PropertyValues<this>): void;
|
|
58
60
|
disconnectedCallback(): void;
|
|
59
|
-
private _onPopupOpen;
|
|
60
|
-
private _onPopupClose;
|
|
61
61
|
private _handleWrapperClick;
|
|
62
62
|
private _isButtonOrPopup;
|
|
63
63
|
private _onSlotLabelChange;
|
|
@@ -84,11 +84,6 @@ export declare class SbbFormFieldElement extends SbbFormFieldElement_base {
|
|
|
84
84
|
reset(): void;
|
|
85
85
|
/** Manually clears the input value. It only works for inputs, selects are not supported. */
|
|
86
86
|
clear(): void;
|
|
87
|
-
/**
|
|
88
|
-
* Returns the input element.
|
|
89
|
-
* @deprecated Use the 'inputElement' property instead
|
|
90
|
-
*/
|
|
91
|
-
getInputElement(): HTMLInputElement | HTMLSelectElement | HTMLElement | undefined;
|
|
92
87
|
private _syncNegative;
|
|
93
88
|
protected render(): TemplateResult;
|
|
94
89
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"form-field.d.ts","sourceRoot":"","sources":["../../../../../src/elements/form-field/form-field/form-field.ts"],"names":[],"mappings":"AAAA,OAAO,
|
|
1
|
+
{"version":3,"file":"form-field.d.ts","sourceRoot":"","sources":["../../../../../src/elements/form-field/form-field/form-field.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,KAAK,cAAc,EAGnB,UAAU,EAEV,KAAK,cAAc,EACnB,KAAK,cAAc,EACpB,MAAM,KAAK,CAAC;AAcb,OAAO,eAAe,CAAC;;AAOvB;;;;;;;;GAQG;AACH,qBAGM,mBAAoB,SAAQ,wBAA+C;IAC/E,OAAuB,MAAM,EAAE,cAAc,CAAS;IAEtD,OAAO,CAAC,QAAQ,CAAC,6BAA6B,CAAmC;IAEjF,OAAO,CAAC,QAAQ,CAAC,uBAAuB,CAItC;IAEF,OAAO,CAAC,QAAQ,CAAC,sBAAsB,CAA2C;IAElF,OAAO,CAAC,QAAQ,CAAC,oCAAoC,CAKnD;IAEF,OAAO,CAAC,QAAQ,CAAC,iCAAiC,CAQhD;IAEF;;;;OAIG;IACH,SACgB,UAAU,EAAE,MAAM,GAAG,SAAS,CAAU;IAExD,+CAA+C;IAC/C,SAEgB,QAAQ,EAAE,OAAO,CAAS;IAE1C;;;OAGG;IACH,SAA6C,IAAI,EAAE,GAAG,GAAG,GAAG,GAAG,GAAG,CAAwB;IAE1F,0DAA0D;IAC1D,SAEgB,UAAU,EAAE,OAAO,CAAS;IAE5C;;+EAE2E;IAC3E,SAA6C,KAAK,EAAE,SAAS,GAAG,UAAU,CAAa;IAEvF,wFAAwF;IACxF,SAEgB,WAAW,EAAE,OAAO,CAAS;IAE7C,4FAA4F;IAC5F,SAEgB,aAAa,EAAE,OAAO,CAAS;IAE/C,qDAAqD;IAC5C,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAiB;IAEzD,oEAAoE;IACpE,OAAO,CAAC,6BAA6B,CAAC,CAAgB;IAEtD,8CAA8C;IACrC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAkE;IAElG,+CAA+C;IACtC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAoB;IAEpD,iCAAiC;IACjC,IAAW,YAAY,IAAI,gBAAgB,GAAG,iBAAiB,GAAG,WAAW,GAAG,SAAS,CAExF;IAED,OAAO,CAAC,SAAS,CAAmC;IAEpD;;OAEG;IACH,OAAO,CAAC,2BAA2B,CAM1B;IAET,OAAO,CAAC,qBAAqB,CAAyB;IAEtC,iBAAiB,IAAI,IAAI;cAMtB,UAAU,CAAC,iBAAiB,EAAE,cAAc,CAAC,IAAI,CAAC,GAAG,IAAI;IAQ5D,oBAAoB,IAAI,IAAI;IAS5C,OAAO,CAAC,mBAAmB;IAgB3B,OAAO,CAAC,gBAAgB;IAUxB,OAAO,CAAC,kBAAkB;IAW1B;;OAEG;IACH,OAAO,CAAC,kBAAkB;IAkC1B,OAAO,CAAC,yBAAyB;IA4BjC,OAAO,CAAC,sBAAsB;IAsE9B,OAAO,CAAC,aAAa;IASrB,OAAO,CAAC,gBAAgB;IA4BxB,OAAO,CAAC,kBAAkB;IAS1B,OAAO,CAAC,yBAAyB;IAQjC,OAAO,CAAC,aAAa;IAerB,OAAO,CAAC,kBAAkB;IAK1B,OAAO,CAAC,YAAY;IAOpB,OAAO,CAAC,eAAe;IAoBvB;;OAEG;IACH,OAAO,CAAC,kBAAkB;IAsB1B,OAAO,CAAC,qBAAqB;IAiB7B,qFAAqF;IAC9E,KAAK,IAAI,IAAI;IAIpB,4FAA4F;IACrF,KAAK,IAAI,IAAI;IAQpB,OAAO,CAAC,aAAa;cAMF,MAAM,IAAI,cAAc;CAmC5C;AAED,OAAO,CAAC,MAAM,CAAC;IACb,UAAU,qBAAqB;QAE7B,gBAAgB,EAAE,mBAAmB,CAAC;KACvC;CACF"}
|
|
@@ -34,7 +34,7 @@ const style = css`*,
|
|
|
34
34
|
--sbb-button-border-disabled-style: dashed;
|
|
35
35
|
--sbb-button-border-radius: var(--sbb-border-radius-infinity);
|
|
36
36
|
--sbb-button-transition-duration: var(
|
|
37
|
-
--sbb-disable-animation-
|
|
37
|
+
--sbb-disable-animation-duration,
|
|
38
38
|
var(--sbb-animation-duration-2x)
|
|
39
39
|
);
|
|
40
40
|
--sbb-button-transition-easing-function: var(--sbb-animation-easing);
|
|
@@ -87,12 +87,12 @@ sbb-icon {
|
|
|
87
87
|
--sbb-button-color-disabled-text: var(--sbb-color-smoke);
|
|
88
88
|
}
|
|
89
89
|
|
|
90
|
-
:host(:is([disabled], [data-disabled], [data-group-disabled])) .sbb-form-field-clear {
|
|
90
|
+
:host(:is([disabled], :disabled, [disabled-interactive], [data-disabled], [data-group-disabled])) .sbb-form-field-clear {
|
|
91
91
|
color: var(--sbb-button-color-disabled-text);
|
|
92
92
|
cursor: default;
|
|
93
93
|
pointer-events: none;
|
|
94
94
|
}
|
|
95
|
-
:host(:is([disabled], [data-disabled], [data-group-disabled])) .sbb-form-field-clear::before {
|
|
95
|
+
:host(:is([disabled], :disabled, [disabled-interactive], [data-disabled], [data-group-disabled])) .sbb-form-field-clear::before {
|
|
96
96
|
background-color: var(--sbb-button-color-disabled-background);
|
|
97
97
|
border: var(--sbb-button-border-disabled-width) var(--sbb-button-border-disabled-style) var(--sbb-button-color-disabled-border);
|
|
98
98
|
}
|
|
@@ -104,17 +104,17 @@ sbb-icon {
|
|
|
104
104
|
}
|
|
105
105
|
|
|
106
106
|
@media (any-hover: hover) {
|
|
107
|
-
:host(:not([disabled], [data-disabled], [data-group-disabled], :active, [data-active]):hover) {
|
|
107
|
+
:host(:not([disabled], :disabled, [disabled-interactive], [data-disabled], [data-group-disabled], :active, [data-active]):hover) {
|
|
108
108
|
--sbb-button-translate-y-content-hover: -0.0625rem;
|
|
109
109
|
}
|
|
110
110
|
}
|
|
111
111
|
@media (any-hover: hover) {
|
|
112
|
-
:host(:not([disabled], [data-disabled], [data-group-disabled], :active, [data-active]):hover) .sbb-form-field-clear::before {
|
|
112
|
+
:host(:not([disabled], :disabled, [disabled-interactive], [data-disabled], [data-group-disabled], :active, [data-active]):hover) .sbb-form-field-clear::before {
|
|
113
113
|
background-color: var(--sbb-button-color-hover-background);
|
|
114
114
|
}
|
|
115
115
|
}
|
|
116
116
|
|
|
117
|
-
:host(:not([disabled], [data-disabled], [data-group-disabled]):is(:active, [data-active])) .sbb-form-field-clear::before {
|
|
117
|
+
:host(:not([disabled], :disabled, [disabled-interactive], [data-disabled], [data-group-disabled]):is(:active, [data-active])) .sbb-form-field-clear::before {
|
|
118
118
|
background-color: var(--sbb-button-color-active-background);
|
|
119
119
|
}`;
|
|
120
120
|
let SbbFormFieldClearElement = (() => {
|
|
@@ -9,9 +9,9 @@ import { __runInitializers, __esDecorate } from "tslib";
|
|
|
9
9
|
import { css, LitElement, isServer, html, nothing } from "lit";
|
|
10
10
|
import { customElement, property, state } from "lit/decorators.js";
|
|
11
11
|
import { sbbInputModalityDetector } from "../core/a11y.js";
|
|
12
|
-
import {
|
|
12
|
+
import { SbbLanguageController } from "../core/controllers.js";
|
|
13
13
|
import { slotState, forceType } from "../core/decorators.js";
|
|
14
|
-
import { isFirefox, setOrRemoveAttribute } from "../core/dom.js";
|
|
14
|
+
import { isLean, isFirefox, setOrRemoveAttribute } from "../core/dom.js";
|
|
15
15
|
import { i18nOptional } from "../core/i18n.js";
|
|
16
16
|
import { SbbNegativeMixin, SbbHydrationMixin } from "../core/mixins.js";
|
|
17
17
|
import "../icon.js";
|
|
@@ -170,19 +170,19 @@ const style = css`@charset "UTF-8";
|
|
|
170
170
|
--sbb-form-field-prefix-color: var(--sbb-color-granite);
|
|
171
171
|
}
|
|
172
172
|
|
|
173
|
-
:host(:is([data-input-focused]
|
|
173
|
+
:host(:is([data-input-focused])) {
|
|
174
174
|
--sbb-form-field-border-color: var(--sbb-color-charcoal);
|
|
175
175
|
--sbb-form-field-prefix-color: var(--sbb-color-charcoal);
|
|
176
176
|
--sbb-form-field-border-width: var(--sbb-border-width-2x);
|
|
177
177
|
}
|
|
178
178
|
@media (forced-colors: active) {
|
|
179
|
-
:host(:is([data-input-focused]
|
|
179
|
+
:host(:is([data-input-focused])) {
|
|
180
180
|
--sbb-form-field-border-color: Highlight !important;
|
|
181
181
|
--sbb-form-field-prefix-color: Highlight !important;
|
|
182
182
|
}
|
|
183
183
|
}
|
|
184
184
|
|
|
185
|
-
:host(:is([data-input-focused]
|
|
185
|
+
:host(:is([data-input-focused])[negative]) {
|
|
186
186
|
--sbb-form-field-border-color: var(--sbb-color-milk);
|
|
187
187
|
--sbb-form-field-prefix-color: var(--sbb-color-milk);
|
|
188
188
|
}
|
|
@@ -266,7 +266,7 @@ const style = css`@charset "UTF-8";
|
|
|
266
266
|
:host(:is([borderless], [data-input-type=sbb-slider])) .sbb-form-field__wrapper::before {
|
|
267
267
|
border-color: transparent;
|
|
268
268
|
}
|
|
269
|
-
:host(:is([data-input-focused], [data-
|
|
269
|
+
:host(:is([data-input-focused], [data-disabled])[borderless]) .sbb-form-field__wrapper::after {
|
|
270
270
|
content: "";
|
|
271
271
|
position: absolute;
|
|
272
272
|
border-block-end: var(--sbb-border-width-1x) var(--sbb-form-field-border-style) var(--sbb-form-field-border-color);
|
|
@@ -369,7 +369,7 @@ const style = css`@charset "UTF-8";
|
|
|
369
369
|
pointer-events: none;
|
|
370
370
|
backface-visibility: hidden;
|
|
371
371
|
will-change: transform, font-size;
|
|
372
|
-
transition-duration: var(--sbb-disable-animation-
|
|
372
|
+
transition-duration: var(--sbb-disable-animation-duration, var(--sbb-animation-duration-2x));
|
|
373
373
|
transition-timing-function: var(--sbb-animation-easing);
|
|
374
374
|
transition-property: transform, font-size;
|
|
375
375
|
}
|
|
@@ -538,7 +538,6 @@ const style = css`@charset "UTF-8";
|
|
|
538
538
|
}`;
|
|
539
539
|
let nextId = 0;
|
|
540
540
|
let nextFormFieldErrorId = 0;
|
|
541
|
-
const supportedPopupTagNames = ["sbb-autocomplete", "sbb-autocomplete-grid", "sbb-select"];
|
|
542
541
|
const patchedInputs = /* @__PURE__ */ new WeakMap();
|
|
543
542
|
let SbbFormFieldElement = (() => {
|
|
544
543
|
var _errorSpace_accessor_storage, _optional_accessor_storage, _size_accessor_storage, _borderless_accessor_storage, _width_accessor_storage, _hiddenLabel_accessor_storage, _floatingLabel_accessor_storage, __errorElements_accessor_storage, __input_accessor_storage, __label_accessor_storage, _a;
|
|
@@ -596,7 +595,7 @@ let SbbFormFieldElement = (() => {
|
|
|
596
595
|
"sbb-select",
|
|
597
596
|
"sbb-slider"
|
|
598
597
|
];
|
|
599
|
-
this._excludedFocusElements = ["button", "sbb-popover"];
|
|
598
|
+
this._excludedFocusElements = ["button", "sbb-popover", "sbb-option"];
|
|
600
599
|
this._floatingLabelSupportedInputElements = [
|
|
601
600
|
"input",
|
|
602
601
|
"select",
|
|
@@ -614,7 +613,7 @@ let SbbFormFieldElement = (() => {
|
|
|
614
613
|
];
|
|
615
614
|
__privateSet(this, _errorSpace_accessor_storage, __runInitializers(this, _errorSpace_initializers, "none"));
|
|
616
615
|
__privateSet(this, _optional_accessor_storage, (__runInitializers(this, _errorSpace_extraInitializers), __runInitializers(this, _optional_initializers, false)));
|
|
617
|
-
__privateSet(this, _size_accessor_storage, (__runInitializers(this, _optional_extraInitializers), __runInitializers(this, _size_initializers, "m")));
|
|
616
|
+
__privateSet(this, _size_accessor_storage, (__runInitializers(this, _optional_extraInitializers), __runInitializers(this, _size_initializers, isLean() ? "s" : "m")));
|
|
618
617
|
__privateSet(this, _borderless_accessor_storage, (__runInitializers(this, _size_extraInitializers), __runInitializers(this, _borderless_initializers, false)));
|
|
619
618
|
__privateSet(this, _width_accessor_storage, (__runInitializers(this, _borderless_extraInitializers), __runInitializers(this, _width_initializers, "default")));
|
|
620
619
|
__privateSet(this, _hiddenLabel_accessor_storage, (__runInitializers(this, _width_extraInitializers), __runInitializers(this, _hiddenLabel_initializers, false)));
|
|
@@ -623,8 +622,7 @@ let SbbFormFieldElement = (() => {
|
|
|
623
622
|
this._originalInputAriaDescribedby = __runInitializers(this, __errorElements_extraInitializers);
|
|
624
623
|
__privateSet(this, __input_accessor_storage, __runInitializers(this, __input_initializers, void 0));
|
|
625
624
|
__privateSet(this, __label_accessor_storage, (__runInitializers(this, __input_extraInitializers), __runInitializers(this, __label_initializers, void 0)));
|
|
626
|
-
this.
|
|
627
|
-
this._language = new SbbLanguageController(this);
|
|
625
|
+
this._language = (__runInitializers(this, __label_extraInitializers), new SbbLanguageController(this));
|
|
628
626
|
this._formFieldAttributeObserver = !isServer ? new MutationObserver((mutations) => {
|
|
629
627
|
if (mutations.some((m) => m.type === "attributes")) {
|
|
630
628
|
this._readInputState();
|
|
@@ -650,7 +648,10 @@ let SbbFormFieldElement = (() => {
|
|
|
650
648
|
set optional(value) {
|
|
651
649
|
__privateSet(this, _optional_accessor_storage, value);
|
|
652
650
|
}
|
|
653
|
-
/**
|
|
651
|
+
/**
|
|
652
|
+
* Size variant, either l, m or s.
|
|
653
|
+
* @default 'm' / 's' (lean)
|
|
654
|
+
*/
|
|
654
655
|
get size() {
|
|
655
656
|
return __privateGet(this, _size_accessor_storage);
|
|
656
657
|
}
|
|
@@ -714,9 +715,6 @@ let SbbFormFieldElement = (() => {
|
|
|
714
715
|
}
|
|
715
716
|
connectedCallback() {
|
|
716
717
|
super.connectedCallback();
|
|
717
|
-
const signal = this._abort.signal;
|
|
718
|
-
this.addEventListener("willOpen", (e) => this._onPopupOpen(e), { signal });
|
|
719
|
-
this.addEventListener("didClose", (e) => this._onPopupClose(e), { signal });
|
|
720
718
|
this._registerInputListener();
|
|
721
719
|
this._syncNegative();
|
|
722
720
|
}
|
|
@@ -735,22 +733,12 @@ let SbbFormFieldElement = (() => {
|
|
|
735
733
|
this._unpatchInputValue();
|
|
736
734
|
}
|
|
737
735
|
}
|
|
738
|
-
_onPopupOpen({ target }) {
|
|
739
|
-
if (supportedPopupTagNames.includes(target.localName)) {
|
|
740
|
-
this.toggleAttribute("data-has-popup-open", true);
|
|
741
|
-
}
|
|
742
|
-
}
|
|
743
|
-
_onPopupClose({ target }) {
|
|
744
|
-
if (supportedPopupTagNames.includes(target.localName)) {
|
|
745
|
-
this.removeAttribute("data-has-popup-open");
|
|
746
|
-
}
|
|
747
|
-
}
|
|
748
736
|
_handleWrapperClick(event) {
|
|
749
737
|
var _a2, _b;
|
|
750
738
|
if (this._isButtonOrPopup(event)) {
|
|
751
739
|
return;
|
|
752
740
|
}
|
|
753
|
-
if (((_a2 = this._input) == null ? void 0 : _a2.localName) === "sbb-select") {
|
|
741
|
+
if (((_a2 = this._input) == null ? void 0 : _a2.localName) === "sbb-select" && event.target.localName !== "sbb-select") {
|
|
754
742
|
this._input.click();
|
|
755
743
|
this._input.focus();
|
|
756
744
|
} else if (event.target.localName !== "label") {
|
|
@@ -758,7 +746,7 @@ let SbbFormFieldElement = (() => {
|
|
|
758
746
|
}
|
|
759
747
|
}
|
|
760
748
|
_isButtonOrPopup(event) {
|
|
761
|
-
return event.composedPath().some((el) => el instanceof window.HTMLElement && el.getAttribute("
|
|
749
|
+
return event.composedPath().some((el) => el instanceof window.HTMLElement && el.getAttribute("tabindex") === "0" || this._excludedFocusElements.includes(el.localName));
|
|
762
750
|
}
|
|
763
751
|
_onSlotLabelChange() {
|
|
764
752
|
const labels = Array.from(this.querySelectorAll("label"));
|
|
@@ -792,7 +780,7 @@ let SbbFormFieldElement = (() => {
|
|
|
792
780
|
(_a2 = this._formFieldAttributeObserver) == null ? void 0 : _a2.disconnect();
|
|
793
781
|
(_b = this._formFieldAttributeObserver) == null ? void 0 : _b.observe(this._input, {
|
|
794
782
|
attributes: true,
|
|
795
|
-
attributeFilter: ["readonly", "disabled", "class", "data-sbb-invalid"]
|
|
783
|
+
attributeFilter: ["readonly", "disabled", "class", "data-sbb-invalid", "data-state"]
|
|
796
784
|
});
|
|
797
785
|
this.setAttribute("data-input-type", this._input.localName);
|
|
798
786
|
this._syncLabelInputReferences();
|
|
@@ -839,15 +827,25 @@ let SbbFormFieldElement = (() => {
|
|
|
839
827
|
this._input.addEventListener("stateChange", () => this._checkAndUpdateInputEmpty(), {
|
|
840
828
|
signal: this._inputAbortController.signal
|
|
841
829
|
});
|
|
842
|
-
|
|
830
|
+
const selectInput = this._input;
|
|
831
|
+
inputFocusElement = selectInput.inputElement;
|
|
832
|
+
if (!inputFocusElement) {
|
|
833
|
+
const controller = {
|
|
834
|
+
hostUpdated: () => {
|
|
835
|
+
selectInput.removeController(controller);
|
|
836
|
+
this._registerInputListener();
|
|
837
|
+
}
|
|
838
|
+
};
|
|
839
|
+
selectInput.addController(controller);
|
|
840
|
+
}
|
|
843
841
|
}
|
|
844
|
-
inputFocusElement.addEventListener("focusin", () => {
|
|
842
|
+
inputFocusElement == null ? void 0 : inputFocusElement.addEventListener("focusin", () => {
|
|
845
843
|
this.toggleAttribute("data-input-focused", true);
|
|
846
844
|
this.setAttribute("data-focus-origin", sbbInputModalityDetector.mostRecentModality ?? "");
|
|
847
845
|
}, {
|
|
848
846
|
signal: this._inputAbortController.signal
|
|
849
847
|
});
|
|
850
|
-
inputFocusElement.addEventListener("focusout", () => ["data-focus-origin", "data-input-focused"].forEach((name) => this.removeAttribute(name)), {
|
|
848
|
+
inputFocusElement == null ? void 0 : inputFocusElement.addEventListener("focusout", () => ["data-focus-origin", "data-input-focused"].forEach((name) => this.removeAttribute(name)), {
|
|
851
849
|
signal: this._inputAbortController.signal
|
|
852
850
|
});
|
|
853
851
|
}
|
|
@@ -919,6 +917,7 @@ let SbbFormFieldElement = (() => {
|
|
|
919
917
|
this.toggleAttribute("data-readonly", this._input.hasAttribute("readonly"));
|
|
920
918
|
this.toggleAttribute("data-disabled", this._input.hasAttribute("disabled"));
|
|
921
919
|
this.toggleAttribute("data-invalid", this._input.hasAttribute("data-sbb-invalid") || this._input.classList.contains("sbb-invalid") || this._input.classList.contains("ng-touched") && this._input.classList.contains("ng-invalid"));
|
|
920
|
+
this.toggleAttribute("data-has-popup-open", this._input.localName === "sbb-select" && ["opening", "opened"].includes(this._input.getAttribute("data-state")));
|
|
922
921
|
}
|
|
923
922
|
/**
|
|
924
923
|
* It is used internally to set the aria-describedby attribute for the slotted input referencing available <sbb-form-error> instances.
|
|
@@ -966,13 +965,6 @@ let SbbFormFieldElement = (() => {
|
|
|
966
965
|
this._input.value = "";
|
|
967
966
|
this._checkAndUpdateInputEmpty();
|
|
968
967
|
}
|
|
969
|
-
/**
|
|
970
|
-
* Returns the input element.
|
|
971
|
-
* @deprecated Use the 'inputElement' property instead
|
|
972
|
-
*/
|
|
973
|
-
getInputElement() {
|
|
974
|
-
return this._input;
|
|
975
|
-
}
|
|
976
968
|
_syncNegative() {
|
|
977
969
|
var _a2;
|
|
978
970
|
(_a2 = this.querySelectorAll) == null ? void 0 : _a2.call(this, "sbb-form-error,sbb-mini-button,sbb-popover-trigger,sbb-form-field-clear,sbb-datepicker-next-day,sbb-datepicker-previous-day,sbb-datepicker-toggle,sbb-select,sbb-autocomplete,sbb-autocomplete-grid").forEach((element) => element.toggleAttribute("negative", this.negative));
|
|
@@ -1061,4 +1053,4 @@ let SbbFormFieldElement = (() => {
|
|
|
1061
1053
|
export {
|
|
1062
1054
|
SbbFormFieldElement
|
|
1063
1055
|
};
|
|
1064
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9ybS1maWVsZC5qcyIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL2VsZW1lbnRzL2Zvcm0tZmllbGQvZm9ybS1maWVsZC9mb3JtLWZpZWxkLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IHR5cGUgQ1NTUmVzdWx0R3JvdXAsIGlzU2VydmVyLCB0eXBlIFByb3BlcnR5VmFsdWVzLCB0eXBlIFRlbXBsYXRlUmVzdWx0IH0gZnJvbSAnbGl0JztcbmltcG9ydCB7IGh0bWwsIExpdEVsZW1lbnQsIG5vdGhpbmcgfSBmcm9tICdsaXQnO1xuaW1wb3J0IHsgY3VzdG9tRWxlbWVudCwgcHJvcGVydHksIHN0YXRlIH0gZnJvbSAnbGl0L2RlY29yYXRvcnMuanMnO1xuXG5pbXBvcnQgdHlwZSB7IFNiYklucHV0TW9kYWxpdHkgfSBmcm9tICcuLi8uLi9jb3JlL2ExMXkuanMnO1xuaW1wb3J0IHsgc2JiSW5wdXRNb2RhbGl0eURldGVjdG9yIH0gZnJvbSAnLi4vLi4vY29yZS9hMTF5LmpzJztcbmltcG9ydCB7IFNiYkNvbm5lY3RlZEFib3J0Q29udHJvbGxlciwgU2JiTGFuZ3VhZ2VDb250cm9sbGVyIH0gZnJvbSAnLi4vLi4vY29yZS9jb250cm9sbGVycy5qcyc7XG5pbXBvcnQgeyBmb3JjZVR5cGUsIHNsb3RTdGF0ZSB9IGZyb20gJy4uLy4uL2NvcmUvZGVjb3JhdG9ycy5qcyc7XG5pbXBvcnQgeyBpc0ZpcmVmb3gsIHNldE9yUmVtb3ZlQXR0cmlidXRlIH0gZnJvbSAnLi4vLi4vY29yZS9kb20uanMnO1xuaW1wb3J0IHsgaTE4bk9wdGlvbmFsIH0gZnJvbSAnLi4vLi4vY29yZS9pMThuLmpzJztcbmltcG9ydCB7IFNiYkh5ZHJhdGlvbk1peGluLCBTYmJOZWdhdGl2ZU1peGluIH0gZnJvbSAnLi4vLi4vY29yZS9taXhpbnMuanMnO1xuaW1wb3J0IHR5cGUgeyBTYmJTZWxlY3RFbGVtZW50IH0gZnJvbSAnLi4vLi4vc2VsZWN0LmpzJztcblxuaW1wb3J0IHN0eWxlIGZyb20gJy4vZm9ybS1maWVsZC5zY3NzP2xpdCZpbmxpbmUnO1xuXG5pbXBvcnQgJy4uLy4uL2ljb24uanMnO1xuXG5sZXQgbmV4dElkID0gMDtcbmxldCBuZXh0Rm9ybUZpZWxkRXJyb3JJZCA9IDA7XG5cbmNvbnN0IHN1cHBvcnRlZFBvcHVwVGFnTmFtZXMgPSBbJ3NiYi1hdXRvY29tcGxldGUnLCAnc2JiLWF1dG9jb21wbGV0ZS1ncmlkJywgJ3NiYi1zZWxlY3QnXTtcblxuY29uc3QgcGF0Y2hlZElucHV0cyA9IG5ldyBXZWFrTWFwPEhUTUxJbnB1dEVsZW1lbnQsIFByb3BlcnR5RGVzY3JpcHRvcj4oKTtcblxuLyoqXG4gKiBJdCB3cmFwcyBhbiBpbnB1dCBlbGVtZW50IGFkZGluZyBsYWJlbCwgZXJyb3JzLCBpY29uLCBldGMuXG4gKlxuICogQHNsb3QgLSBVc2UgdGhpcyBzbG90IHRvIHJlbmRlciBhbiBpbnB1dC9zZWxlY3Qgb3IgYSBzdXBwb3J0ZWQgbm9uLW5hdGl2ZSBlbGVtZW50LlxuICogQHNsb3QgbGFiZWwgLSBVc2UgdGhpcyBzbG90IHRvIHJlbmRlciBhIGxhYmVsLlxuICogQHNsb3QgcHJlZml4IC0gVXNlIHRoaXMgc2xvdCB0byByZW5kZXIgYW4gaWNvbiBvbiB0aGUgbGVmdCBzaWRlIG9mIHRoZSBpbnB1dC5cbiAqIEBzbG90IHN1ZmZpeCAtIFVzZSB0aGlzIHNsb3QgdG8gcmVuZGVyIGFuIGljb24gb24gdGhlIHJpZ2h0IHNpZGUgb2YgdGhlIGlucHV0LlxuICogQHNsb3QgZXJyb3IgLSBVc2UgdGhpcyBzbG90IHRvIHJlbmRlciBhbiBlcnJvci5cbiAqL1xuZXhwb3J0XG5AY3VzdG9tRWxlbWVudCgnc2JiLWZvcm0tZmllbGQnKVxuQHNsb3RTdGF0ZSgpXG5jbGFzcyBTYmJGb3JtRmllbGRFbGVtZW50IGV4dGVuZHMgU2JiTmVnYXRpdmVNaXhpbihTYmJIeWRyYXRpb25NaXhpbihMaXRFbGVtZW50KSkge1xuICBwdWJsaWMgc3RhdGljIG92ZXJyaWRlIHN0eWxlczogQ1NTUmVzdWx0R3JvdXAgPSBzdHlsZTtcblxuICBwcml2YXRlIHJlYWRvbmx5IF9zdXBwb3J0ZWROYXRpdmVJbnB1dEVsZW1lbnRzID0gWydpbnB1dCcsICdzZWxlY3QnLCAndGV4dGFyZWEnXTtcbiAgLy8gTGlzdCBvZiBzdXBwb3J0ZWQgZWxlbWVudCBzZWxlY3RvcnMgaW4gdW5uYW1lZCBzbG90XG4gIHByaXZhdGUgcmVhZG9ubHkgX3N1cHBvcnRlZElucHV0RWxlbWVudHMgPSBbXG4gICAgLi4udGhpcy5fc3VwcG9ydGVkTmF0aXZlSW5wdXRFbGVtZW50cyxcbiAgICAnc2JiLXNlbGVjdCcsXG4gICAgJ3NiYi1zbGlkZXInLFxuICBdO1xuICAvLyBMaXN0IG9mIGVsZW1lbnRzIHRoYXQgc2hvdWxkIG5vdCBmb2N1cyBpbnB1dCBvbiBjbGlja1xuICBwcml2YXRlIHJlYWRvbmx5IF9leGNsdWRlZEZvY3VzRWxlbWVudHMgPSBbJ2J1dHRvbicsICdzYmItcG9wb3ZlciddO1xuXG4gIHByaXZhdGUgcmVhZG9ubHkgX2Zsb2F0aW5nTGFiZWxTdXBwb3J0ZWRJbnB1dEVsZW1lbnRzID0gW1xuICAgICdpbnB1dCcsXG4gICAgJ3NlbGVjdCcsXG4gICAgJ3NiYi1zZWxlY3QnLFxuICAgICd0ZXh0YXJlYScsXG4gIF07XG5cbiAgcHJpdmF0ZSByZWFkb25seSBfZmxvYXRpbmdMYWJlbFN1cHBvcnRlZElucHV0VHlwZXMgPSBbXG4gICAgJ2VtYWlsJyxcbiAgICAnbnVtYmVyJyxcbiAgICAncGFzc3dvcmQnLFxuICAgICdzZWFyY2gnLFxuICAgICd0ZWwnLFxuICAgICd0ZXh0JyxcbiAgICAndXJsJyxcbiAgXTtcblxuICAvKipcbiAgICogV2hldGhlciB0byByZXNlcnZlIHNwYWNlIGZvciBhbiBlcnJvciBtZXNzYWdlLlxuICAgKiBgbm9uZWAgZG9lcyBub3QgcmVzZXJ2ZSBhbnkgc3BhY2UuXG4gICAqIGByZXNlcnZlYCBkb2VzIHJlc2VydmUgb25lIHJvdyBmb3IgYW4gZXJyb3IgbWVzc2FnZS5cbiAgICovXG4gIEBwcm9wZXJ0eSh7IGF0dHJpYnV0ZTogJ2Vycm9yLXNwYWNlJywgcmVmbGVjdDogdHJ1ZSB9KVxuICBwdWJsaWMgYWNjZXNzb3IgZXJyb3JTcGFjZTogJ25vbmUnIHwgJ3Jlc2VydmUnID0gJ25vbmUnO1xuXG4gIC8qKiBJbmRpY2F0ZXMgd2hldGhlciB0aGUgaW5wdXQgaXMgb3B0aW9uYWwuICovXG4gIEBmb3JjZVR5cGUoKVxuICBAcHJvcGVydHkoeyB0eXBlOiBCb29sZWFuIH0pXG4gIHB1YmxpYyBhY2Nlc3NvciBvcHRpb25hbDogYm9vbGVhbiA9IGZhbHNlO1xuXG4gIC8qKiBTaXplIHZhcmlhbnQsIGVpdGhlciBsIG9yIG0uICovXG4gIEBwcm9wZXJ0eSh7IHJlZmxlY3Q6IHRydWUgfSkgcHVibGljIGFjY2Vzc29yIHNpemU6ICdsJyB8ICdtJyB8ICdzJyA9ICdtJztcblxuICAvKiogV2hldGhlciB0byBkaXNwbGF5IHRoZSBmb3JtIGZpZWxkIHdpdGhvdXQgYSBib3JkZXIuICovXG4gIEBmb3JjZVR5cGUoKVxuICBAcHJvcGVydHkoeyByZWZsZWN0OiB0cnVlLCB0eXBlOiBCb29sZWFuIH0pXG4gIHB1YmxpYyBhY2Nlc3NvciBib3JkZXJsZXNzOiBib29sZWFuID0gZmFsc2U7XG5cbiAgLyoqIERlZmluZXMgdGhlIHdpZHRoIG9mIHRoZSBjb21wb25lbnQ6XG4gICAqIC0gYGRlZmF1bHRgOiB0aGUgY29tcG9uZW50IGhhcyBkZWZpbmVkIHdpZHRoIGFuZCBtaW4td2lkdGg7XG4gICAqIC0gYGNvbGxhcHNlYDogdGhlIGNvbXBvbmVudCBhZGFwdHMgaXRzZWxmIHRvIGl0cyBpbm5lciBpbnB1dCBjb250ZW50LiAqL1xuICBAcHJvcGVydHkoeyByZWZsZWN0OiB0cnVlIH0pIHB1YmxpYyBhY2Nlc3NvciB3aWR0aDogJ2RlZmF1bHQnIHwgJ2NvbGxhcHNlJyA9ICdkZWZhdWx0JztcblxuICAvKiogV2hldGhlciB0byB2aXN1YWxseSBoaWRlIHRoZSBsYWJlbC4gSWYgaGlkZGVuLCBzY3JlZW4gcmVhZGVycyB3aWxsIHN0aWxsIHJlYWQgaXQuICovXG4gIEBmb3JjZVR5cGUoKVxuICBAcHJvcGVydHkoeyBhdHRyaWJ1dGU6ICdoaWRkZW4tbGFiZWwnLCByZWZsZWN0OiB0cnVlLCB0eXBlOiBCb29sZWFuIH0pXG4gIHB1YmxpYyBhY2Nlc3NvciBoaWRkZW5MYWJlbDogYm9vbGVhbiA9IGZhbHNlO1xuXG4gIC8qKiBXaGV0aGVyIHRoZSBsYWJlbCBzaG91bGQgZmxvYXQuIElmIGFjdGl2YXRlZCwgdGhlIHBsYWNlaG9sZGVyIG9mIHRoZSBpbnB1dCBpcyBoaWRkZW4uICovXG4gIEBmb3JjZVR5cGUoKVxuICBAcHJvcGVydHkoeyBhdHRyaWJ1dGU6ICdmbG9hdGluZy1sYWJlbCcsIHJlZmxlY3Q6IHRydWUsIHR5cGU6IEJvb2xlYW4gfSlcbiAgcHVibGljIGFjY2Vzc29yIGZsb2F0aW5nTGFiZWw6IGJvb2xlYW4gPSBmYWxzZTtcblxuICAvKiogSXQgaXMgdXNlZCBpbnRlcm5hbGx5IHRvIGdldCB0aGUgYGVycm9yYCBzbG90LiAqL1xuICBAc3RhdGUoKSBwcml2YXRlIGFjY2Vzc29yIF9lcnJvckVsZW1lbnRzOiBFbGVtZW50W10gPSBbXTtcblxuICAvKiogT3JpZ2luYWwgYXJpYS1kZXNjcmliZWRieSB2YWx1ZSBvZiB0aGUgc2xvdHRlZCBpbnB1dCBlbGVtZW50LiAqL1xuICBwcml2YXRlIF9vcmlnaW5hbElucHV0QXJpYURlc2NyaWJlZGJ5Pzogc3RyaW5nIHwgbnVsbDtcblxuICAvKiogUmVmZXJlbmNlIHRvIHRoZSBzbG90dGVkIGlucHV0IGVsZW1lbnQuICovXG4gIEBzdGF0ZSgpIHByaXZhdGUgYWNjZXNzb3IgX2lucHV0ITogSFRNTElucHV0RWxlbWVudCB8IEhUTUxTZWxlY3RFbGVtZW50IHwgSFRNTEVsZW1lbnQgfCB1bmRlZmluZWQ7XG5cbiAgLyoqIFJlZmVyZW5jZSB0byB0aGUgc2xvdHRlZCBsYWJlbCBlbGVtZW50cy4gKi9cbiAgQHN0YXRlKCkgcHJpdmF0ZSBhY2Nlc3NvciBfbGFiZWwhOiBIVE1MTGFiZWxFbGVtZW50O1xuXG4gIC8qKiBSZXR1cm5zIHRoZSBpbnB1dCBlbGVtZW50LiAqL1xuICBwdWJsaWMgZ2V0IGlucHV0RWxlbWVudCgpOiBIVE1MSW5wdXRFbGVtZW50IHwgSFRNTFNlbGVjdEVsZW1lbnQgfCBIVE1MRWxlbWVudCB8IHVuZGVmaW5lZCB7XG4gICAgcmV0dXJuIHRoaXMuX2lucHV0O1xuICB9XG5cbiAgcHJpdmF0ZSBfYWJvcnQgPSBuZXcgU2JiQ29ubmVjdGVkQWJvcnRDb250cm9sbGVyKHRoaXMpO1xuICBwcml2YXRlIF9sYW5ndWFnZSA9IG5ldyBTYmJMYW5ndWFnZUNvbnRyb2xsZXIodGhpcyk7XG5cbiAgLyoqXG4gICAqIExpc3RlbnMgdG8gdGhlIGNoYW5nZXMgb24gYHJlYWRvbmx5YCBhbmQgYGRpc2FibGVkYCBhdHRyaWJ1dGVzIG9mIGA8aW5wdXQ+YC5cbiAgICovXG4gIHByaXZhdGUgX2Zvcm1GaWVsZEF0dHJpYnV0ZU9ic2VydmVyID0gIWlzU2VydmVyXG4gICAgPyBuZXcgTXV0YXRpb25PYnNlcnZlcigobXV0YXRpb25zOiBNdXRhdGlvblJlY29yZFtdKSA9PiB7XG4gICAgICAgIGlmIChtdXRhdGlvbnMuc29tZSgobSkgPT4gbS50eXBlID09PSAnYXR0cmlidXRlcycpKSB7XG4gICAgICAgICAgdGhpcy5fcmVhZElucHV0U3RhdGUoKTtcbiAgICAgICAgfVxuICAgICAgfSlcbiAgICA6IG51bGw7XG5cbiAgcHJpdmF0ZSBfaW5wdXRBYm9ydENvbnRyb2xsZXIgPSBuZXcgQWJvcnRDb250cm9sbGVyKCk7XG5cbiAgcHVibGljIG92ZXJyaWRlIGNvbm5lY3RlZENhbGxiYWNrKCk6IHZvaWQge1xuICAgIHN1cGVyLmNvbm5lY3RlZENhbGxiYWNrKCk7XG4gICAgY29uc3Qgc2lnbmFsID0gdGhpcy5fYWJvcnQuc2lnbmFsO1xuICAgIHRoaXMuYWRkRXZlbnRMaXN0ZW5lcignd2lsbE9wZW4nLCAoZTogQ3VzdG9tRXZlbnQ8dm9pZD4pID0+IHRoaXMuX29uUG9wdXBPcGVuKGUpLCB7IHNpZ25hbCB9KTtcbiAgICB0aGlzLmFkZEV2ZW50TGlzdGVuZXIoJ2RpZENsb3NlJywgKGU6IEN1c3RvbUV2ZW50PHZvaWQ+KSA9PiB0aGlzLl9vblBvcHVwQ2xvc2UoZSksIHsgc2lnbmFsIH0pO1xuICAgIHRoaXMuX3JlZ2lzdGVySW5wdXRMaXN0ZW5lcigpO1xuICAgIHRoaXMuX3N5bmNOZWdhdGl2ZSgpO1xuICB9XG5cbiAgcHJvdGVjdGVkIG92ZXJyaWRlIHdpbGxVcGRhdGUoY2hhbmdlZFByb3BlcnRpZXM6IFByb3BlcnR5VmFsdWVzPHRoaXM+KTogdm9pZCB7XG4gICAgc3VwZXIud2lsbFVwZGF0ZShjaGFuZ2VkUHJvcGVydGllcyk7XG5cbiAgICBpZiAoY2hhbmdlZFByb3BlcnRpZXMuaGFzKCduZWdhdGl2ZScpKSB7XG4gICAgICB0aGlzLl9zeW5jTmVnYXRpdmUoKTtcbiAgICB9XG4gIH1cblxuICBwdWJsaWMgb3ZlcnJpZGUgZGlzY29ubmVjdGVkQ2FsbGJhY2soKTogdm9pZCB7XG4gICAgc3VwZXIuZGlzY29ubmVjdGVkQ2FsbGJhY2soKTtcbiAgICB0aGlzLl9mb3JtRmllbGRBdHRyaWJ1dGVPYnNlcnZlcj8uZGlzY29ubmVjdCgpO1xuICAgIHRoaXMuX2lucHV0QWJvcnRDb250cm9sbGVyLmFib3J0KCk7XG4gICAgaWYgKHRoaXMuX2lucHV0Py5sb2NhbE5hbWUgPT09ICdpbnB1dCcpIHtcbiAgICAgIHRoaXMuX3VucGF0Y2hJbnB1dFZhbHVlKCk7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBfb25Qb3B1cE9wZW4oeyB0YXJnZXQgfTogQ3VzdG9tRXZlbnQ8dm9pZD4pOiB2b2lkIHtcbiAgICBpZiAoc3VwcG9ydGVkUG9wdXBUYWdOYW1lcy5pbmNsdWRlcygodGFyZ2V0IGFzIEhUTUxFbGVtZW50KS5sb2NhbE5hbWUpKSB7XG4gICAgICB0aGlzLnRvZ2dsZUF0dHJpYnV0ZSgnZGF0YS1oYXMtcG9wdXAtb3BlbicsIHRydWUpO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgX29uUG9wdXBDbG9zZSh7IHRhcmdldCB9OiBDdXN0b21FdmVudDx2b2lkPik6IHZvaWQge1xuICAgIGlmIChzdXBwb3J0ZWRQb3B1cFRhZ05hbWVzLmluY2x1ZGVzKCh0YXJnZXQgYXMgSFRNTEVsZW1lbnQpLmxvY2FsTmFtZSkpIHtcbiAgICAgIHRoaXMucmVtb3ZlQXR0cmlidXRlKCdkYXRhLWhhcy1wb3B1cC1vcGVuJyk7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBfaGFuZGxlV3JhcHBlckNsaWNrKGV2ZW50OiBFdmVudCk6IHZvaWQge1xuICAgIGlmICh0aGlzLl9pc0J1dHRvbk9yUG9wdXAoZXZlbnQpKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgaWYgKHRoaXMuX2lucHV0Py5sb2NhbE5hbWUgPT09ICdzYmItc2VsZWN0Jykge1xuICAgICAgdGhpcy5faW5wdXQuY2xpY2soKTtcbiAgICAgIHRoaXMuX2lucHV0LmZvY3VzKCk7XG4gICAgfSBlbHNlIGlmICgoZXZlbnQudGFyZ2V0IGFzIEVsZW1lbnQpLmxvY2FsTmFtZSAhPT0gJ2xhYmVsJykge1xuICAgICAgdGhpcy5faW5wdXQ/LmZvY3VzKCk7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBfaXNCdXR0b25PclBvcHVwKGV2ZW50OiBFdmVudCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiBldmVudFxuICAgICAgLmNvbXBvc2VkUGF0aCgpXG4gICAgICAuc29tZShcbiAgICAgICAgKGVsKSA9PlxuICAgICAgICAgIChlbCBpbnN0YW5jZW9mIHdpbmRvdy5IVE1MRWxlbWVudCAmJiBlbC5nZXRBdHRyaWJ1dGUoJ3JvbGUnKSA9PT0gJ2J1dHRvbicpIHx8XG4gICAgICAgICAgdGhpcy5fZXhjbHVkZWRGb2N1c0VsZW1lbnRzLmluY2x1ZGVzKChlbCBhcyBIVE1MRWxlbWVudCkubG9jYWxOYW1lKSxcbiAgICAgICk7XG4gIH1cblxuICBwcml2YXRlIF9vblNsb3RMYWJlbENoYW5nZSgpOiB2b2lkIHtcbiAgICBjb25zdCBsYWJlbHMgPSBBcnJheS5mcm9tKHRoaXMucXVlcnlTZWxlY3RvckFsbCgnbGFiZWwnKSk7XG4gICAgaWYgKGltcG9ydC5tZXRhLmVudi5ERVYgJiYgbGFiZWxzLmxlbmd0aCA+IDEpIHtcbiAgICAgIGNvbnNvbGUud2FybihcbiAgICAgICAgYERldGVjdGVkIG1vcmUgdGhhbiBvbmUgbGFiZWwgaW4gc2JiLWZvcm0tZmllbGQjJHt0aGlzLmlkfS4gT25seSBvbmUgbGFiZWwgaXMgc3VwcG9ydGVkLmAsXG4gICAgICApO1xuICAgIH1cbiAgICB0aGlzLl9sYWJlbCA9IGxhYmVsc1swXTtcbiAgICB0aGlzLl9zeW5jTGFiZWxJbnB1dFJlZmVyZW5jZXMoKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBJdCBpcyB1c2VkIGludGVybmFsbHkgdG8gYXNzaWduIHRoZSBhdHRyaWJ1dGVzIG9mIGA8aW5wdXQ+YCB0byBgX2lkYCBhbmQgYF9pbnB1dGAgYW5kIHRvIG9ic2VydmUgdGhlIG5hdGl2ZSByZWFkb25seSBhbmQgZGlzYWJsZWQgYXR0cmlidXRlcy5cbiAgICovXG4gIHByaXZhdGUgX29uU2xvdElucHV0Q2hhbmdlKGV2ZW50OiBFdmVudCk6IHZvaWQge1xuICAgIGNvbnN0IG5ld0lucHV0ID0gKGV2ZW50LnRhcmdldCBhcyBIVE1MU2xvdEVsZW1lbnQpXG4gICAgICAuYXNzaWduZWRFbGVtZW50cygpXG4gICAgICAuZmluZCgoZSk6IGUgaXMgSFRNTEVsZW1lbnQgPT4gdGhpcy5fc3VwcG9ydGVkSW5wdXRFbGVtZW50cy5pbmNsdWRlcyhlLmxvY2FsTmFtZSkpO1xuICAgIHRoaXMuX2Fzc2lnblNsb3RzKCk7XG5cbiAgICBpZiAodGhpcy5faW5wdXQgJiYgdGhpcy5faW5wdXQubG9jYWxOYW1lID09PSAnaW5wdXQnICYmIG5ld0lucHV0ICE9PSB0aGlzLl9pbnB1dCkge1xuICAgICAgdGhpcy5fdW5wYXRjaElucHV0VmFsdWUoKTtcbiAgICB9XG5cbiAgICB0aGlzLl9pbnB1dCA9IG5ld0lucHV0O1xuXG4gICAgaWYgKCF0aGlzLl9pbnB1dCkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIHRoaXMuX29yaWdpbmFsSW5wdXRBcmlhRGVzY3JpYmVkYnkgPSB0aGlzLl9pbnB1dC5nZXRBdHRyaWJ1dGUoJ2FyaWEtZGVzY3JpYmVkYnknKTtcbiAgICB0aGlzLl9hcHBseUFyaWFEZXNjcmliZWRieSgpO1xuICAgIHRoaXMuX3JlYWRJbnB1dFN0YXRlKCk7XG4gICAgdGhpcy5fcmVnaXN0ZXJJbnB1dExpc3RlbmVyKCk7XG5cbiAgICBpZiAodGhpcy5faW5wdXQubG9jYWxOYW1lID09PSAndGV4dGFyZWEnKSB7XG4gICAgICB0aGlzLl9pbnB1dC5zZXRBdHRyaWJ1dGUoJ3Jvd3MnLCB0aGlzLl9pbnB1dC5nZXRBdHRyaWJ1dGUoJ3Jvd3MnKSB8fCAnMycpO1xuICAgIH1cblxuICAgIHRoaXMuX2Zvcm1GaWVsZEF0dHJpYnV0ZU9ic2VydmVyPy5kaXNjb25uZWN0KCk7XG4gICAgdGhpcy5fZm9ybUZpZWxkQXR0cmlidXRlT2JzZXJ2ZXI/Lm9ic2VydmUodGhpcy5faW5wdXQsIHtcbiAgICAgIGF0dHJpYnV0ZXM6IHRydWUsXG4gICAgICBhdHRyaWJ1dGVGaWx0ZXI6IFsncmVhZG9ubHknLCAnZGlzYWJsZWQnLCAnY2xhc3MnLCAnZGF0YS1zYmItaW52YWxpZCddLFxuICAgIH0pO1xuICAgIHRoaXMuc2V0QXR0cmlidXRlKCdkYXRhLWlucHV0LXR5cGUnLCB0aGlzLl9pbnB1dC5sb2NhbE5hbWUpO1xuICAgIHRoaXMuX3N5bmNMYWJlbElucHV0UmVmZXJlbmNlcygpO1xuICB9XG5cbiAgcHJpdmF0ZSBfc3luY0xhYmVsSW5wdXRSZWZlcmVuY2VzKCk6IHZvaWQge1xuICAgIGlmICghdGhpcy5faW5wdXQgfHwgIXRoaXMuX2xhYmVsKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgaWYgKHRoaXMuX3N1cHBvcnRlZE5hdGl2ZUlucHV0RWxlbWVudHMuaW5jbHVkZXModGhpcy5faW5wdXQubG9jYWxOYW1lKSkge1xuICAgICAgLy8gRm9yIG5hdGl2ZSBpbnB1dCBlbGVtZW50cyB3ZSB1c2UgdGhlIGBmb3JgIGF0dHJpYnV0ZSBvbiB0aGUgbGFiZWwgdG8gcmVmZXJlbmNlIHRoZSBpbnB1dFxuICAgICAgLy8gdmlhIGlkIHJlZmVyZW5jZS5cbiAgICAgIGlmICghdGhpcy5faW5wdXQuaWQpIHtcbiAgICAgICAgdGhpcy5faW5wdXQuaWQgPSBgc2JiLWZvcm0tZmllbGQtaW5wdXQtJHtuZXh0SWQrK31gO1xuICAgICAgfVxuXG4gICAgICB0aGlzLl9sYWJlbC5odG1sRm9yID0gdGhpcy5faW5wdXQuaWQ7XG4gICAgfSBlbHNlIHtcbiAgICAgIC8vIEZvciBub24tbmF0aXZlIGlucHV0IGVsZW1lbnRzLCB0aGF0IGRvIG5vdCBzdXBwb3J0IHJlZmVyZW5jZXMgdmlhIHRoZSBsYWJlbCBmb3IgYXR0cmlidXRlLFxuICAgICAgLy8gd2UgdXNlIGFyaWEtbGFiZWxsZWRieSBvbiB0aGUgaW5wdXQgZWxlbWVudCB0byByZWZlcmVuY2UgdGhlIGxhYmVsIGVsZW1lbnQgdmlhIGlkLlxuICAgICAgaWYgKCF0aGlzLl9sYWJlbC5pZCkge1xuICAgICAgICB0aGlzLl9sYWJlbC5pZCA9IGBzYmItZm9ybS1maWVsZC1sYWJlbC0ke25leHRJZCsrfWA7XG4gICAgICB9XG4gICAgICBjb25zdCBsYWJlbGxlZGJ5ID1cbiAgICAgICAgdGhpcy5faW5wdXRcbiAgICAgICAgICAuZ2V0QXR0cmlidXRlKCdhcmlhLWxhYmVsbGVkYnknKVxuICAgICAgICAgID8uc3BsaXQoJyAnKVxuICAgICAgICAgIC5maWx0ZXIoKGwpID0+ICEhbCAmJiBsICE9PSB0aGlzLl9sYWJlbCEuaWQpID8/IFtdO1xuICAgICAgdGhpcy5faW5wdXQuc2V0QXR0cmlidXRlKCdhcmlhLWxhYmVsbGVkYnknLCBbLi4ubGFiZWxsZWRieSwgdGhpcy5fbGFiZWwuaWRdLmpvaW4oJyAnKSk7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBfcmVnaXN0ZXJJbnB1dExpc3RlbmVyKCk6IHZvaWQge1xuICAgIGlmICghdGhpcy5faW5wdXQpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG4gICAgdGhpcy5faW5wdXRBYm9ydENvbnRyb2xsZXIuYWJvcnQoKTtcbiAgICB0aGlzLl9pbnB1dEFib3J0Q29udHJvbGxlciA9IG5ldyBBYm9ydENvbnRyb2xsZXIoKTtcbiAgICB0aGlzLl9jaGVja0FuZFVwZGF0ZUlucHV0RW1wdHkoKTtcblxuICAgIC8vIFRpbWVvdXQgbmVlZGVkIHRvIGhhdmUgdmFsdWUgdXBkYXRlZFxuICAgIHRoaXMuX2dldElucHV0Rm9ybSgpPy5hZGRFdmVudExpc3RlbmVyKCdyZXNldCcsICgpID0+IHNldFRpbWVvdXQoKCkgPT4gdGhpcy5yZXNldCgpKSwge1xuICAgICAgc2lnbmFsOiB0aGlzLl9pbnB1dEFib3J0Q29udHJvbGxlci5zaWduYWwsXG4gICAgfSk7XG5cbiAgICB0aGlzLl9pbnB1dC5hZGRFdmVudExpc3RlbmVyKCdpbnB1dCcsICgpID0+IHRoaXMuX2NoZWNrQW5kVXBkYXRlSW5wdXRFbXB0eSgpLCB7XG4gICAgICBzaWduYWw6IHRoaXMuX2lucHV0QWJvcnRDb250cm9sbGVyLnNpZ25hbCxcbiAgICB9KTtcblxuICAgIHRoaXMuX2lucHV0LmFkZEV2ZW50TGlzdGVuZXIoJ2JsdXInLCAoKSA9PiB0aGlzLl9jaGVja0FuZFVwZGF0ZUlucHV0RW1wdHkoKSwge1xuICAgICAgc2lnbmFsOiB0aGlzLl9pbnB1dEFib3J0Q29udHJvbGxlci5zaWduYWwsXG4gICAgfSk7XG5cbiAgICBsZXQgaW5wdXRGb2N1c0VsZW1lbnQgPSB0aGlzLl9pbnB1dDtcblxuICAgIGlmICh0aGlzLl9pbnB1dC5sb2NhbE5hbWUgPT09ICdpbnB1dCcpIHtcbiAgICAgIHRoaXMuX3BhdGNoSW5wdXRWYWx1ZSgpO1xuICAgIH0gZWxzZSBpZiAodGhpcy5faW5wdXQubG9jYWxOYW1lID09PSAnc2JiLXNlbGVjdCcpIHtcbiAgICAgIHRoaXMuX2lucHV0LmFkZEV2ZW50TGlzdGVuZXIoJ3N0YXRlQ2hhbmdlJywgKCkgPT4gdGhpcy5fY2hlY2tBbmRVcGRhdGVJbnB1dEVtcHR5KCksIHtcbiAgICAgICAgc2lnbmFsOiB0aGlzLl9pbnB1dEFib3J0Q29udHJvbGxlci5zaWduYWwsXG4gICAgICB9KTtcblxuICAgICAgaW5wdXRGb2N1c0VsZW1lbnQgPSAodGhpcy5faW5wdXQgYXMgU2JiU2VsZWN0RWxlbWVudCkuaW5wdXRFbGVtZW50O1xuICAgIH1cblxuICAgIGlucHV0Rm9jdXNFbGVtZW50LmFkZEV2ZW50TGlzdGVuZXIoXG4gICAgICAnZm9jdXNpbicsXG4gICAgICAoKSA9PiB7XG4gICAgICAgIHRoaXMudG9nZ2xlQXR0cmlidXRlKCdkYXRhLWlucHV0LWZvY3VzZWQnLCB0cnVlKTtcbiAgICAgICAgdGhpcy5zZXRBdHRyaWJ1dGUoXG4gICAgICAgICAgJ2RhdGEtZm9jdXMtb3JpZ2luJyxcbiAgICAgICAgICAoc2JiSW5wdXRNb2RhbGl0eURldGVjdG9yLm1vc3RSZWNlbnRNb2RhbGl0eSBhcyBTYmJJbnB1dE1vZGFsaXR5KSA/PyAnJyxcbiAgICAgICAgKTtcbiAgICAgIH0sXG4gICAgICB7XG4gICAgICAgIHNpZ25hbDogdGhpcy5faW5wdXRBYm9ydENvbnRyb2xsZXIuc2lnbmFsLFxuICAgICAgfSxcbiAgICApO1xuXG4gICAgaW5wdXRGb2N1c0VsZW1lbnQuYWRkRXZlbnRMaXN0ZW5lcihcbiAgICAgICdmb2N1c291dCcsXG4gICAgICAoKSA9PlxuICAgICAgICBbJ2RhdGEtZm9jdXMtb3JpZ2luJywgJ2RhdGEtaW5wdXQtZm9jdXNlZCddLmZvckVhY2goKG5hbWUpID0+IHRoaXMucmVtb3ZlQXR0cmlidXRlKG5hbWUpKSxcbiAgICAgIHtcbiAgICAgICAgc2lnbmFsOiB0aGlzLl9pbnB1dEFib3J0Q29udHJvbGxlci5zaWduYWwsXG4gICAgICB9LFxuICAgICk7XG4gIH1cblxuICBwcml2YXRlIF9nZXRJbnB1dEZvcm0oKTogSFRNTEZvcm1FbGVtZW50IHwgbnVsbCB8IHVuZGVmaW5lZCB7XG4gICAgaWYgKHRoaXMuX2lucHV0IGluc3RhbmNlb2YgSFRNTElucHV0RWxlbWVudCB8fCB0aGlzLl9pbnB1dCBpbnN0YW5jZW9mIEhUTUxTZWxlY3RFbGVtZW50KSB7XG4gICAgICByZXR1cm4gdGhpcy5faW5wdXQuZm9ybTtcbiAgICB9XG4gICAgcmV0dXJuIHRoaXMuX2lucHV0Py5jbG9zZXN0KCdmb3JtJyk7XG4gIH1cblxuICAvLyBXZSBuZWVkIHRvIHBhdGNoIHRoZSB2YWx1ZSBwcm9wZXJ0eSBvZiB0aGUgSFRNTElucHV0RWxlbWVudCBpbiBvcmRlclxuICAvLyB0byBiZSBhYmxlIHRvIHJlc2V0IHRoZSBmbG9hdGluZyBsYWJlbCBpbiB0aGUgZW1wdHkgc3RhdGUuXG4gIHByaXZhdGUgX3BhdGNoSW5wdXRWYWx1ZSgpOiB2b2lkIHtcbiAgICBjb25zdCBpbnB1dEVsZW1lbnQgPSB0aGlzLl9pbnB1dCBhcyBIVE1MSW5wdXRFbGVtZW50O1xuICAgIGNvbnN0IG9yaWdpbmFsRGVzY3JpcHRvciA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IoXG4gICAgICBPYmplY3QuZ2V0UHJvdG90eXBlT2YoaW5wdXRFbGVtZW50KSxcbiAgICAgICd2YWx1ZScsXG4gICAgKTtcblxuICAgIGlmICghb3JpZ2luYWxEZXNjcmlwdG9yIHx8ICFvcmlnaW5hbERlc2NyaXB0b3Iuc2V0IHx8ICFvcmlnaW5hbERlc2NyaXB0b3IuZ2V0KSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgcGF0Y2hlZElucHV0cy5zZXQoaW5wdXRFbGVtZW50LCBvcmlnaW5hbERlc2NyaXB0b3IpO1xuXG4gICAgY29uc3QgeyBnZXQ6IGdldHRlciwgc2V0OiBzZXR0ZXIgfSA9IG9yaWdpbmFsRGVzY3JpcHRvcjtcbiAgICBjb25zdCBjaGVja0FuZFVwZGF0ZUlucHV0RW1wdHkgPSAoKTogdm9pZCA9PiB0aGlzLl9jaGVja0FuZFVwZGF0ZUlucHV0RW1wdHkoKTtcblxuICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShpbnB1dEVsZW1lbnQsICd2YWx1ZScsIHtcbiAgICAgIC4uLm9yaWdpbmFsRGVzY3JpcHRvcixcbiAgICAgIGdldCgpIHtcbiAgICAgICAgcmV0dXJuIGdldHRlci5jYWxsKHRoaXMpO1xuICAgICAgfSxcbiAgICAgIHNldChuZXdWYWx1ZSkge1xuICAgICAgICBzZXR0ZXIuY2FsbCh0aGlzLCBuZXdWYWx1ZSk7XG4gICAgICAgIGNoZWNrQW5kVXBkYXRlSW5wdXRFbXB0eSgpO1xuICAgICAgfSxcbiAgICB9KTtcbiAgfVxuXG4gIHByaXZhdGUgX3VucGF0Y2hJbnB1dFZhbHVlKCk6IHZvaWQge1xuICAgIGNvbnN0IGlucHV0RWxlbWVudCA9IHRoaXMuX2lucHV0IGFzIEhUTUxJbnB1dEVsZW1lbnQ7XG4gICAgY29uc3Qgb3JpZ2luYWxEZXNjcmlwdG9yID0gcGF0Y2hlZElucHV0cy5nZXQoaW5wdXRFbGVtZW50KTtcbiAgICBpZiAob3JpZ2luYWxEZXNjcmlwdG9yKSB7XG4gICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoaW5wdXRFbGVtZW50LCAndmFsdWUnLCBvcmlnaW5hbERlc2NyaXB0b3IpO1xuICAgICAgcGF0Y2hlZElucHV0cy5kZWxldGUoaW5wdXRFbGVtZW50KTtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIF9jaGVja0FuZFVwZGF0ZUlucHV0RW1wdHkoKTogdm9pZCB7XG4gICAgdGhpcy50b2dnbGVBdHRyaWJ1dGUoXG4gICAgICAnZGF0YS1pbnB1dC1lbXB0eScsXG4gICAgICB0aGlzLl9mbG9hdGluZ0xhYmVsU3VwcG9ydGVkSW5wdXRFbGVtZW50cy5pbmNsdWRlcyh0aGlzLl9pbnB1dD8ubG9jYWxOYW1lIGFzIHN0cmluZykgJiZcbiAgICAgICAgdGhpcy5faXNJbnB1dEVtcHR5KCksXG4gICAgKTtcbiAgfVxuXG4gIHByaXZhdGUgX2lzSW5wdXRFbXB0eSgpOiBib29sZWFuIHtcbiAgICBpZiAodGhpcy5faW5wdXQgaW5zdGFuY2VvZiBIVE1MSW5wdXRFbGVtZW50KSB7XG4gICAgICByZXR1cm4gKFxuICAgICAgICB0aGlzLl9mbG9hdGluZ0xhYmVsU3VwcG9ydGVkSW5wdXRUeXBlcy5pbmNsdWRlcyh0aGlzLl9pbnB1dC50eXBlKSAmJlxuICAgICAgICB0aGlzLl9pc0lucHV0VmFsdWVFbXB0eSgpXG4gICAgICApO1xuICAgIH0gZWxzZSBpZiAodGhpcy5faW5wdXQgaW5zdGFuY2VvZiBIVE1MU2VsZWN0RWxlbWVudCkge1xuICAgICAgcmV0dXJuIHRoaXMuX2lucHV0LnNlbGVjdGVkT3B0aW9ucz8uaXRlbSgwKT8ubGFiZWw/LnRyaW0oKSA9PT0gJyc7XG4gICAgfSBlbHNlIGlmICh0aGlzLl9pbnB1dD8ubG9jYWxOYW1lID09PSAnc2JiLXNlbGVjdCcpIHtcbiAgICAgIHJldHVybiAodGhpcy5faW5wdXQgYXMgU2JiU2VsZWN0RWxlbWVudCkuZ2V0RGlzcGxheVZhbHVlKCk/LnRyaW0oKSA9PT0gJyc7XG4gICAgfSBlbHNlIHtcbiAgICAgIHJldHVybiB0aGlzLl9pc0lucHV0VmFsdWVFbXB0eSgpO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgX2lzSW5wdXRWYWx1ZUVtcHR5KCk6IGJvb2xlYW4ge1xuICAgIGNvbnN0IHZhbHVlID0gKHRoaXMuX2lucHV0IGFzIHsgdmFsdWU6IHN0cmluZyB9KS52YWx1ZTtcbiAgICByZXR1cm4gWycnLCB1bmRlZmluZWQsIG51bGxdLmluY2x1ZGVzKHZhbHVlKSB8fCAoQXJyYXkuaXNBcnJheSh2YWx1ZSkgJiYgdmFsdWUubGVuZ3RoID09PSAwKTtcbiAgfVxuXG4gIHByaXZhdGUgX2Fzc2lnblNsb3RzKCk6IHZvaWQge1xuICAgIHRoaXMucXVlcnlTZWxlY3RvckFsbCgnbGFiZWw6bm90KFtzbG90XSknKS5mb3JFYWNoKChlKSA9PiBlLnNldEF0dHJpYnV0ZSgnc2xvdCcsICdsYWJlbCcpKTtcbiAgICB0aGlzLnF1ZXJ5U2VsZWN0b3JBbGwoJ3NiYi1mb3JtLWVycm9yOm5vdChbc2xvdF0pJykuZm9yRWFjaCgoZSkgPT5cbiAgICAgIGUuc2V0QXR0cmlidXRlKCdzbG90JywgJ2Vycm9yJyksXG4gICAgKTtcbiAgfVxuXG4gIHByaXZhdGUgX3JlYWRJbnB1dFN0YXRlKCk6IHZvaWQge1xuICAgIGlmICghdGhpcy5faW5wdXQpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG4gICAgdGhpcy50b2dnbGVBdHRyaWJ1dGUoJ2RhdGEtcmVhZG9ubHknLCB0aGlzLl9pbnB1dC5oYXNBdHRyaWJ1dGUoJ3JlYWRvbmx5JykpO1xuICAgIHRoaXMudG9nZ2xlQXR0cmlidXRlKCdkYXRhLWRpc2FibGVkJywgdGhpcy5faW5wdXQuaGFzQXR0cmlidXRlKCdkaXNhYmxlZCcpKTtcbiAgICB0aGlzLnRvZ2dsZUF0dHJpYnV0ZShcbiAgICAgICdkYXRhLWludmFsaWQnLFxuICAgICAgdGhpcy5faW5wdXQuaGFzQXR0cmlidXRlKCdkYXRhLXNiYi1pbnZhbGlkJykgfHxcbiAgICAgICAgdGhpcy5faW5wdXQuY2xhc3NMaXN0LmNvbnRhaW5zKCdzYmItaW52YWxpZCcpIHx8XG4gICAgICAgICh0aGlzLl9pbnB1dC5jbGFzc0xpc3QuY29udGFpbnMoJ25nLXRvdWNoZWQnKSAmJlxuICAgICAgICAgIHRoaXMuX2lucHV0LmNsYXNzTGlzdC5jb250YWlucygnbmctaW52YWxpZCcpKSxcbiAgICApO1xuICB9XG5cbiAgLyoqXG4gICAqIEl0IGlzIHVzZWQgaW50ZXJuYWxseSB0byBzZXQgdGhlIGFyaWEtZGVzY3JpYmVkYnkgYXR0cmlidXRlIGZvciB0aGUgc2xvdHRlZCBpbnB1dCByZWZlcmVuY2luZyBhdmFpbGFibGUgPHNiYi1mb3JtLWVycm9yPiBpbnN0YW5jZXMuXG4gICAqL1xuICBwcml2YXRlIF9vblNsb3RFcnJvckNoYW5nZShldmVudDogRXZlbnQpOiB2b2lkIHtcbiAgICB0aGlzLl9lcnJvckVsZW1lbnRzID0gKGV2ZW50LnRhcmdldCBhcyBIVE1MU2xvdEVsZW1lbnQpLmFzc2lnbmVkRWxlbWVudHMoKTtcblxuICAgIGZvciAoY29uc3QgZWwgb2YgdGhpcy5fZXJyb3JFbGVtZW50cykge1xuICAgICAgLy8gQWx0aG91Z2ggYSBmb3JtIGVycm9yIGFzc2lnbnMgYW4gaWQgaXRzZWxmLCB3ZSBuZWVkIHRvIGJlIGVhcmxpZXIgYnkgY3JlYXRpbmcgb25lIGhlcmVcbiAgICAgIGlmICghZWwuaWQpIHtcbiAgICAgICAgZWwuaWQgPSBgc2JiLWZvcm0tZmllbGQtZXJyb3ItJHsrK25leHRGb3JtRmllbGRFcnJvcklkfWA7XG4gICAgICB9XG4gICAgICBpZiAoIWVsLnJvbGUpIHtcbiAgICAgICAgLy8gSW5zdGVhZCBvZiBkZWZpbmluZyBhIGNvbnRhaW5lciB3aXRoIGFuIGFyaWEtbGl2ZSByZWdpb24gYXMgZXhwZWN0ZWQsIHdlIGhhZCB0byBjaGFuZ2VcbiAgICAgICAgLy8gc2V0dGluZyBpdCBmb3IgZXZlcnkgc2xvdHRlZCBlbGVtZW50IHRvIHByb3Blcmx5IHdvcmsgaW4gYWxsIGJyb3dzZXJzIGFuZCBzY3JlZW4gcmVhZGVyIGNvbWJpbmF0aW9ucy5cbiAgICAgICAgZWwucm9sZSA9ICdzdGF0dXMnO1xuICAgICAgICBpZiAoaXNGaXJlZm94KSB7XG4gICAgICAgICAgZWwuc2V0QXR0cmlidXRlKCdyb2xlJywgJ3N0YXR1cycpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICAgIHRoaXMuX2FwcGx5QXJpYURlc2NyaWJlZGJ5KCk7XG4gICAgdGhpcy50b2dnbGVBdHRyaWJ1dGUoJ2RhdGEtaGFzLWVycm9yJywgISF0aGlzLl9lcnJvckVsZW1lbnRzLmxlbmd0aCk7XG4gICAgdGhpcy5fc3luY05lZ2F0aXZlKCk7XG4gIH1cblxuICBwcml2YXRlIF9hcHBseUFyaWFEZXNjcmliZWRieSgpOiB2b2lkIHtcbiAgICBjb25zdCBpZHMgPSBbXTtcblxuICAgIGlmICh0aGlzLl9vcmlnaW5hbElucHV0QXJpYURlc2NyaWJlZGJ5KSB7XG4gICAgICBpZHMucHVzaCh0aGlzLl9vcmlnaW5hbElucHV0QXJpYURlc2NyaWJlZGJ5KTtcbiAgICB9XG5cbiAgICBpZiAodGhpcy5fZXJyb3JFbGVtZW50cy5sZW5ndGgpIHtcbiAgICAgIHRoaXMuX2Vycm9yRWxlbWVudHMuZm9yRWFjaCgoZSkgPT4gaWRzLnB1c2goZS5pZCkpO1xuICAgIH1cblxuICAgIGNvbnN0IGFyaWFEZXNjcmliZWRieSA9IGlkcy5qb2luKCcgJyk7XG4gICAgaWYgKHRoaXMuX2lucHV0KSB7XG4gICAgICBzZXRPclJlbW92ZUF0dHJpYnV0ZSh0aGlzLl9pbnB1dCwgJ2FyaWEtZGVzY3JpYmVkYnknLCBhcmlhRGVzY3JpYmVkYnkpO1xuICAgIH1cbiAgfVxuXG4gIC8qKiBNYW51YWxseSByZXNldCB0aGUgZm9ybSBmaWVsZC4gQ3VycmVudGx5LCB0aGlzIG9ubHkgcmVzZXRzIHRoZSBmbG9hdGluZyBsYWJlbC4gKi9cbiAgcHVibGljIHJlc2V0KCk6IHZvaWQge1xuICAgIHRoaXMuX2NoZWNrQW5kVXBkYXRlSW5wdXRFbXB0eSgpO1xuICB9XG5cbiAgLyoqIE1hbnVhbGx5IGNsZWFycyB0aGUgaW5wdXQgdmFsdWUuIEl0IG9ubHkgd29ya3MgZm9yIGlucHV0cywgc2VsZWN0cyBhcmUgbm90IHN1cHBvcnRlZC4gKi9cbiAgcHVibGljIGNsZWFyKCk6IHZvaWQge1xuICAgIGlmICgodGhpcy5faW5wdXQ/LmxvY2FsTmFtZSBhcyBzdHJpbmcpICE9PSAnaW5wdXQnKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuICAgICh0aGlzLl9pbnB1dCBhcyB7IHZhbHVlOiBzdHJpbmcgfSkudmFsdWUgPSAnJztcbiAgICB0aGlzLl9jaGVja0FuZFVwZGF0ZUlucHV0RW1wdHkoKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBSZXR1cm5zIHRoZSBpbnB1dCBlbGVtZW50LlxuICAgKiBAZGVwcmVjYXRlZCBVc2UgdGhlICdpbnB1dEVsZW1lbnQnIHByb3BlcnR5IGluc3RlYWRcbiAgICovXG4gIHB1YmxpYyBnZXRJbnB1dEVsZW1lbnQoKTogSFRNTElucHV0RWxlbWVudCB8IEhUTUxTZWxlY3RFbGVtZW50IHwgSFRNTEVsZW1lbnQgfCB1bmRlZmluZWQge1xuICAgIHJldHVybiB0aGlzLl9pbnB1dDtcbiAgfVxuXG4gIHByaXZhdGUgX3N5bmNOZWdhdGl2ZSgpOiB2b2lkIHtcbiAgICB0aGlzLnF1ZXJ5U2VsZWN0b3JBbGw/LihcbiAgICAgICdzYmItZm9ybS1lcnJvcixzYmItbWluaS1idXR0b24sc2JiLXBvcG92ZXItdHJpZ2dlcixzYmItZm9ybS1maWVsZC1jbGVhcixzYmItZGF0ZXBpY2tlci1uZXh0LWRheSxzYmItZGF0ZXBpY2tlci1wcmV2aW91cy1kYXksc2JiLWRhdGVwaWNrZXItdG9nZ2xlLHNiYi1zZWxlY3Qsc2JiLWF1dG9jb21wbGV0ZSxzYmItYXV0b2NvbXBsZXRlLWdyaWQnLFxuICAgICkuZm9yRWFjaCgoZWxlbWVudCkgPT4gZWxlbWVudC50b2dnbGVBdHRyaWJ1dGUoJ25lZ2F0aXZlJywgdGhpcy5uZWdhdGl2ZSkpO1xuICB9XG5cbiAgcHJvdGVjdGVkIG92ZXJyaWRlIHJlbmRlcigpOiBUZW1wbGF0ZVJlc3VsdCB7XG4gICAgcmV0dXJuIGh0bWxgXG4gICAgICA8ZGl2IGNsYXNzPVwic2JiLWZvcm0tZmllbGRfX3NwYWNlLXdyYXBwZXJcIj5cbiAgICAgICAgJHsvKiBRdWVyaWVkIGJ5IGlkIGZyb20gdGhlIGF1dG9jb21wbGV0ZS9zZWxlY3QgdG8gYmUgdXNlZCBhcyB0aGUgYW5jaG9yIGVsZW1lbnQgKi8gJyd9XG4gICAgICAgIDxkaXYgQGNsaWNrPSR7dGhpcy5faGFuZGxlV3JhcHBlckNsaWNrfSBjbGFzcz1cInNiYi1mb3JtLWZpZWxkX193cmFwcGVyXCIgaWQ9XCJvdmVybGF5LWFuY2hvclwiPlxuICAgICAgICAgIDxzbG90IG5hbWU9XCJwcmVmaXhcIiBAc2xvdGNoYW5nZT0ke3RoaXMuX3N5bmNOZWdhdGl2ZX0+PC9zbG90PlxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJzYmItZm9ybS1maWVsZF9faW5wdXQtY29udGFpbmVyXCI+XG4gICAgICAgICAgICA8c3BhbiBjbGFzcz1cInNiYi1mb3JtLWZpZWxkX19sYWJlbC1zcGFjZXJcIiBhcmlhLWhpZGRlbj1cInRydWVcIj48L3NwYW4+XG4gICAgICAgICAgICA8c3BhbiBjbGFzcz1cInNiYi1mb3JtLWZpZWxkX19sYWJlbFwiPlxuICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cInNiYi1mb3JtLWZpZWxkX19sYWJlbC1lbGxpcHNpc1wiPlxuICAgICAgICAgICAgICAgIDxzbG90IG5hbWU9XCJsYWJlbFwiIEBzbG90Y2hhbmdlPSR7dGhpcy5fb25TbG90TGFiZWxDaGFuZ2V9Pjwvc2xvdD5cbiAgICAgICAgICAgICAgICAke3RoaXMub3B0aW9uYWxcbiAgICAgICAgICAgICAgICAgID8gaHRtbGAgPHNwYW4gYXJpYS1oaWRkZW49XCJ0cnVlXCI+ICR7aTE4bk9wdGlvbmFsW3RoaXMuX2xhbmd1YWdlLmN1cnJlbnRdfSA8L3NwYW4+YFxuICAgICAgICAgICAgICAgICAgOiBub3RoaW5nfVxuICAgICAgICAgICAgICA8L3NwYW4+XG4gICAgICAgICAgICA8L3NwYW4+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwic2JiLWZvcm0tZmllbGRfX2lucHV0XCI+XG4gICAgICAgICAgICAgIDxzbG90IEBzbG90Y2hhbmdlPSR7dGhpcy5fb25TbG90SW5wdXRDaGFuZ2V9Pjwvc2xvdD5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgJHtbJ3NlbGVjdCcsICdzYmItc2VsZWN0J10uaW5jbHVkZXModGhpcy5faW5wdXQ/LmxvY2FsTmFtZSBhcyBzdHJpbmcpXG4gICAgICAgICAgICAgID8gaHRtbGA8c2JiLWljb25cbiAgICAgICAgICAgICAgICAgIG5hbWU9XCJjaGV2cm9uLXNtYWxsLWRvd24tc21hbGxcIlxuICAgICAgICAgICAgICAgICAgY2xhc3M9XCJzYmItZm9ybS1maWVsZF9fc2VsZWN0LWlucHV0LWljb25cIlxuICAgICAgICAgICAgICAgID48L3NiYi1pY29uPmBcbiAgICAgICAgICAgICAgOiBub3RoaW5nfVxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgIDxzbG90IG5hbWU9XCJzdWZmaXhcIiBAc2xvdGNoYW5nZT0ke3RoaXMuX3N5bmNOZWdhdGl2ZX0+PC9zbG90PlxuICAgICAgICA8L2Rpdj5cblxuICAgICAgICA8ZGl2IGNsYXNzPVwic2JiLWZvcm0tZmllbGRfX2Vycm9yXCI+XG4gICAgICAgICAgPHNsb3QgbmFtZT1cImVycm9yXCIgQHNsb3RjaGFuZ2U9JHt0aGlzLl9vblNsb3RFcnJvckNoYW5nZX0+PC9zbG90PlxuICAgICAgICA8L2Rpdj5cbiAgICAgIDwvZGl2PlxuICAgIGA7XG4gIH1cbn1cblxuZGVjbGFyZSBnbG9iYWwge1xuICBpbnRlcmZhY2UgSFRNTEVsZW1lbnRUYWdOYW1lTWFwIHtcbiAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25hbWluZy1jb252ZW50aW9uXG4gICAgJ3NiYi1mb3JtLWZpZWxkJzogU2JiRm9ybUZpZWxkRWxlbWVudDtcbiAgfVxufVxuIl0sIm5hbWVzIjpbIl9hIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7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
|
|
1056
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9ybS1maWVsZC5qcyIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL2VsZW1lbnRzL2Zvcm0tZmllbGQvZm9ybS1maWVsZC9mb3JtLWZpZWxkLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIHR5cGUgQ1NTUmVzdWx0R3JvdXAsXG4gIGh0bWwsXG4gIGlzU2VydmVyLFxuICBMaXRFbGVtZW50LFxuICBub3RoaW5nLFxuICB0eXBlIFByb3BlcnR5VmFsdWVzLFxuICB0eXBlIFRlbXBsYXRlUmVzdWx0LFxufSBmcm9tICdsaXQnO1xuaW1wb3J0IHsgY3VzdG9tRWxlbWVudCwgcHJvcGVydHksIHN0YXRlIH0gZnJvbSAnbGl0L2RlY29yYXRvcnMuanMnO1xuXG5pbXBvcnQgdHlwZSB7IFNiYklucHV0TW9kYWxpdHkgfSBmcm9tICcuLi8uLi9jb3JlL2ExMXkuanMnO1xuaW1wb3J0IHsgc2JiSW5wdXRNb2RhbGl0eURldGVjdG9yIH0gZnJvbSAnLi4vLi4vY29yZS9hMTF5LmpzJztcbmltcG9ydCB7IFNiYkxhbmd1YWdlQ29udHJvbGxlciB9IGZyb20gJy4uLy4uL2NvcmUvY29udHJvbGxlcnMuanMnO1xuaW1wb3J0IHsgZm9yY2VUeXBlLCBzbG90U3RhdGUgfSBmcm9tICcuLi8uLi9jb3JlL2RlY29yYXRvcnMuanMnO1xuaW1wb3J0IHsgaXNGaXJlZm94LCBpc0xlYW4sIHNldE9yUmVtb3ZlQXR0cmlidXRlIH0gZnJvbSAnLi4vLi4vY29yZS9kb20uanMnO1xuaW1wb3J0IHsgaTE4bk9wdGlvbmFsIH0gZnJvbSAnLi4vLi4vY29yZS9pMThuLmpzJztcbmltcG9ydCB7IFNiYkh5ZHJhdGlvbk1peGluLCBTYmJOZWdhdGl2ZU1peGluIH0gZnJvbSAnLi4vLi4vY29yZS9taXhpbnMuanMnO1xuaW1wb3J0IHR5cGUgeyBTYmJTZWxlY3RFbGVtZW50IH0gZnJvbSAnLi4vLi4vc2VsZWN0LmpzJztcblxuaW1wb3J0IHN0eWxlIGZyb20gJy4vZm9ybS1maWVsZC5zY3NzP2xpdCZpbmxpbmUnO1xuXG5pbXBvcnQgJy4uLy4uL2ljb24uanMnO1xuXG5sZXQgbmV4dElkID0gMDtcbmxldCBuZXh0Rm9ybUZpZWxkRXJyb3JJZCA9IDA7XG5cbmNvbnN0IHBhdGNoZWRJbnB1dHMgPSBuZXcgV2Vha01hcDxIVE1MSW5wdXRFbGVtZW50LCBQcm9wZXJ0eURlc2NyaXB0b3I+KCk7XG5cbi8qKlxuICogSXQgd3JhcHMgYW4gaW5wdXQgZWxlbWVudCBhZGRpbmcgbGFiZWwsIGVycm9ycywgaWNvbiwgZXRjLlxuICpcbiAqIEBzbG90IC0gVXNlIHRoaXMgc2xvdCB0byByZW5kZXIgYW4gaW5wdXQvc2VsZWN0IG9yIGEgc3VwcG9ydGVkIG5vbi1uYXRpdmUgZWxlbWVudC5cbiAqIEBzbG90IGxhYmVsIC0gVXNlIHRoaXMgc2xvdCB0byByZW5kZXIgYSBsYWJlbC5cbiAqIEBzbG90IHByZWZpeCAtIFVzZSB0aGlzIHNsb3QgdG8gcmVuZGVyIGFuIGljb24gb24gdGhlIGxlZnQgc2lkZSBvZiB0aGUgaW5wdXQuXG4gKiBAc2xvdCBzdWZmaXggLSBVc2UgdGhpcyBzbG90IHRvIHJlbmRlciBhbiBpY29uIG9uIHRoZSByaWdodCBzaWRlIG9mIHRoZSBpbnB1dC5cbiAqIEBzbG90IGVycm9yIC0gVXNlIHRoaXMgc2xvdCB0byByZW5kZXIgYW4gZXJyb3IuXG4gKi9cbmV4cG9ydFxuQGN1c3RvbUVsZW1lbnQoJ3NiYi1mb3JtLWZpZWxkJylcbkBzbG90U3RhdGUoKVxuY2xhc3MgU2JiRm9ybUZpZWxkRWxlbWVudCBleHRlbmRzIFNiYk5lZ2F0aXZlTWl4aW4oU2JiSHlkcmF0aW9uTWl4aW4oTGl0RWxlbWVudCkpIHtcbiAgcHVibGljIHN0YXRpYyBvdmVycmlkZSBzdHlsZXM6IENTU1Jlc3VsdEdyb3VwID0gc3R5bGU7XG5cbiAgcHJpdmF0ZSByZWFkb25seSBfc3VwcG9ydGVkTmF0aXZlSW5wdXRFbGVtZW50cyA9IFsnaW5wdXQnLCAnc2VsZWN0JywgJ3RleHRhcmVhJ107XG4gIC8vIExpc3Qgb2Ygc3VwcG9ydGVkIGVsZW1lbnQgc2VsZWN0b3JzIGluIHVubmFtZWQgc2xvdFxuICBwcml2YXRlIHJlYWRvbmx5IF9zdXBwb3J0ZWRJbnB1dEVsZW1lbnRzID0gW1xuICAgIC4uLnRoaXMuX3N1cHBvcnRlZE5hdGl2ZUlucHV0RWxlbWVudHMsXG4gICAgJ3NiYi1zZWxlY3QnLFxuICAgICdzYmItc2xpZGVyJyxcbiAgXTtcbiAgLy8gTGlzdCBvZiBlbGVtZW50cyB0aGF0IHNob3VsZCBub3QgZm9jdXMgaW5wdXQgb24gY2xpY2tcbiAgcHJpdmF0ZSByZWFkb25seSBfZXhjbHVkZWRGb2N1c0VsZW1lbnRzID0gWydidXR0b24nLCAnc2JiLXBvcG92ZXInLCAnc2JiLW9wdGlvbiddO1xuXG4gIHByaXZhdGUgcmVhZG9ubHkgX2Zsb2F0aW5nTGFiZWxTdXBwb3J0ZWRJbnB1dEVsZW1lbnRzID0gW1xuICAgICdpbnB1dCcsXG4gICAgJ3NlbGVjdCcsXG4gICAgJ3NiYi1zZWxlY3QnLFxuICAgICd0ZXh0YXJlYScsXG4gIF07XG5cbiAgcHJpdmF0ZSByZWFkb25seSBfZmxvYXRpbmdMYWJlbFN1cHBvcnRlZElucHV0VHlwZXMgPSBbXG4gICAgJ2VtYWlsJyxcbiAgICAnbnVtYmVyJyxcbiAgICAncGFzc3dvcmQnLFxuICAgICdzZWFyY2gnLFxuICAgICd0ZWwnLFxuICAgICd0ZXh0JyxcbiAgICAndXJsJyxcbiAgXTtcblxuICAvKipcbiAgICogV2hldGhlciB0byByZXNlcnZlIHNwYWNlIGZvciBhbiBlcnJvciBtZXNzYWdlLlxuICAgKiBgbm9uZWAgZG9lcyBub3QgcmVzZXJ2ZSBhbnkgc3BhY2UuXG4gICAqIGByZXNlcnZlYCBkb2VzIHJlc2VydmUgb25lIHJvdyBmb3IgYW4gZXJyb3IgbWVzc2FnZS5cbiAgICovXG4gIEBwcm9wZXJ0eSh7IGF0dHJpYnV0ZTogJ2Vycm9yLXNwYWNlJywgcmVmbGVjdDogdHJ1ZSB9KVxuICBwdWJsaWMgYWNjZXNzb3IgZXJyb3JTcGFjZTogJ25vbmUnIHwgJ3Jlc2VydmUnID0gJ25vbmUnO1xuXG4gIC8qKiBJbmRpY2F0ZXMgd2hldGhlciB0aGUgaW5wdXQgaXMgb3B0aW9uYWwuICovXG4gIEBmb3JjZVR5cGUoKVxuICBAcHJvcGVydHkoeyB0eXBlOiBCb29sZWFuIH0pXG4gIHB1YmxpYyBhY2Nlc3NvciBvcHRpb25hbDogYm9vbGVhbiA9IGZhbHNlO1xuXG4gIC8qKlxuICAgKiBTaXplIHZhcmlhbnQsIGVpdGhlciBsLCBtIG9yIHMuXG4gICAqIEBkZWZhdWx0ICdtJyAvICdzJyAobGVhbilcbiAgICovXG4gIEBwcm9wZXJ0eSh7IHJlZmxlY3Q6IHRydWUgfSkgcHVibGljIGFjY2Vzc29yIHNpemU6ICdsJyB8ICdtJyB8ICdzJyA9IGlzTGVhbigpID8gJ3MnIDogJ20nO1xuXG4gIC8qKiBXaGV0aGVyIHRvIGRpc3BsYXkgdGhlIGZvcm0gZmllbGQgd2l0aG91dCBhIGJvcmRlci4gKi9cbiAgQGZvcmNlVHlwZSgpXG4gIEBwcm9wZXJ0eSh7IHJlZmxlY3Q6IHRydWUsIHR5cGU6IEJvb2xlYW4gfSlcbiAgcHVibGljIGFjY2Vzc29yIGJvcmRlcmxlc3M6IGJvb2xlYW4gPSBmYWxzZTtcblxuICAvKiogRGVmaW5lcyB0aGUgd2lkdGggb2YgdGhlIGNvbXBvbmVudDpcbiAgICogLSBgZGVmYXVsdGA6IHRoZSBjb21wb25lbnQgaGFzIGRlZmluZWQgd2lkdGggYW5kIG1pbi13aWR0aDtcbiAgICogLSBgY29sbGFwc2VgOiB0aGUgY29tcG9uZW50IGFkYXB0cyBpdHNlbGYgdG8gaXRzIGlubmVyIGlucHV0IGNvbnRlbnQuICovXG4gIEBwcm9wZXJ0eSh7IHJlZmxlY3Q6IHRydWUgfSkgcHVibGljIGFjY2Vzc29yIHdpZHRoOiAnZGVmYXVsdCcgfCAnY29sbGFwc2UnID0gJ2RlZmF1bHQnO1xuXG4gIC8qKiBXaGV0aGVyIHRvIHZpc3VhbGx5IGhpZGUgdGhlIGxhYmVsLiBJZiBoaWRkZW4sIHNjcmVlbiByZWFkZXJzIHdpbGwgc3RpbGwgcmVhZCBpdC4gKi9cbiAgQGZvcmNlVHlwZSgpXG4gIEBwcm9wZXJ0eSh7IGF0dHJpYnV0ZTogJ2hpZGRlbi1sYWJlbCcsIHJlZmxlY3Q6IHRydWUsIHR5cGU6IEJvb2xlYW4gfSlcbiAgcHVibGljIGFjY2Vzc29yIGhpZGRlbkxhYmVsOiBib29sZWFuID0gZmFsc2U7XG5cbiAgLyoqIFdoZXRoZXIgdGhlIGxhYmVsIHNob3VsZCBmbG9hdC4gSWYgYWN0aXZhdGVkLCB0aGUgcGxhY2Vob2xkZXIgb2YgdGhlIGlucHV0IGlzIGhpZGRlbi4gKi9cbiAgQGZvcmNlVHlwZSgpXG4gIEBwcm9wZXJ0eSh7IGF0dHJpYnV0ZTogJ2Zsb2F0aW5nLWxhYmVsJywgcmVmbGVjdDogdHJ1ZSwgdHlwZTogQm9vbGVhbiB9KVxuICBwdWJsaWMgYWNjZXNzb3IgZmxvYXRpbmdMYWJlbDogYm9vbGVhbiA9IGZhbHNlO1xuXG4gIC8qKiBJdCBpcyB1c2VkIGludGVybmFsbHkgdG8gZ2V0IHRoZSBgZXJyb3JgIHNsb3QuICovXG4gIEBzdGF0ZSgpIHByaXZhdGUgYWNjZXNzb3IgX2Vycm9yRWxlbWVudHM6IEVsZW1lbnRbXSA9IFtdO1xuXG4gIC8qKiBPcmlnaW5hbCBhcmlhLWRlc2NyaWJlZGJ5IHZhbHVlIG9mIHRoZSBzbG90dGVkIGlucHV0IGVsZW1lbnQuICovXG4gIHByaXZhdGUgX29yaWdpbmFsSW5wdXRBcmlhRGVzY3JpYmVkYnk/OiBzdHJpbmcgfCBudWxsO1xuXG4gIC8qKiBSZWZlcmVuY2UgdG8gdGhlIHNsb3R0ZWQgaW5wdXQgZWxlbWVudC4gKi9cbiAgQHN0YXRlKCkgcHJpdmF0ZSBhY2Nlc3NvciBfaW5wdXQhOiBIVE1MSW5wdXRFbGVtZW50IHwgSFRNTFNlbGVjdEVsZW1lbnQgfCBIVE1MRWxlbWVudCB8IHVuZGVmaW5lZDtcblxuICAvKiogUmVmZXJlbmNlIHRvIHRoZSBzbG90dGVkIGxhYmVsIGVsZW1lbnRzLiAqL1xuICBAc3RhdGUoKSBwcml2YXRlIGFjY2Vzc29yIF9sYWJlbCE6IEhUTUxMYWJlbEVsZW1lbnQ7XG5cbiAgLyoqIFJldHVybnMgdGhlIGlucHV0IGVsZW1lbnQuICovXG4gIHB1YmxpYyBnZXQgaW5wdXRFbGVtZW50KCk6IEhUTUxJbnB1dEVsZW1lbnQgfCBIVE1MU2VsZWN0RWxlbWVudCB8IEhUTUxFbGVtZW50IHwgdW5kZWZpbmVkIHtcbiAgICByZXR1cm4gdGhpcy5faW5wdXQ7XG4gIH1cblxuICBwcml2YXRlIF9sYW5ndWFnZSA9IG5ldyBTYmJMYW5ndWFnZUNvbnRyb2xsZXIodGhpcyk7XG5cbiAgLyoqXG4gICAqIExpc3RlbnMgdG8gdGhlIGNoYW5nZXMgb24gYHJlYWRvbmx5YCBhbmQgYGRpc2FibGVkYCBhdHRyaWJ1dGVzIG9mIGA8aW5wdXQ+YC5cbiAgICovXG4gIHByaXZhdGUgX2Zvcm1GaWVsZEF0dHJpYnV0ZU9ic2VydmVyID0gIWlzU2VydmVyXG4gICAgPyBuZXcgTXV0YXRpb25PYnNlcnZlcigobXV0YXRpb25zOiBNdXRhdGlvblJlY29yZFtdKSA9PiB7XG4gICAgICAgIGlmIChtdXRhdGlvbnMuc29tZSgobSkgPT4gbS50eXBlID09PSAnYXR0cmlidXRlcycpKSB7XG4gICAgICAgICAgdGhpcy5fcmVhZElucHV0U3RhdGUoKTtcbiAgICAgICAgfVxuICAgICAgfSlcbiAgICA6IG51bGw7XG5cbiAgcHJpdmF0ZSBfaW5wdXRBYm9ydENvbnRyb2xsZXIgPSBuZXcgQWJvcnRDb250cm9sbGVyKCk7XG5cbiAgcHVibGljIG92ZXJyaWRlIGNvbm5lY3RlZENhbGxiYWNrKCk6IHZvaWQge1xuICAgIHN1cGVyLmNvbm5lY3RlZENhbGxiYWNrKCk7XG4gICAgdGhpcy5fcmVnaXN0ZXJJbnB1dExpc3RlbmVyKCk7XG4gICAgdGhpcy5fc3luY05lZ2F0aXZlKCk7XG4gIH1cblxuICBwcm90ZWN0ZWQgb3ZlcnJpZGUgd2lsbFVwZGF0ZShjaGFuZ2VkUHJvcGVydGllczogUHJvcGVydHlWYWx1ZXM8dGhpcz4pOiB2b2lkIHtcbiAgICBzdXBlci53aWxsVXBkYXRlKGNoYW5nZWRQcm9wZXJ0aWVzKTtcblxuICAgIGlmIChjaGFuZ2VkUHJvcGVydGllcy5oYXMoJ25lZ2F0aXZlJykpIHtcbiAgICAgIHRoaXMuX3N5bmNOZWdhdGl2ZSgpO1xuICAgIH1cbiAgfVxuXG4gIHB1YmxpYyBvdmVycmlkZSBkaXNjb25uZWN0ZWRDYWxsYmFjaygpOiB2b2lkIHtcbiAgICBzdXBlci5kaXNjb25uZWN0ZWRDYWxsYmFjaygpO1xuICAgIHRoaXMuX2Zvcm1GaWVsZEF0dHJpYnV0ZU9ic2VydmVyPy5kaXNjb25uZWN0KCk7XG4gICAgdGhpcy5faW5wdXRBYm9ydENvbnRyb2xsZXIuYWJvcnQoKTtcbiAgICBpZiAodGhpcy5faW5wdXQ/LmxvY2FsTmFtZSA9PT0gJ2lucHV0Jykge1xuICAgICAgdGhpcy5fdW5wYXRjaElucHV0VmFsdWUoKTtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIF9oYW5kbGVXcmFwcGVyQ2xpY2soZXZlbnQ6IEV2ZW50KTogdm9pZCB7XG4gICAgaWYgKHRoaXMuX2lzQnV0dG9uT3JQb3B1cChldmVudCkpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBpZiAoXG4gICAgICB0aGlzLl9pbnB1dD8ubG9jYWxOYW1lID09PSAnc2JiLXNlbGVjdCcgJiZcbiAgICAgIChldmVudC50YXJnZXQgYXMgSFRNTEVsZW1lbnQpLmxvY2FsTmFtZSAhPT0gJ3NiYi1zZWxlY3QnXG4gICAgKSB7XG4gICAgICB0aGlzLl9pbnB1dC5jbGljaygpO1xuICAgICAgdGhpcy5faW5wdXQuZm9jdXMoKTtcbiAgICB9IGVsc2UgaWYgKChldmVudC50YXJnZXQgYXMgRWxlbWVudCkubG9jYWxOYW1lICE9PSAnbGFiZWwnKSB7XG4gICAgICB0aGlzLl9pbnB1dD8uZm9jdXMoKTtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIF9pc0J1dHRvbk9yUG9wdXAoZXZlbnQ6IEV2ZW50KTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIGV2ZW50XG4gICAgICAuY29tcG9zZWRQYXRoKClcbiAgICAgIC5zb21lKFxuICAgICAgICAoZWwpID0+XG4gICAgICAgICAgKGVsIGluc3RhbmNlb2Ygd2luZG93LkhUTUxFbGVtZW50ICYmIGVsLmdldEF0dHJpYnV0ZSgndGFiaW5kZXgnKSA9PT0gJzAnKSB8fFxuICAgICAgICAgIHRoaXMuX2V4Y2x1ZGVkRm9jdXNFbGVtZW50cy5pbmNsdWRlcygoZWwgYXMgSFRNTEVsZW1lbnQpLmxvY2FsTmFtZSksXG4gICAgICApO1xuICB9XG5cbiAgcHJpdmF0ZSBfb25TbG90TGFiZWxDaGFuZ2UoKTogdm9pZCB7XG4gICAgY29uc3QgbGFiZWxzID0gQXJyYXkuZnJvbSh0aGlzLnF1ZXJ5U2VsZWN0b3JBbGwoJ2xhYmVsJykpO1xuICAgIGlmIChpbXBvcnQubWV0YS5lbnYuREVWICYmIGxhYmVscy5sZW5ndGggPiAxKSB7XG4gICAgICBjb25zb2xlLndhcm4oXG4gICAgICAgIGBEZXRlY3RlZCBtb3JlIHRoYW4gb25lIGxhYmVsIGluIHNiYi1mb3JtLWZpZWxkIyR7dGhpcy5pZH0uIE9ubHkgb25lIGxhYmVsIGlzIHN1cHBvcnRlZC5gLFxuICAgICAgKTtcbiAgICB9XG4gICAgdGhpcy5fbGFiZWwgPSBsYWJlbHNbMF07XG4gICAgdGhpcy5fc3luY0xhYmVsSW5wdXRSZWZlcmVuY2VzKCk7XG4gIH1cblxuICAvKipcbiAgICogSXQgaXMgdXNlZCBpbnRlcm5hbGx5IHRvIGFzc2lnbiB0aGUgYXR0cmlidXRlcyBvZiBgPGlucHV0PmAgdG8gYF9pZGAgYW5kIGBfaW5wdXRgIGFuZCB0byBvYnNlcnZlIHRoZSBuYXRpdmUgcmVhZG9ubHkgYW5kIGRpc2FibGVkIGF0dHJpYnV0ZXMuXG4gICAqL1xuICBwcml2YXRlIF9vblNsb3RJbnB1dENoYW5nZShldmVudDogRXZlbnQpOiB2b2lkIHtcbiAgICBjb25zdCBuZXdJbnB1dCA9IChldmVudC50YXJnZXQgYXMgSFRNTFNsb3RFbGVtZW50KVxuICAgICAgLmFzc2lnbmVkRWxlbWVudHMoKVxuICAgICAgLmZpbmQoKGUpOiBlIGlzIEhUTUxFbGVtZW50ID0+IHRoaXMuX3N1cHBvcnRlZElucHV0RWxlbWVudHMuaW5jbHVkZXMoZS5sb2NhbE5hbWUpKTtcbiAgICB0aGlzLl9hc3NpZ25TbG90cygpO1xuXG4gICAgaWYgKHRoaXMuX2lucHV0ICYmIHRoaXMuX2lucHV0LmxvY2FsTmFtZSA9PT0gJ2lucHV0JyAmJiBuZXdJbnB1dCAhPT0gdGhpcy5faW5wdXQpIHtcbiAgICAgIHRoaXMuX3VucGF0Y2hJbnB1dFZhbHVlKCk7XG4gICAgfVxuXG4gICAgdGhpcy5faW5wdXQgPSBuZXdJbnB1dDtcblxuICAgIGlmICghdGhpcy5faW5wdXQpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICB0aGlzLl9vcmlnaW5hbElucHV0QXJpYURlc2NyaWJlZGJ5ID0gdGhpcy5faW5wdXQuZ2V0QXR0cmlidXRlKCdhcmlhLWRlc2NyaWJlZGJ5Jyk7XG4gICAgdGhpcy5fYXBwbHlBcmlhRGVzY3JpYmVkYnkoKTtcbiAgICB0aGlzLl9yZWFkSW5wdXRTdGF0ZSgpO1xuICAgIHRoaXMuX3JlZ2lzdGVySW5wdXRMaXN0ZW5lcigpO1xuXG4gICAgaWYgKHRoaXMuX2lucHV0LmxvY2FsTmFtZSA9PT0gJ3RleHRhcmVhJykge1xuICAgICAgdGhpcy5faW5wdXQuc2V0QXR0cmlidXRlKCdyb3dzJywgdGhpcy5faW5wdXQuZ2V0QXR0cmlidXRlKCdyb3dzJykgfHwgJzMnKTtcbiAgICB9XG5cbiAgICB0aGlzLl9mb3JtRmllbGRBdHRyaWJ1dGVPYnNlcnZlcj8uZGlzY29ubmVjdCgpO1xuICAgIHRoaXMuX2Zvcm1GaWVsZEF0dHJpYnV0ZU9ic2VydmVyPy5vYnNlcnZlKHRoaXMuX2lucHV0LCB7XG4gICAgICBhdHRyaWJ1dGVzOiB0cnVlLFxuICAgICAgYXR0cmlidXRlRmlsdGVyOiBbJ3JlYWRvbmx5JywgJ2Rpc2FibGVkJywgJ2NsYXNzJywgJ2RhdGEtc2JiLWludmFsaWQnLCAnZGF0YS1zdGF0ZSddLFxuICAgIH0pO1xuICAgIHRoaXMuc2V0QXR0cmlidXRlKCdkYXRhLWlucHV0LXR5cGUnLCB0aGlzLl9pbnB1dC5sb2NhbE5hbWUpO1xuICAgIHRoaXMuX3N5bmNMYWJlbElucHV0UmVmZXJlbmNlcygpO1xuICB9XG5cbiAgcHJpdmF0ZSBfc3luY0xhYmVsSW5wdXRSZWZlcmVuY2VzKCk6IHZvaWQge1xuICAgIGlmICghdGhpcy5faW5wdXQgfHwgIXRoaXMuX2xhYmVsKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgaWYgKHRoaXMuX3N1cHBvcnRlZE5hdGl2ZUlucHV0RWxlbWVudHMuaW5jbHVkZXModGhpcy5faW5wdXQubG9jYWxOYW1lKSkge1xuICAgICAgLy8gRm9yIG5hdGl2ZSBpbnB1dCBlbGVtZW50cyB3ZSB1c2UgdGhlIGBmb3JgIGF0dHJpYnV0ZSBvbiB0aGUgbGFiZWwgdG8gcmVmZXJlbmNlIHRoZSBpbnB1dFxuICAgICAgLy8gdmlhIGlkIHJlZmVyZW5jZS5cbiAgICAgIGlmICghdGhpcy5faW5wdXQuaWQpIHtcbiAgICAgICAgdGhpcy5faW5wdXQuaWQgPSBgc2JiLWZvcm0tZmllbGQtaW5wdXQtJHtuZXh0SWQrK31gO1xuICAgICAgfVxuXG4gICAgICB0aGlzLl9sYWJlbC5odG1sRm9yID0gdGhpcy5faW5wdXQuaWQ7XG4gICAgfSBlbHNlIHtcbiAgICAgIC8vIEZvciBub24tbmF0aXZlIGlucHV0IGVsZW1lbnRzLCB0aGF0IGRvIG5vdCBzdXBwb3J0IHJlZmVyZW5jZXMgdmlhIHRoZSBsYWJlbCBmb3IgYXR0cmlidXRlLFxuICAgICAgLy8gd2UgdXNlIGFyaWEtbGFiZWxsZWRieSBvbiB0aGUgaW5wdXQgZWxlbWVudCB0byByZWZlcmVuY2UgdGhlIGxhYmVsIGVsZW1lbnQgdmlhIGlkLlxuICAgICAgaWYgKCF0aGlzLl9sYWJlbC5pZCkge1xuICAgICAgICB0aGlzLl9sYWJlbC5pZCA9IGBzYmItZm9ybS1maWVsZC1sYWJlbC0ke25leHRJZCsrfWA7XG4gICAgICB9XG4gICAgICBjb25zdCBsYWJlbGxlZGJ5ID1cbiAgICAgICAgdGhpcy5faW5wdXRcbiAgICAgICAgICAuZ2V0QXR0cmlidXRlKCdhcmlhLWxhYmVsbGVkYnknKVxuICAgICAgICAgID8uc3BsaXQoJyAnKVxuICAgICAgICAgIC5maWx0ZXIoKGwpID0+ICEhbCAmJiBsICE9PSB0aGlzLl9sYWJlbCEuaWQpID8/IFtdO1xuICAgICAgdGhpcy5faW5wdXQuc2V0QXR0cmlidXRlKCdhcmlhLWxhYmVsbGVkYnknLCBbLi4ubGFiZWxsZWRieSwgdGhpcy5fbGFiZWwuaWRdLmpvaW4oJyAnKSk7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBfcmVnaXN0ZXJJbnB1dExpc3RlbmVyKCk6IHZvaWQge1xuICAgIGlmICghdGhpcy5faW5wdXQpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG4gICAgdGhpcy5faW5wdXRBYm9ydENvbnRyb2xsZXIuYWJvcnQoKTtcbiAgICB0aGlzLl9pbnB1dEFib3J0Q29udHJvbGxlciA9IG5ldyBBYm9ydENvbnRyb2xsZXIoKTtcbiAgICB0aGlzLl9jaGVja0FuZFVwZGF0ZUlucHV0RW1wdHkoKTtcblxuICAgIC8vIFRpbWVvdXQgbmVlZGVkIHRvIGhhdmUgdmFsdWUgdXBkYXRlZFxuICAgIHRoaXMuX2dldElucHV0Rm9ybSgpPy5hZGRFdmVudExpc3RlbmVyKCdyZXNldCcsICgpID0+IHNldFRpbWVvdXQoKCkgPT4gdGhpcy5yZXNldCgpKSwge1xuICAgICAgc2lnbmFsOiB0aGlzLl9pbnB1dEFib3J0Q29udHJvbGxlci5zaWduYWwsXG4gICAgfSk7XG5cbiAgICB0aGlzLl9pbnB1dC5hZGRFdmVudExpc3RlbmVyKCdpbnB1dCcsICgpID0+IHRoaXMuX2NoZWNrQW5kVXBkYXRlSW5wdXRFbXB0eSgpLCB7XG4gICAgICBzaWduYWw6IHRoaXMuX2lucHV0QWJvcnRDb250cm9sbGVyLnNpZ25hbCxcbiAgICB9KTtcblxuICAgIHRoaXMuX2lucHV0LmFkZEV2ZW50TGlzdGVuZXIoJ2JsdXInLCAoKSA9PiB0aGlzLl9jaGVja0FuZFVwZGF0ZUlucHV0RW1wdHkoKSwge1xuICAgICAgc2lnbmFsOiB0aGlzLl9pbnB1dEFib3J0Q29udHJvbGxlci5zaWduYWwsXG4gICAgfSk7XG5cbiAgICBsZXQgaW5wdXRGb2N1c0VsZW1lbnQgPSB0aGlzLl9pbnB1dDtcblxuICAgIGlmICh0aGlzLl9pbnB1dC5sb2NhbE5hbWUgPT09ICdpbnB1dCcpIHtcbiAgICAgIHRoaXMuX3BhdGNoSW5wdXRWYWx1ZSgpO1xuICAgIH0gZWxzZSBpZiAodGhpcy5faW5wdXQubG9jYWxOYW1lID09PSAnc2JiLXNlbGVjdCcpIHtcbiAgICAgIHRoaXMuX2lucHV0LmFkZEV2ZW50TGlzdGVuZXIoJ3N0YXRlQ2hhbmdlJywgKCkgPT4gdGhpcy5fY2hlY2tBbmRVcGRhdGVJbnB1dEVtcHR5KCksIHtcbiAgICAgICAgc2lnbmFsOiB0aGlzLl9pbnB1dEFib3J0Q29udHJvbGxlci5zaWduYWwsXG4gICAgICB9KTtcblxuICAgICAgY29uc3Qgc2VsZWN0SW5wdXQgPSB0aGlzLl9pbnB1dCBhcyBTYmJTZWxlY3RFbGVtZW50O1xuICAgICAgaW5wdXRGb2N1c0VsZW1lbnQgPSBzZWxlY3RJbnB1dC5pbnB1dEVsZW1lbnQ7XG5cbiAgICAgIC8vIElmIGlucHV0RWxlbWVudCBpcyBub3QgeWV0IHJlYWR5LCB0cnkgYSBzZWNvbmQgdGltZSBhZnRlciB1cGRhdGluZy5cbiAgICAgIGlmICghaW5wdXRGb2N1c0VsZW1lbnQpIHtcbiAgICAgICAgY29uc3QgY29udHJvbGxlciA9IHtcbiAgICAgICAgICBob3N0VXBkYXRlZDogKCkgPT4ge1xuICAgICAgICAgICAgc2VsZWN0SW5wdXQucmVtb3ZlQ29udHJvbGxlcihjb250cm9sbGVyKTtcbiAgICAgICAgICAgIHRoaXMuX3JlZ2lzdGVySW5wdXRMaXN0ZW5lcigpO1xuICAgICAgICAgIH0sXG4gICAgICAgIH07XG5cbiAgICAgICAgc2VsZWN0SW5wdXQuYWRkQ29udHJvbGxlcihjb250cm9sbGVyKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBpbnB1dEZvY3VzRWxlbWVudD8uYWRkRXZlbnRMaXN0ZW5lcihcbiAgICAgICdmb2N1c2luJyxcbiAgICAgICgpID0+IHtcbiAgICAgICAgdGhpcy50b2dnbGVBdHRyaWJ1dGUoJ2RhdGEtaW5wdXQtZm9jdXNlZCcsIHRydWUpO1xuICAgICAgICB0aGlzLnNldEF0dHJpYnV0ZShcbiAgICAgICAgICAnZGF0YS1mb2N1cy1vcmlnaW4nLFxuICAgICAgICAgIChzYmJJbnB1dE1vZGFsaXR5RGV0ZWN0b3IubW9zdFJlY2VudE1vZGFsaXR5IGFzIFNiYklucHV0TW9kYWxpdHkpID8/ICcnLFxuICAgICAgICApO1xuICAgICAgfSxcbiAgICAgIHtcbiAgICAgICAgc2lnbmFsOiB0aGlzLl9pbnB1dEFib3J0Q29udHJvbGxlci5zaWduYWwsXG4gICAgICB9LFxuICAgICk7XG5cbiAgICBpbnB1dEZvY3VzRWxlbWVudD8uYWRkRXZlbnRMaXN0ZW5lcihcbiAgICAgICdmb2N1c291dCcsXG4gICAgICAoKSA9PlxuICAgICAgICBbJ2RhdGEtZm9jdXMtb3JpZ2luJywgJ2RhdGEtaW5wdXQtZm9jdXNlZCddLmZvckVhY2goKG5hbWUpID0+IHRoaXMucmVtb3ZlQXR0cmlidXRlKG5hbWUpKSxcbiAgICAgIHtcbiAgICAgICAgc2lnbmFsOiB0aGlzLl9pbnB1dEFib3J0Q29udHJvbGxlci5zaWduYWwsXG4gICAgICB9LFxuICAgICk7XG4gIH1cblxuICBwcml2YXRlIF9nZXRJbnB1dEZvcm0oKTogSFRNTEZvcm1FbGVtZW50IHwgbnVsbCB8IHVuZGVmaW5lZCB7XG4gICAgaWYgKHRoaXMuX2lucHV0IGluc3RhbmNlb2YgSFRNTElucHV0RWxlbWVudCB8fCB0aGlzLl9pbnB1dCBpbnN0YW5jZW9mIEhUTUxTZWxlY3RFbGVtZW50KSB7XG4gICAgICByZXR1cm4gdGhpcy5faW5wdXQuZm9ybTtcbiAgICB9XG4gICAgcmV0dXJuIHRoaXMuX2lucHV0Py5jbG9zZXN0KCdmb3JtJyk7XG4gIH1cblxuICAvLyBXZSBuZWVkIHRvIHBhdGNoIHRoZSB2YWx1ZSBwcm9wZXJ0eSBvZiB0aGUgSFRNTElucHV0RWxlbWVudCBpbiBvcmRlclxuICAvLyB0byBiZSBhYmxlIHRvIHJlc2V0IHRoZSBmbG9hdGluZyBsYWJlbCBpbiB0aGUgZW1wdHkgc3RhdGUuXG4gIHByaXZhdGUgX3BhdGNoSW5wdXRWYWx1ZSgpOiB2b2lkIHtcbiAgICBjb25zdCBpbnB1dEVsZW1lbnQgPSB0aGlzLl9pbnB1dCBhcyBIVE1MSW5wdXRFbGVtZW50O1xuICAgIGNvbnN0IG9yaWdpbmFsRGVzY3JpcHRvciA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IoXG4gICAgICBPYmplY3QuZ2V0UHJvdG90eXBlT2YoaW5wdXRFbGVtZW50KSxcbiAgICAgICd2YWx1ZScsXG4gICAgKTtcblxuICAgIGlmICghb3JpZ2luYWxEZXNjcmlwdG9yIHx8ICFvcmlnaW5hbERlc2NyaXB0b3Iuc2V0IHx8ICFvcmlnaW5hbERlc2NyaXB0b3IuZ2V0KSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgcGF0Y2hlZElucHV0cy5zZXQoaW5wdXRFbGVtZW50LCBvcmlnaW5hbERlc2NyaXB0b3IpO1xuXG4gICAgY29uc3QgeyBnZXQ6IGdldHRlciwgc2V0OiBzZXR0ZXIgfSA9IG9yaWdpbmFsRGVzY3JpcHRvcjtcbiAgICBjb25zdCBjaGVja0FuZFVwZGF0ZUlucHV0RW1wdHkgPSAoKTogdm9pZCA9PiB0aGlzLl9jaGVja0FuZFVwZGF0ZUlucHV0RW1wdHkoKTtcblxuICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShpbnB1dEVsZW1lbnQsICd2YWx1ZScsIHtcbiAgICAgIC4uLm9yaWdpbmFsRGVzY3JpcHRvcixcbiAgICAgIGdldCgpIHtcbiAgICAgICAgcmV0dXJuIGdldHRlci5jYWxsKHRoaXMpO1xuICAgICAgfSxcbiAgICAgIHNldChuZXdWYWx1ZSkge1xuICAgICAgICBzZXR0ZXIuY2FsbCh0aGlzLCBuZXdWYWx1ZSk7XG4gICAgICAgIGNoZWNrQW5kVXBkYXRlSW5wdXRFbXB0eSgpO1xuICAgICAgfSxcbiAgICB9KTtcbiAgfVxuXG4gIHByaXZhdGUgX3VucGF0Y2hJbnB1dFZhbHVlKCk6IHZvaWQge1xuICAgIGNvbnN0IGlucHV0RWxlbWVudCA9IHRoaXMuX2lucHV0IGFzIEhUTUxJbnB1dEVsZW1lbnQ7XG4gICAgY29uc3Qgb3JpZ2luYWxEZXNjcmlwdG9yID0gcGF0Y2hlZElucHV0cy5nZXQoaW5wdXRFbGVtZW50KTtcbiAgICBpZiAob3JpZ2luYWxEZXNjcmlwdG9yKSB7XG4gICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoaW5wdXRFbGVtZW50LCAndmFsdWUnLCBvcmlnaW5hbERlc2NyaXB0b3IpO1xuICAgICAgcGF0Y2hlZElucHV0cy5kZWxldGUoaW5wdXRFbGVtZW50KTtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIF9jaGVja0FuZFVwZGF0ZUlucHV0RW1wdHkoKTogdm9pZCB7XG4gICAgdGhpcy50b2dnbGVBdHRyaWJ1dGUoXG4gICAgICAnZGF0YS1pbnB1dC1lbXB0eScsXG4gICAgICB0aGlzLl9mbG9hdGluZ0xhYmVsU3VwcG9ydGVkSW5wdXRFbGVtZW50cy5pbmNsdWRlcyh0aGlzLl9pbnB1dD8ubG9jYWxOYW1lIGFzIHN0cmluZykgJiZcbiAgICAgICAgdGhpcy5faXNJbnB1dEVtcHR5KCksXG4gICAgKTtcbiAgfVxuXG4gIHByaXZhdGUgX2lzSW5wdXRFbXB0eSgpOiBib29sZWFuIHtcbiAgICBpZiAodGhpcy5faW5wdXQgaW5zdGFuY2VvZiBIVE1MSW5wdXRFbGVtZW50KSB7XG4gICAgICByZXR1cm4gKFxuICAgICAgICB0aGlzLl9mbG9hdGluZ0xhYmVsU3VwcG9ydGVkSW5wdXRUeXBlcy5pbmNsdWRlcyh0aGlzLl9pbnB1dC50eXBlKSAmJlxuICAgICAgICB0aGlzLl9pc0lucHV0VmFsdWVFbXB0eSgpXG4gICAgICApO1xuICAgIH0gZWxzZSBpZiAodGhpcy5faW5wdXQgaW5zdGFuY2VvZiBIVE1MU2VsZWN0RWxlbWVudCkge1xuICAgICAgcmV0dXJuIHRoaXMuX2lucHV0LnNlbGVjdGVkT3B0aW9ucz8uaXRlbSgwKT8ubGFiZWw/LnRyaW0oKSA9PT0gJyc7XG4gICAgfSBlbHNlIGlmICh0aGlzLl9pbnB1dD8ubG9jYWxOYW1lID09PSAnc2JiLXNlbGVjdCcpIHtcbiAgICAgIHJldHVybiAodGhpcy5faW5wdXQgYXMgU2JiU2VsZWN0RWxlbWVudCkuZ2V0RGlzcGxheVZhbHVlKCk/LnRyaW0oKSA9PT0gJyc7XG4gICAgfSBlbHNlIHtcbiAgICAgIHJldHVybiB0aGlzLl9pc0lucHV0VmFsdWVFbXB0eSgpO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgX2lzSW5wdXRWYWx1ZUVtcHR5KCk6IGJvb2xlYW4ge1xuICAgIGNvbnN0IHZhbHVlID0gKHRoaXMuX2lucHV0IGFzIHsgdmFsdWU6IHN0cmluZyB9KS52YWx1ZTtcbiAgICByZXR1cm4gWycnLCB1bmRlZmluZWQsIG51bGxdLmluY2x1ZGVzKHZhbHVlKSB8fCAoQXJyYXkuaXNBcnJheSh2YWx1ZSkgJiYgdmFsdWUubGVuZ3RoID09PSAwKTtcbiAgfVxuXG4gIHByaXZhdGUgX2Fzc2lnblNsb3RzKCk6IHZvaWQge1xuICAgIHRoaXMucXVlcnlTZWxlY3RvckFsbCgnbGFiZWw6bm90KFtzbG90XSknKS5mb3JFYWNoKChlKSA9PiBlLnNldEF0dHJpYnV0ZSgnc2xvdCcsICdsYWJlbCcpKTtcbiAgICB0aGlzLnF1ZXJ5U2VsZWN0b3JBbGwoJ3NiYi1mb3JtLWVycm9yOm5vdChbc2xvdF0pJykuZm9yRWFjaCgoZSkgPT5cbiAgICAgIGUuc2V0QXR0cmlidXRlKCdzbG90JywgJ2Vycm9yJyksXG4gICAgKTtcbiAgfVxuXG4gIHByaXZhdGUgX3JlYWRJbnB1dFN0YXRlKCk6IHZvaWQge1xuICAgIGlmICghdGhpcy5faW5wdXQpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG4gICAgdGhpcy50b2dnbGVBdHRyaWJ1dGUoJ2RhdGEtcmVhZG9ubHknLCB0aGlzLl9pbnB1dC5oYXNBdHRyaWJ1dGUoJ3JlYWRvbmx5JykpO1xuICAgIHRoaXMudG9nZ2xlQXR0cmlidXRlKCdkYXRhLWRpc2FibGVkJywgdGhpcy5faW5wdXQuaGFzQXR0cmlidXRlKCdkaXNhYmxlZCcpKTtcbiAgICB0aGlzLnRvZ2dsZUF0dHJpYnV0ZShcbiAgICAgICdkYXRhLWludmFsaWQnLFxuICAgICAgdGhpcy5faW5wdXQuaGFzQXR0cmlidXRlKCdkYXRhLXNiYi1pbnZhbGlkJykgfHxcbiAgICAgICAgdGhpcy5faW5wdXQuY2xhc3NMaXN0LmNvbnRhaW5zKCdzYmItaW52YWxpZCcpIHx8XG4gICAgICAgICh0aGlzLl9pbnB1dC5jbGFzc0xpc3QuY29udGFpbnMoJ25nLXRvdWNoZWQnKSAmJlxuICAgICAgICAgIHRoaXMuX2lucHV0LmNsYXNzTGlzdC5jb250YWlucygnbmctaW52YWxpZCcpKSxcbiAgICApO1xuICAgIHRoaXMudG9nZ2xlQXR0cmlidXRlKFxuICAgICAgJ2RhdGEtaGFzLXBvcHVwLW9wZW4nLFxuICAgICAgdGhpcy5faW5wdXQubG9jYWxOYW1lID09PSAnc2JiLXNlbGVjdCcgJiZcbiAgICAgICAgWydvcGVuaW5nJywgJ29wZW5lZCddLmluY2x1ZGVzKHRoaXMuX2lucHV0IS5nZXRBdHRyaWJ1dGUoJ2RhdGEtc3RhdGUnKSEpLFxuICAgICk7XG4gIH1cblxuICAvKipcbiAgICogSXQgaXMgdXNlZCBpbnRlcm5hbGx5IHRvIHNldCB0aGUgYXJpYS1kZXNjcmliZWRieSBhdHRyaWJ1dGUgZm9yIHRoZSBzbG90dGVkIGlucHV0IHJlZmVyZW5jaW5nIGF2YWlsYWJsZSA8c2JiLWZvcm0tZXJyb3I+IGluc3RhbmNlcy5cbiAgICovXG4gIHByaXZhdGUgX29uU2xvdEVycm9yQ2hhbmdlKGV2ZW50OiBFdmVudCk6IHZvaWQge1xuICAgIHRoaXMuX2Vycm9yRWxlbWVudHMgPSAoZXZlbnQudGFyZ2V0IGFzIEhUTUxTbG90RWxlbWVudCkuYXNzaWduZWRFbGVtZW50cygpO1xuXG4gICAgZm9yIChjb25zdCBlbCBvZiB0aGlzLl9lcnJvckVsZW1lbnRzKSB7XG4gICAgICAvLyBBbHRob3VnaCBhIGZvcm0gZXJyb3IgYXNzaWducyBhbiBpZCBpdHNlbGYsIHdlIG5lZWQgdG8gYmUgZWFybGllciBieSBjcmVhdGluZyBvbmUgaGVyZVxuICAgICAgaWYgKCFlbC5pZCkge1xuICAgICAgICBlbC5pZCA9IGBzYmItZm9ybS1maWVsZC1lcnJvci0keysrbmV4dEZvcm1GaWVsZEVycm9ySWR9YDtcbiAgICAgIH1cbiAgICAgIGlmICghZWwucm9sZSkge1xuICAgICAgICAvLyBJbnN0ZWFkIG9mIGRlZmluaW5nIGEgY29udGFpbmVyIHdpdGggYW4gYXJpYS1saXZlIHJlZ2lvbiBhcyBleHBlY3RlZCwgd2UgaGFkIHRvIGNoYW5nZVxuICAgICAgICAvLyBzZXR0aW5nIGl0IGZvciBldmVyeSBzbG90dGVkIGVsZW1lbnQgdG8gcHJvcGVybHkgd29yayBpbiBhbGwgYnJvd3NlcnMgYW5kIHNjcmVlbiByZWFkZXIgY29tYmluYXRpb25zLlxuICAgICAgICBlbC5yb2xlID0gJ3N0YXR1cyc7XG4gICAgICAgIGlmIChpc0ZpcmVmb3gpIHtcbiAgICAgICAgICBlbC5zZXRBdHRyaWJ1dGUoJ3JvbGUnLCAnc3RhdHVzJyk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gICAgdGhpcy5fYXBwbHlBcmlhRGVzY3JpYmVkYnkoKTtcbiAgICB0aGlzLnRvZ2dsZUF0dHJpYnV0ZSgnZGF0YS1oYXMtZXJyb3InLCAhIXRoaXMuX2Vycm9yRWxlbWVudHMubGVuZ3RoKTtcbiAgICB0aGlzLl9zeW5jTmVnYXRpdmUoKTtcbiAgfVxuXG4gIHByaXZhdGUgX2FwcGx5QXJpYURlc2NyaWJlZGJ5KCk6IHZvaWQge1xuICAgIGNvbnN0IGlkcyA9IFtdO1xuXG4gICAgaWYgKHRoaXMuX29yaWdpbmFsSW5wdXRBcmlhRGVzY3JpYmVkYnkpIHtcbiAgICAgIGlkcy5wdXNoKHRoaXMuX29yaWdpbmFsSW5wdXRBcmlhRGVzY3JpYmVkYnkpO1xuICAgIH1cblxuICAgIGlmICh0aGlzLl9lcnJvckVsZW1lbnRzLmxlbmd0aCkge1xuICAgICAgdGhpcy5fZXJyb3JFbGVtZW50cy5mb3JFYWNoKChlKSA9PiBpZHMucHVzaChlLmlkKSk7XG4gICAgfVxuXG4gICAgY29uc3QgYXJpYURlc2NyaWJlZGJ5ID0gaWRzLmpvaW4oJyAnKTtcbiAgICBpZiAodGhpcy5faW5wdXQpIHtcbiAgICAgIHNldE9yUmVtb3ZlQXR0cmlidXRlKHRoaXMuX2lucHV0LCAnYXJpYS1kZXNjcmliZWRieScsIGFyaWFEZXNjcmliZWRieSk7XG4gICAgfVxuICB9XG5cbiAgLyoqIE1hbnVhbGx5IHJlc2V0IHRoZSBmb3JtIGZpZWxkLiBDdXJyZW50bHksIHRoaXMgb25seSByZXNldHMgdGhlIGZsb2F0aW5nIGxhYmVsLiAqL1xuICBwdWJsaWMgcmVzZXQoKTogdm9pZCB7XG4gICAgdGhpcy5fY2hlY2tBbmRVcGRhdGVJbnB1dEVtcHR5KCk7XG4gIH1cblxuICAvKiogTWFudWFsbHkgY2xlYXJzIHRoZSBpbnB1dCB2YWx1ZS4gSXQgb25seSB3b3JrcyBmb3IgaW5wdXRzLCBzZWxlY3RzIGFyZSBub3Qgc3VwcG9ydGVkLiAqL1xuICBwdWJsaWMgY2xlYXIoKTogdm9pZCB7XG4gICAgaWYgKCh0aGlzLl9pbnB1dD8ubG9jYWxOYW1lIGFzIHN0cmluZykgIT09ICdpbnB1dCcpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG4gICAgKHRoaXMuX2lucHV0IGFzIHsgdmFsdWU6IHN0cmluZyB9KS52YWx1ZSA9ICcnO1xuICAgIHRoaXMuX2NoZWNrQW5kVXBkYXRlSW5wdXRFbXB0eSgpO1xuICB9XG5cbiAgcHJpdmF0ZSBfc3luY05lZ2F0aXZlKCk6IHZvaWQge1xuICAgIHRoaXMucXVlcnlTZWxlY3RvckFsbD8uKFxuICAgICAgJ3NiYi1mb3JtLWVycm9yLHNiYi1taW5pLWJ1dHRvbixzYmItcG9wb3Zlci10cmlnZ2VyLHNiYi1mb3JtLWZpZWxkLWNsZWFyLHNiYi1kYXRlcGlja2VyLW5leHQtZGF5LHNiYi1kYXRlcGlja2VyLXByZXZpb3VzLWRheSxzYmItZGF0ZXBpY2tlci10b2dnbGUsc2JiLXNlbGVjdCxzYmItYXV0b2NvbXBsZXRlLHNiYi1hdXRvY29tcGxldGUtZ3JpZCcsXG4gICAgKS5mb3JFYWNoKChlbGVtZW50KSA9PiBlbGVtZW50LnRvZ2dsZUF0dHJpYnV0ZSgnbmVnYXRpdmUnLCB0aGlzLm5lZ2F0aXZlKSk7XG4gIH1cblxuICBwcm90ZWN0ZWQgb3ZlcnJpZGUgcmVuZGVyKCk6IFRlbXBsYXRlUmVzdWx0IHtcbiAgICByZXR1cm4gaHRtbGBcbiAgICAgIDxkaXYgY2xhc3M9XCJzYmItZm9ybS1maWVsZF9fc3BhY2Utd3JhcHBlclwiPlxuICAgICAgICAkey8qIFF1ZXJpZWQgYnkgaWQgZnJvbSB0aGUgYXV0b2NvbXBsZXRlL3NlbGVjdCB0byBiZSB1c2VkIGFzIHRoZSBhbmNob3IgZWxlbWVudCAqLyAnJ31cbiAgICAgICAgPGRpdiBAY2xpY2s9JHt0aGlzLl9oYW5kbGVXcmFwcGVyQ2xpY2t9IGNsYXNzPVwic2JiLWZvcm0tZmllbGRfX3dyYXBwZXJcIiBpZD1cIm92ZXJsYXktYW5jaG9yXCI+XG4gICAgICAgICAgPHNsb3QgbmFtZT1cInByZWZpeFwiIEBzbG90Y2hhbmdlPSR7dGhpcy5fc3luY05lZ2F0aXZlfT48L3Nsb3Q+XG4gICAgICAgICAgPGRpdiBjbGFzcz1cInNiYi1mb3JtLWZpZWxkX19pbnB1dC1jb250YWluZXJcIj5cbiAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwic2JiLWZvcm0tZmllbGRfX2xhYmVsLXNwYWNlclwiIGFyaWEtaGlkZGVuPVwidHJ1ZVwiPjwvc3Bhbj5cbiAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwic2JiLWZvcm0tZmllbGRfX2xhYmVsXCI+XG4gICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwic2JiLWZvcm0tZmllbGRfX2xhYmVsLWVsbGlwc2lzXCI+XG4gICAgICAgICAgICAgICAgPHNsb3QgbmFtZT1cImxhYmVsXCIgQHNsb3RjaGFuZ2U9JHt0aGlzLl9vblNsb3RMYWJlbENoYW5nZX0+PC9zbG90PlxuICAgICAgICAgICAgICAgICR7dGhpcy5vcHRpb25hbFxuICAgICAgICAgICAgICAgICAgPyBodG1sYCA8c3BhbiBhcmlhLWhpZGRlbj1cInRydWVcIj4gJHtpMThuT3B0aW9uYWxbdGhpcy5fbGFuZ3VhZ2UuY3VycmVudF19IDwvc3Bhbj5gXG4gICAgICAgICAgICAgICAgICA6IG5vdGhpbmd9XG4gICAgICAgICAgICAgIDwvc3Bhbj5cbiAgICAgICAgICAgIDwvc3Bhbj5cbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJzYmItZm9ybS1maWVsZF9faW5wdXRcIj5cbiAgICAgICAgICAgICAgPHNsb3QgQHNsb3RjaGFuZ2U9JHt0aGlzLl9vblNsb3RJbnB1dENoYW5nZX0+PC9zbG90PlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAke1snc2VsZWN0JywgJ3NiYi1zZWxlY3QnXS5pbmNsdWRlcyh0aGlzLl9pbnB1dD8ubG9jYWxOYW1lIGFzIHN0cmluZylcbiAgICAgICAgICAgICAgPyBodG1sYDxzYmItaWNvblxuICAgICAgICAgICAgICAgICAgbmFtZT1cImNoZXZyb24tc21hbGwtZG93bi1zbWFsbFwiXG4gICAgICAgICAgICAgICAgICBjbGFzcz1cInNiYi1mb3JtLWZpZWxkX19zZWxlY3QtaW5wdXQtaWNvblwiXG4gICAgICAgICAgICAgICAgPjwvc2JiLWljb24+YFxuICAgICAgICAgICAgICA6IG5vdGhpbmd9XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgPHNsb3QgbmFtZT1cInN1ZmZpeFwiIEBzbG90Y2hhbmdlPSR7dGhpcy5fc3luY05lZ2F0aXZlfT48L3Nsb3Q+XG4gICAgICAgIDwvZGl2PlxuXG4gICAgICAgIDxkaXYgY2xhc3M9XCJzYmItZm9ybS1maWVsZF9fZXJyb3JcIj5cbiAgICAgICAgICA8c2xvdCBuYW1lPVwiZXJyb3JcIiBAc2xvdGNoYW5nZT0ke3RoaXMuX29uU2xvdEVycm9yQ2hhbmdlfT48L3Nsb3Q+XG4gICAgICAgIDwvZGl2PlxuICAgICAgPC9kaXY+XG4gICAgYDtcbiAgfVxufVxuXG5kZWNsYXJlIGdsb2JhbCB7XG4gIGludGVyZmFjZSBIVE1MRWxlbWVudFRhZ05hbWVNYXAge1xuICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbmFtaW5nLWNvbnZlbnRpb25cbiAgICAnc2JiLWZvcm0tZmllbGQnOiBTYmJGb3JtRmllbGRFbGVtZW50O1xuICB9XG59XG4iXSwibmFtZXMiOlsiX2EiXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUF3QkEsSUFBSSxTQUFTO0FBQ2IsSUFBSSx1QkFBdUI7QUFFM0IsTUFBTSxvQ0FBb0I7SUFjcEIsdUJBQW1CLE1BQUE7O0FBRnhCLE1BQUEsbUJBQUEsQ0FBQSxjQUFjLGdCQUFnQixHQUM5QixXQUFXOzs7O0FBQ3NC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
|
|
@@ -25,7 +25,7 @@ const style = css`*,
|
|
|
25
25
|
--sbb-header-action-min-height: var(--sbb-size-element-s);
|
|
26
26
|
--sbb-header-action-min-width: var(--sbb-header-action-min-height);
|
|
27
27
|
--sbb-header-action-transition-duration: var(
|
|
28
|
-
--sbb-disable-animation-
|
|
28
|
+
--sbb-disable-animation-duration,
|
|
29
29
|
var(--sbb-animation-duration-2x)
|
|
30
30
|
);
|
|
31
31
|
--sbb-header-action-transition-easing: var(--sbb-animation-easing);
|
|
@@ -83,7 +83,7 @@ const style = css`*,
|
|
|
83
83
|
}
|
|
84
84
|
|
|
85
85
|
@media (forced-colors: active) {
|
|
86
|
-
:host([
|
|
86
|
+
:host([data-button]) {
|
|
87
87
|
--sbb-header-action-color: ButtonText;
|
|
88
88
|
}
|
|
89
89
|
}
|