ngx-bootstrap 5.6.1 → 6.2.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +127 -0
- package/README.md +8 -1
- package/accordion/accordion-group.component.d.ts +3 -2
- package/accordion/accordion.module.d.ts +1 -1
- package/accordion/bundles/ngx-bootstrap-accordion.umd.js +5 -2
- package/accordion/bundles/ngx-bootstrap-accordion.umd.js.map +1 -1
- package/accordion/bundles/ngx-bootstrap-accordion.umd.min.js +1 -1
- package/accordion/bundles/ngx-bootstrap-accordion.umd.min.js.map +1 -1
- package/accordion/esm2015/accordion.config.js +6 -2
- package/accordion/esm2015/accordion.module.js +2 -3
- package/accordion/esm5/accordion.config.js +6 -2
- package/accordion/esm5/accordion.module.js +2 -3
- package/accordion/fesm2015/ngx-bootstrap-accordion.js +6 -3
- package/accordion/fesm2015/ngx-bootstrap-accordion.js.map +1 -1
- package/accordion/fesm5/ngx-bootstrap-accordion.js +6 -3
- package/accordion/fesm5/ngx-bootstrap-accordion.js.map +1 -1
- package/accordion/ngx-bootstrap-accordion.metadata.json +1 -1
- package/accordion/package.json +2 -2
- package/alert/alert.module.d.ts +1 -1
- package/alert/bundles/ngx-bootstrap-alert.umd.js +5 -2
- package/alert/bundles/ngx-bootstrap-alert.umd.js.map +1 -1
- package/alert/bundles/ngx-bootstrap-alert.umd.min.js +2 -2
- package/alert/bundles/ngx-bootstrap-alert.umd.min.js.map +1 -1
- package/alert/esm2015/alert.component.js +3 -3
- package/alert/esm2015/alert.config.js +6 -2
- package/alert/esm2015/alert.module.js +2 -3
- package/alert/esm5/alert.component.js +3 -3
- package/alert/esm5/alert.config.js +6 -2
- package/alert/esm5/alert.module.js +2 -3
- package/alert/fesm2015/ngx-bootstrap-alert.js +6 -3
- package/alert/fesm2015/ngx-bootstrap-alert.js.map +1 -1
- package/alert/fesm5/ngx-bootstrap-alert.js +6 -3
- package/alert/fesm5/ngx-bootstrap-alert.js.map +1 -1
- package/alert/ngx-bootstrap-alert.metadata.json +1 -1
- package/alert/package.json +2 -2
- package/buttons/bundles/ngx-bootstrap-buttons.umd.js +293 -16
- package/buttons/bundles/ngx-bootstrap-buttons.umd.js.map +1 -1
- package/buttons/bundles/ngx-bootstrap-buttons.umd.min.js +1 -1
- package/buttons/bundles/ngx-bootstrap-buttons.umd.min.js.map +1 -1
- package/buttons/button-checkbox.directive.d.ts +2 -2
- package/buttons/button-radio-group.directive.d.ts +12 -1
- package/buttons/button-radio.directive.d.ts +19 -7
- package/buttons/buttons.module.d.ts +1 -1
- package/buttons/esm2015/button-radio-group.directive.js +140 -3
- package/buttons/esm2015/button-radio.directive.js +98 -18
- package/buttons/esm2015/buttons.module.js +1 -1
- package/buttons/esm5/button-radio-group.directive.js +171 -3
- package/buttons/esm5/button-radio.directive.js +126 -17
- package/buttons/esm5/buttons.module.js +1 -1
- package/buttons/fesm2015/ngx-bootstrap-buttons.js +235 -18
- package/buttons/fesm2015/ngx-bootstrap-buttons.js.map +1 -1
- package/buttons/fesm5/ngx-bootstrap-buttons.js +294 -17
- package/buttons/fesm5/ngx-bootstrap-buttons.js.map +1 -1
- package/buttons/ngx-bootstrap-buttons.metadata.json +1 -1
- package/buttons/package.json +2 -2
- package/carousel/bundles/ngx-bootstrap-carousel.umd.js +5 -3
- package/carousel/bundles/ngx-bootstrap-carousel.umd.js.map +1 -1
- package/carousel/bundles/ngx-bootstrap-carousel.umd.min.js +1 -1
- package/carousel/bundles/ngx-bootstrap-carousel.umd.min.js.map +1 -1
- package/carousel/carousel.component.d.ts +7 -5
- package/carousel/carousel.module.d.ts +1 -1
- package/carousel/esm2015/carousel.config.js +6 -2
- package/carousel/esm2015/carousel.module.js +2 -4
- package/carousel/esm5/carousel.component.js +4 -4
- package/carousel/esm5/carousel.config.js +6 -2
- package/carousel/esm5/carousel.module.js +2 -4
- package/carousel/fesm2015/ngx-bootstrap-carousel.js +6 -4
- package/carousel/fesm2015/ngx-bootstrap-carousel.js.map +1 -1
- package/carousel/fesm5/ngx-bootstrap-carousel.js +6 -4
- package/carousel/fesm5/ngx-bootstrap-carousel.js.map +1 -1
- package/carousel/ngx-bootstrap-carousel.metadata.json +1 -1
- package/carousel/package.json +2 -2
- package/chronos/bundles/ngx-bootstrap-chronos.umd.js +90 -73
- package/chronos/bundles/ngx-bootstrap-chronos.umd.js.map +1 -1
- package/chronos/bundles/ngx-bootstrap-chronos.umd.min.js +69 -1
- package/chronos/bundles/ngx-bootstrap-chronos.umd.min.js.map +1 -1
- package/chronos/esm2015/create/from-anything.js +2 -2
- package/chronos/esm2015/duration/valid.js +4 -6
- package/chronos/esm2015/i18n/ar.js +1 -4
- package/chronos/esm2015/i18n/bg.js +18 -20
- package/chronos/esm2015/i18n/cs.js +45 -47
- package/chronos/esm2015/i18n/et.js +1 -3
- package/chronos/esm2015/i18n/th-be.js +21 -1
- package/chronos/esm2015/locale/locale.class.js +5 -3
- package/chronos/esm5/create/from-anything.js +2 -2
- package/chronos/esm5/duration/valid.js +4 -6
- package/chronos/esm5/i18n/ar.js +1 -4
- package/chronos/esm5/i18n/bg.js +18 -20
- package/chronos/esm5/i18n/cs.js +45 -47
- package/chronos/esm5/i18n/et.js +1 -3
- package/chronos/esm5/i18n/th-be.js +21 -1
- package/chronos/esm5/locale/locale.class.js +6 -3
- package/chronos/esm5/test/chain.js +4 -4
- package/chronos/fesm2015/ngx-bootstrap-chronos.js +89 -73
- package/chronos/fesm2015/ngx-bootstrap-chronos.js.map +1 -1
- package/chronos/fesm5/ngx-bootstrap-chronos.js +90 -73
- package/chronos/fesm5/ngx-bootstrap-chronos.js.map +1 -1
- package/chronos/locale/locale.class.d.ts +4 -3
- package/chronos/package.json +2 -2
- package/collapse/bundles/ngx-bootstrap-collapse.umd.js.map +1 -1
- package/collapse/bundles/ngx-bootstrap-collapse.umd.min.js.map +1 -1
- package/collapse/collapse.directive.d.ts +3 -2
- package/collapse/collapse.module.d.ts +1 -1
- package/collapse/esm2015/collapse.module.js +1 -1
- package/collapse/esm5/collapse.module.js +1 -1
- package/collapse/fesm2015/ngx-bootstrap-collapse.js.map +1 -1
- package/collapse/fesm5/ngx-bootstrap-collapse.js.map +1 -1
- package/collapse/package.json +2 -2
- package/component-loader/bundles/ngx-bootstrap-component-loader.umd.js +5 -4
- package/component-loader/bundles/ngx-bootstrap-component-loader.umd.js.map +1 -1
- package/component-loader/bundles/ngx-bootstrap-component-loader.umd.min.js +1 -1
- package/component-loader/bundles/ngx-bootstrap-component-loader.umd.min.js.map +1 -1
- package/component-loader/component-loader.class.d.ts +4 -3
- package/component-loader/esm2015/component-loader.class.js +5 -5
- package/component-loader/esm5/component-loader.class.js +6 -5
- package/component-loader/fesm2015/ngx-bootstrap-component-loader.js +4 -4
- package/component-loader/fesm2015/ngx-bootstrap-component-loader.js.map +1 -1
- package/component-loader/fesm5/ngx-bootstrap-component-loader.js +5 -4
- package/component-loader/fesm5/ngx-bootstrap-component-loader.js.map +1 -1
- package/component-loader/package.json +2 -2
- package/datepicker/base/bs-datepicker-container.d.ts +20 -8
- package/datepicker/bs-datepicker-inline.component.d.ts +6 -2
- package/datepicker/bs-datepicker.component.d.ts +14 -5
- package/datepicker/bs-datepicker.config.d.ts +41 -1
- package/datepicker/bs-datepicker.css +126 -5
- package/datepicker/bs-datepicker.css.map +4 -4
- package/datepicker/bs-datepicker.module.d.ts +1 -1
- package/datepicker/bs-datepicker.scss +25 -5
- package/datepicker/bs-daterangepicker-inline.component.d.ts +1 -1
- package/datepicker/bs-daterangepicker.component.d.ts +9 -4
- package/datepicker/bs-locale.service.d.ts +3 -3
- package/datepicker/bundles/ngx-bootstrap-datepicker.umd.js +604 -93
- package/datepicker/bundles/ngx-bootstrap-datepicker.umd.js.map +1 -1
- package/datepicker/bundles/ngx-bootstrap-datepicker.umd.min.js +2 -2
- package/datepicker/bundles/ngx-bootstrap-datepicker.umd.min.js.map +1 -1
- package/datepicker/datepicker-inner.component.d.ts +2 -1
- package/datepicker/datepicker.component.d.ts +2 -1
- package/datepicker/datepicker.module.d.ts +1 -1
- package/datepicker/daypicker.component.d.ts +1 -1
- package/datepicker/engine/flag-days-calendar.d.ts +2 -1
- package/datepicker/engine/flag-months-calendar.d.ts +1 -0
- package/datepicker/engine/flag-years-calendar.d.ts +1 -0
- package/datepicker/esm2015/base/bs-datepicker-container.js +38 -1
- package/datepicker/esm2015/bs-datepicker-inline.component.js +12 -1
- package/datepicker/esm2015/bs-datepicker-inline.config.js +6 -2
- package/datepicker/esm2015/bs-datepicker-input.directive.js +9 -1
- package/datepicker/esm2015/bs-datepicker.component.js +45 -6
- package/datepicker/esm2015/bs-datepicker.config.js +88 -2
- package/datepicker/esm2015/bs-datepicker.module.js +3 -10
- package/datepicker/esm2015/bs-daterangepicker-inline.component.js +3 -2
- package/datepicker/esm2015/bs-daterangepicker-inline.config.js +6 -2
- package/datepicker/esm2015/bs-daterangepicker-input.directive.js +11 -3
- package/datepicker/esm2015/bs-daterangepicker.component.js +36 -7
- package/datepicker/esm2015/bs-daterangepicker.config.js +6 -2
- package/datepicker/esm2015/datepicker.config.js +6 -2
- package/datepicker/esm2015/datepicker.module.js +1 -1
- package/datepicker/esm2015/engine/flag-days-calendar.js +22 -3
- package/datepicker/esm2015/engine/flag-months-calendar.js +14 -3
- package/datepicker/esm2015/engine/flag-years-calendar.js +14 -3
- package/datepicker/esm2015/models/index.js +13 -1
- package/datepicker/esm2015/public_api.js +1 -1
- package/datepicker/esm2015/reducer/bs-datepicker.actions.js +14 -1
- package/datepicker/esm2015/reducer/bs-datepicker.effects.js +27 -33
- package/datepicker/esm2015/reducer/bs-datepicker.reducer.js +10 -2
- package/datepicker/esm2015/reducer/bs-datepicker.state.js +3 -1
- package/datepicker/esm2015/themes/bs/bs-custom-dates-view.component.js +5 -2
- package/datepicker/esm2015/themes/bs/bs-datepicker-container.component.js +57 -5
- package/datepicker/esm2015/themes/bs/bs-datepicker-inline-container.component.js +2 -2
- package/datepicker/esm2015/themes/bs/bs-daterangepicker-container.component.js +73 -4
- package/datepicker/esm2015/themes/bs/bs-daterangepicker-inline-container.component.js +2 -2
- package/datepicker/esm2015/themes/bs/bs-days-calendar-view.component.js +42 -4
- package/datepicker/esm5/base/bs-datepicker-container.js +52 -1
- package/datepicker/esm5/bs-datepicker-inline.component.js +12 -1
- package/datepicker/esm5/bs-datepicker-inline.config.js +8 -4
- package/datepicker/esm5/bs-datepicker-input.directive.js +9 -1
- package/datepicker/esm5/bs-datepicker.component.js +58 -8
- package/datepicker/esm5/bs-datepicker.config.js +88 -2
- package/datepicker/esm5/bs-datepicker.module.js +3 -10
- package/datepicker/esm5/bs-daterangepicker-inline.component.js +3 -2
- package/datepicker/esm5/bs-daterangepicker-inline.config.js +8 -4
- package/datepicker/esm5/bs-daterangepicker-input.directive.js +11 -3
- package/datepicker/esm5/bs-daterangepicker.component.js +49 -9
- package/datepicker/esm5/bs-daterangepicker.config.js +8 -4
- package/datepicker/esm5/datepicker.config.js +6 -2
- package/datepicker/esm5/datepicker.module.js +1 -1
- package/datepicker/esm5/engine/flag-days-calendar.js +22 -3
- package/datepicker/esm5/engine/flag-months-calendar.js +14 -3
- package/datepicker/esm5/engine/flag-years-calendar.js +14 -3
- package/datepicker/esm5/engine/format-days-calendar.js +3 -3
- package/datepicker/esm5/models/index.js +13 -1
- package/datepicker/esm5/public_api.js +1 -1
- package/datepicker/esm5/reducer/bs-datepicker.actions.js +18 -1
- package/datepicker/esm5/reducer/bs-datepicker.effects.js +33 -35
- package/datepicker/esm5/reducer/bs-datepicker.reducer.js +10 -2
- package/datepicker/esm5/reducer/bs-datepicker.state.js +3 -1
- package/datepicker/esm5/reducer/bs-datepicker.store.js +3 -3
- package/datepicker/esm5/themes/bs/bs-custom-dates-view.component.js +5 -2
- package/datepicker/esm5/themes/bs/bs-datepicker-container.component.js +74 -8
- package/datepicker/esm5/themes/bs/bs-datepicker-inline-container.component.js +4 -4
- package/datepicker/esm5/themes/bs/bs-daterangepicker-container.component.js +92 -7
- package/datepicker/esm5/themes/bs/bs-daterangepicker-inline-container.component.js +4 -4
- package/datepicker/esm5/themes/bs/bs-days-calendar-view.component.js +25 -2
- package/datepicker/fesm2015/ngx-bootstrap-datepicker.js +549 -96
- package/datepicker/fesm2015/ngx-bootstrap-datepicker.js.map +1 -1
- package/datepicker/fesm5/ngx-bootstrap-datepicker.js +606 -94
- package/datepicker/fesm5/ngx-bootstrap-datepicker.js.map +1 -1
- package/datepicker/models/index.d.ts +5 -0
- package/datepicker/monthpicker.component.d.ts +1 -1
- package/datepicker/ngx-bootstrap-datepicker.metadata.json +1 -1
- package/datepicker/package.json +2 -2
- package/datepicker/public_api.d.ts +1 -1
- package/datepicker/reducer/bs-datepicker.actions.d.ts +3 -1
- package/datepicker/reducer/bs-datepicker.effects.d.ts +2 -1
- package/datepicker/reducer/bs-datepicker.state.d.ts +2 -1
- package/datepicker/themes/bs/bs-custom-dates-view.component.d.ts +1 -0
- package/datepicker/themes/bs/bs-datepicker-container.component.d.ts +9 -5
- package/datepicker/themes/bs/bs-daterangepicker-container.component.d.ts +9 -5
- package/datepicker/themes/bs/bs-days-calendar-view.component.d.ts +2 -0
- package/datepicker/utils/scss/mixins.css.map +2 -2
- package/datepicker/utils/scss/mixins.scss +98 -0
- package/datepicker/utils/scss/variables.css.map +1 -1
- package/datepicker/utils/scss/variables.scss +14 -0
- package/datepicker/yearpicker.component.d.ts +1 -1
- package/dropdown/bs-dropdown-container.component.d.ts +1 -1
- package/dropdown/bs-dropdown.directive.d.ts +12 -7
- package/dropdown/bs-dropdown.module.d.ts +1 -1
- package/dropdown/bundles/ngx-bootstrap-dropdown.umd.js +13 -8
- package/dropdown/bundles/ngx-bootstrap-dropdown.umd.js.map +1 -1
- package/dropdown/bundles/ngx-bootstrap-dropdown.umd.min.js +1 -1
- package/dropdown/bundles/ngx-bootstrap-dropdown.umd.min.js.map +1 -1
- package/dropdown/esm2015/bs-dropdown.config.js +6 -2
- package/dropdown/esm2015/bs-dropdown.directive.js +8 -3
- package/dropdown/esm2015/bs-dropdown.module.js +2 -7
- package/dropdown/esm5/bs-dropdown-toggle.directive.js +3 -3
- package/dropdown/esm5/bs-dropdown.config.js +6 -2
- package/dropdown/esm5/bs-dropdown.directive.js +11 -5
- package/dropdown/esm5/bs-dropdown.module.js +2 -7
- package/dropdown/fesm2015/ngx-bootstrap-dropdown.js +13 -9
- package/dropdown/fesm2015/ngx-bootstrap-dropdown.js.map +1 -1
- package/dropdown/fesm5/ngx-bootstrap-dropdown.js +14 -9
- package/dropdown/fesm5/ngx-bootstrap-dropdown.js.map +1 -1
- package/dropdown/ngx-bootstrap-dropdown.metadata.json +1 -1
- package/dropdown/package.json +2 -2
- package/locale/package.json +2 -2
- package/mini-ngrx/bundles/ngx-bootstrap-mini-ngrx.umd.js.map +1 -1
- package/mini-ngrx/bundles/ngx-bootstrap-mini-ngrx.umd.min.js.map +1 -1
- package/mini-ngrx/esm5/state.class.js +3 -3
- package/mini-ngrx/esm5/store.class.js +3 -3
- package/mini-ngrx/fesm5/ngx-bootstrap-mini-ngrx.js.map +1 -1
- package/mini-ngrx/package.json +2 -2
- package/modal/bs-modal-ref.service.d.ts +15 -2
- package/modal/bs-modal.service.d.ts +7 -4
- package/modal/bundles/ngx-bootstrap-modal.umd.js +154 -59
- package/modal/bundles/ngx-bootstrap-modal.umd.js.map +1 -1
- package/modal/bundles/ngx-bootstrap-modal.umd.min.js +1 -1
- package/modal/bundles/ngx-bootstrap-modal.umd.min.js.map +1 -1
- package/modal/esm2015/bs-modal-ref.service.js +20 -1
- package/modal/esm2015/bs-modal.service.js +102 -47
- package/modal/esm2015/modal-container.component.js +10 -2
- package/modal/esm2015/modal-options.class.js +14 -3
- package/modal/esm2015/modal.directive.js +10 -7
- package/modal/esm2015/modal.module.js +1 -1
- package/modal/esm2015/models/index.js +3 -1
- package/modal/esm2015/ngx-bootstrap-modal.js +2 -2
- package/modal/esm2015/public_api.js +2 -2
- package/modal/esm5/bs-modal-ref.service.js +19 -1
- package/modal/esm5/bs-modal.service.js +109 -57
- package/modal/esm5/modal-container.component.js +13 -2
- package/modal/esm5/modal-options.class.js +14 -3
- package/modal/esm5/modal.directive.js +9 -7
- package/modal/esm5/modal.module.js +1 -1
- package/modal/esm5/models/index.js +3 -1
- package/modal/esm5/ngx-bootstrap-modal.js +2 -2
- package/modal/esm5/public_api.js +2 -2
- package/modal/fesm2015/ngx-bootstrap-modal.js +148 -52
- package/modal/fesm2015/ngx-bootstrap-modal.js.map +1 -1
- package/modal/fesm5/ngx-bootstrap-modal.js +155 -61
- package/modal/fesm5/ngx-bootstrap-modal.js.map +1 -1
- package/modal/modal-backdrop.component.d.ts +4 -2
- package/modal/modal-container.component.d.ts +1 -0
- package/modal/modal-options.class.d.ts +8 -3
- package/modal/modal.directive.d.ts +5 -4
- package/modal/modal.module.d.ts +2 -2
- package/modal/models/index.d.ts +1 -0
- package/modal/ngx-bootstrap-modal.metadata.json +1 -1
- package/modal/package.json +2 -2
- package/modal/public_api.d.ts +1 -1
- package/package.json +2 -2
- package/pagination/bundles/ngx-bootstrap-pagination.umd.js +5 -2
- package/pagination/bundles/ngx-bootstrap-pagination.umd.js.map +1 -1
- package/pagination/bundles/ngx-bootstrap-pagination.umd.min.js +1 -1
- package/pagination/bundles/ngx-bootstrap-pagination.umd.min.js.map +1 -1
- package/pagination/esm2015/pagination.config.js +6 -2
- package/pagination/esm2015/pagination.module.js +2 -3
- package/pagination/esm5/pagination.config.js +6 -2
- package/pagination/esm5/pagination.module.js +2 -3
- package/pagination/fesm2015/ngx-bootstrap-pagination.js +6 -3
- package/pagination/fesm2015/ngx-bootstrap-pagination.js.map +1 -1
- package/pagination/fesm5/ngx-bootstrap-pagination.js +6 -3
- package/pagination/fesm5/ngx-bootstrap-pagination.js.map +1 -1
- package/pagination/ngx-bootstrap-pagination.metadata.json +1 -1
- package/pagination/package.json +2 -2
- package/pagination/pager.component.d.ts +8 -4
- package/pagination/pagination.component.d.ts +8 -4
- package/pagination/pagination.module.d.ts +1 -1
- package/popover/bundles/ngx-bootstrap-popover.umd.js +55 -3
- package/popover/bundles/ngx-bootstrap-popover.umd.js.map +1 -1
- package/popover/bundles/ngx-bootstrap-popover.umd.min.js +1 -1
- package/popover/bundles/ngx-bootstrap-popover.umd.min.js.map +1 -1
- package/popover/esm2015/popover-container.component.js +4 -1
- package/popover/esm2015/popover.config.js +6 -2
- package/popover/esm2015/popover.directive.js +39 -2
- package/popover/esm2015/popover.module.js +2 -3
- package/popover/esm5/popover-container.component.js +4 -1
- package/popover/esm5/popover.config.js +6 -2
- package/popover/esm5/popover.directive.js +48 -2
- package/popover/esm5/popover.module.js +2 -3
- package/popover/fesm2015/ngx-bootstrap-popover.js +47 -4
- package/popover/fesm2015/ngx-bootstrap-popover.js.map +1 -1
- package/popover/fesm5/ngx-bootstrap-popover.js +56 -4
- package/popover/fesm5/ngx-bootstrap-popover.js.map +1 -1
- package/popover/ngx-bootstrap-popover.metadata.json +1 -1
- package/popover/package.json +2 -2
- package/popover/popover-container.component.d.ts +2 -1
- package/popover/popover.directive.d.ts +10 -1
- package/popover/popover.module.d.ts +1 -1
- package/positioning/bundles/ngx-bootstrap-positioning.umd.js +7 -7
- package/positioning/bundles/ngx-bootstrap-positioning.umd.js.map +1 -1
- package/positioning/bundles/ngx-bootstrap-positioning.umd.min.js +1 -1
- package/positioning/bundles/ngx-bootstrap-positioning.umd.min.js.map +1 -1
- package/positioning/esm2015/modifiers/flip.js +3 -3
- package/positioning/esm2015/modifiers/preventOverflow.js +2 -2
- package/positioning/esm2015/modifiers/shift.js +2 -2
- package/positioning/esm2015/utils/computeAutoPlacement.js +2 -2
- package/positioning/esm2015/utils/getClientRect.js +2 -2
- package/positioning/esm5/modifiers/flip.js +4 -4
- package/positioning/esm5/modifiers/preventOverflow.js +4 -4
- package/positioning/esm5/modifiers/shift.js +3 -3
- package/positioning/esm5/utils/computeAutoPlacement.js +3 -3
- package/positioning/esm5/utils/getClientRect.js +3 -3
- package/positioning/fesm2015/ngx-bootstrap-positioning.js +6 -6
- package/positioning/fesm2015/ngx-bootstrap-positioning.js.map +1 -1
- package/positioning/fesm5/ngx-bootstrap-positioning.js +7 -7
- package/positioning/fesm5/ngx-bootstrap-positioning.js.map +1 -1
- package/positioning/package.json +2 -2
- package/positioning/positioning.service.d.ts +1 -1
- package/progressbar/bar.component.d.ts +4 -5
- package/progressbar/bundles/ngx-bootstrap-progressbar.umd.js +45 -66
- package/progressbar/bundles/ngx-bootstrap-progressbar.umd.js.map +1 -1
- package/progressbar/bundles/ngx-bootstrap-progressbar.umd.min.js +1 -1
- package/progressbar/bundles/ngx-bootstrap-progressbar.umd.min.js.map +1 -1
- package/progressbar/esm2015/bar.component.js +33 -48
- package/progressbar/esm2015/progressbar.component.js +5 -8
- package/progressbar/esm2015/progressbar.config.js +6 -2
- package/progressbar/esm2015/progressbar.module.js +2 -3
- package/progressbar/esm5/bar.component.js +37 -58
- package/progressbar/esm5/progressbar.component.js +5 -8
- package/progressbar/esm5/progressbar.config.js +6 -2
- package/progressbar/esm5/progressbar.module.js +2 -3
- package/progressbar/fesm2015/ngx-bootstrap-progressbar.js +42 -57
- package/progressbar/fesm2015/ngx-bootstrap-progressbar.js.map +1 -1
- package/progressbar/fesm5/ngx-bootstrap-progressbar.js +46 -67
- package/progressbar/fesm5/ngx-bootstrap-progressbar.js.map +1 -1
- package/progressbar/ngx-bootstrap-progressbar.metadata.json +1 -1
- package/progressbar/package.json +2 -2
- package/progressbar/progressbar.component.d.ts +7 -6
- package/progressbar/progressbar.module.d.ts +1 -1
- package/rating/bundles/ngx-bootstrap-rating.umd.js +5 -2
- package/rating/bundles/ngx-bootstrap-rating.umd.js.map +1 -1
- package/rating/bundles/ngx-bootstrap-rating.umd.min.js +1 -1
- package/rating/bundles/ngx-bootstrap-rating.umd.min.js.map +1 -1
- package/rating/esm2015/rating.config.js +6 -2
- package/rating/esm2015/rating.module.js +2 -3
- package/rating/esm5/rating.config.js +6 -2
- package/rating/esm5/rating.module.js +2 -3
- package/rating/fesm2015/ngx-bootstrap-rating.js +6 -3
- package/rating/fesm2015/ngx-bootstrap-rating.js.map +1 -1
- package/rating/fesm5/ngx-bootstrap-rating.js +6 -3
- package/rating/fesm5/ngx-bootstrap-rating.js.map +1 -1
- package/rating/ngx-bootstrap-rating.metadata.json +1 -1
- package/rating/package.json +2 -2
- package/rating/rating.module.d.ts +1 -1
- package/schematics/ng-add/index.spec.js +30 -27
- package/schematics/ng-add/index.spec.js.map +1 -1
- package/schematics/utils/index.js +18 -5
- package/schematics/utils/index.js.map +1 -1
- package/sortable/bundles/ngx-bootstrap-sortable.umd.js.map +1 -1
- package/sortable/bundles/ngx-bootstrap-sortable.umd.min.js.map +1 -1
- package/sortable/esm2015/sortable.module.js +1 -1
- package/sortable/esm5/sortable.component.js +4 -4
- package/sortable/esm5/sortable.module.js +1 -1
- package/sortable/fesm2015/ngx-bootstrap-sortable.js.map +1 -1
- package/sortable/fesm5/ngx-bootstrap-sortable.js.map +1 -1
- package/sortable/package.json +2 -2
- package/sortable/sortable.component.d.ts +2 -1
- package/sortable/sortable.module.d.ts +1 -1
- package/tabs/bundles/ngx-bootstrap-tabs.umd.js +40 -3
- package/tabs/bundles/ngx-bootstrap-tabs.umd.js.map +1 -1
- package/tabs/bundles/ngx-bootstrap-tabs.umd.min.js +1 -1
- package/tabs/bundles/ngx-bootstrap-tabs.umd.min.js.map +1 -1
- package/tabs/esm2015/tab.directive.js +2 -2
- package/tabs/esm2015/tabs.module.js +2 -3
- package/tabs/esm2015/tabset.component.js +22 -1
- package/tabs/esm2015/tabset.config.js +15 -2
- package/tabs/esm5/tab.directive.js +2 -2
- package/tabs/esm5/tabs.module.js +2 -3
- package/tabs/esm5/tabset.component.js +26 -1
- package/tabs/esm5/tabset.config.js +15 -2
- package/tabs/fesm2015/ngx-bootstrap-tabs.js +37 -4
- package/tabs/fesm2015/ngx-bootstrap-tabs.js.map +1 -1
- package/tabs/fesm5/ngx-bootstrap-tabs.js +41 -4
- package/tabs/fesm5/ngx-bootstrap-tabs.js.map +1 -1
- package/tabs/ng-transclude.directive.d.ts +2 -2
- package/tabs/ngx-bootstrap-tabs.metadata.json +1 -1
- package/tabs/package.json +2 -2
- package/tabs/tab.directive.d.ts +5 -3
- package/tabs/tabs.module.d.ts +1 -1
- package/tabs/tabset.component.d.ts +9 -3
- package/tabs/tabset.config.d.ts +2 -0
- package/timepicker/bundles/ngx-bootstrap-timepicker.umd.js +11 -6
- package/timepicker/bundles/ngx-bootstrap-timepicker.umd.js.map +1 -1
- package/timepicker/bundles/ngx-bootstrap-timepicker.umd.min.js +1 -1
- package/timepicker/bundles/ngx-bootstrap-timepicker.umd.min.js.map +1 -1
- package/timepicker/esm2015/timepicker-controls.util.js +4 -2
- package/timepicker/esm2015/timepicker.component.js +2 -2
- package/timepicker/esm2015/timepicker.config.js +8 -4
- package/timepicker/esm2015/timepicker.module.js +2 -3
- package/timepicker/esm5/reducer/timepicker.store.js +3 -3
- package/timepicker/esm5/timepicker-controls.util.js +4 -2
- package/timepicker/esm5/timepicker.component.js +2 -2
- package/timepicker/esm5/timepicker.config.js +8 -4
- package/timepicker/esm5/timepicker.module.js +2 -3
- package/timepicker/fesm2015/ngx-bootstrap-timepicker.js +12 -7
- package/timepicker/fesm2015/ngx-bootstrap-timepicker.js.map +1 -1
- package/timepicker/fesm5/ngx-bootstrap-timepicker.js +12 -7
- package/timepicker/fesm5/ngx-bootstrap-timepicker.js.map +1 -1
- package/timepicker/ngx-bootstrap-timepicker.metadata.json +1 -1
- package/timepicker/package.json +2 -2
- package/timepicker/timepicker.component.d.ts +3 -3
- package/timepicker/timepicker.config.d.ts +1 -1
- package/timepicker/timepicker.module.d.ts +1 -1
- package/tooltip/bundles/ngx-bootstrap-tooltip.umd.js +5 -2
- package/tooltip/bundles/ngx-bootstrap-tooltip.umd.js.map +1 -1
- package/tooltip/bundles/ngx-bootstrap-tooltip.umd.min.js +1 -1
- package/tooltip/bundles/ngx-bootstrap-tooltip.umd.min.js.map +1 -1
- package/tooltip/esm2015/tooltip.config.js +6 -2
- package/tooltip/esm2015/tooltip.directive.js +3 -3
- package/tooltip/esm2015/tooltip.module.js +2 -3
- package/tooltip/esm5/tooltip.config.js +6 -2
- package/tooltip/esm5/tooltip.directive.js +3 -3
- package/tooltip/esm5/tooltip.module.js +2 -3
- package/tooltip/fesm2015/ngx-bootstrap-tooltip.js +6 -3
- package/tooltip/fesm2015/ngx-bootstrap-tooltip.js.map +1 -1
- package/tooltip/fesm5/ngx-bootstrap-tooltip.js +6 -3
- package/tooltip/fesm5/ngx-bootstrap-tooltip.js.map +1 -1
- package/tooltip/ngx-bootstrap-tooltip.metadata.json +1 -1
- package/tooltip/package.json +2 -2
- package/tooltip/tooltip-container.component.d.ts +1 -1
- package/tooltip/tooltip.directive.d.ts +15 -10
- package/tooltip/tooltip.module.d.ts +1 -1
- package/typeahead/bundles/ngx-bootstrap-typeahead.umd.js +170 -19
- package/typeahead/bundles/ngx-bootstrap-typeahead.umd.js.map +1 -1
- package/typeahead/bundles/ngx-bootstrap-typeahead.umd.min.js +1 -1
- package/typeahead/bundles/ngx-bootstrap-typeahead.umd.min.js.map +1 -1
- package/typeahead/esm2015/typeahead-utils.js +35 -4
- package/typeahead/esm2015/typeahead.config.js +6 -2
- package/typeahead/esm2015/typeahead.directive.js +121 -16
- package/typeahead/esm2015/typeahead.module.js +2 -3
- package/typeahead/esm5/typeahead-utils.js +37 -6
- package/typeahead/esm5/typeahead.config.js +6 -2
- package/typeahead/esm5/typeahead.directive.js +135 -18
- package/typeahead/esm5/typeahead.module.js +2 -3
- package/typeahead/fesm2015/ngx-bootstrap-typeahead.js +160 -21
- package/typeahead/fesm2015/ngx-bootstrap-typeahead.js.map +1 -1
- package/typeahead/fesm5/ngx-bootstrap-typeahead.js +172 -21
- package/typeahead/fesm5/ngx-bootstrap-typeahead.js.map +1 -1
- package/typeahead/ngx-bootstrap-typeahead.metadata.json +1 -1
- package/typeahead/package.json +2 -2
- package/typeahead/typeahead-container.component.d.ts +14 -12
- package/typeahead/typeahead-utils.d.ts +1 -1
- package/typeahead/typeahead.directive.d.ts +20 -1
- package/typeahead/typeahead.module.d.ts +1 -1
- package/utils/package.json +2 -2
@@ -1,4 +1,4 @@
|
|
1
|
-
!function(e,t){"object"==typeof exports&&"undefined"!=typeof module?t(exports,require("@angular/core"),require("rxjs/operators"),require("ngx-bootstrap/chronos"),require("
|
1
|
+
!function(e,t){"object"==typeof exports&&"undefined"!=typeof module?t(exports,require("@angular/core"),require("rxjs/operators"),require("ngx-bootstrap/chronos"),require("ngx-bootstrap/positioning"),require("@angular/animations"),require("rxjs"),require("ngx-bootstrap/mini-ngrx"),require("ngx-bootstrap/component-loader"),require("@angular/forms"),require("@angular/common"),require("ngx-bootstrap/tooltip"),require("ngx-bootstrap/utils")):"function"==typeof define&&define.amd?define("ngx-bootstrap/datepicker",["exports","@angular/core","rxjs/operators","ngx-bootstrap/chronos","ngx-bootstrap/positioning","@angular/animations","rxjs","ngx-bootstrap/mini-ngrx","ngx-bootstrap/component-loader","@angular/forms","@angular/common","ngx-bootstrap/tooltip","ngx-bootstrap/utils"],t):t(((e=e||self)["ngx-bootstrap"]=e["ngx-bootstrap"]||{},e["ngx-bootstrap"].datepicker={}),e.ng.core,e.rxjs.operators,e.chronos,e.positioning,e.ng.animations,e.rxjs,e.miniNgrx,e.componentLoader,e.ng.forms,e.ng.common,e.tooltip,e.utils)}(this,(function(e,t,n,a,i,s,o,r,c,d,l,p,h){"use strict";
|
2
2
|
/*! *****************************************************************************
|
3
3
|
Copyright (c) Microsoft Corporation. All rights reserved.
|
4
4
|
Licensed under the Apache License, Version 2.0 (the "License"); you may not use
|
@@ -12,5 +12,5 @@
|
|
12
12
|
|
13
13
|
See the Apache Version 2.0 License for specific language governing permissions
|
14
14
|
and limitations under the License.
|
15
|
-
***************************************************************************** */var u=function(e,t){return(u=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])})(e,t)};function p(e,t){function n(){this.constructor=e}u(e,t),e.prototype=null===t?Object.create(t):(n.prototype=t.prototype,new n)}function f(e){var t="function"==typeof Symbol&&e[Symbol.iterator],n=0;return t?t.call(e):{next:function(){return e&&n>=e.length&&(e=void 0),{value:e&&e[n++],done:!e}}}}function y(e,t){var n="function"==typeof Symbol&&e[Symbol.iterator];if(!n)return e;var a,i,s=n.call(e),r=[];try{for(;(void 0===t||t-- >0)&&!(a=s.next()).done;)r.push(a.value)}catch(e){i={error:e}}finally{try{a&&!a.done&&(n=s.return)&&n.call(s)}finally{if(i)throw i.error}}return r}var b=function(){function e(){this.adaptivePosition=!1,this.useUtc=!1,this.isAnimated=!1,this.returnFocusToInput=!1,this.containerClass="theme-green",this.displayMonths=1,this.showWeekNumbers=!0,this.dateInputFormat="L",this.rangeSeparator=" - ",this.rangeInputFormat="L",this.monthTitle="MMMM",this.yearTitle="YYYY",this.dayLabel="D",this.monthLabel="MMMM",this.yearLabel="YYYY",this.weekNumbers="w"}return e.decorators=[{type:t.Injectable}],e}();var m=function(){function e(){this.customRanges=[]}return Object.defineProperty(e.prototype,"minDate",{set:function(e){this._effects.setMinDate(e)},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"maxDate",{set:function(e){this._effects.setMaxDate(e)},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"daysDisabled",{set:function(e){this._effects.setDaysDisabled(e)},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"datesDisabled",{set:function(e){this._effects.setDatesDisabled(e)},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"datesEnabled",{set:function(e){this._effects.setDatesEnabled(e)},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"isDisabled",{set:function(e){this._effects.setDisabled(e)},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"dateCustomClasses",{set:function(e){this._effects.setDateCustomClasses(e)},enumerable:!0,configurable:!0}),e.prototype.setViewMode=function(e){},e.prototype.navigateTo=function(e){},e.prototype.dayHoverHandler=function(e){},e.prototype.weekHoverHandler=function(e){},e.prototype.monthHoverHandler=function(e){},e.prototype.yearHoverHandler=function(e){},e.prototype.daySelectHandler=function(e){},e.prototype.monthSelectHandler=function(e){},e.prototype.yearSelectHandler=function(e){},e.prototype._stopPropagation=function(e){e.stopPropagation()},e}();var g=function(){function e(){}return e.prototype.calculate=function(){return{type:e.CALCULATE}},e.prototype.format=function(){return{type:e.FORMAT}},e.prototype.flag=function(){return{type:e.FLAG}},e.prototype.select=function(t){return{type:e.SELECT,payload:t}},e.prototype.changeViewMode=function(t){return{type:e.CHANGE_VIEWMODE,payload:t}},e.prototype.navigateTo=function(t){return{type:e.NAVIGATE_TO,payload:t}},e.prototype.navigateStep=function(t){return{type:e.NAVIGATE_OFFSET,payload:t}},e.prototype.setOptions=function(t){return{type:e.SET_OPTIONS,payload:t}},e.prototype.selectRange=function(t){return{type:e.SELECT_RANGE,payload:t}},e.prototype.hoverDay=function(t){return{type:e.HOVER,payload:t.isHovered?t.cell.date:null}},e.prototype.minDate=function(t){return{type:e.SET_MIN_DATE,payload:t}},e.prototype.maxDate=function(t){return{type:e.SET_MAX_DATE,payload:t}},e.prototype.daysDisabled=function(t){return{type:e.SET_DAYSDISABLED,payload:t}},e.prototype.datesDisabled=function(t){return{type:e.SET_DATESDISABLED,payload:t}},e.prototype.datesEnabled=function(t){return{type:e.SET_DATESENABLED,payload:t}},e.prototype.isDisabled=function(t){return{type:e.SET_IS_DISABLED,payload:t}},e.prototype.setDateCustomClasses=function(t){return{type:e.SET_DATE_CUSTOM_CLASSES,payload:t}},e.prototype.setLocale=function(t){return{type:e.SET_LOCALE,payload:t}},e.CALCULATE="[datepicker] calculate dates matrix",e.FORMAT="[datepicker] format datepicker values",e.FLAG="[datepicker] set flags",e.SELECT="[datepicker] select date",e.NAVIGATE_OFFSET="[datepicker] shift view date",e.NAVIGATE_TO="[datepicker] change view date",e.SET_OPTIONS="[datepicker] update render options",e.HOVER="[datepicker] hover date",e.CHANGE_VIEWMODE="[datepicker] switch view mode",e.SET_MIN_DATE="[datepicker] set min date",e.SET_MAX_DATE="[datepicker] set max date",e.SET_DAYSDISABLED="[datepicker] set days disabled",e.SET_DATESDISABLED="[datepicker] set dates disabled",e.SET_DATESENABLED="[datepicker] set dates enabled",e.SET_IS_DISABLED="[datepicker] set is disabled",e.SET_DATE_CUSTOM_CLASSES="[datepicker] set date custom classes",e.SET_LOCALE="[datepicker] set datepicker locale",e.SELECT_RANGE="[daterangepicker] select dates range",e.decorators=[{type:t.Injectable}],e}();var v=function(){function e(){this._defaultLocale="en",this._locale=new i.BehaviorSubject(this._defaultLocale),this._localeChange=this._locale.asObservable()}return Object.defineProperty(e.prototype,"locale",{get:function(){return this._locale},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"localeChange",{get:function(){return this._localeChange},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"currentLocale",{get:function(){return this._locale.getValue()},enumerable:!0,configurable:!0}),e.prototype.use=function(e){e!==this.currentLocale&&this._locale.next(e)},e.decorators=[{type:t.Injectable}],e}();var D=function(){function e(e,t){this._actions=e,this._localeService=t,this._subs=[]}return e.prototype.init=function(e){return this._store=e,this},e.prototype.setValue=function(e){this._store.dispatch(this._actions.select(e))},e.prototype.setRangeValue=function(e){this._store.dispatch(this._actions.selectRange(e))},e.prototype.setMinDate=function(e){return this._store.dispatch(this._actions.minDate(e)),this},e.prototype.setMaxDate=function(e){return this._store.dispatch(this._actions.maxDate(e)),this},e.prototype.setDaysDisabled=function(e){return this._store.dispatch(this._actions.daysDisabled(e)),this},e.prototype.setDatesDisabled=function(e){return this._store.dispatch(this._actions.datesDisabled(e)),this},e.prototype.setDatesEnabled=function(e){return this._store.dispatch(this._actions.datesEnabled(e)),this},e.prototype.setDisabled=function(e){return this._store.dispatch(this._actions.isDisabled(e)),this},e.prototype.setDateCustomClasses=function(e){return this._store.dispatch(this._actions.setDateCustomClasses(e)),this},e.prototype.setOptions=function(e){var t=Object.assign({locale:this._localeService.currentLocale},e);return this._store.dispatch(this._actions.setOptions(t)),this},e.prototype.setBindings=function(e){return e.daysCalendar=this._store.select((function(e){return e.flaggedMonths})).pipe(n.filter((function(e){return!!e}))),e.monthsCalendar=this._store.select((function(e){return e.flaggedMonthsCalendar})).pipe(n.filter((function(e){return!!e}))),e.yearsCalendar=this._store.select((function(e){return e.yearsCalendarFlagged})).pipe(n.filter((function(e){return!!e}))),e.viewMode=this._store.select((function(e){return e.view.mode})),e.options=this._store.select((function(e){return e.showWeekNumbers})).pipe(n.map((function(e){return{showWeekNumbers:e}}))),this},e.prototype.setEventHandlers=function(e){var t=this;return e.setViewMode=function(e){t._store.dispatch(t._actions.changeViewMode(e))},e.navigateTo=function(e){t._store.dispatch(t._actions.navigateStep(e.step))},e.dayHoverHandler=function(e){var n=e.cell;n.isOtherMonth||n.isDisabled||(t._store.dispatch(t._actions.hoverDay(e)),n.isHovered=e.isHovered)},e.monthHoverHandler=function(e){e.cell.isHovered=e.isHovered},e.yearHoverHandler=function(e){e.cell.isHovered=e.isHovered},e.monthSelectHandler=function(e){e.isDisabled||t._store.dispatch(t._actions.navigateTo({unit:{month:a.getMonth(e.date),year:a.getFullYear(e.date)},viewMode:"day"}))},e.yearSelectHandler=function(e){e.isDisabled||t._store.dispatch(t._actions.navigateTo({unit:{year:a.getFullYear(e.date)},viewMode:"month"}))},this},e.prototype.registerDatepickerSideEffects=function(){var e=this;return this._subs.push(this._store.select((function(e){return e.view})).subscribe((function(t){e._store.dispatch(e._actions.calculate())}))),this._subs.push(this._store.select((function(e){return e.monthsModel})).pipe(n.filter((function(e){return!!e}))).subscribe((function(t){return e._store.dispatch(e._actions.format())}))),this._subs.push(this._store.select((function(e){return e.formattedMonths})).pipe(n.filter((function(e){return!!e}))).subscribe((function(t){return e._store.dispatch(e._actions.flag())}))),this._subs.push(this._store.select((function(e){return e.selectedDate})).pipe(n.filter((function(e){return!!e}))).subscribe((function(t){return e._store.dispatch(e._actions.flag())}))),this._subs.push(this._store.select((function(e){return e.selectedRange})).pipe(n.filter((function(e){return!!e}))).subscribe((function(t){return e._store.dispatch(e._actions.flag())}))),this._subs.push(this._store.select((function(e){return e.monthsCalendar})).subscribe((function(){return e._store.dispatch(e._actions.flag())}))),this._subs.push(this._store.select((function(e){return e.yearsCalendarModel})).pipe(n.filter((function(e){return!!e}))).subscribe((function(){return e._store.dispatch(e._actions.flag())}))),this._subs.push(this._store.select((function(e){return e.hoveredDate})).pipe(n.filter((function(e){return!!e}))).subscribe((function(t){return e._store.dispatch(e._actions.flag())}))),this._subs.push(this._store.select((function(e){return e.dateCustomClasses})).pipe(n.filter((function(e){return!!e}))).subscribe((function(t){return e._store.dispatch(e._actions.flag())}))),this._subs.push(this._localeService.localeChange.subscribe((function(t){return e._store.dispatch(e._actions.setLocale(t))}))),this},e.prototype.destroy=function(){var e,t;try{for(var n=f(this._subs),a=n.next();!a.done;a=n.next()){a.value.unsubscribe()}}catch(t){e={error:t}}finally{try{a&&!a.done&&(t=n.return)&&t.call(n)}finally{if(e)throw e.error}}},e.decorators=[{type:t.Injectable}],e.ctorParameters=function(){return[{type:g},{type:v}]},e}();var _={date:new Date,mode:"day"},k=Object.assign(new b,{locale:"en",view:_,selectedRange:[],monthViewOptions:{width:7,height:6}});function w(e,t,n){var i=t&&a.isBefore(a.endOf(e,"month"),t,"day"),s=n&&a.isAfter(a.startOf(e,"month"),n,"day");return i||s}function C(e,t,n){var i=t&&a.isBefore(a.endOf(e,"year"),t,"day"),s=n&&a.isAfter(a.startOf(e,"year"),n,"day");return i||s}function M(e,t){void 0===t&&(t=0);var n=e&&e.yearsCalendarModel&&e.yearsCalendarModel[t];return n&&n.years&&n.years[0]&&n.years[0][0]&&n.years[0][0].date}function S(e,t){for(var n=e.initialDate,i=new Array(e.height),s=0;s<e.height;s++){i[s]=new Array(e.width);for(var r=0;r<e.width;r++)i[s][r]=t(n),n=a.shiftDate(n,e.shift)}return i}function E(e,t){var n=a.getFirstDayOfMonth(e),i=function(e,t){if(a.isFirstDayOfWeek(e,t.firstDayOfWeek))return e;var n=function(e,t){if(0===t)return e;var n=e-t%7;return n<0?n+7:n}(a.getDay(e),t.firstDayOfWeek);return a.shiftDate(e,{day:-n})}(n,t);return{daysMatrix:S({width:t.width,height:t.height,initialDate:i,shift:{day:1}},(function(e){return e})),month:n}}function x(e){var t=a.getLocale(e),n=t.weekdaysShort(),i=t.firstDayOfWeek();return function(){for(var e=[],t=0;t<arguments.length;t++)e=e.concat(y(arguments[t]));return e}(n.slice(i),n.slice(0,i))}function O(e,t){return e.weeks.forEach((function(n){n.days.forEach((function(i,s){var r,o,c=!a.isSameMonth(i.date,e.month),d=!c&&a.isSameDay(i.date,t.hoveredDate),l=!c&&t.selectedRange&&a.isSameDay(i.date,t.selectedRange[0]),h=!c&&t.selectedRange&&a.isSameDay(i.date,t.selectedRange[1]),u=!c&&a.isSameDay(i.date,t.selectedDate)||l||h,p=!c&&t.selectedRange&&function(e,t,n){if(!e||!t[0])return!1;if(t[1])return e>t[0]&&e<=t[1];if(n)return e>t[0]&&e<=n;return!1}(i.date,t.selectedRange,t.hoveredDate),f=t.isDisabled||a.isBefore(i.date,t.minDate,"day")||a.isAfter(i.date,t.maxDate,"day")||a.isDisabledDay(i.date,t.daysDisabled)||(r=i.date,!!((o=t.datesDisabled)&&a.isArray(o)&&o.length)&&o.some((function(e){return a.isSame(r,e,"date")})))||function(e,t){return!!(t&&a.isArray(t)&&t.length)&&!t.some((function(t){return a.isSame(e,t,"date")}))}(i.date,t.datesEnabled),y=new Date,b=!c&&a.isSameDay(i.date,y),m=t.dateCustomClasses&&t.dateCustomClasses.map((function(e){return a.isSameDay(i.date,e.date)?e.classes:[]})).reduce((function(e,t){return e.concat(t)}),[]).join(" ")||"",g=Object.assign({},i,{isOtherMonth:c,isHovered:d,isSelected:u,isSelectionStart:l,isSelectionEnd:h,isInRange:p,isDisabled:f,isToday:b,customClasses:m});i.isOtherMonth===g.isOtherMonth&&i.isHovered===g.isHovered&&i.isSelected===g.isSelected&&i.isSelectionStart===g.isSelectionStart&&i.isSelectionEnd===g.isSelectionEnd&&i.isDisabled===g.isDisabled&&i.isInRange===g.isInRange&&i.customClasses===g.customClasses||(n.days[s]=g)}))})),e.hideLeftArrow=t.isDisabled||t.monthIndex>0&&t.monthIndex!==t.displayMonths,e.hideRightArrow=t.isDisabled||t.monthIndex<t.displayMonths&&t.monthIndex+1!==t.displayMonths,e.disableLeftArrow=w(a.shiftDate(e.month,{month:-1}),t.minDate,t.maxDate),e.disableRightArrow=w(a.shiftDate(e.month,{month:1}),t.minDate,t.maxDate),e}function I(e,t){return!t||e>=t}var R={month:1};function A(e,t){return{months:S({width:3,height:4,initialDate:a.startOf(e,"year"),shift:R},(function(e){return{date:e,label:a.formatDate(e,t.monthLabel,t.locale)}})),monthTitle:"",yearTitle:a.formatDate(e,t.yearTitle,t.locale)}}var H=-1*(Math.floor(8)-1),V={year:1};function T(e,t,n){var i=S({width:4,height:4,initialDate:function(e,t){if(t&&e.getFullYear()>=t.getFullYear()&&e.getFullYear()<t.getFullYear()+16)return t;return a.shiftDate(e,{year:H})}(e,n),shift:V},(function(e){return{date:e,label:a.formatDate(e,t.yearLabel,t.locale)}}));return{years:i,monthTitle:"",yearTitle:function(e,t){var n=a.formatDate(e[0][0].date,t.yearTitle,t.locale),i=a.formatDate(e[3][3].date,t.yearTitle,t.locale);return n+" - "+i}(i,t)}}function P(e,t){switch(void 0===e&&(e=k),t.type){case g.CALCULATE:return function(e){var t=e.displayOneMonthRange&&$(e.view.date,e.minDate,e.maxDate)?1:e.displayMonths,n=e.view.date;if("day"===e.view.mode){e.showPreviousMonth&&0===e.selectedRange.length&&(n=a.shiftDate(n,{month:-1})),e.monthViewOptions.firstDayOfWeek=a.getLocale(e.locale).firstDayOfWeek();for(var i=new Array(t),s=0;s<t;s++)i[s]=E(n,e.monthViewOptions),n=a.shiftDate(n,{month:1});return Object.assign({},e,{monthsModel:i})}if("month"===e.view.mode){for(var r=new Array(t),o=0;o<t;o++)r[o]=A(n,L(e)),n=a.shiftDate(n,{year:1});return Object.assign({},e,{monthsCalendar:r})}if("year"===e.view.mode){var c=new Array(t);for(o=0;o<t;o++)c[o]=T(n,L(e),"year"===e.minMode?M(e,o):void 0),n=a.shiftDate(n,{year:16});return Object.assign({},e,{yearsCalendarModel:c})}return e}(e);case g.FORMAT:return function(e,t){if("day"===e.view.mode){var n=e.monthsModel.map((function(t,n){return function(e,t,n){return{month:e.month,monthTitle:a.formatDate(e.month,t.monthTitle,t.locale),yearTitle:a.formatDate(e.month,t.yearTitle,t.locale),weekNumbers:(i=e.daysMatrix,s=t.weekNumbers,r=t.locale,i.map((function(e){return e[0]?a.formatDate(e[0],s,r):""}))),weekdays:x(t.locale),weeks:e.daysMatrix.map((function(e,i){return{days:e.map((function(e,s){return{date:e,label:a.formatDate(e,t.dayLabel,t.locale),monthIndex:n,weekIndex:i,dayIndex:s}}))}}))};var i,s,r}(t,L(e),n)}));return Object.assign({},e,{formattedMonths:n})}var i=e.displayMonths,s=e.view.date;if("month"===e.view.mode){for(var r=new Array(i),o=0;o<i;o++)r[o]=A(s,L(e)),s=a.shiftDate(s,{year:1});return Object.assign({},e,{monthsCalendar:r})}if("year"===e.view.mode){var c=new Array(i);for(o=0;o<i;o++)c[o]=T(s,L(e)),s=a.shiftDate(s,{year:16});return Object.assign({},e,{yearsCalendarModel:c})}return e}(e);case g.FLAG:return function(e,t){var n=$(e.view.date,e.minDate,e.maxDate)?1:e.displayMonths;if("day"===e.view.mode){var i=e.formattedMonths.map((function(t,a){return O(t,{isDisabled:e.isDisabled,minDate:e.minDate,maxDate:e.maxDate,daysDisabled:e.daysDisabled,datesDisabled:e.datesDisabled,datesEnabled:e.datesEnabled,hoveredDate:e.hoveredDate,selectedDate:e.selectedDate,selectedRange:e.selectedRange,displayMonths:n,dateCustomClasses:e.dateCustomClasses,monthIndex:a})}));return Object.assign({},e,{flaggedMonths:i})}if("month"===e.view.mode){var s=e.monthsCalendar.map((function(t,i){return s=t,r={isDisabled:e.isDisabled,minDate:e.minDate,maxDate:e.maxDate,hoveredMonth:e.hoveredMonth,selectedDate:e.selectedDate,displayMonths:n,monthIndex:i},s.months.forEach((function(e,t){e.forEach((function(e,n){var i=a.isSameMonth(e.date,r.hoveredMonth),o=r.isDisabled||w(e.date,r.minDate,r.maxDate),c=a.isSameMonth(e.date,r.selectedDate),d=Object.assign(e,{isHovered:i,isDisabled:o,isSelected:c});e.isHovered===d.isHovered&&e.isDisabled===d.isDisabled&&e.isSelected===d.isSelected||(s.months[t][n]=d)}))})),s.hideLeftArrow=r.monthIndex>0&&r.monthIndex!==r.displayMonths,s.hideRightArrow=r.monthIndex<r.displayMonths&&r.monthIndex+1!==r.displayMonths,s.disableLeftArrow=C(a.shiftDate(s.months[0][0].date,{year:-1}),r.minDate,r.maxDate),s.disableRightArrow=C(a.shiftDate(s.months[0][0].date,{year:1}),r.minDate,r.maxDate),s;var s,r}));return Object.assign({},e,{flaggedMonthsCalendar:s})}if("year"===e.view.mode){var r=e.yearsCalendarModel.map((function(t,i){return function(e,t){e.years.forEach((function(n,i){n.forEach((function(n,s){var r=a.isSameYear(n.date,t.hoveredYear),o=t.isDisabled||C(n.date,t.minDate,t.maxDate),c=a.isSameYear(n.date,t.selectedDate),d=Object.assign(n,{isHovered:r,isDisabled:o,isSelected:c});n.isHovered===d.isHovered&&n.isDisabled===d.isDisabled&&n.isSelected===d.isSelected||(e.years[i][s]=d)}))})),e.hideLeftArrow=t.yearIndex>0&&t.yearIndex!==t.displayMonths,e.hideRightArrow=t.yearIndex<t.displayMonths&&t.yearIndex+1!==t.displayMonths,e.disableLeftArrow=C(a.shiftDate(e.years[0][0].date,{year:-1}),t.minDate,t.maxDate);var n=e.years.length-1,i=e.years[n].length-1;return e.disableRightArrow=C(a.shiftDate(e.years[n][i].date,{year:1}),t.minDate,t.maxDate),e}(t,{isDisabled:e.isDisabled,minDate:e.minDate,maxDate:e.maxDate,hoveredYear:e.hoveredYear,selectedDate:e.selectedDate,displayMonths:n,yearIndex:i})}));return Object.assign({},e,{yearsCalendarFlagged:r})}return e}(e);case g.NAVIGATE_OFFSET:return function(e,t){var n={view:{mode:e.view.mode,date:F(e,t)}};return Object.assign({},e,n)}(e,t);case g.NAVIGATE_TO:var n=t.payload,i=a.setFullDate(e.view.date,n.unit),s=void 0,r=void 0;return s=I(n.viewMode,e.minMode)?{view:{date:i,mode:r=n.viewMode}}:{selectedDate:i,view:{date:i,mode:r=e.view.mode}},Object.assign({},e,s);case g.CHANGE_VIEWMODE:if(!I(t.payload,e.minMode))return e;s={view:{date:i=e.view.date,mode:r=t.payload}};return Object.assign({},e,s);case g.HOVER:return Object.assign({},e,{hoveredDate:t.payload});case g.SELECT:s={selectedDate:t.payload,view:e.view},r=e.view.mode,i=j(t.payload||e.view.date,e.minDate,e.maxDate);return s.view={mode:r,date:i},Object.assign({},e,s);case g.SET_OPTIONS:r=(s=t.payload).minMode?s.minMode:e.view.mode,i=j(a.isDateValid(s.value)&&s.value||a.isArray(s.value)&&a.isDateValid(s.value[0])&&s.value[0]||e.view.date,s.minDate,s.maxDate);return s.view={mode:r,date:i},s.value&&(a.isArray(s.value)&&(s.selectedRange=s.value),s.value instanceof Date&&(s.selectedDate=s.value)),Object.assign({},e,s);case g.SELECT_RANGE:s={selectedRange:t.payload,view:e.view},r=e.view.mode,i=j(t.payload&&t.payload[0]||e.view.date,e.minDate,e.maxDate);return s.view={mode:r,date:i},Object.assign({},e,s);case g.SET_MIN_DATE:return Object.assign({},e,{minDate:t.payload});case g.SET_MAX_DATE:return Object.assign({},e,{maxDate:t.payload});case g.SET_IS_DISABLED:return Object.assign({},e,{isDisabled:t.payload});case g.SET_DATE_CUSTOM_CLASSES:return Object.assign({},e,{dateCustomClasses:t.payload});default:return e}}function F(e,t){if("year"===e.view.mode&&"year"===e.minMode){var n=M(e,0),i=a.shiftDate(n,{year:-H});return a.shiftDate(i,t.payload)}return a.shiftDate(a.startOf(e.view.date,"month"),t.payload)}function L(e){return{locale:e.locale,monthTitle:e.monthTitle,yearTitle:e.yearTitle,dayLabel:e.dayLabel,monthLabel:e.monthLabel,yearLabel:e.yearLabel,weekNumbers:e.weekNumbers}}function j(e,t,n){var i=Array.isArray(e)?e[0]:e;return t&&a.isAfter(t,i,"day")?t:n&&a.isBefore(n,i,"day")?n:i}function $(e,t,n){return!(!n||!a.isSame(n,e,"day"))||!(!t||!n||t.getMonth()!==n.getMonth())}var N=function(e){function n(){var t=new i.BehaviorSubject({type:"[datepicker] dispatcher init"}),n=new s.MiniState(k,t,P);return e.call(this,t,P,n)||this}return p(n,e),n.decorators=[{type:t.Injectable}],n.ctorParameters=function(){return[]},n}(s.MiniStore),Y=o.trigger("datepickerAnimation",[o.state("animated-down",o.style({height:"*",overflow:"hidden"})),o.transition("* => animated-down",[o.style({height:0,overflow:"hidden"}),o.animate("220ms cubic-bezier(0, 0, 0.2, 1)")]),o.state("animated-up",o.style({height:"*",overflow:"hidden"})),o.transition("* => animated-up",[o.style({height:"*",overflow:"hidden"}),o.animate("220ms cubic-bezier(0, 0, 0.2, 1)")]),o.transition("* => unanimated",o.animate("0s"))]),B=function(e){function a(n,a,i,s,r,o,c){var d=e.call(this)||this;return d._config=a,d._store=i,d._element=s,d._actions=r,d._positionService=c,d.valueChange=new t.EventEmitter,d.animationState="void",d._subs=[],d._effects=o,n.setStyle(s.nativeElement,"display","block"),n.setStyle(s.nativeElement,"position","absolute"),d}return p(a,e),Object.defineProperty(a.prototype,"value",{set:function(e){this._effects.setValue(e)},enumerable:!0,configurable:!0}),a.prototype.ngOnInit=function(){var e=this;this._positionService.setOptions({modifiers:{flip:{enabled:this._config.adaptivePosition}},allowedPositions:["top","bottom"]}),this._positionService.event$.pipe(n.take(1)).subscribe((function(){e._positionService.disable(),e._config.isAnimated?e.animationState=e.isTopPosition?"animated-up":"animated-down":e.animationState="unanimated"})),this.isOtherMonthsActive=this._config.selectFromOtherMonth,this.containerClass=this._config.containerClass,this._effects.init(this._store).setOptions(this._config).setBindings(this).setEventHandlers(this).registerDatepickerSideEffects(),this._subs.push(this._store.select((function(e){return e.selectedDate})).subscribe((function(t){return e.valueChange.emit(t)})))},Object.defineProperty(a.prototype,"isTopPosition",{get:function(){return this._element.nativeElement.classList.contains("top")},enumerable:!0,configurable:!0}),a.prototype.positionServiceEnable=function(){this._positionService.enable()},a.prototype.daySelectHandler=function(e){e&&((this.isOtherMonthsActive?e.isDisabled:e.isOtherMonth||e.isDisabled)||this._store.dispatch(this._actions.select(e.date)))},a.prototype.ngOnDestroy=function(){var e,t;try{for(var n=f(this._subs),a=n.next();!a.done;a=n.next()){a.value.unsubscribe()}}catch(t){e={error:t}}finally{try{a&&!a.done&&(t=n.return)&&t.call(n)}finally{if(e)throw e.error}}this._effects.destroy()},a.decorators=[{type:t.Component,args:[{selector:"bs-datepicker-container",providers:[N,D],template:'\x3c!-- days calendar view mode --\x3e\n<div class="bs-datepicker" [ngClass]="containerClass" *ngIf="viewMode | async">\n <div class="bs-datepicker-container"\n [@datepickerAnimation]="animationState"\n (@datepickerAnimation.done)="positionServiceEnable()">\n \x3c!--calendars--\x3e\n <div class="bs-calendar-container" [ngSwitch]="viewMode | async" role="application">\n \x3c!--days calendar--\x3e\n <div *ngSwitchCase="\'day\'" class="bs-media-container">\n <bs-days-calendar-view\n *ngFor="let calendar of daysCalendar | async"\n [class.bs-datepicker-multiple]="(daysCalendar | async)?.length > 1"\n [calendar]="calendar"\n [options]="options | async"\n (onNavigate)="navigateTo($event)"\n (onViewMode)="setViewMode($event)"\n (onHover)="dayHoverHandler($event)"\n (onHoverWeek)="weekHoverHandler($event)"\n (onSelect)="daySelectHandler($event)">\n </bs-days-calendar-view>\n </div>\n\n \x3c!--months calendar--\x3e\n <div *ngSwitchCase="\'month\'" class="bs-media-container">\n <bs-month-calendar-view\n *ngFor="let calendar of monthsCalendar | async"\n [class.bs-datepicker-multiple]="(daysCalendar | async)?.length > 1"\n [calendar]="calendar"\n (onNavigate)="navigateTo($event)"\n (onViewMode)="setViewMode($event)"\n (onHover)="monthHoverHandler($event)"\n (onSelect)="monthSelectHandler($event)">\n </bs-month-calendar-view>\n </div>\n\n \x3c!--years calendar--\x3e\n <div *ngSwitchCase="\'year\'" class="bs-media-container">\n <bs-years-calendar-view\n *ngFor="let calendar of yearsCalendar | async"\n [class.bs-datepicker-multiple]="(daysCalendar | async)?.length > 1"\n [calendar]="calendar"\n (onNavigate)="navigateTo($event)"\n (onViewMode)="setViewMode($event)"\n (onHover)="yearHoverHandler($event)"\n (onSelect)="yearSelectHandler($event)">\n </bs-years-calendar-view>\n </div>\n </div>\n\n \x3c!--applycancel buttons--\x3e\n <div class="bs-datepicker-buttons" *ngIf="false">\n <button class="btn btn-success" type="button">Apply</button>\n <button class="btn btn-default" type="button">Cancel</button>\n </div>\n </div>\n\n \x3c!--custom dates or date ranges picker--\x3e\n <div class="bs-datepicker-custom-range" *ngIf="customRanges?.length > 0">\n <bs-custom-date-view \n [selectedRange]="chosenRange" \n [ranges]="customRanges"\n (onSelect)="setRangeOnCalendar($event)">\n </bs-custom-date-view>\n </div>\n</div>\n',host:{class:"bottom","(click)":"_stopPropagation($event)",role:"dialog","aria-label":"calendar"},animations:[Y]}]}],a.ctorParameters=function(){return[{type:t.Renderer2},{type:b},{type:N},{type:t.ElementRef},{type:g},{type:D},{type:r.PositioningService}]},a}(m);var z=function(){function e(e,n,a,s,r){this._config=e,this._elementRef=n,this._renderer=a,this.placement="bottom",this.triggers="click",this.outsideClick=!0,this.container="body",this.outsideEsc=!0,this.bsValueChange=new t.EventEmitter,this._subs=[],Object.assign(this,this._config),this._datepicker=r.createLoader(n,s,a),this.onShown=this._datepicker.onShown,this.onHidden=this._datepicker.onHidden,this.isOpen$=new i.BehaviorSubject(this.isOpen)}return Object.defineProperty(e.prototype,"isOpen",{get:function(){return this._datepicker.isShown},set:function(e){this.isOpen$.next(e)},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"bsValue",{set:function(e){this._bsValue&&e&&this._bsValue.getTime()===e.getTime()||(this._bsValue=e,this.bsValueChange.emit(e))},enumerable:!0,configurable:!0}),e.prototype.ngOnInit=function(){var e=this;this.isDestroy$=new i.Subject,this._datepicker.listen({outsideClick:this.outsideClick,outsideEsc:this.outsideEsc,triggers:this.triggers,show:function(){return e.show()}}),this.setConfig()},e.prototype.ngOnChanges=function(e){this._datepickerRef&&this._datepickerRef.instance&&(e.minDate&&(this._datepickerRef.instance.minDate=this.minDate),e.maxDate&&(this._datepickerRef.instance.maxDate=this.maxDate),e.daysDisabled&&(this._datepickerRef.instance.daysDisabled=this.daysDisabled),e.datesDisabled&&(this._datepickerRef.instance.datesDisabled=this.datesDisabled),e.datesEnabled&&(this._datepickerRef.instance.datesEnabled=this.datesEnabled),e.isDisabled&&(this._datepickerRef.instance.isDisabled=this.isDisabled),e.dateCustomClasses&&(this._datepickerRef.instance.dateCustomClasses=this.dateCustomClasses))},e.prototype.ngAfterViewInit=function(){var e=this;this.isOpen$.pipe(n.filter((function(t){return t!==e.isOpen})),n.takeUntil(this.isDestroy$)).subscribe((function(){return e.toggle()}))},e.prototype.show=function(){var e=this;this._datepicker.isShown||(this.setConfig(),this._datepickerRef=this._datepicker.provide({provide:b,useValue:this._config}).attach(B).to(this.container).position({attachment:this.placement}).show({placement:this.placement}),this._subs.push(this.bsValueChange.subscribe((function(t){e._datepickerRef.instance.value=t}))),this._subs.push(this._datepickerRef.instance.valueChange.subscribe((function(t){e.bsValue=t,e.hide()}))))},e.prototype.hide=function(){var e,t;this.isOpen&&this._datepicker.hide();try{for(var n=f(this._subs),a=n.next();!a.done;a=n.next()){a.value.unsubscribe()}}catch(t){e={error:t}}finally{try{a&&!a.done&&(t=n.return)&&t.call(n)}finally{if(e)throw e.error}}this._config.returnFocusToInput&&this._renderer.selectRootElement(this._elementRef.nativeElement).focus()},e.prototype.toggle=function(){if(this.isOpen)return this.hide();this.show()},e.prototype.setConfig=function(){this._config=Object.assign({},this._config,this.bsConfig,{value:this._bsValue,isDisabled:this.isDisabled,minDate:this.minDate||this.bsConfig&&this.bsConfig.minDate,maxDate:this.maxDate||this.bsConfig&&this.bsConfig.maxDate,daysDisabled:this.daysDisabled||this.bsConfig&&this.bsConfig.daysDisabled,dateCustomClasses:this.dateCustomClasses||this.bsConfig&&this.bsConfig.dateCustomClasses,datesDisabled:this.datesDisabled||this.bsConfig&&this.bsConfig.datesDisabled,datesEnabled:this.datesEnabled||this.bsConfig&&this.bsConfig.datesEnabled,minMode:this.minMode||this.bsConfig&&this.bsConfig.minMode})},e.prototype.ngOnDestroy=function(){this._datepicker.dispose(),this.isOpen$.next(!1),this.isDestroy$&&(this.isDestroy$.next(),this.isDestroy$.complete())},e.decorators=[{type:t.Directive,args:[{selector:"[bsDatepicker]",exportAs:"bsDatepicker"}]}],e.ctorParameters=function(){return[{type:b},{type:t.ElementRef},{type:t.Renderer2},{type:t.ViewContainerRef},{type:c.ComponentLoaderFactory}]},e.propDecorators={placement:[{type:t.Input}],triggers:[{type:t.Input}],outsideClick:[{type:t.Input}],container:[{type:t.Input}],outsideEsc:[{type:t.Input}],isOpen:[{type:t.Input}],onShown:[{type:t.Output}],onHidden:[{type:t.Output}],bsValue:[{type:t.Input}],bsConfig:[{type:t.Input}],isDisabled:[{type:t.Input}],minDate:[{type:t.Input}],maxDate:[{type:t.Input}],minMode:[{type:t.Input}],daysDisabled:[{type:t.Input}],datesDisabled:[{type:t.Input}],datesEnabled:[{type:t.Input}],dateCustomClasses:[{type:t.Input}],bsValueChange:[{type:t.Output}]},e}();var W=function(e){function n(){return null!==e&&e.apply(this,arguments)||this}return p(n,e),n.decorators=[{type:t.Injectable}],n}(b),G=function(e){function n(t,n,a,i,s,r,o){var c=e.call(this,t,n,a,i,s,r,o)||this;return t.setStyle(i.nativeElement,"display","inline-block"),t.setStyle(i.nativeElement,"position","static"),c}return p(n,e),n.decorators=[{type:t.Component,args:[{selector:"bs-datepicker-inline-container",providers:[N,D],template:'\x3c!-- days calendar view mode --\x3e\n<div class="bs-datepicker" [ngClass]="containerClass" *ngIf="viewMode | async">\n <div class="bs-datepicker-container"\n [@datepickerAnimation]="animationState"\n (@datepickerAnimation.done)="positionServiceEnable()">\n \x3c!--calendars--\x3e\n <div class="bs-calendar-container" [ngSwitch]="viewMode | async" role="application">\n \x3c!--days calendar--\x3e\n <div *ngSwitchCase="\'day\'" class="bs-media-container">\n <bs-days-calendar-view\n *ngFor="let calendar of daysCalendar | async"\n [class.bs-datepicker-multiple]="(daysCalendar | async)?.length > 1"\n [calendar]="calendar"\n [options]="options | async"\n (onNavigate)="navigateTo($event)"\n (onViewMode)="setViewMode($event)"\n (onHover)="dayHoverHandler($event)"\n (onHoverWeek)="weekHoverHandler($event)"\n (onSelect)="daySelectHandler($event)">\n </bs-days-calendar-view>\n </div>\n\n \x3c!--months calendar--\x3e\n <div *ngSwitchCase="\'month\'" class="bs-media-container">\n <bs-month-calendar-view\n *ngFor="let calendar of monthsCalendar | async"\n [class.bs-datepicker-multiple]="(daysCalendar | async)?.length > 1"\n [calendar]="calendar"\n (onNavigate)="navigateTo($event)"\n (onViewMode)="setViewMode($event)"\n (onHover)="monthHoverHandler($event)"\n (onSelect)="monthSelectHandler($event)">\n </bs-month-calendar-view>\n </div>\n\n \x3c!--years calendar--\x3e\n <div *ngSwitchCase="\'year\'" class="bs-media-container">\n <bs-years-calendar-view\n *ngFor="let calendar of yearsCalendar | async"\n [class.bs-datepicker-multiple]="(daysCalendar | async)?.length > 1"\n [calendar]="calendar"\n (onNavigate)="navigateTo($event)"\n (onViewMode)="setViewMode($event)"\n (onHover)="yearHoverHandler($event)"\n (onSelect)="yearSelectHandler($event)">\n </bs-years-calendar-view>\n </div>\n </div>\n\n \x3c!--applycancel buttons--\x3e\n <div class="bs-datepicker-buttons" *ngIf="false">\n <button class="btn btn-success" type="button">Apply</button>\n <button class="btn btn-default" type="button">Cancel</button>\n </div>\n </div>\n\n \x3c!--custom dates or date ranges picker--\x3e\n <div class="bs-datepicker-custom-range" *ngIf="customRanges?.length > 0">\n <bs-custom-date-view \n [selectedRange]="chosenRange" \n [ranges]="customRanges"\n (onSelect)="setRangeOnCalendar($event)">\n </bs-custom-date-view>\n </div>\n</div>\n',host:{"(click)":"_stopPropagation($event)"},animations:[Y]}]}],n.ctorParameters=function(){return[{type:t.Renderer2},{type:b},{type:N},{type:t.ElementRef},{type:g},{type:D},{type:r.PositioningService}]},n}(B),U=function(){function e(e,n,a,i,s){this._config=e,this._elementRef=n,this.bsValueChange=new t.EventEmitter,this._subs=[],Object.assign(this,this._config),this._datepicker=s.createLoader(n,i,a)}return Object.defineProperty(e.prototype,"bsValue",{set:function(e){this._bsValue!==e&&(this._bsValue=e,this.bsValueChange.emit(e))},enumerable:!0,configurable:!0}),e.prototype.ngOnInit=function(){var e=this;this.setConfig(),this._subs.push(this.bsValueChange.subscribe((function(t){e._datepickerRef.instance.value=t}))),this._subs.push(this._datepickerRef.instance.valueChange.subscribe((function(t){e.bsValue=t})))},e.prototype.ngOnChanges=function(e){this._datepickerRef&&this._datepickerRef.instance&&(e.minDate&&(this._datepickerRef.instance.minDate=this.minDate,this.setConfig()),e.maxDate&&(this._datepickerRef.instance.maxDate=this.maxDate,this.setConfig()),e.datesDisabled&&(this._datepickerRef.instance.datesDisabled=this.datesDisabled,this.setConfig()),e.datesEnabled&&(this._datepickerRef.instance.datesEnabled=this.datesEnabled,this._datepickerRef.instance.value=this._bsValue),e.isDisabled&&(this._datepickerRef.instance.isDisabled=this.isDisabled,this.setConfig()),e.dateCustomClasses&&(this._datepickerRef.instance.dateCustomClasses=this.dateCustomClasses,this.setConfig()))},e.prototype.setConfig=function(){this._datepicker&&this._datepicker.hide(),this._config=Object.assign({},this._config,this.bsConfig,{value:this._bsValue,isDisabled:this.isDisabled,minDate:this.minDate||this.bsConfig&&this.bsConfig.minDate,maxDate:this.maxDate||this.bsConfig&&this.bsConfig.maxDate,dateCustomClasses:this.dateCustomClasses||this.bsConfig&&this.bsConfig.dateCustomClasses,datesDisabled:this.datesDisabled||this.bsConfig&&this.bsConfig.datesDisabled,datesEnabled:this.datesEnabled||this.bsConfig&&this.bsConfig.datesEnabled}),this._datepickerRef=this._datepicker.provide({provide:b,useValue:this._config}).attach(G).to(this._elementRef).show()},e.prototype.ngOnDestroy=function(){this._datepicker.dispose()},e.decorators=[{type:t.Directive,args:[{selector:"bs-datepicker-inline",exportAs:"bsDatepickerInline"}]}],e.ctorParameters=function(){return[{type:W},{type:t.ElementRef},{type:t.Renderer2},{type:t.ViewContainerRef},{type:c.ComponentLoaderFactory}]},e.propDecorators={bsValue:[{type:t.Input}],bsConfig:[{type:t.Input}],isDisabled:[{type:t.Input}],minDate:[{type:t.Input}],maxDate:[{type:t.Input}],dateCustomClasses:[{type:t.Input}],datesEnabled:[{type:t.Input}],datesDisabled:[{type:t.Input}],bsValueChange:[{type:t.Output}]},e}();var q=function(e){function n(){var t=null!==e&&e.apply(this,arguments)||this;return t.displayMonths=2,t.isAnimated=!1,t}return p(n,e),n.decorators=[{type:t.Injectable}],n}(b);var Z=function(e){function a(n,a,i,s,r,o,c){var d=e.call(this)||this;return d._config=a,d._store=i,d._element=s,d._actions=r,d._positionService=c,d.valueChange=new t.EventEmitter,d.animationState="void",d._rangeStack=[],d.chosenRange=[],d._subs=[],d._effects=o,d.customRanges=d._config.ranges,n.setStyle(s.nativeElement,"display","block"),n.setStyle(s.nativeElement,"position","absolute"),d}return p(a,e),Object.defineProperty(a.prototype,"value",{set:function(e){this._effects.setRangeValue(e)},enumerable:!0,configurable:!0}),a.prototype.ngOnInit=function(){var e=this;this._positionService.setOptions({modifiers:{flip:{enabled:this._config.adaptivePosition}},allowedPositions:["top","bottom"]}),this._positionService.event$.pipe(n.take(1)).subscribe((function(){e._positionService.disable(),e._config.isAnimated?e.animationState=e.isTopPosition?"animated-up":"animated-down":e.animationState="unanimated"})),this.containerClass=this._config.containerClass,this.isOtherMonthsActive=this._config.selectFromOtherMonth,this._effects.init(this._store).setOptions(this._config).setBindings(this).setEventHandlers(this).registerDatepickerSideEffects(),this._subs.push(this._store.select((function(e){return e.selectedRange})).subscribe((function(t){e.valueChange.emit(t),e.chosenRange=t})))},Object.defineProperty(a.prototype,"isTopPosition",{get:function(){return this._element.nativeElement.classList.contains("top")},enumerable:!0,configurable:!0}),a.prototype.positionServiceEnable=function(){this._positionService.enable()},a.prototype.daySelectHandler=function(e){e&&((this.isOtherMonthsActive?e.isDisabled:e.isOtherMonth||e.isDisabled)||(1===this._rangeStack.length&&(this._rangeStack=e.date>=this._rangeStack[0]?[this._rangeStack[0],e.date]:[e.date]),0===this._rangeStack.length&&(this._rangeStack=[e.date]),this._store.dispatch(this._actions.selectRange(this._rangeStack)),2===this._rangeStack.length&&(this._rangeStack=[])))},a.prototype.ngOnDestroy=function(){var e,t;try{for(var n=f(this._subs),a=n.next();!a.done;a=n.next()){a.value.unsubscribe()}}catch(t){e={error:t}}finally{try{a&&!a.done&&(t=n.return)&&t.call(n)}finally{if(e)throw e.error}}this._effects.destroy()},a.prototype.setRangeOnCalendar=function(e){this._rangeStack=null===e?[]:e.value instanceof Date?[e.value]:e.value,this._store.dispatch(this._actions.selectRange(this._rangeStack))},a.decorators=[{type:t.Component,args:[{selector:"bs-daterangepicker-container",providers:[N,D],template:'\x3c!-- days calendar view mode --\x3e\n<div class="bs-datepicker" [ngClass]="containerClass" *ngIf="viewMode | async">\n <div class="bs-datepicker-container"\n [@datepickerAnimation]="animationState"\n (@datepickerAnimation.done)="positionServiceEnable()">\n \x3c!--calendars--\x3e\n <div class="bs-calendar-container" [ngSwitch]="viewMode | async" role="application">\n \x3c!--days calendar--\x3e\n <div *ngSwitchCase="\'day\'" class="bs-media-container">\n <bs-days-calendar-view\n *ngFor="let calendar of daysCalendar | async"\n [class.bs-datepicker-multiple]="(daysCalendar | async)?.length > 1"\n [calendar]="calendar"\n [options]="options | async"\n (onNavigate)="navigateTo($event)"\n (onViewMode)="setViewMode($event)"\n (onHover)="dayHoverHandler($event)"\n (onHoverWeek)="weekHoverHandler($event)"\n (onSelect)="daySelectHandler($event)">\n </bs-days-calendar-view>\n </div>\n\n \x3c!--months calendar--\x3e\n <div *ngSwitchCase="\'month\'" class="bs-media-container">\n <bs-month-calendar-view\n *ngFor="let calendar of monthsCalendar | async"\n [class.bs-datepicker-multiple]="(daysCalendar | async)?.length > 1"\n [calendar]="calendar"\n (onNavigate)="navigateTo($event)"\n (onViewMode)="setViewMode($event)"\n (onHover)="monthHoverHandler($event)"\n (onSelect)="monthSelectHandler($event)">\n </bs-month-calendar-view>\n </div>\n\n \x3c!--years calendar--\x3e\n <div *ngSwitchCase="\'year\'" class="bs-media-container">\n <bs-years-calendar-view\n *ngFor="let calendar of yearsCalendar | async"\n [class.bs-datepicker-multiple]="(daysCalendar | async)?.length > 1"\n [calendar]="calendar"\n (onNavigate)="navigateTo($event)"\n (onViewMode)="setViewMode($event)"\n (onHover)="yearHoverHandler($event)"\n (onSelect)="yearSelectHandler($event)">\n </bs-years-calendar-view>\n </div>\n </div>\n\n \x3c!--applycancel buttons--\x3e\n <div class="bs-datepicker-buttons" *ngIf="false">\n <button class="btn btn-success" type="button">Apply</button>\n <button class="btn btn-default" type="button">Cancel</button>\n </div>\n </div>\n\n \x3c!--custom dates or date ranges picker--\x3e\n <div class="bs-datepicker-custom-range" *ngIf="customRanges?.length > 0">\n <bs-custom-date-view \n [selectedRange]="chosenRange" \n [ranges]="customRanges"\n (onSelect)="setRangeOnCalendar($event)">\n </bs-custom-date-view>\n </div>\n</div>\n',host:{class:"bottom","(click)":"_stopPropagation($event)",role:"dialog","aria-label":"calendar"},animations:[Y]}]}],a.ctorParameters=function(){return[{type:t.Renderer2},{type:b},{type:N},{type:t.ElementRef},{type:g},{type:D},{type:r.PositioningService}]},a}(m);var K=function(e){function n(t,n,a,i,s,r,o){var c=e.call(this,t,n,a,i,s,r,o)||this;return t.setStyle(i.nativeElement,"display","inline-block"),t.setStyle(i.nativeElement,"position","static"),c}return p(n,e),n.decorators=[{type:t.Component,args:[{selector:"bs-daterangepicker-inline-container",providers:[N,D],template:'\x3c!-- days calendar view mode --\x3e\n<div class="bs-datepicker" [ngClass]="containerClass" *ngIf="viewMode | async">\n <div class="bs-datepicker-container"\n [@datepickerAnimation]="animationState"\n (@datepickerAnimation.done)="positionServiceEnable()">\n \x3c!--calendars--\x3e\n <div class="bs-calendar-container" [ngSwitch]="viewMode | async" role="application">\n \x3c!--days calendar--\x3e\n <div *ngSwitchCase="\'day\'" class="bs-media-container">\n <bs-days-calendar-view\n *ngFor="let calendar of daysCalendar | async"\n [class.bs-datepicker-multiple]="(daysCalendar | async)?.length > 1"\n [calendar]="calendar"\n [options]="options | async"\n (onNavigate)="navigateTo($event)"\n (onViewMode)="setViewMode($event)"\n (onHover)="dayHoverHandler($event)"\n (onHoverWeek)="weekHoverHandler($event)"\n (onSelect)="daySelectHandler($event)">\n </bs-days-calendar-view>\n </div>\n\n \x3c!--months calendar--\x3e\n <div *ngSwitchCase="\'month\'" class="bs-media-container">\n <bs-month-calendar-view\n *ngFor="let calendar of monthsCalendar | async"\n [class.bs-datepicker-multiple]="(daysCalendar | async)?.length > 1"\n [calendar]="calendar"\n (onNavigate)="navigateTo($event)"\n (onViewMode)="setViewMode($event)"\n (onHover)="monthHoverHandler($event)"\n (onSelect)="monthSelectHandler($event)">\n </bs-month-calendar-view>\n </div>\n\n \x3c!--years calendar--\x3e\n <div *ngSwitchCase="\'year\'" class="bs-media-container">\n <bs-years-calendar-view\n *ngFor="let calendar of yearsCalendar | async"\n [class.bs-datepicker-multiple]="(daysCalendar | async)?.length > 1"\n [calendar]="calendar"\n (onNavigate)="navigateTo($event)"\n (onViewMode)="setViewMode($event)"\n (onHover)="yearHoverHandler($event)"\n (onSelect)="yearSelectHandler($event)">\n </bs-years-calendar-view>\n </div>\n </div>\n\n \x3c!--applycancel buttons--\x3e\n <div class="bs-datepicker-buttons" *ngIf="false">\n <button class="btn btn-success" type="button">Apply</button>\n <button class="btn btn-default" type="button">Cancel</button>\n </div>\n </div>\n\n \x3c!--custom dates or date ranges picker--\x3e\n <div class="bs-datepicker-custom-range" *ngIf="customRanges?.length > 0">\n <bs-custom-date-view \n [selectedRange]="chosenRange" \n [ranges]="customRanges"\n (onSelect)="setRangeOnCalendar($event)">\n </bs-custom-date-view>\n </div>\n</div>\n',host:{"(click)":"_stopPropagation($event)"},animations:[Y]}]}],n.ctorParameters=function(){return[{type:t.Renderer2},{type:b},{type:N},{type:t.ElementRef},{type:g},{type:D},{type:r.PositioningService}]},n}(Z),Q=function(){function e(e,n,a,i,s){this._config=e,this._elementRef=n,this.bsValueChange=new t.EventEmitter,this._subs=[],Object.assign(this,this._config),this._datepicker=s.createLoader(n,i,a)}return Object.defineProperty(e.prototype,"bsValue",{set:function(e){this._bsValue!==e&&(this._bsValue=e,this.bsValueChange.emit(e))},enumerable:!0,configurable:!0}),e.prototype.ngOnInit=function(){var e=this;this.setConfig(),this._subs.push(this.bsValueChange.subscribe((function(t){e._datepickerRef.instance.value=t}))),this._subs.push(this._datepickerRef.instance.valueChange.pipe(n.filter((function(e){return e&&e[0]&&!!e[1]}))).subscribe((function(t){e.bsValue=t})))},e.prototype.ngOnChanges=function(e){this._datepickerRef&&this._datepickerRef.instance&&(e.minDate&&(this._datepickerRef.instance.minDate=this.minDate,this.setConfig()),e.maxDate&&(this._datepickerRef.instance.maxDate=this.maxDate,this.setConfig()),e.datesEnabled&&(this._datepickerRef.instance.datesEnabled=this.datesEnabled),e.datesDisabled&&(this._datepickerRef.instance.datesDisabled=this.datesDisabled,this.setConfig()),e.daysDisabled&&(this._datepickerRef.instance.daysDisabled=this.daysDisabled,this.setConfig()),e.isDisabled&&(this._datepickerRef.instance.isDisabled=this.isDisabled,this.setConfig()),e.dateCustomClasses&&(this._datepickerRef.instance.dateCustomClasses=this.dateCustomClasses,this.setConfig()))},e.prototype.setConfig=function(){this._datepicker&&this._datepicker.hide(),this._config=Object.assign({},this._config,this.bsConfig,{value:this._bsValue,isDisabled:this.isDisabled,minDate:this.minDate||this.bsConfig&&this.bsConfig.minDate,maxDate:this.maxDate||this.bsConfig&&this.bsConfig.maxDate,daysDisabled:this.daysDisabled||this.bsConfig&&this.bsConfig.daysDisabled,dateCustomClasses:this.dateCustomClasses||this.bsConfig&&this.bsConfig.dateCustomClasses,datesDisabled:this.datesDisabled||this.bsConfig&&this.bsConfig.datesDisabled,datesEnabled:this.datesEnabled||this.bsConfig&&this.bsConfig.datesEnabled,ranges:this.bsConfig&&this.bsConfig.ranges}),this._datepickerRef=this._datepicker.provide({provide:b,useValue:this._config}).attach(K).to(this._elementRef).show()},e.prototype.ngOnDestroy=function(){this._datepicker.dispose()},e.decorators=[{type:t.Directive,args:[{selector:"bs-daterangepicker-inline",exportAs:"bsDaterangepickerInline"}]}],e.ctorParameters=function(){return[{type:q},{type:t.ElementRef},{type:t.Renderer2},{type:t.ViewContainerRef},{type:c.ComponentLoaderFactory}]},e.propDecorators={bsValue:[{type:t.Input}],bsConfig:[{type:t.Input}],isDisabled:[{type:t.Input}],minDate:[{type:t.Input}],maxDate:[{type:t.Input}],dateCustomClasses:[{type:t.Input}],daysDisabled:[{type:t.Input}],datesDisabled:[{type:t.Input}],datesEnabled:[{type:t.Input}],bsValueChange:[{type:t.Output}]},e}();var X={provide:d.NG_VALUE_ACCESSOR,useExisting:t.forwardRef((function(){return ee})),multi:!0},J={provide:d.NG_VALIDATORS,useExisting:t.forwardRef((function(){return ee})),multi:!0},ee=function(){function e(e,t,n,a,i){var s=this;this._picker=e,this._localeService=t,this._renderer=n,this._elRef=a,this.changeDetection=i,this._onChange=Function.prototype,this._onTouched=Function.prototype,this._validatorChange=Function.prototype,this._picker.bsValueChange.subscribe((function(e){s._setInputValue(e),s._value!==e&&(s._value=e,s._onChange(e),s._onTouched()),s.changeDetection.markForCheck()})),this._localeService.localeChange.subscribe((function(){s._setInputValue(s._value)}))}return e.prototype.onKeydownEvent=function(e){13!==e.keyCode&&"Enter"!==e.code||this.hide()},e.prototype._setInputValue=function(e){var t=e?a.formatDate(e,this._picker._config.dateInputFormat,this._localeService.currentLocale):"";this._renderer.setProperty(this._elRef.nativeElement,"value",t)},e.prototype.onChange=function(e){this.writeValue(e.target.value),this._onChange(this._value),this._picker._config.returnFocusToInput&&this._renderer.selectRootElement(this._elRef.nativeElement).focus(),this._onTouched()},e.prototype.validate=function(e){var t=e.value;if(null==t||""===t)return null;if(a.isDate(t)){if(!a.isDateValid(t))return{bsDate:{invalid:t}};if(this._picker&&this._picker.minDate&&a.isBefore(t,this._picker.minDate,"date"))return this.writeValue(this._picker.minDate),{bsDate:{minDate:this._picker.minDate}};if(this._picker&&this._picker.maxDate&&a.isAfter(t,this._picker.maxDate,"date"))return this.writeValue(this._picker.maxDate),{bsDate:{maxDate:this._picker.maxDate}}}},e.prototype.registerOnValidatorChange=function(e){this._validatorChange=e},e.prototype.writeValue=function(e){if(e){var t=this._localeService.currentLocale;if(!a.getLocale(t))throw new Error('Locale "'+t+'" is not defined, please add it with "defineLocale(...)"');this._value=a.parseDate(e,this._picker._config.dateInputFormat,this._localeService.currentLocale),this._picker._config.useUtc&&(this._value=a.utcAsLocal(this._value))}else this._value=null;this._picker.bsValue=this._value},e.prototype.setDisabledState=function(e){this._picker.isDisabled=e,e?this._renderer.setAttribute(this._elRef.nativeElement,"disabled","disabled"):this._renderer.removeAttribute(this._elRef.nativeElement,"disabled")},e.prototype.registerOnChange=function(e){this._onChange=e},e.prototype.registerOnTouched=function(e){this._onTouched=e},e.prototype.onBlur=function(){this._onTouched()},e.prototype.hide=function(){this._picker.hide(),this._renderer.selectRootElement(this._elRef.nativeElement).blur(),this._picker._config.returnFocusToInput&&this._renderer.selectRootElement(this._elRef.nativeElement).focus()},e.decorators=[{type:t.Directive,args:[{selector:"input[bsDatepicker]",host:{"(change)":"onChange($event)","(keyup.esc)":"hide()","(keydown)":"onKeydownEvent($event)","(blur)":"onBlur()"},providers:[X,J]}]}],e.ctorParameters=function(){return[{type:z,decorators:[{type:t.Host}]},{type:v},{type:t.Renderer2},{type:t.ElementRef},{type:t.ChangeDetectorRef}]},e}();var te=function(e){function n(){var t=null!==e&&e.apply(this,arguments)||this;return t.displayMonths=2,t}return p(n,e),n.decorators=[{type:t.Injectable}],n}(b);var ne=function(){function e(e,n,a,s,r){this._config=e,this._elementRef=n,this._renderer=a,this.placement="bottom",this.triggers="click",this.outsideClick=!0,this.container="body",this.outsideEsc=!0,this.bsValueChange=new t.EventEmitter,this._subs=[],this._datepicker=r.createLoader(n,s,a),Object.assign(this,e),this.onShown=this._datepicker.onShown,this.onHidden=this._datepicker.onHidden,this.isOpen$=new i.BehaviorSubject(this.isOpen)}return Object.defineProperty(e.prototype,"isOpen",{get:function(){return this._datepicker.isShown},set:function(e){this.isOpen$.next(e)},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"bsValue",{set:function(e){this._bsValue!==e&&(this._bsValue=e,this.bsValueChange.emit(e))},enumerable:!0,configurable:!0}),e.prototype.ngOnInit=function(){var e=this;this.isDestroy$=new i.Subject,this._datepicker.listen({outsideClick:this.outsideClick,outsideEsc:this.outsideEsc,triggers:this.triggers,show:function(){return e.show()}}),this.setConfig()},e.prototype.ngOnChanges=function(e){this._datepickerRef&&this._datepickerRef.instance&&(e.minDate&&(this._datepickerRef.instance.minDate=this.minDate),e.maxDate&&(this._datepickerRef.instance.maxDate=this.maxDate),e.datesDisabled&&(this._datepickerRef.instance.datesDisabled=this.datesDisabled),e.datesEnabled&&(this._datepickerRef.instance.datesEnabled=this.datesEnabled),e.daysDisabled&&(this._datepickerRef.instance.daysDisabled=this.daysDisabled),e.isDisabled&&(this._datepickerRef.instance.isDisabled=this.isDisabled),e.dateCustomClasses&&(this._datepickerRef.instance.dateCustomClasses=this.dateCustomClasses))},e.prototype.ngAfterViewInit=function(){var e=this;this.isOpen$.pipe(n.filter((function(t){return t!==e.isOpen})),n.takeUntil(this.isDestroy$)).subscribe((function(){return e.toggle()}))},e.prototype.show=function(){var e=this;this._datepicker.isShown||(this.setConfig(),this._datepickerRef=this._datepicker.provide({provide:b,useValue:this._config}).attach(Z).to(this.container).position({attachment:this.placement}).show({placement:this.placement}),this._subs.push(this.bsValueChange.subscribe((function(t){e._datepickerRef.instance.value=t}))),this._subs.push(this._datepickerRef.instance.valueChange.pipe(n.filter((function(e){return e&&e[0]&&!!e[1]}))).subscribe((function(t){e.bsValue=t,e.hide()}))))},e.prototype.setConfig=function(){this._config=Object.assign({},this._config,this.bsConfig,{value:this._bsValue,isDisabled:this.isDisabled,minDate:this.minDate||this.bsConfig&&this.bsConfig.minDate,maxDate:this.maxDate||this.bsConfig&&this.bsConfig.maxDate,daysDisabled:this.daysDisabled||this.bsConfig&&this.bsConfig.daysDisabled,dateCustomClasses:this.dateCustomClasses||this.bsConfig&&this.bsConfig.dateCustomClasses,datesDisabled:this.datesDisabled||this.bsConfig&&this.bsConfig.datesDisabled,datesEnabled:this.datesEnabled||this.bsConfig&&this.bsConfig.datesEnabled,ranges:this.bsConfig&&this.bsConfig.ranges})},e.prototype.hide=function(){var e,t;this.isOpen&&this._datepicker.hide();try{for(var n=f(this._subs),a=n.next();!a.done;a=n.next()){a.value.unsubscribe()}}catch(t){e={error:t}}finally{try{a&&!a.done&&(t=n.return)&&t.call(n)}finally{if(e)throw e.error}}this._config.returnFocusToInput&&this._renderer.selectRootElement(this._elementRef.nativeElement).focus()},e.prototype.toggle=function(){if(this.isOpen)return this.hide();this.show()},e.prototype.ngOnDestroy=function(){this._datepicker.dispose(),this.isOpen$.next(!1),this.isDestroy$&&(this.isDestroy$.next(),this.isDestroy$.complete())},e.decorators=[{type:t.Directive,args:[{selector:"[bsDaterangepicker]",exportAs:"bsDaterangepicker"}]}],e.ctorParameters=function(){return[{type:te},{type:t.ElementRef},{type:t.Renderer2},{type:t.ViewContainerRef},{type:c.ComponentLoaderFactory}]},e.propDecorators={placement:[{type:t.Input}],triggers:[{type:t.Input}],outsideClick:[{type:t.Input}],container:[{type:t.Input}],outsideEsc:[{type:t.Input}],isOpen:[{type:t.Input}],onShown:[{type:t.Output}],onHidden:[{type:t.Output}],bsValue:[{type:t.Input}],bsConfig:[{type:t.Input}],isDisabled:[{type:t.Input}],minDate:[{type:t.Input}],maxDate:[{type:t.Input}],dateCustomClasses:[{type:t.Input}],daysDisabled:[{type:t.Input}],datesDisabled:[{type:t.Input}],datesEnabled:[{type:t.Input}],bsValueChange:[{type:t.Output}]},e}();var ae={provide:d.NG_VALUE_ACCESSOR,useExisting:t.forwardRef((function(){return se})),multi:!0},ie={provide:d.NG_VALIDATORS,useExisting:t.forwardRef((function(){return se})),multi:!0},se=function(){function e(e,t,n,a,i){var s=this;this._picker=e,this._localeService=t,this._renderer=n,this._elRef=a,this.changeDetection=i,this._onChange=Function.prototype,this._onTouched=Function.prototype,this._validatorChange=Function.prototype,this._picker.bsValueChange.subscribe((function(e){s._setInputValue(e),s._value!==e&&(s._value=e,s._onChange(e),s._onTouched()),s.changeDetection.markForCheck()})),this._localeService.localeChange.subscribe((function(){s._setInputValue(s._value)}))}return e.prototype.onKeydownEvent=function(e){13!==e.keyCode&&"Enter"!==e.code||this.hide()},e.prototype._setInputValue=function(e){var t="";if(e){var n=e[0]?a.formatDate(e[0],this._picker._config.rangeInputFormat,this._localeService.currentLocale):"",i=e[1]?a.formatDate(e[1],this._picker._config.rangeInputFormat,this._localeService.currentLocale):"";t=n&&i?n+this._picker._config.rangeSeparator+i:""}this._renderer.setProperty(this._elRef.nativeElement,"value",t)},e.prototype.onChange=function(e){this.writeValue(e.target.value),this._onChange(this._value),this._picker._config.returnFocusToInput&&this._renderer.selectRootElement(this._elRef.nativeElement).focus(),this._onTouched()},e.prototype.validate=function(e){var t=e.value,n=[];if(null==t||!a.isArray(t))return null;t.sort((function(e,t){return e-t}));var i=a.isDateValid(t[0]),s=a.isDateValid(t[1]);return i?s?(this._picker&&this._picker.minDate&&a.isBefore(t[0],this._picker.minDate,"date")&&(t[0]=this._picker.minDate,n.push({bsDate:{minDate:this._picker.minDate}})),this._picker&&this._picker.maxDate&&a.isAfter(t[1],this._picker.maxDate,"date")&&(t[1]=this._picker.maxDate,n.push({bsDate:{maxDate:this._picker.maxDate}})),n.length>0?(this.writeValue(t),n):void 0):{bsDate:{invalid:t[1]}}:{bsDate:{invalid:t[0]}}},e.prototype.registerOnValidatorChange=function(e){this._validatorChange=e},e.prototype.writeValue=function(e){var t=this;if(e){var n=this._localeService.currentLocale;if(!a.getLocale(n))throw new Error('Locale "'+n+'" is not defined, please add it with "defineLocale(...)"');var i=[];"string"==typeof e&&(i=e.split(this._picker._config.rangeSeparator)),Array.isArray(e)&&(i=e),this._value=i.map((function(e){return t._picker._config.useUtc?a.utcAsLocal(a.parseDate(e,t._picker._config.dateInputFormat,t._localeService.currentLocale)):a.parseDate(e,t._picker._config.dateInputFormat,t._localeService.currentLocale)})).map((function(e){return isNaN(e.valueOf())?null:e}))}else this._value=null;this._picker.bsValue=this._value},e.prototype.setDisabledState=function(e){this._picker.isDisabled=e,e?this._renderer.setAttribute(this._elRef.nativeElement,"disabled","disabled"):this._renderer.removeAttribute(this._elRef.nativeElement,"disabled")},e.prototype.registerOnChange=function(e){this._onChange=e},e.prototype.registerOnTouched=function(e){this._onTouched=e},e.prototype.onBlur=function(){this._onTouched()},e.prototype.hide=function(){this._picker.hide(),this._renderer.selectRootElement(this._elRef.nativeElement).blur(),this._picker._config.returnFocusToInput&&this._renderer.selectRootElement(this._elRef.nativeElement).focus()},e.decorators=[{type:t.Directive,args:[{selector:"input[bsDaterangepicker]",host:{"(change)":"onChange($event)","(keyup.esc)":"hide()","(keydown)":"onKeydownEvent($event)","(blur)":"onBlur()"},providers:[ae,ie]}]}],e.ctorParameters=function(){return[{type:ne,decorators:[{type:t.Host}]},{type:v},{type:t.Renderer2},{type:t.ElementRef},{type:t.ChangeDetectorRef}]},e}();var re=function(){function e(){}return e.decorators=[{type:t.Component,args:[{selector:"bs-calendar-layout",template:'\n \x3c!-- current date, will be added in nearest releases --\x3e\n <bs-current-date title="hey there" *ngIf="false"></bs-current-date>\n\n \x3c!--navigation--\x3e\n <div class="bs-datepicker-head">\n <ng-content select="bs-datepicker-navigation-view"></ng-content>\n </div>\n\n <div class="bs-datepicker-body">\n <ng-content></ng-content>\n </div>\n\n \x3c!--timepicker--\x3e\n <bs-timepicker *ngIf="false"></bs-timepicker>\n '}]}],e}(),oe=function(){function e(){}return e.decorators=[{type:t.Component,args:[{selector:"bs-current-date",template:'<div class="current-timedate"><span>{{ title }}</span></div>'}]}],e.propDecorators={title:[{type:t.Input}]},e}();var ce=function(){function e(){this.onSelect=new t.EventEmitter,this.customRange=null}return e.prototype.selectFromRanges=function(e){this.onSelect.emit(e)},e.prototype.checkRange=function(){var e=this;return!!this.ranges&&this.ranges.filter((function(t){return t.value===e.selectedRange})).length>0},e.decorators=[{type:t.Component,args:[{selector:"bs-custom-date-view",template:'\n <div class="bs-datepicker-predefined-btns">\n <button *ngFor="let range of ranges"\n type="button"\n class="btn"\n (click)="selectFromRanges(range)"\n [class.selected]="range.value === selectedRange">\n {{ range.label }}\n </button>\n <button\n type="button"\n class="btn"\n (click)="selectFromRanges(customRange)"\n [class.selected]="!checkRange()">\n Custom Range\n </button>\n </div>\n ',changeDetection:t.ChangeDetectionStrategy.OnPush}]}],e.propDecorators={ranges:[{type:t.Input}],selectedRange:[{type:t.Input}],onSelect:[{type:t.Output}]},e}();var de=function(){function e(e,t,n){this._config=e,this._elRef=t,this._renderer=n}return e.prototype.ngOnInit=function(){var e=this;this.day.isToday&&this._config&&this._config.customTodayClass&&this._renderer.addClass(this._elRef.nativeElement,this._config.customTodayClass),"string"==typeof this.day.customClasses&&this.day.customClasses.split(" ").filter((function(e){return e})).forEach((function(t){e._renderer.addClass(e._elRef.nativeElement,t)}))},e.decorators=[{type:t.Component,args:[{selector:"[bsDatepickerDayDecorator]",changeDetection:t.ChangeDetectionStrategy.OnPush,host:{"[class.disabled]":"day.isDisabled","[class.is-highlighted]":"day.isHovered","[class.is-other-month]":"day.isOtherMonth","[class.is-active-other-month]":"day.isOtherMonthHovered","[class.in-range]":"day.isInRange","[class.select-start]":"day.isSelectionStart","[class.select-end]":"day.isSelectionEnd","[class.selected]":"day.isSelected"},template:"{{ day.label }}"}]}],e.ctorParameters=function(){return[{type:b},{type:t.ElementRef},{type:t.Renderer2}]},e.propDecorators={day:[{type:t.Input}]},e}();var le={UP:0,DOWN:1};le[le.UP]="UP",le[le.DOWN]="DOWN";var he=function(){function e(){this.onNavigate=new t.EventEmitter,this.onViewMode=new t.EventEmitter}return e.prototype.navTo=function(e){this.onNavigate.emit(e?le.DOWN:le.UP)},e.prototype.view=function(e){this.onViewMode.emit(e)},e.decorators=[{type:t.Component,args:[{selector:"bs-datepicker-navigation-view",changeDetection:t.ChangeDetectionStrategy.OnPush,template:'\n <button class="previous"\n [disabled]="calendar.disableLeftArrow"\n [style.visibility]="calendar.hideLeftArrow ? \'hidden\' : \'visible\'"\n type="button"\n (click)="navTo(true)">\n <span>‹</span>\n </button>\n\n <ng-container *ngIf="calendar.monthTitle">\n ​ \x3c!-- zero-width space needed for correct alignement\n with preserveWhitespaces: false in Angular --\x3e\n\n <button class="current"\n type="button"\n (click)="view(\'month\')"\n ><span>{{ calendar.monthTitle }}</span>\n </button>\n </ng-container>\n\n ​ \x3c!-- zero-width space needed for correct alignement\n with preserveWhitespaces: false in Angular --\x3e\n\n <button class="current" (click)="view(\'year\')" type="button">\n <span>{{ calendar.yearTitle }}</span>\n </button>\n\n ​ \x3c!-- zero-width space needed for correct alignement\n with preserveWhitespaces: false in Angular --\x3e\n\n <button class="next"\n [disabled]="calendar.disableRightArrow"\n [style.visibility]="calendar.hideRightArrow ? \'hidden\' : \'visible\'"\n type="button"\n (click)="navTo(false)"><span>›</span>\n </button>\n '}]}],e.propDecorators={calendar:[{type:t.Input}],onNavigate:[{type:t.Output}],onViewMode:[{type:t.Output}]},e}();var ue=function(){function e(e){this._config=e,this.onNavigate=new t.EventEmitter,this.onViewMode=new t.EventEmitter,this.onSelect=new t.EventEmitter,this.onHover=new t.EventEmitter,this.onHoverWeek=new t.EventEmitter}return e.prototype.navigateTo=function(e){var t=le.DOWN===e?-1:1;this.onNavigate.emit({step:{month:t}})},e.prototype.changeViewMode=function(e){this.onViewMode.emit(e)},e.prototype.selectDay=function(e){this.onSelect.emit(e)},e.prototype.selectWeek=function(e){var t=this;if((this._config.selectWeek||this._config.selectWeekDateRange)&&0!==e.days.length)if(this._config.selectWeek&&e.days[0]&&!e.days[0].isDisabled&&this._config.selectFromOtherMonth)this.onSelect.emit(e.days[0]);else{var n=e.days.find((function(e){return t._config.selectFromOtherMonth?!e.isDisabled:!e.isOtherMonth&&!e.isDisabled}));if(this.onSelect.emit(n),this._config.selectWeekDateRange){var a=e.days.slice(0).reverse().find((function(e){return t._config.selectFromOtherMonth?!e.isDisabled:!e.isOtherMonth&&!e.isDisabled}));this.onSelect.emit(a)}}},e.prototype.weekHoverHandler=function(e,t){var n=this;(this._config.selectWeek||this._config.selectWeekDateRange)&&(e.days.find((function(e){return n._config.selectFromOtherMonth?!e.isDisabled:!e.isOtherMonth&&!e.isDisabled}))&&(e.isHovered=t,this.isWeekHovered=t,this.onHoverWeek.emit(e)))},e.prototype.hoverDay=function(e,t){this._config.selectFromOtherMonth&&e.isOtherMonth&&(e.isOtherMonthHovered=t),this.onHover.emit({cell:e,isHovered:t})},e.decorators=[{type:t.Component,args:[{selector:"bs-days-calendar-view",template:'\n <bs-calendar-layout>\n <bs-datepicker-navigation-view\n [calendar]="calendar"\n (onNavigate)="navigateTo($event)"\n (onViewMode)="changeViewMode($event)"\n ></bs-datepicker-navigation-view>\n\n \x3c!--days matrix--\x3e\n <table role="grid" class="days weeks">\n <thead>\n <tr>\n \x3c!--if show weeks--\x3e\n <th *ngIf="options.showWeekNumbers"></th>\n <th *ngFor="let weekday of calendar.weekdays; let i = index"\n aria-label="weekday">{{ calendar.weekdays[i] }}\n </th>\n </tr>\n </thead>\n <tbody>\n <tr *ngFor="let week of calendar.weeks; let i = index">\n <td class="week" [class.active-week]="isWeekHovered" *ngIf="options.showWeekNumbers">\n <span\n (click)="selectWeek(week)"\n (mouseenter)="weekHoverHandler(week, true)"\n (mouseleave)="weekHoverHandler(week, false)">{{ calendar.weekNumbers[i] }}</span>\n </td>\n <td *ngFor="let day of week.days" role="gridcell">\n <span bsDatepickerDayDecorator\n [day]="day"\n (click)="selectDay(day)"\n (mouseenter)="hoverDay(day, true)"\n (mouseleave)="hoverDay(day, false)">{{ day.label }}</span>\n </td>\n </tr>\n </tbody>\n </table>\n\n </bs-calendar-layout>\n '}]}],e.ctorParameters=function(){return[{type:b}]},e.propDecorators={calendar:[{type:t.Input}],options:[{type:t.Input}],onNavigate:[{type:t.Output}],onViewMode:[{type:t.Output}],onSelect:[{type:t.Output}],onHover:[{type:t.Output}],onHoverWeek:[{type:t.Output}]},e}();var pe=function(){function e(){this.onNavigate=new t.EventEmitter,this.onViewMode=new t.EventEmitter,this.onSelect=new t.EventEmitter,this.onHover=new t.EventEmitter}return e.prototype.navigateTo=function(e){var t=le.DOWN===e?-1:1;this.onNavigate.emit({step:{year:t}})},e.prototype.viewMonth=function(e){this.onSelect.emit(e)},e.prototype.hoverMonth=function(e,t){this.onHover.emit({cell:e,isHovered:t})},e.prototype.changeViewMode=function(e){this.onViewMode.emit(e)},e.decorators=[{type:t.Component,args:[{selector:"bs-month-calendar-view",template:'\n <bs-calendar-layout>\n <bs-datepicker-navigation-view\n [calendar]="calendar"\n (onNavigate)="navigateTo($event)"\n (onViewMode)="changeViewMode($event)"\n ></bs-datepicker-navigation-view>\n\n <table role="grid" class="months">\n <tbody>\n <tr *ngFor="let row of calendar.months">\n <td *ngFor="let month of row" role="gridcell"\n (click)="viewMonth(month)"\n (mouseenter)="hoverMonth(month, true)"\n (mouseleave)="hoverMonth(month, false)"\n [class.disabled]="month.isDisabled"\n [class.is-highlighted]="month.isHovered">\n <span [class.selected]="month.isSelected">{{ month.label }}</span>\n </td>\n </tr>\n </tbody>\n </table>\n </bs-calendar-layout>\n '}]}],e.propDecorators={calendar:[{type:t.Input}],onNavigate:[{type:t.Output}],onViewMode:[{type:t.Output}],onSelect:[{type:t.Output}],onHover:[{type:t.Output}]},e}();var fe=function(){function e(){this.ampm="ok",this.hours=0,this.minutes=0}return e.decorators=[{type:t.Component,args:[{selector:"bs-timepicker",template:'\n <div class="bs-timepicker-container">\n <div class="bs-timepicker-controls">\n <button class="bs-decrease" type="button">-</button>\n <input type="text" [value]="hours" placeholder="00">\n <button class="bs-increase" type="button">+</button>\n </div>\n <div class="bs-timepicker-controls">\n <button class="bs-decrease" type="button">-</button>\n <input type="text" [value]="minutes" placeholder="00">\n <button class="bs-increase" type="button">+</button>\n </div>\n <button class="switch-time-format" type="button">{{ ampm }}\n <img\n src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAsAAAAKCAYAAABi8KSDAAABSElEQVQYV3XQPUvDUBQG4HNuagtVqc6KgouCv6GIuIntYBLB9hcIQpLStCAIV7DYmpTcRWcXqZio3Vwc/UCc/QEqfgyKGbr0I7nS1EiHeqYzPO/h5SD0jaxUZjmSLCB+OFb+UFINFwASAEAdpu9gaGXVyAHHFQBkHpKHc6a9dzECvADyY9sqlAMsK9W0jzxDXqeytr3mhQckxSji27TJJ5/rPmIpwJJq3HrtduriYOurv1a4i1p5HnhkG9OFymi0ReoO05cGwb+ayv4dysVygjeFmsP05f8wpZQ8fsdvfmuY9zjWSNqUtgYFVnOVReILYoBFzdQI5/GGFzNHhGbeZnopDGU29sZbscgldmC99w35VOATTycIMMcBXIfpSVGzZhA6C8hh00conln6VQ9TGgV32OEAKQC4DrBq7CJwd0ggR7Vq/rPrfgB+C3sGypY5DAAAAABJRU5ErkJggg=="\n alt="">\n </button>\n </div>\n '}]}],e}();var ye=function(){function e(){this.onNavigate=new t.EventEmitter,this.onViewMode=new t.EventEmitter,this.onSelect=new t.EventEmitter,this.onHover=new t.EventEmitter}return e.prototype.navigateTo=function(e){var t=le.DOWN===e?-1:1;this.onNavigate.emit({step:{year:16*t}})},e.prototype.viewYear=function(e){this.onSelect.emit(e)},e.prototype.hoverYear=function(e,t){this.onHover.emit({cell:e,isHovered:t})},e.prototype.changeViewMode=function(e){this.onViewMode.emit(e)},e.decorators=[{type:t.Component,args:[{selector:"bs-years-calendar-view",template:'\n <bs-calendar-layout>\n <bs-datepicker-navigation-view\n [calendar]="calendar"\n (onNavigate)="navigateTo($event)"\n (onViewMode)="changeViewMode($event)"\n ></bs-datepicker-navigation-view>\n\n <table role="grid" class="years">\n <tbody>\n <tr *ngFor="let row of calendar.years">\n <td *ngFor="let year of row" role="gridcell"\n (click)="viewYear(year)"\n (mouseenter)="hoverYear(year, true)"\n (mouseleave)="hoverYear(year, false)"\n [class.disabled]="year.isDisabled"\n [class.is-highlighted]="year.isHovered">\n <span [class.selected]="year.isSelected">{{ year.label }}</span>\n </td>\n </tr>\n </tbody>\n </table>\n </bs-calendar-layout>\n '}]}],e.propDecorators={calendar:[{type:t.Input}],onNavigate:[{type:t.Output}],onViewMode:[{type:t.Output}],onSelect:[{type:t.Output}],onHover:[{type:t.Output}]},e}();var be=function(){function e(){}return e.forRoot=function(){return{ngModule:e,providers:[c.ComponentLoaderFactory,r.PositioningService,N,g,b,te,W,q,D,v]}},e.decorators=[{type:t.NgModule,args:[{imports:[l.CommonModule],declarations:[re,oe,ce,de,he,ue,pe,fe,ye,B,z,G,U,ee,Z,ne,K,Q,se],entryComponents:[B,Z,G,K],exports:[B,z,G,U,ee,Z,ne,K,Q,se]}]}],e}(),me=function(){function e(){}return e.prototype.format=function(e,t,n){return a.formatDate(e,t,n)},e}(),ge=function(){function e(){this.selectionDone=new t.EventEmitter(void 0),this.update=new t.EventEmitter(!1),this.activeDateChange=new t.EventEmitter(void 0),this.stepDay={},this.stepMonth={},this.stepYear={},this.modes=["day","month","year"],this.dateFormatter=new me}return Object.defineProperty(e.prototype,"activeDate",{get:function(){return this._activeDate},set:function(e){this._activeDate=e},enumerable:!0,configurable:!0}),e.prototype.ngOnInit=function(){this.uniqueId="datepicker--"+Math.floor(1e4*Math.random()),this.initDate?(this.activeDate=this.initDate,this.selectedDate=new Date(this.activeDate.valueOf()),this.update.emit(this.activeDate)):void 0===this.activeDate&&(this.activeDate=new Date)},e.prototype.ngOnChanges=function(e){this.refreshView(),this.checkIfActiveDateGotUpdated(e.activeDate)},e.prototype.checkIfActiveDateGotUpdated=function(e){if(e&&!e.firstChange){var t=e.previousValue;t&&t instanceof Date&&t.getTime()!==e.currentValue.getTime()&&this.activeDateChange.emit(this.activeDate)}},e.prototype.setCompareHandler=function(e,t){"day"===t&&(this.compareHandlerDay=e),"month"===t&&(this.compareHandlerMonth=e),"year"===t&&(this.compareHandlerYear=e)},e.prototype.compare=function(e,t){if(void 0!==e&&void 0!==t)return"day"===this.datepickerMode&&this.compareHandlerDay?this.compareHandlerDay(e,t):"month"===this.datepickerMode&&this.compareHandlerMonth?this.compareHandlerMonth(e,t):"year"===this.datepickerMode&&this.compareHandlerYear?this.compareHandlerYear(e,t):void 0},e.prototype.setRefreshViewHandler=function(e,t){"day"===t&&(this.refreshViewHandlerDay=e),"month"===t&&(this.refreshViewHandlerMonth=e),"year"===t&&(this.refreshViewHandlerYear=e)},e.prototype.refreshView=function(){"day"===this.datepickerMode&&this.refreshViewHandlerDay&&this.refreshViewHandlerDay(),"month"===this.datepickerMode&&this.refreshViewHandlerMonth&&this.refreshViewHandlerMonth(),"year"===this.datepickerMode&&this.refreshViewHandlerYear&&this.refreshViewHandlerYear()},e.prototype.dateFilter=function(e,t){return this.dateFormatter.format(e,t,this.locale)},e.prototype.isActive=function(e){return 0===this.compare(e.date,this.activeDate)&&(this.activeDateId=e.uid,!0)},e.prototype.createDateObject=function(e,t){var n={};return n.date=new Date(e.getFullYear(),e.getMonth(),e.getDate()),n.date=this.fixTimeZone(n.date),n.label=this.dateFilter(e,t),n.selected=0===this.compare(e,this.selectedDate),n.disabled=this.isDisabled(e),n.current=0===this.compare(e,new Date),n.customClass=this.getCustomClassForDate(n.date),n},e.prototype.split=function(e,t){for(var n=[];e.length>0;)n.push(e.splice(0,t));return n},e.prototype.fixTimeZone=function(e){var t=e.getHours();return new Date(e.getFullYear(),e.getMonth(),e.getDate(),23===t?t+2:0)},e.prototype.select=function(e,t){void 0===t&&(t=!0),this.datepickerMode===this.minMode?(this.activeDate||(this.activeDate=new Date(0,0,0,0,0,0,0)),this.activeDate=new Date(e.getFullYear(),e.getMonth(),e.getDate()),this.activeDate=this.fixTimeZone(this.activeDate),t&&this.selectionDone.emit(this.activeDate)):(this.activeDate=new Date(e.getFullYear(),e.getMonth(),e.getDate()),this.activeDate=this.fixTimeZone(this.activeDate),t&&(this.datepickerMode=this.modes[this.modes.indexOf(this.datepickerMode)-1])),this.selectedDate=new Date(this.activeDate.valueOf()),this.update.emit(this.activeDate),this.refreshView()},e.prototype.move=function(e){var t;if("day"===this.datepickerMode&&(t=this.stepDay),"month"===this.datepickerMode&&(t=this.stepMonth),"year"===this.datepickerMode&&(t=this.stepYear),t){var n=this.activeDate.getFullYear()+e*(t.years||0),a=this.activeDate.getMonth()+e*(t.months||0);this.activeDate=new Date(n,a,1),this.refreshView(),this.activeDateChange.emit(this.activeDate)}},e.prototype.toggleMode=function(e){var t=e||1;this.datepickerMode===this.maxMode&&1===t||this.datepickerMode===this.minMode&&-1===t||(this.datepickerMode=this.modes[this.modes.indexOf(this.datepickerMode)+t],this.refreshView())},e.prototype.getCustomClassForDate=function(e){var t=this;if(!this.customClass)return"";var n=this.customClass.find((function(n){return n.date.valueOf()===e.valueOf()&&n.mode===t.datepickerMode}),this);return void 0===n?"":n.clazz},e.prototype.compareDateDisabled=function(e,t){if(void 0!==e&&void 0!==t)return"day"===e.mode&&this.compareHandlerDay?this.compareHandlerDay(e.date,t):"month"===e.mode&&this.compareHandlerMonth?this.compareHandlerMonth(e.date,t):"year"===e.mode&&this.compareHandlerYear?this.compareHandlerYear(e.date,t):void 0},e.prototype.isDisabled=function(e){var t=this,n=!1;return this.dateDisabled&&this.dateDisabled.forEach((function(a){0===t.compareDateDisabled(a,e)&&(n=!0)})),this.dayDisabled&&(n=n||this.dayDisabled.indexOf(e.getDay())>-1),n||this.minDate&&this.compare(e,this.minDate)<0||this.maxDate&&this.compare(e,this.maxDate)>0},e.decorators=[{type:t.Component,args:[{selector:"datepicker-inner",template:'\n \x3c!--<!–ng-keydown="keydown($event)"–>--\x3e\n <div *ngIf="datepickerMode" class="well well-sm bg-faded p-a card" role="application" >\n <ng-content></ng-content>\n </div>\n '}]}],e.propDecorators={locale:[{type:t.Input}],datepickerMode:[{type:t.Input}],startingDay:[{type:t.Input}],yearRange:[{type:t.Input}],minDate:[{type:t.Input}],maxDate:[{type:t.Input}],minMode:[{type:t.Input}],maxMode:[{type:t.Input}],showWeeks:[{type:t.Input}],formatDay:[{type:t.Input}],formatMonth:[{type:t.Input}],formatYear:[{type:t.Input}],formatDayHeader:[{type:t.Input}],formatDayTitle:[{type:t.Input}],formatMonthTitle:[{type:t.Input}],onlyCurrentMonth:[{type:t.Input}],shortcutPropagation:[{type:t.Input}],customClass:[{type:t.Input}],monthColLimit:[{type:t.Input}],yearColLimit:[{type:t.Input}],dateDisabled:[{type:t.Input}],dayDisabled:[{type:t.Input}],initDate:[{type:t.Input}],selectionDone:[{type:t.Output}],update:[{type:t.Output}],activeDateChange:[{type:t.Output}],activeDate:[{type:t.Input}]},e}();var ve=function(){function e(){this.locale="en",this.datepickerMode="day",this.startingDay=0,this.yearRange=20,this.minMode="day",this.maxMode="year",this.showWeeks=!0,this.formatDay="DD",this.formatMonth="MMMM",this.formatYear="YYYY",this.formatDayHeader="dd",this.formatDayTitle="MMMM YYYY",this.formatMonthTitle="YYYY",this.onlyCurrentMonth=!1,this.monthColLimit=3,this.yearColLimit=5,this.shortcutPropagation=!1}return e.decorators=[{type:t.Injectable}],e}();var De={provide:d.NG_VALUE_ACCESSOR,useExisting:t.forwardRef((function(){return _e})),multi:!0},_e=function(){function e(e){this.datepickerMode="day",this.showWeeks=!0,this.selectionDone=new t.EventEmitter(void 0),this.activeDateChange=new t.EventEmitter(void 0),this.onChange=Function.prototype,this.onTouched=Function.prototype,this._now=new Date,this.config=e,this.configureOptions()}return Object.defineProperty(e.prototype,"activeDate",{get:function(){return this._activeDate||this._now},set:function(e){this._activeDate=e},enumerable:!0,configurable:!0}),e.prototype.configureOptions=function(){Object.assign(this,this.config)},e.prototype.onUpdate=function(e){this.activeDate=e,this.onChange(e)},e.prototype.onSelectionDone=function(e){this.selectionDone.emit(e)},e.prototype.onActiveDateChange=function(e){this.activeDateChange.emit(e)},e.prototype.writeValue=function(e){if(0!==this._datePicker.compare(e,this._activeDate))return e&&e instanceof Date?(this.activeDate=e,void this._datePicker.select(e,!1)):void(this.activeDate=e?new Date(e):void 0)},e.prototype.registerOnChange=function(e){this.onChange=e},e.prototype.registerOnTouched=function(e){this.onTouched=e},e.decorators=[{type:t.Component,args:[{selector:"datepicker",template:'\n <datepicker-inner [activeDate]="activeDate"\n (update)="onUpdate($event)"\n [locale]="config.locale"\n [datepickerMode]="datepickerMode"\n [initDate]="initDate"\n [minDate]="minDate"\n [maxDate]="maxDate"\n [minMode]="minMode"\n [maxMode]="maxMode"\n [showWeeks]="showWeeks"\n [formatDay]="formatDay"\n [formatMonth]="formatMonth"\n [formatYear]="formatYear"\n [formatDayHeader]="formatDayHeader"\n [formatDayTitle]="formatDayTitle"\n [formatMonthTitle]="formatMonthTitle"\n [startingDay]="startingDay"\n [yearRange]="yearRange"\n [customClass]="customClass"\n [dateDisabled]="dateDisabled"\n [dayDisabled]="dayDisabled"\n [onlyCurrentMonth]="onlyCurrentMonth"\n [shortcutPropagation]="shortcutPropagation"\n [monthColLimit]="monthColLimit"\n [yearColLimit]="yearColLimit"\n (selectionDone)="onSelectionDone($event)"\n (activeDateChange)="onActiveDateChange($event)">\n <daypicker tabindex="0"></daypicker>\n <monthpicker tabindex="0"></monthpicker>\n <yearpicker tabindex="0"></yearpicker>\n </datepicker-inner>\n ',providers:[De]}]}],e.ctorParameters=function(){return[{type:ve}]},e.propDecorators={datepickerMode:[{type:t.Input}],initDate:[{type:t.Input}],minDate:[{type:t.Input}],maxDate:[{type:t.Input}],minMode:[{type:t.Input}],maxMode:[{type:t.Input}],showWeeks:[{type:t.Input}],formatDay:[{type:t.Input}],formatMonth:[{type:t.Input}],formatYear:[{type:t.Input}],formatDayHeader:[{type:t.Input}],formatDayTitle:[{type:t.Input}],formatMonthTitle:[{type:t.Input}],startingDay:[{type:t.Input}],yearRange:[{type:t.Input}],onlyCurrentMonth:[{type:t.Input}],shortcutPropagation:[{type:t.Input}],monthColLimit:[{type:t.Input}],yearColLimit:[{type:t.Input}],customClass:[{type:t.Input}],dateDisabled:[{type:t.Input}],dayDisabled:[{type:t.Input}],activeDate:[{type:t.Input}],selectionDone:[{type:t.Output}],activeDateChange:[{type:t.Output}],_datePicker:[{type:t.ViewChild,args:[ge,{static:!0}]}]},e}();var ke=function(){function e(e){this.labels=[],this.rows=[],this.weekNumbers=[],this.datePicker=e}return Object.defineProperty(e.prototype,"isBs4",{get:function(){return!h.isBs3()},enumerable:!0,configurable:!0}),e.prototype.ngOnInit=function(){var e=this;this.datePicker.stepDay={months:1},this.datePicker.setRefreshViewHandler((function(){var t=this.activeDate.getFullYear(),n=this.activeDate.getMonth(),a=new Date(t,n,1),i=this.startingDay-a.getDay(),s=i>0?7-i:-i,r=new Date(a.getTime());s>0&&r.setDate(1-s);for(var o=e.getDates(r,42),c=[],d=0;d<42;d++){var l=this.createDateObject(o[d],this.formatDay);l.secondary=o[d].getMonth()!==n,l.uid=this.uniqueId+"-"+d,c[d]=l}e.labels=[];for(var h=0;h<7;h++)e.labels[h]={},e.labels[h].abbr=this.dateFilter(c[h].date,this.formatDayHeader),e.labels[h].full=this.dateFilter(c[h].date,"EEEE");if(e.title=this.dateFilter(this.activeDate,this.formatDayTitle),e.rows=this.split(c,7),this.showWeeks){e.weekNumbers=[];for(var u=(11-this.startingDay)%7,p=e.rows.length,f=0;f<p;f++)e.weekNumbers.push(e.getISO8601WeekNumber(e.rows[f][u].date))}}),"day"),this.datePicker.setCompareHandler((function(e,t){var n=new Date(e.getFullYear(),e.getMonth(),e.getDate()),a=new Date(t.getFullYear(),t.getMonth(),t.getDate());return n.getTime()-a.getTime()}),"day"),this.datePicker.refreshView()},e.prototype.getDates=function(e,t){for(var n,a=new Array(t),i=new Date(e.getTime()),s=0;s<t;)n=new Date(i.getTime()),n=this.datePicker.fixTimeZone(n),a[s++]=n,i=new Date(n.getFullYear(),n.getMonth(),n.getDate()+1);return a},e.prototype.getISO8601WeekNumber=function(e){var t=new Date(e.getTime());t.setDate(t.getDate()+4-(t.getDay()||7));var n=t.getTime();return t.setMonth(0),t.setDate(1),Math.floor(Math.round((n-t.getTime())/864e5)/7)+1},e.decorators=[{type:t.Component,args:[{selector:"daypicker",template:'\n<table *ngIf="datePicker.datepickerMode === \'day\'" role="grid" [attr.aria-labelledby]="datePicker.uniqueId + \'-title\'" aria-activedescendant="activeDateId">\n <thead>\n <tr>\n <th>\n <button *ngIf="!isBs4"\n type="button"\n class="btn btn-default btn-secondary btn-sm pull-left float-left"\n (click)="datePicker.move(-1)"\n tabindex="-1">‹</button>\n <button *ngIf="isBs4"\n type="button"\n class="btn btn-default btn-secondary btn-sm pull-left float-left"\n (click)="datePicker.move(-1)"\n tabindex="-1"><</button>\n </th>\n <th [attr.colspan]="5 + (datePicker.showWeeks ? 1 : 0)">\n <button [id]="datePicker.uniqueId + \'-title\'"\n type="button" class="btn btn-default btn-secondary btn-sm"\n (click)="datePicker.toggleMode(0)"\n [disabled]="datePicker.datepickerMode === datePicker.maxMode"\n [ngClass]="{disabled: datePicker.datepickerMode === datePicker.maxMode}" tabindex="-1" style="width:100%;">\n <strong>{{ title }}</strong>\n </button>\n </th>\n <th>\n <button *ngIf="!isBs4"\n type="button"\n class="btn btn-default btn-secondary btn-sm pull-right float-right"\n (click)="datePicker.move(1)"\n tabindex="-1">›</button>\n <button *ngIf="isBs4"\n type="button"\n class="btn btn-default btn-secondary btn-sm pull-right float-right"\n (click)="datePicker.move(1)"\n tabindex="-1">>\n </button>\n </th>\n </tr>\n <tr>\n <th *ngIf="datePicker.showWeeks"></th>\n <th *ngFor="let labelz of labels" class="text-center">\n <small aria-label="labelz.full"><b>{{ labelz.abbr }}</b></small>\n </th>\n </tr>\n </thead>\n <tbody>\n <ng-template ngFor [ngForOf]="rows" let-rowz="$implicit" let-index="index">\n <tr *ngIf="!(datePicker.onlyCurrentMonth && rowz[0].secondary && rowz[6].secondary)">\n <td *ngIf="datePicker.showWeeks" class="h6" class="text-center">\n <em>{{ weekNumbers[index] }}</em>\n </td>\n <td *ngFor="let dtz of rowz" class="text-center" role="gridcell" [id]="dtz.uid">\n <button type="button" style="min-width:100%;" class="btn btn-sm {{dtz.customClass}}"\n *ngIf="!(datePicker.onlyCurrentMonth && dtz.secondary)"\n [ngClass]="{\'btn-secondary\': isBs4 && !dtz.selected && !datePicker.isActive(dtz), \'btn-info\': dtz.selected, disabled: dtz.disabled, active: !isBs4 && datePicker.isActive(dtz), \'btn-default\': !isBs4}"\n [disabled]="dtz.disabled"\n (click)="datePicker.select(dtz.date)" tabindex="-1">\n <span [ngClass]="{\'text-muted\': dtz.secondary || dtz.current, \'text-info\': !isBs4 && dtz.current}">{{ dtz.label }}</span>\n </button>\n </td>\n </tr>\n </ng-template>\n </tbody>\n</table>\n ',styles:["\n :host .btn-secondary {\n color: #292b2c;\n background-color: #fff;\n border-color: #ccc;\n }\n :host .btn-info .text-muted {\n color: #292b2c !important;\n }\n "]}]}],e.ctorParameters=function(){return[{type:ge}]},e}();var we=function(){function e(e){this.rows=[],this.datePicker=e}return Object.defineProperty(e.prototype,"isBs4",{get:function(){return!h.isBs3()},enumerable:!0,configurable:!0}),e.prototype.ngOnInit=function(){var e=this;this.datePicker.stepMonth={years:1},this.datePicker.setRefreshViewHandler((function(){for(var t,n=new Array(12),a=this.activeDate.getFullYear(),i=0;i<12;i++)t=new Date(a,i,1),t=this.fixTimeZone(t),n[i]=this.createDateObject(t,this.formatMonth),n[i].uid=this.uniqueId+"-"+i;e.title=this.dateFilter(this.activeDate,this.formatMonthTitle),e.rows=this.split(n,e.datePicker.monthColLimit)}),"month"),this.datePicker.setCompareHandler((function(e,t){var n=new Date(e.getFullYear(),e.getMonth()),a=new Date(t.getFullYear(),t.getMonth());return n.getTime()-a.getTime()}),"month"),this.datePicker.refreshView()},e.decorators=[{type:t.Component,args:[{selector:"monthpicker",template:'\n<table *ngIf="datePicker.datepickerMode===\'month\'" role="grid">\n <thead>\n <tr>\n <th>\n <button type="button" class="btn btn-default btn-sm pull-left float-left"\n (click)="datePicker.move(-1)" tabindex="-1">‹</button></th>\n <th [attr.colspan]="((datePicker.monthColLimit - 2) <= 0) ? 1 : datePicker.monthColLimit - 2">\n <button [id]="datePicker.uniqueId + \'-title\'"\n type="button" class="btn btn-default btn-sm"\n (click)="datePicker.toggleMode(0)"\n [disabled]="datePicker.datepickerMode === maxMode"\n [ngClass]="{disabled: datePicker.datepickerMode === maxMode}" tabindex="-1" style="width:100%;">\n <strong>{{ title }}</strong> \n </button>\n </th>\n <th>\n <button type="button" class="btn btn-default btn-sm pull-right float-right"\n (click)="datePicker.move(1)" tabindex="-1">›</button>\n </th>\n </tr>\n </thead>\n <tbody>\n <tr *ngFor="let rowz of rows">\n <td *ngFor="let dtz of rowz" class="text-center" role="gridcell" [attr.id]="dtz.uid" [ngClass]="dtz.customClass">\n <button type="button" style="min-width:100%;" class="btn btn-default"\n [ngClass]="{\'btn-link\': isBs4 && !dtz.selected && !datePicker.isActive(dtz), \'btn-info\': dtz.selected || (isBs4 && !dtz.selected && datePicker.isActive(dtz)), disabled: dtz.disabled, active: !isBs4 && datePicker.isActive(dtz)}"\n [disabled]="dtz.disabled"\n (click)="datePicker.select(dtz.date)" tabindex="-1">\n <span [ngClass]="{\'text-success\': isBs4 && dtz.current, \'text-info\': !isBs4 && dtz.current}">{{ dtz.label }}</span>\n </button>\n </td>\n </tr>\n </tbody>\n</table>\n ',styles:["\n :host .btn-info .text-success {\n color: #fff !important;\n }\n "]}]}],e.ctorParameters=function(){return[{type:ge}]},e}();var Ce=function(){function e(e){this.rows=[],this.datePicker=e}return Object.defineProperty(e.prototype,"isBs4",{get:function(){return!h.isBs3()},enumerable:!0,configurable:!0}),e.prototype.ngOnInit=function(){var e=this;this.datePicker.stepYear={years:this.datePicker.yearRange},this.datePicker.setRefreshViewHandler((function(){for(var t,n=new Array(this.yearRange),a=e.getStartingYear(this.activeDate.getFullYear()),i=0;i<this.yearRange;i++)t=new Date(a+i,0,1),t=this.fixTimeZone(t),n[i]=this.createDateObject(t,this.formatYear),n[i].uid=this.uniqueId+"-"+i;e.title=[n[0].label,n[this.yearRange-1].label].join(" - "),e.rows=this.split(n,e.datePicker.yearColLimit)}),"year"),this.datePicker.setCompareHandler((function(e,t){return e.getFullYear()-t.getFullYear()}),"year"),this.datePicker.refreshView()},e.prototype.getStartingYear=function(e){return(e-1)/this.datePicker.yearRange*this.datePicker.yearRange+1},e.decorators=[{type:t.Component,args:[{selector:"yearpicker",template:'\n<table *ngIf="datePicker.datepickerMode===\'year\'" role="grid">\n <thead>\n <tr>\n <th>\n <button type="button" class="btn btn-default btn-sm pull-left float-left"\n (click)="datePicker.move(-1)" tabindex="-1">‹</button>\n </th>\n <th [attr.colspan]="((datePicker.yearColLimit - 2) <= 0) ? 1 : datePicker.yearColLimit - 2">\n <button [id]="datePicker.uniqueId + \'-title\'" role="heading"\n type="button" class="btn btn-default btn-sm"\n (click)="datePicker.toggleMode(0)"\n [disabled]="datePicker.datepickerMode === datePicker.maxMode"\n [ngClass]="{disabled: datePicker.datepickerMode === datePicker.maxMode}" tabindex="-1" style="width:100%;">\n <strong>{{ title }}</strong>\n </button>\n </th>\n <th>\n <button type="button" class="btn btn-default btn-sm pull-right float-right"\n (click)="datePicker.move(1)" tabindex="-1">›</button>\n </th>\n </tr>\n </thead>\n <tbody>\n <tr *ngFor="let rowz of rows">\n <td *ngFor="let dtz of rowz" class="text-center" role="gridcell" [attr.id]="dtz.uid">\n <button type="button" style="min-width:100%;" class="btn btn-default"\n [ngClass]="{\'btn-link\': isBs4 && !dtz.selected && !datePicker.isActive(dtz), \'btn-info\': dtz.selected || (isBs4 && !dtz.selected && datePicker.isActive(dtz)), disabled: dtz.disabled, active: !isBs4 && datePicker.isActive(dtz)}"\n [disabled]="dtz.disabled"\n (click)="datePicker.select(dtz.date)" tabindex="-1">\n <span [ngClass]="{\'text-success\': isBs4 && dtz.current, \'text-info\': !isBs4 && dtz.current}">{{ dtz.label }}</span>\n </button>\n </td>\n </tr>\n </tbody>\n</table>\n ',styles:["\n :host .btn-info .text-success {\n color: #fff !important;\n }\n "]}]}],e.ctorParameters=function(){return[{type:ge}]},e}();var Me=function(){function e(){}return e.forRoot=function(){return{ngModule:e,providers:[ve]}},e.decorators=[{type:t.NgModule,args:[{imports:[l.CommonModule,d.FormsModule],declarations:[_e,ge,ke,we,Ce],exports:[_e,ge,ke,we,Ce],entryComponents:[_e]}]}],e}();e.BsDatepickerConfig=b,e.BsDatepickerContainerComponent=B,e.BsDatepickerDirective=z,e.BsDatepickerInlineConfig=W,e.BsDatepickerInlineContainerComponent=G,e.BsDatepickerInlineDirective=U,e.BsDatepickerInputDirective=ee,e.BsDatepickerModule=be,e.BsDaterangepickerConfig=te,e.BsDaterangepickerContainerComponent=Z,e.BsDaterangepickerDirective=ne,e.BsDaterangepickerInlineConfig=q,e.BsDaterangepickerInlineContainerComponent=K,e.BsDaterangepickerInlineDirective=Q,e.BsDaterangepickerInputDirective=se,e.BsLocaleService=v,e.DateFormatter=me,e.DatePickerComponent=_e,e.DatePickerInnerComponent=ge,e.DatepickerConfig=ve,e.DatepickerModule=Me,e.DayPickerComponent=ke,e.MonthPickerComponent=we,e.YearPickerComponent=Ce,e.ɵa=De,e.ɵb=m,e.ɵc=N,e.ɵd=D,e.ɵe=g,e.ɵf=Y,e.ɵg=re,e.ɵh=oe,e.ɵi=ce,e.ɵj=de,e.ɵk=he,e.ɵl=ue,e.ɵm=pe,e.ɵn=fe,e.ɵo=ye,Object.defineProperty(e,"__esModule",{value:!0})}));
|
15
|
+
***************************************************************************** */var u=function(e,t){return(u=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])})(e,t)};function f(e,t){function n(){this.constructor=e}u(e,t),e.prototype=null===t?Object.create(t):(n.prototype=t.prototype,new n)}function y(e){var t="function"==typeof Symbol&&e[Symbol.iterator],n=0;return t?t.call(e):{next:function(){return e&&n>=e.length&&(e=void 0),{value:e&&e[n++],done:!e}}}}function b(e,t){var n="function"==typeof Symbol&&e[Symbol.iterator];if(!n)return e;var a,i,s=n.call(e),o=[];try{for(;(void 0===t||t-- >0)&&!(a=s.next()).done;)o.push(a.value)}catch(e){i={error:e}}finally{try{a&&!a.done&&(n=s.return)&&n.call(s)}finally{if(i)throw i.error}}return o}var g=function(){function e(){this.adaptivePosition=!1,this.useUtc=!1,this.isAnimated=!1,this.startView="day",this.returnFocusToInput=!1,this.containerClass="theme-green",this.displayMonths=1,this.showWeekNumbers=!0,this.dateInputFormat="L",this.rangeSeparator=" - ",this.rangeInputFormat="L",this.monthTitle="MMMM",this.yearTitle="YYYY",this.dayLabel="D",this.monthLabel="MMMM",this.yearLabel="YYYY",this.weekNumbers="w",this.showTodayButton=!1,this.showClearButton=!1,this.todayPosition="center",this.clearPosition="right",this.todayButtonLabel="Today",this.clearButtonLabel="Clear",this.customRangeButtonLabel="Custom Range"}return e.decorators=[{type:t.Injectable,args:[{providedIn:"root"}]}],e.ɵprov=t["ɵɵdefineInjectable"]({factory:function(){return new e},token:e,providedIn:"root"}),e}();var m=s.trigger("datepickerAnimation",[s.state("animated-down",s.style({height:"*",overflow:"hidden"})),s.transition("* => animated-down",[s.style({height:0,overflow:"hidden"}),s.animate("220ms cubic-bezier(0, 0, 0.2, 1)")]),s.state("animated-up",s.style({height:"*",overflow:"hidden"})),s.transition("* => animated-up",[s.style({height:"*",overflow:"hidden"}),s.animate("220ms cubic-bezier(0, 0, 0.2, 1)")]),s.transition("* => unanimated",s.animate("0s"))]),v=function(){function e(){this.customRanges=[],this.chosenRange=[]}return Object.defineProperty(e.prototype,"minDate",{set:function(e){this._effects.setMinDate(e)},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"maxDate",{set:function(e){this._effects.setMaxDate(e)},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"daysDisabled",{set:function(e){this._effects.setDaysDisabled(e)},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"datesDisabled",{set:function(e){this._effects.setDatesDisabled(e)},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"datesEnabled",{set:function(e){this._effects.setDatesEnabled(e)},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"isDisabled",{set:function(e){this._effects.setDisabled(e)},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"dateCustomClasses",{set:function(e){this._effects.setDateCustomClasses(e)},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"dateTooltipTexts",{set:function(e){this._effects.setDateTooltipTexts(e)},enumerable:!0,configurable:!0}),e.prototype.setViewMode=function(e){},e.prototype.navigateTo=function(e){},e.prototype.dayHoverHandler=function(e){},e.prototype.weekHoverHandler=function(e){},e.prototype.monthHoverHandler=function(e){},e.prototype.yearHoverHandler=function(e){},e.prototype.daySelectHandler=function(e){},e.prototype.monthSelectHandler=function(e){},e.prototype.yearSelectHandler=function(e){},e.prototype.setRangeOnCalendar=function(e){},e.prototype.setToday=function(){},e.prototype.clearDate=function(){},e.prototype._stopPropagation=function(e){e.stopPropagation()},e}();var D=function(){function e(){}return e.prototype.calculate=function(){return{type:e.CALCULATE}},e.prototype.format=function(){return{type:e.FORMAT}},e.prototype.flag=function(){return{type:e.FLAG}},e.prototype.select=function(t){return{type:e.SELECT,payload:t}},e.prototype.changeViewMode=function(t){return{type:e.CHANGE_VIEWMODE,payload:t}},e.prototype.navigateTo=function(t){return{type:e.NAVIGATE_TO,payload:t}},e.prototype.navigateStep=function(t){return{type:e.NAVIGATE_OFFSET,payload:t}},e.prototype.setOptions=function(t){return{type:e.SET_OPTIONS,payload:t}},e.prototype.selectRange=function(t){return{type:e.SELECT_RANGE,payload:t}},e.prototype.hoverDay=function(t){return{type:e.HOVER,payload:t.isHovered?t.cell.date:null}},e.prototype.minDate=function(t){return{type:e.SET_MIN_DATE,payload:t}},e.prototype.maxDate=function(t){return{type:e.SET_MAX_DATE,payload:t}},e.prototype.daysDisabled=function(t){return{type:e.SET_DAYSDISABLED,payload:t}},e.prototype.datesDisabled=function(t){return{type:e.SET_DATESDISABLED,payload:t}},e.prototype.datesEnabled=function(t){return{type:e.SET_DATESENABLED,payload:t}},e.prototype.isDisabled=function(t){return{type:e.SET_IS_DISABLED,payload:t}},e.prototype.setDateCustomClasses=function(t){return{type:e.SET_DATE_CUSTOM_CLASSES,payload:t}},e.prototype.setDateTooltipTexts=function(t){return{type:e.SET_DATE_TOOLTIP_TEXTS,payload:t}},e.prototype.setLocale=function(t){return{type:e.SET_LOCALE,payload:t}},e.CALCULATE="[datepicker] calculate dates matrix",e.FORMAT="[datepicker] format datepicker values",e.FLAG="[datepicker] set flags",e.SELECT="[datepicker] select date",e.NAVIGATE_OFFSET="[datepicker] shift view date",e.NAVIGATE_TO="[datepicker] change view date",e.SET_OPTIONS="[datepicker] update render options",e.HOVER="[datepicker] hover date",e.CHANGE_VIEWMODE="[datepicker] switch view mode",e.SET_MIN_DATE="[datepicker] set min date",e.SET_MAX_DATE="[datepicker] set max date",e.SET_DAYSDISABLED="[datepicker] set days disabled",e.SET_DATESDISABLED="[datepicker] set dates disabled",e.SET_DATESENABLED="[datepicker] set dates enabled",e.SET_IS_DISABLED="[datepicker] set is disabled",e.SET_DATE_CUSTOM_CLASSES="[datepicker] set date custom classes",e.SET_DATE_TOOLTIP_TEXTS="[datepicker] set date tooltip texts",e.SET_LOCALE="[datepicker] set datepicker locale",e.SELECT_RANGE="[daterangepicker] select dates range",e.decorators=[{type:t.Injectable}],e}();var _=function(){function e(){this._defaultLocale="en",this._locale=new o.BehaviorSubject(this._defaultLocale),this._localeChange=this._locale.asObservable()}return Object.defineProperty(e.prototype,"locale",{get:function(){return this._locale},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"localeChange",{get:function(){return this._localeChange},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"currentLocale",{get:function(){return this._locale.getValue()},enumerable:!0,configurable:!0}),e.prototype.use=function(e){e!==this.currentLocale&&this._locale.next(e)},e.decorators=[{type:t.Injectable}],e}();var k=function(){function e(e,t){this._actions=e,this._localeService=t,this._subs=[]}return e.prototype.init=function(e){return this._store=e,this},e.prototype.setValue=function(e){this._store.dispatch(this._actions.select(e))},e.prototype.setRangeValue=function(e){this._store.dispatch(this._actions.selectRange(e))},e.prototype.setMinDate=function(e){return this._store.dispatch(this._actions.minDate(e)),this},e.prototype.setMaxDate=function(e){return this._store.dispatch(this._actions.maxDate(e)),this},e.prototype.setDaysDisabled=function(e){return this._store.dispatch(this._actions.daysDisabled(e)),this},e.prototype.setDatesDisabled=function(e){return this._store.dispatch(this._actions.datesDisabled(e)),this},e.prototype.setDatesEnabled=function(e){return this._store.dispatch(this._actions.datesEnabled(e)),this},e.prototype.setDisabled=function(e){return this._store.dispatch(this._actions.isDisabled(e)),this},e.prototype.setDateCustomClasses=function(e){return this._store.dispatch(this._actions.setDateCustomClasses(e)),this},e.prototype.setDateTooltipTexts=function(e){return this._store.dispatch(this._actions.setDateTooltipTexts(e)),this},e.prototype.setOptions=function(e){var t=Object.assign({locale:this._localeService.currentLocale},e);return this._store.dispatch(this._actions.setOptions(t)),this},e.prototype.setBindings=function(e){return e.daysCalendar=this._store.select((function(e){return e.flaggedMonths})).pipe(n.filter((function(e){return!!e}))),e.monthsCalendar=this._store.select((function(e){return e.flaggedMonthsCalendar})).pipe(n.filter((function(e){return!!e}))),e.yearsCalendar=this._store.select((function(e){return e.yearsCalendarFlagged})).pipe(n.filter((function(e){return!!e}))),e.viewMode=this._store.select((function(e){return e.view.mode})),e.options=this._store.select((function(e){return e.showWeekNumbers})).pipe(n.map((function(e){return{showWeekNumbers:e}}))),this},e.prototype.setEventHandlers=function(e){var t=this;return e.setViewMode=function(e){t._store.dispatch(t._actions.changeViewMode(e))},e.navigateTo=function(e){t._store.dispatch(t._actions.navigateStep(e.step))},e.dayHoverHandler=function(e){var n=e.cell;n.isOtherMonth||n.isDisabled||(t._store.dispatch(t._actions.hoverDay(e)),n.isHovered=e.isHovered)},e.monthHoverHandler=function(e){e.cell.isHovered=e.isHovered},e.yearHoverHandler=function(e){e.cell.isHovered=e.isHovered},this},e.prototype.registerDatepickerSideEffects=function(){var e=this;return this._subs.push(this._store.select((function(e){return e.view})).subscribe((function(t){e._store.dispatch(e._actions.calculate())}))),this._subs.push(this._store.select((function(e){return e.monthsModel})).pipe(n.filter((function(e){return!!e}))).subscribe((function(t){return e._store.dispatch(e._actions.format())}))),this._subs.push(this._store.select((function(e){return e.formattedMonths})).pipe(n.filter((function(e){return!!e}))).subscribe((function(t){return e._store.dispatch(e._actions.flag())}))),this._subs.push(this._store.select((function(e){return e.selectedDate})).pipe(n.filter((function(e){return!!e}))).subscribe((function(t){return e._store.dispatch(e._actions.flag())}))),this._subs.push(this._store.select((function(e){return e.selectedRange})).pipe(n.filter((function(e){return!!e}))).subscribe((function(t){return e._store.dispatch(e._actions.flag())}))),this._subs.push(this._store.select((function(e){return e.monthsCalendar})).subscribe((function(){return e._store.dispatch(e._actions.flag())}))),this._subs.push(this._store.select((function(e){return e.yearsCalendarModel})).pipe(n.filter((function(e){return!!e}))).subscribe((function(){return e._store.dispatch(e._actions.flag())}))),this._subs.push(this._store.select((function(e){return e.hoveredDate})).pipe(n.filter((function(e){return!!e}))).subscribe((function(t){return e._store.dispatch(e._actions.flag())}))),this._subs.push(this._store.select((function(e){return e.dateCustomClasses})).pipe(n.filter((function(e){return!!e}))).subscribe((function(t){return e._store.dispatch(e._actions.flag())}))),this._subs.push(this._store.select((function(e){return e.dateTooltipTexts})).pipe(n.filter((function(e){return!!e}))).subscribe((function(t){return e._store.dispatch(e._actions.flag())}))),this._subs.push(this._localeService.localeChange.subscribe((function(t){return e._store.dispatch(e._actions.setLocale(t))}))),this},e.prototype.destroy=function(){var e,t;try{for(var n=y(this._subs),a=n.next();!a.done;a=n.next()){a.value.unsubscribe()}}catch(t){e={error:t}}finally{try{a&&!a.done&&(t=n.return)&&t.call(n)}finally{if(e)throw e.error}}},e.decorators=[{type:t.Injectable}],e.ctorParameters=function(){return[{type:D},{type:_}]},e}();var w={date:new Date,mode:"day"},C=Object.assign(new g,{locale:"en",view:w,selectedRange:[],monthViewOptions:{width:7,height:6}});function x(e,t,n){var i=t&&a.isBefore(a.endOf(e,"month"),t,"day"),s=n&&a.isAfter(a.startOf(e,"month"),n,"day");return i||s}function S(e,t,n){var i=t&&a.isBefore(a.endOf(e,"year"),t,"day"),s=n&&a.isAfter(a.startOf(e,"year"),n,"day");return i||s}function M(e,t){void 0===t&&(t=0);var n=e&&e.yearsCalendarModel&&e.yearsCalendarModel[t];return n&&n.years&&n.years[0]&&n.years[0][0]&&n.years[0][0].date}function I(e,t){for(var n=e.initialDate,i=new Array(e.height),s=0;s<e.height;s++){i[s]=new Array(e.width);for(var o=0;o<e.width;o++)i[s][o]=t(n),n=a.shiftDate(n,e.shift)}return i}function E(e,t){var n=a.getFirstDayOfMonth(e),i=function(e,t){if(a.isFirstDayOfWeek(e,t.firstDayOfWeek))return e;var n=function(e,t){if(0===t)return e;var n=e-t%7;return n<0?n+7:n}(a.getDay(e),t.firstDayOfWeek);return a.shiftDate(e,{day:-n})}(n,t);return{daysMatrix:I({width:t.width,height:t.height,initialDate:i,shift:{day:1}},(function(e){return e})),month:n}}function T(e){var t=a.getLocale(e),n=t.weekdaysShort(),i=t.firstDayOfWeek();return function(){for(var e=[],t=0;t<arguments.length;t++)e=e.concat(b(arguments[t]));return e}(n.slice(i),n.slice(0,i))}function O(e,t){return e.weeks.forEach((function(n){n.days.forEach((function(i,s){var o,r,c=!a.isSameMonth(i.date,e.month),d=!c&&a.isSameDay(i.date,t.hoveredDate),l=!c&&t.selectedRange&&a.isSameDay(i.date,t.selectedRange[0]),p=!c&&t.selectedRange&&a.isSameDay(i.date,t.selectedRange[1]),h=!c&&a.isSameDay(i.date,t.selectedDate)||l||p,u=!c&&t.selectedRange&&function(e,t,n){if(!e||!t[0])return!1;if(t[1])return e>t[0]&&e<=t[1];if(n)return e>t[0]&&e<=n;return!1}(i.date,t.selectedRange,t.hoveredDate),f=t.isDisabled||a.isBefore(i.date,t.minDate,"day")||a.isAfter(i.date,t.maxDate,"day")||a.isDisabledDay(i.date,t.daysDisabled)||(o=i.date,!!((r=t.datesDisabled)&&a.isArray(r)&&r.length)&&r.some((function(e){return a.isSame(o,e,"date")})))||function(e,t){return!!(t&&a.isArray(t)&&t.length)&&!t.some((function(t){return a.isSame(e,t,"date")}))}(i.date,t.datesEnabled),y=new Date,b=!c&&a.isSameDay(i.date,y),g=t.dateCustomClasses&&t.dateCustomClasses.map((function(e){return a.isSameDay(i.date,e.date)?e.classes:[]})).reduce((function(e,t){return e.concat(t)}),[]).join(" ")||"",m=t.dateTooltipTexts&&t.dateTooltipTexts.map((function(e){return a.isSameDay(i.date,e.date)?e.tooltipText:""})).reduce((function(e,t){return e.concat(t)}),[]).join(" ")||"",v=Object.assign({},i,{isOtherMonth:c,isHovered:d,isSelected:h,isSelectionStart:l,isSelectionEnd:p,isInRange:u,isDisabled:f,isToday:b,customClasses:g,tooltipText:m});i.isOtherMonth===v.isOtherMonth&&i.isHovered===v.isHovered&&i.isSelected===v.isSelected&&i.isSelectionStart===v.isSelectionStart&&i.isSelectionEnd===v.isSelectionEnd&&i.isDisabled===v.isDisabled&&i.isInRange===v.isInRange&&i.customClasses===v.customClasses&&i.tooltipText===v.tooltipText||(n.days[s]=v)}))})),e.hideLeftArrow=t.isDisabled||t.monthIndex>0&&t.monthIndex!==t.displayMonths,e.hideRightArrow=t.isDisabled||t.monthIndex<t.displayMonths&&t.monthIndex+1!==t.displayMonths,e.disableLeftArrow=x(a.shiftDate(e.month,{month:-1}),t.minDate,t.maxDate),e.disableRightArrow=x(a.shiftDate(e.month,{month:1}),t.minDate,t.maxDate),e}function R(e,t){return!t||e>=t}var P={month:1};function A(e,t){return{months:I({width:3,height:4,initialDate:a.startOf(e,"year"),shift:P},(function(e){return{date:e,label:a.formatDate(e,t.monthLabel,t.locale)}})),monthTitle:"",yearTitle:a.formatDate(e,t.yearTitle,t.locale)}}var V=-1*(Math.floor(8)-1),H={year:1};function L(e,t,n){var i=I({width:4,height:4,initialDate:function(e,t){if(t&&e.getFullYear()>=t.getFullYear()&&e.getFullYear()<t.getFullYear()+16)return t;return a.shiftDate(e,{year:V})}(e,n),shift:H},(function(e){return{date:e,label:a.formatDate(e,t.yearLabel,t.locale)}}));return{years:i,monthTitle:"",yearTitle:function(e,t){var n=a.formatDate(e[0][0].date,t.yearTitle,t.locale),i=a.formatDate(e[3][3].date,t.yearTitle,t.locale);return n+" - "+i}(i,t)}}function F(e,t){switch(void 0===e&&(e=C),t.type){case D.CALCULATE:return function(e){var t=e.displayOneMonthRange&&Y(e.view.date,e.minDate,e.maxDate)?1:e.displayMonths,n=e.view.date;if("day"===e.view.mode){e.showPreviousMonth&&e.selectedRange&&0===e.selectedRange.length&&(n=a.shiftDate(n,{month:-1})),e.monthViewOptions.firstDayOfWeek=a.getLocale(e.locale).firstDayOfWeek();for(var i=new Array(t),s=0;s<t;s++)i[s]=E(n,e.monthViewOptions),n=a.shiftDate(n,{month:1});return Object.assign({},e,{monthsModel:i})}if("month"===e.view.mode){for(var o=new Array(t),r=0;r<t;r++)o[r]=A(n,j(e)),n=a.shiftDate(n,{year:1});return Object.assign({},e,{monthsCalendar:o})}if("year"===e.view.mode){var c=new Array(t);for(r=0;r<t;r++)c[r]=L(n,j(e),"year"===e.minMode?M(e,r):void 0),n=a.shiftDate(n,{year:16});return Object.assign({},e,{yearsCalendarModel:c})}return e}(e);case D.FORMAT:return function(e,t){if("day"===e.view.mode){var n=e.monthsModel.map((function(t,n){return function(e,t,n){return{month:e.month,monthTitle:a.formatDate(e.month,t.monthTitle,t.locale),yearTitle:a.formatDate(e.month,t.yearTitle,t.locale),weekNumbers:(i=e.daysMatrix,s=t.weekNumbers,o=t.locale,i.map((function(e){return e[0]?a.formatDate(e[0],s,o):""}))),weekdays:T(t.locale),weeks:e.daysMatrix.map((function(e,i){return{days:e.map((function(e,s){return{date:e,label:a.formatDate(e,t.dayLabel,t.locale),monthIndex:n,weekIndex:i,dayIndex:s}}))}}))};var i,s,o}(t,j(e),n)}));return Object.assign({},e,{formattedMonths:n})}var i=e.displayMonths,s=e.view.date;if("month"===e.view.mode){for(var o=new Array(i),r=0;r<i;r++)o[r]=A(s,j(e)),s=a.shiftDate(s,{year:1});return Object.assign({},e,{monthsCalendar:o})}if("year"===e.view.mode){var c=new Array(i);for(r=0;r<i;r++)c[r]=L(s,j(e)),s=a.shiftDate(s,{year:16});return Object.assign({},e,{yearsCalendarModel:c})}return e}(e);case D.FLAG:return function(e,t){var n=Y(e.view.date,e.minDate,e.maxDate)?1:e.displayMonths;if("day"===e.view.mode){var i=e.formattedMonths.map((function(t,a){return O(t,{isDisabled:e.isDisabled,minDate:e.minDate,maxDate:e.maxDate,daysDisabled:e.daysDisabled,datesDisabled:e.datesDisabled,datesEnabled:e.datesEnabled,hoveredDate:e.hoveredDate,selectedDate:e.selectedDate,selectedRange:e.selectedRange,displayMonths:n,dateCustomClasses:e.dateCustomClasses,dateTooltipTexts:e.dateTooltipTexts,monthIndex:a})}));return Object.assign({},e,{flaggedMonths:i})}if("month"===e.view.mode){var s=e.monthsCalendar.map((function(t,i){return s=t,o={isDisabled:e.isDisabled,minDate:e.minDate,maxDate:e.maxDate,hoveredMonth:e.hoveredMonth,selectedDate:e.selectedDate,selectedRange:e.selectedRange,displayMonths:n,monthIndex:i},s.months.forEach((function(e,t){e.forEach((function(e,n){var i,r=a.isSameMonth(e.date,o.hoveredMonth),c=o.isDisabled||x(e.date,o.minDate,o.maxDate);!o.selectedDate&&o.selectedRange?(i=a.isSameMonth(e.date,o.selectedRange[0]))||(i=a.isSameMonth(e.date,o.selectedRange[1])):i=a.isSameMonth(e.date,o.selectedDate);var d=Object.assign(e,{isHovered:r,isDisabled:c,isSelected:i});e.isHovered===d.isHovered&&e.isDisabled===d.isDisabled&&e.isSelected===d.isSelected||(s.months[t][n]=d)}))})),s.hideLeftArrow=o.monthIndex>0&&o.monthIndex!==o.displayMonths,s.hideRightArrow=o.monthIndex<o.displayMonths&&o.monthIndex+1!==o.displayMonths,s.disableLeftArrow=S(a.shiftDate(s.months[0][0].date,{year:-1}),o.minDate,o.maxDate),s.disableRightArrow=S(a.shiftDate(s.months[0][0].date,{year:1}),o.minDate,o.maxDate),s;var s,o}));return Object.assign({},e,{flaggedMonthsCalendar:s})}if("year"===e.view.mode){var o=e.yearsCalendarModel.map((function(t,i){return function(e,t){e.years.forEach((function(n,i){n.forEach((function(n,s){var o,r=a.isSameYear(n.date,t.hoveredYear),c=t.isDisabled||S(n.date,t.minDate,t.maxDate);!t.selectedDate&&t.selectedRange?(o=a.isSameYear(n.date,t.selectedRange[0]))||(o=a.isSameYear(n.date,t.selectedRange[1])):o=a.isSameYear(n.date,t.selectedDate);var d=Object.assign(n,{isHovered:r,isDisabled:c,isSelected:o});n.isHovered===d.isHovered&&n.isDisabled===d.isDisabled&&n.isSelected===d.isSelected||(e.years[i][s]=d)}))})),e.hideLeftArrow=t.yearIndex>0&&t.yearIndex!==t.displayMonths,e.hideRightArrow=t.yearIndex<t.displayMonths&&t.yearIndex+1!==t.displayMonths,e.disableLeftArrow=S(a.shiftDate(e.years[0][0].date,{year:-1}),t.minDate,t.maxDate);var n=e.years.length-1,i=e.years[n].length-1;return e.disableRightArrow=S(a.shiftDate(e.years[n][i].date,{year:1}),t.minDate,t.maxDate),e}(t,{isDisabled:e.isDisabled,minDate:e.minDate,maxDate:e.maxDate,hoveredYear:e.hoveredYear,selectedDate:e.selectedDate,selectedRange:e.selectedRange,displayMonths:n,yearIndex:i})}));return Object.assign({},e,{yearsCalendarFlagged:o})}return e}(e);case D.NAVIGATE_OFFSET:return function(e,t){var n={view:{mode:e.view.mode,date:B(e,t)}};return Object.assign({},e,n)}(e,t);case D.NAVIGATE_TO:var n=t.payload,i=a.setFullDate(e.view.date,n.unit),s=void 0,o=void 0;return s=R(n.viewMode,e.minMode)?{view:{date:i,mode:o=n.viewMode}}:{selectedDate:i,view:{date:i,mode:o=e.view.mode}},Object.assign({},e,s);case D.CHANGE_VIEWMODE:if(!R(t.payload,e.minMode))return e;s={view:{date:i=e.view.date,mode:o=t.payload}};return Object.assign({},e,s);case D.HOVER:return Object.assign({},e,{hoveredDate:t.payload});case D.SELECT:s={selectedDate:t.payload,view:e.view},o=e.view.mode,i=$(t.payload||e.view.date,e.minDate,e.maxDate);return s.view={mode:o,date:i},Object.assign({},e,s);case D.SET_OPTIONS:o=(s=t.payload).minMode?s.minMode:e.view.mode,i=$(a.isDateValid(s.value)&&s.value||a.isArray(s.value)&&a.isDateValid(s.value[0])&&s.value[0]||e.view.date,s.minDate,s.maxDate);return s.view={mode:o,date:i},s.value&&(a.isArray(s.value)&&(s.selectedRange=s.value),s.value instanceof Date&&(s.selectedDate=s.value)),Object.assign({},e,s);case D.SELECT_RANGE:s={selectedRange:t.payload,view:e.view},o=e.view.mode,i=$(t.payload&&t.payload[0]||e.view.date,e.minDate,e.maxDate);return s.view={mode:o,date:i},Object.assign({},e,s);case D.SET_MIN_DATE:return Object.assign({},e,{minDate:t.payload});case D.SET_MAX_DATE:return Object.assign({},e,{maxDate:t.payload});case D.SET_IS_DISABLED:return Object.assign({},e,{isDisabled:t.payload});case D.SET_DATE_CUSTOM_CLASSES:return Object.assign({},e,{dateCustomClasses:t.payload});case D.SET_DATE_TOOLTIP_TEXTS:return Object.assign({},e,{dateTooltipTexts:t.payload});default:return e}}function B(e,t){if("year"===e.view.mode&&"year"===e.minMode){var n=M(e,0),i=a.shiftDate(n,{year:-V});return a.shiftDate(i,t.payload)}return a.shiftDate(a.startOf(e.view.date,"month"),t.payload)}function j(e){return{locale:e.locale,monthTitle:e.monthTitle,yearTitle:e.yearTitle,dayLabel:e.dayLabel,monthLabel:e.monthLabel,yearLabel:e.yearLabel,weekNumbers:e.weekNumbers}}function $(e,t,n){var i=Array.isArray(e)?e[0]:e;return t&&a.isAfter(t,i,"day")?t:n&&a.isBefore(n,i,"day")?n:i}function Y(e,t,n){return!(!n||!a.isSame(n,e,"day"))||!(!t||!n||t.getMonth()!==n.getMonth())}var N=function(e){function n(){var t=new o.BehaviorSubject({type:"[datepicker] dispatcher init"}),n=new r.MiniState(C,t,F);return e.call(this,t,F,n)||this}return f(n,e),n.decorators=[{type:t.Injectable}],n.ctorParameters=function(){return[]},n}(r.MiniStore),z=function(e){function s(n,a,i,s,o,r,c){var d=e.call(this)||this;return d._config=a,d._store=i,d._element=s,d._actions=o,d._positionService=c,d.valueChange=new t.EventEmitter,d.animationState="void",d._subs=[],d._effects=r,n.setStyle(s.nativeElement,"display","block"),n.setStyle(s.nativeElement,"position","absolute"),d}return f(s,e),Object.defineProperty(s.prototype,"value",{set:function(e){this._effects.setValue(e)},enumerable:!0,configurable:!0}),s.prototype.ngOnInit=function(){var e=this;this._positionService.setOptions({modifiers:{flip:{enabled:this._config.adaptivePosition}},allowedPositions:["top","bottom"]}),this._positionService.event$.pipe(n.take(1)).subscribe((function(){e._positionService.disable(),e._config.isAnimated?e.animationState=e.isTopPosition?"animated-up":"animated-down":e.animationState="unanimated"})),this.isOtherMonthsActive=this._config.selectFromOtherMonth,this.containerClass=this._config.containerClass,this.showTodayBtn=this._config.showTodayButton,this.todayBtnLbl=this._config.todayButtonLabel,this.todayPos=this._config.todayPosition,this.showClearBtn=this._config.showClearButton,this.clearBtnLbl=this._config.clearButtonLabel,this.clearPos=this._config.clearPosition,this.customRangeBtnLbl=this._config.customRangeButtonLabel,this._effects.init(this._store).setOptions(this._config).setBindings(this).setEventHandlers(this).registerDatepickerSideEffects(),this._subs.push(this._store.select((function(e){return e.selectedDate})).subscribe((function(t){return e.valueChange.emit(t)}))),this._store.dispatch(this._actions.changeViewMode(this._config.startView))},Object.defineProperty(s.prototype,"isTopPosition",{get:function(){return this._element.nativeElement.classList.contains("top")},enumerable:!0,configurable:!0}),s.prototype.positionServiceEnable=function(){this._positionService.enable()},s.prototype.daySelectHandler=function(e){e&&((this.isOtherMonthsActive?e.isDisabled:e.isOtherMonth||e.isDisabled)||this._store.dispatch(this._actions.select(e.date)))},s.prototype.monthSelectHandler=function(e){e&&!e.isDisabled&&this._store.dispatch(this._actions.navigateTo({unit:{month:a.getMonth(e.date),year:a.getFullYear(e.date)},viewMode:"day"}))},s.prototype.yearSelectHandler=function(e){e&&!e.isDisabled&&this._store.dispatch(this._actions.navigateTo({unit:{year:a.getFullYear(e.date)},viewMode:"month"}))},s.prototype.setToday=function(){this._store.dispatch(this._actions.select(new Date))},s.prototype.clearDate=function(){this._store.dispatch(this._actions.select(void 0))},s.prototype.ngOnDestroy=function(){var e,t;try{for(var n=y(this._subs),a=n.next();!a.done;a=n.next()){a.value.unsubscribe()}}catch(t){e={error:t}}finally{try{a&&!a.done&&(t=n.return)&&t.call(n)}finally{if(e)throw e.error}}this._effects.destroy()},s.decorators=[{type:t.Component,args:[{selector:"bs-datepicker-container",providers:[N,k],template:'\x3c!-- days calendar view mode --\x3e\n<div class="bs-datepicker" [ngClass]="containerClass" *ngIf="viewMode | async">\n <div class="bs-datepicker-container"\n [@datepickerAnimation]="animationState"\n (@datepickerAnimation.done)="positionServiceEnable()">\n \x3c!--calendars--\x3e\n <div class="bs-calendar-container" [ngSwitch]="viewMode | async" role="application">\n \x3c!--days calendar--\x3e\n <div *ngSwitchCase="\'day\'" class="bs-media-container">\n <bs-days-calendar-view\n *ngFor="let calendar of daysCalendar | async"\n [class.bs-datepicker-multiple]="(daysCalendar | async)?.length > 1"\n [calendar]="calendar"\n [options]="options | async"\n (onNavigate)="navigateTo($event)"\n (onViewMode)="setViewMode($event)"\n (onHover)="dayHoverHandler($event)"\n (onHoverWeek)="weekHoverHandler($event)"\n (onSelect)="daySelectHandler($event)">\n </bs-days-calendar-view>\n </div>\n\n \x3c!--months calendar--\x3e\n <div *ngSwitchCase="\'month\'" class="bs-media-container">\n <bs-month-calendar-view\n *ngFor="let calendar of monthsCalendar | async"\n [class.bs-datepicker-multiple]="(daysCalendar | async)?.length > 1"\n [calendar]="calendar"\n (onNavigate)="navigateTo($event)"\n (onViewMode)="setViewMode($event)"\n (onHover)="monthHoverHandler($event)"\n (onSelect)="monthSelectHandler($event)">\n </bs-month-calendar-view>\n </div>\n\n \x3c!--years calendar--\x3e\n <div *ngSwitchCase="\'year\'" class="bs-media-container">\n <bs-years-calendar-view\n *ngFor="let calendar of yearsCalendar | async"\n [class.bs-datepicker-multiple]="(daysCalendar | async)?.length > 1"\n [calendar]="calendar"\n (onNavigate)="navigateTo($event)"\n (onViewMode)="setViewMode($event)"\n (onHover)="yearHoverHandler($event)"\n (onSelect)="yearSelectHandler($event)">\n </bs-years-calendar-view>\n </div>\n </div>\n\n \x3c!--applycancel buttons--\x3e\n <div class="bs-datepicker-buttons" *ngIf="false">\n <button class="btn btn-success" type="button">Apply</button>\n <button class="btn btn-default" type="button">Cancel</button>\n </div>\n\n <div class="bs-datepicker-buttons" *ngIf="showTodayBtn || showClearBtn">\n <div class="btn-today-wrapper"\n [class.today-left]="todayPos === \'left\'"\n [class.today-right]="todayPos === \'right\'"\n [class.today-center]="todayPos === \'center\'"\n *ngIf="showTodayBtn">\n <button class="btn btn-success" (click)="setToday()">{{todayBtnLbl}}</button>\n </div>\n\n <div class="btn-clear-wrapper"\n [class.clear-left]="clearPos === \'left\'"\n [class.clear-right]="clearPos === \'right\'"\n [class.clear-center]="clearPos === \'center\'"\n *ngIf="showClearBtn">\n <button class="btn btn-success" (click)="clearDate()">{{clearBtnLbl}}</button>\n </div>\n </div>\n\n </div>\n\n \x3c!--custom dates or date ranges picker--\x3e\n <div class="bs-datepicker-custom-range" *ngIf="customRanges?.length > 0">\n <bs-custom-date-view\n [selectedRange]="chosenRange"\n [ranges]="customRanges"\n [customRangeLabel]="customRangeBtnLbl"\n (onSelect)="setRangeOnCalendar($event)">\n </bs-custom-date-view>\n </div>\n</div>\n',host:{class:"bottom","(click)":"_stopPropagation($event)",role:"dialog","aria-label":"calendar"},animations:[m]}]}],s.ctorParameters=function(){return[{type:t.Renderer2},{type:g},{type:N},{type:t.ElementRef},{type:D},{type:k},{type:i.PositioningService}]},s}(v);var W=function(){function e(e,n,a,i,s){this._config=e,this._elementRef=n,this._renderer=a,this.placement="bottom",this.triggers="click",this.outsideClick=!0,this.container="body",this.outsideEsc=!0,this.bsValueChange=new t.EventEmitter,this._subs=[],this._dateInputFormat$=new o.Subject,Object.assign(this,this._config),this._datepicker=s.createLoader(n,i,a),this.onShown=this._datepicker.onShown,this.onHidden=this._datepicker.onHidden,this.isOpen$=new o.BehaviorSubject(this.isOpen)}return Object.defineProperty(e.prototype,"isOpen",{get:function(){return this._datepicker.isShown},set:function(e){this.isOpen$.next(e)},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"bsValue",{set:function(e){this._bsValue&&e&&this._bsValue.getTime()===e.getTime()||(this._bsValue=e,this.bsValueChange.emit(e))},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"bsConfig",{get:function(){return this._bsConfig},set:function(e){this._bsConfig=e,this.setConfig(),this._dateInputFormat$.next(e&&e.dateInputFormat)},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"dateInputFormat$",{get:function(){return this._dateInputFormat$},enumerable:!0,configurable:!0}),e.prototype.ngOnInit=function(){var e=this;this.isDestroy$=new o.Subject,this._datepicker.listen({outsideClick:this.outsideClick,outsideEsc:this.outsideEsc,triggers:this.triggers,show:function(){return e.show()}}),this.setConfig()},e.prototype.ngOnChanges=function(e){this._datepickerRef&&this._datepickerRef.instance&&(e.minDate&&(this._datepickerRef.instance.minDate=this.minDate),e.maxDate&&(this._datepickerRef.instance.maxDate=this.maxDate),e.daysDisabled&&(this._datepickerRef.instance.daysDisabled=this.daysDisabled),e.datesDisabled&&(this._datepickerRef.instance.datesDisabled=this.datesDisabled),e.datesEnabled&&(this._datepickerRef.instance.datesEnabled=this.datesEnabled),e.isDisabled&&(this._datepickerRef.instance.isDisabled=this.isDisabled),e.dateCustomClasses&&(this._datepickerRef.instance.dateCustomClasses=this.dateCustomClasses),e.dateTooltipTexts&&(this._datepickerRef.instance.dateTooltipTexts=this.dateTooltipTexts))},e.prototype.ngAfterViewInit=function(){var e=this;this.isOpen$.pipe(n.filter((function(t){return t!==e.isOpen})),n.takeUntil(this.isDestroy$)).subscribe((function(){return e.toggle()}))},e.prototype.show=function(){var e=this;this._datepicker.isShown||(this.setConfig(),this._datepickerRef=this._datepicker.provide({provide:g,useValue:this._config}).attach(z).to(this.container).position({attachment:this.placement}).show({placement:this.placement}),this._subs.push(this.bsValueChange.subscribe((function(t){e._datepickerRef.instance.value=t}))),this._subs.push(this._datepickerRef.instance.valueChange.subscribe((function(t){e.bsValue=t,e.hide()}))))},e.prototype.hide=function(){var e,t;this.isOpen&&this._datepicker.hide();try{for(var n=y(this._subs),a=n.next();!a.done;a=n.next()){a.value.unsubscribe()}}catch(t){e={error:t}}finally{try{a&&!a.done&&(t=n.return)&&t.call(n)}finally{if(e)throw e.error}}this._config.returnFocusToInput&&this._renderer.selectRootElement(this._elementRef.nativeElement).focus()},e.prototype.toggle=function(){if(this.isOpen)return this.hide();this.show()},e.prototype.setConfig=function(){this._config=Object.assign({},this._config,this.bsConfig,{value:this._bsValue,isDisabled:this.isDisabled,minDate:this.minDate||this.bsConfig&&this.bsConfig.minDate,maxDate:this.maxDate||this.bsConfig&&this.bsConfig.maxDate,daysDisabled:this.daysDisabled||this.bsConfig&&this.bsConfig.daysDisabled,dateCustomClasses:this.dateCustomClasses||this.bsConfig&&this.bsConfig.dateCustomClasses,dateTooltipTexts:this.dateTooltipTexts||this.bsConfig&&this.bsConfig.dateTooltipTexts,datesDisabled:this.datesDisabled||this.bsConfig&&this.bsConfig.datesDisabled,datesEnabled:this.datesEnabled||this.bsConfig&&this.bsConfig.datesEnabled,minMode:this.minMode||this.bsConfig&&this.bsConfig.minMode})},e.prototype.ngOnDestroy=function(){this._datepicker.dispose(),this.isOpen$.next(!1),this.isDestroy$&&(this.isDestroy$.next(),this.isDestroy$.complete())},e.decorators=[{type:t.Directive,args:[{selector:"[bsDatepicker]",exportAs:"bsDatepicker"}]}],e.ctorParameters=function(){return[{type:g},{type:t.ElementRef},{type:t.Renderer2},{type:t.ViewContainerRef},{type:c.ComponentLoaderFactory}]},e.propDecorators={placement:[{type:t.Input}],triggers:[{type:t.Input}],outsideClick:[{type:t.Input}],container:[{type:t.Input}],outsideEsc:[{type:t.Input}],isOpen:[{type:t.Input}],onShown:[{type:t.Output}],onHidden:[{type:t.Output}],bsValue:[{type:t.Input}],bsConfig:[{type:t.Input}],isDisabled:[{type:t.Input}],minDate:[{type:t.Input}],maxDate:[{type:t.Input}],minMode:[{type:t.Input}],daysDisabled:[{type:t.Input}],datesDisabled:[{type:t.Input}],datesEnabled:[{type:t.Input}],dateCustomClasses:[{type:t.Input}],dateTooltipTexts:[{type:t.Input}],bsValueChange:[{type:t.Output}]},e}();var G=function(e){function n(){return null!==e&&e.apply(this,arguments)||this}return f(n,e),n.decorators=[{type:t.Injectable,args:[{providedIn:"root"}]}],n.ɵprov=t["ɵɵdefineInjectable"]({factory:function(){return new n},token:n,providedIn:"root"}),n}(g),U=function(e){function n(t,n,a,i,s,o,r){var c=e.call(this,t,n,a,i,s,o,r)||this;return t.setStyle(i.nativeElement,"display","inline-block"),t.setStyle(i.nativeElement,"position","static"),c}return f(n,e),n.decorators=[{type:t.Component,args:[{selector:"bs-datepicker-inline-container",providers:[N,k],template:'\x3c!-- days calendar view mode --\x3e\n<div class="bs-datepicker" [ngClass]="containerClass" *ngIf="viewMode | async">\n <div class="bs-datepicker-container"\n [@datepickerAnimation]="animationState"\n (@datepickerAnimation.done)="positionServiceEnable()">\n \x3c!--calendars--\x3e\n <div class="bs-calendar-container" [ngSwitch]="viewMode | async" role="application">\n \x3c!--days calendar--\x3e\n <div *ngSwitchCase="\'day\'" class="bs-media-container">\n <bs-days-calendar-view\n *ngFor="let calendar of daysCalendar | async"\n [class.bs-datepicker-multiple]="(daysCalendar | async)?.length > 1"\n [calendar]="calendar"\n [options]="options | async"\n (onNavigate)="navigateTo($event)"\n (onViewMode)="setViewMode($event)"\n (onHover)="dayHoverHandler($event)"\n (onHoverWeek)="weekHoverHandler($event)"\n (onSelect)="daySelectHandler($event)">\n </bs-days-calendar-view>\n </div>\n\n \x3c!--months calendar--\x3e\n <div *ngSwitchCase="\'month\'" class="bs-media-container">\n <bs-month-calendar-view\n *ngFor="let calendar of monthsCalendar | async"\n [class.bs-datepicker-multiple]="(daysCalendar | async)?.length > 1"\n [calendar]="calendar"\n (onNavigate)="navigateTo($event)"\n (onViewMode)="setViewMode($event)"\n (onHover)="monthHoverHandler($event)"\n (onSelect)="monthSelectHandler($event)">\n </bs-month-calendar-view>\n </div>\n\n \x3c!--years calendar--\x3e\n <div *ngSwitchCase="\'year\'" class="bs-media-container">\n <bs-years-calendar-view\n *ngFor="let calendar of yearsCalendar | async"\n [class.bs-datepicker-multiple]="(daysCalendar | async)?.length > 1"\n [calendar]="calendar"\n (onNavigate)="navigateTo($event)"\n (onViewMode)="setViewMode($event)"\n (onHover)="yearHoverHandler($event)"\n (onSelect)="yearSelectHandler($event)">\n </bs-years-calendar-view>\n </div>\n </div>\n\n \x3c!--applycancel buttons--\x3e\n <div class="bs-datepicker-buttons" *ngIf="false">\n <button class="btn btn-success" type="button">Apply</button>\n <button class="btn btn-default" type="button">Cancel</button>\n </div>\n\n <div class="bs-datepicker-buttons" *ngIf="showTodayBtn || showClearBtn">\n <div class="btn-today-wrapper"\n [class.today-left]="todayPos === \'left\'"\n [class.today-right]="todayPos === \'right\'"\n [class.today-center]="todayPos === \'center\'"\n *ngIf="showTodayBtn">\n <button class="btn btn-success" (click)="setToday()">{{todayBtnLbl}}</button>\n </div>\n\n <div class="btn-clear-wrapper"\n [class.clear-left]="clearPos === \'left\'"\n [class.clear-right]="clearPos === \'right\'"\n [class.clear-center]="clearPos === \'center\'"\n *ngIf="showClearBtn">\n <button class="btn btn-success" (click)="clearDate()">{{clearBtnLbl}}</button>\n </div>\n </div>\n\n </div>\n\n \x3c!--custom dates or date ranges picker--\x3e\n <div class="bs-datepicker-custom-range" *ngIf="customRanges?.length > 0">\n <bs-custom-date-view\n [selectedRange]="chosenRange"\n [ranges]="customRanges"\n [customRangeLabel]="customRangeBtnLbl"\n (onSelect)="setRangeOnCalendar($event)">\n </bs-custom-date-view>\n </div>\n</div>\n',host:{"(click)":"_stopPropagation($event)"},animations:[m]}]}],n.ctorParameters=function(){return[{type:t.Renderer2},{type:g},{type:N},{type:t.ElementRef},{type:D},{type:k},{type:i.PositioningService}]},n}(z),q=function(){function e(e,n,a,i,s){this._config=e,this._elementRef=n,this.bsValueChange=new t.EventEmitter,this._subs=[],Object.assign(this,this._config),this._datepicker=s.createLoader(n,i,a)}return Object.defineProperty(e.prototype,"bsValue",{set:function(e){this._bsValue!==e&&(this._bsValue=e,this.bsValueChange.emit(e))},enumerable:!0,configurable:!0}),e.prototype.ngOnInit=function(){var e=this;this.setConfig(),this._subs.push(this.bsValueChange.subscribe((function(t){e._datepickerRef.instance.value=t}))),this._subs.push(this._datepickerRef.instance.valueChange.subscribe((function(t){e.bsValue=t})))},e.prototype.ngOnChanges=function(e){this._datepickerRef&&this._datepickerRef.instance&&(e.minDate&&(this._datepickerRef.instance.minDate=this.minDate,this.setConfig()),e.maxDate&&(this._datepickerRef.instance.maxDate=this.maxDate,this.setConfig()),e.datesDisabled&&(this._datepickerRef.instance.datesDisabled=this.datesDisabled,this.setConfig()),e.datesEnabled&&(this._datepickerRef.instance.datesEnabled=this.datesEnabled,this._datepickerRef.instance.value=this._bsValue),e.isDisabled&&(this._datepickerRef.instance.isDisabled=this.isDisabled,this.setConfig()),e.dateCustomClasses&&(this._datepickerRef.instance.dateCustomClasses=this.dateCustomClasses,this.setConfig()),e.dateTooltipTexts&&(this._datepickerRef.instance.dateTooltipTexts=this.dateTooltipTexts,this.setConfig()))},e.prototype.setConfig=function(){this._datepicker&&this._datepicker.hide(),this._config=Object.assign({},this._config,this.bsConfig,{value:this._bsValue,isDisabled:this.isDisabled,minDate:this.minDate||this.bsConfig&&this.bsConfig.minDate,maxDate:this.maxDate||this.bsConfig&&this.bsConfig.maxDate,dateCustomClasses:this.dateCustomClasses||this.bsConfig&&this.bsConfig.dateCustomClasses,dateTooltipTexts:this.dateTooltipTexts||this.bsConfig&&this.bsConfig.dateTooltipTexts,datesDisabled:this.datesDisabled||this.bsConfig&&this.bsConfig.datesDisabled,datesEnabled:this.datesEnabled||this.bsConfig&&this.bsConfig.datesEnabled}),this._datepickerRef=this._datepicker.provide({provide:g,useValue:this._config}).attach(U).to(this._elementRef).show()},e.prototype.ngOnDestroy=function(){this._datepicker.dispose()},e.decorators=[{type:t.Directive,args:[{selector:"bs-datepicker-inline",exportAs:"bsDatepickerInline"}]}],e.ctorParameters=function(){return[{type:G},{type:t.ElementRef},{type:t.Renderer2},{type:t.ViewContainerRef},{type:c.ComponentLoaderFactory}]},e.propDecorators={bsValue:[{type:t.Input}],bsConfig:[{type:t.Input}],isDisabled:[{type:t.Input}],minDate:[{type:t.Input}],maxDate:[{type:t.Input}],dateCustomClasses:[{type:t.Input}],dateTooltipTexts:[{type:t.Input}],datesEnabled:[{type:t.Input}],datesDisabled:[{type:t.Input}],bsValueChange:[{type:t.Output}]},e}();var Z=function(e){function n(){var t=null!==e&&e.apply(this,arguments)||this;return t.displayMonths=2,t.isAnimated=!1,t}return f(n,e),n.decorators=[{type:t.Injectable,args:[{providedIn:"root"}]}],n.ɵprov=t["ɵɵdefineInjectable"]({factory:function(){return new n},token:n,providedIn:"root"}),n}(g);var K=function(e){function s(n,a,i,s,o,r,c){var d=e.call(this)||this;return d._config=a,d._store=i,d._element=s,d._actions=o,d._positionService=c,d.valueChange=new t.EventEmitter,d.animationState="void",d._rangeStack=[],d.chosenRange=[],d._subs=[],d._effects=r,d.customRanges=d._config.ranges,d.customRangeBtnLbl=d._config.customRangeButtonLabel,n.setStyle(s.nativeElement,"display","block"),n.setStyle(s.nativeElement,"position","absolute"),d}return f(s,e),Object.defineProperty(s.prototype,"value",{set:function(e){this._effects.setRangeValue(e)},enumerable:!0,configurable:!0}),s.prototype.ngOnInit=function(){var e=this;this._positionService.setOptions({modifiers:{flip:{enabled:this._config.adaptivePosition}},allowedPositions:["top","bottom"]}),this._positionService.event$.pipe(n.take(1)).subscribe((function(){e._positionService.disable(),e._config.isAnimated?e.animationState=e.isTopPosition?"animated-up":"animated-down":e.animationState="unanimated"})),this.containerClass=this._config.containerClass,this.isOtherMonthsActive=this._config.selectFromOtherMonth,this._effects.init(this._store).setOptions(this._config).setBindings(this).setEventHandlers(this).registerDatepickerSideEffects(),this._subs.push(this._store.select((function(e){return e.selectedRange})).subscribe((function(t){e.valueChange.emit(t),e.chosenRange=t})))},Object.defineProperty(s.prototype,"isTopPosition",{get:function(){return this._element.nativeElement.classList.contains("top")},enumerable:!0,configurable:!0}),s.prototype.positionServiceEnable=function(){this._positionService.enable()},s.prototype.daySelectHandler=function(e){e&&((this.isOtherMonthsActive?e.isDisabled:e.isOtherMonth||e.isDisabled)||this.rangesProcessing(e))},s.prototype.monthSelectHandler=function(e){if(e)if(e.isSelected=!0,"month"===this._config.minMode)this.rangesProcessing(e);else{if(e.isDisabled)return;this._store.dispatch(this._actions.navigateTo({unit:{month:a.getMonth(e.date),year:a.getFullYear(e.date)},viewMode:"day"}))}},s.prototype.yearSelectHandler=function(e){if(e)if(e.isSelected=!0,"year"===this._config.minMode)this.rangesProcessing(e);else{if(e.isDisabled)return;this._store.dispatch(this._actions.navigateTo({unit:{year:a.getFullYear(e.date)},viewMode:"month"}))}},s.prototype.rangesProcessing=function(e){1===this._rangeStack.length&&(this._rangeStack=e.date>=this._rangeStack[0]?[this._rangeStack[0],e.date]:[e.date]),0===this._rangeStack.length&&(this._rangeStack=[e.date],this._config.maxDateRange&&this.setMaxDateRangeOnCalendar(e.date)),this._store.dispatch(this._actions.selectRange(this._rangeStack)),2===this._rangeStack.length&&(this._rangeStack=[])},s.prototype.ngOnDestroy=function(){var e,t;try{for(var n=y(this._subs),a=n.next();!a.done;a=n.next()){a.value.unsubscribe()}}catch(t){e={error:t}}finally{try{a&&!a.done&&(t=n.return)&&t.call(n)}finally{if(e)throw e.error}}this._effects.destroy()},s.prototype.setRangeOnCalendar=function(e){this._rangeStack=null===e?[]:e.value instanceof Date?[e.value]:e.value,this._store.dispatch(this._actions.selectRange(this._rangeStack))},s.prototype.setMaxDateRangeOnCalendar=function(e){var t=new Date(e);t.setDate(e.getDate()+this._config.maxDateRange),this._effects.setMaxDate(t)},s.decorators=[{type:t.Component,args:[{selector:"bs-daterangepicker-container",providers:[N,k],template:'\x3c!-- days calendar view mode --\x3e\n<div class="bs-datepicker" [ngClass]="containerClass" *ngIf="viewMode | async">\n <div class="bs-datepicker-container"\n [@datepickerAnimation]="animationState"\n (@datepickerAnimation.done)="positionServiceEnable()">\n \x3c!--calendars--\x3e\n <div class="bs-calendar-container" [ngSwitch]="viewMode | async" role="application">\n \x3c!--days calendar--\x3e\n <div *ngSwitchCase="\'day\'" class="bs-media-container">\n <bs-days-calendar-view\n *ngFor="let calendar of daysCalendar | async"\n [class.bs-datepicker-multiple]="(daysCalendar | async)?.length > 1"\n [calendar]="calendar"\n [options]="options | async"\n (onNavigate)="navigateTo($event)"\n (onViewMode)="setViewMode($event)"\n (onHover)="dayHoverHandler($event)"\n (onHoverWeek)="weekHoverHandler($event)"\n (onSelect)="daySelectHandler($event)">\n </bs-days-calendar-view>\n </div>\n\n \x3c!--months calendar--\x3e\n <div *ngSwitchCase="\'month\'" class="bs-media-container">\n <bs-month-calendar-view\n *ngFor="let calendar of monthsCalendar | async"\n [class.bs-datepicker-multiple]="(daysCalendar | async)?.length > 1"\n [calendar]="calendar"\n (onNavigate)="navigateTo($event)"\n (onViewMode)="setViewMode($event)"\n (onHover)="monthHoverHandler($event)"\n (onSelect)="monthSelectHandler($event)">\n </bs-month-calendar-view>\n </div>\n\n \x3c!--years calendar--\x3e\n <div *ngSwitchCase="\'year\'" class="bs-media-container">\n <bs-years-calendar-view\n *ngFor="let calendar of yearsCalendar | async"\n [class.bs-datepicker-multiple]="(daysCalendar | async)?.length > 1"\n [calendar]="calendar"\n (onNavigate)="navigateTo($event)"\n (onViewMode)="setViewMode($event)"\n (onHover)="yearHoverHandler($event)"\n (onSelect)="yearSelectHandler($event)">\n </bs-years-calendar-view>\n </div>\n </div>\n\n \x3c!--applycancel buttons--\x3e\n <div class="bs-datepicker-buttons" *ngIf="false">\n <button class="btn btn-success" type="button">Apply</button>\n <button class="btn btn-default" type="button">Cancel</button>\n </div>\n\n <div class="bs-datepicker-buttons" *ngIf="showTodayBtn || showClearBtn">\n <div class="btn-today-wrapper"\n [class.today-left]="todayPos === \'left\'"\n [class.today-right]="todayPos === \'right\'"\n [class.today-center]="todayPos === \'center\'"\n *ngIf="showTodayBtn">\n <button class="btn btn-success" (click)="setToday()">{{todayBtnLbl}}</button>\n </div>\n\n <div class="btn-clear-wrapper"\n [class.clear-left]="clearPos === \'left\'"\n [class.clear-right]="clearPos === \'right\'"\n [class.clear-center]="clearPos === \'center\'"\n *ngIf="showClearBtn">\n <button class="btn btn-success" (click)="clearDate()">{{clearBtnLbl}}</button>\n </div>\n </div>\n\n </div>\n\n \x3c!--custom dates or date ranges picker--\x3e\n <div class="bs-datepicker-custom-range" *ngIf="customRanges?.length > 0">\n <bs-custom-date-view\n [selectedRange]="chosenRange"\n [ranges]="customRanges"\n [customRangeLabel]="customRangeBtnLbl"\n (onSelect)="setRangeOnCalendar($event)">\n </bs-custom-date-view>\n </div>\n</div>\n',host:{class:"bottom","(click)":"_stopPropagation($event)",role:"dialog","aria-label":"calendar"},animations:[m]}]}],s.ctorParameters=function(){return[{type:t.Renderer2},{type:g},{type:N},{type:t.ElementRef},{type:D},{type:k},{type:i.PositioningService}]},s}(v);var Q=function(e){function n(t,n,a,i,s,o,r){var c=e.call(this,t,n,a,i,s,o,r)||this;return t.setStyle(i.nativeElement,"display","inline-block"),t.setStyle(i.nativeElement,"position","static"),c}return f(n,e),n.decorators=[{type:t.Component,args:[{selector:"bs-daterangepicker-inline-container",providers:[N,k],template:'\x3c!-- days calendar view mode --\x3e\n<div class="bs-datepicker" [ngClass]="containerClass" *ngIf="viewMode | async">\n <div class="bs-datepicker-container"\n [@datepickerAnimation]="animationState"\n (@datepickerAnimation.done)="positionServiceEnable()">\n \x3c!--calendars--\x3e\n <div class="bs-calendar-container" [ngSwitch]="viewMode | async" role="application">\n \x3c!--days calendar--\x3e\n <div *ngSwitchCase="\'day\'" class="bs-media-container">\n <bs-days-calendar-view\n *ngFor="let calendar of daysCalendar | async"\n [class.bs-datepicker-multiple]="(daysCalendar | async)?.length > 1"\n [calendar]="calendar"\n [options]="options | async"\n (onNavigate)="navigateTo($event)"\n (onViewMode)="setViewMode($event)"\n (onHover)="dayHoverHandler($event)"\n (onHoverWeek)="weekHoverHandler($event)"\n (onSelect)="daySelectHandler($event)">\n </bs-days-calendar-view>\n </div>\n\n \x3c!--months calendar--\x3e\n <div *ngSwitchCase="\'month\'" class="bs-media-container">\n <bs-month-calendar-view\n *ngFor="let calendar of monthsCalendar | async"\n [class.bs-datepicker-multiple]="(daysCalendar | async)?.length > 1"\n [calendar]="calendar"\n (onNavigate)="navigateTo($event)"\n (onViewMode)="setViewMode($event)"\n (onHover)="monthHoverHandler($event)"\n (onSelect)="monthSelectHandler($event)">\n </bs-month-calendar-view>\n </div>\n\n \x3c!--years calendar--\x3e\n <div *ngSwitchCase="\'year\'" class="bs-media-container">\n <bs-years-calendar-view\n *ngFor="let calendar of yearsCalendar | async"\n [class.bs-datepicker-multiple]="(daysCalendar | async)?.length > 1"\n [calendar]="calendar"\n (onNavigate)="navigateTo($event)"\n (onViewMode)="setViewMode($event)"\n (onHover)="yearHoverHandler($event)"\n (onSelect)="yearSelectHandler($event)">\n </bs-years-calendar-view>\n </div>\n </div>\n\n \x3c!--applycancel buttons--\x3e\n <div class="bs-datepicker-buttons" *ngIf="false">\n <button class="btn btn-success" type="button">Apply</button>\n <button class="btn btn-default" type="button">Cancel</button>\n </div>\n\n <div class="bs-datepicker-buttons" *ngIf="showTodayBtn || showClearBtn">\n <div class="btn-today-wrapper"\n [class.today-left]="todayPos === \'left\'"\n [class.today-right]="todayPos === \'right\'"\n [class.today-center]="todayPos === \'center\'"\n *ngIf="showTodayBtn">\n <button class="btn btn-success" (click)="setToday()">{{todayBtnLbl}}</button>\n </div>\n\n <div class="btn-clear-wrapper"\n [class.clear-left]="clearPos === \'left\'"\n [class.clear-right]="clearPos === \'right\'"\n [class.clear-center]="clearPos === \'center\'"\n *ngIf="showClearBtn">\n <button class="btn btn-success" (click)="clearDate()">{{clearBtnLbl}}</button>\n </div>\n </div>\n\n </div>\n\n \x3c!--custom dates or date ranges picker--\x3e\n <div class="bs-datepicker-custom-range" *ngIf="customRanges?.length > 0">\n <bs-custom-date-view\n [selectedRange]="chosenRange"\n [ranges]="customRanges"\n [customRangeLabel]="customRangeBtnLbl"\n (onSelect)="setRangeOnCalendar($event)">\n </bs-custom-date-view>\n </div>\n</div>\n',host:{"(click)":"_stopPropagation($event)"},animations:[m]}]}],n.ctorParameters=function(){return[{type:t.Renderer2},{type:g},{type:N},{type:t.ElementRef},{type:D},{type:k},{type:i.PositioningService}]},n}(K),X=function(){function e(e,n,a,i,s){this._config=e,this._elementRef=n,this.bsValueChange=new t.EventEmitter,this._subs=[],Object.assign(this,this._config),this._datepicker=s.createLoader(n,i,a)}return Object.defineProperty(e.prototype,"bsValue",{set:function(e){this._bsValue!==e&&(this._bsValue=e,this.bsValueChange.emit(e))},enumerable:!0,configurable:!0}),e.prototype.ngOnInit=function(){var e=this;this.setConfig(),this._subs.push(this.bsValueChange.subscribe((function(t){e._datepickerRef.instance.value=t}))),this._subs.push(this._datepickerRef.instance.valueChange.pipe(n.filter((function(e){return e&&e[0]&&!!e[1]}))).subscribe((function(t){e.bsValue=t})))},e.prototype.ngOnChanges=function(e){this._datepickerRef&&this._datepickerRef.instance&&(e.minDate&&(this._datepickerRef.instance.minDate=this.minDate,this.setConfig()),e.maxDate&&(this._datepickerRef.instance.maxDate=this.maxDate,this.setConfig()),e.datesEnabled&&(this._datepickerRef.instance.datesEnabled=this.datesEnabled),e.datesDisabled&&(this._datepickerRef.instance.datesDisabled=this.datesDisabled,this.setConfig()),e.daysDisabled&&(this._datepickerRef.instance.daysDisabled=this.daysDisabled,this.setConfig()),e.isDisabled&&(this._datepickerRef.instance.isDisabled=this.isDisabled,this.setConfig()),e.dateCustomClasses&&(this._datepickerRef.instance.dateCustomClasses=this.dateCustomClasses,this.setConfig()))},e.prototype.setConfig=function(){this._datepicker&&this._datepicker.hide(),this._config=Object.assign({},this._config,this.bsConfig,{value:this._bsValue,isDisabled:this.isDisabled,minDate:this.minDate||this.bsConfig&&this.bsConfig.minDate,maxDate:this.maxDate||this.bsConfig&&this.bsConfig.maxDate,daysDisabled:this.daysDisabled||this.bsConfig&&this.bsConfig.daysDisabled,dateCustomClasses:this.dateCustomClasses||this.bsConfig&&this.bsConfig.dateCustomClasses,datesDisabled:this.datesDisabled||this.bsConfig&&this.bsConfig.datesDisabled,datesEnabled:this.datesEnabled||this.bsConfig&&this.bsConfig.datesEnabled,ranges:this.bsConfig&&this.bsConfig.ranges,maxDateRange:this.bsConfig&&this.bsConfig.maxDateRange}),this._datepickerRef=this._datepicker.provide({provide:g,useValue:this._config}).attach(Q).to(this._elementRef).show()},e.prototype.ngOnDestroy=function(){this._datepicker.dispose()},e.decorators=[{type:t.Directive,args:[{selector:"bs-daterangepicker-inline",exportAs:"bsDaterangepickerInline"}]}],e.ctorParameters=function(){return[{type:Z},{type:t.ElementRef},{type:t.Renderer2},{type:t.ViewContainerRef},{type:c.ComponentLoaderFactory}]},e.propDecorators={bsValue:[{type:t.Input}],bsConfig:[{type:t.Input}],isDisabled:[{type:t.Input}],minDate:[{type:t.Input}],maxDate:[{type:t.Input}],dateCustomClasses:[{type:t.Input}],daysDisabled:[{type:t.Input}],datesDisabled:[{type:t.Input}],datesEnabled:[{type:t.Input}],bsValueChange:[{type:t.Output}]},e}();var J={provide:d.NG_VALUE_ACCESSOR,useExisting:t.forwardRef((function(){return te})),multi:!0},ee={provide:d.NG_VALIDATORS,useExisting:t.forwardRef((function(){return te})),multi:!0},te=function(){function e(e,t,a,i,s){var o=this;this._picker=e,this._localeService=t,this._renderer=a,this._elRef=i,this.changeDetection=s,this._onChange=Function.prototype,this._onTouched=Function.prototype,this._validatorChange=Function.prototype,this._picker.bsValueChange.subscribe((function(e){o._setInputValue(e),o._value!==e&&(o._value=e,o._onChange(e),o._onTouched()),o.changeDetection.markForCheck()})),this._localeService.localeChange.subscribe((function(){o._setInputValue(o._value)})),this._picker.dateInputFormat$.pipe(n.distinctUntilChanged()).subscribe((function(){o._setInputValue(o._value)}))}return e.prototype.onKeydownEvent=function(e){13!==e.keyCode&&"Enter"!==e.code||this.hide()},e.prototype._setInputValue=function(e){var t=e?a.formatDate(e,this._picker._config.dateInputFormat,this._localeService.currentLocale):"";this._renderer.setProperty(this._elRef.nativeElement,"value",t)},e.prototype.onChange=function(e){this.writeValue(e.target.value),this._onChange(this._value),this._picker._config.returnFocusToInput&&this._renderer.selectRootElement(this._elRef.nativeElement).focus(),this._onTouched()},e.prototype.validate=function(e){var t=e.value;if(null==t||""===t)return null;if(a.isDate(t)){if(!a.isDateValid(t))return{bsDate:{invalid:t}};if(this._picker&&this._picker.minDate&&a.isBefore(t,this._picker.minDate,"date"))return this.writeValue(this._picker.minDate),{bsDate:{minDate:this._picker.minDate}};if(this._picker&&this._picker.maxDate&&a.isAfter(t,this._picker.maxDate,"date"))return this.writeValue(this._picker.maxDate),{bsDate:{maxDate:this._picker.maxDate}}}},e.prototype.registerOnValidatorChange=function(e){this._validatorChange=e},e.prototype.writeValue=function(e){if(e){var t=this._localeService.currentLocale;if(!a.getLocale(t))throw new Error('Locale "'+t+'" is not defined, please add it with "defineLocale(...)"');this._value=a.parseDate(e,this._picker._config.dateInputFormat,this._localeService.currentLocale),this._picker._config.useUtc&&(this._value=a.utcAsLocal(this._value))}else this._value=null;this._picker.bsValue=this._value},e.prototype.setDisabledState=function(e){this._picker.isDisabled=e,e?this._renderer.setAttribute(this._elRef.nativeElement,"disabled","disabled"):this._renderer.removeAttribute(this._elRef.nativeElement,"disabled")},e.prototype.registerOnChange=function(e){this._onChange=e},e.prototype.registerOnTouched=function(e){this._onTouched=e},e.prototype.onBlur=function(){this._onTouched()},e.prototype.hide=function(){this._picker.hide(),this._renderer.selectRootElement(this._elRef.nativeElement).blur(),this._picker._config.returnFocusToInput&&this._renderer.selectRootElement(this._elRef.nativeElement).focus()},e.decorators=[{type:t.Directive,args:[{selector:"input[bsDatepicker]",host:{"(change)":"onChange($event)","(keyup.esc)":"hide()","(keydown)":"onKeydownEvent($event)","(blur)":"onBlur()"},providers:[J,ee]}]}],e.ctorParameters=function(){return[{type:W,decorators:[{type:t.Host}]},{type:_},{type:t.Renderer2},{type:t.ElementRef},{type:t.ChangeDetectorRef}]},e}();var ne=function(e){function n(){var t=null!==e&&e.apply(this,arguments)||this;return t.displayMonths=2,t}return f(n,e),n.decorators=[{type:t.Injectable,args:[{providedIn:"root"}]}],n.ɵprov=t["ɵɵdefineInjectable"]({factory:function(){return new n},token:n,providedIn:"root"}),n}(g);var ae=function(){function e(e,n,a,i,s){this._config=e,this._elementRef=n,this._renderer=a,this.placement="bottom",this.triggers="click",this.outsideClick=!0,this.container="body",this.outsideEsc=!0,this.bsValueChange=new t.EventEmitter,this._subs=[],this._rangeInputFormat$=new o.Subject,this._datepicker=s.createLoader(n,i,a),Object.assign(this,e),this.onShown=this._datepicker.onShown,this.onHidden=this._datepicker.onHidden,this.isOpen$=new o.BehaviorSubject(this.isOpen)}return Object.defineProperty(e.prototype,"isOpen",{get:function(){return this._datepicker.isShown},set:function(e){this.isOpen$.next(e)},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"bsValue",{set:function(e){this._bsValue!==e&&(this._bsValue=e,this.bsValueChange.emit(e))},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"bsConfig",{get:function(){return this._bsConfig},set:function(e){this._bsConfig=e,this.setConfig(),this._rangeInputFormat$.next(e&&e.rangeInputFormat)},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"rangeInputFormat$",{get:function(){return this._rangeInputFormat$},enumerable:!0,configurable:!0}),e.prototype.ngOnInit=function(){var e=this;this.isDestroy$=new o.Subject,this._datepicker.listen({outsideClick:this.outsideClick,outsideEsc:this.outsideEsc,triggers:this.triggers,show:function(){return e.show()}}),this.setConfig()},e.prototype.ngOnChanges=function(e){this._datepickerRef&&this._datepickerRef.instance&&(e.minDate&&(this._datepickerRef.instance.minDate=this.minDate),e.maxDate&&(this._datepickerRef.instance.maxDate=this.maxDate),e.datesDisabled&&(this._datepickerRef.instance.datesDisabled=this.datesDisabled),e.datesEnabled&&(this._datepickerRef.instance.datesEnabled=this.datesEnabled),e.daysDisabled&&(this._datepickerRef.instance.daysDisabled=this.daysDisabled),e.isDisabled&&(this._datepickerRef.instance.isDisabled=this.isDisabled),e.dateCustomClasses&&(this._datepickerRef.instance.dateCustomClasses=this.dateCustomClasses))},e.prototype.ngAfterViewInit=function(){var e=this;this.isOpen$.pipe(n.filter((function(t){return t!==e.isOpen})),n.takeUntil(this.isDestroy$)).subscribe((function(){return e.toggle()}))},e.prototype.show=function(){var e=this;this._datepicker.isShown||(this.setConfig(),this._datepickerRef=this._datepicker.provide({provide:g,useValue:this._config}).attach(K).to(this.container).position({attachment:this.placement}).show({placement:this.placement}),this._subs.push(this.bsValueChange.subscribe((function(t){e._datepickerRef.instance.value=t}))),this._subs.push(this._datepickerRef.instance.valueChange.pipe(n.filter((function(e){return e&&e[0]&&!!e[1]}))).subscribe((function(t){e.bsValue=t,e.hide()}))))},e.prototype.setConfig=function(){this._config=Object.assign({},this._config,this.bsConfig,{value:this._bsValue,isDisabled:this.isDisabled,minDate:this.minDate||this.bsConfig&&this.bsConfig.minDate,maxDate:this.maxDate||this.bsConfig&&this.bsConfig.maxDate,daysDisabled:this.daysDisabled||this.bsConfig&&this.bsConfig.daysDisabled,dateCustomClasses:this.dateCustomClasses||this.bsConfig&&this.bsConfig.dateCustomClasses,datesDisabled:this.datesDisabled||this.bsConfig&&this.bsConfig.datesDisabled,datesEnabled:this.datesEnabled||this.bsConfig&&this.bsConfig.datesEnabled,ranges:this.bsConfig&&this.bsConfig.ranges,maxDateRange:this.bsConfig&&this.bsConfig.maxDateRange})},e.prototype.hide=function(){var e,t;this.isOpen&&this._datepicker.hide();try{for(var n=y(this._subs),a=n.next();!a.done;a=n.next()){a.value.unsubscribe()}}catch(t){e={error:t}}finally{try{a&&!a.done&&(t=n.return)&&t.call(n)}finally{if(e)throw e.error}}this._config.returnFocusToInput&&this._renderer.selectRootElement(this._elementRef.nativeElement).focus()},e.prototype.toggle=function(){if(this.isOpen)return this.hide();this.show()},e.prototype.ngOnDestroy=function(){this._datepicker.dispose(),this.isOpen$.next(!1),this.isDestroy$&&(this.isDestroy$.next(),this.isDestroy$.complete())},e.decorators=[{type:t.Directive,args:[{selector:"[bsDaterangepicker]",exportAs:"bsDaterangepicker"}]}],e.ctorParameters=function(){return[{type:ne},{type:t.ElementRef},{type:t.Renderer2},{type:t.ViewContainerRef},{type:c.ComponentLoaderFactory}]},e.propDecorators={placement:[{type:t.Input}],triggers:[{type:t.Input}],outsideClick:[{type:t.Input}],container:[{type:t.Input}],outsideEsc:[{type:t.Input}],isOpen:[{type:t.Input}],onShown:[{type:t.Output}],onHidden:[{type:t.Output}],bsValue:[{type:t.Input}],bsConfig:[{type:t.Input}],isDisabled:[{type:t.Input}],minDate:[{type:t.Input}],maxDate:[{type:t.Input}],dateCustomClasses:[{type:t.Input}],daysDisabled:[{type:t.Input}],datesDisabled:[{type:t.Input}],datesEnabled:[{type:t.Input}],bsValueChange:[{type:t.Output}]},e}();var ie={provide:d.NG_VALUE_ACCESSOR,useExisting:t.forwardRef((function(){return oe})),multi:!0},se={provide:d.NG_VALIDATORS,useExisting:t.forwardRef((function(){return oe})),multi:!0},oe=function(){function e(e,t,a,i,s){var o=this;this._picker=e,this._localeService=t,this._renderer=a,this._elRef=i,this.changeDetection=s,this._onChange=Function.prototype,this._onTouched=Function.prototype,this._validatorChange=Function.prototype,this._picker.bsValueChange.subscribe((function(e){o._setInputValue(e),o._value!==e&&(o._value=e,o._onChange(e),o._onTouched()),o.changeDetection.markForCheck()})),this._localeService.localeChange.subscribe((function(){o._setInputValue(o._value)})),this._picker.rangeInputFormat$.pipe(n.distinctUntilChanged()).subscribe((function(){o._setInputValue(o._value)}))}return e.prototype.onKeydownEvent=function(e){13!==e.keyCode&&"Enter"!==e.code||this.hide()},e.prototype._setInputValue=function(e){var t="";if(e){var n=e[0]?a.formatDate(e[0],this._picker._config.rangeInputFormat,this._localeService.currentLocale):"",i=e[1]?a.formatDate(e[1],this._picker._config.rangeInputFormat,this._localeService.currentLocale):"";t=n&&i?n+this._picker._config.rangeSeparator+i:""}this._renderer.setProperty(this._elRef.nativeElement,"value",t)},e.prototype.onChange=function(e){this.writeValue(e.target.value),this._onChange(this._value),this._picker._config.returnFocusToInput&&this._renderer.selectRootElement(this._elRef.nativeElement).focus(),this._onTouched()},e.prototype.validate=function(e){var t=e.value,n=[];if(null==t||!a.isArray(t))return null;t.sort((function(e,t){return e-t}));var i=a.isDateValid(t[0]),s=a.isDateValid(t[1]);return i?s?(this._picker&&this._picker.minDate&&a.isBefore(t[0],this._picker.minDate,"date")&&(t[0]=this._picker.minDate,n.push({bsDate:{minDate:this._picker.minDate}})),this._picker&&this._picker.maxDate&&a.isAfter(t[1],this._picker.maxDate,"date")&&(t[1]=this._picker.maxDate,n.push({bsDate:{maxDate:this._picker.maxDate}})),n.length>0?(this.writeValue(t),n):void 0):{bsDate:{invalid:t[1]}}:{bsDate:{invalid:t[0]}}},e.prototype.registerOnValidatorChange=function(e){this._validatorChange=e},e.prototype.writeValue=function(e){var t=this;if(e){var n=this._localeService.currentLocale;if(!a.getLocale(n))throw new Error('Locale "'+n+'" is not defined, please add it with "defineLocale(...)"');var i=[];"string"==typeof e&&(i=e.split(this._picker._config.rangeSeparator)),Array.isArray(e)&&(i=e),this._value=i.map((function(e){return t._picker._config.useUtc?a.utcAsLocal(a.parseDate(e,t._picker._config.rangeInputFormat,t._localeService.currentLocale)):a.parseDate(e,t._picker._config.rangeInputFormat,t._localeService.currentLocale)})).map((function(e){return isNaN(e.valueOf())?null:e}))}else this._value=null;this._picker.bsValue=this._value},e.prototype.setDisabledState=function(e){this._picker.isDisabled=e,e?this._renderer.setAttribute(this._elRef.nativeElement,"disabled","disabled"):this._renderer.removeAttribute(this._elRef.nativeElement,"disabled")},e.prototype.registerOnChange=function(e){this._onChange=e},e.prototype.registerOnTouched=function(e){this._onTouched=e},e.prototype.onBlur=function(){this._onTouched()},e.prototype.hide=function(){this._picker.hide(),this._renderer.selectRootElement(this._elRef.nativeElement).blur(),this._picker._config.returnFocusToInput&&this._renderer.selectRootElement(this._elRef.nativeElement).focus()},e.decorators=[{type:t.Directive,args:[{selector:"input[bsDaterangepicker]",host:{"(change)":"onChange($event)","(keyup.esc)":"hide()","(keydown)":"onKeydownEvent($event)","(blur)":"onBlur()"},providers:[ie,se]}]}],e.ctorParameters=function(){return[{type:ae,decorators:[{type:t.Host}]},{type:_},{type:t.Renderer2},{type:t.ElementRef},{type:t.ChangeDetectorRef}]},e}();var re=function(){function e(){}return e.decorators=[{type:t.Component,args:[{selector:"bs-calendar-layout",template:'\n \x3c!-- current date, will be added in nearest releases --\x3e\n <bs-current-date title="hey there" *ngIf="false"></bs-current-date>\n\n \x3c!--navigation--\x3e\n <div class="bs-datepicker-head">\n <ng-content select="bs-datepicker-navigation-view"></ng-content>\n </div>\n\n <div class="bs-datepicker-body">\n <ng-content></ng-content>\n </div>\n\n \x3c!--timepicker--\x3e\n <bs-timepicker *ngIf="false"></bs-timepicker>\n '}]}],e}(),ce=function(){function e(){}return e.decorators=[{type:t.Component,args:[{selector:"bs-current-date",template:'<div class="current-timedate"><span>{{ title }}</span></div>'}]}],e.propDecorators={title:[{type:t.Input}]},e}();var de=function(){function e(){this.onSelect=new t.EventEmitter,this.customRange=null}return e.prototype.selectFromRanges=function(e){this.onSelect.emit(e)},e.prototype.checkRange=function(){var e=this;return!!this.ranges&&this.ranges.filter((function(t){return t.value===e.selectedRange})).length>0},e.decorators=[{type:t.Component,args:[{selector:"bs-custom-date-view",template:'\n <div class="bs-datepicker-predefined-btns">\n <button *ngFor="let range of ranges"\n type="button"\n class="btn"\n (click)="selectFromRanges(range)"\n [class.selected]="range.value === selectedRange">\n {{ range.label }}\n </button>\n <button\n type="button"\n class="btn"\n (click)="selectFromRanges(customRange)"\n [class.selected]="!checkRange()">\n {{customRangeLabel}}\n </button>\n </div>\n ',changeDetection:t.ChangeDetectionStrategy.OnPush}]}],e.propDecorators={ranges:[{type:t.Input}],selectedRange:[{type:t.Input}],customRangeLabel:[{type:t.Input}],onSelect:[{type:t.Output}]},e}();var le=function(){function e(e,t,n){this._config=e,this._elRef=t,this._renderer=n}return e.prototype.ngOnInit=function(){var e=this;this.day.isToday&&this._config&&this._config.customTodayClass&&this._renderer.addClass(this._elRef.nativeElement,this._config.customTodayClass),"string"==typeof this.day.customClasses&&this.day.customClasses.split(" ").filter((function(e){return e})).forEach((function(t){e._renderer.addClass(e._elRef.nativeElement,t)}))},e.decorators=[{type:t.Component,args:[{selector:"[bsDatepickerDayDecorator]",changeDetection:t.ChangeDetectionStrategy.OnPush,host:{"[class.disabled]":"day.isDisabled","[class.is-highlighted]":"day.isHovered","[class.is-other-month]":"day.isOtherMonth","[class.is-active-other-month]":"day.isOtherMonthHovered","[class.in-range]":"day.isInRange","[class.select-start]":"day.isSelectionStart","[class.select-end]":"day.isSelectionEnd","[class.selected]":"day.isSelected"},template:"{{ day.label }}"}]}],e.ctorParameters=function(){return[{type:g},{type:t.ElementRef},{type:t.Renderer2}]},e.propDecorators={day:[{type:t.Input}]},e}();var pe={UP:0,DOWN:1};pe[pe.UP]="UP",pe[pe.DOWN]="DOWN";var he=function(){function e(){this.onNavigate=new t.EventEmitter,this.onViewMode=new t.EventEmitter}return e.prototype.navTo=function(e){this.onNavigate.emit(e?pe.DOWN:pe.UP)},e.prototype.view=function(e){this.onViewMode.emit(e)},e.decorators=[{type:t.Component,args:[{selector:"bs-datepicker-navigation-view",changeDetection:t.ChangeDetectionStrategy.OnPush,template:'\n <button class="previous"\n [disabled]="calendar.disableLeftArrow"\n [style.visibility]="calendar.hideLeftArrow ? \'hidden\' : \'visible\'"\n type="button"\n (click)="navTo(true)">\n <span>‹</span>\n </button>\n\n <ng-container *ngIf="calendar.monthTitle">\n ​ \x3c!-- zero-width space needed for correct alignement\n with preserveWhitespaces: false in Angular --\x3e\n\n <button class="current"\n type="button"\n (click)="view(\'month\')"\n ><span>{{ calendar.monthTitle }}</span>\n </button>\n </ng-container>\n\n ​ \x3c!-- zero-width space needed for correct alignement\n with preserveWhitespaces: false in Angular --\x3e\n\n <button class="current" (click)="view(\'year\')" type="button">\n <span>{{ calendar.yearTitle }}</span>\n </button>\n\n ​ \x3c!-- zero-width space needed for correct alignement\n with preserveWhitespaces: false in Angular --\x3e\n\n <button class="next"\n [disabled]="calendar.disableRightArrow"\n [style.visibility]="calendar.hideRightArrow ? \'hidden\' : \'visible\'"\n type="button"\n (click)="navTo(false)"><span>›</span>\n </button>\n '}]}],e.propDecorators={calendar:[{type:t.Input}],onNavigate:[{type:t.Output}],onViewMode:[{type:t.Output}]},e}();var ue=function(){function e(e){this._config=e,this.onNavigate=new t.EventEmitter,this.onViewMode=new t.EventEmitter,this.onSelect=new t.EventEmitter,this.onHover=new t.EventEmitter,this.onHoverWeek=new t.EventEmitter,this.isiOS=/iPad|iPhone|iPod/.test(navigator.platform)||"MacIntel"===navigator.platform&&navigator.maxTouchPoints>1,this._config.dateTooltipTexts&&this._config.dateTooltipTexts.length>0&&(this.isShowTooltip=!0)}return e.prototype.navigateTo=function(e){var t=pe.DOWN===e?-1:1;this.onNavigate.emit({step:{month:t}})},e.prototype.changeViewMode=function(e){this.onViewMode.emit(e)},e.prototype.selectDay=function(e){this.onSelect.emit(e)},e.prototype.selectWeek=function(e){var t=this;if((this._config.selectWeek||this._config.selectWeekDateRange)&&0!==e.days.length)if(this._config.selectWeek&&e.days[0]&&!e.days[0].isDisabled&&this._config.selectFromOtherMonth)this.onSelect.emit(e.days[0]);else{var n=e.days.find((function(e){return(t._config.selectFromOtherMonth||!e.isOtherMonth)&&!e.isDisabled}));if(this.onSelect.emit(n),this._config.selectWeekDateRange){var a=e.days.slice(0).reverse().find((function(e){return(t._config.selectFromOtherMonth||!e.isOtherMonth)&&!e.isDisabled}));this.onSelect.emit(a)}}},e.prototype.weekHoverHandler=function(e,t){var n=this;(this._config.selectWeek||this._config.selectWeekDateRange)&&(e.days.find((function(e){return(n._config.selectFromOtherMonth||!e.isOtherMonth)&&!e.isDisabled}))&&(e.isHovered=t,this.isWeekHovered=t,this.onHoverWeek.emit(e)))},e.prototype.hoverDay=function(e,t){this._config.selectFromOtherMonth&&e.isOtherMonth&&(e.isOtherMonthHovered=t),this._config.dateTooltipTexts&&(e.tooltipText="",this._config.dateTooltipTexts.forEach((function(t){a.isSameDay(t.date,e.date)&&(e.tooltipText=t.tooltipText)}))),this.onHover.emit({cell:e,isHovered:t})},e.decorators=[{type:t.Component,args:[{selector:"bs-days-calendar-view",template:'\n <bs-calendar-layout>\n <bs-datepicker-navigation-view\n [calendar]="calendar"\n (onNavigate)="navigateTo($event)"\n (onViewMode)="changeViewMode($event)"\n ></bs-datepicker-navigation-view>\n\n \x3c!--days matrix--\x3e\n <table role="grid" class="days weeks">\n <thead>\n <tr>\n \x3c!--if show weeks--\x3e\n <th *ngIf="options.showWeekNumbers"></th>\n <th *ngFor="let weekday of calendar.weekdays; let i = index"\n aria-label="weekday">{{ calendar.weekdays[i] }}\n </th>\n </tr>\n </thead>\n <tbody>\n <tr *ngFor="let week of calendar.weeks; let i = index">\n <td class="week" [class.active-week]="isWeekHovered" *ngIf="options.showWeekNumbers">\n <span *ngIf="isiOS" (click)="selectWeek(week)">{{ calendar.weekNumbers[i] }}</span>\n <span *ngIf="!isiOS"\n (click)="selectWeek(week)"\n (mouseenter)="weekHoverHandler(week, true)"\n (mouseleave)="weekHoverHandler(week, false)">{{ calendar.weekNumbers[i] }}</span>\n </td>\n <td *ngFor="let day of week.days" role="gridcell">\n\n \x3c!-- When we want to show tooltips for dates --\x3e\n <span *ngIf="!isiOS && isShowTooltip" bsDatepickerDayDecorator\n [day]="day"\n (click)="selectDay(day)"\n tooltip="{{day.tooltipText}}"\n (mouseenter)="hoverDay(day, true)"\n (mouseleave)="hoverDay(day, false)">{{ day.label }} 3</span>\n \x3c!-- When tooltips for dates are disabled --\x3e\n <span *ngIf="!isiOS && !isShowTooltip" bsDatepickerDayDecorator\n [day]="day"\n (click)="selectDay(day)"\n (mouseenter)="hoverDay(day, true)"\n (mouseleave)="hoverDay(day, false)">{{ day.label }} 2</span>\n\n \x3c!-- For mobile iOS view, tooltips are not needed --\x3e\n <span *ngIf="isiOS" bsDatepickerDayDecorator\n [day]="day"\n (click)="selectDay(day)">{{ day.label }} 1</span>\n </td>\n </tr>\n </tbody>\n </table>\n\n </bs-calendar-layout>\n '}]}],e.ctorParameters=function(){return[{type:g}]},e.propDecorators={calendar:[{type:t.Input}],options:[{type:t.Input}],onNavigate:[{type:t.Output}],onViewMode:[{type:t.Output}],onSelect:[{type:t.Output}],onHover:[{type:t.Output}],onHoverWeek:[{type:t.Output}]},e}();var fe=function(){function e(){this.onNavigate=new t.EventEmitter,this.onViewMode=new t.EventEmitter,this.onSelect=new t.EventEmitter,this.onHover=new t.EventEmitter}return e.prototype.navigateTo=function(e){var t=pe.DOWN===e?-1:1;this.onNavigate.emit({step:{year:t}})},e.prototype.viewMonth=function(e){this.onSelect.emit(e)},e.prototype.hoverMonth=function(e,t){this.onHover.emit({cell:e,isHovered:t})},e.prototype.changeViewMode=function(e){this.onViewMode.emit(e)},e.decorators=[{type:t.Component,args:[{selector:"bs-month-calendar-view",template:'\n <bs-calendar-layout>\n <bs-datepicker-navigation-view\n [calendar]="calendar"\n (onNavigate)="navigateTo($event)"\n (onViewMode)="changeViewMode($event)"\n ></bs-datepicker-navigation-view>\n\n <table role="grid" class="months">\n <tbody>\n <tr *ngFor="let row of calendar.months">\n <td *ngFor="let month of row" role="gridcell"\n (click)="viewMonth(month)"\n (mouseenter)="hoverMonth(month, true)"\n (mouseleave)="hoverMonth(month, false)"\n [class.disabled]="month.isDisabled"\n [class.is-highlighted]="month.isHovered">\n <span [class.selected]="month.isSelected">{{ month.label }}</span>\n </td>\n </tr>\n </tbody>\n </table>\n </bs-calendar-layout>\n '}]}],e.propDecorators={calendar:[{type:t.Input}],onNavigate:[{type:t.Output}],onViewMode:[{type:t.Output}],onSelect:[{type:t.Output}],onHover:[{type:t.Output}]},e}();var ye=function(){function e(){this.ampm="ok",this.hours=0,this.minutes=0}return e.decorators=[{type:t.Component,args:[{selector:"bs-timepicker",template:'\n <div class="bs-timepicker-container">\n <div class="bs-timepicker-controls">\n <button class="bs-decrease" type="button">-</button>\n <input type="text" [value]="hours" placeholder="00">\n <button class="bs-increase" type="button">+</button>\n </div>\n <div class="bs-timepicker-controls">\n <button class="bs-decrease" type="button">-</button>\n <input type="text" [value]="minutes" placeholder="00">\n <button class="bs-increase" type="button">+</button>\n </div>\n <button class="switch-time-format" type="button">{{ ampm }}\n <img\n src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAsAAAAKCAYAAABi8KSDAAABSElEQVQYV3XQPUvDUBQG4HNuagtVqc6KgouCv6GIuIntYBLB9hcIQpLStCAIV7DYmpTcRWcXqZio3Vwc/UCc/QEqfgyKGbr0I7nS1EiHeqYzPO/h5SD0jaxUZjmSLCB+OFb+UFINFwASAEAdpu9gaGXVyAHHFQBkHpKHc6a9dzECvADyY9sqlAMsK9W0jzxDXqeytr3mhQckxSji27TJJ5/rPmIpwJJq3HrtduriYOurv1a4i1p5HnhkG9OFymi0ReoO05cGwb+ayv4dysVygjeFmsP05f8wpZQ8fsdvfmuY9zjWSNqUtgYFVnOVReILYoBFzdQI5/GGFzNHhGbeZnopDGU29sZbscgldmC99w35VOATTycIMMcBXIfpSVGzZhA6C8hh00conln6VQ9TGgV32OEAKQC4DrBq7CJwd0ggR7Vq/rPrfgB+C3sGypY5DAAAAABJRU5ErkJggg=="\n alt="">\n </button>\n </div>\n '}]}],e}();var be=function(){function e(){this.onNavigate=new t.EventEmitter,this.onViewMode=new t.EventEmitter,this.onSelect=new t.EventEmitter,this.onHover=new t.EventEmitter}return e.prototype.navigateTo=function(e){var t=pe.DOWN===e?-1:1;this.onNavigate.emit({step:{year:16*t}})},e.prototype.viewYear=function(e){this.onSelect.emit(e)},e.prototype.hoverYear=function(e,t){this.onHover.emit({cell:e,isHovered:t})},e.prototype.changeViewMode=function(e){this.onViewMode.emit(e)},e.decorators=[{type:t.Component,args:[{selector:"bs-years-calendar-view",template:'\n <bs-calendar-layout>\n <bs-datepicker-navigation-view\n [calendar]="calendar"\n (onNavigate)="navigateTo($event)"\n (onViewMode)="changeViewMode($event)"\n ></bs-datepicker-navigation-view>\n\n <table role="grid" class="years">\n <tbody>\n <tr *ngFor="let row of calendar.years">\n <td *ngFor="let year of row" role="gridcell"\n (click)="viewYear(year)"\n (mouseenter)="hoverYear(year, true)"\n (mouseleave)="hoverYear(year, false)"\n [class.disabled]="year.isDisabled"\n [class.is-highlighted]="year.isHovered">\n <span [class.selected]="year.isSelected">{{ year.label }}</span>\n </td>\n </tr>\n </tbody>\n </table>\n </bs-calendar-layout>\n '}]}],e.propDecorators={calendar:[{type:t.Input}],onNavigate:[{type:t.Output}],onViewMode:[{type:t.Output}],onSelect:[{type:t.Output}],onHover:[{type:t.Output}]},e}();var ge=function(){function e(){}return e.forRoot=function(){return{ngModule:e,providers:[c.ComponentLoaderFactory,i.PositioningService,N,D,k,_]}},e.decorators=[{type:t.NgModule,args:[{imports:[l.CommonModule,p.TooltipModule.forRoot()],declarations:[re,ce,de,le,he,ue,fe,ye,be,z,W,U,q,te,K,ae,Q,X,oe],entryComponents:[z,K,U,Q],exports:[z,W,U,q,te,K,ae,Q,X,oe]}]}],e}(),me=function(){function e(){}return e.prototype.format=function(e,t,n){return a.formatDate(e,t,n)},e}(),ve=function(){function e(){this.selectionDone=new t.EventEmitter(void 0),this.update=new t.EventEmitter(!1),this.activeDateChange=new t.EventEmitter(void 0),this.stepDay={},this.stepMonth={},this.stepYear={},this.modes=["day","month","year"],this.dateFormatter=new me}return Object.defineProperty(e.prototype,"activeDate",{get:function(){return this._activeDate},set:function(e){this._activeDate=e},enumerable:!0,configurable:!0}),e.prototype.ngOnInit=function(){this.uniqueId="datepicker--"+Math.floor(1e4*Math.random()),this.initDate?(this.activeDate=this.initDate,this.selectedDate=new Date(this.activeDate.valueOf()),this.update.emit(this.activeDate)):void 0===this.activeDate&&(this.activeDate=new Date)},e.prototype.ngOnChanges=function(e){this.refreshView(),this.checkIfActiveDateGotUpdated(e.activeDate)},e.prototype.checkIfActiveDateGotUpdated=function(e){if(e&&!e.firstChange){var t=e.previousValue;t&&t instanceof Date&&t.getTime()!==e.currentValue.getTime()&&this.activeDateChange.emit(this.activeDate)}},e.prototype.setCompareHandler=function(e,t){"day"===t&&(this.compareHandlerDay=e),"month"===t&&(this.compareHandlerMonth=e),"year"===t&&(this.compareHandlerYear=e)},e.prototype.compare=function(e,t){if(void 0!==e&&void 0!==t)return"day"===this.datepickerMode&&this.compareHandlerDay?this.compareHandlerDay(e,t):"month"===this.datepickerMode&&this.compareHandlerMonth?this.compareHandlerMonth(e,t):"year"===this.datepickerMode&&this.compareHandlerYear?this.compareHandlerYear(e,t):void 0},e.prototype.setRefreshViewHandler=function(e,t){"day"===t&&(this.refreshViewHandlerDay=e),"month"===t&&(this.refreshViewHandlerMonth=e),"year"===t&&(this.refreshViewHandlerYear=e)},e.prototype.refreshView=function(){"day"===this.datepickerMode&&this.refreshViewHandlerDay&&this.refreshViewHandlerDay(),"month"===this.datepickerMode&&this.refreshViewHandlerMonth&&this.refreshViewHandlerMonth(),"year"===this.datepickerMode&&this.refreshViewHandlerYear&&this.refreshViewHandlerYear()},e.prototype.dateFilter=function(e,t){return this.dateFormatter.format(e,t,this.locale)},e.prototype.isActive=function(e){return 0===this.compare(e.date,this.activeDate)&&(this.activeDateId=e.uid,!0)},e.prototype.createDateObject=function(e,t){var n={};return n.date=new Date(e.getFullYear(),e.getMonth(),e.getDate()),n.date=this.fixTimeZone(n.date),n.label=this.dateFilter(e,t),n.selected=0===this.compare(e,this.selectedDate),n.disabled=this.isDisabled(e),n.current=0===this.compare(e,new Date),n.customClass=this.getCustomClassForDate(n.date),n},e.prototype.split=function(e,t){for(var n=[];e.length>0;)n.push(e.splice(0,t));return n},e.prototype.fixTimeZone=function(e){var t=e.getHours();return new Date(e.getFullYear(),e.getMonth(),e.getDate(),23===t?t+2:0)},e.prototype.select=function(e,t){void 0===t&&(t=!0),this.datepickerMode===this.minMode?(this.activeDate||(this.activeDate=new Date(0,0,0,0,0,0,0)),this.activeDate=new Date(e.getFullYear(),e.getMonth(),e.getDate()),this.activeDate=this.fixTimeZone(this.activeDate),t&&this.selectionDone.emit(this.activeDate)):(this.activeDate=new Date(e.getFullYear(),e.getMonth(),e.getDate()),this.activeDate=this.fixTimeZone(this.activeDate),t&&(this.datepickerMode=this.modes[this.modes.indexOf(this.datepickerMode)-1])),this.selectedDate=new Date(this.activeDate.valueOf()),this.update.emit(this.activeDate),this.refreshView()},e.prototype.move=function(e){var t;if("day"===this.datepickerMode&&(t=this.stepDay),"month"===this.datepickerMode&&(t=this.stepMonth),"year"===this.datepickerMode&&(t=this.stepYear),t){var n=this.activeDate.getFullYear()+e*(t.years||0),a=this.activeDate.getMonth()+e*(t.months||0);this.activeDate=new Date(n,a,1),this.refreshView(),this.activeDateChange.emit(this.activeDate)}},e.prototype.toggleMode=function(e){var t=e||1;this.datepickerMode===this.maxMode&&1===t||this.datepickerMode===this.minMode&&-1===t||(this.datepickerMode=this.modes[this.modes.indexOf(this.datepickerMode)+t],this.refreshView())},e.prototype.getCustomClassForDate=function(e){var t=this;if(!this.customClass)return"";var n=this.customClass.find((function(n){return n.date.valueOf()===e.valueOf()&&n.mode===t.datepickerMode}),this);return void 0===n?"":n.clazz},e.prototype.compareDateDisabled=function(e,t){if(void 0!==e&&void 0!==t)return"day"===e.mode&&this.compareHandlerDay?this.compareHandlerDay(e.date,t):"month"===e.mode&&this.compareHandlerMonth?this.compareHandlerMonth(e.date,t):"year"===e.mode&&this.compareHandlerYear?this.compareHandlerYear(e.date,t):void 0},e.prototype.isDisabled=function(e){var t=this,n=!1;return this.dateDisabled&&this.dateDisabled.forEach((function(a){0===t.compareDateDisabled(a,e)&&(n=!0)})),this.dayDisabled&&(n=n||this.dayDisabled.indexOf(e.getDay())>-1),n||this.minDate&&this.compare(e,this.minDate)<0||this.maxDate&&this.compare(e,this.maxDate)>0},e.decorators=[{type:t.Component,args:[{selector:"datepicker-inner",template:'\n \x3c!--<!–ng-keydown="keydown($event)"–>--\x3e\n <div *ngIf="datepickerMode" class="well well-sm bg-faded p-a card" role="application" >\n <ng-content></ng-content>\n </div>\n '}]}],e.propDecorators={locale:[{type:t.Input}],datepickerMode:[{type:t.Input}],startingDay:[{type:t.Input}],yearRange:[{type:t.Input}],minDate:[{type:t.Input}],maxDate:[{type:t.Input}],minMode:[{type:t.Input}],maxMode:[{type:t.Input}],showWeeks:[{type:t.Input}],formatDay:[{type:t.Input}],formatMonth:[{type:t.Input}],formatYear:[{type:t.Input}],formatDayHeader:[{type:t.Input}],formatDayTitle:[{type:t.Input}],formatMonthTitle:[{type:t.Input}],onlyCurrentMonth:[{type:t.Input}],shortcutPropagation:[{type:t.Input}],customClass:[{type:t.Input}],monthColLimit:[{type:t.Input}],yearColLimit:[{type:t.Input}],dateDisabled:[{type:t.Input}],dayDisabled:[{type:t.Input}],initDate:[{type:t.Input}],selectionDone:[{type:t.Output}],update:[{type:t.Output}],activeDateChange:[{type:t.Output}],activeDate:[{type:t.Input}]},e}();var De=function(){function e(){this.locale="en",this.datepickerMode="day",this.startingDay=0,this.yearRange=20,this.minMode="day",this.maxMode="year",this.showWeeks=!0,this.formatDay="DD",this.formatMonth="MMMM",this.formatYear="YYYY",this.formatDayHeader="dd",this.formatDayTitle="MMMM YYYY",this.formatMonthTitle="YYYY",this.onlyCurrentMonth=!1,this.monthColLimit=3,this.yearColLimit=5,this.shortcutPropagation=!1}return e.decorators=[{type:t.Injectable,args:[{providedIn:"root"}]}],e.ɵprov=t["ɵɵdefineInjectable"]({factory:function(){return new e},token:e,providedIn:"root"}),e}();var _e={provide:d.NG_VALUE_ACCESSOR,useExisting:t.forwardRef((function(){return ke})),multi:!0},ke=function(){function e(e){this.datepickerMode="day",this.showWeeks=!0,this.selectionDone=new t.EventEmitter(void 0),this.activeDateChange=new t.EventEmitter(void 0),this.onChange=Function.prototype,this.onTouched=Function.prototype,this._now=new Date,this.config=e,this.configureOptions()}return Object.defineProperty(e.prototype,"activeDate",{get:function(){return this._activeDate||this._now},set:function(e){this._activeDate=e},enumerable:!0,configurable:!0}),e.prototype.configureOptions=function(){Object.assign(this,this.config)},e.prototype.onUpdate=function(e){this.activeDate=e,this.onChange(e)},e.prototype.onSelectionDone=function(e){this.selectionDone.emit(e)},e.prototype.onActiveDateChange=function(e){this.activeDateChange.emit(e)},e.prototype.writeValue=function(e){if(0!==this._datePicker.compare(e,this._activeDate))return e&&e instanceof Date?(this.activeDate=e,void this._datePicker.select(e,!1)):void(this.activeDate=e?new Date(e):void 0)},e.prototype.registerOnChange=function(e){this.onChange=e},e.prototype.registerOnTouched=function(e){this.onTouched=e},e.decorators=[{type:t.Component,args:[{selector:"datepicker",template:'\n <datepicker-inner [activeDate]="activeDate"\n (update)="onUpdate($event)"\n [locale]="config.locale"\n [datepickerMode]="datepickerMode"\n [initDate]="initDate"\n [minDate]="minDate"\n [maxDate]="maxDate"\n [minMode]="minMode"\n [maxMode]="maxMode"\n [showWeeks]="showWeeks"\n [formatDay]="formatDay"\n [formatMonth]="formatMonth"\n [formatYear]="formatYear"\n [formatDayHeader]="formatDayHeader"\n [formatDayTitle]="formatDayTitle"\n [formatMonthTitle]="formatMonthTitle"\n [startingDay]="startingDay"\n [yearRange]="yearRange"\n [customClass]="customClass"\n [dateDisabled]="dateDisabled"\n [dayDisabled]="dayDisabled"\n [onlyCurrentMonth]="onlyCurrentMonth"\n [shortcutPropagation]="shortcutPropagation"\n [monthColLimit]="monthColLimit"\n [yearColLimit]="yearColLimit"\n (selectionDone)="onSelectionDone($event)"\n (activeDateChange)="onActiveDateChange($event)">\n <daypicker tabindex="0"></daypicker>\n <monthpicker tabindex="0"></monthpicker>\n <yearpicker tabindex="0"></yearpicker>\n </datepicker-inner>\n ',providers:[_e]}]}],e.ctorParameters=function(){return[{type:De}]},e.propDecorators={datepickerMode:[{type:t.Input}],initDate:[{type:t.Input}],minDate:[{type:t.Input}],maxDate:[{type:t.Input}],minMode:[{type:t.Input}],maxMode:[{type:t.Input}],showWeeks:[{type:t.Input}],formatDay:[{type:t.Input}],formatMonth:[{type:t.Input}],formatYear:[{type:t.Input}],formatDayHeader:[{type:t.Input}],formatDayTitle:[{type:t.Input}],formatMonthTitle:[{type:t.Input}],startingDay:[{type:t.Input}],yearRange:[{type:t.Input}],onlyCurrentMonth:[{type:t.Input}],shortcutPropagation:[{type:t.Input}],monthColLimit:[{type:t.Input}],yearColLimit:[{type:t.Input}],customClass:[{type:t.Input}],dateDisabled:[{type:t.Input}],dayDisabled:[{type:t.Input}],activeDate:[{type:t.Input}],selectionDone:[{type:t.Output}],activeDateChange:[{type:t.Output}],_datePicker:[{type:t.ViewChild,args:[ve,{static:!0}]}]},e}();var we=function(){function e(e){this.labels=[],this.rows=[],this.weekNumbers=[],this.datePicker=e}return Object.defineProperty(e.prototype,"isBs4",{get:function(){return!h.isBs3()},enumerable:!0,configurable:!0}),e.prototype.ngOnInit=function(){var e=this;this.datePicker.stepDay={months:1},this.datePicker.setRefreshViewHandler((function(){var t=this.activeDate.getFullYear(),n=this.activeDate.getMonth(),a=new Date(t,n,1),i=this.startingDay-a.getDay(),s=i>0?7-i:-i,o=new Date(a.getTime());s>0&&o.setDate(1-s);for(var r=e.getDates(o,42),c=[],d=0;d<42;d++){var l=this.createDateObject(r[d],this.formatDay);l.secondary=r[d].getMonth()!==n,l.uid=this.uniqueId+"-"+d,c[d]=l}e.labels=[];for(var p=0;p<7;p++)e.labels[p]={},e.labels[p].abbr=this.dateFilter(c[p].date,this.formatDayHeader),e.labels[p].full=this.dateFilter(c[p].date,"EEEE");if(e.title=this.dateFilter(this.activeDate,this.formatDayTitle),e.rows=this.split(c,7),this.showWeeks){e.weekNumbers=[];for(var h=(11-this.startingDay)%7,u=e.rows.length,f=0;f<u;f++)e.weekNumbers.push(e.getISO8601WeekNumber(e.rows[f][h].date))}}),"day"),this.datePicker.setCompareHandler((function(e,t){var n=new Date(e.getFullYear(),e.getMonth(),e.getDate()),a=new Date(t.getFullYear(),t.getMonth(),t.getDate());return n.getTime()-a.getTime()}),"day"),this.datePicker.refreshView()},e.prototype.getDates=function(e,t){for(var n,a=new Array(t),i=new Date(e.getTime()),s=0;s<t;)n=new Date(i.getTime()),n=this.datePicker.fixTimeZone(n),a[s++]=n,i=new Date(n.getFullYear(),n.getMonth(),n.getDate()+1);return a},e.prototype.getISO8601WeekNumber=function(e){var t=new Date(e.getTime());t.setDate(t.getDate()+4-(t.getDay()||7));var n=t.getTime();return t.setMonth(0),t.setDate(1),Math.floor(Math.round((n-t.getTime())/864e5)/7)+1},e.decorators=[{type:t.Component,args:[{selector:"daypicker",template:'\n<table *ngIf="datePicker.datepickerMode === \'day\'" role="grid" [attr.aria-labelledby]="datePicker.uniqueId + \'-title\'" aria-activedescendant="activeDateId">\n <thead>\n <tr>\n <th>\n <button *ngIf="!isBs4"\n type="button"\n class="btn btn-default btn-secondary btn-sm pull-left float-left"\n (click)="datePicker.move(-1)"\n tabindex="-1">‹</button>\n <button *ngIf="isBs4"\n type="button"\n class="btn btn-default btn-secondary btn-sm pull-left float-left"\n (click)="datePicker.move(-1)"\n tabindex="-1"><</button>\n </th>\n <th [attr.colspan]="5 + (datePicker.showWeeks ? 1 : 0)">\n <button [id]="datePicker.uniqueId + \'-title\'"\n type="button" class="btn btn-default btn-secondary btn-sm"\n (click)="datePicker.toggleMode(0)"\n [disabled]="datePicker.datepickerMode === datePicker.maxMode"\n [ngClass]="{disabled: datePicker.datepickerMode === datePicker.maxMode}" tabindex="-1" style="width:100%;">\n <strong>{{ title }}</strong>\n </button>\n </th>\n <th>\n <button *ngIf="!isBs4"\n type="button"\n class="btn btn-default btn-secondary btn-sm pull-right float-right"\n (click)="datePicker.move(1)"\n tabindex="-1">›</button>\n <button *ngIf="isBs4"\n type="button"\n class="btn btn-default btn-secondary btn-sm pull-right float-right"\n (click)="datePicker.move(1)"\n tabindex="-1">>\n </button>\n </th>\n </tr>\n <tr>\n <th *ngIf="datePicker.showWeeks"></th>\n <th *ngFor="let labelz of labels" class="text-center">\n <small aria-label="labelz.full"><b>{{ labelz.abbr }}</b></small>\n </th>\n </tr>\n </thead>\n <tbody>\n <ng-template ngFor [ngForOf]="rows" let-rowz="$implicit" let-index="index">\n <tr *ngIf="!(datePicker.onlyCurrentMonth && rowz[0].secondary && rowz[6].secondary)">\n <td *ngIf="datePicker.showWeeks" class="h6" class="text-center">\n <em>{{ weekNumbers[index] }}</em>\n </td>\n <td *ngFor="let dtz of rowz" class="text-center" role="gridcell" [id]="dtz.uid">\n <button type="button" style="min-width:100%;" class="btn btn-sm {{dtz.customClass}}"\n *ngIf="!(datePicker.onlyCurrentMonth && dtz.secondary)"\n [ngClass]="{\'btn-secondary\': isBs4 && !dtz.selected && !datePicker.isActive(dtz), \'btn-info\': dtz.selected, disabled: dtz.disabled, active: !isBs4 && datePicker.isActive(dtz), \'btn-default\': !isBs4}"\n [disabled]="dtz.disabled"\n (click)="datePicker.select(dtz.date)" tabindex="-1">\n <span [ngClass]="{\'text-muted\': dtz.secondary || dtz.current, \'text-info\': !isBs4 && dtz.current}">{{ dtz.label }}</span>\n </button>\n </td>\n </tr>\n </ng-template>\n </tbody>\n</table>\n ',styles:["\n :host .btn-secondary {\n color: #292b2c;\n background-color: #fff;\n border-color: #ccc;\n }\n :host .btn-info .text-muted {\n color: #292b2c !important;\n }\n "]}]}],e.ctorParameters=function(){return[{type:ve}]},e}();var Ce=function(){function e(e){this.rows=[],this.datePicker=e}return Object.defineProperty(e.prototype,"isBs4",{get:function(){return!h.isBs3()},enumerable:!0,configurable:!0}),e.prototype.ngOnInit=function(){var e=this;this.datePicker.stepMonth={years:1},this.datePicker.setRefreshViewHandler((function(){for(var t,n=new Array(12),a=this.activeDate.getFullYear(),i=0;i<12;i++)t=new Date(a,i,1),t=this.fixTimeZone(t),n[i]=this.createDateObject(t,this.formatMonth),n[i].uid=this.uniqueId+"-"+i;e.title=this.dateFilter(this.activeDate,this.formatMonthTitle),e.rows=this.split(n,e.datePicker.monthColLimit)}),"month"),this.datePicker.setCompareHandler((function(e,t){var n=new Date(e.getFullYear(),e.getMonth()),a=new Date(t.getFullYear(),t.getMonth());return n.getTime()-a.getTime()}),"month"),this.datePicker.refreshView()},e.decorators=[{type:t.Component,args:[{selector:"monthpicker",template:'\n<table *ngIf="datePicker.datepickerMode===\'month\'" role="grid">\n <thead>\n <tr>\n <th>\n <button type="button" class="btn btn-default btn-sm pull-left float-left"\n (click)="datePicker.move(-1)" tabindex="-1">‹</button></th>\n <th [attr.colspan]="((datePicker.monthColLimit - 2) <= 0) ? 1 : datePicker.monthColLimit - 2">\n <button [id]="datePicker.uniqueId + \'-title\'"\n type="button" class="btn btn-default btn-sm"\n (click)="datePicker.toggleMode(0)"\n [disabled]="datePicker.datepickerMode === maxMode"\n [ngClass]="{disabled: datePicker.datepickerMode === maxMode}" tabindex="-1" style="width:100%;">\n <strong>{{ title }}</strong> \n </button>\n </th>\n <th>\n <button type="button" class="btn btn-default btn-sm pull-right float-right"\n (click)="datePicker.move(1)" tabindex="-1">›</button>\n </th>\n </tr>\n </thead>\n <tbody>\n <tr *ngFor="let rowz of rows">\n <td *ngFor="let dtz of rowz" class="text-center" role="gridcell" [attr.id]="dtz.uid" [ngClass]="dtz.customClass">\n <button type="button" style="min-width:100%;" class="btn btn-default"\n [ngClass]="{\'btn-link\': isBs4 && !dtz.selected && !datePicker.isActive(dtz), \'btn-info\': dtz.selected || (isBs4 && !dtz.selected && datePicker.isActive(dtz)), disabled: dtz.disabled, active: !isBs4 && datePicker.isActive(dtz)}"\n [disabled]="dtz.disabled"\n (click)="datePicker.select(dtz.date)" tabindex="-1">\n <span [ngClass]="{\'text-success\': isBs4 && dtz.current, \'text-info\': !isBs4 && dtz.current}">{{ dtz.label }}</span>\n </button>\n </td>\n </tr>\n </tbody>\n</table>\n ',styles:["\n :host .btn-info .text-success {\n color: #fff !important;\n }\n "]}]}],e.ctorParameters=function(){return[{type:ve}]},e}();var xe=function(){function e(e){this.rows=[],this.datePicker=e}return Object.defineProperty(e.prototype,"isBs4",{get:function(){return!h.isBs3()},enumerable:!0,configurable:!0}),e.prototype.ngOnInit=function(){var e=this;this.datePicker.stepYear={years:this.datePicker.yearRange},this.datePicker.setRefreshViewHandler((function(){for(var t,n=new Array(this.yearRange),a=e.getStartingYear(this.activeDate.getFullYear()),i=0;i<this.yearRange;i++)t=new Date(a+i,0,1),t=this.fixTimeZone(t),n[i]=this.createDateObject(t,this.formatYear),n[i].uid=this.uniqueId+"-"+i;e.title=[n[0].label,n[this.yearRange-1].label].join(" - "),e.rows=this.split(n,e.datePicker.yearColLimit)}),"year"),this.datePicker.setCompareHandler((function(e,t){return e.getFullYear()-t.getFullYear()}),"year"),this.datePicker.refreshView()},e.prototype.getStartingYear=function(e){return(e-1)/this.datePicker.yearRange*this.datePicker.yearRange+1},e.decorators=[{type:t.Component,args:[{selector:"yearpicker",template:'\n<table *ngIf="datePicker.datepickerMode===\'year\'" role="grid">\n <thead>\n <tr>\n <th>\n <button type="button" class="btn btn-default btn-sm pull-left float-left"\n (click)="datePicker.move(-1)" tabindex="-1">‹</button>\n </th>\n <th [attr.colspan]="((datePicker.yearColLimit - 2) <= 0) ? 1 : datePicker.yearColLimit - 2">\n <button [id]="datePicker.uniqueId + \'-title\'" role="heading"\n type="button" class="btn btn-default btn-sm"\n (click)="datePicker.toggleMode(0)"\n [disabled]="datePicker.datepickerMode === datePicker.maxMode"\n [ngClass]="{disabled: datePicker.datepickerMode === datePicker.maxMode}" tabindex="-1" style="width:100%;">\n <strong>{{ title }}</strong>\n </button>\n </th>\n <th>\n <button type="button" class="btn btn-default btn-sm pull-right float-right"\n (click)="datePicker.move(1)" tabindex="-1">›</button>\n </th>\n </tr>\n </thead>\n <tbody>\n <tr *ngFor="let rowz of rows">\n <td *ngFor="let dtz of rowz" class="text-center" role="gridcell" [attr.id]="dtz.uid">\n <button type="button" style="min-width:100%;" class="btn btn-default"\n [ngClass]="{\'btn-link\': isBs4 && !dtz.selected && !datePicker.isActive(dtz), \'btn-info\': dtz.selected || (isBs4 && !dtz.selected && datePicker.isActive(dtz)), disabled: dtz.disabled, active: !isBs4 && datePicker.isActive(dtz)}"\n [disabled]="dtz.disabled"\n (click)="datePicker.select(dtz.date)" tabindex="-1">\n <span [ngClass]="{\'text-success\': isBs4 && dtz.current, \'text-info\': !isBs4 && dtz.current}">{{ dtz.label }}</span>\n </button>\n </td>\n </tr>\n </tbody>\n</table>\n ',styles:["\n :host .btn-info .text-success {\n color: #fff !important;\n }\n "]}]}],e.ctorParameters=function(){return[{type:ve}]},e}();var Se=function(){function e(){}return e.forRoot=function(){return{ngModule:e,providers:[De]}},e.decorators=[{type:t.NgModule,args:[{imports:[l.CommonModule,d.FormsModule],declarations:[ke,ve,we,Ce,xe],exports:[ke,ve,we,Ce,xe],entryComponents:[ke]}]}],e}();e.BsDatepickerConfig=g,e.BsDatepickerContainerComponent=z,e.BsDatepickerDirective=W,e.BsDatepickerInlineConfig=G,e.BsDatepickerInlineContainerComponent=U,e.BsDatepickerInlineDirective=q,e.BsDatepickerInputDirective=te,e.BsDatepickerModule=ge,e.BsDaterangepickerConfig=ne,e.BsDaterangepickerContainerComponent=K,e.BsDaterangepickerDirective=ae,e.BsDaterangepickerInlineConfig=Z,e.BsDaterangepickerInlineContainerComponent=Q,e.BsDaterangepickerInlineDirective=X,e.BsDaterangepickerInputDirective=oe,e.BsLocaleService=_,e.DateFormatter=me,e.DatePickerComponent=ke,e.DatePickerInnerComponent=ve,e.DatepickerConfig=De,e.DatepickerModule=Se,e.DayPickerComponent=we,e.MonthPickerComponent=Ce,e.YearPickerComponent=xe,e.ɵa=_e,e.ɵb=v,e.ɵc=N,e.ɵd=k,e.ɵe=D,e.ɵf=m,e.ɵg=re,e.ɵh=ce,e.ɵi=de,e.ɵj=le,e.ɵk=he,e.ɵl=ue,e.ɵm=fe,e.ɵn=ye,e.ɵo=be,Object.defineProperty(e,"__esModule",{value:!0})}));
|
16
16
|
//# sourceMappingURL=ngx-bootstrap-datepicker.umd.min.js.map
|