@norwegian/core-components 7.17.2 → 8.0.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/README.md +3 -3
- package/assets/documentation/accordion/accordion.md +1 -1
- package/assets/documentation/airport-select/airport-select.md +1 -0
- package/assets/documentation/alert/alert.md +1 -0
- package/assets/documentation/autocomplete/autocomplete.md +1 -1
- package/assets/documentation/backdrop/backdrop.md +1 -0
- package/assets/documentation/box/box.md +1 -1
- package/assets/documentation/button/button.md +1 -10
- package/assets/documentation/checkbox/checkbox.md +1 -7
- package/assets/documentation/container/container.md +1 -1
- package/assets/documentation/continue/continue.md +2 -1
- package/assets/documentation/cover/cover.md +1 -1
- package/assets/documentation/datepicker/datepicker.md +1 -3
- package/assets/documentation/datepicker-combo/datepicker-combo.md +2 -1
- package/assets/documentation/divider/divider.md +1 -1
- package/assets/documentation/dropdown/dropdown.md +1 -3
- package/assets/documentation/filter/filter.md +1 -0
- package/assets/documentation/grid/grid.md +1 -1
- package/assets/documentation/icon/icon.md +1 -1
- package/assets/documentation/icon-list/icon-list.md +1 -1
- package/assets/documentation/input/input.md +1 -1
- package/assets/documentation/journey/journey.md +2 -1
- package/assets/documentation/journey-availability/journey-availability.md +1 -3
- package/assets/documentation/journey-availability-list/journey-availability-list.md +1 -9
- package/assets/documentation/journey-selection/journey-selection.md +1 -1
- package/assets/documentation/journey-stopover/journey-stopover.md +2 -1
- package/assets/documentation/list/list.md +1 -1
- package/assets/documentation/micro-button/micro-button.md +2 -0
- package/assets/documentation/modal/modal.md +1 -0
- package/assets/documentation/number-field/number-field.md +1 -1
- package/assets/documentation/page-footer/page-footer.md +1 -1
- package/assets/documentation/page-header/page-header.md +1 -1
- package/assets/documentation/passenger-select/passenger-select.md +1 -1
- package/assets/documentation/phone-number/phone-number.md +1 -2
- package/assets/documentation/premium-toggle/premium-toggle.md +1 -9
- package/assets/documentation/radio/radio.md +1 -7
- package/assets/documentation/ribbon-banner/ribbon-banner.md +2 -1
- package/assets/documentation/select/select.md +1 -1
- package/assets/documentation/simple-list/simple-list.md +1 -1
- package/assets/documentation/slide-toggle/slide-toggle.md +1 -1
- package/assets/documentation/slider/slider.md +1 -1
- package/assets/documentation/sort/sort.md +1 -1
- package/assets/documentation/spinner/spinner.md +1 -1
- package/assets/documentation/status-box/status-box.md +2 -1
- package/assets/documentation/suggestions/suggestions.md +2 -1
- package/assets/documentation/tab-group/tab-group.md +1 -1
- package/assets/documentation/table/table.md +1 -8
- package/assets/documentation/tag/tag.md +1 -0
- package/assets/documentation/textarea/textarea.md +1 -1
- package/assets/documentation/toggle/toggle.md +1 -5
- package/assets/documentation/tooltip/tooltip.md +1 -0
- package/assets/documentation/trip-summary/trip-summary.md +1 -2
- package/fesm2022/norwegian-core-components.mjs +13636 -13565
- package/fesm2022/norwegian-core-components.mjs.map +1 -1
- package/index.d.ts +9449 -5
- package/package.json +14 -8
- package/styles/1__settings/_colors.scss +9 -9
- package/styles/1__settings/_mixins.scss +67 -40
- package/styles/1__settings/_type.scss +18 -6
- package/styles/1__settings/_vars.scss +7 -4
- package/styles/2__generic/_fonts.scss +7 -5
- package/styles/3__base/_animations.scss +84 -84
- package/styles/3__base/_body.scss +10 -8
- package/styles/3__base/_fixes.scss +1 -1
- package/styles/3__base/_form.scss +5 -3
- package/styles/3__base/_heading.scss +21 -12
- package/styles/3__base/_hr.scss +4 -0
- package/styles/3__base/_input.scss +5 -1
- package/styles/3__base/_link.scss +3 -0
- package/styles/3__base/_table.scss +8 -4
- package/styles/3__base/_type.scss +17 -13
- package/styles/_helpers.scss +4 -4
- package/styles/_index.scss +13 -13
- package/assets/documentation/campaign-header/campaign-header.md +0 -0
- package/assets/documentation/chip/chip.md +0 -1
- package/assets/documentation/info/info.md +0 -1
- package/assets/icons/small/info--light--light.svg +0 -4
- package/assets/images/logo--mobile.svg +0 -50
- package/assets/images/logo-reward.svg +0 -140
- package/assets/images/logo.svg +0 -135
- package/esm2022/lib/components/accordion/accordion.component.mjs +0 -163
- package/esm2022/lib/components/accordion/accordion.module.mjs +0 -20
- package/esm2022/lib/components/accordion/index.mjs +0 -3
- package/esm2022/lib/components/airport-select/airport-select-dropdown/airport-select-dropdown.component.mjs +0 -622
- package/esm2022/lib/components/airport-select/airport-select.component.mjs +0 -498
- package/esm2022/lib/components/airport-select/airport-select.module.mjs +0 -42
- package/esm2022/lib/components/airport-select/index.mjs +0 -7
- package/esm2022/lib/components/airport-select/models/airport-select-event.model.mjs +0 -2
- package/esm2022/lib/components/airport-select/models/airport-select-state.model.mjs +0 -2
- package/esm2022/lib/components/airport-select/models/airport.model.mjs +0 -2
- package/esm2022/lib/components/airport-select/models/results-labels.model.mjs +0 -3
- package/esm2022/lib/components/airport-select/services/airport-select-dropdown.service.mjs +0 -35
- package/esm2022/lib/components/airport-select/services/airport-select.service.mjs +0 -38
- package/esm2022/lib/components/alert/alert.component.mjs +0 -169
- package/esm2022/lib/components/alert/alert.module.mjs +0 -22
- package/esm2022/lib/components/alert/index.mjs +0 -4
- package/esm2022/lib/components/alert/models/alert.model.mjs +0 -2
- package/esm2022/lib/components/autocomplete/autocomplete.component.mjs +0 -318
- package/esm2022/lib/components/autocomplete/autocomplete.module.mjs +0 -43
- package/esm2022/lib/components/autocomplete/index.mjs +0 -4
- package/esm2022/lib/components/autocomplete/models/autocomplete.model.mjs +0 -2
- package/esm2022/lib/components/backdrop/backdrop.component.mjs +0 -58
- package/esm2022/lib/components/backdrop/backdrop.module.mjs +0 -19
- package/esm2022/lib/components/backdrop/index.mjs +0 -3
- package/esm2022/lib/components/box/box.component.mjs +0 -66
- package/esm2022/lib/components/box/box.module.mjs +0 -19
- package/esm2022/lib/components/box/index.mjs +0 -3
- package/esm2022/lib/components/button/button.component.mjs +0 -192
- package/esm2022/lib/components/button/button.module.mjs +0 -21
- package/esm2022/lib/components/button/index.mjs +0 -3
- package/esm2022/lib/components/campaign-header/campaign-header.component.mjs +0 -51
- package/esm2022/lib/components/campaign-header/campaign-header.module.mjs +0 -20
- package/esm2022/lib/components/campaign-header/index.mjs +0 -3
- package/esm2022/lib/components/checkbox/checkbox.component.mjs +0 -163
- package/esm2022/lib/components/checkbox/checkbox.module.mjs +0 -20
- package/esm2022/lib/components/checkbox/index.mjs +0 -3
- package/esm2022/lib/components/chip/chip.component.mjs +0 -48
- package/esm2022/lib/components/chip/chip.module.mjs +0 -19
- package/esm2022/lib/components/chip/index.mjs +0 -3
- package/esm2022/lib/components/container/container.component.mjs +0 -50
- package/esm2022/lib/components/container/container.module.mjs +0 -19
- package/esm2022/lib/components/container/index.mjs +0 -3
- package/esm2022/lib/components/continue/continue.component.mjs +0 -199
- package/esm2022/lib/components/continue/continue.module.mjs +0 -23
- package/esm2022/lib/components/continue/index.mjs +0 -3
- package/esm2022/lib/components/cover/cover.component.mjs +0 -75
- package/esm2022/lib/components/cover/cover.module.mjs +0 -21
- package/esm2022/lib/components/cover/index.mjs +0 -3
- package/esm2022/lib/components/datepicker/calendar/calendar.component.mjs +0 -606
- package/esm2022/lib/components/datepicker/calendar/enums/week-start.enum.mjs +0 -6
- package/esm2022/lib/components/datepicker/calendar/models/calendar-date.model.mjs +0 -2
- package/esm2022/lib/components/datepicker/calendar/models/calendar.model.mjs +0 -2
- package/esm2022/lib/components/datepicker/calendar/models/day.model.mjs +0 -2
- package/esm2022/lib/components/datepicker/calendar/models/select-option.model.mjs +0 -2
- package/esm2022/lib/components/datepicker/calendar/models/week.model.mjs +0 -2
- package/esm2022/lib/components/datepicker/datepicker.component.mjs +0 -613
- package/esm2022/lib/components/datepicker/datepicker.module.mjs +0 -55
- package/esm2022/lib/components/datepicker/index.mjs +0 -9
- package/esm2022/lib/components/datepicker/services/calendar.service.mjs +0 -215
- package/esm2022/lib/components/datepicker-combo/datepicker-combo.component.mjs +0 -417
- package/esm2022/lib/components/datepicker-combo/datepicker-combo.module.mjs +0 -31
- package/esm2022/lib/components/datepicker-combo/index.mjs +0 -3
- package/esm2022/lib/components/divider/divider.component.mjs +0 -59
- package/esm2022/lib/components/divider/divider.module.mjs +0 -28
- package/esm2022/lib/components/divider/index.mjs +0 -3
- package/esm2022/lib/components/dropdown/dropdown.component.mjs +0 -170
- package/esm2022/lib/components/dropdown/dropdown.module.mjs +0 -21
- package/esm2022/lib/components/dropdown/index.mjs +0 -3
- package/esm2022/lib/components/filter/enums/trip-type.enum.mjs +0 -8
- package/esm2022/lib/components/filter/filter.component.mjs +0 -1445
- package/esm2022/lib/components/filter/filter.module.mjs +0 -81
- package/esm2022/lib/components/filter/index.mjs +0 -4
- package/esm2022/lib/components/grid/col/col.component.mjs +0 -49
- package/esm2022/lib/components/grid/grid.component.mjs +0 -72
- package/esm2022/lib/components/grid/grid.module.mjs +0 -20
- package/esm2022/lib/components/grid/index.mjs +0 -4
- package/esm2022/lib/components/icon/icon.component.mjs +0 -44
- package/esm2022/lib/components/icon/icon.module.mjs +0 -19
- package/esm2022/lib/components/icon/index.mjs +0 -3
- package/esm2022/lib/components/icon-list/icon-list.component.mjs +0 -50
- package/esm2022/lib/components/icon-list/icon-list.module.mjs +0 -20
- package/esm2022/lib/components/icon-list/index.mjs +0 -4
- package/esm2022/lib/components/icon-list/models/icon-list.model.mjs +0 -2
- package/esm2022/lib/components/index.mjs +0 -68
- package/esm2022/lib/components/info/index.mjs +0 -4
- package/esm2022/lib/components/info/info.component.mjs +0 -116
- package/esm2022/lib/components/info/info.module.mjs +0 -36
- package/esm2022/lib/components/info/models/info.model.mjs +0 -2
- package/esm2022/lib/components/input/index.mjs +0 -3
- package/esm2022/lib/components/input/input.component.mjs +0 -228
- package/esm2022/lib/components/input/input.module.mjs +0 -35
- package/esm2022/lib/components/journey/index.mjs +0 -6
- package/esm2022/lib/components/journey/journey.component.mjs +0 -137
- package/esm2022/lib/components/journey/journey.module.mjs +0 -21
- package/esm2022/lib/components/journey/models/journey-flight.model.mjs +0 -2
- package/esm2022/lib/components/journey/models/journey.model.mjs +0 -2
- package/esm2022/lib/components/journey/models/marketing-carrier.enum.mjs +0 -8
- package/esm2022/lib/components/journey-availability/index.mjs +0 -3
- package/esm2022/lib/components/journey-availability/journey-availability.component.mjs +0 -128
- package/esm2022/lib/components/journey-availability/journey-availability.module.mjs +0 -39
- package/esm2022/lib/components/journey-availability-list/enums/availability-sort-option.enum.mjs +0 -7
- package/esm2022/lib/components/journey-availability-list/index.mjs +0 -4
- package/esm2022/lib/components/journey-availability-list/journey-availability-list.component.mjs +0 -182
- package/esm2022/lib/components/journey-availability-list/journey-availability-list.module.mjs +0 -36
- package/esm2022/lib/components/journey-selection/index.mjs +0 -7
- package/esm2022/lib/components/journey-selection/journey-selection.component.mjs +0 -120
- package/esm2022/lib/components/journey-selection/journey-selection.module.mjs +0 -24
- package/esm2022/lib/components/journey-selection/models/journey-selection-collapsed.model.mjs +0 -2
- package/esm2022/lib/components/journey-selection/models/journey-selection-common.model.mjs +0 -2
- package/esm2022/lib/components/journey-selection/models/journey-selection-expanded.model.mjs +0 -2
- package/esm2022/lib/components/journey-selection/models/journey-selection.model.mjs +0 -2
- package/esm2022/lib/components/journey-stopover/index.mjs +0 -4
- package/esm2022/lib/components/journey-stopover/journey-stopover.component.mjs +0 -150
- package/esm2022/lib/components/journey-stopover/journey-stopover.module.mjs +0 -21
- package/esm2022/lib/components/journey-stopover/models/stopover-time.model.mjs +0 -2
- package/esm2022/lib/components/list/index.mjs +0 -4
- package/esm2022/lib/components/list/list-item/list-item.component.mjs +0 -52
- package/esm2022/lib/components/list/list.component.mjs +0 -78
- package/esm2022/lib/components/list/list.module.mjs +0 -20
- package/esm2022/lib/components/micro-button/index.mjs +0 -3
- package/esm2022/lib/components/micro-button/micro-button.component.mjs +0 -101
- package/esm2022/lib/components/micro-button/micro-button.module.mjs +0 -20
- package/esm2022/lib/components/modal/index.mjs +0 -3
- package/esm2022/lib/components/modal/modal.component.mjs +0 -156
- package/esm2022/lib/components/modal/modal.module.mjs +0 -38
- package/esm2022/lib/components/number-field/index.mjs +0 -4
- package/esm2022/lib/components/number-field/models/number-field.model.mjs +0 -2
- package/esm2022/lib/components/number-field/number-field.component.mjs +0 -162
- package/esm2022/lib/components/number-field/number-field.module.mjs +0 -39
- package/esm2022/lib/components/page-footer/index.mjs +0 -3
- package/esm2022/lib/components/page-footer/page-footer.component.mjs +0 -52
- package/esm2022/lib/components/page-footer/page-footer.module.mjs +0 -21
- package/esm2022/lib/components/page-header/hamburger/hamburger.component.mjs +0 -22
- package/esm2022/lib/components/page-header/index.mjs +0 -6
- package/esm2022/lib/components/page-header/models/wallet.model.mjs +0 -2
- package/esm2022/lib/components/page-header/page-header.component.mjs +0 -171
- package/esm2022/lib/components/page-header/page-header.module.mjs +0 -55
- package/esm2022/lib/components/page-header/search/search.component.mjs +0 -49
- package/esm2022/lib/components/page-header/wallet/wallet.component.mjs +0 -57
- package/esm2022/lib/components/passenger-select/enums/passenger-type.enum.mjs +0 -9
- package/esm2022/lib/components/passenger-select/index.mjs +0 -5
- package/esm2022/lib/components/passenger-select/models/passengers.model.mjs +0 -2
- package/esm2022/lib/components/passenger-select/passenger-select.component.mjs +0 -423
- package/esm2022/lib/components/passenger-select/passenger-select.module.mjs +0 -28
- package/esm2022/lib/components/phone-number/index.mjs +0 -3
- package/esm2022/lib/components/phone-number/phone-number.component.mjs +0 -182
- package/esm2022/lib/components/phone-number/phone-number.module.mjs +0 -44
- package/esm2022/lib/components/premium-toggle/index.mjs +0 -3
- package/esm2022/lib/components/premium-toggle/premium-toggle.component.mjs +0 -68
- package/esm2022/lib/components/premium-toggle/premium-toggle.module.mjs +0 -20
- package/esm2022/lib/components/radio/index.mjs +0 -3
- package/esm2022/lib/components/radio/radio.component.mjs +0 -109
- package/esm2022/lib/components/radio/radio.module.mjs +0 -20
- package/esm2022/lib/components/ribbon-banner/index.mjs +0 -3
- package/esm2022/lib/components/ribbon-banner/ribbon-banner.component.mjs +0 -89
- package/esm2022/lib/components/ribbon-banner/ribbon-banner.module.mjs +0 -40
- package/esm2022/lib/components/select/index.mjs +0 -6
- package/esm2022/lib/components/select/models/select-option.model.mjs +0 -2
- package/esm2022/lib/components/select/optgroup/optgroup.component.mjs +0 -29
- package/esm2022/lib/components/select/option/option.component.mjs +0 -26
- package/esm2022/lib/components/select/select.component.mjs +0 -407
- package/esm2022/lib/components/select/select.module.mjs +0 -23
- package/esm2022/lib/components/select-new/index.mjs +0 -5
- package/esm2022/lib/components/select-new/models/select-option.model.mjs +0 -2
- package/esm2022/lib/components/select-new/optgroup/optgroup-new.component.mjs +0 -23
- package/esm2022/lib/components/select-new/option/option-new.component.mjs +0 -41
- package/esm2022/lib/components/select-new/select-new.component.mjs +0 -271
- package/esm2022/lib/components/select-new/select-new.module.mjs +0 -26
- package/esm2022/lib/components/select-new/services/select-new.service.mjs +0 -40
- package/esm2022/lib/components/simple-list/index.mjs +0 -3
- package/esm2022/lib/components/simple-list/simple-list.component.mjs +0 -48
- package/esm2022/lib/components/simple-list/simple-list.module.mjs +0 -19
- package/esm2022/lib/components/slide-toggle/index.mjs +0 -3
- package/esm2022/lib/components/slide-toggle/slide-toggle.component.mjs +0 -121
- package/esm2022/lib/components/slide-toggle/slide-toggle.module.mjs +0 -20
- package/esm2022/lib/components/slider/index.mjs +0 -3
- package/esm2022/lib/components/slider/slider.component.mjs +0 -515
- package/esm2022/lib/components/slider/slider.module.mjs +0 -20
- package/esm2022/lib/components/sort/index.mjs +0 -3
- package/esm2022/lib/components/sort/sort.component.mjs +0 -98
- package/esm2022/lib/components/sort/sort.module.mjs +0 -36
- package/esm2022/lib/components/spinner/index.mjs +0 -3
- package/esm2022/lib/components/spinner/spinner.component.mjs +0 -127
- package/esm2022/lib/components/spinner/spinner.module.mjs +0 -19
- package/esm2022/lib/components/status-box/index.mjs +0 -4
- package/esm2022/lib/components/status-box/models/status-box.model.mjs +0 -2
- package/esm2022/lib/components/status-box/status-box.component.mjs +0 -109
- package/esm2022/lib/components/status-box/status-box.module.mjs +0 -21
- package/esm2022/lib/components/suggestions/index.mjs +0 -3
- package/esm2022/lib/components/suggestions/suggestions.component.mjs +0 -44
- package/esm2022/lib/components/suggestions/suggestions.module.mjs +0 -20
- package/esm2022/lib/components/tab-group/index.mjs +0 -4
- package/esm2022/lib/components/tab-group/tab/tab.component.mjs +0 -140
- package/esm2022/lib/components/tab-group/tab-group.component.mjs +0 -91
- package/esm2022/lib/components/tab-group/tab-group.module.mjs +0 -21
- package/esm2022/lib/components/table/column/column.component.mjs +0 -16
- package/esm2022/lib/components/table/column-group/column-group.component.mjs +0 -30
- package/esm2022/lib/components/table/index.mjs +0 -11
- package/esm2022/lib/components/table/services/table.service.mjs +0 -24
- package/esm2022/lib/components/table/table-body/table-body.component.mjs +0 -23
- package/esm2022/lib/components/table/table-foot/table-foot.component.mjs +0 -23
- package/esm2022/lib/components/table/table-head/table-head.component.mjs +0 -23
- package/esm2022/lib/components/table/table-row/table-data/table-data.component.mjs +0 -15
- package/esm2022/lib/components/table/table-row/table-header/table-header.component.mjs +0 -15
- package/esm2022/lib/components/table/table-row/table-row.component.mjs +0 -23
- package/esm2022/lib/components/table/table.component.mjs +0 -27
- package/esm2022/lib/components/table/table.module.mjs +0 -63
- package/esm2022/lib/components/tag/index.mjs +0 -3
- package/esm2022/lib/components/tag/tag.component.mjs +0 -71
- package/esm2022/lib/components/tag/tag.module.mjs +0 -28
- package/esm2022/lib/components/textarea/index.mjs +0 -3
- package/esm2022/lib/components/textarea/textarea.component.mjs +0 -139
- package/esm2022/lib/components/textarea/textarea.module.mjs +0 -21
- package/esm2022/lib/components/toggle/index.mjs +0 -3
- package/esm2022/lib/components/toggle/models/options.model.mjs +0 -3
- package/esm2022/lib/components/toggle/toggle.component.mjs +0 -102
- package/esm2022/lib/components/toggle/toggle.module.mjs +0 -35
- package/esm2022/lib/components/tooltip/index.mjs +0 -3
- package/esm2022/lib/components/tooltip/tooltip.component.mjs +0 -170
- package/esm2022/lib/components/tooltip/tooltip.module.mjs +0 -30
- package/esm2022/lib/components/trip-summary/index.mjs +0 -3
- package/esm2022/lib/components/trip-summary/trip-summary.component.mjs +0 -167
- package/esm2022/lib/components/trip-summary/trip-summary.module.mjs +0 -36
- package/esm2022/lib/core/base/nas-component.base.mjs +0 -48
- package/esm2022/lib/core/decorators/debounce.decorator.mjs +0 -12
- package/esm2022/lib/core/directives/index.mjs +0 -3
- package/esm2022/lib/core/directives/nas-class/nas-class.directive.mjs +0 -80
- package/esm2022/lib/core/directives/nas-class/nas-class.module.mjs +0 -20
- package/esm2022/lib/core/extensions/html-element.extension.mjs +0 -31
- package/esm2022/lib/core/index.mjs +0 -5
- package/esm2022/lib/core/models/abandoned-basket-item.model.mjs +0 -2
- package/esm2022/lib/core/models/animate.model.mjs +0 -2
- package/esm2022/lib/core/models/class.model.mjs +0 -2
- package/esm2022/lib/core/models/index.mjs +0 -7
- package/esm2022/lib/core/models/link.model.mjs +0 -2
- package/esm2022/lib/core/models/position.model.mjs +0 -2
- package/esm2022/lib/core/models/utc-date.model.mjs +0 -40
- package/esm2022/lib/core/services/abandoned-basket/abandoned-basket.service.mjs +0 -61
- package/esm2022/lib/core/services/animate-helper/animate-helper.service.mjs +0 -49
- package/esm2022/lib/core/services/bem-helper/bem-helper.service.mjs +0 -44
- package/esm2022/lib/core/services/date/date-compare.enum.mjs +0 -7
- package/esm2022/lib/core/services/date/date-helper.service.mjs +0 -199
- package/esm2022/lib/core/services/device/device-helper.service.mjs +0 -46
- package/esm2022/lib/core/services/geolocation/geolocation-state.enum.mjs +0 -8
- package/esm2022/lib/core/services/geolocation/geolocation.service.mjs +0 -66
- package/esm2022/lib/core/services/index.mjs +0 -10
- package/esm2022/lib/core/services/language/language-helper.service.mjs +0 -114
- package/esm2022/lib/core/services/sort/sort.service.mjs +0 -25
- package/esm2022/lib/core/services/viewport/viewport.service.mjs +0 -36
- package/esm2022/lib/index.mjs +0 -5
- package/esm2022/lib/services/get-position.service.mjs +0 -23
- package/esm2022/lib/services/index.mjs +0 -2
- package/esm2022/lib/shared/index.mjs +0 -2
- package/esm2022/lib/shared/models/flight-details.mjs +0 -3
- package/esm2022/lib/shared/models/index.mjs +0 -6
- package/esm2022/lib/shared/models/journey-availability-sort.model.mjs +0 -2
- package/esm2022/lib/shared/models/journey-availability.model.mjs +0 -2
- package/esm2022/lib/shared/models/journey-details.model.mjs +0 -2
- package/esm2022/lib/shared/models/journey-duration.model.mjs +0 -2
- package/esm2022/lib/shared/models/journey-stopover.model.mjs +0 -2
- package/esm2022/lib/shared/models/journey-transit-info.model.mjs +0 -2
- package/esm2022/lib/shared/models/operating-carrier.model.mjs +0 -2
- package/esm2022/lib/shared/models/sort-option.model.mjs +0 -2
- package/esm2022/lib/shared/models/sort.model.mjs +0 -2
- package/esm2022/lib/shared/models/trip-item-details.model.mjs +0 -2
- package/esm2022/lib/shared/models/trip-summary-details.model.mjs +0 -2
- package/esm2022/lib/shared/models/trip-summary.model.mjs +0 -2
- package/esm2022/norwegian-core-components.mjs +0 -5
- package/esm2022/public_api.mjs +0 -2
- package/lib/components/accordion/accordion.component.d.ts +0 -241
- package/lib/components/accordion/accordion.module.d.ts +0 -10
- package/lib/components/accordion/index.d.ts +0 -2
- package/lib/components/airport-select/airport-select-dropdown/airport-select-dropdown.component.d.ts +0 -100
- package/lib/components/airport-select/airport-select.component.d.ts +0 -330
- package/lib/components/airport-select/airport-select.module.d.ts +0 -13
- package/lib/components/airport-select/index.d.ts +0 -6
- package/lib/components/airport-select/models/airport-select-event.model.d.ts +0 -4
- package/lib/components/airport-select/models/airport-select-state.model.d.ts +0 -5
- package/lib/components/airport-select/models/airport.model.d.ts +0 -11
- package/lib/components/airport-select/models/results-labels.model.d.ts +0 -8
- package/lib/components/airport-select/services/airport-select-dropdown.service.d.ts +0 -10
- package/lib/components/airport-select/services/airport-select.service.d.ts +0 -8
- package/lib/components/alert/alert.component.d.ts +0 -129
- package/lib/components/alert/alert.module.d.ts +0 -12
- package/lib/components/alert/index.d.ts +0 -3
- package/lib/components/alert/models/alert.model.d.ts +0 -10
- package/lib/components/autocomplete/autocomplete.component.d.ts +0 -135
- package/lib/components/autocomplete/autocomplete.module.d.ts +0 -13
- package/lib/components/autocomplete/index.d.ts +0 -3
- package/lib/components/autocomplete/models/autocomplete.model.d.ts +0 -5
- package/lib/components/backdrop/backdrop.component.d.ts +0 -38
- package/lib/components/backdrop/backdrop.module.d.ts +0 -9
- package/lib/components/backdrop/index.d.ts +0 -2
- package/lib/components/box/box.component.d.ts +0 -78
- package/lib/components/box/box.module.d.ts +0 -9
- package/lib/components/box/index.d.ts +0 -2
- package/lib/components/button/button.component.d.ts +0 -294
- package/lib/components/button/button.module.d.ts +0 -11
- package/lib/components/button/index.d.ts +0 -2
- package/lib/components/campaign-header/campaign-header.component.d.ts +0 -58
- package/lib/components/campaign-header/campaign-header.module.d.ts +0 -10
- package/lib/components/campaign-header/index.d.ts +0 -2
- package/lib/components/checkbox/checkbox.component.d.ts +0 -151
- package/lib/components/checkbox/checkbox.module.d.ts +0 -10
- package/lib/components/checkbox/index.d.ts +0 -2
- package/lib/components/chip/chip.component.d.ts +0 -48
- package/lib/components/chip/chip.module.d.ts +0 -9
- package/lib/components/chip/index.d.ts +0 -2
- package/lib/components/container/container.component.d.ts +0 -52
- package/lib/components/container/container.module.d.ts +0 -9
- package/lib/components/container/index.d.ts +0 -2
- package/lib/components/continue/continue.component.d.ts +0 -171
- package/lib/components/continue/continue.module.d.ts +0 -11
- package/lib/components/continue/index.d.ts +0 -2
- package/lib/components/cover/cover.component.d.ts +0 -125
- package/lib/components/cover/cover.module.d.ts +0 -11
- package/lib/components/cover/index.d.ts +0 -2
- package/lib/components/datepicker/calendar/calendar.component.d.ts +0 -169
- package/lib/components/datepicker/calendar/enums/week-start.enum.d.ts +0 -4
- package/lib/components/datepicker/calendar/models/calendar-date.model.d.ts +0 -5
- package/lib/components/datepicker/calendar/models/calendar.model.d.ts +0 -4
- package/lib/components/datepicker/calendar/models/day.model.d.ts +0 -10
- package/lib/components/datepicker/calendar/models/select-option.model.d.ts +0 -4
- package/lib/components/datepicker/calendar/models/week.model.d.ts +0 -5
- package/lib/components/datepicker/datepicker.component.d.ts +0 -289
- package/lib/components/datepicker/datepicker.module.d.ts +0 -16
- package/lib/components/datepicker/index.d.ts +0 -8
- package/lib/components/datepicker/services/calendar.service.d.ts +0 -27
- package/lib/components/datepicker-combo/datepicker-combo.component.d.ts +0 -329
- package/lib/components/datepicker-combo/datepicker-combo.module.d.ts +0 -10
- package/lib/components/datepicker-combo/index.d.ts +0 -2
- package/lib/components/divider/divider.component.d.ts +0 -68
- package/lib/components/divider/divider.module.d.ts +0 -10
- package/lib/components/divider/index.d.ts +0 -2
- package/lib/components/dropdown/dropdown.component.d.ts +0 -80
- package/lib/components/dropdown/dropdown.module.d.ts +0 -11
- package/lib/components/dropdown/index.d.ts +0 -2
- package/lib/components/filter/enums/trip-type.enum.d.ts +0 -6
- package/lib/components/filter/filter.component.d.ts +0 -942
- package/lib/components/filter/filter.module.d.ts +0 -22
- package/lib/components/filter/index.d.ts +0 -3
- package/lib/components/grid/col/col.component.d.ts +0 -45
- package/lib/components/grid/grid.component.d.ts +0 -92
- package/lib/components/grid/grid.module.d.ts +0 -10
- package/lib/components/grid/index.d.ts +0 -3
- package/lib/components/icon/icon.component.d.ts +0 -53
- package/lib/components/icon/icon.module.d.ts +0 -9
- package/lib/components/icon/index.d.ts +0 -2
- package/lib/components/icon-list/icon-list.component.d.ts +0 -49
- package/lib/components/icon-list/icon-list.module.d.ts +0 -10
- package/lib/components/icon-list/index.d.ts +0 -3
- package/lib/components/icon-list/models/icon-list.model.d.ts +0 -8
- package/lib/components/index.d.ts +0 -67
- package/lib/components/info/index.d.ts +0 -3
- package/lib/components/info/info.component.d.ts +0 -108
- package/lib/components/info/info.module.d.ts +0 -12
- package/lib/components/info/models/info.model.d.ts +0 -9
- package/lib/components/input/index.d.ts +0 -2
- package/lib/components/input/input.component.d.ts +0 -214
- package/lib/components/input/input.module.d.ts +0 -11
- package/lib/components/journey/index.d.ts +0 -5
- package/lib/components/journey/journey.component.d.ts +0 -102
- package/lib/components/journey/journey.module.d.ts +0 -11
- package/lib/components/journey/models/journey-flight.model.d.ts +0 -13
- package/lib/components/journey/models/journey.model.d.ts +0 -5
- package/lib/components/journey/models/marketing-carrier.enum.d.ts +0 -6
- package/lib/components/journey-availability/index.d.ts +0 -2
- package/lib/components/journey-availability/journey-availability.component.d.ts +0 -93
- package/lib/components/journey-availability/journey-availability.module.d.ts +0 -12
- package/lib/components/journey-availability-list/enums/availability-sort-option.enum.d.ts +0 -5
- package/lib/components/journey-availability-list/index.d.ts +0 -3
- package/lib/components/journey-availability-list/journey-availability-list.component.d.ts +0 -114
- package/lib/components/journey-availability-list/journey-availability-list.module.d.ts +0 -12
- package/lib/components/journey-selection/index.d.ts +0 -6
- package/lib/components/journey-selection/journey-selection.component.d.ts +0 -84
- package/lib/components/journey-selection/journey-selection.module.d.ts +0 -11
- package/lib/components/journey-selection/models/journey-selection-collapsed.model.d.ts +0 -11
- package/lib/components/journey-selection/models/journey-selection-common.model.d.ts +0 -7
- package/lib/components/journey-selection/models/journey-selection-expanded.model.d.ts +0 -5
- package/lib/components/journey-selection/models/journey-selection.model.d.ts +0 -14
- package/lib/components/journey-stopover/index.d.ts +0 -3
- package/lib/components/journey-stopover/journey-stopover.component.d.ts +0 -131
- package/lib/components/journey-stopover/journey-stopover.module.d.ts +0 -11
- package/lib/components/journey-stopover/models/stopover-time.model.d.ts +0 -4
- package/lib/components/list/index.d.ts +0 -3
- package/lib/components/list/list-item/list-item.component.d.ts +0 -35
- package/lib/components/list/list.component.d.ts +0 -76
- package/lib/components/list/list.module.d.ts +0 -10
- package/lib/components/micro-button/index.d.ts +0 -2
- package/lib/components/micro-button/micro-button.component.d.ts +0 -139
- package/lib/components/micro-button/micro-button.module.d.ts +0 -10
- package/lib/components/modal/index.d.ts +0 -2
- package/lib/components/modal/modal.component.d.ts +0 -119
- package/lib/components/modal/modal.module.d.ts +0 -12
- package/lib/components/number-field/index.d.ts +0 -3
- package/lib/components/number-field/models/number-field.model.d.ts +0 -5
- package/lib/components/number-field/number-field.component.d.ts +0 -124
- package/lib/components/number-field/number-field.module.d.ts +0 -12
- package/lib/components/page-footer/index.d.ts +0 -2
- package/lib/components/page-footer/page-footer.component.d.ts +0 -53
- package/lib/components/page-footer/page-footer.module.d.ts +0 -11
- package/lib/components/page-header/hamburger/hamburger.component.d.ts +0 -12
- package/lib/components/page-header/index.d.ts +0 -5
- package/lib/components/page-header/models/wallet.model.d.ts +0 -21
- package/lib/components/page-header/page-header.component.d.ts +0 -127
- package/lib/components/page-header/page-header.module.d.ts +0 -17
- package/lib/components/page-header/search/search.component.d.ts +0 -26
- package/lib/components/page-header/wallet/wallet.component.d.ts +0 -23
- package/lib/components/passenger-select/enums/passenger-type.enum.d.ts +0 -7
- package/lib/components/passenger-select/index.d.ts +0 -4
- package/lib/components/passenger-select/models/passengers.model.d.ts +0 -11
- package/lib/components/passenger-select/passenger-select.component.d.ts +0 -141
- package/lib/components/passenger-select/passenger-select.module.d.ts +0 -10
- package/lib/components/phone-number/index.d.ts +0 -2
- package/lib/components/phone-number/phone-number.component.d.ts +0 -263
- package/lib/components/phone-number/phone-number.module.d.ts +0 -13
- package/lib/components/premium-toggle/index.d.ts +0 -2
- package/lib/components/premium-toggle/premium-toggle.component.d.ts +0 -50
- package/lib/components/premium-toggle/premium-toggle.module.d.ts +0 -10
- package/lib/components/radio/index.d.ts +0 -2
- package/lib/components/radio/radio.component.d.ts +0 -137
- package/lib/components/radio/radio.module.d.ts +0 -10
- package/lib/components/ribbon-banner/index.d.ts +0 -2
- package/lib/components/ribbon-banner/ribbon-banner.component.d.ts +0 -66
- package/lib/components/ribbon-banner/ribbon-banner.module.d.ts +0 -13
- package/lib/components/select/index.d.ts +0 -5
- package/lib/components/select/models/select-option.model.d.ts +0 -4
- package/lib/components/select/optgroup/optgroup.component.d.ts +0 -25
- package/lib/components/select/option/option.component.d.ts +0 -24
- package/lib/components/select/select.component.d.ts +0 -204
- package/lib/components/select/select.module.d.ts +0 -13
- package/lib/components/select-new/index.d.ts +0 -4
- package/lib/components/select-new/models/select-option.model.d.ts +0 -6
- package/lib/components/select-new/optgroup/optgroup-new.component.d.ts +0 -8
- package/lib/components/select-new/option/option-new.component.d.ts +0 -16
- package/lib/components/select-new/select-new.component.d.ts +0 -173
- package/lib/components/select-new/select-new.module.d.ts +0 -14
- package/lib/components/select-new/services/select-new.service.d.ts +0 -10
- package/lib/components/simple-list/index.d.ts +0 -2
- package/lib/components/simple-list/simple-list.component.d.ts +0 -60
- package/lib/components/simple-list/simple-list.module.d.ts +0 -9
- package/lib/components/slide-toggle/index.d.ts +0 -2
- package/lib/components/slide-toggle/slide-toggle.component.d.ts +0 -70
- package/lib/components/slide-toggle/slide-toggle.module.d.ts +0 -10
- package/lib/components/slider/index.d.ts +0 -2
- package/lib/components/slider/slider.component.d.ts +0 -216
- package/lib/components/slider/slider.module.d.ts +0 -10
- package/lib/components/sort/index.d.ts +0 -2
- package/lib/components/sort/sort.component.d.ts +0 -55
- package/lib/components/sort/sort.module.d.ts +0 -12
- package/lib/components/spinner/index.d.ts +0 -2
- package/lib/components/spinner/spinner.component.d.ts +0 -104
- package/lib/components/spinner/spinner.module.d.ts +0 -9
- package/lib/components/status-box/index.d.ts +0 -3
- package/lib/components/status-box/models/status-box.model.d.ts +0 -5
- package/lib/components/status-box/status-box.component.d.ts +0 -92
- package/lib/components/status-box/status-box.module.d.ts +0 -11
- package/lib/components/suggestions/index.d.ts +0 -2
- package/lib/components/suggestions/suggestions.component.d.ts +0 -36
- package/lib/components/suggestions/suggestions.module.d.ts +0 -10
- package/lib/components/tab-group/index.d.ts +0 -3
- package/lib/components/tab-group/tab/tab.component.d.ts +0 -97
- package/lib/components/tab-group/tab-group.component.d.ts +0 -42
- package/lib/components/tab-group/tab-group.module.d.ts +0 -11
- package/lib/components/table/column/column.component.d.ts +0 -6
- package/lib/components/table/column-group/column-group.component.d.ts +0 -15
- package/lib/components/table/index.d.ts +0 -10
- package/lib/components/table/services/table.service.d.ts +0 -8
- package/lib/components/table/table-body/table-body.component.d.ts +0 -15
- package/lib/components/table/table-foot/table-foot.component.d.ts +0 -15
- package/lib/components/table/table-head/table-head.component.d.ts +0 -15
- package/lib/components/table/table-row/table-data/table-data.component.d.ts +0 -5
- package/lib/components/table/table-row/table-header/table-header.component.d.ts +0 -5
- package/lib/components/table/table-row/table-row.component.d.ts +0 -15
- package/lib/components/table/table.component.d.ts +0 -19
- package/lib/components/table/table.module.d.ts +0 -17
- package/lib/components/tag/index.d.ts +0 -2
- package/lib/components/tag/tag.component.d.ts +0 -71
- package/lib/components/tag/tag.module.d.ts +0 -10
- package/lib/components/textarea/index.d.ts +0 -2
- package/lib/components/textarea/textarea.component.d.ts +0 -156
- package/lib/components/textarea/textarea.module.d.ts +0 -11
- package/lib/components/toggle/index.d.ts +0 -2
- package/lib/components/toggle/models/options.model.d.ts +0 -7
- package/lib/components/toggle/toggle.component.d.ts +0 -159
- package/lib/components/toggle/toggle.module.d.ts +0 -11
- package/lib/components/tooltip/index.d.ts +0 -2
- package/lib/components/tooltip/tooltip.component.d.ts +0 -63
- package/lib/components/tooltip/tooltip.module.d.ts +0 -10
- package/lib/components/trip-summary/index.d.ts +0 -2
- package/lib/components/trip-summary/trip-summary.component.d.ts +0 -162
- package/lib/components/trip-summary/trip-summary.module.d.ts +0 -12
- package/lib/core/base/nas-component.base.d.ts +0 -11
- package/lib/core/decorators/debounce.decorator.d.ts +0 -1
- package/lib/core/directives/index.d.ts +0 -2
- package/lib/core/directives/nas-class/nas-class.directive.d.ts +0 -14
- package/lib/core/directives/nas-class/nas-class.module.d.ts +0 -8
- package/lib/core/extensions/html-element.extension.d.ts +0 -6
- package/lib/core/index.d.ts +0 -4
- package/lib/core/models/abandoned-basket-item.model.d.ts +0 -14
- package/lib/core/models/animate.model.d.ts +0 -6
- package/lib/core/models/class.model.d.ts +0 -7
- package/lib/core/models/index.d.ts +0 -6
- package/lib/core/models/link.model.d.ts +0 -5
- package/lib/core/models/position.model.d.ts +0 -4
- package/lib/core/models/utc-date.model.d.ts +0 -13
- package/lib/core/services/abandoned-basket/abandoned-basket.service.d.ts +0 -10
- package/lib/core/services/animate-helper/animate-helper.service.d.ts +0 -9
- package/lib/core/services/bem-helper/bem-helper.service.d.ts +0 -7
- package/lib/core/services/date/date-compare.enum.d.ts +0 -5
- package/lib/core/services/date/date-helper.service.d.ts +0 -22
- package/lib/core/services/device/device-helper.service.d.ts +0 -16
- package/lib/core/services/geolocation/geolocation-state.enum.d.ts +0 -6
- package/lib/core/services/geolocation/geolocation.service.d.ts +0 -9
- package/lib/core/services/index.d.ts +0 -9
- package/lib/core/services/language/language-helper.service.d.ts +0 -12
- package/lib/core/services/sort/sort.service.d.ts +0 -6
- package/lib/core/services/viewport/viewport.service.d.ts +0 -11
- package/lib/index.d.ts +0 -4
- package/lib/services/get-position.service.d.ts +0 -9
- package/lib/services/index.d.ts +0 -1
- package/lib/shared/index.d.ts +0 -1
- package/lib/shared/models/flight-details.d.ts +0 -22
- package/lib/shared/models/index.d.ts +0 -5
- package/lib/shared/models/journey-availability-sort.model.d.ts +0 -8
- package/lib/shared/models/journey-availability.model.d.ts +0 -25
- package/lib/shared/models/journey-details.model.d.ts +0 -8
- package/lib/shared/models/journey-duration.model.d.ts +0 -7
- package/lib/shared/models/journey-stopover.model.d.ts +0 -15
- package/lib/shared/models/journey-transit-info.model.d.ts +0 -5
- package/lib/shared/models/operating-carrier.model.d.ts +0 -4
- package/lib/shared/models/sort-option.model.d.ts +0 -11
- package/lib/shared/models/sort.model.d.ts +0 -10
- package/lib/shared/models/trip-item-details.model.d.ts +0 -12
- package/lib/shared/models/trip-summary-details.model.d.ts +0 -5
- package/lib/shared/models/trip-summary.model.d.ts +0 -4
- package/public_api.d.ts +0 -1
- /package/assets/icons/{icon-chevron-left--light.svg → medium/chevron-left--light.svg} +0 -0
- /package/assets/icons/{icon-chevron-left.svg → medium/chevron-left.svg} +0 -0
- /package/assets/icons/{icon-chevron-right--light.svg → medium/chevron-right--light.svg} +0 -0
- /package/assets/icons/{icon-chevron-right.svg → medium/chevron-right.svg} +0 -0
- /package/assets/images/{cloud-1.svg → cloud.svg} +0 -0
|
@@ -1,55 +0,0 @@
|
|
|
1
|
-
import { DatePipe } from '@angular/common';
|
|
2
|
-
import { CommonModule } from '@angular/common';
|
|
3
|
-
import { NgModule } from '@angular/core';
|
|
4
|
-
import { FormsModule, ReactiveFormsModule } from '@angular/forms';
|
|
5
|
-
import { DatepickerComponent } from './datepicker.component';
|
|
6
|
-
import { NasClassModule } from '../../core/directives/nas-class/nas-class.module';
|
|
7
|
-
import { BackdropModule } from '../backdrop/backdrop.module';
|
|
8
|
-
import { CoverModule } from '../cover/cover.module';
|
|
9
|
-
import { IconModule } from '../icon/icon.module';
|
|
10
|
-
import { SelectModule } from '../select/select.module';
|
|
11
|
-
import { SpinnerModule } from '../spinner/spinner.module';
|
|
12
|
-
import { DateHelper } from '../../core/services';
|
|
13
|
-
import { CalendarComponent } from './calendar/calendar.component';
|
|
14
|
-
import * as i0 from "@angular/core";
|
|
15
|
-
export class DatepickerModule {
|
|
16
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: DatepickerModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
|
|
17
|
-
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "16.2.12", ngImport: i0, type: DatepickerModule, declarations: [DatepickerComponent, CalendarComponent], imports: [CommonModule,
|
|
18
|
-
CoverModule,
|
|
19
|
-
SelectModule,
|
|
20
|
-
IconModule,
|
|
21
|
-
NasClassModule,
|
|
22
|
-
FormsModule,
|
|
23
|
-
SpinnerModule,
|
|
24
|
-
ReactiveFormsModule,
|
|
25
|
-
BackdropModule], exports: [DatepickerComponent, CalendarComponent] }); }
|
|
26
|
-
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: DatepickerModule, providers: [DatePipe, DateHelper], imports: [CommonModule,
|
|
27
|
-
CoverModule,
|
|
28
|
-
SelectModule,
|
|
29
|
-
IconModule,
|
|
30
|
-
NasClassModule,
|
|
31
|
-
FormsModule,
|
|
32
|
-
SpinnerModule,
|
|
33
|
-
ReactiveFormsModule,
|
|
34
|
-
BackdropModule] }); }
|
|
35
|
-
}
|
|
36
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: DatepickerModule, decorators: [{
|
|
37
|
-
type: NgModule,
|
|
38
|
-
args: [{
|
|
39
|
-
declarations: [DatepickerComponent, CalendarComponent],
|
|
40
|
-
imports: [
|
|
41
|
-
CommonModule,
|
|
42
|
-
CoverModule,
|
|
43
|
-
SelectModule,
|
|
44
|
-
IconModule,
|
|
45
|
-
NasClassModule,
|
|
46
|
-
FormsModule,
|
|
47
|
-
SpinnerModule,
|
|
48
|
-
ReactiveFormsModule,
|
|
49
|
-
BackdropModule
|
|
50
|
-
],
|
|
51
|
-
exports: [DatepickerComponent, CalendarComponent],
|
|
52
|
-
providers: [DatePipe, DateHelper]
|
|
53
|
-
}]
|
|
54
|
-
}] });
|
|
55
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0ZXBpY2tlci5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jb3JlLWNvbXBvbmVudHMvc3JjL2xpYi9jb21wb25lbnRzL2RhdGVwaWNrZXIvZGF0ZXBpY2tlci5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQzNDLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3pDLE9BQU8sRUFBRSxXQUFXLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUNsRSxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUM3RCxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sa0RBQWtELENBQUM7QUFDbEYsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLDZCQUE2QixDQUFDO0FBQzdELE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUNwRCxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDakQsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBQ3ZELE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUMxRCxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDakQsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sK0JBQStCLENBQUM7O0FBa0JsRSxNQUFNLE9BQU8sZ0JBQWdCOytHQUFoQixnQkFBZ0I7Z0hBQWhCLGdCQUFnQixpQkFmWixtQkFBbUIsRUFBRSxpQkFBaUIsYUFFbkQsWUFBWTtZQUNaLFdBQVc7WUFDWCxZQUFZO1lBQ1osVUFBVTtZQUNWLGNBQWM7WUFDZCxXQUFXO1lBQ1gsYUFBYTtZQUNiLG1CQUFtQjtZQUNuQixjQUFjLGFBRU4sbUJBQW1CLEVBQUUsaUJBQWlCO2dIQUdyQyxnQkFBZ0IsYUFGaEIsQ0FBQyxRQUFRLEVBQUUsVUFBVSxDQUFDLFlBWC9CLFlBQVk7WUFDWixXQUFXO1lBQ1gsWUFBWTtZQUNaLFVBQVU7WUFDVixjQUFjO1lBQ2QsV0FBVztZQUNYLGFBQWE7WUFDYixtQkFBbUI7WUFDbkIsY0FBYzs7NEZBS0wsZ0JBQWdCO2tCQWhCNUIsUUFBUTttQkFBQztvQkFDUixZQUFZLEVBQUUsQ0FBQyxtQkFBbUIsRUFBRSxpQkFBaUIsQ0FBQztvQkFDdEQsT0FBTyxFQUFFO3dCQUNQLFlBQVk7d0JBQ1osV0FBVzt3QkFDWCxZQUFZO3dCQUNaLFVBQVU7d0JBQ1YsY0FBYzt3QkFDZCxXQUFXO3dCQUNYLGFBQWE7d0JBQ2IsbUJBQW1CO3dCQUNuQixjQUFjO3FCQUNmO29CQUNELE9BQU8sRUFBRSxDQUFDLG1CQUFtQixFQUFFLGlCQUFpQixDQUFDO29CQUNqRCxTQUFTLEVBQUUsQ0FBQyxRQUFRLEVBQUUsVUFBVSxDQUFDO2lCQUNsQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IERhdGVQaXBlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBOZ01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgRm9ybXNNb2R1bGUsIFJlYWN0aXZlRm9ybXNNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQgeyBEYXRlcGlja2VyQ29tcG9uZW50IH0gZnJvbSAnLi9kYXRlcGlja2VyLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBOYXNDbGFzc01vZHVsZSB9IGZyb20gJy4uLy4uL2NvcmUvZGlyZWN0aXZlcy9uYXMtY2xhc3MvbmFzLWNsYXNzLm1vZHVsZSc7XG5pbXBvcnQgeyBCYWNrZHJvcE1vZHVsZSB9IGZyb20gJy4uL2JhY2tkcm9wL2JhY2tkcm9wLm1vZHVsZSc7XG5pbXBvcnQgeyBDb3Zlck1vZHVsZSB9IGZyb20gJy4uL2NvdmVyL2NvdmVyLm1vZHVsZSc7XG5pbXBvcnQgeyBJY29uTW9kdWxlIH0gZnJvbSAnLi4vaWNvbi9pY29uLm1vZHVsZSc7XG5pbXBvcnQgeyBTZWxlY3RNb2R1bGUgfSBmcm9tICcuLi9zZWxlY3Qvc2VsZWN0Lm1vZHVsZSc7XG5pbXBvcnQgeyBTcGlubmVyTW9kdWxlIH0gZnJvbSAnLi4vc3Bpbm5lci9zcGlubmVyLm1vZHVsZSc7XG5pbXBvcnQgeyBEYXRlSGVscGVyIH0gZnJvbSAnLi4vLi4vY29yZS9zZXJ2aWNlcyc7XG5pbXBvcnQgeyBDYWxlbmRhckNvbXBvbmVudCB9IGZyb20gJy4vY2FsZW5kYXIvY2FsZW5kYXIuY29tcG9uZW50JztcblxuQE5nTW9kdWxlKHtcbiAgZGVjbGFyYXRpb25zOiBbRGF0ZXBpY2tlckNvbXBvbmVudCwgQ2FsZW5kYXJDb21wb25lbnRdLFxuICBpbXBvcnRzOiBbXG4gICAgQ29tbW9uTW9kdWxlLFxuICAgIENvdmVyTW9kdWxlLFxuICAgIFNlbGVjdE1vZHVsZSxcbiAgICBJY29uTW9kdWxlLFxuICAgIE5hc0NsYXNzTW9kdWxlLFxuICAgIEZvcm1zTW9kdWxlLFxuICAgIFNwaW5uZXJNb2R1bGUsXG4gICAgUmVhY3RpdmVGb3Jtc01vZHVsZSxcbiAgICBCYWNrZHJvcE1vZHVsZVxuICBdLFxuICBleHBvcnRzOiBbRGF0ZXBpY2tlckNvbXBvbmVudCwgQ2FsZW5kYXJDb21wb25lbnRdLFxuICBwcm92aWRlcnM6IFtEYXRlUGlwZSwgRGF0ZUhlbHBlcl1cbn0pXG5leHBvcnQgY2xhc3MgRGF0ZXBpY2tlck1vZHVsZSB7IH1cbiJdfQ==
|
|
@@ -1,9 +0,0 @@
|
|
|
1
|
-
export * from './datepicker.component';
|
|
2
|
-
export * from './calendar/calendar.component';
|
|
3
|
-
export * from './datepicker.module';
|
|
4
|
-
export * from './calendar/enums/week-start.enum';
|
|
5
|
-
export * from './calendar/models/calendar.model';
|
|
6
|
-
export * from './calendar/models/calendar-date.model';
|
|
7
|
-
export * from './calendar/models/day.model';
|
|
8
|
-
export * from './calendar/models/week.model';
|
|
9
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jb3JlLWNvbXBvbmVudHMvc3JjL2xpYi9jb21wb25lbnRzL2RhdGVwaWNrZXIvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYyx3QkFBd0IsQ0FBQztBQUN2QyxjQUFjLCtCQUErQixDQUFDO0FBQzlDLGNBQWMscUJBQXFCLENBQUM7QUFDcEMsY0FBYyxrQ0FBa0MsQ0FBQztBQUNqRCxjQUFjLGtDQUFrQyxDQUFDO0FBQ2pELGNBQWMsdUNBQXVDLENBQUM7QUFDdEQsY0FBYyw2QkFBNkIsQ0FBQztBQUM1QyxjQUFjLDhCQUE4QixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi9kYXRlcGlja2VyLmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL2NhbGVuZGFyL2NhbGVuZGFyLmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL2RhdGVwaWNrZXIubW9kdWxlJztcbmV4cG9ydCAqIGZyb20gJy4vY2FsZW5kYXIvZW51bXMvd2Vlay1zdGFydC5lbnVtJztcbmV4cG9ydCAqIGZyb20gJy4vY2FsZW5kYXIvbW9kZWxzL2NhbGVuZGFyLm1vZGVsJztcbmV4cG9ydCAqIGZyb20gJy4vY2FsZW5kYXIvbW9kZWxzL2NhbGVuZGFyLWRhdGUubW9kZWwnO1xuZXhwb3J0ICogZnJvbSAnLi9jYWxlbmRhci9tb2RlbHMvZGF5Lm1vZGVsJztcbmV4cG9ydCAqIGZyb20gJy4vY2FsZW5kYXIvbW9kZWxzL3dlZWsubW9kZWwnOyJdfQ==
|
|
@@ -1,215 +0,0 @@
|
|
|
1
|
-
import { Injectable } from '@angular/core';
|
|
2
|
-
import { UtcDate } from '../../../core/models/utc-date.model';
|
|
3
|
-
import { WeekStart } from '../calendar/enums/week-start.enum';
|
|
4
|
-
import * as i0 from "@angular/core";
|
|
5
|
-
import * as i1 from "@angular/common";
|
|
6
|
-
import * as i2 from "../../../core/services/date/date-helper.service";
|
|
7
|
-
export class CalendarService {
|
|
8
|
-
constructor(datePipe, dateService) {
|
|
9
|
-
this.datePipe = datePipe;
|
|
10
|
-
this.dateService = dateService;
|
|
11
|
-
}
|
|
12
|
-
getMonthNames(locale) {
|
|
13
|
-
const month = new Date();
|
|
14
|
-
month.setMonth(0);
|
|
15
|
-
month.setDate(1);
|
|
16
|
-
const monthNames = new Array();
|
|
17
|
-
for (let index = 0; index < 12; index++) {
|
|
18
|
-
const currentMonth = new Date(Date.UTC(month.getFullYear(), month.getMonth() + index, 1));
|
|
19
|
-
monthNames.push(this.datePipe.transform(currentMonth, 'MMMM', 'UTC', locale));
|
|
20
|
-
}
|
|
21
|
-
return monthNames;
|
|
22
|
-
}
|
|
23
|
-
getWeekdays(weekStart, locale) {
|
|
24
|
-
const weekday = this.getMonday();
|
|
25
|
-
const weekdays = new Array();
|
|
26
|
-
for (let index = 0; index < 7; index++) {
|
|
27
|
-
const currentDay = new Date(Date.UTC(weekday.getFullYear(), weekday.getMonth(), weekday.getDate() + index));
|
|
28
|
-
const dayName = this.datePipe.transform(currentDay, 'EEE', 'UTC', locale);
|
|
29
|
-
weekdays.push(dayName.charAt(0));
|
|
30
|
-
}
|
|
31
|
-
if (weekStart !== WeekStart.monday) {
|
|
32
|
-
const sunday = weekdays.pop();
|
|
33
|
-
weekdays.unshift(sunday);
|
|
34
|
-
}
|
|
35
|
-
return weekdays;
|
|
36
|
-
}
|
|
37
|
-
updateAvailableDaysWithSelectedDate(availableDays, selectedDate) {
|
|
38
|
-
if (!availableDays || !selectedDate) {
|
|
39
|
-
return;
|
|
40
|
-
}
|
|
41
|
-
availableDays = availableDays.map((x) => {
|
|
42
|
-
if (!this.dateService.isSameDate(this.dateService.utcDate(x.date), selectedDate)) {
|
|
43
|
-
return x;
|
|
44
|
-
}
|
|
45
|
-
if (x.isDisabled) {
|
|
46
|
-
selectedDate.setDate(selectedDate.date + 1);
|
|
47
|
-
return x;
|
|
48
|
-
}
|
|
49
|
-
x.isSelected = true;
|
|
50
|
-
return x;
|
|
51
|
-
});
|
|
52
|
-
}
|
|
53
|
-
setActiveDate(date, weeks) {
|
|
54
|
-
if (!weeks || weeks.length <= 0) {
|
|
55
|
-
return;
|
|
56
|
-
}
|
|
57
|
-
for (const day of this.getDays(weeks)) {
|
|
58
|
-
if (!day) {
|
|
59
|
-
continue;
|
|
60
|
-
}
|
|
61
|
-
day.isActive = false;
|
|
62
|
-
const utcDate = this.dateService.utcDate(day.date);
|
|
63
|
-
if (this.dateService.isSameDate(utcDate, date)) {
|
|
64
|
-
day.isActive = true;
|
|
65
|
-
}
|
|
66
|
-
}
|
|
67
|
-
}
|
|
68
|
-
getDays(weeks) {
|
|
69
|
-
const flatten = new Array();
|
|
70
|
-
weeks.forEach(x => x.days.forEach(d => flatten.push(d)));
|
|
71
|
-
return flatten;
|
|
72
|
-
}
|
|
73
|
-
getWeeks(availableDays, weekStart) {
|
|
74
|
-
if (!availableDays) {
|
|
75
|
-
return;
|
|
76
|
-
}
|
|
77
|
-
const sortedDays = availableDays
|
|
78
|
-
.sort((a, b) => this.dateService
|
|
79
|
-
.date(this.dateService.utcDate(a.date)).getTime() - this.dateService.date(this.dateService.utcDate(b.date)).getTime());
|
|
80
|
-
const weeks = new Array();
|
|
81
|
-
let index = 0;
|
|
82
|
-
for (let week = 0; week < 6; week++) {
|
|
83
|
-
const days = new Array();
|
|
84
|
-
for (let day = 0; day < 7; day++) {
|
|
85
|
-
const currentDayModel = sortedDays[0];
|
|
86
|
-
if (currentDayModel) {
|
|
87
|
-
const currentDate = this.dateService.utcDate(currentDayModel.date);
|
|
88
|
-
currentDayModel.isEmpty = currentDayModel.isAvailable;
|
|
89
|
-
let currentDay = currentDate.getDay();
|
|
90
|
-
if (weekStart === WeekStart.monday) {
|
|
91
|
-
if (currentDay === 0) {
|
|
92
|
-
currentDay = 6;
|
|
93
|
-
}
|
|
94
|
-
else {
|
|
95
|
-
currentDay -= 1;
|
|
96
|
-
}
|
|
97
|
-
}
|
|
98
|
-
if (currentDay === day) {
|
|
99
|
-
index = index + 1;
|
|
100
|
-
currentDayModel.index = index;
|
|
101
|
-
days.push(currentDayModel);
|
|
102
|
-
sortedDays.shift();
|
|
103
|
-
}
|
|
104
|
-
else {
|
|
105
|
-
days.push(null);
|
|
106
|
-
}
|
|
107
|
-
}
|
|
108
|
-
}
|
|
109
|
-
const firstDayInWeek = days.find(x => x != null);
|
|
110
|
-
let firstDateDateInWeek;
|
|
111
|
-
if (firstDayInWeek) {
|
|
112
|
-
const utcDate = this.dateService.utcDate(firstDayInWeek.date);
|
|
113
|
-
firstDateDateInWeek = new Date(utcDate.year, utcDate.month, utcDate.date);
|
|
114
|
-
}
|
|
115
|
-
if (!days.every(x => x === null)) {
|
|
116
|
-
weeks.push({
|
|
117
|
-
days: days,
|
|
118
|
-
weekNumber: this.dateService.getWeekNumber(firstDateDateInWeek)
|
|
119
|
-
});
|
|
120
|
-
}
|
|
121
|
-
}
|
|
122
|
-
return weeks;
|
|
123
|
-
}
|
|
124
|
-
getCurrentMonth(date) {
|
|
125
|
-
let currentMonth;
|
|
126
|
-
if (date) {
|
|
127
|
-
currentMonth = this.dateService.utcDate(new Date(Date.UTC(date.year, date.month, 1)));
|
|
128
|
-
}
|
|
129
|
-
else {
|
|
130
|
-
currentMonth = this.dateService.utcDate();
|
|
131
|
-
}
|
|
132
|
-
return currentMonth;
|
|
133
|
-
}
|
|
134
|
-
getMonthsSelectOptions(disablePastSelection, maxMonthIndex, monthNames) {
|
|
135
|
-
const months = new Array();
|
|
136
|
-
if (disablePastSelection === false) {
|
|
137
|
-
return months;
|
|
138
|
-
}
|
|
139
|
-
for (let index = 0; index < maxMonthIndex; index++) {
|
|
140
|
-
const date = this.dateService.utcDate().toDate();
|
|
141
|
-
date.setUTCDate(1);
|
|
142
|
-
date.setUTCMonth(date.getUTCMonth() + index);
|
|
143
|
-
const selectOption = {
|
|
144
|
-
title: `${monthNames[date.getUTCMonth()]} ${date.getUTCFullYear()}`,
|
|
145
|
-
value: date.toISOString()
|
|
146
|
-
};
|
|
147
|
-
months.push(selectOption);
|
|
148
|
-
}
|
|
149
|
-
return months;
|
|
150
|
-
}
|
|
151
|
-
getSelectedMonth(months, currentMonth) {
|
|
152
|
-
if (!months) {
|
|
153
|
-
return null;
|
|
154
|
-
}
|
|
155
|
-
const selected = months.find(x => {
|
|
156
|
-
const date = this.dateService.utcDate(x.value);
|
|
157
|
-
date.setDate(1);
|
|
158
|
-
const month = new UtcDate(currentMonth.year, currentMonth.month, 1);
|
|
159
|
-
return this.dateService.isSameMonth(date, month);
|
|
160
|
-
});
|
|
161
|
-
return selected;
|
|
162
|
-
}
|
|
163
|
-
getAvailableDays(currentMonth, availableDates, availability, disablePastSelection, lowerLimitDate, activeDate, selectedDate) {
|
|
164
|
-
const firstDateInThisMonth = new Date();
|
|
165
|
-
firstDateInThisMonth.setUTCDate(1);
|
|
166
|
-
firstDateInThisMonth.setUTCHours(0, 0, 0, 0);
|
|
167
|
-
const currentDate = currentMonth
|
|
168
|
-
? new Date(Date.UTC(currentMonth.year, currentMonth.month, 1))
|
|
169
|
-
: firstDateInThisMonth;
|
|
170
|
-
const currentDateMonth = currentDate.getUTCMonth();
|
|
171
|
-
const days = new Array();
|
|
172
|
-
while (currentDate.getUTCMonth() === currentDateMonth) {
|
|
173
|
-
const utcDate = this.dateService.utcDate(currentDate);
|
|
174
|
-
const day = {
|
|
175
|
-
date: this.dateService.date(utcDate).toISOString(),
|
|
176
|
-
isAvailable: this.isAvailable(utcDate, availableDates, availability, disablePastSelection),
|
|
177
|
-
isDisabled: this.dateService.isLessThan(utcDate, lowerLimitDate) ? true : false,
|
|
178
|
-
isActive: this.dateService.isSameDate(this.dateService.utcDate(currentDate), activeDate) || this.dateService.isSameDate(this.dateService.utcDate(currentDate), lowerLimitDate),
|
|
179
|
-
isWithinRange: this.dateService.isGreaterThan(utcDate, lowerLimitDate) && this.dateService.isLessThan(utcDate, selectedDate)
|
|
180
|
-
};
|
|
181
|
-
if (selectedDate && this.dateService.isSameDate(selectedDate, utcDate) && day.isSelected || !day.isAvailable) {
|
|
182
|
-
day.isSelected = false;
|
|
183
|
-
}
|
|
184
|
-
days.push(day);
|
|
185
|
-
currentDate.setUTCDate(currentDate.getUTCDate() + 1);
|
|
186
|
-
}
|
|
187
|
-
return days;
|
|
188
|
-
}
|
|
189
|
-
isAvailable(date, availableDates, availability, disablePastSelection) {
|
|
190
|
-
if (!availability) {
|
|
191
|
-
return disablePastSelection && this.dateService.isInThePast(date, false, true, true) ? false : true;
|
|
192
|
-
}
|
|
193
|
-
if ((disablePastSelection && this.dateService.isInThePast(date, false, true, true))
|
|
194
|
-
|| !availableDates
|
|
195
|
-
|| !availableDates.some(x => this.dateService.isSameDate(x, date))) {
|
|
196
|
-
return false;
|
|
197
|
-
}
|
|
198
|
-
return true;
|
|
199
|
-
}
|
|
200
|
-
getMonday() {
|
|
201
|
-
const date = new Date();
|
|
202
|
-
const day = date.getDay();
|
|
203
|
-
const diff = date.getDate() - day + (day === 0 ? -6 : 1);
|
|
204
|
-
return new Date(date.setDate(diff));
|
|
205
|
-
}
|
|
206
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: CalendarService, deps: [{ token: i1.DatePipe }, { token: i2.DateHelper }], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
207
|
-
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: CalendarService, providedIn: 'root' }); }
|
|
208
|
-
}
|
|
209
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: CalendarService, decorators: [{
|
|
210
|
-
type: Injectable,
|
|
211
|
-
args: [{
|
|
212
|
-
providedIn: 'root'
|
|
213
|
-
}]
|
|
214
|
-
}], ctorParameters: function () { return [{ type: i1.DatePipe }, { type: i2.DateHelper }]; } });
|
|
215
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2FsZW5kYXIuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NvcmUtY29tcG9uZW50cy9zcmMvbGliL2NvbXBvbmVudHMvZGF0ZXBpY2tlci9zZXJ2aWNlcy9jYWxlbmRhci5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDM0MsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLHFDQUFxQyxDQUFDO0FBRzlELE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxtQ0FBbUMsQ0FBQzs7OztBQU85RCxNQUFNLE9BQU8sZUFBZTtJQUUxQixZQUFvQixRQUFrQixFQUFVLFdBQXVCO1FBQW5ELGFBQVEsR0FBUixRQUFRLENBQVU7UUFBVSxnQkFBVyxHQUFYLFdBQVcsQ0FBWTtJQUFJLENBQUM7SUFFNUUsYUFBYSxDQUFDLE1BQWU7UUFDM0IsTUFBTSxLQUFLLEdBQUcsSUFBSSxJQUFJLEVBQUUsQ0FBQztRQUN6QixLQUFLLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBQ2xCLEtBQUssQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFFakIsTUFBTSxVQUFVLEdBQUcsSUFBSSxLQUFLLEVBQVUsQ0FBQztRQUV2QyxLQUFLLElBQUksS0FBSyxHQUFHLENBQUMsRUFBRSxLQUFLLEdBQUcsRUFBRSxFQUFFLEtBQUssRUFBRSxFQUFFO1lBQ3ZDLE1BQU0sWUFBWSxHQUFHLElBQUksSUFBSSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUFDLFdBQVcsRUFBRSxFQUFFLEtBQUssQ0FBQyxRQUFRLEVBQUUsR0FBRyxLQUFLLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQztZQUMxRixVQUFVLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsU0FBUyxDQUFDLFlBQVksRUFBRSxN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SUFBSSxJQUFJLEVBQUUsQ0FBQztRQUN4QixNQUFNLEdBQUcsR0FBRyxJQUFJLENBQUMsTUFBTSxFQUFFLENBQUM7UUFDMUIsTUFBTSxJQUFJLEdBQUcsSUFBSSxDQUFDLE9BQU8sRUFBRSxHQUFHLEdBQUcsR0FBRyxDQUFDLEdBQUcsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUN6RCxPQUFPLElBQUksSUFBSSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQztJQUN0QyxDQUFDOytHQTlQVSxlQUFlO21IQUFmLGVBQWUsY0FGZCxNQUFNOzs0RkFFUCxlQUFlO2tCQUgzQixVQUFVO21CQUFDO29CQUNWLFVBQVUsRUFBRSxNQUFNO2lCQUNuQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IERhdGVQaXBlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFV0Y0RhdGUgfSBmcm9tICcuLi8uLi8uLi9jb3JlL21vZGVscy91dGMtZGF0ZS5tb2RlbCc7XG5pbXBvcnQgeyBEYXRlSGVscGVyIH0gZnJvbSAnLi4vLi4vLi4vY29yZS9zZXJ2aWNlcy9kYXRlL2RhdGUtaGVscGVyLnNlcnZpY2UnO1xuaW1wb3J0IHsgU2VsZWN0T3B0aW9uTW9kZWwgfSBmcm9tICcuLi8uLi9zZWxlY3QvbW9kZWxzL3NlbGVjdC1vcHRpb24ubW9kZWwnO1xuaW1wb3J0IHsgV2Vla1N0YXJ0IH0gZnJvbSAnLi4vY2FsZW5kYXIvZW51bXMvd2Vlay1zdGFydC5lbnVtJztcbmltcG9ydCB7IERheU1vZGVsIH0gZnJvbSAnLi4vY2FsZW5kYXIvbW9kZWxzL2RheS5tb2RlbCc7XG5pbXBvcnQgeyBXZWVrTW9kZWwgfSBmcm9tICcuLi9jYWxlbmRhci9tb2RlbHMvd2Vlay5tb2RlbCc7XG5cbkBJbmplY3RhYmxlKHtcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnXG59KVxuZXhwb3J0IGNsYXNzIENhbGVuZGFyU2VydmljZSB7XG5cbiAgY29uc3RydWN0b3IocHJpdmF0ZSBkYXRlUGlwZTogRGF0ZVBpcGUsIHByaXZhdGUgZGF0ZVNlcnZpY2U6IERhdGVIZWxwZXIpIHsgfVxuXG4gIGdldE1vbnRoTmFtZXMobG9jYWxlPzogc3RyaW5nKTogQXJyYXk8c3RyaW5nPiB7XG4gICAgY29uc3QgbW9udGggPSBuZXcgRGF0ZSgpO1xuICAgIG1vbnRoLnNldE1vbnRoKDApO1xuICAgIG1vbnRoLnNldERhdGUoMSk7XG5cbiAgICBjb25zdCBtb250aE5hbWVzID0gbmV3IEFycmF5PHN0cmluZz4oKTtcblxuICAgIGZvciAobGV0IGluZGV4ID0gMDsgaW5kZXggPCAxMjsgaW5kZXgrKykge1xuICAgICAgY29uc3QgY3VycmVudE1vbnRoID0gbmV3IERhdGUoRGF0ZS5VVEMobW9udGguZ2V0RnVsbFllYXIoKSwgbW9udGguZ2V0TW9udGgoKSArIGluZGV4LCAxKSk7XG4gICAgICBtb250aE5hbWVzLnB1c2godGhpcy5kYXRlUGlwZS50cmFuc2Zvcm0oY3VycmVudE1vbnRoLCAnTU1NTScsICdVVEMnLCBsb2NhbGUpKTtcbiAgICB9XG5cbiAgICByZXR1cm4gbW9udGhOYW1lcztcbiAgfVxuXG4gIGdldFdlZWtkYXlzKHdlZWtTdGFydDogV2Vla1N0YXJ0LCBsb2NhbGU/OiBzdHJpbmcpOiBBcnJheTxzdHJpbmc+IHtcbiAgICBjb25zdCB3ZWVrZGF5ID0gdGhpcy5nZXRNb25kYXkoKTtcblxuICAgIGNvbnN0IHdlZWtkYXlzID0gbmV3IEFycmF5PHN0cmluZz4oKTtcblxuICAgIGZvciAobGV0IGluZGV4ID0gMDsgaW5kZXggPCA3OyBpbmRleCsrKSB7XG4gICAgICBjb25zdCBjdXJyZW50RGF5ID0gbmV3IERhdGUoRGF0ZS5VVEMod2Vla2RheS5nZXRGdWxsWWVhcigpLCB3ZWVrZGF5LmdldE1vbnRoKCksIHdlZWtkYXkuZ2V0RGF0ZSgpICsgaW5kZXgpKTtcbiAgICAgIGNvbnN0IGRheU5hbWUgPSB0aGlzLmRhdGVQaXBlLnRyYW5zZm9ybShjdXJyZW50RGF5LCAnRUVFJywgJ1VUQycsIGxvY2FsZSk7XG4gICAgICB3ZWVrZGF5cy5wdXNoKGRheU5hbWUuY2hhckF0KDApKTtcbiAgICB9XG4gICAgaWYgKHdlZWtTdGFydCAhPT0gV2Vla1N0YXJ0Lm1vbmRheSkge1xuICAgICAgY29uc3Qgc3VuZGF5ID0gd2Vla2RheXMucG9wKCk7XG4gICAgICB3ZWVrZGF5cy51bnNoaWZ0KHN1bmRheSk7XG4gICAgfVxuXG4gICAgcmV0dXJuIHdlZWtkYXlzO1xuICB9XG5cbiAgdXBkYXRlQXZhaWxhYmxlRGF5c1dpdGhTZWxlY3RlZERhdGUoYXZhaWxhYmxlRGF5czogQXJyYXk8RGF5TW9kZWw+LCBzZWxlY3RlZERhdGU6IFV0Y0RhdGUpOiB2b2lkIHtcbiAgICBpZiAoIWF2YWlsYWJsZURheXMgfHwgIXNlbGVjdGVkRGF0ZSkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIGF2YWlsYWJsZURheXMgPSBhdmFpbGFibGVEYXlzLm1hcCgoeDogRGF5TW9kZWwpID0+IHtcbiAgICAgIGlmICghdGhpcy5kYXRlU2VydmljZS5pc1NhbWVEYXRlKHRoaXMuZGF0ZVNlcnZpY2UudXRjRGF0ZSh4LmRhdGUpLCBzZWxlY3RlZERhdGUpKSB7XG4gICAgICAgIHJldHVybiB4O1xuICAgICAgfVxuXG4gICAgICBpZiAoeC5pc0Rpc2FibGVkKSB7XG4gICAgICAgIHNlbGVjdGVkRGF0ZS5zZXREYXRlKHNlbGVjdGVkRGF0ZS5kYXRlICsgMSk7XG4gICAgICAgIHJldHVybiB4O1xuICAgICAgfVxuXG4gICAgICB4LmlzU2VsZWN0ZWQgPSB0cnVlO1xuICAgICAgcmV0dXJuIHg7XG4gICAgfSk7XG4gIH1cblxuICBzZXRBY3RpdmVEYXRlKGRhdGU6IFV0Y0RhdGUsIHdlZWtzOiBBcnJheTxXZWVrTW9kZWw+KTogdm9pZCB7XG4gICAgaWYgKCF3ZWVrcyB8fCB3ZWVrcy5sZW5ndGggPD0gMCkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIGZvciAoY29uc3QgZGF5IG9mIHRoaXMuZ2V0RGF5cyh3ZWVrcykpIHtcbiAgICAgIGlmICghZGF5KSB7XG4gICAgICAgIGNvbnRpbnVlO1xuICAgICAgfVxuXG4gICAgICBkYXkuaXNBY3RpdmUgPSBmYWxzZTtcbiAgICAgIGNvbnN0IHV0Y0RhdGUgPSB0aGlzLmRhdGVTZXJ2aWNlLnV0Y0RhdGUoZGF5LmRhdGUpO1xuXG4gICAgICBpZiAodGhpcy5kYXRlU2VydmljZS5pc1NhbWVEYXRlKHV0Y0RhdGUsIGRhdGUpKSB7XG4gICAgICAgIGRheS5pc0FjdGl2ZSA9IHRydWU7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgZ2V0RGF5cyh3ZWVrczogQXJyYXk8V2Vla01vZGVsPik6IEFycmF5PERheU1vZGVsPiB7XG4gICAgY29uc3QgZmxhdHRlbiA9IG5ldyBBcnJheTxEYXlNb2RlbD4oKTtcblxuICAgIHdlZWtzLmZvckVhY2goeCA9PiB4LmRheXMuZm9yRWFjaChkID0+IGZsYXR0ZW4ucHVzaChkKSkpO1xuXG4gICAgcmV0dXJuIGZsYXR0ZW47XG4gIH1cblxuICBnZXRXZWVrcyhhdmFpbGFibGVEYXlzOiBBcnJheTxEYXlNb2RlbD4sIHdlZWtTdGFydDogV2Vla1N0YXJ0KTogQXJyYXk8V2Vla01vZGVsPiB7XG4gICAgaWYgKCFhdmFpbGFibGVEYXlzKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgY29uc3Qgc29ydGVkRGF5cyA9IGF2YWlsYWJsZURheXNcbiAgICAgIC5zb3J0KChhLCBiKSA9PiB0aGlzLmRhdGVTZXJ2aWNlXG4gICAgICAgIC5kYXRlKHRoaXMuZGF0ZVNlcnZpY2UudXRjRGF0ZShhLmRhdGUpKS5nZXRUaW1lKCkgLSB0aGlzLmRhdGVTZXJ2aWNlLmRhdGUodGhpcy5kYXRlU2VydmljZS51dGNEYXRlKGIuZGF0ZSkpLmdldFRpbWUoKSk7XG5cbiAgICBjb25zdCB3ZWVrcyA9IG5ldyBBcnJheTxXZWVrTW9kZWw+KCk7XG4gICAgbGV0IGluZGV4ID0gMDtcblxuICAgIGZvciAobGV0IHdlZWsgPSAwOyB3ZWVrIDwgNjsgd2VlaysrKSB7XG4gICAgICBjb25zdCBkYXlzID0gbmV3IEFycmF5PERheU1vZGVsPigpO1xuXG4gICAgICBmb3IgKGxldCBkYXkgPSAwOyBkYXkgPCA3OyBkYXkrKykge1xuICAgICAgICBjb25zdCBjdXJyZW50RGF5TW9kZWwgPSBzb3J0ZWREYXlzWzBdO1xuICAgICAgICBpZiAoY3VycmVudERheU1vZGVsKSB7XG4gICAgICAgICAgY29uc3QgY3VycmVudERhdGUgPSB0aGlzLmRhdGVTZXJ2aWNlLnV0Y0RhdGUoY3VycmVudERheU1vZGVsLmRhdGUpO1xuXG4gICAgICAgICAgY3VycmVudERheU1vZGVsLmlzRW1wdHkgPSBjdXJyZW50RGF5TW9kZWwuaXNBdmFpbGFibGU7XG5cbiAgICAgICAgICBsZXQgY3VycmVudERheSA9IGN1cnJlbnREYXRlLmdldERheSgpO1xuXG4gICAgICAgICAgaWYgKHdlZWtTdGFydCA9PT0gV2Vla1N0YXJ0Lm1vbmRheSkge1xuICAgICAgICAgICAgaWYgKGN1cnJlbnREYXkgPT09IDApIHtcbiAgICAgICAgICAgICAgY3VycmVudERheSA9IDY7XG4gICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICBjdXJyZW50RGF5IC09IDE7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgaWYgKGN1cnJlbnREYXkgPT09IGRheSkge1xuICAgICAgICAgICAgaW5kZXggPSBpbmRleCArIDE7XG4gICAgICAgICAgICBjdXJyZW50RGF5TW9kZWwuaW5kZXggPSBpbmRleDtcblxuICAgICAgICAgICAgZGF5cy5wdXNoKGN1cnJlbnREYXlNb2RlbCk7XG4gICAgICAgICAgICBzb3J0ZWREYXlzLnNoaWZ0KCk7XG4gICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIGRheXMucHVzaChudWxsKTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgY29uc3QgZmlyc3REYXlJbldlZWsgPSBkYXlzLmZpbmQoeCA9PiB4ICE9IG51bGwpO1xuICAgICAgbGV0IGZpcnN0RGF0ZURhdGVJbldlZWs6IERhdGU7XG5cbiAgICAgIGlmIChmaXJzdERheUluV2Vlaykge1xuICAgICAgICBjb25zdCB1dGNEYXRlID0gdGhpcy5kYXRlU2VydmljZS51dGNEYXRlKGZpcnN0RGF5SW5XZWVrLmRhdGUpO1xuICAgICAgICBmaXJzdERhdGVEYXRlSW5XZWVrID0gbmV3IERhdGUodXRjRGF0ZS55ZWFyLCB1dGNEYXRlLm1vbnRoLCB1dGNEYXRlLmRhdGUpO1xuICAgICAgfVxuXG4gICAgICBpZiAoIWRheXMuZXZlcnkoeCA9PiB4ID09PSBudWxsKSkge1xuICAgICAgICB3ZWVrcy5wdXNoKHtcbiAgICAgICAgICBkYXlzOiBkYXlzLFxuICAgICAgICAgIHdlZWtOdW1iZXI6IHRoaXMuZGF0ZVNlcnZpY2UuZ2V0V2Vla051bWJlcihmaXJzdERhdGVEYXRlSW5XZWVrKVxuICAgICAgICB9KTtcbiAgICAgIH1cbiAgICB9XG4gICAgcmV0dXJuIHdlZWtzO1xuICB9XG5cbiAgZ2V0Q3VycmVudE1vbnRoKGRhdGU/OiBVdGNEYXRlKTogVXRjRGF0ZSB7XG4gICAgbGV0IGN1cnJlbnRNb250aDogVXRjRGF0ZTtcbiAgICBpZiAoZGF0ZSkge1xuICAgICAgY3VycmVudE1vbnRoID0gdGhpcy5kYXRlU2VydmljZS51dGNEYXRlKG5ldyBEYXRlKERhdGUuVVRDKGRhdGUueWVhciwgZGF0ZS5tb250aCwgMSkpKTtcbiAgICB9IGVsc2Uge1xuICAgICAgY3VycmVudE1vbnRoID0gdGhpcy5kYXRlU2VydmljZS51dGNEYXRlKCk7XG4gICAgfVxuXG4gICAgcmV0dXJuIGN1cnJlbnRNb250aDtcbiAgfVxuXG4gIGdldE1vbnRoc1NlbGVjdE9wdGlvbnMoZGlzYWJsZVBhc3RTZWxlY3Rpb246IGJvb2xlYW4sIG1heE1vbnRoSW5kZXg6IG51bWJlciwgbW9udGhOYW1lczogQXJyYXk8c3RyaW5nPik6IEFycmF5PFNlbGVjdE9wdGlvbk1vZGVsPiB7XG4gICAgY29uc3QgbW9udGhzID0gbmV3IEFycmF5PFNlbGVjdE9wdGlvbk1vZGVsPigpO1xuXG4gICAgaWYgKGRpc2FibGVQYXN0U2VsZWN0aW9uID09PSBmYWxzZSkge1xuICAgICAgcmV0dXJuIG1vbnRocztcbiAgICB9XG5cbiAgICBmb3IgKGxldCBpbmRleCA9IDA7IGluZGV4IDwgbWF4TW9udGhJbmRleDsgaW5kZXgrKykge1xuICAgICAgY29uc3QgZGF0ZSA9IHRoaXMuZGF0ZVNlcnZpY2UudXRjRGF0ZSgpLnRvRGF0ZSgpO1xuICAgICAgZGF0ZS5zZXRVVENEYXRlKDEpO1xuICAgICAgZGF0ZS5zZXRVVENNb250aChkYXRlLmdldFVUQ01vbnRoKCkgKyBpbmRleCk7XG5cbiAgICAgIGNvbnN0IHNlbGVjdE9wdGlvbjogU2VsZWN0T3B0aW9uTW9kZWwgPSB7XG4gICAgICAgIHRpdGxlOiBgJHttb250aE5hbWVzW2RhdGUuZ2V0VVRDTW9udGgoKV19ICR7ZGF0ZS5nZXRVVENGdWxsWWVhcigpfWAsXG4gICAgICAgIHZhbHVlOiBkYXRlLnRvSVNPU3RyaW5nKClcbiAgICAgIH07XG5cbiAgICAgIG1vbnRocy5wdXNoKHNlbGVjdE9wdGlvbik7XG4gICAgfVxuXG4gICAgcmV0dXJuIG1vbnRocztcbiAgfVxuXG4gIGdldFNlbGVjdGVkTW9udGgobW9udGhzOiBBcnJheTxTZWxlY3RPcHRpb25Nb2RlbD4sIGN1cnJlbnRNb250aDogVXRjRGF0ZSk6IFNlbGVjdE9wdGlvbk1vZGVsIHtcbiAgICBpZiAoIW1vbnRocykge1xuICAgICAgcmV0dXJuIG51bGw7XG4gICAgfVxuXG4gICAgY29uc3Qgc2VsZWN0ZWQgPSBtb250aHMuZmluZCh4ID0+IHtcbiAgICAgIGNvbnN0IGRhdGUgPSB0aGlzLmRhdGVTZXJ2aWNlLnV0Y0RhdGUoeC52YWx1ZSk7XG4gICAgICBkYXRlLnNldERhdGUoMSk7XG4gICAgICBjb25zdCBtb250aCA9IG5ldyBVdGNEYXRlKGN1cnJlbnRNb250aC55ZWFyLCBjdXJyZW50TW9udGgubW9udGgsIDEpO1xuICAgICAgcmV0dXJuIHRoaXMuZGF0ZVNlcnZpY2UuaXNTYW1lTW9udGgoZGF0ZSwgbW9udGgpO1xuICAgIH0pO1xuXG4gICAgcmV0dXJuIHNlbGVjdGVkO1xuICB9XG5cbiAgZ2V0QXZhaWxhYmxlRGF5cyhcbiAgICBjdXJyZW50TW9udGg6IFV0Y0RhdGUsXG4gICAgYXZhaWxhYmxlRGF0ZXM6IEFycmF5PFV0Y0RhdGU+LFxuICAgIGF2YWlsYWJpbGl0eTogYm9vbGVhbixcbiAgICBkaXNhYmxlUGFzdFNlbGVjdGlvbjogYm9vbGVhbixcbiAgICBsb3dlckxpbWl0RGF0ZTogVXRjRGF0ZSxcbiAgICBhY3RpdmVEYXRlOiBVdGNEYXRlLFxuICAgIHNlbGVjdGVkRGF0ZTogVXRjRGF0ZSk6IEFycmF5PERheU1vZGVsPiB7XG4gICAgY29uc3QgZmlyc3REYXRlSW5UaGlzTW9udGggPSBuZXcgRGF0ZSgpO1xuICAgIGZpcnN0RGF0ZUluVGhpc01vbnRoLnNldFVUQ0RhdGUoMSk7XG4gICAgZmlyc3REYXRlSW5UaGlzTW9udGguc2V0VVRDSG91cnMoMCwgMCwgMCwgMCk7XG5cbiAgICBjb25zdCBjdXJyZW50RGF0ZSA9IGN1cnJlbnRNb250aFxuICAgICAgPyBuZXcgRGF0ZShEYXRlLlVUQyhjdXJyZW50TW9udGgueWVhciwgY3VycmVudE1vbnRoLm1vbnRoLCAxKSlcbiAgICAgIDogZmlyc3REYXRlSW5UaGlzTW9udGg7XG5cbiAgICBjb25zdCBjdXJyZW50RGF0ZU1vbnRoID0gY3VycmVudERhdGUuZ2V0VVRDTW9udGgoKTtcbiAgICBjb25zdCBkYXlzID0gbmV3IEFycmF5PERheU1vZGVsPigpO1xuXG4gICAgd2hpbGUgKGN1cnJlbnREYXRlLmdldFVUQ01vbnRoKCkgPT09IGN1cnJlbnREYXRlTW9udGgpIHtcbiAgICAgIGNvbnN0IHV0Y0RhdGUgPSB0aGlzLmRhdGVTZXJ2aWNlLnV0Y0RhdGUoY3VycmVudERhdGUpO1xuICAgICAgY29uc3QgZGF5OiBEYXlNb2RlbCA9IHtcbiAgICAgICAgZGF0ZTogdGhpcy5kYXRlU2VydmljZS5kYXRlKHV0Y0RhdGUpLnRvSVNPU3RyaW5nKCksXG4gICAgICAgIGlzQXZhaWxhYmxlOiB0aGlzLmlzQXZhaWxhYmxlKHV0Y0RhdGUsIGF2YWlsYWJsZURhdGVzLCBhdmFpbGFiaWxpdHksIGRpc2FibGVQYXN0U2VsZWN0aW9uKSxcbiAgICAgICAgaXNEaXNhYmxlZDogdGhpcy5kYXRlU2VydmljZS5pc0xlc3NUaGFuKHV0Y0RhdGUsIGxvd2VyTGltaXREYXRlKSA/IHRydWUgOiBmYWxzZSxcbiAgICAgICAgaXNBY3RpdmU6IHRoaXMuZGF0ZVNlcnZpY2UuaXNTYW1lRGF0ZSh0aGlzLmRhdGVTZXJ2aWNlLnV0Y0RhdGUoY3VycmVudERhdGUpLCBhY3RpdmVEYXRlKSB8fCB0aGlzLmRhdGVTZXJ2aWNlLmlzU2FtZURhdGUodGhpcy5kYXRlU2VydmljZS51dGNEYXRlKGN1cnJlbnREYXRlKSwgbG93ZXJMaW1pdERhdGUpLFxuICAgICAgICBpc1dpdGhpblJhbmdlOiB0aGlzLmRhdGVTZXJ2aWNlLmlzR3JlYXRlclRoYW4odXRjRGF0ZSwgbG93ZXJMaW1pdERhdGUpICYmIHRoaXMuZGF0ZVNlcnZpY2UuaXNMZXNzVGhhbih1dGNEYXRlLCBzZWxlY3RlZERhdGUpXG4gICAgICB9O1xuXG4gICAgICBpZiAoc2VsZWN0ZWREYXRlICYmIHRoaXMuZGF0ZVNlcnZpY2UuaXNTYW1lRGF0ZShzZWxlY3RlZERhdGUsIHV0Y0RhdGUpICYmIGRheS5pc1NlbGVjdGVkIHx8ICFkYXkuaXNBdmFpbGFibGUpIHtcbiAgICAgICAgZGF5LmlzU2VsZWN0ZWQgPSBmYWxzZTtcbiAgICAgIH1cblxuICAgICAgZGF5cy5wdXNoKGRheSk7XG4gICAgICBjdXJyZW50RGF0ZS5zZXRVVENEYXRlKGN1cnJlbnREYXRlLmdldFVUQ0RhdGUoKSArIDEpO1xuICAgIH1cblxuICAgIHJldHVybiBkYXlzO1xuICB9XG5cbiAgcHJpdmF0ZSBpc0F2YWlsYWJsZShkYXRlOiBVdGNEYXRlLCBhdmFpbGFibGVEYXRlczogQXJyYXk8VXRjRGF0ZT4sIGF2YWlsYWJpbGl0eTogYm9vbGVhbiwgZGlzYWJsZVBhc3RTZWxlY3Rpb246IGJvb2xlYW4pOiBib29sZWFuIHtcbiAgICBpZiAoIWF2YWlsYWJpbGl0eSkge1xuICAgICAgcmV0dXJuIGRpc2FibGVQYXN0U2VsZWN0aW9uICYmIHRoaXMuZGF0ZVNlcnZpY2UuaXNJblRoZVBhc3QoZGF0ZSwgZmFsc2UsIHRydWUsIHRydWUpID8gZmFsc2UgOiB0cnVlO1xuICAgIH1cblxuICAgIGlmICgoZGlzYWJsZVBhc3RTZWxlY3Rpb24gJiYgdGhpcy5kYXRlU2VydmljZS5pc0luVGhlUGFzdChkYXRlLCBmYWxzZSwgdHJ1ZSwgdHJ1ZSkpXG4gICAgICB8fCAhYXZhaWxhYmxlRGF0ZXNcbiAgICAgIHx8ICFhdmFpbGFibGVEYXRlcy5zb21lKHggPT4gdGhpcy5kYXRlU2VydmljZS5pc1NhbWVEYXRlKHgsIGRhdGUpKSkge1xuICAgICAgcmV0dXJuIGZhbHNlO1xuICAgIH1cblxuICAgIHJldHVybiB0cnVlO1xuICB9XG5cbiAgcHJpdmF0ZSBnZXRNb25kYXkoKSB7XG4gICAgY29uc3QgZGF0ZSA9IG5ldyBEYXRlKCk7XG4gICAgY29uc3QgZGF5ID0gZGF0ZS5nZXREYXkoKTtcbiAgICBjb25zdCBkaWZmID0gZGF0ZS5nZXREYXRlKCkgLSBkYXkgKyAoZGF5ID09PSAwID8gLTYgOiAxKTtcbiAgICByZXR1cm4gbmV3IERhdGUoZGF0ZS5zZXREYXRlKGRpZmYpKTtcbiAgfVxufVxuIl19
|