@sbb-esta/lyne-elements 2.6.0 → 2.7.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/a11y.css +2 -2
- package/accordion/accordion.js +101 -0
- package/accordion.d.ts +3 -0
- package/accordion.d.ts.map +1 -1
- package/accordion.js +2 -99
- package/action-group/action-group.js +110 -0
- package/action-group.d.ts +3 -0
- package/action-group.d.ts.map +1 -1
- package/action-group.js +2 -108
- package/alert/alert/alert.js +176 -0
- package/alert/alert-group/alert-group.js +104 -0
- package/alert/alert-group.d.ts +3 -0
- package/alert/alert-group.d.ts.map +1 -1
- package/alert/alert-group.js +2 -102
- package/alert/alert.d.ts +3 -0
- package/alert/alert.d.ts.map +1 -1
- package/alert/alert.js +2 -174
- package/alert.d.ts +3 -0
- package/alert.d.ts.map +1 -1
- package/alert.js +6 -2
- package/autocomplete/autocomplete-base-element.js +262 -0
- package/autocomplete/autocomplete.js +70 -0
- package/autocomplete-grid/autocomplete-grid/autocomplete-grid.js +109 -0
- package/autocomplete-grid/autocomplete-grid-button/autocomplete-grid-button.js +63 -0
- package/autocomplete-grid/autocomplete-grid-button.d.ts +3 -0
- package/autocomplete-grid/autocomplete-grid-button.d.ts.map +1 -1
- package/autocomplete-grid/autocomplete-grid-button.js +2 -61
- package/autocomplete-grid/autocomplete-grid-cell/autocomplete-grid-cell.js +26 -0
- package/autocomplete-grid/autocomplete-grid-cell.d.ts +3 -0
- package/autocomplete-grid/autocomplete-grid-cell.d.ts.map +1 -1
- package/autocomplete-grid/autocomplete-grid-cell.js +2 -24
- package/autocomplete-grid/autocomplete-grid-optgroup/autocomplete-grid-optgroup.js +33 -0
- package/autocomplete-grid/autocomplete-grid-optgroup.d.ts +3 -0
- package/autocomplete-grid/autocomplete-grid-optgroup.d.ts.map +1 -1
- package/autocomplete-grid/autocomplete-grid-optgroup.js +2 -31
- package/autocomplete-grid/autocomplete-grid-option/autocomplete-grid-option.js +49 -0
- package/autocomplete-grid/autocomplete-grid-option.d.ts +3 -0
- package/autocomplete-grid/autocomplete-grid-option.d.ts.map +1 -1
- package/autocomplete-grid/autocomplete-grid-option.js +3 -47
- package/autocomplete-grid/autocomplete-grid-row/autocomplete-grid-row.js +29 -0
- package/autocomplete-grid/autocomplete-grid-row.d.ts +3 -0
- package/autocomplete-grid/autocomplete-grid-row.d.ts.map +1 -1
- package/autocomplete-grid/autocomplete-grid-row.js +2 -27
- package/autocomplete-grid/autocomplete-grid.d.ts +3 -0
- package/autocomplete-grid/autocomplete-grid.d.ts.map +1 -1
- package/autocomplete-grid/autocomplete-grid.js +2 -107
- package/autocomplete-grid.d.ts +3 -0
- package/autocomplete-grid.d.ts.map +1 -1
- package/autocomplete-grid.js +15 -6
- package/autocomplete.d.ts +3 -0
- package/autocomplete.d.ts.map +1 -1
- package/autocomplete.js +5 -321
- package/breadcrumb/breadcrumb/breadcrumb.js +52 -0
- package/breadcrumb/breadcrumb-group/breadcrumb-group.js +141 -0
- package/breadcrumb/breadcrumb-group.d.ts +3 -0
- package/breadcrumb/breadcrumb-group.d.ts.map +1 -1
- package/breadcrumb/breadcrumb-group.js +2 -139
- package/breadcrumb/breadcrumb.d.ts +3 -0
- package/breadcrumb/breadcrumb.d.ts.map +1 -1
- package/breadcrumb/breadcrumb.js +2 -50
- package/breadcrumb.d.ts +3 -0
- package/breadcrumb.d.ts.map +1 -1
- package/breadcrumb.js +6 -2
- package/button/accent-button/accent-button.js +17 -0
- package/button/accent-button-link/accent-button-link.js +17 -0
- package/button/accent-button-link.d.ts +3 -0
- package/button/accent-button-link.d.ts.map +1 -1
- package/button/accent-button-link.js +2 -15
- package/button/accent-button-static/accent-button-static.js +17 -0
- package/button/accent-button-static.d.ts +3 -0
- package/button/accent-button-static.d.ts.map +1 -1
- package/button/accent-button-static.js +2 -15
- package/button/accent-button.d.ts +3 -0
- package/button/accent-button.d.ts.map +1 -1
- package/button/accent-button.js +2 -15
- package/button/button/button.js +17 -0
- package/button/button-link/button-link.js +17 -0
- package/button/button-link.d.ts +3 -0
- package/button/button-link.d.ts.map +1 -1
- package/button/button-link.js +2 -15
- package/button/button-static/button-static.js +17 -0
- package/button/button-static.d.ts +3 -0
- package/button/button-static.d.ts.map +1 -1
- package/button/button-static.js +2 -15
- package/button/button.d.ts +3 -0
- package/button/button.d.ts.map +1 -1
- package/button/button.js +2 -15
- package/button/common/button-common.js +51 -0
- package/button/common.d.ts +3 -0
- package/button/common.d.ts.map +1 -1
- package/button/common.js +8 -55
- package/button/mini-button/mini-button.js +23 -0
- package/button/mini-button-group/mini-button-group.js +63 -0
- package/button/mini-button-group.d.ts +3 -0
- package/button/mini-button-group.d.ts.map +1 -1
- package/button/mini-button-group.js +2 -61
- package/button/mini-button.d.ts +3 -0
- package/button/mini-button.d.ts.map +1 -1
- package/button/mini-button.js +2 -21
- package/button/secondary-button/secondary-button.js +17 -0
- package/button/secondary-button-link/secondary-button-link.js +17 -0
- package/button/secondary-button-link.d.ts +3 -0
- package/button/secondary-button-link.d.ts.map +1 -1
- package/button/secondary-button-link.js +2 -15
- package/button/secondary-button-static/secondary-button-static.js +17 -0
- package/button/secondary-button-static.d.ts +3 -0
- package/button/secondary-button-static.d.ts.map +1 -1
- package/button/secondary-button-static.js +2 -15
- package/button/secondary-button.d.ts +3 -0
- package/button/secondary-button.d.ts.map +1 -1
- package/button/secondary-button.js +2 -15
- package/button/transparent-button/transparent-button.js +17 -0
- package/button/transparent-button-link/transparent-button-link.js +17 -0
- package/button/transparent-button-link.d.ts +3 -0
- package/button/transparent-button-link.d.ts.map +1 -1
- package/button/transparent-button-link.js +2 -15
- package/button/transparent-button-static/transparent-button-static.js +17 -0
- package/button/transparent-button-static.d.ts +3 -0
- package/button/transparent-button-static.d.ts.map +1 -1
- package/button/transparent-button-static.js +2 -15
- package/button/transparent-button.d.ts +3 -0
- package/button/transparent-button.d.ts.map +1 -1
- package/button/transparent-button.js +2 -15
- package/button.d.ts +3 -0
- package/button.d.ts.map +1 -1
- package/button.js +38 -15
- package/calendar/calendar.js +939 -0
- package/calendar.d.ts +3 -0
- package/calendar.d.ts.map +1 -1
- package/calendar.js +2 -937
- package/card/card/card.js +70 -0
- package/card/card-badge/card-badge.js +57 -0
- package/card/card-badge.d.ts +3 -0
- package/card/card-badge.d.ts.map +1 -1
- package/card/card-badge.js +2 -55
- package/card/card-button/card-button.js +19 -0
- package/card/card-button.d.ts +3 -0
- package/card/card-button.d.ts.map +1 -1
- package/card/card-button.js +2 -17
- package/card/card-link/card-link.js +19 -0
- package/card/card-link.d.ts +3 -0
- package/card/card-link.d.ts.map +1 -1
- package/card/card-link.js +2 -17
- package/card/card.d.ts +3 -0
- package/card/card.d.ts.map +1 -1
- package/card/card.js +2 -68
- package/card/common/card-action-common.js +60 -0
- package/card/common.d.ts +3 -0
- package/card/common.d.ts.map +1 -1
- package/card/common.js +2 -58
- package/card.d.ts +3 -0
- package/card.d.ts.map +1 -1
- package/card.js +12 -5
- package/checkbox/checkbox/checkbox.js +80 -0
- package/checkbox/checkbox-group/checkbox-group.js +113 -0
- package/checkbox/checkbox-group.d.ts +3 -0
- package/checkbox/checkbox-group.d.ts.map +1 -1
- package/checkbox/checkbox-group.js +2 -111
- package/checkbox/checkbox-panel/checkbox-panel.js +82 -0
- package/checkbox/checkbox-panel.d.ts +3 -0
- package/checkbox/checkbox-panel.d.ts.map +1 -1
- package/checkbox/checkbox-panel.js +2 -80
- package/checkbox/checkbox.d.ts +3 -0
- package/checkbox/checkbox.d.ts.map +1 -1
- package/checkbox/checkbox.js +2 -78
- package/checkbox/common/checkbox-common.js +56 -0
- package/checkbox/common.d.ts +3 -0
- package/checkbox/common.d.ts.map +1 -1
- package/checkbox/common.js +4 -56
- package/checkbox-common-CDzcyq8p.js +5 -0
- package/checkbox.d.ts +3 -0
- package/checkbox.d.ts.map +1 -1
- package/checkbox.js +12 -4
- package/chip/chip/chip.js +85 -0
- package/chip/chip-group/chip-group.js +226 -0
- package/chip/chip-group.d.ts +3 -0
- package/chip/chip-group.d.ts.map +1 -1
- package/chip/chip-group.js +2 -223
- package/chip/chip.d.ts +3 -0
- package/chip/chip.d.ts.map +1 -1
- package/chip/chip.js +2 -83
- package/chip-label/chip-label.js +54 -0
- package/chip-label.d.ts +3 -0
- package/chip-label.d.ts.map +1 -1
- package/chip-label.js +2 -52
- package/chip.d.ts +3 -0
- package/chip.d.ts.map +1 -1
- package/chip.js +6 -2
- package/clock/clock.js +163 -0
- package/clock.d.ts +3 -0
- package/clock.d.ts.map +1 -1
- package/clock.js +2 -161
- package/container/container/container.js +71 -0
- package/container/container.d.ts +3 -0
- package/container/container.d.ts.map +1 -1
- package/container/container.js +2 -69
- package/container/sticky-bar/sticky-bar.js +111 -0
- package/container/sticky-bar.d.ts +3 -0
- package/container/sticky-bar.d.ts.map +1 -1
- package/container/sticky-bar.js +2 -109
- package/container.d.ts +3 -0
- package/container.d.ts.map +1 -1
- package/container.js +6 -2
- package/core/a11y/arrow-navigation.js +33 -0
- package/core/a11y/fake-event-detection.js +11 -0
- package/core/a11y/focus-trap-controller.d.ts +35 -0
- package/core/a11y/focus-trap-controller.d.ts.map +1 -0
- package/core/a11y/focus-trap-controller.js +95 -0
- package/core/a11y/focus-visible-within-controller.js +19 -0
- package/core/a11y/focus.d.ts +12 -0
- package/core/a11y/focus.d.ts.map +1 -1
- package/core/a11y/focus.js +75 -0
- package/core/a11y/input-modality-detector.d.ts +5 -0
- package/core/a11y/input-modality-detector.d.ts.map +1 -1
- package/core/a11y/input-modality-detector.js +59 -0
- package/core/a11y/interactivity-checker.d.ts +49 -3
- package/core/a11y/interactivity-checker.d.ts.map +1 -1
- package/core/a11y/interactivity-checker.js +104 -0
- package/core/a11y.d.ts +4 -0
- package/core/a11y.d.ts.map +1 -1
- package/core/a11y.js +26 -201
- package/core/base-elements/action-base-element.js +46 -0
- package/core/base-elements/button-base-element.d.ts.map +1 -1
- package/core/base-elements/button-base-element.js +120 -0
- package/core/base-elements/link-base-element.js +130 -0
- package/core/base-elements/open-close-base-element.js +33 -0
- package/core/base-elements.d.ts +3 -0
- package/core/base-elements.d.ts.map +1 -1
- package/core/base-elements.js +8 -308
- package/core/config/config.js +11 -0
- package/core/config.d.ts +3 -0
- package/core/config.d.ts.map +1 -1
- package/core/config.js +3 -9
- package/core/controllers/connected-abort-controller.js +19 -0
- package/core/controllers/escapable-overlay-controller.d.ts.map +1 -1
- package/core/controllers/escapable-overlay-controller.js +29 -0
- package/core/controllers/id-observer-controller.js +61 -0
- package/core/controllers/inert-controller.d.ts +3 -1
- package/core/controllers/inert-controller.d.ts.map +1 -1
- package/core/controllers/inert-controller.js +48 -0
- package/core/controllers/language-controller.js +39 -0
- package/core/controllers/media-matchers-controller.d.ts +1 -0
- package/core/controllers/media-matchers-controller.d.ts.map +1 -1
- package/core/controllers/media-matchers-controller.js +43 -0
- package/core/controllers/slot-state-controller.js +30 -0
- package/core/controllers.d.ts +3 -0
- package/core/controllers.d.ts.map +1 -1
- package/core/controllers.js +20 -248
- package/core/datetime/date-adapter.js +102 -0
- package/core/datetime/native-date-adapter.js +169 -0
- package/core/datetime.d.ts +3 -0
- package/core/datetime.d.ts.map +1 -1
- package/core/datetime.js +12 -266
- package/core/decorators/base.js +1 -0
- package/core/decorators/date-converter.js +17 -0
- package/core/decorators/date-only-type.js +10 -0
- package/core/decorators/force-type.js +18 -0
- package/core/decorators/get-override.js +14 -0
- package/core/decorators/handle-distinct-change.js +16 -0
- package/core/decorators/host-attributes.js +18 -0
- package/core/decorators/omit-empty-converter.js +9 -0
- package/core/decorators/slot-state.js +8 -0
- package/core/decorators.d.ts +3 -0
- package/core/decorators.d.ts.map +1 -1
- package/core/decorators.js +16 -86
- package/core/dom/animation.js +10 -0
- package/core/dom/breakpoint.d.ts +1 -1
- package/core/dom/breakpoint.js +12 -0
- package/core/dom/find-referenced-element.js +7 -0
- package/core/dom/host-context.js +17 -0
- package/core/dom/input-element.js +12 -0
- package/core/dom/lean-context.js +7 -0
- package/core/dom/platform.js +21 -0
- package/core/dom/scroll.js +19 -0
- package/core/dom/set-or-remove-attribute.js +6 -0
- package/core/dom.d.ts +3 -0
- package/core/dom.d.ts.map +1 -1
- package/core/dom.js +31 -87
- package/core/eventing/composed-path-has-attribute.js +8 -0
- package/core/eventing/event-emitter.js +23 -0
- package/core/eventing/event-target.js +6 -0
- package/core/eventing/form-element-handlers.js +6 -0
- package/core/eventing/forward-event.js +9 -0
- package/core/eventing/is-event-prevented.js +6 -0
- package/core/eventing/throttle.js +11 -0
- package/core/eventing.d.ts +3 -0
- package/core/eventing.d.ts.map +1 -1
- package/core/eventing.js +15 -55
- package/core/i18n/i18n.js +700 -0
- package/core/i18n.d.ts +3 -0
- package/core/i18n.d.ts.map +1 -1
- package/core/i18n.js +89 -698
- package/core/images.js +15 -0
- package/core/interfaces.d.ts +3 -0
- package/core/interfaces.d.ts.map +1 -1
- package/core/mixins/animation-complete-mixin.js +43 -0
- package/core/mixins/constructor.js +1 -0
- package/core/mixins/disabled-mixin.js +72 -0
- package/core/mixins/form-associated-checkbox-mixin.js +92 -0
- package/core/mixins/form-associated-input-mixin.js +182 -0
- package/core/mixins/form-associated-mixin.js +219 -0
- package/core/mixins/form-associated-radio-button-mixin.js +159 -0
- package/core/mixins/hydration-mixin.js +39 -0
- package/core/mixins/named-slot-list-mixin.js +107 -0
- package/core/mixins/negative-mixin.js +34 -0
- package/core/mixins/panel-mixin.js +61 -0
- package/core/mixins/required-mixin.js +36 -0
- package/core/mixins/update-scheduler-mixin.js +22 -0
- package/core/mixins.d.ts +3 -0
- package/core/mixins.d.ts.map +1 -1
- package/core/mixins.js +29 -973
- package/core/overlay/overlay-option-panel.js +11 -0
- package/core/overlay/overlay-trigger-attributes.js +18 -0
- package/core/overlay/overlay.js +14 -0
- package/core/overlay/position.js +40 -0
- package/core/overlay.d.ts +3 -0
- package/core/overlay.d.ts.map +1 -1
- package/core/overlay.js +12 -73
- package/core/styles/core.scss +8 -0
- package/core/styles/mixins/a11y.scss +2 -1
- package/core/styles/mixins/buttons.scss +7 -6
- package/core/styles/mixins/link.scss +1 -2
- package/core/styles/mixins/table.scss +3 -0
- package/core/styles/table.scss +45 -0
- package/core/testing/event-spy.js +53 -0
- package/core/testing/mocha-extensions.js +11 -0
- package/core/testing/scroll.js +6 -0
- package/core/testing/wait-for-condition.js +13 -0
- package/core/testing/wait-for-image-ready.d.ts.map +1 -1
- package/core/testing/wait-for-image-ready.js +18 -0
- package/core/testing/wait-for-render.js +15 -0
- package/core/testing.d.ts +3 -0
- package/core/testing.d.ts.map +1 -1
- package/core/testing.js +14 -109
- package/core.css +3 -0
- package/custom-elements.json +51411 -47213
- package/date-input/date-input.d.ts.map +1 -1
- package/date-input/date-input.js +155 -0
- package/date-input.d.ts +3 -0
- package/date-input.d.ts.map +1 -1
- package/date-input.js +2 -153
- package/datepicker/common/datepicker-association-controllers.js +58 -0
- package/datepicker/common/datepicker-button.js +105 -0
- package/datepicker/common.d.ts +3 -0
- package/datepicker/common.d.ts.map +1 -1
- package/datepicker/common.js +5 -158
- package/datepicker/datepicker/datepicker.d.ts.map +1 -1
- package/datepicker/datepicker/datepicker.js +266 -0
- package/datepicker/datepicker-next-day/datepicker-next-day.js +27 -0
- package/datepicker/datepicker-next-day.d.ts +3 -0
- package/datepicker/datepicker-next-day.d.ts.map +1 -1
- package/datepicker/datepicker-next-day.js +2 -25
- package/datepicker/datepicker-previous-day/datepicker-previous-day.js +27 -0
- package/datepicker/datepicker-previous-day.d.ts +3 -0
- package/datepicker/datepicker-previous-day.d.ts.map +1 -1
- package/datepicker/datepicker-previous-day.js +2 -25
- package/datepicker/datepicker-toggle/datepicker-toggle.js +171 -0
- package/datepicker/datepicker-toggle.d.ts +3 -0
- package/datepicker/datepicker-toggle.d.ts.map +1 -1
- package/datepicker/datepicker-toggle.js +2 -169
- package/datepicker/datepicker.d.ts +3 -0
- package/datepicker/datepicker.d.ts.map +1 -1
- package/datepicker/datepicker.js +4 -261
- package/datepicker.d.ts +3 -0
- package/datepicker.d.ts.map +1 -1
- package/datepicker.js +17 -5
- package/development/accordion/accordion.js +149 -0
- package/development/accordion.d.ts +3 -0
- package/development/accordion.d.ts.map +1 -1
- package/development/accordion.js +2 -146
- package/development/action-group/action-group.js +405 -0
- package/development/action-group.d.ts +3 -0
- package/development/action-group.d.ts.map +1 -1
- package/development/action-group.js +2 -402
- package/development/alert/alert/alert.js +434 -0
- package/development/alert/alert-group/alert-group.js +183 -0
- package/development/alert/alert-group.d.ts +3 -0
- package/development/alert/alert-group.d.ts.map +1 -1
- package/development/alert/alert-group.js +2 -180
- package/development/alert/alert.d.ts +3 -0
- package/development/alert/alert.d.ts.map +1 -1
- package/development/alert/alert.js +2 -431
- package/development/alert.d.ts +3 -0
- package/development/alert.d.ts.map +1 -1
- package/development/alert.js +6 -2
- package/development/autocomplete/autocomplete-base-element.js +700 -0
- package/development/autocomplete/autocomplete.js +99 -0
- package/development/autocomplete-grid/autocomplete-grid/autocomplete-grid.js +157 -0
- package/development/autocomplete-grid/autocomplete-grid-button/autocomplete-grid-button.js +208 -0
- package/development/autocomplete-grid/autocomplete-grid-button.d.ts +3 -0
- package/development/autocomplete-grid/autocomplete-grid-button.d.ts.map +1 -1
- package/development/autocomplete-grid/autocomplete-grid-button.js +2 -202
- package/development/autocomplete-grid/autocomplete-grid-cell/autocomplete-grid-cell.js +47 -0
- package/development/autocomplete-grid/autocomplete-grid-cell.d.ts +3 -0
- package/development/autocomplete-grid/autocomplete-grid-cell.d.ts.map +1 -1
- package/development/autocomplete-grid/autocomplete-grid-cell.js +2 -44
- package/development/autocomplete-grid/autocomplete-grid-optgroup/autocomplete-grid-optgroup.js +44 -0
- package/development/autocomplete-grid/autocomplete-grid-optgroup.d.ts +3 -0
- package/development/autocomplete-grid/autocomplete-grid-optgroup.d.ts.map +1 -1
- package/development/autocomplete-grid/autocomplete-grid-optgroup.js +2 -41
- package/development/autocomplete-grid/autocomplete-grid-option/autocomplete-grid-option.js +139 -0
- package/development/autocomplete-grid/autocomplete-grid-option.d.ts +3 -0
- package/development/autocomplete-grid/autocomplete-grid-option.d.ts.map +1 -1
- package/development/autocomplete-grid/autocomplete-grid-option.js +2 -134
- package/development/autocomplete-grid/autocomplete-grid-row/autocomplete-grid-row.js +123 -0
- package/development/autocomplete-grid/autocomplete-grid-row.d.ts +3 -0
- package/development/autocomplete-grid/autocomplete-grid-row.d.ts.map +1 -1
- package/development/autocomplete-grid/autocomplete-grid-row.js +2 -120
- package/development/autocomplete-grid/autocomplete-grid.d.ts +3 -0
- package/development/autocomplete-grid/autocomplete-grid.d.ts.map +1 -1
- package/development/autocomplete-grid/autocomplete-grid.js +2 -154
- package/development/autocomplete-grid.d.ts +3 -0
- package/development/autocomplete-grid.d.ts.map +1 -1
- package/development/autocomplete-grid.js +15 -6
- package/development/autocomplete.d.ts +3 -0
- package/development/autocomplete.d.ts.map +1 -1
- package/development/autocomplete.js +3 -785
- package/development/breadcrumb/breadcrumb/breadcrumb.js +136 -0
- package/development/breadcrumb/breadcrumb-group/breadcrumb-group.js +281 -0
- package/development/breadcrumb/breadcrumb-group.d.ts +3 -0
- package/development/breadcrumb/breadcrumb-group.d.ts.map +1 -1
- package/development/breadcrumb/breadcrumb-group.js +2 -278
- package/development/breadcrumb/breadcrumb.d.ts +3 -0
- package/development/breadcrumb/breadcrumb.d.ts.map +1 -1
- package/development/breadcrumb/breadcrumb.js +2 -133
- package/development/breadcrumb.d.ts +3 -0
- package/development/breadcrumb.d.ts.map +1 -1
- package/development/breadcrumb.js +6 -2
- package/development/button/accent-button/accent-button.js +25 -0
- package/development/button/accent-button-link/accent-button-link.js +25 -0
- package/development/button/accent-button-link.d.ts +3 -0
- package/development/button/accent-button-link.d.ts.map +1 -1
- package/development/button/accent-button-link.js +2 -22
- package/development/button/accent-button-static/accent-button-static.js +25 -0
- package/development/button/accent-button-static.d.ts +3 -0
- package/development/button/accent-button-static.d.ts.map +1 -1
- package/development/button/accent-button-static.js +2 -22
- package/development/button/accent-button.d.ts +3 -0
- package/development/button/accent-button.d.ts.map +1 -1
- package/development/button/accent-button.js +2 -22
- package/development/button/button/button.js +25 -0
- package/development/button/button-link/button-link.js +25 -0
- package/development/button/button-link.d.ts +3 -0
- package/development/button/button-link.d.ts.map +1 -1
- package/development/button/button-link.js +2 -22
- package/development/button/button-static/button-static.js +25 -0
- package/development/button/button-static.d.ts +3 -0
- package/development/button/button-static.d.ts.map +1 -1
- package/development/button/button-static.js +2 -22
- package/development/button/button.d.ts +3 -0
- package/development/button/button.d.ts.map +1 -1
- package/development/button/button.js +2 -22
- package/development/button/common/button-common.js +70 -0
- package/development/button/common.d.ts +3 -0
- package/development/button/common.d.ts.map +1 -1
- package/development/button/common.js +8 -407
- package/development/button/mini-button/mini-button.js +143 -0
- package/development/button/mini-button-group/mini-button-group.js +153 -0
- package/development/button/mini-button-group.d.ts +3 -0
- package/development/button/mini-button-group.d.ts.map +1 -1
- package/development/button/mini-button-group.js +2 -150
- package/development/button/mini-button.d.ts +3 -0
- package/development/button/mini-button.d.ts.map +1 -1
- package/development/button/mini-button.js +2 -137
- package/development/button/secondary-button/secondary-button.js +25 -0
- package/development/button/secondary-button-link/secondary-button-link.js +25 -0
- package/development/button/secondary-button-link.d.ts +3 -0
- package/development/button/secondary-button-link.d.ts.map +1 -1
- package/development/button/secondary-button-link.js +2 -22
- package/development/button/secondary-button-static/secondary-button-static.js +25 -0
- package/development/button/secondary-button-static.d.ts +3 -0
- package/development/button/secondary-button-static.d.ts.map +1 -1
- package/development/button/secondary-button-static.js +2 -22
- package/development/button/secondary-button.d.ts +3 -0
- package/development/button/secondary-button.d.ts.map +1 -1
- package/development/button/secondary-button.js +2 -22
- package/development/button/transparent-button/transparent-button.js +25 -0
- package/development/button/transparent-button-link/transparent-button-link.js +25 -0
- package/development/button/transparent-button-link.d.ts +3 -0
- package/development/button/transparent-button-link.d.ts.map +1 -1
- package/development/button/transparent-button-link.js +2 -22
- package/development/button/transparent-button-static/transparent-button-static.js +25 -0
- package/development/button/transparent-button-static.d.ts +3 -0
- package/development/button/transparent-button-static.d.ts.map +1 -1
- package/development/button/transparent-button-static.js +2 -22
- package/development/button/transparent-button.d.ts +3 -0
- package/development/button/transparent-button.d.ts.map +1 -1
- package/development/button/transparent-button.js +2 -22
- package/development/button.d.ts +3 -0
- package/development/button.d.ts.map +1 -1
- package/development/button.js +39 -16
- package/development/calendar/calendar.js +1547 -0
- package/development/calendar.d.ts +3 -0
- package/development/calendar.d.ts.map +1 -1
- package/development/calendar.js +2 -1542
- package/development/card/card/card.js +287 -0
- package/development/card/card-badge/card-badge.js +169 -0
- package/development/card/card-badge.d.ts +3 -0
- package/development/card/card-badge.d.ts.map +1 -1
- package/development/card/card-badge.js +2 -166
- package/development/card/card-button/card-button.js +29 -0
- package/development/card/card-button.d.ts +3 -0
- package/development/card/card-button.d.ts.map +1 -1
- package/development/card/card-button.js +2 -26
- package/development/card/card-link/card-link.js +29 -0
- package/development/card/card-link.d.ts +3 -0
- package/development/card/card-link.d.ts.map +1 -1
- package/development/card/card-link.js +2 -26
- package/development/card/card.d.ts +3 -0
- package/development/card/card.d.ts.map +1 -1
- package/development/card/card.js +2 -284
- package/development/card/common/card-action-common.js +119 -0
- package/development/card/common.d.ts +3 -0
- package/development/card/common.d.ts.map +1 -1
- package/development/card/common.js +2 -116
- package/development/card.d.ts +3 -0
- package/development/card.d.ts.map +1 -1
- package/development/card.js +12 -5
- package/development/checkbox/checkbox/checkbox.js +134 -0
- package/development/checkbox/checkbox-group/checkbox-group.js +294 -0
- package/development/checkbox/checkbox-group.d.ts +3 -0
- package/development/checkbox/checkbox-group.d.ts.map +1 -1
- package/development/checkbox/checkbox-group.js +2 -291
- package/development/checkbox/checkbox-panel/checkbox-panel.js +108 -0
- package/development/checkbox/checkbox-panel.d.ts +3 -0
- package/development/checkbox/checkbox-panel.d.ts.map +1 -1
- package/development/checkbox/checkbox-panel.js +2 -105
- package/development/checkbox/checkbox.d.ts +3 -0
- package/development/checkbox/checkbox.d.ts.map +1 -1
- package/development/checkbox/checkbox.js +2 -131
- package/development/checkbox/common/checkbox-common.js +75 -0
- package/development/checkbox/common.d.ts +3 -0
- package/development/checkbox/common.d.ts.map +1 -1
- package/development/checkbox/common.js +4 -152
- package/development/checkbox-common-aMPOsPVA.js +83 -0
- package/development/checkbox.d.ts +3 -0
- package/development/checkbox.d.ts.map +1 -1
- package/development/checkbox.js +13 -5
- package/development/chip/chip/chip.js +213 -0
- package/development/chip/chip-group/chip-group.js +350 -0
- package/development/chip/chip-group.d.ts +3 -0
- package/development/chip/chip-group.d.ts.map +1 -1
- package/development/chip/chip-group.js +2 -346
- package/development/chip/chip.d.ts +3 -0
- package/development/chip/chip.d.ts.map +1 -1
- package/development/chip/chip.js +2 -209
- package/development/chip-label/chip-label.js +154 -0
- package/development/chip-label.d.ts +3 -0
- package/development/chip-label.d.ts.map +1 -1
- package/development/chip-label.js +2 -151
- package/development/chip.d.ts +3 -0
- package/development/chip.d.ts.map +1 -1
- package/development/chip.js +6 -2
- package/development/clock/clock.js +390 -0
- package/development/clock.d.ts +3 -0
- package/development/clock.d.ts.map +1 -1
- package/development/clock.js +2 -387
- package/development/container/container/container.js +194 -0
- package/development/container/container.d.ts +3 -0
- package/development/container/container.d.ts.map +1 -1
- package/development/container/container.js +2 -191
- package/development/container/sticky-bar/sticky-bar.js +349 -0
- package/development/container/sticky-bar.d.ts +3 -0
- package/development/container/sticky-bar.d.ts.map +1 -1
- package/development/container/sticky-bar.js +2 -346
- package/development/container.d.ts +3 -0
- package/development/container.d.ts.map +1 -1
- package/development/container.js +6 -2
- package/development/core/a11y/arrow-navigation.js +43 -0
- package/development/core/a11y/fake-event-detection.js +12 -0
- package/development/core/a11y/focus-trap-controller.d.ts +35 -0
- package/development/core/a11y/focus-trap-controller.d.ts.map +1 -0
- package/development/core/a11y/focus-trap-controller.js +127 -0
- package/development/core/a11y/focus-visible-within-controller.js +25 -0
- package/development/core/a11y/focus.d.ts +12 -0
- package/development/core/a11y/focus.d.ts.map +1 -1
- package/development/core/a11y/focus.js +94 -0
- package/development/core/a11y/input-modality-detector.d.ts +5 -0
- package/development/core/a11y/input-modality-detector.d.ts.map +1 -1
- package/development/core/a11y/input-modality-detector.js +96 -0
- package/development/core/a11y/interactivity-checker.d.ts +49 -3
- package/development/core/a11y/interactivity-checker.d.ts.map +1 -1
- package/development/core/a11y/interactivity-checker.js +137 -0
- package/development/core/a11y.d.ts +4 -0
- package/development/core/a11y.d.ts.map +1 -1
- package/development/core/a11y.js +10 -253
- package/development/core/base-elements/action-base-element.js +62 -0
- package/development/core/base-elements/button-base-element.d.ts.map +1 -1
- package/development/core/base-elements/button-base-element.js +179 -0
- package/development/core/base-elements/link-base-element.js +183 -0
- package/development/core/base-elements/open-close-base-element.js +39 -0
- package/development/core/base-elements.d.ts +3 -0
- package/development/core/base-elements.d.ts.map +1 -1
- package/development/core/base-elements.js +5 -437
- package/development/core/config/config.js +15 -0
- package/development/core/config.d.ts +3 -0
- package/development/core/config.d.ts.map +1 -1
- package/development/core/config.js +2 -11
- package/development/core/controllers/connected-abort-controller.js +25 -0
- package/development/core/controllers/escapable-overlay-controller.d.ts.map +1 -1
- package/development/core/controllers/escapable-overlay-controller.js +40 -0
- package/development/core/controllers/id-observer-controller.js +84 -0
- package/development/core/controllers/inert-controller.d.ts +3 -1
- package/development/core/controllers/inert-controller.d.ts.map +1 -1
- package/development/core/controllers/inert-controller.js +91 -0
- package/development/core/controllers/language-controller.js +69 -0
- package/development/core/controllers/media-matchers-controller.d.ts +1 -0
- package/development/core/controllers/media-matchers-controller.d.ts.map +1 -1
- package/development/core/controllers/media-matchers-controller.js +62 -0
- package/development/core/controllers/slot-state-controller.js +48 -0
- package/development/core/controllers.d.ts +3 -0
- package/development/core/controllers.d.ts.map +1 -1
- package/development/core/controllers.js +9 -376
- package/development/core/datetime/date-adapter.js +129 -0
- package/development/core/datetime/native-date-adapter.js +185 -0
- package/development/core/datetime.d.ts +3 -0
- package/development/core/datetime.d.ts.map +1 -1
- package/development/core/datetime.js +3 -298
- package/development/core/decorators/base.js +2 -0
- package/development/core/decorators/date-converter.js +18 -0
- package/development/core/decorators/date-only-type.js +11 -0
- package/development/core/decorators/force-type.js +29 -0
- package/development/core/decorators/get-override.js +18 -0
- package/development/core/decorators/handle-distinct-change.js +22 -0
- package/development/core/decorators/host-attributes.js +30 -0
- package/development/core/decorators/omit-empty-converter.js +10 -0
- package/development/core/decorators/slot-state.js +11 -0
- package/development/core/decorators.d.ts +3 -0
- package/development/core/decorators.d.ts.map +1 -1
- package/development/core/decorators.js +9 -114
- package/development/core/dom/animation.js +12 -0
- package/development/core/dom/breakpoint.d.ts +1 -1
- package/development/core/dom/breakpoint.js +19 -0
- package/development/core/dom/find-referenced-element.js +15 -0
- package/development/core/dom/host-context.js +21 -0
- package/development/core/dom/input-element.js +13 -0
- package/development/core/dom/lean-context.js +8 -0
- package/development/core/dom/platform.js +32 -0
- package/development/core/dom/scroll.js +37 -0
- package/development/core/dom/set-or-remove-attribute.js +11 -0
- package/development/core/dom.d.ts +3 -0
- package/development/core/dom.d.ts.map +1 -1
- package/development/core/dom.js +10 -114
- package/development/core/eventing/composed-path-has-attribute.js +12 -0
- package/development/core/eventing/event-emitter.js +26 -0
- package/development/core/eventing/event-target.js +7 -0
- package/development/core/eventing/form-element-handlers.js +9 -0
- package/development/core/eventing/forward-event.js +11 -0
- package/development/core/eventing/is-event-prevented.js +8 -0
- package/development/core/eventing/throttle.js +18 -0
- package/development/core/eventing.d.ts +3 -0
- package/development/core/eventing.d.ts.map +1 -1
- package/development/core/eventing.js +8 -63
- package/development/core/i18n/i18n.js +793 -0
- package/development/core/i18n.d.ts +3 -0
- package/development/core/i18n.d.ts.map +1 -1
- package/development/core/i18n.js +2 -703
- package/development/core/images.js +16 -0
- package/development/core/interfaces.d.ts +3 -0
- package/development/core/interfaces.d.ts.map +1 -1
- package/development/core/mixins/animation-complete-mixin.js +52 -0
- package/development/core/mixins/constructor.js +2 -0
- package/development/core/mixins/disabled-mixin.js +104 -0
- package/development/core/mixins/form-associated-checkbox-mixin.js +148 -0
- package/development/core/mixins/form-associated-input-mixin.js +294 -0
- package/development/core/mixins/form-associated-mixin.js +268 -0
- package/development/core/mixins/form-associated-radio-button-mixin.js +242 -0
- package/development/core/mixins/hydration-mixin.js +57 -0
- package/development/core/mixins/named-slot-list-mixin.js +136 -0
- package/development/core/mixins/negative-mixin.js +45 -0
- package/development/core/mixins/panel-mixin.js +87 -0
- package/development/core/mixins/required-mixin.js +48 -0
- package/development/core/mixins/update-scheduler-mixin.js +26 -0
- package/development/core/mixins.d.ts +3 -0
- package/development/core/mixins.d.ts.map +1 -1
- package/development/core/mixins.js +15 -1392
- package/development/core/overlay/overlay-option-panel.js +18 -0
- package/development/core/overlay/overlay-trigger-attributes.js +47 -0
- package/development/core/overlay/overlay.js +15 -0
- package/development/core/overlay/position.js +84 -0
- package/development/core/overlay.d.ts +3 -0
- package/development/core/overlay.d.ts.map +1 -1
- package/development/core/overlay.js +5 -143
- package/development/core/testing/event-spy.js +70 -0
- package/development/core/testing/mocha-extensions.js +15 -0
- package/development/core/testing/scroll.js +8 -0
- package/development/core/testing/wait-for-condition.js +19 -0
- package/development/core/testing/wait-for-image-ready.d.ts.map +1 -1
- package/development/core/testing/wait-for-image-ready.js +31 -0
- package/development/core/testing/wait-for-render.js +21 -0
- package/development/core/testing.d.ts +3 -0
- package/development/core/testing.d.ts.map +1 -1
- package/development/core/testing.js +7 -145
- package/development/date-input/date-input.d.ts.map +1 -1
- package/development/date-input/date-input.js +270 -0
- package/development/date-input.d.ts +3 -0
- package/development/date-input.d.ts.map +1 -1
- package/development/date-input.js +2 -264
- package/development/datepicker/common/datepicker-association-controllers.js +82 -0
- package/development/datepicker/common/datepicker-button.js +155 -0
- package/development/datepicker/common.d.ts +3 -0
- package/development/datepicker/common.d.ts.map +1 -1
- package/development/datepicker/common.js +3 -228
- package/development/datepicker/datepicker/datepicker.d.ts.map +1 -1
- package/development/datepicker/datepicker/datepicker.js +427 -0
- package/development/datepicker/datepicker-next-day/datepicker-next-day.js +150 -0
- package/development/datepicker/datepicker-next-day.d.ts +3 -0
- package/development/datepicker/datepicker-next-day.d.ts.map +1 -1
- package/development/datepicker/datepicker-next-day.js +2 -144
- package/development/datepicker/datepicker-previous-day/datepicker-previous-day.js +150 -0
- package/development/datepicker/datepicker-previous-day.d.ts +3 -0
- package/development/datepicker/datepicker-previous-day.d.ts.map +1 -1
- package/development/datepicker/datepicker-previous-day.js +2 -144
- package/development/datepicker/datepicker-toggle/datepicker-toggle.js +299 -0
- package/development/datepicker/datepicker-toggle.d.ts +3 -0
- package/development/datepicker/datepicker-toggle.d.ts.map +1 -1
- package/development/datepicker/datepicker-toggle.js +2 -296
- package/development/datepicker/datepicker.d.ts +3 -0
- package/development/datepicker/datepicker.d.ts.map +1 -1
- package/development/datepicker/datepicker.js +2 -418
- package/development/datepicker.d.ts +3 -0
- package/development/datepicker.d.ts.map +1 -1
- package/development/datepicker.js +18 -6
- package/development/dialog/dialog/dialog.d.ts +0 -1
- package/development/dialog/dialog/dialog.d.ts.map +1 -1
- package/development/dialog/dialog/dialog.js +460 -0
- package/development/dialog/dialog-actions/dialog-actions.js +52 -0
- package/development/dialog/dialog-actions.d.ts +3 -0
- package/development/dialog/dialog-actions.d.ts.map +1 -1
- package/development/dialog/dialog-actions.js +2 -49
- package/development/dialog/dialog-content/dialog-content.js +78 -0
- package/development/dialog/dialog-content.d.ts +3 -0
- package/development/dialog/dialog-content.d.ts.map +1 -1
- package/development/dialog/dialog-content.js +2 -75
- package/development/dialog/dialog-title/dialog-title.js +211 -0
- package/development/dialog/dialog-title.d.ts +3 -0
- package/development/dialog/dialog-title.d.ts.map +1 -1
- package/development/dialog/dialog-title.js +2 -208
- package/development/dialog/dialog.d.ts +3 -0
- package/development/dialog/dialog.d.ts.map +1 -1
- package/development/dialog/dialog.js +2 -465
- package/development/dialog.d.ts +3 -0
- package/development/dialog.d.ts.map +1 -1
- package/development/dialog.js +10 -4
- package/development/divider/divider.js +89 -0
- package/development/divider.d.ts +3 -0
- package/development/divider.d.ts.map +1 -1
- package/development/divider.js +2 -86
- package/development/expansion-panel/expansion-panel/expansion-panel.js +434 -0
- package/development/expansion-panel/expansion-panel-content/expansion-panel-content.js +69 -0
- package/development/expansion-panel/expansion-panel-content.d.ts +3 -0
- package/development/expansion-panel/expansion-panel-content.d.ts.map +1 -1
- package/development/expansion-panel/expansion-panel-content.js +2 -66
- package/development/expansion-panel/expansion-panel-header/expansion-panel-header.js +173 -0
- package/development/expansion-panel/expansion-panel-header.d.ts +3 -0
- package/development/expansion-panel/expansion-panel-header.d.ts.map +1 -1
- package/development/expansion-panel/expansion-panel-header.js +2 -170
- package/development/expansion-panel/expansion-panel.d.ts +3 -0
- package/development/expansion-panel/expansion-panel.d.ts.map +1 -1
- package/development/expansion-panel/expansion-panel.js +2 -431
- package/development/expansion-panel.d.ts +3 -0
- package/development/expansion-panel.d.ts.map +1 -1
- package/development/expansion-panel.js +8 -3
- package/development/file-selector/common/file-selector-common.d.ts.map +1 -1
- package/development/file-selector/common/file-selector-common.js +279 -0
- package/development/file-selector/common.d.ts +3 -0
- package/development/file-selector/common.d.ts.map +1 -1
- package/development/file-selector/common.js +4 -379
- package/development/file-selector/file-selector/file-selector.js +52 -0
- package/development/file-selector/file-selector-dropzone/file-selector-dropzone.js +181 -0
- package/development/file-selector/file-selector-dropzone.d.ts +3 -0
- package/development/file-selector/file-selector-dropzone.d.ts.map +1 -1
- package/development/file-selector/file-selector-dropzone.js +2 -178
- package/development/file-selector/file-selector.d.ts +3 -0
- package/development/file-selector/file-selector.d.ts.map +1 -1
- package/development/file-selector/file-selector.js +2 -49
- package/development/file-selector-common-csww18o8.js +105 -0
- package/development/file-selector.d.ts +3 -0
- package/development/file-selector.d.ts.map +1 -1
- package/development/file-selector.js +11 -4
- package/development/flip-card/flip-card/flip-card.js +320 -0
- package/development/flip-card/flip-card-details/flip-card-details.js +92 -0
- package/development/flip-card/flip-card-details.d.ts +3 -0
- package/development/flip-card/flip-card-details.d.ts.map +1 -1
- package/development/flip-card/flip-card-details.js +2 -89
- package/development/flip-card/flip-card-summary/flip-card-summary.js +148 -0
- package/development/flip-card/flip-card-summary.d.ts +3 -0
- package/development/flip-card/flip-card-summary.d.ts.map +1 -1
- package/development/flip-card/flip-card-summary.js +2 -145
- package/development/flip-card/flip-card.d.ts +3 -0
- package/development/flip-card/flip-card.d.ts.map +1 -1
- package/development/flip-card/flip-card.js +2 -317
- package/development/flip-card.d.ts +3 -0
- package/development/flip-card.d.ts.map +1 -1
- package/development/flip-card.js +8 -3
- package/development/footer/footer.js +276 -0
- package/development/footer.d.ts +3 -0
- package/development/footer.d.ts.map +1 -1
- package/development/footer.js +2 -273
- package/development/form-error/form-error.js +107 -0
- package/development/form-error.d.ts +3 -0
- package/development/form-error.d.ts.map +1 -1
- package/development/form-error.js +2 -104
- package/development/form-field/form-field/form-field.js +936 -0
- package/development/form-field/form-field-clear/form-field-clear.js +175 -0
- package/development/form-field/form-field-clear.d.ts +3 -0
- package/development/form-field/form-field-clear.d.ts.map +1 -1
- package/development/form-field/form-field-clear.js +2 -169
- package/development/form-field/form-field.d.ts +3 -0
- package/development/form-field/form-field.d.ts.map +1 -1
- package/development/form-field/form-field.js +2 -929
- package/development/form-field.d.ts +3 -0
- package/development/form-field.d.ts.map +1 -1
- package/development/form-field.js +6 -2
- package/development/header/common/header-action-common.js +413 -0
- package/development/header/common.d.ts +3 -0
- package/development/header/common.d.ts.map +1 -1
- package/development/header/common.js +2 -410
- package/development/header/header/header.js +393 -0
- package/development/header/header-button/header-button.js +25 -0
- package/development/header/header-button.d.ts +3 -0
- package/development/header/header-button.d.ts.map +1 -1
- package/development/header/header-button.js +2 -22
- package/development/header/header-link/header-link.js +25 -0
- package/development/header/header-link.d.ts +3 -0
- package/development/header/header-link.d.ts.map +1 -1
- package/development/header/header-link.js +2 -22
- package/development/header/header.d.ts +3 -0
- package/development/header/header.d.ts.map +1 -1
- package/development/header/header.js +2 -390
- package/development/header.d.ts +3 -0
- package/development/header.d.ts.map +1 -1
- package/development/header.js +10 -4
- package/development/icon/icon-base.js +182 -0
- package/development/icon/icon-name-mixin.js +58 -0
- package/development/icon/icon-request.js +42 -0
- package/development/icon/icon-validate.js +47 -0
- package/development/icon/icon.js +118 -0
- package/development/icon-sidebar-button-common-CA_8TnFu.js +110 -0
- package/development/icon.d.ts +3 -0
- package/development/icon.d.ts.map +1 -1
- package/development/icon.js +6 -400
- package/development/image/image.js +682 -0
- package/development/image.d.ts +3 -0
- package/development/image.d.ts.map +1 -1
- package/development/image.js +2 -679
- package/development/journey-header/journey-header.js +192 -0
- package/development/journey-header.d.ts +3 -0
- package/development/journey-header.d.ts.map +1 -1
- package/development/journey-header.js +2 -189
- package/development/lead-container/lead-container.js +150 -0
- package/development/lead-container.d.ts +3 -0
- package/development/lead-container.d.ts.map +1 -1
- package/development/lead-container.js +2 -147
- package/development/link/block-link/block-link.js +26 -0
- package/development/link/block-link-button/block-link-button.js +26 -0
- package/development/link/block-link-button.d.ts +3 -0
- package/development/link/block-link-button.d.ts.map +1 -1
- package/development/link/block-link-button.js +2 -23
- package/development/link/block-link-static/block-link-static.js +26 -0
- package/development/link/block-link-static.d.ts +3 -0
- package/development/link/block-link-static.d.ts.map +1 -1
- package/development/link/block-link-static.js +2 -23
- package/development/link/block-link.d.ts +3 -0
- package/development/link/block-link.d.ts.map +1 -1
- package/development/link/block-link.js +2 -23
- package/development/link/common/block-link-common.js +132 -0
- package/development/link/common/inline-link-common.js +45 -0
- package/development/link/common/link-common.js +11 -0
- package/development/link/common.d.ts +3 -0
- package/development/link/common.d.ts.map +1 -1
- package/development/link/common.js +5 -279
- package/development/link/link/link.js +26 -0
- package/development/link/link-button/link-button.js +26 -0
- package/development/link/link-button.d.ts +3 -0
- package/development/link/link-button.d.ts.map +1 -1
- package/development/link/link-button.js +2 -23
- package/development/link/link-static/link-static.js +26 -0
- package/development/link/link-static.d.ts +3 -0
- package/development/link/link-static.d.ts.map +1 -1
- package/development/link/link-static.js +2 -23
- package/development/link/link.d.ts +3 -0
- package/development/link/link.d.ts.map +1 -1
- package/development/link/link.js +2 -23
- package/development/link-common-CJEWffDZ.js +127 -0
- package/development/link-list/common/link-list-base.js +121 -0
- package/development/link-list/common.d.ts +3 -0
- package/development/link-list/common.d.ts.map +1 -1
- package/development/link-list/common.js +4 -141
- package/development/link-list/link-list/link-list.js +206 -0
- package/development/link-list/link-list-anchor/link-list-anchor.js +72 -0
- package/development/link-list/link-list-anchor.d.ts +3 -0
- package/development/link-list/link-list-anchor.d.ts.map +1 -1
- package/development/link-list/link-list-anchor.js +2 -69
- package/development/link-list/link-list.d.ts +3 -0
- package/development/link-list/link-list.d.ts.map +1 -1
- package/development/link-list/link-list.js +2 -203
- package/development/link-list-base-DC9sc7q5.js +27 -0
- package/development/link-list.d.ts +3 -0
- package/development/link-list.d.ts.map +1 -1
- package/development/link-list.js +11 -4
- package/development/link.d.ts +3 -0
- package/development/link.d.ts.map +1 -1
- package/development/link.js +21 -8
- package/development/loading-indicator/loading-indicator.js +260 -0
- package/development/loading-indicator-circle/loading-indicator-circle.js +146 -0
- package/development/loading-indicator-circle.d.ts +3 -0
- package/development/loading-indicator-circle.d.ts.map +1 -1
- package/development/loading-indicator-circle.js +2 -143
- package/development/loading-indicator.d.ts +3 -0
- package/development/loading-indicator.d.ts.map +1 -1
- package/development/loading-indicator.js +2 -257
- package/development/logo/logo.js +157 -0
- package/development/logo.d.ts +3 -0
- package/development/logo.d.ts.map +1 -1
- package/development/logo.js +2 -154
- package/development/map-container/map-container.js +285 -0
- package/development/map-container.d.ts +3 -0
- package/development/map-container.d.ts.map +1 -1
- package/development/map-container.js +2 -282
- package/development/menu/common/menu-action-common.js +203 -0
- package/development/menu/common.d.ts +3 -0
- package/development/menu/common.d.ts.map +1 -1
- package/development/menu/common.js +2 -200
- package/development/menu/menu/menu.d.ts +1 -2
- package/development/menu/menu/menu.d.ts.map +1 -1
- package/development/menu/menu/menu.js +573 -0
- package/development/menu/menu-button/menu-button.js +26 -0
- package/development/menu/menu-button.d.ts +3 -0
- package/development/menu/menu-button.d.ts.map +1 -1
- package/development/menu/menu-button.js +2 -23
- package/development/menu/menu-link/menu-link.js +26 -0
- package/development/menu/menu-link.d.ts +3 -0
- package/development/menu/menu-link.d.ts.map +1 -1
- package/development/menu/menu-link.js +2 -23
- package/development/menu/menu.d.ts +3 -0
- package/development/menu/menu.d.ts.map +1 -1
- package/development/menu/menu.js +2 -581
- package/development/menu.d.ts +3 -0
- package/development/menu.d.ts.map +1 -1
- package/development/menu.js +10 -4
- package/development/message/message.js +139 -0
- package/development/message.d.ts +3 -0
- package/development/message.d.ts.map +1 -1
- package/development/message.js +2 -136
- package/development/navigation/common/navigation-action-common.js +175 -0
- package/development/navigation/common.d.ts +3 -0
- package/development/navigation/common.d.ts.map +1 -1
- package/development/navigation/common.js +2 -172
- package/development/navigation/navigation/navigation.d.ts +12 -17
- package/development/navigation/navigation/navigation.d.ts.map +1 -1
- package/development/navigation/navigation/navigation.js +597 -0
- package/development/navigation/navigation-button/navigation-button.js +25 -0
- package/development/navigation/navigation-button.d.ts +3 -0
- package/development/navigation/navigation-button.d.ts.map +1 -1
- package/development/navigation/navigation-button.js +2 -22
- package/development/navigation/navigation-link/navigation-link.js +25 -0
- package/development/navigation/navigation-link.d.ts +3 -0
- package/development/navigation/navigation-link.d.ts.map +1 -1
- package/development/navigation/navigation-link.js +2 -22
- package/development/navigation/navigation-list/navigation-list.js +113 -0
- package/development/navigation/navigation-list.d.ts +3 -0
- package/development/navigation/navigation-list.d.ts.map +1 -1
- package/development/navigation/navigation-list.js +2 -110
- package/development/navigation/navigation-marker/navigation-marker.js +215 -0
- package/development/navigation/navigation-marker.d.ts +3 -0
- package/development/navigation/navigation-marker.d.ts.map +1 -1
- package/development/navigation/navigation-marker.js +2 -212
- package/development/navigation/navigation-section/navigation-section.d.ts +3 -5
- package/development/navigation/navigation-section/navigation-section.d.ts.map +1 -1
- package/development/navigation/navigation-section/navigation-section.js +622 -0
- package/development/navigation/navigation-section.d.ts +3 -0
- package/development/navigation/navigation-section.d.ts.map +1 -1
- package/development/navigation/navigation-section.js +2 -632
- package/development/navigation/navigation.d.ts +3 -0
- package/development/navigation/navigation.d.ts.map +1 -1
- package/development/navigation/navigation.js +2 -608
- package/development/navigation.d.ts +3 -0
- package/development/navigation.d.ts.map +1 -1
- package/development/navigation.js +16 -7
- package/development/notification/notification.js +527 -0
- package/development/notification.d.ts +3 -0
- package/development/notification.d.ts.map +1 -1
- package/development/notification.js +2 -524
- package/development/option/optgroup/optgroup-base-element.js +247 -0
- package/development/option/optgroup/optgroup.js +50 -0
- package/development/option/optgroup.d.ts +3 -0
- package/development/option/optgroup.d.ts.map +1 -1
- package/development/option/optgroup.js +3 -287
- package/development/option/option/option-base-element.js +320 -0
- package/development/option/option/option.js +264 -0
- package/development/option/option.d.ts +3 -0
- package/development/option/option.d.ts.map +1 -1
- package/development/option/option.js +3 -571
- package/development/option.d.ts +3 -0
- package/development/option.d.ts.map +1 -1
- package/development/option.js +11 -3
- package/development/overlay/overlay-base-element.d.ts +7 -3
- package/development/overlay/overlay-base-element.d.ts.map +1 -1
- package/development/overlay/overlay-base-element.js +144 -0
- package/development/overlay/overlay.d.ts +0 -1
- package/development/overlay/overlay.d.ts.map +1 -1
- package/development/overlay/overlay.js +424 -0
- package/development/overlay.d.ts +3 -0
- package/development/overlay.d.ts.map +1 -1
- package/development/overlay.js +3 -549
- package/development/paginator/common/paginator-common.js +193 -0
- package/development/paginator/common.d.ts +3 -0
- package/development/paginator/common.d.ts.map +1 -1
- package/development/paginator/common.js +2 -190
- package/development/paginator/compact-paginator/compact-paginator.js +96 -0
- package/development/paginator/compact-paginator.d.ts +3 -0
- package/development/paginator/compact-paginator.d.ts.map +1 -1
- package/development/paginator/compact-paginator.js +2 -93
- package/development/paginator/paginator/paginator.js +452 -0
- package/development/paginator/paginator.d.ts +3 -0
- package/development/paginator/paginator.d.ts.map +1 -1
- package/development/paginator/paginator.js +2 -449
- package/development/paginator.d.ts +3 -0
- package/development/paginator.d.ts.map +1 -1
- package/development/paginator.js +8 -3
- package/development/popover/popover/popover.d.ts +1 -1
- package/development/popover/popover/popover.d.ts.map +1 -1
- package/development/popover/popover/popover.js +592 -0
- package/development/popover/popover-trigger/popover-trigger.js +213 -0
- package/development/popover/popover-trigger.d.ts +3 -0
- package/development/popover/popover-trigger.d.ts.map +1 -1
- package/development/popover/popover-trigger.js +2 -212
- package/development/popover/popover.d.ts +3 -0
- package/development/popover/popover.d.ts.map +1 -1
- package/development/popover/popover.js +2 -597
- package/development/popover.d.ts +3 -0
- package/development/popover.d.ts.map +1 -1
- package/development/popover.js +6 -2
- package/development/radio-button/common/radio-button-common.d.ts.map +1 -1
- package/development/radio-button/common/radio-button-common.js +93 -0
- package/development/radio-button/common.d.ts +3 -0
- package/development/radio-button/common.d.ts.map +1 -1
- package/development/radio-button/common.js +4 -228
- package/development/radio-button/radio-button/radio-button.js +90 -0
- package/development/radio-button/radio-button-group/radio-button-group.js +387 -0
- package/development/radio-button/radio-button-group.d.ts +3 -0
- package/development/radio-button/radio-button-group.d.ts.map +1 -1
- package/development/radio-button/radio-button-group.js +2 -384
- package/development/radio-button/radio-button-panel/radio-button-panel.js +122 -0
- package/development/radio-button/radio-button-panel.d.ts +3 -0
- package/development/radio-button/radio-button-panel.d.ts.map +1 -1
- package/development/radio-button/radio-button-panel.js +2 -119
- package/development/radio-button/radio-button.d.ts +3 -0
- package/development/radio-button/radio-button.d.ts.map +1 -1
- package/development/radio-button/radio-button.js +2 -87
- package/development/radio-button-common-hZiiLJDY.js +139 -0
- package/development/radio-button.d.ts +3 -0
- package/development/radio-button.d.ts.map +1 -1
- package/development/radio-button.js +13 -5
- package/development/{sbb-tokens-CSAKTXUi.js → sbb-tokens-CVLcOi-S.js} +10 -10
- package/development/screen-reader-only/screen-reader-only.js +37 -0
- package/development/screen-reader-only.d.ts +3 -0
- package/development/screen-reader-only.d.ts.map +1 -1
- package/development/screen-reader-only.js +2 -34
- package/development/select/select.js +1048 -0
- package/development/select.d.ts +3 -0
- package/development/select.d.ts.map +1 -1
- package/development/select.js +2 -1045
- package/development/selection-expansion-panel/selection-expansion-panel.js +400 -0
- package/development/selection-expansion-panel.d.ts +3 -0
- package/development/selection-expansion-panel.d.ts.map +1 -1
- package/development/selection-expansion-panel.js +2 -397
- package/development/sidebar/common.d.ts +3 -0
- package/development/sidebar/common.d.ts.map +1 -1
- package/development/sidebar/common.js +5 -112
- package/development/sidebar/icon-sidebar/icon-sidebar.js +85 -0
- package/development/sidebar/icon-sidebar-button/icon-sidebar-button.js +28 -0
- package/development/sidebar/icon-sidebar-button.d.ts +3 -0
- package/development/sidebar/icon-sidebar-button.d.ts.map +1 -1
- package/development/sidebar/icon-sidebar-button.js +2 -25
- package/development/sidebar/icon-sidebar-container/icon-sidebar-container.js +45 -0
- package/development/sidebar/icon-sidebar-container.d.ts +3 -0
- package/development/sidebar/icon-sidebar-container.d.ts.map +1 -1
- package/development/sidebar/icon-sidebar-container.js +2 -42
- package/development/sidebar/icon-sidebar-content/icon-sidebar-content.js +34 -0
- package/development/sidebar/icon-sidebar-content.d.ts +3 -0
- package/development/sidebar/icon-sidebar-content.d.ts.map +1 -1
- package/development/sidebar/icon-sidebar-content.js +2 -31
- package/development/sidebar/icon-sidebar-link/icon-sidebar-link.js +28 -0
- package/development/sidebar/icon-sidebar-link.d.ts +3 -0
- package/development/sidebar/icon-sidebar-link.d.ts.map +1 -1
- package/development/sidebar/icon-sidebar-link.js +2 -25
- package/development/sidebar/icon-sidebar.d.ts +3 -0
- package/development/sidebar/icon-sidebar.d.ts.map +1 -1
- package/development/sidebar/icon-sidebar.js +2 -82
- package/development/sidebar/sidebar/sidebar.d.ts +1 -7
- package/development/sidebar/sidebar/sidebar.d.ts.map +1 -1
- package/development/sidebar/sidebar/sidebar.js +485 -0
- package/development/sidebar/sidebar-close-button/sidebar-close-button.js +55 -0
- package/development/sidebar/sidebar-close-button.d.ts +3 -0
- package/development/sidebar/sidebar-close-button.d.ts.map +1 -1
- package/development/sidebar/sidebar-close-button.js +2 -52
- package/development/sidebar/sidebar-container/sidebar-container.d.ts.map +1 -1
- package/development/sidebar/sidebar-container/sidebar-container.js +156 -0
- package/development/sidebar/sidebar-container.d.ts +3 -0
- package/development/sidebar/sidebar-container.d.ts.map +1 -1
- package/development/sidebar/sidebar-container.js +2 -150
- package/development/sidebar/sidebar-content/sidebar-content.js +37 -0
- package/development/sidebar/sidebar-content.d.ts +3 -0
- package/development/sidebar/sidebar-content.d.ts.map +1 -1
- package/development/sidebar/sidebar-content.js +2 -34
- package/development/sidebar/sidebar-title/sidebar-title.js +63 -0
- package/development/sidebar/sidebar-title.d.ts +3 -0
- package/development/sidebar/sidebar-title.d.ts.map +1 -1
- package/development/sidebar/sidebar-title.js +2 -60
- package/development/sidebar/sidebar.d.ts +3 -0
- package/development/sidebar/sidebar.d.ts.map +1 -1
- package/development/sidebar/sidebar.js +2 -520
- package/development/sidebar.d.ts +3 -0
- package/development/sidebar.d.ts.map +1 -1
- package/development/sidebar.js +26 -11
- package/development/signet/signet.js +162 -0
- package/development/signet.d.ts +3 -0
- package/development/signet.d.ts.map +1 -1
- package/development/signet.js +2 -159
- package/development/skiplink-list/skiplink-list.js +144 -0
- package/development/skiplink-list.d.ts +3 -0
- package/development/skiplink-list.d.ts.map +1 -1
- package/development/skiplink-list.js +2 -141
- package/development/slider/slider.js +451 -0
- package/development/slider.d.ts +3 -0
- package/development/slider.d.ts.map +1 -1
- package/development/slider.js +2 -448
- package/development/status/status.d.ts +4 -0
- package/development/status/status.d.ts.map +1 -1
- package/development/status/status.js +198 -0
- package/development/status.d.ts +3 -0
- package/development/status.d.ts.map +1 -1
- package/development/status.js +2 -220
- package/development/stepper/step/step.js +218 -0
- package/development/stepper/step-label/step-label.js +276 -0
- package/development/stepper/step-label.d.ts +3 -0
- package/development/stepper/step-label.d.ts.map +1 -1
- package/development/stepper/step-label.js +2 -273
- package/development/stepper/step.d.ts +3 -0
- package/development/stepper/step.d.ts.map +1 -1
- package/development/stepper/step.js +2 -215
- package/development/stepper/stepper/stepper.d.ts.map +1 -1
- package/development/stepper/stepper/stepper.js +449 -0
- package/development/stepper/stepper.d.ts +3 -0
- package/development/stepper/stepper.d.ts.map +1 -1
- package/development/stepper/stepper.js +2 -446
- package/development/stepper.d.ts +3 -0
- package/development/stepper.d.ts.map +1 -1
- package/development/stepper.js +8 -3
- package/development/table/table-wrapper/table-wrapper.d.ts +6 -1
- package/development/table/table-wrapper/table-wrapper.d.ts.map +1 -1
- package/development/table/table-wrapper/table-wrapper.js +128 -0
- package/development/table/table-wrapper.d.ts +3 -0
- package/development/table/table-wrapper.d.ts.map +1 -1
- package/development/table/table-wrapper.js +2 -104
- package/development/table.d.ts +3 -0
- package/development/table.d.ts.map +1 -1
- package/development/table.js +4 -1
- package/development/tabs/tab/tab.js +66 -0
- package/development/tabs/tab-group/tab-group.js +391 -0
- package/development/tabs/tab-group.d.ts +3 -0
- package/development/tabs/tab-group.d.ts.map +1 -1
- package/development/tabs/tab-group.js +2 -388
- package/development/tabs/tab-label/tab-label.js +316 -0
- package/development/tabs/tab-label.d.ts +3 -0
- package/development/tabs/tab-label.d.ts.map +1 -1
- package/development/tabs/tab-label.js +2 -312
- package/development/tabs/tab.d.ts +3 -0
- package/development/tabs/tab.d.ts.map +1 -1
- package/development/tabs/tab.js +2 -63
- package/development/tabs.d.ts +3 -0
- package/development/tabs.d.ts.map +1 -1
- package/development/tabs.js +8 -3
- package/development/tag/tag/tag.js +351 -0
- package/development/tag/tag-group/tag-group.js +192 -0
- package/development/tag/tag-group.d.ts +3 -0
- package/development/tag/tag-group.d.ts.map +1 -1
- package/development/tag/tag-group.js +2 -189
- package/development/tag/tag.d.ts +3 -0
- package/development/tag/tag.d.ts.map +1 -1
- package/development/tag/tag.js +2 -348
- package/development/tag.d.ts +3 -0
- package/development/tag.d.ts.map +1 -1
- package/development/tag.js +6 -2
- package/development/teaser/teaser.js +260 -0
- package/development/teaser-hero/teaser-hero.js +180 -0
- package/development/teaser-hero.d.ts +3 -0
- package/development/teaser-hero.d.ts.map +1 -1
- package/development/teaser-hero.js +2 -177
- package/development/teaser-product/common/teaser-product-common.js +73 -0
- package/development/teaser-product/common.d.ts +3 -0
- package/development/teaser-product/common.d.ts.map +1 -1
- package/development/teaser-product/common.js +4 -214
- package/development/teaser-product/teaser-product/teaser-product.js +71 -0
- package/development/teaser-product/teaser-product-static/teaser-product-static.js +24 -0
- package/development/teaser-product/teaser-product-static.d.ts +3 -0
- package/development/teaser-product/teaser-product-static.d.ts.map +1 -1
- package/development/teaser-product/teaser-product-static.js +2 -21
- package/development/teaser-product/teaser-product.d.ts +3 -0
- package/development/teaser-product/teaser-product.d.ts.map +1 -1
- package/development/teaser-product/teaser-product.js +2 -68
- package/development/teaser-product-common-D6fa6x3w.js +148 -0
- package/development/teaser-product.d.ts +3 -0
- package/development/teaser-product.d.ts.map +1 -1
- package/development/teaser-product.js +11 -4
- package/development/teaser.d.ts +3 -0
- package/development/teaser.d.ts.map +1 -1
- package/development/teaser.js +2 -257
- package/development/time-input/time-input.js +276 -0
- package/development/time-input.d.ts +3 -0
- package/development/time-input.d.ts.map +1 -1
- package/development/time-input.js +2 -273
- package/development/timetable-occupancy/timetable-occupancy.js +151 -0
- package/development/timetable-occupancy-icon/timetable-occupancy-icon.js +98 -0
- package/development/timetable-occupancy-icon.d.ts +3 -0
- package/development/timetable-occupancy-icon.d.ts.map +1 -1
- package/development/timetable-occupancy-icon.js +2 -95
- package/development/timetable-occupancy.d.ts +3 -0
- package/development/timetable-occupancy.d.ts.map +1 -1
- package/development/timetable-occupancy.js +2 -148
- package/development/title/title-base.js +212 -0
- package/development/title/title.js +60 -0
- package/development/title.d.ts +3 -0
- package/development/title.d.ts.map +1 -1
- package/development/title.js +3 -261
- package/development/toast/toast.js +443 -0
- package/development/toast.d.ts +3 -0
- package/development/toast.d.ts.map +1 -1
- package/development/toast.js +2 -440
- package/development/toggle/toggle/toggle.d.ts.map +1 -1
- package/development/toggle/toggle/toggle.js +342 -0
- package/development/toggle/toggle-option/toggle-option.d.ts.map +1 -1
- package/development/toggle/toggle-option/toggle-option.js +208 -0
- package/development/toggle/toggle-option.d.ts +3 -0
- package/development/toggle/toggle-option.d.ts.map +1 -1
- package/development/toggle/toggle-option.js +2 -217
- package/development/toggle/toggle.d.ts +3 -0
- package/development/toggle/toggle.d.ts.map +1 -1
- package/development/toggle/toggle.js +2 -340
- package/development/toggle-check/toggle-check.js +284 -0
- package/development/toggle-check.d.ts +3 -0
- package/development/toggle-check.d.ts.map +1 -1
- package/development/toggle-check.js +2 -281
- package/development/toggle.d.ts +3 -0
- package/development/toggle.d.ts.map +1 -1
- package/development/toggle.js +6 -2
- package/development/train/train/train.js +245 -0
- package/development/train/train-blocked-passage/train-blocked-passage.js +87 -0
- package/development/train/train-blocked-passage.d.ts +3 -0
- package/development/train/train-blocked-passage.d.ts.map +1 -1
- package/development/train/train-blocked-passage.js +2 -84
- package/development/train/train-formation/train-formation.js +269 -0
- package/development/train/train-formation.d.ts +3 -0
- package/development/train/train-formation.d.ts.map +1 -1
- package/development/train/train-formation.js +2 -266
- package/development/train/train-wagon/train-wagon.js +415 -0
- package/development/train/train-wagon.d.ts +3 -0
- package/development/train/train-wagon.d.ts.map +1 -1
- package/development/train/train-wagon.js +2 -412
- package/development/train/train.d.ts +3 -0
- package/development/train/train.d.ts.map +1 -1
- package/development/train/train.js +2 -242
- package/development/train.d.ts +3 -0
- package/development/train.d.ts.map +1 -1
- package/development/train.js +10 -4
- package/development/transparent-button-Ddb_s0a0.js +338 -0
- package/development/visual-checkbox/visual-checkbox.js +221 -0
- package/development/visual-checkbox.d.ts +3 -0
- package/development/visual-checkbox.d.ts.map +1 -1
- package/development/visual-checkbox.js +2 -218
- package/dialog/dialog/dialog.d.ts +0 -1
- package/dialog/dialog/dialog.d.ts.map +1 -1
- package/dialog/dialog/dialog.js +142 -0
- package/dialog/dialog-actions/dialog-actions.js +20 -0
- package/dialog/dialog-actions.d.ts +3 -0
- package/dialog/dialog-actions.d.ts.map +1 -1
- package/dialog/dialog-actions.js +2 -18
- package/dialog/dialog-content/dialog-content.js +24 -0
- package/dialog/dialog-content.d.ts +3 -0
- package/dialog/dialog-content.d.ts.map +1 -1
- package/dialog/dialog-content.js +2 -22
- package/dialog/dialog-title/dialog-title.js +116 -0
- package/dialog/dialog-title.d.ts +3 -0
- package/dialog/dialog-title.d.ts.map +1 -1
- package/dialog/dialog-title.js +2 -114
- package/dialog/dialog.d.ts +3 -0
- package/dialog/dialog.d.ts.map +1 -1
- package/dialog/dialog.js +2 -146
- package/dialog.d.ts +3 -0
- package/dialog.d.ts.map +1 -1
- package/dialog.js +10 -4
- package/divider/divider.js +45 -0
- package/divider.d.ts +3 -0
- package/divider.d.ts.map +1 -1
- package/divider.js +2 -43
- package/expansion-panel/expansion-panel/expansion-panel.js +165 -0
- package/expansion-panel/expansion-panel-content/expansion-panel-content.js +27 -0
- package/expansion-panel/expansion-panel-content.d.ts +3 -0
- package/expansion-panel/expansion-panel-content.d.ts.map +1 -1
- package/expansion-panel/expansion-panel-content.js +2 -25
- package/expansion-panel/expansion-panel-header/expansion-panel-header.js +65 -0
- package/expansion-panel/expansion-panel-header.d.ts +3 -0
- package/expansion-panel/expansion-panel-header.d.ts.map +1 -1
- package/expansion-panel/expansion-panel-header.js +2 -63
- package/expansion-panel/expansion-panel.d.ts +3 -0
- package/expansion-panel/expansion-panel.d.ts.map +1 -1
- package/expansion-panel/expansion-panel.js +2 -163
- package/expansion-panel.d.ts +3 -0
- package/expansion-panel.d.ts.map +1 -1
- package/expansion-panel.js +8 -3
- package/file-selector/common/file-selector-common.d.ts.map +1 -1
- package/file-selector/common/file-selector-common.js +209 -0
- package/file-selector/common.d.ts +3 -0
- package/file-selector/common.d.ts.map +1 -1
- package/file-selector/common.js +4 -208
- package/file-selector/file-selector/file-selector.js +44 -0
- package/file-selector/file-selector-dropzone/file-selector-dropzone.js +97 -0
- package/file-selector/file-selector-dropzone.d.ts +3 -0
- package/file-selector/file-selector-dropzone.d.ts.map +1 -1
- package/file-selector/file-selector-dropzone.js +2 -95
- package/file-selector/file-selector.d.ts +3 -0
- package/file-selector/file-selector.d.ts.map +1 -1
- package/file-selector/file-selector.js +2 -42
- package/file-selector-common-Dw5d8vA4.js +5 -0
- package/file-selector.d.ts +3 -0
- package/file-selector.d.ts.map +1 -1
- package/file-selector.js +10 -3
- package/flip-card/flip-card/flip-card.js +122 -0
- package/flip-card/flip-card-details/flip-card-details.js +45 -0
- package/flip-card/flip-card-details.d.ts +3 -0
- package/flip-card/flip-card-details.d.ts.map +1 -1
- package/flip-card/flip-card-details.js +2 -43
- package/flip-card/flip-card-summary/flip-card-summary.js +52 -0
- package/flip-card/flip-card-summary.d.ts +3 -0
- package/flip-card/flip-card-summary.d.ts.map +1 -1
- package/flip-card/flip-card-summary.js +2 -50
- package/flip-card/flip-card.d.ts +3 -0
- package/flip-card/flip-card.d.ts.map +1 -1
- package/flip-card/flip-card.js +2 -120
- package/flip-card.d.ts +3 -0
- package/flip-card.d.ts.map +1 -1
- package/flip-card.js +8 -3
- package/footer/footer.js +87 -0
- package/footer.d.ts +3 -0
- package/footer.d.ts.map +1 -1
- package/footer.js +2 -85
- package/form-error/form-error.js +47 -0
- package/form-error.d.ts +3 -0
- package/form-error.d.ts.map +1 -1
- package/form-error.js +2 -45
- package/form-field/form-field/form-field.js +363 -0
- package/form-field/form-field-clear/form-field-clear.js +42 -0
- package/form-field/form-field-clear.d.ts +3 -0
- package/form-field/form-field-clear.d.ts.map +1 -1
- package/form-field/form-field-clear.js +2 -40
- package/form-field/form-field.d.ts +3 -0
- package/form-field/form-field.d.ts.map +1 -1
- package/form-field/form-field.js +2 -361
- package/form-field.d.ts +3 -0
- package/form-field.d.ts.map +1 -1
- package/form-field.js +6 -2
- package/header/common/header-action-common.js +50 -0
- package/header/common.d.ts +3 -0
- package/header/common.d.ts.map +1 -1
- package/header/common.js +2 -48
- package/header/header/header.js +151 -0
- package/header/header-button/header-button.js +16 -0
- package/header/header-button.d.ts +3 -0
- package/header/header-button.d.ts.map +1 -1
- package/header/header-button.js +2 -14
- package/header/header-link/header-link.js +16 -0
- package/header/header-link.d.ts +3 -0
- package/header/header-link.d.ts.map +1 -1
- package/header/header-link.js +2 -14
- package/header/header.d.ts +3 -0
- package/header/header.d.ts.map +1 -1
- package/header/header.js +2 -149
- package/header.d.ts +3 -0
- package/header.d.ts.map +1 -1
- package/header.js +10 -4
- package/icon/icon-base.js +109 -0
- package/icon/icon-name-mixin.js +47 -0
- package/icon/icon-request.js +31 -0
- package/icon/icon-validate.js +26 -0
- package/icon/icon.js +77 -0
- package/icon-sidebar-button-common-DG8bnrBu.js +7 -0
- package/icon.d.ts +3 -0
- package/icon.d.ts.map +1 -1
- package/icon.js +11 -254
- package/image/image.js +469 -0
- package/image.d.ts +3 -0
- package/image.d.ts.map +1 -1
- package/image.js +2 -467
- package/index.d.ts +187 -185
- package/index.js +187 -185
- package/journey-header/journey-header.js +119 -0
- package/journey-header.d.ts +3 -0
- package/journey-header.d.ts.map +1 -1
- package/journey-header.js +2 -117
- package/lead-container/lead-container.js +31 -0
- package/lead-container.d.ts +3 -0
- package/lead-container.d.ts.map +1 -1
- package/lead-container.js +2 -29
- package/link/block-link/block-link.js +17 -0
- package/link/block-link-button/block-link-button.js +17 -0
- package/link/block-link-button.d.ts +3 -0
- package/link/block-link-button.d.ts.map +1 -1
- package/link/block-link-button.js +2 -15
- package/link/block-link-static/block-link-static.js +17 -0
- package/link/block-link-static.d.ts +3 -0
- package/link/block-link-static.d.ts.map +1 -1
- package/link/block-link-static.js +2 -15
- package/link/block-link.d.ts +3 -0
- package/link/block-link.d.ts.map +1 -1
- package/link/block-link.js +2 -15
- package/link/common/block-link-common.js +43 -0
- package/link/common/inline-link-common.js +12 -0
- package/link/common/link-common.js +10 -0
- package/link/common.d.ts +3 -0
- package/link/common.d.ts.map +1 -1
- package/link/common.js +6 -80
- package/link/link/link.js +17 -0
- package/link/link-button/link-button.js +17 -0
- package/link/link-button.d.ts +3 -0
- package/link/link-button.d.ts.map +1 -1
- package/link/link-button.js +2 -15
- package/link/link-static/link-static.js +17 -0
- package/link/link-static.d.ts +3 -0
- package/link/link-static.d.ts.map +1 -1
- package/link/link-static.js +2 -15
- package/link/link.d.ts +3 -0
- package/link/link.d.ts.map +1 -1
- package/link/link.js +2 -15
- package/link-common-DZrQ-32d.js +46 -0
- package/link-list/common/link-list-base.js +87 -0
- package/link-list/common.d.ts +3 -0
- package/link-list/common.d.ts.map +1 -1
- package/link-list/common.js +4 -87
- package/link-list/link-list/link-list.js +46 -0
- package/link-list/link-list-anchor/link-list-anchor.js +17 -0
- package/link-list/link-list-anchor.d.ts +3 -0
- package/link-list/link-list-anchor.d.ts.map +1 -1
- package/link-list/link-list-anchor.js +2 -15
- package/link-list/link-list.d.ts +3 -0
- package/link-list/link-list.d.ts.map +1 -1
- package/link-list/link-list.js +2 -44
- package/link-list-base-BdOBGhxe.js +5 -0
- package/link-list.d.ts +3 -0
- package/link-list.d.ts.map +1 -1
- package/link-list.js +10 -3
- package/link.d.ts +3 -0
- package/link.d.ts.map +1 -1
- package/link.js +20 -7
- package/loading-indicator/loading-indicator.js +66 -0
- package/loading-indicator-circle/loading-indicator-circle.js +46 -0
- package/loading-indicator-circle.d.ts +3 -0
- package/loading-indicator-circle.d.ts.map +1 -1
- package/loading-indicator-circle.js +2 -44
- package/loading-indicator.d.ts +3 -0
- package/loading-indicator.d.ts.map +1 -1
- package/loading-indicator.js +2 -64
- package/logo/logo.js +67 -0
- package/logo.d.ts +3 -0
- package/logo.d.ts.map +1 -1
- package/logo.js +2 -65
- package/map-container/map-container.js +109 -0
- package/map-container.d.ts +3 -0
- package/map-container.d.ts.map +1 -1
- package/map-container.js +2 -107
- package/menu/common/menu-action-common.js +53 -0
- package/menu/common.d.ts +3 -0
- package/menu/common.d.ts.map +1 -1
- package/menu/common.js +2 -51
- package/menu/menu/menu.d.ts +1 -2
- package/menu/menu/menu.d.ts.map +1 -1
- package/menu/menu/menu.js +227 -0
- package/menu/menu-button/menu-button.js +17 -0
- package/menu/menu-button.d.ts +3 -0
- package/menu/menu-button.d.ts.map +1 -1
- package/menu/menu-button.js +2 -15
- package/menu/menu-link/menu-link.js +17 -0
- package/menu/menu-link.d.ts +3 -0
- package/menu/menu-link.d.ts.map +1 -1
- package/menu/menu-link.js +2 -15
- package/menu/menu.d.ts +3 -0
- package/menu/menu.d.ts.map +1 -1
- package/menu/menu.js +2 -230
- package/menu.d.ts +3 -0
- package/menu.d.ts.map +1 -1
- package/menu.js +10 -4
- package/message/message.js +60 -0
- package/message.d.ts +3 -0
- package/message.d.ts.map +1 -1
- package/message.js +2 -58
- package/navigation/common/navigation-action-common.js +58 -0
- package/navigation/common.d.ts +3 -0
- package/navigation/common.d.ts.map +1 -1
- package/navigation/common.js +2 -56
- package/navigation/navigation/navigation.d.ts +12 -17
- package/navigation/navigation/navigation.d.ts.map +1 -1
- package/navigation/navigation/navigation.js +215 -0
- package/navigation/navigation-button/navigation-button.js +16 -0
- package/navigation/navigation-button.d.ts +3 -0
- package/navigation/navigation-button.d.ts.map +1 -1
- package/navigation/navigation-button.js +2 -14
- package/navigation/navigation-link/navigation-link.js +16 -0
- package/navigation/navigation-link.d.ts +3 -0
- package/navigation/navigation-link.d.ts.map +1 -1
- package/navigation/navigation-link.js +2 -14
- package/navigation/navigation-list/navigation-list.js +57 -0
- package/navigation/navigation-list.d.ts +3 -0
- package/navigation/navigation-list.d.ts.map +1 -1
- package/navigation/navigation-list.js +2 -55
- package/navigation/navigation-marker/navigation-marker.js +82 -0
- package/navigation/navigation-marker.d.ts +3 -0
- package/navigation/navigation-marker.d.ts.map +1 -1
- package/navigation/navigation-marker.js +2 -80
- package/navigation/navigation-section/navigation-section.d.ts +3 -5
- package/navigation/navigation-section/navigation-section.d.ts.map +1 -1
- package/navigation/navigation-section/navigation-section.js +233 -0
- package/navigation/navigation-section.d.ts +3 -0
- package/navigation/navigation-section.d.ts.map +1 -1
- package/navigation/navigation-section.js +2 -231
- package/navigation/navigation.d.ts +3 -0
- package/navigation/navigation.d.ts.map +1 -1
- package/navigation/navigation.js +2 -218
- package/navigation.d.ts +3 -0
- package/navigation.d.ts.map +1 -1
- package/navigation.js +16 -7
- package/notification/notification.js +192 -0
- package/notification.d.ts +3 -0
- package/notification.d.ts.map +1 -1
- package/notification.js +2 -190
- package/option/optgroup/optgroup-base-element.js +115 -0
- package/option/optgroup/optgroup.js +34 -0
- package/option/optgroup.d.ts +3 -0
- package/option/optgroup.d.ts.map +1 -1
- package/option/optgroup.js +4 -141
- package/option/option/option-base-element.js +232 -0
- package/option/option/option.js +95 -0
- package/option/option.d.ts +3 -0
- package/option/option.d.ts.map +1 -1
- package/option/option.js +4 -318
- package/option.d.ts +3 -0
- package/option.d.ts.map +1 -1
- package/option.js +10 -2
- package/overlay/overlay-base-element.d.ts +7 -3
- package/overlay/overlay-base-element.d.ts.map +1 -1
- package/overlay/overlay-base-element.js +102 -0
- package/overlay/overlay.d.ts +0 -1
- package/overlay/overlay.d.ts.map +1 -1
- package/overlay/overlay.js +156 -0
- package/overlay.d.ts +3 -0
- package/overlay.d.ts.map +1 -1
- package/overlay.js +5 -239
- package/package.json +2 -2
- package/paginator/common/paginator-common.js +149 -0
- package/paginator/common.d.ts +3 -0
- package/paginator/common.d.ts.map +1 -1
- package/paginator/common.js +2 -147
- package/paginator/compact-paginator/compact-paginator.js +40 -0
- package/paginator/compact-paginator.d.ts +3 -0
- package/paginator/compact-paginator.d.ts.map +1 -1
- package/paginator/compact-paginator.js +2 -38
- package/paginator/paginator/paginator.js +169 -0
- package/paginator/paginator.d.ts +3 -0
- package/paginator/paginator.d.ts.map +1 -1
- package/paginator/paginator.js +2 -167
- package/paginator.d.ts +3 -0
- package/paginator.d.ts.map +1 -1
- package/paginator.js +8 -3
- package/popover/popover/popover.d.ts +1 -1
- package/popover/popover/popover.d.ts.map +1 -1
- package/popover/popover/popover.js +261 -0
- package/popover/popover-trigger/popover-trigger.js +32 -0
- package/popover/popover-trigger.d.ts +3 -0
- package/popover/popover-trigger.d.ts.map +1 -1
- package/popover/popover-trigger.js +2 -30
- package/popover/popover.d.ts +3 -0
- package/popover/popover.d.ts.map +1 -1
- package/popover/popover.js +2 -263
- package/popover.d.ts +3 -0
- package/popover.d.ts.map +1 -1
- package/popover.js +6 -2
- package/radio-button/common/radio-button-common.d.ts.map +1 -1
- package/radio-button/common/radio-button-common.js +64 -0
- package/radio-button/common.d.ts +3 -0
- package/radio-button/common.d.ts.map +1 -1
- package/radio-button/common.js +4 -65
- package/radio-button/radio-button/radio-button.js +57 -0
- package/radio-button/radio-button-group/radio-button-group.js +186 -0
- package/radio-button/radio-button-group.d.ts +3 -0
- package/radio-button/radio-button-group.d.ts.map +1 -1
- package/radio-button/radio-button-group.js +2 -184
- package/radio-button/radio-button-panel/radio-button-panel.js +88 -0
- package/radio-button/radio-button-panel.d.ts +3 -0
- package/radio-button/radio-button-panel.d.ts.map +1 -1
- package/radio-button/radio-button-panel.js +2 -86
- package/radio-button/radio-button.d.ts +3 -0
- package/radio-button/radio-button.d.ts.map +1 -1
- package/radio-button/radio-button.js +2 -55
- package/radio-button-common-DJKWrKor.js +5 -0
- package/radio-button.d.ts +3 -0
- package/radio-button.d.ts.map +1 -1
- package/radio-button.js +12 -4
- package/{sbb-tokens-BgDF8jIh.js → sbb-tokens-B3Eka-Tz.js} +9 -9
- package/screen-reader-only/screen-reader-only.js +19 -0
- package/screen-reader-only.d.ts +3 -0
- package/screen-reader-only.d.ts.map +1 -1
- package/screen-reader-only.js +2 -17
- package/select/select.js +482 -0
- package/select.d.ts +3 -0
- package/select.d.ts.map +1 -1
- package/select.js +2 -480
- package/selection-expansion-panel/selection-expansion-panel.js +185 -0
- package/selection-expansion-panel.d.ts +3 -0
- package/selection-expansion-panel.d.ts.map +1 -1
- package/selection-expansion-panel.js +2 -183
- package/sidebar/common.d.ts +3 -0
- package/sidebar/common.d.ts.map +1 -1
- package/sidebar/common.js +3 -4
- package/sidebar/icon-sidebar/icon-sidebar.js +47 -0
- package/sidebar/icon-sidebar-button/icon-sidebar-button.js +20 -0
- package/sidebar/icon-sidebar-button.d.ts +3 -0
- package/sidebar/icon-sidebar-button.d.ts.map +1 -1
- package/sidebar/icon-sidebar-button.js +2 -18
- package/sidebar/icon-sidebar-container/icon-sidebar-container.js +35 -0
- package/sidebar/icon-sidebar-container.d.ts +3 -0
- package/sidebar/icon-sidebar-container.d.ts.map +1 -1
- package/sidebar/icon-sidebar-container.js +2 -33
- package/sidebar/icon-sidebar-content/icon-sidebar-content.js +23 -0
- package/sidebar/icon-sidebar-content.d.ts +3 -0
- package/sidebar/icon-sidebar-content.d.ts.map +1 -1
- package/sidebar/icon-sidebar-content.js +2 -21
- package/sidebar/icon-sidebar-link/icon-sidebar-link.js +20 -0
- package/sidebar/icon-sidebar-link.d.ts +3 -0
- package/sidebar/icon-sidebar-link.d.ts.map +1 -1
- package/sidebar/icon-sidebar-link.js +2 -18
- package/sidebar/icon-sidebar.d.ts +3 -0
- package/sidebar/icon-sidebar.d.ts.map +1 -1
- package/sidebar/icon-sidebar.js +2 -45
- package/sidebar/sidebar/sidebar.d.ts +1 -7
- package/sidebar/sidebar/sidebar.d.ts.map +1 -1
- package/sidebar/sidebar/sidebar.js +194 -0
- package/sidebar/sidebar-close-button/sidebar-close-button.js +29 -0
- package/sidebar/sidebar-close-button.d.ts +3 -0
- package/sidebar/sidebar-close-button.d.ts.map +1 -1
- package/sidebar/sidebar-close-button.js +2 -27
- package/sidebar/sidebar-container/sidebar-container.d.ts.map +1 -1
- package/sidebar/sidebar-container/sidebar-container.js +81 -0
- package/sidebar/sidebar-container.d.ts +3 -0
- package/sidebar/sidebar-container.d.ts.map +1 -1
- package/sidebar/sidebar-container.js +2 -76
- package/sidebar/sidebar-content/sidebar-content.js +23 -0
- package/sidebar/sidebar-content.d.ts +3 -0
- package/sidebar/sidebar-content.d.ts.map +1 -1
- package/sidebar/sidebar-content.js +2 -21
- package/sidebar/sidebar-title/sidebar-title.js +37 -0
- package/sidebar/sidebar-title.d.ts +3 -0
- package/sidebar/sidebar-title.d.ts.map +1 -1
- package/sidebar/sidebar-title.js +2 -35
- package/sidebar/sidebar.d.ts +3 -0
- package/sidebar/sidebar.d.ts.map +1 -1
- package/sidebar/sidebar.js +2 -212
- package/sidebar.d.ts +3 -0
- package/sidebar.d.ts.map +1 -1
- package/sidebar.js +26 -11
- package/signet/signet.js +72 -0
- package/signet.d.ts +3 -0
- package/signet.d.ts.map +1 -1
- package/signet.js +2 -70
- package/skiplink-list/skiplink-list.js +71 -0
- package/skiplink-list.d.ts +3 -0
- package/skiplink-list.d.ts.map +1 -1
- package/skiplink-list.js +2 -69
- package/slider/slider.js +232 -0
- package/slider.d.ts +3 -0
- package/slider.d.ts.map +1 -1
- package/slider.js +2 -230
- package/standard-theme.css +42 -2
- package/status/status.d.ts +4 -0
- package/status/status.d.ts.map +1 -1
- package/status/status.js +89 -0
- package/status.d.ts +3 -0
- package/status.d.ts.map +1 -1
- package/status.js +2 -87
- package/stepper/step/step.js +104 -0
- package/stepper/step-label/step-label.js +75 -0
- package/stepper/step-label.d.ts +3 -0
- package/stepper/step-label.d.ts.map +1 -1
- package/stepper/step-label.js +2 -73
- package/stepper/step.d.ts +3 -0
- package/stepper/step.d.ts.map +1 -1
- package/stepper/step.js +2 -102
- package/stepper/stepper/stepper.d.ts.map +1 -1
- package/stepper/stepper/stepper.js +244 -0
- package/stepper/stepper.d.ts +3 -0
- package/stepper/stepper.d.ts.map +1 -1
- package/stepper/stepper.js +2 -242
- package/stepper.d.ts +3 -0
- package/stepper.d.ts.map +1 -1
- package/stepper.js +8 -3
- package/table/table-wrapper/table-wrapper.d.ts +6 -1
- package/table/table-wrapper/table-wrapper.d.ts.map +1 -1
- package/table/table-wrapper/table-wrapper.js +50 -0
- package/table/table-wrapper.d.ts +3 -0
- package/table/table-wrapper.d.ts.map +1 -1
- package/table/table-wrapper.js +2 -34
- package/table.css +37 -0
- package/table.d.ts +3 -0
- package/table.d.ts.map +1 -1
- package/table.js +4 -1
- package/tabs/tab/tab.js +40 -0
- package/tabs/tab-group/tab-group.js +218 -0
- package/tabs/tab-group.d.ts +3 -0
- package/tabs/tab-group.d.ts.map +1 -1
- package/tabs/tab-group.js +2 -216
- package/tabs/tab-label/tab-label.js +80 -0
- package/tabs/tab-label.d.ts +3 -0
- package/tabs/tab-label.d.ts.map +1 -1
- package/tabs/tab-label.js +2 -78
- package/tabs/tab.d.ts +3 -0
- package/tabs/tab.d.ts.map +1 -1
- package/tabs/tab.js +2 -38
- package/tabs.d.ts +3 -0
- package/tabs.d.ts.map +1 -1
- package/tabs.js +8 -3
- package/tag/tag/tag.js +126 -0
- package/tag/tag-group/tag-group.js +120 -0
- package/tag/tag-group.d.ts +3 -0
- package/tag/tag-group.d.ts.map +1 -1
- package/tag/tag-group.js +2 -118
- package/tag/tag.d.ts +3 -0
- package/tag/tag.d.ts.map +1 -1
- package/tag/tag.js +2 -124
- package/tag.d.ts +3 -0
- package/tag.d.ts.map +1 -1
- package/tag.js +6 -2
- package/teaser/teaser.js +102 -0
- package/teaser-hero/teaser-hero.js +61 -0
- package/teaser-hero.d.ts +3 -0
- package/teaser-hero.d.ts.map +1 -1
- package/teaser-hero.js +2 -59
- package/teaser-product/common/teaser-product-common.js +54 -0
- package/teaser-product/common.d.ts +3 -0
- package/teaser-product/common.d.ts.map +1 -1
- package/teaser-product/common.js +4 -53
- package/teaser-product/teaser-product/teaser-product.js +31 -0
- package/teaser-product/teaser-product-static/teaser-product-static.js +16 -0
- package/teaser-product/teaser-product-static.d.ts +3 -0
- package/teaser-product/teaser-product-static.d.ts.map +1 -1
- package/teaser-product/teaser-product-static.js +2 -14
- package/teaser-product/teaser-product.d.ts +3 -0
- package/teaser-product/teaser-product.d.ts.map +1 -1
- package/teaser-product/teaser-product.js +2 -29
- package/teaser-product-common-CpMAlYEp.js +5 -0
- package/teaser-product.d.ts +3 -0
- package/teaser-product.d.ts.map +1 -1
- package/teaser-product.js +10 -3
- package/teaser.d.ts +3 -0
- package/teaser.d.ts.map +1 -1
- package/teaser.js +2 -100
- package/time-input/time-input.js +174 -0
- package/time-input.d.ts +3 -0
- package/time-input.d.ts.map +1 -1
- package/time-input.js +2 -172
- package/timetable-occupancy/timetable-occupancy.js +75 -0
- package/timetable-occupancy-icon/timetable-occupancy-icon.js +64 -0
- package/timetable-occupancy-icon.d.ts +3 -0
- package/timetable-occupancy-icon.d.ts.map +1 -1
- package/timetable-occupancy-icon.js +2 -62
- package/timetable-occupancy.d.ts +3 -0
- package/timetable-occupancy.d.ts.map +1 -1
- package/timetable-occupancy.js +2 -73
- package/title/title-base.js +73 -0
- package/title/title.js +18 -0
- package/title.d.ts +3 -0
- package/title.d.ts.map +1 -1
- package/title.js +4 -83
- package/toast/toast.js +195 -0
- package/toast.d.ts +3 -0
- package/toast.d.ts.map +1 -1
- package/toast.js +2 -193
- package/toggle/toggle/toggle.d.ts.map +1 -1
- package/toggle/toggle/toggle.js +162 -0
- package/toggle/toggle-option/toggle-option.d.ts.map +1 -1
- package/toggle/toggle-option/toggle-option.js +84 -0
- package/toggle/toggle-option.d.ts +3 -0
- package/toggle/toggle-option.d.ts.map +1 -1
- package/toggle/toggle-option.js +2 -94
- package/toggle/toggle.d.ts +3 -0
- package/toggle/toggle.d.ts.map +1 -1
- package/toggle/toggle.js +2 -162
- package/toggle-check/toggle-check.js +81 -0
- package/toggle-check.d.ts +3 -0
- package/toggle-check.d.ts.map +1 -1
- package/toggle-check.js +2 -79
- package/toggle.d.ts +3 -0
- package/toggle.d.ts.map +1 -1
- package/toggle.js +6 -2
- package/train/train/train.js +126 -0
- package/train/train-blocked-passage/train-blocked-passage.js +25 -0
- package/train/train-blocked-passage.d.ts +3 -0
- package/train/train-blocked-passage.d.ts.map +1 -1
- package/train/train-blocked-passage.js +2 -23
- package/train/train-formation/train-formation.js +91 -0
- package/train/train-formation.d.ts +3 -0
- package/train/train-formation.d.ts.map +1 -1
- package/train/train-formation.js +2 -89
- package/train/train-wagon/train-wagon.js +177 -0
- package/train/train-wagon.d.ts +3 -0
- package/train/train-wagon.d.ts.map +1 -1
- package/train/train-wagon.js +2 -175
- package/train/train.d.ts +3 -0
- package/train/train.d.ts.map +1 -1
- package/train/train.js +2 -124
- package/train.d.ts +3 -0
- package/train.d.ts.map +1 -1
- package/train.js +10 -4
- package/transparent-button-BlbvexCb.js +9 -0
- package/visual-checkbox/visual-checkbox.js +83 -0
- package/visual-checkbox.d.ts +3 -0
- package/visual-checkbox.d.ts.map +1 -1
- package/visual-checkbox.js +2 -81
- package/core/testing/private.d.ts +0 -11
- package/core/testing/private.d.ts.map +0 -1
- package/core/testing/test-setup-ssr.d.ts +0 -2
- package/core/testing/test-setup-ssr.d.ts.map +0 -1
- package/core/testing/test-setup.d.ts +0 -2
- package/core/testing/test-setup.d.ts.map +0 -1
- package/development/core/testing/private.d.ts +0 -11
- package/development/core/testing/private.d.ts.map +0 -1
- package/development/core/testing/test-setup-ssr.d.ts +0 -2
- package/development/core/testing/test-setup-ssr.d.ts.map +0 -1
- package/development/core/testing/test-setup.d.ts +0 -2
- package/development/core/testing/test-setup.d.ts.map +0 -1
|
@@ -0,0 +1,185 @@
|
|
|
1
|
+
import { SbbLanguageController } from "../controllers.js";
|
|
2
|
+
import { DateAdapter, ISO8601_FORMAT_DATE, FORMAT_DATE } from "./date-adapter.js";
|
|
3
|
+
const ISO_8601_REGEX = /^\d{4}-\d{2}-\d{2}(?:T\d{2}:\d{2}:\d{2}(?:\.\d+)?(?:Z|(?:(?:\+|-)\d{2}:\d{2}))?)?$/;
|
|
4
|
+
class NativeDateAdapter extends DateAdapter {
|
|
5
|
+
constructor(cutoffYearOffset = 15) {
|
|
6
|
+
super();
|
|
7
|
+
this._cutoffYearOffset = cutoffYearOffset;
|
|
8
|
+
}
|
|
9
|
+
/** Gets the year of the input date. */
|
|
10
|
+
getYear(date) {
|
|
11
|
+
return date.getFullYear();
|
|
12
|
+
}
|
|
13
|
+
/** Gets the month of the input date. */
|
|
14
|
+
getMonth(date) {
|
|
15
|
+
return date.getMonth() + 1;
|
|
16
|
+
}
|
|
17
|
+
/** Gets the day of the input date. */
|
|
18
|
+
getDate(date) {
|
|
19
|
+
return date.getDate();
|
|
20
|
+
}
|
|
21
|
+
/** Gets the day of the week of the input date. */
|
|
22
|
+
getDayOfWeek(date) {
|
|
23
|
+
return date.getDay();
|
|
24
|
+
}
|
|
25
|
+
/** Gets the date in the local format. */
|
|
26
|
+
getAccessibilityFormatDate(date) {
|
|
27
|
+
const options = {
|
|
28
|
+
year: "numeric",
|
|
29
|
+
month: "long",
|
|
30
|
+
day: "numeric"
|
|
31
|
+
};
|
|
32
|
+
return new Intl.DateTimeFormat(SbbLanguageController.current, options).format(new Date(date));
|
|
33
|
+
}
|
|
34
|
+
/**
|
|
35
|
+
* Creates an array of strings with length = 12, filled with the name of the months starting from January, in the document language.
|
|
36
|
+
* @param style See `month` in `DateTimeFormatOptions`: `long` for full name, `short` for short name, `narrow` for single letter,
|
|
37
|
+
* E.g., with January in en-gb: `long` returns "January", `short` returns "Jan", `narrow` returns "J".
|
|
38
|
+
*/
|
|
39
|
+
getMonthNames(style) {
|
|
40
|
+
const formatter = new Intl.DateTimeFormat(SbbLanguageController.current, { month: style });
|
|
41
|
+
return this._range(12, (i) => formatter.format(new Date(2017, i, 1)));
|
|
42
|
+
}
|
|
43
|
+
/** Creates a string array with length = 31, filled with the days in a month, starting from 1. */
|
|
44
|
+
getDateNames() {
|
|
45
|
+
const formatter = new Intl.DateTimeFormat(SbbLanguageController.current, { day: "numeric" });
|
|
46
|
+
return this._range(31, (i) => formatter.format(new Date(2017, 0, i + 1)));
|
|
47
|
+
}
|
|
48
|
+
/**
|
|
49
|
+
* Creates a string array with length = 7, filled with the name of the days in a week starting from Sunday, in the document language.
|
|
50
|
+
* @param style See `weekday` in `DateTimeFormatOptions` - 'long' for full name, 'short' for short name, 'narrow' for single letter;
|
|
51
|
+
* E.g., with Monday in en-gb: `long` returns "Monday", `short` returns "Mon", `narrow` returns "M".
|
|
52
|
+
*/
|
|
53
|
+
getDayOfWeekNames(style) {
|
|
54
|
+
const formatter = new Intl.DateTimeFormat(SbbLanguageController.current, { weekday: style });
|
|
55
|
+
return this._range(7, (i) => formatter.format(new Date(2017, 0, i + 1)));
|
|
56
|
+
}
|
|
57
|
+
/* Defines which is the first day of the week (0: sunday; 1: monday; etc.). */
|
|
58
|
+
getFirstDayOfWeek() {
|
|
59
|
+
return 1;
|
|
60
|
+
}
|
|
61
|
+
/** Calculates the number of days in a month given the year and the month. */
|
|
62
|
+
getNumDaysInMonth(date) {
|
|
63
|
+
return this.getDate(this._createDateWithOverflow(this.getYear(date), this.getMonth(date), 0));
|
|
64
|
+
}
|
|
65
|
+
/** Creates today's date. */
|
|
66
|
+
today() {
|
|
67
|
+
return new Date((/* @__PURE__ */ new Date()).setHours(0, 0, 0, 0));
|
|
68
|
+
}
|
|
69
|
+
/** Creates a new date, given day, month and year; the method doesn't allow date's overflow. */
|
|
70
|
+
createDate(year, month, date) {
|
|
71
|
+
if (month < 1 || month > 12) {
|
|
72
|
+
throw Error(`Invalid month index "${month}". Month index has to be between 1 and 12.`);
|
|
73
|
+
}
|
|
74
|
+
if (date < 1) {
|
|
75
|
+
throw Error(`Invalid date "${date}". Date has to be greater than 0.`);
|
|
76
|
+
}
|
|
77
|
+
const result = this._createDateWithOverflow(year, month - 1, date);
|
|
78
|
+
if (result.getMonth() + 1 !== month) {
|
|
79
|
+
throw Error(`Invalid date "${date}" for month with index "${month}".`);
|
|
80
|
+
}
|
|
81
|
+
return result;
|
|
82
|
+
}
|
|
83
|
+
/** Checks whether the given `obj` is a Date. */
|
|
84
|
+
isDateInstance(obj) {
|
|
85
|
+
return obj instanceof Date;
|
|
86
|
+
}
|
|
87
|
+
/** Checks whether the given `date` is a valid Date. */
|
|
88
|
+
isValid(date) {
|
|
89
|
+
return !!date && !isNaN(date.valueOf());
|
|
90
|
+
}
|
|
91
|
+
/** Creates a new date by cloning the given one. */
|
|
92
|
+
clone(date) {
|
|
93
|
+
return new Date(date.valueOf());
|
|
94
|
+
}
|
|
95
|
+
/**
|
|
96
|
+
* Creates a new date adding the number of provided `years` to the provided `date`.
|
|
97
|
+
* @param date The starting date.
|
|
98
|
+
* @param years The number of years to add.
|
|
99
|
+
*/
|
|
100
|
+
addCalendarYears(date, years) {
|
|
101
|
+
return this.addCalendarMonths(date, years * 12);
|
|
102
|
+
}
|
|
103
|
+
/**
|
|
104
|
+
* Creates a new date adding the number of provided `months` to the provided `date`.
|
|
105
|
+
* If the calculated month has fewer days than the original one, the date is set to the last day of the month.
|
|
106
|
+
* E.g., with `date` = new Date(2022, 0, 31) and `months` = 1, it returns new Date(2022, 1, 28).
|
|
107
|
+
*/
|
|
108
|
+
addCalendarMonths(date, months) {
|
|
109
|
+
const targetMonth = date.getMonth() + months;
|
|
110
|
+
const dateWithCorrectMonth = new Date(date.getFullYear(), targetMonth, 1, 0, 0, 0, 0);
|
|
111
|
+
const daysInMonth = this.getNumDaysInMonth(dateWithCorrectMonth);
|
|
112
|
+
return new Date(this.clone(date).setMonth(targetMonth, Math.min(daysInMonth, date.getDate())));
|
|
113
|
+
}
|
|
114
|
+
/** Creates a new date by adding the number of provided `days` to the provided `date`. */
|
|
115
|
+
addCalendarDays(date, days) {
|
|
116
|
+
const targetDay = date.getDate() + days;
|
|
117
|
+
return new Date(date.getFullYear(), date.getMonth(), targetDay, 0, 0, 0, 0);
|
|
118
|
+
}
|
|
119
|
+
/** Creates a Date from a valid input (Date, string or number in seconds). */
|
|
120
|
+
deserialize(date) {
|
|
121
|
+
if (typeof date === "string") {
|
|
122
|
+
if (!date) {
|
|
123
|
+
return null;
|
|
124
|
+
} else if (!Number.isNaN(+date)) {
|
|
125
|
+
return this.getValidDateOrNull(new Date(+date * 1e3));
|
|
126
|
+
} else if (ISO_8601_REGEX.test(date)) {
|
|
127
|
+
return this.getValidDateOrNull(new Date(date.includes("T") ? date : date + "T00:00:00"));
|
|
128
|
+
}
|
|
129
|
+
} else if (typeof date === "number") {
|
|
130
|
+
return this.getValidDateOrNull(new Date(date * 1e3));
|
|
131
|
+
}
|
|
132
|
+
return super.deserialize(date);
|
|
133
|
+
}
|
|
134
|
+
/** Returns the right format for the `valueAsDate` property. */
|
|
135
|
+
parse(value, now = this.today()) {
|
|
136
|
+
if (!value) {
|
|
137
|
+
return null;
|
|
138
|
+
}
|
|
139
|
+
let date = null;
|
|
140
|
+
const isoMatch = value.match(ISO8601_FORMAT_DATE);
|
|
141
|
+
try {
|
|
142
|
+
date = isoMatch ? this.createDate(+isoMatch[1], +isoMatch[2], +isoMatch[3]) : null;
|
|
143
|
+
} catch {
|
|
144
|
+
}
|
|
145
|
+
if (this.isValid(date)) {
|
|
146
|
+
return date;
|
|
147
|
+
}
|
|
148
|
+
const strippedValue = value.replace(/\D/g, " ").trim();
|
|
149
|
+
const match = strippedValue == null ? void 0 : strippedValue.match(FORMAT_DATE);
|
|
150
|
+
if (!match || match.index !== 0 || match.length <= 2 || match.some((e) => e === void 0) || !this.isValid(this.createDate(+match[3], +match[2], +match[1]))) {
|
|
151
|
+
return null;
|
|
152
|
+
}
|
|
153
|
+
let year = +match[3];
|
|
154
|
+
if (typeof year === "number" && year < 100 && year >= 0) {
|
|
155
|
+
const shift = now.getFullYear() - 2e3 + this._cutoffYearOffset;
|
|
156
|
+
year = year <= shift ? 2e3 + year : 1900 + year;
|
|
157
|
+
}
|
|
158
|
+
return new Date(year, +match[2] - 1, +match[1]);
|
|
159
|
+
}
|
|
160
|
+
invalid() {
|
|
161
|
+
return /* @__PURE__ */ new Date(NaN);
|
|
162
|
+
}
|
|
163
|
+
/**
|
|
164
|
+
* Creates an array with the given length and fills it by mapping with the provided function.
|
|
165
|
+
* @param length The length of the array to be created.
|
|
166
|
+
* @param valueFunction The function of array's index used to fill the array.
|
|
167
|
+
*/
|
|
168
|
+
_range(length, valueFunction) {
|
|
169
|
+
return Array.from({ length }).map((_, i) => valueFunction(i));
|
|
170
|
+
}
|
|
171
|
+
/** Creates a date but allows the month and date to overflow. */
|
|
172
|
+
_createDateWithOverflow(year, month, date) {
|
|
173
|
+
const result = new Date(year, month, date);
|
|
174
|
+
if (year >= 0 && year < 100) {
|
|
175
|
+
result.setFullYear(this.getYear(result) - 1900);
|
|
176
|
+
}
|
|
177
|
+
return result;
|
|
178
|
+
}
|
|
179
|
+
}
|
|
180
|
+
const defaultDateAdapter = new NativeDateAdapter();
|
|
181
|
+
export {
|
|
182
|
+
NativeDateAdapter,
|
|
183
|
+
defaultDateAdapter
|
|
184
|
+
};
|
|
185
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmF0aXZlLWRhdGUtYWRhcHRlci5qcyIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vc3JjL2VsZW1lbnRzL2NvcmUvZGF0ZXRpbWUvbmF0aXZlLWRhdGUtYWRhcHRlci50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBTYmJMYW5ndWFnZUNvbnRyb2xsZXIgfSBmcm9tICcuLi9jb250cm9sbGVycy5qcyc7XG5pbXBvcnQgdHlwZSB7IFNiYkRhdGVMaWtlIH0gZnJvbSAnLi4vaW50ZXJmYWNlcy5qcyc7XG5cbmltcG9ydCB7IERhdGVBZGFwdGVyLCBGT1JNQVRfREFURSwgSVNPODYwMV9GT1JNQVRfREFURSB9IGZyb20gJy4vZGF0ZS1hZGFwdGVyLmpzJztcblxuLyoqXG4gKiBNYXRjaGVzIHN0cmluZ3MgdGhhdCBoYXZlIHRoZSBmb3JtIG9mIGEgdmFsaWQgUkZDIDMzMzkgc3RyaW5nXG4gKiAoaHR0cHM6Ly90b29scy5pZXRmLm9yZy9odG1sL3JmYzMzMzkpLiBOb3RlIHRoYXQgdGhlIHN0cmluZyBtYXkgbm90IGFjdHVhbGx5IGJlIGEgdmFsaWQgZGF0ZVxuICogYmVjYXVzZSB0aGUgcmVnZXggd2lsbCBtYXRjaCBzdHJpbmdzIGFuIHdpdGhvdXQgb2YgYm91bmRzIG1vbnRoLCBkYXRlLCBldGMuXG4gKi9cbmNvbnN0IElTT184NjAxX1JFR0VYID1cbiAgL15cXGR7NH0tXFxkezJ9LVxcZHsyfSg/OlRcXGR7Mn06XFxkezJ9OlxcZHsyfSg/OlxcLlxcZCspPyg/Olp8KD86KD86XFwrfC0pXFxkezJ9OlxcZHsyfSkpPyk/JC87XG5cbmV4cG9ydCBjbGFzcyBOYXRpdmVEYXRlQWRhcHRlciBleHRlbmRzIERhdGVBZGFwdGVyPERhdGU+IHtcbiAgcHJpdmF0ZSByZWFkb25seSBfY3V0b2ZmWWVhck9mZnNldDogbnVtYmVyO1xuXG4gIHB1YmxpYyBjb25zdHJ1Y3RvcihjdXRvZmZZZWFyT2Zmc2V0OiBudW1iZXIgPSAxNSkge1xuICAgIHN1cGVyKCk7XG4gICAgdGhpcy5fY3V0b2ZmWWVhck9mZnNldCA9IGN1dG9mZlllYXJPZmZzZXQ7XG4gIH1cblxuICAvKiogR2V0cyB0aGUgeWVhciBvZiB0aGUgaW5wdXQgZGF0ZS4gKi9cbiAgcHVibGljIGdldFllYXIoZGF0ZTogRGF0ZSk6IG51bWJlciB7XG4gICAgcmV0dXJuIGRhdGUuZ2V0RnVsbFllYXIoKTtcbiAgfVxuXG4gIC8qKiBHZXRzIHRoZSBtb250aCBvZiB0aGUgaW5wdXQgZGF0ZS4gKi9cbiAgcHVibGljIGdldE1vbnRoKGRhdGU6IERhdGUpOiBudW1iZXIge1xuICAgIHJldHVybiBkYXRlLmdldE1vbnRoKCkgKyAxO1xuICB9XG5cbiAgLyoqIEdldHMgdGhlIGRheSBvZiB0aGUgaW5wdXQgZGF0ZS4gKi9cbiAgcHVibGljIGdldERhdGUoZGF0ZTogRGF0ZSk6IG51bWJlciB7XG4gICAgcmV0dXJuIGRhdGUuZ2V0RGF0ZSgpO1xuICB9XG5cbiAgLyoqIEdldHMgdGhlIGRheSBvZiB0aGUgd2VlayBvZiB0aGUgaW5wdXQgZGF0ZS4gKi9cbiAgcHVibGljIGdldERheU9mV2VlayhkYXRlOiBEYXRlKTogbnVtYmVyIHtcbiAgICByZXR1cm4gZGF0ZS5nZXREYXkoKTtcbiAgfVxuXG4gIC8qKiBHZXRzIHRoZSBkYXRlIGluIHRoZSBsb2NhbCBmb3JtYXQuICovXG4gIHB1YmxpYyBnZXRBY2Nlc3NpYmlsaXR5Rm9ybWF0RGF0ZShkYXRlOiBEYXRlIHwgc3RyaW5nKTogc3RyaW5nIHtcbiAgICBjb25zdCBvcHRpb25zOiBJbnRsLkRhdGVUaW1lRm9ybWF0T3B0aW9ucyA9IHtcbiAgICAgIHllYXI6ICdudW1lcmljJyxcbiAgICAgIG1vbnRoOiAnbG9uZycsXG4gICAgICBkYXk6ICdudW1lcmljJyxcbiAgICB9O1xuICAgIHJldHVybiBuZXcgSW50bC5EYXRlVGltZUZvcm1hdChTYmJMYW5ndWFnZUNvbnRyb2xsZXIuY3VycmVudCwgb3B0aW9ucykuZm9ybWF0KG5ldyBEYXRlKGRhdGUpKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBDcmVhdGVzIGFuIGFycmF5IG9mIHN0cmluZ3Mgd2l0aCBsZW5ndGggPSAxMiwgZmlsbGVkIHdpdGggdGhlIG5hbWUgb2YgdGhlIG1vbnRocyBzdGFydGluZyBmcm9tIEphbnVhcnksIGluIHRoZSBkb2N1bWVudCBsYW5ndWFnZS5cbiAgICogQHBhcmFtIHN0eWxlIFNlZSBgbW9udGhgIGluIGBEYXRlVGltZUZvcm1hdE9wdGlvbnNgOiBgbG9uZ2AgZm9yIGZ1bGwgbmFtZSwgYHNob3J0YCBmb3Igc2hvcnQgbmFtZSwgYG5hcnJvd2AgZm9yIHNpbmdsZSBsZXR0ZXIsXG4gICAqIEUuZy4sIHdpdGggSmFudWFyeSBpbiBlbi1nYjogYGxvbmdgIHJldHVybnMgXCJKYW51YXJ5XCIsIGBzaG9ydGAgcmV0dXJucyBcIkphblwiLCBgbmFycm93YCByZXR1cm5zIFwiSlwiLlxuICAgKi9cbiAgcHVibGljIGdldE1vbnRoTmFtZXMoc3R5bGU6ICdsb25nJyB8ICdzaG9ydCcgfCAnbmFycm93Jyk6IHN0cmluZ1tdIHtcbiAgICBjb25zdCBmb3JtYXR0ZXIgPSBuZXcgSW50bC5EYXRlVGltZUZvcm1hdChTYmJMYW5ndWFnZUNvbnRyb2xsZXIuY3VycmVudCwgeyBtb250aDogc3R5bGUgfSk7XG4gICAgcmV0dXJuIHRoaXMuX3JhbmdlKDEyLCAoaSkgPT4gZm9ybWF0dGVyLmZvcm1hdChuZXcgRGF0ZSgyMDE3LCBpLCAxKSkpO1xuICB9XG5cbiAgLyoqIENyZWF0ZXMgYSBzdHJpbmcgYXJyYXkgd2l0aCBsZW5ndGggPSAzMSwgZmlsbGVkIHdpdGggdGhlIGRheXMgaW4gYSBtb250aCwgc3RhcnRpbmcgZnJvbSAxLiAqL1xuICBwdWJsaWMgZ2V0RGF0ZU5hbWVzKCk6IHN0cmluZ1tdIHtcbiAgICBjb25zdCBmb3JtYXR0ZXIgPSBuZXcgSW50bC5EYXRlVGltZUZvcm1hdChTYmJMYW5ndWFnZUNvbnRyb2xsZXIuY3VycmVudCwgeyBkYXk6ICdudW1lcmljJyB9KTtcbiAgICByZXR1cm4gdGhpcy5fcmFuZ2UoMzEsIChpKSA9PiBmb3JtYXR0ZXIuZm9ybWF0KG5ldyBEYXRlKDIwMTcsIDAsIGkgKyAxKSkpO1xuICB9XG5cbiAgLyoqXG4gICAqIENyZWF0ZXMgYSBzdHJpbmcgYXJyYXkgd2l0aCBsZW5ndGggPSA3LCBmaWxsZWQgd2l0aCB0aGUgbmFtZSBvZiB0aGUgZGF5cyBpbiBhIHdlZWsgc3RhcnRpbmcgZnJvbSBTdW5kYXksIGluIHRoZSBkb2N1bWVudCBsYW5ndWFnZS5cbiAgICogQHBhcmFtIHN0eWxlIFNlZSBgd2Vla2RheWAgaW4gYERhdGVUaW1lRm9ybWF0T3B0aW9uc2AgLSAnbG9uZycgZm9yIGZ1bGwgbmFtZSwgJ3Nob3J0JyBmb3Igc2hvcnQgbmFtZSwgJ25hcnJvdycgZm9yIHNpbmdsZSBsZXR0ZXI7XG4gICAqIEUuZy4sIHdpdGggTW9uZGF5IGluIGVuLWdiOiBgbG9uZ2AgcmV0dXJucyBcIk1vbmRheVwiLCBgc2hvcnRgIHJldHVybnMgXCJNb25cIiwgYG5hcnJvd2AgcmV0dXJucyBcIk1cIi5cbiAgICovXG4gIHB1YmxpYyBnZXREYXlPZldlZWtOYW1lcyhzdHlsZTogJ2xvbmcnIHwgJ3Nob3J0JyB8ICduYXJyb3cnKTogc3RyaW5nW10ge1xuICAgIGNvbnN0IGZvcm1hdHRlciA9IG5ldyBJbnRsLkRhdGVUaW1lRm9ybWF0KFNiYkxhbmd1YWdlQ29udHJvbGxlci5jdXJyZW50LCB7IHdlZWtkYXk6IHN0eWxlIH0pO1xuICAgIHJldHVybiB0aGlzLl9yYW5nZSg3LCAoaSkgPT4gZm9ybWF0dGVyLmZvcm1hdChuZXcgRGF0ZSgyMDE3LCAwLCBpICsgMSkpKTtcbiAgfVxuXG4gIC8qIERlZmluZXMgd2hpY2ggaXMgdGhlIGZpcnN0IGRheSBvZiB0aGUgd2VlayAoMDogc3VuZGF5OyAxOiBtb25kYXk7IGV0Yy4pLiAqL1xuICBwdWJsaWMgZ2V0Rmlyc3REYXlPZldlZWsoKTogbnVtYmVyIHtcbiAgICByZXR1cm4gMTtcbiAgfVxuXG4gIC8qKiBDYWxjdWxhdGVzIHRoZSBudW1iZXIgb2YgZGF5cyBpbiBhIG1vbnRoIGdpdmVuIHRoZSB5ZWFyIGFuZCB0aGUgbW9udGguICovXG4gIHB1YmxpYyBnZXROdW1EYXlzSW5Nb250aChkYXRlOiBEYXRlKTogbnVtYmVyIHtcbiAgICByZXR1cm4gdGhpcy5nZXREYXRlKHRoaXMuX2NyZWF0ZURhdGVXaXRoT3ZlcmZsb3codGhpcy5nZXRZZWFyKGRhdGUpLCB0aGlzLmdldE1vbnRoKGRhdGUpLCAwKSk7XG4gIH1cblxuICAvKiogQ3JlYXRlcyB0b2RheSdzIGRhdGUuICovXG4gIHB1YmxpYyB0b2RheSgpOiBEYXRlIHtcbiAgICByZXR1cm4gbmV3IERhdGUobmV3IERhdGUoKS5zZXRIb3VycygwLCAwLCAwLCAwKSk7XG4gIH1cblxuICAvKiogQ3JlYXRlcyBhIG5ldyBkYXRlLCBnaXZlbiBkYXksIG1vbnRoIGFuZCB5ZWFyOyB0aGUgbWV0aG9kIGRvZXNuJ3QgYWxsb3cgZGF0ZSdzIG92ZXJmbG93LiAqL1xuICBwdWJsaWMgY3JlYXRlRGF0ZSh5ZWFyOiBudW1iZXIsIG1vbnRoOiBudW1iZXIsIGRhdGU6IG51bWJlcik6IERhdGUge1xuICAgIC8vIENoZWNrIGZvciBpbnZhbGlkIG1vbnRoIGFuZCBkYXRlIChleGNlcHQgdXBwZXIgYm91bmQgb24gZGF0ZSB3aGljaCB3ZSBoYXZlIHRvIGNoZWNrIGFmdGVyIGNyZWF0aW5nIHRoZSBEYXRlKS5cbiAgICBpZiAobW9udGggPCAxIHx8IG1vbnRoID4gMTIpIHtcbiAgICAgIHRocm93IEVycm9yKGBJbnZhbGlkIG1vbnRoIGluZGV4IFwiJHttb250aH1cIi4gTW9udGggaW5kZXggaGFzIHRvIGJlIGJldHdlZW4gMSBhbmQgMTIuYCk7XG4gICAgfVxuXG4gICAgaWYgKGRhdGUgPCAxKSB7XG4gICAgICB0aHJvdyBFcnJvcihgSW52YWxpZCBkYXRlIFwiJHtkYXRlfVwiLiBEYXRlIGhhcyB0byBiZSBncmVhdGVyIHRoYW4gMC5gKTtcbiAgICB9XG5cbiAgICBjb25zdCByZXN1bHQgPSB0aGlzLl9jcmVhdGVEYXRlV2l0aE92ZXJmbG93KHllYXIsIG1vbnRoIC0gMSwgZGF0ZSk7XG4gICAgLy8gQ2hlY2sgdGhhdCB0aGUgZGF0ZSB3YXNuJ3QgYWJvdmUgdGhlIHVwcGVyIGJvdW5kIGZvciB0aGUgbW9udGgsIGNhdXNpbmcgdGhlIG1vbnRoIHRvIG92ZXJmbG93XG4gICAgaWYgKHJlc3VsdC5nZXRNb250aCgpICsgMSAhPT0gbW9udGgpIHtcbiAgICAgIHRocm93IEVycm9yKGBJbnZhbGlkIGRhdGUgXCIke2RhdGV9XCIgZm9yIG1vbnRoIHdpdGggaW5kZXggXCIke21vbnRofVwiLmApO1xuICAgIH1cblxuICAgIHJldHVybiByZXN1bHQ7XG4gIH1cblxuICAvKiogQ2hlY2tzIHdoZXRoZXIgdGhlIGdpdmVuIGBvYmpgIGlzIGEgRGF0ZS4gKi9cbiAgcHVibGljIGlzRGF0ZUluc3RhbmNlKG9iajogYW55KTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIG9iaiBpbnN0YW5jZW9mIERhdGU7XG4gIH1cblxuICAvKiogQ2hlY2tzIHdoZXRoZXIgdGhlIGdpdmVuIGBkYXRlYCBpcyBhIHZhbGlkIERhdGUuICovXG4gIHB1YmxpYyBpc1ZhbGlkKGRhdGU6IERhdGUgfCBudWxsIHwgdW5kZWZpbmVkKTogZGF0ZSBpcyBEYXRlIHtcbiAgICByZXR1cm4gISFkYXRlICYmICFpc05hTihkYXRlLnZhbHVlT2YoKSk7XG4gIH1cblxuICAvKiogQ3JlYXRlcyBhIG5ldyBkYXRlIGJ5IGNsb25pbmcgdGhlIGdpdmVuIG9uZS4gKi9cbiAgcHVibGljIGNsb25lKGRhdGU6IERhdGUpOiBEYXRlIHtcbiAgICByZXR1cm4gbmV3IERhdGUoZGF0ZS52YWx1ZU9mKCkpO1xuICB9XG5cbiAgLyoqXG4gICAqIENyZWF0ZXMgYSBuZXcgZGF0ZSBhZGRpbmcgdGhlIG51bWJlciBvZiBwcm92aWRlZCBgeWVhcnNgIHRvIHRoZSBwcm92aWRlZCBgZGF0ZWAuXG4gICAqIEBwYXJhbSBkYXRlIFRoZSBzdGFydGluZyBkYXRlLlxuICAgKiBAcGFyYW0geWVhcnMgVGhlIG51bWJlciBvZiB5ZWFycyB0byBhZGQuXG4gICAqL1xuICBwdWJsaWMgYWRkQ2FsZW5kYXJZZWFycyhkYXRlOiBEYXRlLCB5ZWFyczogbnVtYmVyKTogRGF0ZSB7XG4gICAgcmV0dXJuIHRoaXMuYWRkQ2FsZW5kYXJNb250aHMoZGF0ZSwgeWVhcnMgKiAxMik7XG4gIH1cblxuICAvKipcbiAgICogQ3JlYXRlcyBhIG5ldyBkYXRlIGFkZGluZyB0aGUgbnVtYmVyIG9mIHByb3ZpZGVkIGBtb250aHNgIHRvIHRoZSBwcm92aWRlZCBgZGF0ZWAuXG4gICAqIElmIHRoZSBjYWxjdWxhdGVkIG1vbnRoIGhhcyBmZXdlciBkYXlzIHRoYW4gdGhlIG9yaWdpbmFsIG9uZSwgdGhlIGRhdGUgaXMgc2V0IHRvIHRoZSBsYXN0IGRheSBvZiB0aGUgbW9udGguXG4gICAqIEUuZy4sIHdpdGggYGRhdGVgID0gbmV3IERhdGUoMjAyMiwgMCwgMzEpIGFuZCBgbW9udGhzYCA9IDEsIGl0IHJldHVybnMgbmV3IERhdGUoMjAyMiwgMSwgMjgpLlxuICAgKi9cbiAgcHVibGljIGFkZENhbGVuZGFyTW9udGhzKGRhdGU6IERhdGUsIG1vbnRoczogbnVtYmVyKTogRGF0ZSB7XG4gICAgY29uc3QgdGFyZ2V0TW9udGggPSBkYXRlLmdldE1vbnRoKCkgKyBtb250aHM7XG4gICAgY29uc3QgZGF0ZVdpdGhDb3JyZWN0TW9udGggPSBuZXcgRGF0ZShkYXRlLmdldEZ1bGxZZWFyKCksIHRhcmdldE1vbnRoLCAxLCAwLCAwLCAwLCAwKTtcbiAgICBjb25zdCBkYXlzSW5Nb250aCA9IHRoaXMuZ2V0TnVtRGF5c0luTW9udGgoZGF0ZVdpdGhDb3JyZWN0TW9udGgpO1xuICAgIC8vIEFkYXB0IHRoZSBsYXN0IGRheSBvZiBtb250aCBmb3Igc2hvcnRlciBtb250aHNcbiAgICByZXR1cm4gbmV3IERhdGUodGhpcy5jbG9uZShkYXRlKS5zZXRNb250aCh0YXJnZXRNb250aCwgTWF0aC5taW4oZGF5c0luTW9udGgsIGRhdGUuZ2V0RGF0ZSgpKSkpO1xuICB9XG5cbiAgLyoqIENyZWF0ZXMgYSBuZXcgZGF0ZSBieSBhZGRpbmcgdGhlIG51bWJlciBvZiBwcm92aWRlZCBgZGF5c2AgdG8gdGhlIHByb3ZpZGVkIGBkYXRlYC4gKi9cbiAgcHVibGljIGFkZENhbGVuZGFyRGF5cyhkYXRlOiBEYXRlLCBkYXlzOiBudW1iZXIpOiBEYXRlIHtcbiAgICBjb25zdCB0YXJnZXREYXkgPSBkYXRlLmdldERhdGUoKSArIGRheXM7XG4gICAgcmV0dXJuIG5ldyBEYXRlKGRhdGUuZ2V0RnVsbFllYXIoKSwgZGF0ZS5nZXRNb250aCgpLCB0YXJnZXREYXksIDAsIDAsIDAsIDApO1xuICB9XG5cbiAgLyoqIENyZWF0ZXMgYSBEYXRlIGZyb20gYSB2YWxpZCBpbnB1dCAoRGF0ZSwgc3RyaW5nIG9yIG51bWJlciBpbiBzZWNvbmRzKS4gKi9cbiAgcHVibGljIG92ZXJyaWRlIGRlc2VyaWFsaXplKGRhdGU6IFNiYkRhdGVMaWtlIHwgbnVsbCB8IHVuZGVmaW5lZCk6IERhdGUgfCBudWxsIHtcbiAgICBpZiAodHlwZW9mIGRhdGUgPT09ICdzdHJpbmcnKSB7XG4gICAgICBpZiAoIWRhdGUpIHtcbiAgICAgICAgcmV0dXJuIG51bGw7XG4gICAgICB9IGVsc2UgaWYgKCFOdW1iZXIuaXNOYU4oK2RhdGUpKSB7XG4gICAgICAgIHJldHVybiB0aGlzLmdldFZhbGlkRGF0ZU9yTnVsbChuZXcgRGF0ZSgrZGF0ZSAqIDEwMDApKTtcblxuICAgICAgICAvLyBUaGUgYERhdGVgIGNvbnN0cnVjdG9yIGFjY2VwdHMgZm9ybWF0cyBvdGhlciB0aGFuIElTTyA4NjAxLCBzbyB3ZSBuZWVkIHRvIG1ha2Ugc3VyZSB0aGVcbiAgICAgICAgLy8gc3RyaW5nIGlzIHRoZSByaWdodCBmb3JtYXQgZmlyc3QuXG4gICAgICB9IGVsc2UgaWYgKElTT184NjAxX1JFR0VYLnRlc3QoZGF0ZSkpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuZ2V0VmFsaWREYXRlT3JOdWxsKG5ldyBEYXRlKGRhdGUuaW5jbHVkZXMoJ1QnKSA/IGRhdGUgOiBkYXRlICsgJ1QwMDowMDowMCcpKTtcbiAgICAgIH1cbiAgICB9IGVsc2UgaWYgKHR5cGVvZiBkYXRlID09PSAnbnVtYmVyJykge1xuICAgICAgcmV0dXJuIHRoaXMuZ2V0VmFsaWREYXRlT3JOdWxsKG5ldyBEYXRlKGRhdGUgKiAxMDAwKSk7XG4gICAgfVxuICAgIHJldHVybiBzdXBlci5kZXNlcmlhbGl6ZShkYXRlKTtcbiAgfVxuXG4gIC8qKiBSZXR1cm5zIHRoZSByaWdodCBmb3JtYXQgZm9yIHRoZSBgdmFsdWVBc0RhdGVgIHByb3BlcnR5LiAqL1xuICBwdWJsaWMgcGFyc2UodmFsdWU6IHN0cmluZyB8IG51bGwgfCB1bmRlZmluZWQsIG5vdzogRGF0ZSA9IHRoaXMudG9kYXkoKSk6IERhdGUgfCBudWxsIHtcbiAgICBpZiAoIXZhbHVlKSB7XG4gICAgICByZXR1cm4gbnVsbDtcbiAgICB9XG5cbiAgICBsZXQgZGF0ZTogRGF0ZSB8IG51bGwgPSBudWxsO1xuICAgIGNvbnN0IGlzb01hdGNoID0gdmFsdWUubWF0Y2goSVNPODYwMV9GT1JNQVRfREFURSk7XG4gICAgdHJ5IHtcbiAgICAgIGRhdGUgPSBpc29NYXRjaCA/IHRoaXMuY3JlYXRlRGF0ZSgraXNvTWF0Y2hbMV0sICtpc29NYXRjaFsyXSwgK2lzb01hdGNoWzNdKSA6IG51bGw7XG4gICAgfSBjYXRjaCB7XG4gICAgICAvKiBlbXB0eSAqL1xuICAgIH1cbiAgICBpZiAodGhpcy5pc1ZhbGlkKGRhdGUpKSB7XG4gICAgICByZXR1cm4gZGF0ZTtcbiAgICB9XG5cbiAgICBjb25zdCBzdHJpcHBlZFZhbHVlID0gdmFsdWUucmVwbGFjZSgvXFxEL2csICcgJykudHJpbSgpO1xuXG4gICAgY29uc3QgbWF0Y2g6IFJlZ0V4cE1hdGNoQXJyYXkgfCBudWxsIHwgdW5kZWZpbmVkID0gc3RyaXBwZWRWYWx1ZT8ubWF0Y2goRk9STUFUX0RBVEUpO1xuICAgIGlmIChcbiAgICAgICFtYXRjaCB8fFxuICAgICAgbWF0Y2guaW5kZXggIT09IDAgfHxcbiAgICAgIG1hdGNoLmxlbmd0aCA8PSAyIHx8XG4gICAgICBtYXRjaC5zb21lKChlKSA9PiBlID09PSB1bmRlZmluZWQpIHx8XG4gICAgICAhdGhpcy5pc1ZhbGlkKHRoaXMuY3JlYXRlRGF0ZSgrbWF0Y2hbM10sICttYXRjaFsyXSwgK21hdGNoWzFdKSlcbiAgICApIHtcbiAgICAgIHJldHVybiBudWxsO1xuICAgIH1cblxuICAgIGxldCB5ZWFyID0gK21hdGNoWzNdO1xuXG4gICAgaWYgKHR5cGVvZiB5ZWFyID09PSAnbnVtYmVyJyAmJiB5ZWFyIDwgMTAwICYmIHllYXIgPj0gMCkge1xuICAgICAgY29uc3Qgc2hpZnQgPSBub3cuZ2V0RnVsbFllYXIoKSAtIDIwMDAgKyB0aGlzLl9jdXRvZmZZZWFyT2Zmc2V0O1xuICAgICAgeWVhciA9IHllYXIgPD0gc2hpZnQgPyAyMDAwICsgeWVhciA6IDE5MDAgKyB5ZWFyO1xuICAgIH1cblxuICAgIHJldHVybiBuZXcgRGF0ZSh5ZWFyLCArbWF0Y2hbMl0gLSAxLCArbWF0Y2hbMV0pO1xuICB9XG5cbiAgcHVibGljIG92ZXJyaWRlIGludmFsaWQoKTogRGF0ZSB7XG4gICAgcmV0dXJuIG5ldyBEYXRlKE5hTik7XG4gIH1cblxuICAvKipcbiAgICogQ3JlYXRlcyBhbiBhcnJheSB3aXRoIHRoZSBnaXZlbiBsZW5ndGggYW5kIGZpbGxzIGl0IGJ5IG1hcHBpbmcgd2l0aCB0aGUgcHJvdmlkZWQgZnVuY3Rpb24uXG4gICAqIEBwYXJhbSBsZW5ndGggVGhlIGxlbmd0aCBvZiB0aGUgYXJyYXkgdG8gYmUgY3JlYXRlZC5cbiAgICogQHBhcmFtIHZhbHVlRnVuY3Rpb24gVGhlIGZ1bmN0aW9uIG9mIGFycmF5J3MgaW5kZXggdXNlZCB0byBmaWxsIHRoZSBhcnJheS5cbiAgICovXG4gIHByaXZhdGUgX3JhbmdlPFQ+KGxlbmd0aDogbnVtYmVyLCB2YWx1ZUZ1bmN0aW9uOiAoaW5kZXg6IG51bWJlcikgPT4gVCk6IFRbXSB7XG4gICAgcmV0dXJuIEFycmF5LmZyb20oeyBsZW5ndGggfSkubWFwKChfLCBpKSA9PiB2YWx1ZUZ1bmN0aW9uKGkpKTtcbiAgfVxuXG4gIC8qKiBDcmVhdGVzIGEgZGF0ZSBidXQgYWxsb3dzIHRoZSBtb250aCBhbmQgZGF0ZSB0byBvdmVyZmxvdy4gKi9cbiAgcHJpdmF0ZSBfY3JlYXRlRGF0ZVdpdGhPdmVyZmxvdyh5ZWFyOiBudW1iZXIsIG1vbnRoOiBudW1iZXIsIGRhdGU6IG51bWJlcik6IERhdGUge1xuICAgIGNvbnN0IHJlc3VsdCA9IG5ldyBEYXRlKHllYXIsIG1vbnRoLCBkYXRlKTtcbiAgICAvLyBXZSBuZWVkIHRvIGNvcnJlY3QgZm9yIHRoZSBmYWN0IHRoYXQgSlMgbmF0aXZlIERhdGUgdHJlYXRzIHllYXJzIGluIHJhbmdlIFswLCA5OV0gYXNcbiAgICAvLyBhYmJyZXZpYXRpb25zIGZvciAxOXh4LlxuICAgIGlmICh5ZWFyID49IDAgJiYgeWVhciA8IDEwMCkge1xuICAgICAgcmVzdWx0LnNldEZ1bGxZZWFyKHRoaXMuZ2V0WWVhcihyZXN1bHQpIC0gMTkwMCk7XG4gICAgfVxuICAgIHJldHVybiByZXN1bHQ7XG4gIH1cbn1cblxuZXhwb3J0IGNvbnN0IGRlZmF1bHREYXRlQWRhcHRlciA9IG5ldyBOYXRpdmVEYXRlQWRhcHRlcigpO1xuIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7O0FBVUEsTUFBTSxpQkFDSjtBQUVJLE1BQU8sMEJBQTBCLFlBQWlCO0FBQUEsRUFHdEQsWUFBbUIsbUJBQTJCLElBQUU7O0FBRTlDLFNBQUssb0JBQW9CO0FBQUEsRUFBQTtBQUFBO0FBQUEsRUFJcEIsUUFBUSxNQUFVO0FBQ3ZCLFdBQU8sS0FBSyxZQUFXO0FBQUEsRUFBQTtBQUFBO0FBQUEsRUFJbEIsU0FBUyxNQUFVO0FBQ2pCLFdBQUEsS0FBSyxhQUFhO0FBQUEsRUFBQTtBQUFBO0FBQUEsRUFJcEIsUUFBUSxNQUFVO0FBQ3ZCLFdBQU8sS0FBSyxRQUFPO0FBQUEsRUFB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
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"datetime.d.ts","sourceRoot":"","sources":["../../../../src/elements/core/datetime.ts"],"names":[],"mappings":"AAAA,cAAc,4BAA4B,CAAC;AAC3C,cAAc,mCAAmC,CAAC"}
|
|
1
|
+
{"version":3,"file":"datetime.d.ts","sourceRoot":"","sources":["../../../../src/elements/core/datetime.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,cAAc,4BAA4B,CAAC;AAC3C,cAAc,mCAAmC,CAAC"}
|
|
@@ -1,300 +1,5 @@
|
|
|
1
|
-
import {
|
|
2
|
-
|
|
3
|
-
const MONTHS_PER_ROW = 4;
|
|
4
|
-
const YEARS_PER_ROW = 4;
|
|
5
|
-
const MONTHS_PER_PAGE = 12;
|
|
6
|
-
const YEARS_PER_PAGE = 24;
|
|
7
|
-
const FORMAT_DATE = /(^0?[1-9]?|[12]?[0-9]?|3?[01]?)[.,\\/\-\s](0?[1-9]?|1?[0-2]?)?[.,\\/\-\s](\d{1,4}$)?/;
|
|
8
|
-
const ISO8601_FORMAT_DATE = /^(\d{4})-(\d{2})-(\d{2})$/;
|
|
9
|
-
class DateAdapter {
|
|
10
|
-
/**
|
|
11
|
-
* Attempts to deserialize a value to a valid date object. This is different from parsing in that
|
|
12
|
-
* deserialize should only accept non-ambiguous, locale-independent formats (e.g. a ISO 8601
|
|
13
|
-
* string). The default implementation does not allow any deserialization, it simply checks that
|
|
14
|
-
* the given value is already a valid date object or null.
|
|
15
|
-
* @param value Either Date, ISOString, Unix Timestamp (number of seconds since Jan 1, 1970).
|
|
16
|
-
* @returns The date if the input is valid, `null` otherwise.
|
|
17
|
-
*/
|
|
18
|
-
deserialize(value) {
|
|
19
|
-
if (value == null || this.isDateInstance(value) && this.isValid(value)) {
|
|
20
|
-
return value;
|
|
21
|
-
}
|
|
22
|
-
return this.invalid();
|
|
23
|
-
}
|
|
24
|
-
/**
|
|
25
|
-
* Format the given date as string.
|
|
26
|
-
* @param date The date to format.
|
|
27
|
-
* @param options options object with weekdayStyle as property
|
|
28
|
-
*/
|
|
29
|
-
format(date, options) {
|
|
30
|
-
if (!this.isValid(date)) {
|
|
31
|
-
return "";
|
|
32
|
-
}
|
|
33
|
-
const value = /* @__PURE__ */ new Date(this.toIso8601(date) + "T00:00:00");
|
|
34
|
-
const dateFormatter = new Intl.DateTimeFormat("de-CH", {
|
|
35
|
-
day: "2-digit",
|
|
36
|
-
month: "2-digit",
|
|
37
|
-
year: "numeric"
|
|
38
|
-
});
|
|
39
|
-
if ((options == null ? void 0 : options.weekdayStyle) === "none") {
|
|
40
|
-
return dateFormatter.format(value);
|
|
41
|
-
}
|
|
42
|
-
const weekdayStyle = (options == null ? void 0 : options.weekdayStyle) ?? "short";
|
|
43
|
-
let weekday = this.getDayOfWeekNames(weekdayStyle)[this.getDayOfWeek(date)];
|
|
44
|
-
weekday = weekday.charAt(0).toUpperCase() + weekday.substring(1);
|
|
45
|
-
if (weekdayStyle === "short") {
|
|
46
|
-
weekday = weekday.substring(0, 2);
|
|
47
|
-
}
|
|
48
|
-
return `${weekday}, ${dateFormatter.format(value)}`;
|
|
49
|
-
}
|
|
50
|
-
/**
|
|
51
|
-
* Get the given date as ISO String.
|
|
52
|
-
* @param date The date to convert to ISO String.
|
|
53
|
-
*/
|
|
54
|
-
toIso8601(date) {
|
|
55
|
-
const pad = (value, length = 2) => `${value}`.padStart(length, "0");
|
|
56
|
-
return `${pad(this.getYear(date), 4)}-${pad(this.getMonth(date))}-${pad(this.getDate(date))}`;
|
|
57
|
-
}
|
|
58
|
-
/**
|
|
59
|
-
* Given a potential date object, returns that same date object if it is
|
|
60
|
-
* a valid date, or `null` if it's not a valid date.
|
|
61
|
-
* @param value The object to check.
|
|
62
|
-
* @returns A date or `null`.
|
|
63
|
-
*/
|
|
64
|
-
getValidDateOrNull(value) {
|
|
65
|
-
return this.isDateInstance(value) && this.isValid(value) ? value : null;
|
|
66
|
-
}
|
|
67
|
-
/**
|
|
68
|
-
* Calculates the day of the week of the first day of the month, and then its offset from the first day of the week.
|
|
69
|
-
*/
|
|
70
|
-
getFirstWeekOffset(date) {
|
|
71
|
-
const firstOfMonth = this.createDate(this.getYear(date), this.getMonth(date), 1);
|
|
72
|
-
return (DAYS_PER_ROW + this.getDayOfWeek(firstOfMonth) - this.getFirstDayOfWeek()) % DAYS_PER_ROW;
|
|
73
|
-
}
|
|
74
|
-
/**
|
|
75
|
-
* Compares two dates.
|
|
76
|
-
* @param first The first date to compare.
|
|
77
|
-
* @param second The second date to compare.
|
|
78
|
-
* @returns 0 if the dates are equal, a number less than 0 if the first date is earlier,
|
|
79
|
-
* a number greater than 0 if the first date is later.
|
|
80
|
-
*/
|
|
81
|
-
compareDate(first, second) {
|
|
82
|
-
return this.getYear(first) - this.getYear(second) || this.getMonth(first) - this.getMonth(second) || this.getDate(first) - this.getDate(second);
|
|
83
|
-
}
|
|
84
|
-
/**
|
|
85
|
-
* Checks if two dates are equal.
|
|
86
|
-
* @param first The first date to check.
|
|
87
|
-
* @param second The second date to check.
|
|
88
|
-
* @returns Whether the two dates are equal.
|
|
89
|
-
* Null dates are considered equal to other null dates.
|
|
90
|
-
*/
|
|
91
|
-
sameDate(first, second) {
|
|
92
|
-
if (first && second) {
|
|
93
|
-
const firstValid = this.isValid(first);
|
|
94
|
-
const secondValid = this.isValid(second);
|
|
95
|
-
if (firstValid && secondValid) {
|
|
96
|
-
return !this.compareDate(first, second);
|
|
97
|
-
}
|
|
98
|
-
return firstValid == secondValid;
|
|
99
|
-
}
|
|
100
|
-
return first == second;
|
|
101
|
-
}
|
|
102
|
-
/**
|
|
103
|
-
* Clamp the given date between min and max dates.
|
|
104
|
-
* @param date The date to clamp.
|
|
105
|
-
* @param min The minimum value to allow. If null or omitted no min is enforced.
|
|
106
|
-
* @param max The maximum value to allow. If null or omitted no max is enforced.
|
|
107
|
-
* @returns `min` if `date` is less than `min`, `max` if date is greater than `max`,
|
|
108
|
-
* otherwise `date`.
|
|
109
|
-
*/
|
|
110
|
-
clampDate(date, min, max) {
|
|
111
|
-
if (min && this.compareDate(date, min) < 0) {
|
|
112
|
-
return min;
|
|
113
|
-
}
|
|
114
|
-
if (max && this.compareDate(date, max) > 0) {
|
|
115
|
-
return max;
|
|
116
|
-
}
|
|
117
|
-
return date;
|
|
118
|
-
}
|
|
119
|
-
}
|
|
120
|
-
const ISO_8601_REGEX = /^\d{4}-\d{2}-\d{2}(?:T\d{2}:\d{2}:\d{2}(?:\.\d+)?(?:Z|(?:(?:\+|-)\d{2}:\d{2}))?)?$/;
|
|
121
|
-
class NativeDateAdapter extends DateAdapter {
|
|
122
|
-
constructor(cutoffYearOffset = 15) {
|
|
123
|
-
super();
|
|
124
|
-
this._cutoffYearOffset = cutoffYearOffset;
|
|
125
|
-
}
|
|
126
|
-
/** Gets the year of the input date. */
|
|
127
|
-
getYear(date) {
|
|
128
|
-
return date.getFullYear();
|
|
129
|
-
}
|
|
130
|
-
/** Gets the month of the input date. */
|
|
131
|
-
getMonth(date) {
|
|
132
|
-
return date.getMonth() + 1;
|
|
133
|
-
}
|
|
134
|
-
/** Gets the day of the input date. */
|
|
135
|
-
getDate(date) {
|
|
136
|
-
return date.getDate();
|
|
137
|
-
}
|
|
138
|
-
/** Gets the day of the week of the input date. */
|
|
139
|
-
getDayOfWeek(date) {
|
|
140
|
-
return date.getDay();
|
|
141
|
-
}
|
|
142
|
-
/** Gets the date in the local format. */
|
|
143
|
-
getAccessibilityFormatDate(date) {
|
|
144
|
-
const options = {
|
|
145
|
-
year: "numeric",
|
|
146
|
-
month: "long",
|
|
147
|
-
day: "numeric"
|
|
148
|
-
};
|
|
149
|
-
return new Intl.DateTimeFormat(SbbLanguageController.current, options).format(new Date(date));
|
|
150
|
-
}
|
|
151
|
-
/**
|
|
152
|
-
* Creates an array of strings with length = 12, filled with the name of the months starting from January, in the document language.
|
|
153
|
-
* @param style See `month` in `DateTimeFormatOptions`: `long` for full name, `short` for short name, `narrow` for single letter,
|
|
154
|
-
* E.g., with January in en-gb: `long` returns "January", `short` returns "Jan", `narrow` returns "J".
|
|
155
|
-
*/
|
|
156
|
-
getMonthNames(style) {
|
|
157
|
-
const formatter = new Intl.DateTimeFormat(SbbLanguageController.current, { month: style });
|
|
158
|
-
return this._range(12, (i) => formatter.format(new Date(2017, i, 1)));
|
|
159
|
-
}
|
|
160
|
-
/** Creates a string array with length = 31, filled with the days in a month, starting from 1. */
|
|
161
|
-
getDateNames() {
|
|
162
|
-
const formatter = new Intl.DateTimeFormat(SbbLanguageController.current, { day: "numeric" });
|
|
163
|
-
return this._range(31, (i) => formatter.format(new Date(2017, 0, i + 1)));
|
|
164
|
-
}
|
|
165
|
-
/**
|
|
166
|
-
* Creates a string array with length = 7, filled with the name of the days in a week starting from Sunday, in the document language.
|
|
167
|
-
* @param style See `weekday` in `DateTimeFormatOptions` - 'long' for full name, 'short' for short name, 'narrow' for single letter;
|
|
168
|
-
* E.g., with Monday in en-gb: `long` returns "Monday", `short` returns "Mon", `narrow` returns "M".
|
|
169
|
-
*/
|
|
170
|
-
getDayOfWeekNames(style) {
|
|
171
|
-
const formatter = new Intl.DateTimeFormat(SbbLanguageController.current, { weekday: style });
|
|
172
|
-
return this._range(7, (i) => formatter.format(new Date(2017, 0, i + 1)));
|
|
173
|
-
}
|
|
174
|
-
/* Defines which is the first day of the week (0: sunday; 1: monday; etc.). */
|
|
175
|
-
getFirstDayOfWeek() {
|
|
176
|
-
return 1;
|
|
177
|
-
}
|
|
178
|
-
/** Calculates the number of days in a month given the year and the month. */
|
|
179
|
-
getNumDaysInMonth(date) {
|
|
180
|
-
return this.getDate(this._createDateWithOverflow(this.getYear(date), this.getMonth(date), 0));
|
|
181
|
-
}
|
|
182
|
-
/** Creates today's date. */
|
|
183
|
-
today() {
|
|
184
|
-
return new Date((/* @__PURE__ */ new Date()).setHours(0, 0, 0, 0));
|
|
185
|
-
}
|
|
186
|
-
/** Creates a new date, given day, month and year; the method doesn't allow date's overflow. */
|
|
187
|
-
createDate(year, month, date) {
|
|
188
|
-
if (month < 1 || month > 12) {
|
|
189
|
-
throw Error(`Invalid month index "${month}". Month index has to be between 1 and 12.`);
|
|
190
|
-
}
|
|
191
|
-
if (date < 1) {
|
|
192
|
-
throw Error(`Invalid date "${date}". Date has to be greater than 0.`);
|
|
193
|
-
}
|
|
194
|
-
const result = this._createDateWithOverflow(year, month - 1, date);
|
|
195
|
-
if (result.getMonth() + 1 !== month) {
|
|
196
|
-
throw Error(`Invalid date "${date}" for month with index "${month}".`);
|
|
197
|
-
}
|
|
198
|
-
return result;
|
|
199
|
-
}
|
|
200
|
-
/** Checks whether the given `obj` is a Date. */
|
|
201
|
-
isDateInstance(obj) {
|
|
202
|
-
return obj instanceof Date;
|
|
203
|
-
}
|
|
204
|
-
/** Checks whether the given `date` is a valid Date. */
|
|
205
|
-
isValid(date) {
|
|
206
|
-
return !!date && !isNaN(date.valueOf());
|
|
207
|
-
}
|
|
208
|
-
/** Creates a new date by cloning the given one. */
|
|
209
|
-
clone(date) {
|
|
210
|
-
return new Date(date.valueOf());
|
|
211
|
-
}
|
|
212
|
-
/**
|
|
213
|
-
* Creates a new date adding the number of provided `years` to the provided `date`.
|
|
214
|
-
* @param date The starting date.
|
|
215
|
-
* @param years The number of years to add.
|
|
216
|
-
*/
|
|
217
|
-
addCalendarYears(date, years) {
|
|
218
|
-
return this.addCalendarMonths(date, years * 12);
|
|
219
|
-
}
|
|
220
|
-
/**
|
|
221
|
-
* Creates a new date adding the number of provided `months` to the provided `date`.
|
|
222
|
-
* If the calculated month has fewer days than the original one, the date is set to the last day of the month.
|
|
223
|
-
* E.g., with `date` = new Date(2022, 0, 31) and `months` = 1, it returns new Date(2022, 1, 28).
|
|
224
|
-
*/
|
|
225
|
-
addCalendarMonths(date, months) {
|
|
226
|
-
const targetMonth = date.getMonth() + months;
|
|
227
|
-
const dateWithCorrectMonth = new Date(date.getFullYear(), targetMonth, 1, 0, 0, 0, 0);
|
|
228
|
-
const daysInMonth = this.getNumDaysInMonth(dateWithCorrectMonth);
|
|
229
|
-
return new Date(this.clone(date).setMonth(targetMonth, Math.min(daysInMonth, date.getDate())));
|
|
230
|
-
}
|
|
231
|
-
/** Creates a new date by adding the number of provided `days` to the provided `date`. */
|
|
232
|
-
addCalendarDays(date, days) {
|
|
233
|
-
const targetDay = date.getDate() + days;
|
|
234
|
-
return new Date(date.getFullYear(), date.getMonth(), targetDay, 0, 0, 0, 0);
|
|
235
|
-
}
|
|
236
|
-
/** Creates a Date from a valid input (Date, string or number in seconds). */
|
|
237
|
-
deserialize(date) {
|
|
238
|
-
if (typeof date === "string") {
|
|
239
|
-
if (!date) {
|
|
240
|
-
return null;
|
|
241
|
-
} else if (!Number.isNaN(+date)) {
|
|
242
|
-
return this.getValidDateOrNull(new Date(+date * 1e3));
|
|
243
|
-
} else if (ISO_8601_REGEX.test(date)) {
|
|
244
|
-
return this.getValidDateOrNull(new Date(date.includes("T") ? date : date + "T00:00:00"));
|
|
245
|
-
}
|
|
246
|
-
} else if (typeof date === "number") {
|
|
247
|
-
return this.getValidDateOrNull(new Date(date * 1e3));
|
|
248
|
-
}
|
|
249
|
-
return super.deserialize(date);
|
|
250
|
-
}
|
|
251
|
-
/** Returns the right format for the `valueAsDate` property. */
|
|
252
|
-
parse(value, now = this.today()) {
|
|
253
|
-
if (!value) {
|
|
254
|
-
return null;
|
|
255
|
-
}
|
|
256
|
-
let date = null;
|
|
257
|
-
const isoMatch = value.match(ISO8601_FORMAT_DATE);
|
|
258
|
-
try {
|
|
259
|
-
date = isoMatch ? this.createDate(+isoMatch[1], +isoMatch[2], +isoMatch[3]) : null;
|
|
260
|
-
} catch {
|
|
261
|
-
}
|
|
262
|
-
if (this.isValid(date)) {
|
|
263
|
-
return date;
|
|
264
|
-
}
|
|
265
|
-
const strippedValue = value.replace(/\D/g, " ").trim();
|
|
266
|
-
const match = strippedValue == null ? void 0 : strippedValue.match(FORMAT_DATE);
|
|
267
|
-
if (!match || match.index !== 0 || match.length <= 2 || match.some((e) => e === void 0) || !this.isValid(this.createDate(+match[3], +match[2], +match[1]))) {
|
|
268
|
-
return null;
|
|
269
|
-
}
|
|
270
|
-
let year = +match[3];
|
|
271
|
-
if (typeof year === "number" && year < 100 && year >= 0) {
|
|
272
|
-
const shift = now.getFullYear() - 2e3 + this._cutoffYearOffset;
|
|
273
|
-
year = year <= shift ? 2e3 + year : 1900 + year;
|
|
274
|
-
}
|
|
275
|
-
return new Date(year, +match[2] - 1, +match[1]);
|
|
276
|
-
}
|
|
277
|
-
invalid() {
|
|
278
|
-
return /* @__PURE__ */ new Date(NaN);
|
|
279
|
-
}
|
|
280
|
-
/**
|
|
281
|
-
* Creates an array with the given length and fills it by mapping with the provided function.
|
|
282
|
-
* @param length The length of the array to be created.
|
|
283
|
-
* @param valueFunction The function of array's index used to fill the array.
|
|
284
|
-
*/
|
|
285
|
-
_range(length, valueFunction) {
|
|
286
|
-
return Array.from({ length }).map((_, i) => valueFunction(i));
|
|
287
|
-
}
|
|
288
|
-
/** Creates a date but allows the month and date to overflow. */
|
|
289
|
-
_createDateWithOverflow(year, month, date) {
|
|
290
|
-
const result = new Date(year, month, date);
|
|
291
|
-
if (year >= 0 && year < 100) {
|
|
292
|
-
result.setFullYear(this.getYear(result) - 1900);
|
|
293
|
-
}
|
|
294
|
-
return result;
|
|
295
|
-
}
|
|
296
|
-
}
|
|
297
|
-
const defaultDateAdapter = new NativeDateAdapter();
|
|
1
|
+
import { DAYS_PER_ROW, DateAdapter, FORMAT_DATE, ISO8601_FORMAT_DATE, MONTHS_PER_PAGE, MONTHS_PER_ROW, YEARS_PER_PAGE, YEARS_PER_ROW } from "./datetime/date-adapter.js";
|
|
2
|
+
import { NativeDateAdapter, defaultDateAdapter } from "./datetime/native-date-adapter.js";
|
|
298
3
|
export {
|
|
299
4
|
DAYS_PER_ROW,
|
|
300
5
|
DateAdapter,
|
|
@@ -307,4 +12,4 @@ export {
|
|
|
307
12
|
YEARS_PER_ROW,
|
|
308
13
|
defaultDateAdapter
|
|
309
14
|
};
|
|
310
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0ZXRpbWUuanMiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9lbGVtZW50cy9jb3JlL2RhdGV0aW1lL2RhdGUtYWRhcHRlci50cyIsIi4uLy4uLy4uLy4uL3NyYy9lbGVtZW50cy9jb3JlL2RhdGV0aW1lL25hdGl2ZS1kYXRlLWFkYXB0ZXIudHMiXSwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGNvbnN0IERBWVNfUEVSX1JPVzogbnVtYmVyID0gNztcbmV4cG9ydCBjb25zdCBNT05USFNfUEVSX1JPVzogbnVtYmVyID0gNDtcbmV4cG9ydCBjb25zdCBZRUFSU19QRVJfUk9XOiBudW1iZXIgPSA0O1xuZXhwb3J0IGNvbnN0IE1PTlRIU19QRVJfUEFHRTogbnVtYmVyID0gMTI7XG5leHBvcnQgY29uc3QgWUVBUlNfUEVSX1BBR0U6IG51bWJlciA9IDI0O1xuZXhwb3J0IGNvbnN0IEZPUk1BVF9EQVRFID1cbiAgLyheMD9bMS05XT98WzEyXT9bMC05XT98Mz9bMDFdPylbLixcXFxcL1xcLVxcc10oMD9bMS05XT98MT9bMC0yXT8pP1suLFxcXFwvXFwtXFxzXShcXGR7MSw0fSQpPy87XG5leHBvcnQgY29uc3QgSVNPODYwMV9GT1JNQVRfREFURSA9IC9eKFxcZHs0fSktKFxcZHsyfSktKFxcZHsyfSkkLztcblxuLyoqXG4gKiBBYnN0cmFjdCBkYXRlIGZ1bmN0aW9uYWxpdHkuXG4gKlxuICogQWRhcHRlZCBmcm9tIGh0dHBzOi8vZ2l0aHViLmNvbS9hbmd1bGFyL2NvbXBvbmVudHMvYmxvYi9tYWluL3NyYy9tYXRlcmlhbC9jb3JlL2RhdGV0aW1lL2RhdGUtYWRhcHRlci50c1xuICovXG5leHBvcnQgYWJzdHJhY3QgY2xhc3MgRGF0ZUFkYXB0ZXI8VCA9IGFueT4ge1xuICAvKipcbiAgICogR2V0IHRoZSB5ZWFyIGFzIGEgbnVtYmVyLlxuICAgKiBAcGFyYW0gZGF0ZVxuICAgKi9cbiAgcHVibGljIGFic3RyYWN0IGdldFllYXIoZGF0ZTogVCk6IG51bWJlcjtcblxuICAvKipcbiAgICogR2V0IHRoZSBtb250aCBhcyBhIG51bWJlci5cbiAgICogQXR0ZW50aW9uOiBUaGlzIHJldHVybnMgMS0xMiBhbmQgbWl0aWdhdGVzIHRoZSBkZWZhdWx0IEphdmFTY3JpcHQgRGF0ZSBiZWhhdmlvci5cbiAgICogQHBhcmFtIGRhdGVcbiAgICovXG4gIHB1YmxpYyBhYnN0cmFjdCBnZXRNb250aChkYXRlOiBUKTogbnVtYmVyO1xuXG4gIC8qKlxuICAgKiBHZXQgdGhlIGRheSBvZiB0aGUgbW9udGggYXMgYSBudW1iZXIuXG4gICAqIEBwYXJhbSBkYXRlXG4gICAqL1xuICBwdWJsaWMgYWJzdHJhY3QgZ2V0RGF0ZShkYXRlOiBUKTogbnVtYmVyO1xuXG4gIC8qKlxuICAgKiBHZXQgdGhlIERheSBvZiB0aGUgd2VlayBhcyBhIG51bWJlci5cbiAgICogQHBhcmFtIGRhdGVcbiAgICovXG4gIHB1YmxpYyBhYnN0cmFjdCBnZXREYXlPZldlZWsoZGF0ZTogVCk6IG51bWJlcjtcblxuICAvKiogR2V0IHRoZSBmaXJzdCBkYXkgb2YgdGhlIHdlZWsgKDA6IHN1bmRheTsgMTogbW9uZGF5OyBldGMuKS4gKi9cbiAgcHVibGljIGFic3RyYWN0IGdldEZpcnN0RGF5T2ZXZWVrKCk6IG51bWJlcjtcblxuICAvKipcbiAgICogR2V0IHRoZSBudW1iZXIgb2YgZGF5cyBpbiBhIG1vbnRoLlxuICAgKiBAcGFyYW0geWVhclxuICAgKiBAcGFyYW0gbW9udGhcbiAgICovXG4gIHB1YmxpYyBhYnN0cmFjdCBnZXROdW1EYXlzSW5Nb250aChkYXRlOiBUKTogbnVtYmVyO1xuXG4gIC8qKlxuICAgKiBHZXQgYSBsaXN0IG9mIGFsbCB0aGUgbW9udGhzIGluIGEgZ2l2ZW4gc3R5bGUuXG4gICAqIEBwYXJhbSBzdHlsZVxuICAgKi9cbiAgcHVibGljIGFic3RyYWN0IGdldE1vbnRoTmFtZXMoc3R5bGU6ICdsb25nJyB8ICdzaG9ydCcgfCAnbmFycm93Jyk6IHN0cmluZ1tdO1xuXG4gIC8qKiBHZXQgYSBzdHJpbmcgYXJyYXkgd2l0aCBsZW5ndGggPSAzMSwgZmlsbGVkIHdpdGggdGhlIGRheXMgaW4gYSBtb250aCwgc3RhcnRpbmcgZnJvbSAxLiAqL1xuICBwdWJsaWMgYWJzdHJhY3QgZ2V0RGF0ZU5hbWVzKCk6IHN0cmluZ1tdO1xuXG4gIC8qKlxuICAgKiBHZXQgYSBsaXN0IG9mIGFsbCB0aGUgd2VlayBkYXlzIGluIGEgZ2l2ZW4gc3R5bGUuXG4gICAqIEBwYXJhbSBzdHlsZVxuICAgKi9cbiAgcHVibGljIGFic3RyYWN0IGdldERheU9mV2Vla05hbWVzKHN0eWxlOiAnbG9uZycgfCAnc2hvcnQnIHwgJ25hcnJvdycpOiBzdHJpbmdbXTtcblxuICAvKiogQ3JlYXRlcyB0b2RheSdzIGRhdGUuICovXG4gIHB1YmxpYyBhYnN0cmFjdCB0b2RheSgpOiBUO1xuXG4gIC8qKlxuICAgKiBDaGVja3Mgd2hldGhlciBhIGdpdmVuIGBkYXRlYCBpcyB2YWxpZC5cbiAgICogQHBhcmFtIGRhdGVcbiAgICovXG4gIHB1YmxpYyBhYnN0cmFjdCBpc1ZhbGlkKGRhdGU6IFQgfCBudWxsIHwgdW5kZWZpbmVkKTogZGF0ZSBpcyBUO1xuXG4gIC8qKlxuICAgKiBDcmVhdGVzIGEgbmV3IGRhdGUgYnkgY2xvbmluZyB0aGUgZ2l2ZW4gb25lLlxuICAgKiBAcGFyYW0gZGF0ZVxuICAgKi9cbiAgcHVibGljIGFic3RyYWN0IGNsb25lKGRhdGU6IFQpOiBUO1xuXG4gIC8qKlxuICAgKiBDcmVhdGVzIGEgbmV3IGRhdGUsIGdpdmVuIGRheSwgbW9udGggYW5kIHllYXI7IHdpdGhvdXQgZGF0ZSdzIG92ZXJmbG93LlxuICAgKiBAcGFyYW0geWVhclxuICAgKiBAcGFyYW0gbW9udGggVGhlIG1vbnRoIG9mIHRoZSBkYXRlICgxLWluZGV4ZWQsIDEgPSBKYW51YXJ5KS4gTXVzdCBiZSBhbiBpbnRlZ2VyIDEgLSAxMi5cbiAgICogQHBhcmFtIGRhdGVcbiAgICovXG4gIHB1YmxpYyBhYnN0cmFjdCBjcmVhdGVEYXRlKHllYXI6IG51bWJlciwgbW9udGg6IG51bWJlciwgZGF0ZTogbnVtYmVyKTogVDtcblxuICAvKipcbiAgICogQXR0ZW1wdHMgdG8gZGVzZXJpYWxpemUgYSB2YWx1ZSB0byBhIHZhbGlkIGRhdGUgb2JqZWN0LiBUaGlzIGlzIGRpZmZlcmVudCBmcm9tIHBhcnNpbmcgaW4gdGhhdFxuICAgKiBkZXNlcmlhbGl6ZSBzaG91bGQgb25seSBhY2NlcHQgbm9uLWFtYmlndW91cywgbG9jYWxlLWluZGVwZW5kZW50IGZvcm1hdHMgKGUuZy4gYSBJU08gODYwMVxuICAgKiBzdHJpbmcpLiBUaGUgZGVmYXVsdCBpbXBsZW1lbnRhdGlvbiBkb2VzIG5vdCBhbGxvdyBhbnkgZGVzZXJpYWxpemF0aW9uLCBpdCBzaW1wbHkgY2hlY2tzIHRoYXRcbiAgICogdGhlIGdpdmVuIHZhbHVlIGlzIGFscmVhZHkgYSB2YWxpZCBkYXRlIG9iamVjdCBvciBudWxsLlxuICAgKiBAcGFyYW0gdmFsdWUgRWl0aGVyIERhdGUsIElTT1N0cmluZywgVW5peCBUaW1lc3RhbXAgKG51bWJlciBvZiBzZWNvbmRzIHNpbmNlIEphbiAxLCAxOTcwKS5cbiAgICogQHJldHVybnMgVGhlIGRhdGUgaWYgdGhlIGlucHV0IGlzIHZhbGlkLCBgbnVsbGAgb3RoZXJ3aXNlLlxuICAgKi9cbiAgcHVibGljIGRlc2VyaWFsaXplKHZhbHVlOiBUIHwgc3RyaW5nIHwgbnVtYmVyIHwgbnVsbCB8IHVuZGVmaW5lZCk6IFQgfCBudWxsIHtcbiAgICBpZiAoXG4gICAgICB2YWx1ZSA9PSBudWxsIHx8XG4gICAgICAodGhpcy5pc0RhdGVJbnN0YW5jZSh2YWx1ZSkgJiYgdGhpcy5pc1ZhbGlkKHZhbHVlIGFzIFQgfCBudWxsIHwgdW5kZWZpbmVkKSlcbiAgICApIHtcbiAgICAgIHJldHVybiB2YWx1ZSBhcyBUIHwgbnVsbDtcbiAgICB9XG4gICAgcmV0dXJuIHRoaXMuaW52YWxpZCgpO1xuICB9XG5cbiAgLyoqXG4gICAqIENyZWF0ZXMgYSBuZXcgZGF0ZSBhZGRpbmcgdGhlIG51bWJlciBvZiBwcm92aWRlZCBgeWVhcnNgIHRvIHRoZSBwcm92aWRlZCBgZGF0ZWAuXG4gICAqIEBwYXJhbSBkYXRlIFRoZSBzdGFydGluZyBkYXRlLlxuICAgKiBAcGFyYW0geWVhcnMgVGhlIG51bWJlciBvZiB5ZWFycyB0byBhZGQuXG4gICAqL1xuICBwdWJsaWMgYWJzdHJhY3QgYWRkQ2FsZW5kYXJZZWFycyhkYXRlOiBULCB5ZWFyczogbnVtYmVyKTogVDtcblxuICAvKipcbiAgICogQ3JlYXRlcyBhIG5ldyBkYXRlIGFkZGluZyB0aGUgbnVtYmVyIG9mIHByb3ZpZGVkIGBtb250aHNgIHRvIHRoZSBwcm92aWRlZCBgZGF0ZWAuXG4gICAqIElmIHRoZSBjYWxjdWxhdGVkIG1vbnRoIGhhcyBmZXdlciBkYXlzIHRoYW4gdGhlIG9yaWdpbmFsIG9uZSwgdGhlIGRhdGUgaXMgc2V0IHRvIHRoZSBsYXN0IGRheSBvZiB0aGUgbW9udGguXG4gICAqIEUuZy4gd2l0aCBgZGF0ZWAgPSBuZXcgRGF0ZSgyMDIyLCAwLCAzMSkgYW5kIGBtb250aHNgID0gMSwgaXQgcmV0dXJucyBuZXcgRGF0ZSgyMDIyLCAxLCAyOCkuXG4gICAqIEBwYXJhbSBkYXRlIFRoZSBzdGFydGluZyBkYXRlLlxuICAgKiBAcGFyYW0gbW9udGhzIFRoZSBudW1iZXIgb2YgbW9udGhzIHRvIGFkZC5cbiAgICovXG4gIHB1YmxpYyBhYnN0cmFjdCBhZGRDYWxlbmRhck1vbnRocyhkYXRlOiBULCBtb250aHM6IG51bWJlcik6IFQ7XG5cbiAgLyoqXG4gICAqIENyZWF0ZXMgYSBuZXcgZGF0ZSBieSBhZGRpbmcgdGhlIG51bWJlciBvZiBwcm92aWRlZCBgZGF5c2AgdG8gdGhlIHByb3ZpZGVkIGBkYXRlYC5cbiAgICogQHBhcmFtIGRhdGUgVGhlIHN0YXJ0aW5nIGRhdGUuXG4gICAqIEBwYXJhbSBkYXlzIFRoZSBudW1iZXIgb2YgZGF5cyB0byBhZGQuXG4gICAqL1xuICBwdWJsaWMgYWJzdHJhY3QgYWRkQ2FsZW5kYXJEYXlzKGRhdGU6IFQsIGRheXM6IG51bWJlcik6IFQ7XG5cbiAgLyoqXG4gICAqIEdldCB0aGUgZGF0ZSBpbiB0aGUgbG9jYWwgZm9ybWF0LlxuICAgKiBAcGFyYW0gZGF0ZSBUaGUgZGF0ZSB0byBmb3JtYXRcbiAgICogQHJldHVybnMgVGhlIGBkYXRlYCBpbiB0aGUgbG9jYWwgZm9ybWF0IGFzIHN0cmluZy5cbiAgICovXG4gIHB1YmxpYyBhYnN0cmFjdCBnZXRBY2Nlc3NpYmlsaXR5Rm9ybWF0RGF0ZShkYXRlOiBUIHwgc3RyaW5nKTogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBHZXQgdGhlIGdpdmVuIHN0cmluZyBhcyBEYXRlLlxuICAgKiBAcGFyYW0gdmFsdWUgVGhlIGRhdGUgaW4gdGhlIGZvcm1hdCBERC5NTS5ZWVlZLlxuICAgKiBAcGFyYW0gbm93IFRoZSBjdXJyZW50IGRhdGUgYXMgRGF0ZS5cbiAgICovXG4gIHB1YmxpYyBhYnN0cmFjdCBwYXJzZSh2YWx1ZTogc3RyaW5nIHwgbnVsbCB8IHVuZGVmaW5lZCwgbm93PzogVCk6IFQgfCBudWxsO1xuXG4gIC8qKlxuICAgKiBGb3JtYXQgdGhlIGdpdmVuIGRhdGUgYXMgc3RyaW5nLlxuICAgKiBAcGFyYW0gZGF0ZSBUaGUgZGF0ZSB0byBmb3JtYXQuXG4gICAqIEBwYXJhbSBvcHRpb25zIG9wdGlvbnMgb2JqZWN0IHdpdGggd2Vla2RheVN0eWxlIGFzIHByb3BlcnR5XG4gICAqL1xuICBwdWJsaWMgZm9ybWF0KFxuICAgIGRhdGU6IFQgfCBudWxsIHwgdW5kZWZpbmVkLFxuICAgIG9wdGlvbnM/OiB7IHdlZWtkYXlTdHlsZT86ICdsb25nJyB8ICdzaG9ydCcgfCAnbmFycm93JyB8ICdub25lJyB9LFxuICApOiBzdHJpbmcge1xuICAgIGlmICghdGhpcy5pc1ZhbGlkKGRhdGUpKSB7XG4gICAgICByZXR1cm4gJyc7XG4gICAgfVxuXG4gICAgY29uc3QgdmFsdWUgPSBuZXcgRGF0ZSh0aGlzLnRvSXNvODYwMShkYXRlISkgKyAnVDAwOjAwOjAwJyk7XG4gICAgY29uc3QgZGF0ZUZvcm1hdHRlciA9IG5ldyBJbnRsLkRhdGVUaW1lRm9ybWF0KCdkZS1DSCcsIHtcbiAgICAgIGRheTogJzItZGlnaXQnLFxuICAgICAgbW9udGg6ICcyLWRpZ2l0JyxcbiAgICAgIHllYXI6ICdudW1lcmljJyxcbiAgICB9KTtcblxuICAgIGlmIChvcHRpb25zPy53ZWVrZGF5U3R5bGUgPT09ICdub25lJykge1xuICAgICAgcmV0dXJuIGRhdGVGb3JtYXR0ZXIuZm9ybWF0KHZhbHVlKTtcbiAgICB9XG5cbiAgICBjb25zdCB3ZWVrZGF5U3R5bGUgPSBvcHRpb25zPy53ZWVrZGF5U3R5bGUgPz8gJ3Nob3J0JztcbiAgICBsZXQgd2Vla2RheSA9IHRoaXMuZ2V0RGF5T2ZXZWVrTmFtZXMod2Vla2RheVN0eWxlKVt0aGlzLmdldERheU9mV2VlayhkYXRlISldO1xuICAgIHdlZWtkYXkgPSB3ZWVrZGF5LmNoYXJBdCgwKS50b1VwcGVyQ2FzZSgpICsgd2Vla2RheS5zdWJzdHJpbmcoMSk7XG4gICAgLy8gV2UgaGF2ZSB0aGUgc3BlY2lhbCByZXF1aXJlbWVudCBmb3IgZGF0ZSBmb3JtYXRzIGF0IFNCQiwgd2hlcmUgdGhlIHNob3J0IGZvcm1cbiAgICAvLyBmb3Igd2Vla2RheXMgc2hvdWxkIGJlIHR3byBjaGFyYWN0ZXJzIGluIGxlbmd0aC5cbiAgICBpZiAod2Vla2RheVN0eWxlID09PSAnc2hvcnQnKSB7XG4gICAgICB3ZWVrZGF5ID0gd2Vla2RheS5zdWJzdHJpbmcoMCwgMik7XG4gICAgfVxuXG4gICAgcmV0dXJuIGAke3dlZWtkYXl9LCAke2RhdGVGb3JtYXR0ZXIuZm9ybWF0KHZhbHVlKX1gO1xuICB9XG5cbiAgLyoqXG4gICAqIENoZWNrcyB3aGV0aGVyIHRoZSBnaXZlbiBgb2JqYCBpcyBhIERhdGUuXG4gICAqIEBwYXJhbSBvYmogVGhlIG9iamVjdCB0byBjaGVjay5cbiAgICovXG4gIHB1YmxpYyBhYnN0cmFjdCBpc0RhdGVJbnN0YW5jZShvYmo6IGFueSk6IGJvb2xlYW47XG5cbiAgLyoqXG4gICAqIEdldHMgZGF0ZSBpbnN0YW5jZSB0aGF0IGlzIG5vdCB2YWxpZC5cbiAgICogQHJldHVybnMgQW4gaW52YWxpZCBkYXRlLlxuICAgKi9cbiAgcHVibGljIGFic3RyYWN0IGludmFsaWQoKTogVDtcblxuICAvKipcbiAgICogR2V0IHRoZSBnaXZlbiBkYXRlIGFzIElTTyBTdHJpbmcuXG4gICAqIEBwYXJhbSBkYXRlIFRoZSBkYXRlIHRvIGNvbnZlcnQgdG8gSVNPIFN0cmluZy5cbiAgICovXG4gIHB1YmxpYyB0b0lzbzg2MDEoZGF0ZTogVCk6IHN0cmluZyB7XG4gICAgY29uc3QgcGFkID0gKHZhbHVlOiBudW1iZXIsIGxlbmd0aCA9IDIpOiBzdHJpbmcgPT4gYCR7dmFsdWV9YC5wYWRTdGFydChsZW5ndGgsICcwJyk7XG4gICAgcmV0dXJuIGAke3BhZCh0aGlzLmdldFllYXIoZGF0ZSksIDQpfS0ke3BhZCh0aGlzLmdldE1vbnRoKGRhdGUpKX0tJHtwYWQodGhpcy5nZXREYXRlKGRhdGUpKX1gO1xuICB9XG5cbiAgLyoqXG4gICAqIEdpdmVuIGEgcG90ZW50aWFsIGRhdGUgb2JqZWN0LCByZXR1cm5zIHRoYXQgc2FtZSBkYXRlIG9iamVjdCBpZiBpdCBpc1xuICAgKiBhIHZhbGlkIGRhdGUsIG9yIGBudWxsYCBpZiBpdCdzIG5vdCBhIHZhbGlkIGRhdGUuXG4gICAqIEBwYXJhbSB2YWx1ZSBUaGUgb2JqZWN0IHRvIGNoZWNrLlxuICAgKiBAcmV0dXJucyBBIGRhdGUgb3IgYG51bGxgLlxuICAgKi9cbiAgcHVibGljIGdldFZhbGlkRGF0ZU9yTnVsbCh2YWx1ZTogdW5rbm93bik6IFQgfCBudWxsIHtcbiAgICByZXR1cm4gdGhpcy5pc0RhdGVJbnN0YW5jZSh2YWx1ZSkgJiYgdGhpcy5pc1ZhbGlkKHZhbHVlIGFzIFQpID8gKHZhbHVlIGFzIFQpIDogbnVsbDtcbiAgfVxuXG4gIC8qKlxuICAgKiBDYWxjdWxhdGVzIHRoZSBkYXkgb2YgdGhlIHdlZWsgb2YgdGhlIGZpcnN0IGRheSBvZiB0aGUgbW9udGgsIGFuZCB0aGVuIGl0cyBvZmZzZXQgZnJvbSB0aGUgZmlyc3QgZGF5IG9mIHRoZSB3ZWVrLlxuICAgKi9cbiAgcHVibGljIGdldEZpcnN0V2Vla09mZnNldChkYXRlOiBUKTogbnVtYmVyIHtcbiAgICBjb25zdCBmaXJzdE9mTW9udGggPSB0aGlzLmNyZWF0ZURhdGUodGhpcy5nZXRZZWFyKGRhdGUpLCB0aGlzLmdldE1vbnRoKGRhdGUpLCAxKSE7XG4gICAgcmV0dXJuIChcbiAgICAgIChEQVlTX1BFUl9ST1cgKyB0aGlzLmdldERheU9mV2VlayhmaXJzdE9mTW9udGgpIC0gdGhpcy5nZXRGaXJzdERheU9mV2VlaygpKSAlIERBWVNfUEVSX1JPV1xuICAgICk7XG4gIH1cblxuICAvKipcbiAgICogQ29tcGFyZXMgdHdvIGRhdGVzLlxuICAgKiBAcGFyYW0gZmlyc3QgVGhlIGZpcnN0IGRhdGUgdG8gY29tcGFyZS5cbiAgICogQHBhcmFtIHNlY29uZCBUaGUgc2Vjb25kIGRhdGUgdG8gY29tcGFyZS5cbiAgICogQHJldHVybnMgMCBpZiB0aGUgZGF0ZXMgYXJlIGVxdWFsLCBhIG51bWJlciBsZXNzIHRoYW4gMCBpZiB0aGUgZmlyc3QgZGF0ZSBpcyBlYXJsaWVyLFxuICAgKiAgICAgYSBudW1iZXIgZ3JlYXRlciB0aGFuIDAgaWYgdGhlIGZpcnN0IGRhdGUgaXMgbGF0ZXIuXG4gICAqL1xuICBwdWJsaWMgY29tcGFyZURhdGUoZmlyc3Q6IFQsIHNlY29uZDogVCk6IG51bWJlciB7XG4gICAgcmV0dXJuIChcbiAgICAgIHRoaXMuZ2V0WWVhcihmaXJzdCkgLSB0aGlzLmdldFllYXIoc2Vjb25kKSB8fFxuICAgICAgdGhpcy5nZXRNb250aChmaXJzdCkgLSB0aGlzLmdldE1vbnRoKHNlY29uZCkgfHxcbiAgICAgIHRoaXMuZ2V0RGF0ZShmaXJzdCkgLSB0aGlzLmdldERhdGUoc2Vjb25kKVxuICAgICk7XG4gIH1cblxuICAvKipcbiAgICogQ2hlY2tzIGlmIHR3byBkYXRlcyBhcmUgZXF1YWwuXG4gICAqIEBwYXJhbSBmaXJzdCBUaGUgZmlyc3QgZGF0ZSB0byBjaGVjay5cbiAgICogQHBhcmFtIHNlY29uZCBUaGUgc2Vjb25kIGRhdGUgdG8gY2hlY2suXG4gICAqIEByZXR1cm5zIFdoZXRoZXIgdGhlIHR3byBkYXRlcyBhcmUgZXF1YWwuXG4gICAqICAgICBOdWxsIGRhdGVzIGFyZSBjb25zaWRlcmVkIGVxdWFsIHRvIG90aGVyIG51bGwgZGF0ZXMuXG4gICAqL1xuICBwdWJsaWMgc2FtZURhdGUoZmlyc3Q6IFQgfCBudWxsLCBzZWNvbmQ6IFQgfCBudWxsKTogYm9vbGVhbiB7XG4gICAgaWYgKGZpcnN0ICYmIHNlY29uZCkge1xuICAgICAgY29uc3QgZmlyc3RWYWxpZCA9IHRoaXMuaXNWYWxpZChmaXJzdCk7XG4gICAgICBjb25zdCBzZWNvbmRWYWxpZCA9IHRoaXMuaXNWYWxpZChzZWNvbmQpO1xuICAgICAgaWYgKGZpcnN0VmFsaWQgJiYgc2Vjb25kVmFsaWQpIHtcbiAgICAgICAgcmV0dXJuICF0aGlzLmNvbXBhcmVEYXRlKGZpcnN0LCBzZWNvbmQpO1xuICAgICAgfVxuICAgICAgcmV0dXJuIGZpcnN0VmFsaWQgPT0gc2Vjb25kVmFsaWQ7XG4gICAgfVxuICAgIHJldHVybiBmaXJzdCA9PSBzZWNvbmQ7XG4gIH1cblxuICAvKipcbiAgICogQ2xhbXAgdGhlIGdpdmVuIGRhdGUgYmV0d2VlbiBtaW4gYW5kIG1heCBkYXRlcy5cbiAgICogQHBhcmFtIGRhdGUgVGhlIGRhdGUgdG8gY2xhbXAuXG4gICAqIEBwYXJhbSBtaW4gVGhlIG1pbmltdW0gdmFsdWUgdG8gYWxsb3cuIElmIG51bGwgb3Igb21pdHRlZCBubyBtaW4gaXMgZW5mb3JjZWQuXG4gICAqIEBwYXJhbSBtYXggVGhlIG1heGltdW0gdmFsdWUgdG8gYWxsb3cuIElmIG51bGwgb3Igb21pdHRlZCBubyBtYXggaXMgZW5mb3JjZWQuXG4gICAqIEByZXR1cm5zIGBtaW5gIGlmIGBkYXRlYCBpcyBsZXNzIHRoYW4gYG1pbmAsIGBtYXhgIGlmIGRhdGUgaXMgZ3JlYXRlciB0aGFuIGBtYXhgLFxuICAgKiAgICAgb3RoZXJ3aXNlIGBkYXRlYC5cbiAgICovXG4gIHB1YmxpYyBjbGFtcERhdGUoZGF0ZTogVCwgbWluPzogVCB8IG51bGwsIG1heD86IFQgfCBudWxsKTogVCB7XG4gICAgaWYgKG1pbiAmJiB0aGlzLmNvbXBhcmVEYXRlKGRhdGUsIG1pbikgPCAwKSB7XG4gICAgICByZXR1cm4gbWluO1xuICAgIH1cbiAgICBpZiAobWF4ICYmIHRoaXMuY29tcGFyZURhdGUoZGF0ZSwgbWF4KSA+IDApIHtcbiAgICAgIHJldHVybiBtYXg7XG4gICAgfVxuICAgIHJldHVybiBkYXRlO1xuICB9XG59XG4iLCJpbXBvcnQgeyBTYmJMYW5ndWFnZUNvbnRyb2xsZXIgfSBmcm9tICcuLi9jb250cm9sbGVycy5qcyc7XG5pbXBvcnQgdHlwZSB7IFNiYkRhdGVMaWtlIH0gZnJvbSAnLi4vaW50ZXJmYWNlcy5qcyc7XG5cbmltcG9ydCB7IERhdGVBZGFwdGVyLCBGT1JNQVRfREFURSwgSVNPODYwMV9GT1JNQVRfREFURSB9IGZyb20gJy4vZGF0ZS1hZGFwdGVyLmpzJztcblxuLyoqXG4gKiBNYXRjaGVzIHN0cmluZ3MgdGhhdCBoYXZlIHRoZSBmb3JtIG9mIGEgdmFsaWQgUkZDIDMzMzkgc3RyaW5nXG4gKiAoaHR0cHM6Ly90b29scy5pZXRmLm9yZy9odG1sL3JmYzMzMzkpLiBOb3RlIHRoYXQgdGhlIHN0cmluZyBtYXkgbm90IGFjdHVhbGx5IGJlIGEgdmFsaWQgZGF0ZVxuICogYmVjYXVzZSB0aGUgcmVnZXggd2lsbCBtYXRjaCBzdHJpbmdzIGFuIHdpdGhvdXQgb2YgYm91bmRzIG1vbnRoLCBkYXRlLCBldGMuXG4gKi9cbmNvbnN0IElTT184NjAxX1JFR0VYID1cbiAgL15cXGR7NH0tXFxkezJ9LVxcZHsyfSg/OlRcXGR7Mn06XFxkezJ9OlxcZHsyfSg/OlxcLlxcZCspPyg/Olp8KD86KD86XFwrfC0pXFxkezJ9OlxcZHsyfSkpPyk/JC87XG5cbmV4cG9ydCBjbGFzcyBOYXRpdmVEYXRlQWRhcHRlciBleHRlbmRzIERhdGVBZGFwdGVyPERhdGU+IHtcbiAgcHJpdmF0ZSByZWFkb25seSBfY3V0b2ZmWWVhck9mZnNldDogbnVtYmVyO1xuXG4gIHB1YmxpYyBjb25zdHJ1Y3RvcihjdXRvZmZZZWFyT2Zmc2V0OiBudW1iZXIgPSAxNSkge1xuICAgIHN1cGVyKCk7XG4gICAgdGhpcy5fY3V0b2ZmWWVhck9mZnNldCA9IGN1dG9mZlllYXJPZmZzZXQ7XG4gIH1cblxuICAvKiogR2V0cyB0aGUgeWVhciBvZiB0aGUgaW5wdXQgZGF0ZS4gKi9cbiAgcHVibGljIGdldFllYXIoZGF0ZTogRGF0ZSk6IG51bWJlciB7XG4gICAgcmV0dXJuIGRhdGUuZ2V0RnVsbFllYXIoKTtcbiAgfVxuXG4gIC8qKiBHZXRzIHRoZSBtb250aCBvZiB0aGUgaW5wdXQgZGF0ZS4gKi9cbiAgcHVibGljIGdldE1vbnRoKGRhdGU6IERhdGUpOiBudW1iZXIge1xuICAgIHJldHVybiBkYXRlLmdldE1vbnRoKCkgKyAxO1xuICB9XG5cbiAgLyoqIEdldHMgdGhlIGRheSBvZiB0aGUgaW5wdXQgZGF0ZS4gKi9cbiAgcHVibGljIGdldERhdGUoZGF0ZTogRGF0ZSk6IG51bWJlciB7XG4gICAgcmV0dXJuIGRhdGUuZ2V0RGF0ZSgpO1xuICB9XG5cbiAgLyoqIEdldHMgdGhlIGRheSBvZiB0aGUgd2VlayBvZiB0aGUgaW5wdXQgZGF0ZS4gKi9cbiAgcHVibGljIGdldERheU9mV2VlayhkYXRlOiBEYXRlKTogbnVtYmVyIHtcbiAgICByZXR1cm4gZGF0ZS5nZXREYXkoKTtcbiAgfVxuXG4gIC8qKiBHZXRzIHRoZSBkYXRlIGluIHRoZSBsb2NhbCBmb3JtYXQuICovXG4gIHB1YmxpYyBnZXRBY2Nlc3NpYmlsaXR5Rm9ybWF0RGF0ZShkYXRlOiBEYXRlIHwgc3RyaW5nKTogc3RyaW5nIHtcbiAgICBjb25zdCBvcHRpb25zOiBJbnRsLkRhdGVUaW1lRm9ybWF0T3B0aW9ucyA9IHtcbiAgICAgIHllYXI6ICdudW1lcmljJyxcbiAgICAgIG1vbnRoOiAnbG9uZycsXG4gICAgICBkYXk6ICdudW1lcmljJyxcbiAgICB9O1xuICAgIHJldHVybiBuZXcgSW50bC5EYXRlVGltZUZvcm1hdChTYmJMYW5ndWFnZUNvbnRyb2xsZXIuY3VycmVudCwgb3B0aW9ucykuZm9ybWF0KG5ldyBEYXRlKGRhdGUpKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBDcmVhdGVzIGFuIGFycmF5IG9mIHN0cmluZ3Mgd2l0aCBsZW5ndGggPSAxMiwgZmlsbGVkIHdpdGggdGhlIG5hbWUgb2YgdGhlIG1vbnRocyBzdGFydGluZyBmcm9tIEphbnVhcnksIGluIHRoZSBkb2N1bWVudCBsYW5ndWFnZS5cbiAgICogQHBhcmFtIHN0eWxlIFNlZSBgbW9udGhgIGluIGBEYXRlVGltZUZvcm1hdE9wdGlvbnNgOiBgbG9uZ2AgZm9yIGZ1bGwgbmFtZSwgYHNob3J0YCBmb3Igc2hvcnQgbmFtZSwgYG5hcnJvd2AgZm9yIHNpbmdsZSBsZXR0ZXIsXG4gICAqIEUuZy4sIHdpdGggSmFudWFyeSBpbiBlbi1nYjogYGxvbmdgIHJldHVybnMgXCJKYW51YXJ5XCIsIGBzaG9ydGAgcmV0dXJucyBcIkphblwiLCBgbmFycm93YCByZXR1cm5zIFwiSlwiLlxuICAgKi9cbiAgcHVibGljIGdldE1vbnRoTmFtZXMoc3R5bGU6ICdsb25nJyB8ICdzaG9ydCcgfCAnbmFycm93Jyk6IHN0cmluZ1tdIHtcbiAgICBjb25zdCBmb3JtYXR0ZXIgPSBuZXcgSW50bC5EYXRlVGltZUZvcm1hdChTYmJMYW5ndWFnZUNvbnRyb2xsZXIuY3VycmVudCwgeyBtb250aDogc3R5bGUgfSk7XG4gICAgcmV0dXJuIHRoaXMuX3JhbmdlKDEyLCAoaSkgPT4gZm9ybWF0dGVyLmZvcm1hdChuZXcgRGF0ZSgyMDE3LCBpLCAxKSkpO1xuICB9XG5cbiAgLyoqIENyZWF0ZXMgYSBzdHJpbmcgYXJyYXkgd2l0aCBsZW5ndGggPSAzMSwgZmlsbGVkIHdpdGggdGhlIGRheXMgaW4gYSBtb250aCwgc3RhcnRpbmcgZnJvbSAxLiAqL1xuICBwdWJsaWMgZ2V0RGF0ZU5hbWVzKCk6IHN0cmluZ1tdIHtcbiAgICBjb25zdCBmb3JtYXR0ZXIgPSBuZXcgSW50bC5EYXRlVGltZUZvcm1hdChTYmJMYW5ndWFnZUNvbnRyb2xsZXIuY3VycmVudCwgeyBkYXk6ICdudW1lcmljJyB9KTtcbiAgICByZXR1cm4gdGhpcy5fcmFuZ2UoMzEsIChpKSA9PiBmb3JtYXR0ZXIuZm9ybWF0KG5ldyBEYXRlKDIwMTcsIDAsIGkgKyAxKSkpO1xuICB9XG5cbiAgLyoqXG4gICAqIENyZWF0ZXMgYSBzdHJpbmcgYXJyYXkgd2l0aCBsZW5ndGggPSA3LCBmaWxsZWQgd2l0aCB0aGUgbmFtZSBvZiB0aGUgZGF5cyBpbiBhIHdlZWsgc3RhcnRpbmcgZnJvbSBTdW5kYXksIGluIHRoZSBkb2N1bWVudCBsYW5ndWFnZS5cbiAgICogQHBhcmFtIHN0eWxlIFNlZSBgd2Vla2RheWAgaW4gYERhdGVUaW1lRm9ybWF0T3B0aW9uc2AgLSAnbG9uZycgZm9yIGZ1bGwgbmFtZSwgJ3Nob3J0JyBmb3Igc2hvcnQgbmFtZSwgJ25hcnJvdycgZm9yIHNpbmdsZSBsZXR0ZXI7XG4gICAqIEUuZy4sIHdpdGggTW9uZGF5IGluIGVuLWdiOiBgbG9uZ2AgcmV0dXJucyBcIk1vbmRheVwiLCBgc2hvcnRgIHJldHVybnMgXCJNb25cIiwgYG5hcnJvd2AgcmV0dXJucyBcIk1cIi5cbiAgICovXG4gIHB1YmxpYyBnZXREYXlPZldlZWtOYW1lcyhzdHlsZTogJ2xvbmcnIHwgJ3Nob3J0JyB8ICduYXJyb3cnKTogc3RyaW5nW10ge1xuICAgIGNvbnN0IGZvcm1hdHRlciA9IG5ldyBJbnRsLkRhdGVUaW1lRm9ybWF0KFNiYkxhbmd1YWdlQ29udHJvbGxlci5jdXJyZW50LCB7IHdlZWtkYXk6IHN0eWxlIH0pO1xuICAgIHJldHVybiB0aGlzLl9yYW5nZSg3LCAoaSkgPT4gZm9ybWF0dGVyLmZvcm1hdChuZXcgRGF0ZSgyMDE3LCAwLCBpICsgMSkpKTtcbiAgfVxuXG4gIC8qIERlZmluZXMgd2hpY2ggaXMgdGhlIGZpcnN0IGRheSBvZiB0aGUgd2VlayAoMDogc3VuZGF5OyAxOiBtb25kYXk7IGV0Yy4pLiAqL1xuICBwdWJsaWMgZ2V0Rmlyc3REYXlPZldlZWsoKTogbnVtYmVyIHtcbiAgICByZXR1cm4gMTtcbiAgfVxuXG4gIC8qKiBDYWxjdWxhdGVzIHRoZSBudW1iZXIgb2YgZGF5cyBpbiBhIG1vbnRoIGdpdmVuIHRoZSB5ZWFyIGFuZCB0aGUgbW9udGguICovXG4gIHB1YmxpYyBnZXROdW1EYXlzSW5Nb250aChkYXRlOiBEYXRlKTogbnVtYmVyIHtcbiAgICByZXR1cm4gdGhpcy5nZXREYXRlKHRoaXMuX2NyZWF0ZURhdGVXaXRoT3ZlcmZsb3codGhpcy5nZXRZZWFyKGRhdGUpLCB0aGlzLmdldE1vbnRoKGRhdGUpLCAwKSk7XG4gIH1cblxuICAvKiogQ3JlYXRlcyB0b2RheSdzIGRhdGUuICovXG4gIHB1YmxpYyB0b2RheSgpOiBEYXRlIHtcbiAgICByZXR1cm4gbmV3IERhdGUobmV3IERhdGUoKS5zZXRIb3VycygwLCAwLCAwLCAwKSk7XG4gIH1cblxuICAvKiogQ3JlYXRlcyBhIG5ldyBkYXRlLCBnaXZlbiBkYXksIG1vbnRoIGFuZCB5ZWFyOyB0aGUgbWV0aG9kIGRvZXNuJ3QgYWxsb3cgZGF0ZSdzIG92ZXJmbG93LiAqL1xuICBwdWJsaWMgY3JlYXRlRGF0ZSh5ZWFyOiBudW1iZXIsIG1vbnRoOiBudW1iZXIsIGRhdGU6IG51bWJlcik6IERhdGUge1xuICAgIC8vIENoZWNrIGZvciBpbnZhbGlkIG1vbnRoIGFuZCBkYXRlIChleGNlcHQgdXBwZXIgYm91bmQgb24gZGF0ZSB3aGljaCB3ZSBoYXZlIHRvIGNoZWNrIGFmdGVyIGNyZWF0aW5nIHRoZSBEYXRlKS5cbiAgICBpZiAobW9udGggPCAxIHx8IG1vbnRoID4gMTIpIHtcbiAgICAgIHRocm93IEVycm9yKGBJbnZhbGlkIG1vbnRoIGluZGV4IFwiJHttb250aH1cIi4gTW9udGggaW5kZXggaGFzIHRvIGJlIGJldHdlZW4gMSBhbmQgMTIuYCk7XG4gICAgfVxuXG4gICAgaWYgKGRhdGUgPCAxKSB7XG4gICAgICB0aHJvdyBFcnJvcihgSW52YWxpZCBkYXRlIFwiJHtkYXRlfVwiLiBEYXRlIGhhcyB0byBiZSBncmVhdGVyIHRoYW4gMC5gKTtcbiAgICB9XG5cbiAgICBjb25zdCByZXN1bHQgPSB0aGlzLl9jcmVhdGVEYXRlV2l0aE92ZXJmbG93KHllYXIsIG1vbnRoIC0gMSwgZGF0ZSk7XG4gICAgLy8gQ2hlY2sgdGhhdCB0aGUgZGF0ZSB3YXNuJ3QgYWJvdmUgdGhlIHVwcGVyIGJvdW5kIGZvciB0aGUgbW9udGgsIGNhdXNpbmcgdGhlIG1vbnRoIHRvIG92ZXJmbG93XG4gICAgaWYgKHJlc3VsdC5nZXRNb250aCgpICsgMSAhPT0gbW9udGgpIHtcbiAgICAgIHRocm93IEVycm9yKGBJbnZhbGlkIGRhdGUgXCIke2RhdGV9XCIgZm9yIG1vbnRoIHdpdGggaW5kZXggXCIke21vbnRofVwiLmApO1xuICAgIH1cblxuICAgIHJldHVybiByZXN1bHQ7XG4gIH1cblxuICAvKiogQ2hlY2tzIHdoZXRoZXIgdGhlIGdpdmVuIGBvYmpgIGlzIGEgRGF0ZS4gKi9cbiAgcHVibGljIGlzRGF0ZUluc3RhbmNlKG9iajogYW55KTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIG9iaiBpbnN0YW5jZW9mIERhdGU7XG4gIH1cblxuICAvKiogQ2hlY2tzIHdoZXRoZXIgdGhlIGdpdmVuIGBkYXRlYCBpcyBhIHZhbGlkIERhdGUuICovXG4gIHB1YmxpYyBpc1ZhbGlkKGRhdGU6IERhdGUgfCBudWxsIHwgdW5kZWZpbmVkKTogZGF0ZSBpcyBEYXRlIHtcbiAgICByZXR1cm4gISFkYXRlICYmICFpc05hTihkYXRlLnZhbHVlT2YoKSk7XG4gIH1cblxuICAvKiogQ3JlYXRlcyBhIG5ldyBkYXRlIGJ5IGNsb25pbmcgdGhlIGdpdmVuIG9uZS4gKi9cbiAgcHVibGljIGNsb25lKGRhdGU6IERhdGUpOiBEYXRlIHtcbiAgICByZXR1cm4gbmV3IERhdGUoZGF0ZS52YWx1ZU9mKCkpO1xuICB9XG5cbiAgLyoqXG4gICAqIENyZWF0ZXMgYSBuZXcgZGF0ZSBhZGRpbmcgdGhlIG51bWJlciBvZiBwcm92aWRlZCBgeWVhcnNgIHRvIHRoZSBwcm92aWRlZCBgZGF0ZWAuXG4gICAqIEBwYXJhbSBkYXRlIFRoZSBzdGFydGluZyBkYXRlLlxuICAgKiBAcGFyYW0geWVhcnMgVGhlIG51bWJlciBvZiB5ZWFycyB0byBhZGQuXG4gICAqL1xuICBwdWJsaWMgYWRkQ2FsZW5kYXJZZWFycyhkYXRlOiBEYXRlLCB5ZWFyczogbnVtYmVyKTogRGF0ZSB7XG4gICAgcmV0dXJuIHRoaXMuYWRkQ2FsZW5kYXJNb250aHMoZGF0ZSwgeWVhcnMgKiAxMik7XG4gIH1cblxuICAvKipcbiAgICogQ3JlYXRlcyBhIG5ldyBkYXRlIGFkZGluZyB0aGUgbnVtYmVyIG9mIHByb3ZpZGVkIGBtb250aHNgIHRvIHRoZSBwcm92aWRlZCBgZGF0ZWAuXG4gICAqIElmIHRoZSBjYWxjdWxhdGVkIG1vbnRoIGhhcyBmZXdlciBkYXlzIHRoYW4gdGhlIG9yaWdpbmFsIG9uZSwgdGhlIGRhdGUgaXMgc2V0IHRvIHRoZSBsYXN0IGRheSBvZiB0aGUgbW9udGguXG4gICAqIEUuZy4sIHdpdGggYGRhdGVgID0gbmV3IERhdGUoMjAyMiwgMCwgMzEpIGFuZCBgbW9udGhzYCA9IDEsIGl0IHJldHVybnMgbmV3IERhdGUoMjAyMiwgMSwgMjgpLlxuICAgKi9cbiAgcHVibGljIGFkZENhbGVuZGFyTW9udGhzKGRhdGU6IERhdGUsIG1vbnRoczogbnVtYmVyKTogRGF0ZSB7XG4gICAgY29uc3QgdGFyZ2V0TW9udGggPSBkYXRlLmdldE1vbnRoKCkgKyBtb250aHM7XG4gICAgY29uc3QgZGF0ZVdpdGhDb3JyZWN0TW9udGggPSBuZXcgRGF0ZShkYXRlLmdldEZ1bGxZZWFyKCksIHRhcmdldE1vbnRoLCAxLCAwLCAwLCAwLCAwKTtcbiAgICBjb25zdCBkYXlzSW5Nb250aCA9IHRoaXMuZ2V0TnVtRGF5c0luTW9udGgoZGF0ZVdpdGhDb3JyZWN0TW9udGgpO1xuICAgIC8vIEFkYXB0IHRoZSBsYXN0IGRheSBvZiBtb250aCBmb3Igc2hvcnRlciBtb250aHNcbiAgICByZXR1cm4gbmV3IERhdGUodGhpcy5jbG9uZShkYXRlKS5zZXRNb250aCh0YXJnZXRNb250aCwgTWF0aC5taW4oZGF5c0luTW9udGgsIGRhdGUuZ2V0RGF0ZSgpKSkpO1xuICB9XG5cbiAgLyoqIENyZWF0ZXMgYSBuZXcgZGF0ZSBieSBhZGRpbmcgdGhlIG51bWJlciBvZiBwcm92aWRlZCBgZGF5c2AgdG8gdGhlIHByb3ZpZGVkIGBkYXRlYC4gKi9cbiAgcHVibGljIGFkZENhbGVuZGFyRGF5cyhkYXRlOiBEYXRlLCBkYXlzOiBudW1iZXIpOiBEYXRlIHtcbiAgICBjb25zdCB0YXJnZXREYXkgPSBkYXRlLmdldERhdGUoKSArIGRheXM7XG4gICAgcmV0dXJuIG5ldyBEYXRlKGRhdGUuZ2V0RnVsbFllYXIoKSwgZGF0ZS5nZXRNb250aCgpLCB0YXJnZXREYXksIDAsIDAsIDAsIDApO1xuICB9XG5cbiAgLyoqIENyZWF0ZXMgYSBEYXRlIGZyb20gYSB2YWxpZCBpbnB1dCAoRGF0ZSwgc3RyaW5nIG9yIG51bWJlciBpbiBzZWNvbmRzKS4gKi9cbiAgcHVibGljIG92ZXJyaWRlIGRlc2VyaWFsaXplKGRhdGU6IFNiYkRhdGVMaWtlIHwgbnVsbCB8IHVuZGVmaW5lZCk6IERhdGUgfCBudWxsIHtcbiAgICBpZiAodHlwZW9mIGRhdGUgPT09ICdzdHJpbmcnKSB7XG4gICAgICBpZiAoIWRhdGUpIHtcbiAgICAgICAgcmV0dXJuIG51bGw7XG4gICAgICB9IGVsc2UgaWYgKCFOdW1iZXIuaXNOYU4oK2RhdGUpKSB7XG4gICAgICAgIHJldHVybiB0aGlzLmdldFZhbGlkRGF0ZU9yTnVsbChuZXcgRGF0ZSgrZGF0ZSAqIDEwMDApKTtcblxuICAgICAgICAvLyBUaGUgYERhdGVgIGNvbnN0cnVjdG9yIGFjY2VwdHMgZm9ybWF0cyBvdGhlciB0aGFuIElTTyA4NjAxLCBzbyB3ZSBuZWVkIHRvIG1ha2Ugc3VyZSB0aGVcbiAgICAgICAgLy8gc3RyaW5nIGlzIHRoZSByaWdodCBmb3JtYXQgZmlyc3QuXG4gICAgICB9IGVsc2UgaWYgKElTT184NjAxX1JFR0VYLnRlc3QoZGF0ZSkpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuZ2V0VmFsaWREYXRlT3JOdWxsKG5ldyBEYXRlKGRhdGUuaW5jbHVkZXMoJ1QnKSA/IGRhdGUgOiBkYXRlICsgJ1QwMDowMDowMCcpKTtcbiAgICAgIH1cbiAgICB9IGVsc2UgaWYgKHR5cGVvZiBkYXRlID09PSAnbnVtYmVyJykge1xuICAgICAgcmV0dXJuIHRoaXMuZ2V0VmFsaWREYXRlT3JOdWxsKG5ldyBEYXRlKGRhdGUgKiAxMDAwKSk7XG4gICAgfVxuICAgIHJldHVybiBzdXBlci5kZXNlcmlhbGl6ZShkYXRlKTtcbiAgfVxuXG4gIC8qKiBSZXR1cm5zIHRoZSByaWdodCBmb3JtYXQgZm9yIHRoZSBgdmFsdWVBc0RhdGVgIHByb3BlcnR5LiAqL1xuICBwdWJsaWMgcGFyc2UodmFsdWU6IHN0cmluZyB8IG51bGwgfCB1bmRlZmluZWQsIG5vdzogRGF0ZSA9IHRoaXMudG9kYXkoKSk6IERhdGUgfCBudWxsIHtcbiAgICBpZiAoIXZhbHVlKSB7XG4gICAgICByZXR1cm4gbnVsbDtcbiAgICB9XG5cbiAgICBsZXQgZGF0ZTogRGF0ZSB8IG51bGwgPSBudWxsO1xuICAgIGNvbnN0IGlzb01hdGNoID0gdmFsdWUubWF0Y2goSVNPODYwMV9GT1JNQVRfREFURSk7XG4gICAgdHJ5IHtcbiAgICAgIGRhdGUgPSBpc29NYXRjaCA/IHRoaXMuY3JlYXRlRGF0ZSgraXNvTWF0Y2hbMV0sICtpc29NYXRjaFsyXSwgK2lzb01hdGNoWzNdKSA6IG51bGw7XG4gICAgfSBjYXRjaCB7XG4gICAgICAvKiBlbXB0eSAqL1xuICAgIH1cbiAgICBpZiAodGhpcy5pc1ZhbGlkKGRhdGUpKSB7XG4gICAgICByZXR1cm4gZGF0ZTtcbiAgICB9XG5cbiAgICBjb25zdCBzdHJpcHBlZFZhbHVlID0gdmFsdWUucmVwbGFjZSgvXFxEL2csICcgJykudHJpbSgpO1xuXG4gICAgY29uc3QgbWF0Y2g6IFJlZ0V4cE1hdGNoQXJyYXkgfCBudWxsIHwgdW5kZWZpbmVkID0gc3RyaXBwZWRWYWx1ZT8ubWF0Y2goRk9STUFUX0RBVEUpO1xuICAgIGlmIChcbiAgICAgICFtYXRjaCB8fFxuICAgICAgbWF0Y2guaW5kZXggIT09IDAgfHxcbiAgICAgIG1hdGNoLmxlbmd0aCA8PSAyIHx8XG4gICAgICBtYXRjaC5zb21lKChlKSA9PiBlID09PSB1bmRlZmluZWQpIHx8XG4gICAgICAhdGhpcy5pc1ZhbGlkKHRoaXMuY3JlYXRlRGF0ZSgrbWF0Y2hbM10sICttYXRjaFsyXSwgK21hdGNoWzFdKSlcbiAgICApIHtcbiAgICAgIHJldHVybiBudWxsO1xuICAgIH1cblxuICAgIGxldCB5ZWFyID0gK21hdGNoWzNdO1xuXG4gICAgaWYgKHR5cGVvZiB5ZWFyID09PSAnbnVtYmVyJyAmJiB5ZWFyIDwgMTAwICYmIHllYXIgPj0gMCkge1xuICAgICAgY29uc3Qgc2hpZnQgPSBub3cuZ2V0RnVsbFllYXIoKSAtIDIwMDAgKyB0aGlzLl9jdXRvZmZZZWFyT2Zmc2V0O1xuICAgICAgeWVhciA9IHllYXIgPD0gc2hpZnQgPyAyMDAwICsgeWVhciA6IDE5MDAgKyB5ZWFyO1xuICAgIH1cblxuICAgIHJldHVybiBuZXcgRGF0ZSh5ZWFyLCArbWF0Y2hbMl0gLSAxLCArbWF0Y2hbMV0pO1xuICB9XG5cbiAgcHVibGljIG92ZXJyaWRlIGludmFsaWQoKTogRGF0ZSB7XG4gICAgcmV0dXJuIG5ldyBEYXRlKE5hTik7XG4gIH1cblxuICAvKipcbiAgICogQ3JlYXRlcyBhbiBhcnJheSB3aXRoIHRoZSBnaXZlbiBsZW5ndGggYW5kIGZpbGxzIGl0IGJ5IG1hcHBpbmcgd2l0aCB0aGUgcHJvdmlkZWQgZnVuY3Rpb24uXG4gICAqIEBwYXJhbSBsZW5ndGggVGhlIGxlbmd0aCBvZiB0aGUgYXJyYXkgdG8gYmUgY3JlYXRlZC5cbiAgICogQHBhcmFtIHZhbHVlRnVuY3Rpb24gVGhlIGZ1bmN0aW9uIG9mIGFycmF5J3MgaW5kZXggdXNlZCB0byBmaWxsIHRoZSBhcnJheS5cbiAgICovXG4gIHByaXZhdGUgX3JhbmdlPFQ+KGxlbmd0aDogbnVtYmVyLCB2YWx1ZUZ1bmN0aW9uOiAoaW5kZXg6IG51bWJlcikgPT4gVCk6IFRbXSB7XG4gICAgcmV0dXJuIEFycmF5LmZyb20oeyBsZW5ndGggfSkubWFwKChfLCBpKSA9PiB2YWx1ZUZ1bmN0aW9uKGkpKTtcbiAgfVxuXG4gIC8qKiBDcmVhdGVzIGEgZGF0ZSBidXQgYWxsb3dzIHRoZSBtb250aCBhbmQgZGF0ZSB0byBvdmVyZmxvdy4gKi9cbiAgcHJpdmF0ZSBfY3JlYXRlRGF0ZVdpdGhPdmVyZmxvdyh5ZWFyOiBudW1iZXIsIG1vbnRoOiBudW1iZXIsIGRhdGU6IG51bWJlcik6IERhdGUge1xuICAgIGNvbnN0IHJlc3VsdCA9IG5ldyBEYXRlKHllYXIsIG1vbnRoLCBkYXRlKTtcbiAgICAvLyBXZSBuZWVkIHRvIGNvcnJlY3QgZm9yIHRoZSBmYWN0IHRoYXQgSlMgbmF0aXZlIERhdGUgdHJlYXRzIHllYXJzIGluIHJhbmdlIFswLCA5OV0gYXNcbiAgICAvLyBhYmJyZXZpYXRpb25zIGZvciAxOXh4LlxuICAgIGlmICh5ZWFyID49IDAgJiYgeWVhciA8IDEwMCkge1xuICAgICAgcmVzdWx0LnNldEZ1bGxZZWFyKHRoaXMuZ2V0WWVhcihyZXN1bHQpIC0gMTkwMCk7XG4gICAgfVxuICAgIHJldHVybiByZXN1bHQ7XG4gIH1cbn1cblxuZXhwb3J0IGNvbnN0IGRlZmF1bHREYXRlQWRhcHRlciA9IG5ldyBOYXRpdmVEYXRlQWRhcHRlcigpO1xuIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBTyxNQUFNLGVBQXVCO0FBQzdCLE1BQU0saUJBQXlCO0FBQy9CLE1BQU0sZ0JBQXdCO0FBQzlCLE1BQU0sa0JBQTBCO0FBQ2hDLE1BQU0saUJBQXlCO0FBQy9CLE1BQU0sY0FDWDtBQUNLLE1BQU0sc0JBQXNCO01BT2IsWUFBVztBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQSxFQWtGeEIsWUFBWSxPQUE2QztBQUU1RCxRQUFBLFNBQVMsUUFDUixLQUFLLGVBQWUsS0FBSyxLQUFLLEtBQUssUUFBUSxLQUE2QixHQUN6RTtBQUNPLGFBQUE7QUFBQSxJQUFBO0FBRVQsV0FBTyxLQUFLLFFBQU87QUFBQSxFQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBLEVBNkNkLE9BQ0wsTUFDQSxTQUFpRTtBQUVqRSxRQUFJLENBQUMsS0FBSyxRQUFRLElBQUksR0FBRztBQUNoQixhQUFBO0FBQUEsSUFBQTtBQUdULFVBQU0sUUFBWSxvQkFBQSxLQUFLLEtBQUssVUFBVSxJQUFLLElBQUksV0FBVztBQUMxRCxVQUFNLGdCQUFnQixJQUFJLEtBQUssZUFBZSxTQUFTO0FBQUEsTUFDckQsS0FBSztBQUFBLE1BQ0wsT0FBTztBQUFBLE1BQ1AsTUFBTTtBQUFBLElBQUEsQ0FDUDtBQUVHLFNBQUEsbUNBQVMsa0JBQWlCLFFBQVE7QUFDN0IsYUFBQSxjQUFjLE9BQU8sS0FBSztBQUFBLElBQUE7QUFHN0IsVUFBQSxnQkFBZSxtQ0FBUyxpQkFBZ0I7QUFDMUMsUUFBQSxVQUFVLEtBQUssa0JBQWtCLFlBQVksRUFBRSxLQUFLLGFBQWEsSUFBSyxDQUFDO0FBQ2pFLGNBQUEsUUFBUSxPQUFPLENBQUMsRUFBRSxnQkFBZ0IsUUFBUSxVQUFVLENBQUM7QUFHL0QsUUFBSSxpQkFBaUIsU0FBUztBQUNsQixnQkFBQSxRQUFRLFVBQVUsR0FBRyxDQUFDO0FBQUEsSUFBQTtBQUdsQyxXQUFPLEdBQUcsT0FBTyxLQUFLLGNBQWMsT0FBTyxLQUFLLENBQUM7QUFBQSxFQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQSxFQW1CNUMsVUFBVSxNQUFPO0FBQ2hCLFVBQUEsTUFBTSxDQUFDLE9BQWUsU0FBUyxNQUFjLEdBQUcsS0FBSyxHQUFHLFNBQVMsUUFBUSxHQUFHO0FBQzNFLFdBQUEsR0FBRyxJQUFJLEtBQUssUUFBUSxJQUFJLEdBQUcsQ0FBQyxDQUFDLElBQUksSUFBSSxLQUFLLFNBQVMsSUFBSSxDQUFDLENBQUMsSUFBSSxJQUFJLEtBQUssUUFBUSxJQUFJLENBQUMsQ0FBQztBQUFBLEVBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQSxFQVN0RixtQkFBbUIsT0FBYztBQUMvQixXQUFBLEtBQUssZUFBZSxLQUFLLEtBQUssS0FBSyxRQUFRLEtBQVUsSUFBSyxRQUFjO0FBQUEsRUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBLEVBTTFFLG1CQUFtQixNQUFPO0FBQ3pCLFVBQUEsZUFBZSxLQUFLLFdBQVcsS0FBSyxRQUFRLElBQUksR0FBRyxLQUFLLFNBQVMsSUFBSSxHQUFHLENBQUM7QUFDL0UsWUFDRyxlQUFlLEtBQUssYUFBYSxZQUFZLElBQUksS0FBSyx1QkFBdUI7QUFBQSxFQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQSxFQVczRSxZQUFZLE9BQVUsUUFBUztBQUVsQyxXQUFBLEtBQUssUUFBUSxLQUFLLElBQUksS0FBSyxRQUFRLE1BQU0sS0FDekMsS0FBSyxTQUFTLEtBQUssSUFBSSxLQUFLLFNBQVMsTUFBTSxLQUMzQyxLQUFLLFFBQVEsS0FBSyxJQUFJLEtBQUssUUFBUSxNQUFNO0FBQUEsRUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUEsRUFXdEMsU0FBUyxPQUFpQixRQUFnQjtBQUMvQyxRQUFJLFNBQVMsUUFBUTtBQUNiLFlBQUEsYUFBYSxLQUFLLFFBQVEsS0FBSztBQUMvQixZQUFBLGNBQWMsS0FBSyxRQUFRLE1BQU07QUFDdkMsVUFBSSxjQUFjLGFBQWE7QUFDN0IsZUFBTyxDQUFDLEtBQUssWUFBWSxPQUFPLE1BQU07QUFBQSxNQUFBO0FBRXhDLGFBQU8sY0FBYztBQUFBLElBQUE7QUFFdkIsV0FBTyxTQUFTO0FBQUEsRUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQSxFQVdYLFVBQVUsTUFBUyxLQUFnQixLQUFjO0FBQ3RELFFBQUksT0FBTyxLQUFLLFlBQVksTUFBTSxHQUFHLElBQUksR0FBRztBQUNuQyxhQUFBO0FBQUEsSUFBQTtBQUVULFFBQUksT0FBTyxLQUFLLFlBQVksTUFBTSxHQUFHLElBQUksR0FBRztBQUNuQyxhQUFBO0FBQUEsSUFBQTtBQUVGLFdBQUE7QUFBQSxFQUFBO0FBRVY7QUNyUUQsTUFBTSxpQkFDSjtBQUVJLE1BQU8sMEJBQTBCLFlBQWlCO0FBQUEsRUFHdEQsWUFBbUIsbUJBQTJCLElBQUU7O0FBRTlDLFNBQUssb0JBQW9CO0FBQUEsRUFBQTtBQUFBO0FBQUEsRUFJcEIsUUFBUSxNQUFVO0FBQ3ZCLFdBQU8sS0FBSyxZQUFXO0FBQUEsRUFBQTtBQUFBO0FBQUEsRUFJbEIsU0FBUyxNQUFVO0FBQ2pCLFdBQUEsS0FBSyxhQUFhO0FBQUEsRUFBQTtBQUFBO0FBQUEsRUFJcEIsUUFBUSxNQUFVO0FBQ3ZCLFdBQU8sS0FBSyxRQUFPO0FBQUEsRUFBQTtBQUFBO0FBQUEsRUFJZCxhQUFhLE1BQVU7QUFDNUIsV0FBTyxLQUFLLE9BQU07QUFBQSxFQUFBO0FBQUE7QUFBQSxFQUliLDJCQUEyQixNQUFtQjtBQUNuRCxVQUFNLFVBQXNDO0FBQUEsTUFDMUMsTUFBTTtBQUFBLE1BQ04sT0FBTztBQUFBLE1BQ1AsS0FBSztBQUFBO0FBRUEsV0FBQSxJQUFJLEtBQUssZUFBZSxzQkFBc0IsU0FBUyxPQUFPLEVBQUUsT0FBTyxJQUFJLEtBQUssSUFBSSxDQUFDO0FBQUEsRUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQSxFQVF2RixjQUFjLE9BQWtDO0FBQy9DLFVBQUEsWUFBWSxJQUFJLEtBQUssZUFBZSxzQkFBc0IsU0FBUyxFQUFFLE9BQU8sT0FBTztBQUN6RixXQUFPLEtBQUssT0FBTyxJQUFJLENBQUMsTUFBTSxVQUFVLE9BQU8sSUFBSSxLQUFLLE1BQU0sR0FBRyxDQUFDLENBQUMsQ0FBQztBQUFBLEVBQUE7QUFBQTtBQUFBLEVBSS9ELGVBQVk7QUFDWCxVQUFBLFlBQVksSUFBSSxLQUFLLGVBQWUsc0JBQXNCLFNBQVMsRUFBRSxLQUFLLFdBQVc7QUFDM0YsV0FBTyxLQUFLLE9BQU8sSUFBSSxDQUFDLE1BQU0sVUFBVSxPQUFPLElBQUksS0FBSyxNQUFNLEdBQUcsSUFBSSxDQUFDLENBQUMsQ0FBQztBQUFBLEVBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUEsRUFRbkUsa0JBQWtCLE9BQWtDO0FBQ25ELFVBQUEsWUFBWSxJQUFJLEtBQUssZUFBZSxzQkFBc0IsU0FBUyxFQUFFLFNBQVMsT0FBTztBQUMzRixXQUFPLEtBQUssT0FBTyxHQUFHLENBQUMsTUFBTSxVQUFVLE9BQU8sSUFBSSxLQUFLLE1BQU0sR0FBRyxJQUFJLENBQUMsQ0FBQyxDQUFDO0FBQUEsRUFBQTtBQUFBO0FBQUEsRUFJbEUsb0JBQWlCO0FBQ2YsV0FBQTtBQUFBLEVBQUE7QUFBQTtBQUFBLEVBSUYsa0JBQWtCLE1BQVU7QUFDakMsV0FBTyxLQUFLLFFBQVEsS0FBSyx3QkFBd0IsS0FBSyxRQUFRLElBQUksR0FBRyxLQUFLLFNBQVMsSUFBSSxHQUFHLENBQUMsQ0FBQztBQUFBLEVBQUE7QUFBQTtBQUFBLEVBSXZGLFFBQUs7QUFDSCxXQUFBLElBQUksTUFBSyxvQkFBSSxLQUFJLEdBQUcsU0FBUyxHQUFHLEdBQUcsR0FBRyxDQUFDLENBQUM7QUFBQSxFQUFBO0FBQUE7QUFBQSxFQUkxQyxXQUFXLE1BQWMsT0FBZSxNQUFZO0FBRXJELFFBQUEsUUFBUSxLQUFLLFFBQVEsSUFBSTtBQUNyQixZQUFBLE1BQU0sd0JBQXdCLEtBQUssNENBQTRDO0FBQUEsSUFBQTtBQUd2RixRQUFJLE9BQU8sR0FBRztBQUNOLFlBQUEsTUFBTSxpQkFBaUIsSUFBSSxtQ0FBbUM7QUFBQSxJQUFBO0FBR3RFLFVBQU0sU0FBUyxLQUFLLHdCQUF3QixNQUFNLFFBQVEsR0FBRyxJQUFJO0FBRWpFLFFBQUksT0FBTyxhQUFhLE1BQU0sT0FBTztBQUNuQyxZQUFNLE1BQU0saUJBQWlCLElBQUksMkJBQTJCLEtBQUssSUFBSTtBQUFBLElBQUE7QUFHaEUsV0FBQTtBQUFBLEVBQUE7QUFBQTtBQUFBLEVBSUYsZUFBZSxLQUFRO0FBQzVCLFdBQU8sZUFBZTtBQUFBLEVBQUE7QUFBQTtBQUFBLEVBSWpCLFFBQVEsTUFBNkI7QUFDMUMsV0FBTyxDQUFDLENBQUMsUUFBUSxDQUFDLE1BQU0sS0FBSyxTQUFTO0FBQUEsRUFBQTtBQUFBO0FBQUEsRUFJakMsTUFBTSxNQUFVO0FBQ3JCLFdBQU8sSUFBSSxLQUFLLEtBQUssU0FBUztBQUFBLEVBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUEsRUFRekIsaUJBQWlCLE1BQVksT0FBYTtBQUMvQyxXQUFPLEtBQUssa0JBQWtCLE1BQU0sUUFBUSxFQUFFO0FBQUEsRUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQSxFQVF6QyxrQkFBa0IsTUFBWSxRQUFjO0FBQzNDLFVBQUEsY0FBYyxLQUFLLFNBQUEsSUFBYTtBQUNoQyxVQUFBLHVCQUF1QixJQUFJLEtBQUssS0FBSyxZQUFlLEdBQUEsYUFBYSxHQUFHLEdBQUcsR0FBRyxHQUFHLENBQUM7QUFDOUUsVUFBQSxjQUFjLEtBQUssa0JBQWtCLG9CQUFvQjtBQUUvRCxXQUFPLElBQUksS0FBSyxLQUFLLE1BQU0sSUFBSSxFQUFFLFNBQVMsYUFBYSxLQUFLLElBQUksYUFBYSxLQUFLLFFBQVMsQ0FBQSxDQUFDLENBQUM7QUFBQSxFQUFBO0FBQUE7QUFBQSxFQUl4RixnQkFBZ0IsTUFBWSxNQUFZO0FBQ3ZDLFVBQUEsWUFBWSxLQUFLLFFBQUEsSUFBWTtBQUNuQyxXQUFPLElBQUksS0FBSyxLQUFLLFlBQWUsR0FBQSxLQUFLLFlBQVksV0FBVyxHQUFHLEdBQUcsR0FBRyxDQUFDO0FBQUEsRUFBQTtBQUFBO0FBQUEsRUFJNUQsWUFBWSxNQUFvQztBQUMxRCxRQUFBLE9BQU8sU0FBUyxVQUFVO0FBQzVCLFVBQUksQ0FBQyxNQUFNO0FBQ0YsZUFBQTtBQUFBLGlCQUNFLENBQUMsT0FBTyxNQUFNLENBQUMsSUFBSSxHQUFHO0FBQy9CLGVBQU8sS0FBSyxtQkFBbUIsSUFBSSxLQUFLLENBQUMsT0FBTyxHQUFJLENBQUM7QUFBQSxNQUk1QyxXQUFBLGVBQWUsS0FBSyxJQUFJLEdBQUc7QUFDN0IsZUFBQSxLQUFLLG1CQUFtQixJQUFJLEtBQUssS0FBSyxTQUFTLEdBQUcsSUFBSSxPQUFPLE9BQU8sV0FBVyxDQUFDO0FBQUEsTUFBQTtBQUFBLElBQ3pGLFdBQ1MsT0FBTyxTQUFTLFVBQVU7QUFDbkMsYUFBTyxLQUFLLG1CQUFtQixJQUFJLEtBQUssT0FBTyxHQUFJLENBQUM7QUFBQSxJQUFBO0FBRS9DLFdBQUEsTUFBTSxZQUFZLElBQUk7QUFBQSxFQUFBO0FBQUE7QUFBQSxFQUl4QixNQUFNLE9BQWtDLE1BQVksS0FBSyxTQUFPO0FBQ3JFLFFBQUksQ0FBQyxPQUFPO0FBQ0gsYUFBQTtBQUFBLElBQUE7QUFHVCxRQUFJLE9BQW9CO0FBQ2xCLFVBQUEsV0FBVyxNQUFNLE1BQU0sbUJBQW1CO0FBQzVDLFFBQUE7QUFDRixhQUFPLFdBQVcsS0FBSyxXQUFXLENBQUMsU0FBUyxDQUFDLEdBQUcsQ0FBQyxTQUFTLENBQUMsR0FBRyxDQUFDLFNBQVMsQ0FBQyxDQUFDLElBQUk7QUFBQSxJQUFBLFFBQ3hFO0FBQUEsSUFBQTtBQUdKLFFBQUEsS0FBSyxRQUFRLElBQUksR0FBRztBQUNmLGFBQUE7QUFBQSxJQUFBO0FBR1QsVUFBTSxnQkFBZ0IsTUFBTSxRQUFRLE9BQU8sR0FBRyxFQUFFO0FBRTFDLFVBQUEsUUFBNkMsK0NBQWUsTUFBTTtBQUN4RSxRQUNFLENBQUMsU0FDRCxNQUFNLFVBQVUsS0FDaEIsTUFBTSxVQUFVLEtBQ2hCLE1BQU0sS0FBSyxDQUFDLE1BQU0sTUFBTSxNQUFTLEtBQ2pDLENBQUMsS0FBSyxRQUFRLEtBQUssV0FBVyxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLEdBQzlEO0FBQ08sYUFBQTtBQUFBLElBQUE7QUFHTCxRQUFBLE9BQU8sQ0FBQyxNQUFNLENBQUM7QUFFbkIsUUFBSSxPQUFPLFNBQVMsWUFBWSxPQUFPLE9BQU8sUUFBUSxHQUFHO0FBQ3ZELFlBQU0sUUFBUSxJQUFJLFlBQVcsSUFBSyxNQUFPLEtBQUs7QUFDOUMsYUFBTyxRQUFRLFFBQVEsTUFBTyxPQUFPLE9BQU87QUFBQSxJQUFBO0FBR3ZDLFdBQUEsSUFBSSxLQUFLLE1BQU0sQ0FBQyxNQUFNLENBQUMsSUFBSSxHQUFHLENBQUMsTUFBTSxDQUFDLENBQUM7QUFBQSxFQUFBO0FBQUEsRUFHaEMsVUFBTztBQUNkLFdBQUEsb0JBQUksS0FBSyxHQUFHO0FBQUEsRUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQSxFQVFiLE9BQVUsUUFBZ0IsZUFBbUM7QUFDbkUsV0FBTyxNQUFNLEtBQUssRUFBRSxRQUFRLEVBQUUsSUFBSSxDQUFDLEdBQUcsTUFBTSxjQUFjLENBQUMsQ0FBQztBQUFBLEVBQUE7QUFBQTtBQUFBLEVBSXRELHdCQUF3QixNQUFjLE9BQWUsTUFBWTtBQUN2RSxVQUFNLFNBQVMsSUFBSSxLQUFLLE1BQU0sT0FBTyxJQUFJO0FBR3JDLFFBQUEsUUFBUSxLQUFLLE9BQU8sS0FBSztBQUMzQixhQUFPLFlBQVksS0FBSyxRQUFRLE1BQU0sSUFBSSxJQUFJO0FBQUEsSUFBQTtBQUV6QyxXQUFBO0FBQUEsRUFBQTtBQUVWO0FBRVksTUFBQSxxQkFBcUIsSUFBSTsifQ==
|
|
15
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0ZXRpbWUuanMiLCJzb3VyY2VzIjpbXSwic291cmNlc0NvbnRlbnQiOltdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzsifQ==
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import { readConfig } from "../config.js";
|
|
2
|
+
import { defaultDateAdapter } from "../datetime.js";
|
|
3
|
+
const dateConverter = {
|
|
4
|
+
fromAttribute(value, _type) {
|
|
5
|
+
var _a;
|
|
6
|
+
const dateAdapter = ((_a = readConfig().datetime) == null ? void 0 : _a.dateAdapter) ?? defaultDateAdapter;
|
|
7
|
+
return dateAdapter.getValidDateOrNull(dateAdapter.deserialize(value));
|
|
8
|
+
},
|
|
9
|
+
toAttribute(value, _type) {
|
|
10
|
+
var _a;
|
|
11
|
+
const dateAdapter = ((_a = readConfig().datetime) == null ? void 0 : _a.dateAdapter) ?? defaultDateAdapter;
|
|
12
|
+
return dateAdapter.isValid(value) ? dateAdapter.toIso8601(value) : null;
|
|
13
|
+
}
|
|
14
|
+
};
|
|
15
|
+
export {
|
|
16
|
+
dateConverter
|
|
17
|
+
};
|
|
18
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0ZS1jb252ZXJ0ZXIuanMiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9lbGVtZW50cy9jb3JlL2RlY29yYXRvcnMvZGF0ZS1jb252ZXJ0ZXIudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHR5cGUgeyBDb21wbGV4QXR0cmlidXRlQ29udmVydGVyIH0gZnJvbSAnbGl0JztcblxuaW1wb3J0IHsgcmVhZENvbmZpZyB9IGZyb20gJy4uL2NvbmZpZy5qcyc7XG5pbXBvcnQgeyBkZWZhdWx0RGF0ZUFkYXB0ZXIgfSBmcm9tICcuLi9kYXRldGltZS5qcyc7XG5cbi8qKlxuICogQ29udmVydHMgZW1wdHkgdmFsdWVzIHRvIG51bGwsIHdoaWNoIHdpbGwgbm90IGJlIHJlbmRlcmVkIGFzIGF0dHJpYnV0ZXMuXG4gKiBlLmcuIGZvciBzdHJpbmcgcHJvcGVydGllcywgYW4gZW1wdHkgdmFsdWUgJycgd2lsbCBub3QgYmUgcmVuZGVyZWQgYXMgYW5cbiAqIGVtcHR5IGF0dHJpYnV0ZSwgYXMgd291bGQgYmUgdGhlIGRlZmF1bHQgd2l0aCBsaXQuXG4gKi9cbmV4cG9ydCBjb25zdCBkYXRlQ29udmVydGVyOiBDb21wbGV4QXR0cmlidXRlQ29udmVydGVyID0ge1xuICBmcm9tQXR0cmlidXRlKHZhbHVlLCBfdHlwZSkge1xuICAgIGNvbnN0IGRhdGVBZGFwdGVyID0gcmVhZENvbmZpZygpLmRhdGV0aW1lPy5kYXRlQWRhcHRlciA/PyBkZWZhdWx0RGF0ZUFkYXB0ZXI7XG4gICAgcmV0dXJuIGRhdGVBZGFwdGVyLmdldFZhbGlkRGF0ZU9yTnVsbChkYXRlQWRhcHRlci5kZXNlcmlhbGl6ZSh2YWx1ZSkpO1xuICB9LFxuICB0b0F0dHJpYnV0ZSh2YWx1ZSwgX3R5cGUpIHtcbiAgICBjb25zdCBkYXRlQWRhcHRlciA9IHJlYWRDb25maWcoKS5kYXRldGltZT8uZGF0ZUFkYXB0ZXIgPz8gZGVmYXVsdERhdGVBZGFwdGVyO1xuICAgIHJldHVybiBkYXRlQWRhcHRlci5pc1ZhbGlkKHZhbHVlKSA/IGRhdGVBZGFwdGVyLnRvSXNvODYwMSh2YWx1ZSkgOiBudWxsO1xuICB9LFxufTtcbiJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOztBQVVPLE1BQU0sZ0JBQTJDO0FBQUEsRUFDdEQsY0FBYyxPQUFPLE9BQUs7O0FBQ3hCLFVBQU0sZ0JBQWMsZ0JBQUEsRUFBYSxhQUFiLG1CQUF1QixnQkFBZTtBQUMxRCxXQUFPLFlBQVksbUJBQW1CLFlBQVksWUFBWSxLQUFLLENBQUM7QUFBQSxFQUN0RTtBQUFBLEVBQ0EsWUFBWSxPQUFPLE9BQUs7O0FBQ3RCLFVBQU0sZ0JBQWMsZ0JBQUEsRUFBYSxhQUFiLG1CQUF1QixnQkFBZTtBQUMxRCxXQUFPLFlBQVksUUFBUSxLQUFLLElBQUksWUFBWSxVQUFVLEtBQUssSUFBSTtBQUFBLEVBQUE7OyJ9
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import { readConfig } from "../config.js";
|
|
2
|
+
import { defaultDateAdapter } from "../datetime.js";
|
|
3
|
+
function DateOnlyType(value) {
|
|
4
|
+
var _a;
|
|
5
|
+
const dateAdapter = ((_a = readConfig().datetime) == null ? void 0 : _a.dateAdapter) ?? defaultDateAdapter;
|
|
6
|
+
return dateAdapter.isDateInstance(value) && dateAdapter.isValid(value) ? dateAdapter.createDate(dateAdapter.getYear(value), dateAdapter.getMonth(value), dateAdapter.getDate(value)) : null;
|
|
7
|
+
}
|
|
8
|
+
export {
|
|
9
|
+
DateOnlyType
|
|
10
|
+
};
|
|
11
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0ZS1vbmx5LXR5cGUuanMiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9lbGVtZW50cy9jb3JlL2RlY29yYXRvcnMvZGF0ZS1vbmx5LXR5cGUudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgcmVhZENvbmZpZyB9IGZyb20gJy4uL2NvbmZpZy5qcyc7XG5pbXBvcnQgeyBkZWZhdWx0RGF0ZUFkYXB0ZXIgfSBmcm9tICcuLi9kYXRldGltZS5qcyc7XG5cbi8qKlxuICogQ29udmVydHMgdGhlIGdpdmVuIHZhbHVlIHRvIGEgZGF0ZSBvYmplY3Qgb3IgbnVsbC5cbiAqIFNob3VsZCBiZSB1c2VkIGFzIGEgdHlwZSBoaW50IGZvciB0aGUgQHByb3BlcnR5IGRlY29yYXRvci5cbiAqIEBwYXJhbSB2YWx1ZSBUaGUgdmFsdWUgdG8gY29udmVydCB0byBhIGRhdGUgb2JqZWN0LlxuICogQHJldHVybnMgQSBkYXRlIG9iamVjdCBvciBudWxsLlxuICovXG4vLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25hbWluZy1jb252ZW50aW9uXG5leHBvcnQgZnVuY3Rpb24gRGF0ZU9ubHlUeXBlKHZhbHVlOiB1bmtub3duKTogdW5rbm93biB8IG51bGwge1xuICBjb25zdCBkYXRlQWRhcHRlciA9IHJlYWRDb25maWcoKS5kYXRldGltZT8uZGF0ZUFkYXB0ZXIgPz8gZGVmYXVsdERhdGVBZGFwdGVyO1xuICByZXR1cm4gZGF0ZUFkYXB0ZXIuaXNEYXRlSW5zdGFuY2UodmFsdWUpICYmIGRhdGVBZGFwdGVyLmlzVmFsaWQodmFsdWUpXG4gICAgPyBkYXRlQWRhcHRlci5jcmVhdGVEYXRlKFxuICAgICAgICBkYXRlQWRhcHRlci5nZXRZZWFyKHZhbHVlKSxcbiAgICAgICAgZGF0ZUFkYXB0ZXIuZ2V0TW9udGgodmFsdWUpLFxuICAgICAgICBkYXRlQWRhcHRlci5nZXREYXRlKHZhbHVlKSxcbiAgICAgIClcbiAgICA6IG51bGw7XG59XG4iXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7QUFVTSxTQUFVLGFBQWEsT0FBYzs7QUFDekMsUUFBTSxnQkFBYyxnQkFBQSxFQUFhLGFBQWIsbUJBQXVCLGdCQUFlO0FBQ25ELFNBQUEsWUFBWSxlQUFlLEtBQUssS0FBSyxZQUFZLFFBQVEsS0FBSyxJQUNqRSxZQUFZLFdBQ1YsWUFBWSxRQUFRLEtBQUssR0FDekIsWUFBWSxTQUFTLEtBQUssR0FDMUIsWUFBWSxRQUFRLEtBQUssQ0FBQyxJQUU1QjtBQUNOOyJ9
|