@kirbydesign/designsystem 10.2.1 → 10.3.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/accordion/accordion-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 +2 -1
- 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 +11 -10
- 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 +19 -19
- 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 +49 -156
- 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/README.md +0 -7
- 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 { utcToZonedTime, zonedTimeToUtc } 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(utcToZonedTime(dateLocalOrUTC, this.timeZoneName)).getTime() ===
|
|
195
|
-
utcToZonedTime(dateLocalOrUTC, this.timeZoneName).getTime()) {
|
|
196
|
-
// the date is a UTC midnight; create the equivalent local timezone midnight date
|
|
197
|
-
const normalizedUTCdate = utcToZonedTime(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 = zonedTimeToUtc(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 = zonedTimeToUtc(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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2FsZW5kYXIuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vY2FsZW5kYXIvc3JjL2NhbGVuZGFyLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uL2NhbGVuZGFyL3NyYy9jYWxlbmRhci5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUNMLHVCQUF1QixFQUN2QixpQkFBaUIsRUFDakIsU0FBUyxFQUNULFVBQVUsRUFDVixZQUFZLEVBQ1osV0FBVyxFQUNYLE1BQU0sRUFDTixLQUFLLEVBQ0wsU0FBUyxFQUdULE1BQU0sR0FFUCxNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQ0wsR0FBRyxFQUNILGlCQUFpQixFQUNqQixTQUFTLEVBQ1QsTUFBTSxFQUNOLE9BQU8sRUFDUCxPQUFPLEVBQ1AsUUFBUSxFQUNSLFNBQVMsRUFDVCxXQUFXLEVBQ1gsU0FBUyxFQUNULGFBQWEsRUFFYixVQUFVLEVBQ1YsWUFBWSxFQUNaLFdBQVcsR0FDWixNQUFNLFVBQVUsQ0FBQztBQUNsQixPQUFPLEVBQUUsY0FBYyxFQUFFLGNBQWMsRUFBRSxNQUFNLGFBQWEsQ0FBQztBQUM3RCxPQUFPLEVBQUUsRUFBRSxFQUFFLElBQUksRUFBRSxJQUFJLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUVqRCxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUMxRCxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sa0NBQWtDLENBQUM7QUFDbkUsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLG9DQUFvQyxDQUFDO0FBQ3BFLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLG1DQUFtQyxDQUFDO0FBQ3RFLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQztBQUU1RCxPQUFPLEVBQUUsa0JBQWtCLEVB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QUFXO3VCQUFDLDBCQUEwQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQge1xuICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gIENvbXBvbmVudCxcbiAgRWxlbWVudFJlZixcbiAgRXZlbnRFbWl0dGVyLFxuICBIb3N0QmluZGluZyxcbiAgSW5qZWN0LFxuICBJbnB1dCxcbiAgTE9DQUxFX0lELFxuICBPbkNoYW5nZXMsXG4gIE9uSW5pdCxcbiAgT3V0cHV0LFxuICBTaW1wbGVDaGFuZ2VzLFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7XG4gIGFkZCxcbiAgZWFjaERheU9mSW50ZXJ2YWwsXG4gIGVuZE9mV2VlayxcbiAgZm9ybWF0LFxuICBnZXRZZWFyLFxuICBpc0FmdGVyLFxuICBpc0JlZm9yZSxcbiAgaXNTYW1lRGF5LFxuICBpc1NhbWVNb250aCxcbiAgaXNXZWVrZW5kLFxuICBsYXN0RGF5T2ZXZWVrLFxuICBMb2NhbGUgYXMgTG9jYWxlRGF0ZUZucyxcbiAgc3RhcnRPZkRheSxcbiAgc3RhcnRPZk1vbnRoLFxuICBzdGFydE9mV2Vlayxcbn0gZnJvbSAnZGF0ZS1mbnMnO1xuaW1wb3J0IHsgdXRjVG9ab25lZFRpbWUsIHpvbmVkVGltZVRvVXRjIH0gZnJvbSAnZGF0ZS1mbnMtdHonO1xuaW1wb3J0IHsgZGEsIGVuR0IsIGVuVVMgfSBmcm9tICdkYXRlLWZucy9sb2NhbGUnO1xuXG5pbXBvcnQgeyBjYXBpdGFsaXplRmlyc3RMZXR0ZXIgfSBmcm9tICdAa2lyYnlkZXNpZ24vY29yZSc7XG5pbXBvcnQgeyBCdXR0b25Db21wb25lbnQgfSBmcm9tICdAa2lyYnlkZXNpZ24vZGVzaWduc3lzdGVtL2J1dHRvbic7XG5pbXBvcnQgeyBEcm9wZG93bk1vZHVsZSB9IGZyb20gJ0BraXJieWRlc2lnbi9kZXNpZ25zeXN0ZW0vZHJvcGRvd24nO1xuaW1wb3J0IHsgVW5pcXVlSWRHZW5lcmF0b3IgfSBmcm9tICdAa2lyYnlkZXNpZ24vZGVzaWduc3lzdGVtL2hlbHBlcnMnO1xuaW1wb3J0IHsgSWNvbk1vZHVsZSB9IGZyb20gJ0BraXJieWRlc2lnbi9kZXNpZ25zeXN0ZW0vaWNvbic7XG5cbmltcG9ydCB7IFRyYW5zbGF0aW9uU2VydmljZSB9IGZyb20gJ0BraXJieWRlc2lnbi9kZXNpZ25zeXN0ZW0vc2hhcmVkJztcbmltcG9ydCB7IENhbGVuZGFyRGF5LCBDYWxlbmRhckRheU1ldGFkYXRhIH0gZnJvbSAnLi9pbnRlcmZhY2VzL2NhbGVuZGFyLWRheSc7XG5pbXBvcnQgeyBDYWxlbmRhclllYXJOYXZpZ2F0b3JDb25maWcgfSBmcm9tICcuL2ludGVyZmFjZXMvY2FsZW5kYXIteWVhci1uYXZpZ2F0b3ItY29uZmlnJztcblxuZXhwb3J0IHR5cGUgTG9jYWxlID0gTG9jYWxlRGF0ZUZucztcblxuaW50ZXJmYWNlIFdlZWtEYXkge1xuICBmaXJzdExldHRlckNhcGl0YWxpemVkOiBzdHJpbmc7XG4gIGZ1bGxOYW1lOiBzdHJpbmc7XG59XG5cbmVudW0gVGltZVVuaXQge1xuICB5ZWFycyA9ICd5ZWFycycsXG4gIG1vbnRocyA9ICdtb250aHMnLFxuICB3ZWVrcyA9ICd3ZWVrcycsXG4gIGRheXMgPSAnZGF5cycsXG4gIGhvdXJzID0gJ2hvdXJzJyxcbiAgbWludXRlcyA9ICdtaW51dGVzJyxcbiAgc2Vjb25kcyA9ICdzZWNvbmRzJyxcbiAgbWlsbGlzZWNvbmRzID0gJ21pbGxpc2Vjb25kcycsXG59XG5cbkBDb21wb25lbnQoe1xuICBzdGFuZGFsb25lOiB0cnVlLFxuICBpbXBvcnRzOiBbRHJvcGRvd25Nb2R1bGUsIEJ1dHRvbkNvbXBvbmVudCwgSWNvbk1vZHVsZSwgQ29tbW9uTW9kdWxlXSxcbiAgc2VsZWN0b3I6ICdraXJieS1jYWxlbmRhcicsXG4gIHRlbXBsYXRlVXJsOiAnLi9jYWxlbmRhci5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL2NhbGVuZGFyLmNvbXBvbmVudC5zY3NzJ10sXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxufSlcbmV4cG9ydCBjbGFzcyBDYWxlbmRhckNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgT25DaGFuZ2VzIHtcbiAgQE91dHB1dCgpIGRhdGVDaGFuZ2UgPSBuZXcgRXZlbnRFbWl0dGVyPERhdGU+KCk7XG4gIEBPdXRwdXQoKSBkYXRlU2VsZWN0ID0gbmV3IEV2ZW50RW1pdHRlcjxEYXRlPigpO1xuICBAT3V0cHV0KCkgeWVhclNlbGVjdCA9IG5ldyBFdmVudEVtaXR0ZXI8bnVtYmVyPigpO1xuICBAT3V0cHV0KCkgcHJldmlvdXNNb250aENsaWNrZWQgPSBuZXcgRXZlbnRFbWl0dGVyPERhdGU+KCk7XG4gIEBPdXRwdXQoKSBuZXh0TW9udGhDbGlja2VkID0gbmV3IEV2ZW50RW1pdHRlcjxEYXRlPigpO1xuICBASW5wdXQoKSB0aW1lem9uZTogJ2xvY2FsJyB8ICdVVEMnID0gJ2xvY2FsJztcbiAgQElucHV0KCkgZGlzYWJsZVdlZWtlbmRzID0gZmFsc2U7XG4gIEBJbnB1dCgpIGRpc2FibGVQYXN0RGF0ZXMgPSBmYWxzZTtcbiAgQElucHV0KCkgZGlzYWJsZUZ1dHVyZURhdGVzID0gZmFsc2U7XG4gIEBJbnB1dCgpIGFsd2F5c0VuYWJsZVRvZGF5ID0gZmFsc2U7XG5cbiAgQElucHV0KCkgc2V0IGxvY2FsZXMobG9jYWxlczogeyBba2V5OiBzdHJpbmddOiBMb2NhbGUgfSkge1xuICAgIGNvbnNvbGUud2FybihcbiAgICAgIGBTdXBwbHlpbmcgYWRkaXRpb25hbCBsb2NhbGVzIHRvIHRoZSBLaXJieSBDYWxlbmRhciBDb21wb25lbnQgdmlhIGFuIGlucHV0IHByb3BlcnR5IGlzIGRlcHJlY2F0ZWQgYW5kIHNob3VsZCBub3QgYmUgdXNlZC4gXG4gICAgICAgIEEgZnV0dXJlIHVwZGF0ZSB3aWxsIGFsbG93IGluamVjdGluZyBhZGRpdGlvbmFsIGxvY2FsZXMgdmlhIGEgcHJvdmlkZXIgaW5zdGVhZC5gXG4gICAgKTtcbiAgfVxuICBASW5wdXQoKSBjdXN0b21Mb2NhbGVzOiB7IFtrZXk6IHN0cmluZ106IExvY2FsZSB9ID0ge307XG4gIC8qIFxuICAgIEV4cGVyaW1lbnRhbDogSW5wdXQgcHJvcGVydHkgbm90IGRvY3VtZW50ZWQgb24gcHVycG9zZS4gXG4gICAgRm9yIGNvbnRleHQgc2VlOiBodHRwczovL2dpdGh1Yi5jb20va2lyYnlkZXNpZ24vZGVzaWduc3lzdGVtL2lzc3Vlcy8yMDg3XG4gICovXG4gIEBJbnB1dCgpIHVzZVBvcG92ZXIgPSBmYWxzZTtcbiAgLyoqXG4gICAqIENvbmZpZ3VyYXRpb24gZm9yIHRoZSB5ZWFyIG5hdmlnYXRvci5cbiAgICpcbiAgICogSW50ZXJuYWxseSwgY2FsZW5kYXIgY29tcG9uZW50OlxuICAgKiAtIGJhc2VzIHllYXJOYXZpZ2F0b3JPcHRpb25zLmZyb20gYW5kIHllYXJOYXZpZ2F0b3JPcHRpb25zLnRvIG9uIHRvZGF5RGF0ZSBpZiBhIG51bWJlciBpcyBwcm92aWRlZFxuICAgKiAtIHByaW9yaXRpemVzIG1pbkRhdGUgYW5kIG1heERhdGUgb3ZlciB5ZWFyTmF2aWdhdG9yT3B0aW9ucy5mcm9tIGFuZCB5ZWFyTmF2aWdhdG9yT3B0aW9ucy50b1xuICAgKi9cbiAgQElucHV0KCkgeWVhck5hdmlnYXRvck9wdGlvbnM6IENhbGVuZGFyWWVhck5hdmlnYXRvckNvbmZpZztcblxuICBfdGFibGVNb250aElkID0gVW5pcXVlSWRHZW5lcmF0b3Iuc2NvcGVkVG8oJ2tpcmJ5LWNhbGVuZGFyLW1vbnRoJykubmV4dCgpO1xuICBfbW9udGg6IENhbGVuZGFyRGF5W11bXTtcbiAgX3dlZWtEYXlzOiBXZWVrRGF5W107XG4gIHByaXZhdGUgc2VsZWN0ZWREYXk6IENhbGVuZGFyRGF5O1xuICBwcml2YXRlIGZvY3Vzc2VkRGF5OiBDYWxlbmRhckRheTtcbiAgLy8gTk9URTogSW50ZXJuYWxseSwgYWxsIERhdGVzXG4gIC8vIGFyZSBub3JtYWxpemVkIHRvIHBvaW50IHRvIGxvY2FsIHRpbWV6b25lIG1pZG5pZ2h0LCByZWdhcmRsZXNzIG9mIHRoZSB0aW1lem9uZVxuICAvLyBzZXR0aW5nLlxuICBwcml2YXRlIGFjdGl2ZU1vbnRoOiBEYXRlO1xuICBwcml2YXRlIF9zZWxlY3RlZERhdGU6IERhdGU7XG4gIHByaXZhdGUgX2Rpc2FibGVkRGF0ZXM6IERhdGVbXSA9IFtdO1xuICBwcml2YXRlIF9lbmFibGVkRGF0ZXM6IERhdGVbXSA9IFtdO1xuICBwcml2YXRlIF90b2RheURhdGU6IERhdGU7XG4gIHByaXZhdGUgX21pbkRhdGU6IERhdGU7XG4gIHByaXZhdGUgX21heERhdGU6IERhdGU7XG4gIHByaXZhdGUgZm9jdXNzZWREYXRlOiBEYXRlO1xuICBwcml2YXRlIGxvY2FsZTogTG9jYWxlO1xuICBwcml2YXRlIHRpbWVab25lTmFtZTogc3RyaW5nO1xuICBwcml2YXRlIGluY2x1ZGVkTG9jYWxlcyA9IHsgZGEsIGVuR0IsIGVuVVMgfTtcblxuICBnZXQgc2VsZWN0ZWREYXRlKCk6IERhdGUge1xuICAgIHJldHVybiB0aGlzLl9zZWxlY3RlZERhdGU7XG4gIH1cblxuICBASW5wdXQoKSBzZXQgc2VsZWN0ZWREYXRlKHZhbHVlTG9jYWxPclVUQzogRGF0ZSB8IG51bGwpIHtcbiAgICBjb25zdCB2YWx1ZSA9IHRoaXMubm9ybWFsaXplRGF0ZSh2YWx1ZUxvY2FsT3JVVEMpO1xuXG4gICAgaWYgKHZhbHVlTG9jYWxPclVUQykge1xuICAgICAgdGhpcy5zZXRBY3RpdmVNb250aCh2YWx1ZSk7XG4gICAgfVxuXG4gICAgaWYgKHRoaXMuaGFzRGF0ZUNoYW5nZWQodmFsdWUsIHRoaXMuX3NlbGVjdGVkRGF0ZSkpIHtcbiAgICAgIHRoaXMub25TZWxlY3RlZERhdGVDaGFuZ2UodmFsdWUpO1xuICAgICAgdGhpcy5mb2N1c0RhdGUodmFsdWUpO1xuICAgICAgdGhpcy5fc2VsZWN0ZWREYXRlID0gdmFsdWU7XG4gICAgfVxuICB9XG5cbiAgZ2V0IGRpc2FibGVkRGF0ZXMoKTogRGF0ZVtdIHtcbiAgICByZXR1cm4gdGhpcy5fZGlzYWJsZWREYXRlcztcbiAgfVxuXG4gIEBJbnB1dCgpIHNldCBkaXNhYmxlZERhdGVzKHZhbHVlOiBEYXRlW10pIHtcbiAgICB0aGlzLl9kaXNhYmxlZERhdGVzID0gKHZhbHVlIHx8IFtdKS5tYXAoKGRhdGUpID0+IHRoaXMubm9ybWFsaXplRGF0ZShkYXRlKSk7XG4gIH1cblxuICBnZXQgZW5hYmxlZERhdGVzKCk6IERhdGVbXSB7XG4gICAgcmV0dXJuIHRoaXMuX2VuYWJsZWREYXRlcztcbiAgfVxuXG4gIEBJbnB1dCgpIHNldCBlbmFibGVkRGF0ZXModmFsdWU6IERhdGVbXSkge1xuICAgIHRoaXMuX2VuYWJsZWREYXRlcyA9ICh2YWx1ZSB8fCBbXSkubWFwKChkYXRlKSA9PiB0aGlzLm5vcm1hbGl6ZURhdGUoZGF0ZSkpO1xuICB9XG5cbiAgZ2V0IHRvZGF5RGF0ZSgpOiBEYXRlIHtcbiAgICByZXR1cm4gdGhpcy5fdG9kYXlEYXRlO1xuICB9XG5cbiAgQElucHV0KCkgc2V0IHRvZGF5RGF0ZSh2YWx1ZTogRGF0ZSkge1xuICAgIHRoaXMuX3RvZGF5RGF0ZSA9IHRoaXMubm9ybWFsaXplRGF0ZSh2YWx1ZSk7XG4gIH1cblxuICBnZXQgbWluRGF0ZSgpOiBEYXRlIHtcbiAgICByZXR1cm4gdGhpcy5fbWluRGF0ZTtcbiAgfVxuXG4gIEBJbnB1dCgpIHNldCBtaW5EYXRlKHZhbHVlOiBEYXRlKSB7XG4gICAgaWYgKHZhbHVlICYmIHRoaXMuYWN0aXZlTW9udGggJiYgaXNCZWZvcmUodGhpcy5hY3RpdmVNb250aCwgdmFsdWUpKSB7XG4gICAgICB0aGlzLnNldEFjdGl2ZU1vbnRoKHZhbHVlKTtcbiAgICB9XG4gICAgdGhpcy5fbWluRGF0ZSA9IHRoaXMubm9ybWFsaXplRGF0ZSh2YWx1ZSk7XG4gIH1cblxuICBnZXQgbWF4RGF0ZSgpOiBEYXRlIHtcbiAgICByZXR1cm4gdGhpcy5fbWF4RGF0ZTtcbiAgfVxuXG4gIEBJbnB1dCgpIHNldCBtYXhEYXRlKHZhbHVlOiBEYXRlKSB7XG4gICAgaWYgKHZhbHVlICYmIHRoaXMuYWN0aXZlTW9udGggJiYgaXNBZnRlcih0aGlzLmFjdGl2ZU1vbnRoLCB2YWx1ZSkpIHtcbiAgICAgIHRoaXMuc2V0QWN0aXZlTW9udGgodmFsdWUpO1xuICAgIH1cbiAgICB0aGlzLl9tYXhEYXRlID0gdGhpcy5ub3JtYWxpemVEYXRlKHZhbHVlKTtcbiAgfVxuXG4gIGdldCBhY3RpdmVNb250aE5hbWUoKTogc3RyaW5nIHtcbiAgICByZXR1cm4gY2FwaXRhbGl6ZUZpcnN0TGV0dGVyKHRoaXMuZm9ybWF0V2l0aExvY2FsZSh0aGlzLmFjdGl2ZU1vbnRoLCAnTU1NTScpKTtcbiAgfVxuXG4gIGdldCBhY3RpdmVZZWFyKCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIHRoaXMuZm9ybWF0V2l0aExvY2FsZSh0aGlzLmFjdGl2ZU1vbnRoLCAneXl5eScpO1xuICB9XG5cbiAgLyoqXG4gICAqIEdldHMgbmF2aWdhYmxlIHllYXJzIGZvciB5ZWFyIG5hdmlnYXRvciBiYXNlZCBvbiB5ZWFyTmF2aWdhdG9yT3B0aW9ucy5cbiAgICovXG4gIGdldCBuYXZpZ2FibGVZZWFycygpOiBzdHJpbmdbXSB7XG4gICAgY29uc3QgZGF0ZU9mRmlyc3ROYXZpZ2FibGVZZWFyID1cbiAgICAgIHRoaXMubWluRGF0ZSB8fCB0aGlzLmdldERhdGVGcm9tTmF2aWdhYmxlWWVhcih0aGlzLnllYXJOYXZpZ2F0b3JPcHRpb25zLmZyb20pO1xuXG4gICAgY29uc3QgZGF0ZU9mTGFzdE5hdmlnYWJsZVllYXIgPVxuICAgICAgdGhpcy5tYXhEYXRlIHx8IHRoaXMuZ2V0RGF0ZUZyb21OYXZpZ2FibGVZZWFyKHRoaXMueWVhck5hdmlnYXRvck9wdGlvbnMudG8pO1xuXG4gICAgcmV0dXJuIHRoaXMuZ2V0WWVhcnNCZXR3ZWVuRGF0ZXMoZGF0ZU9mRmlyc3ROYXZpZ2FibGVZZWFyLCBkYXRlT2ZMYXN0TmF2aWdhYmxlWWVhcik7XG4gIH1cblxuICBnZXQgbmF2aWdhdGVkWWVhcigpOiBudW1iZXIge1xuICAgIHJldHVybiB0aGlzLm5hdmlnYWJsZVllYXJzLmluZGV4T2YodGhpcy5hY3RpdmVZZWFyKTtcbiAgfVxuXG4gIEBIb3N0QmluZGluZygnY2xhc3MuaGFzLXllYXItbmF2aWdhdG9yJylcbiAgZ2V0IF9oYXNZZWFyTmF2aWdhdG9yKCkge1xuICAgIHJldHVybiAhIXRoaXMueWVhck5hdmlnYXRvck9wdGlvbnM7XG4gIH1cblxuICBwcml2YXRlIGdldFRvZGF5RGF0ZSgpIHtcbiAgICByZXR1cm4gc3RhcnRPZkRheSh0aGlzLnRvZGF5RGF0ZSA/PyBuZXcgRGF0ZSgpKTtcbiAgfVxuXG4gIGNvbnN0cnVjdG9yKFxuICAgIEBJbmplY3QoTE9DQUxFX0lEKSBsb2NhbGU6IHN0cmluZyxcbiAgICBwcml2YXRlIGVsZW1lbnRSZWY6IEVsZW1lbnRSZWYsXG4gICAgcHJpdmF0ZSBjZHI6IENoYW5nZURldGVjdG9yUmVmLFxuICAgIHB1YmxpYyB0cmFuc2xhdGlvbnM6IFRyYW5zbGF0aW9uU2VydmljZVxuICApIHtcbiAgICB0aGlzLmxvY2FsZSA9IHRoaXMubWFwTG9jYWxlKGxvY2FsZSk7XG4gICAgdGhpcy50aW1lWm9uZU5hbWUgPSBJbnRsLkRhdGVUaW1lRm9ybWF0KCkucmVzb2x2ZWRPcHRpb25zKCkudGltZVpvbmU7XG4gIH1cblxuICBwcml2YXRlIGZvcm1hdFdpdGhMb2NhbGUoZGF0ZTogRGF0ZSwgZm9ybWF0U3RyaW5nOiBzdHJpbmcpOiBzdHJpbmcge1xuICAgIHJldHVybiBmb3JtYXQoZGF0ZSwgZm9ybWF0U3RyaW5nLCB7XG4gICAgICBsb2NhbGU6IHRoaXMubG9jYWxlLFxuICAgIH0pO1xuICB9XG5cbiAgcHJpdmF0ZSBtYXBMb2NhbGUobG9jYWxlOiBzdHJpbmcpOiBMb2NhbGUge1xuICAgIGlmIChsb2NhbGUgPT09ICdlbicpIHtcbiAgICAgIGxvY2FsZSA9ICdlbkdCJzsgLy8gaWYgZW5nbGlzaCBsb2NhbGUgaXMgcHJvdmlkZWQgd2l0aG91dCByZWdpb24sIHdlIGRlZmF1bHQgdG8gR0JcbiAgICB9XG4gICAgbG9jYWxlID0gbG9jYWxlLnJlcGxhY2UoJy0nLCAnJyk7XG4gICAgY29uc3QgYXZhaWxhYmxlTG9jYWxlcyA9IHsgLi4udGhpcy5pbmNsdWRlZExvY2FsZXMsIC4uLnRoaXMubG9jYWxlcywgLi4udGhpcy5jdXN0b21Mb2NhbGVzIH07XG4gICAgcmV0dXJuIGF2YWlsYWJsZUxvY2FsZXNbbG9jYWxlXSB8fCB0aGlzLmluY2x1ZGVkTG9jYWxlcy5lbkdCOyAvLyBEZWZhdWx0IHRvIGVuR0IgaWYgaW5qZWN0ZWQgbG9jYWxlIGRvZXNudCBleGlzdFxuICB9XG5cbiAgcHJpdmF0ZSBmb3JtYXREYXRlTGFiZWwoKTogc3RyaW5nIHtcbiAgICBjb25zdCBsb2NhbGVEYXRlRm9ybWF0cyA9IHtcbiAgICAgIGRhOiAnZC4gTU1NTScsXG4gICAgICAnZW4tR0InOiAnZCBNTU1NJyxcbiAgICAgICdlbi1VUyc6ICdNTU1NIGQnLFxuICAgIH07XG5cbiAgICBjb25zdCBkZWZhdWx0RGF0ZUZvcm1hdCA9IGxvY2FsZURhdGVGb3JtYXRzWydlbi1VUyddO1xuICAgIGNvbnN0IGRhdGVGb3JtYXQgPSBsb2NhbGVEYXRlRm9ybWF0c1t0aGlzLmxvY2FsZS5jb2RlXSB8fCBkZWZhdWx0RGF0ZUZvcm1hdDtcbiAgICByZXR1cm4gZGF0ZUZvcm1hdDtcbiAgfVxuXG4gIG5nT25Jbml0KCkge1xuICAgIHRoaXMuZm9jdXNzZWREYXRlID0gdGhpcy5nZXRUb2RheURhdGUoKTtcbiAgICB0aGlzLl93ZWVrRGF5cyA9IHRoaXMuZ2V0V2Vla0RheXMoKTtcbiAgICB0aGlzLnNldEFjdGl2ZU1vbnRoKHRoaXMuc2VsZWN0ZWREYXRlKTtcbiAgfVxuXG4gIG5nT25DaGFuZ2VzKGNoYW5nZXM6IFNpbXBsZUNoYW5nZXMpOiB2b2lkIHtcbiAgICBpZiAoIXRoaXMuYWN0aXZlTW9udGgpIHJldHVybjtcbiAgICBpZiAoXG4gICAgICBjaGFuZ2VzLmRpc2FibGVXZWVrZW5kcyB8fFxuICAgICAgY2hhbmdlcy5kaXNhYmxlUGFzdERhdGVzIHx8XG4gICAgICBjaGFuZ2VzLmRpc2FibGVGdXR1cmVEYXRlcyB8fFxuICAgICAgY2hhbmdlcy5kaXNhYmxlZERhdGVzIHx8XG4gICAgICBjaGFuZ2VzLmVuYWJsZWREYXRlcyB8fFxuICAgICAgY2hhbmdlcy5taW5EYXRlIHx8XG4gICAgICBjaGFuZ2VzLm1heERhdGUgfHxcbiAgICAgIGNoYW5nZXMudG9kYXlEYXRlIHx8XG4gICAgICBjaGFuZ2VzLnRpbWV6b25lXG4gICAgKSB7XG4gICAgICB0aGlzLnJlZnJlc2hBY3RpdmVNb250aCgpO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgc2V0QWN0aXZlTW9udGgoZGF0ZTogRGF0ZSA9IG5ldyBEYXRlKCkpIHtcbiAgICBpZiAoIXRoaXMuYWN0aXZlTW9udGggfHwgIWlzU2FtZU1vbnRoKHRoaXMuYWN0aXZlTW9udGgsIGRhdGUpKSB7XG4gICAgICB0aGlzLmFjdGl2ZU1vbnRoID0gc3RhcnRPZk1vbnRoKGRhdGUpO1xuICAgICAgdGhpcy5yZWZyZXNoQWN0aXZlTW9udGgoKTtcbiAgICB9XG4gIH1cblxuICAvLyBGb3IgbGVuaWVuY3ksIHRoZSBjb21wb25lbnQgd2lsbCBhY2NlcHQgYW55IERhdGUgdGhhdCBwb2ludHMgdG8gZWl0aGVyIFVUQyBtaWRuaWdodFxuICAvLyBvciB0byBsb2NhbCB0aW1lem9uZSBtaWRuaWdodCBhbHRob3VnaCB3ZSB3aWxsIGludGVybmFsbHkgbm9ybWFsaXplIHRoZSByZXByZXNlbnRhdGlvblxuICAvLyBvZiBhbGwgcmVjZWl2ZWQgZGF0ZXMgdG8gcG9pbnQgdG8gbG9jYWwgdGltZXpvbmUgbWlkbmlnaHQuXG4gIC8vIFdlIGN1cnJlbnRseSBsb2cgbm8gd2FybmluZ3MgaWYgdGhlIGRhdGUgZG9lc24ndCBtYXRjaCB0aGUgdGltZXpvbmUgc2V0dGluZyBvclxuICAvLyBpZiBpdCBkb2Vzbid0IHBvaW50IHRvIG1pZG5pZ2h0LlxuICBwcml2YXRlIG5vcm1hbGl6ZURhdGUoZGF0ZUxvY2FsT3JVVEM6IERhdGUpIHtcbiAgICBpZiAoIWRhdGVMb2NhbE9yVVRDKSByZXR1cm47XG5cbiAgICBpZiAoc3RhcnRPZkRheShkYXRlTG9jYWxPclVUQykuZ2V0VGltZSgpID09PSBkYXRlTG9jYWxPclVUQy5nZXRUaW1lKCkpIHtcbiAgICAgIC8vIGRhdGUgaXMgbG9jYWwgdGltZXpvbmUgbWlkbmlnaHRcbiAgICAgIHJldHVybiBkYXRlTG9jYWxPclVUQztcbiAgICB9XG4gICAgaWYgKFxuICAgICAgc3RhcnRPZkRheSh1dGNUb1pvbmVkVGltZShkYXRlTG9jYWxPclVUQywgdGhpcy50aW1lWm9uZU5hbWUpKS5nZXRUaW1lKCkgPT09XG4gICAgICB1dGNUb1pvbmVkVGltZShkYXRlTG9jYWxPclVUQywgdGhpcy50aW1lWm9uZU5hbWUpLmdldFRpbWUoKVxuICAgICkge1xuICAgICAgLy8gdGhlIGRhdGUgaXMgYSBVVEMgbWlkbmlnaHQ7IGNyZWF0ZSB0aGUgZXF1aXZhbGVudCBsb2NhbCB0aW1lem9uZSBtaWRuaWdodCBkYXRlXG4gICAgICBjb25zdCBub3JtYWxpemVkVVRDZGF0ZSA9IHV0Y1RvWm9uZWRUaW1lKGRhdGVMb2NhbE9yVVRDLCB0aGlzLnRpbWVab25lTmFtZSk7XG4gICAgICByZXR1cm4gbm9ybWFsaXplZFVUQ2RhdGU7XG4gICAgfVxuICAgIC8vIGRvZXMgbm90IHBvaW50IHRvIG1pZG5pZ2h0IHNvIHdlIG1ha2UgaXRcbiAgICByZXR1cm4gc3RhcnRPZkRheShkYXRlTG9jYWxPclVUQyk7XG4gIH1cblxuICBwcml2YXRlIGdldFdlZWtEYXlzKCk6IFdlZWtEYXlbXSB7XG4gICAgY29uc3Qgbm93ID0gbmV3IERhdGUoKTtcbiAgICBjb25zdCB3ZWVrID0gZWFjaERheU9mSW50ZXJ2YWwoe1xuICAgICAgc3RhcnQ6IHN0YXJ0T2ZXZWVrKG5vdywgeyBsb2NhbGU6IHRoaXMubG9jYWxlIH0pLFxuICAgICAgZW5kOiBlbmRPZldlZWsobm93LCB7IGxvY2FsZTogdGhpcy5sb2NhbGUgfSksXG4gICAgfSk7XG5cbiAgICBjb25zdCB3ZWVrZGF5TmFycm93Rm9ybWF0ID0gJ0VFRUVFJztcbiAgICBjb25zdCB3ZWVrZGF5V2lkZUZvcm1hdCA9ICdFRUVFJztcblxuICAgIHJldHVybiB3ZWVrLm1hcCgoZGF0ZSkgPT4gKHtcbiAgICAgIGZpcnN0TGV0dGVyQ2FwaXRhbGl6ZWQ6IHRoaXMuZm9ybWF0V2l0aExvY2FsZShkYXRlLCB3ZWVrZGF5TmFycm93Rm9ybWF0KSxcbiAgICAgIGZ1bGxOYW1lOiB0aGlzLmZvcm1hdFdpdGhMb2NhbGUoZGF0ZSwgd2Vla2RheVdpZGVGb3JtYXQpLFxuICAgIH0pKTtcbiAgfVxuXG4gIHByaXZhdGUgaGFzRGF0ZUNoYW5nZWQobmV3RGF0ZTogRGF0ZSwgcHJldmlvdXNEYXRlOiBEYXRlKTogYm9vbGVhbiB7XG4gICAgaWYgKCFuZXdEYXRlICYmICFwcmV2aW91c0RhdGUpIHtcbiAgICAgIHJldHVybiBmYWxzZTtcbiAgICB9XG4gICAgaWYgKG5ld0RhdGUgaW5zdGFuY2VvZiBEYXRlICYmICFwcmV2aW91c0RhdGUpIHtcbiAgICAgIHJldHVybiB0cnVlO1xuICAgIH1cbiAgICByZXR1cm4gIWlzU2FtZURheShuZXdEYXRlLCBwcmV2aW91c0RhdGUpO1xuICB9XG5cbiAgcHJpdmF0ZSBpc0Rpc2FibGVkRGF0ZShkYXRlOiBEYXRlKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMuZGlzYWJsZWREYXRlcy5zb21lKChkaXNhYmxlZERhdGUpID0+IGlzU2FtZURheShkaXNhYmxlZERhdGUsIGRhdGUpKTtcbiAgfVxuXG4gIHByaXZhdGUgaXNFbmFibGVkRGF0ZShkYXRlOiBEYXRlKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIChcbiAgICAgIHRoaXMuX2VuYWJsZWREYXRlcy5sZW5ndGggPT09IDAgfHxcbiAgICAgIHRoaXMuZW5hYmxlZERhdGVzLnNvbWUoKGVuYWJsZWREYXRlKSA9PiBpc1NhbWVEYXkoZW5hYmxlZERhdGUsIGRhdGUpKVxuICAgICk7XG4gIH1cblxuICByZWZyZXNoQWN0aXZlTW9udGgoKSB7XG4gICAgaWYgKCF0aGlzLmFjdGl2ZU1vbnRoKSByZXR1cm47XG5cbiAgICBjb25zdCBtb250aFN0YXJ0ID0gc3RhcnRPZk1vbnRoKHRoaXMuYWN0aXZlTW9udGgpO1xuICAgIGNvbnN0IHN0YXJ0T2ZGaXJzdFdlZWsgPSBzdGFydE9mV2Vlayhtb250aFN0YXJ0LCB7IGxvY2FsZTogdGhpcy5sb2NhbGUgfSk7XG5cbiAgICBjb25zdCB0b3RhbE51bWJlck9mRGF5cyA9IDQyOyAvLyBBbHdheXMgc2hvdyA0MiBkYXlzICg2IHdlZWtzKSBpbiBjYWxlbmRhclxuICAgIGNvbnN0IGRheXNBcnJheSA9IEFycmF5LmZyb20oQXJyYXkodG90YWxOdW1iZXJPZkRheXMpLmtleXMoKSk7XG4gICAgY29uc3QgdG9kYXkgPSB0aGlzLmdldFRvZGF5RGF0ZSgpO1xuXG4gICAgY29uc3QgY2FsZW5kYXJEYXlzOiBDYWxlbmRhckRheVtdID0gZGF5c0FycmF5Lm1hcCgobnVtYmVyKSA9PiB7XG4gICAgICBjb25zdCBkYXRlT2ZDYWxlbmRhckRheSA9IGFkZChzdGFydE9mRmlyc3RXZWVrLCB7IFtUaW1lVW5pdC5kYXlzXTogbnVtYmVyIH0pO1xuXG4gICAgICBjb25zdCBjYWxlbmRhckRheTogQ2FsZW5kYXJEYXkgPSB7XG4gICAgICAgIGRhdGU6IGRhdGVPZkNhbGVuZGFyRGF5LmdldERhdGUoKSxcbiAgICAgICAgbW9udGhJbmRleDogZGF0ZU9mQ2FsZW5kYXJEYXkuZ2V0TW9udGgoKSxcbiAgICAgICAgeWVhcjogZGF0ZU9mQ2FsZW5kYXJEYXkuZ2V0RnVsbFllYXIoKSxcbiAgICAgICAgYXJpYUxhYmVsOiB0aGlzLmZvcm1hdFdpdGhMb2NhbGUoZGF0ZU9mQ2FsZW5kYXJEYXksIHRoaXMuZm9ybWF0RGF0ZUxhYmVsKCkpLFxuICAgICAgICAuLi50aGlzLmdldENhbGVuZGFyRGF5TWV0YWRhdGEoZGF0ZU9mQ2FsZW5kYXJEYXksIHRvZGF5LCBtb250aFN0YXJ0KSxcbiAgICAgIH07XG4gICAgICBpZiAoY2FsZW5kYXJEYXkuaXNTZWxlY3RlZCkge1xuICAgICAgICB0aGlzLnNlbGVjdGVkRGF5ID0gY2FsZW5kYXJEYXk7XG4gICAgICB9XG4gICAgICBpZiAoY2FsZW5kYXJEYXkuaXNGb2N1c3NlZCkge1xuICAgICAgICB0aGlzLmZvY3Vzc2VkRGF5ID0gY2FsZW5kYXJEYXk7XG4gICAgICB9XG4gICAgICByZXR1cm4gY2FsZW5kYXJEYXk7XG4gICAgfSk7XG4gICAgdGhpcy5fbW9udGggPSB0aGlzLmNodW5rKGNhbGVuZGFyRGF5cywgNyk7XG4gIH1cblxuICBwcml2YXRlIGdldENhbGVuZGFyRGF5TWV0YWRhdGEoZGF0ZTogRGF0ZSwgdG9kYXk6IERhdGUsIG1vbnRoU3RhcnQ6IERhdGUpOiBDYWxlbmRhckRheU1ldGFkYXRhIHtcbiAgICByZXR1cm4ge1xuICAgICAgaXNUb2RheTogaXNTYW1lRGF5KHRvZGF5LCBkYXRlKSxcbiAgICAgIGlzUGFzdDogaXNCZWZvcmUoZGF0ZSwgdG9kYXkpLFxuICAgICAgaXNGdXR1cmU6IGlzQWZ0ZXIoZGF0ZSwgdG9kYXkpLFxuICAgICAgaXNXZWVrZW5kOiBpc1dlZWtlbmQoZGF0ZSksXG4gICAgICBpc0N1cnJlbnRNb250aDogaXNTYW1lTW9udGgoZGF0ZSwgbW9udGhTdGFydCksXG4gICAgICBpc1NlbGVjdGFibGU6IHRoaXMuaXNTZWxlY3RhYmxlKGRhdGUsIHRvZGF5KSxcbiAgICAgIGlzRm9jdXNhYmxlOiB0aGlzLmlzV2l0aGluQWxsb3dlZFJhbmdlKGRhdGUsIHRvZGF5KSxcbiAgICAgIGlzU2VsZWN0ZWQ6IGlzU2FtZURheSh0aGlzLnNlbGVjdGVkRGF0ZSwgZGF0ZSksXG4gICAgICBpc0ZvY3Vzc2VkOiBpc1NhbWVEYXkodGhpcy5mb2N1c3NlZERhdGUsIGRhdGUpLFxuICAgIH07XG4gIH1cblxuICBwcml2YXRlIGlzU2VsZWN0YWJsZShkYXRlOiBEYXRlLCB0b2RheTogRGF0ZSk6IGJvb2xlYW4ge1xuICAgIGlmICh0aGlzLmFsd2F5c0VuYWJsZVRvZGF5ICYmIGlzU2FtZURheSh0b2RheSwgZGF0ZSkpIHJldHVybiB0cnVlO1xuXG4gICAgaWYgKCF0aGlzLmlzV2l0aGluQWxsb3dlZFJhbmdlKGRhdGUsIHRvZGF5KSkgcmV0dXJuIGZhbHNlO1xuICAgIGlmICh0aGlzLmlzRGlzYWJsZWREYXRlKGRhdGUpKSByZXR1cm4gZmFsc2U7XG4gICAgaWYgKCF0aGlzLmlzRW5hYmxlZERhdGUoZGF0ZSkpIHJldHVybiBmYWxzZTtcbiAgICBpZiAodGhpcy5kaXNhYmxlV2Vla2VuZHMgJiYgaXNXZWVrZW5kKGRhdGUpKSByZXR1cm4gZmFsc2U7XG5cbiAgICByZXR1cm4gdHJ1ZTtcbiAgfVxuXG4gIHByaXZhdGUgaXNXaXRoaW5BbGxvd2VkUmFuZ2UoZGF0ZTogRGF0ZSwgdG9kYXk6IERhdGUpOiBib29sZWFuIHtcbiAgICBpZiAodGhpcy5kaXNhYmxlUGFzdERhdGVzICYmIGlzQmVmb3JlKGRhdGUsIHRvZGF5KSkgcmV0dXJuIGZhbHNlO1xuICAgIGlmICh0aGlzLmRpc2FibGVGdXR1cmVEYXRlcyAmJiBpc0FmdGVyKGRhdGUsIHRvZGF5KSkgcmV0dXJuIGZhbHNlO1xuICAgIGlmICh0aGlzLm1pbkRhdGUgJiYgaXNCZWZvcmUoZGF0ZSwgdGhpcy5taW5EYXRlKSkgcmV0dXJuIGZhbHNlO1xuICAgIGlmICh0aGlzLm1heERhdGUgJiYgaXNBZnRlcihkYXRlLCB0aGlzLm1heERhdGUpKSByZXR1cm4gZmFsc2U7XG5cbiAgICByZXR1cm4gdHJ1ZTtcbiAgfVxuXG4gIHByaXZhdGUgY2h1bmsoYXJyYXk6IGFueVtdLCBzaXplOiBudW1iZXIpIHtcbiAgICBjb25zdCByZXN1bHRzID0gW107XG4gICAgd2hpbGUgKGFycmF5Lmxlbmd0aCkge1xuICAgICAgcmVzdWx0cy5wdXNoKGFycmF5LnNwbGljZSgwLCBzaXplKSk7XG4gICAgfVxuICAgIHJldHVybiByZXN1bHRzO1xuICB9XG5cbiAgcHJpdmF0ZSBvblNlbGVjdGVkRGF0ZUNoYW5nZShuZXdEYXRlOiBEYXRlKTogdm9pZCB7XG4gICAgaWYgKHRoaXMuc2VsZWN0ZWREYXkpIHtcbiAgICAgIHRoaXMuc2VsZWN0ZWREYXkuaXNTZWxlY3RlZCA9IGZhbHNlO1xuICAgIH1cblxuICAgIGNvbnN0IG5ld0RheSA9IHRoaXMuZ2V0RGF5KG5ld0RhdGUpO1xuICAgIGlmIChuZXdEYXkpIHtcbiAgICAgIG5ld0RheS5pc1NlbGVjdGVkID0gdHJ1ZTtcbiAgICAgIHRoaXMuc2VsZWN0ZWREYXkgPSBuZXdEYXk7XG4gICAgfVxuICB9XG5cbiAgX29uRGF0ZVNlbGVjdGVkKG5ld0RheTogQ2FsZW5kYXJEYXkpIHtcbiAgICBpZiAoIW5ld0RheS5pc1NlbGVjdGFibGUpIHJldHVybjtcblxuICAgIGxldCBuZXdEYXRlID0gbmV3IERhdGUobmV3RGF5LnllYXIsIG5ld0RheS5tb250aEluZGV4LCBuZXdEYXkuZGF0ZSk7XG5cbiAgICBpZiAodGhpcy50aW1lem9uZSA9PT0gJ1VUQycpIHtcbiAgICAgIG5ld0RhdGUgPSB6b25lZFRpbWVUb1V0Yyh0aGlzLnN1YnRyYWN0VGltZXpvbmVPZmZzZXQobmV3RGF0ZSksIHRoaXMudGltZVpvbmVOYW1lKTtcbiAgICB9XG5cbiAgICBjb25zdCBkYXRlVG9FbWl0ID0gbmV3RGF0ZTtcblxuICAgIGlmICh0aGlzLmhhc0RhdGVDaGFuZ2VkKG5ld0RhdGUsIHRoaXMuX3NlbGVjdGVkRGF0ZSkpIHtcbiAgICAgIHRoaXMuc2V0QWN0aXZlTW9udGgobmV3RGF0ZSk7XG4gICAgICB0aGlzLm9uU2VsZWN0ZWREYXRlQ2hhbmdlKG5ld0RhdGUpO1xuICAgICAgdGhpcy5zZWxlY3RlZERhdGUgPSBuZXdEYXRlO1xuICAgICAgdGhpcy5kYXRlQ2hhbmdlLmVtaXQoZGF0ZVRvRW1pdCk7XG4gICAgfVxuICAgIHRoaXMuZGF0ZVNlbGVjdC5lbWl0KGRhdGVUb0VtaXQpO1xuICB9XG5cbiAgX2NoYW5nZU1vbnRoKGluZGV4OiBudW1iZXIpIHtcbiAgICBpZiAoaW5kZXggPiAwICYmICF0aGlzLl9jYW5OYXZpZ2F0ZUZvcndhcmQpIHJldHVybjtcbiAgICBpZiAoaW5kZXggPCAwICYmICF0aGlzLl9jYW5OYXZpZ2F0ZUJhY2spIHJldHVybjtcblxuICAgIHRoaXMuY2hhbmdlQWN0aXZlVmlldyhpbmRleCwgVGltZVVuaXQubW9udGhzKTtcbiAgICBpbmRleCA+IDBcbiAgICAgID8gdGhpcy5uZXh0TW9udGhDbGlja2VkLmVtaXQodGhpcy5hY3RpdmVNb250aClcbiAgICAgIDogdGhpcy5wcmV2aW91c01vbnRoQ2xpY2tlZC5lbWl0KHRoaXMuYWN0aXZlTW9udGgpO1xuICB9XG5cbiAgX2NoYW5nZVllYXIoeWVhcjogc3RyaW5nKSB7XG4gICAgY29uc3QgeWVhck51bWVyaWMgPSBOdW1iZXIoeWVhcik7XG4gICAgdGhpcy5jaGFuZ2VBY3RpdmVWaWV3KHllYXJOdW1lcmljIC0gZ2V0WWVhcih0aGlzLmFjdGl2ZU1vbnRoKSwgVGltZVVuaXQueWVhcnMpO1xuICAgIHRoaXMueWVhclNlbGVjdC5lbWl0KHllYXJOdW1lcmljKTtcbiAgfVxuXG4gIHByaXZhdGUgY2hhbmdlQWN0aXZlVmlldyhpbmRleDogbnVtYmVyLCB1bml0OiBUaW1lVW5pdCkge1xuICAgIGlmIChpbmRleCA9PT0gMCkgcmV0dXJuO1xuICAgIHRoaXMuYWN0aXZlTW9udGggPSBhZGQodGhpcy5hY3RpdmVNb250aCwgeyBbdW5pdF06IGluZGV4IH0pO1xuICAgIHRoaXMuZm9jdXNzZWREYXRlID0gYWRkKHRoaXMuZm9jdXNzZWREYXRlLCB7IFt1bml0XTogaW5kZXggfSk7XG5cbiAgICB0aGlzLnJlZnJlc2hBY3RpdmVNb250aCgpO1xuICB9XG5cbiAgZ2V0IF9jYW5OYXZpZ2F0ZUJhY2soKTogYm9vbGVhbiB7XG4gICAgY29uc3QgdG9kYXkgPSB0aGlzLmdldFRvZGF5RGF0ZSgpO1xuICAgIGNvbnN0IHJlYWNoZWRQYXN0RGF0ZXNMaW1pdCA9IHRoaXMuZGlzYWJsZVBhc3REYXRlcyAmJiBpc1NhbWVNb250aCh0aGlzLmFjdGl2ZU1vbnRoLCB0b2RheSk7XG5cbiAgICBjb25zdCByZWFjaGVkT3JFeGNlZWRlZE1pbkRhdGUgPVxuICAgICAgdGhpcy5taW5EYXRlICYmXG4gICAgICAoaXNTYW1lTW9udGgodGhpcy5hY3RpdmVNb250aCwgdGhpcy5taW5EYXRlKSB8fCBpc0JlZm9yZSh0aGlzLmFjdGl2ZU1vbnRoLCB0aGlzLm1pbkRhdGUpKTtcblxuICAgIHJldHVybiAhcmVhY2hlZFBhc3REYXRlc0xpbWl0ICYmICFyZWFjaGVkT3JFeGNlZWRlZE1pbkRhdGU7XG4gIH1cblxuICBnZXQgX2Nhbk5hdmlnYXRlRm9yd2FyZCgpOiBib29sZWFuIHtcbiAgICBjb25zdCB0b2RheSA9IHRoaXMuZ2V0VG9kYXlEYXRlKCk7XG4gICAgY29uc3QgcmVhY2hlZEZ1dHVyZURhdGVzTGltaXQgPSB0aGlzLmRpc2FibGVGdXR1cmVEYXRlcyAmJiBpc1NhbWVNb250aCh0aGlzLmFjdGl2ZU1vbnRoLCB0b2RheSk7XG5cbiAgICBjb25zdCByZWFjaGVkT3JFeGNlZWRlZE1heERhdGUgPVxuICAgICAgdGhpcy5tYXhEYXRlICYmXG4gICAgICAoaXNTYW1lTW9udGgodGhpcy5hY3RpdmVNb250aCwgdGhpcy5tYXhEYXRlKSB8fCBpc0FmdGVyKHRoaXMuYWN0aXZlTW9udGgsIHRoaXMubWF4RGF0ZSkpO1xuXG4gICAgcmV0dXJuICFyZWFjaGVkRnV0dXJlRGF0ZXNMaW1pdCAmJiAhcmVhY2hlZE9yRXhjZWVkZWRNYXhEYXRlO1xuICB9XG5cbiAgcHJpdmF0ZSBnZXREYXkoZGF0ZTogRGF0ZSkge1xuICAgIGxldCBmb3VuZERheTogQ2FsZW5kYXJEYXkgPSBudWxsO1xuICAgIGlmIChkYXRlKSB7XG4gICAgICBmb3IgKGNvbnN0IHdlZWsgb2YgdGhpcy5fbW9udGgpIHtcbiAgICAgICAgZm91bmREYXkgPSB3ZWVrLmZpbmQoKGRheSkgPT4ge1xuICAgICAgICAgIHJldHVybiBkYXkuaXNDdXJyZW50TW9udGggJiYgZGF5LmRhdGUgPT09IGRhdGUuZ2V0RGF0ZSgpO1xuICAgICAgICB9KTtcbiAgICAgICAgaWYgKGZvdW5kRGF5KSB7XG4gICAgICAgICAgYnJlYWs7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gICAgcmV0dXJuIGZvdW5kRGF5O1xuICB9XG5cbiAgcHJpdmF0ZSBzdWJ0cmFjdFRpbWV6b25lT2Zmc2V0KGRhdGU6IERhdGUpOiBEYXRlIHtcbiAgICBjb25zdCB0aW1lem9uZU9mZnNldEluTXMgPSBkYXRlLmdldFRpbWV6b25lT2Zmc2V0KCkgKiA2MCAqIDEwMDA7XG4gICAgcmV0dXJuIG5ldyBEYXRlKGRhdGUuZ2V0VGltZSgpIC0gdGltZXpvbmVPZmZzZXRJbk1zKTtcbiAgfVxuXG4gIHByaXZhdGUgZ2V0RGF0ZUZyb21OYXZpZ2FibGVZZWFyKG5hdmlnYWJsZVllYXI6IG51bWJlciB8IERhdGUpOiBEYXRlIHtcbiAgICBpZiAobmF2aWdhYmxlWWVhciBpbnN0YW5jZW9mIERhdGUpIHJldHVybiBuYXZpZ2FibGVZZWFyO1xuICAgIGNvbnN0IHRvZGF5ID0gdGhpcy50b2RheURhdGUgfHwgbmV3IERhdGUoKTtcbiAgICByZXR1cm4gbmV3IERhdGUodG9kYXkuZ2V0RnVsbFllYXIoKSArIG5hdmlnYWJsZVllYXIsIDAsIDEpO1xuICB9XG5cbiAgcHJpdmF0ZSBnZXRZZWFyc0JldHdlZW5EYXRlcyhzdGFydERhdGU6IERhdGUsIGVuZERhdGU6IERhdGUpOiBzdHJpbmdbXSB7XG4gICAgLy8gRW5zdXJlIHllYXJzIGFyZSBvcmRlcmVkIGNvcnJlY3RseSBpZiBwYXJhbWV0ZXJzIGFyZSBzd2l0Y2hlZDpcbiAgICBjb25zdCBbc3RhcnRZZWFyLCBlbmRZZWFyXSA9IFtzdGFydERhdGUuZ2V0RnVsbFllYXIoKSwgZW5kRGF0ZS5nZXRGdWxsWWVhcigpXS5zb3J0KCk7XG4gICAgY29uc3QgbnVtYmVyT2ZZZWFycyA9IGVuZFllYXIgLSBzdGFydFllYXI7XG4gICAgcmV0dXJuIEFycmF5LmZyb20oeyBsZW5ndGg6IG51bWJlck9mWWVhcnMgKyAxIH0sIChfLCBpKSA9PiAoc3RhcnRZZWFyICsgaSkudG9TdHJpbmcoKSk7XG4gIH1cblxuICBwcml2YXRlIHNldEZvY3Vzc2VkRGF5KG5ld0RhdGU6IERhdGUpIHtcbiAgICBjb25zdCBuZXdEYXkgPSB0aGlzLmdldERheShuZXdEYXRlKTtcbiAgICBpZiAoIW5ld0RheSkgcmV0dXJuO1xuXG4gICAgaWYgKHRoaXMuZm9jdXNzZWREYXkpIHtcbiAgICAgIHRoaXMuZm9jdXNzZWREYXkuaXNGb2N1c3NlZCA9IGZhbHNlO1xuICAgIH1cbiAgICBuZXdEYXkuaXNGb2N1c3NlZCA9IHRydWU7XG4gICAgdGhpcy5mb2N1c3NlZERheSA9IG5ld0RheTtcbiAgfVxuXG4gIHByaXZhdGUgZm9jdXNEYXRlKG5ld0RhdGU6IERhdGUgfCBudWxsKSB7XG4gICAgaWYgKCFuZXdEYXRlKSByZXR1cm47XG5cbiAgICBpZiAodGhpcy50aW1lem9uZSA9PT0gJ1VUQycpIHtcbiAgICAgIG5ld0RhdGUgPSB6b25lZFRpbWVUb1V0Yyh0aGlzLnN1YnRyYWN0VGltZXpvbmVPZmZzZXQobmV3RGF0ZSksIHRoaXMudGltZVpvbmVOYW1lKTtcbiAgICB9XG5cbiAgICBjb25zdCB0b2RheSA9IHRoaXMuZ2V0VG9kYXlEYXRlKCk7XG4gICAgaWYgKCF0aGlzLmlzV2l0aGluQWxsb3dlZFJhbmdlKG5ld0RhdGUsIHRvZGF5KSkgcmV0dXJuO1xuXG4gICAgaWYgKCF0aGlzLmhhc0RhdGVDaGFuZ2VkKG5ld0RhdGUsIHRoaXMuZm9jdXNzZWREYXRlKSkgcmV0dXJuO1xuXG4gICAgdGhpcy5zZXRBY3RpdmVNb250aChuZXdEYXRlKTtcbiAgICB0aGlzLnNldEZvY3Vzc2VkRGF5KG5ld0RhdGUpO1xuICAgIHRoaXMuZm9jdXNzZWREYXRlID0gbmV3RGF0ZTtcblxuICAgIHRoaXMuY2RyLmRldGVjdENoYW5nZXMoKTsgLy9zeW5jIGZvY3Vzc2VkIGNsYXNzIHRvIHRlbXBsYXRlIGJlZm9yZSBzZXR0aW5nIGZvY3VzXG4gICAgY29uc3QgZWxlbWVudE1hcmtlZEZvckZvY3VzID0gdGhpcy5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQucXVlcnlTZWxlY3RvcignLmZvY3Vzc2VkJyk7XG4gICAgZWxlbWVudE1hcmtlZEZvckZvY3VzLmZvY3VzKCk7XG4gIH1cblxuICBfb25EYXRlS2V5ZG93bihldmVudDogS2V5Ym9hcmRFdmVudCkge1xuICAgIGNvbnN0IHsga2V5LCBzaGlmdEtleSB9ID0gZXZlbnQ7XG4gICAgbGV0IG5ld0RhdGU7XG5cbiAgICBzd2l0Y2ggKGtleSkge1xuICAgICAgY2FzZSAnQXJyb3dVcCc6XG4gICAgICAgIG5ld0RhdGUgPSBhZGQodGhpcy5mb2N1c3NlZERhdGUsIHsgZGF5czogLTcgfSk7XG4gICAgICAgIGJyZWFrO1xuICAgICAgY2FzZSAnQXJyb3dEb3duJzpcbiAgICAgICAgbmV3RGF0ZSA9IGFkZCh0aGlzLmZvY3Vzc2VkRGF0ZSwgeyBkYXlzOiA3IH0pO1xuICAgICAgICBicmVhaztcbiAgICAgIGNhc2UgJ0Fycm93UmlnaHQnOlxuICAgICAgICBuZXdEYXRlID0gYWRkKHRoaXMuZm9jdXNzZWREYXRlLCB7IGRheXM6IDEgfSk7XG4gICAgICAgIGJyZWFrO1xuICAgICAgY2FzZSAnQXJyb3dMZWZ0JzpcbiAgICAgICAgbmV3RGF0ZSA9IGFkZCh0aGlzLmZvY3Vzc2VkRGF0ZSwgeyBkYXlzOiAtMSB9KTtcbiAgICAgICAgYnJlYWs7XG4gICAgICBjYXNlICdIb21lJzpcbiAgICAgICAgbmV3RGF0ZSA9IHN0YXJ0T2ZXZWVrKHRoaXMuZm9jdXNzZWREYXRlLCB7IGxvY2FsZTogdGhpcy5sb2NhbGUgfSk7XG4gICAgICAgIGJyZWFrO1xuICAgICAgY2FzZSAnRW5kJzpcbiAgICAgICAgbmV3RGF0ZSA9IGxhc3REYXlPZldlZWsodGhpcy5mb2N1c3NlZERhdGUsIHsgbG9jYWxlOiB0aGlzLmxvY2FsZSB9KTtcbiAgICAgICAgYnJlYWs7XG4gICAgICBjYXNlICdQYWdlVXAnOlxuICAgICAgICBuZXdEYXRlID0gc2hpZnRLZXlcbiAgICAgICAgICA/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==
|