@sbb-esta/lyne-elements 1.12.1 → 1.14.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.d.ts +4 -8
- package/accordion/accordion.d.ts.map +1 -1
- package/accordion.js +90 -81
- package/action-group/action-group.d.ts +5 -5
- package/action-group/action-group.d.ts.map +1 -1
- package/action-group.js +100 -50
- package/alert/alert/alert.d.ts +11 -11
- package/alert/alert/alert.d.ts.map +1 -1
- package/alert/alert-group/alert-group.d.ts +4 -4
- package/alert/alert-group/alert-group.d.ts.map +1 -1
- package/alert/alert-group.js +101 -69
- package/alert/alert.js +191 -104
- package/autocomplete/autocomplete-base-element.d.ts +3 -7
- package/autocomplete/autocomplete-base-element.d.ts.map +1 -1
- package/autocomplete/autocomplete.d.ts.map +1 -1
- package/autocomplete-grid/autocomplete-grid/autocomplete-grid.d.ts.map +1 -1
- package/autocomplete-grid/autocomplete-grid-button/autocomplete-grid-button.d.ts +1 -0
- package/autocomplete-grid/autocomplete-grid-button/autocomplete-grid-button.d.ts.map +1 -1
- package/autocomplete-grid/autocomplete-grid-button.js +53 -60
- package/autocomplete-grid/autocomplete-grid-cell/autocomplete-grid-cell.d.ts.map +1 -1
- package/autocomplete-grid/autocomplete-grid-cell.js +20 -22
- package/autocomplete-grid/autocomplete-grid-optgroup/autocomplete-grid-optgroup.d.ts.map +1 -1
- package/autocomplete-grid/autocomplete-grid-optgroup.js +31 -35
- package/autocomplete-grid/autocomplete-grid-option/autocomplete-grid-option.d.ts.map +1 -1
- package/autocomplete-grid/autocomplete-grid-option.js +45 -63
- package/autocomplete-grid/autocomplete-grid-row/autocomplete-grid-row.d.ts.map +1 -1
- package/autocomplete-grid/autocomplete-grid-row.js +23 -25
- package/autocomplete-grid/autocomplete-grid.js +112 -133
- package/autocomplete.js +283 -295
- package/breadcrumb/breadcrumb/breadcrumb.d.ts +1 -1
- package/breadcrumb/breadcrumb/breadcrumb.d.ts.map +1 -1
- package/breadcrumb/breadcrumb-group/breadcrumb-group.d.ts.map +1 -1
- package/breadcrumb/breadcrumb-group.js +107 -114
- package/breadcrumb/breadcrumb.js +44 -35
- package/button/button/button.d.ts.map +1 -1
- package/button/button-link/button-link.d.ts.map +1 -1
- package/button/button-link.js +15 -18
- package/button/button-static/button-static.d.ts.map +1 -1
- package/button/button-static.js +15 -18
- package/button/button.js +15 -18
- package/button/common/button-common.d.ts +4 -4
- package/button/common/button-common.d.ts.map +1 -1
- package/button/common.js +41 -30
- package/button/mini-button/mini-button-base-element.d.ts.map +1 -1
- package/button/mini-button/mini-button.d.ts.map +1 -1
- package/button/mini-button-group/mini-button-group.d.ts +2 -2
- package/button/mini-button-group/mini-button-group.d.ts.map +1 -1
- package/button/mini-button-group.js +55 -43
- package/button/mini-button.js +28 -32
- package/button/secondary-button/secondary-button.d.ts.map +1 -1
- package/button/secondary-button-link/secondary-button-link.d.ts.map +1 -1
- package/button/secondary-button-link.js +15 -18
- package/button/secondary-button-static/secondary-button-static.d.ts.map +1 -1
- package/button/secondary-button-static.js +15 -18
- package/button/secondary-button.js +15 -18
- package/button/tertiary-button/tertiary-button.d.ts.map +1 -1
- package/button/tertiary-button-link/tertiary-button-link.d.ts.map +1 -1
- package/button/tertiary-button-link.js +15 -18
- package/button/tertiary-button-static/tertiary-button-static.d.ts.map +1 -1
- package/button/tertiary-button-static.js +15 -18
- package/button/tertiary-button.js +15 -18
- package/button/transparent-button/transparent-button.d.ts.map +1 -1
- package/button/transparent-button-link/transparent-button-link.d.ts.map +1 -1
- package/button/transparent-button-link.js +15 -18
- package/button/transparent-button-static/transparent-button-static.d.ts.map +1 -1
- package/button/transparent-button-static.js +15 -18
- package/button/transparent-button.js +15 -18
- package/calendar/calendar.d.ts +7 -7
- package/calendar/calendar.d.ts.map +1 -1
- package/calendar.js +638 -692
- package/card/card/card.d.ts +2 -2
- package/card/card/card.d.ts.map +1 -1
- package/card/card-badge/card-badge.d.ts +1 -1
- package/card/card-badge/card-badge.d.ts.map +1 -1
- package/card/card-badge.js +45 -34
- package/card/card-button/card-button.d.ts.map +1 -1
- package/card/card-button.js +16 -16
- package/card/card-link/card-link.d.ts.map +1 -1
- package/card/card-link.js +17 -17
- package/card/card.js +55 -36
- package/card/common/card-action-common.d.ts +1 -1
- package/card/common/card-action-common.d.ts.map +1 -1
- package/card/common.js +27 -33
- package/checkbox/checkbox/checkbox.d.ts +3 -4
- package/checkbox/checkbox/checkbox.d.ts.map +1 -1
- package/checkbox/checkbox-group/checkbox-group.d.ts +4 -4
- package/checkbox/checkbox-group/checkbox-group.d.ts.map +1 -1
- package/checkbox/checkbox-group.js +99 -76
- package/checkbox/checkbox-panel/checkbox-panel.d.ts +2 -3
- package/checkbox/checkbox-panel/checkbox-panel.d.ts.map +1 -1
- package/checkbox/checkbox-panel.js +51 -50
- package/checkbox/checkbox.js +54 -43
- package/checkbox/common/checkbox-common.d.ts +1 -1
- package/checkbox/common/checkbox-common.d.ts.map +1 -1
- package/checkbox/common.js +39 -24
- package/chip/chip.d.ts +2 -2
- package/chip/chip.d.ts.map +1 -1
- package/chip.js +45 -26
- package/clock/clock.d.ts +1 -1
- package/clock/clock.d.ts.map +1 -1
- package/clock.js +136 -144
- package/container/container/container.d.ts +3 -3
- package/container/container/container.d.ts.map +1 -1
- package/container/container.js +60 -35
- package/container/sticky-bar/sticky-bar.d.ts +1 -1
- package/container/sticky-bar/sticky-bar.d.ts.map +1 -1
- package/container/sticky-bar.js +55 -47
- package/core/a11y.js +29 -51
- package/core/base-elements/action-base-element.d.ts.map +1 -1
- package/core/base-elements/button-base-element.d.ts +2 -2
- package/core/base-elements/button-base-element.d.ts.map +1 -1
- package/core/base-elements/link-base-element.d.ts +5 -5
- package/core/base-elements/link-base-element.d.ts.map +1 -1
- package/core/base-elements.js +243 -196
- package/core/controllers.js +8 -13
- package/core/decorators/base.d.ts +14 -0
- package/core/decorators/base.d.ts.map +1 -0
- package/core/decorators/force-type.d.ts +8 -0
- package/core/decorators/force-type.d.ts.map +1 -0
- package/core/decorators/get-override.d.ts +7 -0
- package/core/decorators/get-override.d.ts.map +1 -0
- package/core/decorators/handle-distinct-change.d.ts +8 -0
- package/core/decorators/handle-distinct-change.d.ts.map +1 -0
- package/core/decorators/omit-empty-converter.d.ts +8 -0
- package/core/decorators/omit-empty-converter.d.ts.map +1 -0
- package/core/decorators.d.ts +4 -0
- package/core/decorators.d.ts.map +1 -1
- package/core/decorators.js +59 -15
- package/core/dom.js +1 -5
- package/core/eventing.js +1 -4
- package/core/interfaces/paginator-page.d.ts +7 -0
- package/core/interfaces/paginator-page.d.ts.map +1 -0
- package/core/interfaces.d.ts +1 -0
- package/core/interfaces.d.ts.map +1 -1
- package/core/mixins/disabled-mixin.d.ts +2 -3
- package/core/mixins/disabled-mixin.d.ts.map +1 -1
- package/core/mixins/form-associated-checkbox-mixin.d.ts +1 -0
- package/core/mixins/form-associated-checkbox-mixin.d.ts.map +1 -1
- package/core/mixins/form-associated-mixin.d.ts +6 -6
- package/core/mixins/form-associated-mixin.d.ts.map +1 -1
- package/core/mixins/named-slot-list-mixin.d.ts +1 -1
- package/core/mixins/named-slot-list-mixin.d.ts.map +1 -1
- package/core/mixins/negative-mixin.d.ts +1 -1
- package/core/mixins/negative-mixin.d.ts.map +1 -1
- package/core/mixins/panel-mixin.d.ts +3 -3
- package/core/mixins/panel-mixin.d.ts.map +1 -1
- package/core/mixins/required-mixin.d.ts +2 -3
- package/core/mixins/required-mixin.d.ts.map +1 -1
- package/core/mixins.js +291 -242
- package/core/styles/mixins/buttons.scss +1 -1
- package/core/styles/node_modules_@sbb-esta_lyne-design-tokens_dist_scss_sbb-variables.scss +4 -0
- package/core/styles/node_modules_@sbb-esta_lyne-design-tokens_dist_scss_sbb-variables_css--mixin.scss +5 -1
- package/core/testing/private.d.ts +1 -0
- package/core/testing/private.d.ts.map +1 -1
- package/core/testing.js +7 -13
- package/core.css +5 -1
- package/custom-elements.json +14515 -13465
- package/datepicker/common/datepicker-button.d.ts +2 -2
- package/datepicker/common/datepicker-button.d.ts.map +1 -1
- package/datepicker/common.js +110 -116
- package/datepicker/datepicker/datepicker.d.ts +6 -6
- package/datepicker/datepicker/datepicker.d.ts.map +1 -1
- package/datepicker/datepicker-next-day/datepicker-next-day.d.ts.map +1 -1
- package/datepicker/datepicker-next-day.js +24 -26
- package/datepicker/datepicker-previous-day/datepicker-previous-day.d.ts.map +1 -1
- package/datepicker/datepicker-previous-day.js +25 -27
- package/datepicker/datepicker-toggle/datepicker-toggle.d.ts +6 -6
- package/datepicker/datepicker-toggle/datepicker-toggle.d.ts.map +1 -1
- package/datepicker/datepicker-toggle.js +154 -136
- package/datepicker/datepicker.js +248 -213
- package/development/accordion/accordion.d.ts +4 -8
- package/development/accordion/accordion.d.ts.map +1 -1
- package/development/accordion.js +118 -93
- package/development/action-group/action-group.d.ts +5 -5
- package/development/action-group/action-group.d.ts.map +1 -1
- package/development/action-group.js +138 -64
- package/development/alert/alert/alert.d.ts +11 -11
- package/development/alert/alert/alert.d.ts.map +1 -1
- package/development/alert/alert-group/alert-group.d.ts +4 -4
- package/development/alert/alert-group/alert-group.d.ts.map +1 -1
- package/development/alert/alert-group.js +135 -79
- package/development/alert/alert.js +259 -109
- package/development/autocomplete/autocomplete-base-element.d.ts +3 -7
- package/development/autocomplete/autocomplete-base-element.d.ts.map +1 -1
- package/development/autocomplete/autocomplete.d.ts.map +1 -1
- package/development/autocomplete-grid/autocomplete-grid/autocomplete-grid.d.ts.map +1 -1
- package/development/autocomplete-grid/autocomplete-grid-button/autocomplete-grid-button.d.ts +1 -0
- package/development/autocomplete-grid/autocomplete-grid-button/autocomplete-grid-button.d.ts.map +1 -1
- package/development/autocomplete-grid/autocomplete-grid-button.js +75 -76
- package/development/autocomplete-grid/autocomplete-grid-cell/autocomplete-grid-cell.d.ts.map +1 -1
- package/development/autocomplete-grid/autocomplete-grid-cell.js +24 -24
- package/development/autocomplete-grid/autocomplete-grid-optgroup/autocomplete-grid-optgroup.d.ts.map +1 -1
- package/development/autocomplete-grid/autocomplete-grid-optgroup.js +38 -39
- package/development/autocomplete-grid/autocomplete-grid-option/autocomplete-grid-option.d.ts.map +1 -1
- package/development/autocomplete-grid/autocomplete-grid-option.js +57 -73
- package/development/autocomplete-grid/autocomplete-grid-row/autocomplete-grid-row.d.ts.map +1 -1
- package/development/autocomplete-grid/autocomplete-grid-row.js +28 -28
- package/development/autocomplete-grid/autocomplete-grid.js +142 -160
- package/development/autocomplete.js +394 -393
- package/development/breadcrumb/breadcrumb/breadcrumb.d.ts +1 -1
- package/development/breadcrumb/breadcrumb/breadcrumb.d.ts.map +1 -1
- package/development/breadcrumb/breadcrumb-group/breadcrumb-group.d.ts.map +1 -1
- package/development/breadcrumb/breadcrumb-group.js +130 -130
- package/development/breadcrumb/breadcrumb.js +53 -36
- package/development/button/button/button.d.ts.map +1 -1
- package/development/button/button-link/button-link.d.ts.map +1 -1
- package/development/button/button-link.js +18 -19
- package/development/button/button-static/button-static.d.ts.map +1 -1
- package/development/button/button-static.js +18 -19
- package/development/button/button.js +18 -19
- package/development/button/common/button-common.d.ts +4 -4
- package/development/button/common/button-common.d.ts.map +1 -1
- package/development/button/common.js +51 -30
- package/development/button/mini-button/mini-button-base-element.d.ts.map +1 -1
- package/development/button/mini-button/mini-button.d.ts.map +1 -1
- package/development/button/mini-button-group/mini-button-group.d.ts +2 -2
- package/development/button/mini-button-group/mini-button-group.d.ts.map +1 -1
- package/development/button/mini-button-group.js +77 -50
- package/development/button/mini-button.js +39 -38
- package/development/button/secondary-button/secondary-button.d.ts.map +1 -1
- package/development/button/secondary-button-link/secondary-button-link.d.ts.map +1 -1
- package/development/button/secondary-button-link.js +18 -19
- package/development/button/secondary-button-static/secondary-button-static.d.ts.map +1 -1
- package/development/button/secondary-button-static.js +18 -19
- package/development/button/secondary-button.js +18 -19
- package/development/button/tertiary-button/tertiary-button.d.ts.map +1 -1
- package/development/button/tertiary-button-link/tertiary-button-link.d.ts.map +1 -1
- package/development/button/tertiary-button-link.js +18 -19
- package/development/button/tertiary-button-static/tertiary-button-static.d.ts.map +1 -1
- package/development/button/tertiary-button-static.js +18 -19
- package/development/button/tertiary-button.js +18 -19
- package/development/button/transparent-button/transparent-button.d.ts.map +1 -1
- package/development/button/transparent-button-link/transparent-button-link.d.ts.map +1 -1
- package/development/button/transparent-button-link.js +18 -19
- package/development/button/transparent-button-static/transparent-button-static.d.ts.map +1 -1
- package/development/button/transparent-button-static.js +18 -19
- package/development/button/transparent-button.js +18 -19
- package/development/calendar/calendar.d.ts +7 -7
- package/development/calendar/calendar.d.ts.map +1 -1
- package/development/calendar.js +768 -766
- package/development/card/card/card.d.ts +2 -2
- package/development/card/card/card.d.ts.map +1 -1
- package/development/card/card-badge/card-badge.d.ts +1 -1
- package/development/card/card-badge/card-badge.d.ts.map +1 -1
- package/development/card/card-badge.js +65 -45
- package/development/card/card-button/card-button.d.ts.map +1 -1
- package/development/card/card-button.js +23 -20
- package/development/card/card-link/card-link.d.ts.map +1 -1
- package/development/card/card-link.js +23 -20
- package/development/card/card.js +72 -41
- package/development/card/common/card-action-common.d.ts +1 -1
- package/development/card/common/card-action-common.d.ts.map +1 -1
- package/development/card/common.js +74 -73
- package/development/checkbox/checkbox/checkbox.d.ts +3 -4
- package/development/checkbox/checkbox/checkbox.d.ts.map +1 -1
- package/development/checkbox/checkbox-group/checkbox-group.d.ts +4 -4
- package/development/checkbox/checkbox-group/checkbox-group.d.ts.map +1 -1
- package/development/checkbox/checkbox-group.js +139 -92
- package/development/checkbox/checkbox-panel/checkbox-panel.d.ts +2 -3
- package/development/checkbox/checkbox-panel/checkbox-panel.d.ts.map +1 -1
- package/development/checkbox/checkbox-panel.js +68 -60
- package/development/checkbox/checkbox.js +69 -46
- package/development/checkbox/common/checkbox-common.d.ts +1 -1
- package/development/checkbox/common/checkbox-common.d.ts.map +1 -1
- package/development/checkbox/common.js +65 -46
- package/development/chip/chip.d.ts +2 -2
- package/development/chip/chip.d.ts.map +1 -1
- package/development/chip.js +64 -33
- package/development/clock/clock.d.ts +1 -1
- package/development/clock/clock.d.ts.map +1 -1
- package/development/clock.js +203 -201
- package/development/container/container/container.d.ts +3 -3
- package/development/container/container/container.d.ts.map +1 -1
- package/development/container/container.js +86 -45
- package/development/container/sticky-bar/sticky-bar.d.ts +1 -1
- package/development/container/sticky-bar/sticky-bar.d.ts.map +1 -1
- package/development/container/sticky-bar.js +76 -58
- package/development/core/a11y.js +40 -62
- package/development/core/base-elements/action-base-element.d.ts.map +1 -1
- package/development/core/base-elements/button-base-element.d.ts +2 -2
- package/development/core/base-elements/button-base-element.d.ts.map +1 -1
- package/development/core/base-elements/link-base-element.d.ts +5 -5
- package/development/core/base-elements/link-base-element.d.ts.map +1 -1
- package/development/core/base-elements.js +329 -226
- package/development/core/config.js +1 -1
- package/development/core/controllers.js +13 -21
- package/development/core/datetime.js +1 -1
- package/development/core/decorators/base.d.ts +14 -0
- package/development/core/decorators/base.d.ts.map +1 -0
- package/development/core/decorators/force-type.d.ts +8 -0
- package/development/core/decorators/force-type.d.ts.map +1 -0
- package/development/core/decorators/get-override.d.ts +7 -0
- package/development/core/decorators/get-override.d.ts.map +1 -0
- package/development/core/decorators/handle-distinct-change.d.ts +8 -0
- package/development/core/decorators/handle-distinct-change.d.ts.map +1 -0
- package/development/core/decorators/omit-empty-converter.d.ts +8 -0
- package/development/core/decorators/omit-empty-converter.d.ts.map +1 -0
- package/development/core/decorators.d.ts +4 -0
- package/development/core/decorators.d.ts.map +1 -1
- package/development/core/decorators.js +69 -5
- package/development/core/dom.js +2 -6
- package/development/core/eventing.js +2 -5
- package/development/core/i18n.js +1 -1
- package/development/core/interfaces/paginator-page.d.ts +7 -0
- package/development/core/interfaces/paginator-page.d.ts.map +1 -0
- package/development/core/interfaces.d.ts +1 -0
- package/development/core/interfaces.d.ts.map +1 -1
- package/development/core/mixins/disabled-mixin.d.ts +2 -3
- package/development/core/mixins/disabled-mixin.d.ts.map +1 -1
- package/development/core/mixins/form-associated-checkbox-mixin.d.ts +1 -0
- package/development/core/mixins/form-associated-checkbox-mixin.d.ts.map +1 -1
- package/development/core/mixins/form-associated-mixin.d.ts +6 -6
- package/development/core/mixins/form-associated-mixin.d.ts.map +1 -1
- package/development/core/mixins/named-slot-list-mixin.d.ts +1 -1
- package/development/core/mixins/named-slot-list-mixin.d.ts.map +1 -1
- package/development/core/mixins/negative-mixin.d.ts +1 -1
- package/development/core/mixins/negative-mixin.d.ts.map +1 -1
- package/development/core/mixins/panel-mixin.d.ts +3 -3
- package/development/core/mixins/panel-mixin.d.ts.map +1 -1
- package/development/core/mixins/required-mixin.d.ts +2 -3
- package/development/core/mixins/required-mixin.d.ts.map +1 -1
- package/development/core/mixins.js +573 -478
- package/development/core/observers.js +1 -1
- package/development/core/overlay.js +1 -1
- package/development/core/testing/private.d.ts +1 -0
- package/development/core/testing/private.d.ts.map +1 -1
- package/development/core/testing.js +16 -22
- package/development/datepicker/common/datepicker-button.d.ts +2 -2
- package/development/datepicker/common/datepicker-button.d.ts.map +1 -1
- package/development/datepicker/common.js +144 -142
- package/development/datepicker/datepicker/datepicker.d.ts +6 -6
- package/development/datepicker/datepicker/datepicker.d.ts.map +1 -1
- package/development/datepicker/datepicker-next-day/datepicker-next-day.d.ts.map +1 -1
- package/development/datepicker/datepicker-next-day.js +33 -33
- package/development/datepicker/datepicker-previous-day/datepicker-previous-day.d.ts.map +1 -1
- package/development/datepicker/datepicker-previous-day.js +33 -33
- package/development/datepicker/datepicker-toggle/datepicker-toggle.d.ts +6 -6
- package/development/datepicker/datepicker-toggle/datepicker-toggle.d.ts.map +1 -1
- package/development/datepicker/datepicker-toggle.js +227 -174
- package/development/datepicker/datepicker.js +327 -249
- package/development/dialog/dialog/dialog.d.ts +1 -1
- package/development/dialog/dialog/dialog.d.ts.map +1 -1
- package/development/dialog/dialog-actions/dialog-actions.d.ts.map +1 -1
- package/development/dialog/dialog-actions.js +21 -20
- package/development/dialog/dialog-content/dialog-content.d.ts.map +1 -1
- package/development/dialog/dialog-content.js +22 -21
- package/development/dialog/dialog-title/dialog-title.d.ts +3 -3
- package/development/dialog/dialog-title/dialog-title.d.ts.map +1 -1
- package/development/dialog/dialog-title.js +121 -66
- package/development/dialog/dialog.js +205 -191
- package/development/divider/divider.d.ts +1 -1
- package/development/divider/divider.d.ts.map +1 -1
- package/development/divider.js +55 -36
- package/development/expansion-panel/expansion-panel/expansion-panel.d.ts +4 -4
- package/development/expansion-panel/expansion-panel/expansion-panel.d.ts.map +1 -1
- package/development/expansion-panel/expansion-panel-content/expansion-panel-content.d.ts.map +1 -1
- package/development/expansion-panel/expansion-panel-content.js +25 -25
- package/development/expansion-panel/expansion-panel-header/expansion-panel-header.d.ts.map +1 -1
- package/development/expansion-panel/expansion-panel-header.js +56 -63
- package/development/expansion-panel/expansion-panel.js +227 -182
- package/development/file-selector/file-selector.d.ts +26 -15
- package/development/file-selector/file-selector.d.ts.map +1 -1
- package/development/file-selector.js +305 -172
- package/development/flip-card/flip-card/flip-card.d.ts +2 -2
- package/development/flip-card/flip-card/flip-card.d.ts.map +1 -1
- package/development/flip-card/flip-card-details/flip-card-details.d.ts.map +1 -1
- package/development/flip-card/flip-card-details.js +39 -39
- package/development/flip-card/flip-card-summary/flip-card-summary.d.ts +1 -1
- package/development/flip-card/flip-card-summary/flip-card-summary.d.ts.map +1 -1
- package/development/flip-card/flip-card-summary.js +57 -38
- package/development/flip-card/flip-card.js +110 -78
- package/development/footer/footer.d.ts +4 -4
- package/development/footer/footer.d.ts.map +1 -1
- package/development/footer.js +103 -41
- package/development/form-error/form-error.d.ts.map +1 -1
- package/development/form-error.js +29 -28
- package/development/form-field/form-field/form-field.d.ts +10 -10
- package/development/form-field/form-field/form-field.d.ts.map +1 -1
- package/development/form-field/form-field-clear/form-field-clear.d.ts.map +1 -1
- package/development/form-field/form-field-clear.js +51 -51
- package/development/form-field/form-field.js +439 -328
- package/development/header/common/header-action-common.d.ts +2 -2
- package/development/header/common/header-action-common.d.ts.map +1 -1
- package/development/header/common.js +95 -28
- package/development/header/header/header.d.ts +4 -4
- package/development/header/header/header.d.ts.map +1 -1
- package/development/header/header-button/header-button.d.ts.map +1 -1
- package/development/header/header-button.js +19 -18
- package/development/header/header-link/header-link.d.ts.map +1 -1
- package/development/header/header-link.js +19 -16
- package/development/header/header.js +198 -140
- package/development/icon/icon-base.d.ts +3 -4
- package/development/icon/icon-base.d.ts.map +1 -1
- package/development/icon/icon-name-mixin.d.ts +1 -1
- package/development/icon/icon-name-mixin.d.ts.map +1 -1
- package/development/icon/icon.d.ts +2 -2
- package/development/icon/icon.d.ts.map +1 -1
- package/development/icon.js +258 -157
- package/development/image/image.d.ts +17 -17
- package/development/image/image.d.ts.map +1 -1
- package/development/image.js +584 -216
- package/development/journey-header/journey-header.d.ts +5 -5
- package/development/journey-header/journey-header.d.ts.map +1 -1
- package/development/journey-header.js +115 -43
- package/development/lead-container/lead-container.d.ts.map +1 -1
- package/development/lead-container.js +22 -21
- package/development/link/block-link/block-link.d.ts.map +1 -1
- package/development/link/block-link-button/block-link-button.d.ts.map +1 -1
- package/development/link/block-link-button.js +19 -18
- package/development/link/block-link-static/block-link-static.d.ts.map +1 -1
- package/development/link/block-link-static.js +19 -18
- package/development/link/block-link.js +19 -18
- package/development/link/common/block-link-common.d.ts +4 -3
- package/development/link/common/block-link-common.d.ts.map +1 -1
- package/development/link/common/link-common.d.ts +1 -1
- package/development/link/common/link-common.d.ts.map +1 -1
- package/development/link/common.js +81 -51
- package/development/link/link/link.d.ts.map +1 -1
- package/development/link/link-button/link-button.d.ts.map +1 -1
- package/development/link/link-button.js +19 -18
- package/development/link/link-static/link-static.d.ts.map +1 -1
- package/development/link/link-static.js +19 -18
- package/development/link/link.js +19 -18
- package/development/link-list/common/link-list-base.d.ts +3 -3
- package/development/link-list/common/link-list-base.d.ts.map +1 -1
- package/development/link-list/common.js +97 -48
- package/development/link-list/link-list/link-list.d.ts +2 -2
- package/development/link-list/link-list/link-list.d.ts.map +1 -1
- package/development/link-list/link-list-anchor/link-list-anchor.d.ts.map +1 -1
- package/development/link-list/link-list-anchor.js +18 -17
- package/development/link-list/link-list.js +60 -28
- package/development/loading-indicator/loading-indicator.d.ts +3 -3
- package/development/loading-indicator/loading-indicator.d.ts.map +1 -1
- package/development/loading-indicator.js +83 -45
- package/development/logo/logo.d.ts +2 -2
- package/development/logo/logo.d.ts.map +1 -1
- package/development/logo.js +64 -32
- package/development/map-container/map-container.d.ts +2 -2
- package/development/map-container/map-container.d.ts.map +1 -1
- package/development/map-container.js +107 -75
- package/development/menu/common/menu-action-common.d.ts +2 -2
- package/development/menu/common/menu-action-common.d.ts.map +1 -1
- package/development/menu/common.js +41 -20
- package/development/menu/menu/menu.d.ts +1 -1
- package/development/menu/menu/menu.d.ts.map +1 -1
- package/development/menu/menu-button/menu-button.d.ts.map +1 -1
- package/development/menu/menu-button.js +19 -18
- package/development/menu/menu-link/menu-link.d.ts.map +1 -1
- package/development/menu/menu-link.js +19 -18
- package/development/menu/menu.js +261 -241
- package/development/message/message.d.ts +2 -2
- package/development/message/message.d.ts.map +1 -1
- package/development/message.js +65 -32
- package/development/navigation/common/navigation-action-common.d.ts +1 -1
- package/development/navigation/common/navigation-action-common.d.ts.map +1 -1
- package/development/navigation/common.js +63 -52
- package/development/navigation/navigation/navigation.d.ts +2 -2
- package/development/navigation/navigation/navigation.d.ts.map +1 -1
- package/development/navigation/navigation-button/navigation-button.d.ts.map +1 -1
- package/development/navigation/navigation-button.js +19 -18
- package/development/navigation/navigation-link/navigation-link.d.ts.map +1 -1
- package/development/navigation/navigation-link.js +19 -18
- package/development/navigation/navigation-list/navigation-list.d.ts +1 -1
- package/development/navigation/navigation-list/navigation-list.d.ts.map +1 -1
- package/development/navigation/navigation-list.js +64 -41
- package/development/navigation/navigation-marker/navigation-marker.d.ts +1 -1
- package/development/navigation/navigation-marker/navigation-marker.d.ts.map +1 -1
- package/development/navigation/navigation-marker.js +108 -91
- package/development/navigation/navigation-section/navigation-section.d.ts +3 -3
- package/development/navigation/navigation-section/navigation-section.d.ts.map +1 -1
- package/development/navigation/navigation-section.js +282 -236
- package/development/navigation/navigation.js +278 -254
- package/development/notification/notification.d.ts +6 -6
- package/development/notification/notification.d.ts.map +1 -1
- package/development/notification.js +212 -146
- package/development/option/optgroup/optgroup-base-element.d.ts +3 -3
- package/development/option/optgroup/optgroup-base-element.d.ts.map +1 -1
- package/development/option/optgroup/optgroup.d.ts.map +1 -1
- package/development/option/optgroup.js +187 -142
- package/development/option/option/option-base-element.d.ts +7 -7
- package/development/option/option/option-base-element.d.ts.map +1 -1
- package/development/option/option/option.d.ts.map +1 -1
- package/development/option/option.js +392 -296
- package/development/overlay/overlay-base-element.d.ts +1 -1
- package/development/overlay/overlay-base-element.d.ts.map +1 -1
- package/development/overlay/overlay.d.ts +4 -4
- package/development/overlay/overlay.d.ts.map +1 -1
- package/development/overlay.js +260 -207
- package/development/paginator/common/paginator-common.d.ts +26 -0
- package/development/paginator/common/paginator-common.d.ts.map +1 -0
- package/development/paginator/common.d.ts +2 -0
- package/development/paginator/common.d.ts.map +1 -0
- package/development/paginator/common.js +189 -0
- package/development/paginator/compact-paginator/compact-paginator.d.ts +20 -0
- package/development/paginator/compact-paginator/compact-paginator.d.ts.map +1 -0
- package/development/paginator/compact-paginator.d.ts +2 -0
- package/development/paginator/compact-paginator.d.ts.map +1 -0
- package/development/paginator/compact-paginator.js +96 -0
- package/development/paginator/paginator/paginator.d.ts +51 -0
- package/development/paginator/paginator/paginator.d.ts.map +1 -0
- package/development/paginator/paginator.d.ts +1 -90
- package/development/paginator/paginator.d.ts.map +1 -1
- package/development/paginator/paginator.js +449 -0
- package/development/paginator.d.ts +2 -0
- package/development/paginator.d.ts.map +1 -1
- package/development/paginator.js +4 -519
- package/development/popover/popover/popover.d.ts +6 -7
- package/development/popover/popover/popover.d.ts.map +1 -1
- package/development/popover/popover-trigger/popover-trigger.d.ts.map +1 -1
- package/development/popover/popover-trigger.js +29 -30
- package/development/popover/popover.js +358 -303
- package/development/radio-button/common/radio-button-common.d.ts +1 -1
- package/development/radio-button/common/radio-button-common.d.ts.map +1 -1
- package/development/radio-button/common.js +170 -127
- package/development/radio-button/radio-button/radio-button.d.ts +2 -6
- package/development/radio-button/radio-button/radio-button.d.ts.map +1 -1
- package/development/radio-button/radio-button-group/radio-button-group.d.ts +6 -6
- package/development/radio-button/radio-button-group/radio-button-group.d.ts.map +1 -1
- package/development/radio-button/radio-button-group.js +269 -199
- package/development/radio-button/radio-button-panel/radio-button-panel.d.ts +2 -6
- package/development/radio-button/radio-button-panel/radio-button-panel.d.ts.map +1 -1
- package/development/radio-button/radio-button-panel.js +60 -48
- package/development/radio-button/radio-button.js +54 -40
- package/development/screen-reader-only/screen-reader-only.d.ts.map +1 -1
- package/development/screen-reader-only.js +22 -21
- package/development/select/select.d.ts +17 -9
- package/development/select/select.d.ts.map +1 -1
- package/development/select.js +557 -524
- package/development/selection-expansion-panel/selection-expansion-panel.d.ts +3 -3
- package/development/selection-expansion-panel/selection-expansion-panel.d.ts.map +1 -1
- package/development/selection-expansion-panel.js +223 -193
- package/development/signet/signet.d.ts +2 -2
- package/development/signet/signet.d.ts.map +1 -1
- package/development/signet.js +65 -33
- package/development/skiplink-list/skiplink-list.d.ts +2 -2
- package/development/skiplink-list/skiplink-list.d.ts.map +1 -1
- package/development/skiplink-list.js +74 -41
- package/development/slider/slider.d.ts +7 -5
- package/development/slider/slider.d.ts.map +1 -1
- package/development/slider.js +260 -181
- package/development/status/status.d.ts +3 -3
- package/development/status/status.d.ts.map +1 -1
- package/development/status.js +96 -51
- package/development/stepper/step/step.d.ts.map +1 -1
- package/development/stepper/step-label/step-label.d.ts.map +1 -1
- package/development/stepper/step-label.js +86 -90
- package/development/stepper/step.js +122 -126
- package/development/stepper/stepper/stepper.d.ts +3 -3
- package/development/stepper/stepper/stepper.d.ts.map +1 -1
- package/development/stepper/stepper.js +291 -241
- package/development/table/table-wrapper/table-wrapper.d.ts.map +1 -1
- package/development/table/table-wrapper.js +37 -39
- package/development/tabs/tab/tab.d.ts.map +1 -1
- package/development/tabs/tab-group/tab-group.d.ts +2 -2
- package/development/tabs/tab-group/tab-group.d.ts.map +1 -1
- package/development/tabs/tab-group.js +296 -279
- package/development/tabs/tab-label/tab-label.d.ts +3 -3
- package/development/tabs/tab-label/tab-label.d.ts.map +1 -1
- package/development/tabs/tab-label.js +83 -37
- package/development/tabs/tab.js +40 -39
- package/development/tag/tag/tag.d.ts +3 -5
- package/development/tag/tag/tag.d.ts.map +1 -1
- package/development/tag/tag-group/tag-group.d.ts +3 -3
- package/development/tag/tag-group/tag-group.d.ts.map +1 -1
- package/development/tag/tag-group.js +143 -88
- package/development/tag/tag.js +126 -89
- package/development/teaser/teaser.d.ts +4 -4
- package/development/teaser/teaser.d.ts.map +1 -1
- package/development/teaser-hero/teaser-hero.d.ts +3 -3
- package/development/teaser-hero/teaser-hero.d.ts.map +1 -1
- package/development/teaser-hero.js +83 -36
- package/development/teaser-product/common/teaser-product-common.d.ts +1 -1
- package/development/teaser-product/common/teaser-product-common.d.ts.map +1 -1
- package/development/teaser-product/common.js +51 -26
- package/development/teaser-product/teaser-product/teaser-product.d.ts.map +1 -1
- package/development/teaser-product/teaser-product-static/teaser-product-static.d.ts.map +1 -1
- package/development/teaser-product/teaser-product-static.js +18 -19
- package/development/teaser-product/teaser-product.js +18 -19
- package/development/teaser.js +94 -40
- package/development/time-input/time-input.d.ts +1 -1
- package/development/time-input/time-input.d.ts.map +1 -1
- package/development/time-input.js +225 -219
- package/development/timetable-occupancy/timetable-occupancy.d.ts +2 -2
- package/development/timetable-occupancy/timetable-occupancy.d.ts.map +1 -1
- package/development/timetable-occupancy-icon/timetable-occupancy-icon.d.ts +1 -1
- package/development/timetable-occupancy-icon/timetable-occupancy-icon.d.ts.map +1 -1
- package/development/timetable-occupancy-icon.js +78 -57
- package/development/timetable-occupancy.js +67 -35
- package/development/title/title-base.d.ts +3 -3
- package/development/title/title-base.d.ts.map +1 -1
- package/development/title/title.d.ts.map +1 -1
- package/development/title.js +106 -58
- package/development/toast/toast.d.ts +4 -4
- package/development/toast/toast.d.ts.map +1 -1
- package/development/toast.js +204 -146
- package/development/toggle/toggle/toggle.d.ts +3 -5
- package/development/toggle/toggle/toggle.d.ts.map +1 -1
- package/development/toggle/toggle-option/toggle-option.d.ts +2 -2
- package/development/toggle/toggle-option/toggle-option.d.ts.map +1 -1
- package/development/toggle/toggle-option.js +127 -93
- package/development/toggle/toggle.js +200 -163
- package/development/toggle-check/toggle-check.d.ts +4 -3
- package/development/toggle-check/toggle-check.d.ts.map +1 -1
- package/development/toggle-check.js +87 -49
- package/development/train/train/train.d.ts +5 -5
- package/development/train/train/train.d.ts.map +1 -1
- package/development/train/train-blocked-passage/train-blocked-passage.d.ts.map +1 -1
- package/development/train/train-blocked-passage.js +22 -21
- package/development/train/train-formation/train-formation.d.ts +2 -2
- package/development/train/train-formation/train-formation.d.ts.map +1 -1
- package/development/train/train-formation.js +113 -90
- package/development/train/train-wagon/train-wagon.d.ts +7 -9
- package/development/train/train-wagon/train-wagon.d.ts.map +1 -1
- package/development/train/train-wagon.js +166 -87
- package/development/train/train.js +142 -75
- package/development/visual-checkbox/visual-checkbox.d.ts +3 -3
- package/development/visual-checkbox/visual-checkbox.d.ts.map +1 -1
- package/development/visual-checkbox.js +79 -36
- package/dialog/dialog/dialog.d.ts +1 -1
- package/dialog/dialog/dialog.d.ts.map +1 -1
- package/dialog/dialog-actions/dialog-actions.d.ts.map +1 -1
- package/dialog/dialog-actions.js +18 -19
- package/dialog/dialog-content/dialog-content.d.ts.map +1 -1
- package/dialog/dialog-content.js +17 -18
- package/dialog/dialog-title/dialog-title.d.ts +3 -3
- package/dialog/dialog-title/dialog-title.d.ts.map +1 -1
- package/dialog/dialog-title.js +98 -66
- package/dialog/dialog.js +120 -114
- package/divider/divider.d.ts +1 -1
- package/divider/divider.d.ts.map +1 -1
- package/divider.js +41 -30
- package/expansion-panel/expansion-panel/expansion-panel.d.ts +4 -4
- package/expansion-panel/expansion-panel/expansion-panel.d.ts.map +1 -1
- package/expansion-panel/expansion-panel-content/expansion-panel-content.d.ts.map +1 -1
- package/expansion-panel/expansion-panel-content.js +20 -22
- package/expansion-panel/expansion-panel-header/expansion-panel-header.d.ts.map +1 -1
- package/expansion-panel/expansion-panel-header.js +53 -61
- package/expansion-panel/expansion-panel.js +145 -130
- package/file-selector/file-selector.d.ts +26 -15
- package/file-selector/file-selector.d.ts.map +1 -1
- package/file-selector.js +227 -153
- package/flip-card/flip-card/flip-card.d.ts +2 -2
- package/flip-card/flip-card/flip-card.d.ts.map +1 -1
- package/flip-card/flip-card-details/flip-card-details.d.ts.map +1 -1
- package/flip-card/flip-card-details.js +36 -38
- package/flip-card/flip-card-summary/flip-card-summary.d.ts +1 -1
- package/flip-card/flip-card-summary/flip-card-summary.d.ts.map +1 -1
- package/flip-card/flip-card-summary.js +42 -31
- package/flip-card/flip-card.js +88 -69
- package/footer/footer.d.ts +4 -4
- package/footer/footer.d.ts.map +1 -1
- package/footer.js +78 -37
- package/form-error/form-error.d.ts.map +1 -1
- package/form-error.js +24 -25
- package/form-field/form-field/form-field.d.ts +10 -10
- package/form-field/form-field/form-field.d.ts.map +1 -1
- package/form-field/form-field-clear/form-field-clear.d.ts.map +1 -1
- package/form-field/form-field-clear.js +39 -41
- package/form-field/form-field.js +295 -239
- package/header/common/header-action-common.d.ts +2 -2
- package/header/common/header-action-common.d.ts.map +1 -1
- package/header/common.js +36 -21
- package/header/header/header.d.ts +4 -4
- package/header/header/header.d.ts.map +1 -1
- package/header/header-button/header-button.d.ts.map +1 -1
- package/header/header-button.js +14 -16
- package/header/header-link/header-link.d.ts.map +1 -1
- package/header/header-link.js +14 -14
- package/header/header.js +138 -109
- package/icon/icon-base.d.ts +3 -4
- package/icon/icon-base.d.ts.map +1 -1
- package/icon/icon-name-mixin.d.ts +1 -1
- package/icon/icon-name-mixin.d.ts.map +1 -1
- package/icon/icon.d.ts +2 -2
- package/icon/icon.d.ts.map +1 -1
- package/icon.js +230 -165
- package/image/image.d.ts +17 -17
- package/image/image.d.ts.map +1 -1
- package/image.js +465 -195
- package/index.d.ts +3 -1
- package/index.js +3 -1
- package/journey-header/journey-header.d.ts +5 -5
- package/journey-header/journey-header.d.ts.map +1 -1
- package/journey-header.js +89 -49
- package/lead-container/lead-container.d.ts.map +1 -1
- package/lead-container.js +17 -18
- package/link/block-link/block-link.d.ts.map +1 -1
- package/link/block-link-button/block-link-button.d.ts.map +1 -1
- package/link/block-link-button.js +15 -17
- package/link/block-link-static/block-link-static.d.ts.map +1 -1
- package/link/block-link-static.js +14 -16
- package/link/block-link.js +15 -17
- package/link/common/block-link-common.d.ts +4 -3
- package/link/common/block-link-common.d.ts.map +1 -1
- package/link/common/link-common.d.ts +1 -1
- package/link/common/link-common.d.ts.map +1 -1
- package/link/common.js +64 -46
- package/link/link/link.d.ts.map +1 -1
- package/link/link-button/link-button.d.ts.map +1 -1
- package/link/link-button.js +15 -17
- package/link/link-static/link-static.d.ts.map +1 -1
- package/link/link-static.js +15 -17
- package/link/link.js +15 -17
- package/link-list/common/link-list-base.d.ts +3 -3
- package/link-list/common/link-list-base.d.ts.map +1 -1
- package/link-list/common.js +72 -44
- package/link-list/link-list/link-list.d.ts +2 -2
- package/link-list/link-list/link-list.d.ts.map +1 -1
- package/link-list/link-list-anchor/link-list-anchor.d.ts.map +1 -1
- package/link-list/link-list-anchor.js +15 -16
- package/link-list/link-list.js +43 -24
- package/loading-indicator/loading-indicator.d.ts +3 -3
- package/loading-indicator/loading-indicator.d.ts.map +1 -1
- package/loading-indicator.js +61 -36
- package/logo/logo.d.ts +2 -2
- package/logo/logo.d.ts.map +1 -1
- package/logo.js +47 -27
- package/map-container/map-container.d.ts +2 -2
- package/map-container/map-container.d.ts.map +1 -1
- package/map-container.js +84 -65
- package/menu/common/menu-action-common.d.ts +2 -2
- package/menu/common/menu-action-common.d.ts.map +1 -1
- package/menu/common.js +37 -22
- package/menu/menu/menu.d.ts +1 -1
- package/menu/menu/menu.d.ts.map +1 -1
- package/menu/menu-button/menu-button.d.ts.map +1 -1
- package/menu/menu-button.js +14 -16
- package/menu/menu-link/menu-link.d.ts.map +1 -1
- package/menu/menu-link.js +15 -17
- package/menu/menu.js +175 -170
- package/message/message.d.ts +2 -2
- package/message/message.d.ts.map +1 -1
- package/message.js +47 -27
- package/navigation/common/navigation-action-common.d.ts +1 -1
- package/navigation/common/navigation-action-common.d.ts.map +1 -1
- package/navigation/common.js +38 -33
- package/navigation/navigation/navigation.d.ts +2 -2
- package/navigation/navigation/navigation.d.ts.map +1 -1
- package/navigation/navigation-button/navigation-button.d.ts.map +1 -1
- package/navigation/navigation-button.js +14 -16
- package/navigation/navigation-link/navigation-link.d.ts.map +1 -1
- package/navigation/navigation-link.js +14 -16
- package/navigation/navigation-list/navigation-list.d.ts +1 -1
- package/navigation/navigation-list/navigation-list.d.ts.map +1 -1
- package/navigation/navigation-list.js +48 -35
- package/navigation/navigation-marker/navigation-marker.d.ts +1 -1
- package/navigation/navigation-marker/navigation-marker.d.ts.map +1 -1
- package/navigation/navigation-marker.js +77 -69
- package/navigation/navigation-section/navigation-section.d.ts +3 -3
- package/navigation/navigation-section/navigation-section.d.ts.map +1 -1
- package/navigation/navigation-section.js +192 -171
- package/navigation/navigation.js +185 -181
- package/notification/notification.d.ts +6 -6
- package/notification/notification.d.ts.map +1 -1
- package/notification.js +147 -116
- package/option/optgroup/optgroup-base-element.d.ts +3 -3
- package/option/optgroup/optgroup-base-element.d.ts.map +1 -1
- package/option/optgroup/optgroup.d.ts.map +1 -1
- package/option/optgroup.js +131 -112
- package/option/option/option-base-element.d.ts +7 -7
- package/option/option/option-base-element.d.ts.map +1 -1
- package/option/option/option.d.ts.map +1 -1
- package/option/option.js +295 -252
- package/overlay/overlay-base-element.d.ts +1 -1
- package/overlay/overlay-base-element.d.ts.map +1 -1
- package/overlay/overlay.d.ts +4 -4
- package/overlay/overlay.d.ts.map +1 -1
- package/overlay.js +194 -165
- package/package.json +19 -3
- package/paginator/common/paginator-common.d.ts +26 -0
- package/paginator/common/paginator-common.d.ts.map +1 -0
- package/paginator/common.d.ts +2 -0
- package/paginator/common.d.ts.map +1 -0
- package/paginator/common.js +145 -0
- package/paginator/compact-paginator/compact-paginator.d.ts +20 -0
- package/paginator/compact-paginator/compact-paginator.d.ts.map +1 -0
- package/paginator/compact-paginator.d.ts +2 -0
- package/paginator/compact-paginator.d.ts.map +1 -0
- package/paginator/compact-paginator.js +40 -0
- package/paginator/paginator/paginator.d.ts +51 -0
- package/paginator/paginator/paginator.d.ts.map +1 -0
- package/paginator/paginator.d.ts +1 -90
- package/paginator/paginator.d.ts.map +1 -1
- package/paginator/paginator.js +171 -0
- package/paginator.d.ts +2 -0
- package/paginator.d.ts.map +1 -1
- package/paginator.js +3 -263
- package/popover/popover/popover.d.ts +6 -7
- package/popover/popover/popover.d.ts.map +1 -1
- package/popover/popover-trigger/popover-trigger.d.ts.map +1 -1
- package/popover/popover-trigger.js +26 -29
- package/popover/popover.js +230 -208
- package/radio-button/common/radio-button-common.d.ts +1 -1
- package/radio-button/common/radio-button-common.d.ts.map +1 -1
- package/radio-button/common.js +67 -43
- package/radio-button/radio-button/radio-button.d.ts +2 -6
- package/radio-button/radio-button/radio-button.d.ts.map +1 -1
- package/radio-button/radio-button-group/radio-button-group.d.ts +6 -6
- package/radio-button/radio-button-group/radio-button-group.d.ts.map +1 -1
- package/radio-button/radio-button-group.js +192 -156
- package/radio-button/radio-button-panel/radio-button-panel.d.ts +2 -6
- package/radio-button/radio-button-panel/radio-button-panel.d.ts.map +1 -1
- package/radio-button/radio-button-panel.js +49 -45
- package/radio-button/radio-button.js +43 -37
- package/screen-reader-only/screen-reader-only.d.ts.map +1 -1
- package/screen-reader-only.js +17 -18
- package/select/select.d.ts +17 -9
- package/select/select.d.ts.map +1 -1
- package/select.js +377 -373
- package/selection-expansion-panel/selection-expansion-panel.d.ts +3 -3
- package/selection-expansion-panel/selection-expansion-panel.d.ts.map +1 -1
- package/selection-expansion-panel.js +157 -148
- package/signet/signet.d.ts +2 -2
- package/signet/signet.d.ts.map +1 -1
- package/signet.js +48 -28
- package/skiplink-list/skiplink-list.d.ts +2 -2
- package/skiplink-list/skiplink-list.d.ts.map +1 -1
- package/skiplink-list.js +54 -36
- package/slider/slider.d.ts +7 -5
- package/slider/slider.d.ts.map +1 -1
- package/slider.js +197 -155
- package/standard-theme.css +5 -1
- package/status/status.d.ts +3 -3
- package/status/status.d.ts.map +1 -1
- package/status.js +71 -46
- package/stepper/step/step.d.ts.map +1 -1
- package/stepper/step-label/step-label.d.ts.map +1 -1
- package/stepper/step-label.js +69 -75
- package/stepper/step.js +99 -104
- package/stepper/stepper/stepper.d.ts +3 -3
- package/stepper/stepper/stepper.d.ts.map +1 -1
- package/stepper/stepper.js +208 -188
- package/table/table-wrapper/table-wrapper.d.ts.map +1 -1
- package/table/table-wrapper.js +32 -36
- package/tabs/tab/tab.d.ts.map +1 -1
- package/tabs/tab-group/tab-group.d.ts +2 -2
- package/tabs/tab-group/tab-group.d.ts.map +1 -1
- package/tabs/tab-group.js +200 -193
- package/tabs/tab-label/tab-label.d.ts +3 -3
- package/tabs/tab-label/tab-label.d.ts.map +1 -1
- package/tabs/tab-label.js +65 -37
- package/tabs/tab.js +34 -35
- package/tag/tag/tag.d.ts +3 -5
- package/tag/tag/tag.d.ts.map +1 -1
- package/tag/tag-group/tag-group.d.ts +3 -3
- package/tag/tag-group/tag-group.d.ts.map +1 -1
- package/tag/tag-group.js +107 -75
- package/tag/tag.js +92 -73
- package/teaser/teaser.d.ts +4 -4
- package/teaser/teaser.d.ts.map +1 -1
- package/teaser-hero/teaser-hero.d.ts +3 -3
- package/teaser-hero/teaser-hero.d.ts.map +1 -1
- package/teaser-hero.js +66 -38
- package/teaser-product/common/teaser-product-common.d.ts +1 -1
- package/teaser-product/common/teaser-product-common.d.ts.map +1 -1
- package/teaser-product/common.js +36 -21
- package/teaser-product/teaser-product/teaser-product.d.ts.map +1 -1
- package/teaser-product/teaser-product-static/teaser-product-static.d.ts.map +1 -1
- package/teaser-product/teaser-product-static.js +14 -17
- package/teaser-product/teaser-product.js +14 -17
- package/teaser.js +69 -37
- package/time-input/time-input.d.ts +1 -1
- package/time-input/time-input.d.ts.map +1 -1
- package/time-input.js +160 -166
- package/timetable-occupancy/timetable-occupancy.d.ts +2 -2
- package/timetable-occupancy/timetable-occupancy.d.ts.map +1 -1
- package/timetable-occupancy-icon/timetable-occupancy-icon.d.ts +1 -1
- package/timetable-occupancy-icon/timetable-occupancy-icon.d.ts.map +1 -1
- package/timetable-occupancy-icon.js +60 -48
- package/timetable-occupancy.js +55 -38
- package/title/title-base.d.ts +3 -3
- package/title/title-base.d.ts.map +1 -1
- package/title/title.d.ts.map +1 -1
- package/title.js +81 -53
- package/toast/toast.d.ts +4 -4
- package/toast/toast.d.ts.map +1 -1
- package/toast.js +156 -123
- package/toggle/toggle/toggle.d.ts +3 -5
- package/toggle/toggle/toggle.d.ts.map +1 -1
- package/toggle/toggle-option/toggle-option.d.ts +2 -2
- package/toggle/toggle-option/toggle-option.d.ts.map +1 -1
- package/toggle/toggle-option.js +89 -72
- package/toggle/toggle.js +139 -122
- package/toggle-check/toggle-check.d.ts +4 -3
- package/toggle-check/toggle-check.d.ts.map +1 -1
- package/toggle-check.js +63 -41
- package/train/train/train.d.ts +5 -5
- package/train/train/train.d.ts.map +1 -1
- package/train/train-blocked-passage/train-blocked-passage.d.ts.map +1 -1
- package/train/train-blocked-passage.js +17 -18
- package/train/train-formation/train-formation.d.ts +2 -2
- package/train/train-formation/train-formation.d.ts.map +1 -1
- package/train/train-formation.js +96 -87
- package/train/train-wagon/train-wagon.d.ts +7 -9
- package/train/train-wagon/train-wagon.d.ts.map +1 -1
- package/train/train-wagon.js +150 -110
- package/train/train.js +108 -71
- package/visual-checkbox/visual-checkbox.d.ts +3 -3
- package/visual-checkbox/visual-checkbox.d.ts.map +1 -1
- package/visual-checkbox.js +59 -32
- package/autocomplete-grid/autocomplete-grid-optgroup/index.d.ts +0 -2
- package/autocomplete-grid/autocomplete-grid-optgroup/index.d.ts.map +0 -1
- package/button/mini-button-group/index.d.ts +0 -2
- package/button/mini-button-group/index.d.ts.map +0 -1
- package/development/autocomplete-grid/autocomplete-grid-optgroup/index.d.ts +0 -2
- package/development/autocomplete-grid/autocomplete-grid-optgroup/index.d.ts.map +0 -1
- package/development/button/mini-button-group/index.d.ts +0 -2
- package/development/button/mini-button-group/index.d.ts.map +0 -1
- package/development/flip-card/flip-card/index.d.ts +0 -2
- package/development/flip-card/flip-card/index.d.ts.map +0 -1
- package/development/flip-card/flip-card-details/index.d.ts +0 -2
- package/development/flip-card/flip-card-details/index.d.ts.map +0 -1
- package/development/flip-card/flip-card-summary/index.d.ts +0 -2
- package/development/flip-card/flip-card-summary/index.d.ts.map +0 -1
- package/development/link-list/link-list-anchor/index.d.ts +0 -2
- package/development/link-list/link-list-anchor/index.d.ts.map +0 -1
- package/development/paginator/index.d.ts +0 -2
- package/development/paginator/index.d.ts.map +0 -1
- package/development/radio-button/radio-button-panel/index.d.ts +0 -2
- package/development/radio-button/radio-button-panel/index.d.ts.map +0 -1
- package/development/tabs/tab/index.d.ts +0 -2
- package/development/tabs/tab/index.d.ts.map +0 -1
- package/flip-card/flip-card/index.d.ts +0 -2
- package/flip-card/flip-card/index.d.ts.map +0 -1
- package/flip-card/flip-card-details/index.d.ts +0 -2
- package/flip-card/flip-card-details/index.d.ts.map +0 -1
- package/flip-card/flip-card-summary/index.d.ts +0 -2
- package/flip-card/flip-card-summary/index.d.ts.map +0 -1
- package/link-list/link-list-anchor/index.d.ts +0 -2
- package/link-list/link-list-anchor/index.d.ts.map +0 -1
- package/paginator/index.d.ts +0 -2
- package/paginator/index.d.ts.map +0 -1
- package/radio-button/radio-button-panel/index.d.ts +0 -2
- package/radio-button/radio-button-panel/index.d.ts.map +0 -1
- package/tabs/tab/index.d.ts +0 -2
- package/tabs/tab/index.d.ts.map +0 -1
package/development/icon.js
CHANGED
|
@@ -1,8 +1,16 @@
|
|
|
1
|
-
|
|
1
|
+
var __typeError = (msg) => {
|
|
2
|
+
throw TypeError(msg);
|
|
3
|
+
};
|
|
4
|
+
var __accessCheck = (obj, member, msg) => member.has(obj) || __typeError("Cannot " + msg);
|
|
5
|
+
var __privateGet = (obj, member, getter) => (__accessCheck(obj, member, "read from private field"), getter ? getter.call(obj) : member.get(obj));
|
|
6
|
+
var __privateAdd = (obj, member, value) => member.has(obj) ? __typeError("Cannot add the same private member more than once") : member instanceof WeakSet ? member.add(obj) : member.set(obj, value);
|
|
7
|
+
var __privateSet = (obj, member, value, setter) => (__accessCheck(obj, member, "write to private field"), setter ? setter.call(obj, value) : member.set(obj, value), value);
|
|
8
|
+
import { __esDecorate, __runInitializers } from "tslib";
|
|
9
|
+
import { isServer, css, html, LitElement, nothing } from "lit";
|
|
2
10
|
import { state, property, customElement } from "lit/decorators.js";
|
|
11
|
+
import { hostAttributes, forceType, omitEmptyConverter } from "./core/decorators.js";
|
|
3
12
|
import { unsafeHTML } from "lit/directives/unsafe-html.js";
|
|
4
13
|
import { until } from "lit/directives/until.js";
|
|
5
|
-
import { hostAttributes } from "./core/decorators.js";
|
|
6
14
|
import { readConfig } from "./core/config.js";
|
|
7
15
|
const isStr = (val) => typeof val === "string";
|
|
8
16
|
const isValid = (elm) => {
|
|
@@ -54,9 +62,7 @@ const getSvgContent = (namespace, name, sanitize) => {
|
|
|
54
62
|
const config = readConfig().icon ?? {};
|
|
55
63
|
const resolvedNamespace = ((_a = config.namespaces) == null ? void 0 : _a.get(namespace)) ?? iconNamespaces.get(namespace);
|
|
56
64
|
if (resolvedNamespace == null) {
|
|
57
|
-
throw Error(
|
|
58
|
-
`Unable to find the namespace "${namespace}". Please register your custom namespace.`
|
|
59
|
-
);
|
|
65
|
+
throw Error(`Unable to find the namespace "${namespace}". Please register your custom namespace.`);
|
|
60
66
|
}
|
|
61
67
|
const url = `${resolvedNamespace}${name}.svg`;
|
|
62
68
|
let req = requests.get(url);
|
|
@@ -127,173 +133,268 @@ svg:not(.color-immutable) > :where(path, polygon, polyline):where(:not([stroke])
|
|
|
127
133
|
svg:not(.color-immutable) :where(:not([stroke]):not([fill])) :where(path, polygon, polyline):where(:not([stroke]):not([fill])) {
|
|
128
134
|
fill: currentcolor;
|
|
129
135
|
}`;
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
var
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
let
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
136
|
+
const defaultNamespace = "default";
|
|
137
|
+
let SbbIconBase = (() => {
|
|
138
|
+
var __svgNamespace_accessor_storage, __svgIcon_accessor_storage, _noSanitize_accessor_storage, _a;
|
|
139
|
+
let _classDecorators = [hostAttributes({
|
|
140
|
+
"data-namespace": defaultNamespace,
|
|
141
|
+
"data-empty": ""
|
|
142
|
+
})];
|
|
143
|
+
let _classDescriptor;
|
|
144
|
+
let _classExtraInitializers = [];
|
|
145
|
+
let _classThis;
|
|
146
|
+
let _classSuper = LitElement;
|
|
147
|
+
let __svgNamespace_decorators;
|
|
148
|
+
let __svgNamespace_initializers = [];
|
|
149
|
+
let __svgNamespace_extraInitializers = [];
|
|
150
|
+
let __svgIcon_decorators;
|
|
151
|
+
let __svgIcon_initializers = [];
|
|
152
|
+
let __svgIcon_extraInitializers = [];
|
|
153
|
+
let _noSanitize_decorators;
|
|
154
|
+
let _noSanitize_initializers = [];
|
|
155
|
+
let _noSanitize_extraInitializers = [];
|
|
156
|
+
_a = class extends _classSuper {
|
|
157
|
+
constructor() {
|
|
158
|
+
super(...arguments);
|
|
159
|
+
__privateAdd(this, __svgNamespace_accessor_storage, __runInitializers(this, __svgNamespace_initializers, defaultNamespace));
|
|
160
|
+
__privateAdd(this, __svgIcon_accessor_storage, (__runInitializers(this, __svgNamespace_extraInitializers), __runInitializers(this, __svgIcon_initializers, null)));
|
|
161
|
+
__privateAdd(this, _noSanitize_accessor_storage, (__runInitializers(this, __svgIcon_extraInitializers), __runInitializers(this, _noSanitize_initializers, false)));
|
|
162
|
+
__runInitializers(this, _noSanitize_extraInitializers);
|
|
149
163
|
}
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
this.setAttribute("data-namespace", this._svgNamespace);
|
|
153
|
-
const svgIcon = this.fetchSvgIcon(this._svgNamespace, name);
|
|
154
|
-
this._svgIcon = svgIcon.then((v) => unsafeHTML(v));
|
|
155
|
-
try {
|
|
156
|
-
this.toggleAttribute("data-empty", !await svgIcon);
|
|
157
|
-
} catch {
|
|
158
|
-
this.toggleAttribute("data-empty", true);
|
|
164
|
+
get _svgNamespace() {
|
|
165
|
+
return __privateGet(this, __svgNamespace_accessor_storage);
|
|
159
166
|
}
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
return await getSvgContent(namespace, name, !this.noSanitize);
|
|
163
|
-
}
|
|
164
|
-
_splitIconName(iconName) {
|
|
165
|
-
if (!iconName) {
|
|
166
|
-
return ["", ""];
|
|
167
|
+
set _svgNamespace(value) {
|
|
168
|
+
__privateSet(this, __svgNamespace_accessor_storage, value);
|
|
167
169
|
}
|
|
168
|
-
|
|
169
|
-
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
|
|
173
|
-
return parts;
|
|
174
|
-
default:
|
|
175
|
-
throw Error(`Invalid icon name: "${iconName}"`);
|
|
170
|
+
/**
|
|
171
|
+
* The icon svg content rendered on the page: <svg>...</svg>.
|
|
172
|
+
*/
|
|
173
|
+
get _svgIcon() {
|
|
174
|
+
return __privateGet(this, __svgIcon_accessor_storage);
|
|
176
175
|
}
|
|
177
|
-
|
|
178
|
-
|
|
179
|
-
|
|
180
|
-
|
|
181
|
-
|
|
182
|
-
|
|
183
|
-
|
|
176
|
+
set _svgIcon(value) {
|
|
177
|
+
__privateSet(this, __svgIcon_accessor_storage, value);
|
|
178
|
+
}
|
|
179
|
+
/**
|
|
180
|
+
* When set to `true`, SVG content that is HTTP fetched will not be checked
|
|
181
|
+
* if the response SVG content has any `<script>` elements, or any attributes
|
|
182
|
+
* that start with `on`, such as `onclick`.
|
|
183
|
+
* @default false
|
|
184
|
+
*/
|
|
185
|
+
get noSanitize() {
|
|
186
|
+
return __privateGet(this, _noSanitize_accessor_storage);
|
|
187
|
+
}
|
|
188
|
+
set noSanitize(value) {
|
|
189
|
+
__privateSet(this, _noSanitize_accessor_storage, value);
|
|
190
|
+
}
|
|
191
|
+
async loadSvgIcon(iconName) {
|
|
192
|
+
if (!iconName) {
|
|
193
|
+
return;
|
|
194
|
+
}
|
|
195
|
+
const [namespace, name] = this._splitIconName(iconName);
|
|
196
|
+
this._svgNamespace = namespace;
|
|
197
|
+
this.setAttribute("data-namespace", this._svgNamespace);
|
|
198
|
+
const svgIcon = this.fetchSvgIcon(this._svgNamespace, name);
|
|
199
|
+
this._svgIcon = svgIcon.then((v) => unsafeHTML(v));
|
|
200
|
+
try {
|
|
201
|
+
this.toggleAttribute("data-empty", !await svgIcon);
|
|
202
|
+
} catch {
|
|
203
|
+
this.toggleAttribute("data-empty", true);
|
|
204
|
+
}
|
|
205
|
+
}
|
|
206
|
+
async fetchSvgIcon(namespace, name) {
|
|
207
|
+
return await getSvgContent(namespace, name, !this.noSanitize);
|
|
208
|
+
}
|
|
209
|
+
_splitIconName(iconName) {
|
|
210
|
+
if (!iconName) {
|
|
211
|
+
return ["", ""];
|
|
212
|
+
}
|
|
213
|
+
const parts = iconName.split(":");
|
|
214
|
+
switch (parts.length) {
|
|
215
|
+
case 1:
|
|
216
|
+
return [defaultNamespace, parts[0]];
|
|
217
|
+
case 2:
|
|
218
|
+
return parts;
|
|
219
|
+
default:
|
|
220
|
+
throw Error(`Invalid icon name: "${iconName}"`);
|
|
221
|
+
}
|
|
222
|
+
}
|
|
223
|
+
firstUpdated(changedProperties) {
|
|
224
|
+
super.firstUpdated(changedProperties);
|
|
225
|
+
this.setAttribute("role", this.getAttribute("role") ?? "img");
|
|
226
|
+
}
|
|
227
|
+
render() {
|
|
228
|
+
return html`<span class="sbb-icon-inner"
|
|
184
229
|
>${until(
|
|
185
|
-
|
|
186
|
-
|
|
187
|
-
|
|
188
|
-
|
|
230
|
+
this._svgIcon,
|
|
231
|
+
// To reserve space, we need an empty svg to apply dimension to.
|
|
232
|
+
html`<svg width="0" height="0"></svg>`
|
|
233
|
+
)}</span
|
|
189
234
|
>`;
|
|
190
|
-
}
|
|
191
|
-
};
|
|
192
|
-
SbbIconBase.styles = style;
|
|
193
|
-
SbbIconBase._defaultNamespace = "default";
|
|
194
|
-
__decorateClass$2([
|
|
195
|
-
state()
|
|
196
|
-
], SbbIconBase.prototype, "_svgNamespace", 2);
|
|
197
|
-
__decorateClass$2([
|
|
198
|
-
state()
|
|
199
|
-
], SbbIconBase.prototype, "_svgIcon", 2);
|
|
200
|
-
__decorateClass$2([
|
|
201
|
-
property({ attribute: "no-sanitize", type: Boolean })
|
|
202
|
-
], SbbIconBase.prototype, "noSanitize", 2);
|
|
203
|
-
SbbIconBase = __decorateClass$2([
|
|
204
|
-
hostAttributes({
|
|
205
|
-
"data-namespace": SbbIconBase._defaultNamespace,
|
|
206
|
-
"data-empty": ""
|
|
207
|
-
})
|
|
208
|
-
], SbbIconBase);
|
|
209
|
-
var __defProp$1 = Object.defineProperty;
|
|
210
|
-
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
211
|
-
var __decorateClass$1 = (decorators, target, key, kind) => {
|
|
212
|
-
var result = kind > 1 ? void 0 : kind ? __getOwnPropDesc(target, key) : target;
|
|
213
|
-
for (var i = decorators.length - 1, decorator; i >= 0; i--)
|
|
214
|
-
if (decorator = decorators[i])
|
|
215
|
-
result = (kind ? decorator(target, key, result) : decorator(result)) || result;
|
|
216
|
-
if (kind && result) __defProp$1(target, key, result);
|
|
217
|
-
return result;
|
|
218
|
-
};
|
|
219
|
-
let SbbIconElement = class extends SbbIconBase {
|
|
220
|
-
constructor() {
|
|
221
|
-
super(...arguments);
|
|
222
|
-
this._defaultAriaLabel = "";
|
|
223
|
-
this._sbbAngularCompatibility = false;
|
|
224
|
-
}
|
|
225
|
-
/**
|
|
226
|
-
* We need to additionally observe the svgicon attribute
|
|
227
|
-
* for sbb-angular compatibility.
|
|
228
|
-
* @internal
|
|
229
|
-
*/
|
|
230
|
-
static get observedAttributes() {
|
|
231
|
-
return super.observedAttributes.concat("svgicon");
|
|
232
|
-
}
|
|
233
|
-
async fetchSvgIcon(namespace, name) {
|
|
234
|
-
if (this.getAttribute("aria-label") === this._defaultAriaLabel) {
|
|
235
|
-
this.removeAttribute("aria-label");
|
|
236
235
|
}
|
|
237
|
-
|
|
238
|
-
|
|
239
|
-
|
|
236
|
+
}, __svgNamespace_accessor_storage = new WeakMap(), __svgIcon_accessor_storage = new WeakMap(), _noSanitize_accessor_storage = new WeakMap(), _classThis = _a, (() => {
|
|
237
|
+
const _metadata = typeof Symbol === "function" && Symbol.metadata ? Object.create(_classSuper[Symbol.metadata] ?? null) : void 0;
|
|
238
|
+
__svgNamespace_decorators = [state()];
|
|
239
|
+
__svgIcon_decorators = [state()];
|
|
240
|
+
_noSanitize_decorators = [forceType(), property({ attribute: "no-sanitize", type: Boolean })];
|
|
241
|
+
__esDecorate(_a, null, __svgNamespace_decorators, { kind: "accessor", name: "_svgNamespace", static: false, private: false, access: { has: (obj) => "_svgNamespace" in obj, get: (obj) => obj._svgNamespace, set: (obj, value) => {
|
|
242
|
+
obj._svgNamespace = value;
|
|
243
|
+
} }, metadata: _metadata }, __svgNamespace_initializers, __svgNamespace_extraInitializers);
|
|
244
|
+
__esDecorate(_a, null, __svgIcon_decorators, { kind: "accessor", name: "_svgIcon", static: false, private: false, access: { has: (obj) => "_svgIcon" in obj, get: (obj) => obj._svgIcon, set: (obj, value) => {
|
|
245
|
+
obj._svgIcon = value;
|
|
246
|
+
} }, metadata: _metadata }, __svgIcon_initializers, __svgIcon_extraInitializers);
|
|
247
|
+
__esDecorate(_a, null, _noSanitize_decorators, { kind: "accessor", name: "noSanitize", static: false, private: false, access: { has: (obj) => "noSanitize" in obj, get: (obj) => obj.noSanitize, set: (obj, value) => {
|
|
248
|
+
obj.noSanitize = value;
|
|
249
|
+
} }, metadata: _metadata }, _noSanitize_initializers, _noSanitize_extraInitializers);
|
|
250
|
+
__esDecorate(null, _classDescriptor = { value: _classThis }, _classDecorators, { kind: "class", name: _classThis.name, metadata: _metadata }, null, _classExtraInitializers);
|
|
251
|
+
_classThis = _classDescriptor.value;
|
|
252
|
+
if (_metadata) Object.defineProperty(_classThis, Symbol.metadata, { enumerable: true, configurable: true, writable: true, value: _metadata });
|
|
253
|
+
})(), _a.styles = style, __runInitializers(_classThis, _classExtraInitializers), _a;
|
|
254
|
+
return _classThis;
|
|
255
|
+
})();
|
|
256
|
+
let SbbIconElement = (() => {
|
|
257
|
+
var _name_accessor_storage, __sbbAngularCompatibility_accessor_storage, _a;
|
|
258
|
+
let _classDecorators = [customElement("sbb-icon")];
|
|
259
|
+
let _classDescriptor;
|
|
260
|
+
let _classExtraInitializers = [];
|
|
261
|
+
let _classThis;
|
|
262
|
+
let _classSuper = SbbIconBase;
|
|
263
|
+
let _name_decorators;
|
|
264
|
+
let _name_initializers = [];
|
|
265
|
+
let _name_extraInitializers = [];
|
|
266
|
+
let __sbbAngularCompatibility_decorators;
|
|
267
|
+
let __sbbAngularCompatibility_initializers = [];
|
|
268
|
+
let __sbbAngularCompatibility_extraInitializers = [];
|
|
269
|
+
_a = class extends _classSuper {
|
|
270
|
+
constructor() {
|
|
271
|
+
super(...arguments);
|
|
272
|
+
__privateAdd(this, _name_accessor_storage);
|
|
273
|
+
__privateAdd(this, __sbbAngularCompatibility_accessor_storage);
|
|
274
|
+
__privateSet(this, _name_accessor_storage, __runInitializers(this, _name_initializers, ""));
|
|
275
|
+
this._defaultAriaLabel = (__runInitializers(this, _name_extraInitializers), "");
|
|
276
|
+
__privateSet(this, __sbbAngularCompatibility_accessor_storage, __runInitializers(this, __sbbAngularCompatibility_initializers, false));
|
|
277
|
+
__runInitializers(this, __sbbAngularCompatibility_extraInitializers);
|
|
240
278
|
}
|
|
241
|
-
|
|
242
|
-
|
|
243
|
-
|
|
244
|
-
|
|
245
|
-
|
|
246
|
-
|
|
279
|
+
/**
|
|
280
|
+
* We need to additionally observe the svgicon attribute
|
|
281
|
+
* for sbb-angular compatibility.
|
|
282
|
+
* @internal
|
|
283
|
+
*/
|
|
284
|
+
static get observedAttributes() {
|
|
285
|
+
return super.observedAttributes.concat("svgicon");
|
|
247
286
|
}
|
|
248
|
-
|
|
249
|
-
|
|
250
|
-
|
|
251
|
-
|
|
252
|
-
|
|
253
|
-
|
|
287
|
+
/**
|
|
288
|
+
* The provided name consisting of the namespace and the name of the icon.
|
|
289
|
+
* If the namespace is missing, the default namespace "sbb" will be used.
|
|
290
|
+
* E.g. `name` (will use "sbb" as namespace) or `namespace:name`.
|
|
291
|
+
*/
|
|
292
|
+
get name() {
|
|
293
|
+
return __privateGet(this, _name_accessor_storage);
|
|
254
294
|
}
|
|
255
|
-
|
|
256
|
-
|
|
257
|
-
super.firstUpdated(changedProperties);
|
|
258
|
-
if (!this.hasAttribute("aria-hidden")) {
|
|
259
|
-
this.setAttribute("aria-hidden", "true");
|
|
295
|
+
set name(value) {
|
|
296
|
+
__privateSet(this, _name_accessor_storage, value);
|
|
260
297
|
}
|
|
261
|
-
|
|
262
|
-
|
|
263
|
-
|
|
264
|
-
|
|
265
|
-
|
|
266
|
-
|
|
267
|
-
|
|
268
|
-
|
|
269
|
-
|
|
270
|
-
|
|
271
|
-
|
|
272
|
-
|
|
273
|
-
|
|
274
|
-
|
|
275
|
-
|
|
276
|
-
|
|
277
|
-
|
|
278
|
-
|
|
279
|
-
|
|
280
|
-
|
|
281
|
-
|
|
282
|
-
|
|
283
|
-
|
|
298
|
+
/**
|
|
299
|
+
* The sbb-angular library has a sbb-icon component as well. In order to provide
|
|
300
|
+
* compatibility with it (as some icons are used internally inside the other sbb-angular
|
|
301
|
+
* components) we need to check whether the attribute svgicon is used.
|
|
302
|
+
*/
|
|
303
|
+
get _sbbAngularCompatibility() {
|
|
304
|
+
return __privateGet(this, __sbbAngularCompatibility_accessor_storage);
|
|
305
|
+
}
|
|
306
|
+
set _sbbAngularCompatibility(value) {
|
|
307
|
+
__privateSet(this, __sbbAngularCompatibility_accessor_storage, value);
|
|
308
|
+
}
|
|
309
|
+
async fetchSvgIcon(namespace, name) {
|
|
310
|
+
if (this.getAttribute("aria-label") === this._defaultAriaLabel) {
|
|
311
|
+
this.removeAttribute("aria-label");
|
|
312
|
+
}
|
|
313
|
+
this._defaultAriaLabel = `Icon ${name.replace(/-/g, " ")}`;
|
|
314
|
+
if (this.getAttribute("aria-hidden") === "false" && !this.hasAttribute("aria-label") && name) {
|
|
315
|
+
this.setAttribute("aria-label", this._defaultAriaLabel);
|
|
316
|
+
}
|
|
317
|
+
return super.fetchSvgIcon(namespace, name);
|
|
318
|
+
}
|
|
319
|
+
willUpdate(changedProperties) {
|
|
320
|
+
super.willUpdate(changedProperties);
|
|
321
|
+
if (changedProperties.has("name") && this.name) {
|
|
322
|
+
this.loadSvgIcon(this.name);
|
|
323
|
+
}
|
|
324
|
+
}
|
|
325
|
+
attributeChangedCallback(name, _old, value) {
|
|
326
|
+
if (name === "svgicon") {
|
|
327
|
+
this._sbbAngularCompatibility = !!value;
|
|
328
|
+
} else {
|
|
329
|
+
super.attributeChangedCallback(name, _old, value);
|
|
330
|
+
}
|
|
331
|
+
}
|
|
332
|
+
firstUpdated(changedProperties) {
|
|
333
|
+
super.firstUpdated(changedProperties);
|
|
334
|
+
if (!this.hasAttribute("aria-hidden")) {
|
|
335
|
+
this.setAttribute("aria-hidden", "true");
|
|
336
|
+
}
|
|
337
|
+
}
|
|
338
|
+
render() {
|
|
339
|
+
return this._sbbAngularCompatibility ? html`<slot></slot>` : super.render();
|
|
340
|
+
}
|
|
341
|
+
}, _name_accessor_storage = new WeakMap(), __sbbAngularCompatibility_accessor_storage = new WeakMap(), _classThis = _a, (() => {
|
|
342
|
+
const _metadata = typeof Symbol === "function" && Symbol.metadata ? Object.create(_classSuper[Symbol.metadata] ?? null) : void 0;
|
|
343
|
+
_name_decorators = [forceType(), property({ reflect: true, converter: omitEmptyConverter })];
|
|
344
|
+
__sbbAngularCompatibility_decorators = [state()];
|
|
345
|
+
__esDecorate(_a, null, _name_decorators, { kind: "accessor", name: "name", static: false, private: false, access: { has: (obj) => "name" in obj, get: (obj) => obj.name, set: (obj, value) => {
|
|
346
|
+
obj.name = value;
|
|
347
|
+
} }, metadata: _metadata }, _name_initializers, _name_extraInitializers);
|
|
348
|
+
__esDecorate(_a, null, __sbbAngularCompatibility_decorators, { kind: "accessor", name: "_sbbAngularCompatibility", static: false, private: false, access: { has: (obj) => "_sbbAngularCompatibility" in obj, get: (obj) => obj._sbbAngularCompatibility, set: (obj, value) => {
|
|
349
|
+
obj._sbbAngularCompatibility = value;
|
|
350
|
+
} }, metadata: _metadata }, __sbbAngularCompatibility_initializers, __sbbAngularCompatibility_extraInitializers);
|
|
351
|
+
__esDecorate(null, _classDescriptor = { value: _classThis }, _classDecorators, { kind: "class", name: _classThis.name, metadata: _metadata }, null, _classExtraInitializers);
|
|
352
|
+
_classThis = _classDescriptor.value;
|
|
353
|
+
if (_metadata) Object.defineProperty(_classThis, Symbol.metadata, { enumerable: true, configurable: true, writable: true, value: _metadata });
|
|
354
|
+
__runInitializers(_classThis, _classExtraInitializers);
|
|
355
|
+
})(), _a;
|
|
356
|
+
return _classThis;
|
|
357
|
+
})();
|
|
284
358
|
const SbbIconNameMixin = (superClass) => {
|
|
285
|
-
|
|
286
|
-
|
|
287
|
-
|
|
359
|
+
let SbbIconNameElement = (() => {
|
|
360
|
+
var _iconName_accessor_storage, _a;
|
|
361
|
+
let _classSuper = superClass;
|
|
362
|
+
let _iconName_decorators;
|
|
363
|
+
let _iconName_initializers = [];
|
|
364
|
+
let _iconName_extraInitializers = [];
|
|
365
|
+
return _a = class extends _classSuper {
|
|
366
|
+
constructor() {
|
|
367
|
+
super(...arguments);
|
|
368
|
+
__privateAdd(this, _iconName_accessor_storage, __runInitializers(this, _iconName_initializers, ""));
|
|
369
|
+
__runInitializers(this, _iconName_extraInitializers);
|
|
370
|
+
}
|
|
371
|
+
/**
|
|
372
|
+
* The icon name we want to use, choose from the small icon variants
|
|
373
|
+
* from the ui-icons category from here
|
|
374
|
+
* https://icons.app.sbb.ch.
|
|
375
|
+
*/
|
|
376
|
+
get iconName() {
|
|
377
|
+
return __privateGet(this, _iconName_accessor_storage);
|
|
378
|
+
}
|
|
379
|
+
set iconName(value) {
|
|
380
|
+
__privateSet(this, _iconName_accessor_storage, value);
|
|
381
|
+
}
|
|
382
|
+
renderIconSlot(classname) {
|
|
383
|
+
return html`
|
|
288
384
|
<slot name="icon">
|
|
289
385
|
${this.iconName ? html`<sbb-icon name=${this.iconName} class=${classname || nothing}></sbb-icon>` : nothing}
|
|
290
386
|
</slot>
|
|
291
387
|
`;
|
|
292
|
-
|
|
293
|
-
|
|
294
|
-
|
|
295
|
-
|
|
296
|
-
|
|
388
|
+
}
|
|
389
|
+
}, _iconName_accessor_storage = new WeakMap(), (() => {
|
|
390
|
+
const _metadata = typeof Symbol === "function" && Symbol.metadata ? Object.create(_classSuper[Symbol.metadata] ?? null) : void 0;
|
|
391
|
+
_iconName_decorators = [forceType(), property({ attribute: "icon-name", reflect: true, converter: omitEmptyConverter })];
|
|
392
|
+
__esDecorate(_a, null, _iconName_decorators, { kind: "accessor", name: "iconName", static: false, private: false, access: { has: (obj) => "iconName" in obj, get: (obj) => obj.iconName, set: (obj, value) => {
|
|
393
|
+
obj.iconName = value;
|
|
394
|
+
} }, metadata: _metadata }, _iconName_initializers, _iconName_extraInitializers);
|
|
395
|
+
if (_metadata) Object.defineProperty(_a, Symbol.metadata, { enumerable: true, configurable: true, writable: true, value: _metadata });
|
|
396
|
+
})(), _a;
|
|
397
|
+
})();
|
|
297
398
|
return SbbIconNameElement;
|
|
298
399
|
};
|
|
299
400
|
export {
|
|
@@ -304,4 +405,4 @@ export {
|
|
|
304
405
|
isValid,
|
|
305
406
|
validateContent
|
|
306
407
|
};
|
|
307
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaWNvbi5qcyIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2VsZW1lbnRzL2ljb24vaWNvbi12YWxpZGF0ZS50cyIsIi4uLy4uLy4uL3NyYy9lbGVtZW50cy9pY29uL2ljb24tcmVxdWVzdC50cyIsIi4uLy4uLy4uL3NyYy9lbGVtZW50cy9pY29uL2ljb24tYmFzZS50cyIsIi4uLy4uLy4uL3NyYy9lbGVtZW50cy9pY29uL2ljb24udHMiLCIuLi8uLi8uLi9zcmMvZWxlbWVudHMvaWNvbi9pY29uLW5hbWUtbWl4aW4udHMiXSwic291cmNlc0NvbnRlbnQiOlsiY29uc3QgaXNTdHIgPSAodmFsOiBhbnkpOiB2YWwgaXMgc3RyaW5nID0+IHR5cGVvZiB2YWwgPT09ICdzdHJpbmcnO1xuXG4vKipcbiAqIFNhbml0aXplcyB0aGUgU1ZHIGVsZW1lbnQgYW5kIGFsbCBpdHMgY2hpbGQgbm9kZXMuXG4gKiBEb2VzIG5vdCBhbGxvdyBgPHNjcmlwdD5gIGVsZW1lbnRzLCBvciBhbnkgYXR0cmlidXRlcyB0aGF0IHN0YXJ0IHdpdGggYG9uYCwgc3VjaCBhcyBgb25jbGlja2AuXG4gKi9cbmV4cG9ydCBjb25zdCBpc1ZhbGlkID0gKGVsbTogSFRNTEVsZW1lbnQpOiBib29sZWFuID0+IHtcbiAgaWYgKGVsbS5ub2RlVHlwZSA9PT0gMSkge1xuICAgIC8vIGlzIGFuIEVsZW1lbnQgbm9kZSBsaWtlIDxkaXY+LCA8cD4gb3IgPHN2Zz5cbiAgICBpZiAoZWxtLm5vZGVOYW1lLnRvTG93ZXJDYXNlKCkgPT09ICdzY3JpcHQnKSB7XG4gICAgICByZXR1cm4gZmFsc2U7XG4gICAgfVxuXG4gICAgLy8gZG8gbm90IGFsbG93IGF0dHJpYnV0ZXMgc3RhcnRpbmcgd2l0aCBgb25gXG4gICAgZm9yIChsZXQgaSA9IDA7IGkgPCBlbG0uYXR0cmlidXRlcy5sZW5ndGg7IGkrKykge1xuICAgICAgY29uc3QgdmFsID0gZWxtLmF0dHJpYnV0ZXNbaV0ubmFtZTtcbiAgICAgIGlmIChpc1N0cih2YWwpICYmIHZhbC50b0xvd2VyQ2FzZSgpLmluZGV4T2YoJ29uJykgPT09IDApIHtcbiAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgICAgfVxuICAgIH1cblxuICAgIGZvciAobGV0IGkgPSAwOyBpIDwgZWxtLmNoaWxkTm9kZXMubGVuZ3RoOyBpKyspIHtcbiAgICAgIGlmICghaXNWYWxpZChlbG0uY2hpbGROb2Rlc1tpXSBhcyBhbnkpKSB7XG4gICAgICAgIHJldHVybiBmYWxzZTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgcmV0dXJuIHRydWU7XG59O1xuXG4vKipcbiAqIFZhbGlkYXRlcyB0aGUgU1ZHIGNvbnRlbnQgYnkgY2hlY2tpbmcgdGhhdCBpdCBoYXMgb25seSBvbmUgcm9vdCBlbGVtZW50IGA8c3ZnPmAsXG4gKiBhZGRpbmcgdGhlIGBjb2xvci1pbW11dGFibGVgIGNsYXNzIGlmIHRoZSBgY29sb3JJbW11dGFibGVgIG9wdGlvbiBpcyBzZXQgdG8gYHRydWVgLFxuICogYW5kIHNhbml0aXppbmcgdGhlIHByb3ZpZGVkIGNvbnRlbnQgYXMgbG9uZyBhcyB0aGUgYHNhbml0aXplYCBwcm9wZXJ0eSBpcyBub3QgZXhwbGljaXRseSBzZXQgdG8gYGZhbHNlYC5cbiAqL1xuZXhwb3J0IGNvbnN0IHZhbGlkYXRlQ29udGVudCA9IChcbiAgc3ZnQ29udGVudDogc3RyaW5nLFxuICBzYW5pdGl6ZSA9IHRydWUsXG4gIGNvbG9ySW1tdXRhYmxlID0gZmFsc2UsXG4pOiBzdHJpbmcgPT4ge1xuICBjb25zdCBkaXYgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdkaXYnKTtcbiAgZGl2LmlubmVySFRNTCA9IHN2Z0NvbnRlbnQ7XG5cbiAgZm9yIChsZXQgaSA9IGRpdi5jaGlsZE5vZGVzLmxlbmd0aCAtIDE7IGkgPj0gMDsgaS0tKSB7XG4gICAgaWYgKGRpdi5jaGlsZE5vZGVzW2ldLm5vZGVOYW1lLnRvTG93ZXJDYXNlKCkgIT09ICdzdmcnKSB7XG4gICAgICBkaXYucmVtb3ZlQ2hpbGQoZGl2LmNoaWxkTm9kZXNbaV0pO1xuICAgIH1cbiAgfVxuXG4gIC8vIG11c3Qgb25seSBoYXZlIDEgcm9vdCBlbGVtZW50XG4gIGNvbnN0IHN2Z0VsbSA9IGRpdi5maXJzdEVsZW1lbnRDaGlsZDtcblxuICBpZiAoc3ZnRWxtICYmIHN2Z0VsbS5ub2RlTmFtZS50b0xvd2VyQ2FzZSgpID09PSAnc3ZnJykge1xuICAgIGlmIChjb2xvckltbXV0YWJsZSAmJiAhc3ZnRWxtLmNsYXNzTGlzdC5jb250YWlucygnY29sb3ItaW1tdXRhYmxlJykpIHtcbiAgICAgIHN2Z0VsbS5jbGFzc0xpc3QuYWRkKCdjb2xvci1pbW11dGFibGUnKTtcbiAgICB9XG5cbiAgICAvLyBkbyBub3Qgc2FuaXRpemUgdGhlIHN2ZyBlbGVtZW50XG4gICAgaWYgKHNhbml0aXplID09PSBmYWxzZSkge1xuICAgICAgcmV0dXJuIGRpdi5pbm5lckhUTUw7XG4gICAgfVxuXG4gICAgLy8gc2FuaXRpemUgdGhlIHN2ZyBlbGVtZW50XG4gICAgaWYgKGlzVmFsaWQoc3ZnRWxtIGFzIGFueSkpIHtcbiAgICAgIHJldHVybiBkaXYuaW5uZXJIVE1MO1xuICAgIH1cbiAgfVxuICByZXR1cm4gJyc7XG59O1xuIiwiaW1wb3J0IHsgaXNTZXJ2ZXIgfSBmcm9tICdsaXQnO1xuXG5pbXBvcnQgdHlwZSB7IFNiYkljb25Db25maWcgfSBmcm9tICcuLi9jb3JlL2NvbmZpZy5qcyc7XG5pbXBvcnQgeyByZWFkQ29uZmlnIH0gZnJvbSAnLi4vY29yZS9jb25maWcuanMnO1xuXG5pbXBvcnQgeyB2YWxpZGF0ZUNvbnRlbnQgfSBmcm9tICcuL2ljb24tdmFsaWRhdGUuanMnO1xuXG5jb25zdCBpY29uQ2RuID0gJ2h0dHBzOi8vaWNvbnMuYXBwLnNiYi5jaC8nO1xuXG5jb25zdCBpY29uTmFtZXNwYWNlcyA9IG5ldyBNYXA8c3RyaW5nLCBzdHJpbmc+KClcbiAgLnNldCgnZGVmYXVsdCcsIGAke2ljb25DZG59aWNvbnMvYClcbiAgLnNldCgncGljdG8nLCBgJHtpY29uQ2RufXBpY3RvL2ApO1xuY29uc3QgcmVxdWVzdHMgPSBuZXcgTWFwPHN0cmluZywgUHJvbWlzZTxhbnk+PigpO1xuXG4vKiogRmV0Y2hlcyBpY29uIHN2ZyBjb250ZW50IGZyb20gcHJvdmlkZXJzIGFuZCBhc3NlcnRzIG9ubHkgb25lIHJlcXVlc3QgcGVyIGljb24gaXMgbWFkZS4gKi9cbmV4cG9ydCBjb25zdCBnZXRTdmdDb250ZW50ID0gKFxuICBuYW1lc3BhY2U6IHN0cmluZyxcbiAgbmFtZTogc3RyaW5nLFxuICBzYW5pdGl6ZTogYm9vbGVhbixcbik6IFByb21pc2U8c3RyaW5nPiA9PiB7XG4gIGNvbnN0IGNvbmZpZzogU2JiSWNvbkNvbmZpZyA9IHJlYWRDb25maWcoKS5pY29uID8/IHt9O1xuXG4gIGNvbnN0IHJlc29sdmVkTmFtZXNwYWNlID0gY29uZmlnLm5hbWVzcGFjZXM/LmdldChuYW1lc3BhY2UpID8/IGljb25OYW1lc3BhY2VzLmdldChuYW1lc3BhY2UpO1xuICBpZiAocmVzb2x2ZWROYW1lc3BhY2UgPT0gbnVsbCkge1xuICAgIHRocm93IEVycm9yKFxuICAgICAgYFVuYWJsZSB0byBmaW5kIHRoZSBuYW1lc3BhY2UgXCIke25hbWVzcGFjZX1cIi4gUGxlYXNlIHJlZ2lzdGVyIHlvdXIgY3VzdG9tIG5hbWVzcGFjZS5gLFxuICAgICk7XG4gIH1cbiAgY29uc3QgdXJsID0gYCR7cmVzb2x2ZWROYW1lc3BhY2V9JHtuYW1lfS5zdmdgO1xuXG4gIC8vIENoZWNrIGlmIHdlIGFscmVhZHkgaGF2ZSBhIHJlcXVlc3QgZm9yIHRoaXMgdXJsXG4gIGxldCByZXEgPSByZXF1ZXN0cy5nZXQodXJsKTtcblxuICBpZiAoIXJlcSkge1xuICAgIC8vIFdlIGNhbm5vdCBzdXBwb3J0IHNlcnZlciBzaWRlIHJlbmRlcmVkIGljb25zICh5ZXQpLCBhcyB0aGUgdmFsaWRhdGlvblxuICAgIC8vIGlzIGRvbmUgdmlhIERPTSwgd2hpY2ggaXMgbm90IGF2YWlsYWJsZSBkdXJpbmcgU1NSLlxuICAgIGlmICh0eXBlb2YgZmV0Y2ggIT09ICd1bmRlZmluZWQnICYmICFpc1NlcnZlcikge1xuICAgICAgY29uc3QgaW50ZXJjZXB0b3IgPSBjb25maWcuaW50ZXJjZXB0b3IgPz8gKChpKSA9PiBpLnJlcXVlc3QoKSk7XG5cbiAgICAgIHJlcSA9IGludGVyY2VwdG9yKHtcbiAgICAgICAgbmFtZXNwYWNlLFxuICAgICAgICBuYW1lLFxuICAgICAgICB1cmwsXG4gICAgICAgIHJlcXVlc3Q6ICgpID0+XG4gICAgICAgICAgZmV0Y2godXJsKVxuICAgICAgICAgICAgLnRoZW4oYXN5bmMgKHJlc3BvbnNlKSA9PiB7XG4gICAgICAgICAgICAgIGlmICghcmVzcG9uc2Uub2spIHtcbiAgICAgICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoJ0ZhaWxlZCB0byBsb2FkIGljb24gJyArIG5hbWVzcGFjZSArICc6JyArIG5hbWUpO1xuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgIHJldHVybiB2YWxpZGF0ZUNvbnRlbnQoYXdhaXQgcmVzcG9uc2UudGV4dCgpLCBzYW5pdGl6ZSk7XG4gICAgICAgICAgICB9KVxuICAgICAgICAgICAgLmNhdGNoKChlcnJvcikgPT4ge1xuICAgICAgICAgICAgICB0aHJvdyBFcnJvcihlcnJvcik7XG4gICAgICAgICAgICB9KSxcbiAgICAgIH0pO1xuICAgICAgLy8gQ2FjaGUgZm9yIHRoZSBzYW1lIHJlcXVlc3RzXG4gICAgICByZXF1ZXN0cy5zZXQodXJsLCByZXEpO1xuICAgIH0gZWxzZSB7XG4gICAgICAvLyBSZXNvbHZlIHByb21pc2UgZm9yIHNzciBzY2VuYXJpb3NcbiAgICAgIHJldHVybiBQcm9taXNlLnJlc29sdmUoJycpO1xuICAgIH1cbiAgfVxuXG4gIHJldHVybiByZXE7XG59O1xuIiwiaW1wb3J0IHR5cGUgeyBDU1NSZXN1bHRHcm91cCwgUHJvcGVydHlWYWx1ZXMsIFRlbXBsYXRlUmVzdWx0IH0gZnJvbSAnbGl0JztcbmltcG9ydCB7IGh0bWwsIExpdEVsZW1lbnQgfSBmcm9tICdsaXQnO1xuaW1wb3J0IHsgcHJvcGVydHksIHN0YXRlIH0gZnJvbSAnbGl0L2RlY29yYXRvcnMuanMnO1xuaW1wb3J0IHR5cGUgeyBEaXJlY3RpdmVSZXN1bHQgfSBmcm9tICdsaXQvZGlyZWN0aXZlLmpzJztcbmltcG9ydCB0eXBlIHsgVW5zYWZlSFRNTERpcmVjdGl2ZSB9IGZyb20gJ2xpdC9kaXJlY3RpdmVzL3Vuc2FmZS1odG1sLmpzJztcbmltcG9ydCB7IHVuc2FmZUhUTUwgfSBmcm9tICdsaXQvZGlyZWN0aXZlcy91bnNhZmUtaHRtbC5qcyc7XG5pbXBvcnQgeyB1bnRpbCB9IGZyb20gJ2xpdC9kaXJlY3RpdmVzL3VudGlsLmpzJztcblxuaW1wb3J0IHsgaG9zdEF0dHJpYnV0ZXMgfSBmcm9tICcuLi9jb3JlL2RlY29yYXRvcnMuanMnO1xuXG5pbXBvcnQgeyBnZXRTdmdDb250ZW50IH0gZnJvbSAnLi9pY29uLXJlcXVlc3QuanMnO1xuaW1wb3J0IHN0eWxlIGZyb20gJy4vaWNvbi5zY3NzP2xpdCZpbmxpbmUnO1xuXG4vKipcbiAqIEBjc3Nwcm9wIFstLXNiYi1pY29uLXN2Zy13aWR0aD1hdXRvXSAtIENhbiBiZSB1c2VkIHRvIHNldCBhIGN1c3RvbSB3aWR0aC5cbiAqIEBjc3Nwcm9wIFstLXNiYi1pY29uLXN2Zy1oZWlnaHQ9YXV0b10gLSBDYW4gYmUgdXNlZCB0byBzZXQgYSBjdXN0b20gaGVpZ2h0LlxuICovXG5AaG9zdEF0dHJpYnV0ZXMoe1xuICAnZGF0YS1uYW1lc3BhY2UnOiBTYmJJY29uQmFzZS5fZGVmYXVsdE5hbWVzcGFjZSxcbiAgJ2RhdGEtZW1wdHknOiAnJyxcbn0pXG5leHBvcnQgYWJzdHJhY3QgY2xhc3MgU2JiSWNvbkJhc2UgZXh0ZW5kcyBMaXRFbGVtZW50IHtcbiAgcHVibGljIHN0YXRpYyBvdmVycmlkZSBzdHlsZXM6IENTU1Jlc3VsdEdyb3VwID0gc3R5bGU7XG4gIHByaXZhdGUgc3RhdGljIHJlYWRvbmx5IF9kZWZhdWx0TmFtZXNwYWNlID0gJ2RlZmF1bHQnO1xuXG4gIEBzdGF0ZSgpIHByaXZhdGUgX3N2Z05hbWVzcGFjZSA9IFNiYkljb25CYXNlLl9kZWZhdWx0TmFtZXNwYWNlO1xuXG4gIC8qKlxuICAgKiBUaGUgaWNvbiBzdmcgY29udGVudCByZW5kZXJlZCBvbiB0aGUgcGFnZTogPHN2Zz4uLi48L3N2Zz4uXG4gICAqL1xuICBAc3RhdGUoKSBwcml2YXRlIF9zdmdJY29uPzogUHJvbWlzZTxEaXJlY3RpdmVSZXN1bHQ8dHlwZW9mIFVuc2FmZUhUTUxEaXJlY3RpdmU+PjtcblxuICAvKipcbiAgICogV2hlbiBzZXQgdG8gYHRydWVgLCBTVkcgY29udGVudCB0aGF0IGlzIEhUVFAgZmV0Y2hlZCB3aWxsIG5vdCBiZSBjaGVja2VkXG4gICAqIGlmIHRoZSByZXNwb25zZSBTVkcgY29udGVudCBoYXMgYW55IGA8c2NyaXB0PmAgZWxlbWVudHMsIG9yIGFueSBhdHRyaWJ1dGVzXG4gICAqIHRoYXQgc3RhcnQgd2l0aCBgb25gLCBzdWNoIGFzIGBvbmNsaWNrYC5cbiAgICogQGRlZmF1bHQgZmFsc2VcbiAgICovXG4gIEBwcm9wZXJ0eSh7IGF0dHJpYnV0ZTogJ25vLXNhbml0aXplJywgdHlwZTogQm9vbGVhbiB9KSBwdWJsaWMgbm9TYW5pdGl6ZSA9IGZhbHNlO1xuXG4gIHByb3RlY3RlZCBhc3luYyBsb2FkU3ZnSWNvbihpY29uTmFtZTogc3RyaW5nKTogUHJvbWlzZTx2b2lkPiB7XG4gICAgaWYgKCFpY29uTmFtZSkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIGNvbnN0IFtuYW1lc3BhY2UsIG5hbWVdID0gdGhpcy5fc3BsaXRJY29uTmFtZShpY29uTmFtZSk7XG4gICAgdGhpcy5fc3ZnTmFtZXNwYWNlID0gbmFtZXNwYWNlO1xuICAgIHRoaXMuc2V0QXR0cmlidXRlKCdkYXRhLW5hbWVzcGFjZScsIHRoaXMuX3N2Z05hbWVzcGFjZSk7XG5cbiAgICBjb25zdCBzdmdJY29uID0gdGhpcy5mZXRjaFN2Z0ljb24odGhpcy5fc3ZnTmFtZXNwYWNlLCBuYW1lKTtcbiAgICB0aGlzLl9zdmdJY29uID0gc3ZnSWNvbi50aGVuKCh2KSA9PiB1bnNhZmVIVE1MKHYpKTtcbiAgICB0cnkge1xuICAgICAgdGhpcy50b2dnbGVBdHRyaWJ1dGUoJ2RhdGEtZW1wdHknLCAhKGF3YWl0IHN2Z0ljb24pKTtcbiAgICB9IGNhdGNoIHtcbiAgICAgIHRoaXMudG9nZ2xlQXR0cmlidXRlKCdkYXRhLWVtcHR5JywgdHJ1ZSk7XG4gICAgfVxuICB9XG5cbiAgcHJvdGVjdGVkIGFzeW5jIGZldGNoU3ZnSWNvbihuYW1lc3BhY2U6IHN0cmluZywgbmFtZTogc3RyaW5nKTogUHJvbWlzZTxzdHJpbmc+IHtcbiAgICByZXR1cm4gYXdhaXQgZ2V0U3ZnQ29udGVudChuYW1lc3BhY2UsIG5hbWUsICF0aGlzLm5vU2FuaXRpemUpO1xuICB9XG5cbiAgcHJpdmF0ZSBfc3BsaXRJY29uTmFtZShpY29uTmFtZTogc3RyaW5nKTogW3N0cmluZywgc3RyaW5nXSB7XG4gICAgaWYgKCFpY29uTmFtZSkge1xuICAgICAgcmV0dXJuIFsnJywgJyddO1xuICAgIH1cbiAgICBjb25zdCBwYXJ0cyA9IGljb25OYW1lLnNwbGl0KCc6Jyk7XG4gICAgc3dpdGNoIChwYXJ0cy5sZW5ndGgpIHtcbiAgICAgIGNhc2UgMTpcbiAgICAgICAgLy8gVXNlIGRlZmF1bHQgbmFtZXNwYWNlIGlmIGVtcHR5LlxuICAgICAgICByZXR1cm4gW1NiYkljb25CYXNlLl9kZWZhdWx0TmFtZXNwYWNlLCBwYXJ0c1swXV07XG4gICAgICBjYXNlIDI6XG4gICAgICAgIHJldHVybiBwYXJ0cyBhcyBbc3RyaW5nLCBzdHJpbmddO1xuICAgICAgZGVmYXVsdDpcbiAgICAgICAgdGhyb3cgRXJyb3IoYEludmFsaWQgaWNvbiBuYW1lOiBcIiR7aWNvbk5hbWV9XCJgKTtcbiAgICB9XG4gIH1cblxuICBwcm90ZWN0ZWQgb3ZlcnJpZGUgZmlyc3RVcGRhdGVkKGNoYW5nZWRQcm9wZXJ0aWVzOiBQcm9wZXJ0eVZhbHVlczx0aGlzPik6IHZvaWQge1xuICAgIHN1cGVyLmZpcnN0VXBkYXRlZChjaGFuZ2VkUHJvcGVydGllcyk7XG5cbiAgICB0aGlzLnNldEF0dHJpYnV0ZSgncm9sZScsIHRoaXMuZ2V0QXR0cmlidXRlKCdyb2xlJykgPz8gJ2ltZycpO1xuICB9XG5cbiAgcHJvdGVjdGVkIG92ZXJyaWRlIHJlbmRlcigpOiBUZW1wbGF0ZVJlc3VsdCB7XG4gICAgcmV0dXJuIGh0bWxgPHNwYW4gY2xhc3M9XCJzYmItaWNvbi1pbm5lclwiXG4gICAgICA+JHt1bnRpbChcbiAgICAgICAgdGhpcy5fc3ZnSWNvbixcbiAgICAgICAgLy8gVG8gcmVzZXJ2ZSBzcGFjZSwgd2UgbmVlZCBhbiBlbXB0eSBzdmcgdG8gYXBwbHkgZGltZW5zaW9uIHRvLlxuICAgICAgICBodG1sYDxzdmcgd2lkdGg9XCIwXCIgaGVpZ2h0PVwiMFwiPjwvc3ZnPmAsXG4gICAgICApfTwvc3BhblxuICAgID5gO1xuICB9XG59XG4iLCJpbXBvcnQgeyBodG1sLCB0eXBlIFByb3BlcnR5VmFsdWVzLCB0eXBlIFRlbXBsYXRlUmVzdWx0IH0gZnJvbSAnbGl0JztcbmltcG9ydCB7IGN1c3RvbUVsZW1lbnQsIHByb3BlcnR5LCBzdGF0ZSB9IGZyb20gJ2xpdC9kZWNvcmF0b3JzLmpzJztcblxuaW1wb3J0IHsgU2JiSWNvbkJhc2UgfSBmcm9tICcuL2ljb24tYmFzZS5qcyc7XG5cbi8qKlxuICogSXQgZGlzcGxheXMgYW4gaWNvbiBsb2FkZWQgZnJvbSBhIHJlZ2lzdGVyZWQgbmFtZXNwYWNlLlxuICovXG5AY3VzdG9tRWxlbWVudCgnc2JiLWljb24nKVxuZXhwb3J0IGNsYXNzIFNiYkljb25FbGVtZW50IGV4dGVuZHMgU2JiSWNvbkJhc2Uge1xuICAvKipcbiAgICogV2UgbmVlZCB0byBhZGRpdGlvbmFsbHkgb2JzZXJ2ZSB0aGUgc3ZnaWNvbiBhdHRyaWJ1dGVcbiAgICogZm9yIHNiYi1hbmd1bGFyIGNvbXBhdGliaWxpdHkuXG4gICAqIEBpbnRlcm5hbFxuICAgKi9cbiAgcHVibGljIHN0YXRpYyBvdmVycmlkZSBnZXQgb2JzZXJ2ZWRBdHRyaWJ1dGVzKCk6IHN0cmluZ1tdIHtcbiAgICByZXR1cm4gc3VwZXIub2JzZXJ2ZWRBdHRyaWJ1dGVzLmNvbmNhdCgnc3ZnaWNvbicpO1xuICB9XG5cbiAgLyoqXG4gICAqIFRoZSBwcm92aWRlZCBuYW1lIGNvbnNpc3Rpbmcgb2YgdGhlIG5hbWVzcGFjZSBhbmQgdGhlIG5hbWUgb2YgdGhlIGljb24uXG4gICAqIElmIHRoZSBuYW1lc3BhY2UgaXMgbWlzc2luZywgdGhlIGRlZmF1bHQgbmFtZXNwYWNlIFwic2JiXCIgd2lsbCBiZSB1c2VkLlxuICAgKiBFLmcuIGBuYW1lYCAod2lsbCB1c2UgXCJzYmJcIiBhcyBuYW1lc3BhY2UpIG9yIGBuYW1lc3BhY2U6bmFtZWAuXG4gICAqL1xuICBAcHJvcGVydHkoeyByZWZsZWN0OiB0cnVlIH0pIHB1YmxpYyBuYW1lITogc3RyaW5nO1xuXG4gIHByaXZhdGUgX2RlZmF1bHRBcmlhTGFiZWwgPSAnJztcblxuICAvKipcbiAgICogVGhlIHNiYi1hbmd1bGFyIGxpYnJhcnkgaGFzIGEgc2JiLWljb24gY29tcG9uZW50IGFzIHdlbGwuIEluIG9yZGVyIHRvIHByb3ZpZGVcbiAgICogY29tcGF0aWJpbGl0eSB3aXRoIGl0IChhcyBzb21lIGljb25zIGFyZSB1c2VkIGludGVybmFsbHkgaW5zaWRlIHRoZSBvdGhlciBzYmItYW5ndWxhclxuICAgKiBjb21wb25lbnRzKSB3ZSBuZWVkIHRvIGNoZWNrIHdoZXRoZXIgdGhlIGF0dHJpYnV0ZSBzdmdpY29uIGlzIHVzZWQuXG4gICAqL1xuICBAc3RhdGUoKSBwcml2YXRlIF9zYmJBbmd1bGFyQ29tcGF0aWJpbGl0eSA9IGZhbHNlO1xuXG4gIHByb3RlY3RlZCBvdmVycmlkZSBhc3luYyBmZXRjaFN2Z0ljb24obmFtZXNwYWNlOiBzdHJpbmcsIG5hbWU6IHN0cmluZyk6IFByb21pc2U8c3RyaW5nPiB7XG4gICAgLy8gSWYgdGhlIGljb24gaXMgY2hhbmdpbmcsIGFuZCB3ZSB3ZXJlIHVzaW5nIHRoZSBkZWZhdWx0QXJpYUxhYmVsLCByZXNldCBpdFxuICAgIGlmICh0aGlzLmdldEF0dHJpYnV0ZSgnYXJpYS1sYWJlbCcpID09PSB0aGlzLl9kZWZhdWx0QXJpYUxhYmVsKSB7XG4gICAgICB0aGlzLnJlbW92ZUF0dHJpYnV0ZSgnYXJpYS1sYWJlbCcpO1xuICAgIH1cblxuICAgIHRoaXMuX2RlZmF1bHRBcmlhTGFiZWwgPSBgSWNvbiAke25hbWUucmVwbGFjZSgvLS9nLCAnICcpfWA7XG5cbiAgICAvLyBnZW5lcmF0ZSBhIGRlZmF1bHQgbGFiZWwgaW4gY2FzZSB1c2VyIGRvZXMgbm90IHByb3ZpZGUgdGhlaXIgb3duXG4gICAgLy8gYW5kIGFyaWEtaGlkZGVuIGlzIHNldCB0byBcImZhbHNlXCJcbiAgICBpZiAodGhpcy5nZXRBdHRyaWJ1dGUoJ2FyaWEtaGlkZGVuJykgPT09ICdmYWxzZScgJiYgIXRoaXMuaGFzQXR0cmlidXRlKCdhcmlhLWxhYmVsJykgJiYgbmFtZSkge1xuICAgICAgdGhpcy5zZXRBdHRyaWJ1dGUoJ2FyaWEtbGFiZWwnLCB0aGlzLl9kZWZhdWx0QXJpYUxhYmVsKTtcbiAgICB9XG5cbiAgICByZXR1cm4gc3VwZXIuZmV0Y2hTdmdJY29uKG5hbWVzcGFjZSwgbmFtZSk7XG4gIH1cblxuICBwcm90ZWN0ZWQgb3ZlcnJpZGUgd2lsbFVwZGF0ZShjaGFuZ2VkUHJvcGVydGllczogUHJvcGVydHlWYWx1ZXM8dGhpcz4pOiB2b2lkIHtcbiAgICBzdXBlci53aWxsVXBkYXRlKGNoYW5nZWRQcm9wZXJ0aWVzKTtcblxuICAgIGlmIChjaGFuZ2VkUHJvcGVydGllcy5oYXMoJ25hbWUnKSkge1xuICAgICAgdGhpcy5sb2FkU3ZnSWNvbih0aGlzLm5hbWUpO1xuICAgIH1cbiAgfVxuXG4gIHB1YmxpYyBvdmVycmlkZSBhdHRyaWJ1dGVDaGFuZ2VkQ2FsbGJhY2soXG4gICAgbmFtZTogc3RyaW5nLFxuICAgIF9vbGQ6IHN0cmluZyB8IG51bGwsXG4gICAgdmFsdWU6IHN0cmluZyB8IG51bGwsXG4gICk6IHZvaWQge1xuICAgIGlmIChuYW1lID09PSAnc3ZnaWNvbicpIHtcbiAgICAgIHRoaXMuX3NiYkFuZ3VsYXJDb21wYXRpYmlsaXR5ID0gISF2YWx1ZTtcbiAgICB9IGVsc2Uge1xuICAgICAgc3VwZXIuYXR0cmlidXRlQ2hhbmdlZENhbGxiYWNrKG5hbWUsIF9vbGQsIHZhbHVlKTtcbiAgICB9XG4gIH1cblxuICBwcm90ZWN0ZWQgb3ZlcnJpZGUgZmlyc3RVcGRhdGVkKGNoYW5nZWRQcm9wZXJ0aWVzOiBQcm9wZXJ0eVZhbHVlczx0aGlzPik6IHZvaWQge1xuICAgIHN1cGVyLmZpcnN0VXBkYXRlZChjaGFuZ2VkUHJvcGVydGllcyk7XG5cbiAgICBpZiAoIXRoaXMuaGFzQXR0cmlidXRlKCdhcmlhLWhpZGRlbicpKSB7XG4gICAgICB0aGlzLnNldEF0dHJpYnV0ZSgnYXJpYS1oaWRkZW4nLCAndHJ1ZScpO1xuICAgIH1cbiAgfVxuXG4gIHByb3RlY3RlZCBvdmVycmlkZSByZW5kZXIoKTogVGVtcGxhdGVSZXN1bHQge1xuICAgIHJldHVybiB0aGlzLl9zYmJBbmd1bGFyQ29tcGF0aWJpbGl0eSA/IGh0bWxgPHNsb3Q+PC9zbG90PmAgOiBzdXBlci5yZW5kZXIoKTtcbiAgfVxufVxuXG5kZWNsYXJlIGdsb2JhbCB7XG4gIGludGVyZmFjZSBIVE1MRWxlbWVudFRhZ05hbWVNYXAge1xuICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbmFtaW5nLWNvbnZlbnRpb25cbiAgICAnc2JiLWljb24nOiBTYmJJY29uRWxlbWVudDtcbiAgfVxufVxuIiwiaW1wb3J0IHsgaHRtbCwgdHlwZSBMaXRFbGVtZW50LCBub3RoaW5nLCB0eXBlIFRlbXBsYXRlUmVzdWx0IH0gZnJvbSAnbGl0JztcbmltcG9ydCB7IHByb3BlcnR5IH0gZnJvbSAnbGl0L2RlY29yYXRvcnMuanMnO1xuXG5pbXBvcnQgdHlwZSB7IEFic3RyYWN0Q29uc3RydWN0b3IgfSBmcm9tICcuLi9jb3JlL21peGlucy5qcyc7XG5cbmltcG9ydCAnLi9pY29uLmpzJztcblxuZXhwb3J0IGRlY2xhcmUgY2xhc3MgU2JiSWNvbk5hbWVNaXhpblR5cGUge1xuICBwdWJsaWMgaWNvbk5hbWU/OiBzdHJpbmc7XG4gIHByb3RlY3RlZCByZW5kZXJJY29uU2xvdChjbGFzc25hbWU/OiBzdHJpbmcpOiBUZW1wbGF0ZVJlc3VsdDtcbn1cblxuLyoqXG4gKiBFbmhhbmNlIHlvdXIgY29tcG9uZW50IHdpdGggYW4gaWNvbk5hbWUgcHJvcGVydHkgYW5kIHByb3ZpZGVzIGEgdGVtcGxhdGUgZm9yIHRoZSBpY29uIHNsb3QuXG4gKi9cbi8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbmFtaW5nLWNvbnZlbnRpb25cbmV4cG9ydCBjb25zdCBTYmJJY29uTmFtZU1peGluID0gPFQgZXh0ZW5kcyBBYnN0cmFjdENvbnN0cnVjdG9yPExpdEVsZW1lbnQ+PihcbiAgc3VwZXJDbGFzczogVCxcbik6IEFic3RyYWN0Q29uc3RydWN0b3I8U2JiSWNvbk5hbWVNaXhpblR5cGU+ICYgVCA9PiB7XG4gIGFic3RyYWN0IGNsYXNzIFNiYkljb25OYW1lRWxlbWVudCBleHRlbmRzIHN1cGVyQ2xhc3MgaW1wbGVtZW50cyBQYXJ0aWFsPFNiYkljb25OYW1lTWl4aW5UeXBlPiB7XG4gICAgLyoqXG4gICAgICogVGhlIGljb24gbmFtZSB3ZSB3YW50IHRvIHVzZSwgY2hvb3NlIGZyb20gdGhlIHNtYWxsIGljb24gdmFyaWFudHNcbiAgICAgKiBmcm9tIHRoZSB1aS1pY29ucyBjYXRlZ29yeSBmcm9tIGhlcmVcbiAgICAgKiBodHRwczovL2ljb25zLmFwcC5zYmIuY2guXG4gICAgICovXG4gICAgQHByb3BlcnR5KHsgYXR0cmlidXRlOiAnaWNvbi1uYW1lJywgcmVmbGVjdDogdHJ1ZSB9KSBwdWJsaWMgaWNvbk5hbWU/OiBzdHJpbmc7XG5cbiAgICBwcm90ZWN0ZWQgcmVuZGVySWNvblNsb3QoY2xhc3NuYW1lPzogc3RyaW5nKTogVGVtcGxhdGVSZXN1bHQge1xuICAgICAgcmV0dXJuIGh0bWxgXG4gICAgICAgIDxzbG90IG5hbWU9XCJpY29uXCI+XG4gICAgICAgICAgJHt0aGlzLmljb25OYW1lXG4gICAgICAgICAgICA/IGh0bWxgPHNiYi1pY29uIG5hbWU9JHt0aGlzLmljb25OYW1lfSBjbGFzcz0ke2NsYXNzbmFtZSB8fCBub3RoaW5nfT48L3NiYi1pY29uPmBcbiAgICAgICAgICAgIDogbm90aGluZ31cbiAgICAgICAgPC9zbG90PlxuICAgICAgYDtcbiAgICB9XG4gIH1cblxuICByZXR1cm4gU2JiSWNvbk5hbWVFbGVtZW50IGFzIHVua25vd24gYXMgQWJzdHJhY3RDb25zdHJ1Y3RvcjxTYmJJY29uTmFtZU1peGluVHlwZT4gJiBUO1xufTtcbiJdLCJuYW1lcyI6WyJfX2RlY29yYXRlQ2xhc3MiXSwibWFwcGluZ3MiOiI7Ozs7OztBQUFBLE1BQU0sUUFBUSxDQUFDLFFBQTRCLE9BQU8sUUFBUTtBQU03QyxNQUFBLFVBQVUsQ0FBQyxRQUE4QjtBQUNoRCxNQUFBLElBQUksYUFBYSxHQUFHO0FBRXRCLFFBQUksSUFBSSxTQUFTLFlBQVksTUFBTSxVQUFVO0FBQ3BDLGFBQUE7QUFBQSxJQUNUO0FBR0EsYUFBUyxJQUFJLEdBQUcsSUFBSSxJQUFJLFdBQVcsUUFBUSxLQUFLO0FBQzlDLFlBQU0sTUFBTSxJQUFJLFdBQVcsQ0FBQyxFQUFFO0FBQzFCLFVBQUEsTUFBTSxHQUFHLEtBQUssSUFBSSxjQUFjLFFBQVEsSUFBSSxNQUFNLEdBQUc7QUFDaEQsZUFBQTtBQUFBLE1BQ1Q7QUFBQSxJQUNGO0FBRUEsYUFBUyxJQUFJLEdBQUcsSUFBSSxJQUFJLFdBQVcsUUFBUSxLQUFLO0FBQzlDLFVBQUksQ0FBQyxRQUFRLElBQUksV0FBVyxDQUFDLENBQVEsR0FBRztBQUMvQixlQUFBO0FBQUEsTUFDVDtBQUFBLElBQ0Y7QUFBQSxFQUNGO0FBQ08s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
|
|
408
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaWNvbi5qcyIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2VsZW1lbnRzL2ljb24vaWNvbi12YWxpZGF0ZS50cyIsIi4uLy4uLy4uL3NyYy9lbGVtZW50cy9pY29uL2ljb24tcmVxdWVzdC50cyIsIi4uLy4uLy4uL3NyYy9lbGVtZW50cy9pY29uL2ljb24tYmFzZS50cyIsIi4uLy4uLy4uL3NyYy9lbGVtZW50cy9pY29uL2ljb24udHMiLCIuLi8uLi8uLi9zcmMvZWxlbWVudHMvaWNvbi9pY29uLW5hbWUtbWl4aW4udHMiXSwic291cmNlc0NvbnRlbnQiOlsiY29uc3QgaXNTdHIgPSAodmFsOiBhbnkpOiB2YWwgaXMgc3RyaW5nID0+IHR5cGVvZiB2YWwgPT09ICdzdHJpbmcnO1xuXG4vKipcbiAqIFNhbml0aXplcyB0aGUgU1ZHIGVsZW1lbnQgYW5kIGFsbCBpdHMgY2hpbGQgbm9kZXMuXG4gKiBEb2VzIG5vdCBhbGxvdyBgPHNjcmlwdD5gIGVsZW1lbnRzLCBvciBhbnkgYXR0cmlidXRlcyB0aGF0IHN0YXJ0IHdpdGggYG9uYCwgc3VjaCBhcyBgb25jbGlja2AuXG4gKi9cbmV4cG9ydCBjb25zdCBpc1ZhbGlkID0gKGVsbTogSFRNTEVsZW1lbnQpOiBib29sZWFuID0+IHtcbiAgaWYgKGVsbS5ub2RlVHlwZSA9PT0gMSkge1xuICAgIC8vIGlzIGFuIEVsZW1lbnQgbm9kZSBsaWtlIDxkaXY+LCA8cD4gb3IgPHN2Zz5cbiAgICBpZiAoZWxtLm5vZGVOYW1lLnRvTG93ZXJDYXNlKCkgPT09ICdzY3JpcHQnKSB7XG4gICAgICByZXR1cm4gZmFsc2U7XG4gICAgfVxuXG4gICAgLy8gZG8gbm90IGFsbG93IGF0dHJpYnV0ZXMgc3RhcnRpbmcgd2l0aCBgb25gXG4gICAgZm9yIChsZXQgaSA9IDA7IGkgPCBlbG0uYXR0cmlidXRlcy5sZW5ndGg7IGkrKykge1xuICAgICAgY29uc3QgdmFsID0gZWxtLmF0dHJpYnV0ZXNbaV0ubmFtZTtcbiAgICAgIGlmIChpc1N0cih2YWwpICYmIHZhbC50b0xvd2VyQ2FzZSgpLmluZGV4T2YoJ29uJykgPT09IDApIHtcbiAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgICAgfVxuICAgIH1cblxuICAgIGZvciAobGV0IGkgPSAwOyBpIDwgZWxtLmNoaWxkTm9kZXMubGVuZ3RoOyBpKyspIHtcbiAgICAgIGlmICghaXNWYWxpZChlbG0uY2hpbGROb2Rlc1tpXSBhcyBhbnkpKSB7XG4gICAgICAgIHJldHVybiBmYWxzZTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgcmV0dXJuIHRydWU7XG59O1xuXG4vKipcbiAqIFZhbGlkYXRlcyB0aGUgU1ZHIGNvbnRlbnQgYnkgY2hlY2tpbmcgdGhhdCBpdCBoYXMgb25seSBvbmUgcm9vdCBlbGVtZW50IGA8c3ZnPmAsXG4gKiBhZGRpbmcgdGhlIGBjb2xvci1pbW11dGFibGVgIGNsYXNzIGlmIHRoZSBgY29sb3JJbW11dGFibGVgIG9wdGlvbiBpcyBzZXQgdG8gYHRydWVgLFxuICogYW5kIHNhbml0aXppbmcgdGhlIHByb3ZpZGVkIGNvbnRlbnQgYXMgbG9uZyBhcyB0aGUgYHNhbml0aXplYCBwcm9wZXJ0eSBpcyBub3QgZXhwbGljaXRseSBzZXQgdG8gYGZhbHNlYC5cbiAqL1xuZXhwb3J0IGNvbnN0IHZhbGlkYXRlQ29udGVudCA9IChcbiAgc3ZnQ29udGVudDogc3RyaW5nLFxuICBzYW5pdGl6ZSA9IHRydWUsXG4gIGNvbG9ySW1tdXRhYmxlID0gZmFsc2UsXG4pOiBzdHJpbmcgPT4ge1xuICBjb25zdCBkaXYgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdkaXYnKTtcbiAgZGl2LmlubmVySFRNTCA9IHN2Z0NvbnRlbnQ7XG5cbiAgZm9yIChsZXQgaSA9IGRpdi5jaGlsZE5vZGVzLmxlbmd0aCAtIDE7IGkgPj0gMDsgaS0tKSB7XG4gICAgaWYgKGRpdi5jaGlsZE5vZGVzW2ldLm5vZGVOYW1lLnRvTG93ZXJDYXNlKCkgIT09ICdzdmcnKSB7XG4gICAgICBkaXYucmVtb3ZlQ2hpbGQoZGl2LmNoaWxkTm9kZXNbaV0pO1xuICAgIH1cbiAgfVxuXG4gIC8vIG11c3Qgb25seSBoYXZlIDEgcm9vdCBlbGVtZW50XG4gIGNvbnN0IHN2Z0VsbSA9IGRpdi5maXJzdEVsZW1lbnRDaGlsZDtcblxuICBpZiAoc3ZnRWxtICYmIHN2Z0VsbS5ub2RlTmFtZS50b0xvd2VyQ2FzZSgpID09PSAnc3ZnJykge1xuICAgIGlmIChjb2xvckltbXV0YWJsZSAmJiAhc3ZnRWxtLmNsYXNzTGlzdC5jb250YWlucygnY29sb3ItaW1tdXRhYmxlJykpIHtcbiAgICAgIHN2Z0VsbS5jbGFzc0xpc3QuYWRkKCdjb2xvci1pbW11dGFibGUnKTtcbiAgICB9XG5cbiAgICAvLyBkbyBub3Qgc2FuaXRpemUgdGhlIHN2ZyBlbGVtZW50XG4gICAgaWYgKHNhbml0aXplID09PSBmYWxzZSkge1xuICAgICAgcmV0dXJuIGRpdi5pbm5lckhUTUw7XG4gICAgfVxuXG4gICAgLy8gc2FuaXRpemUgdGhlIHN2ZyBlbGVtZW50XG4gICAgaWYgKGlzVmFsaWQoc3ZnRWxtIGFzIGFueSkpIHtcbiAgICAgIHJldHVybiBkaXYuaW5uZXJIVE1MO1xuICAgIH1cbiAgfVxuICByZXR1cm4gJyc7XG59O1xuIiwiaW1wb3J0IHsgaXNTZXJ2ZXIgfSBmcm9tICdsaXQnO1xuXG5pbXBvcnQgdHlwZSB7IFNiYkljb25Db25maWcgfSBmcm9tICcuLi9jb3JlL2NvbmZpZy5qcyc7XG5pbXBvcnQgeyByZWFkQ29uZmlnIH0gZnJvbSAnLi4vY29yZS9jb25maWcuanMnO1xuXG5pbXBvcnQgeyB2YWxpZGF0ZUNvbnRlbnQgfSBmcm9tICcuL2ljb24tdmFsaWRhdGUuanMnO1xuXG5jb25zdCBpY29uQ2RuID0gJ2h0dHBzOi8vaWNvbnMuYXBwLnNiYi5jaC8nO1xuXG5jb25zdCBpY29uTmFtZXNwYWNlcyA9IG5ldyBNYXA8c3RyaW5nLCBzdHJpbmc+KClcbiAgLnNldCgnZGVmYXVsdCcsIGAke2ljb25DZG59aWNvbnMvYClcbiAgLnNldCgncGljdG8nLCBgJHtpY29uQ2RufXBpY3RvL2ApO1xuY29uc3QgcmVxdWVzdHMgPSBuZXcgTWFwPHN0cmluZywgUHJvbWlzZTxhbnk+PigpO1xuXG4vKiogRmV0Y2hlcyBpY29uIHN2ZyBjb250ZW50IGZyb20gcHJvdmlkZXJzIGFuZCBhc3NlcnRzIG9ubHkgb25lIHJlcXVlc3QgcGVyIGljb24gaXMgbWFkZS4gKi9cbmV4cG9ydCBjb25zdCBnZXRTdmdDb250ZW50ID0gKFxuICBuYW1lc3BhY2U6IHN0cmluZyxcbiAgbmFtZTogc3RyaW5nLFxuICBzYW5pdGl6ZTogYm9vbGVhbixcbik6IFByb21pc2U8c3RyaW5nPiA9PiB7XG4gIGNvbnN0IGNvbmZpZzogU2JiSWNvbkNvbmZpZyA9IHJlYWRDb25maWcoKS5pY29uID8/IHt9O1xuXG4gIGNvbnN0IHJlc29sdmVkTmFtZXNwYWNlID0gY29uZmlnLm5hbWVzcGFjZXM/LmdldChuYW1lc3BhY2UpID8/IGljb25OYW1lc3BhY2VzLmdldChuYW1lc3BhY2UpO1xuICBpZiAocmVzb2x2ZWROYW1lc3BhY2UgPT0gbnVsbCkge1xuICAgIHRocm93IEVycm9yKFxuICAgICAgYFVuYWJsZSB0byBmaW5kIHRoZSBuYW1lc3BhY2UgXCIke25hbWVzcGFjZX1cIi4gUGxlYXNlIHJlZ2lzdGVyIHlvdXIgY3VzdG9tIG5hbWVzcGFjZS5gLFxuICAgICk7XG4gIH1cbiAgY29uc3QgdXJsID0gYCR7cmVzb2x2ZWROYW1lc3BhY2V9JHtuYW1lfS5zdmdgO1xuXG4gIC8vIENoZWNrIGlmIHdlIGFscmVhZHkgaGF2ZSBhIHJlcXVlc3QgZm9yIHRoaXMgdXJsXG4gIGxldCByZXEgPSByZXF1ZXN0cy5nZXQodXJsKTtcblxuICBpZiAoIXJlcSkge1xuICAgIC8vIFdlIGNhbm5vdCBzdXBwb3J0IHNlcnZlciBzaWRlIHJlbmRlcmVkIGljb25zICh5ZXQpLCBhcyB0aGUgdmFsaWRhdGlvblxuICAgIC8vIGlzIGRvbmUgdmlhIERPTSwgd2hpY2ggaXMgbm90IGF2YWlsYWJsZSBkdXJpbmcgU1NSLlxuICAgIGlmICh0eXBlb2YgZmV0Y2ggIT09ICd1bmRlZmluZWQnICYmICFpc1NlcnZlcikge1xuICAgICAgY29uc3QgaW50ZXJjZXB0b3IgPSBjb25maWcuaW50ZXJjZXB0b3IgPz8gKChpKSA9PiBpLnJlcXVlc3QoKSk7XG5cbiAgICAgIHJlcSA9IGludGVyY2VwdG9yKHtcbiAgICAgICAgbmFtZXNwYWNlLFxuICAgICAgICBuYW1lLFxuICAgICAgICB1cmwsXG4gICAgICAgIHJlcXVlc3Q6ICgpID0+XG4gICAgICAgICAgZmV0Y2godXJsKVxuICAgICAgICAgICAgLnRoZW4oYXN5bmMgKHJlc3BvbnNlKSA9PiB7XG4gICAgICAgICAgICAgIGlmICghcmVzcG9uc2Uub2spIHtcbiAgICAgICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoJ0ZhaWxlZCB0byBsb2FkIGljb24gJyArIG5hbWVzcGFjZSArICc6JyArIG5hbWUpO1xuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgIHJldHVybiB2YWxpZGF0ZUNvbnRlbnQoYXdhaXQgcmVzcG9uc2UudGV4dCgpLCBzYW5pdGl6ZSk7XG4gICAgICAgICAgICB9KVxuICAgICAgICAgICAgLmNhdGNoKChlcnJvcikgPT4ge1xuICAgICAgICAgICAgICB0aHJvdyBFcnJvcihlcnJvcik7XG4gICAgICAgICAgICB9KSxcbiAgICAgIH0pO1xuICAgICAgLy8gQ2FjaGUgZm9yIHRoZSBzYW1lIHJlcXVlc3RzXG4gICAgICByZXF1ZXN0cy5zZXQodXJsLCByZXEpO1xuICAgIH0gZWxzZSB7XG4gICAgICAvLyBSZXNvbHZlIHByb21pc2UgZm9yIHNzciBzY2VuYXJpb3NcbiAgICAgIHJldHVybiBQcm9taXNlLnJlc29sdmUoJycpO1xuICAgIH1cbiAgfVxuXG4gIHJldHVybiByZXE7XG59O1xuIiwiaW1wb3J0IHR5cGUgeyBDU1NSZXN1bHRHcm91cCwgUHJvcGVydHlWYWx1ZXMsIFRlbXBsYXRlUmVzdWx0IH0gZnJvbSAnbGl0JztcbmltcG9ydCB7IGh0bWwsIExpdEVsZW1lbnQgfSBmcm9tICdsaXQnO1xuaW1wb3J0IHsgcHJvcGVydHksIHN0YXRlIH0gZnJvbSAnbGl0L2RlY29yYXRvcnMuanMnO1xuaW1wb3J0IHR5cGUgeyBEaXJlY3RpdmVSZXN1bHQgfSBmcm9tICdsaXQvZGlyZWN0aXZlLmpzJztcbmltcG9ydCB0eXBlIHsgVW5zYWZlSFRNTERpcmVjdGl2ZSB9IGZyb20gJ2xpdC9kaXJlY3RpdmVzL3Vuc2FmZS1odG1sLmpzJztcbmltcG9ydCB7IHVuc2FmZUhUTUwgfSBmcm9tICdsaXQvZGlyZWN0aXZlcy91bnNhZmUtaHRtbC5qcyc7XG5pbXBvcnQgeyB1bnRpbCB9IGZyb20gJ2xpdC9kaXJlY3RpdmVzL3VudGlsLmpzJztcblxuaW1wb3J0IHsgZm9yY2VUeXBlLCBob3N0QXR0cmlidXRlcyB9IGZyb20gJy4uL2NvcmUvZGVjb3JhdG9ycy5qcyc7XG5cbmltcG9ydCB7IGdldFN2Z0NvbnRlbnQgfSBmcm9tICcuL2ljb24tcmVxdWVzdC5qcyc7XG5pbXBvcnQgc3R5bGUgZnJvbSAnLi9pY29uLnNjc3M/bGl0JmlubGluZSc7XG5cbmNvbnN0IGRlZmF1bHROYW1lc3BhY2UgPSAnZGVmYXVsdCc7XG5cbi8qKlxuICogQGNzc3Byb3AgWy0tc2JiLWljb24tc3ZnLXdpZHRoPWF1dG9dIC0gQ2FuIGJlIHVzZWQgdG8gc2V0IGEgY3VzdG9tIHdpZHRoLlxuICogQGNzc3Byb3AgWy0tc2JiLWljb24tc3ZnLWhlaWdodD1hdXRvXSAtIENhbiBiZSB1c2VkIHRvIHNldCBhIGN1c3RvbSBoZWlnaHQuXG4gKi9cbmV4cG9ydFxuQGhvc3RBdHRyaWJ1dGVzKHtcbiAgJ2RhdGEtbmFtZXNwYWNlJzogZGVmYXVsdE5hbWVzcGFjZSxcbiAgJ2RhdGEtZW1wdHknOiAnJyxcbn0pXG5hYnN0cmFjdCBjbGFzcyBTYmJJY29uQmFzZSBleHRlbmRzIExpdEVsZW1lbnQge1xuICBwdWJsaWMgc3RhdGljIG92ZXJyaWRlIHN0eWxlczogQ1NTUmVzdWx0R3JvdXAgPSBzdHlsZTtcblxuICBAc3RhdGUoKSBwcml2YXRlIGFjY2Vzc29yIF9zdmdOYW1lc3BhY2UgPSBkZWZhdWx0TmFtZXNwYWNlO1xuXG4gIC8qKlxuICAgKiBUaGUgaWNvbiBzdmcgY29udGVudCByZW5kZXJlZCBvbiB0aGUgcGFnZTogPHN2Zz4uLi48L3N2Zz4uXG4gICAqL1xuICBAc3RhdGUoKSBwcml2YXRlIGFjY2Vzc29yIF9zdmdJY29uOiBQcm9taXNlPERpcmVjdGl2ZVJlc3VsdDx0eXBlb2YgVW5zYWZlSFRNTERpcmVjdGl2ZT4+IHwgbnVsbCA9XG4gICAgbnVsbDtcblxuICAvKipcbiAgICogV2hlbiBzZXQgdG8gYHRydWVgLCBTVkcgY29udGVudCB0aGF0IGlzIEhUVFAgZmV0Y2hlZCB3aWxsIG5vdCBiZSBjaGVja2VkXG4gICAqIGlmIHRoZSByZXNwb25zZSBTVkcgY29udGVudCBoYXMgYW55IGA8c2NyaXB0PmAgZWxlbWVudHMsIG9yIGFueSBhdHRyaWJ1dGVzXG4gICAqIHRoYXQgc3RhcnQgd2l0aCBgb25gLCBzdWNoIGFzIGBvbmNsaWNrYC5cbiAgICogQGRlZmF1bHQgZmFsc2VcbiAgICovXG4gIEBmb3JjZVR5cGUoKVxuICBAcHJvcGVydHkoeyBhdHRyaWJ1dGU6ICduby1zYW5pdGl6ZScsIHR5cGU6IEJvb2xlYW4gfSlcbiAgcHVibGljIGFjY2Vzc29yIG5vU2FuaXRpemU6IGJvb2xlYW4gPSBmYWxzZTtcblxuICBwcm90ZWN0ZWQgYXN5bmMgbG9hZFN2Z0ljb24oaWNvbk5hbWU6IHN0cmluZyk6IFByb21pc2U8dm9pZD4ge1xuICAgIGlmICghaWNvbk5hbWUpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBjb25zdCBbbmFtZXNwYWNlLCBuYW1lXSA9IHRoaXMuX3NwbGl0SWNvbk5hbWUoaWNvbk5hbWUpO1xuICAgIHRoaXMuX3N2Z05hbWVzcGFjZSA9IG5hbWVzcGFjZTtcbiAgICB0aGlzLnNldEF0dHJpYnV0ZSgnZGF0YS1uYW1lc3BhY2UnLCB0aGlzLl9zdmdOYW1lc3BhY2UpO1xuXG4gICAgY29uc3Qgc3ZnSWNvbiA9IHRoaXMuZmV0Y2hTdmdJY29uKHRoaXMuX3N2Z05hbWVzcGFjZSwgbmFtZSk7XG4gICAgdGhpcy5fc3ZnSWNvbiA9IHN2Z0ljb24udGhlbigodikgPT4gdW5zYWZlSFRNTCh2KSk7XG4gICAgdHJ5IHtcbiAgICAgIHRoaXMudG9nZ2xlQXR0cmlidXRlKCdkYXRhLWVtcHR5JywgIShhd2FpdCBzdmdJY29uKSk7XG4gICAgfSBjYXRjaCB7XG4gICAgICB0aGlzLnRvZ2dsZUF0dHJpYnV0ZSgnZGF0YS1lbXB0eScsIHRydWUpO1xuICAgIH1cbiAgfVxuXG4gIHByb3RlY3RlZCBhc3luYyBmZXRjaFN2Z0ljb24obmFtZXNwYWNlOiBzdHJpbmcsIG5hbWU6IHN0cmluZyk6IFByb21pc2U8c3RyaW5nPiB7XG4gICAgcmV0dXJuIGF3YWl0IGdldFN2Z0NvbnRlbnQobmFtZXNwYWNlLCBuYW1lLCAhdGhpcy5ub1Nhbml0aXplKTtcbiAgfVxuXG4gIHByaXZhdGUgX3NwbGl0SWNvbk5hbWUoaWNvbk5hbWU6IHN0cmluZyk6IFtzdHJpbmcsIHN0cmluZ10ge1xuICAgIGlmICghaWNvbk5hbWUpIHtcbiAgICAgIHJldHVybiBbJycsICcnXTtcbiAgICB9XG4gICAgY29uc3QgcGFydHMgPSBpY29uTmFtZS5zcGxpdCgnOicpO1xuICAgIHN3aXRjaCAocGFydHMubGVuZ3RoKSB7XG4gICAgICBjYXNlIDE6XG4gICAgICAgIC8vIFVzZSBkZWZhdWx0IG5hbWVzcGFjZSBpZiBlbXB0eS5cbiAgICAgICAgcmV0dXJuIFtkZWZhdWx0TmFtZXNwYWNlLCBwYXJ0c1swXV07XG4gICAgICBjYXNlIDI6XG4gICAgICAgIHJldHVybiBwYXJ0cyBhcyBbc3RyaW5nLCBzdHJpbmddO1xuICAgICAgZGVmYXVsdDpcbiAgICAgICAgdGhyb3cgRXJyb3IoYEludmFsaWQgaWNvbiBuYW1lOiBcIiR7aWNvbk5hbWV9XCJgKTtcbiAgICB9XG4gIH1cblxuICBwcm90ZWN0ZWQgb3ZlcnJpZGUgZmlyc3RVcGRhdGVkKGNoYW5nZWRQcm9wZXJ0aWVzOiBQcm9wZXJ0eVZhbHVlczx0aGlzPik6IHZvaWQge1xuICAgIHN1cGVyLmZpcnN0VXBkYXRlZChjaGFuZ2VkUHJvcGVydGllcyk7XG5cbiAgICB0aGlzLnNldEF0dHJpYnV0ZSgncm9sZScsIHRoaXMuZ2V0QXR0cmlidXRlKCdyb2xlJykgPz8gJ2ltZycpO1xuICB9XG5cbiAgcHJvdGVjdGVkIG92ZXJyaWRlIHJlbmRlcigpOiBUZW1wbGF0ZVJlc3VsdCB7XG4gICAgcmV0dXJuIGh0bWxgPHNwYW4gY2xhc3M9XCJzYmItaWNvbi1pbm5lclwiXG4gICAgICA+JHt1bnRpbChcbiAgICAgICAgdGhpcy5fc3ZnSWNvbixcbiAgICAgICAgLy8gVG8gcmVzZXJ2ZSBzcGFjZSwgd2UgbmVlZCBhbiBlbXB0eSBzdmcgdG8gYXBwbHkgZGltZW5zaW9uIHRvLlxuICAgICAgICBodG1sYDxzdmcgd2lkdGg9XCIwXCIgaGVpZ2h0PVwiMFwiPjwvc3ZnPmAsXG4gICAgICApfTwvc3BhblxuICAgID5gO1xuICB9XG59XG4iLCJpbXBvcnQgeyBodG1sLCB0eXBlIFByb3BlcnR5VmFsdWVzLCB0eXBlIFRlbXBsYXRlUmVzdWx0IH0gZnJvbSAnbGl0JztcbmltcG9ydCB7IGN1c3RvbUVsZW1lbnQsIHByb3BlcnR5LCBzdGF0ZSB9IGZyb20gJ2xpdC9kZWNvcmF0b3JzLmpzJztcblxuaW1wb3J0IHsgZm9yY2VUeXBlLCBvbWl0RW1wdHlDb252ZXJ0ZXIgfSBmcm9tICcuLi9jb3JlL2RlY29yYXRvcnMuanMnO1xuXG5pbXBvcnQgeyBTYmJJY29uQmFzZSB9IGZyb20gJy4vaWNvbi1iYXNlLmpzJztcblxuLyoqXG4gKiBJdCBkaXNwbGF5cyBhbiBpY29uIGxvYWRlZCBmcm9tIGEgcmVnaXN0ZXJlZCBuYW1lc3BhY2UuXG4gKi9cbmV4cG9ydFxuQGN1c3RvbUVsZW1lbnQoJ3NiYi1pY29uJylcbmNsYXNzIFNiYkljb25FbGVtZW50IGV4dGVuZHMgU2JiSWNvbkJhc2Uge1xuICAvKipcbiAgICogV2UgbmVlZCB0byBhZGRpdGlvbmFsbHkgb2JzZXJ2ZSB0aGUgc3ZnaWNvbiBhdHRyaWJ1dGVcbiAgICogZm9yIHNiYi1hbmd1bGFyIGNvbXBhdGliaWxpdHkuXG4gICAqIEBpbnRlcm5hbFxuICAgKi9cbiAgcHVibGljIHN0YXRpYyBvdmVycmlkZSBnZXQgb2JzZXJ2ZWRBdHRyaWJ1dGVzKCk6IHN0cmluZ1tdIHtcbiAgICByZXR1cm4gc3VwZXIub2JzZXJ2ZWRBdHRyaWJ1dGVzLmNvbmNhdCgnc3ZnaWNvbicpO1xuICB9XG5cbiAgLyoqXG4gICAqIFRoZSBwcm92aWRlZCBuYW1lIGNvbnNpc3Rpbmcgb2YgdGhlIG5hbWVzcGFjZSBhbmQgdGhlIG5hbWUgb2YgdGhlIGljb24uXG4gICAqIElmIHRoZSBuYW1lc3BhY2UgaXMgbWlzc2luZywgdGhlIGRlZmF1bHQgbmFtZXNwYWNlIFwic2JiXCIgd2lsbCBiZSB1c2VkLlxuICAgKiBFLmcuIGBuYW1lYCAod2lsbCB1c2UgXCJzYmJcIiBhcyBuYW1lc3BhY2UpIG9yIGBuYW1lc3BhY2U6bmFtZWAuXG4gICAqL1xuICBAZm9yY2VUeXBlKClcbiAgQHByb3BlcnR5KHsgcmVmbGVjdDogdHJ1ZSwgY29udmVydGVyOiBvbWl0RW1wdHlDb252ZXJ0ZXIgfSlcbiAgcHVibGljIGFjY2Vzc29yIG5hbWU6IHN0cmluZyA9ICcnO1xuXG4gIHByaXZhdGUgX2RlZmF1bHRBcmlhTGFiZWwgPSAnJztcblxuICAvKipcbiAgICogVGhlIHNiYi1hbmd1bGFyIGxpYnJhcnkgaGFzIGEgc2JiLWljb24gY29tcG9uZW50IGFzIHdlbGwuIEluIG9yZGVyIHRvIHByb3ZpZGVcbiAgICogY29tcGF0aWJpbGl0eSB3aXRoIGl0IChhcyBzb21lIGljb25zIGFyZSB1c2VkIGludGVybmFsbHkgaW5zaWRlIHRoZSBvdGhlciBzYmItYW5ndWxhclxuICAgKiBjb21wb25lbnRzKSB3ZSBuZWVkIHRvIGNoZWNrIHdoZXRoZXIgdGhlIGF0dHJpYnV0ZSBzdmdpY29uIGlzIHVzZWQuXG4gICAqL1xuICBAc3RhdGUoKSBwcml2YXRlIGFjY2Vzc29yIF9zYmJBbmd1bGFyQ29tcGF0aWJpbGl0eSA9IGZhbHNlO1xuXG4gIHByb3RlY3RlZCBvdmVycmlkZSBhc3luYyBmZXRjaFN2Z0ljb24obmFtZXNwYWNlOiBzdHJpbmcsIG5hbWU6IHN0cmluZyk6IFByb21pc2U8c3RyaW5nPiB7XG4gICAgLy8gSWYgdGhlIGljb24gaXMgY2hhbmdpbmcsIGFuZCB3ZSB3ZXJlIHVzaW5nIHRoZSBkZWZhdWx0QXJpYUxhYmVsLCByZXNldCBpdFxuICAgIGlmICh0aGlzLmdldEF0dHJpYnV0ZSgnYXJpYS1sYWJlbCcpID09PSB0aGlzLl9kZWZhdWx0QXJpYUxhYmVsKSB7XG4gICAgICB0aGlzLnJlbW92ZUF0dHJpYnV0ZSgnYXJpYS1sYWJlbCcpO1xuICAgIH1cblxuICAgIHRoaXMuX2RlZmF1bHRBcmlhTGFiZWwgPSBgSWNvbiAke25hbWUucmVwbGFjZSgvLS9nLCAnICcpfWA7XG5cbiAgICAvLyBnZW5lcmF0ZSBhIGRlZmF1bHQgbGFiZWwgaW4gY2FzZSB1c2VyIGRvZXMgbm90IHByb3ZpZGUgdGhlaXIgb3duXG4gICAgLy8gYW5kIGFyaWEtaGlkZGVuIGlzIHNldCB0byBcImZhbHNlXCJcbiAgICBpZiAodGhpcy5nZXRBdHRyaWJ1dGUoJ2FyaWEtaGlkZGVuJykgPT09ICdmYWxzZScgJiYgIXRoaXMuaGFzQXR0cmlidXRlKCdhcmlhLWxhYmVsJykgJiYgbmFtZSkge1xuICAgICAgdGhpcy5zZXRBdHRyaWJ1dGUoJ2FyaWEtbGFiZWwnLCB0aGlzLl9kZWZhdWx0QXJpYUxhYmVsKTtcbiAgICB9XG5cbiAgICByZXR1cm4gc3VwZXIuZmV0Y2hTdmdJY29uKG5hbWVzcGFjZSwgbmFtZSk7XG4gIH1cblxuICBwcm90ZWN0ZWQgb3ZlcnJpZGUgd2lsbFVwZGF0ZShjaGFuZ2VkUHJvcGVydGllczogUHJvcGVydHlWYWx1ZXM8dGhpcz4pOiB2b2lkIHtcbiAgICBzdXBlci53aWxsVXBkYXRlKGNoYW5nZWRQcm9wZXJ0aWVzKTtcblxuICAgIGlmIChjaGFuZ2VkUHJvcGVydGllcy5oYXMoJ25hbWUnKSAmJiB0aGlzLm5hbWUpIHtcbiAgICAgIHRoaXMubG9hZFN2Z0ljb24odGhpcy5uYW1lKTtcbiAgICB9XG4gIH1cblxuICBwdWJsaWMgb3ZlcnJpZGUgYXR0cmlidXRlQ2hhbmdlZENhbGxiYWNrKFxuICAgIG5hbWU6IHN0cmluZyxcbiAgICBfb2xkOiBzdHJpbmcgfCBudWxsLFxuICAgIHZhbHVlOiBzdHJpbmcgfCBudWxsLFxuICApOiB2b2lkIHtcbiAgICBpZiAobmFtZSA9PT0gJ3N2Z2ljb24nKSB7XG4gICAgICB0aGlzLl9zYmJBbmd1bGFyQ29tcGF0aWJpbGl0eSA9ICEhdmFsdWU7XG4gICAgfSBlbHNlIHtcbiAgICAgIHN1cGVyLmF0dHJpYnV0ZUNoYW5nZWRDYWxsYmFjayhuYW1lLCBfb2xkLCB2YWx1ZSk7XG4gICAgfVxuICB9XG5cbiAgcHJvdGVjdGVkIG92ZXJyaWRlIGZpcnN0VXBkYXRlZChjaGFuZ2VkUHJvcGVydGllczogUHJvcGVydHlWYWx1ZXM8dGhpcz4pOiB2b2lkIHtcbiAgICBzdXBlci5maXJzdFVwZGF0ZWQoY2hhbmdlZFByb3BlcnRpZXMpO1xuXG4gICAgaWYgKCF0aGlzLmhhc0F0dHJpYnV0ZSgnYXJpYS1oaWRkZW4nKSkge1xuICAgICAgdGhpcy5zZXRBdHRyaWJ1dGUoJ2FyaWEtaGlkZGVuJywgJ3RydWUnKTtcbiAgICB9XG4gIH1cblxuICBwcm90ZWN0ZWQgb3ZlcnJpZGUgcmVuZGVyKCk6IFRlbXBsYXRlUmVzdWx0IHtcbiAgICByZXR1cm4gdGhpcy5fc2JiQW5ndWxhckNvbXBhdGliaWxpdHkgPyBodG1sYDxzbG90Pjwvc2xvdD5gIDogc3VwZXIucmVuZGVyKCk7XG4gIH1cbn1cblxuZGVjbGFyZSBnbG9iYWwge1xuICBpbnRlcmZhY2UgSFRNTEVsZW1lbnRUYWdOYW1lTWFwIHtcbiAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25hbWluZy1jb252ZW50aW9uXG4gICAgJ3NiYi1pY29uJzogU2JiSWNvbkVsZW1lbnQ7XG4gIH1cbn1cbiIsImltcG9ydCB7IGh0bWwsIHR5cGUgTGl0RWxlbWVudCwgbm90aGluZywgdHlwZSBUZW1wbGF0ZVJlc3VsdCB9IGZyb20gJ2xpdCc7XG5pbXBvcnQgeyBwcm9wZXJ0eSB9IGZyb20gJ2xpdC9kZWNvcmF0b3JzLmpzJztcblxuaW1wb3J0IHsgZm9yY2VUeXBlLCBvbWl0RW1wdHlDb252ZXJ0ZXIgfSBmcm9tICcuLi9jb3JlL2RlY29yYXRvcnMuanMnO1xuaW1wb3J0IHR5cGUgeyBBYnN0cmFjdENvbnN0cnVjdG9yIH0gZnJvbSAnLi4vY29yZS9taXhpbnMuanMnO1xuXG5pbXBvcnQgJy4vaWNvbi5qcyc7XG5cbmV4cG9ydCBkZWNsYXJlIGNsYXNzIFNiYkljb25OYW1lTWl4aW5UeXBlIHtcbiAgcHVibGljIGFjY2Vzc29yIGljb25OYW1lOiBzdHJpbmc7XG4gIHByb3RlY3RlZCByZW5kZXJJY29uU2xvdChjbGFzc25hbWU/OiBzdHJpbmcpOiBUZW1wbGF0ZVJlc3VsdDtcbn1cblxuLyoqXG4gKiBFbmhhbmNlIHlvdXIgY29tcG9uZW50IHdpdGggYW4gaWNvbk5hbWUgcHJvcGVydHkgYW5kIHByb3ZpZGVzIGEgdGVtcGxhdGUgZm9yIHRoZSBpY29uIHNsb3QuXG4gKi9cbi8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbmFtaW5nLWNvbnZlbnRpb25cbmV4cG9ydCBjb25zdCBTYmJJY29uTmFtZU1peGluID0gPFQgZXh0ZW5kcyBBYnN0cmFjdENvbnN0cnVjdG9yPExpdEVsZW1lbnQ+PihcbiAgc3VwZXJDbGFzczogVCxcbik6IEFic3RyYWN0Q29uc3RydWN0b3I8U2JiSWNvbk5hbWVNaXhpblR5cGU+ICYgVCA9PiB7XG4gIGFic3RyYWN0IGNsYXNzIFNiYkljb25OYW1lRWxlbWVudCBleHRlbmRzIHN1cGVyQ2xhc3MgaW1wbGVtZW50cyBQYXJ0aWFsPFNiYkljb25OYW1lTWl4aW5UeXBlPiB7XG4gICAgLyoqXG4gICAgICogVGhlIGljb24gbmFtZSB3ZSB3YW50IHRvIHVzZSwgY2hvb3NlIGZyb20gdGhlIHNtYWxsIGljb24gdmFyaWFudHNcbiAgICAgKiBmcm9tIHRoZSB1aS1pY29ucyBjYXRlZ29yeSBmcm9tIGhlcmVcbiAgICAgKiBodHRwczovL2ljb25zLmFwcC5zYmIuY2guXG4gICAgICovXG4gICAgQGZvcmNlVHlwZSgpXG4gICAgQHByb3BlcnR5KHsgYXR0cmlidXRlOiAnaWNvbi1uYW1lJywgcmVmbGVjdDogdHJ1ZSwgY29udmVydGVyOiBvbWl0RW1wdHlDb252ZXJ0ZXIgfSlcbiAgICBwdWJsaWMgYWNjZXNzb3IgaWNvbk5hbWU6IHN0cmluZyA9ICcnO1xuXG4gICAgcHJvdGVjdGVkIHJlbmRlckljb25TbG90KGNsYXNzbmFtZT86IHN0cmluZyk6IFRlbXBsYXRlUmVzdWx0IHtcbiAgICAgIHJldHVybiBodG1sYFxuICAgICAgICA8c2xvdCBuYW1lPVwiaWNvblwiPlxuICAgICAgICAgICR7dGhpcy5pY29uTmFtZVxuICAgICAgICAgICAgPyBodG1sYDxzYmItaWNvbiBuYW1lPSR7dGhpcy5pY29uTmFtZX0gY2xhc3M9JHtjbGFzc25hbWUgfHwgbm90aGluZ30+PC9zYmItaWNvbj5gXG4gICAgICAgICAgICA6IG5vdGhpbmd9XG4gICAgICAgIDwvc2xvdD5cbiAgICAgIGA7XG4gICAgfVxuICB9XG5cbiAgcmV0dXJuIFNiYkljb25OYW1lRWxlbWVudCBhcyB1bmtub3duIGFzIEFic3RyYWN0Q29uc3RydWN0b3I8U2JiSWNvbk5hbWVNaXhpblR5cGU+ICYgVDtcbn07XG4iXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7QUFBQSxNQUFNLFFBQVEsQ0FBQyxRQUE0QixPQUFPLFFBQVE7QUFNN0MsTUFBQSxVQUFVLENBQUMsUUFBNkI7QUFDL0MsTUFBQSxJQUFJLGFBQWEsR0FBRztBQUV0QixRQUFJLElBQUksU0FBUyxZQUFhLE1BQUssVUFBVTtB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
|