@sbb-esta/lyne-elements 3.0.0-next.3 → 3.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/accordion/accordion.component.js +10 -10
- package/alert/alert/alert.component.d.ts +4 -8
- package/alert/alert/alert.component.d.ts.map +1 -1
- package/alert/alert/alert.component.js +33 -33
- package/alert/alert-group/alert-group.component.d.ts +0 -3
- package/alert/alert-group/alert-group.component.d.ts.map +1 -1
- package/alert/alert-group/alert-group.component.js +44 -45
- package/autocomplete/autocomplete-base-element.d.ts.map +1 -1
- package/autocomplete/autocomplete-base-element.js +9 -9
- package/autocomplete/autocomplete.component.d.ts +0 -4
- package/autocomplete/autocomplete.component.d.ts.map +1 -1
- package/autocomplete/autocomplete.component.js +1 -1
- package/autocomplete-grid/autocomplete-grid/autocomplete-grid.component.d.ts +0 -4
- package/autocomplete-grid/autocomplete-grid/autocomplete-grid.component.d.ts.map +1 -1
- package/autocomplete-grid/autocomplete-grid/autocomplete-grid.component.js +11 -11
- package/autocomplete-grid/autocomplete-grid-option/autocomplete-grid-option.component.d.ts +0 -10
- package/autocomplete-grid/autocomplete-grid-option/autocomplete-grid-option.component.d.ts.map +1 -1
- package/autocomplete-grid/autocomplete-grid-option/autocomplete-grid-option.component.js +14 -18
- package/button/accent-button/accent-button.component.d.ts +0 -1
- package/button/accent-button/accent-button.component.d.ts.map +1 -1
- package/button/button/button.component.d.ts +0 -1
- package/button/button/button.component.d.ts.map +1 -1
- package/button/mini-button/mini-button.component.d.ts +0 -1
- package/button/mini-button/mini-button.component.d.ts.map +1 -1
- package/button/secondary-button/secondary-button.component.d.ts +0 -1
- package/button/secondary-button/secondary-button.component.d.ts.map +1 -1
- package/button/transparent-button/transparent-button.component.d.ts +0 -1
- package/button/transparent-button/transparent-button.component.d.ts.map +1 -1
- package/calendar/calendar.component.d.ts +1 -5
- package/calendar/calendar.component.d.ts.map +1 -1
- package/calendar/calendar.component.js +68 -66
- package/card/card-button/card-button.component.d.ts +0 -1
- package/card/card-button/card-button.component.d.ts.map +1 -1
- package/checkbox/checkbox/checkbox.component.d.ts +2 -2
- package/checkbox/checkbox-panel/checkbox-panel.component.d.ts +3 -13
- package/checkbox/checkbox-panel/checkbox-panel.component.d.ts.map +1 -1
- package/checkbox/checkbox-panel/checkbox-panel.component.js +37 -39
- package/chip/chip/chip.component.d.ts +2 -3
- package/chip/chip/chip.component.d.ts.map +1 -1
- package/chip/chip/chip.component.js +31 -30
- package/chip/chip-group/chip-group.component.d.ts +4 -12
- package/chip/chip-group/chip-group.component.d.ts.map +1 -1
- package/chip/chip-group/chip-group.component.js +52 -46
- package/container/sticky-bar/sticky-bar.component.d.ts +6 -12
- package/container/sticky-bar/sticky-bar.component.d.ts.map +1 -1
- package/container/sticky-bar/sticky-bar.component.js +49 -49
- package/core/base-elements/open-close-base-element.d.ts +12 -22
- package/core/base-elements/open-close-base-element.d.ts.map +1 -1
- package/core/base-elements/open-close-base-element.js +23 -17
- package/core/eventing.d.ts +0 -1
- package/core/eventing.d.ts.map +1 -1
- package/core/eventing.js +10 -12
- package/core/interfaces/types.d.ts +0 -5
- package/core/interfaces/types.d.ts.map +1 -1
- package/core/interfaces.d.ts +0 -1
- package/core/interfaces.d.ts.map +1 -1
- package/core/mixins/disabled-mixin.d.ts.map +1 -1
- package/core/mixins/disabled-mixin.js +43 -40
- package/core/mixins/panel-mixin.d.ts.map +1 -1
- package/core/mixins/panel-mixin.js +35 -38
- package/core/mixins/readonly-mixin.d.ts.map +1 -1
- package/core/mixins/readonly-mixin.js +25 -19
- package/custom-elements.json +17450 -16552
- package/date-input/date-input.component.d.ts +0 -1
- package/date-input/date-input.component.d.ts.map +1 -1
- package/datepicker/datepicker/datepicker.component.d.ts +0 -6
- package/datepicker/datepicker/datepicker.component.d.ts.map +1 -1
- package/datepicker/datepicker/datepicker.component.js +9 -9
- package/datepicker/datepicker-next-day/datepicker-next-day.component.d.ts +0 -1
- package/datepicker/datepicker-next-day/datepicker-next-day.component.d.ts.map +1 -1
- package/datepicker/datepicker-previous-day/datepicker-previous-day.component.d.ts +0 -1
- package/datepicker/datepicker-previous-day/datepicker-previous-day.component.d.ts.map +1 -1
- package/development/accordion/accordion.component.js +3 -3
- package/development/alert/alert/alert.component.d.ts +4 -8
- package/development/alert/alert/alert.component.d.ts.map +1 -1
- package/development/alert/alert/alert.component.js +11 -9
- package/development/alert/alert-group/alert-group.component.d.ts +0 -3
- package/development/alert/alert-group/alert-group.component.d.ts.map +1 -1
- package/development/alert/alert-group/alert-group.component.js +14 -18
- package/development/autocomplete/autocomplete-base-element.d.ts.map +1 -1
- package/development/autocomplete/autocomplete-base-element.js +5 -8
- package/development/autocomplete/autocomplete.component.d.ts +0 -4
- package/development/autocomplete/autocomplete.component.d.ts.map +1 -1
- package/development/autocomplete/autocomplete.component.js +2 -2
- package/development/autocomplete-grid/autocomplete-grid/autocomplete-grid.component.d.ts +0 -4
- package/development/autocomplete-grid/autocomplete-grid/autocomplete-grid.component.d.ts.map +1 -1
- package/development/autocomplete-grid/autocomplete-grid/autocomplete-grid.component.js +2 -2
- package/development/autocomplete-grid/autocomplete-grid-option/autocomplete-grid-option.component.d.ts +0 -10
- package/development/autocomplete-grid/autocomplete-grid-option/autocomplete-grid-option.component.d.ts.map +1 -1
- package/development/autocomplete-grid/autocomplete-grid-option/autocomplete-grid-option.component.js +5 -9
- package/development/button/accent-button/accent-button.component.d.ts +0 -1
- package/development/button/accent-button/accent-button.component.d.ts.map +1 -1
- package/development/button/accent-button/accent-button.component.js +1 -1
- package/development/button/button/button.component.d.ts +0 -1
- package/development/button/button/button.component.d.ts.map +1 -1
- package/development/button/button/button.component.js +1 -1
- package/development/button/mini-button/mini-button.component.d.ts +0 -1
- package/development/button/mini-button/mini-button.component.d.ts.map +1 -1
- package/development/button/mini-button/mini-button.component.js +1 -1
- package/development/button/secondary-button/secondary-button.component.d.ts +0 -1
- package/development/button/secondary-button/secondary-button.component.d.ts.map +1 -1
- package/development/button/secondary-button/secondary-button.component.js +1 -1
- package/development/button/transparent-button/transparent-button.component.d.ts +0 -1
- package/development/button/transparent-button/transparent-button.component.d.ts.map +1 -1
- package/development/button/transparent-button/transparent-button.component.js +1 -1
- package/development/calendar/calendar.component.d.ts +1 -5
- package/development/calendar/calendar.component.d.ts.map +1 -1
- package/development/calendar/calendar.component.js +11 -9
- package/development/card/card-button/card-button.component.d.ts +0 -1
- package/development/card/card-button/card-button.component.d.ts.map +1 -1
- package/development/card/card-button/card-button.component.js +1 -1
- package/development/checkbox/checkbox/checkbox.component.d.ts +2 -2
- package/development/checkbox/checkbox/checkbox.component.js +1 -1
- package/development/checkbox/checkbox-panel/checkbox-panel.component.d.ts +3 -13
- package/development/checkbox/checkbox-panel/checkbox-panel.component.d.ts.map +1 -1
- package/development/checkbox/checkbox-panel/checkbox-panel.component.js +14 -17
- package/development/chip/chip/chip.component.d.ts +2 -3
- package/development/chip/chip/chip.component.d.ts.map +1 -1
- package/development/chip/chip/chip.component.js +11 -10
- package/development/chip/chip-group/chip-group.component.d.ts +4 -12
- package/development/chip/chip-group/chip-group.component.d.ts.map +1 -1
- package/development/chip/chip-group/chip-group.component.js +20 -16
- package/development/container/sticky-bar/sticky-bar.component.d.ts +6 -12
- package/development/container/sticky-bar/sticky-bar.component.d.ts.map +1 -1
- package/development/container/sticky-bar/sticky-bar.component.js +20 -22
- package/development/core/base-elements/open-close-base-element.d.ts +12 -22
- package/development/core/base-elements/open-close-base-element.d.ts.map +1 -1
- package/development/core/base-elements/open-close-base-element.js +17 -15
- package/development/core/eventing.d.ts +0 -1
- package/development/core/eventing.d.ts.map +1 -1
- package/development/core/eventing.js +1 -3
- package/development/core/interfaces/types.d.ts +0 -5
- package/development/core/interfaces/types.d.ts.map +1 -1
- package/development/core/interfaces.d.ts +0 -1
- package/development/core/interfaces.d.ts.map +1 -1
- package/development/core/mixins/disabled-mixin.d.ts.map +1 -1
- package/development/core/mixins/disabled-mixin.js +20 -17
- package/development/core/mixins/panel-mixin.d.ts.map +1 -1
- package/development/core/mixins/panel-mixin.js +8 -14
- package/development/core/mixins/readonly-mixin.d.ts.map +1 -1
- package/development/core/mixins/readonly-mixin.js +17 -9
- package/development/date-input/date-input.component.d.ts +0 -1
- package/development/date-input/date-input.component.d.ts.map +1 -1
- package/development/date-input/date-input.component.js +1 -1
- package/development/datepicker/datepicker/datepicker.component.d.ts +0 -6
- package/development/datepicker/datepicker/datepicker.component.d.ts.map +1 -1
- package/development/datepicker/datepicker/datepicker.component.js +3 -3
- package/development/datepicker/datepicker-next-day/datepicker-next-day.component.d.ts +0 -1
- package/development/datepicker/datepicker-next-day/datepicker-next-day.component.d.ts.map +1 -1
- package/development/datepicker/datepicker-next-day/datepicker-next-day.component.js +1 -1
- package/development/datepicker/datepicker-previous-day/datepicker-previous-day.component.d.ts +0 -1
- package/development/datepicker/datepicker-previous-day/datepicker-previous-day.component.d.ts.map +1 -1
- package/development/datepicker/datepicker-previous-day/datepicker-previous-day.component.js +1 -1
- package/development/dialog/dialog/dialog.component.d.ts +0 -4
- package/development/dialog/dialog/dialog.component.d.ts.map +1 -1
- package/development/dialog/dialog/dialog.component.js +3 -3
- package/development/dialog/dialog-title/dialog-title.component.js +1 -1
- package/development/expansion-panel/expansion-panel/expansion-panel.component.d.ts +4 -16
- package/development/expansion-panel/expansion-panel/expansion-panel.component.d.ts.map +1 -1
- package/development/expansion-panel/expansion-panel/expansion-panel.component.js +15 -20
- package/development/expansion-panel/expansion-panel-header/expansion-panel-header.component.d.ts +1 -5
- package/development/expansion-panel/expansion-panel-header/expansion-panel-header.component.d.ts.map +1 -1
- package/development/expansion-panel/expansion-panel-header/expansion-panel-header.component.js +7 -11
- package/development/file-selector/common/file-selector-common.d.ts.map +1 -1
- package/development/file-selector/common/file-selector-common.js +16 -7
- package/development/file-selector/file-selector/file-selector.component.d.ts +1 -5
- package/development/file-selector/file-selector/file-selector.component.d.ts.map +1 -1
- package/development/file-selector/file-selector/file-selector.component.js +2 -2
- package/development/file-selector/file-selector-dropzone/file-selector-dropzone.component.d.ts +1 -5
- package/development/file-selector/file-selector-dropzone/file-selector-dropzone.component.d.ts.map +1 -1
- package/development/file-selector/file-selector-dropzone/file-selector-dropzone.component.js +2 -2
- package/development/flip-card/flip-card/flip-card.component.d.ts +0 -4
- package/development/flip-card/flip-card/flip-card.component.d.ts.map +1 -1
- package/development/flip-card/flip-card/flip-card.component.js +7 -9
- package/development/form-field/form-field/form-field.component.js +2 -2
- package/development/form-field/form-field-clear/form-field-clear.component.d.ts +0 -1
- package/development/form-field/form-field-clear/form-field-clear.component.d.ts.map +1 -1
- package/development/form-field/form-field-clear/form-field-clear.component.js +1 -1
- package/development/header/header-button/header-button.component.d.ts +0 -1
- package/development/header/header-button/header-button.component.d.ts.map +1 -1
- package/development/header/header-button/header-button.component.js +1 -1
- package/development/image/image.component.d.ts +0 -2
- package/development/image/image.component.d.ts.map +1 -1
- package/development/image/image.component.js +4 -2
- package/development/journey-header/journey-header.component.js +1 -1
- package/development/link/block-link-button/block-link-button.component.d.ts +0 -1
- package/development/link/block-link-button/block-link-button.component.d.ts.map +1 -1
- package/development/link/block-link-button/block-link-button.component.js +1 -1
- package/development/link/link-button/link-button.component.d.ts +0 -1
- package/development/link/link-button/link-button.component.d.ts.map +1 -1
- package/development/link/link-button/link-button.component.js +1 -1
- package/development/menu/menu/menu.component.d.ts +0 -4
- package/development/menu/menu/menu.component.d.ts.map +1 -1
- package/development/menu/menu/menu.component.js +5 -8
- package/development/menu/menu-button/menu-button.component.d.ts +0 -1
- package/development/menu/menu-button/menu-button.component.d.ts.map +1 -1
- package/development/menu/menu-button/menu-button.component.js +1 -1
- package/development/navigation/navigation/navigation.component.d.ts +0 -4
- package/development/navigation/navigation/navigation.component.d.ts.map +1 -1
- package/development/navigation/navigation/navigation.component.js +5 -8
- package/development/navigation/navigation-button/navigation-button.component.d.ts +0 -1
- package/development/navigation/navigation-button/navigation-button.component.d.ts.map +1 -1
- package/development/navigation/navigation-button/navigation-button.component.js +1 -1
- package/development/notification/notification.component.d.ts +5 -16
- package/development/notification/notification.component.d.ts.map +1 -1
- package/development/notification/notification.component.js +16 -18
- package/development/option/option/option-base-element.d.ts +8 -3
- package/development/option/option/option-base-element.d.ts.map +1 -1
- package/development/option/option/option-base-element.js +5 -4
- package/development/option/option/option.component.d.ts +3 -11
- package/development/option/option/option.component.d.ts.map +1 -1
- package/development/option/option/option.component.js +8 -11
- package/development/overlay/overlay-base-element.d.ts +2 -3
- package/development/overlay/overlay-base-element.d.ts.map +1 -1
- package/development/overlay/overlay-base-element.js +10 -5
- package/development/overlay/overlay.component.d.ts +4 -8
- package/development/overlay/overlay.component.d.ts.map +1 -1
- package/development/overlay/overlay.component.js +7 -7
- package/development/paginator/common/paginator-common.d.ts.map +1 -1
- package/development/paginator/common/paginator-common.js +12 -10
- package/development/paginator/compact-paginator/compact-paginator.component.d.ts +0 -2
- package/development/paginator/compact-paginator/compact-paginator.component.d.ts.map +1 -1
- package/development/paginator/compact-paginator/compact-paginator.component.js +1 -1
- package/development/paginator/paginator/paginator.component.d.ts +0 -2
- package/development/paginator/paginator/paginator.component.d.ts.map +1 -1
- package/development/paginator/paginator/paginator.component.js +1 -1
- package/development/popover/popover/popover.component.d.ts +6 -14
- package/development/popover/popover/popover.component.d.ts.map +1 -1
- package/development/popover/popover/popover.component.js +16 -8
- package/development/popover/popover-trigger/popover-trigger.component.d.ts +0 -1
- package/development/popover/popover-trigger/popover-trigger.component.d.ts.map +1 -1
- package/development/popover/popover-trigger/popover-trigger.component.js +1 -1
- package/development/radio-button/radio-button/radio-button.component.d.ts +3 -3
- package/development/radio-button/radio-button/radio-button.component.js +2 -2
- package/development/radio-button/radio-button-group/radio-button-group.component.d.ts +0 -6
- package/development/radio-button/radio-button-group/radio-button-group.component.d.ts.map +1 -1
- package/development/radio-button/radio-button-group/radio-button-group.component.js +7 -8
- package/development/radio-button/radio-button-panel/radio-button-panel.component.d.ts +3 -10
- package/development/radio-button/radio-button-panel/radio-button-panel.component.d.ts.map +1 -1
- package/development/radio-button/radio-button-panel/radio-button-panel.component.js +11 -12
- package/development/select/select.component.d.ts +6 -19
- package/development/select/select.component.d.ts.map +1 -1
- package/development/select/select.component.js +31 -44
- package/development/selection-expansion-panel/selection-expansion-panel.component.d.ts +6 -13
- package/development/selection-expansion-panel/selection-expansion-panel.component.d.ts.map +1 -1
- package/development/selection-expansion-panel/selection-expansion-panel.component.js +16 -21
- package/development/sidebar/icon-sidebar-button/icon-sidebar-button.component.d.ts +0 -1
- package/development/sidebar/icon-sidebar-button/icon-sidebar-button.component.d.ts.map +1 -1
- package/development/sidebar/icon-sidebar-button/icon-sidebar-button.component.js +1 -1
- package/development/sidebar/sidebar/sidebar.component.d.ts +0 -4
- package/development/sidebar/sidebar/sidebar.component.d.ts.map +1 -1
- package/development/sidebar/sidebar/sidebar.component.js +5 -5
- package/development/sidebar/sidebar-close-button/sidebar-close-button.component.d.ts +0 -1
- package/development/sidebar/sidebar-close-button/sidebar-close-button.component.d.ts.map +1 -1
- package/development/sidebar/sidebar-close-button/sidebar-close-button.component.js +1 -1
- package/development/sidebar/sidebar-title/sidebar-title.component.js +1 -1
- package/development/slider/slider.component.d.ts +2 -7
- package/development/slider/slider.component.d.ts.map +1 -1
- package/development/slider/slider.component.js +10 -14
- package/development/stepper/step/step.component.d.ts +2 -10
- package/development/stepper/step/step.component.d.ts.map +1 -1
- package/development/stepper/step/step.component.js +13 -11
- package/development/stepper/step-label/step-label.component.d.ts +0 -1
- package/development/stepper/step-label/step-label.component.d.ts.map +1 -1
- package/development/stepper/step-label/step-label.component.js +1 -1
- package/development/stepper/stepper/stepper.component.js +2 -2
- package/development/tabs/tab-group/tab-group.component.d.ts +1 -4
- package/development/tabs/tab-group/tab-group.component.d.ts.map +1 -1
- package/development/tabs/tab-group/tab-group.component.js +21 -18
- package/development/tag/tag/tag.component.d.ts +0 -9
- package/development/tag/tag/tag.component.d.ts.map +1 -1
- package/development/tag/tag/tag.component.js +11 -19
- package/development/time-input/time-input.component.d.ts +0 -1
- package/development/time-input/time-input.component.d.ts.map +1 -1
- package/development/time-input/time-input.component.js +1 -1
- package/development/toast/toast.component.d.ts +0 -4
- package/development/toast/toast.component.d.ts.map +1 -1
- package/development/toast/toast.component.js +5 -5
- package/development/toggle/toggle/toggle.component.d.ts +0 -3
- package/development/toggle/toggle/toggle.component.d.ts.map +1 -1
- package/development/toggle/toggle/toggle.component.js +6 -11
- package/development/toggle-check/toggle-check.component.d.ts +2 -2
- package/development/toggle-check/toggle-check.component.js +1 -1
- package/development/train/train/train.component.d.ts +1 -6
- package/development/train/train/train.component.d.ts.map +1 -1
- package/development/train/train/train.component.js +7 -12
- package/development/train/train-formation/train-formation.component.js +3 -3
- package/development/train/train-wagon/train-wagon.component.d.ts +1 -6
- package/development/train/train-wagon/train-wagon.component.d.ts.map +1 -1
- package/development/train/train-wagon/train-wagon.component.js +7 -12
- package/dialog/dialog/dialog.component.d.ts +0 -4
- package/dialog/dialog/dialog.component.d.ts.map +1 -1
- package/dialog/dialog/dialog.component.js +2 -2
- package/expansion-panel/expansion-panel/expansion-panel.component.d.ts +4 -16
- package/expansion-panel/expansion-panel/expansion-panel.component.d.ts.map +1 -1
- package/expansion-panel/expansion-panel/expansion-panel.component.js +48 -50
- package/expansion-panel/expansion-panel-header/expansion-panel-header.component.d.ts +1 -5
- package/expansion-panel/expansion-panel-header/expansion-panel-header.component.d.ts.map +1 -1
- package/expansion-panel/expansion-panel-header/expansion-panel-header.component.js +26 -30
- package/file-selector/common/file-selector-common.d.ts.map +1 -1
- package/file-selector/common/file-selector-common.js +47 -37
- package/file-selector/file-selector/file-selector.component.d.ts +1 -5
- package/file-selector/file-selector/file-selector.component.d.ts.map +1 -1
- package/file-selector/file-selector/file-selector.component.js +3 -3
- package/file-selector/file-selector-dropzone/file-selector-dropzone.component.d.ts +1 -5
- package/file-selector/file-selector-dropzone/file-selector-dropzone.component.d.ts.map +1 -1
- package/file-selector/file-selector-dropzone/file-selector-dropzone.component.js +5 -5
- package/flip-card/flip-card/flip-card.component.d.ts +0 -4
- package/flip-card/flip-card/flip-card.component.d.ts.map +1 -1
- package/flip-card/flip-card/flip-card.component.js +35 -37
- package/form-field/form-field/form-field.component.js +1 -1
- package/form-field/form-field-clear/form-field-clear.component.d.ts +0 -1
- package/form-field/form-field-clear/form-field-clear.component.d.ts.map +1 -1
- package/header/header-button/header-button.component.d.ts +0 -1
- package/header/header-button/header-button.component.d.ts.map +1 -1
- package/image/image.component.d.ts +0 -2
- package/image/image.component.d.ts.map +1 -1
- package/link/block-link-button/block-link-button.component.d.ts +0 -1
- package/link/block-link-button/block-link-button.component.d.ts.map +1 -1
- package/link/link-button/link-button.component.d.ts +0 -1
- package/link/link-button/link-button.component.d.ts.map +1 -1
- package/menu/menu/menu.component.d.ts +0 -4
- package/menu/menu/menu.component.d.ts.map +1 -1
- package/menu/menu/menu.component.js +8 -8
- package/menu/menu-button/menu-button.component.d.ts +0 -1
- package/menu/menu-button/menu-button.component.d.ts.map +1 -1
- package/navigation/navigation/navigation.component.d.ts +0 -4
- package/navigation/navigation/navigation.component.d.ts.map +1 -1
- package/navigation/navigation/navigation.component.js +17 -17
- package/navigation/navigation-button/navigation-button.component.d.ts +0 -1
- package/navigation/navigation-button/navigation-button.component.d.ts.map +1 -1
- package/notification/notification.component.d.ts +5 -16
- package/notification/notification.component.d.ts.map +1 -1
- package/notification/notification.component.js +54 -53
- package/option/option/option-base-element.d.ts +8 -3
- package/option/option/option-base-element.d.ts.map +1 -1
- package/option/option/option-base-element.js +22 -20
- package/option/option/option.component.d.ts +3 -11
- package/option/option/option.component.d.ts.map +1 -1
- package/option/option/option.component.js +23 -25
- package/overlay/overlay-base-element.d.ts +2 -3
- package/overlay/overlay-base-element.d.ts.map +1 -1
- package/overlay/overlay-base-element.js +42 -37
- package/overlay/overlay.component.d.ts +4 -8
- package/overlay/overlay.component.d.ts.map +1 -1
- package/overlay/overlay.component.js +11 -11
- package/package.json +1 -1
- package/paginator/common/paginator-common.d.ts.map +1 -1
- package/paginator/common/paginator-common.js +37 -34
- package/paginator/compact-paginator/compact-paginator.component.d.ts +0 -2
- package/paginator/compact-paginator/compact-paginator.component.d.ts.map +1 -1
- package/paginator/paginator/paginator.component.d.ts +0 -2
- package/paginator/paginator/paginator.component.d.ts.map +1 -1
- package/popover/popover/popover.component.d.ts +6 -14
- package/popover/popover/popover.component.d.ts.map +1 -1
- package/popover/popover/popover.component.js +76 -67
- package/popover/popover-trigger/popover-trigger.component.d.ts +0 -1
- package/popover/popover-trigger/popover-trigger.component.d.ts.map +1 -1
- package/radio-button/radio-button/radio-button.component.d.ts +3 -3
- package/radio-button/radio-button/radio-button.component.js +10 -10
- package/radio-button/radio-button-group/radio-button-group.component.d.ts +0 -6
- package/radio-button/radio-button-group/radio-button-group.component.d.ts.map +1 -1
- package/radio-button/radio-button-group/radio-button-group.component.js +24 -26
- package/radio-button/radio-button-panel/radio-button-panel.component.d.ts +3 -10
- package/radio-button/radio-button-panel/radio-button-panel.component.d.ts.map +1 -1
- package/radio-button/radio-button-panel/radio-button-panel.component.js +39 -40
- package/select/select.component.d.ts +6 -19
- package/select/select.component.d.ts.map +1 -1
- package/select/select.component.js +99 -101
- package/selection-expansion-panel/selection-expansion-panel.component.d.ts +6 -13
- package/selection-expansion-panel/selection-expansion-panel.component.d.ts.map +1 -1
- package/selection-expansion-panel/selection-expansion-panel.component.js +49 -51
- package/sidebar/icon-sidebar-button/icon-sidebar-button.component.d.ts +0 -1
- package/sidebar/icon-sidebar-button/icon-sidebar-button.component.d.ts.map +1 -1
- package/sidebar/sidebar/sidebar.component.d.ts +0 -4
- package/sidebar/sidebar/sidebar.component.d.ts.map +1 -1
- package/sidebar/sidebar/sidebar.component.js +28 -28
- package/sidebar/sidebar-close-button/sidebar-close-button.component.d.ts +0 -1
- package/sidebar/sidebar-close-button/sidebar-close-button.component.d.ts.map +1 -1
- package/slider/slider.component.d.ts +2 -7
- package/slider/slider.component.d.ts.map +1 -1
- package/slider/slider.component.js +38 -43
- package/stepper/step/step.component.d.ts +2 -10
- package/stepper/step/step.component.d.ts.map +1 -1
- package/stepper/step/step.component.js +26 -23
- package/stepper/step-label/step-label.component.d.ts +0 -1
- package/stepper/step-label/step-label.component.d.ts.map +1 -1
- package/stepper/stepper/stepper.component.js +6 -6
- package/tabs/tab-group/tab-group.component.d.ts +1 -4
- package/tabs/tab-group/tab-group.component.d.ts.map +1 -1
- package/tabs/tab-group/tab-group.component.js +55 -52
- package/tag/tag/tag.component.d.ts +0 -9
- package/tag/tag/tag.component.d.ts.map +1 -1
- package/tag/tag/tag.component.js +34 -40
- package/time-input/time-input.component.d.ts +0 -1
- package/time-input/time-input.component.d.ts.map +1 -1
- package/toast/toast.component.d.ts +0 -4
- package/toast/toast.component.d.ts.map +1 -1
- package/toast/toast.component.js +19 -19
- package/toggle/toggle/toggle.component.d.ts +0 -3
- package/toggle/toggle/toggle.component.d.ts.map +1 -1
- package/toggle/toggle/toggle.component.js +35 -40
- package/toggle-check/toggle-check.component.d.ts +2 -2
- package/train/train/train.component.d.ts +1 -6
- package/train/train/train.component.d.ts.map +1 -1
- package/train/train/train.component.js +33 -38
- package/train/train-formation/train-formation.component.js +1 -1
- package/train/train-wagon/train-wagon.component.d.ts +1 -6
- package/train/train-wagon/train-wagon.component.d.ts.map +1 -1
- package/train/train-wagon/train-wagon.component.js +48 -53
- package/core/eventing/event-emitter.d.ts +0 -23
- package/core/eventing/event-emitter.d.ts.map +0 -1
- package/core/eventing/event-emitter.js +0 -22
- package/core/interfaces/validation-change.d.ts +0 -4
- package/core/interfaces/validation-change.d.ts.map +0 -1
- package/development/core/eventing/event-emitter.d.ts +0 -23
- package/development/core/eventing/event-emitter.d.ts.map +0 -1
- package/development/core/eventing/event-emitter.js +0 -25
- package/development/core/interfaces/validation-change.d.ts +0 -4
- package/development/core/interfaces/validation-change.d.ts.map +0 -1
|
@@ -14,7 +14,7 @@ import { ref } from "lit/directives/ref.js";
|
|
|
14
14
|
import { isArrowKeyPressed, getNextElementIndex } from "../../core/a11y.js";
|
|
15
15
|
import { forceType } from "../../core/decorators.js";
|
|
16
16
|
import { isLean } from "../../core/dom.js";
|
|
17
|
-
import {
|
|
17
|
+
import { throttle } from "../../core/eventing.js";
|
|
18
18
|
import { SbbHydrationMixin } from "../../core/mixins.js";
|
|
19
19
|
import { SbbTabElement } from "../tab.js";
|
|
20
20
|
const style = css`*,
|
|
@@ -77,7 +77,7 @@ let SbbTabGroupElement = (() => {
|
|
|
77
77
|
let _initialSelectedIndex_decorators;
|
|
78
78
|
let _initialSelectedIndex_initializers = [];
|
|
79
79
|
let _initialSelectedIndex_extraInitializers = [];
|
|
80
|
-
|
|
80
|
+
_a = class extends _classSuper {
|
|
81
81
|
constructor() {
|
|
82
82
|
super();
|
|
83
83
|
__privateAdd(this, _initialSelectedIndex_accessor_storage);
|
|
@@ -99,8 +99,7 @@ let SbbTabGroupElement = (() => {
|
|
|
99
99
|
});
|
|
100
100
|
this._size = isLean() ? "s" : "l";
|
|
101
101
|
__privateSet(this, _initialSelectedIndex_accessor_storage, __runInitializers(this, _initialSelectedIndex_initializers, 0));
|
|
102
|
-
this.
|
|
103
|
-
this._onContentSlotChange = () => {
|
|
102
|
+
this._onContentSlotChange = (__runInitializers(this, _initialSelectedIndex_extraInitializers), () => {
|
|
104
103
|
this._tabContentElement = this.shadowRoot.querySelector("div.tab-content");
|
|
105
104
|
const loadedTabs = this._getTabs().filter((tab) => !this._tabs.includes(tab));
|
|
106
105
|
if (loadedTabs.length) {
|
|
@@ -108,7 +107,7 @@ let SbbTabGroupElement = (() => {
|
|
|
108
107
|
this._tabs = this._tabs.concat(loadedTabs);
|
|
109
108
|
loadedTabs.find((tab) => tab.active)?.tabGroupActions?.select();
|
|
110
109
|
}
|
|
111
|
-
};
|
|
110
|
+
});
|
|
112
111
|
this._onTabsSlotChange = () => {
|
|
113
112
|
const tabs = this._getTabs();
|
|
114
113
|
if (tabs.length < this._tabs.length) {
|
|
@@ -282,14 +281,18 @@ let SbbTabGroupElement = (() => {
|
|
|
282
281
|
this._selectedTab = tabLabel;
|
|
283
282
|
this._tabContentResizeObserver.observe(tabLabel.tab);
|
|
284
283
|
const tabs = this._tabs;
|
|
285
|
-
this.
|
|
286
|
-
|
|
287
|
-
|
|
288
|
-
|
|
289
|
-
|
|
290
|
-
|
|
291
|
-
|
|
292
|
-
|
|
284
|
+
this.dispatchEvent(new CustomEvent("tabchange", {
|
|
285
|
+
bubbles: true,
|
|
286
|
+
composed: true,
|
|
287
|
+
detail: {
|
|
288
|
+
activeIndex: tabs.findIndex((e) => e === tabLabel),
|
|
289
|
+
activeTabLabel: tabLabel,
|
|
290
|
+
activeTab: tabLabel.tab,
|
|
291
|
+
previousIndex: tabs.findIndex((e) => e === prevTab),
|
|
292
|
+
previousTabLabel: prevTab,
|
|
293
|
+
previousTab: prevTab?.tab
|
|
294
|
+
}
|
|
295
|
+
}));
|
|
293
296
|
} else if (tabLabel.disabled) {
|
|
294
297
|
console.warn("You cannot activate a disabled tab");
|
|
295
298
|
}
|
|
@@ -361,14 +364,14 @@ let SbbTabGroupElement = (() => {
|
|
|
361
364
|
obj.initialSelectedIndex = value;
|
|
362
365
|
} }, metadata: _metadata }, _initialSelectedIndex_initializers, _initialSelectedIndex_extraInitializers);
|
|
363
366
|
__esDecorate(null, _classDescriptor = { value: _classThis }, _classDecorators, { kind: "class", name: _classThis.name, metadata: _metadata }, null, _classExtraInitializers);
|
|
364
|
-
|
|
367
|
+
_classThis = _classDescriptor.value;
|
|
365
368
|
if (_metadata) Object.defineProperty(_classThis, Symbol.metadata, { enumerable: true, configurable: true, writable: true, value: _metadata });
|
|
366
369
|
})(), _a.styles = style, _a.events = {
|
|
367
|
-
|
|
368
|
-
}, __runInitializers(_classThis, _classExtraInitializers), _a
|
|
369
|
-
return
|
|
370
|
+
tabchange: "tabchange"
|
|
371
|
+
}, __runInitializers(_classThis, _classExtraInitializers), _a;
|
|
372
|
+
return _classThis;
|
|
370
373
|
})();
|
|
371
374
|
export {
|
|
372
375
|
SbbTabGroupElement
|
|
373
376
|
};
|
|
374
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFiLWdyb3VwLmNvbXBvbmVudC5qcyIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vc3JjL2VsZW1lbnRzL3RhYnMvdGFiLWdyb3VwL3RhYi1ncm91cC5jb21wb25lbnQudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTXV0YXRpb25Db250cm9sbGVyIH0gZnJvbSAnQGxpdC1sYWJzL29ic2VydmVycy9tdXRhdGlvbi1jb250cm9sbGVyLmpzJztcbmltcG9ydCB7IFJlc2l6ZUNvbnRyb2xsZXIgfSBmcm9tICdAbGl0LWxhYnMvb2JzZXJ2ZXJzL3Jlc2l6ZS1jb250cm9sbGVyLmpzJztcbmltcG9ydCB0eXBlIHsgQ1NTUmVzdWx0R3JvdXAsIFByb3BlcnR5VmFsdWVzLCBUZW1wbGF0ZVJlc3VsdCB9IGZyb20gJ2xpdCc7XG5pbXBvcnQgeyBodG1sLCBMaXRFbGVtZW50IH0gZnJvbSAnbGl0JztcbmltcG9ydCB7IGN1c3RvbUVsZW1lbnQsIHByb3BlcnR5IH0gZnJvbSAnbGl0L2RlY29yYXRvcnMuanMnO1xuaW1wb3J0IHsgcmVmIH0gZnJvbSAnbGl0L2RpcmVjdGl2ZXMvcmVmLmpzJztcblxuaW1wb3J0IHsgZ2V0TmV4dEVsZW1lbnRJbmRleCwgaXNBcnJvd0tleVByZXNzZWQgfSBmcm9tICcuLi8uLi9jb3JlL2ExMXkuanMnO1xuaW1wb3J0IHsgZm9yY2VUeXBlIH0gZnJvbSAnLi4vLi4vY29yZS9kZWNvcmF0b3JzLmpzJztcbmltcG9ydCB7IGlzTGVhbiB9IGZyb20gJy4uLy4uL2NvcmUvZG9tLmpzJztcbmltcG9ydCB7IEV2ZW50RW1pdHRlciwgdGhyb3R0bGUgfSBmcm9tICcuLi8uLi9jb3JlL2V2ZW50aW5nLmpzJztcbmltcG9ydCB7IFNiYkh5ZHJhdGlvbk1peGluIH0gZnJvbSAnLi4vLi4vY29yZS9taXhpbnMuanMnO1xuaW1wb3J0IHR5cGUgeyBTYmJUYWJMYWJlbEVsZW1lbnQgfSBmcm9tICcuLi90YWItbGFiZWwuanMnO1xuaW1wb3J0IHsgU2JiVGFiRWxlbWVudCB9IGZyb20gJy4uL3RhYi5qcyc7XG5cbmltcG9ydCBzdHlsZSBmcm9tICcuL3RhYi1ncm91cC5zY3NzP2xpdCZpbmxpbmUnO1xuXG5leHBvcnQgdHlwZSBTYmJUYWJDaGFuZ2VkRXZlbnREZXRhaWxzID0ge1xuICBhY3RpdmVJbmRleDogbnVtYmVyO1xuICBhY3RpdmVUYWJMYWJlbDogU2JiVGFiTGFiZWxFbGVtZW50O1xuICBhY3RpdmVUYWI6IFNiYlRhYkVsZW1lbnQ7XG4gIHByZXZpb3VzSW5kZXg6IG51bWJlcjtcbiAgcHJldmlvdXNUYWJMYWJlbDogU2JiVGFiTGFiZWxFbGVtZW50IHwgdW5kZWZpbmVkO1xuICBwcmV2aW91c1RhYjogU2JiVGFiRWxlbWVudCB8IHVuZGVmaW5lZDtcbn07XG5cbmV4cG9ydCBpbnRlcmZhY2UgSW50ZXJmYWNlU2JiVGFiR3JvdXBBY3Rpb25zIHtcbiAgYWN0aXZhdGUoKTogdm9pZDtcbiAgZGVhY3RpdmF0ZSgpOiB2b2lkO1xuICBlbmFibGUoKTogdm9pZDtcbiAgZGlzYWJsZSgpOiB2b2lkO1xuICBzZWxlY3QoKTogdm9pZDtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBJbnRlcmZhY2VTYmJUYWJHcm91cFRhYiBleHRlbmRzIFNiYlRhYkxhYmVsRWxlbWVudCB7XG4gIGFjdGl2ZTogYm9vbGVhbjtcbiAgZGlzYWJsZWQ6IGJvb2xlYW47XG4gIHRhYj86IFNiYlRhYkVsZW1lbnQ7XG4gIGluZGV4PzogbnVtYmVyO1xuICB0YWJHcm91cEFjdGlvbnM/OiBJbnRlcmZhY2VTYmJUYWJHcm91cEFjdGlvbnM7XG4gIHNpemU6ICdzJyB8ICdsJyB8ICd4bCc7XG59XG5cbmNvbnN0IHRhYk9ic2VydmVyQ29uZmlnOiBNdXRhdGlvbk9ic2VydmVySW5pdCA9IHtcbiAgYXR0cmlidXRlRmlsdGVyOiBbJ2FjdGl2ZScsICdkaXNhYmxlZCddLFxufTtcblxubGV0IG5leHRJZCA9IDA7XG5cbi8qKlxuICogSXQgZGlzcGxheXMgb25lIG9yIG1vcmUgdGFicywgZWFjaCBvbmUgd2l0aCBhIGxhYmVsIGFuZCBhIGNvbnRlbnQuXG4gKlxuICogQHNsb3QgLSBVc2UgdGhlIHVubmFtZWQgc2xvdCB0byBhZGQgY29udGVudCB0byB0aGUgYHNiYi10YWItZ3JvdXBgIHZpYVxuICogYHNiYi10YWItbGFiZWxgIGFuZCBgc2JiLXRhYmAgaW5zdGFuY2VzLlxuICogQGV2ZW50IHtDdXN0b21FdmVudDxTYmJUYWJDaGFuZ2VkRXZlbnREZXRhaWxzPn0gZGlkQ2hhbmdlIC0gRW1pdHMgYW4gZXZlbnQgb24gc2VsZWN0ZWQgdGFiIGNoYW5nZS5cbiAqL1xuZXhwb3J0XG5AY3VzdG9tRWxlbWVudCgnc2JiLXRhYi1ncm91cCcpXG5jbGFzcyBTYmJUYWJHcm91cEVsZW1lbnQgZXh0ZW5kcyBTYmJIeWRyYXRpb25NaXhpbihMaXRFbGVtZW50KSB7XG4gIHB1YmxpYyBzdGF0aWMgb3ZlcnJpZGUgc3R5bGVzOiBDU1NSZXN1bHRHcm91cCA9IHN0eWxlO1xuICBwdWJsaWMgc3RhdGljIHJlYWRvbmx5IGV2ZW50cyA9IHtcbiAgICBkaWRDaGFuZ2U6ICdkaWRDaGFuZ2UnLFxuICB9IGFzIGNvbnN0O1xuXG4gIHByaXZhdGUgX3RhYnM6IEludGVyZmFjZVNiYlRhYkdyb3VwVGFiW10gPSBbXTtcbiAgcHJpdmF0ZSBfc2VsZWN0ZWRUYWI/OiBJbnRlcmZhY2VTYmJUYWJHcm91cFRhYjtcbiAgcHJpdmF0ZSBfdGFiR3JvdXBFbGVtZW50ITogSFRNTEVsZW1lbnQ7XG4gIHByaXZhdGUgX3RhYkNvbnRlbnRFbGVtZW50ITogSFRNTEVsZW1lbnQ7XG4gIHByaXZhdGUgX3RhYkF0dHJpYnV0ZU9ic2VydmVyID0gbmV3IE11dGF0aW9uQ29udHJvbGxlcih0aGlzLCB7XG4gICAgdGFyZ2V0OiBudWxsLFxuICAgIGNvbmZpZzogdGFiT2JzZXJ2ZXJDb25maWcsXG4gICAgY2FsbGJhY2s6IChtdXRhdGlvbnNMaXN0KSA9PiB0aGlzLl9vblRhYkF0dHJpYnV0ZXNDaGFuZ2UobXV0YXRpb25zTGlzdCksXG4gIH0pO1xuICBwcml2YXRlIF90YWJHcm91cFJlc2l6ZU9ic2VydmVyID0gbmV3IFJlc2l6ZUNvbnRyb2xsZXIodGhpcywge1xuICAgIHRhcmdldDogbnVsbCxcbiAgICBza2lwSW5pdGlhbDogdHJ1ZSxcbiAgICBjYWxsYmFjazogKGVudHJpZXMpID0+IHRoaXMuX29uVGFiR3JvdXBFbGVtZW50UmVzaXplKGVudHJpZXMpLFxuICB9KTtcbiAgcHJpdmF0ZSBfdGFiQ29udGVudFJlc2l6ZU9ic2VydmVyID0gbmV3IFJlc2l6ZUNvbnRyb2xsZXIodGhpcywge1xuICAgIHRhcmdldDogbnVsbCxcbiAgICBza2lwSW5pdGlhbDogdHJ1ZSxcbiAgICBjYWxsYmFjazogKGVudHJpZXMpID0+IHRoaXMuX29uVGFiQ29udGVudEVsZW1lbnRSZXNpemUoZW50cmllcyksXG4gIH0pO1xuXG4gIC8qKlxuICAgKiBTaXplIHZhcmlhbnQsIGVpdGhlciBzLCBsIG9yIHhsLlxuICAgKiBAZGVmYXVsdCAnbCcgLyAncycgKGxlYW4pXG4gICAqL1xuICBAcHJvcGVydHkoKVxuICBwdWJsaWMgc2V0IHNpemUodmFsdWU6IEludGVyZmFjZVNiYlRhYkdyb3VwVGFiWydzaXplJ10pIHtcbiAgICB0aGlzLl9zaXplID0gdmFsdWU7XG4gICAgdGhpcy5fdXBkYXRlU2l6ZSgpO1xuICB9XG4gIHB1YmxpYyBnZXQgc2l6ZSgpOiBJbnRlcmZhY2VTYmJUYWJHcm91cFRhYlsnc2l6ZSddIHtcbiAgICByZXR1cm4gdGhpcy5fc2l6ZTtcbiAgfVxuICBwcml2YXRlIF9zaXplOiBJbnRlcmZhY2VTYmJUYWJHcm91cFRhYlsnc2l6ZSddID0gaXNMZWFuKCkgPyAncycgOiAnbCc7XG5cbiAgLyoqXG4gICAqIFNldHMgdGhlIGluaXRpYWwgdGFiLiBJZiBpdCBtYXRjaGVzIGEgZGlzYWJsZWQgdGFiIG9yIGV4Y2VlZHMgdGhlIGxlbmd0aCBvZlxuICAgKiB0aGUgdGFiIGdyb3VwLCB0aGUgZmlyc3QgZW5hYmxlZCB0YWIgd2lsbCBiZSBzZWxlY3RlZC5cbiAgICovXG4gIEBmb3JjZVR5cGUoKVxuICBAcHJvcGVydHkoeyBhdHRyaWJ1dGU6ICdpbml0aWFsLXNlbGVjdGVkLWluZGV4JywgdHlwZTogTnVtYmVyIH0pXG4gIHB1YmxpYyBhY2Nlc3NvciBpbml0aWFsU2VsZWN0ZWRJbmRleDogbnVtYmVyID0gMDtcblxuICAvLyBUT0RPOiBjaGVjayByZW5hbWluZyBldmVudCB0byBgc2VsZWN0ZWRUYWJDaGFuZ2VkYCBvciBzaW1pbGFyLlxuICAvKiogRW1pdHMgYW4gZXZlbnQgb24gc2VsZWN0ZWQgdGFiIGNoYW5nZS4gKi9cbiAgcHJpdmF0ZSBfc2VsZWN0ZWRUYWJDaGFuZ2VkOiBFdmVudEVtaXR0ZXI8U2JiVGFiQ2hhbmdlZEV2ZW50RGV0YWlscz4gPSBuZXcgRXZlbnRFbWl0dGVyKFxuICAgIHRoaXMsXG4gICAgU2JiVGFiR3JvdXBFbGVtZW50LmV2ZW50cy5kaWRDaGFuZ2UsXG4gICk7XG5cbiAgcHVibGljIGNvbnN0cnVjdG9yKCkge1xuICAgIHN1cGVyKCk7XG4gICAgdGhpcy5hZGRFdmVudExpc3RlbmVyPy4oJ2tleWRvd24nLCAoZSkgPT4gdGhpcy5faGFuZGxlS2V5RG93bihlKSk7XG4gIH1cblxuICBwcm90ZWN0ZWQgb3ZlcnJpZGUgZmlyc3RVcGRhdGVkKGNoYW5nZWRQcm9wZXJ0aWVzOiBQcm9wZXJ0eVZhbHVlczx0aGlzPik6IHZvaWQge1xuICAgIHN1cGVyLmZpcnN0VXBkYXRlZChjaGFuZ2VkUHJvcGVydGllcyk7XG5cbiAgICB0aGlzLl90YWJzID0gdGhpcy5fZ2V0VGFicygpO1xuICAgIHRoaXMuX3RhYnMuZm9yRWFjaCgodGFiKSA9PiB0aGlzLl9jb25maWd1cmUodGFiKSk7XG4gICAgdGhpcy5faW5pdFNlbGVjdGlvbigpO1xuICAgIHRoaXMuX3RhYkdyb3VwUmVzaXplT2JzZXJ2ZXIub2JzZXJ2ZSh0aGlzLl90YWJHcm91cEVsZW1lbnQpO1xuICB9XG5cbiAgLyoqXG4gICAqIERpc2FibGVzIGEgdGFiIGJ5IGluZGV4LlxuICAgKiBAcGFyYW0gdGFiSW5kZXggVGhlIGluZGV4IG9mIHRoZSB0YWIgeW91IHdhbnQgdG8gZGlzYWJsZS5cbiAgICovXG4gIHB1YmxpYyBkaXNhYmxlVGFiKHRhYkluZGV4OiBudW1iZXIpOiB2b2lkIHtcbiAgICB0aGlzLl90YWJzW3RhYkluZGV4XT8udGFiR3JvdXBBY3Rpb25zPy5kaXNhYmxlKCk7XG4gIH1cblxuICAvKipcbiAgICogRW5hYmxlcyBhIHRhYiBieSBpbmRleC5cbiAgICogQHBhcmFtIHRhYkluZGV4IFRoZSBpbmRleCBvZiB0aGUgdGFiIHlvdSB3YW50IHRvIGVuYWJsZS5cbiAgICovXG4gIHB1YmxpYyBlbmFibGVUYWIodGFiSW5kZXg6IG51bWJlcik6IHZvaWQge1xuICAgIHRoaXMuX3RhYnNbdGFiSW5kZXhdPy50YWJHcm91cEFjdGlvbnM/LmVuYWJsZSgpO1xuICB9XG5cbiAgLyoqXG4gICAqIEFjdGl2YXRlcyBhIHRhYiBieSBpbmRleC5cbiAgICogQHBhcmFtIHRhYkluZGV4IFRoZSBpbmRleCBvZiB0aGUgdGFiIHlvdSB3YW50IHRvIGFjdGl2YXRlLlxuICAgKi9cbiAgcHVibGljIGFjdGl2YXRlVGFiKHRhYkluZGV4OiBudW1iZXIpOiB2b2lkIHtcbiAgICB0aGlzLl90YWJzW3RhYkluZGV4XT8udGFiR3JvdXBBY3Rpb25zPy5zZWxlY3QoKTtcbiAgfVxuXG4gIHByaXZhdGUgX2dldFRhYnMoKTogSW50ZXJmYWNlU2JiVGFiR3JvdXBUYWJbXSB7XG4gICAgcmV0dXJuIEFycmF5LmZyb20odGhpcy5jaGlsZHJlbiA/PyBbXSkuZmlsdGVyKChjaGlsZCkgPT5cbiAgICAgIC9ec2JiLXRhYi1sYWJlbCQvdS50ZXN0KGNoaWxkLmxvY2FsTmFtZSksXG4gICAgKSBhcyBJbnRlcmZhY2VTYmJUYWJHcm91cFRhYltdO1xuICB9XG5cbiAgcHJpdmF0ZSBfZW5hYmxlZFRhYnMoKTogSW50ZXJmYWNlU2JiVGFiR3JvdXBUYWJbXSB7XG4gICAgcmV0dXJuIHRoaXMuX3RhYnMuZmlsdGVyKCh0KSA9PiAhdC5oYXNBdHRyaWJ1dGUoJ2Rpc2FibGVkJykpO1xuICB9XG5cbiAgcHJpdmF0ZSBfdXBkYXRlU2l6ZSgpOiB2b2lkIHtcbiAgICBmb3IgKGNvbnN0IHRhYiBvZiB0aGlzLl90YWJzKSB7XG4gICAgICB0YWIuc2V0QXR0cmlidXRlKCdkYXRhLXNpemUnLCB0aGlzLnNpemUpO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgX29uQ29udGVudFNsb3RDaGFuZ2UgPSAoKTogdm9pZCA9PiB7XG4gICAgdGhpcy5fdGFiQ29udGVudEVsZW1lbnQgPSB0aGlzLnNoYWRvd1Jvb3QhLnF1ZXJ5U2VsZWN0b3IoJ2Rpdi50YWItY29udGVudCcpITtcbiAgICBjb25zdCBsb2FkZWRUYWJzID0gdGhpcy5fZ2V0VGFicygpLmZpbHRlcigodGFiKSA9PiAhdGhpcy5fdGFicy5pbmNsdWRlcyh0YWIpKTtcblxuICAgIC8vIGlmIGEgbmV3IHRhYi9jb250ZW50IGlzIGFkZGVkIHRvIHRoZSB0YWIgZ3JvdXBcbiAgICBpZiAobG9hZGVkVGFicy5sZW5ndGgpIHtcbiAgICAgIGxvYWRlZFRhYnMuZm9yRWFjaCgodGFiKSA9PiB0aGlzLl9jb25maWd1cmUodGFiKSk7XG4gICAgICB0aGlzLl90YWJzID0gdGhpcy5fdGFicy5jb25jYXQobG9hZGVkVGFicyk7XG5cbiAgICAgIC8vIElmIHRoZXJlIGlzIGFuIGFjdGl2ZSB0YWIgaW4gdGhlIG5ldyBiYXRjaCwgaXQgYmVjb21lcyB0aGUgbmV3IHNlbGVjdGVkXG4gICAgICBsb2FkZWRUYWJzLmZpbmQoKHRhYikgPT4gdGFiLmFjdGl2ZSk/LnRhYkdyb3VwQWN0aW9ucz8uc2VsZWN0KCk7XG4gICAgfVxuICB9O1xuXG4gIHByaXZhdGUgX29uVGFic1Nsb3RDaGFuZ2UgPSAoKTogdm9pZCA9PiB7XG4gICAgY29uc3QgdGFicyA9IHRoaXMuX2dldFRhYnMoKTtcblxuICAgIC8vIGlmIGEgdGFiIGlzIHJlbW92ZWQgZnJvbSB0aGUgdGFiIGdyb3VwXG4gICAgaWYgKHRhYnMubGVuZ3RoIDwgdGhpcy5fdGFicy5sZW5ndGgpIHtcbiAgICAgIGNvbnN0IHJlbW92ZWRUYWJzID0gdGhpcy5fdGFicy5maWx0ZXIoKHRhYikgPT4gIXRhYnMuaW5jbHVkZXModGFiKSk7XG5cbiAgICAgIHJlbW92ZWRUYWJzLmZvckVhY2goKHJlbW92ZWRUYWIpID0+IHtcbiAgICAgICAgcmVtb3ZlZFRhYi50YWI/LnJlbW92ZSgpO1xuICAgICAgfSk7XG4gICAgICB0aGlzLl90YWJzID0gdGFicztcbiAgICB9XG4gICAgdGhpcy5fdGFicy5mb3JFYWNoKCh0YWI6IEludGVyZmFjZVNiYlRhYkdyb3VwVGFiKSA9PiB0YWIuc2V0QXR0cmlidXRlKCdkYXRhLXNpemUnLCB0aGlzLnNpemUpKTtcbiAgfTtcblxuICBwcml2YXRlIF9hc3NpZ25JZCgpOiBzdHJpbmcge1xuICAgIHJldHVybiBgc2JiLXRhYi1wYW5lbC0keysrbmV4dElkfWA7XG4gIH1cblxuICBwcml2YXRlIF9pbml0U2VsZWN0aW9uKCk6IHZvaWQge1xuICAgIGlmIChcbiAgICAgIHRoaXMuaW5pdGlhbFNlbGVjdGVkSW5kZXggPj0gMCAmJlxuICAgICAgdGhpcy5pbml0aWFsU2VsZWN0ZWRJbmRleCA8IHRoaXMuX3RhYnMubGVuZ3RoICYmXG4gICAgICAhdGhpcy5fdGFic1t0aGlzLmluaXRpYWxTZWxlY3RlZEluZGV4XS5kaXNhYmxlZFxuICAgICkge1xuICAgICAgdGhpcy5fdGFic1t0aGlzLmluaXRpYWxTZWxlY3RlZEluZGV4XS50YWJHcm91cEFjdGlvbnM/LnNlbGVjdCgpO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLl9lbmFibGVkVGFicygpWzBdPy50YWJHcm91cEFjdGlvbnM/LnNlbGVjdCgpO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgX29uVGFiQXR0cmlidXRlc0NoYW5nZShtdXRhdGlvbnNMaXN0OiBNdXRhdGlvblJlY29yZFtdKTogdm9pZCB7XG4gICAgZm9yIChjb25zdCBtdXRhdGlvbiBvZiBtdXRhdGlvbnNMaXN0KSB7XG4gICAgICBpZiAobXV0YXRpb24udHlwZSAhPT0gJ2F0dHJpYnV0ZXMnKSB7XG4gICAgICAgIHJldHVybjtcbiAgICAgIH1cbiAgICAgIGNvbnN0IHRhYiA9IG11dGF0aW9uLnRhcmdldCBhcyBJbnRlcmZhY2VTYmJUYWJHcm91cFRhYjtcblxuICAgICAgaWYgKG11dGF0aW9uLmF0dHJpYnV0ZU5hbWUgPT09ICdkaXNhYmxlZCcpIHtcbiAgICAgICAgaWYgKHRhYi5oYXNBdHRyaWJ1dGUoJ2Rpc2FibGVkJykgJiYgdGFiICE9PSB0aGlzLl9zZWxlY3RlZFRhYikge1xuICAgICAgICAgIHRhYi50YWJHcm91cEFjdGlvbnM/LmRpc2FibGUoKTtcbiAgICAgICAgfSBlbHNlIGlmICh0YWIuZGlzYWJsZWQpIHtcbiAgICAgICAgICB0YWIudGFiR3JvdXBBY3Rpb25zPy5lbmFibGUoKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgaWYgKG11dGF0aW9uLmF0dHJpYnV0ZU5hbWUgPT09ICdhY3RpdmUnKSB7XG4gICAgICAgIGlmICh0YWIuaGFzQXR0cmlidXRlKCdhY3RpdmUnKSAmJiAhdGFiLmRpc2FibGVkKSB7XG4gICAgICAgICAgdGFiLnRhYkdyb3VwQWN0aW9ucz8uc2VsZWN0KCk7XG4gICAgICAgIH0gZWxzZSBpZiAodGFiID09PSB0aGlzLl9zZWxlY3RlZFRhYikge1xuICAgICAgICAgIHRhYi50b2dnbGVBdHRyaWJ1dGUoJ2FjdGl2ZScsIHRydWUpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBfb25UYWJHcm91cEVsZW1lbnRSZXNpemUoZW50cmllczogUmVzaXplT2JzZXJ2ZXJFbnRyeVtdKTogdm9pZCB7XG4gICAgZm9yIChjb25zdCBlbnRyeSBvZiBlbnRyaWVzKSB7XG4gICAgICBjb25zdCB0YWJUaXRsZXMgPSAoXG4gICAgICAgIGVudHJ5LnRhcmdldC5maXJzdEVsZW1lbnRDaGlsZCBhcyBIVE1MU2xvdEVsZW1lbnRcbiAgICAgICkuYXNzaWduZWRFbGVtZW50cygpIGFzIFNiYlRhYkxhYmVsRWxlbWVudFtdO1xuXG4gICAgICBmb3IgKGNvbnN0IHRhYiBvZiB0YWJUaXRsZXMpIHtcbiAgICAgICAgdGFiLnRvZ2dsZUF0dHJpYnV0ZShcbiAgICAgICAgICAnZGF0YS1oYXMtZGl2aWRlcicsXG4gICAgICAgICAgdGFiID09PSB0YWJUaXRsZXNbMF0gfHwgdGFiLm9mZnNldExlZnQgPT09IHRhYlRpdGxlc1swXS5vZmZzZXRMZWZ0LFxuICAgICAgICApO1xuICAgICAgICB0aGlzLnN0eWxlLnNldFByb3BlcnR5KCctLXNiYi10YWItZ3JvdXAtd2lkdGgnLCBgJHt0aGlzLl90YWJHcm91cEVsZW1lbnQuY2xpZW50V2lkdGh9cHhgKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBwcml2YXRlIF9vblRhYkNvbnRlbnRFbGVtZW50UmVzaXplKGVudHJpZXM6IFJlc2l6ZU9ic2VydmVyRW50cnlbXSk6IHZvaWQge1xuICAgIGlmICghdGhpcy5fdGFiQ29udGVudEVsZW1lbnQpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG4gICAgZm9yIChjb25zdCBlbnRyeSBvZiBlbnRyaWVzKSB7XG4gICAgICBjb25zdCBjb250ZW50SGVpZ2h0ID0gTWF0aC5mbG9vcihlbnRyeS5jb250ZW50UmVjdC5oZWlnaHQpO1xuXG4gICAgICB0aGlzLl90YWJDb250ZW50RWxlbWVudC5zdHlsZS5oZWlnaHQgPSBgJHtjb250ZW50SGVpZ2h0fXB4YDtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIF9jb25maWd1cmUodGFiTGFiZWw6IEludGVyZmFjZVNiYlRhYkdyb3VwVGFiKTogdm9pZCB7XG4gICAgdGFiTGFiZWwudGFiR3JvdXBBY3Rpb25zID0ge1xuICAgICAgYWN0aXZhdGU6ICgpOiB2b2lkID0+IHtcbiAgICAgICAgdGFiTGFiZWwudG9nZ2xlQXR0cmlidXRlKCdhY3RpdmUnLCB0cnVlKTtcbiAgICAgICAgdGFiTGFiZWwuYWN0aXZlID0gdHJ1ZTtcbiAgICAgICAgdGFiTGFiZWwudGFiSW5kZXggPSAwO1xuICAgICAgICB0YWJMYWJlbC5zZXRBdHRyaWJ1dGUoJ2FyaWEtc2VsZWN0ZWQnLCAndHJ1ZScpO1xuICAgICAgICB0YWJMYWJlbC50YWI/LnRvZ2dsZUF0dHJpYnV0ZSgnYWN0aXZlJywgdHJ1ZSk7XG4gICAgICB9LFxuICAgICAgZGVhY3RpdmF0ZTogKCk6IHZvaWQgPT4ge1xuICAgICAgICB0YWJMYWJlbC5yZW1vdmVBdHRyaWJ1dGUoJ2FjdGl2ZScpO1xuICAgICAgICB0YWJMYWJlbC5hY3RpdmUgPSBmYWxzZTtcbiAgICAgICAgdGFiTGFiZWwudGFiSW5kZXggPSAtMTtcbiAgICAgICAgdGFiTGFiZWwuc2V0QXR0cmlidXRlKCdhcmlhLXNlbGVjdGVkJywgJ2ZhbHNlJyk7XG4gICAgICAgIHRhYkxhYmVsLnRhYj8ucmVtb3ZlQXR0cmlidXRlKCdhY3RpdmUnKTtcbiAgICAgIH0sXG4gICAgICBkaXNhYmxlOiAoKTogdm9pZCA9PiB7XG4gICAgICAgIGlmICh0YWJMYWJlbC5kaXNhYmxlZCkge1xuICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuICAgICAgICBpZiAoIXRhYkxhYmVsLmhhc0F0dHJpYnV0ZSgnZGlzYWJsZWQnKSkge1xuICAgICAgICAgIHRhYkxhYmVsLnRvZ2dsZUF0dHJpYnV0ZSgnZGlzYWJsZWQnLCB0cnVlKTtcbiAgICAgICAgfVxuICAgICAgICB0YWJMYWJlbC5kaXNhYmxlZCA9IHRydWU7XG4gICAgICAgIHRhYkxhYmVsLnRhYkluZGV4ID0gLTE7XG4gICAgICAgIHRhYkxhYmVsLnNldEF0dHJpYnV0ZSgnYXJpYS1zZWxlY3RlZCcsICdmYWxzZScpO1xuICAgICAgICB0YWJMYWJlbC50YWI/LnJlbW92ZUF0dHJpYnV0ZSgnYWN0aXZlJyk7XG4gICAgICAgIGlmICh0YWJMYWJlbC5hY3RpdmUpIHtcbiAgICAgICAgICB0YWJMYWJlbC5yZW1vdmVBdHRyaWJ1dGUoJ2FjdGl2ZScpO1xuICAgICAgICAgIHRhYkxhYmVsLmFjdGl2ZSA9IGZhbHNlO1xuICAgICAgICAgIHRoaXMuX2VuYWJsZWRUYWJzKClbMF0/LnRhYkdyb3VwQWN0aW9ucz8uc2VsZWN0KCk7XG4gICAgICAgIH1cbiAgICAgIH0sXG4gICAgICBlbmFibGU6ICgpOiB2b2lkID0+IHtcbiAgICAgICAgaWYgKHRhYkxhYmVsLmRpc2FibGVkKSB7XG4gICAgICAgICAgdGFiTGFiZWwucmVtb3ZlQXR0cmlidXRlKCdkaXNhYmxlZCcpO1xuICAgICAgICAgIHRhYkxhYmVsLmRpc2FibGVkID0gZmFsc2U7XG4gICAgICAgIH1cbiAgICAgIH0sXG4gICAgICBzZWxlY3Q6ICgpOiB2b2lkID0+IHtcbiAgICAgICAgaWYgKHRhYkxhYmVsICE9PSB0aGlzLl9zZWxlY3RlZFRhYiAmJiAhdGFiTGFiZWwuZGlzYWJsZWQpIHtcbiAgICAgICAgICBjb25zdCBwcmV2VGFiID0gdGhpcy5fc2VsZWN0ZWRUYWI7XG5cbiAgICAgICAgICBpZiAocHJldlRhYikge1xuICAgICAgICAgICAgcHJldlRhYi50YWJHcm91cEFjdGlvbnM/LmRlYWN0aXZhdGUoKTtcbiAgICAgICAgICAgIHRoaXMuX3RhYkNvbnRlbnRSZXNpemVPYnNlcnZlci51bm9ic2VydmUocHJldlRhYi50YWIhKTtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICB0YWJMYWJlbC50YWJHcm91cEFjdGlvbnM/LmFjdGl2YXRlKCk7XG4gICAgICAgICAgdGhpcy5fc2VsZWN0ZWRUYWIgPSB0YWJMYWJlbDtcblxuICAgICAgICAgIHRoaXMuX3RhYkNvbnRlbnRSZXNpemVPYnNlcnZlci5vYnNlcnZlKHRhYkxhYmVsLnRhYiEpO1xuICAgICAgICAgIGNvbnN0IHRhYnMgPSB0aGlzLl90YWJzO1xuICAgICAgICAgIHRoaXMuX3NlbGVjdGVkVGFiQ2hhbmdlZC5lbWl0KHtcbiAgICAgICAgICAgIGFjdGl2ZUluZGV4OiB0YWJzLmZpbmRJbmRleCgoZSkgPT4gZSA9PT0gdGFiTGFiZWwpLFxuICAgICAgICAgICAgYWN0aXZlVGFiTGFiZWw6IHRhYkxhYmVsLFxuICAgICAgICAgICAgYWN0aXZlVGFiOiB0YWJMYWJlbC50YWIgYXMgU2JiVGFiRWxlbWVudCxcbiAgICAgICAgICAgIHByZXZpb3VzSW5kZXg6IHRhYnMuZmluZEluZGV4KChlKSA9PiBlID09PSBwcmV2VGFiKSxcbiAgICAgICAgICAgIHByZXZpb3VzVGFiTGFiZWw6IHByZXZUYWIsXG4gICAgICAgICAgICBwcmV2aW91c1RhYjogcHJldlRhYj8udGFiIGFzIFNiYlRhYkVsZW1lbnQsXG4gICAgICAgICAgfSk7XG4gICAgICAgIH0gZWxzZSBpZiAoaW1wb3J0Lm1ldGEuZW52LkRFViAmJiB0YWJMYWJlbC5kaXNhYmxlZCkge1xuICAgICAgICAgIGNvbnNvbGUud2FybignWW91IGNhbm5vdCBhY3RpdmF0ZSBhIGRpc2FibGVkIHRhYicpO1xuICAgICAgICB9XG4gICAgICB9LFxuICAgIH07XG5cbiAgICBpZiAodGFiTGFiZWwubmV4dEVsZW1lbnRTaWJsaW5nPy5sb2NhbE5hbWUgPT09ICdzYmItdGFiJykge1xuICAgICAgdGFiTGFiZWwudGFiID0gdGFiTGFiZWwubmV4dEVsZW1lbnRTaWJsaW5nIGFzIFNiYlRhYkVsZW1lbnQ7XG4gICAgICB0YWJMYWJlbC50YWIuaWQgPSB0aGlzLl9hc3NpZ25JZCgpO1xuICAgICAgaWYgKHRhYkxhYmVsLnRhYiBpbnN0YW5jZW9mIFNiYlRhYkVsZW1lbnQpIHtcbiAgICAgICAgdGFiTGFiZWwudGFiLnRhYkluZGV4ID0gMDtcbiAgICAgICAgdGFiTGFiZWwudGFiLmNvbmZpZ3VyZSgpO1xuICAgICAgfVxuICAgIH0gZWxzZSBpZiAoaW1wb3J0Lm1ldGEuZW52LkRFVikge1xuICAgICAgdGFiTGFiZWwuaW5zZXJ0QWRqYWNlbnRIVE1MKCdhZnRlcmVuZCcsICc8c2JiLXRhYj5ObyBjb250ZW50Ljwvc2JiLXRhYj4nKTtcbiAgICAgIHRhYkxhYmVsLnRhYiA9IHRhYkxhYmVsLm5leHRFbGVtZW50U2libGluZyBhcyBTYmJUYWJFbGVtZW50O1xuICAgICAgY29uc29sZS53YXJuKFxuICAgICAgICBgTWlzc2luZyBjb250ZW50OiB5b3Ugc2hvdWxkIHByb3ZpZGUgYSByZWxhdGVkIGNvbnRlbnQgZm9yIHRoZSB0YWIgJHt0YWJMYWJlbC5vdXRlckhUTUx9LmAsXG4gICAgICApO1xuICAgIH1cbiAgICB0YWJMYWJlbC50YWJJbmRleCA9IC0xO1xuICAgIHRhYkxhYmVsLmRpc2FibGVkID0gdGFiTGFiZWwuaGFzQXR0cmlidXRlKCdkaXNhYmxlZCcpO1xuICAgIHRhYkxhYmVsLmFjdGl2ZSA9IHRhYkxhYmVsLmhhc0F0dHJpYnV0ZSgnYWN0aXZlJykgJiYgIXRhYkxhYmVsLmRpc2FibGVkO1xuICAgIHRhYkxhYmVsLnNldEF0dHJpYnV0ZSgnYXJpYS1zZWxlY3RlZCcsIFN0cmluZyh0YWJMYWJlbC5hY3RpdmUpKTtcbiAgICB0YWJMYWJlbC5hZGRFdmVudExpc3RlbmVyKCdjbGljaycsICgpID0+IHtcbiAgICAgIHRhYkxhYmVsLnRhYkdyb3VwQWN0aW9ucz8uc2VsZWN0KCk7XG4gICAgfSk7XG4gICAgaWYgKHRhYkxhYmVsLnRhYikge1xuICAgICAgdGFiTGFiZWwuc2V0QXR0cmlidXRlKCdhcmlhLWNvbnRyb2xzJywgdGFiTGFiZWwudGFiLmlkKTtcbiAgICAgIHRhYkxhYmVsLnRhYi50b2dnbGVBdHRyaWJ1dGUoJ2FjdGl2ZScsIHRhYkxhYmVsLmFjdGl2ZSk7XG4gICAgfVxuXG4gICAgdGhpcy5fdGFiQXR0cmlidXRlT2JzZXJ2ZXIub2JzZXJ2ZSh0YWJMYWJlbCk7XG4gICAgdGFiTGFiZWwuc2xvdCA9ICd0YWItYmFyJztcbiAgfVxuXG4gIHByaXZhdGUgX2hhbmRsZUtleURvd24oZXZ0OiBLZXlib2FyZEV2ZW50KTogdm9pZCB7XG4gICAgY29uc3QgZW5hYmxlZFRhYnM6IEludGVyZmFjZVNiYlRhYkdyb3VwVGFiW10gPSB0aGlzLl9lbmFibGVkVGFicygpO1xuXG4gICAgaWYgKFxuICAgICAgIWVuYWJsZWRUYWJzIHx8XG4gICAgICAvLyBkb24ndCB0cmFwIG5lc3RlZCBoYW5kbGluZ1xuICAgICAgKChldnQudGFyZ2V0IGFzIEhUTUxFbGVtZW50KSAhPT0gdGhpcyAmJiAoZXZ0LnRhcmdldCBhcyBIVE1MRWxlbWVudCkucGFyZW50RWxlbWVudCAhPT0gdGhpcylcbiAgICApIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBpZiAoaXNBcnJvd0tleVByZXNzZWQoZXZ0KSkge1xuICAgICAgY29uc3QgY3VycmVudDogbnVtYmVyID0gZW5hYmxlZFRhYnMuZmluZEluZGV4KCh0OiBJbnRlcmZhY2VTYmJUYWJHcm91cFRhYikgPT4gdC5hY3RpdmUpO1xuICAgICAgY29uc3QgbmV4dEluZGV4OiBudW1iZXIgPSBnZXROZXh0RWxlbWVudEluZGV4KGV2dCwgY3VycmVudCwgZW5hYmxlZFRhYnMubGVuZ3RoKTtcbiAgICAgIGVuYWJsZWRUYWJzW25leHRJbmRleF0/LnRhYkdyb3VwQWN0aW9ucz8uc2VsZWN0KCk7XG4gICAgICBlbmFibGVkVGFic1tuZXh0SW5kZXhdPy5mb2N1cygpO1xuICAgICAgZXZ0LnByZXZlbnREZWZhdWx0KCk7XG4gICAgfVxuICB9XG5cbiAgcHJvdGVjdGVkIG92ZXJyaWRlIHJlbmRlcigpOiBUZW1wbGF0ZVJlc3VsdCB7XG4gICAgcmV0dXJuIGh0bWxgXG4gICAgICA8ZGl2XG4gICAgICAgIGNsYXNzPVwidGFiLWdyb3VwXCJcbiAgICAgICAgcm9sZT1cInRhYmxpc3RcIlxuICAgICAgICAke3JlZigoZWw/OiBFbGVtZW50KSA9PiAodGhpcy5fdGFiR3JvdXBFbGVtZW50ID0gZWwgYXMgSFRNTEVsZW1lbnQpKX1cbiAgICAgID5cbiAgICAgICAgPHNsb3QgbmFtZT1cInRhYi1iYXJcIiBAc2xvdGNoYW5nZT0ke3RoaXMuX29uVGFic1Nsb3RDaGFuZ2V9Pjwvc2xvdD5cbiAgICAgIDwvZGl2PlxuXG4gICAgICA8ZGl2IGNsYXNzPVwidGFiLWNvbnRlbnRcIj5cbiAgICAgICAgPHNsb3QgQHNsb3RjaGFuZ2U9JHt0aHJvdHRsZSh0aGlzLl9vbkNvbnRlbnRTbG90Q2hhbmdlLCAxNTApfT48L3Nsb3Q+XG4gICAgICA8L2Rpdj5cbiAgICBgO1xuICB9XG59XG5cbmRlY2xhcmUgZ2xvYmFsIHtcbiAgaW50ZXJmYWNlIEhUTUxFbGVtZW50VGFnTmFtZU1hcCB7XG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uYW1pbmctY29udmVudGlvblxuICAgICdzYmItdGFiLWdyb3VwJzogU2JiVGFiR3JvdXBFbGVtZW50O1xuICB9XG59XG4iXSwibmFtZXMiOlsiU2JiVGFiR3JvdXBFbGVtZW50Il0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUEyQ0EsTUFBTSxvQkFBMEM7QUFBQSxFQUM5QyxpQkFBaUIsQ0FBQyxVQUFVLFVBQVU7O0FBR3hDLElBQUksU0FBUztJQVdQLHNCQUFrQixNQUFBOzswQkFEdkIsY0FBYyxlQUFlLENBQUM7Ozs7b0JBQ0Usa0JBQWtCLFVBQVU7Ozs7OztBQUFwQyxNQUFBQSx1QkFBQSxtQkFBUSxZQUE2QjtBQUFBLElBdUQ1RCxjQUFBO0FBQ0UsWUFBQTtBQVZGO0FBeENRLFdBQUEsU0FOSixrQkFBQSxNQUFBLDBCQUFBLEdBTXVDLENBQUE7QUFJbkMsV0FBQSx3QkFBd0IsSUFBSSxtQkFBbUIsTUFBTTtBQUFBLFFBQzNELFFBQVE7QUFBQSxRQUNSLFFBQVE7QUFBQSxRQUNSLFVBQVUsQ0FBQyxrQkFBa0IsS0FBSyx1QkFBdUIsYUFBYTtBQUFBLE1BQUEsQ0FDdkU7QUFDTyxXQUFBLDBCQUEwQixJQUFJLGlCQUFpQixNQUFNO0FBQUEsUUFDM0QsUUFBUTtBQUFBLFFBQ1IsYUFBYTtBQUFBLFFBQ2IsVUFBVSxDQUFDLFlBQVksS0FBSyx5QkFBeUIsT0FBTztBQUFBLE1BQUEsQ0FDN0Q7QUFDTyxXQUFBLDRCQUE0QixJ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
|
|
377
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFiLWdyb3VwLmNvbXBvbmVudC5qcyIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vc3JjL2VsZW1lbnRzL3RhYnMvdGFiLWdyb3VwL3RhYi1ncm91cC5jb21wb25lbnQudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTXV0YXRpb25Db250cm9sbGVyIH0gZnJvbSAnQGxpdC1sYWJzL29ic2VydmVycy9tdXRhdGlvbi1jb250cm9sbGVyLmpzJztcbmltcG9ydCB7IFJlc2l6ZUNvbnRyb2xsZXIgfSBmcm9tICdAbGl0LWxhYnMvb2JzZXJ2ZXJzL3Jlc2l6ZS1jb250cm9sbGVyLmpzJztcbmltcG9ydCB0eXBlIHsgQ1NTUmVzdWx0R3JvdXAsIFByb3BlcnR5VmFsdWVzLCBUZW1wbGF0ZVJlc3VsdCB9IGZyb20gJ2xpdCc7XG5pbXBvcnQgeyBodG1sLCBMaXRFbGVtZW50IH0gZnJvbSAnbGl0JztcbmltcG9ydCB7IGN1c3RvbUVsZW1lbnQsIHByb3BlcnR5IH0gZnJvbSAnbGl0L2RlY29yYXRvcnMuanMnO1xuaW1wb3J0IHsgcmVmIH0gZnJvbSAnbGl0L2RpcmVjdGl2ZXMvcmVmLmpzJztcblxuaW1wb3J0IHsgZ2V0TmV4dEVsZW1lbnRJbmRleCwgaXNBcnJvd0tleVByZXNzZWQgfSBmcm9tICcuLi8uLi9jb3JlL2ExMXkuanMnO1xuaW1wb3J0IHsgZm9yY2VUeXBlIH0gZnJvbSAnLi4vLi4vY29yZS9kZWNvcmF0b3JzLmpzJztcbmltcG9ydCB7IGlzTGVhbiB9IGZyb20gJy4uLy4uL2NvcmUvZG9tLmpzJztcbmltcG9ydCB7IHRocm90dGxlIH0gZnJvbSAnLi4vLi4vY29yZS9ldmVudGluZy5qcyc7XG5pbXBvcnQgeyBTYmJIeWRyYXRpb25NaXhpbiB9IGZyb20gJy4uLy4uL2NvcmUvbWl4aW5zLmpzJztcbmltcG9ydCB0eXBlIHsgU2JiVGFiTGFiZWxFbGVtZW50IH0gZnJvbSAnLi4vdGFiLWxhYmVsLmpzJztcbmltcG9ydCB7IFNiYlRhYkVsZW1lbnQgfSBmcm9tICcuLi90YWIuanMnO1xuXG5pbXBvcnQgc3R5bGUgZnJvbSAnLi90YWItZ3JvdXAuc2Nzcz9saXQmaW5saW5lJztcblxuZXhwb3J0IHR5cGUgU2JiVGFiQ2hhbmdlZEV2ZW50RGV0YWlscyA9IHtcbiAgYWN0aXZlSW5kZXg6IG51bWJlcjtcbiAgYWN0aXZlVGFiTGFiZWw6IFNiYlRhYkxhYmVsRWxlbWVudDtcbiAgYWN0aXZlVGFiOiBTYmJUYWJFbGVtZW50O1xuICBwcmV2aW91c0luZGV4OiBudW1iZXI7XG4gIHByZXZpb3VzVGFiTGFiZWw6IFNiYlRhYkxhYmVsRWxlbWVudCB8IHVuZGVmaW5lZDtcbiAgcHJldmlvdXNUYWI6IFNiYlRhYkVsZW1lbnQgfCB1bmRlZmluZWQ7XG59O1xuXG5leHBvcnQgaW50ZXJmYWNlIEludGVyZmFjZVNiYlRhYkdyb3VwQWN0aW9ucyB7XG4gIGFjdGl2YXRlKCk6IHZvaWQ7XG4gIGRlYWN0aXZhdGUoKTogdm9pZDtcbiAgZW5hYmxlKCk6IHZvaWQ7XG4gIGRpc2FibGUoKTogdm9pZDtcbiAgc2VsZWN0KCk6IHZvaWQ7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgSW50ZXJmYWNlU2JiVGFiR3JvdXBUYWIgZXh0ZW5kcyBTYmJUYWJMYWJlbEVsZW1lbnQge1xuICBhY3RpdmU6IGJvb2xlYW47XG4gIGRpc2FibGVkOiBib29sZWFuO1xuICB0YWI/OiBTYmJUYWJFbGVtZW50O1xuICBpbmRleD86IG51bWJlcjtcbiAgdGFiR3JvdXBBY3Rpb25zPzogSW50ZXJmYWNlU2JiVGFiR3JvdXBBY3Rpb25zO1xuICBzaXplOiAncycgfCAnbCcgfCAneGwnO1xufVxuXG5jb25zdCB0YWJPYnNlcnZlckNvbmZpZzogTXV0YXRpb25PYnNlcnZlckluaXQgPSB7XG4gIGF0dHJpYnV0ZUZpbHRlcjogWydhY3RpdmUnLCAnZGlzYWJsZWQnXSxcbn07XG5cbmxldCBuZXh0SWQgPSAwO1xuXG4vKipcbiAqIEl0IGRpc3BsYXlzIG9uZSBvciBtb3JlIHRhYnMsIGVhY2ggb25lIHdpdGggYSBsYWJlbCBhbmQgYSBjb250ZW50LlxuICpcbiAqIEBzbG90IC0gVXNlIHRoZSB1bm5hbWVkIHNsb3QgdG8gYWRkIGNvbnRlbnQgdG8gdGhlIGBzYmItdGFiLWdyb3VwYCB2aWFcbiAqIGBzYmItdGFiLWxhYmVsYCBhbmQgYHNiYi10YWJgIGluc3RhbmNlcy5cbiAqL1xuZXhwb3J0XG5AY3VzdG9tRWxlbWVudCgnc2JiLXRhYi1ncm91cCcpXG5jbGFzcyBTYmJUYWJHcm91cEVsZW1lbnQgZXh0ZW5kcyBTYmJIeWRyYXRpb25NaXhpbihMaXRFbGVtZW50KSB7XG4gIHB1YmxpYyBzdGF0aWMgb3ZlcnJpZGUgc3R5bGVzOiBDU1NSZXN1bHRHcm91cCA9IHN0eWxlO1xuICBwdWJsaWMgc3RhdGljIHJlYWRvbmx5IGV2ZW50cyA9IHtcbiAgICB0YWJjaGFuZ2U6ICd0YWJjaGFuZ2UnLFxuICB9IGFzIGNvbnN0O1xuXG4gIHByaXZhdGUgX3RhYnM6IEludGVyZmFjZVNiYlRhYkdyb3VwVGFiW10gPSBbXTtcbiAgcHJpdmF0ZSBfc2VsZWN0ZWRUYWI/OiBJbnRlcmZhY2VTYmJUYWJHcm91cFRhYjtcbiAgcHJpdmF0ZSBfdGFiR3JvdXBFbGVtZW50ITogSFRNTEVsZW1lbnQ7XG4gIHByaXZhdGUgX3RhYkNvbnRlbnRFbGVtZW50ITogSFRNTEVsZW1lbnQ7XG4gIHByaXZhdGUgX3RhYkF0dHJpYnV0ZU9ic2VydmVyID0gbmV3IE11dGF0aW9uQ29udHJvbGxlcih0aGlzLCB7XG4gICAgdGFyZ2V0OiBudWxsLFxuICAgIGNvbmZpZzogdGFiT2JzZXJ2ZXJDb25maWcsXG4gICAgY2FsbGJhY2s6IChtdXRhdGlvbnNMaXN0KSA9PiB0aGlzLl9vblRhYkF0dHJpYnV0ZXNDaGFuZ2UobXV0YXRpb25zTGlzdCksXG4gIH0pO1xuICBwcml2YXRlIF90YWJHcm91cFJlc2l6ZU9ic2VydmVyID0gbmV3IFJlc2l6ZUNvbnRyb2xsZXIodGhpcywge1xuICAgIHRhcmdldDogbnVsbCxcbiAgICBza2lwSW5pdGlhbDogdHJ1ZSxcbiAgICBjYWxsYmFjazogKGVudHJpZXMpID0+IHRoaXMuX29uVGFiR3JvdXBFbGVtZW50UmVzaXplKGVudHJpZXMpLFxuICB9KTtcbiAgcHJpdmF0ZSBfdGFiQ29udGVudFJlc2l6ZU9ic2VydmVyID0gbmV3IFJlc2l6ZUNvbnRyb2xsZXIodGhpcywge1xuICAgIHRhcmdldDogbnVsbCxcbiAgICBza2lwSW5pdGlhbDogdHJ1ZSxcbiAgICBjYWxsYmFjazogKGVudHJpZXMpID0+IHRoaXMuX29uVGFiQ29udGVudEVsZW1lbnRSZXNpemUoZW50cmllcyksXG4gIH0pO1xuXG4gIC8qKlxuICAgKiBTaXplIHZhcmlhbnQsIGVpdGhlciBzLCBsIG9yIHhsLlxuICAgKiBAZGVmYXVsdCAnbCcgLyAncycgKGxlYW4pXG4gICAqL1xuICBAcHJvcGVydHkoKVxuICBwdWJsaWMgc2V0IHNpemUodmFsdWU6IEludGVyZmFjZVNiYlRhYkdyb3VwVGFiWydzaXplJ10pIHtcbiAgICB0aGlzLl9zaXplID0gdmFsdWU7XG4gICAgdGhpcy5fdXBkYXRlU2l6ZSgpO1xuICB9XG4gIHB1YmxpYyBnZXQgc2l6ZSgpOiBJbnRlcmZhY2VTYmJUYWJHcm91cFRhYlsnc2l6ZSddIHtcbiAgICByZXR1cm4gdGhpcy5fc2l6ZTtcbiAgfVxuICBwcml2YXRlIF9zaXplOiBJbnRlcmZhY2VTYmJUYWJHcm91cFRhYlsnc2l6ZSddID0gaXNMZWFuKCkgPyAncycgOiAnbCc7XG5cbiAgLyoqXG4gICAqIFNldHMgdGhlIGluaXRpYWwgdGFiLiBJZiBpdCBtYXRjaGVzIGEgZGlzYWJsZWQgdGFiIG9yIGV4Y2VlZHMgdGhlIGxlbmd0aCBvZlxuICAgKiB0aGUgdGFiIGdyb3VwLCB0aGUgZmlyc3QgZW5hYmxlZCB0YWIgd2lsbCBiZSBzZWxlY3RlZC5cbiAgICovXG4gIEBmb3JjZVR5cGUoKVxuICBAcHJvcGVydHkoeyBhdHRyaWJ1dGU6ICdpbml0aWFsLXNlbGVjdGVkLWluZGV4JywgdHlwZTogTnVtYmVyIH0pXG4gIHB1YmxpYyBhY2Nlc3NvciBpbml0aWFsU2VsZWN0ZWRJbmRleDogbnVtYmVyID0gMDtcblxuICBwdWJsaWMgY29uc3RydWN0b3IoKSB7XG4gICAgc3VwZXIoKTtcbiAgICB0aGlzLmFkZEV2ZW50TGlzdGVuZXI/Ligna2V5ZG93bicsIChlKSA9PiB0aGlzLl9oYW5kbGVLZXlEb3duKGUpKTtcbiAgfVxuXG4gIHByb3RlY3RlZCBvdmVycmlkZSBmaXJzdFVwZGF0ZWQoY2hhbmdlZFByb3BlcnRpZXM6IFByb3BlcnR5VmFsdWVzPHRoaXM+KTogdm9pZCB7XG4gICAgc3VwZXIuZmlyc3RVcGRhdGVkKGNoYW5nZWRQcm9wZXJ0aWVzKTtcblxuICAgIHRoaXMuX3RhYnMgPSB0aGlzLl9nZXRUYWJzKCk7XG4gICAgdGhpcy5fdGFicy5mb3JFYWNoKCh0YWIpID0+IHRoaXMuX2NvbmZpZ3VyZSh0YWIpKTtcbiAgICB0aGlzLl9pbml0U2VsZWN0aW9uKCk7XG4gICAgdGhpcy5fdGFiR3JvdXBSZXNpemVPYnNlcnZlci5vYnNlcnZlKHRoaXMuX3RhYkdyb3VwRWxlbWVudCk7XG4gIH1cblxuICAvKipcbiAgICogRGlzYWJsZXMgYSB0YWIgYnkgaW5kZXguXG4gICAqIEBwYXJhbSB0YWJJbmRleCBUaGUgaW5kZXggb2YgdGhlIHRhYiB5b3Ugd2FudCB0byBkaXNhYmxlLlxuICAgKi9cbiAgcHVibGljIGRpc2FibGVUYWIodGFiSW5kZXg6IG51bWJlcik6IHZvaWQge1xuICAgIHRoaXMuX3RhYnNbdGFiSW5kZXhdPy50YWJHcm91cEFjdGlvbnM/LmRpc2FibGUoKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBFbmFibGVzIGEgdGFiIGJ5IGluZGV4LlxuICAgKiBAcGFyYW0gdGFiSW5kZXggVGhlIGluZGV4IG9mIHRoZSB0YWIgeW91IHdhbnQgdG8gZW5hYmxlLlxuICAgKi9cbiAgcHVibGljIGVuYWJsZVRhYih0YWJJbmRleDogbnVtYmVyKTogdm9pZCB7XG4gICAgdGhpcy5fdGFic1t0YWJJbmRleF0/LnRhYkdyb3VwQWN0aW9ucz8uZW5hYmxlKCk7XG4gIH1cblxuICAvKipcbiAgICogQWN0aXZhdGVzIGEgdGFiIGJ5IGluZGV4LlxuICAgKiBAcGFyYW0gdGFiSW5kZXggVGhlIGluZGV4IG9mIHRoZSB0YWIgeW91IHdhbnQgdG8gYWN0aXZhdGUuXG4gICAqL1xuICBwdWJsaWMgYWN0aXZhdGVUYWIodGFiSW5kZXg6IG51bWJlcik6IHZvaWQge1xuICAgIHRoaXMuX3RhYnNbdGFiSW5kZXhdPy50YWJHcm91cEFjdGlvbnM/LnNlbGVjdCgpO1xuICB9XG5cbiAgcHJpdmF0ZSBfZ2V0VGFicygpOiBJbnRlcmZhY2VTYmJUYWJHcm91cFRhYltdIHtcbiAgICByZXR1cm4gQXJyYXkuZnJvbSh0aGlzLmNoaWxkcmVuID8/IFtdKS5maWx0ZXIoKGNoaWxkKSA9PlxuICAgICAgL15zYmItdGFiLWxhYmVsJC91LnRlc3QoY2hpbGQubG9jYWxOYW1lKSxcbiAgICApIGFzIEludGVyZmFjZVNiYlRhYkdyb3VwVGFiW107XG4gIH1cblxuICBwcml2YXRlIF9lbmFibGVkVGFicygpOiBJbnRlcmZhY2VTYmJUYWJHcm91cFRhYltdIHtcbiAgICByZXR1cm4gdGhpcy5fdGFicy5maWx0ZXIoKHQpID0+ICF0Lmhhc0F0dHJpYnV0ZSgnZGlzYWJsZWQnKSk7XG4gIH1cblxuICBwcml2YXRlIF91cGRhdGVTaXplKCk6IHZvaWQge1xuICAgIGZvciAoY29uc3QgdGFiIG9mIHRoaXMuX3RhYnMpIHtcbiAgICAgIHRhYi5zZXRBdHRyaWJ1dGUoJ2RhdGEtc2l6ZScsIHRoaXMuc2l6ZSk7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBfb25Db250ZW50U2xvdENoYW5nZSA9ICgpOiB2b2lkID0+IHtcbiAgICB0aGlzLl90YWJDb250ZW50RWxlbWVudCA9IHRoaXMuc2hhZG93Um9vdCEucXVlcnlTZWxlY3RvcignZGl2LnRhYi1jb250ZW50JykhO1xuICAgIGNvbnN0IGxvYWRlZFRhYnMgPSB0aGlzLl9nZXRUYWJzKCkuZmlsdGVyKCh0YWIpID0+ICF0aGlzLl90YWJzLmluY2x1ZGVzKHRhYikpO1xuXG4gICAgLy8gaWYgYSBuZXcgdGFiL2NvbnRlbnQgaXMgYWRkZWQgdG8gdGhlIHRhYiBncm91cFxuICAgIGlmIChsb2FkZWRUYWJzLmxlbmd0aCkge1xuICAgICAgbG9hZGVkVGFicy5mb3JFYWNoKCh0YWIpID0+IHRoaXMuX2NvbmZpZ3VyZSh0YWIpKTtcbiAgICAgIHRoaXMuX3RhYnMgPSB0aGlzLl90YWJzLmNvbmNhdChsb2FkZWRUYWJzKTtcblxuICAgICAgLy8gSWYgdGhlcmUgaXMgYW4gYWN0aXZlIHRhYiBpbiB0aGUgbmV3IGJhdGNoLCBpdCBiZWNvbWVzIHRoZSBuZXcgc2VsZWN0ZWRcbiAgICAgIGxvYWRlZFRhYnMuZmluZCgodGFiKSA9PiB0YWIuYWN0aXZlKT8udGFiR3JvdXBBY3Rpb25zPy5zZWxlY3QoKTtcbiAgICB9XG4gIH07XG5cbiAgcHJpdmF0ZSBfb25UYWJzU2xvdENoYW5nZSA9ICgpOiB2b2lkID0+IHtcbiAgICBjb25zdCB0YWJzID0gdGhpcy5fZ2V0VGFicygpO1xuXG4gICAgLy8gaWYgYSB0YWIgaXMgcmVtb3ZlZCBmcm9tIHRoZSB0YWIgZ3JvdXBcbiAgICBpZiAodGFicy5sZW5ndGggPCB0aGlzLl90YWJzLmxlbmd0aCkge1xuICAgICAgY29uc3QgcmVtb3ZlZFRhYnMgPSB0aGlzLl90YWJzLmZpbHRlcigodGFiKSA9PiAhdGFicy5pbmNsdWRlcyh0YWIpKTtcblxuICAgICAgcmVtb3ZlZFRhYnMuZm9yRWFjaCgocmVtb3ZlZFRhYikgPT4ge1xuICAgICAgICByZW1vdmVkVGFiLnRhYj8ucmVtb3ZlKCk7XG4gICAgICB9KTtcbiAgICAgIHRoaXMuX3RhYnMgPSB0YWJzO1xuICAgIH1cbiAgICB0aGlzLl90YWJzLmZvckVhY2goKHRhYjogSW50ZXJmYWNlU2JiVGFiR3JvdXBUYWIpID0+IHRhYi5zZXRBdHRyaWJ1dGUoJ2RhdGEtc2l6ZScsIHRoaXMuc2l6ZSkpO1xuICB9O1xuXG4gIHByaXZhdGUgX2Fzc2lnbklkKCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIGBzYmItdGFiLXBhbmVsLSR7KytuZXh0SWR9YDtcbiAgfVxuXG4gIHByaXZhdGUgX2luaXRTZWxlY3Rpb24oKTogdm9pZCB7XG4gICAgaWYgKFxuICAgICAgdGhpcy5pbml0aWFsU2VsZWN0ZWRJbmRleCA+PSAwICYmXG4gICAgICB0aGlzLmluaXRpYWxTZWxlY3RlZEluZGV4IDwgdGhpcy5fdGFicy5sZW5ndGggJiZcbiAgICAgICF0aGlzLl90YWJzW3RoaXMuaW5pdGlhbFNlbGVjdGVkSW5kZXhdLmRpc2FibGVkXG4gICAgKSB7XG4gICAgICB0aGlzLl90YWJzW3RoaXMuaW5pdGlhbFNlbGVjdGVkSW5kZXhdLnRhYkdyb3VwQWN0aW9ucz8uc2VsZWN0KCk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMuX2VuYWJsZWRUYWJzKClbMF0/LnRhYkdyb3VwQWN0aW9ucz8uc2VsZWN0KCk7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBfb25UYWJBdHRyaWJ1dGVzQ2hhbmdlKG11dGF0aW9uc0xpc3Q6IE11dGF0aW9uUmVjb3JkW10pOiB2b2lkIHtcbiAgICBmb3IgKGNvbnN0IG11dGF0aW9uIG9mIG11dGF0aW9uc0xpc3QpIHtcbiAgICAgIGlmIChtdXRhdGlvbi50eXBlICE9PSAnYXR0cmlidXRlcycpIHtcbiAgICAgICAgcmV0dXJuO1xuICAgICAgfVxuICAgICAgY29uc3QgdGFiID0gbXV0YXRpb24udGFyZ2V0IGFzIEludGVyZmFjZVNiYlRhYkdyb3VwVGFiO1xuXG4gICAgICBpZiAobXV0YXRpb24uYXR0cmlidXRlTmFtZSA9PT0gJ2Rpc2FibGVkJykge1xuICAgICAgICBpZiAodGFiLmhhc0F0dHJpYnV0ZSgnZGlzYWJsZWQnKSAmJiB0YWIgIT09IHRoaXMuX3NlbGVjdGVkVGFiKSB7XG4gICAgICAgICAgdGFiLnRhYkdyb3VwQWN0aW9ucz8uZGlzYWJsZSgpO1xuICAgICAgICB9IGVsc2UgaWYgKHRhYi5kaXNhYmxlZCkge1xuICAgICAgICAgIHRhYi50YWJHcm91cEFjdGlvbnM/LmVuYWJsZSgpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgICBpZiAobXV0YXRpb24uYXR0cmlidXRlTmFtZSA9PT0gJ2FjdGl2ZScpIHtcbiAgICAgICAgaWYgKHRhYi5oYXNBdHRyaWJ1dGUoJ2FjdGl2ZScpICYmICF0YWIuZGlzYWJsZWQpIHtcbiAgICAgICAgICB0YWIudGFiR3JvdXBBY3Rpb25zPy5zZWxlY3QoKTtcbiAgICAgICAgfSBlbHNlIGlmICh0YWIgPT09IHRoaXMuX3NlbGVjdGVkVGFiKSB7XG4gICAgICAgICAgdGFiLnRvZ2dsZUF0dHJpYnV0ZSgnYWN0aXZlJywgdHJ1ZSk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBwcml2YXRlIF9vblRhYkdyb3VwRWxlbWVudFJlc2l6ZShlbnRyaWVzOiBSZXNpemVPYnNlcnZlckVudHJ5W10pOiB2b2lkIHtcbiAgICBmb3IgKGNvbnN0IGVudHJ5IG9mIGVudHJpZXMpIHtcbiAgICAgIGNvbnN0IHRhYlRpdGxlcyA9IChcbiAgICAgICAgZW50cnkudGFyZ2V0LmZpcnN0RWxlbWVudENoaWxkIGFzIEhUTUxTbG90RWxlbWVudFxuICAgICAgKS5hc3NpZ25lZEVsZW1lbnRzKCkgYXMgU2JiVGFiTGFiZWxFbGVtZW50W107XG5cbiAgICAgIGZvciAoY29uc3QgdGFiIG9mIHRhYlRpdGxlcykge1xuICAgICAgICB0YWIudG9nZ2xlQXR0cmlidXRlKFxuICAgICAgICAgICdkYXRhLWhhcy1kaXZpZGVyJyxcbiAgICAgICAgICB0YWIgPT09IHRhYlRpdGxlc1swXSB8fCB0YWIub2Zmc2V0TGVmdCA9PT0gdGFiVGl0bGVzWzBdLm9mZnNldExlZnQsXG4gICAgICAgICk7XG4gICAgICAgIHRoaXMuc3R5bGUuc2V0UHJvcGVydHkoJy0tc2JiLXRhYi1ncm91cC13aWR0aCcsIGAke3RoaXMuX3RhYkdyb3VwRWxlbWVudC5jbGllbnRXaWR0aH1weGApO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgX29uVGFiQ29udGVudEVsZW1lbnRSZXNpemUoZW50cmllczogUmVzaXplT2JzZXJ2ZXJFbnRyeVtdKTogdm9pZCB7XG4gICAgaWYgKCF0aGlzLl90YWJDb250ZW50RWxlbWVudCkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICBmb3IgKGNvbnN0IGVudHJ5IG9mIGVudHJpZXMpIHtcbiAgICAgIGNvbnN0IGNvbnRlbnRIZWlnaHQgPSBNYXRoLmZsb29yKGVudHJ5LmNvbnRlbnRSZWN0LmhlaWdodCk7XG5cbiAgICAgIHRoaXMuX3RhYkNvbnRlbnRFbGVtZW50LnN0eWxlLmhlaWdodCA9IGAke2NvbnRlbnRIZWlnaHR9cHhgO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgX2NvbmZpZ3VyZSh0YWJMYWJlbDogSW50ZXJmYWNlU2JiVGFiR3JvdXBUYWIpOiB2b2lkIHtcbiAgICB0YWJMYWJlbC50YWJHcm91cEFjdGlvbnMgPSB7XG4gICAgICBhY3RpdmF0ZTogKCk6IHZvaWQgPT4ge1xuICAgICAgICB0YWJMYWJlbC50b2dnbGVBdHRyaWJ1dGUoJ2FjdGl2ZScsIHRydWUpO1xuICAgICAgICB0YWJMYWJlbC5hY3RpdmUgPSB0cnVlO1xuICAgICAgICB0YWJMYWJlbC50YWJJbmRleCA9IDA7XG4gICAgICAgIHRhYkxhYmVsLnNldEF0dHJpYnV0ZSgnYXJpYS1zZWxlY3RlZCcsICd0cnVlJyk7XG4gICAgICAgIHRhYkxhYmVsLnRhYj8udG9nZ2xlQXR0cmlidXRlKCdhY3RpdmUnLCB0cnVlKTtcbiAgICAgIH0sXG4gICAgICBkZWFjdGl2YXRlOiAoKTogdm9pZCA9PiB7XG4gICAgICAgIHRhYkxhYmVsLnJlbW92ZUF0dHJpYnV0ZSgnYWN0aXZlJyk7XG4gICAgICAgIHRhYkxhYmVsLmFjdGl2ZSA9IGZhbHNlO1xuICAgICAgICB0YWJMYWJlbC50YWJJbmRleCA9IC0xO1xuICAgICAgICB0YWJMYWJlbC5zZXRBdHRyaWJ1dGUoJ2FyaWEtc2VsZWN0ZWQnLCAnZmFsc2UnKTtcbiAgICAgICAgdGFiTGFiZWwudGFiPy5yZW1vdmVBdHRyaWJ1dGUoJ2FjdGl2ZScpO1xuICAgICAgfSxcbiAgICAgIGRpc2FibGU6ICgpOiB2b2lkID0+IHtcbiAgICAgICAgaWYgKHRhYkxhYmVsLmRpc2FibGVkKSB7XG4gICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG4gICAgICAgIGlmICghdGFiTGFiZWwuaGFzQXR0cmlidXRlKCdkaXNhYmxlZCcpKSB7XG4gICAgICAgICAgdGFiTGFiZWwudG9nZ2xlQXR0cmlidXRlKCdkaXNhYmxlZCcsIHRydWUpO1xuICAgICAgICB9XG4gICAgICAgIHRhYkxhYmVsLmRpc2FibGVkID0gdHJ1ZTtcbiAgICAgICAgdGFiTGFiZWwudGFiSW5kZXggPSAtMTtcbiAgICAgICAgdGFiTGFiZWwuc2V0QXR0cmlidXRlKCdhcmlhLXNlbGVjdGVkJywgJ2ZhbHNlJyk7XG4gICAgICAgIHRhYkxhYmVsLnRhYj8ucmVtb3ZlQXR0cmlidXRlKCdhY3RpdmUnKTtcbiAgICAgICAgaWYgKHRhYkxhYmVsLmFjdGl2ZSkge1xuICAgICAgICAgIHRhYkxhYmVsLnJlbW92ZUF0dHJpYnV0ZSgnYWN0aXZlJyk7XG4gICAgICAgICAgdGFiTGFiZWwuYWN0aXZlID0gZmFsc2U7XG4gICAgICAgICAgdGhpcy5fZW5hYmxlZFRhYnMoKVswXT8udGFiR3JvdXBBY3Rpb25zPy5zZWxlY3QoKTtcbiAgICAgICAgfVxuICAgICAgfSxcbiAgICAgIGVuYWJsZTogKCk6IHZvaWQgPT4ge1xuICAgICAgICBpZiAodGFiTGFiZWwuZGlzYWJsZWQpIHtcbiAgICAgICAgICB0YWJMYWJlbC5yZW1vdmVBdHRyaWJ1dGUoJ2Rpc2FibGVkJyk7XG4gICAgICAgICAgdGFiTGFiZWwuZGlzYWJsZWQgPSBmYWxzZTtcbiAgICAgICAgfVxuICAgICAgfSxcbiAgICAgIHNlbGVjdDogKCk6IHZvaWQgPT4ge1xuICAgICAgICBpZiAodGFiTGFiZWwgIT09IHRoaXMuX3NlbGVjdGVkVGFiICYmICF0YWJMYWJlbC5kaXNhYmxlZCkge1xuICAgICAgICAgIGNvbnN0IHByZXZUYWIgPSB0aGlzLl9zZWxlY3RlZFRhYjtcblxuICAgICAgICAgIGlmIChwcmV2VGFiKSB7XG4gICAgICAgICAgICBwcmV2VGFiLnRhYkdyb3VwQWN0aW9ucz8uZGVhY3RpdmF0ZSgpO1xuICAgICAgICAgICAgdGhpcy5fdGFiQ29udGVudFJlc2l6ZU9ic2VydmVyLnVub2JzZXJ2ZShwcmV2VGFiLnRhYiEpO1xuICAgICAgICAgIH1cblxuICAgICAgICAgIHRhYkxhYmVsLnRhYkdyb3VwQWN0aW9ucz8uYWN0aXZhdGUoKTtcbiAgICAgICAgICB0aGlzLl9zZWxlY3RlZFRhYiA9IHRhYkxhYmVsO1xuXG4gICAgICAgICAgdGhpcy5fdGFiQ29udGVudFJlc2l6ZU9ic2VydmVyLm9ic2VydmUodGFiTGFiZWwudGFiISk7XG4gICAgICAgICAgY29uc3QgdGFicyA9IHRoaXMuX3RhYnM7XG5cbiAgICAgICAgICAvKipcbiAgICAgICAgICAgKiBAdHlwZSB7Q3VzdG9tRXZlbnQ8U2JiVGFiQ2hhbmdlZEV2ZW50RGV0YWlscz59XG4gICAgICAgICAgICogVGhlIHRhYmNoYW5nZSBldmVudCBpcyBkaXNwYXRjaGVkIHdoZW4gYSB0YWIgaXMgc2VsZWN0ZWQuXG4gICAgICAgICAgICovXG4gICAgICAgICAgdGhpcy5kaXNwYXRjaEV2ZW50KFxuICAgICAgICAgICAgbmV3IEN1c3RvbUV2ZW50PFNiYlRhYkNoYW5nZWRFdmVudERldGFpbHM+KCd0YWJjaGFuZ2UnLCB7XG4gICAgICAgICAgICAgIGJ1YmJsZXM6IHRydWUsXG4gICAgICAgICAgICAgIGNvbXBvc2VkOiB0cnVlLFxuICAgICAgICAgICAgICBkZXRhaWw6IHtcbiAgICAgICAgICAgICAgICBhY3RpdmVJbmRleDogdGFicy5maW5kSW5kZXgoKGUpID0+IGUgPT09IHRhYkxhYmVsKSxcbiAgICAgICAgICAgICAgICBhY3RpdmVUYWJMYWJlbDogdGFiTGFiZWwsXG4gICAgICAgICAgICAgICAgYWN0aXZlVGFiOiB0YWJMYWJlbC50YWIgYXMgU2JiVGFiRWxlbWVudCxcbiAgICAgICAgICAgICAgICBwcmV2aW91c0luZGV4OiB0YWJzLmZpbmRJbmRleCgoZSkgPT4gZSA9PT0gcHJldlRhYiksXG4gICAgICAgICAgICAgICAgcHJldmlvdXNUYWJMYWJlbDogcHJldlRhYixcbiAgICAgICAgICAgICAgICBwcmV2aW91c1RhYjogcHJldlRhYj8udGFiIGFzIFNiYlRhYkVsZW1lbnQsXG4gICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICB9KSxcbiAgICAgICAgICApO1xuICAgICAgICB9IGVsc2UgaWYgKGltcG9ydC5tZXRhLmVudi5ERVYgJiYgdGFiTGFiZWwuZGlzYWJsZWQpIHtcbiAgICAgICAgICBjb25zb2xlLndhcm4oJ1lvdSBjYW5ub3QgYWN0aXZhdGUgYSBkaXNhYmxlZCB0YWInKTtcbiAgICAgICAgfVxuICAgICAgfSxcbiAgICB9O1xuXG4gICAgaWYgKHRhYkxhYmVsLm5leHRFbGVtZW50U2libGluZz8ubG9jYWxOYW1lID09PSAnc2JiLXRhYicpIHtcbiAgICAgIHRhYkxhYmVsLnRhYiA9IHRhYkxhYmVsLm5leHRFbGVtZW50U2libGluZyBhcyBTYmJUYWJFbGVtZW50O1xuICAgICAgdGFiTGFiZWwudGFiLmlkID0gdGhpcy5fYXNzaWduSWQoKTtcbiAgICAgIGlmICh0YWJMYWJlbC50YWIgaW5zdGFuY2VvZiBTYmJUYWJFbGVtZW50KSB7XG4gICAgICAgIHRhYkxhYmVsLnRhYi50YWJJbmRleCA9IDA7XG4gICAgICAgIHRhYkxhYmVsLnRhYi5jb25maWd1cmUoKTtcbiAgICAgIH1cbiAgICB9IGVsc2UgaWYgKGltcG9ydC5tZXRhLmVudi5ERVYpIHtcbiAgICAgIHRhYkxhYmVsLmluc2VydEFkamFjZW50SFRNTCgnYWZ0ZXJlbmQnLCAnPHNiYi10YWI+Tm8gY29udGVudC48L3NiYi10YWI+Jyk7XG4gICAgICB0YWJMYWJlbC50YWIgPSB0YWJMYWJlbC5uZXh0RWxlbWVudFNpYmxpbmcgYXMgU2JiVGFiRWxlbWVudDtcbiAgICAgIGNvbnNvbGUud2FybihcbiAgICAgICAgYE1pc3NpbmcgY29udGVudDogeW91IHNob3VsZCBwcm92aWRlIGEgcmVsYXRlZCBjb250ZW50IGZvciB0aGUgdGFiICR7dGFiTGFiZWwub3V0ZXJIVE1MfS5gLFxuICAgICAgKTtcbiAgICB9XG4gICAgdGFiTGFiZWwudGFiSW5kZXggPSAtMTtcbiAgICB0YWJMYWJlbC5kaXNhYmxlZCA9IHRhYkxhYmVsLmhhc0F0dHJpYnV0ZSgnZGlzYWJsZWQnKTtcbiAgICB0YWJMYWJlbC5hY3RpdmUgPSB0YWJMYWJlbC5oYXNBdHRyaWJ1dGUoJ2FjdGl2ZScpICYmICF0YWJMYWJlbC5kaXNhYmxlZDtcbiAgICB0YWJMYWJlbC5zZXRBdHRyaWJ1dGUoJ2FyaWEtc2VsZWN0ZWQnLCBTdHJpbmcodGFiTGFiZWwuYWN0aXZlKSk7XG4gICAgdGFiTGFiZWwuYWRkRXZlbnRMaXN0ZW5lcignY2xpY2snLCAoKSA9PiB7XG4gICAgICB0YWJMYWJlbC50YWJHcm91cEFjdGlvbnM/LnNlbGVjdCgpO1xuICAgIH0pO1xuICAgIGlmICh0YWJMYWJlbC50YWIpIHtcbiAgICAgIHRhYkxhYmVsLnNldEF0dHJpYnV0ZSgnYXJpYS1jb250cm9scycsIHRhYkxhYmVsLnRhYi5pZCk7XG4gICAgICB0YWJMYWJlbC50YWIudG9nZ2xlQXR0cmlidXRlKCdhY3RpdmUnLCB0YWJMYWJlbC5hY3RpdmUpO1xuICAgIH1cblxuICAgIHRoaXMuX3RhYkF0dHJpYnV0ZU9ic2VydmVyLm9ic2VydmUodGFiTGFiZWwpO1xuICAgIHRhYkxhYmVsLnNsb3QgPSAndGFiLWJhcic7XG4gIH1cblxuICBwcml2YXRlIF9oYW5kbGVLZXlEb3duKGV2dDogS2V5Ym9hcmRFdmVudCk6IHZvaWQge1xuICAgIGNvbnN0IGVuYWJsZWRUYWJzOiBJbnRlcmZhY2VTYmJUYWJHcm91cFRhYltdID0gdGhpcy5fZW5hYmxlZFRhYnMoKTtcblxuICAgIGlmIChcbiAgICAgICFlbmFibGVkVGFicyB8fFxuICAgICAgLy8gZG9uJ3QgdHJhcCBuZXN0ZWQgaGFuZGxpbmdcbiAgICAgICgoZXZ0LnRhcmdldCBhcyBIVE1MRWxlbWVudCkgIT09IHRoaXMgJiYgKGV2dC50YXJnZXQgYXMgSFRNTEVsZW1lbnQpLnBhcmVudEVsZW1lbnQgIT09IHRoaXMpXG4gICAgKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgaWYgKGlzQXJyb3dLZXlQcmVzc2VkKGV2dCkpIHtcbiAgICAgIGNvbnN0IGN1cnJlbnQ6IG51bWJlciA9IGVuYWJsZWRUYWJzLmZpbmRJbmRleCgodDogSW50ZXJmYWNlU2JiVGFiR3JvdXBUYWIpID0+IHQuYWN0aXZlKTtcbiAgICAgIGNvbnN0IG5leHRJbmRleDogbnVtYmVyID0gZ2V0TmV4dEVsZW1lbnRJbmRleChldnQsIGN1cnJlbnQsIGVuYWJsZWRUYWJzLmxlbmd0aCk7XG4gICAgICBlbmFibGVkVGFic1tuZXh0SW5kZXhdPy50YWJHcm91cEFjdGlvbnM/LnNlbGVjdCgpO1xuICAgICAgZW5hYmxlZFRhYnNbbmV4dEluZGV4XT8uZm9jdXMoKTtcbiAgICAgIGV2dC5wcmV2ZW50RGVmYXVsdCgpO1xuICAgIH1cbiAgfVxuXG4gIHByb3RlY3RlZCBvdmVycmlkZSByZW5kZXIoKTogVGVtcGxhdGVSZXN1bHQge1xuICAgIHJldHVybiBodG1sYFxuICAgICAgPGRpdlxuICAgICAgICBjbGFzcz1cInRhYi1ncm91cFwiXG4gICAgICAgIHJvbGU9XCJ0YWJsaXN0XCJcbiAgICAgICAgJHtyZWYoKGVsPzogRWxlbWVudCkgPT4gKHRoaXMuX3RhYkdyb3VwRWxlbWVudCA9IGVsIGFzIEhUTUxFbGVtZW50KSl9XG4gICAgICA+XG4gICAgICAgIDxzbG90IG5hbWU9XCJ0YWItYmFyXCIgQHNsb3RjaGFuZ2U9JHt0aGlzLl9vblRhYnNTbG90Q2hhbmdlfT48L3Nsb3Q+XG4gICAgICA8L2Rpdj5cblxuICAgICAgPGRpdiBjbGFzcz1cInRhYi1jb250ZW50XCI+XG4gICAgICAgIDxzbG90IEBzbG90Y2hhbmdlPSR7dGhyb3R0bGUodGhpcy5fb25Db250ZW50U2xvdENoYW5nZSwgMTUwKX0+PC9zbG90PlxuICAgICAgPC9kaXY+XG4gICAgYDtcbiAgfVxufVxuXG5kZWNsYXJlIGdsb2JhbCB7XG4gIGludGVyZmFjZSBIVE1MRWxlbWVudFRhZ05hbWVNYXAge1xuICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbmFtaW5nLWNvbnZlbnRpb25cbiAgICAnc2JiLXRhYi1ncm91cCc6IFNiYlRhYkdyb3VwRWxlbWVudDtcbiAgfVxufVxuIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQTJDQSxNQUFNLG9CQUEwQztBQUFBLEVBQzlDLGlCQUFpQixDQUFDLFVBQVUsVUFBVTs7QUFHeEMsSUFBSSxTQUFTO0lBVVAsc0JBQWtCLE1BQUE7OzBCQUR2QixjQUFjLGVBQWUsQ0FBQzs7OztvQkFDRSxrQkFBa0IsVUFBVTs7Ozs7O0FBQXBDLEVBQUEsbUJBQVEsWUFBNkI7QUFBQSxJQWdENUQsY0FBQTtBQUNFLFlBQUE7QUFIRjtBQXhDUSxXQUFBLFNBTkosa0JBQUEsTUFBQSwwQkFBQSxHQU11QyxDQUFBO0FBSW5DLFdBQUEsd0JBQXdCLElBQUksbUJBQW1CLE1BQU07QUFBQSxRQUMzRCxRQUFRO0FBQUEsUUFDUixRQUFRO0FBQUEsUUFDUixVQUFVLENBQUMsa0JBQWtCLEtBQUssdUJBQXVCLGFBQWE7QUFBQSxNQUFBLENBQ3ZFO0FBQ08sV0FBQSwwQkFBMEIsSUFBSSxpQkFBaUIsTUFBTTtBQUFBLFFBQzNELFFBQVE7QUFBQSxRQUNSLGFBQWE7QUFBQSxRQUNiLFVBQVUsQ0FBQyxZQUFZLEtBQUsseUJBQXlCLE9BQU87QUFBQSxNQUFBLENBQzdEO0FBQ08sV0FBQSw0QkFBNEIsSUFBSSxpQkFBaUIsTUFBTTtBQUFBLFFBQzdELFFBQVE7QUFBQSxRQUNSLGFBQWE7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
|
|
@@ -9,9 +9,6 @@ declare const SbbTagElement_base: import('../../core/mixins.js').AbstractConstru
|
|
|
9
9
|
* @slot - Use the unnamed slot to add content to the tag label.
|
|
10
10
|
* @slot icon - Use this slot to display an icon at the component start, by providing a `sbb-icon` component.
|
|
11
11
|
* @slot amount - Provide an amount to show it at the component end.
|
|
12
|
-
* @event {CustomEvent<void>} input - Input event emitter
|
|
13
|
-
* @event {CustomEvent<void>} didChange - Deprecated. used for React. Will probably be removed once React 19 is available.
|
|
14
|
-
* @event {CustomEvent<void>} change - Change event emitter
|
|
15
12
|
* @overrideType value - (T = string) | null
|
|
16
13
|
*/
|
|
17
14
|
export declare class SbbTagElement<T = string> extends SbbTagElement_base {
|
|
@@ -34,12 +31,6 @@ export declare class SbbTagElement<T = string> extends SbbTagElement_base {
|
|
|
34
31
|
accessor size: SbbTagSize;
|
|
35
32
|
/** Reference to the connected tag group. */
|
|
36
33
|
private _group;
|
|
37
|
-
/** Input event emitter */
|
|
38
|
-
private _input;
|
|
39
|
-
/** @deprecated only used for React. Will probably be removed once React 19 is available. */
|
|
40
|
-
private _didChange;
|
|
41
|
-
/** Change event emitter */
|
|
42
|
-
private _change;
|
|
43
34
|
constructor();
|
|
44
35
|
connectedCallback(): void;
|
|
45
36
|
protected isDisabledExternally(): boolean;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tag.component.d.ts","sourceRoot":"","sources":["../../../../../src/elements/tag/tag/tag.component.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,cAAc,EAAE,cAAc,EAAE,MAAM,KAAK,CAAC;AAI1E,OAAO,EAAE,wBAAwB,EAAE,MAAM,6BAA6B,CAAC;
|
|
1
|
+
{"version":3,"file":"tag.component.d.ts","sourceRoot":"","sources":["../../../../../src/elements/tag/tag/tag.component.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,cAAc,EAAE,cAAc,EAAE,MAAM,KAAK,CAAC;AAI1E,OAAO,EAAE,wBAAwB,EAAE,MAAM,6BAA6B,CAAC;AAGvE,OAAO,EACL,KAAK,iBAAiB,EACtB,KAAK,gBAAgB,EAEtB,MAAM,sBAAsB,CAAC;AAM9B,MAAM,MAAM,UAAU,GAAG,GAAG,GAAG,GAAG,CAAC;;AAEnC;;;;;;;GAOG;AACH,qBAGM,aAAa,CAAC,CAAC,GAAG,MAAM,CAAE,SAAQ,kBAEvC;IACC,OAAuB,MAAM,EAAE,cAAc,CAAS;IACtD,gBAAuB,MAAM;;;;MAIlB;IAEX,iCAAiC;IACjC,SACgB,KAAK,EAAE,CAAC,GAAG,IAAI,CAAQ;IAEvC,uCAAuC;IACvC,SAEgB,MAAM,EAAE,MAAM,CAAM;IAEpC,kCAAkC;IAClC,SAEgB,OAAO,EAAE,OAAO,CAAS;IAEzC;;;OAGG;IACH,SAEgB,IAAI,EAAE,UAAU,CAAwB;IAExD,4CAA4C;IAC5C,OAAO,CAAC,MAAM,CAAmC;;IAOjC,iBAAiB,IAAI,IAAI;cAKtB,oBAAoB,IAAI,OAAO;IAIlD,oFAAoF;IACpF,OAAO,CAAC,YAAY;cAkCD,UAAU,CAAC,iBAAiB,EAAE,cAAc,CAAC,IAAI,CAAC,GAAG,IAAI;IAe5E;;OAEG;IACa,iBAAiB,IAAI,IAAI;IAIzC;;OAEG;IACa,wBAAwB,CACtC,KAAK,EAAE,gBAAgB,GAAG,IAAI,EAC9B,OAAO,EAAE,iBAAiB,GACzB,IAAI;cAMY,eAAe,IAAI,IAAI;cAQvB,SAAS,IAAI,gBAAgB;cAI7B,cAAc,IAAI,cAAc;CAWpD;AAED,OAAO,CAAC,MAAM,CAAC;IACb,UAAU,qBAAqB;QAE7B,SAAS,EAAE,aAAa,CAAC;KAC1B;CACF"}
|
|
@@ -11,7 +11,6 @@ import { customElement, property } from "lit/decorators.js";
|
|
|
11
11
|
import { SbbButtonLikeBaseElement } from "../../core/base-elements.js";
|
|
12
12
|
import { slotState, forceType, omitEmptyConverter, getOverride } from "../../core/decorators.js";
|
|
13
13
|
import { isLean } from "../../core/dom.js";
|
|
14
|
-
import { EventEmitter } from "../../core/eventing.js";
|
|
15
14
|
import { SbbDisabledTabIndexActionMixin } from "../../core/mixins.js";
|
|
16
15
|
import { SbbIconNameMixin } from "../../icon.js";
|
|
17
16
|
const style = css`*,
|
|
@@ -207,7 +206,7 @@ let SbbTagElement = (() => {
|
|
|
207
206
|
let _size_decorators;
|
|
208
207
|
let _size_initializers = [];
|
|
209
208
|
let _size_extraInitializers = [];
|
|
210
|
-
|
|
209
|
+
_a = class extends _classSuper {
|
|
211
210
|
constructor() {
|
|
212
211
|
super();
|
|
213
212
|
__privateAdd(this, _value_accessor_storage);
|
|
@@ -219,16 +218,6 @@ let SbbTagElement = (() => {
|
|
|
219
218
|
__privateSet(this, _checked_accessor_storage, (__runInitializers(this, _amount_extraInitializers), __runInitializers(this, _checked_initializers, false)));
|
|
220
219
|
__privateSet(this, _size_accessor_storage, (__runInitializers(this, _checked_extraInitializers), __runInitializers(this, _size_initializers, isLean() ? "s" : "m")));
|
|
221
220
|
this._group = (__runInitializers(this, _size_extraInitializers), null);
|
|
222
|
-
this._input = new EventEmitter(this, SbbTagElement2.events.input, {
|
|
223
|
-
bubbles: true,
|
|
224
|
-
composed: true
|
|
225
|
-
});
|
|
226
|
-
this._didChange = new EventEmitter(this, SbbTagElement2.events.didChange, {
|
|
227
|
-
bubbles: true
|
|
228
|
-
});
|
|
229
|
-
this._change = new EventEmitter(this, SbbTagElement2.events.change, {
|
|
230
|
-
bubbles: true
|
|
231
|
-
});
|
|
232
221
|
this.addEventListener?.("click", () => this._handleClick());
|
|
233
222
|
}
|
|
234
223
|
/** Value of the form element. */
|
|
@@ -279,9 +268,12 @@ let SbbTagElement = (() => {
|
|
|
279
268
|
return;
|
|
280
269
|
}
|
|
281
270
|
this.checked = !this.checked;
|
|
282
|
-
this.
|
|
283
|
-
|
|
284
|
-
|
|
271
|
+
this.dispatchEvent(new InputEvent("input", {
|
|
272
|
+
bubbles: true,
|
|
273
|
+
composed: true
|
|
274
|
+
}));
|
|
275
|
+
this.dispatchEvent(new Event("change", { bubbles: true }));
|
|
276
|
+
this.dispatchEvent(new Event("didChange", { bubbles: true }));
|
|
285
277
|
}
|
|
286
278
|
willUpdate(changedProperties) {
|
|
287
279
|
super.willUpdate(changedProperties);
|
|
@@ -349,16 +341,16 @@ let SbbTagElement = (() => {
|
|
|
349
341
|
obj.size = value;
|
|
350
342
|
} }, metadata: _metadata }, _size_initializers, _size_extraInitializers);
|
|
351
343
|
__esDecorate(null, _classDescriptor = { value: _classThis }, _classDecorators, { kind: "class", name: _classThis.name, metadata: _metadata }, null, _classExtraInitializers);
|
|
352
|
-
|
|
344
|
+
_classThis = _classDescriptor.value;
|
|
353
345
|
if (_metadata) Object.defineProperty(_classThis, Symbol.metadata, { enumerable: true, configurable: true, writable: true, value: _metadata });
|
|
354
346
|
})(), _a.styles = style, _a.events = {
|
|
355
347
|
input: "input",
|
|
356
348
|
didChange: "didChange",
|
|
357
349
|
change: "change"
|
|
358
|
-
}, __runInitializers(_classThis, _classExtraInitializers), _a
|
|
359
|
-
return
|
|
350
|
+
}, __runInitializers(_classThis, _classExtraInitializers), _a;
|
|
351
|
+
return _classThis;
|
|
360
352
|
})();
|
|
361
353
|
export {
|
|
362
354
|
SbbTagElement
|
|
363
355
|
};
|
|
364
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFnLmNvbXBvbmVudC5qcyIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vc3JjL2VsZW1lbnRzL3RhZy90YWcvdGFnLmNvbXBvbmVudC50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgdHlwZSB7IENTU1Jlc3VsdEdyb3VwLCBQcm9wZXJ0eVZhbHVlcywgVGVtcGxhdGVSZXN1bHQgfSBmcm9tICdsaXQnO1xuaW1wb3J0IHsgaHRtbCB9IGZyb20gJ2xpdCc7XG5pbXBvcnQgeyBjdXN0b21FbGVtZW50LCBwcm9wZXJ0eSB9IGZyb20gJ2xpdC9kZWNvcmF0b3JzLmpzJztcblxuaW1wb3J0IHsgU2JiQnV0dG9uTGlrZUJhc2VFbGVtZW50IH0gZnJvbSAnLi4vLi4vY29yZS9iYXNlLWVsZW1lbnRzLmpzJztcbmltcG9ydCB7IGZvcmNlVHlwZSwgZ2V0T3ZlcnJpZGUsIG9taXRFbXB0eUNvbnZlcnRlciwgc2xvdFN0YXRlIH0gZnJvbSAnLi4vLi4vY29yZS9kZWNvcmF0b3JzLmpzJztcbmltcG9ydCB7IGlzTGVhbiB9IGZyb20gJy4uLy4uL2NvcmUvZG9tLmpzJztcbmltcG9ydCB7IEV2ZW50RW1pdHRlciB9IGZyb20gJy4uLy4uL2NvcmUvZXZlbnRpbmcuanMnO1xuaW1wb3J0IHtcbiAgdHlwZSBGb3JtUmVzdG9yZVJlYXNvbixcbiAgdHlwZSBGb3JtUmVzdG9yZVN0YXRlLFxuICBTYmJEaXNhYmxlZFRhYkluZGV4QWN0aW9uTWl4aW4sXG59IGZyb20gJy4uLy4uL2NvcmUvbWl4aW5zLmpzJztcbmltcG9ydCB7IFNiYkljb25OYW1lTWl4aW4gfSBmcm9tICcuLi8uLi9pY29uLmpzJztcbmltcG9ydCB0eXBlIHsgU2JiVGFnR3JvdXBFbGVtZW50IH0gZnJvbSAnLi4vdGFnLWdyb3VwLmpzJztcblxuaW1wb3J0IHN0eWxlIGZyb20gJy4vdGFnLnNjc3M/bGl0JmlubGluZSc7XG5cbmV4cG9ydCB0eXBlIFNiYlRhZ1NpemUgPSAncycgfCAnbSc7XG5cbi8qKlxuICogSXQgZGlzcGxheXMgYSBzZWxlY3RhYmxlIGVsZW1lbnQgd2hpY2ggY2FuIGJlIHVzZWQgYXMgYSBmaWx0ZXIuXG4gKlxuICogQHNsb3QgLSBVc2UgdGhlIHVubmFtZWQgc2xvdCB0byBhZGQgY29udGVudCB0byB0aGUgdGFnIGxhYmVsLlxuICogQHNsb3QgaWNvbiAtIFVzZSB0aGlzIHNsb3QgdG8gZGlzcGxheSBhbiBpY29uIGF0IHRoZSBjb21wb25lbnQgc3RhcnQsIGJ5IHByb3ZpZGluZyBhIGBzYmItaWNvbmAgY29tcG9uZW50LlxuICogQHNsb3QgYW1vdW50IC0gUHJvdmlkZSBhbiBhbW91bnQgdG8gc2hvdyBpdCBhdCB0aGUgY29tcG9uZW50IGVuZC5cbiAqIEBldmVudCB7Q3VzdG9tRXZlbnQ8dm9pZD59IGlucHV0IC0gSW5wdXQgZXZlbnQgZW1pdHRlclxuICogQGV2ZW50IHtDdXN0b21FdmVudDx2b2lkPn0gZGlkQ2hhbmdlIC0gRGVwcmVjYXRlZC4gdXNlZCBmb3IgUmVhY3QuIFdpbGwgcHJvYmFibHkgYmUgcmVtb3ZlZCBvbmNlIFJlYWN0IDE5IGlzIGF2YWlsYWJsZS5cbiAqIEBldmVudCB7Q3VzdG9tRXZlbnQ8dm9pZD59IGNoYW5nZSAtIENoYW5nZSBldmVudCBlbWl0dGVyXG4gKiBAb3ZlcnJpZGVUeXBlIHZhbHVlIC0gKFQgPSBzdHJpbmcpIHwgbnVsbFxuICovXG5leHBvcnRcbkBjdXN0b21FbGVtZW50KCdzYmItdGFnJylcbkBzbG90U3RhdGUoKVxuY2xhc3MgU2JiVGFnRWxlbWVudDxUID0gc3RyaW5nPiBleHRlbmRzIFNiYkljb25OYW1lTWl4aW4oXG4gIFNiYkRpc2FibGVkVGFiSW5kZXhBY3Rpb25NaXhpbihTYmJCdXR0b25MaWtlQmFzZUVsZW1lbnQpLFxuKSB7XG4gIHB1YmxpYyBzdGF0aWMgb3ZlcnJpZGUgc3R5bGVzOiBDU1NSZXN1bHRHcm91cCA9IHN0eWxlO1xuICBwdWJsaWMgc3RhdGljIHJlYWRvbmx5IGV2ZW50cyA9IHtcbiAgICBpbnB1dDogJ2lucHV0JyxcbiAgICBkaWRDaGFuZ2U6ICdkaWRDaGFuZ2UnLFxuICAgIGNoYW5nZTogJ2NoYW5nZScsXG4gIH0gYXMgY29uc3Q7XG5cbiAgLyoqIFZhbHVlIG9mIHRoZSBmb3JtIGVsZW1lbnQuICovXG4gIEBwcm9wZXJ0eSgpXG4gIHB1YmxpYyBhY2Nlc3NvciB2YWx1ZTogVCB8IG51bGwgPSBudWxsO1xuXG4gIC8qKiBBbW91bnQgZGlzcGxheWVkIGluc2lkZSB0aGUgdGFnLiAqL1xuICBAZm9yY2VUeXBlKClcbiAgQHByb3BlcnR5KHsgcmVmbGVjdDogdHJ1ZSwgY29udmVydGVyOiBvbWl0RW1wdHlDb252ZXJ0ZXIgfSlcbiAgcHVibGljIGFjY2Vzc29yIGFtb3VudDogc3RyaW5nID0gJyc7XG5cbiAgLyoqIFdoZXRoZXIgdGhlIHRhZyBpcyBjaGVja2VkLiAqL1xuICBAZm9yY2VUeXBlKClcbiAgQHByb3BlcnR5KHsgcmVmbGVjdDogZmFsc2UsIHR5cGU6IEJvb2xlYW4gfSlcbiAgcHVibGljIGFjY2Vzc29yIGNoZWNrZWQ6IGJvb2xlYW4gPSBmYWxzZTtcblxuICAvKipcbiAgICogVGFnIHNpemUsIGVpdGhlciBzIG9yIG0uXG4gICAqIEBkZWZhdWx0ICdtJyAvICdzJyAobGVhbilcbiAgICovXG4gIEBwcm9wZXJ0eSh7IHJlZmxlY3Q6IHRydWUgfSlcbiAgQGdldE92ZXJyaWRlKChpLCB2KSA9PiBpLl9ncm91cD8uc2l6ZSA/PyB2KVxuICBwdWJsaWMgYWNjZXNzb3Igc2l6ZTogU2JiVGFnU2l6ZSA9IGlzTGVhbigpID8gJ3MnIDogJ20nO1xuXG4gIC8qKiBSZWZlcmVuY2UgdG8gdGhlIGNvbm5lY3RlZCB0YWcgZ3JvdXAuICovXG4gIHByaXZhdGUgX2dyb3VwOiBTYmJUYWdHcm91cEVsZW1lbnQgfCBudWxsID0gbnVsbDtcblxuICAvKiogSW5wdXQgZXZlbnQgZW1pdHRlciAqL1xuICBwcml2YXRlIF9pbnB1dDogRXZlbnRFbWl0dGVyID0gbmV3IEV2ZW50RW1pdHRlcih0aGlzLCBTYmJUYWdFbGVtZW50LmV2ZW50cy5pbnB1dCwge1xuICAgIGJ1YmJsZXM6IHRydWUsXG4gICAgY29tcG9zZWQ6IHRydWUsXG4gIH0pO1xuXG4gIC8qKiBAZGVwcmVjYXRlZCBvbmx5IHVzZWQgZm9yIFJlYWN0LiBXaWxsIHByb2JhYmx5IGJlIHJlbW92ZWQgb25jZSBSZWFjdCAxOSBpcyBhdmFpbGFibGUuICovXG4gIHByaXZhdGUgX2RpZENoYW5nZTogRXZlbnRFbWl0dGVyID0gbmV3IEV2ZW50RW1pdHRlcih0aGlzLCBTYmJUYWdFbGVtZW50LmV2ZW50cy5kaWRDaGFuZ2UsIHtcbiAgICBidWJibGVzOiB0cnVlLFxuICB9KTtcblxuICAvKiogQ2hhbmdlIGV2ZW50IGVtaXR0ZXIgKi9cbiAgcHJpdmF0ZSBfY2hhbmdlOiBFdmVudEVtaXR0ZXIgPSBuZXcgRXZlbnRFbWl0dGVyKHRoaXMsIFNiYlRhZ0VsZW1lbnQuZXZlbnRzLmNoYW5nZSwge1xuICAgIGJ1YmJsZXM6IHRydWUsXG4gIH0pO1xuXG4gIHB1YmxpYyBjb25zdHJ1Y3RvcigpIHtcbiAgICBzdXBlcigpO1xuICAgIHRoaXMuYWRkRXZlbnRMaXN0ZW5lcj8uKCdjbGljaycsICgpID0+IHRoaXMuX2hhbmRsZUNsaWNrKCkpO1xuICB9XG5cbiAgcHVibGljIG92ZXJyaWRlIGNvbm5lY3RlZENhbGxiYWNrKCk6IHZvaWQge1xuICAgIHN1cGVyLmNvbm5lY3RlZENhbGxiYWNrKCk7XG4gICAgdGhpcy5fZ3JvdXAgPSB0aGlzLmNsb3Nlc3QoJ3NiYi10YWctZ3JvdXAnKSBhcyBTYmJUYWdHcm91cEVsZW1lbnQ7XG4gIH1cblxuICBwcm90ZWN0ZWQgb3ZlcnJpZGUgaXNEaXNhYmxlZEV4dGVybmFsbHkoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMuX2dyb3VwPy5kaXNhYmxlZCA/PyBmYWxzZTtcbiAgfVxuXG4gIC8qKiBNZXRob2QgdHJpZ2dlcmVkIG9uIGJ1dHRvbiBjbGljay4gSW52ZXJ0cyB0aGUgY2hlY2tlZCB2YWx1ZSBhbmQgZW1pdHMgZXZlbnRzLiAqL1xuICBwcml2YXRlIF9oYW5kbGVDbGljaygpOiB2b2lkIHtcbiAgICBpZiAodGhpcy5kaXNhYmxlZCkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIC8vIFByZXZlbnQgZGVhY3RpdmF0aW5nIG9uIGV4Y2x1c2l2ZSAvIHJhZGlvIG1vZGVcbiAgICBjb25zdCB0YWdHcm91cCA9IHRoaXMuY2xvc2VzdCgnc2JiLXRhZy1ncm91cCcpO1xuICAgIGlmICh0YWdHcm91cCAmJiAhdGFnR3JvdXAubXVsdGlwbGUgJiYgdGhpcy5jaGVja2VkKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuICAgIHRoaXMuY2hlY2tlZCA9ICF0aGlzLmNoZWNrZWQ7XG4gICAgdGhpcy5faW5wdXQuZW1pdCgpO1xuICAgIHRoaXMuX2NoYW5nZS5lbWl0KCk7XG4gICAgdGhpcy5fZGlkQ2hhbmdlLmVtaXQoKTtcbiAgfVxuXG4gIHByb3RlY3RlZCBvdmVycmlkZSB3aWxsVXBkYXRlKGNoYW5nZWRQcm9wZXJ0aWVzOiBQcm9wZXJ0eVZhbHVlczx0aGlzPik6IHZvaWQge1xuICAgIHN1cGVyLndpbGxVcGRhdGUoY2hhbmdlZFByb3BlcnRpZXMpO1xuXG4gICAgaWYgKGNoYW5nZWRQcm9wZXJ0aWVzLmhhcygnY2hlY2tlZCcpKSB7XG4gICAgICB0aGlzLmludGVybmFscy5hcmlhUHJlc3NlZCA9IGAke3RoaXMuY2hlY2tlZH1gO1xuICAgICAgdGhpcy50b2dnbGVBdHRyaWJ1dGUoJ2RhdGEtY2hlY2tlZCcsIHRoaXMuY2hlY2tlZCk7XG4gICAgICB0aGlzLnVwZGF0ZUZvcm1WYWx1ZSgpO1xuICAgIH1cblxuICAgIGNvbnN0IHRhZ0dyb3VwID0gdGhpcy5jbG9zZXN0Py4oJ3NiYi10YWctZ3JvdXAnKTtcbiAgICBpZiAodGFnR3JvdXAgJiYgIXRhZ0dyb3VwLm11bHRpcGxlICYmIGNoYW5nZWRQcm9wZXJ0aWVzLmhhcygnY2hlY2tlZCcpICYmIHRoaXMuY2hlY2tlZCkge1xuICAgICAgdGFnR3JvdXA/LnRhZ3MuZmlsdGVyKCh0KSA9PiB0ICE9PSB0aGlzKS5mb3JFYWNoKCh0KSA9PiAodC5jaGVja2VkID0gZmFsc2UpKTtcbiAgICB9XG4gIH1cblxuICAvKipcbiAgICogQGludGVybmFsXG4gICAqL1xuICBwdWJsaWMgb3ZlcnJpZGUgZm9ybVJlc2V0Q2FsbGJhY2soKTogdm9pZCB7XG4gICAgdGhpcy5jaGVja2VkID0gdGhpcy5oYXNBdHRyaWJ1dGUoJ2NoZWNrZWQnKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBAaW50ZXJuYWxcbiAgICovXG4gIHB1YmxpYyBvdmVycmlkZSBmb3JtU3RhdGVSZXN0b3JlQ2FsbGJhY2soXG4gICAgc3RhdGU6IEZvcm1SZXN0b3JlU3RhdGUgfCBudWxsLFxuICAgIF9yZWFzb246IEZvcm1SZXN0b3JlUmVhc29uLFxuICApOiB2b2lkIHtcbiAgICBpZiAoc3RhdGUpIHtcbiAgICAgIHRoaXMuY2hlY2tlZCA9IHN0YXRlID09PSAndHJ1ZSc7XG4gICAgfVxuICB9XG5cbiAgcHJvdGVjdGVkIG92ZXJyaWRlIHVwZGF0ZUZvcm1WYWx1ZSgpOiB2b2lkIHtcbiAgICBpZiAodGhpcy5jaGVja2VkKSB7XG4gICAgICBzdXBlci51cGRhdGVGb3JtVmFsdWUoKTtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5pbnRlcm5hbHMuc2V0Rm9ybVZhbHVlKG51bGwpO1xuICAgIH1cbiAgfVxuXG4gIHByb3RlY3RlZCBvdmVycmlkZSBmb3JtU3RhdGUoKTogRm9ybVJlc3RvcmVTdGF0ZSB7XG4gICAgcmV0dXJuIGAke3RoaXMuY2hlY2tlZH1gO1xuICB9XG5cbiAgcHJvdGVjdGVkIG92ZXJyaWRlIHJlbmRlclRlbXBsYXRlKCk6IFRlbXBsYXRlUmVzdWx0IHtcbiAgICByZXR1cm4gaHRtbGBcbiAgICAgIDxzcGFuIGNsYXNzPVwic2JiLXRhZ19faWNvbiBzYmItdGFnLS1zaGlmdFwiPiAke3RoaXMucmVuZGVySWNvblNsb3QoKX0gPC9zcGFuPlxuICAgICAgPHNwYW4gY2xhc3M9XCJzYmItdGFnX190ZXh0IHNiYi10YWctLXNoaWZ0XCI+XG4gICAgICAgIDxzbG90Pjwvc2xvdD5cbiAgICAgIDwvc3Bhbj5cbiAgICAgIDxzcGFuIGNsYXNzPVwic2JiLXRhZ19fYW1vdW50IHNiYi10YWctLXNoaWZ0XCI+XG4gICAgICAgIDxzbG90IG5hbWU9XCJhbW91bnRcIj4ke3RoaXMuYW1vdW50fTwvc2xvdD5cbiAgICAgIDwvc3Bhbj5cbiAgICBgO1xuICB9XG59XG5cbmRlY2xhcmUgZ2xvYmFsIHtcbiAgaW50ZXJmYWNlIEhUTUxFbGVtZW50VGFnTmFtZU1hcCB7XG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uYW1pbmctY29udmVudGlvblxuICAgICdzYmItdGFnJzogU2JiVGFnRWxlbWVudDtcbiAgfVxufVxuIl0sIm5hbWVzIjpbIlNiYlRhZ0VsZW1lbnQiXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7SUFrQ00saUJBQWEsTUFBQTs7QUFGbEIsTUFBQSxtQkFBQSxDQUFBLGNBQWMsU0FBUyxHQUN2QixXQUFXOzs7O0FBQzRCLE1BQUEsY0FBQSxpQkFDdEMsK0JBQStCLHdCQUF3QixDQUFDOzs7Ozs7Ozs7Ozs7O0FBRDFCLE1BQUFBLGtCQUFBLG1CQUFRLFlBRXZDO0FBQUEsSUFpREMsY0FBQTtBQUNFLFlBQUE7QUF4Q0Y7QUFLQTtBQUtBO0FBUUE7QUFsQmdCLHlCQUFBLHlCQUFBLGtCQUFBLE1BQUEscUJBQWtCLElBQUk7QUFLdEIseUJBQUEsMkJBQUEsa0JBQUEsTUFBQSx3QkFBQSxHQUFBLGtCQUFBLE1BQUEsc0JBQWlCLEVBQUU7QUFLbkIs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
|
|
356
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFnLmNvbXBvbmVudC5qcyIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vc3JjL2VsZW1lbnRzL3RhZy90YWcvdGFnLmNvbXBvbmVudC50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgdHlwZSB7IENTU1Jlc3VsdEdyb3VwLCBQcm9wZXJ0eVZhbHVlcywgVGVtcGxhdGVSZXN1bHQgfSBmcm9tICdsaXQnO1xuaW1wb3J0IHsgaHRtbCB9IGZyb20gJ2xpdCc7XG5pbXBvcnQgeyBjdXN0b21FbGVtZW50LCBwcm9wZXJ0eSB9IGZyb20gJ2xpdC9kZWNvcmF0b3JzLmpzJztcblxuaW1wb3J0IHsgU2JiQnV0dG9uTGlrZUJhc2VFbGVtZW50IH0gZnJvbSAnLi4vLi4vY29yZS9iYXNlLWVsZW1lbnRzLmpzJztcbmltcG9ydCB7IGZvcmNlVHlwZSwgZ2V0T3ZlcnJpZGUsIG9taXRFbXB0eUNvbnZlcnRlciwgc2xvdFN0YXRlIH0gZnJvbSAnLi4vLi4vY29yZS9kZWNvcmF0b3JzLmpzJztcbmltcG9ydCB7IGlzTGVhbiB9IGZyb20gJy4uLy4uL2NvcmUvZG9tLmpzJztcbmltcG9ydCB7XG4gIHR5cGUgRm9ybVJlc3RvcmVSZWFzb24sXG4gIHR5cGUgRm9ybVJlc3RvcmVTdGF0ZSxcbiAgU2JiRGlzYWJsZWRUYWJJbmRleEFjdGlvbk1peGluLFxufSBmcm9tICcuLi8uLi9jb3JlL21peGlucy5qcyc7XG5pbXBvcnQgeyBTYmJJY29uTmFtZU1peGluIH0gZnJvbSAnLi4vLi4vaWNvbi5qcyc7XG5pbXBvcnQgdHlwZSB7IFNiYlRhZ0dyb3VwRWxlbWVudCB9IGZyb20gJy4uL3RhZy1ncm91cC5qcyc7XG5cbmltcG9ydCBzdHlsZSBmcm9tICcuL3RhZy5zY3NzP2xpdCZpbmxpbmUnO1xuXG5leHBvcnQgdHlwZSBTYmJUYWdTaXplID0gJ3MnIHwgJ20nO1xuXG4vKipcbiAqIEl0IGRpc3BsYXlzIGEgc2VsZWN0YWJsZSBlbGVtZW50IHdoaWNoIGNhbiBiZSB1c2VkIGFzIGEgZmlsdGVyLlxuICpcbiAqIEBzbG90IC0gVXNlIHRoZSB1bm5hbWVkIHNsb3QgdG8gYWRkIGNvbnRlbnQgdG8gdGhlIHRhZyBsYWJlbC5cbiAqIEBzbG90IGljb24gLSBVc2UgdGhpcyBzbG90IHRvIGRpc3BsYXkgYW4gaWNvbiBhdCB0aGUgY29tcG9uZW50IHN0YXJ0LCBieSBwcm92aWRpbmcgYSBgc2JiLWljb25gIGNvbXBvbmVudC5cbiAqIEBzbG90IGFtb3VudCAtIFByb3ZpZGUgYW4gYW1vdW50IHRvIHNob3cgaXQgYXQgdGhlIGNvbXBvbmVudCBlbmQuXG4gKiBAb3ZlcnJpZGVUeXBlIHZhbHVlIC0gKFQgPSBzdHJpbmcpIHwgbnVsbFxuICovXG5leHBvcnRcbkBjdXN0b21FbGVtZW50KCdzYmItdGFnJylcbkBzbG90U3RhdGUoKVxuY2xhc3MgU2JiVGFnRWxlbWVudDxUID0gc3RyaW5nPiBleHRlbmRzIFNiYkljb25OYW1lTWl4aW4oXG4gIFNiYkRpc2FibGVkVGFiSW5kZXhBY3Rpb25NaXhpbihTYmJCdXR0b25MaWtlQmFzZUVsZW1lbnQpLFxuKSB7XG4gIHB1YmxpYyBzdGF0aWMgb3ZlcnJpZGUgc3R5bGVzOiBDU1NSZXN1bHRHcm91cCA9IHN0eWxlO1xuICBwdWJsaWMgc3RhdGljIHJlYWRvbmx5IGV2ZW50cyA9IHtcbiAgICBpbnB1dDogJ2lucHV0JyxcbiAgICBkaWRDaGFuZ2U6ICdkaWRDaGFuZ2UnLFxuICAgIGNoYW5nZTogJ2NoYW5nZScsXG4gIH0gYXMgY29uc3Q7XG5cbiAgLyoqIFZhbHVlIG9mIHRoZSBmb3JtIGVsZW1lbnQuICovXG4gIEBwcm9wZXJ0eSgpXG4gIHB1YmxpYyBhY2Nlc3NvciB2YWx1ZTogVCB8IG51bGwgPSBudWxsO1xuXG4gIC8qKiBBbW91bnQgZGlzcGxheWVkIGluc2lkZSB0aGUgdGFnLiAqL1xuICBAZm9yY2VUeXBlKClcbiAgQHByb3BlcnR5KHsgcmVmbGVjdDogdHJ1ZSwgY29udmVydGVyOiBvbWl0RW1wdHlDb252ZXJ0ZXIgfSlcbiAgcHVibGljIGFjY2Vzc29yIGFtb3VudDogc3RyaW5nID0gJyc7XG5cbiAgLyoqIFdoZXRoZXIgdGhlIHRhZyBpcyBjaGVja2VkLiAqL1xuICBAZm9yY2VUeXBlKClcbiAgQHByb3BlcnR5KHsgcmVmbGVjdDogZmFsc2UsIHR5cGU6IEJvb2xlYW4gfSlcbiAgcHVibGljIGFjY2Vzc29yIGNoZWNrZWQ6IGJvb2xlYW4gPSBmYWxzZTtcblxuICAvKipcbiAgICogVGFnIHNpemUsIGVpdGhlciBzIG9yIG0uXG4gICAqIEBkZWZhdWx0ICdtJyAvICdzJyAobGVhbilcbiAgICovXG4gIEBwcm9wZXJ0eSh7IHJlZmxlY3Q6IHRydWUgfSlcbiAgQGdldE92ZXJyaWRlKChpLCB2KSA9PiBpLl9ncm91cD8uc2l6ZSA/PyB2KVxuICBwdWJsaWMgYWNjZXNzb3Igc2l6ZTogU2JiVGFnU2l6ZSA9IGlzTGVhbigpID8gJ3MnIDogJ20nO1xuXG4gIC8qKiBSZWZlcmVuY2UgdG8gdGhlIGNvbm5lY3RlZCB0YWcgZ3JvdXAuICovXG4gIHByaXZhdGUgX2dyb3VwOiBTYmJUYWdHcm91cEVsZW1lbnQgfCBudWxsID0gbnVsbDtcblxuICBwdWJsaWMgY29uc3RydWN0b3IoKSB7XG4gICAgc3VwZXIoKTtcbiAgICB0aGlzLmFkZEV2ZW50TGlzdGVuZXI/LignY2xpY2snLCAoKSA9PiB0aGlzLl9oYW5kbGVDbGljaygpKTtcbiAgfVxuXG4gIHB1YmxpYyBvdmVycmlkZSBjb25uZWN0ZWRDYWxsYmFjaygpOiB2b2lkIHtcbiAgICBzdXBlci5jb25uZWN0ZWRDYWxsYmFjaygpO1xuICAgIHRoaXMuX2dyb3VwID0gdGhpcy5jbG9zZXN0KCdzYmItdGFnLWdyb3VwJykgYXMgU2JiVGFnR3JvdXBFbGVtZW50O1xuICB9XG5cbiAgcHJvdGVjdGVkIG92ZXJyaWRlIGlzRGlzYWJsZWRFeHRlcm5hbGx5KCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLl9ncm91cD8uZGlzYWJsZWQgPz8gZmFsc2U7XG4gIH1cblxuICAvKiogTWV0aG9kIHRyaWdnZXJlZCBvbiBidXR0b24gY2xpY2suIEludmVydHMgdGhlIGNoZWNrZWQgdmFsdWUgYW5kIGVtaXRzIGV2ZW50cy4gKi9cbiAgcHJpdmF0ZSBfaGFuZGxlQ2xpY2soKTogdm9pZCB7XG4gICAgaWYgKHRoaXMuZGlzYWJsZWQpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICAvLyBQcmV2ZW50IGRlYWN0aXZhdGluZyBvbiBleGNsdXNpdmUgLyByYWRpbyBtb2RlXG4gICAgY29uc3QgdGFnR3JvdXAgPSB0aGlzLmNsb3Nlc3QoJ3NiYi10YWctZ3JvdXAnKTtcbiAgICBpZiAodGFnR3JvdXAgJiYgIXRhZ0dyb3VwLm11bHRpcGxlICYmIHRoaXMuY2hlY2tlZCkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICB0aGlzLmNoZWNrZWQgPSAhdGhpcy5jaGVja2VkO1xuXG4gICAgLyoqIFRoZSBpbnB1dCBldmVudCBmaXJlcyB3aGVuIHRoZSB2YWx1ZSBoYXMgYmVlbiBjaGFuZ2VkIGFzIGEgZGlyZWN0IHJlc3VsdCBvZiBhIHVzZXIgYWN0aW9uLiAqL1xuICAgIHRoaXMuZGlzcGF0Y2hFdmVudChcbiAgICAgIG5ldyBJbnB1dEV2ZW50KCdpbnB1dCcsIHtcbiAgICAgICAgYnViYmxlczogdHJ1ZSxcbiAgICAgICAgY29tcG9zZWQ6IHRydWUsXG4gICAgICB9KSxcbiAgICApO1xuXG4gICAgLyoqXG4gICAgICogVGhlIGNoYW5nZSBldmVudCBpcyBmaXJlZCB3aGVuIHRoZSB1c2VyIG1vZGlmaWVzIHRoZSBlbGVtZW50J3MgdmFsdWUuXG4gICAgICogVW5saWtlIHRoZSBpbnB1dCBldmVudCwgdGhlIGNoYW5nZSBldmVudCBpcyBub3QgbmVjZXNzYXJpbHkgZmlyZWRcbiAgICAgKiBmb3IgZWFjaCBhbHRlcmF0aW9uIHRvIGFuIGVsZW1lbnQncyB2YWx1ZS5cbiAgICAgKi9cbiAgICB0aGlzLmRpc3BhdGNoRXZlbnQobmV3IEV2ZW50KCdjaGFuZ2UnLCB7IGJ1YmJsZXM6IHRydWUgfSkpO1xuXG4gICAgLyoqXG4gICAgICogRGVwcmVjYXRlZC4gTWlycm9ycyBjaGFuZ2UgZXZlbnQgZm9yIFJlYWN0LiBXaWxsIGJlIHJlbW92ZWQgb25jZSBSZWFjdCBwcm9wZXJseSBzdXBwb3J0cyBjaGFuZ2UgZXZlbnRzLlxuICAgICAqIEBkZXByZWNhdGVkXG4gICAgICovXG4gICAgdGhpcy5kaXNwYXRjaEV2ZW50KG5ldyBFdmVudCgnZGlkQ2hhbmdlJywgeyBidWJibGVzOiB0cnVlIH0pKTtcbiAgfVxuXG4gIHByb3RlY3RlZCBvdmVycmlkZSB3aWxsVXBkYXRlKGNoYW5nZWRQcm9wZXJ0aWVzOiBQcm9wZXJ0eVZhbHVlczx0aGlzPik6IHZvaWQge1xuICAgIHN1cGVyLndpbGxVcGRhdGUoY2hhbmdlZFByb3BlcnRpZXMpO1xuXG4gICAgaWYgKGNoYW5nZWRQcm9wZXJ0aWVzLmhhcygnY2hlY2tlZCcpKSB7XG4gICAgICB0aGlzLmludGVybmFscy5hcmlhUHJlc3NlZCA9IGAke3RoaXMuY2hlY2tlZH1gO1xuICAgICAgdGhpcy50b2dnbGVBdHRyaWJ1dGUoJ2RhdGEtY2hlY2tlZCcsIHRoaXMuY2hlY2tlZCk7XG4gICAgICB0aGlzLnVwZGF0ZUZvcm1WYWx1ZSgpO1xuICAgIH1cblxuICAgIGNvbnN0IHRhZ0dyb3VwID0gdGhpcy5jbG9zZXN0Py4oJ3NiYi10YWctZ3JvdXAnKTtcbiAgICBpZiAodGFnR3JvdXAgJiYgIXRhZ0dyb3VwLm11bHRpcGxlICYmIGNoYW5nZWRQcm9wZXJ0aWVzLmhhcygnY2hlY2tlZCcpICYmIHRoaXMuY2hlY2tlZCkge1xuICAgICAgdGFnR3JvdXA/LnRhZ3MuZmlsdGVyKCh0KSA9PiB0ICE9PSB0aGlzKS5mb3JFYWNoKCh0KSA9PiAodC5jaGVja2VkID0gZmFsc2UpKTtcbiAgICB9XG4gIH1cblxuICAvKipcbiAgICogQGludGVybmFsXG4gICAqL1xuICBwdWJsaWMgb3ZlcnJpZGUgZm9ybVJlc2V0Q2FsbGJhY2soKTogdm9pZCB7XG4gICAgdGhpcy5jaGVja2VkID0gdGhpcy5oYXNBdHRyaWJ1dGUoJ2NoZWNrZWQnKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBAaW50ZXJuYWxcbiAgICovXG4gIHB1YmxpYyBvdmVycmlkZSBmb3JtU3RhdGVSZXN0b3JlQ2FsbGJhY2soXG4gICAgc3RhdGU6IEZvcm1SZXN0b3JlU3RhdGUgfCBudWxsLFxuICAgIF9yZWFzb246IEZvcm1SZXN0b3JlUmVhc29uLFxuICApOiB2b2lkIHtcbiAgICBpZiAoc3RhdGUpIHtcbiAgICAgIHRoaXMuY2hlY2tlZCA9IHN0YXRlID09PSAndHJ1ZSc7XG4gICAgfVxuICB9XG5cbiAgcHJvdGVjdGVkIG92ZXJyaWRlIHVwZGF0ZUZvcm1WYWx1ZSgpOiB2b2lkIHtcbiAgICBpZiAodGhpcy5jaGVja2VkKSB7XG4gICAgICBzdXBlci51cGRhdGVGb3JtVmFsdWUoKTtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5pbnRlcm5hbHMuc2V0Rm9ybVZhbHVlKG51bGwpO1xuICAgIH1cbiAgfVxuXG4gIHByb3RlY3RlZCBvdmVycmlkZSBmb3JtU3RhdGUoKTogRm9ybVJlc3RvcmVTdGF0ZSB7XG4gICAgcmV0dXJuIGAke3RoaXMuY2hlY2tlZH1gO1xuICB9XG5cbiAgcHJvdGVjdGVkIG92ZXJyaWRlIHJlbmRlclRlbXBsYXRlKCk6IFRlbXBsYXRlUmVzdWx0IHtcbiAgICByZXR1cm4gaHRtbGBcbiAgICAgIDxzcGFuIGNsYXNzPVwic2JiLXRhZ19faWNvbiBzYmItdGFnLS1zaGlmdFwiPiAke3RoaXMucmVuZGVySWNvblNsb3QoKX0gPC9zcGFuPlxuICAgICAgPHNwYW4gY2xhc3M9XCJzYmItdGFnX190ZXh0IHNiYi10YWctLXNoaWZ0XCI+XG4gICAgICAgIDxzbG90Pjwvc2xvdD5cbiAgICAgIDwvc3Bhbj5cbiAgICAgIDxzcGFuIGNsYXNzPVwic2JiLXRhZ19fYW1vdW50IHNiYi10YWctLXNoaWZ0XCI+XG4gICAgICAgIDxzbG90IG5hbWU9XCJhbW91bnRcIj4ke3RoaXMuYW1vdW50fTwvc2xvdD5cbiAgICAgIDwvc3Bhbj5cbiAgICBgO1xuICB9XG59XG5cbmRlY2xhcmUgZ2xvYmFsIHtcbiAgaW50ZXJmYWNlIEhUTUxFbGVtZW50VGFnTmFtZU1hcCB7XG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uYW1pbmctY29udmVudGlvblxuICAgICdzYmItdGFnJzogU2JiVGFnRWxlbWVudDtcbiAgfVxufVxuIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztJQThCTSxpQkFBYSxNQUFBOztBQUZsQixNQUFBLG1CQUFBLENBQUEsY0FBYyxTQUFTLEdBQ3ZCLFdBQVc7Ozs7QUFDNEIsTUFBQSxjQUFBLGlCQUN0QywrQkFBK0Isd0JBQXdCLENBQUM7Ozs7Ozs7Ozs7Ozs7QUFEMUIsRUFBQSxtQkFBUSxZQUV2QztBQUFBLElBaUNDLGNBQUE7QUFDRSxZQUFBO0FBeEJGO0FBS0E7QUFLQTtBQVFBO0FBbEJnQix5QkFBQSx5QkFBQSxrQkFBQSxNQUFBLHFCQUFrQixJQUFJO0FBS3RCLHlCQUFBLDJCQUFBLGtCQUFBLE1BQUEsd0JBQUEsR0FBQSxrQkFBQSxNQUFBLHNCQUFpQixFQUFFO0FBS25CLHlCQUFBLDRCQUFBLGtCQUFBLE1BQUEseUJBQUEsR0FBQSxrQkFBQSxNQUFBLHVCQUFtQixLQUFLO0FBUXhCLHlCQUFBLHlCQUFBLGtCQUFBLE1BQUEsMEJBQUEsR0FBQSxrQkFBQSxNQUFBLG9CQUFtQixPQUFBLElBQVcsTUFBTSxHQUFHO0FBRy9DLFdBQUEsVUFBTSxrQkFBQSxNQUFBLHVCQUFBLEdBQThCO0FBSTFDLFdBQUssbUJBQW1CLFNBQVMsTUFB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
|
|
@@ -2,7 +2,6 @@ import { CSSResultGroup, LitElement } from 'lit';
|
|
|
2
2
|
declare const SbbTimeInputElement_base: import('../core/mixins.js').AbstractConstructor<import('../core/mixins.js').SbbFormAssociatedInputMixinType> & typeof LitElement;
|
|
3
3
|
/**
|
|
4
4
|
* Custom input for a time.
|
|
5
|
-
* @overrideType value - string
|
|
6
5
|
*/
|
|
7
6
|
export declare class SbbTimeInputElement extends SbbTimeInputElement_base {
|
|
8
7
|
static styles: CSSResultGroup;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"time-input.component.d.ts","sourceRoot":"","sources":["../../../../src/elements/time-input/time-input.component.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,cAAc,EAAY,UAAU,EAAE,MAAM,KAAK,CAAC;;AAyBhE
|
|
1
|
+
{"version":3,"file":"time-input.component.d.ts","sourceRoot":"","sources":["../../../../src/elements/time-input/time-input.component.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,cAAc,EAAY,UAAU,EAAE,MAAM,KAAK,CAAC;;AAyBhE;;GAEG;AACH,qBAEM,mBAAoB,SAAQ,wBAAuC;IACvE,OAAuB,MAAM,EAAE,cAAc,CAAS;IAEtD;;;OAGG;IACH,IAAoB,KAAK,CAAC,KAAK,EAAE,MAAM,EAYtC;IACD,IAAoB,KAAK,IAAI,MAAM,CAElC;IAED,iDAAiD;IACjD,IACW,WAAW,CAAC,IAAI,EAAE,IAAI,GAAG,IAAI,EAcvC;IACD,IAAW,WAAW,IAAI,IAAI,GAAG,IAAI,CASpC;IACD,OAAO,CAAC,YAAY,CAAC,CAAc;IAEnC;;;OAGG;IACH,OAAO,CAAC,WAAW,CAAC,CAAwB;IAE5C,OAAO,CAAC,SAAS,CAAmC;;IAWpC,iBAAiB,IAAI,IAAI;IAMzB,oBAAoB,IAAI,IAAI;cAIzB,eAAe,IAAI,IAAI;IAM1C,OAAO,CAAC,cAAc;IAOtB,kDAAkD;IAClD,OAAO,CAAC,WAAW;IAgBnB,OAAO,CAAC,sBAAsB;IAS9B,OAAO,CAAC,WAAW;cAUA,iBAAiB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM;cAMvC,cAAc,CAAC,IAAI,EAAE,WAAW,GAAG,SAAS,GAAG,OAAO;cAOtD,QAAQ,IAAI,IAAI;IAanC,OAAO,CAAC,qBAAqB;IAI7B,uFAAuF;IACvF,OAAO,CAAC,YAAY;IAIpB,qDAAqD;IACrD,OAAO,CAAC,kBAAkB;IAgC1B,OAAO,CAAC,aAAa;CAItB;AAED,OAAO,CAAC,MAAM,CAAC;IACb,UAAU,qBAAqB;QAE7B,gBAAgB,EAAE,mBAAmB,CAAC;KACvC;CACF"}
|
|
@@ -222,4 +222,4 @@ let SbbTimeInputElement = (() => {
|
|
|
222
222
|
export {
|
|
223
223
|
SbbTimeInputElement
|
|
224
224
|
};
|
|
225
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGltZS1pbnB1dC5jb21wb25lbnQuanMiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9lbGVtZW50cy90aW1lLWlucHV0L3RpbWUtaW5wdXQuY29tcG9uZW50LnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IHR5cGUgQ1NTUmVzdWx0R3JvdXAsIGlzU2VydmVyLCBMaXRFbGVtZW50IH0gZnJvbSAnbGl0JztcbmltcG9ydCB7IGN1c3RvbUVsZW1lbnQsIHByb3BlcnR5IH0gZnJvbSAnbGl0L2RlY29yYXRvcnMuanMnO1xuXG5pbXBvcnQgeyBzYmJMaXZlQW5ub3VuY2VyIH0gZnJvbSAnLi4vY29yZS9hMTF5LmpzJztcbmltcG9ydCB7IFNiYkxhbmd1YWdlQ29udHJvbGxlciB9IGZyb20gJy4uL2NvcmUvY29udHJvbGxlcnMuanMnO1xuaW1wb3J0IHtcbiAgaTE4blRpbWVJbnB1dENoYW5nZSxcbiAgaTE4blRpbWVJbnZhbGlkLFxuICBpMThuVGltZU1heCxcbiAgaTE4blRpbWVNYXhMZW5ndGgsXG59IGZyb20gJy4uL2NvcmUvaTE4bi5qcyc7XG5pbXBvcnQgeyBTYmJGb3JtQXNzb2NpYXRlZElucHV0TWl4aW4gfSBmcm9tICcuLi9jb3JlL21peGlucy5qcyc7XG5cbmltcG9ydCBzdHlsZSBmcm9tICcuL3RpbWUtaW5wdXQuc2Nzcz9saXQmaW5saW5lJztcblxuY29uc3QgUkVHRVhfQUxMT1dFRF9DSEFSQUNURVJTID0gL1swLTkuOixcXC07X2hIXS87XG5jb25zdCBSRUdFWF9ESVNBTExPV0VEX0NIQVJBQ1RFUlMgPSAvW14wLTkuOixcXC07X2hIXS9nO1xuY29uc3QgUkVHRVhfR1JPVVBTX1dJVEhPVVRfQ09MT04gPSAvXihbMC05XXsxLDJ9KShbMC05XXsyfSkkLztcbmNvbnN0IFJFR0VYX0dST1VQU19XSVRIX0NPTE9OID0gL14oWzAtOV17MSwyfSk/Wy46LFxcLTtfaEhdPyhbMC05XXsxLDJ9KT8kLztcblxuaW50ZXJmYWNlIFRpbWUge1xuICBob3VyczogbnVtYmVyO1xuICBtaW51dGVzOiBudW1iZXI7XG59XG5cbi8qKlxuICogQ3VzdG9tIGlucHV0IGZvciBhIHRpbWUuXG4gKiBAb3ZlcnJpZGVUeXBlIHZhbHVlIC0gc3RyaW5nXG4gKi9cbmV4cG9ydFxuQGN1c3RvbUVsZW1lbnQoJ3NiYi10aW1lLWlucHV0JylcbmNsYXNzIFNiYlRpbWVJbnB1dEVsZW1lbnQgZXh0ZW5kcyBTYmJGb3JtQXNzb2NpYXRlZElucHV0TWl4aW4oTGl0RWxlbWVudCkge1xuICBwdWJsaWMgc3RhdGljIG92ZXJyaWRlIHN0eWxlczogQ1NTUmVzdWx0R3JvdXAgPSBzdHlsZTtcblxuICAvKipcbiAgICogVGhlIHZhbHVlIG9mIHRoZSB0aW1lIGlucHV0LiBSZWZsZWN0cyB0aGUgY3VycmVudCB0ZXh0IHZhbHVlXG4gICAqIG9mIHRoaXMgaW5wdXQuXG4gICAqL1xuICBwdWJsaWMgb3ZlcnJpZGUgc2V0IHZhbHVlKHZhbHVlOiBzdHJpbmcpIHtcbiAgICB2YWx1ZSA9XG4gICAgICB0eXBlb2YgdmFsdWUgPT09ICdzdHJpbmcnXG4gICAgICAgID8gdmFsdWUucmVwbGFjZShSRUdFWF9ESVNBTExPV0VEX0NIQVJBQ1RFUlMsICcnKS5zdWJzdHJpbmcoMCwgNSlcbiAgICAgICAgOiAnJztcbiAgICB0aGlzLl90cnlQYXJzZVZhbHVlKHZhbHVlKTtcbiAgICAvLyBBcyBsb25nIGFzIHRoaXMgZWxlbWVudCBoYXMgZm9jdXMgd2UgZGVsYXkgYXV0b21hdGljYWxseSB1cGRhdGluZ1xuICAgIC8vIHRoZSB2YWx1ZSB3aXRoIHRoZSBmb3JtYXR0ZWQgc3RyaW5nIG9mIHRoZSBwYXJzZWQgZGF0ZS5cbiAgICBpZiAoIWlzU2VydmVyICYmICF0aGlzLm1hdGNoZXMoJzpmb2N1cycpICYmIHRoaXMudmFsdWVBc0RhdGUgIT09IG51bGwpIHtcbiAgICAgIHZhbHVlID0gdGhpcy5fZm9ybWF0VGltZSgpO1xuICAgIH1cbiAgICBzdXBlci52YWx1ZSA9IHZhbHVlO1xuICB9XG4gIHB1YmxpYyBvdmVycmlkZSBnZXQgdmFsdWUoKTogc3RyaW5nIHtcbiAgICByZXR1cm4gc3VwZXIudmFsdWUgPz8gJyc7XG4gIH1cblxuICAvKiogRm9ybWF0cyB0aGUgY3VycmVudCBpbnB1dCdzIHZhbHVlIGFzIGRhdGUuICovXG4gIEBwcm9wZXJ0eSh7IGF0dHJpYnV0ZTogZmFsc2UgfSlcbiAgcHVibGljIHNldCB2YWx1ZUFzRGF0ZShkYXRlOiBEYXRlIHwgbnVsbCkge1xuICAgIGlmIChkYXRlIGluc3RhbmNlb2YgRGF0ZSAmJiAhaXNOYU4oZGF0ZS52YWx1ZU9mKCkpKSB7XG4gICAgICB0aGlzLl92YWx1ZUFzVGltZSA9IHtcbiAgICAgICAgaG91cnM6IGRhdGUuZ2V0SG91cnMoKSxcbiAgICAgICAgbWludXRlczogZGF0ZS5nZXRNaW51dGVzKCksXG4gICAgICB9O1xuICAgICAgY29uc3QgZm9ybWF0dGVkVmFsdWUgPSB0aGlzLl9mb3JtYXRUaW1lKCk7XG4gICAgICBpZiAodGhpcy52YWx1ZSAhPT0gZm9ybWF0dGVkVmFsdWUpIHtcbiAgICAgICAgdGhpcy52YWx1ZSA9IGZvcm1hdHRlZFZhbHVlO1xuICAgICAgfVxuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLl92YWx1ZUFzVGltZSA9IG51bGw7XG4gICAgICB0aGlzLnZhbHVlID0gJyc7XG4gICAgfVxuICB9XG4gIHB1YmxpYyBnZXQgdmFsdWVBc0RhdGUoKTogRGF0ZSB8IG51bGwge1xuICAgIGlmICh0aGlzLl92YWx1ZUFzVGltZSAmJiB0aGlzLl9pc1RpbWVWYWxpZCh0aGlzLl92YWx1ZUFzVGltZSkpIHtcbiAgICAgIGNvbnN0IGRhdGUgPSBuZXcgRGF0ZSgwKTtcbiAgICAgIGRhdGUuc2V0SG91cnModGhpcy5fdmFsdWVBc1RpbWUuaG91cnMpO1xuICAgICAgZGF0ZS5zZXRNaW51dGVzKHRoaXMuX3ZhbHVlQXNUaW1lLm1pbnV0ZXMpO1xuICAgICAgcmV0dXJuIGRhdGU7XG4gICAgfSBlbHNlIHtcbiAgICAgIHJldHVybiBudWxsO1xuICAgIH1cbiAgfVxuICBwcml2YXRlIF92YWx1ZUFzVGltZT86IFRpbWUgfCBudWxsO1xuXG4gIC8qKlxuICAgKiBTdG9yZXMgdGhlIGxhc3Qgc3RyaW5nIGFuZCBwYXJzZWQgZGF0ZSBvYmplY3QgdmFsdWUgdG8gcHJldmVudCByZXBlYXRlZFxuICAgKiBwYXJzaW5nIG9mIHRoZSBzdHJpbmcgdmFsdWUuXG4gICAqL1xuICBwcml2YXRlIF92YWx1ZUNhY2hlPzogW3N0cmluZywgVGltZSB8IG51bGxdO1xuXG4gIHByaXZhdGUgX2xhbmd1YWdlID0gbmV3IFNiYkxhbmd1YWdlQ29udHJvbGxlcih0aGlzKTtcblxuICBwdWJsaWMgY29uc3RydWN0b3IoKSB7XG4gICAgc3VwZXIoKTtcbiAgICB0aGlzLmFkZEV2ZW50TGlzdGVuZXI/LignY2hhbmdlJywgKCkgPT4gdGhpcy5fdXBkYXRlVmFsdWVEYXRlRm9ybWF0KCksIHsgY2FwdHVyZTogdHJ1ZSB9KTtcbiAgICB0aGlzLmFkZEV2ZW50TGlzdGVuZXI/LignY2hhbmdlJywgKCkgPT5cbiAgICAgIHNiYkxpdmVBbm5vdW5jZXIuYW5ub3VuY2UoaTE4blRpbWVJbnB1dENoYW5nZSh0aGlzLnZhbHVlKVt0aGlzLl9sYW5ndWFnZS5jdXJyZW50XSksXG4gICAgKTtcbiAgICB0aGlzLmFkZEV2ZW50TGlzdGVuZXI/Ligna2V5ZG93bicsIChldmVudCkgPT4gdGhpcy5fcHJldmVudENoYXJJbnNlcnQoZXZlbnQpKTtcbiAgfVxuXG4gIHB1YmxpYyBvdmVycmlkZSBjb25uZWN0ZWRDYWxsYmFjaygpOiB2b2lkIHtcbiAgICBzdXBlci5jb25uZWN0ZWRDYWxsYmFjaygpO1xuICAgIHRoaXMuaW5wdXRNb2RlIHx8PSAnbnVtZXJpYyc7XG4gICAgdGhpcy5wbGFjZWhvbGRlciB8fD0gJ0hIOk1NJztcbiAgfVxuXG4gIHB1YmxpYyBvdmVycmlkZSBkaXNjb25uZWN0ZWRDYWxsYmFjaygpOiB2b2lkIHtcbiAgICBzdXBlci5kaXNjb25uZWN0ZWRDYWxsYmFjaygpO1xuICB9XG5cbiAgcHJvdGVjdGVkIG92ZXJyaWRlIHVwZGF0ZUZvcm1WYWx1ZSgpOiB2b2lkIHtcbiAgICB0aGlzLl90cnlQYXJzZVZhbHVlKCk7XG4gICAgY29uc3QgZm9ybVZhbHVlID0gdGhpcy52YWx1ZUFzRGF0ZSAhPT0gbnVsbCA/IHRoaXMuX2Zvcm1hdFRpbWUoKSA6IG51bGw7XG4gICAgdGhpcy5pbnRlcm5hbHMuc2V0Rm9ybVZhbHVlKGZvcm1WYWx1ZSwgdGhpcy52YWx1ZSk7XG4gIH1cblxuICBwcml2YXRlIF90cnlQYXJzZVZhbHVlKHZhbHVlID0gdGhpcy52YWx1ZSk6IHZvaWQge1xuICAgIGlmICh0aGlzLl92YWx1ZUNhY2hlPy5bMF0gIT09IHZhbHVlKSB7XG4gICAgICB0aGlzLl92YWx1ZUFzVGltZSA9IHRoaXMuX3BhcnNlVmFsdWUodmFsdWUpO1xuICAgICAgdGhpcy5fdmFsdWVDYWNoZSA9IFt2YWx1ZSwgdGhpcy5fdmFsdWVBc1RpbWUgPz8gbnVsbF07XG4gICAgfVxuICB9XG5cbiAgLyoqIFZhbGlkYXRlIGlucHV0IGFnYWluc3QgdGhlIGRlZmluZWQgUmVnRXhwcy4gKi9cbiAgcHJpdmF0ZSBfcGFyc2VWYWx1ZSh2YWx1ZTogc3RyaW5nIHwgdW5kZWZpbmVkKTogVGltZSB8IG51bGwge1xuICAgIGNvbnN0IHRyaW1tZWRWYWx1ZSA9IHZhbHVlPy50cmltKCk7XG4gICAgaWYgKCF0cmltbWVkVmFsdWUpIHtcbiAgICAgIHJldHVybiBudWxsO1xuICAgIH1cblxuICAgIC8vIFNwZWNpYWwgY2FzZTogdGhlIGlucHV0IGlzIDMgb3IgNCBkaWdpdHM7IHNwbGl0IGxpa2U6IEFCPzpDRFxuICAgIGNvbnN0IG1hdGNoID1cbiAgICAgIHRyaW1tZWRWYWx1ZS5tYXRjaChSRUdFWF9HUk9VUFNfV0lUSE9VVF9DT0xPTikgPz8gdHJpbW1lZFZhbHVlLm1hdGNoKFJFR0VYX0dST1VQU19XSVRIX0NPTE9OKTtcbiAgICBpZiAobWF0Y2gpIHtcbiAgICAgIHJldHVybiB7IGhvdXJzOiArbWF0Y2hbMV0gfHwgMCwgbWludXRlczogK21hdGNoWzJdIHx8IDAgfTtcbiAgICB9XG5cbiAgICByZXR1cm4gbnVsbDtcbiAgfVxuXG4gIHByaXZhdGUgX3VwZGF0ZVZhbHVlRGF0ZUZvcm1hdCgpOiB2b2lkIHtcbiAgICBpZiAodGhpcy52YWx1ZUFzRGF0ZSkge1xuICAgICAgY29uc3QgZm9ybWF0dGVkRGF0ZSA9IHRoaXMuX2Zvcm1hdFRpbWUoKTtcbiAgICAgIGlmICh0aGlzLnZhbHVlICE9PSBmb3JtYXR0ZWREYXRlKSB7XG4gICAgICAgIHN1cGVyLnZhbHVlID0gZm9ybWF0dGVkRGF0ZTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBwcml2YXRlIF9mb3JtYXRUaW1lKCk6IHN0cmluZyB7XG4gICAgY29uc3QgdmFsdWUgPSB0aGlzLnZhbHVlQXNEYXRlO1xuICAgIGlmICghdmFsdWUpIHtcbiAgICAgIHJldHVybiAnJztcbiAgICB9XG4gICAgY29uc3QgaG91cnMgPSBTdHJpbmcodmFsdWUuZ2V0SG91cnMoKSkucGFkU3RhcnQoMiwgJzAnKTtcbiAgICBjb25zdCBtaW51dGVzID0gU3RyaW5nKHZhbHVlLmdldE1pbnV0ZXMoKSkucGFkU3RhcnQoMiwgJzAnKTtcbiAgICByZXR1cm4gYCR7aG91cnN9OiR7bWludXRlc31gO1xuICB9XG5cbiAgcHJvdGVjdGVkIG92ZXJyaWRlIHByZXBhcmVQYXN0ZWRUZXh0KHRleHQ6IHN0cmluZyk6IHN0cmluZyB7XG4gICAgcmV0dXJuIHRleHRcbiAgICAgIC5yZXBsYWNlKFJFR0VYX0RJU0FMTE9XRURfQ0hBUkFDVEVSUywgJycpXG4gICAgICAuc3Vic3RyaW5nKDAsIDUgLSAodGhpcy50ZXh0Q29udGVudD8ubGVuZ3RoID8/IDApKTtcbiAgfVxuXG4gIHByb3RlY3RlZCBvdmVycmlkZSBzaG91bGRWYWxpZGF0ZShuYW1lOiBQcm9wZXJ0eUtleSB8IHVuZGVmaW5lZCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiAoXG4gICAgICBzdXBlci5zaG91bGRWYWxpZGF0ZShuYW1lKSB8fFxuICAgICAgWyd2YWx1ZUFzRGF0ZScsICdtaW4nLCAnbWF4JywgJ2RhdGVGaWx0ZXInXS5pbmNsdWRlcyhuYW1lIGFzIHN0cmluZylcbiAgICApO1xuICB9XG5cbiAgcHJvdGVjdGVkIG92ZXJyaWRlIHZhbGlkYXRlKCk6IHZvaWQge1xuICAgIHN1cGVyLnZhbGlkYXRlKCk7XG4gICAgaWYgKCF0aGlzLnZhbHVlKSB7XG4gICAgICB0aGlzLl9yZW1vdmVWYWxpZGl0eUVycm9ycygpO1xuICAgIH0gZWxzZSBpZiAoIXRoaXMuX3ZhbHVlQXNUaW1lKSB7XG4gICAgICB0aGlzLnNldFZhbGlkaXR5RmxhZygnYmFkSW5wdXQnLCBpMThuVGltZUludmFsaWRbdGhpcy5sYW5ndWFnZS5jdXJyZW50XSk7XG4gICAgfSBlbHNlIGlmICghdGhpcy5faXNUaW1lVmFsaWQodGhpcy5fdmFsdWVBc1RpbWUpKSB7XG4gICAgICB0aGlzLnNldFZhbGlkaXR5RmxhZygncmFuZ2VPdmVyZmxvdycsIGkxOG5UaW1lTWF4W3RoaXMubGFuZ3VhZ2UuY3VycmVudF0pO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLl9yZW1vdmVWYWxpZGl0eUVycm9ycygpO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgX3JlbW92ZVZhbGlkaXR5RXJyb3JzKCk6IHZvaWQge1xuICAgIChbJ2JhZElucHV0JywgJ3JhbmdlT3ZlcmZsb3cnXSBhcyBjb25zdCkuZm9yRWFjaCgoZikgPT4gdGhpcy5yZW1vdmVWYWxpZGl0eUZsYWcoZikpO1xuICB9XG5cbiAgLyoqIENoZWNrcyBpZiB2YWx1ZXMgb2YgaG91cnMgYW5kIG1pbnV0ZXMgYXJlIHBvc3NpYmxlLCB0byBhdm9pZCBub24tZXhpc3RlbnQgdGltZXMuICovXG4gIHByaXZhdGUgX2lzVGltZVZhbGlkKHRpbWU6IFRpbWUpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGltZS5ob3VycyA8IDI0ICYmIHRpbWUubWludXRlcyA8IDYwO1xuICB9XG5cbiAgLyoqICBPbmx5IGFsbG93IHR5cGluZyBudW1iZXJzIGFuZCBzZXBhcmF0b3Iga2V5cy4gKi9cbiAgcHJpdmF0ZSBfcHJldmVudENoYXJJbnNlcnQoZXZlbnQ6IEtleWJvYXJkRXZlbnQpOiB2b2lkIHtcbiAgICBjb25zdCBhbHdheXNBbGxvd2VkID0gW1xuICAgICAgJ0JhY2tzcGFjZScsXG4gICAgICAnVGFiJyxcbiAgICAgICdFbnRlcicsXG4gICAgICAnQXJyb3dVcCcsXG4gICAgICAnQXJyb3dEb3duJyxcbiAgICAgICdBcnJvd0xlZnQnLFxuICAgICAgJ0Fycm93UmlnaHQnLFxuICAgICAgJ0hvbWUnLFxuICAgICAgJ0VuZCcsXG4gICAgICAnUGFnZVVwJyxcbiAgICAgICdQYWdlRG93bicsXG4gICAgICAnRGVsZXRlJyxcbiAgICBdO1xuXG4gICAgaWYgKFxuICAgICAgZXZlbnQuY3RybEtleSB8fFxuICAgICAgZXZlbnQuYWx0S2V5IHx8XG4gICAgICBldmVudC5tZXRhS2V5IHx8XG4gICAgICBhbHdheXNBbGxvd2VkLmluY2x1ZGVzKGV2ZW50LmtleSkgfHxcbiAgICAgIChSRUdFWF9BTExPV0VEX0NIQVJBQ1RFUlMudGVzdChldmVudC5rZXkpICYmICh0aGlzLnZhbHVlLmxlbmd0aCA8IDUgfHwgdGhpcy5faGFzU2VsZWN0aW9uKCkpKVxuICAgICkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG4gICAgaWYgKHRoaXMudmFsdWUubGVuZ3RoID49IDUpIHtcbiAgICAgIHNiYkxpdmVBbm5vdW5jZXIuYW5ub3VuY2UoaTE4blRpbWVNYXhMZW5ndGhbdGhpcy5fbGFuZ3VhZ2UuY3VycmVudF0pO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgX2hhc1NlbGVjdGlvbigpOiBib29sZWFuIHtcbiAgICBjb25zdCByYW5nZSA9IHdpbmRvdy5nZXRTZWxlY3Rpb24oKT8uZ2V0UmFuZ2VBdCgwKTtcbiAgICByZXR1cm4gISFyYW5nZSAmJiByYW5nZS5zdGFydE9mZnNldCAhPT0gcmFuZ2UuZW5kT2Zmc2V0O1xuICB9XG59XG5cbmRlY2xhcmUgZ2xvYmFsIHtcbiAgaW50ZXJmYWNlIEhUTUxFbGVtZW50VGFnTmFtZU1hcCB7XG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uYW1pbmctY29udmVudGlvblxuICAgICdzYmItdGltZS1pbnB1dCc6IFNiYlRpbWVJbnB1dEVsZW1lbnQ7XG4gIH1cbn1cbiJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFlQSxNQUFNLDJCQUEyQjtBQUNqQyxNQUFNLDhCQUE4QjtBQUNwQyxNQUFNLDZCQUE2QjtBQUNuQyxNQUFNLDBCQUEwQjtJQWExQix1QkFBbUIsTUFBQTs7MEJBRHhCLGNBQWMsZ0JBQWdCLENBQUM7Ozs7b0JBQ0UsNEJBQTRCLFVBQVU7OztBQUE5QyxFQUFBLG1CQUFRLFlBQXVDO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQSxJQU92RSxJQUFvQixNQUFNLE9BQWE7QUFDckMsY0FDRSxPQUFPLFVBQVUsV0FDYixNQUFNLFFBQVEsNkJBQTZCLEVBQUUsRUFBRSxVQUFVLEdBQUcsQ0FBQyxJQUM3RDtBQUNOLFdBQUssZUFBZSxLQUFLO0FBR3pCLFVBQUksQ0FBQyxZQUFZLENBQUMsS0FBSyxRQUFRLFFBQVEsS0FBSyxLQUFLLGdCQUFnQixNQUFNO0FBQ3JFLGdCQUFRLEtBQUssWUFBQTtBQUFBO0FBRWYsWUFBTSxRQUFRO0FBQUEsSUFBQTtBQUFBLElBRWhCLElBQW9CLFFBQUs7QUFDdkIsYUFBTyxNQUFNLFNBQVM7QUFBQSxJQUFBO0FBQUE7QUFBQSxJQUt4QixJQUFXLFlBQVksTUFBaUI7QUFDdEMsVUFBSSxnQkFBZ0IsUUFBUSxDQUFDLE1BQU0sS0FBSyxRQUFBLENBQVMsR0FBRztBQUNsRCxhQUFLLGVBQWU7QUFBQSxVQUNsQixPQUFPLEtBQUssU0FBQTtBQUFBLFVBQ1osU0FBUyxLQUFL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
|
|
225
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGltZS1pbnB1dC5jb21wb25lbnQuanMiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9lbGVtZW50cy90aW1lLWlucHV0L3RpbWUtaW5wdXQuY29tcG9uZW50LnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IHR5cGUgQ1NTUmVzdWx0R3JvdXAsIGlzU2VydmVyLCBMaXRFbGVtZW50IH0gZnJvbSAnbGl0JztcbmltcG9ydCB7IGN1c3RvbUVsZW1lbnQsIHByb3BlcnR5IH0gZnJvbSAnbGl0L2RlY29yYXRvcnMuanMnO1xuXG5pbXBvcnQgeyBzYmJMaXZlQW5ub3VuY2VyIH0gZnJvbSAnLi4vY29yZS9hMTF5LmpzJztcbmltcG9ydCB7IFNiYkxhbmd1YWdlQ29udHJvbGxlciB9IGZyb20gJy4uL2NvcmUvY29udHJvbGxlcnMuanMnO1xuaW1wb3J0IHtcbiAgaTE4blRpbWVJbnB1dENoYW5nZSxcbiAgaTE4blRpbWVJbnZhbGlkLFxuICBpMThuVGltZU1heCxcbiAgaTE4blRpbWVNYXhMZW5ndGgsXG59IGZyb20gJy4uL2NvcmUvaTE4bi5qcyc7XG5pbXBvcnQgeyBTYmJGb3JtQXNzb2NpYXRlZElucHV0TWl4aW4gfSBmcm9tICcuLi9jb3JlL21peGlucy5qcyc7XG5cbmltcG9ydCBzdHlsZSBmcm9tICcuL3RpbWUtaW5wdXQuc2Nzcz9saXQmaW5saW5lJztcblxuY29uc3QgUkVHRVhfQUxMT1dFRF9DSEFSQUNURVJTID0gL1swLTkuOixcXC07X2hIXS87XG5jb25zdCBSRUdFWF9ESVNBTExPV0VEX0NIQVJBQ1RFUlMgPSAvW14wLTkuOixcXC07X2hIXS9nO1xuY29uc3QgUkVHRVhfR1JPVVBTX1dJVEhPVVRfQ09MT04gPSAvXihbMC05XXsxLDJ9KShbMC05XXsyfSkkLztcbmNvbnN0IFJFR0VYX0dST1VQU19XSVRIX0NPTE9OID0gL14oWzAtOV17MSwyfSk/Wy46LFxcLTtfaEhdPyhbMC05XXsxLDJ9KT8kLztcblxuaW50ZXJmYWNlIFRpbWUge1xuICBob3VyczogbnVtYmVyO1xuICBtaW51dGVzOiBudW1iZXI7XG59XG5cbi8qKlxuICogQ3VzdG9tIGlucHV0IGZvciBhIHRpbWUuXG4gKi9cbmV4cG9ydFxuQGN1c3RvbUVsZW1lbnQoJ3NiYi10aW1lLWlucHV0JylcbmNsYXNzIFNiYlRpbWVJbnB1dEVsZW1lbnQgZXh0ZW5kcyBTYmJGb3JtQXNzb2NpYXRlZElucHV0TWl4aW4oTGl0RWxlbWVudCkge1xuICBwdWJsaWMgc3RhdGljIG92ZXJyaWRlIHN0eWxlczogQ1NTUmVzdWx0R3JvdXAgPSBzdHlsZTtcblxuICAvKipcbiAgICogVGhlIHZhbHVlIG9mIHRoZSB0aW1lIGlucHV0LiBSZWZsZWN0cyB0aGUgY3VycmVudCB0ZXh0IHZhbHVlXG4gICAqIG9mIHRoaXMgaW5wdXQuXG4gICAqL1xuICBwdWJsaWMgb3ZlcnJpZGUgc2V0IHZhbHVlKHZhbHVlOiBzdHJpbmcpIHtcbiAgICB2YWx1ZSA9XG4gICAgICB0eXBlb2YgdmFsdWUgPT09ICdzdHJpbmcnXG4gICAgICAgID8gdmFsdWUucmVwbGFjZShSRUdFWF9ESVNBTExPV0VEX0NIQVJBQ1RFUlMsICcnKS5zdWJzdHJpbmcoMCwgNSlcbiAgICAgICAgOiAnJztcbiAgICB0aGlzLl90cnlQYXJzZVZhbHVlKHZhbHVlKTtcbiAgICAvLyBBcyBsb25nIGFzIHRoaXMgZWxlbWVudCBoYXMgZm9jdXMgd2UgZGVsYXkgYXV0b21hdGljYWxseSB1cGRhdGluZ1xuICAgIC8vIHRoZSB2YWx1ZSB3aXRoIHRoZSBmb3JtYXR0ZWQgc3RyaW5nIG9mIHRoZSBwYXJzZWQgZGF0ZS5cbiAgICBpZiAoIWlzU2VydmVyICYmICF0aGlzLm1hdGNoZXMoJzpmb2N1cycpICYmIHRoaXMudmFsdWVBc0RhdGUgIT09IG51bGwpIHtcbiAgICAgIHZhbHVlID0gdGhpcy5fZm9ybWF0VGltZSgpO1xuICAgIH1cbiAgICBzdXBlci52YWx1ZSA9IHZhbHVlO1xuICB9XG4gIHB1YmxpYyBvdmVycmlkZSBnZXQgdmFsdWUoKTogc3RyaW5nIHtcbiAgICByZXR1cm4gc3VwZXIudmFsdWUgPz8gJyc7XG4gIH1cblxuICAvKiogRm9ybWF0cyB0aGUgY3VycmVudCBpbnB1dCdzIHZhbHVlIGFzIGRhdGUuICovXG4gIEBwcm9wZXJ0eSh7IGF0dHJpYnV0ZTogZmFsc2UgfSlcbiAgcHVibGljIHNldCB2YWx1ZUFzRGF0ZShkYXRlOiBEYXRlIHwgbnVsbCkge1xuICAgIGlmIChkYXRlIGluc3RhbmNlb2YgRGF0ZSAmJiAhaXNOYU4oZGF0ZS52YWx1ZU9mKCkpKSB7XG4gICAgICB0aGlzLl92YWx1ZUFzVGltZSA9IHtcbiAgICAgICAgaG91cnM6IGRhdGUuZ2V0SG91cnMoKSxcbiAgICAgICAgbWludXRlczogZGF0ZS5nZXRNaW51dGVzKCksXG4gICAgICB9O1xuICAgICAgY29uc3QgZm9ybWF0dGVkVmFsdWUgPSB0aGlzLl9mb3JtYXRUaW1lKCk7XG4gICAgICBpZiAodGhpcy52YWx1ZSAhPT0gZm9ybWF0dGVkVmFsdWUpIHtcbiAgICAgICAgdGhpcy52YWx1ZSA9IGZvcm1hdHRlZFZhbHVlO1xuICAgICAgfVxuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLl92YWx1ZUFzVGltZSA9IG51bGw7XG4gICAgICB0aGlzLnZhbHVlID0gJyc7XG4gICAgfVxuICB9XG4gIHB1YmxpYyBnZXQgdmFsdWVBc0RhdGUoKTogRGF0ZSB8IG51bGwge1xuICAgIGlmICh0aGlzLl92YWx1ZUFzVGltZSAmJiB0aGlzLl9pc1RpbWVWYWxpZCh0aGlzLl92YWx1ZUFzVGltZSkpIHtcbiAgICAgIGNvbnN0IGRhdGUgPSBuZXcgRGF0ZSgwKTtcbiAgICAgIGRhdGUuc2V0SG91cnModGhpcy5fdmFsdWVBc1RpbWUuaG91cnMpO1xuICAgICAgZGF0ZS5zZXRNaW51dGVzKHRoaXMuX3ZhbHVlQXNUaW1lLm1pbnV0ZXMpO1xuICAgICAgcmV0dXJuIGRhdGU7XG4gICAgfSBlbHNlIHtcbiAgICAgIHJldHVybiBudWxsO1xuICAgIH1cbiAgfVxuICBwcml2YXRlIF92YWx1ZUFzVGltZT86IFRpbWUgfCBudWxsO1xuXG4gIC8qKlxuICAgKiBTdG9yZXMgdGhlIGxhc3Qgc3RyaW5nIGFuZCBwYXJzZWQgZGF0ZSBvYmplY3QgdmFsdWUgdG8gcHJldmVudCByZXBlYXRlZFxuICAgKiBwYXJzaW5nIG9mIHRoZSBzdHJpbmcgdmFsdWUuXG4gICAqL1xuICBwcml2YXRlIF92YWx1ZUNhY2hlPzogW3N0cmluZywgVGltZSB8IG51bGxdO1xuXG4gIHByaXZhdGUgX2xhbmd1YWdlID0gbmV3IFNiYkxhbmd1YWdlQ29udHJvbGxlcih0aGlzKTtcblxuICBwdWJsaWMgY29uc3RydWN0b3IoKSB7XG4gICAgc3VwZXIoKTtcbiAgICB0aGlzLmFkZEV2ZW50TGlzdGVuZXI/LignY2hhbmdlJywgKCkgPT4gdGhpcy5fdXBkYXRlVmFsdWVEYXRlRm9ybWF0KCksIHsgY2FwdHVyZTogdHJ1ZSB9KTtcbiAgICB0aGlzLmFkZEV2ZW50TGlzdGVuZXI/LignY2hhbmdlJywgKCkgPT5cbiAgICAgIHNiYkxpdmVBbm5vdW5jZXIuYW5ub3VuY2UoaTE4blRpbWVJbnB1dENoYW5nZSh0aGlzLnZhbHVlKVt0aGlzLl9sYW5ndWFnZS5jdXJyZW50XSksXG4gICAgKTtcbiAgICB0aGlzLmFkZEV2ZW50TGlzdGVuZXI/Ligna2V5ZG93bicsIChldmVudCkgPT4gdGhpcy5fcHJldmVudENoYXJJbnNlcnQoZXZlbnQpKTtcbiAgfVxuXG4gIHB1YmxpYyBvdmVycmlkZSBjb25uZWN0ZWRDYWxsYmFjaygpOiB2b2lkIHtcbiAgICBzdXBlci5jb25uZWN0ZWRDYWxsYmFjaygpO1xuICAgIHRoaXMuaW5wdXRNb2RlIHx8PSAnbnVtZXJpYyc7XG4gICAgdGhpcy5wbGFjZWhvbGRlciB8fD0gJ0hIOk1NJztcbiAgfVxuXG4gIHB1YmxpYyBvdmVycmlkZSBkaXNjb25uZWN0ZWRDYWxsYmFjaygpOiB2b2lkIHtcbiAgICBzdXBlci5kaXNjb25uZWN0ZWRDYWxsYmFjaygpO1xuICB9XG5cbiAgcHJvdGVjdGVkIG92ZXJyaWRlIHVwZGF0ZUZvcm1WYWx1ZSgpOiB2b2lkIHtcbiAgICB0aGlzLl90cnlQYXJzZVZhbHVlKCk7XG4gICAgY29uc3QgZm9ybVZhbHVlID0gdGhpcy52YWx1ZUFzRGF0ZSAhPT0gbnVsbCA/IHRoaXMuX2Zvcm1hdFRpbWUoKSA6IG51bGw7XG4gICAgdGhpcy5pbnRlcm5hbHMuc2V0Rm9ybVZhbHVlKGZvcm1WYWx1ZSwgdGhpcy52YWx1ZSk7XG4gIH1cblxuICBwcml2YXRlIF90cnlQYXJzZVZhbHVlKHZhbHVlID0gdGhpcy52YWx1ZSk6IHZvaWQge1xuICAgIGlmICh0aGlzLl92YWx1ZUNhY2hlPy5bMF0gIT09IHZhbHVlKSB7XG4gICAgICB0aGlzLl92YWx1ZUFzVGltZSA9IHRoaXMuX3BhcnNlVmFsdWUodmFsdWUpO1xuICAgICAgdGhpcy5fdmFsdWVDYWNoZSA9IFt2YWx1ZSwgdGhpcy5fdmFsdWVBc1RpbWUgPz8gbnVsbF07XG4gICAgfVxuICB9XG5cbiAgLyoqIFZhbGlkYXRlIGlucHV0IGFnYWluc3QgdGhlIGRlZmluZWQgUmVnRXhwcy4gKi9cbiAgcHJpdmF0ZSBfcGFyc2VWYWx1ZSh2YWx1ZTogc3RyaW5nIHwgdW5kZWZpbmVkKTogVGltZSB8IG51bGwge1xuICAgIGNvbnN0IHRyaW1tZWRWYWx1ZSA9IHZhbHVlPy50cmltKCk7XG4gICAgaWYgKCF0cmltbWVkVmFsdWUpIHtcbiAgICAgIHJldHVybiBudWxsO1xuICAgIH1cblxuICAgIC8vIFNwZWNpYWwgY2FzZTogdGhlIGlucHV0IGlzIDMgb3IgNCBkaWdpdHM7IHNwbGl0IGxpa2U6IEFCPzpDRFxuICAgIGNvbnN0IG1hdGNoID1cbiAgICAgIHRyaW1tZWRWYWx1ZS5tYXRjaChSRUdFWF9HUk9VUFNfV0lUSE9VVF9DT0xPTikgPz8gdHJpbW1lZFZhbHVlLm1hdGNoKFJFR0VYX0dST1VQU19XSVRIX0NPTE9OKTtcbiAgICBpZiAobWF0Y2gpIHtcbiAgICAgIHJldHVybiB7IGhvdXJzOiArbWF0Y2hbMV0gfHwgMCwgbWludXRlczogK21hdGNoWzJdIHx8IDAgfTtcbiAgICB9XG5cbiAgICByZXR1cm4gbnVsbDtcbiAgfVxuXG4gIHByaXZhdGUgX3VwZGF0ZVZhbHVlRGF0ZUZvcm1hdCgpOiB2b2lkIHtcbiAgICBpZiAodGhpcy52YWx1ZUFzRGF0ZSkge1xuICAgICAgY29uc3QgZm9ybWF0dGVkRGF0ZSA9IHRoaXMuX2Zvcm1hdFRpbWUoKTtcbiAgICAgIGlmICh0aGlzLnZhbHVlICE9PSBmb3JtYXR0ZWREYXRlKSB7XG4gICAgICAgIHN1cGVyLnZhbHVlID0gZm9ybWF0dGVkRGF0ZTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBwcml2YXRlIF9mb3JtYXRUaW1lKCk6IHN0cmluZyB7XG4gICAgY29uc3QgdmFsdWUgPSB0aGlzLnZhbHVlQXNEYXRlO1xuICAgIGlmICghdmFsdWUpIHtcbiAgICAgIHJldHVybiAnJztcbiAgICB9XG4gICAgY29uc3QgaG91cnMgPSBTdHJpbmcodmFsdWUuZ2V0SG91cnMoKSkucGFkU3RhcnQoMiwgJzAnKTtcbiAgICBjb25zdCBtaW51dGVzID0gU3RyaW5nKHZhbHVlLmdldE1pbnV0ZXMoKSkucGFkU3RhcnQoMiwgJzAnKTtcbiAgICByZXR1cm4gYCR7aG91cnN9OiR7bWludXRlc31gO1xuICB9XG5cbiAgcHJvdGVjdGVkIG92ZXJyaWRlIHByZXBhcmVQYXN0ZWRUZXh0KHRleHQ6IHN0cmluZyk6IHN0cmluZyB7XG4gICAgcmV0dXJuIHRleHRcbiAgICAgIC5yZXBsYWNlKFJFR0VYX0RJU0FMTE9XRURfQ0hBUkFDVEVSUywgJycpXG4gICAgICAuc3Vic3RyaW5nKDAsIDUgLSAodGhpcy50ZXh0Q29udGVudD8ubGVuZ3RoID8/IDApKTtcbiAgfVxuXG4gIHByb3RlY3RlZCBvdmVycmlkZSBzaG91bGRWYWxpZGF0ZShuYW1lOiBQcm9wZXJ0eUtleSB8IHVuZGVmaW5lZCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiAoXG4gICAgICBzdXBlci5zaG91bGRWYWxpZGF0ZShuYW1lKSB8fFxuICAgICAgWyd2YWx1ZUFzRGF0ZScsICdtaW4nLCAnbWF4JywgJ2RhdGVGaWx0ZXInXS5pbmNsdWRlcyhuYW1lIGFzIHN0cmluZylcbiAgICApO1xuICB9XG5cbiAgcHJvdGVjdGVkIG92ZXJyaWRlIHZhbGlkYXRlKCk6IHZvaWQge1xuICAgIHN1cGVyLnZhbGlkYXRlKCk7XG4gICAgaWYgKCF0aGlzLnZhbHVlKSB7XG4gICAgICB0aGlzLl9yZW1vdmVWYWxpZGl0eUVycm9ycygpO1xuICAgIH0gZWxzZSBpZiAoIXRoaXMuX3ZhbHVlQXNUaW1lKSB7XG4gICAgICB0aGlzLnNldFZhbGlkaXR5RmxhZygnYmFkSW5wdXQnLCBpMThuVGltZUludmFsaWRbdGhpcy5sYW5ndWFnZS5jdXJyZW50XSk7XG4gICAgfSBlbHNlIGlmICghdGhpcy5faXNUaW1lVmFsaWQodGhpcy5fdmFsdWVBc1RpbWUpKSB7XG4gICAgICB0aGlzLnNldFZhbGlkaXR5RmxhZygncmFuZ2VPdmVyZmxvdycsIGkxOG5UaW1lTWF4W3RoaXMubGFuZ3VhZ2UuY3VycmVudF0pO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLl9yZW1vdmVWYWxpZGl0eUVycm9ycygpO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgX3JlbW92ZVZhbGlkaXR5RXJyb3JzKCk6IHZvaWQge1xuICAgIChbJ2JhZElucHV0JywgJ3JhbmdlT3ZlcmZsb3cnXSBhcyBjb25zdCkuZm9yRWFjaCgoZikgPT4gdGhpcy5yZW1vdmVWYWxpZGl0eUZsYWcoZikpO1xuICB9XG5cbiAgLyoqIENoZWNrcyBpZiB2YWx1ZXMgb2YgaG91cnMgYW5kIG1pbnV0ZXMgYXJlIHBvc3NpYmxlLCB0byBhdm9pZCBub24tZXhpc3RlbnQgdGltZXMuICovXG4gIHByaXZhdGUgX2lzVGltZVZhbGlkKHRpbWU6IFRpbWUpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGltZS5ob3VycyA8IDI0ICYmIHRpbWUubWludXRlcyA8IDYwO1xuICB9XG5cbiAgLyoqICBPbmx5IGFsbG93IHR5cGluZyBudW1iZXJzIGFuZCBzZXBhcmF0b3Iga2V5cy4gKi9cbiAgcHJpdmF0ZSBfcHJldmVudENoYXJJbnNlcnQoZXZlbnQ6IEtleWJvYXJkRXZlbnQpOiB2b2lkIHtcbiAgICBjb25zdCBhbHdheXNBbGxvd2VkID0gW1xuICAgICAgJ0JhY2tzcGFjZScsXG4gICAgICAnVGFiJyxcbiAgICAgICdFbnRlcicsXG4gICAgICAnQXJyb3dVcCcsXG4gICAgICAnQXJyb3dEb3duJyxcbiAgICAgICdBcnJvd0xlZnQnLFxuICAgICAgJ0Fycm93UmlnaHQnLFxuICAgICAgJ0hvbWUnLFxuICAgICAgJ0VuZCcsXG4gICAgICAnUGFnZVVwJyxcbiAgICAgICdQYWdlRG93bicsXG4gICAgICAnRGVsZXRlJyxcbiAgICBdO1xuXG4gICAgaWYgKFxuICAgICAgZXZlbnQuY3RybEtleSB8fFxuICAgICAgZXZlbnQuYWx0S2V5IHx8XG4gICAgICBldmVudC5tZXRhS2V5IHx8XG4gICAgICBhbHdheXNBbGxvd2VkLmluY2x1ZGVzKGV2ZW50LmtleSkgfHxcbiAgICAgIChSRUdFWF9BTExPV0VEX0NIQVJBQ1RFUlMudGVzdChldmVudC5rZXkpICYmICh0aGlzLnZhbHVlLmxlbmd0aCA8IDUgfHwgdGhpcy5faGFzU2VsZWN0aW9uKCkpKVxuICAgICkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG4gICAgaWYgKHRoaXMudmFsdWUubGVuZ3RoID49IDUpIHtcbiAgICAgIHNiYkxpdmVBbm5vdW5jZXIuYW5ub3VuY2UoaTE4blRpbWVNYXhMZW5ndGhbdGhpcy5fbGFuZ3VhZ2UuY3VycmVudF0pO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgX2hhc1NlbGVjdGlvbigpOiBib29sZWFuIHtcbiAgICBjb25zdCByYW5nZSA9IHdpbmRvdy5nZXRTZWxlY3Rpb24oKT8uZ2V0UmFuZ2VBdCgwKTtcbiAgICByZXR1cm4gISFyYW5nZSAmJiByYW5nZS5zdGFydE9mZnNldCAhPT0gcmFuZ2UuZW5kT2Zmc2V0O1xuICB9XG59XG5cbmRlY2xhcmUgZ2xvYmFsIHtcbiAgaW50ZXJmYWNlIEhUTUxFbGVtZW50VGFnTmFtZU1hcCB7XG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uYW1pbmctY29udmVudGlvblxuICAgICdzYmItdGltZS1pbnB1dCc6IFNiYlRpbWVJbnB1dEVsZW1lbnQ7XG4gIH1cbn1cbiJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFlQSxNQUFNLDJCQUEyQjtBQUNqQyxNQUFNLDhCQUE4QjtBQUNwQyxNQUFNLDZCQUE2QjtBQUNuQyxNQUFNLDBCQUEwQjtJQVkxQix1QkFBbUIsTUFBQTs7MEJBRHhCLGNBQWMsZ0JBQWdCLENBQUM7Ozs7b0JBQ0UsNEJBQTRCLFVBQVU7OztBQUE5QyxFQUFBLG1CQUFRLFlBQXVDO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQSxJQU92RSxJQUFvQixNQUFNLE9BQWE7QUFDckMsY0FDRSxPQUFPLFVBQVUsV0FDYixNQUFNLFFBQVEsNkJBQTZCLEVBQUUsRUFBRSxVQUFVLEdBQUcsQ0FBQyxJQUM3RDtBQUNOLFdBQUssZUFBZSxLQUFLO0FBR3pCLFVBQUksQ0FBQyxZQUFZLENBQUMsS0FBSyxRQUFRLFFBQVEsS0FBSyxLQUFLLGdCQUFnQixNQUFNO0FBQ3JFLGdCQUFRLEtBQUssWUFBQTtBQUFBO0FBRWYsWUFBTSxRQUFRO0FBQUEsSUFBQTtBQUFBLElBRWhCLElBQW9CLFFBQUs7QUFDdkIsYUFBTyxNQUFNLFNBQVM7QUFBQSxJQUFBO0FBQUE7QUFBQSxJQUt4QixJQUFXLFlBQVksTUFBaUI7QUFDdEMsVUFBSSxnQkFBZ0IsUUFBUSxDQUFDLE1BQU0sS0FBSyxRQUFBLENBQVMsR0FBRztBQUNsRCxhQUFLLGVBQWU7QUFBQSxVQUNsQixPQUFPLEtBQUssU0FBQTtBQUFBLFVBQ1osU0FBUyxLQUFLLFdBQUE7QUFBQSxRQUFVO0FBRTFCLGNBQU0saUJBQWlC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
|
|
@@ -10,10 +10,6 @@ declare const SbbToastElement_base: import('../core/mixins.js').AbstractConstruc
|
|
|
10
10
|
* @slot - Use the unnamed slot to add content to the `sbb-toast`.
|
|
11
11
|
* @slot icon - Assign a custom icon via slot.
|
|
12
12
|
* @slot action - Provide a custom action for this toast.
|
|
13
|
-
* @event {CustomEvent<void>} willOpen - Emits whenever the `sbb-toast` starts the opening transition. Can be canceled.
|
|
14
|
-
* @event {CustomEvent<void>} didOpen - Emits whenever the `sbb-toast` is opened.
|
|
15
|
-
* @event {CustomEvent<void>} willClose - Emits whenever the `sbb-toast` begins the closing transition. Can be canceled.
|
|
16
|
-
* @event {CustomEvent<void>} didClose - Emits whenever the `sbb-toast` is closed.
|
|
17
13
|
* @cssprop [--sbb-toast-z-index=var(--sbb-overlay-default-z-index)] - To specify a custom stack order,
|
|
18
14
|
* the `z-index` can be overridden by defining this CSS variable. The default `z-index` of the
|
|
19
15
|
* component is set to `var(--sbb-overlay-default-z-index)` with a value of `1000`.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"toast.component.d.ts","sourceRoot":"","sources":["../../../../src/elements/toast/toast.component.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,cAAc,EAAE,cAAc,EAAE,MAAM,KAAK,CAAC;AAK1E,OAAO,EAAE,uBAAuB,EAAE,MAAM,0BAA0B,CAAC;AAYnE,OAAO,iCAAiC,CAAC;AACzC,OAAO,eAAe,CAAC;AAEvB,KAAK,wBAAwB,GAAG,KAAK,GAAG,QAAQ,CAAC;AACjD,KAAK,0BAA0B,GAAG,MAAM,GAAG,OAAO,GAAG,QAAQ,GAAG,OAAO,GAAG,KAAK,CAAC;AAChF,MAAM,MAAM,gBAAgB,GAAG,GAAG,wBAAwB,IAAI,0BAA0B,EAAE,CAAC;;AAK3F
|
|
1
|
+
{"version":3,"file":"toast.component.d.ts","sourceRoot":"","sources":["../../../../src/elements/toast/toast.component.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,cAAc,EAAE,cAAc,EAAE,MAAM,KAAK,CAAC;AAK1E,OAAO,EAAE,uBAAuB,EAAE,MAAM,0BAA0B,CAAC;AAYnE,OAAO,iCAAiC,CAAC;AACzC,OAAO,eAAe,CAAC;AAEvB,KAAK,wBAAwB,GAAG,KAAK,GAAG,QAAQ,CAAC;AACjD,KAAK,0BAA0B,GAAG,MAAM,GAAG,OAAO,GAAG,QAAQ,GAAG,OAAO,GAAG,KAAK,CAAC;AAChF,MAAM,MAAM,gBAAgB,GAAG,GAAG,wBAAwB,IAAI,0BAA0B,EAAE,CAAC;;AAK3F;;;;;;;;;GASG;AACH,qBAEM,eAAgB,SAAQ,oBAE7B;IACC,OAAuB,MAAM,EAAE,cAAc,CAAS;IAEtD;;;;OAIG;IACH,SAEgB,OAAO,EAAE,MAAM,CAAK;IAEpC,6CAA6C;IAC7C,SAA6C,QAAQ,EAAE,gBAAgB,CAAmB;IAE1F;;;OAGG;IACH,SAA4B,UAAU,EAAE,QAAQ,GAAG,WAAW,GAAG,KAAK,CAAY;IAElF,OAAO,CAAC,aAAa,CAAC,CAAgC;IACtD,OAAO,CAAC,SAAS,CAAmC;;IAOpC,iBAAiB,IAAI,IAAI;IAQzB,oBAAoB,IAAI,IAAI;cAQzB,UAAU,CAAC,iBAAiB,EAAE,cAAc,CAAC,IAAI,CAAC,GAAG,IAAI;IAQ5E;;;OAGG;IACI,IAAI,IAAI,IAAI;IAgBnB;;OAEG;IACI,KAAK,IAAI,IAAI;IAepB,OAAO,CAAC,cAAc;IAMtB,OAAO,CAAC,cAAc;IAWtB,OAAO,CAAC,QAAQ;IAQhB,OAAO,CAAC,wBAAwB;IAIhC;;;;OAIG;IACH,OAAO,CAAC,oBAAoB;IAU5B,OAAO,CAAC,mBAAmB;IAyB3B,OAAO,CAAC,oBAAoB;IAS5B;;OAEG;IACH,OAAO,CAAC,iBAAiB;cAQN,MAAM,IAAI,cAAc;CAgC5C;AAED,OAAO,CAAC,MAAM,CAAC;IACb,UAAU,qBAAqB;QAE7B,WAAW,EAAE,eAAe,CAAC;KAC9B;CACF"}
|
|
@@ -255,7 +255,7 @@ let SbbToastElement = (() => {
|
|
|
255
255
|
* If there are other opened toasts in the page, close them first.
|
|
256
256
|
*/
|
|
257
257
|
open() {
|
|
258
|
-
if (this.state !== "closed" || !this.
|
|
258
|
+
if (this.state !== "closed" || !this.dispatchBeforeOpenEvent()) {
|
|
259
259
|
return;
|
|
260
260
|
}
|
|
261
261
|
this.showPopover?.();
|
|
@@ -269,7 +269,7 @@ let SbbToastElement = (() => {
|
|
|
269
269
|
* Close the toast.
|
|
270
270
|
*/
|
|
271
271
|
close() {
|
|
272
|
-
if (this.state !== "opened" || !this.
|
|
272
|
+
if (this.state !== "opened" || !this.dispatchBeforeCloseEvent()) {
|
|
273
273
|
return;
|
|
274
274
|
}
|
|
275
275
|
clearTimeout(this._closeTimeout);
|
|
@@ -281,11 +281,11 @@ let SbbToastElement = (() => {
|
|
|
281
281
|
_handleClosing() {
|
|
282
282
|
this.state = "closed";
|
|
283
283
|
this.hidePopover?.();
|
|
284
|
-
this.
|
|
284
|
+
this.dispatchCloseEvent();
|
|
285
285
|
}
|
|
286
286
|
_handleOpening() {
|
|
287
287
|
this.state = "opened";
|
|
288
|
-
this.
|
|
288
|
+
this.dispatchOpenEvent();
|
|
289
289
|
if (this.timeout) {
|
|
290
290
|
this._closeTimeout = setTimeout(() => this.close(), this.timeout);
|
|
291
291
|
}
|
|
@@ -397,4 +397,4 @@ let SbbToastElement = (() => {
|
|
|
397
397
|
export {
|
|
398
398
|
SbbToastElement
|
|
399
399
|
};
|
|
400
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidG9hc3QuY29tcG9uZW50LmpzIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvZWxlbWVudHMvdG9hc3QvdG9hc3QuY29tcG9uZW50LnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB0eXBlIHsgQ1NTUmVzdWx0R3JvdXAsIFByb3BlcnR5VmFsdWVzLCBUZW1wbGF0ZVJlc3VsdCB9IGZyb20gJ2xpdCc7XG5pbXBvcnQgeyBodG1sLCBub3RoaW5nIH0gZnJvbSAnbGl0JztcbmltcG9ydCB7IGN1c3RvbUVsZW1lbnQsIHByb3BlcnR5IH0gZnJvbSAnbGl0L2RlY29yYXRvcnMuanMnO1xuXG5pbXBvcnQgdHlwZSB7IFNiYlRyYW5zcGFyZW50QnV0dG9uRWxlbWVudCwgU2JiVHJhbnNwYXJlbnRCdXR0b25MaW5rRWxlbWVudCB9IGZyb20gJy4uL2J1dHRvbi5qcyc7XG5pbXBvcnQgeyBTYmJPcGVuQ2xvc2VCYXNlRWxlbWVudCB9IGZyb20gJy4uL2NvcmUvYmFzZS1lbGVtZW50cy5qcyc7XG5pbXBvcnQgeyBTYmJMYW5ndWFnZUNvbnRyb2xsZXIgfSBmcm9tICcuLi9jb3JlL2NvbnRyb2xsZXJzLmpzJztcbmltcG9ydCB7IGZvcmNlVHlwZSB9IGZyb20gJy4uL2NvcmUvZGVjb3JhdG9ycy5qcyc7XG5pbXBvcnQgeyBpc0xlYW4sIGlzWmVyb0FuaW1hdGlvbkR1cmF0aW9uIH0gZnJvbSAnLi4vY29yZS9kb20uanMnO1xuaW1wb3J0IHsgY29tcG9zZWRQYXRoSGFzQXR0cmlidXRlIH0gZnJvbSAnLi4vY29yZS9ldmVudGluZy5qcyc7XG5pbXBvcnQgeyBpMThuQ2xvc2VBbGVydCB9IGZyb20gJy4uL2NvcmUvaTE4bi5qcyc7XG5pbXBvcnQgeyBTYmJIeWRyYXRpb25NaXhpbiwgU2JiUmVhZG9ubHlNaXhpbiB9IGZyb20gJy4uL2NvcmUvbWl4aW5zLmpzJztcbmltcG9ydCB7IFNiYkljb25OYW1lTWl4aW4gfSBmcm9tICcuLi9pY29uLmpzJztcbmltcG9ydCB0eXBlIHsgU2JiTGlua0J1dHRvbkVsZW1lbnQsIFNiYkxpbmtFbGVtZW50LCBTYmJMaW5rU3RhdGljRWxlbWVudCB9IGZyb20gJy4uL2xpbmsuanMnO1xuXG5pbXBvcnQgc3R5bGUgZnJvbSAnLi90b2FzdC5zY3NzP2xpdCZpbmxpbmUnO1xuXG5pbXBvcnQgJy4uL2J1dHRvbi90cmFuc3BhcmVudC1idXR0b24uanMnO1xuaW1wb3J0ICcuLi9kaXZpZGVyLmpzJztcblxudHlwZSBTYmJUb2FzdFBvc2l0aW9uVmVydGljYWwgPSAndG9wJyB8ICdib3R0b20nO1xudHlwZSBTYmJUb2FzdFBvc2l0aW9uSG9yaXpvbnRhbCA9ICdsZWZ0JyB8ICdzdGFydCcgfCAnY2VudGVyJyB8ICdyaWdodCcgfCAnZW5kJztcbmV4cG9ydCB0eXBlIFNiYlRvYXN0UG9zaXRpb24gPSBgJHtTYmJUb2FzdFBvc2l0aW9uVmVydGljYWx9LSR7U2JiVG9hc3RQb3NpdGlvbkhvcml6b250YWx9YDtcblxuLy8gQSBnbG9iYWwgY29sbGVjdGlvbiBvZiBleGlzdGluZyB0b2FzdHNcbmNvbnN0IHRvYXN0UmVmcyA9IG5ldyBTZXQ8U2JiVG9hc3RFbGVtZW50PigpO1xuXG4vKipcbiAqIEl0IGRpc3BsYXlzIGEgdG9hc3Qgbm90aWZpY2F0aW9uLlxuICpcbiAqIEBzbG90IC0gVXNlIHRoZSB1bm5hbWVkIHNsb3QgdG8gYWRkIGNvbnRlbnQgdG8gdGhlIGBzYmItdG9hc3RgLlxuICogQHNsb3QgaWNvbiAtIEFzc2lnbiBhIGN1c3RvbSBpY29uIHZpYSBzbG90LlxuICogQHNsb3QgYWN0aW9uIC0gUHJvdmlkZSBhIGN1c3RvbSBhY3Rpb24gZm9yIHRoaXMgdG9hc3QuXG4gKiBAZXZlbnQge0N1c3RvbUV2ZW50PHZvaWQ+fSB3aWxsT3BlbiAtIEVtaXRzIHdoZW5ldmVyIHRoZSBgc2JiLXRvYXN0YCBzdGFydHMgdGhlIG9wZW5pbmcgdHJhbnNpdGlvbi4gQ2FuIGJlIGNhbmNlbGVkLlxuICogQGV2ZW50IHtDdXN0b21FdmVudDx2b2lkPn0gZGlkT3BlbiAtIEVtaXRzIHdoZW5ldmVyIHRoZSBgc2JiLXRvYXN0YCBpcyBvcGVuZWQuXG4gKiBAZXZlbnQge0N1c3RvbUV2ZW50PHZvaWQ+fSB3aWxsQ2xvc2UgLSBFbWl0cyB3aGVuZXZlciB0aGUgYHNiYi10b2FzdGAgYmVnaW5zIHRoZSBjbG9zaW5nIHRyYW5zaXRpb24uIENhbiBiZSBjYW5jZWxlZC5cbiAqIEBldmVudCB7Q3VzdG9tRXZlbnQ8dm9pZD59IGRpZENsb3NlIC0gRW1pdHMgd2hlbmV2ZXIgdGhlIGBzYmItdG9hc3RgIGlzIGNsb3NlZC5cbiAqIEBjc3Nwcm9wIFstLXNiYi10b2FzdC16LWluZGV4PXZhcigtLXNiYi1vdmVybGF5LWRlZmF1bHQtei1pbmRleCldIC0gVG8gc3BlY2lmeSBhIGN1c3RvbSBzdGFjayBvcmRlcixcbiAqIHRoZSBgei1pbmRleGAgY2FuIGJlIG92ZXJyaWRkZW4gYnkgZGVmaW5pbmcgdGhpcyBDU1MgdmFyaWFibGUuIFRoZSBkZWZhdWx0IGB6LWluZGV4YCBvZiB0aGVcbiAqIGNvbXBvbmVudCBpcyBzZXQgdG8gYHZhcigtLXNiYi1vdmVybGF5LWRlZmF1bHQtei1pbmRleClgIHdpdGggYSB2YWx1ZSBvZiBgMTAwMGAuXG4gKi9cbmV4cG9ydFxuQGN1c3RvbUVsZW1lbnQoJ3NiYi10b2FzdCcpXG5jbGFzcyBTYmJUb2FzdEVsZW1lbnQgZXh0ZW5kcyBTYmJJY29uTmFtZU1peGluKFxuICBTYmJIeWRyYXRpb25NaXhpbihTYmJSZWFkb25seU1peGluKFNiYk9wZW5DbG9zZUJhc2VFbGVtZW50KSksXG4pIHtcbiAgcHVibGljIHN0YXRpYyBvdmVycmlkZSBzdHlsZXM6IENTU1Jlc3VsdEdyb3VwID0gc3R5bGU7XG5cbiAgLyoqXG4gICAqIFRoZSBsZW5ndGggb2YgdGltZSBpbiBtaWxsaXNlY29uZHMgdG8gd2FpdCBiZWZvcmUgYXV0b21hdGljYWxseSBkaXNtaXNzaW5nIHRoZSB0b2FzdC5cbiAgICogSWYgMCAoZGVmYXVsdCksIGl0IHN0YXlzIG9wZW4gaW5kZWZpbml0ZWx5LlxuICAgKiBGcm9tIGFjY2Vzc2liaWxpdHkgcGVyc3BlY3RpdmUsIGl0IGlzIHJlY29tbWVuZGVkIHRvIHNldCBhIHRpbWVvdXQgb2YgYXQgbGVhc3QgMjAgc2Vjb25kcy5cbiAgICovXG4gIEBmb3JjZVR5cGUoKVxuICBAcHJvcGVydHkoeyB0eXBlOiBOdW1iZXIgfSlcbiAgcHVibGljIGFjY2Vzc29yIHRpbWVvdXQ6IG51bWJlciA9IDA7XG5cbiAgLyoqIFRoZSBwb3NpdGlvbiB3aGVyZSB0byBwbGFjZSB0aGUgdG9hc3QuICovXG4gIEBwcm9wZXJ0eSh7IHJlZmxlY3Q6IHRydWUgfSkgcHVibGljIGFjY2Vzc29yIHBvc2l0aW9uOiBTYmJUb2FzdFBvc2l0aW9uID0gJ2JvdHRvbS1jZW50ZXInO1xuXG4gIC8qKlxuICAgKiBUaGUgQVJJQSBwb2xpdGVuZXNzIGxldmVsLlxuICAgKiBDaGVjayBodHRwczovL2RldmVsb3Blci5tb3ppbGxhLm9yZy9lbi1VUy9kb2NzL1dlYi9BY2Nlc3NpYmlsaXR5L0FSSUEvQVJJQV9MaXZlX1JlZ2lvbnMjbGl2ZV9yZWdpb25zIGZvciBmdXJ0aGVyIGluZm9cbiAgICovXG4gIEBwcm9wZXJ0eSgpIHB1YmxpYyBhY2Nlc3NvciBwb2xpdGVuZXNzOiAncG9saXRlJyB8ICdhc3NlcnRpdmUnIHwgJ29mZicgPSAncG9saXRlJztcblxuICBwcml2YXRlIF9jbG9zZVRpbWVvdXQ/OiBSZXR1cm5UeXBlPHR5cGVvZiBzZXRUaW1lb3V0PjtcbiAgcHJpdmF0ZSBfbGFuZ3VhZ2UgPSBuZXcgU2JiTGFuZ3VhZ2VDb250cm9sbGVyKHRoaXMpO1xuXG4gIHB1YmxpYyBjb25zdHJ1Y3RvcigpIHtcbiAgICBzdXBlcigpO1xuICAgIHRoaXMuYWRkRXZlbnRMaXN0ZW5lcj8uKCdjbGljaycsIChlKSA9PiB0aGlzLl9vbkNsaWNrKGUpKTtcbiAgfVxuXG4gIHB1YmxpYyBvdmVycmlkZSBjb25uZWN0ZWRDYWxsYmFjaygpOiB2b2lkIHtcbiAgICB0aGlzLnBvcG92ZXIgPSAnbWFudWFsJztcbiAgICBzdXBlci5jb25uZWN0ZWRDYWxsYmFjaygpO1xuXG4gICAgLy8gQWRkIHRoaXMgdG9hc3QgdG8gdGhlIGdsb2JhbCBjb2xsZWN0aW9uXG4gICAgdG9hc3RSZWZzLmFkZCh0aGlzKTtcbiAgfVxuXG4gIHB1YmxpYyBvdmVycmlkZSBkaXNjb25uZWN0ZWRDYWxsYmFjaygpOiB2b2lkIHtcbiAgICBzdXBlci5kaXNjb25uZWN0ZWRDYWxsYmFjaygpO1xuICAgIGNsZWFyVGltZW91dCh0aGlzLl9jbG9zZVRpbWVvdXQpO1xuXG4gICAgLy8gUmVtb3ZlIHRoaXMgaW5zdGFuY2VcbiAgICB0b2FzdFJlZnMuZGVsZXRlKHRoaXMpO1xuICB9XG5cbiAgcHJvdGVjdGVkIG92ZXJyaWRlIHdpbGxVcGRhdGUoY2hhbmdlZFByb3BlcnRpZXM6IFByb3BlcnR5VmFsdWVzPHRoaXM+KTogdm9pZCB7XG4gICAgc3VwZXIud2lsbFVwZGF0ZShjaGFuZ2VkUHJvcGVydGllcyk7XG5cbiAgICBpZiAoY2hhbmdlZFByb3BlcnRpZXMuaGFzKCdwb2xpdGVuZXNzJykpIHtcbiAgICAgIHRoaXMuaW50ZXJuYWxzLmFyaWFMaXZlID0gdGhpcy5wb2xpdGVuZXNzO1xuICAgIH1cbiAgfVxuXG4gIC8qKlxuICAgKiBPcGVuIHRoZSB0b2FzdC5cbiAgICogSWYgdGhlcmUgYXJlIG90aGVyIG9wZW5lZCB0b2FzdHMgaW4gdGhlIHBhZ2UsIGNsb3NlIHRoZW0gZmlyc3QuXG4gICAqL1xuICBwdWJsaWMgb3BlbigpOiB2b2lkIHtcbiAgICBpZiAodGhpcy5zdGF0ZSAhPT0gJ2Nsb3NlZCcgfHwgIXRoaXMud2lsbE9wZW4uZW1pdCgpKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgdGhpcy5zaG93UG9wb3Zlcj8uKCk7XG4gICAgdGhpcy5zdGF0ZSA9ICdvcGVuaW5nJztcbiAgICB0aGlzLl9jbG9zZU90aGVyVG9hc3RzKCk7XG5cbiAgICAvLyBJZiB0aGUgYW5pbWF0aW9uIGR1cmF0aW9uIGlzIHplcm8sIHRoZSBhbmltYXRpb25lbmQgZXZlbnQgaXMgbm90IGFsd2F5cyBmaXJlZCByZWxpYWJseS5cbiAgICAvLyBJbiB0aGlzIGNhc2Ugd2UgZGlyZWN0bHkgc2V0IHRoZSBgb3BlbmVkYCBzdGF0ZS5cbiAgICBpZiAodGhpcy5faXNaZXJvQW5pbWF0aW9uRHVyYXRpb24oKSkge1xuICAgICAgdGhpcy5faGFuZGxlT3BlbmluZygpO1xuICAgIH1cbiAgfVxuXG4gIC8qKlxuICAgKiBDbG9zZSB0aGUgdG9hc3QuXG4gICAqL1xuICBwdWJsaWMgY2xvc2UoKTogdm9pZCB7XG4gICAgaWYgKHRoaXMuc3RhdGUgIT09ICdvcGVuZWQnIHx8ICF0aGlzLndpbGxDbG9zZS5lbWl0KCkpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBjbGVhclRpbWVvdXQodGhpcy5fY2xvc2VUaW1lb3V0KTtcbiAgICB0aGlzLnN0YXRlID0gJ2Nsb3NpbmcnO1xuXG4gICAgLy8gSWYgdGhlIGFuaW1hdGlvbiBkdXJhdGlvbiBpcyB6ZXJvLCB0aGUgYW5pbWF0aW9uZW5kIGV2ZW50IGlzIG5vdCBhbHdheXMgZmlyZWQgcmVsaWFibHkuXG4gICAgLy8gSW4gdGhpcyBjYXNlIHdlIGRpcmVjdGx5IHNldCB0aGUgYGNsb3NlZGAgc3RhdGUuXG4gICAgaWYgKHRoaXMuX2lzWmVyb0FuaW1hdGlvbkR1cmF0aW9uKCkpIHtcbiAgICAgIHRoaXMuX2hhbmRsZUNsb3NpbmcoKTtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIF9oYW5kbGVDbG9zaW5nKCk6IHZvaWQge1xuICAgIHRoaXMuc3RhdGUgPSAnY2xvc2VkJztcbiAgICB0aGlzLmhpZGVQb3BvdmVyPy4oKTtcbiAgICB0aGlzLmRpZENsb3NlLmVtaXQoKTtcbiAgfVxuXG4gIHByaXZhdGUgX2hhbmRsZU9wZW5pbmcoKTogdm9pZCB7XG4gICAgdGhpcy5zdGF0ZSA9ICdvcGVuZWQnO1xuICAgIHRoaXMuZGlkT3Blbi5lbWl0KCk7XG5cbiAgICAvLyBTdGFydCB0aGUgY291bnRkb3duIHRvIGNsb3NlIGl0XG4gICAgaWYgKHRoaXMudGltZW91dCkge1xuICAgICAgdGhpcy5fY2xvc2VUaW1lb3V0ID0gc2V0VGltZW91dCgoKSA9PiB0aGlzLmNsb3NlKCksIHRoaXMudGltZW91dCk7XG4gICAgfVxuICB9XG5cbiAgLy8gQ2xvc2UgdGhlIHRvYXN0IG9uIGNsaWNrIG9mIGFueSBlbGVtZW50IHRoYXQgaGFzIHRoZSAnc2JiLXRvYXN0LWNsb3NlJyBhdHRyaWJ1dGUuXG4gIHByaXZhdGUgX29uQ2xpY2soZXZlbnQ6IEV2ZW50KTogdm9pZCB7XG4gICAgY29uc3QgY2xvc2VFbGVtZW50ID0gY29tcG9zZWRQYXRoSGFzQXR0cmlidXRlKGV2ZW50LCAnc2JiLXRvYXN0LWNsb3NlJywgdGhpcyk7XG5cbiAgICBpZiAoY2xvc2VFbGVtZW50ICYmICFjbG9zZUVsZW1lbnQuaGFzQXR0cmlidXRlKCdkaXNhYmxlZCcpKSB7XG4gICAgICB0aGlzLmNsb3NlKCk7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBfaXNaZXJvQW5pbWF0aW9uRHVyYXRpb24oKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIGlzWmVyb0FuaW1hdGlvbkR1cmF0aW9uKHRoaXMsICctLXNiYi10b2FzdC1hbmltYXRpb24tZHVyYXRpb24nKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBTbG90dGVkIHRleHQgbm9kZXMgYXJlIG5vdCByZWFkIGNvcnJlY3RseSBieSBzY3JlZW4gcmVhZGVycyBvbiBDaHJvbWUuXG4gICAqIFRvIGFkZHJlc3MgdGhlIHByb2JsZW0sIGlmIHRoZXJlIGlzIGF0IGxlYXN0IGEgcm9vdCB0ZXh0IG5vZGUsXG4gICAqIHdlIHdyYXAgdGhlIHdob2xlIGNvbnRlbnQgaW4gYSA8c3Bhbj4gdGFnXG4gICAqL1xuICBwcml2YXRlIF9vbkNvbnRlbnRTbG90Q2hhbmdlKGV2ZW50OiBFdmVudCk6IHZvaWQge1xuICAgIGNvbnN0IHNsb3ROb2RlcyA9IChldmVudC50YXJnZXQgYXMgSFRNTFNsb3RFbGVtZW50KS5hc3NpZ25lZE5vZGVzKCk7XG5cbiAgICBpZiAoc2xvdE5vZGVzLnNvbWUoKGVsKSA9PiBlbC5ub2RlVHlwZSA9PT0gTm9kZS5URVhUX05PREUpKSB7XG4gICAgICBjb25zdCBzcGFuID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnc3BhbicpO1xuICAgICAgdGhpcy5wcmVwZW5kKHNwYW4pO1xuICAgICAgc3Bhbi5hcHBlbmQoLi4uc2xvdE5vZGVzKTtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIF9vbkFjdGlvblNsb3RDaGFuZ2UoZXZlbnQ6IEV2ZW50KTogdm9pZCB7XG4gICAgY29uc3Qgc2xvdE5vZGVzID0gKGV2ZW50LnRhcmdldCBhcyBIVE1MU2xvdEVsZW1lbnQpLmFzc2lnbmVkTm9kZXMoKTtcblxuICAgIC8vIEZvcmNlIHRoZSB2aXN1YWwgc3RhdGUgb24gc2xvdHRlZCBidXR0b25zXG4gICAgY29uc3QgYnV0dG9uczogKFNiYlRyYW5zcGFyZW50QnV0dG9uRWxlbWVudCB8IFNiYlRyYW5zcGFyZW50QnV0dG9uTGlua0VsZW1lbnQpW10gPVxuICAgICAgc2xvdE5vZGVzLmZpbHRlcihcbiAgICAgICAgKGVsKSA9PlxuICAgICAgICAgIGVsLm5vZGVOYW1lID09PSAnU0JCLVRSQU5TUEFSRU5ULUJVVFRPTicgfHwgZWwubm9kZU5hbWUgPT09ICdTQkItVFJBTlNQQVJFTlQtQlVUVE9OLUxJTksnLFxuICAgICAgKSBhcyAoU2JiVHJhbnNwYXJlbnRCdXR0b25FbGVtZW50IHwgU2JiVHJhbnNwYXJlbnRCdXR0b25MaW5rRWxlbWVudClbXTtcbiAgICBidXR0b25zLmZvckVhY2goKGJ0bjogU2JiVHJhbnNwYXJlbnRCdXR0b25FbGVtZW50IHwgU2JiVHJhbnNwYXJlbnRCdXR0b25MaW5rRWxlbWVudCkgPT4ge1xuICAgICAgYnRuLm5lZ2F0aXZlID0gdHJ1ZTtcbiAgICAgIGJ0bi5zaXplID0gaXNMZWFuKCkgPyAncycgOiAnbSc7XG4gICAgfSk7XG5cbiAgICAvLyBGb3JjZSBuZWdhdGl2ZSBvbiBpbmxpbmUgc2xvdHRlZCBsaW5rc1xuICAgIGNvbnN0IGxpbmtzID0gc2xvdE5vZGVzLmZpbHRlcigoZWwpID0+XG4gICAgICBbJ1NCQi1MSU5LJywgJ1NCQi1MSU5LLUJVVFRPTicsICdTQkItTElOSy1TVEFUSUMnXS5pbmNsdWRlcyhlbC5ub2RlTmFtZSksXG4gICAgKSBhcyAoU2JiTGlua0VsZW1lbnQgfCBTYmJMaW5rQnV0dG9uRWxlbWVudCB8IFNiYkxpbmtTdGF0aWNFbGVtZW50KVtdO1xuICAgIGxpbmtzLmZvckVhY2goKGxpbmspID0+IHtcbiAgICAgIGxpbmsubmVnYXRpdmUgPSB0cnVlO1xuICAgIH0pO1xuICB9XG5cbiAgLy8gSW4gcmFyZSBjYXNlcyBpdCBjYW4gYmUgdGhhdCB0aGUgYW5pbWF0aW9uRW5kIGV2ZW50IGlzIHRyaWdnZXJlZCB0d2ljZS5cbiAgLy8gVG8gYXZvaWQgZW50ZXJpbmcgYSBjb3JydXB0IHN0YXRlLCBleGl0IHdoZW4gc3RhdGUgaXMgbm90IGV4cGVjdGVkLlxuICBwcml2YXRlIF9vblRvYXN0QW5pbWF0aW9uRW5kKGV2ZW50OiBBbmltYXRpb25FdmVudCk6IHZvaWQge1xuICAgIC8vIE9uIHRvYXN0IG9wZW5lZFxuICAgIGlmIChldmVudC5hbmltYXRpb25OYW1lID09PSAnb3BlbicgJiYgdGhpcy5zdGF0ZSA9PT0gJ29wZW5pbmcnKSB7XG4gICAgICB0aGlzLl9oYW5kbGVPcGVuaW5nKCk7XG4gICAgfSBlbHNlIGlmIChldmVudC5hbmltYXRpb25OYW1lID09PSAnY2xvc2UnICYmIHRoaXMuc3RhdGUgPT09ICdjbG9zaW5nJykge1xuICAgICAgdGhpcy5faGFuZGxlQ2xvc2luZygpO1xuICAgIH1cbiAgfVxuXG4gIC8qKlxuICAgKiBTaW5jZSB3ZSBkbyBub3Qgc3RhY2sgdG9hc3RzLCB3ZSBmb3JjZSB0aGUgY2xvc2luZyBvbiBvdGhlciBleGlzdGluZyBvcGVuZWQgb25lc1xuICAgKi9cbiAgcHJpdmF0ZSBfY2xvc2VPdGhlclRvYXN0cygpOiB2b2lkIHtcbiAgICB0b2FzdFJlZnMuZm9yRWFjaCgodCkgPT4ge1xuICAgICAgaWYgKHQuZ2V0QXR0cmlidXRlKCdkYXRhLXN0YXRlJykgPT09ICdvcGVuZWQnKSB7XG4gICAgICAgIHQuY2xvc2UoKTtcbiAgICAgIH1cbiAgICB9KTtcbiAgfVxuXG4gIHByb3RlY3RlZCBvdmVycmlkZSByZW5kZXIoKTogVGVtcGxhdGVSZXN1bHQge1xuICAgIHJldHVybiBodG1sYFxuICAgICAgPGRpdiBjbGFzcz1cInNiYi10b2FzdF9fb3ZlcmxheS1jb250YWluZXJcIj5cbiAgICAgICAgPGRpdiBjbGFzcz1cInNiYi10b2FzdFwiIEBhbmltYXRpb25lbmQ9JHt0aGlzLl9vblRvYXN0QW5pbWF0aW9uRW5kfT5cbiAgICAgICAgICA8ZGl2IGNsYXNzPVwic2JiLXRvYXN0LXdyYXBwZXJcIj5cbiAgICAgICAgICAgICR7dGhpcy5yZW5kZXJJY29uU2xvdCgpfVxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cInNiYi10b2FzdF9fY29udGVudFwiPlxuICAgICAgICAgICAgICA8c2xvdCBAc2xvdGNoYW5nZT0ke3RoaXMuX29uQ29udGVudFNsb3RDaGFuZ2V9Pjwvc2xvdD5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgPHNsb3QgbmFtZT1cImFjdGlvblwiIEBzbG90Y2hhbmdlPSR7dGhpcy5fb25BY3Rpb25TbG90Q2hhbmdlfT48L3Nsb3Q+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgPGRpdiBjbGFzcz1cInNiYi10b2FzdF9fY2xvc2VcIj5cbiAgICAgICAgICAgIDxzYmItZGl2aWRlclxuICAgICAgICAgICAgICBjbGFzcz1cInNiYi10b2FzdF9fY2xvc2UtZGl2aWRlclwiXG4gICAgICAgICAgICAgIG9yaWVudGF0aW9uPVwidmVydGljYWxcIlxuICAgICAgICAgICAgICBuZWdhdGl2ZVxuICAgICAgICAgICAgPjwvc2JiLWRpdmlkZXI+XG4gICAgICAgICAgICAkeyF0aGlzLnJlYWRPbmx5XG4gICAgICAgICAgICAgID8gaHRtbGA8c2JiLXRyYW5zcGFyZW50LWJ1dHRvblxuICAgICAgICAgICAgICAgICAgY2xhc3M9XCJzYmItdG9hc3RfX2Nsb3NlLWJ1dHRvblwiXG4gICAgICAgICAgICAgICAgICBpY29uLW5hbWU9XCJjcm9zcy1zbWFsbFwiXG4gICAgICAgICAgICAgICAgICBuZWdhdGl2ZVxuICAgICAgICAgICAgICAgICAgc2l6ZT1cIm1cIlxuICAgICAgICAgICAgICAgICAgYXJpYS1sYWJlbD0ke2kxOG5DbG9zZUFsZXJ0W3RoaXMuX2xhbmd1YWdlLmN1cnJlbnRdfVxuICAgICAgICAgICAgICAgICAgc2JiLXRvYXN0LWNsb3NlXG4gICAgICAgICAgICAgICAgPjwvc2JiLXRyYW5zcGFyZW50LWJ1dHRvbj5gXG4gICAgICAgICAgICAgIDogbm90aGluZ31cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9kaXY+XG4gICAgICA8L2Rpdj5cbiAgICBgO1xuICB9XG59XG5cbmRlY2xhcmUgZ2xvYmFsIHtcbiAgaW50ZXJmYWNlIEhUTUxFbGVtZW50VGFnTmFtZU1hcCB7XG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uYW1pbmctY29udmVudGlvblxuICAgICdzYmItdG9hc3QnOiBTYmJUb2FzdEVsZW1lbnQ7XG4gIH1cbn1cbiJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBeUJBLE1BQU0sZ0NBQWdCLElBQUE7SUFrQmhCLG1CQUFlLE1BQUE7OzBCQURwQixjQUFjLFdBQVcsQ0FBQzs7OztvQkFDRyxpQkFD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
|
|
400
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidG9hc3QuY29tcG9uZW50LmpzIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvZWxlbWVudHMvdG9hc3QvdG9hc3QuY29tcG9uZW50LnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB0eXBlIHsgQ1NTUmVzdWx0R3JvdXAsIFByb3BlcnR5VmFsdWVzLCBUZW1wbGF0ZVJlc3VsdCB9IGZyb20gJ2xpdCc7XG5pbXBvcnQgeyBodG1sLCBub3RoaW5nIH0gZnJvbSAnbGl0JztcbmltcG9ydCB7IGN1c3RvbUVsZW1lbnQsIHByb3BlcnR5IH0gZnJvbSAnbGl0L2RlY29yYXRvcnMuanMnO1xuXG5pbXBvcnQgdHlwZSB7IFNiYlRyYW5zcGFyZW50QnV0dG9uRWxlbWVudCwgU2JiVHJhbnNwYXJlbnRCdXR0b25MaW5rRWxlbWVudCB9IGZyb20gJy4uL2J1dHRvbi5qcyc7XG5pbXBvcnQgeyBTYmJPcGVuQ2xvc2VCYXNlRWxlbWVudCB9IGZyb20gJy4uL2NvcmUvYmFzZS1lbGVtZW50cy5qcyc7XG5pbXBvcnQgeyBTYmJMYW5ndWFnZUNvbnRyb2xsZXIgfSBmcm9tICcuLi9jb3JlL2NvbnRyb2xsZXJzLmpzJztcbmltcG9ydCB7IGZvcmNlVHlwZSB9IGZyb20gJy4uL2NvcmUvZGVjb3JhdG9ycy5qcyc7XG5pbXBvcnQgeyBpc0xlYW4sIGlzWmVyb0FuaW1hdGlvbkR1cmF0aW9uIH0gZnJvbSAnLi4vY29yZS9kb20uanMnO1xuaW1wb3J0IHsgY29tcG9zZWRQYXRoSGFzQXR0cmlidXRlIH0gZnJvbSAnLi4vY29yZS9ldmVudGluZy5qcyc7XG5pbXBvcnQgeyBpMThuQ2xvc2VBbGVydCB9IGZyb20gJy4uL2NvcmUvaTE4bi5qcyc7XG5pbXBvcnQgeyBTYmJIeWRyYXRpb25NaXhpbiwgU2JiUmVhZG9ubHlNaXhpbiB9IGZyb20gJy4uL2NvcmUvbWl4aW5zLmpzJztcbmltcG9ydCB7IFNiYkljb25OYW1lTWl4aW4gfSBmcm9tICcuLi9pY29uLmpzJztcbmltcG9ydCB0eXBlIHsgU2JiTGlua0J1dHRvbkVsZW1lbnQsIFNiYkxpbmtFbGVtZW50LCBTYmJMaW5rU3RhdGljRWxlbWVudCB9IGZyb20gJy4uL2xpbmsuanMnO1xuXG5pbXBvcnQgc3R5bGUgZnJvbSAnLi90b2FzdC5zY3NzP2xpdCZpbmxpbmUnO1xuXG5pbXBvcnQgJy4uL2J1dHRvbi90cmFuc3BhcmVudC1idXR0b24uanMnO1xuaW1wb3J0ICcuLi9kaXZpZGVyLmpzJztcblxudHlwZSBTYmJUb2FzdFBvc2l0aW9uVmVydGljYWwgPSAndG9wJyB8ICdib3R0b20nO1xudHlwZSBTYmJUb2FzdFBvc2l0aW9uSG9yaXpvbnRhbCA9ICdsZWZ0JyB8ICdzdGFydCcgfCAnY2VudGVyJyB8ICdyaWdodCcgfCAnZW5kJztcbmV4cG9ydCB0eXBlIFNiYlRvYXN0UG9zaXRpb24gPSBgJHtTYmJUb2FzdFBvc2l0aW9uVmVydGljYWx9LSR7U2JiVG9hc3RQb3NpdGlvbkhvcml6b250YWx9YDtcblxuLy8gQSBnbG9iYWwgY29sbGVjdGlvbiBvZiBleGlzdGluZyB0b2FzdHNcbmNvbnN0IHRvYXN0UmVmcyA9IG5ldyBTZXQ8U2JiVG9hc3RFbGVtZW50PigpO1xuXG4vKipcbiAqIEl0IGRpc3BsYXlzIGEgdG9hc3Qgbm90aWZpY2F0aW9uLlxuICpcbiAqIEBzbG90IC0gVXNlIHRoZSB1bm5hbWVkIHNsb3QgdG8gYWRkIGNvbnRlbnQgdG8gdGhlIGBzYmItdG9hc3RgLlxuICogQHNsb3QgaWNvbiAtIEFzc2lnbiBhIGN1c3RvbSBpY29uIHZpYSBzbG90LlxuICogQHNsb3QgYWN0aW9uIC0gUHJvdmlkZSBhIGN1c3RvbSBhY3Rpb24gZm9yIHRoaXMgdG9hc3QuXG4gKiBAY3NzcHJvcCBbLS1zYmItdG9hc3Qtei1pbmRleD12YXIoLS1zYmItb3ZlcmxheS1kZWZhdWx0LXotaW5kZXgpXSAtIFRvIHNwZWNpZnkgYSBjdXN0b20gc3RhY2sgb3JkZXIsXG4gKiB0aGUgYHotaW5kZXhgIGNhbiBiZSBvdmVycmlkZGVuIGJ5IGRlZmluaW5nIHRoaXMgQ1NTIHZhcmlhYmxlLiBUaGUgZGVmYXVsdCBgei1pbmRleGAgb2YgdGhlXG4gKiBjb21wb25lbnQgaXMgc2V0IHRvIGB2YXIoLS1zYmItb3ZlcmxheS1kZWZhdWx0LXotaW5kZXgpYCB3aXRoIGEgdmFsdWUgb2YgYDEwMDBgLlxuICovXG5leHBvcnRcbkBjdXN0b21FbGVtZW50KCdzYmItdG9hc3QnKVxuY2xhc3MgU2JiVG9hc3RFbGVtZW50IGV4dGVuZHMgU2JiSWNvbk5hbWVNaXhpbihcbiAgU2JiSHlkcmF0aW9uTWl4aW4oU2JiUmVhZG9ubHlNaXhpbihTYmJPcGVuQ2xvc2VCYXNlRWxlbWVudCkpLFxuKSB7XG4gIHB1YmxpYyBzdGF0aWMgb3ZlcnJpZGUgc3R5bGVzOiBDU1NSZXN1bHRHcm91cCA9IHN0eWxlO1xuXG4gIC8qKlxuICAgKiBUaGUgbGVuZ3RoIG9mIHRpbWUgaW4gbWlsbGlzZWNvbmRzIHRvIHdhaXQgYmVmb3JlIGF1dG9tYXRpY2FsbHkgZGlzbWlzc2luZyB0aGUgdG9hc3QuXG4gICAqIElmIDAgKGRlZmF1bHQpLCBpdCBzdGF5cyBvcGVuIGluZGVmaW5pdGVseS5cbiAgICogRnJvbSBhY2Nlc3NpYmlsaXR5IHBlcnNwZWN0aXZlLCBpdCBpcyByZWNvbW1lbmRlZCB0byBzZXQgYSB0aW1lb3V0IG9mIGF0IGxlYXN0IDIwIHNlY29uZHMuXG4gICAqL1xuICBAZm9yY2VUeXBlKClcbiAgQHByb3BlcnR5KHsgdHlwZTogTnVtYmVyIH0pXG4gIHB1YmxpYyBhY2Nlc3NvciB0aW1lb3V0OiBudW1iZXIgPSAwO1xuXG4gIC8qKiBUaGUgcG9zaXRpb24gd2hlcmUgdG8gcGxhY2UgdGhlIHRvYXN0LiAqL1xuICBAcHJvcGVydHkoeyByZWZsZWN0OiB0cnVlIH0pIHB1YmxpYyBhY2Nlc3NvciBwb3NpdGlvbjogU2JiVG9hc3RQb3NpdGlvbiA9ICdib3R0b20tY2VudGVyJztcblxuICAvKipcbiAgICogVGhlIEFSSUEgcG9saXRlbmVzcyBsZXZlbC5cbiAgICogQ2hlY2sgaHR0cHM6Ly9kZXZlbG9wZXIubW96aWxsYS5vcmcvZW4tVVMvZG9jcy9XZWIvQWNjZXNzaWJpbGl0eS9BUklBL0FSSUFfTGl2ZV9SZWdpb25zI2xpdmVfcmVnaW9ucyBmb3IgZnVydGhlciBpbmZvXG4gICAqL1xuICBAcHJvcGVydHkoKSBwdWJsaWMgYWNjZXNzb3IgcG9saXRlbmVzczogJ3BvbGl0ZScgfCAnYXNzZXJ0aXZlJyB8ICdvZmYnID0gJ3BvbGl0ZSc7XG5cbiAgcHJpdmF0ZSBfY2xvc2VUaW1lb3V0PzogUmV0dXJuVHlwZTx0eXBlb2Ygc2V0VGltZW91dD47XG4gIHByaXZhdGUgX2xhbmd1YWdlID0gbmV3IFNiYkxhbmd1YWdlQ29udHJvbGxlcih0aGlzKTtcblxuICBwdWJsaWMgY29uc3RydWN0b3IoKSB7XG4gICAgc3VwZXIoKTtcbiAgICB0aGlzLmFkZEV2ZW50TGlzdGVuZXI/LignY2xpY2snLCAoZSkgPT4gdGhpcy5fb25DbGljayhlKSk7XG4gIH1cblxuICBwdWJsaWMgb3ZlcnJpZGUgY29ubmVjdGVkQ2FsbGJhY2soKTogdm9pZCB7XG4gICAgdGhpcy5wb3BvdmVyID0gJ21hbnVhbCc7XG4gICAgc3VwZXIuY29ubmVjdGVkQ2FsbGJhY2soKTtcblxuICAgIC8vIEFkZCB0aGlzIHRvYXN0IHRvIHRoZSBnbG9iYWwgY29sbGVjdGlvblxuICAgIHRvYXN0UmVmcy5hZGQodGhpcyk7XG4gIH1cblxuICBwdWJsaWMgb3ZlcnJpZGUgZGlzY29ubmVjdGVkQ2FsbGJhY2soKTogdm9pZCB7XG4gICAgc3VwZXIuZGlzY29ubmVjdGVkQ2FsbGJhY2soKTtcbiAgICBjbGVhclRpbWVvdXQodGhpcy5fY2xvc2VUaW1lb3V0KTtcblxuICAgIC8vIFJlbW92ZSB0aGlzIGluc3RhbmNlXG4gICAgdG9hc3RSZWZzLmRlbGV0ZSh0aGlzKTtcbiAgfVxuXG4gIHByb3RlY3RlZCBvdmVycmlkZSB3aWxsVXBkYXRlKGNoYW5nZWRQcm9wZXJ0aWVzOiBQcm9wZXJ0eVZhbHVlczx0aGlzPik6IHZvaWQge1xuICAgIHN1cGVyLndpbGxVcGRhdGUoY2hhbmdlZFByb3BlcnRpZXMpO1xuXG4gICAgaWYgKGNoYW5nZWRQcm9wZXJ0aWVzLmhhcygncG9saXRlbmVzcycpKSB7XG4gICAgICB0aGlzLmludGVybmFscy5hcmlhTGl2ZSA9IHRoaXMucG9saXRlbmVzcztcbiAgICB9XG4gIH1cblxuICAvKipcbiAgICogT3BlbiB0aGUgdG9hc3QuXG4gICAqIElmIHRoZXJlIGFyZSBvdGhlciBvcGVuZWQgdG9hc3RzIGluIHRoZSBwYWdlLCBjbG9zZSB0aGVtIGZpcnN0LlxuICAgKi9cbiAgcHVibGljIG9wZW4oKTogdm9pZCB7XG4gICAgaWYgKHRoaXMuc3RhdGUgIT09ICdjbG9zZWQnIHx8ICF0aGlzLmRpc3BhdGNoQmVmb3JlT3BlbkV2ZW50KCkpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICB0aGlzLnNob3dQb3BvdmVyPy4oKTtcbiAgICB0aGlzLnN0YXRlID0gJ29wZW5pbmcnO1xuICAgIHRoaXMuX2Nsb3NlT3RoZXJUb2FzdHMoKTtcblxuICAgIC8vIElmIHRoZSBhbmltYXRpb24gZHVyYXRpb24gaXMgemVybywgdGhlIGFuaW1hdGlvbmVuZCBldmVudCBpcyBub3QgYWx3YXlzIGZpcmVkIHJlbGlhYmx5LlxuICAgIC8vIEluIHRoaXMgY2FzZSB3ZSBkaXJlY3RseSBzZXQgdGhlIGBvcGVuZWRgIHN0YXRlLlxuICAgIGlmICh0aGlzLl9pc1plcm9BbmltYXRpb25EdXJhdGlvbigpKSB7XG4gICAgICB0aGlzLl9oYW5kbGVPcGVuaW5nKCk7XG4gICAgfVxuICB9XG5cbiAgLyoqXG4gICAqIENsb3NlIHRoZSB0b2FzdC5cbiAgICovXG4gIHB1YmxpYyBjbG9zZSgpOiB2b2lkIHtcbiAgICBpZiAodGhpcy5zdGF0ZSAhPT0gJ29wZW5lZCcgfHwgIXRoaXMuZGlzcGF0Y2hCZWZvcmVDbG9zZUV2ZW50KCkpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBjbGVhclRpbWVvdXQodGhpcy5fY2xvc2VUaW1lb3V0KTtcbiAgICB0aGlzLnN0YXRlID0gJ2Nsb3NpbmcnO1xuXG4gICAgLy8gSWYgdGhlIGFuaW1hdGlvbiBkdXJhdGlvbiBpcyB6ZXJvLCB0aGUgYW5pbWF0aW9uZW5kIGV2ZW50IGlzIG5vdCBhbHdheXMgZmlyZWQgcmVsaWFibHkuXG4gICAgLy8gSW4gdGhpcyBjYXNlIHdlIGRpcmVjdGx5IHNldCB0aGUgYGNsb3NlZGAgc3RhdGUuXG4gICAgaWYgKHRoaXMuX2lzWmVyb0FuaW1hdGlvbkR1cmF0aW9uKCkpIHtcbiAgICAgIHRoaXMuX2hhbmRsZUNsb3NpbmcoKTtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIF9oYW5kbGVDbG9zaW5nKCk6IHZvaWQge1xuICAgIHRoaXMuc3RhdGUgPSAnY2xvc2VkJztcbiAgICB0aGlzLmhpZGVQb3BvdmVyPy4oKTtcbiAgICB0aGlzLmRpc3BhdGNoQ2xvc2VFdmVudCgpO1xuICB9XG5cbiAgcHJpdmF0ZSBfaGFuZGxlT3BlbmluZygpOiB2b2lkIHtcbiAgICB0aGlzLnN0YXRlID0gJ29wZW5lZCc7XG4gICAgdGhpcy5kaXNwYXRjaE9wZW5FdmVudCgpO1xuXG4gICAgLy8gU3RhcnQgdGhlIGNvdW50ZG93biB0byBjbG9zZSBpdFxuICAgIGlmICh0aGlzLnRpbWVvdXQpIHtcbiAgICAgIHRoaXMuX2Nsb3NlVGltZW91dCA9IHNldFRpbWVvdXQoKCkgPT4gdGhpcy5jbG9zZSgpLCB0aGlzLnRpbWVvdXQpO1xuICAgIH1cbiAgfVxuXG4gIC8vIENsb3NlIHRoZSB0b2FzdCBvbiBjbGljayBvZiBhbnkgZWxlbWVudCB0aGF0IGhhcyB0aGUgJ3NiYi10b2FzdC1jbG9zZScgYXR0cmlidXRlLlxuICBwcml2YXRlIF9vbkNsaWNrKGV2ZW50OiBFdmVudCk6IHZvaWQge1xuICAgIGNvbnN0IGNsb3NlRWxlbWVudCA9IGNvbXBvc2VkUGF0aEhhc0F0dHJpYnV0ZShldmVudCwgJ3NiYi10b2FzdC1jbG9zZScsIHRoaXMpO1xuXG4gICAgaWYgKGNsb3NlRWxlbWVudCAmJiAhY2xvc2VFbGVtZW50Lmhhc0F0dHJpYnV0ZSgnZGlzYWJsZWQnKSkge1xuICAgICAgdGhpcy5jbG9zZSgpO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgX2lzWmVyb0FuaW1hdGlvbkR1cmF0aW9uKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiBpc1plcm9BbmltYXRpb25EdXJhdGlvbih0aGlzLCAnLS1zYmItdG9hc3QtYW5pbWF0aW9uLWR1cmF0aW9uJyk7XG4gIH1cblxuICAvKipcbiAgICogU2xvdHRlZCB0ZXh0IG5vZGVzIGFyZSBub3QgcmVhZCBjb3JyZWN0bHkgYnkgc2NyZWVuIHJlYWRlcnMgb24gQ2hyb21lLlxuICAgKiBUbyBhZGRyZXNzIHRoZSBwcm9ibGVtLCBpZiB0aGVyZSBpcyBhdCBsZWFzdCBhIHJvb3QgdGV4dCBub2RlLFxuICAgKiB3ZSB3cmFwIHRoZSB3aG9sZSBjb250ZW50IGluIGEgPHNwYW4+IHRhZ1xuICAgKi9cbiAgcHJpdmF0ZSBfb25Db250ZW50U2xvdENoYW5nZShldmVudDogRXZlbnQpOiB2b2lkIHtcbiAgICBjb25zdCBzbG90Tm9kZXMgPSAoZXZlbnQudGFyZ2V0IGFzIEhUTUxTbG90RWxlbWVudCkuYXNzaWduZWROb2RlcygpO1xuXG4gICAgaWYgKHNsb3ROb2Rlcy5zb21lKChlbCkgPT4gZWwubm9kZVR5cGUgPT09IE5vZGUuVEVYVF9OT0RFKSkge1xuICAgICAgY29uc3Qgc3BhbiA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ3NwYW4nKTtcbiAgICAgIHRoaXMucHJlcGVuZChzcGFuKTtcbiAgICAgIHNwYW4uYXBwZW5kKC4uLnNsb3ROb2Rlcyk7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBfb25BY3Rpb25TbG90Q2hhbmdlKGV2ZW50OiBFdmVudCk6IHZvaWQge1xuICAgIGNvbnN0IHNsb3ROb2RlcyA9IChldmVudC50YXJnZXQgYXMgSFRNTFNsb3RFbGVtZW50KS5hc3NpZ25lZE5vZGVzKCk7XG5cbiAgICAvLyBGb3JjZSB0aGUgdmlzdWFsIHN0YXRlIG9uIHNsb3R0ZWQgYnV0dG9uc1xuICAgIGNvbnN0IGJ1dHRvbnM6IChTYmJUcmFuc3BhcmVudEJ1dHRvbkVsZW1lbnQgfCBTYmJUcmFuc3BhcmVudEJ1dHRvbkxpbmtFbGVtZW50KVtdID1cbiAgICAgIHNsb3ROb2Rlcy5maWx0ZXIoXG4gICAgICAgIChlbCkgPT5cbiAgICAgICAgICBlbC5ub2RlTmFtZSA9PT0gJ1NCQi1UUkFOU1BBUkVOVC1CVVRUT04nIHx8IGVsLm5vZGVOYW1lID09PSAnU0JCLVRSQU5TUEFSRU5ULUJVVFRPTi1MSU5LJyxcbiAgICAgICkgYXMgKFNiYlRyYW5zcGFyZW50QnV0dG9uRWxlbWVudCB8IFNiYlRyYW5zcGFyZW50QnV0dG9uTGlua0VsZW1lbnQpW107XG4gICAgYnV0dG9ucy5mb3JFYWNoKChidG46IFNiYlRyYW5zcGFyZW50QnV0dG9uRWxlbWVudCB8IFNiYlRyYW5zcGFyZW50QnV0dG9uTGlua0VsZW1lbnQpID0+IHtcbiAgICAgIGJ0bi5uZWdhdGl2ZSA9IHRydWU7XG4gICAgICBidG4uc2l6ZSA9IGlzTGVhbigpID8gJ3MnIDogJ20nO1xuICAgIH0pO1xuXG4gICAgLy8gRm9yY2UgbmVnYXRpdmUgb24gaW5saW5lIHNsb3R0ZWQgbGlua3NcbiAgICBjb25zdCBsaW5rcyA9IHNsb3ROb2Rlcy5maWx0ZXIoKGVsKSA9PlxuICAgICAgWydTQkItTElOSycsICdTQkItTElOSy1CVVRUT04nLCAnU0JCLUxJTkstU1RBVElDJ10uaW5jbHVkZXMoZWwubm9kZU5hbWUpLFxuICAgICkgYXMgKFNiYkxpbmtFbGVtZW50IHwgU2JiTGlua0J1dHRvbkVsZW1lbnQgfCBTYmJMaW5rU3RhdGljRWxlbWVudClbXTtcbiAgICBsaW5rcy5mb3JFYWNoKChsaW5rKSA9PiB7XG4gICAgICBsaW5rLm5lZ2F0aXZlID0gdHJ1ZTtcbiAgICB9KTtcbiAgfVxuXG4gIC8vIEluIHJhcmUgY2FzZXMgaXQgY2FuIGJlIHRoYXQgdGhlIGFuaW1hdGlvbkVuZCBldmVudCBpcyB0cmlnZ2VyZWQgdHdpY2UuXG4gIC8vIFRvIGF2b2lkIGVudGVyaW5nIGEgY29ycnVwdCBzdGF0ZSwgZXhpdCB3aGVuIHN0YXRlIGlzIG5vdCBleHBlY3RlZC5cbiAgcHJpdmF0ZSBfb25Ub2FzdEFuaW1hdGlvbkVuZChldmVudDogQW5pbWF0aW9uRXZlbnQpOiB2b2lkIHtcbiAgICAvLyBPbiB0b2FzdCBvcGVuZWRcbiAgICBpZiAoZXZlbnQuYW5pbWF0aW9uTmFtZSA9PT0gJ29wZW4nICYmIHRoaXMuc3RhdGUgPT09ICdvcGVuaW5nJykge1xuICAgICAgdGhpcy5faGFuZGxlT3BlbmluZygpO1xuICAgIH0gZWxzZSBpZiAoZXZlbnQuYW5pbWF0aW9uTmFtZSA9PT0gJ2Nsb3NlJyAmJiB0aGlzLnN0YXRlID09PSAnY2xvc2luZycpIHtcbiAgICAgIHRoaXMuX2hhbmRsZUNsb3NpbmcoKTtcbiAgICB9XG4gIH1cblxuICAvKipcbiAgICogU2luY2Ugd2UgZG8gbm90IHN0YWNrIHRvYXN0cywgd2UgZm9yY2UgdGhlIGNsb3Npbmcgb24gb3RoZXIgZXhpc3Rpbmcgb3BlbmVkIG9uZXNcbiAgICovXG4gIHByaXZhdGUgX2Nsb3NlT3RoZXJUb2FzdHMoKTogdm9pZCB7XG4gICAgdG9hc3RSZWZzLmZvckVhY2goKHQpID0+IHtcbiAgICAgIGlmICh0LmdldEF0dHJpYnV0ZSgnZGF0YS1zdGF0ZScpID09PSAnb3BlbmVkJykge1xuICAgICAgICB0LmNsb3NlKCk7XG4gICAgICB9XG4gICAgfSk7XG4gIH1cblxuICBwcm90ZWN0ZWQgb3ZlcnJpZGUgcmVuZGVyKCk6IFRlbXBsYXRlUmVzdWx0IHtcbiAgICByZXR1cm4gaHRtbGBcbiAgICAgIDxkaXYgY2xhc3M9XCJzYmItdG9hc3RfX292ZXJsYXktY29udGFpbmVyXCI+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJzYmItdG9hc3RcIiBAYW5pbWF0aW9uZW5kPSR7dGhpcy5fb25Ub2FzdEFuaW1hdGlvbkVuZH0+XG4gICAgICAgICAgPGRpdiBjbGFzcz1cInNiYi10b2FzdC13cmFwcGVyXCI+XG4gICAgICAgICAgICAke3RoaXMucmVuZGVySWNvblNsb3QoKX1cbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJzYmItdG9hc3RfX2NvbnRlbnRcIj5cbiAgICAgICAgICAgICAgPHNsb3QgQHNsb3RjaGFuZ2U9JHt0aGlzLl9vbkNvbnRlbnRTbG90Q2hhbmdlfT48L3Nsb3Q+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIDxzbG90IG5hbWU9XCJhY3Rpb25cIiBAc2xvdGNoYW5nZT0ke3RoaXMuX29uQWN0aW9uU2xvdENoYW5nZX0+PC9zbG90PlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJzYmItdG9hc3RfX2Nsb3NlXCI+XG4gICAgICAgICAgICA8c2JiLWRpdmlkZXJcbiAgICAgICAgICAgICAgY2xhc3M9XCJzYmItdG9hc3RfX2Nsb3NlLWRpdmlkZXJcIlxuICAgICAgICAgICAgICBvcmllbnRhdGlvbj1cInZlcnRpY2FsXCJcbiAgICAgICAgICAgICAgbmVnYXRpdmVcbiAgICAgICAgICAgID48L3NiYi1kaXZpZGVyPlxuICAgICAgICAgICAgJHshdGhpcy5yZWFkT25seVxuICAgICAgICAgICAgICA/IGh0bWxgPHNiYi10cmFuc3BhcmVudC1idXR0b25cbiAgICAgICAgICAgICAgICAgIGNsYXNzPVwic2JiLXRvYXN0X19jbG9zZS1idXR0b25cIlxuICAgICAgICAgICAgICAgICAgaWNvbi1uYW1lPVwiY3Jvc3Mtc21hbGxcIlxuICAgICAgICAgICAgICAgICAgbmVnYXRpdmVcbiAgICAgICAgICAgICAgICAgIHNpemU9XCJtXCJcbiAgICAgICAgICAgICAgICAgIGFyaWEtbGFiZWw9JHtpMThuQ2xvc2VBbGVydFt0aGlzLl9sYW5ndWFnZS5jdXJyZW50XX1cbiAgICAgICAgICAgICAgICAgIHNiYi10b2FzdC1jbG9zZVxuICAgICAgICAgICAgICAgID48L3NiYi10cmFuc3BhcmVudC1idXR0b24+YFxuICAgICAgICAgICAgICA6IG5vdGhpbmd9XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvZGl2PlxuICAgICAgPC9kaXY+XG4gICAgYDtcbiAgfVxufVxuXG5kZWNsYXJlIGdsb2JhbCB7XG4gIGludGVyZmFjZSBIVE1MRWxlbWVudFRhZ05hbWVNYXAge1xuICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbmFtaW5nLWNvbnZlbnRpb25cbiAgICAnc2JiLXRvYXN0JzogU2JiVG9hc3RFbGVtZW50O1xuICB9XG59XG4iXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQXlCQSxNQUFNLGdDQUFnQixJQUFBO0lBY2hCLG1CQUFlLE1BQUE7OzBCQURwQixjQUFjLFdBQVcsQ0FBQzs7OztvQkFDRyxpQkFDNUIsa0JBQWtCLGlCQUFpQix1QkFBdUIsQ0FBQyxDQUFDOzs7Ozs7Ozs7O0FBRHhDLEVBQUEsbUJBQVEsWUFFN0I7QUFBQSxJQXdCQyxjQUFBO0FBQ0UsWUFBQTtBQWZGO0FBRzZCO0FBTWpCO0FBVEkseUJBQUEsMkJBQUEsa0JBQUEsTUFBQSx1QkFBa0IsQ0FBQztBQUdVLHlCQUFBLDZCQUFBLGtCQUFBLE1BQUEsMEJBQUEsR0FBQSxrQkFBQSxNQUFBLHdCQUE2QixlQUFlO0FBTTdELHlCQUFBLCtCQUFBLGtCQUFBLE1BQUEsMkJBQUEsR0FBQSxrQkFBQSxNQUFBLDBCQUE2QyxRQUFRO0FBRXpFLFdBQUEsZ0JBQWEsa0JBQUEsTUFBQSw2QkFBQTtBQUNiLFdBQUEsWUFBWSxJQUFJLHNCQUFzQixJQUFJO0FBSWhELFdBQUssbUJBQW1CLFNBQVMsQ0FBQyxNQUFNLEtBQUssU0FB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
|