@kirbydesign/designsystem 10.2.0 → 10.3.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/accordion/accordion-item.component.d.ts +1 -0
- package/accordion/accordion-item.component.d.ts.map +1 -0
- package/accordion/accordion.directive.d.ts +1 -0
- package/accordion/accordion.directive.d.ts.map +1 -0
- package/accordion/accordion.module.d.ts +1 -0
- package/accordion/accordion.module.d.ts.map +1 -0
- package/accordion/index.d.ts +1 -0
- package/accordion/kirbydesign-designsystem-accordion.d.ts.map +1 -0
- package/accordion/public_api.d.ts +1 -0
- package/accordion/public_api.d.ts.map +1 -0
- package/action-group/action-group.component.d.ts +1 -0
- package/action-group/action-group.component.d.ts.map +1 -0
- package/action-group/index.d.ts +1 -0
- package/action-group/kirbydesign-designsystem-action-group.d.ts.map +1 -0
- package/action-group/public_api.d.ts +1 -0
- package/action-group/public_api.d.ts.map +1 -0
- package/avatar/avatar.component.d.ts +1 -0
- package/avatar/avatar.component.d.ts.map +1 -0
- package/avatar/index.d.ts +1 -0
- package/avatar/kirbydesign-designsystem-avatar.d.ts.map +1 -0
- package/avatar/public_api.d.ts +1 -0
- package/avatar/public_api.d.ts.map +1 -0
- package/badge/badge.component.d.ts +1 -0
- package/badge/badge.component.d.ts.map +1 -0
- package/badge/index.d.ts +1 -0
- package/badge/kirbydesign-designsystem-badge.d.ts.map +1 -0
- package/badge/public_api.d.ts +1 -0
- package/badge/public_api.d.ts.map +1 -0
- package/button/button.component.d.ts +1 -0
- package/button/button.component.d.ts.map +1 -0
- package/button/index.d.ts +1 -0
- package/button/kirbydesign-designsystem-button.d.ts.map +1 -0
- package/button/public_api.d.ts +1 -0
- package/button/public_api.d.ts.map +1 -0
- package/calendar/calendar.component.d.ts +1 -0
- package/calendar/calendar.component.d.ts.map +1 -0
- package/calendar/index.d.ts +1 -0
- package/calendar/interfaces/calendar-day.d.ts +1 -0
- package/calendar/interfaces/calendar-day.d.ts.map +1 -0
- package/calendar/interfaces/calendar-year-navigator-config.d.ts +1 -0
- package/calendar/interfaces/calendar-year-navigator-config.d.ts.map +1 -0
- package/calendar/kirbydesign-designsystem-calendar.d.ts.map +1 -0
- package/calendar/public_api.d.ts +1 -0
- package/calendar/public_api.d.ts.map +1 -0
- package/card/card-as-button/card-as-button.directive.d.ts +1 -0
- package/card/card-as-button/card-as-button.directive.d.ts.map +1 -0
- package/card/card-flag-level.d.ts +1 -0
- package/card/card-flag-level.d.ts.map +1 -0
- package/card/card-footer/card-footer.component.d.ts +1 -0
- package/card/card-footer/card-footer.component.d.ts.map +1 -0
- package/card/card-header/card-header.component.d.ts +1 -0
- package/card/card-header/card-header.component.d.ts.map +1 -0
- package/card/card.component.d.ts +1 -0
- package/card/card.component.d.ts.map +1 -0
- package/card/card.module.d.ts +1 -0
- package/card/card.module.d.ts.map +1 -0
- package/card/index.d.ts +1 -0
- package/card/kirbydesign-designsystem-card.d.ts.map +1 -0
- package/card/public_api.d.ts +1 -0
- package/card/public_api.d.ts.map +1 -0
- package/chart/chart/chart.component.d.ts +1 -0
- package/chart/chart/chart.component.d.ts.map +1 -0
- package/chart/chart/index.d.ts +1 -0
- package/chart/chart/index.d.ts.map +1 -0
- package/chart/chart-config/chart-bar-config/chart-bar-config.d.ts +1 -0
- package/chart/chart-config/chart-bar-config/chart-bar-config.d.ts.map +1 -0
- package/chart/chart-config/chart-base-config.d.ts +1 -0
- package/chart/chart-config/chart-base-config.d.ts.map +1 -0
- package/chart/chart-config/chart-stock-config/chart-stock-config.d.ts +1 -0
- package/chart/chart-config/chart-stock-config/chart-stock-config.d.ts.map +1 -0
- package/chart/chart-config/chart-stock-config/data-label-position/data-label-position.d.ts +1 -0
- package/chart/chart-config/chart-stock-config/data-label-position/data-label-position.d.ts.map +1 -0
- package/chart/chart-config/chart-stock-config/vertical-line-plugin/vertical-line-plugin.d.ts +1 -0
- package/chart/chart-config/chart-stock-config/vertical-line-plugin/vertical-line-plugin.d.ts.map +1 -0
- package/chart/chart-config/chart-stock-config/vertical-line-plugin/vertical-line-plugin.model.d.ts +1 -0
- package/chart/chart-config/chart-stock-config/vertical-line-plugin/vertical-line-plugin.model.d.ts.map +1 -0
- package/chart/charts.module.d.ts +1 -0
- package/chart/charts.module.d.ts.map +1 -0
- package/chart/index.d.ts +1 -0
- package/chart/kirbydesign-designsystem-chart.d.ts.map +1 -0
- package/chart/public_api.d.ts +1 -0
- package/chart/public_api.d.ts.map +1 -0
- package/chart/shared/base-chart/base-chart.component.d.ts +1 -0
- package/chart/shared/base-chart/base-chart.component.d.ts.map +1 -0
- package/chart/shared/base-chart/index.d.ts +1 -0
- package/chart/shared/base-chart/index.d.ts.map +1 -0
- package/chart/shared/chart-config-service/chart-config.service.d.ts +1 -0
- package/chart/shared/chart-config-service/chart-config.service.d.ts.map +1 -0
- package/chart/shared/chart-config-service/configs/annotations.config.d.ts +1 -0
- package/chart/shared/chart-config-service/configs/annotations.config.d.ts.map +1 -0
- package/chart/shared/chart-config-service/configs/global-defaults.config.d.ts +1 -0
- package/chart/shared/chart-config-service/configs/global-defaults.config.d.ts.map +1 -0
- package/chart/shared/chart-config-service/configs/interaction-functions-extensions.config.d.ts +1 -0
- package/chart/shared/chart-config-service/configs/interaction-functions-extensions.config.d.ts.map +1 -0
- package/chart/shared/chart-config-service/configs/type.config.d.ts +1 -0
- package/chart/shared/chart-config-service/configs/type.config.d.ts.map +1 -0
- package/chart/shared/chart-config-service/index.d.ts +1 -0
- package/chart/shared/chart-config-service/index.d.ts.map +1 -0
- package/chart/shared/chart-js-service/annotations.delegate.d.ts +1 -0
- package/chart/shared/chart-js-service/annotations.delegate.d.ts.map +1 -0
- package/chart/shared/chart-js-service/chart-js.service.d.ts +1 -0
- package/chart/shared/chart-js-service/chart-js.service.d.ts.map +1 -0
- package/chart/shared/chart-js-service/chartjs-plugin-marker/chartjs-plugin-marker.d.ts +1 -0
- package/chart/shared/chart-js-service/chartjs-plugin-marker/chartjs-plugin-marker.d.ts.map +1 -0
- package/chart/shared/chart-js-service/configured-chart-js.d.ts +1 -0
- package/chart/shared/chart-js-service/configured-chart-js.d.ts.map +1 -0
- package/chart/shared/chart-js-service/index.d.ts +1 -0
- package/chart/shared/chart-js-service/index.d.ts.map +1 -0
- package/chart/shared/chart-js-service/test-utils.d.ts +1 -0
- package/chart/shared/chart-js-service/test-utils.d.ts.map +1 -0
- package/chart/shared/charts.types.d.ts +1 -0
- package/chart/shared/charts.types.d.ts.map +1 -0
- package/chart/shared/index.d.ts +1 -0
- package/chart/shared/index.d.ts.map +1 -0
- package/chart/stock-chart/index.d.ts +1 -0
- package/chart/stock-chart/index.d.ts.map +1 -0
- package/chart/stock-chart/stock-chart-js.service.d.ts +1 -0
- package/chart/stock-chart/stock-chart-js.service.d.ts.map +1 -0
- package/chart/stock-chart/stock-chart.component.d.ts +1 -0
- package/chart/stock-chart/stock-chart.component.d.ts.map +1 -0
- package/checkbox/checkbox.component.d.ts +1 -0
- package/checkbox/checkbox.component.d.ts.map +1 -0
- package/checkbox/index.d.ts +1 -0
- package/checkbox/kirbydesign-designsystem-checkbox.d.ts.map +1 -0
- package/checkbox/public_api.d.ts +1 -0
- package/checkbox/public_api.d.ts.map +1 -0
- package/data-table/data-table.module.d.ts +1 -0
- package/data-table/data-table.module.d.ts.map +1 -0
- package/data-table/index.d.ts +1 -0
- package/data-table/kirbydesign-designsystem-data-table.d.ts.map +1 -0
- package/data-table/public_api.d.ts +1 -0
- package/data-table/public_api.d.ts.map +1 -0
- package/data-table/sortable/sortable.component.d.ts +1 -0
- package/data-table/sortable/sortable.component.d.ts.map +1 -0
- package/divider/divider.component.d.ts +1 -0
- package/divider/divider.component.d.ts.map +1 -0
- package/divider/index.d.ts +1 -0
- package/divider/kirbydesign-designsystem-divider.d.ts.map +1 -0
- package/divider/public_api.d.ts +1 -0
- package/divider/public_api.d.ts.map +1 -0
- package/dropdown/dropdown.component.d.ts +1 -0
- package/dropdown/dropdown.component.d.ts.map +1 -0
- package/dropdown/dropdown.module.d.ts +1 -0
- package/dropdown/dropdown.module.d.ts.map +1 -0
- package/dropdown/dropdown.types.d.ts +1 -0
- package/dropdown/dropdown.types.d.ts.map +1 -0
- package/dropdown/index.d.ts +1 -0
- package/dropdown/keyboard-handler.service.d.ts +1 -0
- package/dropdown/keyboard-handler.service.d.ts.map +1 -0
- package/dropdown/kirbydesign-designsystem-dropdown.d.ts.map +1 -0
- package/dropdown/public_api.d.ts +1 -0
- package/dropdown/public_api.d.ts.map +1 -0
- package/empty-state/empty-state.component.d.ts +1 -0
- package/empty-state/empty-state.component.d.ts.map +1 -0
- package/empty-state/empty-state.module.d.ts +1 -0
- package/empty-state/empty-state.module.d.ts.map +1 -0
- package/empty-state/index.d.ts +1 -0
- package/empty-state/kirbydesign-designsystem-empty-state.d.ts.map +1 -0
- package/empty-state/public_api.d.ts +1 -0
- package/empty-state/public_api.d.ts.map +1 -0
- package/fab-sheet/fab-sheet.component.d.ts +1 -0
- package/fab-sheet/fab-sheet.component.d.ts.map +1 -0
- package/fab-sheet/index.d.ts +1 -0
- package/fab-sheet/kirbydesign-designsystem-fab-sheet.d.ts.map +1 -0
- package/fab-sheet/public_api.d.ts +1 -0
- package/fab-sheet/public_api.d.ts.map +1 -0
- package/fesm2022/kirbydesign-designsystem-accordion.mjs +12 -11
- package/fesm2022/kirbydesign-designsystem-accordion.mjs.map +1 -1
- package/fesm2022/kirbydesign-designsystem-action-group.mjs +4 -4
- package/fesm2022/kirbydesign-designsystem-action-group.mjs.map +1 -1
- package/fesm2022/kirbydesign-designsystem-avatar.mjs +4 -4
- package/fesm2022/kirbydesign-designsystem-avatar.mjs.map +1 -1
- package/fesm2022/kirbydesign-designsystem-badge.mjs +4 -4
- package/fesm2022/kirbydesign-designsystem-badge.mjs.map +1 -1
- package/fesm2022/kirbydesign-designsystem-button.mjs +4 -4
- package/fesm2022/kirbydesign-designsystem-button.mjs.map +1 -1
- package/fesm2022/kirbydesign-designsystem-calendar.mjs +5 -4
- package/fesm2022/kirbydesign-designsystem-calendar.mjs.map +1 -1
- package/fesm2022/kirbydesign-designsystem-card.mjs +20 -19
- package/fesm2022/kirbydesign-designsystem-card.mjs.map +1 -1
- package/fesm2022/kirbydesign-designsystem-chart.mjs +25 -25
- package/fesm2022/kirbydesign-designsystem-chart.mjs.map +1 -1
- package/fesm2022/kirbydesign-designsystem-checkbox.mjs +4 -4
- package/fesm2022/kirbydesign-designsystem-checkbox.mjs.map +1 -1
- package/fesm2022/kirbydesign-designsystem-data-table.mjs +8 -8
- package/fesm2022/kirbydesign-designsystem-data-table.mjs.map +1 -1
- package/fesm2022/kirbydesign-designsystem-divider.mjs +4 -4
- package/fesm2022/kirbydesign-designsystem-divider.mjs.map +1 -1
- package/fesm2022/kirbydesign-designsystem-dropdown.mjs +12 -12
- package/fesm2022/kirbydesign-designsystem-dropdown.mjs.map +1 -1
- package/fesm2022/kirbydesign-designsystem-empty-state.mjs +8 -8
- package/fesm2022/kirbydesign-designsystem-empty-state.mjs.map +1 -1
- package/fesm2022/kirbydesign-designsystem-fab-sheet.mjs +4 -4
- package/fesm2022/kirbydesign-designsystem-fab-sheet.mjs.map +1 -1
- package/fesm2022/kirbydesign-designsystem-flag.mjs +4 -4
- package/fesm2022/kirbydesign-designsystem-flag.mjs.map +1 -1
- package/fesm2022/kirbydesign-designsystem-form-field.mjs +34 -34
- package/fesm2022/kirbydesign-designsystem-form-field.mjs.map +1 -1
- package/fesm2022/kirbydesign-designsystem-header.mjs +24 -20
- package/fesm2022/kirbydesign-designsystem-header.mjs.map +1 -1
- package/fesm2022/kirbydesign-designsystem-helpers-scss.mjs.map +1 -1
- package/fesm2022/kirbydesign-designsystem-helpers.mjs +9 -9
- package/fesm2022/kirbydesign-designsystem-helpers.mjs.map +1 -1
- package/fesm2022/kirbydesign-designsystem-icon.mjs +29 -13
- package/fesm2022/kirbydesign-designsystem-icon.mjs.map +1 -1
- package/fesm2022/kirbydesign-designsystem-item-group.mjs +4 -4
- package/fesm2022/kirbydesign-designsystem-item-group.mjs.map +1 -1
- package/fesm2022/kirbydesign-designsystem-item-sliding.mjs +4 -4
- package/fesm2022/kirbydesign-designsystem-item-sliding.mjs.map +1 -1
- package/fesm2022/kirbydesign-designsystem-item.mjs +12 -12
- package/fesm2022/kirbydesign-designsystem-item.mjs.map +1 -1
- package/fesm2022/kirbydesign-designsystem-kirby-app.mjs +8 -8
- package/fesm2022/kirbydesign-designsystem-kirby-app.mjs.map +1 -1
- package/fesm2022/kirbydesign-designsystem-kirby-ionic-module.mjs +4 -4
- package/fesm2022/kirbydesign-designsystem-kirby-ionic-module.mjs.map +1 -1
- package/fesm2022/kirbydesign-designsystem-list.mjs +51 -45
- package/fesm2022/kirbydesign-designsystem-list.mjs.map +1 -1
- package/fesm2022/kirbydesign-designsystem-loading-overlay.mjs +7 -7
- package/fesm2022/kirbydesign-designsystem-loading-overlay.mjs.map +1 -1
- package/fesm2022/kirbydesign-designsystem-menu.mjs +4 -4
- package/fesm2022/kirbydesign-designsystem-menu.mjs.map +1 -1
- package/fesm2022/kirbydesign-designsystem-modal.mjs +55 -52
- package/fesm2022/kirbydesign-designsystem-modal.mjs.map +1 -1
- package/fesm2022/kirbydesign-designsystem-page.mjs +52 -44
- package/fesm2022/kirbydesign-designsystem-page.mjs.map +1 -1
- package/fesm2022/kirbydesign-designsystem-popover.mjs +4 -4
- package/fesm2022/kirbydesign-designsystem-popover.mjs.map +1 -1
- package/fesm2022/kirbydesign-designsystem-progress-circle.mjs +8 -8
- package/fesm2022/kirbydesign-designsystem-progress-circle.mjs.map +1 -1
- package/fesm2022/kirbydesign-designsystem-radio.mjs +21 -23
- package/fesm2022/kirbydesign-designsystem-radio.mjs.map +1 -1
- package/fesm2022/kirbydesign-designsystem-range.mjs +4 -4
- package/fesm2022/kirbydesign-designsystem-range.mjs.map +1 -1
- package/fesm2022/kirbydesign-designsystem-reorder-list.mjs +5 -5
- package/fesm2022/kirbydesign-designsystem-reorder-list.mjs.map +1 -1
- package/fesm2022/kirbydesign-designsystem-router-outlet.mjs +8 -8
- package/fesm2022/kirbydesign-designsystem-router-outlet.mjs.map +1 -1
- package/fesm2022/kirbydesign-designsystem-section-header.mjs +4 -4
- package/fesm2022/kirbydesign-designsystem-section-header.mjs.map +1 -1
- package/fesm2022/kirbydesign-designsystem-shared-floating.mjs +3 -3
- package/fesm2022/kirbydesign-designsystem-shared-floating.mjs.map +1 -1
- package/fesm2022/kirbydesign-designsystem-shared-portal.mjs +3 -3
- package/fesm2022/kirbydesign-designsystem-shared-portal.mjs.map +1 -1
- package/fesm2022/kirbydesign-designsystem-shared.mjs +18 -18
- package/fesm2022/kirbydesign-designsystem-shared.mjs.map +1 -1
- package/fesm2022/kirbydesign-designsystem-slide-button.mjs +4 -4
- package/fesm2022/kirbydesign-designsystem-slide-button.mjs.map +1 -1
- package/fesm2022/kirbydesign-designsystem-slide.mjs +16 -14
- package/fesm2022/kirbydesign-designsystem-slide.mjs.map +1 -1
- package/fesm2022/kirbydesign-designsystem-spinner.mjs +8 -8
- package/fesm2022/kirbydesign-designsystem-spinner.mjs.map +1 -1
- package/fesm2022/kirbydesign-designsystem-tab-navigation.mjs +12 -12
- package/fesm2022/kirbydesign-designsystem-tab-navigation.mjs.map +1 -1
- package/fesm2022/kirbydesign-designsystem-tabs.mjs +15 -15
- package/fesm2022/kirbydesign-designsystem-tabs.mjs.map +1 -1
- package/fesm2022/kirbydesign-designsystem-testing-base.mjs +287 -354
- package/fesm2022/kirbydesign-designsystem-testing-base.mjs.map +1 -1
- package/fesm2022/kirbydesign-designsystem-testing-jasmine.mjs +4 -4
- package/fesm2022/kirbydesign-designsystem-testing-jasmine.mjs.map +1 -1
- package/fesm2022/kirbydesign-designsystem-testing-jest.mjs +4 -4
- package/fesm2022/kirbydesign-designsystem-testing-jest.mjs.map +1 -1
- package/fesm2022/kirbydesign-designsystem-testing.mjs +4 -4
- package/fesm2022/kirbydesign-designsystem-testing.mjs.map +1 -1
- package/fesm2022/kirbydesign-designsystem-toast.mjs +6 -6
- package/fesm2022/kirbydesign-designsystem-toast.mjs.map +1 -1
- package/fesm2022/kirbydesign-designsystem-toggle-button.mjs +19 -10
- package/fesm2022/kirbydesign-designsystem-toggle-button.mjs.map +1 -1
- package/fesm2022/kirbydesign-designsystem-toggle.mjs +4 -4
- package/fesm2022/kirbydesign-designsystem-toggle.mjs.map +1 -1
- package/fesm2022/kirbydesign-designsystem-types.mjs +3 -3
- package/fesm2022/kirbydesign-designsystem-types.mjs.map +1 -1
- package/fesm2022/kirbydesign-designsystem.mjs +16 -14
- package/fesm2022/kirbydesign-designsystem.mjs.map +1 -1
- package/flag/flag.component.d.ts +1 -0
- package/flag/flag.component.d.ts.map +1 -0
- package/flag/index.d.ts +1 -0
- package/flag/kirbydesign-designsystem-flag.d.ts.map +1 -0
- package/flag/public_api.d.ts +1 -0
- package/flag/public_api.d.ts.map +1 -0
- package/form-field/directives/affix/affix.directive.d.ts +1 -0
- package/form-field/directives/affix/affix.directive.d.ts.map +1 -0
- package/form-field/directives/date/date-input.directive.d.ts +1 -0
- package/form-field/directives/date/date-input.directive.d.ts.map +1 -0
- package/form-field/directives/decimal-mask/decimal-mask.directive.d.ts +1 -0
- package/form-field/directives/decimal-mask/decimal-mask.directive.d.ts.map +1 -0
- package/form-field/form-field-message/form-field-message.component.d.ts +1 -0
- package/form-field/form-field-message/form-field-message.component.d.ts.map +1 -0
- package/form-field/form-field.component.d.ts +1 -0
- package/form-field/form-field.component.d.ts.map +1 -0
- package/form-field/form-field.module.d.ts +1 -0
- package/form-field/form-field.module.d.ts.map +1 -0
- package/form-field/index.d.ts +1 -0
- package/form-field/input/input.component.d.ts +1 -0
- package/form-field/input/input.component.d.ts.map +1 -0
- package/form-field/input-counter/input-counter.component.d.ts +1 -0
- package/form-field/input-counter/input-counter.component.d.ts.map +1 -0
- package/form-field/kirbydesign-designsystem-form-field.d.ts.map +1 -0
- package/form-field/public_api.d.ts +1 -0
- package/form-field/public_api.d.ts.map +1 -0
- package/form-field/textarea/textarea.component.d.ts +1 -0
- package/form-field/textarea/textarea.component.d.ts.map +1 -0
- package/header/header.component.d.ts +1 -0
- package/header/header.component.d.ts.map +1 -0
- package/header/header.module.d.ts +1 -0
- package/header/header.module.d.ts.map +1 -0
- package/header/index.d.ts +1 -0
- package/header/kirbydesign-designsystem-header.d.ts.map +1 -0
- package/header/public_api.d.ts +1 -0
- package/header/public_api.d.ts.map +1 -0
- package/helpers/chart-config-has-type.d.ts +1 -0
- package/helpers/chart-config-has-type.d.ts.map +1 -0
- package/helpers/color-helper.d.ts +1 -0
- package/helpers/color-helper.d.ts.map +1 -0
- package/helpers/content-mutation-observer.d.ts +1 -0
- package/helpers/content-mutation-observer.d.ts.map +1 -0
- package/helpers/deep-copy.d.ts +1 -0
- package/helpers/deep-copy.d.ts.map +1 -0
- package/helpers/design-token-helper.d.ts +1 -0
- package/helpers/design-token-helper.d.ts.map +1 -0
- package/helpers/element-ancestor-utils.d.ts +1 -0
- package/helpers/element-ancestor-utils.d.ts.map +1 -0
- package/helpers/index.d.ts +1 -0
- package/helpers/ionic-element-part-helper.d.ts +1 -0
- package/helpers/ionic-element-part-helper.d.ts.map +1 -0
- package/helpers/kirby-animation.d.ts +1 -0
- package/helpers/kirby-animation.d.ts.map +1 -0
- package/helpers/kirbydesign-designsystem-helpers.d.ts.map +1 -0
- package/helpers/line-clamp-helper.d.ts +1 -0
- package/helpers/line-clamp-helper.d.ts.map +1 -0
- package/helpers/merge-deep.d.ts +1 -0
- package/helpers/merge-deep.d.ts.map +1 -0
- package/helpers/platform.service.d.ts +1 -0
- package/helpers/platform.service.d.ts.map +1 -0
- package/helpers/public_api.d.ts +1 -0
- package/helpers/public_api.d.ts.map +1 -0
- package/helpers/scss/index.d.ts +1 -0
- package/helpers/scss/kirbydesign-designsystem-helpers-scss.d.ts.map +1 -0
- package/helpers/scss/public_api.d.ts +1 -0
- package/helpers/scss/public_api.d.ts.map +1 -0
- package/helpers/scss/scss-helper.d.ts +1 -0
- package/helpers/scss/scss-helper.d.ts.map +1 -0
- package/helpers/string-helper.d.ts +1 -0
- package/helpers/string-helper.d.ts.map +1 -0
- package/helpers/theme-color.type.d.ts +1 -0
- package/helpers/theme-color.type.d.ts.map +1 -0
- package/helpers/unique-id-generator.helper.d.ts +1 -0
- package/helpers/unique-id-generator.helper.d.ts.map +1 -0
- package/icon/icon-registry.service.d.ts +1 -0
- package/icon/icon-registry.service.d.ts.map +1 -0
- package/icon/icon-settings.d.ts +1 -0
- package/icon/icon-settings.d.ts.map +1 -0
- package/icon/icon.component.d.ts +7 -2
- package/icon/icon.component.d.ts.map +1 -0
- package/icon/icon.module.d.ts +1 -0
- package/icon/icon.module.d.ts.map +1 -0
- package/icon/index.d.ts +1 -0
- package/icon/kirby-icon-settings.d.ts +1 -0
- package/icon/kirby-icon-settings.d.ts.map +1 -0
- package/icon/kirbydesign-designsystem-icon.d.ts.map +1 -0
- package/icon/public_api.d.ts +1 -0
- package/icon/public_api.d.ts.map +1 -0
- package/icons/svg/expense.svg +1 -0
- package/icons/svg/income.svg +1 -0
- package/icons/svg/notification-fill.svg +1 -0
- package/icons/svg/signed-document.svg +1 -0
- package/index.d.ts +1 -0
- package/item/index.d.ts +1 -0
- package/item/item.component.d.ts +1 -0
- package/item/item.component.d.ts.map +1 -0
- package/item/item.module.d.ts +1 -0
- package/item/item.module.d.ts.map +1 -0
- package/item/kirbydesign-designsystem-item.d.ts.map +1 -0
- package/item/label/label.component.d.ts +1 -0
- package/item/label/label.component.d.ts.map +1 -0
- package/item/public_api.d.ts +1 -0
- package/item/public_api.d.ts.map +1 -0
- package/item-group/index.d.ts +1 -0
- package/item-group/item-group.component.d.ts +1 -0
- package/item-group/item-group.component.d.ts.map +1 -0
- package/item-group/kirbydesign-designsystem-item-group.d.ts.map +1 -0
- package/item-group/public_api.d.ts +1 -0
- package/item-group/public_api.d.ts.map +1 -0
- package/item-sliding/index.d.ts +1 -0
- package/item-sliding/item-sliding.component.d.ts +1 -0
- package/item-sliding/item-sliding.component.d.ts.map +1 -0
- package/item-sliding/item-sliding.types.d.ts +1 -0
- package/item-sliding/item-sliding.types.d.ts.map +1 -0
- package/item-sliding/kirbydesign-designsystem-item-sliding.d.ts.map +1 -0
- package/item-sliding/public_api.d.ts +1 -0
- package/item-sliding/public_api.d.ts.map +1 -0
- package/kirby-app/index.d.ts +1 -0
- package/kirby-app/kirby-app.component.d.ts +1 -0
- package/kirby-app/kirby-app.component.d.ts.map +1 -0
- package/kirby-app/kirby-app.module.d.ts +1 -0
- package/kirby-app/kirby-app.module.d.ts.map +1 -0
- package/kirby-app/kirbydesign-designsystem-kirby-app.d.ts.map +1 -0
- package/kirby-app/public_api.d.ts +1 -0
- package/kirby-app/public_api.d.ts.map +1 -0
- package/kirby-ionic-module/index.d.ts +1 -0
- package/kirby-ionic-module/kirby-ionic.module.d.ts +1 -0
- package/kirby-ionic-module/kirby-ionic.module.d.ts.map +1 -0
- package/kirby-ionic-module/kirbydesign-designsystem-kirby-ionic-module.d.ts.map +1 -0
- package/kirby-ionic-module/public_api.d.ts +1 -0
- package/kirby-ionic-module/public_api.d.ts.map +1 -0
- package/kirbydesign-designsystem.d.ts.map +1 -0
- package/lib/components/index.d.ts +1 -0
- package/lib/components/index.d.ts.map +1 -0
- package/lib/components/segmented-control/segment-item.d.ts +1 -0
- package/lib/components/segmented-control/segment-item.d.ts.map +1 -0
- package/lib/components/segmented-control/segmented-control.component.d.ts +1 -2
- package/lib/components/segmented-control/segmented-control.component.d.ts.map +1 -0
- package/lib/directives/index.d.ts +1 -0
- package/lib/directives/index.d.ts.map +1 -0
- package/lib/directives/key-handler/key-handler.directive.d.ts +1 -0
- package/lib/directives/key-handler/key-handler.directive.d.ts.map +1 -0
- package/lib/directives/modal-router-link/modal-router-link.directive.d.ts +1 -0
- package/lib/directives/modal-router-link/modal-router-link.directive.d.ts.map +1 -0
- package/lib/index.d.ts +1 -0
- package/lib/index.d.ts.map +1 -0
- package/lib/kirby.module.d.ts +1 -0
- package/lib/kirby.module.d.ts.map +1 -0
- package/list/directives/index.d.ts +1 -0
- package/list/directives/index.d.ts.map +1 -0
- package/list/directives/infinite-scroll.directive.d.ts +1 -0
- package/list/directives/infinite-scroll.directive.d.ts.map +1 -0
- package/list/directives/list-item-color.directive.d.ts +1 -0
- package/list/directives/list-item-color.directive.d.ts.map +1 -0
- package/list/directives/scroll.model.d.ts +1 -0
- package/list/directives/scroll.model.d.ts.map +1 -0
- package/list/helpers/index.d.ts +1 -0
- package/list/helpers/index.d.ts.map +1 -0
- package/list/helpers/list-helper.d.ts +1 -0
- package/list/helpers/list-helper.d.ts.map +1 -0
- package/list/index.d.ts +1 -0
- package/list/kirbydesign-designsystem-list.d.ts.map +1 -0
- package/list/list-experimental/index.d.ts +1 -0
- package/list/list-experimental/index.d.ts.map +1 -0
- package/list/list-experimental/list-experimental.component.d.ts +1 -0
- package/list/list-experimental/list-experimental.component.d.ts.map +1 -0
- package/list/list-header/index.d.ts +1 -0
- package/list/list-header/index.d.ts.map +1 -0
- package/list/list-header/list-header.component.d.ts +1 -0
- package/list/list-header/list-header.component.d.ts.map +1 -0
- package/list/list-item/index.d.ts +1 -0
- package/list/list-item/index.d.ts.map +1 -0
- package/list/list-item/list-item.component.d.ts +1 -0
- package/list/list-item/list-item.component.d.ts.map +1 -0
- package/list/list-section-header/index.d.ts +1 -0
- package/list/list-section-header/index.d.ts.map +1 -0
- package/list/list-section-header/list-section-header.component.d.ts +1 -0
- package/list/list-section-header/list-section-header.component.d.ts.map +1 -0
- package/list/list-swipe-action.d.ts +1 -0
- package/list/list-swipe-action.d.ts.map +1 -0
- package/list/list-swipe-action.type.d.ts +1 -0
- package/list/list-swipe-action.type.d.ts.map +1 -0
- package/list/list.component.d.ts +1 -0
- package/list/list.component.d.ts.map +1 -0
- package/list/list.directive.d.ts +1 -0
- package/list/list.directive.d.ts.map +1 -0
- package/list/list.event.d.ts +1 -0
- package/list/list.event.d.ts.map +1 -0
- package/list/list.module.d.ts +1 -0
- package/list/list.module.d.ts.map +1 -0
- package/list/public_api.d.ts +1 -0
- package/list/public_api.d.ts.map +1 -0
- package/loading-overlay/index.d.ts +1 -0
- package/loading-overlay/kirbydesign-designsystem-loading-overlay.d.ts.map +1 -0
- package/loading-overlay/loading-overlay.component.d.ts +1 -0
- package/loading-overlay/loading-overlay.component.d.ts.map +1 -0
- package/loading-overlay/loading-overlay.service.d.ts +1 -0
- package/loading-overlay/loading-overlay.service.d.ts.map +1 -0
- package/loading-overlay/public_api.d.ts +1 -0
- package/loading-overlay/public_api.d.ts.map +1 -0
- package/menu/index.d.ts +1 -0
- package/menu/kirbydesign-designsystem-menu.d.ts.map +1 -0
- package/menu/menu.component.d.ts +1 -0
- package/menu/menu.component.d.ts.map +1 -0
- package/menu/public_api.d.ts +1 -0
- package/menu/public_api.d.ts.map +1 -0
- package/modal/index.d.ts +1 -0
- package/modal/kirbydesign-designsystem-modal.d.ts.map +1 -0
- package/modal/modal/action-sheet/action-sheet.component.d.ts +1 -0
- package/modal/modal/action-sheet/action-sheet.component.d.ts.map +1 -0
- package/modal/modal/action-sheet/config/action-sheet-config.d.ts +1 -0
- package/modal/modal/action-sheet/config/action-sheet-config.d.ts.map +1 -0
- package/modal/modal/action-sheet/config/action-sheet-item.d.ts +1 -0
- package/modal/modal/action-sheet/config/action-sheet-item.d.ts.map +1 -0
- package/modal/modal/action-sheet/index.d.ts +1 -0
- package/modal/modal/action-sheet/index.d.ts.map +1 -0
- package/modal/modal/alert/alert.component.d.ts +1 -0
- package/modal/modal/alert/alert.component.d.ts.map +1 -0
- package/modal/modal/alert/config/alert-config.d.ts +1 -0
- package/modal/modal/alert/config/alert-config.d.ts.map +1 -0
- package/modal/modal/alert/index.d.ts +1 -0
- package/modal/modal/alert/index.d.ts.map +1 -0
- package/modal/modal/footer/modal-footer.component.d.ts +1 -0
- package/modal/modal/footer/modal-footer.component.d.ts.map +1 -0
- package/modal/modal/index.d.ts +1 -0
- package/modal/modal/index.d.ts.map +1 -0
- package/modal/modal/modal-component/modal.component.d.ts +1 -0
- package/modal/modal/modal-component/modal.component.d.ts.map +1 -0
- package/modal/modal/services/action-sheet.helper.d.ts +1 -0
- package/modal/modal/services/action-sheet.helper.d.ts.map +1 -0
- package/modal/modal/services/alert.helper.d.ts +1 -0
- package/modal/modal/services/alert.helper.d.ts.map +1 -0
- package/modal/modal/services/can-dismiss-modal-guard.d.ts +1 -0
- package/modal/modal/services/can-dismiss-modal-guard.d.ts.map +1 -0
- package/modal/modal/services/can-dismiss.helper.d.ts +1 -0
- package/modal/modal/services/can-dismiss.helper.d.ts.map +1 -0
- package/modal/modal/services/index.d.ts +1 -0
- package/modal/modal/services/index.d.ts.map +1 -0
- package/modal/modal/services/modal-animation-builder.service.d.ts +1 -0
- package/modal/modal/services/modal-animation-builder.service.d.ts.map +1 -0
- package/modal/modal/services/modal.controller.d.ts +1 -0
- package/modal/modal/services/modal.controller.d.ts.map +1 -0
- package/modal/modal/services/modal.helper.d.ts +1 -0
- package/modal/modal/services/modal.helper.d.ts.map +1 -0
- package/modal/modal-navigation.service.d.ts +1 -0
- package/modal/modal-navigation.service.d.ts.map +1 -0
- package/modal/modal-wrapper/compact/index.d.ts +1 -0
- package/modal/modal-wrapper/compact/index.d.ts.map +1 -0
- package/modal/modal-wrapper/compact/modal-compact-wrapper.component.d.ts +1 -0
- package/modal/modal-wrapper/compact/modal-compact-wrapper.component.d.ts.map +1 -0
- package/modal/modal-wrapper/config/drawer-supplementary-action.d.ts +1 -0
- package/modal/modal-wrapper/config/drawer-supplementary-action.d.ts.map +1 -0
- package/modal/modal-wrapper/config/index.d.ts +1 -0
- package/modal/modal-wrapper/config/index.d.ts.map +1 -0
- package/modal/modal-wrapper/config/modal-config.d.ts +1 -0
- package/modal/modal-wrapper/config/modal-config.d.ts.map +1 -0
- package/modal/modal-wrapper/config/modal-config.helper.d.ts +1 -0
- package/modal/modal-wrapper/config/modal-config.helper.d.ts.map +1 -0
- package/modal/modal-wrapper/index.d.ts +1 -0
- package/modal/modal-wrapper/index.d.ts.map +1 -0
- package/modal/modal-wrapper/modal-elements-mover.delegate.d.ts +1 -0
- package/modal/modal-wrapper/modal-elements-mover.delegate.d.ts.map +1 -0
- package/modal/modal-wrapper/modal-wrapper.component.d.ts +1 -0
- package/modal/modal-wrapper/modal-wrapper.component.d.ts.map +1 -0
- package/modal/modal.interfaces.d.ts +1 -0
- package/modal/modal.interfaces.d.ts.map +1 -0
- package/modal/public_api.d.ts +1 -0
- package/modal/public_api.d.ts.map +1 -0
- package/package.json +9 -116
- package/page/index.d.ts +1 -0
- package/page/kirbydesign-designsystem-page.d.ts.map +1 -0
- package/page/page-footer/page-footer.component.d.ts +1 -0
- package/page/page-footer/page-footer.component.d.ts.map +1 -0
- package/page/page.component.d.ts +1 -0
- package/page/page.component.d.ts.map +1 -0
- package/page/page.module.d.ts +1 -0
- package/page/page.module.d.ts.map +1 -0
- package/page/public_api.d.ts +1 -0
- package/page/public_api.d.ts.map +1 -0
- package/popover/index.d.ts +1 -0
- package/popover/kirbydesign-designsystem-popover.d.ts.map +1 -0
- package/popover/popover.component.d.ts +1 -0
- package/popover/popover.component.d.ts.map +1 -0
- package/popover/public_api.d.ts +1 -0
- package/popover/public_api.d.ts.map +1 -0
- package/progress-circle/index.d.ts +1 -0
- package/progress-circle/kirbydesign-designsystem-progress-circle.d.ts.map +1 -0
- package/progress-circle/progress-circle-ring.component.d.ts +1 -0
- package/progress-circle/progress-circle-ring.component.d.ts.map +1 -0
- package/progress-circle/progress-circle.component.d.ts +1 -0
- package/progress-circle/progress-circle.component.d.ts.map +1 -0
- package/progress-circle/public_api.d.ts +1 -0
- package/progress-circle/public_api.d.ts.map +1 -0
- package/public-api.d.ts +1 -0
- package/public-api.d.ts.map +1 -0
- package/radio/index.d.ts +1 -0
- package/radio/kirbydesign-designsystem-radio.d.ts.map +1 -0
- package/radio/public_api.d.ts +1 -0
- package/radio/public_api.d.ts.map +1 -0
- package/radio/radio-group/radio-group.component.d.ts +1 -0
- package/radio/radio-group/radio-group.component.d.ts.map +1 -0
- package/radio/radio-module.d.ts +1 -0
- package/radio/radio-module.d.ts.map +1 -0
- package/radio/radio.component.d.ts +1 -0
- package/radio/radio.component.d.ts.map +1 -0
- package/range/index.d.ts +1 -0
- package/range/kirbydesign-designsystem-range.d.ts.map +1 -0
- package/range/public_api.d.ts +1 -0
- package/range/public_api.d.ts.map +1 -0
- package/range/range.component.d.ts +1 -0
- package/range/range.component.d.ts.map +1 -0
- package/reorder-list/index.d.ts +1 -0
- package/reorder-list/kirbydesign-designsystem-reorder-list.d.ts.map +1 -0
- package/reorder-list/public_api.d.ts +1 -0
- package/reorder-list/public_api.d.ts.map +1 -0
- package/reorder-list/reorder-event.d.ts +1 -0
- package/reorder-list/reorder-event.d.ts.map +1 -0
- package/reorder-list/reorder-list.component.d.ts +1 -0
- package/reorder-list/reorder-list.component.d.ts.map +1 -0
- package/router-outlet/index.d.ts +1 -0
- package/router-outlet/kirbydesign-designsystem-router-outlet.d.ts.map +1 -0
- package/router-outlet/public_api.d.ts +1 -0
- package/router-outlet/public_api.d.ts.map +1 -0
- package/router-outlet/router-outlet.component.d.ts +1 -0
- package/router-outlet/router-outlet.component.d.ts.map +1 -0
- package/router-outlet/router-outlet.module.d.ts +1 -0
- package/router-outlet/router-outlet.module.d.ts.map +1 -0
- package/section-header/index.d.ts +1 -0
- package/section-header/kirbydesign-designsystem-section-header.d.ts.map +1 -0
- package/section-header/public_api.d.ts +1 -0
- package/section-header/public_api.d.ts.map +1 -0
- package/section-header/section-header.component.d.ts +1 -0
- package/section-header/section-header.component.d.ts.map +1 -0
- package/shared/component-configuration.d.ts +1 -0
- package/shared/component-configuration.d.ts.map +1 -0
- package/shared/component-loader.directive.d.ts +1 -0
- package/shared/component-loader.directive.d.ts.map +1 -0
- package/shared/controls/label-helpers.d.ts +1 -0
- package/shared/controls/label-helpers.d.ts.map +1 -0
- package/shared/dynamic-component.d.ts +1 -0
- package/shared/dynamic-component.d.ts.map +1 -0
- package/shared/fit-heading/fit-heading.directive.d.ts +1 -0
- package/shared/fit-heading/fit-heading.directive.d.ts.map +1 -0
- package/shared/fit-heading/index.d.ts +1 -0
- package/shared/fit-heading/index.d.ts.map +1 -0
- package/shared/floating/floating.directive.d.ts +1 -0
- package/shared/floating/floating.directive.d.ts.map +1 -0
- package/shared/floating/index.d.ts +1 -0
- package/shared/floating/kirbydesign-designsystem-shared-floating.d.ts.map +1 -0
- package/shared/floating/public_api.d.ts +1 -0
- package/shared/floating/public_api.d.ts.map +1 -0
- package/shared/index.d.ts +1 -0
- package/shared/kirbydesign-designsystem-shared.d.ts.map +1 -0
- package/shared/portal/index.d.ts +1 -0
- package/shared/portal/kirbydesign-designsystem-shared-portal.d.ts.map +1 -0
- package/shared/portal/portal.directive.d.ts +1 -0
- package/shared/portal/portal.directive.d.ts.map +1 -0
- package/shared/portal/public_api.d.ts +1 -0
- package/shared/portal/public_api.d.ts.map +1 -0
- package/shared/public_api.d.ts +1 -0
- package/shared/public_api.d.ts.map +1 -0
- package/shared/resize-observer/resize-observer.factory.d.ts +1 -0
- package/shared/resize-observer/resize-observer.factory.d.ts.map +1 -0
- package/shared/resize-observer/resize-observer.service.d.ts +1 -0
- package/shared/resize-observer/resize-observer.service.d.ts.map +1 -0
- package/shared/theme-color/theme-color.directive.d.ts +1 -0
- package/shared/theme-color/theme-color.directive.d.ts.map +1 -0
- package/shared/translation/translation.interface.d.ts +1 -0
- package/shared/translation/translation.interface.d.ts.map +1 -0
- package/shared/translation/translation.service.d.ts +1 -0
- package/shared/translation/translation.service.d.ts.map +1 -0
- package/shared/translation/translations/da.d.ts +1 -0
- package/shared/translation/translations/da.d.ts.map +1 -0
- package/shared/translation/translations/en.d.ts +1 -0
- package/shared/translation/translations/en.d.ts.map +1 -0
- package/slide/index.d.ts +1 -0
- package/slide/kirbydesign-designsystem-slide.d.ts.map +1 -0
- package/slide/public_api.d.ts +1 -0
- package/slide/public_api.d.ts.map +1 -0
- package/slide/slide-stretch-height.directive.d.ts +1 -0
- package/slide/slide-stretch-height.directive.d.ts.map +1 -0
- package/slide/slide.directive.d.ts +1 -0
- package/slide/slide.directive.d.ts.map +1 -0
- package/slide/slide.module.d.ts +1 -0
- package/slide/slide.module.d.ts.map +1 -0
- package/slide/slides.component.d.ts +1 -0
- package/slide/slides.component.d.ts.map +1 -0
- package/slide-button/index.d.ts +1 -0
- package/slide-button/kirbydesign-designsystem-slide-button.d.ts.map +1 -0
- package/slide-button/public_api.d.ts +1 -0
- package/slide-button/public_api.d.ts.map +1 -0
- package/slide-button/slide-button.component.d.ts +1 -0
- package/slide-button/slide-button.component.d.ts.map +1 -0
- package/spinner/index.d.ts +1 -0
- package/spinner/kirbydesign-designsystem-spinner.d.ts.map +1 -0
- package/spinner/public_api.d.ts +1 -0
- package/spinner/public_api.d.ts.map +1 -0
- package/spinner/spinner.component.d.ts +1 -0
- package/spinner/spinner.component.d.ts.map +1 -0
- package/spinner/spinner.module.d.ts +1 -0
- package/spinner/spinner.module.d.ts.map +1 -0
- package/tab-navigation/index.d.ts +1 -0
- package/tab-navigation/kirbydesign-designsystem-tab-navigation.d.ts.map +1 -0
- package/tab-navigation/public_api.d.ts +1 -0
- package/tab-navigation/public_api.d.ts.map +1 -0
- package/tab-navigation/tab-navigation/tab-navigation.component.d.ts +1 -0
- package/tab-navigation/tab-navigation/tab-navigation.component.d.ts.map +1 -0
- package/tab-navigation/tab-navigation-item/tab-navigation-item.component.d.ts +1 -0
- package/tab-navigation/tab-navigation-item/tab-navigation-item.component.d.ts.map +1 -0
- package/tab-navigation/tab-navigation.module.d.ts +1 -0
- package/tab-navigation/tab-navigation.module.d.ts.map +1 -0
- package/tabs/index.d.ts +1 -0
- package/tabs/kirbydesign-designsystem-tabs.d.ts.map +1 -0
- package/tabs/public_api.d.ts +1 -0
- package/tabs/public_api.d.ts.map +1 -0
- package/tabs/tab-button/tab-button.component.d.ts +1 -0
- package/tabs/tab-button/tab-button.component.d.ts.map +1 -0
- package/tabs/tab-button/tab-button.events.d.ts +1 -0
- package/tabs/tab-button/tab-button.events.d.ts.map +1 -0
- package/tabs/tabs.component.d.ts +1 -0
- package/tabs/tabs.component.d.ts.map +1 -0
- package/tabs/tabs.module.d.ts +1 -0
- package/tabs/tabs.module.d.ts.map +1 -0
- package/tabs/tabs.service.d.ts +1 -0
- package/tabs/tabs.service.d.ts.map +1 -0
- package/testing/element-css-custom-matchers.d.ts +1 -0
- package/testing/element-css-custom-matchers.d.ts.map +1 -0
- package/testing/index.d.ts +1 -0
- package/testing/kirbydesign-designsystem-testing.d.ts.map +1 -0
- package/testing/public_api.d.ts +1 -0
- package/testing/public_api.d.ts.map +1 -0
- package/testing/test-helper.d.ts +1 -0
- package/testing/test-helper.d.ts.map +1 -0
- package/testing-base/index.d.ts +1 -0
- package/testing-base/kirbydesign-designsystem-testing-base.d.ts.map +1 -0
- package/testing-base/lib/components/index.d.ts +1 -0
- package/testing-base/lib/components/index.d.ts.map +1 -0
- package/testing-base/lib/components/mock.accordion-item.component.d.ts +2 -1
- package/testing-base/lib/components/mock.accordion-item.component.d.ts.map +1 -0
- package/testing-base/lib/components/mock.action-group.component.d.ts +2 -1
- package/testing-base/lib/components/mock.action-group.component.d.ts.map +1 -0
- package/testing-base/lib/components/mock.action-sheet.component.d.ts +2 -1
- package/testing-base/lib/components/mock.action-sheet.component.d.ts.map +1 -0
- package/testing-base/lib/components/mock.alert.component.d.ts +2 -1
- package/testing-base/lib/components/mock.alert.component.d.ts.map +1 -0
- package/testing-base/lib/components/mock.avatar.component.d.ts +2 -1
- package/testing-base/lib/components/mock.avatar.component.d.ts.map +1 -0
- package/testing-base/lib/components/mock.badge.component.d.ts +2 -1
- package/testing-base/lib/components/mock.badge.component.d.ts.map +1 -0
- package/testing-base/lib/components/mock.base-chart.component.d.ts +2 -1
- package/testing-base/lib/components/mock.base-chart.component.d.ts.map +1 -0
- package/testing-base/lib/components/mock.button.component.d.ts +2 -1
- package/testing-base/lib/components/mock.button.component.d.ts.map +1 -0
- package/testing-base/lib/components/mock.calendar.component.d.ts +2 -1
- package/testing-base/lib/components/mock.calendar.component.d.ts.map +1 -0
- package/testing-base/lib/components/mock.card-footer.component.d.ts +2 -1
- package/testing-base/lib/components/mock.card-footer.component.d.ts.map +1 -0
- package/testing-base/lib/components/mock.card-header.component.d.ts +2 -1
- package/testing-base/lib/components/mock.card-header.component.d.ts.map +1 -0
- package/testing-base/lib/components/mock.card.component.d.ts +2 -1
- package/testing-base/lib/components/mock.card.component.d.ts.map +1 -0
- package/testing-base/lib/components/mock.chart.component.d.ts +2 -1
- package/testing-base/lib/components/mock.chart.component.d.ts.map +1 -0
- package/testing-base/lib/components/mock.checkbox.component.d.ts +2 -1
- package/testing-base/lib/components/mock.checkbox.component.d.ts.map +1 -0
- package/testing-base/lib/components/mock.divider.component.d.ts +2 -1
- package/testing-base/lib/components/mock.divider.component.d.ts.map +1 -0
- package/testing-base/lib/components/mock.dropdown.component.d.ts +2 -1
- package/testing-base/lib/components/mock.dropdown.component.d.ts.map +1 -0
- package/testing-base/lib/components/mock.empty-state.component.d.ts +2 -1
- package/testing-base/lib/components/mock.empty-state.component.d.ts.map +1 -0
- package/testing-base/lib/components/mock.fab-sheet.component.d.ts +2 -1
- package/testing-base/lib/components/mock.fab-sheet.component.d.ts.map +1 -0
- package/testing-base/lib/components/mock.flag.component.d.ts +2 -1
- package/testing-base/lib/components/mock.flag.component.d.ts.map +1 -0
- package/testing-base/lib/components/mock.form-field-message.component.d.ts +2 -1
- package/testing-base/lib/components/mock.form-field-message.component.d.ts.map +1 -0
- package/testing-base/lib/components/mock.form-field.component.d.ts +2 -1
- package/testing-base/lib/components/mock.form-field.component.d.ts.map +1 -0
- package/testing-base/lib/components/mock.header.component.d.ts +4 -3
- package/testing-base/lib/components/mock.header.component.d.ts.map +1 -0
- package/testing-base/lib/components/mock.icon.component.d.ts +2 -1
- package/testing-base/lib/components/mock.icon.component.d.ts.map +1 -0
- package/testing-base/lib/components/mock.input-counter.component.d.ts +2 -1
- package/testing-base/lib/components/mock.input-counter.component.d.ts.map +1 -0
- package/testing-base/lib/components/mock.input.component.d.ts +2 -1
- package/testing-base/lib/components/mock.input.component.d.ts.map +1 -0
- package/testing-base/lib/components/mock.item-group.component.d.ts +2 -1
- package/testing-base/lib/components/mock.item-group.component.d.ts.map +1 -0
- package/testing-base/lib/components/mock.item-sliding.component.d.ts +2 -1
- package/testing-base/lib/components/mock.item-sliding.component.d.ts.map +1 -0
- package/testing-base/lib/components/mock.item.component.d.ts +2 -1
- package/testing-base/lib/components/mock.item.component.d.ts.map +1 -0
- package/testing-base/lib/components/mock.kirby-app.component.d.ts +2 -1
- package/testing-base/lib/components/mock.kirby-app.component.d.ts.map +1 -0
- package/testing-base/lib/components/mock.label.component.d.ts +2 -1
- package/testing-base/lib/components/mock.label.component.d.ts.map +1 -0
- package/testing-base/lib/components/mock.list-experimental.component.d.ts +2 -1
- package/testing-base/lib/components/mock.list-experimental.component.d.ts.map +1 -0
- package/testing-base/lib/components/mock.list-header.component.d.ts +2 -1
- package/testing-base/lib/components/mock.list-header.component.d.ts.map +1 -0
- package/testing-base/lib/components/mock.list-item.component.d.ts +2 -1
- package/testing-base/lib/components/mock.list-item.component.d.ts.map +1 -0
- package/testing-base/lib/components/mock.list-section-header.component.d.ts +2 -1
- package/testing-base/lib/components/mock.list-section-header.component.d.ts.map +1 -0
- package/testing-base/lib/components/mock.list.component.d.ts +2 -1
- package/testing-base/lib/components/mock.list.component.d.ts.map +1 -0
- package/testing-base/lib/components/mock.loading-overlay.component.d.ts +2 -1
- package/testing-base/lib/components/mock.loading-overlay.component.d.ts.map +1 -0
- package/testing-base/lib/components/mock.menu.component.d.ts +2 -1
- package/testing-base/lib/components/mock.menu.component.d.ts.map +1 -0
- package/testing-base/lib/components/mock.modal-compact-wrapper.component.d.ts +2 -1
- package/testing-base/lib/components/mock.modal-compact-wrapper.component.d.ts.map +1 -0
- package/testing-base/lib/components/mock.modal-footer.component.d.ts +2 -1
- package/testing-base/lib/components/mock.modal-footer.component.d.ts.map +1 -0
- package/testing-base/lib/components/mock.modal-wrapper.component.d.ts +2 -1
- package/testing-base/lib/components/mock.modal-wrapper.component.d.ts.map +1 -0
- package/testing-base/lib/components/mock.page-footer.component.d.ts +2 -1
- package/testing-base/lib/components/mock.page-footer.component.d.ts.map +1 -0
- package/testing-base/lib/components/mock.page.component.d.ts +12 -11
- package/testing-base/lib/components/mock.page.component.d.ts.map +1 -0
- package/testing-base/lib/components/mock.popover.component.d.ts +2 -1
- package/testing-base/lib/components/mock.popover.component.d.ts.map +1 -0
- package/testing-base/lib/components/mock.progress-circle-ring.component.d.ts +2 -1
- package/testing-base/lib/components/mock.progress-circle-ring.component.d.ts.map +1 -0
- package/testing-base/lib/components/mock.progress-circle.component.d.ts +2 -1
- package/testing-base/lib/components/mock.progress-circle.component.d.ts.map +1 -0
- package/testing-base/lib/components/mock.radio-group.component.d.ts +2 -1
- package/testing-base/lib/components/mock.radio-group.component.d.ts.map +1 -0
- package/testing-base/lib/components/mock.radio.component.d.ts +2 -1
- package/testing-base/lib/components/mock.radio.component.d.ts.map +1 -0
- package/testing-base/lib/components/mock.range.component.d.ts +2 -1
- package/testing-base/lib/components/mock.range.component.d.ts.map +1 -0
- package/testing-base/lib/components/mock.reorder-list.component.d.ts +2 -1
- package/testing-base/lib/components/mock.reorder-list.component.d.ts.map +1 -0
- package/testing-base/lib/components/mock.router-outlet.component.d.ts +2 -1
- package/testing-base/lib/components/mock.router-outlet.component.d.ts.map +1 -0
- package/testing-base/lib/components/mock.section-header.component.d.ts +2 -1
- package/testing-base/lib/components/mock.section-header.component.d.ts.map +1 -0
- package/testing-base/lib/components/mock.segmented-control.component.d.ts +2 -1
- package/testing-base/lib/components/mock.segmented-control.component.d.ts.map +1 -0
- package/testing-base/lib/components/mock.slide-button.component.d.ts +2 -1
- package/testing-base/lib/components/mock.slide-button.component.d.ts.map +1 -0
- package/testing-base/lib/components/mock.slides.component.d.ts +2 -1
- package/testing-base/lib/components/mock.slides.component.d.ts.map +1 -0
- package/testing-base/lib/components/mock.spinner.component.d.ts +2 -1
- package/testing-base/lib/components/mock.spinner.component.d.ts.map +1 -0
- package/testing-base/lib/components/mock.stock-chart.component.d.ts +2 -1
- package/testing-base/lib/components/mock.stock-chart.component.d.ts.map +1 -0
- package/testing-base/lib/components/mock.tab-button.component.d.ts +2 -1
- package/testing-base/lib/components/mock.tab-button.component.d.ts.map +1 -0
- package/testing-base/lib/components/mock.tab-navigation-item.component.d.ts +2 -1
- package/testing-base/lib/components/mock.tab-navigation-item.component.d.ts.map +1 -0
- package/testing-base/lib/components/mock.tab-navigation.component.d.ts +2 -1
- package/testing-base/lib/components/mock.tab-navigation.component.d.ts.map +1 -0
- package/testing-base/lib/components/mock.tabs.component.d.ts +2 -1
- package/testing-base/lib/components/mock.tabs.component.d.ts.map +1 -0
- package/testing-base/lib/components/mock.textarea.component.d.ts +2 -1
- package/testing-base/lib/components/mock.textarea.component.d.ts.map +1 -0
- package/testing-base/lib/components/mock.toggle-button.component.d.ts +2 -1
- package/testing-base/lib/components/mock.toggle-button.component.d.ts.map +1 -0
- package/testing-base/lib/components/mock.toggle.component.d.ts +2 -1
- package/testing-base/lib/components/mock.toggle.component.d.ts.map +1 -0
- package/testing-base/lib/directives/index.d.ts +1 -0
- package/testing-base/lib/directives/index.d.ts.map +1 -0
- package/testing-base/lib/directives/mock.accordion.directive.d.ts +2 -1
- package/testing-base/lib/directives/mock.accordion.directive.d.ts.map +1 -0
- package/testing-base/lib/directives/mock.affix.directive.d.ts +2 -1
- package/testing-base/lib/directives/mock.affix.directive.d.ts.map +1 -0
- package/testing-base/lib/directives/mock.card-as-button.directive.d.ts +2 -1
- package/testing-base/lib/directives/mock.card-as-button.directive.d.ts.map +1 -0
- package/testing-base/lib/directives/mock.component-loader.directive.d.ts +2 -1
- package/testing-base/lib/directives/mock.component-loader.directive.d.ts.map +1 -0
- package/testing-base/lib/directives/mock.date-input.directive.d.ts +2 -1
- package/testing-base/lib/directives/mock.date-input.directive.d.ts.map +1 -0
- package/testing-base/lib/directives/mock.decimal-mask.directive.d.ts +2 -1
- package/testing-base/lib/directives/mock.decimal-mask.directive.d.ts.map +1 -0
- package/testing-base/lib/directives/mock.fit-heading.directive.d.ts +2 -1
- package/testing-base/lib/directives/mock.fit-heading.directive.d.ts.map +1 -0
- package/testing-base/lib/directives/mock.floating.directive.d.ts +2 -1
- package/testing-base/lib/directives/mock.floating.directive.d.ts.map +1 -0
- package/testing-base/lib/directives/mock.infinite-scroll.directive.d.ts +2 -1
- package/testing-base/lib/directives/mock.infinite-scroll.directive.d.ts.map +1 -0
- package/testing-base/lib/directives/mock.key-handler.directive.d.ts +2 -1
- package/testing-base/lib/directives/mock.key-handler.directive.d.ts.map +1 -0
- package/testing-base/lib/directives/mock.list-item-color.directive.d.ts +2 -1
- package/testing-base/lib/directives/mock.list-item-color.directive.d.ts.map +1 -0
- package/testing-base/lib/directives/mock.list.directive.d.ts +5 -4
- package/testing-base/lib/directives/mock.list.directive.d.ts.map +1 -0
- package/testing-base/lib/directives/mock.modal-router-link.directive.d.ts +2 -1
- package/testing-base/lib/directives/mock.modal-router-link.directive.d.ts.map +1 -0
- package/testing-base/lib/directives/mock.portal.directive.d.ts +2 -1
- package/testing-base/lib/directives/mock.portal.directive.d.ts.map +1 -0
- package/testing-base/lib/directives/mock.slide.directive.d.ts +2 -1
- package/testing-base/lib/directives/mock.slide.directive.d.ts.map +1 -0
- package/testing-base/lib/directives/mock.theme-color.directive.d.ts +2 -1
- package/testing-base/lib/directives/mock.theme-color.directive.d.ts.map +1 -0
- package/testing-base/lib/index.d.ts +1 -0
- package/testing-base/lib/index.d.ts.map +1 -0
- package/testing-base/lib/kirby-testing-base.module.d.ts +2 -1
- package/testing-base/lib/kirby-testing-base.module.d.ts.map +1 -0
- package/testing-base/lib/mock-components.d.ts +1 -0
- package/testing-base/lib/mock-components.d.ts.map +1 -0
- package/testing-base/lib/mock-directives.d.ts +1 -0
- package/testing-base/lib/mock-directives.d.ts.map +1 -0
- package/testing-base/public_api.d.ts +1 -0
- package/testing-base/public_api.d.ts.map +1 -0
- package/testing-jasmine/index.d.ts +1 -0
- package/testing-jasmine/kirbydesign-designsystem-testing-jasmine.d.ts.map +1 -0
- package/testing-jasmine/lib/kirby-testing.module.d.ts +1 -0
- package/testing-jasmine/lib/kirby-testing.module.d.ts.map +1 -0
- package/testing-jasmine/lib/mock-providers.d.ts +1 -0
- package/testing-jasmine/lib/mock-providers.d.ts.map +1 -0
- package/testing-jasmine/public_api.d.ts +1 -0
- package/testing-jasmine/public_api.d.ts.map +1 -0
- package/testing-jest/index.d.ts +1 -0
- package/testing-jest/kirbydesign-designsystem-testing-jest.d.ts.map +1 -0
- package/testing-jest/lib/kirby-testing.module.d.ts +1 -0
- package/testing-jest/lib/kirby-testing.module.d.ts.map +1 -0
- package/testing-jest/lib/mock-providers.d.ts +1 -0
- package/testing-jest/lib/mock-providers.d.ts.map +1 -0
- package/testing-jest/public_api.d.ts +1 -0
- package/testing-jest/public_api.d.ts.map +1 -0
- package/toast/config/toast-config.d.ts +1 -0
- package/toast/config/toast-config.d.ts.map +1 -0
- package/toast/index.d.ts +1 -0
- package/toast/kirbydesign-designsystem-toast.d.ts.map +1 -0
- package/toast/public_api.d.ts +1 -0
- package/toast/public_api.d.ts.map +1 -0
- package/toast/services/indexs.d.ts +1 -0
- package/toast/services/indexs.d.ts.map +1 -0
- package/toast/services/toast.controller.d.ts +1 -0
- package/toast/services/toast.controller.d.ts.map +1 -0
- package/toast/services/toast.helper.d.ts +1 -0
- package/toast/services/toast.helper.d.ts.map +1 -0
- package/toggle/index.d.ts +1 -0
- package/toggle/kirbydesign-designsystem-toggle.d.ts.map +1 -0
- package/toggle/public_api.d.ts +1 -0
- package/toggle/public_api.d.ts.map +1 -0
- package/toggle/toggle.component.d.ts +1 -0
- package/toggle/toggle.component.d.ts.map +1 -0
- package/toggle-button/index.d.ts +1 -0
- package/toggle-button/kirbydesign-designsystem-toggle-button.d.ts.map +1 -0
- package/toggle-button/public_api.d.ts +1 -0
- package/toggle-button/public_api.d.ts.map +1 -0
- package/toggle-button/toggle-button.component.d.ts +6 -1
- package/toggle-button/toggle-button.component.d.ts.map +1 -0
- package/toggle-button/toggle-button.module.d.ts +1 -0
- package/toggle-button/toggle-button.module.d.ts.map +1 -0
- package/types/event-listener-dispose-fn.d.ts +1 -0
- package/types/event-listener-dispose-fn.d.ts.map +1 -0
- package/types/index.d.ts +1 -0
- package/types/kirbydesign-designsystem-types.d.ts.map +1 -0
- package/types/public_api.d.ts +1 -0
- package/types/public_api.d.ts.map +1 -0
- package/types/unobserve-fn.d.ts +1 -0
- package/types/unobserve-fn.d.ts.map +1 -0
- package/types/window-ref.d.ts +1 -0
- package/types/window-ref.d.ts.map +1 -0
- package/esm2022/accordion/accordion-item.component.mjs +0 -85
- package/esm2022/accordion/accordion.directive.mjs +0 -14
- package/esm2022/accordion/accordion.module.mjs +0 -20
- package/esm2022/accordion/kirbydesign-designsystem-accordion.mjs +0 -5
- package/esm2022/accordion/public_api.mjs +0 -4
- package/esm2022/action-group/action-group.component.mjs +0 -131
- package/esm2022/action-group/kirbydesign-designsystem-action-group.mjs +0 -5
- package/esm2022/action-group/public_api.mjs +0 -2
- package/esm2022/avatar/avatar.component.mjs +0 -51
- package/esm2022/avatar/kirbydesign-designsystem-avatar.mjs +0 -5
- package/esm2022/avatar/public_api.mjs +0 -2
- package/esm2022/badge/badge.component.mjs +0 -38
- package/esm2022/badge/kirbydesign-designsystem-badge.mjs +0 -5
- package/esm2022/badge/public_api.mjs +0 -2
- package/esm2022/button/button.component.mjs +0 -158
- package/esm2022/button/kirbydesign-designsystem-button.mjs +0 -5
- package/esm2022/button/public_api.mjs +0 -2
- package/esm2022/calendar/calendar.component.mjs +0 -514
- package/esm2022/calendar/interfaces/calendar-day.mjs +0 -2
- package/esm2022/calendar/interfaces/calendar-year-navigator-config.mjs +0 -2
- package/esm2022/calendar/kirbydesign-designsystem-calendar.mjs +0 -5
- package/esm2022/calendar/public_api.mjs +0 -2
- package/esm2022/card/card-as-button/card-as-button.directive.mjs +0 -64
- package/esm2022/card/card-flag-level.mjs +0 -2
- package/esm2022/card/card-footer/card-footer.component.mjs +0 -19
- package/esm2022/card/card-header/card-header.component.mjs +0 -35
- package/esm2022/card/card.component.mjs +0 -78
- package/esm2022/card/card.module.mjs +0 -34
- package/esm2022/card/kirbydesign-designsystem-card.mjs +0 -5
- package/esm2022/card/public_api.mjs +0 -7
- package/esm2022/chart/chart/chart.component.mjs +0 -18
- package/esm2022/chart/chart/index.mjs +0 -2
- package/esm2022/chart/chart-config/chart-bar-config/chart-bar-config.mjs +0 -43
- package/esm2022/chart/chart-config/chart-base-config.mjs +0 -4
- package/esm2022/chart/chart-config/chart-stock-config/chart-stock-config.mjs +0 -153
- package/esm2022/chart/chart-config/chart-stock-config/data-label-position/data-label-position.mjs +0 -48
- package/esm2022/chart/chart-config/chart-stock-config/vertical-line-plugin/vertical-line-plugin.mjs +0 -37
- package/esm2022/chart/chart-config/chart-stock-config/vertical-line-plugin/vertical-line-plugin.model.mjs +0 -2
- package/esm2022/chart/charts.module.mjs +0 -19
- package/esm2022/chart/kirbydesign-designsystem-chart.mjs +0 -5
- package/esm2022/chart/public_api.mjs +0 -7
- package/esm2022/chart/shared/base-chart/base-chart.component.mjs +0 -124
- package/esm2022/chart/shared/base-chart/index.mjs +0 -2
- package/esm2022/chart/shared/chart-config-service/chart-config.service.mjs +0 -75
- package/esm2022/chart/shared/chart-config-service/configs/annotations.config.mjs +0 -32
- package/esm2022/chart/shared/chart-config-service/configs/global-defaults.config.mjs +0 -65
- package/esm2022/chart/shared/chart-config-service/configs/interaction-functions-extensions.config.mjs +0 -13
- package/esm2022/chart/shared/chart-config-service/configs/type.config.mjs +0 -207
- package/esm2022/chart/shared/chart-config-service/index.mjs +0 -2
- package/esm2022/chart/shared/chart-js-service/annotations.delegate.mjs +0 -35
- package/esm2022/chart/shared/chart-js-service/chart-js.service.mjs +0 -179
- package/esm2022/chart/shared/chart-js-service/chartjs-plugin-marker/chartjs-plugin-marker.mjs +0 -194
- package/esm2022/chart/shared/chart-js-service/configured-chart-js.mjs +0 -22
- package/esm2022/chart/shared/chart-js-service/index.mjs +0 -3
- package/esm2022/chart/shared/chart-js-service/test-utils.mjs +0 -167
- package/esm2022/chart/shared/charts.types.mjs +0 -4
- package/esm2022/chart/shared/index.mjs +0 -5
- package/esm2022/chart/stock-chart/index.mjs +0 -2
- package/esm2022/chart/stock-chart/stock-chart-js.service.mjs +0 -100
- package/esm2022/chart/stock-chart/stock-chart.component.mjs +0 -22
- package/esm2022/checkbox/checkbox.component.mjs +0 -166
- package/esm2022/checkbox/kirbydesign-designsystem-checkbox.mjs +0 -5
- package/esm2022/checkbox/public_api.mjs +0 -2
- package/esm2022/data-table/data-table.module.mjs +0 -24
- package/esm2022/data-table/kirbydesign-designsystem-data-table.mjs +0 -5
- package/esm2022/data-table/public_api.mjs +0 -3
- package/esm2022/data-table/sortable/sortable.component.mjs +0 -58
- package/esm2022/divider/divider.component.mjs +0 -14
- package/esm2022/divider/kirbydesign-designsystem-divider.mjs +0 -5
- package/esm2022/divider/public_api.mjs +0 -2
- package/esm2022/dropdown/dropdown.component.mjs +0 -611
- package/esm2022/dropdown/dropdown.module.mjs +0 -47
- package/esm2022/dropdown/dropdown.types.mjs +0 -12
- package/esm2022/dropdown/keyboard-handler.service.mjs +0 -50
- package/esm2022/dropdown/kirbydesign-designsystem-dropdown.mjs +0 -5
- package/esm2022/dropdown/public_api.mjs +0 -6
- package/esm2022/empty-state/empty-state.component.mjs +0 -69
- package/esm2022/empty-state/empty-state.module.mjs +0 -21
- package/esm2022/empty-state/kirbydesign-designsystem-empty-state.mjs +0 -5
- package/esm2022/empty-state/public_api.mjs +0 -3
- package/esm2022/fab-sheet/fab-sheet.component.mjs +0 -78
- package/esm2022/fab-sheet/kirbydesign-designsystem-fab-sheet.mjs +0 -5
- package/esm2022/fab-sheet/public_api.mjs +0 -2
- package/esm2022/flag/flag.component.mjs +0 -30
- package/esm2022/flag/kirbydesign-designsystem-flag.mjs +0 -5
- package/esm2022/flag/public_api.mjs +0 -2
- package/esm2022/form-field/directives/affix/affix.directive.mjs +0 -21
- package/esm2022/form-field/directives/date/date-input.directive.mjs +0 -129
- package/esm2022/form-field/directives/decimal-mask/decimal-mask.directive.mjs +0 -131
- package/esm2022/form-field/form-field-message/form-field-message.component.mjs +0 -18
- package/esm2022/form-field/form-field.component.mjs +0 -156
- package/esm2022/form-field/form-field.module.mjs +0 -24
- package/esm2022/form-field/input/input.component.mjs +0 -116
- package/esm2022/form-field/input-counter/input-counter.component.mjs +0 -35
- package/esm2022/form-field/kirbydesign-designsystem-form-field.mjs +0 -5
- package/esm2022/form-field/public_api.mjs +0 -10
- package/esm2022/form-field/textarea/textarea.component.mjs +0 -66
- package/esm2022/header/header.component.mjs +0 -158
- package/esm2022/header/header.module.mjs +0 -34
- package/esm2022/header/kirbydesign-designsystem-header.mjs +0 -5
- package/esm2022/header/public_api.mjs +0 -3
- package/esm2022/helpers/chart-config-has-type.mjs +0 -10
- package/esm2022/helpers/color-helper.mjs +0 -2
- package/esm2022/helpers/content-mutation-observer.mjs +0 -50
- package/esm2022/helpers/deep-copy.mjs +0 -52
- package/esm2022/helpers/design-token-helper.mjs +0 -2
- package/esm2022/helpers/element-ancestor-utils.mjs +0 -33
- package/esm2022/helpers/ionic-element-part-helper.mjs +0 -25
- package/esm2022/helpers/kirby-animation.mjs +0 -15
- package/esm2022/helpers/kirbydesign-designsystem-helpers.mjs +0 -5
- package/esm2022/helpers/line-clamp-helper.mjs +0 -31
- package/esm2022/helpers/merge-deep.mjs +0 -38
- package/esm2022/helpers/platform.service.mjs +0 -27
- package/esm2022/helpers/public_api.mjs +0 -17
- package/esm2022/helpers/scss/kirbydesign-designsystem-helpers-scss.mjs +0 -5
- package/esm2022/helpers/scss/public_api.mjs +0 -2
- package/esm2022/helpers/scss/scss-helper.mjs +0 -9
- package/esm2022/helpers/string-helper.mjs +0 -2
- package/esm2022/helpers/theme-color.type.mjs +0 -2
- package/esm2022/helpers/unique-id-generator.helper.mjs +0 -19
- package/esm2022/icon/icon-registry.service.mjs +0 -61
- package/esm2022/icon/icon-settings.mjs +0 -2
- package/esm2022/icon/icon.component.mjs +0 -62
- package/esm2022/icon/icon.module.mjs +0 -19
- package/esm2022/icon/kirby-icon-settings.mjs +0 -130
- package/esm2022/icon/kirbydesign-designsystem-icon.mjs +0 -5
- package/esm2022/icon/public_api.mjs +0 -6
- package/esm2022/item/item.component.mjs +0 -74
- package/esm2022/item/item.module.mjs +0 -22
- package/esm2022/item/kirbydesign-designsystem-item.mjs +0 -5
- package/esm2022/item/label/label.component.mjs +0 -23
- package/esm2022/item/public_api.mjs +0 -4
- package/esm2022/item-group/item-group.component.mjs +0 -18
- package/esm2022/item-group/kirbydesign-designsystem-item-group.mjs +0 -5
- package/esm2022/item-group/public_api.mjs +0 -2
- package/esm2022/item-sliding/item-sliding.component.mjs +0 -38
- package/esm2022/item-sliding/item-sliding.types.mjs +0 -2
- package/esm2022/item-sliding/kirbydesign-designsystem-item-sliding.mjs +0 -5
- package/esm2022/item-sliding/public_api.mjs +0 -3
- package/esm2022/kirby-app/kirby-app.component.mjs +0 -35
- package/esm2022/kirby-app/kirby-app.module.mjs +0 -19
- package/esm2022/kirby-app/kirbydesign-designsystem-kirby-app.mjs +0 -5
- package/esm2022/kirby-app/public_api.mjs +0 -3
- package/esm2022/kirby-ionic-module/kirby-ionic.module.mjs +0 -23
- package/esm2022/kirby-ionic-module/kirbydesign-designsystem-kirby-ionic-module.mjs +0 -5
- package/esm2022/kirby-ionic-module/public_api.mjs +0 -2
- package/esm2022/kirbydesign-designsystem.mjs +0 -5
- package/esm2022/lib/components/index.mjs +0 -3
- package/esm2022/lib/components/segmented-control/segment-item.mjs +0 -2
- package/esm2022/lib/components/segmented-control/segmented-control.component.mjs +0 -166
- package/esm2022/lib/directives/index.mjs +0 -3
- package/esm2022/lib/directives/key-handler/key-handler.directive.mjs +0 -28
- package/esm2022/lib/directives/modal-router-link/modal-router-link.directive.mjs +0 -35
- package/esm2022/lib/index.mjs +0 -49
- package/esm2022/lib/kirby.module.mjs +0 -339
- package/esm2022/list/directives/index.mjs +0 -4
- package/esm2022/list/directives/infinite-scroll.directive.mjs +0 -114
- package/esm2022/list/directives/list-item-color.directive.mjs +0 -30
- package/esm2022/list/directives/scroll.model.mjs +0 -2
- package/esm2022/list/helpers/index.mjs +0 -2
- package/esm2022/list/helpers/list-helper.mjs +0 -83
- package/esm2022/list/kirbydesign-designsystem-list.mjs +0 -5
- package/esm2022/list/list-experimental/index.mjs +0 -2
- package/esm2022/list/list-experimental/list-experimental.component.mjs +0 -24
- package/esm2022/list/list-header/index.mjs +0 -2
- package/esm2022/list/list-header/list-header.component.mjs +0 -12
- package/esm2022/list/list-item/index.mjs +0 -2
- package/esm2022/list/list-item/list-item.component.mjs +0 -129
- package/esm2022/list/list-section-header/index.mjs +0 -2
- package/esm2022/list/list-section-header/list-section-header.component.mjs +0 -13
- package/esm2022/list/list-swipe-action.mjs +0 -2
- package/esm2022/list/list-swipe-action.type.mjs +0 -2
- package/esm2022/list/list.component.mjs +0 -187
- package/esm2022/list/list.directive.mjs +0 -43
- package/esm2022/list/list.event.mjs +0 -2
- package/esm2022/list/list.module.mjs +0 -93
- package/esm2022/list/public_api.mjs +0 -12
- package/esm2022/loading-overlay/kirbydesign-designsystem-loading-overlay.mjs +0 -5
- package/esm2022/loading-overlay/loading-overlay.component.mjs +0 -26
- package/esm2022/loading-overlay/loading-overlay.service.mjs +0 -49
- package/esm2022/loading-overlay/public_api.mjs +0 -3
- package/esm2022/menu/kirbydesign-designsystem-menu.mjs +0 -5
- package/esm2022/menu/menu.component.mjs +0 -294
- package/esm2022/menu/public_api.mjs +0 -2
- package/esm2022/modal/kirbydesign-designsystem-modal.mjs +0 -5
- package/esm2022/modal/modal/action-sheet/action-sheet.component.mjs +0 -45
- package/esm2022/modal/modal/action-sheet/config/action-sheet-config.mjs +0 -2
- package/esm2022/modal/modal/action-sheet/config/action-sheet-item.mjs +0 -2
- package/esm2022/modal/modal/action-sheet/index.mjs +0 -4
- package/esm2022/modal/modal/alert/alert.component.mjs +0 -76
- package/esm2022/modal/modal/alert/config/alert-config.mjs +0 -2
- package/esm2022/modal/modal/alert/index.mjs +0 -3
- package/esm2022/modal/modal/footer/modal-footer.component.mjs +0 -38
- package/esm2022/modal/modal/index.mjs +0 -7
- package/esm2022/modal/modal/modal-component/modal.component.mjs +0 -152
- package/esm2022/modal/modal/services/action-sheet.helper.mjs +0 -46
- package/esm2022/modal/modal/services/alert.helper.mjs +0 -56
- package/esm2022/modal/modal/services/can-dismiss-modal-guard.mjs +0 -31
- package/esm2022/modal/modal/services/can-dismiss.helper.mjs +0 -29
- package/esm2022/modal/modal/services/index.mjs +0 -7
- package/esm2022/modal/modal/services/modal-animation-builder.service.mjs +0 -268
- package/esm2022/modal/modal/services/modal.controller.mjs +0 -121
- package/esm2022/modal/modal/services/modal.helper.mjs +0 -118
- package/esm2022/modal/modal-navigation.service.mjs +0 -265
- package/esm2022/modal/modal-wrapper/compact/index.mjs +0 -2
- package/esm2022/modal/modal-wrapper/compact/modal-compact-wrapper.component.mjs +0 -89
- package/esm2022/modal/modal-wrapper/config/drawer-supplementary-action.mjs +0 -3
- package/esm2022/modal/modal-wrapper/config/index.mjs +0 -4
- package/esm2022/modal/modal-wrapper/config/modal-config.helper.mjs +0 -3
- package/esm2022/modal/modal-wrapper/config/modal-config.mjs +0 -2
- package/esm2022/modal/modal-wrapper/index.mjs +0 -4
- package/esm2022/modal/modal-wrapper/modal-elements-mover.delegate.mjs +0 -62
- package/esm2022/modal/modal-wrapper/modal-wrapper.component.mjs +0 -543
- package/esm2022/modal/modal.interfaces.mjs +0 -50
- package/esm2022/modal/public_api.mjs +0 -5
- package/esm2022/page/kirbydesign-designsystem-page.mjs +0 -5
- package/esm2022/page/page-footer/page-footer.component.mjs +0 -35
- package/esm2022/page/page.component.mjs +0 -734
- package/esm2022/page/page.module.mjs +0 -107
- package/esm2022/page/public_api.mjs +0 -4
- package/esm2022/popover/kirbydesign-designsystem-popover.mjs +0 -5
- package/esm2022/popover/popover.component.mjs +0 -159
- package/esm2022/popover/public_api.mjs +0 -2
- package/esm2022/progress-circle/kirbydesign-designsystem-progress-circle.mjs +0 -5
- package/esm2022/progress-circle/progress-circle-ring.component.mjs +0 -62
- package/esm2022/progress-circle/progress-circle.component.mjs +0 -88
- package/esm2022/progress-circle/public_api.mjs +0 -3
- package/esm2022/public-api.mjs +0 -2
- package/esm2022/radio/kirbydesign-designsystem-radio.mjs +0 -5
- package/esm2022/radio/public_api.mjs +0 -4
- package/esm2022/radio/radio-group/radio-group.component.mjs +0 -252
- package/esm2022/radio/radio-module.mjs +0 -21
- package/esm2022/radio/radio.component.mjs +0 -80
- package/esm2022/range/kirbydesign-designsystem-range.mjs +0 -5
- package/esm2022/range/public_api.mjs +0 -2
- package/esm2022/range/range.component.mjs +0 -136
- package/esm2022/reorder-list/kirbydesign-designsystem-reorder-list.mjs +0 -5
- package/esm2022/reorder-list/public_api.mjs +0 -3
- package/esm2022/reorder-list/reorder-event.mjs +0 -14
- package/esm2022/reorder-list/reorder-list.component.mjs +0 -80
- package/esm2022/router-outlet/kirbydesign-designsystem-router-outlet.mjs +0 -5
- package/esm2022/router-outlet/public_api.mjs +0 -6
- package/esm2022/router-outlet/router-outlet.component.mjs +0 -19
- package/esm2022/router-outlet/router-outlet.module.mjs +0 -19
- package/esm2022/section-header/kirbydesign-designsystem-section-header.mjs +0 -5
- package/esm2022/section-header/public_api.mjs +0 -2
- package/esm2022/section-header/section-header.component.mjs +0 -13
- package/esm2022/shared/component-configuration.mjs +0 -2
- package/esm2022/shared/component-loader.directive.mjs +0 -36
- package/esm2022/shared/controls/label-helpers.mjs +0 -23
- package/esm2022/shared/dynamic-component.mjs +0 -2
- package/esm2022/shared/fit-heading/fit-heading.directive.mjs +0 -107
- package/esm2022/shared/fit-heading/index.mjs +0 -2
- package/esm2022/shared/floating/floating.directive.mjs +0 -385
- package/esm2022/shared/floating/kirbydesign-designsystem-shared-floating.mjs +0 -5
- package/esm2022/shared/floating/public_api.mjs +0 -2
- package/esm2022/shared/kirbydesign-designsystem-shared.mjs +0 -5
- package/esm2022/shared/portal/kirbydesign-designsystem-shared-portal.mjs +0 -5
- package/esm2022/shared/portal/portal.directive.mjs +0 -78
- package/esm2022/shared/portal/public_api.mjs +0 -2
- package/esm2022/shared/public_api.mjs +0 -10
- package/esm2022/shared/resize-observer/resize-observer.factory.mjs +0 -18
- package/esm2022/shared/resize-observer/resize-observer.service.mjs +0 -50
- package/esm2022/shared/theme-color/theme-color.directive.mjs +0 -127
- package/esm2022/shared/translation/translation.interface.mjs +0 -2
- package/esm2022/shared/translation/translation.service.mjs +0 -37
- package/esm2022/shared/translation/translations/da.mjs +0 -11
- package/esm2022/shared/translation/translations/en.mjs +0 -11
- package/esm2022/slide/kirbydesign-designsystem-slide.mjs +0 -5
- package/esm2022/slide/public_api.mjs +0 -5
- package/esm2022/slide/slide-stretch-height.directive.mjs +0 -19
- package/esm2022/slide/slide.directive.mjs +0 -13
- package/esm2022/slide/slide.module.mjs +0 -24
- package/esm2022/slide/slides.component.mjs +0 -113
- package/esm2022/slide-button/kirbydesign-designsystem-slide-button.mjs +0 -5
- package/esm2022/slide-button/public_api.mjs +0 -2
- package/esm2022/slide-button/slide-button.component.mjs +0 -138
- package/esm2022/spinner/kirbydesign-designsystem-spinner.mjs +0 -5
- package/esm2022/spinner/public_api.mjs +0 -3
- package/esm2022/spinner/spinner.component.mjs +0 -11
- package/esm2022/spinner/spinner.module.mjs +0 -19
- package/esm2022/tab-navigation/kirbydesign-designsystem-tab-navigation.mjs +0 -5
- package/esm2022/tab-navigation/public_api.mjs +0 -4
- package/esm2022/tab-navigation/tab-navigation/tab-navigation.component.mjs +0 -136
- package/esm2022/tab-navigation/tab-navigation-item/tab-navigation-item.component.mjs +0 -20
- package/esm2022/tab-navigation/tab-navigation.module.mjs +0 -19
- package/esm2022/tabs/kirbydesign-designsystem-tabs.mjs +0 -5
- package/esm2022/tabs/public_api.mjs +0 -6
- package/esm2022/tabs/tab-button/tab-button.component.mjs +0 -32
- package/esm2022/tabs/tab-button/tab-button.events.mjs +0 -2
- package/esm2022/tabs/tabs.component.mjs +0 -31
- package/esm2022/tabs/tabs.module.mjs +0 -23
- package/esm2022/tabs/tabs.service.mjs +0 -26
- package/esm2022/testing/element-css-custom-matchers.mjs +0 -94
- package/esm2022/testing/kirbydesign-designsystem-testing.mjs +0 -5
- package/esm2022/testing/public_api.mjs +0 -3
- package/esm2022/testing/test-helper.mjs +0 -155
- package/esm2022/testing-base/kirbydesign-designsystem-testing-base.mjs +0 -5
- package/esm2022/testing-base/lib/components/index.mjs +0 -65
- package/esm2022/testing-base/lib/components/mock.accordion-item.component.mjs +0 -37
- package/esm2022/testing-base/lib/components/mock.action-group.component.mjs +0 -35
- package/esm2022/testing-base/lib/components/mock.action-sheet.component.mjs +0 -49
- package/esm2022/testing-base/lib/components/mock.alert.component.mjs +0 -43
- package/esm2022/testing-base/lib/components/mock.avatar.component.mjs +0 -45
- package/esm2022/testing-base/lib/components/mock.badge.component.mjs +0 -33
- package/esm2022/testing-base/lib/components/mock.base-chart.component.mjs +0 -43
- package/esm2022/testing-base/lib/components/mock.button.component.mjs +0 -44
- package/esm2022/testing-base/lib/components/mock.calendar.component.mjs +0 -76
- package/esm2022/testing-base/lib/components/mock.card-footer.component.mjs +0 -31
- package/esm2022/testing-base/lib/components/mock.card-header.component.mjs +0 -39
- package/esm2022/testing-base/lib/components/mock.card.component.mjs +0 -41
- package/esm2022/testing-base/lib/components/mock.chart.component.mjs +0 -34
- package/esm2022/testing-base/lib/components/mock.checkbox.component.mjs +0 -46
- package/esm2022/testing-base/lib/components/mock.divider.component.mjs +0 -31
- package/esm2022/testing-base/lib/components/mock.dropdown.component.mjs +0 -60
- package/esm2022/testing-base/lib/components/mock.empty-state.component.mjs +0 -35
- package/esm2022/testing-base/lib/components/mock.fab-sheet.component.mjs +0 -33
- package/esm2022/testing-base/lib/components/mock.flag.component.mjs +0 -33
- package/esm2022/testing-base/lib/components/mock.form-field-message.component.mjs +0 -33
- package/esm2022/testing-base/lib/components/mock.form-field.component.mjs +0 -36
- package/esm2022/testing-base/lib/components/mock.header.component.mjs +0 -87
- package/esm2022/testing-base/lib/components/mock.icon.component.mjs +0 -33
- package/esm2022/testing-base/lib/components/mock.input-counter.component.mjs +0 -31
- package/esm2022/testing-base/lib/components/mock.input.component.mjs +0 -48
- package/esm2022/testing-base/lib/components/mock.item-group.component.mjs +0 -29
- package/esm2022/testing-base/lib/components/mock.item-sliding.component.mjs +0 -33
- package/esm2022/testing-base/lib/components/mock.item.component.mjs +0 -41
- package/esm2022/testing-base/lib/components/mock.kirby-app.component.mjs +0 -29
- package/esm2022/testing-base/lib/components/mock.label.component.mjs +0 -31
- package/esm2022/testing-base/lib/components/mock.list-experimental.component.mjs +0 -29
- package/esm2022/testing-base/lib/components/mock.list-header.component.mjs +0 -29
- package/esm2022/testing-base/lib/components/mock.list-item.component.mjs +0 -51
- package/esm2022/testing-base/lib/components/mock.list-section-header.component.mjs +0 -31
- package/esm2022/testing-base/lib/components/mock.list.component.mjs +0 -65
- package/esm2022/testing-base/lib/components/mock.loading-overlay.component.mjs +0 -35
- package/esm2022/testing-base/lib/components/mock.menu.component.mjs +0 -54
- package/esm2022/testing-base/lib/components/mock.modal-compact-wrapper.component.mjs +0 -31
- package/esm2022/testing-base/lib/components/mock.modal-footer.component.mjs +0 -33
- package/esm2022/testing-base/lib/components/mock.modal-wrapper.component.mjs +0 -37
- package/esm2022/testing-base/lib/components/mock.page-footer.component.mjs +0 -31
- package/esm2022/testing-base/lib/components/mock.page.component.mjs +0 -289
- package/esm2022/testing-base/lib/components/mock.popover.component.mjs +0 -38
- package/esm2022/testing-base/lib/components/mock.progress-circle-ring.component.mjs +0 -39
- package/esm2022/testing-base/lib/components/mock.progress-circle.component.mjs +0 -35
- package/esm2022/testing-base/lib/components/mock.radio-group.component.mjs +0 -48
- package/esm2022/testing-base/lib/components/mock.radio.component.mjs +0 -37
- package/esm2022/testing-base/lib/components/mock.range.component.mjs +0 -66
- package/esm2022/testing-base/lib/components/mock.reorder-list.component.mjs +0 -43
- package/esm2022/testing-base/lib/components/mock.router-outlet.component.mjs +0 -31
- package/esm2022/testing-base/lib/components/mock.section-header.component.mjs +0 -29
- package/esm2022/testing-base/lib/components/mock.segmented-control.component.mjs +0 -49
- package/esm2022/testing-base/lib/components/mock.slide-button.component.mjs +0 -41
- package/esm2022/testing-base/lib/components/mock.slides.component.mjs +0 -41
- package/esm2022/testing-base/lib/components/mock.spinner.component.mjs +0 -29
- package/esm2022/testing-base/lib/components/mock.stock-chart.component.mjs +0 -34
- package/esm2022/testing-base/lib/components/mock.tab-button.component.mjs +0 -36
- package/esm2022/testing-base/lib/components/mock.tab-navigation-item.component.mjs +0 -31
- package/esm2022/testing-base/lib/components/mock.tab-navigation.component.mjs +0 -34
- package/esm2022/testing-base/lib/components/mock.tabs.component.mjs +0 -29
- package/esm2022/testing-base/lib/components/mock.textarea.component.mjs +0 -42
- package/esm2022/testing-base/lib/components/mock.toggle-button.component.mjs +0 -36
- package/esm2022/testing-base/lib/components/mock.toggle.component.mjs +0 -38
- package/esm2022/testing-base/lib/directives/index.mjs +0 -18
- package/esm2022/testing-base/lib/directives/mock.accordion.directive.mjs +0 -27
- package/esm2022/testing-base/lib/directives/mock.affix.directive.mjs +0 -30
- package/esm2022/testing-base/lib/directives/mock.card-as-button.directive.mjs +0 -27
- package/esm2022/testing-base/lib/directives/mock.component-loader.directive.mjs +0 -31
- package/esm2022/testing-base/lib/directives/mock.date-input.directive.mjs +0 -27
- package/esm2022/testing-base/lib/directives/mock.decimal-mask.directive.mjs +0 -41
- package/esm2022/testing-base/lib/directives/mock.fit-heading.directive.mjs +0 -30
- package/esm2022/testing-base/lib/directives/mock.floating.directive.mjs +0 -69
- package/esm2022/testing-base/lib/directives/mock.infinite-scroll.directive.mjs +0 -33
- package/esm2022/testing-base/lib/directives/mock.key-handler.directive.mjs +0 -27
- package/esm2022/testing-base/lib/directives/mock.list-item-color.directive.mjs +0 -30
- package/esm2022/testing-base/lib/directives/mock.list.directive.mjs +0 -89
- package/esm2022/testing-base/lib/directives/mock.modal-router-link.directive.mjs +0 -33
- package/esm2022/testing-base/lib/directives/mock.portal.directive.mjs +0 -28
- package/esm2022/testing-base/lib/directives/mock.slide.directive.mjs +0 -26
- package/esm2022/testing-base/lib/directives/mock.theme-color.directive.mjs +0 -34
- package/esm2022/testing-base/lib/index.mjs +0 -4
- package/esm2022/testing-base/lib/kirby-testing-base.module.mjs +0 -96
- package/esm2022/testing-base/lib/mock-components.mjs +0 -142
- package/esm2022/testing-base/lib/mock-directives.mjs +0 -39
- package/esm2022/testing-base/public_api.mjs +0 -2
- package/esm2022/testing-jasmine/kirbydesign-designsystem-testing-jasmine.mjs +0 -5
- package/esm2022/testing-jasmine/lib/kirby-testing.module.mjs +0 -20
- package/esm2022/testing-jasmine/lib/mock-providers.mjs +0 -86
- package/esm2022/testing-jasmine/public_api.mjs +0 -2
- package/esm2022/testing-jest/kirbydesign-designsystem-testing-jest.mjs +0 -5
- package/esm2022/testing-jest/lib/kirby-testing.module.mjs +0 -20
- package/esm2022/testing-jest/lib/mock-providers.mjs +0 -92
- package/esm2022/testing-jest/public_api.mjs +0 -2
- package/esm2022/toast/config/toast-config.mjs +0 -2
- package/esm2022/toast/kirbydesign-designsystem-toast.mjs +0 -5
- package/esm2022/toast/public_api.mjs +0 -4
- package/esm2022/toast/services/indexs.mjs +0 -3
- package/esm2022/toast/services/toast.controller.mjs +0 -22
- package/esm2022/toast/services/toast.helper.mjs +0 -39
- package/esm2022/toggle/kirbydesign-designsystem-toggle.mjs +0 -5
- package/esm2022/toggle/public_api.mjs +0 -2
- package/esm2022/toggle/toggle.component.mjs +0 -114
- package/esm2022/toggle-button/kirbydesign-designsystem-toggle-button.mjs +0 -5
- package/esm2022/toggle-button/public_api.mjs +0 -3
- package/esm2022/toggle-button/toggle-button.component.mjs +0 -30
- package/esm2022/toggle-button/toggle-button.module.mjs +0 -19
- package/esm2022/types/event-listener-dispose-fn.mjs +0 -2
- package/esm2022/types/kirbydesign-designsystem-types.mjs +0 -5
- package/esm2022/types/public_api.mjs +0 -4
- package/esm2022/types/unobserve-fn.mjs +0 -2
- package/esm2022/types/window-ref.mjs +0 -16
- package/ngcc.config.js +0 -3
|
@@ -1,514 +0,0 @@
|
|
|
1
|
-
import { CommonModule } from '@angular/common';
|
|
2
|
-
import { ChangeDetectionStrategy, ChangeDetectorRef, Component, ElementRef, EventEmitter, HostBinding, Inject, Input, LOCALE_ID, Output, } from '@angular/core';
|
|
3
|
-
import { add, eachDayOfInterval, endOfWeek, format, getYear, isAfter, isBefore, isSameDay, isSameMonth, isWeekend, lastDayOfWeek, startOfDay, startOfMonth, startOfWeek, } from 'date-fns';
|
|
4
|
-
import { fromZonedTime, toZonedTime } from 'date-fns-tz';
|
|
5
|
-
import { da, enGB, enUS } from 'date-fns/locale';
|
|
6
|
-
import { capitalizeFirstLetter } from '@kirbydesign/core';
|
|
7
|
-
import { ButtonComponent } from '@kirbydesign/designsystem/button';
|
|
8
|
-
import { DropdownModule } from '@kirbydesign/designsystem/dropdown';
|
|
9
|
-
import { UniqueIdGenerator } from '@kirbydesign/designsystem/helpers';
|
|
10
|
-
import { IconModule } from '@kirbydesign/designsystem/icon';
|
|
11
|
-
import { TranslationService } from '@kirbydesign/designsystem/shared';
|
|
12
|
-
import * as i0 from "@angular/core";
|
|
13
|
-
import * as i1 from "@kirbydesign/designsystem/shared";
|
|
14
|
-
import * as i2 from "@kirbydesign/designsystem/dropdown";
|
|
15
|
-
import * as i3 from "@kirbydesign/designsystem/icon";
|
|
16
|
-
import * as i4 from "@angular/common";
|
|
17
|
-
var TimeUnit;
|
|
18
|
-
(function (TimeUnit) {
|
|
19
|
-
TimeUnit["years"] = "years";
|
|
20
|
-
TimeUnit["months"] = "months";
|
|
21
|
-
TimeUnit["weeks"] = "weeks";
|
|
22
|
-
TimeUnit["days"] = "days";
|
|
23
|
-
TimeUnit["hours"] = "hours";
|
|
24
|
-
TimeUnit["minutes"] = "minutes";
|
|
25
|
-
TimeUnit["seconds"] = "seconds";
|
|
26
|
-
TimeUnit["milliseconds"] = "milliseconds";
|
|
27
|
-
})(TimeUnit || (TimeUnit = {}));
|
|
28
|
-
export class CalendarComponent {
|
|
29
|
-
set locales(locales) {
|
|
30
|
-
console.warn(`Supplying additional locales to the Kirby Calendar Component via an input property is deprecated and should not be used.
|
|
31
|
-
A future update will allow injecting additional locales via a provider instead.`);
|
|
32
|
-
}
|
|
33
|
-
get selectedDate() {
|
|
34
|
-
return this._selectedDate;
|
|
35
|
-
}
|
|
36
|
-
set selectedDate(valueLocalOrUTC) {
|
|
37
|
-
const value = this.normalizeDate(valueLocalOrUTC);
|
|
38
|
-
if (valueLocalOrUTC) {
|
|
39
|
-
this.setActiveMonth(value);
|
|
40
|
-
}
|
|
41
|
-
if (this.hasDateChanged(value, this._selectedDate)) {
|
|
42
|
-
this.onSelectedDateChange(value);
|
|
43
|
-
this.focusDate(value);
|
|
44
|
-
this._selectedDate = value;
|
|
45
|
-
}
|
|
46
|
-
}
|
|
47
|
-
get disabledDates() {
|
|
48
|
-
return this._disabledDates;
|
|
49
|
-
}
|
|
50
|
-
set disabledDates(value) {
|
|
51
|
-
this._disabledDates = (value || []).map((date) => this.normalizeDate(date));
|
|
52
|
-
}
|
|
53
|
-
get enabledDates() {
|
|
54
|
-
return this._enabledDates;
|
|
55
|
-
}
|
|
56
|
-
set enabledDates(value) {
|
|
57
|
-
this._enabledDates = (value || []).map((date) => this.normalizeDate(date));
|
|
58
|
-
}
|
|
59
|
-
get todayDate() {
|
|
60
|
-
return this._todayDate;
|
|
61
|
-
}
|
|
62
|
-
set todayDate(value) {
|
|
63
|
-
this._todayDate = this.normalizeDate(value);
|
|
64
|
-
}
|
|
65
|
-
get minDate() {
|
|
66
|
-
return this._minDate;
|
|
67
|
-
}
|
|
68
|
-
set minDate(value) {
|
|
69
|
-
if (value && this.activeMonth && isBefore(this.activeMonth, value)) {
|
|
70
|
-
this.setActiveMonth(value);
|
|
71
|
-
}
|
|
72
|
-
this._minDate = this.normalizeDate(value);
|
|
73
|
-
}
|
|
74
|
-
get maxDate() {
|
|
75
|
-
return this._maxDate;
|
|
76
|
-
}
|
|
77
|
-
set maxDate(value) {
|
|
78
|
-
if (value && this.activeMonth && isAfter(this.activeMonth, value)) {
|
|
79
|
-
this.setActiveMonth(value);
|
|
80
|
-
}
|
|
81
|
-
this._maxDate = this.normalizeDate(value);
|
|
82
|
-
}
|
|
83
|
-
get activeMonthName() {
|
|
84
|
-
return capitalizeFirstLetter(this.formatWithLocale(this.activeMonth, 'MMMM'));
|
|
85
|
-
}
|
|
86
|
-
get activeYear() {
|
|
87
|
-
return this.formatWithLocale(this.activeMonth, 'yyyy');
|
|
88
|
-
}
|
|
89
|
-
/**
|
|
90
|
-
* Gets navigable years for year navigator based on yearNavigatorOptions.
|
|
91
|
-
*/
|
|
92
|
-
get navigableYears() {
|
|
93
|
-
const dateOfFirstNavigableYear = this.minDate || this.getDateFromNavigableYear(this.yearNavigatorOptions.from);
|
|
94
|
-
const dateOfLastNavigableYear = this.maxDate || this.getDateFromNavigableYear(this.yearNavigatorOptions.to);
|
|
95
|
-
return this.getYearsBetweenDates(dateOfFirstNavigableYear, dateOfLastNavigableYear);
|
|
96
|
-
}
|
|
97
|
-
get navigatedYear() {
|
|
98
|
-
return this.navigableYears.indexOf(this.activeYear);
|
|
99
|
-
}
|
|
100
|
-
get _hasYearNavigator() {
|
|
101
|
-
return !!this.yearNavigatorOptions;
|
|
102
|
-
}
|
|
103
|
-
getTodayDate() {
|
|
104
|
-
return startOfDay(this.todayDate ?? new Date());
|
|
105
|
-
}
|
|
106
|
-
constructor(locale, elementRef, cdr, translations) {
|
|
107
|
-
this.elementRef = elementRef;
|
|
108
|
-
this.cdr = cdr;
|
|
109
|
-
this.translations = translations;
|
|
110
|
-
this.dateChange = new EventEmitter();
|
|
111
|
-
this.dateSelect = new EventEmitter();
|
|
112
|
-
this.yearSelect = new EventEmitter();
|
|
113
|
-
this.previousMonthClicked = new EventEmitter();
|
|
114
|
-
this.nextMonthClicked = new EventEmitter();
|
|
115
|
-
this.timezone = 'local';
|
|
116
|
-
this.disableWeekends = false;
|
|
117
|
-
this.disablePastDates = false;
|
|
118
|
-
this.disableFutureDates = false;
|
|
119
|
-
this.alwaysEnableToday = false;
|
|
120
|
-
this.customLocales = {};
|
|
121
|
-
/*
|
|
122
|
-
Experimental: Input property not documented on purpose.
|
|
123
|
-
For context see: https://github.com/kirbydesign/designsystem/issues/2087
|
|
124
|
-
*/
|
|
125
|
-
this.usePopover = false;
|
|
126
|
-
this._tableMonthId = UniqueIdGenerator.scopedTo('kirby-calendar-month').next();
|
|
127
|
-
this._disabledDates = [];
|
|
128
|
-
this._enabledDates = [];
|
|
129
|
-
this.includedLocales = { da, enGB, enUS };
|
|
130
|
-
this.locale = this.mapLocale(locale);
|
|
131
|
-
this.timeZoneName = Intl.DateTimeFormat().resolvedOptions().timeZone;
|
|
132
|
-
}
|
|
133
|
-
formatWithLocale(date, formatString) {
|
|
134
|
-
return format(date, formatString, {
|
|
135
|
-
locale: this.locale,
|
|
136
|
-
});
|
|
137
|
-
}
|
|
138
|
-
mapLocale(locale) {
|
|
139
|
-
if (locale === 'en') {
|
|
140
|
-
locale = 'enGB'; // if english locale is provided without region, we default to GB
|
|
141
|
-
}
|
|
142
|
-
locale = locale.replace('-', '');
|
|
143
|
-
const availableLocales = { ...this.includedLocales, ...this.locales, ...this.customLocales };
|
|
144
|
-
return availableLocales[locale] || this.includedLocales.enGB; // Default to enGB if injected locale doesnt exist
|
|
145
|
-
}
|
|
146
|
-
formatDateLabel() {
|
|
147
|
-
const localeDateFormats = {
|
|
148
|
-
da: 'd. MMMM',
|
|
149
|
-
'en-GB': 'd MMMM',
|
|
150
|
-
'en-US': 'MMMM d',
|
|
151
|
-
};
|
|
152
|
-
const defaultDateFormat = localeDateFormats['en-US'];
|
|
153
|
-
const dateFormat = localeDateFormats[this.locale.code] || defaultDateFormat;
|
|
154
|
-
return dateFormat;
|
|
155
|
-
}
|
|
156
|
-
ngOnInit() {
|
|
157
|
-
this.focussedDate = this.getTodayDate();
|
|
158
|
-
this._weekDays = this.getWeekDays();
|
|
159
|
-
this.setActiveMonth(this.selectedDate);
|
|
160
|
-
}
|
|
161
|
-
ngOnChanges(changes) {
|
|
162
|
-
if (!this.activeMonth)
|
|
163
|
-
return;
|
|
164
|
-
if (changes.disableWeekends ||
|
|
165
|
-
changes.disablePastDates ||
|
|
166
|
-
changes.disableFutureDates ||
|
|
167
|
-
changes.disabledDates ||
|
|
168
|
-
changes.enabledDates ||
|
|
169
|
-
changes.minDate ||
|
|
170
|
-
changes.maxDate ||
|
|
171
|
-
changes.todayDate ||
|
|
172
|
-
changes.timezone) {
|
|
173
|
-
this.refreshActiveMonth();
|
|
174
|
-
}
|
|
175
|
-
}
|
|
176
|
-
setActiveMonth(date = new Date()) {
|
|
177
|
-
if (!this.activeMonth || !isSameMonth(this.activeMonth, date)) {
|
|
178
|
-
this.activeMonth = startOfMonth(date);
|
|
179
|
-
this.refreshActiveMonth();
|
|
180
|
-
}
|
|
181
|
-
}
|
|
182
|
-
// For leniency, the component will accept any Date that points to either UTC midnight
|
|
183
|
-
// or to local timezone midnight although we will internally normalize the representation
|
|
184
|
-
// of all received dates to point to local timezone midnight.
|
|
185
|
-
// We currently log no warnings if the date doesn't match the timezone setting or
|
|
186
|
-
// if it doesn't point to midnight.
|
|
187
|
-
normalizeDate(dateLocalOrUTC) {
|
|
188
|
-
if (!dateLocalOrUTC)
|
|
189
|
-
return;
|
|
190
|
-
if (startOfDay(dateLocalOrUTC).getTime() === dateLocalOrUTC.getTime()) {
|
|
191
|
-
// date is local timezone midnight
|
|
192
|
-
return dateLocalOrUTC;
|
|
193
|
-
}
|
|
194
|
-
if (startOfDay(toZonedTime(dateLocalOrUTC, this.timeZoneName)).getTime() ===
|
|
195
|
-
toZonedTime(dateLocalOrUTC, this.timeZoneName).getTime()) {
|
|
196
|
-
// the date is a UTC midnight; create the equivalent local timezone midnight date
|
|
197
|
-
const normalizedUTCdate = toZonedTime(dateLocalOrUTC, this.timeZoneName);
|
|
198
|
-
return normalizedUTCdate;
|
|
199
|
-
}
|
|
200
|
-
// does not point to midnight so we make it
|
|
201
|
-
return startOfDay(dateLocalOrUTC);
|
|
202
|
-
}
|
|
203
|
-
getWeekDays() {
|
|
204
|
-
const now = new Date();
|
|
205
|
-
const week = eachDayOfInterval({
|
|
206
|
-
start: startOfWeek(now, { locale: this.locale }),
|
|
207
|
-
end: endOfWeek(now, { locale: this.locale }),
|
|
208
|
-
});
|
|
209
|
-
const weekdayNarrowFormat = 'EEEEE';
|
|
210
|
-
const weekdayWideFormat = 'EEEE';
|
|
211
|
-
return week.map((date) => ({
|
|
212
|
-
firstLetterCapitalized: this.formatWithLocale(date, weekdayNarrowFormat),
|
|
213
|
-
fullName: this.formatWithLocale(date, weekdayWideFormat),
|
|
214
|
-
}));
|
|
215
|
-
}
|
|
216
|
-
hasDateChanged(newDate, previousDate) {
|
|
217
|
-
if (!newDate && !previousDate) {
|
|
218
|
-
return false;
|
|
219
|
-
}
|
|
220
|
-
if (newDate instanceof Date && !previousDate) {
|
|
221
|
-
return true;
|
|
222
|
-
}
|
|
223
|
-
return !isSameDay(newDate, previousDate);
|
|
224
|
-
}
|
|
225
|
-
isDisabledDate(date) {
|
|
226
|
-
return this.disabledDates.some((disabledDate) => isSameDay(disabledDate, date));
|
|
227
|
-
}
|
|
228
|
-
isEnabledDate(date) {
|
|
229
|
-
return (this._enabledDates.length === 0 ||
|
|
230
|
-
this.enabledDates.some((enabledDate) => isSameDay(enabledDate, date)));
|
|
231
|
-
}
|
|
232
|
-
refreshActiveMonth() {
|
|
233
|
-
if (!this.activeMonth)
|
|
234
|
-
return;
|
|
235
|
-
const monthStart = startOfMonth(this.activeMonth);
|
|
236
|
-
const startOfFirstWeek = startOfWeek(monthStart, { locale: this.locale });
|
|
237
|
-
const totalNumberOfDays = 42; // Always show 42 days (6 weeks) in calendar
|
|
238
|
-
const daysArray = Array.from(Array(totalNumberOfDays).keys());
|
|
239
|
-
const today = this.getTodayDate();
|
|
240
|
-
const calendarDays = daysArray.map((number) => {
|
|
241
|
-
const dateOfCalendarDay = add(startOfFirstWeek, { [TimeUnit.days]: number });
|
|
242
|
-
const calendarDay = {
|
|
243
|
-
date: dateOfCalendarDay.getDate(),
|
|
244
|
-
monthIndex: dateOfCalendarDay.getMonth(),
|
|
245
|
-
year: dateOfCalendarDay.getFullYear(),
|
|
246
|
-
ariaLabel: this.formatWithLocale(dateOfCalendarDay, this.formatDateLabel()),
|
|
247
|
-
...this.getCalendarDayMetadata(dateOfCalendarDay, today, monthStart),
|
|
248
|
-
};
|
|
249
|
-
if (calendarDay.isSelected) {
|
|
250
|
-
this.selectedDay = calendarDay;
|
|
251
|
-
}
|
|
252
|
-
if (calendarDay.isFocussed) {
|
|
253
|
-
this.focussedDay = calendarDay;
|
|
254
|
-
}
|
|
255
|
-
return calendarDay;
|
|
256
|
-
});
|
|
257
|
-
this._month = this.chunk(calendarDays, 7);
|
|
258
|
-
}
|
|
259
|
-
getCalendarDayMetadata(date, today, monthStart) {
|
|
260
|
-
return {
|
|
261
|
-
isToday: isSameDay(today, date),
|
|
262
|
-
isPast: isBefore(date, today),
|
|
263
|
-
isFuture: isAfter(date, today),
|
|
264
|
-
isWeekend: isWeekend(date),
|
|
265
|
-
isCurrentMonth: isSameMonth(date, monthStart),
|
|
266
|
-
isSelectable: this.isSelectable(date, today),
|
|
267
|
-
isFocusable: this.isWithinAllowedRange(date, today),
|
|
268
|
-
isSelected: isSameDay(this.selectedDate, date),
|
|
269
|
-
isFocussed: isSameDay(this.focussedDate, date),
|
|
270
|
-
};
|
|
271
|
-
}
|
|
272
|
-
isSelectable(date, today) {
|
|
273
|
-
if (this.alwaysEnableToday && isSameDay(today, date))
|
|
274
|
-
return true;
|
|
275
|
-
if (!this.isWithinAllowedRange(date, today))
|
|
276
|
-
return false;
|
|
277
|
-
if (this.isDisabledDate(date))
|
|
278
|
-
return false;
|
|
279
|
-
if (!this.isEnabledDate(date))
|
|
280
|
-
return false;
|
|
281
|
-
if (this.disableWeekends && isWeekend(date))
|
|
282
|
-
return false;
|
|
283
|
-
return true;
|
|
284
|
-
}
|
|
285
|
-
isWithinAllowedRange(date, today) {
|
|
286
|
-
if (this.disablePastDates && isBefore(date, today))
|
|
287
|
-
return false;
|
|
288
|
-
if (this.disableFutureDates && isAfter(date, today))
|
|
289
|
-
return false;
|
|
290
|
-
if (this.minDate && isBefore(date, this.minDate))
|
|
291
|
-
return false;
|
|
292
|
-
if (this.maxDate && isAfter(date, this.maxDate))
|
|
293
|
-
return false;
|
|
294
|
-
return true;
|
|
295
|
-
}
|
|
296
|
-
chunk(array, size) {
|
|
297
|
-
const results = [];
|
|
298
|
-
while (array.length) {
|
|
299
|
-
results.push(array.splice(0, size));
|
|
300
|
-
}
|
|
301
|
-
return results;
|
|
302
|
-
}
|
|
303
|
-
onSelectedDateChange(newDate) {
|
|
304
|
-
if (this.selectedDay) {
|
|
305
|
-
this.selectedDay.isSelected = false;
|
|
306
|
-
}
|
|
307
|
-
const newDay = this.getDay(newDate);
|
|
308
|
-
if (newDay) {
|
|
309
|
-
newDay.isSelected = true;
|
|
310
|
-
this.selectedDay = newDay;
|
|
311
|
-
}
|
|
312
|
-
}
|
|
313
|
-
_onDateSelected(newDay) {
|
|
314
|
-
if (!newDay.isSelectable)
|
|
315
|
-
return;
|
|
316
|
-
let newDate = new Date(newDay.year, newDay.monthIndex, newDay.date);
|
|
317
|
-
if (this.timezone === 'UTC') {
|
|
318
|
-
newDate = fromZonedTime(this.subtractTimezoneOffset(newDate), this.timeZoneName);
|
|
319
|
-
}
|
|
320
|
-
const dateToEmit = newDate;
|
|
321
|
-
if (this.hasDateChanged(newDate, this._selectedDate)) {
|
|
322
|
-
this.setActiveMonth(newDate);
|
|
323
|
-
this.onSelectedDateChange(newDate);
|
|
324
|
-
this.selectedDate = newDate;
|
|
325
|
-
this.dateChange.emit(dateToEmit);
|
|
326
|
-
}
|
|
327
|
-
this.dateSelect.emit(dateToEmit);
|
|
328
|
-
}
|
|
329
|
-
_changeMonth(index) {
|
|
330
|
-
if (index > 0 && !this._canNavigateForward)
|
|
331
|
-
return;
|
|
332
|
-
if (index < 0 && !this._canNavigateBack)
|
|
333
|
-
return;
|
|
334
|
-
this.changeActiveView(index, TimeUnit.months);
|
|
335
|
-
index > 0
|
|
336
|
-
? this.nextMonthClicked.emit(this.activeMonth)
|
|
337
|
-
: this.previousMonthClicked.emit(this.activeMonth);
|
|
338
|
-
}
|
|
339
|
-
_changeYear(year) {
|
|
340
|
-
const yearNumeric = Number(year);
|
|
341
|
-
this.changeActiveView(yearNumeric - getYear(this.activeMonth), TimeUnit.years);
|
|
342
|
-
this.yearSelect.emit(yearNumeric);
|
|
343
|
-
}
|
|
344
|
-
changeActiveView(index, unit) {
|
|
345
|
-
if (index === 0)
|
|
346
|
-
return;
|
|
347
|
-
this.activeMonth = add(this.activeMonth, { [unit]: index });
|
|
348
|
-
this.focussedDate = add(this.focussedDate, { [unit]: index });
|
|
349
|
-
this.refreshActiveMonth();
|
|
350
|
-
}
|
|
351
|
-
get _canNavigateBack() {
|
|
352
|
-
const today = this.getTodayDate();
|
|
353
|
-
const reachedPastDatesLimit = this.disablePastDates && isSameMonth(this.activeMonth, today);
|
|
354
|
-
const reachedOrExceededMinDate = this.minDate &&
|
|
355
|
-
(isSameMonth(this.activeMonth, this.minDate) || isBefore(this.activeMonth, this.minDate));
|
|
356
|
-
return !reachedPastDatesLimit && !reachedOrExceededMinDate;
|
|
357
|
-
}
|
|
358
|
-
get _canNavigateForward() {
|
|
359
|
-
const today = this.getTodayDate();
|
|
360
|
-
const reachedFutureDatesLimit = this.disableFutureDates && isSameMonth(this.activeMonth, today);
|
|
361
|
-
const reachedOrExceededMaxDate = this.maxDate &&
|
|
362
|
-
(isSameMonth(this.activeMonth, this.maxDate) || isAfter(this.activeMonth, this.maxDate));
|
|
363
|
-
return !reachedFutureDatesLimit && !reachedOrExceededMaxDate;
|
|
364
|
-
}
|
|
365
|
-
getDay(date) {
|
|
366
|
-
let foundDay = null;
|
|
367
|
-
if (date) {
|
|
368
|
-
for (const week of this._month) {
|
|
369
|
-
foundDay = week.find((day) => {
|
|
370
|
-
return day.isCurrentMonth && day.date === date.getDate();
|
|
371
|
-
});
|
|
372
|
-
if (foundDay) {
|
|
373
|
-
break;
|
|
374
|
-
}
|
|
375
|
-
}
|
|
376
|
-
}
|
|
377
|
-
return foundDay;
|
|
378
|
-
}
|
|
379
|
-
subtractTimezoneOffset(date) {
|
|
380
|
-
const timezoneOffsetInMs = date.getTimezoneOffset() * 60 * 1000;
|
|
381
|
-
return new Date(date.getTime() - timezoneOffsetInMs);
|
|
382
|
-
}
|
|
383
|
-
getDateFromNavigableYear(navigableYear) {
|
|
384
|
-
if (navigableYear instanceof Date)
|
|
385
|
-
return navigableYear;
|
|
386
|
-
const today = this.todayDate || new Date();
|
|
387
|
-
return new Date(today.getFullYear() + navigableYear, 0, 1);
|
|
388
|
-
}
|
|
389
|
-
getYearsBetweenDates(startDate, endDate) {
|
|
390
|
-
// Ensure years are ordered correctly if parameters are switched:
|
|
391
|
-
const [startYear, endYear] = [startDate.getFullYear(), endDate.getFullYear()].sort();
|
|
392
|
-
const numberOfYears = endYear - startYear;
|
|
393
|
-
return Array.from({ length: numberOfYears + 1 }, (_, i) => (startYear + i).toString());
|
|
394
|
-
}
|
|
395
|
-
setFocussedDay(newDate) {
|
|
396
|
-
const newDay = this.getDay(newDate);
|
|
397
|
-
if (!newDay)
|
|
398
|
-
return;
|
|
399
|
-
if (this.focussedDay) {
|
|
400
|
-
this.focussedDay.isFocussed = false;
|
|
401
|
-
}
|
|
402
|
-
newDay.isFocussed = true;
|
|
403
|
-
this.focussedDay = newDay;
|
|
404
|
-
}
|
|
405
|
-
focusDate(newDate) {
|
|
406
|
-
if (!newDate)
|
|
407
|
-
return;
|
|
408
|
-
if (this.timezone === 'UTC') {
|
|
409
|
-
newDate = fromZonedTime(this.subtractTimezoneOffset(newDate), this.timeZoneName);
|
|
410
|
-
}
|
|
411
|
-
const today = this.getTodayDate();
|
|
412
|
-
if (!this.isWithinAllowedRange(newDate, today))
|
|
413
|
-
return;
|
|
414
|
-
if (!this.hasDateChanged(newDate, this.focussedDate))
|
|
415
|
-
return;
|
|
416
|
-
this.setActiveMonth(newDate);
|
|
417
|
-
this.setFocussedDay(newDate);
|
|
418
|
-
this.focussedDate = newDate;
|
|
419
|
-
this.cdr.detectChanges(); //sync focussed class to template before setting focus
|
|
420
|
-
const elementMarkedForFocus = this.elementRef.nativeElement.querySelector('.focussed');
|
|
421
|
-
elementMarkedForFocus.focus();
|
|
422
|
-
}
|
|
423
|
-
_onDateKeydown(event) {
|
|
424
|
-
const { key, shiftKey } = event;
|
|
425
|
-
let newDate;
|
|
426
|
-
switch (key) {
|
|
427
|
-
case 'ArrowUp':
|
|
428
|
-
newDate = add(this.focussedDate, { days: -7 });
|
|
429
|
-
break;
|
|
430
|
-
case 'ArrowDown':
|
|
431
|
-
newDate = add(this.focussedDate, { days: 7 });
|
|
432
|
-
break;
|
|
433
|
-
case 'ArrowRight':
|
|
434
|
-
newDate = add(this.focussedDate, { days: 1 });
|
|
435
|
-
break;
|
|
436
|
-
case 'ArrowLeft':
|
|
437
|
-
newDate = add(this.focussedDate, { days: -1 });
|
|
438
|
-
break;
|
|
439
|
-
case 'Home':
|
|
440
|
-
newDate = startOfWeek(this.focussedDate, { locale: this.locale });
|
|
441
|
-
break;
|
|
442
|
-
case 'End':
|
|
443
|
-
newDate = lastDayOfWeek(this.focussedDate, { locale: this.locale });
|
|
444
|
-
break;
|
|
445
|
-
case 'PageUp':
|
|
446
|
-
newDate = shiftKey
|
|
447
|
-
? add(this.focussedDate, { years: -1 })
|
|
448
|
-
: add(this.focussedDate, { months: -1 });
|
|
449
|
-
break;
|
|
450
|
-
case 'PageDown':
|
|
451
|
-
newDate = shiftKey
|
|
452
|
-
? add(this.focussedDate, { years: 1 })
|
|
453
|
-
: add(this.focussedDate, { months: 1 });
|
|
454
|
-
break;
|
|
455
|
-
default:
|
|
456
|
-
return;
|
|
457
|
-
}
|
|
458
|
-
event.preventDefault();
|
|
459
|
-
this.focusDate(newDate);
|
|
460
|
-
}
|
|
461
|
-
/** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: CalendarComponent, deps: [{ token: LOCALE_ID }, { token: i0.ElementRef }, { token: i0.ChangeDetectorRef }, { token: i1.TranslationService }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
462
|
-
/** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: CalendarComponent, isStandalone: true, selector: "kirby-calendar", inputs: { timezone: "timezone", disableWeekends: "disableWeekends", disablePastDates: "disablePastDates", disableFutureDates: "disableFutureDates", alwaysEnableToday: "alwaysEnableToday", locales: "locales", customLocales: "customLocales", usePopover: "usePopover", yearNavigatorOptions: "yearNavigatorOptions", selectedDate: "selectedDate", disabledDates: "disabledDates", enabledDates: "enabledDates", todayDate: "todayDate", minDate: "minDate", maxDate: "maxDate" }, outputs: { dateChange: "dateChange", dateSelect: "dateSelect", yearSelect: "yearSelect", previousMonthClicked: "previousMonthClicked", nextMonthClicked: "nextMonthClicked" }, host: { properties: { "class.has-year-navigator": "this._hasYearNavigator" } }, usesOnChanges: true, ngImport: i0, template: "<div class=\"header\">\n <div class=\"month-navigator\">\n <button\n kirby-button\n type=\"button\"\n class=\"no-margin\"\n [attr.aria-label]=\"translations.get('previousMonth')\"\n [attr.aria-disabled]=\"_canNavigateBack ? null : true\"\n [noDecoration]=\"true\"\n (click)=\"_changeMonth(-1)\"\n >\n <kirby-icon name=\"arrow-back\" aria-hidden=\"true\"></kirby-icon>\n </button>\n\n <div class=\"month-and-year\" [id]=\"_tableMonthId\" aria-live=\"polite\" aria-atomic=\"true\">\n <span class=\"month\">{{ activeMonthName }}</span>\n <span *ngIf=\"!_hasYearNavigator\" class=\"year\">{{ activeYear }}</span>\n </div>\n\n <button\n kirby-button\n type=\"button\"\n class=\"no-margin\"\n [attr.aria-label]=\"translations.get('nextMonth')\"\n [attr.aria-disabled]=\"_canNavigateForward ? null : true\"\n [noDecoration]=\"true\"\n (click)=\"_changeMonth(1)\"\n >\n <kirby-icon name=\"arrow-more\" aria-hidden=\"true\"></kirby-icon>\n </button>\n </div>\n <kirby-dropdown\n *ngIf=\"_hasYearNavigator\"\n [usePopover]=\"usePopover\"\n [selectedIndex]=\"navigatedYear\"\n [items]=\"navigableYears\"\n [attr.aria-label]=\"translations.get('selectYear')\"\n popout=\"left\"\n (change)=\"_changeYear($event)\"\n ></kirby-dropdown>\n</div>\n\n<table [attr.aria-labelledby]=\"_tableMonthId\" role=\"grid\">\n <thead>\n <tr>\n <th *ngFor=\"let weekDay of _weekDays\" scope=\"col\">\n <span aria-hidden=\"true\">{{ weekDay.firstLetterCapitalized }}</span>\n <span class=\"visually-hidden\">{{ weekDay.fullName }}</span>\n </th>\n </tr>\n </thead>\n\n <tbody>\n <tr *ngFor=\"let week of _month\">\n <td *ngFor=\"let day of week\" [attr.aria-selected]=\"day.isSelected ? true : false\">\n <button\n kirby-button\n type=\"button\"\n (click)=\"_onDateSelected(day)\"\n (keydown)=\"_onDateKeydown($event)\"\n class=\"day\"\n [class.current-month]=\"day.isCurrentMonth\"\n [class.weekend]=\"day.isWeekend\"\n [class.today]=\"day.isToday\"\n [class.selectable]=\"day.isSelectable\"\n [class.selected]=\"day.isSelected\"\n [class.focussed]=\"day.isFocussed\"\n [class.past]=\"day.isPast\"\n [attr.aria-label]=\"day.ariaLabel\"\n [attr.aria-disabled]=\"day.isSelectable ? null : true\"\n [noDecoration]=\"true\"\n [disabled]=\"day.isFocusable ? null : true\"\n [tabIndex]=\"day.isFocussed ? 0 : -1\"\n >\n {{ day.date }}\n </button>\n </td>\n </tr>\n </tbody>\n</table>\n", styles: [":host{font-size:16px}table{width:100%;border-collapse:collapse;-webkit-user-select:none;user-select:none;margin-bottom:8px}th,td{text-align:center;padding:0}th:first-child,td:first-child{padding-left:8px}th:last-child,td:last-child{padding-right:8px}th{height:50px;border-bottom:1px solid var(--kirby-background-color)}.header,th,td{background-color:transparent}.header{display:flex;justify-content:space-between;margin:8px 8px 0}.month-navigator{display:flex;flex-grow:1;align-items:center;justify-content:space-between}.month-and-year{-webkit-user-select:none;user-select:none;font-weight:700}.month-and-year .month{margin-right:8px}:host(.has-year-navigator) .month-navigator{flex-grow:0}:host(.has-year-navigator) .month-and-year{width:80px;margin:0 8px;text-align:center}:host(.has-year-navigator) .month{margin-right:0}.day{display:inline-flex;align-items:center;justify-content:center;border-radius:20px;min-width:40px;min-height:40px;width:40px;height:40px;margin:4px 0;font-size:16px}.day:focus{z-index:1}button[aria-disabled=true]{color:#b4b4b4}.day.selectable:not(.current-month,.selected){color:var(--kirby-text-color-semi-dark)}.day.today{color:var(--kirby-medium-contrast);background-color:var(--kirby-medium)}.day.selected{color:var(--kirby-black-contrast);background-color:var(--kirby-black)}.visually-hidden{position:absolute;scale:0}\n"], dependencies: [{ kind: "ngmodule", type: DropdownModule }, { kind: "component", type: i2.DropdownComponent, selector: "kirby-dropdown", inputs: ["items", "selectedIndex", "focusedIndex", "itemTextProperty", "placeholder", "popout", "attentionLevel", "expand", "disabled", "hasError", "size", "tabindex", "usePopover"], outputs: ["change"] }, { kind: "component", type: ButtonComponent, selector: "button[kirby-button],Button[kirby-button],a[kirby-button]", inputs: ["attentionLevel", "noDecoration", "themeColor", "expand", "isFloating", "size", "showIconOnly"] }, { kind: "ngmodule", type: IconModule }, { kind: "component", type: i3.IconComponent, selector: "kirby-icon", inputs: ["size", "name"] }, { kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i4.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
463
|
-
}
|
|
464
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: CalendarComponent, decorators: [{
|
|
465
|
-
type: Component,
|
|
466
|
-
args: [{ standalone: true, imports: [DropdownModule, ButtonComponent, IconModule, CommonModule], selector: 'kirby-calendar', changeDetection: ChangeDetectionStrategy.OnPush, template: "<div class=\"header\">\n <div class=\"month-navigator\">\n <button\n kirby-button\n type=\"button\"\n class=\"no-margin\"\n [attr.aria-label]=\"translations.get('previousMonth')\"\n [attr.aria-disabled]=\"_canNavigateBack ? null : true\"\n [noDecoration]=\"true\"\n (click)=\"_changeMonth(-1)\"\n >\n <kirby-icon name=\"arrow-back\" aria-hidden=\"true\"></kirby-icon>\n </button>\n\n <div class=\"month-and-year\" [id]=\"_tableMonthId\" aria-live=\"polite\" aria-atomic=\"true\">\n <span class=\"month\">{{ activeMonthName }}</span>\n <span *ngIf=\"!_hasYearNavigator\" class=\"year\">{{ activeYear }}</span>\n </div>\n\n <button\n kirby-button\n type=\"button\"\n class=\"no-margin\"\n [attr.aria-label]=\"translations.get('nextMonth')\"\n [attr.aria-disabled]=\"_canNavigateForward ? null : true\"\n [noDecoration]=\"true\"\n (click)=\"_changeMonth(1)\"\n >\n <kirby-icon name=\"arrow-more\" aria-hidden=\"true\"></kirby-icon>\n </button>\n </div>\n <kirby-dropdown\n *ngIf=\"_hasYearNavigator\"\n [usePopover]=\"usePopover\"\n [selectedIndex]=\"navigatedYear\"\n [items]=\"navigableYears\"\n [attr.aria-label]=\"translations.get('selectYear')\"\n popout=\"left\"\n (change)=\"_changeYear($event)\"\n ></kirby-dropdown>\n</div>\n\n<table [attr.aria-labelledby]=\"_tableMonthId\" role=\"grid\">\n <thead>\n <tr>\n <th *ngFor=\"let weekDay of _weekDays\" scope=\"col\">\n <span aria-hidden=\"true\">{{ weekDay.firstLetterCapitalized }}</span>\n <span class=\"visually-hidden\">{{ weekDay.fullName }}</span>\n </th>\n </tr>\n </thead>\n\n <tbody>\n <tr *ngFor=\"let week of _month\">\n <td *ngFor=\"let day of week\" [attr.aria-selected]=\"day.isSelected ? true : false\">\n <button\n kirby-button\n type=\"button\"\n (click)=\"_onDateSelected(day)\"\n (keydown)=\"_onDateKeydown($event)\"\n class=\"day\"\n [class.current-month]=\"day.isCurrentMonth\"\n [class.weekend]=\"day.isWeekend\"\n [class.today]=\"day.isToday\"\n [class.selectable]=\"day.isSelectable\"\n [class.selected]=\"day.isSelected\"\n [class.focussed]=\"day.isFocussed\"\n [class.past]=\"day.isPast\"\n [attr.aria-label]=\"day.ariaLabel\"\n [attr.aria-disabled]=\"day.isSelectable ? null : true\"\n [noDecoration]=\"true\"\n [disabled]=\"day.isFocusable ? null : true\"\n [tabIndex]=\"day.isFocussed ? 0 : -1\"\n >\n {{ day.date }}\n </button>\n </td>\n </tr>\n </tbody>\n</table>\n", styles: [":host{font-size:16px}table{width:100%;border-collapse:collapse;-webkit-user-select:none;user-select:none;margin-bottom:8px}th,td{text-align:center;padding:0}th:first-child,td:first-child{padding-left:8px}th:last-child,td:last-child{padding-right:8px}th{height:50px;border-bottom:1px solid var(--kirby-background-color)}.header,th,td{background-color:transparent}.header{display:flex;justify-content:space-between;margin:8px 8px 0}.month-navigator{display:flex;flex-grow:1;align-items:center;justify-content:space-between}.month-and-year{-webkit-user-select:none;user-select:none;font-weight:700}.month-and-year .month{margin-right:8px}:host(.has-year-navigator) .month-navigator{flex-grow:0}:host(.has-year-navigator) .month-and-year{width:80px;margin:0 8px;text-align:center}:host(.has-year-navigator) .month{margin-right:0}.day{display:inline-flex;align-items:center;justify-content:center;border-radius:20px;min-width:40px;min-height:40px;width:40px;height:40px;margin:4px 0;font-size:16px}.day:focus{z-index:1}button[aria-disabled=true]{color:#b4b4b4}.day.selectable:not(.current-month,.selected){color:var(--kirby-text-color-semi-dark)}.day.today{color:var(--kirby-medium-contrast);background-color:var(--kirby-medium)}.day.selected{color:var(--kirby-black-contrast);background-color:var(--kirby-black)}.visually-hidden{position:absolute;scale:0}\n"] }]
|
|
467
|
-
}], ctorParameters: () => [{ type: undefined, decorators: [{
|
|
468
|
-
type: Inject,
|
|
469
|
-
args: [LOCALE_ID]
|
|
470
|
-
}] }, { type: i0.ElementRef }, { type: i0.ChangeDetectorRef }, { type: i1.TranslationService }], propDecorators: { dateChange: [{
|
|
471
|
-
type: Output
|
|
472
|
-
}], dateSelect: [{
|
|
473
|
-
type: Output
|
|
474
|
-
}], yearSelect: [{
|
|
475
|
-
type: Output
|
|
476
|
-
}], previousMonthClicked: [{
|
|
477
|
-
type: Output
|
|
478
|
-
}], nextMonthClicked: [{
|
|
479
|
-
type: Output
|
|
480
|
-
}], timezone: [{
|
|
481
|
-
type: Input
|
|
482
|
-
}], disableWeekends: [{
|
|
483
|
-
type: Input
|
|
484
|
-
}], disablePastDates: [{
|
|
485
|
-
type: Input
|
|
486
|
-
}], disableFutureDates: [{
|
|
487
|
-
type: Input
|
|
488
|
-
}], alwaysEnableToday: [{
|
|
489
|
-
type: Input
|
|
490
|
-
}], locales: [{
|
|
491
|
-
type: Input
|
|
492
|
-
}], customLocales: [{
|
|
493
|
-
type: Input
|
|
494
|
-
}], usePopover: [{
|
|
495
|
-
type: Input
|
|
496
|
-
}], yearNavigatorOptions: [{
|
|
497
|
-
type: Input
|
|
498
|
-
}], selectedDate: [{
|
|
499
|
-
type: Input
|
|
500
|
-
}], disabledDates: [{
|
|
501
|
-
type: Input
|
|
502
|
-
}], enabledDates: [{
|
|
503
|
-
type: Input
|
|
504
|
-
}], todayDate: [{
|
|
505
|
-
type: Input
|
|
506
|
-
}], minDate: [{
|
|
507
|
-
type: Input
|
|
508
|
-
}], maxDate: [{
|
|
509
|
-
type: Input
|
|
510
|
-
}], _hasYearNavigator: [{
|
|
511
|
-
type: HostBinding,
|
|
512
|
-
args: ['class.has-year-navigator']
|
|
513
|
-
}] } });
|
|
514
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2FsZW5kYXIuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vY2FsZW5kYXIvc3JjL2NhbGVuZGFyLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uL2NhbGVuZGFyL3NyYy9jYWxlbmRhci5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUNMLHVCQUF1QixFQUN2QixpQkFBaUIsRUFDakIsU0FBUyxFQUNULFVBQVUsRUFDVixZQUFZLEVBQ1osV0FBVyxFQUNYLE1BQU0sRUFDTixLQUFLLEVBQ0wsU0FBUyxFQUdULE1BQU0sR0FFUCxNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQ0wsR0FBRyxFQUNILGlCQUFpQixFQUNqQixTQUFTLEVBQ1QsTUFBTSxFQUNOLE9BQU8sRUFDUCxPQUFPLEVBQ1AsUUFBUSxFQUNSLFNBQVMsRUFDVCxXQUFXLEVBQ1gsU0FBUyxFQUNULGFBQWEsRUFFYixVQUFVLEVBQ1YsWUFBWSxFQUNaLFdBQVcsR0FDWixNQUFNLFVBQVUsQ0FBQztBQUNsQixPQUFPLEVBQUUsYUFBYSxFQUFFLFdBQVcsRUFBRSxNQUFNLGFBQWEsQ0FBQztBQUN6RCxPQUFPLEVBQUUsRUFBRSxFQUFFLElBQUksRUFBRSxJQUFJLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUVqRCxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUMxRCxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sa0NBQWtDLENBQUM7QUFDbkUsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLG9DQUFvQyxDQUFDO0FBQ3BFLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLG1DQUFtQyxDQUFDO0FBQ3RFLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQztBQUU1RCxPQUFPLEVBQUUsa0JBQWtCLEVB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QUFXO3VCQUFDLDBCQUEwQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQge1xuICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gIENvbXBvbmVudCxcbiAgRWxlbWVudFJlZixcbiAgRXZlbnRFbWl0dGVyLFxuICBIb3N0QmluZGluZyxcbiAgSW5qZWN0LFxuICBJbnB1dCxcbiAgTE9DQUxFX0lELFxuICBPbkNoYW5nZXMsXG4gIE9uSW5pdCxcbiAgT3V0cHV0LFxuICBTaW1wbGVDaGFuZ2VzLFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7XG4gIGFkZCxcbiAgZWFjaERheU9mSW50ZXJ2YWwsXG4gIGVuZE9mV2VlayxcbiAgZm9ybWF0LFxuICBnZXRZZWFyLFxuICBpc0FmdGVyLFxuICBpc0JlZm9yZSxcbiAgaXNTYW1lRGF5LFxuICBpc1NhbWVNb250aCxcbiAgaXNXZWVrZW5kLFxuICBsYXN0RGF5T2ZXZWVrLFxuICBMb2NhbGUgYXMgTG9jYWxlRGF0ZUZucyxcbiAgc3RhcnRPZkRheSxcbiAgc3RhcnRPZk1vbnRoLFxuICBzdGFydE9mV2Vlayxcbn0gZnJvbSAnZGF0ZS1mbnMnO1xuaW1wb3J0IHsgZnJvbVpvbmVkVGltZSwgdG9ab25lZFRpbWUgfSBmcm9tICdkYXRlLWZucy10eic7XG5pbXBvcnQgeyBkYSwgZW5HQiwgZW5VUyB9IGZyb20gJ2RhdGUtZm5zL2xvY2FsZSc7XG5cbmltcG9ydCB7IGNhcGl0YWxpemVGaXJzdExldHRlciB9IGZyb20gJ0BraXJieWRlc2lnbi9jb3JlJztcbmltcG9ydCB7IEJ1dHRvbkNvbXBvbmVudCB9IGZyb20gJ0BraXJieWRlc2lnbi9kZXNpZ25zeXN0ZW0vYnV0dG9uJztcbmltcG9ydCB7IERyb3Bkb3duTW9kdWxlIH0gZnJvbSAnQGtpcmJ5ZGVzaWduL2Rlc2lnbnN5c3RlbS9kcm9wZG93bic7XG5pbXBvcnQgeyBVbmlxdWVJZEdlbmVyYXRvciB9IGZyb20gJ0BraXJieWRlc2lnbi9kZXNpZ25zeXN0ZW0vaGVscGVycyc7XG5pbXBvcnQgeyBJY29uTW9kdWxlIH0gZnJvbSAnQGtpcmJ5ZGVzaWduL2Rlc2lnbnN5c3RlbS9pY29uJztcblxuaW1wb3J0IHsgVHJhbnNsYXRpb25TZXJ2aWNlIH0gZnJvbSAnQGtpcmJ5ZGVzaWduL2Rlc2lnbnN5c3RlbS9zaGFyZWQnO1xuaW1wb3J0IHsgQ2FsZW5kYXJEYXksIENhbGVuZGFyRGF5TWV0YWRhdGEgfSBmcm9tICcuL2ludGVyZmFjZXMvY2FsZW5kYXItZGF5JztcbmltcG9ydCB7IENhbGVuZGFyWWVhck5hdmlnYXRvckNvbmZpZyB9IGZyb20gJy4vaW50ZXJmYWNlcy9jYWxlbmRhci15ZWFyLW5hdmlnYXRvci1jb25maWcnO1xuXG5leHBvcnQgdHlwZSBMb2NhbGUgPSBMb2NhbGVEYXRlRm5zO1xuXG5pbnRlcmZhY2UgV2Vla0RheSB7XG4gIGZpcnN0TGV0dGVyQ2FwaXRhbGl6ZWQ6IHN0cmluZztcbiAgZnVsbE5hbWU6IHN0cmluZztcbn1cblxuZW51bSBUaW1lVW5pdCB7XG4gIHllYXJzID0gJ3llYXJzJyxcbiAgbW9udGhzID0gJ21vbnRocycsXG4gIHdlZWtzID0gJ3dlZWtzJyxcbiAgZGF5cyA9ICdkYXlzJyxcbiAgaG91cnMgPSAnaG91cnMnLFxuICBtaW51dGVzID0gJ21pbnV0ZXMnLFxuICBzZWNvbmRzID0gJ3NlY29uZHMnLFxuICBtaWxsaXNlY29uZHMgPSAnbWlsbGlzZWNvbmRzJyxcbn1cblxuQENvbXBvbmVudCh7XG4gIHN0YW5kYWxvbmU6IHRydWUsXG4gIGltcG9ydHM6IFtEcm9wZG93bk1vZHVsZSwgQnV0dG9uQ29tcG9uZW50LCBJY29uTW9kdWxlLCBDb21tb25Nb2R1bGVdLFxuICBzZWxlY3RvcjogJ2tpcmJ5LWNhbGVuZGFyJyxcbiAgdGVtcGxhdGVVcmw6ICcuL2NhbGVuZGFyLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vY2FsZW5kYXIuY29tcG9uZW50LnNjc3MnXSxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG59KVxuZXhwb3J0IGNsYXNzIENhbGVuZGFyQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0LCBPbkNoYW5nZXMge1xuICBAT3V0cHV0KCkgZGF0ZUNoYW5nZSA9IG5ldyBFdmVudEVtaXR0ZXI8RGF0ZT4oKTtcbiAgQE91dHB1dCgpIGRhdGVTZWxlY3QgPSBuZXcgRXZlbnRFbWl0dGVyPERhdGU+KCk7XG4gIEBPdXRwdXQoKSB5ZWFyU2VsZWN0ID0gbmV3IEV2ZW50RW1pdHRlcjxudW1iZXI+KCk7XG4gIEBPdXRwdXQoKSBwcmV2aW91c01vbnRoQ2xpY2tlZCA9IG5ldyBFdmVudEVtaXR0ZXI8RGF0ZT4oKTtcbiAgQE91dHB1dCgpIG5leHRNb250aENsaWNrZWQgPSBuZXcgRXZlbnRFbWl0dGVyPERhdGU+KCk7XG4gIEBJbnB1dCgpIHRpbWV6b25lOiAnbG9jYWwnIHwgJ1VUQycgPSAnbG9jYWwnO1xuICBASW5wdXQoKSBkaXNhYmxlV2Vla2VuZHMgPSBmYWxzZTtcbiAgQElucHV0KCkgZGlzYWJsZVBhc3REYXRlcyA9IGZhbHNlO1xuICBASW5wdXQoKSBkaXNhYmxlRnV0dXJlRGF0ZXMgPSBmYWxzZTtcbiAgQElucHV0KCkgYWx3YXlzRW5hYmxlVG9kYXkgPSBmYWxzZTtcblxuICBASW5wdXQoKSBzZXQgbG9jYWxlcyhsb2NhbGVzOiB7IFtrZXk6IHN0cmluZ106IExvY2FsZSB9KSB7XG4gICAgY29uc29sZS53YXJuKFxuICAgICAgYFN1cHBseWluZyBhZGRpdGlvbmFsIGxvY2FsZXMgdG8gdGhlIEtpcmJ5IENhbGVuZGFyIENvbXBvbmVudCB2aWEgYW4gaW5wdXQgcHJvcGVydHkgaXMgZGVwcmVjYXRlZCBhbmQgc2hvdWxkIG5vdCBiZSB1c2VkLiBcbiAgICAgICAgQSBmdXR1cmUgdXBkYXRlIHdpbGwgYWxsb3cgaW5qZWN0aW5nIGFkZGl0aW9uYWwgbG9jYWxlcyB2aWEgYSBwcm92aWRlciBpbnN0ZWFkLmBcbiAgICApO1xuICB9XG4gIEBJbnB1dCgpIGN1c3RvbUxvY2FsZXM6IHsgW2tleTogc3RyaW5nXTogTG9jYWxlIH0gPSB7fTtcbiAgLyogXG4gICAgRXhwZXJpbWVudGFsOiBJbnB1dCBwcm9wZXJ0eSBub3QgZG9jdW1lbnRlZCBvbiBwdXJwb3NlLiBcbiAgICBGb3IgY29udGV4dCBzZWU6IGh0dHBzOi8vZ2l0aHViLmNvbS9raXJieWRlc2lnbi9kZXNpZ25zeXN0ZW0vaXNzdWVzLzIwODdcbiAgKi9cbiAgQElucHV0KCkgdXNlUG9wb3ZlciA9IGZhbHNlO1xuICAvKipcbiAgICogQ29uZmlndXJhdGlvbiBmb3IgdGhlIHllYXIgbmF2aWdhdG9yLlxuICAgKlxuICAgKiBJbnRlcm5hbGx5LCBjYWxlbmRhciBjb21wb25lbnQ6XG4gICAqIC0gYmFzZXMgeWVhck5hdmlnYXRvck9wdGlvbnMuZnJvbSBhbmQgeWVhck5hdmlnYXRvck9wdGlvbnMudG8gb24gdG9kYXlEYXRlIGlmIGEgbnVtYmVyIGlzIHByb3ZpZGVkXG4gICAqIC0gcHJpb3JpdGl6ZXMgbWluRGF0ZSBhbmQgbWF4RGF0ZSBvdmVyIHllYXJOYXZpZ2F0b3JPcHRpb25zLmZyb20gYW5kIHllYXJOYXZpZ2F0b3JPcHRpb25zLnRvXG4gICAqL1xuICBASW5wdXQoKSB5ZWFyTmF2aWdhdG9yT3B0aW9uczogQ2FsZW5kYXJZZWFyTmF2aWdhdG9yQ29uZmlnO1xuXG4gIF90YWJsZU1vbnRoSWQgPSBVbmlxdWVJZEdlbmVyYXRvci5zY29wZWRUbygna2lyYnktY2FsZW5kYXItbW9udGgnKS5uZXh0KCk7XG4gIF9tb250aDogQ2FsZW5kYXJEYXlbXVtdO1xuICBfd2Vla0RheXM6IFdlZWtEYXlbXTtcbiAgcHJpdmF0ZSBzZWxlY3RlZERheTogQ2FsZW5kYXJEYXk7XG4gIHByaXZhdGUgZm9jdXNzZWREYXk6IENhbGVuZGFyRGF5O1xuICAvLyBOT1RFOiBJbnRlcm5hbGx5LCBhbGwgRGF0ZXNcbiAgLy8gYXJlIG5vcm1hbGl6ZWQgdG8gcG9pbnQgdG8gbG9jYWwgdGltZXpvbmUgbWlkbmlnaHQsIHJlZ2FyZGxlc3Mgb2YgdGhlIHRpbWV6b25lXG4gIC8vIHNldHRpbmcuXG4gIHByaXZhdGUgYWN0aXZlTW9udGg6IERhdGU7XG4gIHByaXZhdGUgX3NlbGVjdGVkRGF0ZTogRGF0ZTtcbiAgcHJpdmF0ZSBfZGlzYWJsZWREYXRlczogRGF0ZVtdID0gW107XG4gIHByaXZhdGUgX2VuYWJsZWREYXRlczogRGF0ZVtdID0gW107XG4gIHByaXZhdGUgX3RvZGF5RGF0ZTogRGF0ZTtcbiAgcHJpdmF0ZSBfbWluRGF0ZTogRGF0ZTtcbiAgcHJpdmF0ZSBfbWF4RGF0ZTogRGF0ZTtcbiAgcHJpdmF0ZSBmb2N1c3NlZERhdGU6IERhdGU7XG4gIHByaXZhdGUgbG9jYWxlOiBMb2NhbGU7XG4gIHByaXZhdGUgdGltZVpvbmVOYW1lOiBzdHJpbmc7XG4gIHByaXZhdGUgaW5jbHVkZWRMb2NhbGVzID0geyBkYSwgZW5HQiwgZW5VUyB9O1xuXG4gIGdldCBzZWxlY3RlZERhdGUoKTogRGF0ZSB7XG4gICAgcmV0dXJuIHRoaXMuX3NlbGVjdGVkRGF0ZTtcbiAgfVxuXG4gIEBJbnB1dCgpIHNldCBzZWxlY3RlZERhdGUodmFsdWVMb2NhbE9yVVRDOiBEYXRlIHwgbnVsbCkge1xuICAgIGNvbnN0IHZhbHVlID0gdGhpcy5ub3JtYWxpemVEYXRlKHZhbHVlTG9jYWxPclVUQyk7XG5cbiAgICBpZiAodmFsdWVMb2NhbE9yVVRDKSB7XG4gICAgICB0aGlzLnNldEFjdGl2ZU1vbnRoKHZhbHVlKTtcbiAgICB9XG5cbiAgICBpZiAodGhpcy5oYXNEYXRlQ2hhbmdlZCh2YWx1ZSwgdGhpcy5fc2VsZWN0ZWREYXRlKSkge1xuICAgICAgdGhpcy5vblNlbGVjdGVkRGF0ZUNoYW5nZSh2YWx1ZSk7XG4gICAgICB0aGlzLmZvY3VzRGF0ZSh2YWx1ZSk7XG4gICAgICB0aGlzLl9zZWxlY3RlZERhdGUgPSB2YWx1ZTtcbiAgICB9XG4gIH1cblxuICBnZXQgZGlzYWJsZWREYXRlcygpOiBEYXRlW10ge1xuICAgIHJldHVybiB0aGlzLl9kaXNhYmxlZERhdGVzO1xuICB9XG5cbiAgQElucHV0KCkgc2V0IGRpc2FibGVkRGF0ZXModmFsdWU6IERhdGVbXSkge1xuICAgIHRoaXMuX2Rpc2FibGVkRGF0ZXMgPSAodmFsdWUgfHwgW10pLm1hcCgoZGF0ZSkgPT4gdGhpcy5ub3JtYWxpemVEYXRlKGRhdGUpKTtcbiAgfVxuXG4gIGdldCBlbmFibGVkRGF0ZXMoKTogRGF0ZVtdIHtcbiAgICByZXR1cm4gdGhpcy5fZW5hYmxlZERhdGVzO1xuICB9XG5cbiAgQElucHV0KCkgc2V0IGVuYWJsZWREYXRlcyh2YWx1ZTogRGF0ZVtdKSB7XG4gICAgdGhpcy5fZW5hYmxlZERhdGVzID0gKHZhbHVlIHx8IFtdKS5tYXAoKGRhdGUpID0+IHRoaXMubm9ybWFsaXplRGF0ZShkYXRlKSk7XG4gIH1cblxuICBnZXQgdG9kYXlEYXRlKCk6IERhdGUge1xuICAgIHJldHVybiB0aGlzLl90b2RheURhdGU7XG4gIH1cblxuICBASW5wdXQoKSBzZXQgdG9kYXlEYXRlKHZhbHVlOiBEYXRlKSB7XG4gICAgdGhpcy5fdG9kYXlEYXRlID0gdGhpcy5ub3JtYWxpemVEYXRlKHZhbHVlKTtcbiAgfVxuXG4gIGdldCBtaW5EYXRlKCk6IERhdGUge1xuICAgIHJldHVybiB0aGlzLl9taW5EYXRlO1xuICB9XG5cbiAgQElucHV0KCkgc2V0IG1pbkRhdGUodmFsdWU6IERhdGUpIHtcbiAgICBpZiAodmFsdWUgJiYgdGhpcy5hY3RpdmVNb250aCAmJiBpc0JlZm9yZSh0aGlzLmFjdGl2ZU1vbnRoLCB2YWx1ZSkpIHtcbiAgICAgIHRoaXMuc2V0QWN0aXZlTW9udGgodmFsdWUpO1xuICAgIH1cbiAgICB0aGlzLl9taW5EYXRlID0gdGhpcy5ub3JtYWxpemVEYXRlKHZhbHVlKTtcbiAgfVxuXG4gIGdldCBtYXhEYXRlKCk6IERhdGUge1xuICAgIHJldHVybiB0aGlzLl9tYXhEYXRlO1xuICB9XG5cbiAgQElucHV0KCkgc2V0IG1heERhdGUodmFsdWU6IERhdGUpIHtcbiAgICBpZiAodmFsdWUgJiYgdGhpcy5hY3RpdmVNb250aCAmJiBpc0FmdGVyKHRoaXMuYWN0aXZlTW9udGgsIHZhbHVlKSkge1xuICAgICAgdGhpcy5zZXRBY3RpdmVNb250aCh2YWx1ZSk7XG4gICAgfVxuICAgIHRoaXMuX21heERhdGUgPSB0aGlzLm5vcm1hbGl6ZURhdGUodmFsdWUpO1xuICB9XG5cbiAgZ2V0IGFjdGl2ZU1vbnRoTmFtZSgpOiBzdHJpbmcge1xuICAgIHJldHVybiBjYXBpdGFsaXplRmlyc3RMZXR0ZXIodGhpcy5mb3JtYXRXaXRoTG9jYWxlKHRoaXMuYWN0aXZlTW9udGgsICdNTU1NJykpO1xuICB9XG5cbiAgZ2V0IGFjdGl2ZVllYXIoKTogc3RyaW5nIHtcbiAgICByZXR1cm4gdGhpcy5mb3JtYXRXaXRoTG9jYWxlKHRoaXMuYWN0aXZlTW9udGgsICd5eXl5Jyk7XG4gIH1cblxuICAvKipcbiAgICogR2V0cyBuYXZpZ2FibGUgeWVhcnMgZm9yIHllYXIgbmF2aWdhdG9yIGJhc2VkIG9uIHllYXJOYXZpZ2F0b3JPcHRpb25zLlxuICAgKi9cbiAgZ2V0IG5hdmlnYWJsZVllYXJzKCk6IHN0cmluZ1tdIHtcbiAgICBjb25zdCBkYXRlT2ZGaXJzdE5hdmlnYWJsZVllYXIgPVxuICAgICAgdGhpcy5taW5EYXRlIHx8IHRoaXMuZ2V0RGF0ZUZyb21OYXZpZ2FibGVZZWFyKHRoaXMueWVhck5hdmlnYXRvck9wdGlvbnMuZnJvbSk7XG5cbiAgICBjb25zdCBkYXRlT2ZMYXN0TmF2aWdhYmxlWWVhciA9XG4gICAgICB0aGlzLm1heERhdGUgfHwgdGhpcy5nZXREYXRlRnJvbU5hdmlnYWJsZVllYXIodGhpcy55ZWFyTmF2aWdhdG9yT3B0aW9ucy50byk7XG5cbiAgICByZXR1cm4gdGhpcy5nZXRZZWFyc0JldHdlZW5EYXRlcyhkYXRlT2ZGaXJzdE5hdmlnYWJsZVllYXIsIGRhdGVPZkxhc3ROYXZpZ2FibGVZZWFyKTtcbiAgfVxuXG4gIGdldCBuYXZpZ2F0ZWRZZWFyKCk6IG51bWJlciB7XG4gICAgcmV0dXJuIHRoaXMubmF2aWdhYmxlWWVhcnMuaW5kZXhPZih0aGlzLmFjdGl2ZVllYXIpO1xuICB9XG5cbiAgQEhvc3RCaW5kaW5nKCdjbGFzcy5oYXMteWVhci1uYXZpZ2F0b3InKVxuICBnZXQgX2hhc1llYXJOYXZpZ2F0b3IoKSB7XG4gICAgcmV0dXJuICEhdGhpcy55ZWFyTmF2aWdhdG9yT3B0aW9ucztcbiAgfVxuXG4gIHByaXZhdGUgZ2V0VG9kYXlEYXRlKCkge1xuICAgIHJldHVybiBzdGFydE9mRGF5KHRoaXMudG9kYXlEYXRlID8/IG5ldyBEYXRlKCkpO1xuICB9XG5cbiAgY29uc3RydWN0b3IoXG4gICAgQEluamVjdChMT0NBTEVfSUQpIGxvY2FsZTogc3RyaW5nLFxuICAgIHByaXZhdGUgZWxlbWVudFJlZjogRWxlbWVudFJlZixcbiAgICBwcml2YXRlIGNkcjogQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gICAgcHVibGljIHRyYW5zbGF0aW9uczogVHJhbnNsYXRpb25TZXJ2aWNlXG4gICkge1xuICAgIHRoaXMubG9jYWxlID0gdGhpcy5tYXBMb2NhbGUobG9jYWxlKTtcbiAgICB0aGlzLnRpbWVab25lTmFtZSA9IEludGwuRGF0ZVRpbWVGb3JtYXQoKS5yZXNvbHZlZE9wdGlvbnMoKS50aW1lWm9uZTtcbiAgfVxuXG4gIHByaXZhdGUgZm9ybWF0V2l0aExvY2FsZShkYXRlOiBEYXRlLCBmb3JtYXRTdHJpbmc6IHN0cmluZyk6IHN0cmluZyB7XG4gICAgcmV0dXJuIGZvcm1hdChkYXRlLCBmb3JtYXRTdHJpbmcsIHtcbiAgICAgIGxvY2FsZTogdGhpcy5sb2NhbGUsXG4gICAgfSk7XG4gIH1cblxuICBwcml2YXRlIG1hcExvY2FsZShsb2NhbGU6IHN0cmluZyk6IExvY2FsZSB7XG4gICAgaWYgKGxvY2FsZSA9PT0gJ2VuJykge1xuICAgICAgbG9jYWxlID0gJ2VuR0InOyAvLyBpZiBlbmdsaXNoIGxvY2FsZSBpcyBwcm92aWRlZCB3aXRob3V0IHJlZ2lvbiwgd2UgZGVmYXVsdCB0byBHQlxuICAgIH1cbiAgICBsb2NhbGUgPSBsb2NhbGUucmVwbGFjZSgnLScsICcnKTtcbiAgICBjb25zdCBhdmFpbGFibGVMb2NhbGVzID0geyAuLi50aGlzLmluY2x1ZGVkTG9jYWxlcywgLi4udGhpcy5sb2NhbGVzLCAuLi50aGlzLmN1c3RvbUxvY2FsZXMgfTtcbiAgICByZXR1cm4gYXZhaWxhYmxlTG9jYWxlc1tsb2NhbGVdIHx8IHRoaXMuaW5jbHVkZWRMb2NhbGVzLmVuR0I7IC8vIERlZmF1bHQgdG8gZW5HQiBpZiBpbmplY3RlZCBsb2NhbGUgZG9lc250IGV4aXN0XG4gIH1cblxuICBwcml2YXRlIGZvcm1hdERhdGVMYWJlbCgpOiBzdHJpbmcge1xuICAgIGNvbnN0IGxvY2FsZURhdGVGb3JtYXRzID0ge1xuICAgICAgZGE6ICdkLiBNTU1NJyxcbiAgICAgICdlbi1HQic6ICdkIE1NTU0nLFxuICAgICAgJ2VuLVVTJzogJ01NTU0gZCcsXG4gICAgfTtcblxuICAgIGNvbnN0IGRlZmF1bHREYXRlRm9ybWF0ID0gbG9jYWxlRGF0ZUZvcm1hdHNbJ2VuLVVTJ107XG4gICAgY29uc3QgZGF0ZUZvcm1hdCA9IGxvY2FsZURhdGVGb3JtYXRzW3RoaXMubG9jYWxlLmNvZGVdIHx8IGRlZmF1bHREYXRlRm9ybWF0O1xuICAgIHJldHVybiBkYXRlRm9ybWF0O1xuICB9XG5cbiAgbmdPbkluaXQoKSB7XG4gICAgdGhpcy5mb2N1c3NlZERhdGUgPSB0aGlzLmdldFRvZGF5RGF0ZSgpO1xuICAgIHRoaXMuX3dlZWtEYXlzID0gdGhpcy5nZXRXZWVrRGF5cygpO1xuICAgIHRoaXMuc2V0QWN0aXZlTW9udGgodGhpcy5zZWxlY3RlZERhdGUpO1xuICB9XG5cbiAgbmdPbkNoYW5nZXMoY2hhbmdlczogU2ltcGxlQ2hhbmdlcyk6IHZvaWQge1xuICAgIGlmICghdGhpcy5hY3RpdmVNb250aCkgcmV0dXJuO1xuICAgIGlmIChcbiAgICAgIGNoYW5nZXMuZGlzYWJsZVdlZWtlbmRzIHx8XG4gICAgICBjaGFuZ2VzLmRpc2FibGVQYXN0RGF0ZXMgfHxcbiAgICAgIGNoYW5nZXMuZGlzYWJsZUZ1dHVyZURhdGVzIHx8XG4gICAgICBjaGFuZ2VzLmRpc2FibGVkRGF0ZXMgfHxcbiAgICAgIGNoYW5nZXMuZW5hYmxlZERhdGVzIHx8XG4gICAgICBjaGFuZ2VzLm1pbkRhdGUgfHxcbiAgICAgIGNoYW5nZXMubWF4RGF0ZSB8fFxuICAgICAgY2hhbmdlcy50b2RheURhdGUgfHxcbiAgICAgIGNoYW5nZXMudGltZXpvbmVcbiAgICApIHtcbiAgICAgIHRoaXMucmVmcmVzaEFjdGl2ZU1vbnRoKCk7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBzZXRBY3RpdmVNb250aChkYXRlOiBEYXRlID0gbmV3IERhdGUoKSkge1xuICAgIGlmICghdGhpcy5hY3RpdmVNb250aCB8fCAhaXNTYW1lTW9udGgodGhpcy5hY3RpdmVNb250aCwgZGF0ZSkpIHtcbiAgICAgIHRoaXMuYWN0aXZlTW9udGggPSBzdGFydE9mTW9udGgoZGF0ZSk7XG4gICAgICB0aGlzLnJlZnJlc2hBY3RpdmVNb250aCgpO1xuICAgIH1cbiAgfVxuXG4gIC8vIEZvciBsZW5pZW5jeSwgdGhlIGNvbXBvbmVudCB3aWxsIGFjY2VwdCBhbnkgRGF0ZSB0aGF0IHBvaW50cyB0byBlaXRoZXIgVVRDIG1pZG5pZ2h0XG4gIC8vIG9yIHRvIGxvY2FsIHRpbWV6b25lIG1pZG5pZ2h0IGFsdGhvdWdoIHdlIHdpbGwgaW50ZXJuYWxseSBub3JtYWxpemUgdGhlIHJlcHJlc2VudGF0aW9uXG4gIC8vIG9mIGFsbCByZWNlaXZlZCBkYXRlcyB0byBwb2ludCB0byBsb2NhbCB0aW1lem9uZSBtaWRuaWdodC5cbiAgLy8gV2UgY3VycmVudGx5IGxvZyBubyB3YXJuaW5ncyBpZiB0aGUgZGF0ZSBkb2Vzbid0IG1hdGNoIHRoZSB0aW1lem9uZSBzZXR0aW5nIG9yXG4gIC8vIGlmIGl0IGRvZXNuJ3QgcG9pbnQgdG8gbWlkbmlnaHQuXG4gIHByaXZhdGUgbm9ybWFsaXplRGF0ZShkYXRlTG9jYWxPclVUQzogRGF0ZSkge1xuICAgIGlmICghZGF0ZUxvY2FsT3JVVEMpIHJldHVybjtcblxuICAgIGlmIChzdGFydE9mRGF5KGRhdGVMb2NhbE9yVVRDKS5nZXRUaW1lKCkgPT09IGRhdGVMb2NhbE9yVVRDLmdldFRpbWUoKSkge1xuICAgICAgLy8gZGF0ZSBpcyBsb2NhbCB0aW1lem9uZSBtaWRuaWdodFxuICAgICAgcmV0dXJuIGRhdGVMb2NhbE9yVVRDO1xuICAgIH1cbiAgICBpZiAoXG4gICAgICBzdGFydE9mRGF5KHRvWm9uZWRUaW1lKGRhdGVMb2NhbE9yVVRDLCB0aGlzLnRpbWVab25lTmFtZSkpLmdldFRpbWUoKSA9PT1cbiAgICAgIHRvWm9uZWRUaW1lKGRhdGVMb2NhbE9yVVRDLCB0aGlzLnRpbWVab25lTmFtZSkuZ2V0VGltZSgpXG4gICAgKSB7XG4gICAgICAvLyB0aGUgZGF0ZSBpcyBhIFVUQyBtaWRuaWdodDsgY3JlYXRlIHRoZSBlcXVpdmFsZW50IGxvY2FsIHRpbWV6b25lIG1pZG5pZ2h0IGRhdGVcbiAgICAgIGNvbnN0IG5vcm1hbGl6ZWRVVENkYXRlID0gdG9ab25lZFRpbWUoZGF0ZUxvY2FsT3JVVEMsIHRoaXMudGltZVpvbmVOYW1lKTtcbiAgICAgIHJldHVybiBub3JtYWxpemVkVVRDZGF0ZTtcbiAgICB9XG4gICAgLy8gZG9lcyBub3QgcG9pbnQgdG8gbWlkbmlnaHQgc28gd2UgbWFrZSBpdFxuICAgIHJldHVybiBzdGFydE9mRGF5KGRhdGVMb2NhbE9yVVRDKTtcbiAgfVxuXG4gIHByaXZhdGUgZ2V0V2Vla0RheXMoKTogV2Vla0RheVtdIHtcbiAgICBjb25zdCBub3cgPSBuZXcgRGF0ZSgpO1xuICAgIGNvbnN0IHdlZWsgPSBlYWNoRGF5T2ZJbnRlcnZhbCh7XG4gICAgICBzdGFydDogc3RhcnRPZldlZWsobm93LCB7IGxvY2FsZTogdGhpcy5sb2NhbGUgfSksXG4gICAgICBlbmQ6IGVuZE9mV2Vlayhub3csIHsgbG9jYWxlOiB0aGlzLmxvY2FsZSB9KSxcbiAgICB9KTtcblxuICAgIGNvbnN0IHdlZWtkYXlOYXJyb3dGb3JtYXQgPSAnRUVFRUUnO1xuICAgIGNvbnN0IHdlZWtkYXlXaWRlRm9ybWF0ID0gJ0VFRUUnO1xuXG4gICAgcmV0dXJuIHdlZWsubWFwKChkYXRlKSA9PiAoe1xuICAgICAgZmlyc3RMZXR0ZXJDYXBpdGFsaXplZDogdGhpcy5mb3JtYXRXaXRoTG9jYWxlKGRhdGUsIHdlZWtkYXlOYXJyb3dGb3JtYXQpLFxuICAgICAgZnVsbE5hbWU6IHRoaXMuZm9ybWF0V2l0aExvY2FsZShkYXRlLCB3ZWVrZGF5V2lkZUZvcm1hdCksXG4gICAgfSkpO1xuICB9XG5cbiAgcHJpdmF0ZSBoYXNEYXRlQ2hhbmdlZChuZXdEYXRlOiBEYXRlLCBwcmV2aW91c0RhdGU6IERhdGUpOiBib29sZWFuIHtcbiAgICBpZiAoIW5ld0RhdGUgJiYgIXByZXZpb3VzRGF0ZSkge1xuICAgICAgcmV0dXJuIGZhbHNlO1xuICAgIH1cbiAgICBpZiAobmV3RGF0ZSBpbnN0YW5jZW9mIERhdGUgJiYgIXByZXZpb3VzRGF0ZSkge1xuICAgICAgcmV0dXJuIHRydWU7XG4gICAgfVxuICAgIHJldHVybiAhaXNTYW1lRGF5KG5ld0RhdGUsIHByZXZpb3VzRGF0ZSk7XG4gIH1cblxuICBwcml2YXRlIGlzRGlzYWJsZWREYXRlKGRhdGU6IERhdGUpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5kaXNhYmxlZERhdGVzLnNvbWUoKGRpc2FibGVkRGF0ZSkgPT4gaXNTYW1lRGF5KGRpc2FibGVkRGF0ZSwgZGF0ZSkpO1xuICB9XG5cbiAgcHJpdmF0ZSBpc0VuYWJsZWREYXRlKGRhdGU6IERhdGUpOiBib29sZWFuIHtcbiAgICByZXR1cm4gKFxuICAgICAgdGhpcy5fZW5hYmxlZERhdGVzLmxlbmd0aCA9PT0gMCB8fFxuICAgICAgdGhpcy5lbmFibGVkRGF0ZXMuc29tZSgoZW5hYmxlZERhdGUpID0+IGlzU2FtZURheShlbmFibGVkRGF0ZSwgZGF0ZSkpXG4gICAgKTtcbiAgfVxuXG4gIHJlZnJlc2hBY3RpdmVNb250aCgpIHtcbiAgICBpZiAoIXRoaXMuYWN0aXZlTW9udGgpIHJldHVybjtcblxuICAgIGNvbnN0IG1vbnRoU3RhcnQgPSBzdGFydE9mTW9udGgodGhpcy5hY3RpdmVNb250aCk7XG4gICAgY29uc3Qgc3RhcnRPZkZpcnN0V2VlayA9IHN0YXJ0T2ZXZWVrKG1vbnRoU3RhcnQsIHsgbG9jYWxlOiB0aGlzLmxvY2FsZSB9KTtcblxuICAgIGNvbnN0IHRvdGFsTnVtYmVyT2ZEYXlzID0gNDI7IC8vIEFsd2F5cyBzaG93IDQyIGRheXMgKDYgd2Vla3MpIGluIGNhbGVuZGFyXG4gICAgY29uc3QgZGF5c0FycmF5ID0gQXJyYXkuZnJvbShBcnJheSh0b3RhbE51bWJlck9mRGF5cykua2V5cygpKTtcbiAgICBjb25zdCB0b2RheSA9IHRoaXMuZ2V0VG9kYXlEYXRlKCk7XG5cbiAgICBjb25zdCBjYWxlbmRhckRheXM6IENhbGVuZGFyRGF5W10gPSBkYXlzQXJyYXkubWFwKChudW1iZXIpID0+IHtcbiAgICAgIGNvbnN0IGRhdGVPZkNhbGVuZGFyRGF5ID0gYWRkKHN0YXJ0T2ZGaXJzdFdlZWssIHsgW1RpbWVVbml0LmRheXNdOiBudW1iZXIgfSk7XG5cbiAgICAgIGNvbnN0IGNhbGVuZGFyRGF5OiBDYWxlbmRhckRheSA9IHtcbiAgICAgICAgZGF0ZTogZGF0ZU9mQ2FsZW5kYXJEYXkuZ2V0RGF0ZSgpLFxuICAgICAgICBtb250aEluZGV4OiBkYXRlT2ZDYWxlbmRhckRheS5nZXRNb250aCgpLFxuICAgICAgICB5ZWFyOiBkYXRlT2ZDYWxlbmRhckRheS5nZXRGdWxsWWVhcigpLFxuICAgICAgICBhcmlhTGFiZWw6IHRoaXMuZm9ybWF0V2l0aExvY2FsZShkYXRlT2ZDYWxlbmRhckRheSwgdGhpcy5mb3JtYXREYXRlTGFiZWwoKSksXG4gICAgICAgIC4uLnRoaXMuZ2V0Q2FsZW5kYXJEYXlNZXRhZGF0YShkYXRlT2ZDYWxlbmRhckRheSwgdG9kYXksIG1vbnRoU3RhcnQpLFxuICAgICAgfTtcbiAgICAgIGlmIChjYWxlbmRhckRheS5pc1NlbGVjdGVkKSB7XG4gICAgICAgIHRoaXMuc2VsZWN0ZWREYXkgPSBjYWxlbmRhckRheTtcbiAgICAgIH1cbiAgICAgIGlmIChjYWxlbmRhckRheS5pc0ZvY3Vzc2VkKSB7XG4gICAgICAgIHRoaXMuZm9jdXNzZWREYXkgPSBjYWxlbmRhckRheTtcbiAgICAgIH1cbiAgICAgIHJldHVybiBjYWxlbmRhckRheTtcbiAgICB9KTtcbiAgICB0aGlzLl9tb250aCA9IHRoaXMuY2h1bmsoY2FsZW5kYXJEYXlzLCA3KTtcbiAgfVxuXG4gIHByaXZhdGUgZ2V0Q2FsZW5kYXJEYXlNZXRhZGF0YShkYXRlOiBEYXRlLCB0b2RheTogRGF0ZSwgbW9udGhTdGFydDogRGF0ZSk6IENhbGVuZGFyRGF5TWV0YWRhdGEge1xuICAgIHJldHVybiB7XG4gICAgICBpc1RvZGF5OiBpc1NhbWVEYXkodG9kYXksIGRhdGUpLFxuICAgICAgaXNQYXN0OiBpc0JlZm9yZShkYXRlLCB0b2RheSksXG4gICAgICBpc0Z1dHVyZTogaXNBZnRlcihkYXRlLCB0b2RheSksXG4gICAgICBpc1dlZWtlbmQ6IGlzV2Vla2VuZChkYXRlKSxcbiAgICAgIGlzQ3VycmVudE1vbnRoOiBpc1NhbWVNb250aChkYXRlLCBtb250aFN0YXJ0KSxcbiAgICAgIGlzU2VsZWN0YWJsZTogdGhpcy5pc1NlbGVjdGFibGUoZGF0ZSwgdG9kYXkpLFxuICAgICAgaXNGb2N1c2FibGU6IHRoaXMuaXNXaXRoaW5BbGxvd2VkUmFuZ2UoZGF0ZSwgdG9kYXkpLFxuICAgICAgaXNTZWxlY3RlZDogaXNTYW1lRGF5KHRoaXMuc2VsZWN0ZWREYXRlLCBkYXRlKSxcbiAgICAgIGlzRm9jdXNzZWQ6IGlzU2FtZURheSh0aGlzLmZvY3Vzc2VkRGF0ZSwgZGF0ZSksXG4gICAgfTtcbiAgfVxuXG4gIHByaXZhdGUgaXNTZWxlY3RhYmxlKGRhdGU6IERhdGUsIHRvZGF5OiBEYXRlKTogYm9vbGVhbiB7XG4gICAgaWYgKHRoaXMuYWx3YXlzRW5hYmxlVG9kYXkgJiYgaXNTYW1lRGF5KHRvZGF5LCBkYXRlKSkgcmV0dXJuIHRydWU7XG5cbiAgICBpZiAoIXRoaXMuaXNXaXRoaW5BbGxvd2VkUmFuZ2UoZGF0ZSwgdG9kYXkpKSByZXR1cm4gZmFsc2U7XG4gICAgaWYgKHRoaXMuaXNEaXNhYmxlZERhdGUoZGF0ZSkpIHJldHVybiBmYWxzZTtcbiAgICBpZiAoIXRoaXMuaXNFbmFibGVkRGF0ZShkYXRlKSkgcmV0dXJuIGZhbHNlO1xuICAgIGlmICh0aGlzLmRpc2FibGVXZWVrZW5kcyAmJiBpc1dlZWtlbmQoZGF0ZSkpIHJldHVybiBmYWxzZTtcblxuICAgIHJldHVybiB0cnVlO1xuICB9XG5cbiAgcHJpdmF0ZSBpc1dpdGhpbkFsbG93ZWRSYW5nZShkYXRlOiBEYXRlLCB0b2RheTogRGF0ZSk6IGJvb2xlYW4ge1xuICAgIGlmICh0aGlzLmRpc2FibGVQYXN0RGF0ZXMgJiYgaXNCZWZvcmUoZGF0ZSwgdG9kYXkpKSByZXR1cm4gZmFsc2U7XG4gICAgaWYgKHRoaXMuZGlzYWJsZUZ1dHVyZURhdGVzICYmIGlzQWZ0ZXIoZGF0ZSwgdG9kYXkpKSByZXR1cm4gZmFsc2U7XG4gICAgaWYgKHRoaXMubWluRGF0ZSAmJiBpc0JlZm9yZShkYXRlLCB0aGlzLm1pbkRhdGUpKSByZXR1cm4gZmFsc2U7XG4gICAgaWYgKHRoaXMubWF4RGF0ZSAmJiBpc0FmdGVyKGRhdGUsIHRoaXMubWF4RGF0ZSkpIHJldHVybiBmYWxzZTtcblxuICAgIHJldHVybiB0cnVlO1xuICB9XG5cbiAgcHJpdmF0ZSBjaHVuayhhcnJheTogYW55W10sIHNpemU6IG51bWJlcikge1xuICAgIGNvbnN0IHJlc3VsdHMgPSBbXTtcbiAgICB3aGlsZSAoYXJyYXkubGVuZ3RoKSB7XG4gICAgICByZXN1bHRzLnB1c2goYXJyYXkuc3BsaWNlKDAsIHNpemUpKTtcbiAgICB9XG4gICAgcmV0dXJuIHJlc3VsdHM7XG4gIH1cblxuICBwcml2YXRlIG9uU2VsZWN0ZWREYXRlQ2hhbmdlKG5ld0RhdGU6IERhdGUpOiB2b2lkIHtcbiAgICBpZiAodGhpcy5zZWxlY3RlZERheSkge1xuICAgICAgdGhpcy5zZWxlY3RlZERheS5pc1NlbGVjdGVkID0gZmFsc2U7XG4gICAgfVxuXG4gICAgY29uc3QgbmV3RGF5ID0gdGhpcy5nZXREYXkobmV3RGF0ZSk7XG4gICAgaWYgKG5ld0RheSkge1xuICAgICAgbmV3RGF5LmlzU2VsZWN0ZWQgPSB0cnVlO1xuICAgICAgdGhpcy5zZWxlY3RlZERheSA9IG5ld0RheTtcbiAgICB9XG4gIH1cblxuICBfb25EYXRlU2VsZWN0ZWQobmV3RGF5OiBDYWxlbmRhckRheSkge1xuICAgIGlmICghbmV3RGF5LmlzU2VsZWN0YWJsZSkgcmV0dXJuO1xuXG4gICAgbGV0IG5ld0RhdGUgPSBuZXcgRGF0ZShuZXdEYXkueWVhciwgbmV3RGF5Lm1vbnRoSW5kZXgsIG5ld0RheS5kYXRlKTtcblxuICAgIGlmICh0aGlzLnRpbWV6b25lID09PSAnVVRDJykge1xuICAgICAgbmV3RGF0ZSA9IGZyb21ab25lZFRpbWUodGhpcy5zdWJ0cmFjdFRpbWV6b25lT2Zmc2V0KG5ld0RhdGUpLCB0aGlzLnRpbWVab25lTmFtZSk7XG4gICAgfVxuXG4gICAgY29uc3QgZGF0ZVRvRW1pdCA9IG5ld0RhdGU7XG5cbiAgICBpZiAodGhpcy5oYXNEYXRlQ2hhbmdlZChuZXdEYXRlLCB0aGlzLl9zZWxlY3RlZERhdGUpKSB7XG4gICAgICB0aGlzLnNldEFjdGl2ZU1vbnRoKG5ld0RhdGUpO1xuICAgICAgdGhpcy5vblNlbGVjdGVkRGF0ZUNoYW5nZShuZXdEYXRlKTtcbiAgICAgIHRoaXMuc2VsZWN0ZWREYXRlID0gbmV3RGF0ZTtcbiAgICAgIHRoaXMuZGF0ZUNoYW5nZS5lbWl0KGRhdGVUb0VtaXQpO1xuICAgIH1cbiAgICB0aGlzLmRhdGVTZWxlY3QuZW1pdChkYXRlVG9FbWl0KTtcbiAgfVxuXG4gIF9jaGFuZ2VNb250aChpbmRleDogbnVtYmVyKSB7XG4gICAgaWYgKGluZGV4ID4gMCAmJiAhdGhpcy5fY2FuTmF2aWdhdGVGb3J3YXJkKSByZXR1cm47XG4gICAgaWYgKGluZGV4IDwgMCAmJiAhdGhpcy5fY2FuTmF2aWdhdGVCYWNrKSByZXR1cm47XG5cbiAgICB0aGlzLmNoYW5nZUFjdGl2ZVZpZXcoaW5kZXgsIFRpbWVVbml0Lm1vbnRocyk7XG4gICAgaW5kZXggPiAwXG4gICAgICA/IHRoaXMubmV4dE1vbnRoQ2xpY2tlZC5lbWl0KHRoaXMuYWN0aXZlTW9udGgpXG4gICAgICA6IHRoaXMucHJldmlvdXNNb250aENsaWNrZWQuZW1pdCh0aGlzLmFjdGl2ZU1vbnRoKTtcbiAgfVxuXG4gIF9jaGFuZ2VZZWFyKHllYXI6IHN0cmluZykge1xuICAgIGNvbnN0IHllYXJOdW1lcmljID0gTnVtYmVyKHllYXIpO1xuICAgIHRoaXMuY2hhbmdlQWN0aXZlVmlldyh5ZWFyTnVtZXJpYyAtIGdldFllYXIodGhpcy5hY3RpdmVNb250aCksIFRpbWVVbml0LnllYXJzKTtcbiAgICB0aGlzLnllYXJTZWxlY3QuZW1pdCh5ZWFyTnVtZXJpYyk7XG4gIH1cblxuICBwcml2YXRlIGNoYW5nZUFjdGl2ZVZpZXcoaW5kZXg6IG51bWJlciwgdW5pdDogVGltZVVuaXQpIHtcbiAgICBpZiAoaW5kZXggPT09IDApIHJldHVybjtcbiAgICB0aGlzLmFjdGl2ZU1vbnRoID0gYWRkKHRoaXMuYWN0aXZlTW9udGgsIHsgW3VuaXRdOiBpbmRleCB9KTtcbiAgICB0aGlzLmZvY3Vzc2VkRGF0ZSA9IGFkZCh0aGlzLmZvY3Vzc2VkRGF0ZSwgeyBbdW5pdF06IGluZGV4IH0pO1xuXG4gICAgdGhpcy5yZWZyZXNoQWN0aXZlTW9udGgoKTtcbiAgfVxuXG4gIGdldCBfY2FuTmF2aWdhdGVCYWNrKCk6IGJvb2xlYW4ge1xuICAgIGNvbnN0IHRvZGF5ID0gdGhpcy5nZXRUb2RheURhdGUoKTtcbiAgICBjb25zdCByZWFjaGVkUGFzdERhdGVzTGltaXQgPSB0aGlzLmRpc2FibGVQYXN0RGF0ZXMgJiYgaXNTYW1lTW9udGgodGhpcy5hY3RpdmVNb250aCwgdG9kYXkpO1xuXG4gICAgY29uc3QgcmVhY2hlZE9yRXhjZWVkZWRNaW5EYXRlID1cbiAgICAgIHRoaXMubWluRGF0ZSAmJlxuICAgICAgKGlzU2FtZU1vbnRoKHRoaXMuYWN0aXZlTW9udGgsIHRoaXMubWluRGF0ZSkgfHwgaXNCZWZvcmUodGhpcy5hY3RpdmVNb250aCwgdGhpcy5taW5EYXRlKSk7XG5cbiAgICByZXR1cm4gIXJlYWNoZWRQYXN0RGF0ZXNMaW1pdCAmJiAhcmVhY2hlZE9yRXhjZWVkZWRNaW5EYXRlO1xuICB9XG5cbiAgZ2V0IF9jYW5OYXZpZ2F0ZUZvcndhcmQoKTogYm9vbGVhbiB7XG4gICAgY29uc3QgdG9kYXkgPSB0aGlzLmdldFRvZGF5RGF0ZSgpO1xuICAgIGNvbnN0IHJlYWNoZWRGdXR1cmVEYXRlc0xpbWl0ID0gdGhpcy5kaXNhYmxlRnV0dXJlRGF0ZXMgJiYgaXNTYW1lTW9udGgodGhpcy5hY3RpdmVNb250aCwgdG9kYXkpO1xuXG4gICAgY29uc3QgcmVhY2hlZE9yRXhjZWVkZWRNYXhEYXRlID1cbiAgICAgIHRoaXMubWF4RGF0ZSAmJlxuICAgICAgKGlzU2FtZU1vbnRoKHRoaXMuYWN0aXZlTW9udGgsIHRoaXMubWF4RGF0ZSkgfHwgaXNBZnRlcih0aGlzLmFjdGl2ZU1vbnRoLCB0aGlzLm1heERhdGUpKTtcblxuICAgIHJldHVybiAhcmVhY2hlZEZ1dHVyZURhdGVzTGltaXQgJiYgIXJlYWNoZWRPckV4Y2VlZGVkTWF4RGF0ZTtcbiAgfVxuXG4gIHByaXZhdGUgZ2V0RGF5KGRhdGU6IERhdGUpIHtcbiAgICBsZXQgZm91bmREYXk6IENhbGVuZGFyRGF5ID0gbnVsbDtcbiAgICBpZiAoZGF0ZSkge1xuICAgICAgZm9yIChjb25zdCB3ZWVrIG9mIHRoaXMuX21vbnRoKSB7XG4gICAgICAgIGZvdW5kRGF5ID0gd2Vlay5maW5kKChkYXkpID0+IHtcbiAgICAgICAgICByZXR1cm4gZGF5LmlzQ3VycmVudE1vbnRoICYmIGRheS5kYXRlID09PSBkYXRlLmdldERhdGUoKTtcbiAgICAgICAgfSk7XG4gICAgICAgIGlmIChmb3VuZERheSkge1xuICAgICAgICAgIGJyZWFrO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICAgIHJldHVybiBmb3VuZERheTtcbiAgfVxuXG4gIHByaXZhdGUgc3VidHJhY3RUaW1lem9uZU9mZnNldChkYXRlOiBEYXRlKTogRGF0ZSB7XG4gICAgY29uc3QgdGltZXpvbmVPZmZzZXRJbk1zID0gZGF0ZS5nZXRUaW1lem9uZU9mZnNldCgpICogNjAgKiAxMDAwO1xuICAgIHJldHVybiBuZXcgRGF0ZShkYXRlLmdldFRpbWUoKSAtIHRpbWV6b25lT2Zmc2V0SW5Ncyk7XG4gIH1cblxuICBwcml2YXRlIGdldERhdGVGcm9tTmF2aWdhYmxlWWVhcihuYXZpZ2FibGVZZWFyOiBudW1iZXIgfCBEYXRlKTogRGF0ZSB7XG4gICAgaWYgKG5hdmlnYWJsZVllYXIgaW5zdGFuY2VvZiBEYXRlKSByZXR1cm4gbmF2aWdhYmxlWWVhcjtcbiAgICBjb25zdCB0b2RheSA9IHRoaXMudG9kYXlEYXRlIHx8IG5ldyBEYXRlKCk7XG4gICAgcmV0dXJuIG5ldyBEYXRlKHRvZGF5LmdldEZ1bGxZZWFyKCkgKyBuYXZpZ2FibGVZZWFyLCAwLCAxKTtcbiAgfVxuXG4gIHByaXZhdGUgZ2V0WWVhcnNCZXR3ZWVuRGF0ZXMoc3RhcnREYXRlOiBEYXRlLCBlbmREYXRlOiBEYXRlKTogc3RyaW5nW10ge1xuICAgIC8vIEVuc3VyZSB5ZWFycyBhcmUgb3JkZXJlZCBjb3JyZWN0bHkgaWYgcGFyYW1ldGVycyBhcmUgc3dpdGNoZWQ6XG4gICAgY29uc3QgW3N0YXJ0WWVhciwgZW5kWWVhcl0gPSBbc3RhcnREYXRlLmdldEZ1bGxZZWFyKCksIGVuZERhdGUuZ2V0RnVsbFllYXIoKV0uc29ydCgpO1xuICAgIGNvbnN0IG51bWJlck9mWWVhcnMgPSBlbmRZZWFyIC0gc3RhcnRZZWFyO1xuICAgIHJldHVybiBBcnJheS5mcm9tKHsgbGVuZ3RoOiBudW1iZXJPZlllYXJzICsgMSB9LCAoXywgaSkgPT4gKHN0YXJ0WWVhciArIGkpLnRvU3RyaW5nKCkpO1xuICB9XG5cbiAgcHJpdmF0ZSBzZXRGb2N1c3NlZERheShuZXdEYXRlOiBEYXRlKSB7XG4gICAgY29uc3QgbmV3RGF5ID0gdGhpcy5nZXREYXkobmV3RGF0ZSk7XG4gICAgaWYgKCFuZXdEYXkpIHJldHVybjtcblxuICAgIGlmICh0aGlzLmZvY3Vzc2VkRGF5KSB7XG4gICAgICB0aGlzLmZvY3Vzc2VkRGF5LmlzRm9jdXNzZWQgPSBmYWxzZTtcbiAgICB9XG4gICAgbmV3RGF5LmlzRm9jdXNzZWQgPSB0cnVlO1xuICAgIHRoaXMuZm9jdXNzZWREYXkgPSBuZXdEYXk7XG4gIH1cblxuICBwcml2YXRlIGZvY3VzRGF0ZShuZXdEYXRlOiBEYXRlIHwgbnVsbCkge1xuICAgIGlmICghbmV3RGF0ZSkgcmV0dXJuO1xuXG4gICAgaWYgKHRoaXMudGltZXpvbmUgPT09ICdVVEMnKSB7XG4gICAgICBuZXdEYXRlID0gZnJvbVpvbmVkVGltZSh0aGlzLnN1YnRyYWN0VGltZXpvbmVPZmZzZXQobmV3RGF0ZSksIHRoaXMudGltZVpvbmVOYW1lKTtcbiAgICB9XG5cbiAgICBjb25zdCB0b2RheSA9IHRoaXMuZ2V0VG9kYXlEYXRlKCk7XG4gICAgaWYgKCF0aGlzLmlzV2l0aGluQWxsb3dlZFJhbmdlKG5ld0RhdGUsIHRvZGF5KSkgcmV0dXJuO1xuXG4gICAgaWYgKCF0aGlzLmhhc0RhdGVDaGFuZ2VkKG5ld0RhdGUsIHRoaXMuZm9jdXNzZWREYXRlKSkgcmV0dXJuO1xuXG4gICAgdGhpcy5zZXRBY3RpdmVNb250aChuZXdEYXRlKTtcbiAgICB0aGlzLnNldEZvY3Vzc2VkRGF5KG5ld0RhdGUpO1xuICAgIHRoaXMuZm9jdXNzZWREYXRlID0gbmV3RGF0ZTtcblxuICAgIHRoaXMuY2RyLmRldGVjdENoYW5nZXMoKTsgLy9zeW5jIGZvY3Vzc2VkIGNsYXNzIHRvIHRlbXBsYXRlIGJlZm9yZSBzZXR0aW5nIGZvY3VzXG4gICAgY29uc3QgZWxlbWVudE1hcmtlZEZvckZvY3VzID0gdGhpcy5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQucXVlcnlTZWxlY3RvcignLmZvY3Vzc2VkJyk7XG4gICAgZWxlbWVudE1hcmtlZEZvckZvY3VzLmZvY3VzKCk7XG4gIH1cblxuICBfb25EYXRlS2V5ZG93bihldmVudDogS2V5Ym9hcmRFdmVudCkge1xuICAgIGNvbnN0IHsga2V5LCBzaGlmdEtleSB9ID0gZXZlbnQ7XG4gICAgbGV0IG5ld0RhdGU7XG5cbiAgICBzd2l0Y2ggKGtleSkge1xuICAgICAgY2FzZSAnQXJyb3dVcCc6XG4gICAgICAgIG5ld0RhdGUgPSBhZGQodGhpcy5mb2N1c3NlZERhdGUsIHsgZGF5czogLTcgfSk7XG4gICAgICAgIGJyZWFrO1xuICAgICAgY2FzZSAnQXJyb3dEb3duJzpcbiAgICAgICAgbmV3RGF0ZSA9IGFkZCh0aGlzLmZvY3Vzc2VkRGF0ZSwgeyBkYXlzOiA3IH0pO1xuICAgICAgICBicmVhaztcbiAgICAgIGNhc2UgJ0Fycm93UmlnaHQnOlxuICAgICAgICBuZXdEYXRlID0gYWRkKHRoaXMuZm9jdXNzZWREYXRlLCB7IGRheXM6IDEgfSk7XG4gICAgICAgIGJyZWFrO1xuICAgICAgY2FzZSAnQXJyb3dMZWZ0JzpcbiAgICAgICAgbmV3RGF0ZSA9IGFkZCh0aGlzLmZvY3Vzc2VkRGF0ZSwgeyBkYXlzOiAtMSB9KTtcbiAgICAgICAgYnJlYWs7XG4gICAgICBjYXNlICdIb21lJzpcbiAgICAgICAgbmV3RGF0ZSA9IHN0YXJ0T2ZXZWVrKHRoaXMuZm9jdXNzZWREYXRlLCB7IGxvY2FsZTogdGhpcy5sb2NhbGUgfSk7XG4gICAgICAgIGJyZWFrO1xuICAgICAgY2FzZSAnRW5kJzpcbiAgICAgICAgbmV3RGF0ZSA9IGxhc3REYXlPZldlZWsodGhpcy5mb2N1c3NlZERhdGUsIHsgbG9jYWxlOiB0aGlzLmxvY2FsZSB9KTtcbiAgICAgICAgYnJlYWs7XG4gICAgICBjYXNlICdQYWdlVXAnOlxuICAgICAgICBuZXdEYXRlID0gc2hpZnRLZXlcbiAgICAgICAgICA/IGFkZCh0aGlzLmZvY3Vzc2VkRGF0ZSwgeyB5ZWFyczogLTEgfSlcbiAgICAgICAgICA6IGFkZCh0aGlzLmZvY3Vzc2VkRGF0ZSwgeyBtb250aHM6IC0xIH0pO1xuICAgICAgICBicmVhaztcbiAgICAgIGNhc2UgJ1BhZ2VEb3duJzpcbiAgICAgICAgbmV3RGF0ZSA9IHNoaWZ0S2V5XG4gICAgICAgICAgPyBhZGQodGhpcy5mb2N1c3NlZERhdGUsIHsgeWVhcnM6IDEgfSlcbiAgICAgICAgICA6IGFkZCh0aGlzLmZvY3Vzc2VkRGF0ZSwgeyBtb250aHM6IDEgfSk7XG4gICAgICAgIGJyZWFrO1xuICAgICAgZGVmYXVsdDpcbiAgICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG4gICAgdGhpcy5mb2N1c0RhdGUobmV3RGF0ZSk7XG4gIH1cbn1cbiIsIjxkaXYgY2xhc3M9XCJoZWFkZXJcIj5cbiAgPGRpdiBjbGFzcz1cIm1vbnRoLW5hdmlnYXRvclwiPlxuICAgIDxidXR0b25cbiAgICAgIGtpcmJ5LWJ1dHRvblxuICAgICAgdHlwZT1cImJ1dHRvblwiXG4gICAgICBjbGFzcz1cIm5vLW1hcmdpblwiXG4gICAgICBbYXR0ci5hcmlhLWxhYmVsXT1cInRyYW5zbGF0aW9ucy5nZXQoJ3ByZXZpb3VzTW9udGgnKVwiXG4gICAgICBbYXR0ci5hcmlhLWRpc2FibGVkXT1cIl9jYW5OYXZpZ2F0ZUJhY2sgPyBudWxsIDogdHJ1ZVwiXG4gICAgICBbbm9EZWNvcmF0aW9uXT1cInRydWVcIlxuICAgICAgKGNsaWNrKT1cIl9jaGFuZ2VNb250aCgtMSlcIlxuICAgID5cbiAgICAgIDxraXJieS1pY29uIG5hbWU9XCJhcnJvdy1iYWNrXCIgYXJpYS1oaWRkZW49XCJ0cnVlXCI+PC9raXJieS1pY29uPlxuICAgIDwvYnV0dG9uPlxuXG4gICAgPGRpdiBjbGFzcz1cIm1vbnRoLWFuZC15ZWFyXCIgW2lkXT1cIl90YWJsZU1vbnRoSWRcIiBhcmlhLWxpdmU9XCJwb2xpdGVcIiBhcmlhLWF0b21pYz1cInRydWVcIj5cbiAgICAgIDxzcGFuIGNsYXNzPVwibW9udGhcIj57eyBhY3RpdmVNb250aE5hbWUgfX08L3NwYW4+XG4gICAgICA8c3BhbiAqbmdJZj1cIiFfaGFzWWVhck5hdmlnYXRvclwiIGNsYXNzPVwieWVhclwiPnt7IGFjdGl2ZVllYXIgfX08L3NwYW4+XG4gICAgPC9kaXY+XG5cbiAgICA8YnV0dG9uXG4gICAgICBraXJieS1idXR0b25cbiAgICAgIHR5cGU9XCJidXR0b25cIlxuICAgICAgY2xhc3M9XCJuby1tYXJnaW5cIlxuICAgICAgW2F0dHIuYXJpYS1sYWJlbF09XCJ0cmFuc2xhdGlvbnMuZ2V0KCduZXh0TW9udGgnKVwiXG4gICAgICBbYXR0ci5hcmlhLWRpc2FibGVkXT1cIl9jYW5OYXZpZ2F0ZUZvcndhcmQgPyBudWxsIDogdHJ1ZVwiXG4gICAgICBbbm9EZWNvcmF0aW9uXT1cInRydWVcIlxuICAgICAgKGNsaWNrKT1cIl9jaGFuZ2VNb250aCgxKVwiXG4gICAgPlxuICAgICAgPGtpcmJ5LWljb24gbmFtZT1cImFycm93LW1vcmVcIiBhcmlhLWhpZGRlbj1cInRydWVcIj48L2tpcmJ5LWljb24+XG4gICAgPC9idXR0b24+XG4gIDwvZGl2PlxuICA8a2lyYnktZHJvcGRvd25cbiAgICAqbmdJZj1cIl9oYXNZZWFyTmF2aWdhdG9yXCJcbiAgICBbdXNlUG9wb3Zlcl09XCJ1c2VQb3BvdmVyXCJcbiAgICBbc2VsZWN0ZWRJbmRleF09XCJuYXZpZ2F0ZWRZZWFyXCJcbiAgICBbaXRlbXNdPVwibmF2aWdhYmxlWWVhcnNcIlxuICAgIFthdHRyLmFyaWEtbGFiZWxdPVwidHJhbnNsYXRpb25zLmdldCgnc2VsZWN0WWVhcicpXCJcbiAgICBwb3BvdXQ9XCJsZWZ0XCJcbiAgICAoY2hhbmdlKT1cIl9jaGFuZ2VZZWFyKCRldmVudClcIlxuICA+PC9raXJieS1kcm9wZG93bj5cbjwvZGl2PlxuXG48dGFibGUgW2F0dHIuYXJpYS1sYWJlbGxlZGJ5XT1cIl90YWJsZU1vbnRoSWRcIiByb2xlPVwiZ3JpZFwiPlxuICA8dGhlYWQ+XG4gICAgPHRyPlxuICAgICAgPHRoICpuZ0Zvcj1cImxldCB3ZWVrRGF5IG9mIF93ZWVrRGF5c1wiIHNjb3BlPVwiY29sXCI+XG4gICAgICAgIDxzcGFuIGFyaWEtaGlkZGVuPVwidHJ1ZVwiPnt7IHdlZWtEYXkuZmlyc3RMZXR0ZXJDYXBpdGFsaXplZCB9fTwvc3Bhbj5cbiAgICAgICAgPHNwYW4gY2xhc3M9XCJ2aXN1YWxseS1oaWRkZW5cIj57eyB3ZWVrRGF5LmZ1bGxOYW1lIH19PC9zcGFuPlxuICAgICAgPC90aD5cbiAgICA8L3RyPlxuICA8L3RoZWFkPlxuXG4gIDx0Ym9keT5cbiAgICA8dHIgKm5nRm9yPVwibGV0IHdlZWsgb2YgX21vbnRoXCI+XG4gICAgICA8dGQgKm5nRm9yPVwibGV0IGRheSBvZiB3ZWVrXCIgW2F0dHIuYXJpYS1zZWxlY3RlZF09XCJkYXkuaXNTZWxlY3RlZCA/IHRydWUgOiBmYWxzZVwiPlxuICAgICAgICA8YnV0dG9uXG4gICAgICAgICAga2lyYnktYnV0dG9uXG4gICAgICAgICAgdHlwZT1cImJ1dHRvblwiXG4gICAgICAgICAgKGNsaWNrKT1cIl9vbkRhdGVTZWxlY3RlZChkYXkpXCJcbiAgICAgICAgICAoa2V5ZG93bik9XCJfb25EYXRlS2V5ZG93bigkZXZlbnQpXCJcbiAgICAgICAgICBjbGFzcz1cImRheVwiXG4gICAgICAgICAgW2NsYXNzLmN1cnJlbnQtbW9udGhdPVwiZGF5LmlzQ3VycmVudE1vbnRoXCJcbiAgICAgICAgICBbY2xhc3Mud2Vla2VuZF09XCJkYXkuaXNXZWVrZW5kXCJcbiAgICAgICAgICBbY2xhc3MudG9kYXldPVwiZGF5LmlzVG9kYXlcIlxuICAgICAgICAgIFtjbGFzcy5zZWxlY3RhYmxlXT1cImRheS5pc1NlbGVjdGFibGVcIlxuICAgICAgICAgIFtjbGFzcy5zZWxlY3RlZF09XCJkYXkuaXNTZWxlY3RlZFwiXG4gICAgICAgICAgW2NsYXNzLmZvY3Vzc2VkXT1cImRheS5pc0ZvY3Vzc2VkXCJcbiAgICAgICAgICBbY2xhc3MucGFzdF09XCJkYXkuaXNQYXN0XCJcbiAgICAgICAgICBbYXR0ci5hcmlhLWxhYmVsXT1cImRheS5hcmlhTGFiZWxcIlxuICAgICAgICAgIFthdHRyLmFyaWEtZGlzYWJsZWRdPVwiZGF5LmlzU2VsZWN0YWJsZSA/IG51bGwgOiB0cnVlXCJcbiAgICAgICAgICBbbm9EZWNvcmF0aW9uXT1cInRydWVcIlxuICAgICAgICAgIFtkaXNhYmxlZF09XCJkYXkuaXNGb2N1c2FibGUgPyBudWxsIDogdHJ1ZVwiXG4gICAgICAgICAgW3RhYkluZGV4XT1cImRheS5pc0ZvY3Vzc2VkID8gMCA6IC0xXCJcbiAgICAgICAgPlxuICAgICAgICAgIHt7IGRheS5kYXRlIH19XG4gICAgICAgIDwvYnV0dG9uPlxuICAgICAgPC90ZD5cbiAgICA8L3RyPlxuICA8L3Rib2R5PlxuPC90YWJsZT5cbiJdfQ==
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
export {};
|
|
2
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2FsZW5kYXItZGF5LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vY2FsZW5kYXIvc3JjL2ludGVyZmFjZXMvY2FsZW5kYXItZGF5LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgaW50ZXJmYWNlIENhbGVuZGFyRGF5IGV4dGVuZHMgQ2FsZW5kYXJEYXlNZXRhZGF0YSB7XG4gIGRhdGU6IG51bWJlcjtcbiAgbW9udGhJbmRleDogbnVtYmVyO1xuICB5ZWFyOiBudW1iZXI7XG4gIGFyaWFMYWJlbDogc3RyaW5nO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIENhbGVuZGFyRGF5TWV0YWRhdGEge1xuICBpc1RvZGF5OiBib29sZWFuO1xuICBpc1Bhc3Q6IGJvb2xlYW47XG4gIGlzRnV0dXJlOiBib29sZWFuO1xuICBpc1dlZWtlbmQ6IGJvb2xlYW47XG4gIGlzQ3VycmVudE1vbnRoOiBib29sZWFuO1xuICBpc1NlbGVjdGFibGU6IGJvb2xlYW47XG4gIGlzU2VsZWN0ZWQ6IGJvb2xlYW47XG4gIGlzRm9jdXNzZWQ6IGJvb2xlYW47XG4gIGlzRm9jdXNhYmxlOiBib29sZWFuO1xufVxuIl19
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
export {};
|
|
2
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2FsZW5kYXIteWVhci1uYXZpZ2F0b3ItY29uZmlnLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vY2FsZW5kYXIvc3JjL2ludGVyZmFjZXMvY2FsZW5kYXIteWVhci1uYXZpZ2F0b3ItY29uZmlnLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgdHlwZSBDYWxlbmRhclllYXJOYXZpZ2F0b3JDb25maWcgPSB7XG4gIGZyb206IG51bWJlciB8IERhdGU7XG4gIHRvOiBudW1iZXIgfCBEYXRlO1xufTtcbiJdfQ==
|