ngx-bootstrap 10.3.0 → 11.0.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +3 -5
- package/accordion/accordion-group.component.d.ts +1 -1
- package/accordion/accordion.component.d.ts +1 -1
- package/accordion/esm2022/accordion-group.component.mjs +84 -0
- package/accordion/{esm2020 → esm2022}/accordion.component.mjs +4 -4
- package/accordion/{esm2020 → esm2022}/accordion.config.mjs +4 -4
- package/accordion/{esm2020 → esm2022}/accordion.module.mjs +5 -5
- package/accordion/{fesm2020 → fesm2022}/ngx-bootstrap-accordion.mjs +29 -29
- package/accordion/fesm2022/ngx-bootstrap-accordion.mjs.map +1 -0
- package/accordion/package.json +8 -14
- package/alert/alert.component.d.ts +1 -1
- package/alert/esm2022/alert.component.mjs +77 -0
- package/alert/{esm2020 → esm2022}/alert.config.mjs +4 -4
- package/alert/{esm2020 → esm2022}/alert.module.mjs +5 -5
- package/alert/{fesm2015 → fesm2022}/ngx-bootstrap-alert.mjs +10 -10
- package/alert/fesm2022/ngx-bootstrap-alert.mjs.map +1 -0
- package/alert/package.json +8 -14
- package/buttons/button-checkbox.directive.d.ts +2 -2
- package/buttons/button-radio.directive.d.ts +1 -1
- package/buttons/{esm2020 → esm2022}/button-checkbox.directive.mjs +4 -4
- package/buttons/{esm2020 → esm2022}/button-radio-group.directive.mjs +4 -4
- package/buttons/esm2022/button-radio.directive.mjs +188 -0
- package/buttons/{esm2020 → esm2022}/buttons.module.mjs +5 -5
- package/buttons/{fesm2020 → fesm2022}/ngx-bootstrap-buttons.mjs +26 -26
- package/buttons/fesm2022/ngx-bootstrap-buttons.mjs.map +1 -0
- package/buttons/package.json +7 -13
- package/carousel/carousel.component.d.ts +1 -1
- package/carousel/esm2022/carousel.component.mjs +713 -0
- package/carousel/{esm2020 → esm2022}/carousel.config.mjs +4 -4
- package/carousel/{esm2020 → esm2022}/carousel.module.mjs +5 -5
- package/carousel/{esm2020 → esm2022}/slide.component.mjs +6 -6
- package/carousel/{fesm2020 → fesm2022}/ngx-bootstrap-carousel.mjs +65 -56
- package/carousel/fesm2022/ngx-bootstrap-carousel.mjs.map +1 -0
- package/carousel/package.json +8 -14
- package/carousel/slide.component.d.ts +1 -1
- package/chronos/duration/create.d.ts +1 -1
- package/chronos/{fesm2020 → fesm2022}/ngx-bootstrap-chronos.mjs +4 -0
- package/chronos/fesm2022/ngx-bootstrap-chronos.mjs.map +1 -0
- package/chronos/locale/locale.class.d.ts +3 -3
- package/chronos/moment/calendar.d.ts +1 -1
- package/chronos/package.json +5 -11
- package/chronos/parse/regex.d.ts +1 -1
- package/chronos/testing/chain.d.ts +3 -3
- package/chronos/types.d.ts +4 -4
- package/chronos/units/aliases.d.ts +1 -1
- package/collapse/collapse.directive.d.ts +1 -1
- package/collapse/esm2022/collapse.directive.mjs +168 -0
- package/collapse/{esm2020 → esm2022}/collapse.module.mjs +5 -5
- package/collapse/{fesm2020 → fesm2022}/ngx-bootstrap-collapse.mjs +26 -26
- package/collapse/fesm2022/ngx-bootstrap-collapse.mjs.map +1 -0
- package/collapse/package.json +8 -14
- package/component-loader/{esm2020 → esm2022}/component-loader.factory.mjs +4 -4
- package/component-loader/{fesm2020 → fesm2022}/ngx-bootstrap-component-loader.mjs +5 -3
- package/component-loader/fesm2022/ngx-bootstrap-component-loader.mjs.map +1 -0
- package/component-loader/listen-options.model.d.ts +1 -1
- package/component-loader/package.json +7 -13
- package/datepicker/bs-datepicker-inline.component.d.ts +1 -1
- package/datepicker/bs-datepicker.component.d.ts +1 -1
- package/datepicker/bs-daterangepicker-inline.component.d.ts +1 -1
- package/datepicker/bs-daterangepicker.component.d.ts +1 -1
- package/datepicker/{esm2020 → esm2022}/bs-datepicker-inline.component.mjs +4 -4
- package/datepicker/{esm2020 → esm2022}/bs-datepicker-inline.config.mjs +4 -4
- package/datepicker/{esm2020 → esm2022}/bs-datepicker-input.directive.mjs +4 -4
- package/datepicker/esm2022/bs-datepicker.component.mjs +303 -0
- package/datepicker/{esm2020 → esm2022}/bs-datepicker.config.mjs +4 -4
- package/datepicker/{esm2020 → esm2022}/bs-datepicker.module.mjs +32 -32
- package/datepicker/esm2022/bs-daterangepicker-inline.component.mjs +163 -0
- package/datepicker/{esm2020 → esm2022}/bs-daterangepicker-inline.config.mjs +4 -4
- package/datepicker/{esm2020 → esm2022}/bs-daterangepicker-input.directive.mjs +4 -4
- package/datepicker/esm2022/bs-daterangepicker.component.mjs +296 -0
- package/datepicker/{esm2020 → esm2022}/bs-daterangepicker.config.mjs +4 -4
- package/datepicker/{esm2020 → esm2022}/bs-locale.service.mjs +4 -4
- package/datepicker/esm2022/reducer/bs-datepicker.actions.mjs +143 -0
- package/datepicker/{esm2020 → esm2022}/reducer/bs-datepicker.effects.mjs +4 -4
- package/datepicker/{esm2020 → esm2022}/reducer/bs-datepicker.store.mjs +4 -4
- package/datepicker/{esm2020 → esm2022}/themes/bs/bs-calendar-layout.component.mjs +6 -6
- package/datepicker/{esm2020 → esm2022}/themes/bs/bs-current-date-view.component.mjs +4 -4
- package/datepicker/{esm2020 → esm2022}/themes/bs/bs-custom-dates-view.component.mjs +6 -6
- package/datepicker/esm2022/themes/bs/bs-datepicker-container.component.mjs +192 -0
- package/datepicker/{esm2020 → esm2022}/themes/bs/bs-datepicker-day-decorator.directive.mjs +4 -4
- package/datepicker/{esm2020 → esm2022}/themes/bs/bs-datepicker-inline-container.component.mjs +9 -9
- package/datepicker/{esm2020 → esm2022}/themes/bs/bs-datepicker-navigation-view.component.mjs +6 -6
- package/datepicker/esm2022/themes/bs/bs-daterangepicker-container.component.mjs +261 -0
- package/datepicker/{esm2020 → esm2022}/themes/bs/bs-daterangepicker-inline-container.component.mjs +9 -9
- package/datepicker/{esm2020 → esm2022}/themes/bs/bs-days-calendar-view.component.mjs +6 -6
- package/datepicker/{esm2020 → esm2022}/themes/bs/bs-months-calendar-view.component.mjs +6 -6
- package/datepicker/{esm2020 → esm2022}/themes/bs/bs-timepicker-view.component.mjs +6 -6
- package/datepicker/{esm2020 → esm2022}/themes/bs/bs-years-calendar-view.component.mjs +6 -6
- package/datepicker/{fesm2020 → fesm2022}/ngx-bootstrap-datepicker.mjs +226 -226
- package/datepicker/fesm2022/ngx-bootstrap-datepicker.mjs.map +1 -0
- package/datepicker/models/index.d.ts +1 -1
- package/datepicker/package.json +13 -19
- package/datepicker/themes/bs/bs-current-date-view.component.d.ts +1 -1
- package/datepicker/themes/bs/bs-custom-dates-view.component.d.ts +1 -1
- package/datepicker/themes/bs/bs-datepicker-day-decorator.directive.d.ts +1 -1
- package/datepicker/themes/bs/bs-datepicker-navigation-view.component.d.ts +1 -1
- package/datepicker/themes/bs/bs-days-calendar-view.component.d.ts +1 -1
- package/datepicker/themes/bs/bs-months-calendar-view.component.d.ts +1 -1
- package/datepicker/themes/bs/bs-years-calendar-view.component.d.ts +1 -1
- package/datepicker/utils/matrix-utils.d.ts +1 -1
- package/dropdown/bs-dropdown.directive.d.ts +1 -1
- package/dropdown/esm2022/bs-dropdown-container.component.mjs +79 -0
- package/dropdown/{esm2020 → esm2022}/bs-dropdown-menu.directive.mjs +4 -4
- package/dropdown/{esm2020 → esm2022}/bs-dropdown-toggle.directive.mjs +4 -4
- package/dropdown/{esm2020 → esm2022}/bs-dropdown.config.mjs +4 -4
- package/dropdown/esm2022/bs-dropdown.directive.mjs +340 -0
- package/dropdown/{esm2020 → esm2022}/bs-dropdown.module.mjs +10 -10
- package/dropdown/{esm2020 → esm2022}/bs-dropdown.state.mjs +4 -4
- package/dropdown/{fesm2020 → fesm2022}/ngx-bootstrap-dropdown.mjs +62 -62
- package/dropdown/fesm2022/ngx-bootstrap-dropdown.mjs.map +1 -0
- package/dropdown/package.json +10 -16
- package/fesm2022/ngx-bootstrap.mjs.map +1 -0
- package/focus-trap/boolean-property.d.ts +1 -1
- package/focus-trap/{esm2020 → esm2022}/focus-trap-manager.mjs +4 -4
- package/focus-trap/esm2022/focus-trap.mjs +399 -0
- package/focus-trap/{esm2020 → esm2022}/focus-trap.module.mjs +5 -5
- package/focus-trap/{esm2020 → esm2022}/interactivity-checker.mjs +4 -4
- package/focus-trap/{esm2020 → esm2022}/platform.mjs +4 -4
- package/focus-trap/{fesm2020 → fesm2022}/ngx-bootstrap-focus-trap.mjs +43 -39
- package/focus-trap/fesm2022/ngx-bootstrap-focus-trap.mjs.map +1 -0
- package/focus-trap/focus-trap.d.ts +1 -1
- package/focus-trap/package.json +8 -14
- package/locale/fesm2022/ngx-bootstrap-locale.mjs.map +1 -0
- package/locale/package.json +6 -12
- package/mini-ngrx/fesm2022/ngx-bootstrap-mini-ngrx.mjs.map +1 -0
- package/mini-ngrx/package.json +6 -12
- package/mini-ngrx/public_api.d.ts +1 -1
- package/modal/{esm2020 → esm2022}/bs-modal-ref.service.mjs +4 -4
- package/modal/{esm2020 → esm2022}/bs-modal.service.mjs +4 -4
- package/modal/esm2022/modal-backdrop.component.mjs +50 -0
- package/modal/{esm2020 → esm2022}/modal-container.component.mjs +6 -6
- package/modal/{esm2020 → esm2022}/modal-options.class.mjs +4 -4
- package/modal/esm2022/modal.directive.mjs +364 -0
- package/modal/{esm2020 → esm2022}/modal.module.mjs +7 -7
- package/modal/{fesm2020 → fesm2022}/ngx-bootstrap-modal.mjs +44 -42
- package/modal/fesm2022/ngx-bootstrap-modal.mjs.map +1 -0
- package/modal/modal.directive.d.ts +1 -1
- package/modal/models/index.d.ts +1 -1
- package/modal/package.json +8 -14
- package/package.json +81 -87
- package/pagination/{esm2020 → esm2022}/pager.component.mjs +4 -4
- package/pagination/{esm2020 → esm2022}/pagination.component.mjs +4 -4
- package/pagination/{esm2020 → esm2022}/pagination.config.mjs +4 -4
- package/pagination/{esm2020 → esm2022}/pagination.module.mjs +5 -5
- package/pagination/{fesm2020 → fesm2022}/ngx-bootstrap-pagination.mjs +13 -13
- package/pagination/fesm2022/ngx-bootstrap-pagination.mjs.map +1 -0
- package/pagination/package.json +8 -14
- package/pagination/pager.component.d.ts +1 -1
- package/pagination/pagination.component.d.ts +1 -1
- package/popover/esm2022/popover-container.component.mjs +46 -0
- package/popover/{esm2020 → esm2022}/popover.config.mjs +4 -4
- package/popover/esm2022/popover.directive.mjs +241 -0
- package/popover/{esm2020 → esm2022}/popover.module.mjs +5 -5
- package/popover/{fesm2020 → fesm2022}/ngx-bootstrap-popover.mjs +31 -31
- package/popover/fesm2022/ngx-bootstrap-popover.mjs.map +1 -0
- package/popover/package.json +9 -15
- package/popover/popover-container.component.d.ts +1 -1
- package/popover/popover.directive.d.ts +1 -1
- package/positioning/{esm2020 → esm2022}/positioning.service.mjs +4 -4
- package/positioning/{fesm2020 → fesm2022}/ngx-bootstrap-positioning.mjs +3 -3
- package/positioning/fesm2022/ngx-bootstrap-positioning.mjs.map +1 -0
- package/positioning/models/index.d.ts +1 -1
- package/positioning/package.json +10 -16
- package/progressbar/bar.component.d.ts +1 -1
- package/progressbar/{esm2020 → esm2022}/bar.component.mjs +4 -4
- package/progressbar/esm2022/progressbar.component.mjs +53 -0
- package/progressbar/{esm2020 → esm2022}/progressbar.config.mjs +4 -4
- package/progressbar/{esm2020 → esm2022}/progressbar.module.mjs +5 -5
- package/progressbar/{fesm2020 → fesm2022}/ngx-bootstrap-progressbar.mjs +24 -24
- package/progressbar/fesm2022/ngx-bootstrap-progressbar.mjs.map +1 -0
- package/progressbar/package.json +7 -13
- package/progressbar/progressbar-type.interface.d.ts +1 -1
- package/progressbar/progressbar.component.d.ts +1 -1
- package/rating/{esm2020 → esm2022}/rating.component.mjs +4 -4
- package/rating/{esm2020 → esm2022}/rating.config.mjs +4 -4
- package/rating/{esm2020 → esm2022}/rating.module.mjs +5 -5
- package/rating/{fesm2015 → fesm2022}/ngx-bootstrap-rating.mjs +10 -10
- package/rating/fesm2022/ngx-bootstrap-rating.mjs.map +1 -0
- package/rating/package.json +8 -14
- package/rating/rating.component.d.ts +1 -1
- package/schematics/collection.json +1 -1
- package/schematics/package.json +7 -7
- package/schematics/utils/current_dependency_versions.json +1 -1
- package/schematics/utils/index.d.ts +0 -2
- package/schematics/utils/index.js +1 -13
- package/schematics/utils/index.js.map +1 -1
- package/sortable/{esm2020 → esm2022}/draggable-item.service.mjs +4 -4
- package/sortable/esm2022/sortable.component.mjs +266 -0
- package/sortable/{esm2020 → esm2022}/sortable.module.mjs +5 -5
- package/sortable/{fesm2020 → fesm2022}/ngx-bootstrap-sortable.mjs +28 -28
- package/sortable/fesm2022/ngx-bootstrap-sortable.mjs.map +1 -0
- package/sortable/package.json +10 -16
- package/sortable/sortable.component.d.ts +1 -1
- package/tabs/esm2022/ng-transclude.directive.mjs +28 -0
- package/tabs/{esm2020 → esm2022}/tab-heading.directive.mjs +4 -4
- package/tabs/esm2022/tab.directive.mjs +115 -0
- package/tabs/{esm2020 → esm2022}/tabs.module.mjs +11 -11
- package/tabs/esm2022/tabset.component.mjs +216 -0
- package/tabs/{esm2020 → esm2022}/tabset.config.mjs +4 -4
- package/tabs/{fesm2015 → fesm2022}/ngx-bootstrap-tabs.mjs +63 -63
- package/tabs/fesm2022/ngx-bootstrap-tabs.mjs.map +1 -0
- package/tabs/ng-transclude.directive.d.ts +1 -1
- package/tabs/package.json +7 -13
- package/tabs/tab.directive.d.ts +1 -1
- package/tabs/tabset.component.d.ts +1 -1
- package/timepicker/esm2022/reducer/timepicker.actions.mjs +53 -0
- package/timepicker/{esm2020 → esm2022}/reducer/timepicker.store.mjs +4 -4
- package/timepicker/{esm2020 → esm2022}/timepicker.component.mjs +4 -4
- package/timepicker/{esm2020 → esm2022}/timepicker.config.mjs +4 -4
- package/timepicker/{esm2020 → esm2022}/timepicker.module.mjs +5 -5
- package/timepicker/{fesm2020 → fesm2022}/ngx-bootstrap-timepicker.mjs +22 -22
- package/timepicker/fesm2022/ngx-bootstrap-timepicker.mjs.map +1 -0
- package/timepicker/package.json +10 -16
- package/timepicker/reducer/timepicker.reducer.d.ts +1 -3
- package/timepicker/timepicker.component.d.ts +1 -1
- package/timepicker/timepicker.models.d.ts +1 -1
- package/tooltip/{esm2020 → esm2022}/tooltip-container.component.mjs +9 -9
- package/tooltip/{esm2020 → esm2022}/tooltip.config.mjs +4 -4
- package/tooltip/esm2022/tooltip.directive.mjs +342 -0
- package/tooltip/{esm2020 → esm2022}/tooltip.module.mjs +5 -5
- package/tooltip/{fesm2020 → fesm2022}/ngx-bootstrap-tooltip.mjs +61 -61
- package/tooltip/fesm2022/ngx-bootstrap-tooltip.mjs.map +1 -0
- package/tooltip/package.json +10 -16
- package/tooltip/tooltip.directive.d.ts +1 -1
- package/typeahead/esm2022/typeahead-container.component.mjs +311 -0
- package/typeahead/{esm2020 → esm2022}/typeahead.config.mjs +4 -4
- package/typeahead/{esm2020 → esm2022}/typeahead.directive.mjs +4 -4
- package/typeahead/{esm2020 → esm2022}/typeahead.module.mjs +5 -5
- package/typeahead/{fesm2020 → fesm2022}/ngx-bootstrap-typeahead.mjs +20 -20
- package/typeahead/fesm2022/ngx-bootstrap-typeahead.mjs.map +1 -0
- package/typeahead/package.json +12 -18
- package/typeahead/typeahead.directive.d.ts +3 -3
- package/utils/fesm2022/ngx-bootstrap-utils.mjs.map +1 -0
- package/utils/package.json +6 -12
- package/utils/theme-provider.d.ts +1 -1
- package/utils/triggers.d.ts +1 -1
- package/accordion/esm2020/accordion-group.component.mjs +0 -84
- package/accordion/fesm2015/ngx-bootstrap-accordion.mjs +0 -182
- package/accordion/fesm2015/ngx-bootstrap-accordion.mjs.map +0 -1
- package/accordion/fesm2020/ngx-bootstrap-accordion.mjs.map +0 -1
- package/alert/esm2020/alert.component.mjs +0 -77
- package/alert/fesm2015/ngx-bootstrap-alert.mjs.map +0 -1
- package/alert/fesm2020/ngx-bootstrap-alert.mjs +0 -119
- package/alert/fesm2020/ngx-bootstrap-alert.mjs.map +0 -1
- package/buttons/esm2020/button-radio.directive.mjs +0 -188
- package/buttons/fesm2015/ngx-bootstrap-buttons.mjs +0 -448
- package/buttons/fesm2015/ngx-bootstrap-buttons.mjs.map +0 -1
- package/buttons/fesm2020/ngx-bootstrap-buttons.mjs.map +0 -1
- package/carousel/esm2020/carousel.component.mjs +0 -713
- package/carousel/fesm2015/ngx-bootstrap-carousel.mjs +0 -851
- package/carousel/fesm2015/ngx-bootstrap-carousel.mjs.map +0 -1
- package/carousel/fesm2020/ngx-bootstrap-carousel.mjs.map +0 -1
- package/chronos/fesm2015/ngx-bootstrap-chronos.mjs +0 -7384
- package/chronos/fesm2015/ngx-bootstrap-chronos.mjs.map +0 -1
- package/chronos/fesm2020/ngx-bootstrap-chronos.mjs.map +0 -1
- package/collapse/esm2020/collapse.directive.mjs +0 -168
- package/collapse/fesm2015/ngx-bootstrap-collapse.mjs +0 -200
- package/collapse/fesm2015/ngx-bootstrap-collapse.mjs.map +0 -1
- package/collapse/fesm2020/ngx-bootstrap-collapse.mjs.map +0 -1
- package/component-loader/fesm2015/ngx-bootstrap-component-loader.mjs +0 -345
- package/component-loader/fesm2015/ngx-bootstrap-component-loader.mjs.map +0 -1
- package/component-loader/fesm2020/ngx-bootstrap-component-loader.mjs.map +0 -1
- package/datepicker/esm2020/bs-datepicker.component.mjs +0 -303
- package/datepicker/esm2020/bs-daterangepicker-inline.component.mjs +0 -163
- package/datepicker/esm2020/bs-daterangepicker.component.mjs +0 -296
- package/datepicker/esm2020/reducer/bs-datepicker.actions.mjs +0 -143
- package/datepicker/esm2020/themes/bs/bs-datepicker-container.component.mjs +0 -192
- package/datepicker/esm2020/themes/bs/bs-daterangepicker-container.component.mjs +0 -261
- package/datepicker/fesm2015/ngx-bootstrap-datepicker.mjs +0 -3971
- package/datepicker/fesm2015/ngx-bootstrap-datepicker.mjs.map +0 -1
- package/datepicker/fesm2020/ngx-bootstrap-datepicker.mjs.map +0 -1
- package/dropdown/esm2020/bs-dropdown-container.component.mjs +0 -79
- package/dropdown/esm2020/bs-dropdown.directive.mjs +0 -340
- package/dropdown/fesm2015/ngx-bootstrap-dropdown.mjs +0 -603
- package/dropdown/fesm2015/ngx-bootstrap-dropdown.mjs.map +0 -1
- package/dropdown/fesm2020/ngx-bootstrap-dropdown.mjs.map +0 -1
- package/fesm2015/ngx-bootstrap.mjs.map +0 -1
- package/fesm2020/ngx-bootstrap.mjs +0 -6
- package/fesm2020/ngx-bootstrap.mjs.map +0 -1
- package/focus-trap/esm2020/focus-trap.mjs +0 -399
- package/focus-trap/fesm2015/ngx-bootstrap-focus-trap.mjs +0 -800
- package/focus-trap/fesm2015/ngx-bootstrap-focus-trap.mjs.map +0 -1
- package/focus-trap/fesm2020/ngx-bootstrap-focus-trap.mjs.map +0 -1
- package/locale/fesm2015/ngx-bootstrap-locale.mjs.map +0 -1
- package/locale/fesm2020/ngx-bootstrap-locale.mjs +0 -6
- package/locale/fesm2020/ngx-bootstrap-locale.mjs.map +0 -1
- package/mini-ngrx/fesm2015/ngx-bootstrap-mini-ngrx.mjs +0 -64
- package/mini-ngrx/fesm2015/ngx-bootstrap-mini-ngrx.mjs.map +0 -1
- package/mini-ngrx/fesm2020/ngx-bootstrap-mini-ngrx.mjs.map +0 -1
- package/modal/esm2020/modal-backdrop.component.mjs +0 -50
- package/modal/esm2020/modal.directive.mjs +0 -364
- package/modal/fesm2015/ngx-bootstrap-modal.mjs +0 -888
- package/modal/fesm2015/ngx-bootstrap-modal.mjs.map +0 -1
- package/modal/fesm2020/ngx-bootstrap-modal.mjs.map +0 -1
- package/pagination/fesm2015/ngx-bootstrap-pagination.mjs +0 -565
- package/pagination/fesm2015/ngx-bootstrap-pagination.mjs.map +0 -1
- package/pagination/fesm2020/ngx-bootstrap-pagination.mjs.map +0 -1
- package/popover/esm2020/popover-container.component.mjs +0 -46
- package/popover/esm2020/popover.directive.mjs +0 -241
- package/popover/fesm2015/ngx-bootstrap-popover.mjs +0 -339
- package/popover/fesm2015/ngx-bootstrap-popover.mjs.map +0 -1
- package/popover/fesm2020/ngx-bootstrap-popover.mjs.map +0 -1
- package/positioning/fesm2015/ngx-bootstrap-positioning.mjs +0 -1018
- package/positioning/fesm2015/ngx-bootstrap-positioning.mjs.map +0 -1
- package/positioning/fesm2020/ngx-bootstrap-positioning.mjs.map +0 -1
- package/progressbar/esm2020/progressbar.component.mjs +0 -53
- package/progressbar/fesm2015/ngx-bootstrap-progressbar.mjs +0 -163
- package/progressbar/fesm2015/ngx-bootstrap-progressbar.mjs.map +0 -1
- package/progressbar/fesm2020/ngx-bootstrap-progressbar.mjs.map +0 -1
- package/rating/fesm2015/ngx-bootstrap-rating.mjs.map +0 -1
- package/rating/fesm2020/ngx-bootstrap-rating.mjs +0 -163
- package/rating/fesm2020/ngx-bootstrap-rating.mjs.map +0 -1
- package/sortable/esm2020/sortable.component.mjs +0 -266
- package/sortable/fesm2015/ngx-bootstrap-sortable.mjs +0 -324
- package/sortable/fesm2015/ngx-bootstrap-sortable.mjs.map +0 -1
- package/sortable/fesm2020/ngx-bootstrap-sortable.mjs.map +0 -1
- package/tabs/esm2020/ng-transclude.directive.mjs +0 -28
- package/tabs/esm2020/tab.directive.mjs +0 -115
- package/tabs/esm2020/tabset.component.mjs +0 -216
- package/tabs/fesm2015/ngx-bootstrap-tabs.mjs.map +0 -1
- package/tabs/fesm2020/ngx-bootstrap-tabs.mjs +0 -427
- package/tabs/fesm2020/ngx-bootstrap-tabs.mjs.map +0 -1
- package/timepicker/esm2020/reducer/timepicker.actions.mjs +0 -53
- package/timepicker/fesm2015/ngx-bootstrap-timepicker.mjs +0 -830
- package/timepicker/fesm2015/ngx-bootstrap-timepicker.mjs.map +0 -1
- package/timepicker/fesm2020/ngx-bootstrap-timepicker.mjs.map +0 -1
- package/tooltip/esm2020/tooltip.directive.mjs +0 -342
- package/tooltip/fesm2015/ngx-bootstrap-tooltip.mjs +0 -431
- package/tooltip/fesm2015/ngx-bootstrap-tooltip.mjs.map +0 -1
- package/tooltip/fesm2020/ngx-bootstrap-tooltip.mjs.map +0 -1
- package/typeahead/esm2020/typeahead-container.component.mjs +0 -311
- package/typeahead/fesm2015/ngx-bootstrap-typeahead.mjs +0 -1890
- package/typeahead/fesm2015/ngx-bootstrap-typeahead.mjs.map +0 -1
- package/typeahead/fesm2020/ngx-bootstrap-typeahead.mjs.map +0 -1
- package/utils/fesm2015/ngx-bootstrap-utils.mjs +0 -523
- package/utils/fesm2015/ngx-bootstrap-utils.mjs.map +0 -1
- package/utils/fesm2020/ngx-bootstrap-utils.mjs.map +0 -1
- /package/accordion/{esm2020 → esm2022}/index.mjs +0 -0
- /package/accordion/{esm2020 → esm2022}/ngx-bootstrap-accordion.mjs +0 -0
- /package/accordion/{esm2020 → esm2022}/public_api.mjs +0 -0
- /package/alert/{esm2020 → esm2022}/index.mjs +0 -0
- /package/alert/{esm2020 → esm2022}/ngx-bootstrap-alert.mjs +0 -0
- /package/alert/{esm2020 → esm2022}/public_api.mjs +0 -0
- /package/buttons/{esm2020 → esm2022}/index.mjs +0 -0
- /package/buttons/{esm2020 → esm2022}/ngx-bootstrap-buttons.mjs +0 -0
- /package/buttons/{esm2020 → esm2022}/public_api.mjs +0 -0
- /package/carousel/{esm2020 → esm2022}/index.mjs +0 -0
- /package/carousel/{esm2020 → esm2022}/models/index.mjs +0 -0
- /package/carousel/{esm2020 → esm2022}/ngx-bootstrap-carousel.mjs +0 -0
- /package/carousel/{esm2020 → esm2022}/public_api.mjs +0 -0
- /package/carousel/{esm2020 → esm2022}/utils.mjs +0 -0
- /package/chronos/{esm2020 → esm2022}/create/check-overflow.mjs +0 -0
- /package/chronos/{esm2020 → esm2022}/create/clone.mjs +0 -0
- /package/chronos/{esm2020 → esm2022}/create/date-from-array.mjs +0 -0
- /package/chronos/{esm2020 → esm2022}/create/from-anything.mjs +0 -0
- /package/chronos/{esm2020 → esm2022}/create/from-array.mjs +0 -0
- /package/chronos/{esm2020 → esm2022}/create/from-object.mjs +0 -0
- /package/chronos/{esm2020 → esm2022}/create/from-string-and-array.mjs +0 -0
- /package/chronos/{esm2020 → esm2022}/create/from-string-and-format.mjs +0 -0
- /package/chronos/{esm2020 → esm2022}/create/from-string.mjs +0 -0
- /package/chronos/{esm2020 → esm2022}/create/local.mjs +0 -0
- /package/chronos/{esm2020 → esm2022}/create/parsing-flags.mjs +0 -0
- /package/chronos/{esm2020 → esm2022}/create/parsing.types.mjs +0 -0
- /package/chronos/{esm2020 → esm2022}/create/valid.mjs +0 -0
- /package/chronos/{esm2020 → esm2022}/duration/bubble.mjs +0 -0
- /package/chronos/{esm2020 → esm2022}/duration/constructor.mjs +0 -0
- /package/chronos/{esm2020 → esm2022}/duration/create.mjs +0 -0
- /package/chronos/{esm2020 → esm2022}/duration/humanize.mjs +0 -0
- /package/chronos/{esm2020 → esm2022}/duration/valid.mjs +0 -0
- /package/chronos/{esm2020 → esm2022}/format/format.mjs +0 -0
- /package/chronos/{esm2020 → esm2022}/format.mjs +0 -0
- /package/chronos/{esm2020 → esm2022}/i18n/ar.mjs +0 -0
- /package/chronos/{esm2020 → esm2022}/i18n/bg.mjs +0 -0
- /package/chronos/{esm2020 → esm2022}/i18n/ca.mjs +0 -0
- /package/chronos/{esm2020 → esm2022}/i18n/cs.mjs +0 -0
- /package/chronos/{esm2020 → esm2022}/i18n/da.mjs +0 -0
- /package/chronos/{esm2020 → esm2022}/i18n/de.mjs +0 -0
- /package/chronos/{esm2020 → esm2022}/i18n/en-gb.mjs +0 -0
- /package/chronos/{esm2020 → esm2022}/i18n/es-do.mjs +0 -0
- /package/chronos/{esm2020 → esm2022}/i18n/es-pr.mjs +0 -0
- /package/chronos/{esm2020 → esm2022}/i18n/es-us.mjs +0 -0
- /package/chronos/{esm2020 → esm2022}/i18n/es.mjs +0 -0
- /package/chronos/{esm2020 → esm2022}/i18n/et.mjs +0 -0
- /package/chronos/{esm2020 → esm2022}/i18n/fi.mjs +0 -0
- /package/chronos/{esm2020 → esm2022}/i18n/fr.mjs +0 -0
- /package/chronos/{esm2020 → esm2022}/i18n/gl.mjs +0 -0
- /package/chronos/{esm2020 → esm2022}/i18n/he.mjs +0 -0
- /package/chronos/{esm2020 → esm2022}/i18n/hi.mjs +0 -0
- /package/chronos/{esm2020 → esm2022}/i18n/hr.mjs +0 -0
- /package/chronos/{esm2020 → esm2022}/i18n/hu.mjs +0 -0
- /package/chronos/{esm2020 → esm2022}/i18n/id.mjs +0 -0
- /package/chronos/{esm2020 → esm2022}/i18n/it.mjs +0 -0
- /package/chronos/{esm2020 → esm2022}/i18n/ja.mjs +0 -0
- /package/chronos/{esm2020 → esm2022}/i18n/ka.mjs +0 -0
- /package/chronos/{esm2020 → esm2022}/i18n/kk.mjs +0 -0
- /package/chronos/{esm2020 → esm2022}/i18n/ko.mjs +0 -0
- /package/chronos/{esm2020 → esm2022}/i18n/lt.mjs +0 -0
- /package/chronos/{esm2020 → esm2022}/i18n/lv.mjs +0 -0
- /package/chronos/{esm2020 → esm2022}/i18n/mn.mjs +0 -0
- /package/chronos/{esm2020 → esm2022}/i18n/nb.mjs +0 -0
- /package/chronos/{esm2020 → esm2022}/i18n/nl-be.mjs +0 -0
- /package/chronos/{esm2020 → esm2022}/i18n/nl.mjs +0 -0
- /package/chronos/{esm2020 → esm2022}/i18n/pl.mjs +0 -0
- /package/chronos/{esm2020 → esm2022}/i18n/pt-br.mjs +0 -0
- /package/chronos/{esm2020 → esm2022}/i18n/ro.mjs +0 -0
- /package/chronos/{esm2020 → esm2022}/i18n/ru.mjs +0 -0
- /package/chronos/{esm2020 → esm2022}/i18n/sk.mjs +0 -0
- /package/chronos/{esm2020 → esm2022}/i18n/sl.mjs +0 -0
- /package/chronos/{esm2020 → esm2022}/i18n/sq.mjs +0 -0
- /package/chronos/{esm2020 → esm2022}/i18n/sv.mjs +0 -0
- /package/chronos/{esm2020 → esm2022}/i18n/th-be.mjs +0 -0
- /package/chronos/{esm2020 → esm2022}/i18n/th.mjs +0 -0
- /package/chronos/{esm2020 → esm2022}/i18n/tr.mjs +0 -0
- /package/chronos/{esm2020 → esm2022}/i18n/uk.mjs +0 -0
- /package/chronos/{esm2020 → esm2022}/i18n/vi.mjs +0 -0
- /package/chronos/{esm2020 → esm2022}/i18n/zh-cn.mjs +0 -0
- /package/chronos/{esm2020 → esm2022}/index.mjs +0 -0
- /package/chronos/{esm2020 → esm2022}/locale/calendar.mjs +0 -0
- /package/chronos/{esm2020 → esm2022}/locale/locale.class.mjs +0 -0
- /package/chronos/{esm2020 → esm2022}/locale/locale.defaults.mjs +0 -0
- /package/chronos/{esm2020 → esm2022}/locale/locales.mjs +0 -0
- /package/chronos/{esm2020 → esm2022}/moment/add-subtract.mjs +0 -0
- /package/chronos/{esm2020 → esm2022}/moment/calendar.mjs +0 -0
- /package/chronos/{esm2020 → esm2022}/moment/diff.mjs +0 -0
- /package/chronos/{esm2020 → esm2022}/moment/min-max.mjs +0 -0
- /package/chronos/{esm2020 → esm2022}/ngx-bootstrap-chronos.mjs +0 -0
- /package/chronos/{esm2020 → esm2022}/parse/regex.mjs +0 -0
- /package/chronos/{esm2020 → esm2022}/parse/token.mjs +0 -0
- /package/chronos/{esm2020 → esm2022}/public_api.mjs +0 -0
- /package/chronos/{esm2020 → esm2022}/testing/chain.mjs +0 -0
- /package/chronos/{esm2020 → esm2022}/types.mjs +0 -0
- /package/chronos/{esm2020 → esm2022}/units/aliases.mjs +0 -0
- /package/chronos/{esm2020 → esm2022}/units/constants.mjs +0 -0
- /package/chronos/{esm2020 → esm2022}/units/day-of-month.mjs +0 -0
- /package/chronos/{esm2020 → esm2022}/units/day-of-week.mjs +0 -0
- /package/chronos/{esm2020 → esm2022}/units/day-of-year.mjs +0 -0
- /package/chronos/{esm2020 → esm2022}/units/hour.mjs +0 -0
- /package/chronos/{esm2020 → esm2022}/units/index.mjs +0 -0
- /package/chronos/{esm2020 → esm2022}/units/millisecond.mjs +0 -0
- /package/chronos/{esm2020 → esm2022}/units/minute.mjs +0 -0
- /package/chronos/{esm2020 → esm2022}/units/month.mjs +0 -0
- /package/chronos/{esm2020 → esm2022}/units/offset.mjs +0 -0
- /package/chronos/{esm2020 → esm2022}/units/priorities.mjs +0 -0
- /package/chronos/{esm2020 → esm2022}/units/quarter.mjs +0 -0
- /package/chronos/{esm2020 → esm2022}/units/second.mjs +0 -0
- /package/chronos/{esm2020 → esm2022}/units/timestamp.mjs +0 -0
- /package/chronos/{esm2020 → esm2022}/units/timezone.mjs +0 -0
- /package/chronos/{esm2020 → esm2022}/units/week-calendar-utils.mjs +0 -0
- /package/chronos/{esm2020 → esm2022}/units/week-year.mjs +0 -0
- /package/chronos/{esm2020 → esm2022}/units/week.mjs +0 -0
- /package/chronos/{esm2020 → esm2022}/units/year.mjs +0 -0
- /package/chronos/{esm2020 → esm2022}/utils/abs-ceil.mjs +0 -0
- /package/chronos/{esm2020 → esm2022}/utils/abs-round.mjs +0 -0
- /package/chronos/{esm2020 → esm2022}/utils/compare-arrays.mjs +0 -0
- /package/chronos/{esm2020 → esm2022}/utils/date-compare.mjs +0 -0
- /package/chronos/{esm2020 → esm2022}/utils/date-getters.mjs +0 -0
- /package/chronos/{esm2020 → esm2022}/utils/date-setters.mjs +0 -0
- /package/chronos/{esm2020 → esm2022}/utils/defaults.mjs +0 -0
- /package/chronos/{esm2020 → esm2022}/utils/start-end-of.mjs +0 -0
- /package/chronos/{esm2020 → esm2022}/utils/type-checks.mjs +0 -0
- /package/chronos/{esm2020 → esm2022}/utils/zero-fill.mjs +0 -0
- /package/chronos/{esm2020 → esm2022}/utils.mjs +0 -0
- /package/collapse/{esm2020 → esm2022}/collapse-animations.mjs +0 -0
- /package/collapse/{esm2020 → esm2022}/index.mjs +0 -0
- /package/collapse/{esm2020 → esm2022}/ngx-bootstrap-collapse.mjs +0 -0
- /package/collapse/{esm2020 → esm2022}/public_api.mjs +0 -0
- /package/component-loader/{esm2020 → esm2022}/bs-component-ref.class.mjs +0 -0
- /package/component-loader/{esm2020 → esm2022}/component-loader.class.mjs +0 -0
- /package/component-loader/{esm2020 → esm2022}/content-ref.class.mjs +0 -0
- /package/component-loader/{esm2020 → esm2022}/index.mjs +0 -0
- /package/component-loader/{esm2020 → esm2022}/listen-options.model.mjs +0 -0
- /package/component-loader/{esm2020 → esm2022}/ngx-bootstrap-component-loader.mjs +0 -0
- /package/component-loader/{esm2020 → esm2022}/public_api.mjs +0 -0
- /package/datepicker/{esm2020 → esm2022}/base/bs-datepicker-container.mjs +0 -0
- /package/datepicker/{esm2020 → esm2022}/datepicker-animations.mjs +0 -0
- /package/datepicker/{esm2020 → esm2022}/engine/calc-days-calendar.mjs +0 -0
- /package/datepicker/{esm2020 → esm2022}/engine/flag-days-calendar.mjs +0 -0
- /package/datepicker/{esm2020 → esm2022}/engine/flag-months-calendar.mjs +0 -0
- /package/datepicker/{esm2020 → esm2022}/engine/flag-years-calendar.mjs +0 -0
- /package/datepicker/{esm2020 → esm2022}/engine/format-days-calendar.mjs +0 -0
- /package/datepicker/{esm2020 → esm2022}/engine/format-months-calendar.mjs +0 -0
- /package/datepicker/{esm2020 → esm2022}/engine/format-years-calendar.mjs +0 -0
- /package/datepicker/{esm2020 → esm2022}/engine/view-mode.mjs +0 -0
- /package/datepicker/{esm2020 → esm2022}/index.mjs +0 -0
- /package/datepicker/{esm2020 → esm2022}/models/index.mjs +0 -0
- /package/datepicker/{esm2020 → esm2022}/ngx-bootstrap-datepicker.mjs +0 -0
- /package/datepicker/{esm2020 → esm2022}/public_api.mjs +0 -0
- /package/datepicker/{esm2020 → esm2022}/reducer/_defaults.mjs +0 -0
- /package/datepicker/{esm2020 → esm2022}/reducer/bs-datepicker.reducer.mjs +0 -0
- /package/datepicker/{esm2020 → esm2022}/reducer/bs-datepicker.state.mjs +0 -0
- /package/datepicker/{esm2020 → esm2022}/utils/bs-calendar-utils.mjs +0 -0
- /package/datepicker/{esm2020 → esm2022}/utils/copy-time-utils.mjs +0 -0
- /package/datepicker/{esm2020 → esm2022}/utils/matrix-utils.mjs +0 -0
- /package/dropdown/{esm2020 → esm2022}/dropdown-animations.mjs +0 -0
- /package/dropdown/{esm2020 → esm2022}/index.mjs +0 -0
- /package/dropdown/{esm2020 → esm2022}/ngx-bootstrap-dropdown.mjs +0 -0
- /package/dropdown/{esm2020 → esm2022}/public_api.mjs +0 -0
- /package/{esm2020 → esm2022}/index.mjs +0 -0
- /package/{esm2020 → esm2022}/ngx-bootstrap.mjs +0 -0
- /package/{fesm2015 → fesm2022}/ngx-bootstrap.mjs +0 -0
- /package/focus-trap/{esm2020 → esm2022}/boolean-property.mjs +0 -0
- /package/focus-trap/{esm2020 → esm2022}/index.mjs +0 -0
- /package/focus-trap/{esm2020 → esm2022}/ngx-bootstrap-focus-trap.mjs +0 -0
- /package/focus-trap/{esm2020 → esm2022}/public_api.mjs +0 -0
- /package/locale/{esm2020 → esm2022}/index.mjs +0 -0
- /package/locale/{esm2020 → esm2022}/ngx-bootstrap-locale.mjs +0 -0
- /package/locale/{esm2020 → esm2022}/public_api.mjs +0 -0
- /package/locale/{fesm2015 → fesm2022}/ngx-bootstrap-locale.mjs +0 -0
- /package/mini-ngrx/{esm2020 → esm2022}/index.mjs +0 -0
- /package/mini-ngrx/{esm2020 → esm2022}/ngx-bootstrap-mini-ngrx.mjs +0 -0
- /package/mini-ngrx/{esm2020 → esm2022}/public_api.mjs +0 -0
- /package/mini-ngrx/{esm2020 → esm2022}/state.class.mjs +0 -0
- /package/mini-ngrx/{esm2020 → esm2022}/store.class.mjs +0 -0
- /package/mini-ngrx/{fesm2020 → fesm2022}/ngx-bootstrap-mini-ngrx.mjs +0 -0
- /package/modal/{esm2020 → esm2022}/index.mjs +0 -0
- /package/modal/{esm2020 → esm2022}/modal-backdrop.options.mjs +0 -0
- /package/modal/{esm2020 → esm2022}/models/index.mjs +0 -0
- /package/modal/{esm2020 → esm2022}/ngx-bootstrap-modal.mjs +0 -0
- /package/modal/{esm2020 → esm2022}/public_api.mjs +0 -0
- /package/pagination/{esm2020 → esm2022}/index.mjs +0 -0
- /package/pagination/{esm2020 → esm2022}/models/index.mjs +0 -0
- /package/pagination/{esm2020 → esm2022}/ngx-bootstrap-pagination.mjs +0 -0
- /package/pagination/{esm2020 → esm2022}/public_api.mjs +0 -0
- /package/popover/{esm2020 → esm2022}/index.mjs +0 -0
- /package/popover/{esm2020 → esm2022}/ngx-bootstrap-popover.mjs +0 -0
- /package/popover/{esm2020 → esm2022}/public_api.mjs +0 -0
- /package/positioning/{esm2020 → esm2022}/index.mjs +0 -0
- /package/positioning/{esm2020 → esm2022}/models/index.mjs +0 -0
- /package/positioning/{esm2020 → esm2022}/modifiers/arrow.mjs +0 -0
- /package/positioning/{esm2020 → esm2022}/modifiers/flip.mjs +0 -0
- /package/positioning/{esm2020 → esm2022}/modifiers/index.mjs +0 -0
- /package/positioning/{esm2020 → esm2022}/modifiers/initData.mjs +0 -0
- /package/positioning/{esm2020 → esm2022}/modifiers/preventOverflow.mjs +0 -0
- /package/positioning/{esm2020 → esm2022}/modifiers/shift.mjs +0 -0
- /package/positioning/{esm2020 → esm2022}/ng-positioning.mjs +0 -0
- /package/positioning/{esm2020 → esm2022}/ngx-bootstrap-positioning.mjs +0 -0
- /package/positioning/{esm2020 → esm2022}/public_api.mjs +0 -0
- /package/positioning/{esm2020 → esm2022}/utils/checkMargin.mjs +0 -0
- /package/positioning/{esm2020 → esm2022}/utils/computeAutoPlacement.mjs +0 -0
- /package/positioning/{esm2020 → esm2022}/utils/findCommonOffsetParent.mjs +0 -0
- /package/positioning/{esm2020 → esm2022}/utils/getBordersSize.mjs +0 -0
- /package/positioning/{esm2020 → esm2022}/utils/getBoundaries.mjs +0 -0
- /package/positioning/{esm2020 → esm2022}/utils/getBoundingClientRect.mjs +0 -0
- /package/positioning/{esm2020 → esm2022}/utils/getClientRect.mjs +0 -0
- /package/positioning/{esm2020 → esm2022}/utils/getFixedPositionOffsetParent.mjs +0 -0
- /package/positioning/{esm2020 → esm2022}/utils/getOffsetParent.mjs +0 -0
- /package/positioning/{esm2020 → esm2022}/utils/getOffsetRectRelativeToArbitraryNode.mjs +0 -0
- /package/positioning/{esm2020 → esm2022}/utils/getOffsets.mjs +0 -0
- /package/positioning/{esm2020 → esm2022}/utils/getOppositePlacement.mjs +0 -0
- /package/positioning/{esm2020 → esm2022}/utils/getOppositeVariation.mjs +0 -0
- /package/positioning/{esm2020 → esm2022}/utils/getOuterSizes.mjs +0 -0
- /package/positioning/{esm2020 → esm2022}/utils/getParentNode.mjs +0 -0
- /package/positioning/{esm2020 → esm2022}/utils/getReferenceOffsets.mjs +0 -0
- /package/positioning/{esm2020 → esm2022}/utils/getRoot.mjs +0 -0
- /package/positioning/{esm2020 → esm2022}/utils/getScroll.mjs +0 -0
- /package/positioning/{esm2020 → esm2022}/utils/getScrollParent.mjs +0 -0
- /package/positioning/{esm2020 → esm2022}/utils/getStyleComputedProperty.mjs +0 -0
- /package/positioning/{esm2020 → esm2022}/utils/getTargetOffsets.mjs +0 -0
- /package/positioning/{esm2020 → esm2022}/utils/getViewportOffsetRectRelativeToArtbitraryNode.mjs +0 -0
- /package/positioning/{esm2020 → esm2022}/utils/getWindowSizes.mjs +0 -0
- /package/positioning/{esm2020 → esm2022}/utils/includeScroll.mjs +0 -0
- /package/positioning/{esm2020 → esm2022}/utils/index.mjs +0 -0
- /package/positioning/{esm2020 → esm2022}/utils/isFixed.mjs +0 -0
- /package/positioning/{esm2020 → esm2022}/utils/isModifierEnabled.mjs +0 -0
- /package/positioning/{esm2020 → esm2022}/utils/isNumeric.mjs +0 -0
- /package/positioning/{esm2020 → esm2022}/utils/isOffsetContainer.mjs +0 -0
- /package/positioning/{esm2020 → esm2022}/utils/setStyles.mjs +0 -0
- /package/positioning/{esm2020 → esm2022}/utils/updateContainerClass.mjs +0 -0
- /package/progressbar/{esm2020 → esm2022}/index.mjs +0 -0
- /package/progressbar/{esm2020 → esm2022}/ngx-bootstrap-progressbar.mjs +0 -0
- /package/progressbar/{esm2020 → esm2022}/progressbar-type.interface.mjs +0 -0
- /package/progressbar/{esm2020 → esm2022}/public_api.mjs +0 -0
- /package/rating/{esm2020 → esm2022}/index.mjs +0 -0
- /package/rating/{esm2020 → esm2022}/models/index.mjs +0 -0
- /package/rating/{esm2020 → esm2022}/ngx-bootstrap-rating.mjs +0 -0
- /package/rating/{esm2020 → esm2022}/public_api.mjs +0 -0
- /package/sortable/{esm2020 → esm2022}/draggable-item.mjs +0 -0
- /package/sortable/{esm2020 → esm2022}/index.mjs +0 -0
- /package/sortable/{esm2020 → esm2022}/ngx-bootstrap-sortable.mjs +0 -0
- /package/sortable/{esm2020 → esm2022}/public_api.mjs +0 -0
- /package/tabs/{esm2020 → esm2022}/index.mjs +0 -0
- /package/tabs/{esm2020 → esm2022}/ngx-bootstrap-tabs.mjs +0 -0
- /package/tabs/{esm2020 → esm2022}/public_api.mjs +0 -0
- /package/timepicker/{esm2020 → esm2022}/index.mjs +0 -0
- /package/timepicker/{esm2020 → esm2022}/models/index.mjs +0 -0
- /package/timepicker/{esm2020 → esm2022}/ngx-bootstrap-timepicker.mjs +0 -0
- /package/timepicker/{esm2020 → esm2022}/public_api.mjs +0 -0
- /package/timepicker/{esm2020 → esm2022}/reducer/timepicker.reducer.mjs +0 -0
- /package/timepicker/{esm2020 → esm2022}/timepicker-controls.util.mjs +0 -0
- /package/timepicker/{esm2020 → esm2022}/timepicker.models.mjs +0 -0
- /package/timepicker/{esm2020 → esm2022}/timepicker.utils.mjs +0 -0
- /package/tooltip/{esm2020 → esm2022}/index.mjs +0 -0
- /package/tooltip/{esm2020 → esm2022}/ngx-bootstrap-tooltip.mjs +0 -0
- /package/tooltip/{esm2020 → esm2022}/public_api.mjs +0 -0
- /package/typeahead/{esm2020 → esm2022}/index.mjs +0 -0
- /package/typeahead/{esm2020 → esm2022}/latin-map.mjs +0 -0
- /package/typeahead/{esm2020 → esm2022}/models/index.mjs +0 -0
- /package/typeahead/{esm2020 → esm2022}/ngx-bootstrap-typeahead.mjs +0 -0
- /package/typeahead/{esm2020 → esm2022}/public_api.mjs +0 -0
- /package/typeahead/{esm2020 → esm2022}/typeahead-animations.mjs +0 -0
- /package/typeahead/{esm2020 → esm2022}/typeahead-match.class.mjs +0 -0
- /package/typeahead/{esm2020 → esm2022}/typeahead-options.class.mjs +0 -0
- /package/typeahead/{esm2020 → esm2022}/typeahead-order.class.mjs +0 -0
- /package/typeahead/{esm2020 → esm2022}/typeahead-utils.mjs +0 -0
- /package/utils/{esm2020 → esm2022}/decorators.mjs +0 -0
- /package/utils/{esm2020 → esm2022}/facade/browser.mjs +0 -0
- /package/utils/{esm2020 → esm2022}/index.mjs +0 -0
- /package/utils/{esm2020 → esm2022}/linked-list.class.mjs +0 -0
- /package/utils/{esm2020 → esm2022}/ngx-bootstrap-utils.mjs +0 -0
- /package/utils/{esm2020 → esm2022}/public_api.mjs +0 -0
- /package/utils/{esm2020 → esm2022}/theme-provider.mjs +0 -0
- /package/utils/{esm2020 → esm2022}/trigger.class.mjs +0 -0
- /package/utils/{esm2020 → esm2022}/triggers.mjs +0 -0
- /package/utils/{esm2020 → esm2022}/utils.class.mjs +0 -0
- /package/utils/{esm2020 → esm2022}/warn-once.mjs +0 -0
- /package/utils/{fesm2020 → fesm2022}/ngx-bootstrap-utils.mjs +0 -0
package/datepicker/{esm2020 → esm2022}/themes/bs/bs-datepicker-inline-container.component.mjs
RENAMED
@@ -19,21 +19,21 @@ import * as i9 from "./bs-days-calendar-view.component";
|
|
19
19
|
import * as i10 from "./bs-months-calendar-view.component";
|
20
20
|
import * as i11 from "./bs-years-calendar-view.component";
|
21
21
|
export class BsDatepickerInlineContainerComponent extends BsDatepickerContainerComponent {
|
22
|
-
constructor(_renderer, _config, _store, _element, _actions, _effects, _positioningService) {
|
23
|
-
super(_renderer, _config, _store, _element, _actions, _effects, _positioningService);
|
24
|
-
_renderer.setStyle(_element.nativeElement, 'display', 'inline-block');
|
25
|
-
_renderer.setStyle(_element.nativeElement, 'position', 'static');
|
26
|
-
}
|
27
22
|
get disabledValue() {
|
28
23
|
return this.isDatePickerDisabled ? '' : null;
|
29
24
|
}
|
30
25
|
get readonlyValue() {
|
31
26
|
return this.isDatePickerDisabled ? '' : null;
|
32
27
|
}
|
28
|
+
constructor(_renderer, _config, _store, _element, _actions, _effects, _positioningService) {
|
29
|
+
super(_renderer, _config, _store, _element, _actions, _effects, _positioningService);
|
30
|
+
_renderer.setStyle(_element.nativeElement, 'display', 'inline-block');
|
31
|
+
_renderer.setStyle(_element.nativeElement, 'position', 'static');
|
32
|
+
}
|
33
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.4", ngImport: i0, type: BsDatepickerInlineContainerComponent, deps: [{ token: i0.Renderer2 }, { token: i1.BsDatepickerConfig }, { token: i2.BsDatepickerStore }, { token: i0.ElementRef }, { token: i3.BsDatepickerActions }, { token: i4.BsDatepickerEffects }, { token: i5.PositioningService }], target: i0.ɵɵFactoryTarget.Component }); }
|
34
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.1.4", type: BsDatepickerInlineContainerComponent, selector: "bs-datepicker-inline-container", host: { listeners: { "click": "_stopPropagation($event)" }, properties: { "attr.disabled": "this.disabledValue", "attr.readonly": "this.readonlyValue" } }, providers: [BsDatepickerStore, BsDatepickerEffects], usesInheritance: true, ngImport: i0, template: "<!-- days calendar view mode -->\n<div class=\"bs-datepicker\" [ngClass]=\"containerClass\" *ngIf=\"viewMode | async\">\n <div class=\"bs-datepicker-container\"\n [@datepickerAnimation]=\"animationState\"\n (@datepickerAnimation.done)=\"positionServiceEnable()\">\n <!--calendars-->\n <div class=\"bs-calendar-container\" [ngSwitch]=\"viewMode | async\" role=\"application\">\n <!--days calendar-->\n <ng-container *ngSwitchCase=\"'day'\">\n <div class=\"bs-media-container\">\n <bs-days-calendar-view\n *ngFor=\"let calendar of daysCalendar$ | async\"\n [class.bs-datepicker-multiple]=\"multipleCalendars\"\n [calendar]=\"calendar\"\n [isDisabled]=\"isDatePickerDisabled\"\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 <div *ngIf=\"withTimepicker\" class=\"bs-timepicker-in-datepicker-container\">\n <timepicker #startTP [disabled]=\"isDatePickerDisabled\"></timepicker>\n <timepicker #endTP *ngIf=\"isRangePicker\" [disabled]=\"isDatePickerDisabled\"></timepicker>\n </div>\n </ng-container>\n\n <!--months calendar-->\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]=\"multipleCalendars\"\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 <!--years calendar-->\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]=\"multipleCalendars\"\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 <!--applycancel buttons-->\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 <!--custom dates or date ranges picker-->\n <div class=\"bs-datepicker-custom-range\" *ngIf=\"customRanges && 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", dependencies: [{ kind: "directive", type: i6.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i6.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i6.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i6.NgSwitch, selector: "[ngSwitch]", inputs: ["ngSwitch"] }, { kind: "directive", type: i6.NgSwitchCase, selector: "[ngSwitchCase]", inputs: ["ngSwitchCase"] }, { kind: "component", type: i7.TimepickerComponent, selector: "timepicker", inputs: ["hourStep", "minuteStep", "secondsStep", "readonlyInput", "disabled", "mousewheel", "arrowkeys", "showSpinners", "showMeridian", "showMinutes", "showSeconds", "meridians", "min", "max", "hoursPlaceholder", "minutesPlaceholder", "secondsPlaceholder"], outputs: ["isValid", "meridianChange"] }, { kind: "component", type: i8.BsCustomDatesViewComponent, selector: "bs-custom-date-view", inputs: ["ranges", "selectedRange", "customRangeLabel"], outputs: ["onSelect"] }, { kind: "component", type: i9.BsDaysCalendarViewComponent, selector: "bs-days-calendar-view", inputs: ["calendar", "options", "isDisabled"], outputs: ["onNavigate", "onViewMode", "onSelect", "onHover", "onHoverWeek"] }, { kind: "component", type: i10.BsMonthCalendarViewComponent, selector: "bs-month-calendar-view", inputs: ["calendar"], outputs: ["onNavigate", "onViewMode", "onSelect", "onHover"] }, { kind: "component", type: i11.BsYearsCalendarViewComponent, selector: "bs-years-calendar-view", inputs: ["calendar"], outputs: ["onNavigate", "onViewMode", "onSelect", "onHover"] }, { kind: "pipe", type: i6.AsyncPipe, name: "async" }], animations: [datepickerAnimation] }); }
|
33
35
|
}
|
34
|
-
|
35
|
-
BsDatepickerInlineContainerComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.0.3", type: BsDatepickerInlineContainerComponent, selector: "bs-datepicker-inline-container", host: { listeners: { "click": "_stopPropagation($event)" }, properties: { "attr.disabled": "this.disabledValue", "attr.readonly": "this.readonlyValue" } }, providers: [BsDatepickerStore, BsDatepickerEffects], usesInheritance: true, ngImport: i0, template: "<!-- days calendar view mode -->\n<div class=\"bs-datepicker\" [ngClass]=\"containerClass\" *ngIf=\"viewMode | async\">\n <div class=\"bs-datepicker-container\"\n [@datepickerAnimation]=\"animationState\"\n (@datepickerAnimation.done)=\"positionServiceEnable()\">\n <!--calendars-->\n <div class=\"bs-calendar-container\" [ngSwitch]=\"viewMode | async\" role=\"application\">\n <!--days calendar-->\n <ng-container *ngSwitchCase=\"'day'\">\n <div class=\"bs-media-container\">\n <bs-days-calendar-view\n *ngFor=\"let calendar of daysCalendar$ | async\"\n [class.bs-datepicker-multiple]=\"multipleCalendars\"\n [calendar]=\"calendar\"\n [isDisabled]=\"isDatePickerDisabled\"\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 <div *ngIf=\"withTimepicker\" class=\"bs-timepicker-in-datepicker-container\">\n <timepicker #startTP [disabled]=\"isDatePickerDisabled\"></timepicker>\n <timepicker #endTP *ngIf=\"isRangePicker\" [disabled]=\"isDatePickerDisabled\"></timepicker>\n </div>\n </ng-container>\n\n <!--months calendar-->\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]=\"multipleCalendars\"\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 <!--years calendar-->\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]=\"multipleCalendars\"\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 <!--applycancel buttons-->\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 <!--custom dates or date ranges picker-->\n <div class=\"bs-datepicker-custom-range\" *ngIf=\"customRanges && 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", dependencies: [{ kind: "directive", type: i6.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i6.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i6.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i6.NgSwitch, selector: "[ngSwitch]", inputs: ["ngSwitch"] }, { kind: "directive", type: i6.NgSwitchCase, selector: "[ngSwitchCase]", inputs: ["ngSwitchCase"] }, { kind: "component", type: i7.TimepickerComponent, selector: "timepicker", inputs: ["hourStep", "minuteStep", "secondsStep", "readonlyInput", "disabled", "mousewheel", "arrowkeys", "showSpinners", "showMeridian", "showMinutes", "showSeconds", "meridians", "min", "max", "hoursPlaceholder", "minutesPlaceholder", "secondsPlaceholder"], outputs: ["isValid", "meridianChange"] }, { kind: "component", type: i8.BsCustomDatesViewComponent, selector: "bs-custom-date-view", inputs: ["ranges", "selectedRange", "customRangeLabel"], outputs: ["onSelect"] }, { kind: "component", type: i9.BsDaysCalendarViewComponent, selector: "bs-days-calendar-view", inputs: ["calendar", "options", "isDisabled"], outputs: ["onNavigate", "onViewMode", "onSelect", "onHover", "onHoverWeek"] }, { kind: "component", type: i10.BsMonthCalendarViewComponent, selector: "bs-month-calendar-view", inputs: ["calendar"], outputs: ["onNavigate", "onViewMode", "onSelect", "onHover"] }, { kind: "component", type: i11.BsYearsCalendarViewComponent, selector: "bs-years-calendar-view", inputs: ["calendar"], outputs: ["onNavigate", "onViewMode", "onSelect", "onHover"] }, { kind: "pipe", type: i6.AsyncPipe, name: "async" }], animations: [datepickerAnimation] });
|
36
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.3", ngImport: i0, type: BsDatepickerInlineContainerComponent, decorators: [{
|
36
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.4", ngImport: i0, type: BsDatepickerInlineContainerComponent, decorators: [{
|
37
37
|
type: Component,
|
38
38
|
args: [{ selector: 'bs-datepicker-inline-container', providers: [BsDatepickerStore, BsDatepickerEffects], host: {
|
39
39
|
'(click)': '_stopPropagation($event)'
|
@@ -45,4 +45,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.3", ngImpor
|
|
45
45
|
type: HostBinding,
|
46
46
|
args: ['attr.readonly']
|
47
47
|
}] } });
|
48
|
-
//# sourceMappingURL=data:application/json;base64,
|
48
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnMtZGF0ZXBpY2tlci1pbmxpbmUtY29udGFpbmVyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3NyYy9kYXRlcGlja2VyL3RoZW1lcy9icy9icy1kYXRlcGlja2VyLWlubGluZS1jb250YWluZXIuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vc3JjL2RhdGVwaWNrZXIvdGhlbWVzL2JzL2JzLWRhdGVwaWNrZXItdmlldy5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyxTQUFTLEVBQUUsVUFBVSxFQUFFLFdBQVcsRUFBcUIsU0FBUyxFQUFDLE1BQU0sZUFBZSxDQUFDO0FBQy9GLE9BQU8sRUFBRSw4QkFBOEIsRUFBRSxNQUFNLHFDQUFxQyxDQUFDO0FBRXJGLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLHFDQUFxQyxDQUFDO0FBQzFFLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBQ2hFLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLHFDQUFxQyxDQUFDO0FBQzFFLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLG1DQUFtQyxDQUFDO0FBRXRFLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBQy9ELE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLDZCQUE2QixDQUFDOzs7Ozs7Ozs7Ozs7O0FBV2xFLE1BQU0sT0FBTyxvQ0FBcUMsU0FBUSw4QkFBOEI7SUFHdEYsSUFBbUMsYUFBYTtRQUM5QyxPQUFPLElBQUksQ0FBQyxvQkFBb0IsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUM7SUFDL0MsQ0FBQztJQUVELElBQW1DLGFBQWE7UUFDOUMsT0FBTyxJQUFJLENBQUMsb0JBQW9CLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDO0lBQy9DLENBQUM7SUFDRCxZQUNFLFNBQW9CLEVBQ3BCLE9BQTJCLEVBQzNCLE1BQXlCLEVBQ3pCLFFBQW9CLEVBQ3BCLFFBQTZCLEVBQzdCLFFBQTZCLEVBQzdCLG1CQUF1QztRQUV2QyxLQUFLLENBQUMsU0FBUyxFQUFFLE9BQU8sRUFBRSxNQUFNLEVBQUUsUUFBUSxFQUFFLFFBQVEsRUFBRSxRQUFRLEVBQUUsbUJBQW1CLENBQUMsQ0FBQztRQUVyRixTQUFTLENBQUMsUUFBUSxDQUFDLFFBQVEsQ0FBQyxhQUFhLEVBQUUsU0FBUyxFQUFFLGNBQWMsQ0FBQyxDQUFDO1FBQ3RFLFNBQVMsQ0FBQyxRQUFRLENBQUMsUUFBUSxDQUFDLGFBQWEsRUFBRSxVQUFVLEVBQUUsUUFBUSxDQUFDLENBQUM7SUFDbkUsQ0FBQzs4R0F2QlUsb0NBQW9DO2tHQUFwQyxvQ0FBb0MscU5BUHBDLENBQUMsaUJBQWlCLEVBQUUsbUJBQW1CLENBQUMsaURDYnJELDQzSEE0RkEsOHJERDFFYyxDQUFDLG1CQUFtQixDQUFDOzsyRkFFdEIsb0NBQW9DO2tCQVRoRCxTQUFTOytCQUNFLGdDQUFnQyxhQUMvQixDQUFDLGlCQUFpQixFQUFFLG1CQUFtQixDQUFDLFFBRTdDO3dCQUNKLFNBQVMsRUFBRSwwQkFBMEI7cUJBQ3RDLGNBQ1csQ0FBQyxtQkFBbUIsQ0FBQzsrUkFLRSxhQUFhO3NCQUEvQyxXQUFXO3VCQUFFLGVBQWU7Z0JBSU0sYUFBYTtzQkFBL0MsV0FBVzt1QkFBRSxlQUFlIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtDb21wb25lbnQsIEVsZW1lbnRSZWYsIEhvc3RCaW5kaW5nLCBPbkRlc3Ryb3ksIE9uSW5pdCwgUmVuZGVyZXIyfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEJzRGF0ZXBpY2tlckNvbnRhaW5lckNvbXBvbmVudCB9IGZyb20gJy4vYnMtZGF0ZXBpY2tlci1jb250YWluZXIuY29tcG9uZW50JztcblxuaW1wb3J0IHsgQnNEYXRlcGlja2VyQWN0aW9ucyB9IGZyb20gJy4uLy4uL3JlZHVjZXIvYnMtZGF0ZXBpY2tlci5hY3Rpb25zJztcbmltcG9ydCB7IEJzRGF0ZXBpY2tlckNvbmZpZyB9IGZyb20gJy4uLy4uL2JzLWRhdGVwaWNrZXIuY29uZmlnJztcbmltcG9ydCB7IEJzRGF0ZXBpY2tlckVmZmVjdHMgfSBmcm9tICcuLi8uLi9yZWR1Y2VyL2JzLWRhdGVwaWNrZXIuZWZmZWN0cyc7XG5pbXBvcnQgeyBCc0RhdGVwaWNrZXJTdG9yZSB9IGZyb20gJy4uLy4uL3JlZHVjZXIvYnMtZGF0ZXBpY2tlci5zdG9yZSc7XG5cbmltcG9ydCB7IFBvc2l0aW9uaW5nU2VydmljZSB9IGZyb20gJ25neC1ib290c3RyYXAvcG9zaXRpb25pbmcnO1xuaW1wb3J0IHsgZGF0ZXBpY2tlckFuaW1hdGlvbiB9IGZyb20gJy4uLy4uL2RhdGVwaWNrZXItYW5pbWF0aW9ucyc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2JzLWRhdGVwaWNrZXItaW5saW5lLWNvbnRhaW5lcicsXG4gIHByb3ZpZGVyczogW0JzRGF0ZXBpY2tlclN0b3JlLCBCc0RhdGVwaWNrZXJFZmZlY3RzXSxcbiAgdGVtcGxhdGVVcmw6ICcuL2JzLWRhdGVwaWNrZXItdmlldy5odG1sJyxcbiAgaG9zdDoge1xuICAgICcoY2xpY2spJzogJ19zdG9wUHJvcGFnYXRpb24oJGV2ZW50KSdcbiAgfSxcbiAgYW5pbWF0aW9uczogW2RhdGVwaWNrZXJBbmltYXRpb25dXG59KVxuZXhwb3J0IGNsYXNzIEJzRGF0ZXBpY2tlcklubGluZUNvbnRhaW5lckNvbXBvbmVudCBleHRlbmRzIEJzRGF0ZXBpY2tlckNvbnRhaW5lckNvbXBvbmVudFxuICBpbXBsZW1lbnRzIE9uSW5pdCwgT25EZXN0cm95IHtcblxuICBASG9zdEJpbmRpbmcgKCdhdHRyLmRpc2FibGVkJykgZ2V0IGRpc2FibGVkVmFsdWUgKCkge1xuICAgIHJldHVybiB0aGlzLmlzRGF0ZVBpY2tlckRpc2FibGVkID8gJycgOiBudWxsO1xuICB9XG5cbiAgQEhvc3RCaW5kaW5nICgnYXR0ci5yZWFkb25seScpIGdldCByZWFkb25seVZhbHVlICgpIHtcbiAgICByZXR1cm4gdGhpcy5pc0RhdGVQaWNrZXJEaXNhYmxlZCA/ICcnIDogbnVsbDtcbiAgfVxuICBjb25zdHJ1Y3RvcihcbiAgICBfcmVuZGVyZXI6IFJlbmRlcmVyMixcbiAgICBfY29uZmlnOiBCc0RhdGVwaWNrZXJDb25maWcsXG4gICAgX3N0b3JlOiBCc0RhdGVwaWNrZXJTdG9yZSxcbiAgICBfZWxlbWVudDogRWxlbWVudFJlZixcbiAgICBfYWN0aW9uczogQnNEYXRlcGlja2VyQWN0aW9ucyxcbiAgICBfZWZmZWN0czogQnNEYXRlcGlja2VyRWZmZWN0cyxcbiAgICBfcG9zaXRpb25pbmdTZXJ2aWNlOiBQb3NpdGlvbmluZ1NlcnZpY2VcbiAgKSB7XG4gICAgc3VwZXIoX3JlbmRlcmVyLCBfY29uZmlnLCBfc3RvcmUsIF9lbGVtZW50LCBfYWN0aW9ucywgX2VmZmVjdHMsIF9wb3NpdGlvbmluZ1NlcnZpY2UpO1xuXG4gICAgX3JlbmRlcmVyLnNldFN0eWxlKF9lbGVtZW50Lm5hdGl2ZUVsZW1lbnQsICdkaXNwbGF5JywgJ2lubGluZS1ibG9jaycpO1xuICAgIF9yZW5kZXJlci5zZXRTdHlsZShfZWxlbWVudC5uYXRpdmVFbGVtZW50LCAncG9zaXRpb24nLCAnc3RhdGljJyk7XG4gIH1cbn1cbiIsIjwhLS0gZGF5cyBjYWxlbmRhciB2aWV3IG1vZGUgLS0+XG48ZGl2IGNsYXNzPVwiYnMtZGF0ZXBpY2tlclwiIFtuZ0NsYXNzXT1cImNvbnRhaW5lckNsYXNzXCIgKm5nSWY9XCJ2aWV3TW9kZSB8IGFzeW5jXCI+XG4gIDxkaXYgY2xhc3M9XCJicy1kYXRlcGlja2VyLWNvbnRhaW5lclwiXG4gICAgW0BkYXRlcGlja2VyQW5pbWF0aW9uXT1cImFuaW1hdGlvblN0YXRlXCJcbiAgICAoQGRhdGVwaWNrZXJBbmltYXRpb24uZG9uZSk9XCJwb3NpdGlvblNlcnZpY2VFbmFibGUoKVwiPlxuICAgIDwhLS1jYWxlbmRhcnMtLT5cbiAgICA8ZGl2IGNsYXNzPVwiYnMtY2FsZW5kYXItY29udGFpbmVyXCIgW25nU3dpdGNoXT1cInZpZXdNb2RlIHwgYXN5bmNcIiByb2xlPVwiYXBwbGljYXRpb25cIj5cbiAgICAgIDwhLS1kYXlzIGNhbGVuZGFyLS0+XG4gICAgICA8bmctY29udGFpbmVyICpuZ1N3aXRjaENhc2U9XCInZGF5J1wiPlxuICAgICAgICA8ZGl2IGNsYXNzPVwiYnMtbWVkaWEtY29udGFpbmVyXCI+XG4gICAgICAgICAgPGJzLWRheXMtY2FsZW5kYXItdmlld1xuICAgICAgICAgICAgKm5nRm9yPVwibGV0IGNhbGVuZGFyIG9mIGRheXNDYWxlbmRhciQgfCBhc3luY1wiXG4gICAgICAgICAgICBbY2xhc3MuYnMtZGF0ZXBpY2tlci1tdWx0aXBsZV09XCJtdWx0aXBsZUNhbGVuZGFyc1wiXG4gICAgICAgICAgICBbY2FsZW5kYXJdPVwiY2FsZW5kYXJcIlxuICAgICAgICAgICAgW2lzRGlzYWJsZWRdPVwiaXNEYXRlUGlja2VyRGlzYWJsZWRcIlxuICAgICAgICAgICAgW29wdGlvbnNdPVwib3B0aW9ucyQgfCBhc3luY1wiXG4gICAgICAgICAgICAob25OYXZpZ2F0ZSk9XCJuYXZpZ2F0ZVRvKCRldmVudClcIlxuICAgICAgICAgICAgKG9uVmlld01vZGUpPVwic2V0Vmlld01vZGUoJGV2ZW50KVwiXG4gICAgICAgICAgICAob25Ib3Zlcik9XCJkYXlIb3ZlckhhbmRsZXIoJGV2ZW50KVwiXG4gICAgICAgICAgICAob25Ib3ZlcldlZWspPVwid2Vla0hvdmVySGFuZGxlcigkZXZlbnQpXCJcbiAgICAgICAgICAgIChvblNlbGVjdCk9XCJkYXlTZWxlY3RIYW5kbGVyKCRldmVudClcIj5cbiAgICAgICAgICA8L2JzLWRheXMtY2FsZW5kYXItdmlldz5cbiAgICAgICAgPC9kaXY+XG4gICAgICAgIDxkaXYgKm5nSWY9XCJ3aXRoVGltZXBpY2tlclwiIGNsYXNzPVwiYnMtdGltZXBpY2tlci1pbi1kYXRlcGlja2VyLWNvbnRhaW5lclwiPlxuICAgICAgICAgIDx0aW1lcGlja2VyICNzdGFydFRQIFtkaXNhYmxlZF09XCJpc0RhdGVQaWNrZXJEaXNhYmxlZFwiPjwvdGltZXBpY2tlcj5cbiAgICAgICAgICA8dGltZXBpY2tlciAjZW5kVFAgKm5nSWY9XCJpc1JhbmdlUGlja2VyXCIgW2Rpc2FibGVkXT1cImlzRGF0ZVBpY2tlckRpc2FibGVkXCI+PC90aW1lcGlja2VyPlxuICAgICAgICA8L2Rpdj5cbiAgICAgIDwvbmctY29udGFpbmVyPlxuXG4gICAgICA8IS0tbW9udGhzIGNhbGVuZGFyLS0+XG4gICAgICA8ZGl2ICpuZ1N3aXRjaENhc2U9XCInbW9udGgnXCIgY2xhc3M9XCJicy1tZWRpYS1jb250YWluZXJcIj5cbiAgICAgICAgPGJzLW1vbnRoLWNhbGVuZGFyLXZpZXdcbiAgICAgICAgICAqbmdGb3I9XCJsZXQgY2FsZW5kYXIgb2YgbW9udGhzQ2FsZW5kYXIgfCBhc3luY1wiXG4gICAgICAgICAgW2NsYXNzLmJzLWRhdGVwaWNrZXItbXVsdGlwbGVdPVwibXVsdGlwbGVDYWxlbmRhcnNcIlxuICAgICAgICAgIFtjYWxlbmRhcl09XCJjYWxlbmRhclwiXG4gICAgICAgICAgKG9uTmF2aWdhdGUpPVwibmF2aWdhdGVUbygkZXZlbnQpXCJcbiAgICAgICAgICAob25WaWV3TW9kZSk9XCJzZXRWaWV3TW9kZSgkZXZlbnQpXCJcbiAgICAgICAgICAob25Ib3Zlcik9XCJtb250aEhvdmVySGFuZGxlcigkZXZlbnQpXCJcbiAgICAgICAgICAob25TZWxlY3QpPVwibW9udGhTZWxlY3RIYW5kbGVyKCRldmVudClcIj5cbiAgICAgICAgPC9icy1tb250aC1jYWxlbmRhci12aWV3PlxuICAgICAgPC9kaXY+XG5cbiAgICAgIDwhLS15ZWFycyBjYWxlbmRhci0tPlxuICAgICAgPGRpdiAqbmdTd2l0Y2hDYXNlPVwiJ3llYXInXCIgY2xhc3M9XCJicy1tZWRpYS1jb250YWluZXJcIj5cbiAgICAgICAgPGJzLXllYXJzLWNhbGVuZGFyLXZpZXdcbiAgICAgICAgICAqbmdGb3I9XCJsZXQgY2FsZW5kYXIgb2YgeWVhcnNDYWxlbmRhciB8IGFzeW5jXCJcbiAgICAgICAgICBbY2xhc3MuYnMtZGF0ZXBpY2tlci1tdWx0aXBsZV09XCJtdWx0aXBsZUNhbGVuZGFyc1wiXG4gICAgICAgICAgW2NhbGVuZGFyXT1cImNhbGVuZGFyXCJcbiAgICAgICAgICAob25OYXZpZ2F0ZSk9XCJuYXZpZ2F0ZVRvKCRldmVudClcIlxuICAgICAgICAgIChvblZpZXdNb2RlKT1cInNldFZpZXdNb2RlKCRldmVudClcIlxuICAgICAgICAgIChvbkhvdmVyKT1cInllYXJIb3ZlckhhbmRsZXIoJGV2ZW50KVwiXG4gICAgICAgICAgKG9uU2VsZWN0KT1cInllYXJTZWxlY3RIYW5kbGVyKCRldmVudClcIj5cbiAgICAgICAgPC9icy15ZWFycy1jYWxlbmRhci12aWV3PlxuICAgICAgPC9kaXY+XG4gICAgPC9kaXY+XG5cbiAgICA8IS0tYXBwbHljYW5jZWwgYnV0dG9ucy0tPlxuICAgIDxkaXYgY2xhc3M9XCJicy1kYXRlcGlja2VyLWJ1dHRvbnNcIiAqbmdJZj1cImZhbHNlXCI+XG4gICAgICA8YnV0dG9uIGNsYXNzPVwiYnRuIGJ0bi1zdWNjZXNzXCIgdHlwZT1cImJ1dHRvblwiPkFwcGx5PC9idXR0b24+XG4gICAgICA8YnV0dG9uIGNsYXNzPVwiYnRuIGJ0bi1kZWZhdWx0XCIgdHlwZT1cImJ1dHRvblwiPkNhbmNlbDwvYnV0dG9uPlxuICAgIDwvZGl2PlxuXG4gICAgPGRpdiBjbGFzcz1cImJzLWRhdGVwaWNrZXItYnV0dG9uc1wiICpuZ0lmPVwic2hvd1RvZGF5QnRuIHx8IHNob3dDbGVhckJ0blwiPlxuICAgICAgPGRpdiBjbGFzcz1cImJ0bi10b2RheS13cmFwcGVyXCJcbiAgICAgICAgICAgW2NsYXNzLnRvZGF5LWxlZnRdPVwidG9kYXlQb3MgPT09ICdsZWZ0J1wiXG4gICAgICAgICAgIFtjbGFzcy50b2RheS1yaWdodF09XCJ0b2RheVBvcyA9PT0gJ3JpZ2h0J1wiXG4gICAgICAgICAgIFtjbGFzcy50b2RheS1jZW50ZXJdPVwidG9kYXlQb3MgPT09ICdjZW50ZXInXCJcbiAgICAgICAgICAgKm5nSWY9XCJzaG93VG9kYXlCdG5cIj5cbiAgICAgICAgPGJ1dHRvbiBjbGFzcz1cImJ0biBidG4tc3VjY2Vzc1wiIChjbGljayk9XCJzZXRUb2RheSgpXCI+e3t0b2RheUJ0bkxibH19PC9idXR0b24+XG4gICAgICA8L2Rpdj5cblxuICAgICAgICA8ZGl2IGNsYXNzPVwiYnRuLWNsZWFyLXdyYXBwZXJcIlxuICAgICAgICBbY2xhc3MuY2xlYXItbGVmdF09XCJjbGVhclBvcyA9PT0gJ2xlZnQnXCJcbiAgICAgICAgW2NsYXNzLmNsZWFyLXJpZ2h0XT1cImNsZWFyUG9zID09PSAncmlnaHQnXCJcbiAgICAgICAgW2NsYXNzLmNsZWFyLWNlbnRlcl09XCJjbGVhclBvcyA9PT0gJ2NlbnRlcidcIlxuICAgICAgICAqbmdJZj1cInNob3dDbGVhckJ0blwiPlxuICAgICAgICAgIDxidXR0b24gY2xhc3M9XCJidG4gYnRuLXN1Y2Nlc3NcIiAoY2xpY2spPVwiY2xlYXJEYXRlKClcIj57e2NsZWFyQnRuTGJsfX08L2J1dHRvbj5cbiAgICAgICAgPC9kaXY+XG4gICAgPC9kaXY+XG5cbiAgPC9kaXY+XG5cbiAgPCEtLWN1c3RvbSBkYXRlcyBvciBkYXRlIHJhbmdlcyBwaWNrZXItLT5cbiAgPGRpdiBjbGFzcz1cImJzLWRhdGVwaWNrZXItY3VzdG9tLXJhbmdlXCIgKm5nSWY9XCJjdXN0b21SYW5nZXMgJiYgY3VzdG9tUmFuZ2VzLmxlbmd0aCA+IDBcIj5cbiAgICA8YnMtY3VzdG9tLWRhdGUtdmlld1xuICAgICAgW3NlbGVjdGVkUmFuZ2VdPVwiY2hvc2VuUmFuZ2VcIlxuICAgICAgW3Jhbmdlc109XCJjdXN0b21SYW5nZXNcIlxuICAgICAgW2N1c3RvbVJhbmdlTGFiZWxdPVwiY3VzdG9tUmFuZ2VCdG5MYmxcIlxuICAgICAgKG9uU2VsZWN0KT1cInNldFJhbmdlT25DYWxlbmRhcigkZXZlbnQpXCI+XG4gICAgPC9icy1jdXN0b20tZGF0ZS12aWV3PlxuICA8L2Rpdj5cbjwvZGl2PlxuIl19
|
package/datepicker/{esm2020 → esm2022}/themes/bs/bs-datepicker-navigation-view.component.mjs
RENAMED
@@ -17,9 +17,8 @@ export class BsDatepickerNavigationViewComponent {
|
|
17
17
|
}
|
18
18
|
this.onViewMode.emit(viewMode);
|
19
19
|
}
|
20
|
-
}
|
21
|
-
|
22
|
-
BsDatepickerNavigationViewComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.0.3", type: BsDatepickerNavigationViewComponent, selector: "bs-datepicker-navigation-view", inputs: { calendar: "calendar", isDisabled: "isDisabled" }, outputs: { onNavigate: "onNavigate", onViewMode: "onViewMode" }, ngImport: i0, template: `
|
20
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.4", ngImport: i0, type: BsDatepickerNavigationViewComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
21
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.1.4", type: BsDatepickerNavigationViewComponent, selector: "bs-datepicker-navigation-view", inputs: { calendar: "calendar", isDisabled: "isDisabled" }, outputs: { onNavigate: "onNavigate", onViewMode: "onViewMode" }, ngImport: i0, template: `
|
23
22
|
<button class="previous"
|
24
23
|
[disabled]="calendar.disableLeftArrow"
|
25
24
|
[style.visibility]="calendar.hideLeftArrow ? 'hidden' : 'visible'"
|
@@ -61,8 +60,9 @@ BsDatepickerNavigationViewComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersi
|
|
61
60
|
type="button"
|
62
61
|
(click)="navTo(false)"><span>›</span>
|
63
62
|
</button>
|
64
|
-
`, isInline: true, dependencies: [{ kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
65
|
-
|
63
|
+
`, isInline: true, dependencies: [{ kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
64
|
+
}
|
65
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.4", ngImport: i0, type: BsDatepickerNavigationViewComponent, decorators: [{
|
66
66
|
type: Component,
|
67
67
|
args: [{
|
68
68
|
selector: 'bs-datepicker-navigation-view',
|
@@ -120,4 +120,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.3", ngImpor
|
|
120
120
|
}], onViewMode: [{
|
121
121
|
type: Output
|
122
122
|
}] } });
|
123
|
-
//# sourceMappingURL=data:application/json;base64,
|
123
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnMtZGF0ZXBpY2tlci1uYXZpZ2F0aW9uLXZpZXcuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vc3JjL2RhdGVwaWNrZXIvdGhlbWVzL2JzL2JzLWRhdGVwaWNrZXItbmF2aWdhdGlvbi12aWV3LmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsU0FBUyxFQUFFLFlBQVksRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ2hHLE9BQU8sRUFBd0IscUJBQXFCLEVBQXVCLE1BQU0sY0FBYyxDQUFDOzs7QUFpRGhHLE1BQU0sT0FBTyxtQ0FBbUM7SUEvQ2hEO1FBaURXLGVBQVUsR0FBRyxLQUFLLENBQUM7UUFFbEIsZUFBVSxHQUFHLElBQUksWUFBWSxFQUF5QixDQUFDO1FBQ3ZELGVBQVUsR0FBRyxJQUFJLFlBQVksRUFBd0IsQ0FBQztLQWVqRTtJQWJDLEtBQUssQ0FBQyxJQUFhO1FBQ2pCLElBQUksQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUNsQixJQUFJLENBQUMsQ0FBQyxDQUFDLHFCQUFxQixDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMscUJBQXFCLENBQUMsRUFBRSxDQUM3RCxDQUFDO0lBQ0osQ0FBQztJQUVELElBQUksQ0FBQyxRQUE4QjtRQUNqQyxJQUFJLElBQUksQ0FBQyxVQUFVLEVBQUU7WUFDbkIsT0FBTztTQUNSO1FBRUQsSUFBSSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUM7SUFDakMsQ0FBQzs4R0FuQlUsbUNBQW1DO2tHQUFuQyxtQ0FBbUMsa01BNUNwQzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0dBMENUOzsyRkFFVSxtQ0FBbUM7a0JBL0MvQyxTQUFTO21CQUFDO29CQUNULFFBQVEsRUFBRSwrQkFBK0I7b0JBQ3pDLGVBQWUsRUFBRSx1QkFBdUIsQ0FBQyxNQUFNO29CQUMvQyxRQUFRLEVBQUU7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztHQTBDVDtpQkFDRjs4QkFFVSxRQUFRO3NCQUFoQixLQUFLO2dCQUNHLFVBQVU7c0JBQWxCLEtBQUs7Z0JBRUksVUFBVTtzQkFBbkIsTUFBTTtnQkFDRyxVQUFVO3NCQUFuQixNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksIENvbXBvbmVudCwgRXZlbnRFbWl0dGVyLCBJbnB1dCwgT3V0cHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBCc0RhdGVwaWNrZXJWaWV3TW9kZSwgQnNOYXZpZ2F0aW9uRGlyZWN0aW9uLCBOYXZpZ2F0aW9uVmlld01vZGVsIH0gZnJvbSAnLi4vLi4vbW9kZWxzJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnYnMtZGF0ZXBpY2tlci1uYXZpZ2F0aW9uLXZpZXcnLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgdGVtcGxhdGU6IGBcbiAgICA8YnV0dG9uIGNsYXNzPVwicHJldmlvdXNcIlxuICAgICAgICAgICAgW2Rpc2FibGVkXT1cImNhbGVuZGFyLmRpc2FibGVMZWZ0QXJyb3dcIlxuICAgICAgICAgICAgW3N0eWxlLnZpc2liaWxpdHldPVwiY2FsZW5kYXIuaGlkZUxlZnRBcnJvdyA/ICdoaWRkZW4nIDogJ3Zpc2libGUnXCJcbiAgICAgICAgICAgIHR5cGU9XCJidXR0b25cIlxuICAgICAgICAgICAgKGNsaWNrKT1cIm5hdlRvKHRydWUpXCI+XG4gICAgICA8c3Bhbj4mbHNhcXVvOzwvc3Bhbj5cbiAgICA8L2J1dHRvbj5cblxuICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJjYWxlbmRhciAmJiBjYWxlbmRhci5tb250aFRpdGxlXCI+XG4gICAgICAmIzgyMDM7ICA8IS0tIHplcm8td2lkdGggc3BhY2UgbmVlZGVkIGZvciBjb3JyZWN0IGFsaWdubWVudFxuICAgICAgICAgICAgICAgICAgd2l0aCBwcmVzZXJ2ZVdoaXRlc3BhY2VzOiBmYWxzZSBpbiBBbmd1bGFyIC0tPlxuXG4gICAgICA8YnV0dG9uIGNsYXNzPVwiY3VycmVudFwiXG4gICAgICAgICAgICB0eXBlPVwiYnV0dG9uXCJcbiAgICAgICAgICAgICAgKGNsaWNrKT1cInZpZXcoJ21vbnRoJylcIlxuICAgICAgICAgICAgICBbZGlzYWJsZWRdPVwiaXNEaXNhYmxlZFwiXG4gICAgICA+PHNwYW4+e3sgY2FsZW5kYXIubW9udGhUaXRsZSB9fTwvc3Bhbj5cbiAgICAgIDwvYnV0dG9uPlxuICAgIDwvbmctY29udGFpbmVyPlxuXG4gICAgJiM4MjAzOyAgPCEtLSB6ZXJvLXdpZHRoIHNwYWNlIG5lZWRlZCBmb3IgY29ycmVjdCBhbGlnbm1lbnRcbiAgICAgICAgICAgICAgICAgIHdpdGggcHJlc2VydmVXaGl0ZXNwYWNlczogZmFsc2UgaW4gQW5ndWxhciAtLT5cblxuICAgIDxidXR0b25cbiAgICAgIGNsYXNzPVwiY3VycmVudFwiXG4gICAgICAoY2xpY2spPVwidmlldygneWVhcicpXCJcbiAgICAgIHR5cGU9XCJidXR0b25cIlxuICAgICAgW2Rpc2FibGVkXT1cImlzRGlzYWJsZWRcIlxuICAgID5cbiAgICAgIDxzcGFuPnt7IGNhbGVuZGFyLnllYXJUaXRsZSB9fTwvc3Bhbj5cbiAgICA8L2J1dHRvbj5cblxuICAgICYjODIwMzsgIDwhLS0gemVyby13aWR0aCBzcGFjZSBuZWVkZWQgZm9yIGNvcnJlY3QgYWxpZ25tZW50XG4gICAgICAgICAgICAgICAgICB3aXRoIHByZXNlcnZlV2hpdGVzcGFjZXM6IGZhbHNlIGluIEFuZ3VsYXIgLS0+XG5cbiAgICA8YnV0dG9uIGNsYXNzPVwibmV4dFwiXG4gICAgICAgICAgICBbZGlzYWJsZWRdPVwiY2FsZW5kYXIuZGlzYWJsZVJpZ2h0QXJyb3dcIlxuICAgICAgICAgICAgW3N0eWxlLnZpc2liaWxpdHldPVwiY2FsZW5kYXIuaGlkZVJpZ2h0QXJyb3cgPyAnaGlkZGVuJyA6ICd2aXNpYmxlJ1wiXG4gICAgICAgICAgICB0eXBlPVwiYnV0dG9uXCJcbiAgICAgICAgICAgIChjbGljayk9XCJuYXZUbyhmYWxzZSlcIj48c3Bhbj4mcnNhcXVvOzwvc3Bhbj5cbiAgICA8L2J1dHRvbj5cbiAgYFxufSlcbmV4cG9ydCBjbGFzcyBCc0RhdGVwaWNrZXJOYXZpZ2F0aW9uVmlld0NvbXBvbmVudCB7XG4gIEBJbnB1dCgpIGNhbGVuZGFyITogTmF2aWdhdGlvblZpZXdNb2RlbDtcbiAgQElucHV0KCkgaXNEaXNhYmxlZCA9IGZhbHNlO1xuXG4gIEBPdXRwdXQoKSBvbk5hdmlnYXRlID0gbmV3IEV2ZW50RW1pdHRlcjxCc05hdmlnYXRpb25EaXJlY3Rpb24+KCk7XG4gIEBPdXRwdXQoKSBvblZpZXdNb2RlID0gbmV3IEV2ZW50RW1pdHRlcjxCc0RhdGVwaWNrZXJWaWV3TW9kZT4oKTtcblxuICBuYXZUbyhkb3duOiBib29sZWFuKTogdm9pZCB7XG4gICAgdGhpcy5vbk5hdmlnYXRlLmVtaXQoXG4gICAgICBkb3duID8gQnNOYXZpZ2F0aW9uRGlyZWN0aW9uLkRPV04gOiBCc05hdmlnYXRpb25EaXJlY3Rpb24uVVBcbiAgICApO1xuICB9XG5cbiAgdmlldyh2aWV3TW9kZTogQnNEYXRlcGlja2VyVmlld01vZGUpOiB2b2lkIHtcbiAgICBpZiAodGhpcy5pc0Rpc2FibGVkKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgdGhpcy5vblZpZXdNb2RlLmVtaXQodmlld01vZGUpO1xuICB9XG59XG4iXX0=
|
@@ -0,0 +1,261 @@
|
|
1
|
+
import { Component, ElementRef, EventEmitter, HostBinding, Renderer2, ViewChild } from '@angular/core';
|
2
|
+
import { take } from 'rxjs/operators';
|
3
|
+
import { getFullYear, getMonth } from 'ngx-bootstrap/chronos';
|
4
|
+
import { PositioningService } from 'ngx-bootstrap/positioning';
|
5
|
+
import { TimepickerComponent } from 'ngx-bootstrap/timepicker';
|
6
|
+
import { BsDatepickerAbstractComponent } from '../../base/bs-datepicker-container';
|
7
|
+
import { BsDatepickerConfig } from '../../bs-datepicker.config';
|
8
|
+
import { BsDatepickerActions } from '../../reducer/bs-datepicker.actions';
|
9
|
+
import { BsDatepickerEffects } from '../../reducer/bs-datepicker.effects';
|
10
|
+
import { BsDatepickerStore } from '../../reducer/bs-datepicker.store';
|
11
|
+
import { datepickerAnimation } from '../../datepicker-animations';
|
12
|
+
import { dayInMilliseconds } from '../../reducer/_defaults';
|
13
|
+
import * as i0 from "@angular/core";
|
14
|
+
import * as i1 from "../../bs-datepicker.config";
|
15
|
+
import * as i2 from "../../reducer/bs-datepicker.store";
|
16
|
+
import * as i3 from "../../reducer/bs-datepicker.actions";
|
17
|
+
import * as i4 from "../../reducer/bs-datepicker.effects";
|
18
|
+
import * as i5 from "ngx-bootstrap/positioning";
|
19
|
+
import * as i6 from "@angular/common";
|
20
|
+
import * as i7 from "ngx-bootstrap/timepicker";
|
21
|
+
import * as i8 from "./bs-custom-dates-view.component";
|
22
|
+
import * as i9 from "./bs-days-calendar-view.component";
|
23
|
+
import * as i10 from "./bs-months-calendar-view.component";
|
24
|
+
import * as i11 from "./bs-years-calendar-view.component";
|
25
|
+
export class BsDaterangepickerContainerComponent extends BsDatepickerAbstractComponent {
|
26
|
+
set value(value) {
|
27
|
+
this._effects?.setRangeValue(value);
|
28
|
+
}
|
29
|
+
get isDatePickerDisabled() {
|
30
|
+
return !!this._config.isDisabled;
|
31
|
+
}
|
32
|
+
get isDatepickerDisabled() {
|
33
|
+
return this.isDatePickerDisabled ? '' : null;
|
34
|
+
}
|
35
|
+
get isDatepickerReadonly() {
|
36
|
+
return this.isDatePickerDisabled ? '' : null;
|
37
|
+
}
|
38
|
+
constructor(_renderer, _config, _store, _element, _actions, _effects, _positionService) {
|
39
|
+
super();
|
40
|
+
this._config = _config;
|
41
|
+
this._store = _store;
|
42
|
+
this._element = _element;
|
43
|
+
this._actions = _actions;
|
44
|
+
this._positionService = _positionService;
|
45
|
+
this.valueChange = new EventEmitter();
|
46
|
+
this.animationState = 'void';
|
47
|
+
this._rangeStack = [];
|
48
|
+
this.chosenRange = [];
|
49
|
+
this._subs = [];
|
50
|
+
this.isRangePicker = true;
|
51
|
+
this._effects = _effects;
|
52
|
+
this.customRanges = this._config.ranges || [];
|
53
|
+
this.customRangeBtnLbl = this._config.customRangeButtonLabel;
|
54
|
+
_renderer.setStyle(_element.nativeElement, 'display', 'block');
|
55
|
+
_renderer.setStyle(_element.nativeElement, 'position', 'absolute');
|
56
|
+
}
|
57
|
+
ngOnInit() {
|
58
|
+
this._positionService.setOptions({
|
59
|
+
modifiers: {
|
60
|
+
flip: {
|
61
|
+
enabled: this._config.adaptivePosition
|
62
|
+
},
|
63
|
+
preventOverflow: {
|
64
|
+
enabled: this._config.adaptivePosition
|
65
|
+
}
|
66
|
+
},
|
67
|
+
allowedPositions: this._config.allowedPositions
|
68
|
+
});
|
69
|
+
this._positionService.event$?.pipe(take(1))
|
70
|
+
.subscribe(() => {
|
71
|
+
this._positionService.disable();
|
72
|
+
if (this._config.isAnimated) {
|
73
|
+
this.animationState = this.isTopPosition ? 'animated-up' : 'animated-down';
|
74
|
+
return;
|
75
|
+
}
|
76
|
+
this.animationState = 'unanimated';
|
77
|
+
});
|
78
|
+
this.containerClass = this._config.containerClass;
|
79
|
+
this.isOtherMonthsActive = this._config.selectFromOtherMonth;
|
80
|
+
this.withTimepicker = this._config.withTimepicker;
|
81
|
+
this._effects?.init(this._store)
|
82
|
+
// intial state options
|
83
|
+
// todo: fix this, split configs
|
84
|
+
.setOptions(this._config)
|
85
|
+
// data binding view --> model
|
86
|
+
.setBindings(this)
|
87
|
+
// set event handlers
|
88
|
+
.setEventHandlers(this)
|
89
|
+
.registerDatepickerSideEffects();
|
90
|
+
let currentDate;
|
91
|
+
// todo: move it somewhere else
|
92
|
+
// on selected date change
|
93
|
+
this._subs.push(this._store
|
94
|
+
.select(state => state.selectedRange)
|
95
|
+
.subscribe(dateRange => {
|
96
|
+
currentDate = dateRange;
|
97
|
+
this.valueChange.emit(dateRange);
|
98
|
+
this.chosenRange = dateRange || [];
|
99
|
+
}));
|
100
|
+
this._subs.push(this._store
|
101
|
+
.select(state => state.selectedTime)
|
102
|
+
.subscribe((time) => {
|
103
|
+
if ((!time[0] || !time[1]) ||
|
104
|
+
(!(time[0] instanceof Date) || !(time[1] instanceof Date)) ||
|
105
|
+
(currentDate && (time[0] === currentDate[0] && time[1] === currentDate[1]))) {
|
106
|
+
return;
|
107
|
+
}
|
108
|
+
this.valueChange.emit(time);
|
109
|
+
this.chosenRange = time || [];
|
110
|
+
}));
|
111
|
+
}
|
112
|
+
ngAfterViewInit() {
|
113
|
+
this.selectedTimeSub.add(this.selectedTime?.subscribe((val) => {
|
114
|
+
if (Array.isArray(val) && val.length >= 2) {
|
115
|
+
this.startTimepicker?.writeValue(val[0]);
|
116
|
+
this.endTimepicker?.writeValue(val[1]);
|
117
|
+
}
|
118
|
+
}));
|
119
|
+
this.startTimepicker?.registerOnChange((val) => {
|
120
|
+
this.timeSelectHandler(val, 0);
|
121
|
+
});
|
122
|
+
this.endTimepicker?.registerOnChange((val) => {
|
123
|
+
this.timeSelectHandler(val, 1);
|
124
|
+
});
|
125
|
+
}
|
126
|
+
get isTopPosition() {
|
127
|
+
return this._element.nativeElement.classList.contains('top');
|
128
|
+
}
|
129
|
+
positionServiceEnable() {
|
130
|
+
this._positionService.enable();
|
131
|
+
}
|
132
|
+
timeSelectHandler(date, index) {
|
133
|
+
this._store.dispatch(this._actions.selectTime(date, index));
|
134
|
+
}
|
135
|
+
daySelectHandler(day) {
|
136
|
+
if (!day) {
|
137
|
+
return;
|
138
|
+
}
|
139
|
+
const isDisabled = this.isOtherMonthsActive ? day.isDisabled : (day.isOtherMonth || day.isDisabled);
|
140
|
+
if (isDisabled) {
|
141
|
+
return;
|
142
|
+
}
|
143
|
+
this.rangesProcessing(day);
|
144
|
+
}
|
145
|
+
monthSelectHandler(day) {
|
146
|
+
if (!day || day.isDisabled) {
|
147
|
+
return;
|
148
|
+
}
|
149
|
+
day.isSelected = true;
|
150
|
+
if (this._config.minMode !== 'month') {
|
151
|
+
if (day.isDisabled) {
|
152
|
+
return;
|
153
|
+
}
|
154
|
+
this._store.dispatch(this._actions.navigateTo({
|
155
|
+
unit: {
|
156
|
+
month: getMonth(day.date),
|
157
|
+
year: getFullYear(day.date)
|
158
|
+
},
|
159
|
+
viewMode: 'day'
|
160
|
+
}));
|
161
|
+
return;
|
162
|
+
}
|
163
|
+
this.rangesProcessing(day);
|
164
|
+
}
|
165
|
+
yearSelectHandler(day) {
|
166
|
+
if (!day || day.isDisabled) {
|
167
|
+
return;
|
168
|
+
}
|
169
|
+
day.isSelected = true;
|
170
|
+
if (this._config.minMode !== 'year') {
|
171
|
+
if (day.isDisabled) {
|
172
|
+
return;
|
173
|
+
}
|
174
|
+
this._store.dispatch(this._actions.navigateTo({
|
175
|
+
unit: {
|
176
|
+
year: getFullYear(day.date)
|
177
|
+
},
|
178
|
+
viewMode: 'month'
|
179
|
+
}));
|
180
|
+
return;
|
181
|
+
}
|
182
|
+
this.rangesProcessing(day);
|
183
|
+
}
|
184
|
+
rangesProcessing(day) {
|
185
|
+
// if only one date is already selected
|
186
|
+
// and user clicks on previous date
|
187
|
+
// start selection from new date
|
188
|
+
// but if new date is after initial one
|
189
|
+
// than finish selection
|
190
|
+
if (this._rangeStack.length === 1) {
|
191
|
+
this._rangeStack =
|
192
|
+
day.date >= this._rangeStack[0]
|
193
|
+
? [this._rangeStack[0], day.date]
|
194
|
+
: [day.date];
|
195
|
+
}
|
196
|
+
if (this._config.maxDateRange) {
|
197
|
+
this.setMaxDateRangeOnCalendar(day.date);
|
198
|
+
}
|
199
|
+
if (this._rangeStack.length === 0) {
|
200
|
+
this._rangeStack = [day.date];
|
201
|
+
if (this._config.maxDateRange) {
|
202
|
+
this.setMaxDateRangeOnCalendar(day.date);
|
203
|
+
}
|
204
|
+
}
|
205
|
+
this._store.dispatch(this._actions.selectRange(this._rangeStack));
|
206
|
+
if (this._rangeStack.length === 2) {
|
207
|
+
this._rangeStack = [];
|
208
|
+
}
|
209
|
+
}
|
210
|
+
ngOnDestroy() {
|
211
|
+
for (const sub of this._subs) {
|
212
|
+
sub.unsubscribe();
|
213
|
+
}
|
214
|
+
this.selectedTimeSub.unsubscribe();
|
215
|
+
this._effects?.destroy();
|
216
|
+
}
|
217
|
+
setRangeOnCalendar(dates) {
|
218
|
+
if (dates) {
|
219
|
+
this._rangeStack = dates.value instanceof Date ? [dates.value] : dates.value;
|
220
|
+
}
|
221
|
+
this._store.dispatch(this._actions.selectRange(this._rangeStack));
|
222
|
+
}
|
223
|
+
setMaxDateRangeOnCalendar(currentSelection) {
|
224
|
+
let maxDateRange = new Date(currentSelection);
|
225
|
+
if (this._config.maxDate) {
|
226
|
+
const maxDateValueInMilliseconds = this._config.maxDate.getTime();
|
227
|
+
const maxDateRangeInMilliseconds = currentSelection.getTime() + ((this._config.maxDateRange || 0) * dayInMilliseconds);
|
228
|
+
maxDateRange = maxDateRangeInMilliseconds > maxDateValueInMilliseconds ?
|
229
|
+
new Date(this._config.maxDate) :
|
230
|
+
new Date(maxDateRangeInMilliseconds);
|
231
|
+
}
|
232
|
+
else {
|
233
|
+
maxDateRange.setDate(currentSelection.getDate() + (this._config.maxDateRange || 0));
|
234
|
+
}
|
235
|
+
this._effects?.setMaxDate(maxDateRange);
|
236
|
+
}
|
237
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.4", ngImport: i0, type: BsDaterangepickerContainerComponent, deps: [{ token: i0.Renderer2 }, { token: i1.BsDatepickerConfig }, { token: i2.BsDatepickerStore }, { token: i0.ElementRef }, { token: i3.BsDatepickerActions }, { token: i4.BsDatepickerEffects }, { token: i5.PositioningService }], target: i0.ɵɵFactoryTarget.Component }); }
|
238
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.1.4", type: BsDaterangepickerContainerComponent, selector: "bs-daterangepicker-container", host: { attributes: { "role": "dialog", "aria-label": "calendar" }, listeners: { "click": "_stopPropagation($event)" }, properties: { "attr.disabled": "this.isDatepickerDisabled", "attr.readonly": "this.isDatepickerReadonly" }, classAttribute: "bottom" }, providers: [BsDatepickerStore, BsDatepickerEffects], viewQueries: [{ propertyName: "startTimepicker", first: true, predicate: ["startTP"], descendants: true }, { propertyName: "endTimepicker", first: true, predicate: ["endTP"], descendants: true }], usesInheritance: true, ngImport: i0, template: "<!-- days calendar view mode -->\n<div class=\"bs-datepicker\" [ngClass]=\"containerClass\" *ngIf=\"viewMode | async\">\n <div class=\"bs-datepicker-container\"\n [@datepickerAnimation]=\"animationState\"\n (@datepickerAnimation.done)=\"positionServiceEnable()\">\n <!--calendars-->\n <div class=\"bs-calendar-container\" [ngSwitch]=\"viewMode | async\" role=\"application\">\n <!--days calendar-->\n <ng-container *ngSwitchCase=\"'day'\">\n <div class=\"bs-media-container\">\n <bs-days-calendar-view\n *ngFor=\"let calendar of daysCalendar$ | async\"\n [class.bs-datepicker-multiple]=\"multipleCalendars\"\n [calendar]=\"calendar\"\n [isDisabled]=\"isDatePickerDisabled\"\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 <div *ngIf=\"withTimepicker\" class=\"bs-timepicker-in-datepicker-container\">\n <timepicker #startTP [disabled]=\"isDatePickerDisabled\"></timepicker>\n <timepicker #endTP *ngIf=\"isRangePicker\" [disabled]=\"isDatePickerDisabled\"></timepicker>\n </div>\n </ng-container>\n\n <!--months calendar-->\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]=\"multipleCalendars\"\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 <!--years calendar-->\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]=\"multipleCalendars\"\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 <!--applycancel buttons-->\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 <!--custom dates or date ranges picker-->\n <div class=\"bs-datepicker-custom-range\" *ngIf=\"customRanges && 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", dependencies: [{ kind: "directive", type: i6.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i6.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i6.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i6.NgSwitch, selector: "[ngSwitch]", inputs: ["ngSwitch"] }, { kind: "directive", type: i6.NgSwitchCase, selector: "[ngSwitchCase]", inputs: ["ngSwitchCase"] }, { kind: "component", type: i7.TimepickerComponent, selector: "timepicker", inputs: ["hourStep", "minuteStep", "secondsStep", "readonlyInput", "disabled", "mousewheel", "arrowkeys", "showSpinners", "showMeridian", "showMinutes", "showSeconds", "meridians", "min", "max", "hoursPlaceholder", "minutesPlaceholder", "secondsPlaceholder"], outputs: ["isValid", "meridianChange"] }, { kind: "component", type: i8.BsCustomDatesViewComponent, selector: "bs-custom-date-view", inputs: ["ranges", "selectedRange", "customRangeLabel"], outputs: ["onSelect"] }, { kind: "component", type: i9.BsDaysCalendarViewComponent, selector: "bs-days-calendar-view", inputs: ["calendar", "options", "isDisabled"], outputs: ["onNavigate", "onViewMode", "onSelect", "onHover", "onHoverWeek"] }, { kind: "component", type: i10.BsMonthCalendarViewComponent, selector: "bs-month-calendar-view", inputs: ["calendar"], outputs: ["onNavigate", "onViewMode", "onSelect", "onHover"] }, { kind: "component", type: i11.BsYearsCalendarViewComponent, selector: "bs-years-calendar-view", inputs: ["calendar"], outputs: ["onNavigate", "onViewMode", "onSelect", "onHover"] }, { kind: "pipe", type: i6.AsyncPipe, name: "async" }], animations: [datepickerAnimation] }); }
|
239
|
+
}
|
240
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.4", ngImport: i0, type: BsDaterangepickerContainerComponent, decorators: [{
|
241
|
+
type: Component,
|
242
|
+
args: [{ selector: 'bs-daterangepicker-container', providers: [BsDatepickerStore, BsDatepickerEffects], host: {
|
243
|
+
class: 'bottom',
|
244
|
+
'(click)': '_stopPropagation($event)',
|
245
|
+
role: 'dialog',
|
246
|
+
'aria-label': 'calendar'
|
247
|
+
}, animations: [datepickerAnimation], template: "<!-- days calendar view mode -->\n<div class=\"bs-datepicker\" [ngClass]=\"containerClass\" *ngIf=\"viewMode | async\">\n <div class=\"bs-datepicker-container\"\n [@datepickerAnimation]=\"animationState\"\n (@datepickerAnimation.done)=\"positionServiceEnable()\">\n <!--calendars-->\n <div class=\"bs-calendar-container\" [ngSwitch]=\"viewMode | async\" role=\"application\">\n <!--days calendar-->\n <ng-container *ngSwitchCase=\"'day'\">\n <div class=\"bs-media-container\">\n <bs-days-calendar-view\n *ngFor=\"let calendar of daysCalendar$ | async\"\n [class.bs-datepicker-multiple]=\"multipleCalendars\"\n [calendar]=\"calendar\"\n [isDisabled]=\"isDatePickerDisabled\"\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 <div *ngIf=\"withTimepicker\" class=\"bs-timepicker-in-datepicker-container\">\n <timepicker #startTP [disabled]=\"isDatePickerDisabled\"></timepicker>\n <timepicker #endTP *ngIf=\"isRangePicker\" [disabled]=\"isDatePickerDisabled\"></timepicker>\n </div>\n </ng-container>\n\n <!--months calendar-->\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]=\"multipleCalendars\"\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 <!--years calendar-->\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]=\"multipleCalendars\"\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 <!--applycancel buttons-->\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 <!--custom dates or date ranges picker-->\n <div class=\"bs-datepicker-custom-range\" *ngIf=\"customRanges && 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" }]
|
248
|
+
}], ctorParameters: function () { return [{ type: i0.Renderer2 }, { type: i1.BsDatepickerConfig }, { type: i2.BsDatepickerStore }, { type: i0.ElementRef }, { type: i3.BsDatepickerActions }, { type: i4.BsDatepickerEffects }, { type: i5.PositioningService }]; }, propDecorators: { startTimepicker: [{
|
249
|
+
type: ViewChild,
|
250
|
+
args: ['startTP']
|
251
|
+
}], endTimepicker: [{
|
252
|
+
type: ViewChild,
|
253
|
+
args: ['endTP']
|
254
|
+
}], isDatepickerDisabled: [{
|
255
|
+
type: HostBinding,
|
256
|
+
args: ['attr.disabled']
|
257
|
+
}], isDatepickerReadonly: [{
|
258
|
+
type: HostBinding,
|
259
|
+
args: ['attr.readonly']
|
260
|
+
}] } });
|
261
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnMtZGF0ZXJhbmdlcGlja2VyLWNvbnRhaW5lci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9zcmMvZGF0ZXBpY2tlci90aGVtZXMvYnMvYnMtZGF0ZXJhbmdlcGlja2VyLWNvbnRhaW5lci5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9zcmMvZGF0ZXBpY2tlci90aGVtZXMvYnMvYnMtZGF0ZXBpY2tlci12aWV3Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUVMLFNBQVMsRUFDVCxVQUFVLEVBQ1YsWUFBWSxFQUFFLFdBQVcsRUFHekIsU0FBUyxFQUNULFNBQVMsRUFDVixNQUFNLGVBQWUsQ0FBQztBQUV2QixPQUFPLEVBQUUsSUFBSSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFHdEMsT0FBTyxFQUFFLFdBQVcsRUFBRSxRQUFRLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUM5RCxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUMvRCxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUUvRCxPQUFPLEVBQUUsNkJBQTZCLEVBQUUsTUFBTSxvQ0FBb0MsQ0FBQztBQUNuRixPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUVoRSxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxxQ0FBcUMsQ0FBQztBQUMxRSxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxxQ0FBcUMsQ0FBQztBQUMxRSxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxtQ0FBbUMsQ0FBQztBQUN0RSxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQztBQUVsRSxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQzs7Ozs7Ozs7Ozs7OztBQWM1RCxNQUFNLE9BQU8sbUNBQW9DLFNB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VSxtQ0FBbUM7a0dBQW5DLG1DQUFtQyx1VEFWbkMsQ0FBQyxpQkFBaUIsRUFBRSxtQkFBbUIsQ0FBQyxzUEM5QnJELDQzSEE0RkEsOHJERHREYyxDQUFDLG1CQUFtQixDQUFDOzsyRkFFdEIsbUNBQW1DO2tCQVovQyxTQUFTOytCQUNFLDhCQUE4QixhQUM3QixDQUFDLGlCQUFpQixFQUFFLG1CQUFtQixDQUFDLFFBRTdDO3dCQUNKLEtBQUssRUFBRSxRQUFRO3dCQUNmLFNBQVMsRUFBRSwwQkFBMEI7d0JBQ3JDLElBQUksRUFBRSxRQUFRO3dCQUNkLFlBQVksRUFBRSxVQUFVO3FCQUN6QixjQUNXLENBQUMsbUJBQW1CLENBQUM7K1JBaUJYLGVBQWU7c0JBQXBDLFNBQVM7dUJBQUMsU0FBUztnQkFDQSxhQUFhO3NCQUFoQyxTQUFTO3VCQUFDLE9BQU87Z0JBTWlCLG9CQUFvQjtzQkFBdEQsV0FBVzt1QkFBRSxlQUFlO2dCQUlNLG9CQUFvQjtzQkFBdEQsV0FBVzt1QkFBRSxlQUFlIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQWZ0ZXJWaWV3SW5pdCxcbiAgQ29tcG9uZW50LFxuICBFbGVtZW50UmVmLFxuICBFdmVudEVtaXR0ZXIsIEhvc3RCaW5kaW5nLFxuICBPbkRlc3Ryb3ksXG4gIE9uSW5pdCxcbiAgUmVuZGVyZXIyLFxuICBWaWV3Q2hpbGRcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbmltcG9ydCB7IHRha2UgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5pbXBvcnQgeyBTdWJzY3JpcHRpb24gfSBmcm9tICdyeGpzJztcblxuaW1wb3J0IHsgZ2V0RnVsbFllYXIsIGdldE1vbnRoIH0gZnJvbSAnbmd4LWJvb3RzdHJhcC9jaHJvbm9zJztcbmltcG9ydCB7IFBvc2l0aW9uaW5nU2VydmljZSB9IGZyb20gJ25neC1ib290c3RyYXAvcG9zaXRpb25pbmcnO1xuaW1wb3J0IHsgVGltZXBpY2tlckNvbXBvbmVudCB9IGZyb20gJ25neC1ib290c3RyYXAvdGltZXBpY2tlcic7XG5cbmltcG9ydCB7IEJzRGF0ZXBpY2tlckFic3RyYWN0Q29tcG9uZW50IH0gZnJvbSAnLi4vLi4vYmFzZS9icy1kYXRlcGlja2VyLWNvbnRhaW5lcic7XG5pbXBvcnQgeyBCc0RhdGVwaWNrZXJDb25maWcgfSBmcm9tICcuLi8uLi9icy1kYXRlcGlja2VyLmNvbmZpZyc7XG5pbXBvcnQgeyBDYWxlbmRhckNlbGxWaWV3TW9kZWwsIERheVZpZXdNb2RlbCB9IGZyb20gJy4uLy4uL21vZGVscyc7XG5pbXBvcnQgeyBCc0RhdGVwaWNrZXJBY3Rpb25zIH0gZnJvbSAnLi4vLi4vcmVkdWNlci9icy1kYXRlcGlja2VyLmFjdGlvbnMnO1xuaW1wb3J0IHsgQnNEYXRlcGlja2VyRWZmZWN0cyB9IGZyb20gJy4uLy4uL3JlZHVjZXIvYnMtZGF0ZXBpY2tlci5lZmZlY3RzJztcbmltcG9ydCB7IEJzRGF0ZXBpY2tlclN0b3JlIH0gZnJvbSAnLi4vLi4vcmVkdWNlci9icy1kYXRlcGlja2VyLnN0b3JlJztcbmltcG9ydCB7IGRhdGVwaWNrZXJBbmltYXRpb24gfSBmcm9tICcuLi8uLi9kYXRlcGlja2VyLWFuaW1hdGlvbnMnO1xuaW1wb3J0IHsgQnNDdXN0b21EYXRlcyB9IGZyb20gJy4vYnMtY3VzdG9tLWRhdGVzLXZpZXcuY29tcG9uZW50JztcbmltcG9ydCB7IGRheUluTWlsbGlzZWNvbmRzIH0gZnJvbSAnLi4vLi4vcmVkdWNlci9fZGVmYXVsdHMnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdicy1kYXRlcmFuZ2VwaWNrZXItY29udGFpbmVyJyxcbiAgcHJvdmlkZXJzOiBbQnNEYXRlcGlja2VyU3RvcmUsIEJzRGF0ZXBpY2tlckVmZmVjdHNdLFxuICB0ZW1wbGF0ZVVybDogJy4vYnMtZGF0ZXBpY2tlci12aWV3Lmh0bWwnLFxuICBob3N0OiB7XG4gICAgY2xhc3M6ICdib3R0b20nLFxuICAgICcoY2xpY2spJzogJ19zdG9wUHJvcGFnYXRpb24oJGV2ZW50KScsXG4gICAgcm9sZTogJ2RpYWxvZycsXG4gICAgJ2FyaWEtbGFiZWwnOiAnY2FsZW5kYXInXG4gIH0sXG4gIGFuaW1hdGlvbnM6IFtkYXRlcGlja2VyQW5pbWF0aW9uXVxufSlcbmV4cG9ydCBjbGFzcyBCc0RhdGVyYW5nZXBpY2tlckNvbnRhaW5lckNvbXBvbmVudCBleHRlbmRzIEJzRGF0ZXBpY2tlckFic3RyYWN0Q29tcG9uZW50XG4gIGltcGxlbWVudHMgT25Jbml0LCBPbkRlc3Ryb3ksIEFmdGVyVmlld0luaXQge1xuXG4gIHNldCB2YWx1ZSh2YWx1ZTogKERhdGV8dW5kZWZpbmVkKVtdIHwgdW5kZWZpbmVkKSB7XG4gICAgdGhpcy5fZWZmZWN0cz8uc2V0UmFuZ2VWYWx1ZSh2YWx1ZSk7XG4gIH1cblxuICB2YWx1ZUNoYW5nZSA9IG5ldyBFdmVudEVtaXR0ZXI8RGF0ZVtdPigpO1xuICBhbmltYXRpb25TdGF0ZSA9ICd2b2lkJztcblxuICBfcmFuZ2VTdGFjazogRGF0ZVtdID0gW107XG4gIG92ZXJyaWRlIGNob3NlblJhbmdlOiBEYXRlW10gPSBbXTtcbiAgX3N1YnM6IFN1YnNjcmlwdGlvbltdID0gW107XG4gIG92ZXJyaWRlIGlzUmFuZ2VQaWNrZXIgPSB0cnVlO1xuXG4gIEBWaWV3Q2hpbGQoJ3N0YXJ0VFAnKSBzdGFydFRpbWVwaWNrZXI/OiBUaW1lcGlja2VyQ29tcG9uZW50O1xuICBAVmlld0NoaWxkKCdlbmRUUCcpIGVuZFRpbWVwaWNrZXI/OiBUaW1lcGlja2VyQ29tcG9uZW50O1xuXG4gIGdldCBpc0RhdGVQaWNrZXJEaXNhYmxlZCgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gISF0aGlzLl9jb25maWcuaXNEaXNhYmxlZDtcbiAgfVxuXG4gIEBIb3N0QmluZGluZyAoJ2F0dHIuZGlzYWJsZWQnKSBnZXQgaXNEYXRlcGlja2VyRGlzYWJsZWQoKSB7XG4gICAgcmV0dXJuIHRoaXMuaXNEYXRlUGlja2VyRGlzYWJsZWQgPyAnJyA6IG51bGw7XG4gIH1cblxuICBASG9zdEJpbmRpbmcgKCdhdHRyLnJlYWRvbmx5JykgZ2V0IGlzRGF0ZXBpY2tlclJlYWRvbmx5KCkge1xuICAgIHJldHVybiB0aGlzLmlzRGF0ZVBpY2tlckRpc2FibGVkID8gJycgOiBudWxsO1xuICB9XG5cbiAgY29uc3RydWN0b3IoXG4gICAgX3JlbmRlcmVyOiBSZW5kZXJlcjIsXG4gICAgcHJpdmF0ZSBfY29uZmlnOiBCc0RhdGVwaWNrZXJDb25maWcsXG4gICAgcHJpdmF0ZSBfc3RvcmU6IEJzRGF0ZXBpY2tlclN0b3JlLFxuICAgIHByaXZhdGUgX2VsZW1lbnQ6IEVsZW1lbnRSZWYsXG4gICAgcHJpdmF0ZSBfYWN0aW9uczogQnNEYXRlcGlja2VyQWN0aW9ucyxcbiAgICBfZWZmZWN0czogQnNEYXRlcGlja2VyRWZmZWN0cyxcbiAgICBwcml2YXRlIF9wb3NpdGlvblNlcnZpY2U6IFBvc2l0aW9uaW5nU2VydmljZVxuICApIHtcbiAgICBzdXBlcigpO1xuICAgIHRoaXMuX2VmZmVjdHMgPSBfZWZmZWN0cztcblxuICAgIHRoaXMuY3VzdG9tUmFuZ2VzID0gdGhpcy5fY29uZmlnLnJhbmdlcyB8fCBbXTtcbiAgICB0aGlzLmN1c3RvbVJhbmdlQnRuTGJsID0gdGhpcy5fY29uZmlnLmN1c3RvbVJhbmdlQnV0dG9uTGFiZWw7XG5cbiAgICBfcmVuZGVyZXIuc2V0U3R5bGUoX2VsZW1lbnQubmF0aXZlRWxlbWVudCwgJ2Rpc3BsYXknLCAnYmxvY2snKTtcbiAgICBfcmVuZGVyZXIuc2V0U3R5bGUoX2VsZW1lbnQubmF0aXZlRWxlbWVudCwgJ3Bvc2l0aW9uJywgJ2Fic29sdXRlJyk7XG4gIH1cblxuICBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICB0aGlzLl9wb3NpdGlvblNlcnZpY2Uuc2V0T3B0aW9ucyh7XG4gICAgICBtb2RpZmllcnM6IHtcbiAgICAgICAgZmxpcDoge1xuICAgICAgICAgIGVuYWJsZWQ6IHRoaXMuX2NvbmZpZy5hZGFwdGl2ZVBvc2l0aW9uXG4gICAgICAgIH0sXG4gICAgICAgIHByZXZlbnRPdmVyZmxvdzoge1xuICAgICAgICAgIGVuYWJsZWQ6IHRoaXMuX2NvbmZpZy5hZGFwdGl2ZVBvc2l0aW9uXG4gICAgICAgIH1cbiAgICAgIH0sXG4gICAgICBhbGxvd2VkUG9zaXRpb25zOiB0aGlzLl9jb25maWcuYWxsb3dlZFBvc2l0aW9uc1xuICAgIH0pO1xuXG4gICAgdGhpcy5fcG9zaXRpb25TZXJ2aWNlLmV2ZW50JD8ucGlwZSh0YWtlKDEpKVxuICAgICAgLnN1YnNjcmliZSgoKSA9PiB7XG4gICAgICAgIHRoaXMuX3Bvc2l0aW9uU2VydmljZS5kaXNhYmxlKCk7XG5cbiAgICAgICAgaWYgKHRoaXMuX2NvbmZpZy5pc0FuaW1hdGVkKSB7XG4gICAgICAgICAgdGhpcy5hbmltYXRpb25TdGF0ZSA9IHRoaXMuaXNUb3BQb3NpdGlvbiA/ICdhbmltYXRlZC11cCcgOiAnYW5pbWF0ZWQtZG93bic7XG5cbiAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cblxuICAgICAgICB0aGlzLmFuaW1hdGlvblN0YXRlID0gJ3VuYW5pbWF0ZWQnO1xuICAgICAgfSk7XG4gICAgdGhpcy5jb250YWluZXJDbGFzcyA9IHRoaXMuX2NvbmZpZy5jb250YWluZXJDbGFzcztcbiAgICB0aGlzLmlzT3RoZXJNb250aHNBY3RpdmUgPSB0aGlzLl9jb25maWcuc2VsZWN0RnJvbU90aGVyTW9udGg7XG4gICAgdGhpcy53aXRoVGltZXBpY2tlciA9IHRoaXMuX2NvbmZpZy53aXRoVGltZXBpY2tlcjtcbiAgICB0aGlzLl9lZmZlY3RzPy5pbml0KHRoaXMuX3N0b3JlKVxuICAgICAgLy8gaW50aWFsIHN0YXRlIG9wdGlvbnNcbiAgICAgIC8vIHRvZG86IGZpeCB0aGlzLCBzcGxpdCBjb25maWdzXG4gICAgICAuc2V0T3B0aW9ucyh0aGlzLl9jb25maWcpXG4gICAgICAvLyBkYXRhIGJpbmRpbmcgdmlldyAtLT4gbW9kZWxcbiAgICAgIC5zZXRCaW5kaW5ncyh0aGlzKVxuICAgICAgLy8gc2V0IGV2ZW50IGhhbmRsZXJzXG4gICAgICAuc2V0RXZlbnRIYW5kbGVycyh0aGlzKVxuICAgICAgLnJlZ2lzdGVyRGF0ZXBpY2tlclNpZGVFZmZlY3RzKCk7XG4gICAgbGV0IGN1cnJlbnREYXRlOiBEYXRlW10gfCB1bmRlZmluZWQ7XG4gICAgLy8gdG9kbzogbW92ZSBpdCBzb21ld2hlcmUgZWxzZVxuICAgIC8vIG9uIHNlbGVjdGVkIGRhdGUgY2hhbmdlXG4gICAgdGhpcy5fc3Vicy5wdXNoKFxuICAgICAgdGhpcy5fc3RvcmVcbiAgICAgICAgLnNlbGVjdChzdGF0ZSA9PiBzdGF0ZS5zZWxlY3RlZFJhbmdlKVxuICAgICAgICAuc3Vic2NyaWJlKGRhdGVSYW5nZSA9PiB7XG4gICAgICAgICAgY3VycmVudERhdGUgPSBkYXRlUmFuZ2U7XG4gICAgICAgICAgdGhpcy52YWx1ZUNoYW5nZS5lbWl0KGRhdGVSYW5nZSk7XG4gICAgICAgICAgdGhpcy5jaG9zZW5SYW5nZSA9IGRhdGVSYW5nZSB8fCBbXTtcbiAgICAgICAgfSlcbiAgICApO1xuXG4gICAgdGhpcy5fc3Vicy5wdXNoKFxuICAgICAgdGhpcy5fc3RvcmVcbiAgICAgICAgLnNlbGVjdChzdGF0ZSA9PiBzdGF0ZS5zZWxlY3RlZFRpbWUpXG4gICAgICAgIC5zdWJzY3JpYmUoKHRpbWU6YW55KSA9PiB7XG4gICAgICAgICAgaWYgKCghdGltZVswXSB8fCAhdGltZVsxXSkgfHxcbiAgICAgICAgICAgICAoISh0aW1lWzBdIGluc3RhbmNlb2YgRGF0ZSkgfHwgISh0aW1lWzFdIGluc3RhbmNlb2YgRGF0ZSkpIHx8XG4gICAgICAgICAgICAgKGN1cnJlbnREYXRlICYmICh0aW1lWzBdID09PSBjdXJyZW50RGF0ZVswXSAmJiB0aW1lWzFdID09PSBjdXJyZW50RGF0ZVsxXSkpXG4gICAgICAgICAgKSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgdGhpcy52YWx1ZUNoYW5nZS5lbWl0KHRpbWUpO1xuICAgICAgICAgIHRoaXMuY2hvc2VuUmFuZ2UgPSB0aW1lIHx8IFtdO1xuICAgICAgICB9KVxuICAgICk7XG4gIH1cblxuICBuZ0FmdGVyVmlld0luaXQoKTogdm9pZCB7XG4gICAgdGhpcy5zZWxlY3RlZFRpbWVTdWIuYWRkKHRoaXMuc2VsZWN0ZWRUaW1lPy5zdWJzY3JpYmUoKHZhbCkgPT4ge1xuICAgICAgaWYgKEFycmF5LmlzQXJyYXkodmFsKSAmJiB2YWwubGVuZ3RoID49IDIpIHtcbiAgICAgICAgdGhpcy5zdGFydFRpbWVwaWNrZXI/LndyaXRlVmFsdWUodmFsWzBdKTtcbiAgICAgICAgdGhpcy5lbmRUaW1lcGlja2VyPy53cml0ZVZhbHVlKHZhbFsxXSk7XG4gICAgICB9XG4gICAgfSkpO1xuICAgIHRoaXMuc3RhcnRUaW1lcGlja2VyPy5yZWdpc3Rlck9uQ2hhbmdlKCh2YWwpID0+IHtcbiAgICAgIHRoaXMudGltZVNlbGVjdEhhbmRsZXIodmFsLCAwKTtcbiAgICB9KTtcbiAgICB0aGlzLmVuZFRpbWVwaWNrZXI/LnJlZ2lzdGVyT25DaGFuZ2UoKHZhbCkgPT4ge1xuICAgICAgdGhpcy50aW1lU2VsZWN0SGFuZGxlcih2YWwsIDEpO1xuICAgIH0pO1xuICB9XG5cbiAgZ2V0IGlzVG9wUG9zaXRpb24oKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMuX2VsZW1lbnQubmF0aXZlRWxlbWVudC5jbGFzc0xpc3QuY29udGFpbnMoJ3RvcCcpO1xuICB9XG5cbiAgcG9zaXRpb25TZXJ2aWNlRW5hYmxlKCk6IHZvaWQge1xuICAgIHRoaXMuX3Bvc2l0aW9uU2VydmljZS5lbmFibGUoKTtcbiAgfVxuXG4gIG92ZXJyaWRlIHRpbWVTZWxlY3RIYW5kbGVyKGRhdGU6IERhdGUsIGluZGV4OiBudW1iZXIpOiB2b2lkIHtcbiAgICB0aGlzLl9zdG9yZS5kaXNwYXRjaCh0aGlzLl9hY3Rpb25zLnNlbGVjdFRpbWUoZGF0ZSwgaW5kZXgpKTtcbiAgfVxuXG4gIG92ZXJyaWRlIGRheVNlbGVjdEhhbmRsZXIoZGF5OiBEYXlWaWV3TW9kZWwpOiB2b2lkIHtcbiAgICBpZiAoIWRheSkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICBjb25zdCBpc0Rpc2FibGVkID0gdGhpcy5pc090aGVyTW9udGhzQWN0aXZlID8gZGF5LmlzRGlzYWJsZWQgOiAoZGF5LmlzT3RoZXJNb250aCB8fCBkYXkuaXNEaXNhYmxlZCk7XG5cbiAgICBpZiAoaXNEaXNhYmxlZCkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICB0aGlzLnJhbmdlc1Byb2Nlc3NpbmcoZGF5KTtcbiAgfVxuXG4gIG92ZXJyaWRlIG1vbnRoU2VsZWN0SGFuZGxlcihkYXk6IENhbGVuZGFyQ2VsbFZpZXdNb2RlbCk6IHZvaWQge1xuICAgIGlmICghZGF5IHx8IGRheS5pc0Rpc2FibGVkKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgZGF5LmlzU2VsZWN0ZWQgPSB0cnVlO1xuXG4gICAgaWYgKHRoaXMuX2NvbmZpZy5taW5Nb2RlICE9PSAnbW9udGgnKSB7XG4gICAgICBpZiAoZGF5LmlzRGlzYWJsZWQpIHtcbiAgICAgICAgcmV0dXJuO1xuICAgICAgfVxuICAgICAgdGhpcy5fc3RvcmUuZGlzcGF0Y2goXG4gICAgICAgIHRoaXMuX2FjdGlvbnMubmF2aWdhdGVUbyh7XG4gICAgICAgICAgdW5pdDoge1xuICAgICAgICAgICAgbW9udGg6IGdldE1vbnRoKGRheS5kYXRlKSxcbiAgICAgICAgICAgIHllYXI6IGdldEZ1bGxZZWFyKGRheS5kYXRlKVxuICAgICAgICAgIH0sXG4gICAgICAgICAgdmlld01vZGU6ICdkYXknXG4gICAgICAgIH0pXG4gICAgICApO1xuXG4gICAgICByZXR1cm47XG4gICAgfVxuICAgIHRoaXMucmFuZ2VzUHJvY2Vzc2luZyhkYXkpO1xuICB9XG5cbiAgb3ZlcnJpZGUgeWVhclNlbGVjdEhhbmRsZXIoZGF5OiBDYWxlbmRhckNlbGxWaWV3TW9kZWwpOiB2b2lkIHtcbiAgICBpZiAoIWRheSB8fCBkYXkuaXNEaXNhYmxlZCkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIGRheS5pc1NlbGVjdGVkID0gdHJ1ZTtcblxuICAgIGlmICh0aGlzLl9jb25maWcubWluTW9kZSAhPT0gJ3llYXInKSB7XG4gICAgICBpZiAoZGF5LmlzRGlzYWJsZWQpIHtcbiAgICAgICAgcmV0dXJuO1xuICAgICAgfVxuICAgICAgdGhpcy5fc3RvcmUuZGlzcGF0Y2goXG4gICAgICAgIHRoaXMuX2FjdGlvbnMubmF2aWdhdGVUbyh7XG4gICAgICAgICAgdW5pdDoge1xuICAgICAgICAgICAgeWVhcjogZ2V0RnVsbFllYXIoZGF5LmRhdGUpXG4gICAgICAgICAgfSxcbiAgICAgICAgICB2aWV3TW9kZTogJ21vbnRoJ1xuICAgICAgICB9KVxuICAgICAgKTtcblxuICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICB0aGlzLnJhbmdlc1Byb2Nlc3NpbmcoZGF5KTtcbiAgfVxuXG4gIHJhbmdlc1Byb2Nlc3NpbmcoZGF5OiBDYWxlbmRhckNlbGxWaWV3TW9kZWwpOiB2b2lkIHtcbiAgICAvLyBpZiBvbmx5IG9uZSBkYXRlIGlzIGFscmVhZHkgc2VsZWN0ZWRcbiAgICAvLyBhbmQgdXNlciBjbGlja3Mgb24gcHJldmlvdXMgZGF0ZVxuICAgIC8vIHN0YXJ0IHNlbGVjdGlvbiBmcm9tIG5ldyBkYXRlXG4gICAgLy8gYnV0IGlmIG5ldyBkYXRlIGlzIGFmdGVyIGluaXRpYWwgb25lXG4gICAgLy8gdGhhbiBmaW5pc2ggc2VsZWN0aW9uXG5cbiAgICBpZiAodGhpcy5fcmFuZ2VTdGFjay5sZW5ndGggPT09IDEpIHtcbiAgICAgIHRoaXMuX3JhbmdlU3RhY2sgPVxuICAgICAgICBkYXkuZGF0ZSA+PSB0aGlzLl9yYW5nZVN0YWNrWzBdXG4gICAgICAgICAgPyBbdGhpcy5fcmFuZ2VTdGFja1swXSwgZGF5LmRhdGVdXG4gICAgICAgICAgOiAgW2RheS5kYXRlXTtcbiAgICB9XG5cbiAgICBpZiAodGhpcy5fY29uZmlnLm1heERhdGVSYW5nZSkge1xuICAgICAgdGhpcy5zZXRNYXhEYXRlUmFuZ2VPbkNhbGVuZGFyKGRheS5kYXRlKTtcbiAgICB9XG5cbiAgICBpZiAodGhpcy5fcmFuZ2VTdGFjay5sZW5ndGggPT09IDApIHtcbiAgICAgIHRoaXMuX3JhbmdlU3RhY2sgPSBbZGF5LmRhdGVdO1xuXG4gICAgICBpZiAodGhpcy5fY29uZmlnLm1heERhdGVSYW5nZSkge1xuICAgICAgICB0aGlzLnNldE1heERhdGVSYW5nZU9uQ2FsZW5kYXIoZGF5LmRhdGUpO1xuICAgICAgfVxuICAgIH1cblxuICAgIHRoaXMuX3N0b3JlLmRpc3BhdGNoKHRoaXMuX2FjdGlvbnMuc2VsZWN0UmFuZ2UodGhpcy5fcmFuZ2VTdGFjaykpO1xuXG4gICAgaWYgKHRoaXMuX3JhbmdlU3RhY2subGVuZ3RoID09PSAyKSB7XG4gICAgICB0aGlzLl9yYW5nZVN0YWNrID0gW107XG4gICAgfVxuICB9XG5cbiAgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgZm9yIChjb25zdCBzdWIgb2YgdGhpcy5fc3Vicykge1xuICAgICAgc3ViLnVuc3Vic2NyaWJlKCk7XG4gICAgfVxuICAgIHRoaXMuc2VsZWN0ZWRUaW1lU3ViLnVuc3Vic2NyaWJlKCk7XG4gICAgdGhpcy5fZWZmZWN0cz8uZGVzdHJveSgpO1xuICB9XG5cbiAgb3ZlcnJpZGUgc2V0UmFuZ2VPbkNhbGVuZGFyKGRhdGVzOiBCc0N1c3RvbURhdGVzKTogdm9pZCB7XG4gICAgaWYgKGRhdGVzKSB7XG4gICAgICB0aGlzLl9yYW5nZVN0YWNrID0gZGF0ZXMudmFsdWUgaW5zdGFuY2VvZiBEYXRlID8gW2RhdGVzLnZhbHVlXSA6IGRhdGVzLnZhbHVlO1xuICAgIH1cbiAgICB0aGlzLl9zdG9yZS5kaXNwYXRjaCh0aGlzLl9hY3Rpb25zLnNlbGVjdFJhbmdlKHRoaXMuX3JhbmdlU3RhY2spKTtcbiAgfVxuXG4gIHNldE1heERhdGVSYW5nZU9uQ2FsZW5kYXIoY3VycmVudFNlbGVjdGlvbjogRGF0ZSk6IHZvaWQge1xuICAgIGxldCBtYXhEYXRlUmFuZ2UgPSBuZXcgRGF0ZShjdXJyZW50U2VsZWN0aW9uKTtcblxuICAgIGlmICh0aGlzLl9jb25maWcubWF4RGF0ZSkge1xuICAgICAgY29uc3QgbWF4RGF0ZVZhbHVlSW5NaWxsaXNlY29uZHMgPSB0aGlzLl9jb25maWcubWF4RGF0ZS5nZXRUaW1lKCk7XG4gICAgICBjb25zdCBtYXhEYXRlUmFuZ2VJbk1pbGxpc2Vjb25kcyA9IGN1cnJlbnRTZWxlY3Rpb24uZ2V0VGltZSgpICsgKCh0aGlzLl9jb25maWcubWF4RGF0ZVJhbmdlIHx8IDApICogZGF5SW5NaWxsaXNlY29uZHMgKTtcbiAgICAgIG1heERhdGVSYW5nZSA9IG1heERhdGVSYW5nZUluTWlsbGlzZWNvbmRzID4gbWF4RGF0ZVZhbHVlSW5NaWxsaXNlY29uZHMgP1xuICAgICAgICBuZXcgRGF0ZSh0aGlzLl9jb25maWcubWF4RGF0ZSkgOlxuICAgICAgICBuZXcgRGF0ZShtYXhEYXRlUmFuZ2VJbk1pbGxpc2Vjb25kcyk7XG4gICAgfSBlbHNlIHtcbiAgICAgIG1heERhdGVSYW5nZS5zZXREYXRlKGN1cnJlbnRTZWxlY3Rpb24uZ2V0RGF0ZSgpICsgKHRoaXMuX2NvbmZpZy5tYXhEYXRlUmFuZ2UgfHwgMCkpO1xuICAgIH1cblxuICAgIHRoaXMuX2VmZmVjdHM/LnNldE1heERhdGUobWF4RGF0ZVJhbmdlKTtcbiAgfVxufVxuIiwiPCEtLSBkYXlzIGNhbGVuZGFyIHZpZXcgbW9kZSAtLT5cbjxkaXYgY2xhc3M9XCJicy1kYXRlcGlja2VyXCIgW25nQ2xhc3NdPVwiY29udGFpbmVyQ2xhc3NcIiAqbmdJZj1cInZpZXdNb2RlIHwgYXN5bmNcIj5cbiAgPGRpdiBjbGFzcz1cImJzLWRhdGVwaWNrZXItY29udGFpbmVyXCJcbiAgICBbQGRhdGVwaWNrZXJBbmltYXRpb25dPVwiYW5pbWF0aW9uU3RhdGVcIlxuICAgIChAZGF0ZXBpY2tlckFuaW1hdGlvbi5kb25lKT1cInBvc2l0aW9uU2VydmljZUVuYWJsZSgpXCI+XG4gICAgPCEtLWNhbGVuZGFycy0tPlxuICAgIDxkaXYgY2xhc3M9XCJicy1jYWxlbmRhci1jb250YWluZXJcIiBbbmdTd2l0Y2hdPVwidmlld01vZGUgfCBhc3luY1wiIHJvbGU9XCJhcHBsaWNhdGlvblwiPlxuICAgICAgPCEtLWRheXMgY2FsZW5kYXItLT5cbiAgICAgIDxuZy1jb250YWluZXIgKm5nU3dpdGNoQ2FzZT1cIidkYXknXCI+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJicy1tZWRpYS1jb250YWluZXJcIj5cbiAgICAgICAgICA8YnMtZGF5cy1jYWxlbmRhci12aWV3XG4gICAgICAgICAgICAqbmdGb3I9XCJsZXQgY2FsZW5kYXIgb2YgZGF5c0NhbGVuZGFyJCB8IGFzeW5jXCJcbiAgICAgICAgICAgIFtjbGFzcy5icy1kYXRlcGlja2VyLW11bHRpcGxlXT1cIm11bHRpcGxlQ2FsZW5kYXJzXCJcbiAgICAgICAgICAgIFtjYWxlbmRhcl09XCJjYWxlbmRhclwiXG4gICAgICAgICAgICBbaXNEaXNhYmxlZF09XCJpc0RhdGVQaWNrZXJEaXNhYmxlZFwiXG4gICAgICAgICAgICBbb3B0aW9uc109XCJvcHRpb25zJCB8IGFzeW5jXCJcbiAgICAgICAgICAgIChvbk5hdmlnYXRlKT1cIm5hdmlnYXRlVG8oJGV2ZW50KVwiXG4gICAgICAgICAgICAob25WaWV3TW9kZSk9XCJzZXRWaWV3TW9kZSgkZXZlbnQpXCJcbiAgICAgICAgICAgIChvbkhvdmVyKT1cImRheUhvdmVySGFuZGxlcigkZXZlbnQpXCJcbiAgICAgICAgICAgIChvbkhvdmVyV2Vlayk9XCJ3ZWVrSG92ZXJIYW5kbGVyKCRldmVudClcIlxuICAgICAgICAgICAgKG9uU2VsZWN0KT1cImRheVNlbGVjdEhhbmRsZXIoJGV2ZW50KVwiPlxuICAgICAgICAgIDwvYnMtZGF5cy1jYWxlbmRhci12aWV3PlxuICAgICAgICA8L2Rpdj5cbiAgICAgICAgPGRpdiAqbmdJZj1cIndpdGhUaW1lcGlja2VyXCIgY2xhc3M9XCJicy10aW1lcGlja2VyLWluLWRhdGVwaWNrZXItY29udGFpbmVyXCI+XG4gICAgICAgICAgPHRpbWVwaWNrZXIgI3N0YXJ0VFAgW2Rpc2FibGVkXT1cImlzRGF0ZVBpY2tlckRpc2FibGVkXCI+PC90aW1lcGlja2VyPlxuICAgICAgICAgIDx0aW1lcGlja2VyICNlbmRUUCAqbmdJZj1cImlzUmFuZ2VQaWNrZXJcIiBbZGlzYWJsZWRdPVwiaXNEYXRlUGlja2VyRGlzYWJsZWRcIj48L3RpbWVwaWNrZXI+XG4gICAgICAgIDwvZGl2PlxuICAgICAgPC9uZy1jb250YWluZXI+XG5cbiAgICAgIDwhLS1tb250aHMgY2FsZW5kYXItLT5cbiAgICAgIDxkaXYgKm5nU3dpdGNoQ2FzZT1cIidtb250aCdcIiBjbGFzcz1cImJzLW1lZGlhLWNvbnRhaW5lclwiPlxuICAgICAgICA8YnMtbW9udGgtY2FsZW5kYXItdmlld1xuICAgICAgICAgICpuZ0Zvcj1cImxldCBjYWxlbmRhciBvZiBtb250aHNDYWxlbmRhciB8IGFzeW5jXCJcbiAgICAgICAgICBbY2xhc3MuYnMtZGF0ZXBpY2tlci1tdWx0aXBsZV09XCJtdWx0aXBsZUNhbGVuZGFyc1wiXG4gICAgICAgICAgW2NhbGVuZGFyXT1cImNhbGVuZGFyXCJcbiAgICAgICAgICAob25OYXZpZ2F0ZSk9XCJuYXZpZ2F0ZVRvKCRldmVudClcIlxuICAgICAgICAgIChvblZpZXdNb2RlKT1cInNldFZpZXdNb2RlKCRldmVudClcIlxuICAgICAgICAgIChvbkhvdmVyKT1cIm1vbnRoSG92ZXJIYW5kbGVyKCRldmVudClcIlxuICAgICAgICAgIChvblNlbGVjdCk9XCJtb250aFNlbGVjdEhhbmRsZXIoJGV2ZW50KVwiPlxuICAgICAgICA8L2JzLW1vbnRoLWNhbGVuZGFyLXZpZXc+XG4gICAgICA8L2Rpdj5cblxuICAgICAgPCEtLXllYXJzIGNhbGVuZGFyLS0+XG4gICAgICA8ZGl2ICpuZ1N3aXRjaENhc2U9XCIneWVhcidcIiBjbGFzcz1cImJzLW1lZGlhLWNvbnRhaW5lclwiPlxuICAgICAgICA8YnMteWVhcnMtY2FsZW5kYXItdmlld1xuICAgICAgICAgICpuZ0Zvcj1cImxldCBjYWxlbmRhciBvZiB5ZWFyc0NhbGVuZGFyIHwgYXN5bmNcIlxuICAgICAgICAgIFtjbGFzcy5icy1kYXRlcGlja2VyLW11bHRpcGxlXT1cIm11bHRpcGxlQ2FsZW5kYXJzXCJcbiAgICAgICAgICBbY2FsZW5kYXJdPVwiY2FsZW5kYXJcIlxuICAgICAgICAgIChvbk5hdmlnYXRlKT1cIm5hdmlnYXRlVG8oJGV2ZW50KVwiXG4gICAgICAgICAgKG9uVmlld01vZGUpPVwic2V0Vmlld01vZGUoJGV2ZW50KVwiXG4gICAgICAgICAgKG9uSG92ZXIpPVwieWVhckhvdmVySGFuZGxlcigkZXZlbnQpXCJcbiAgICAgICAgICAob25TZWxlY3QpPVwieWVhclNlbGVjdEhhbmRsZXIoJGV2ZW50KVwiPlxuICAgICAgICA8L2JzLXllYXJzLWNhbGVuZGFyLXZpZXc+XG4gICAgICA8L2Rpdj5cbiAgICA8L2Rpdj5cblxuICAgIDwhLS1hcHBseWNhbmNlbCBidXR0b25zLS0+XG4gICAgPGRpdiBjbGFzcz1cImJzLWRhdGVwaWNrZXItYnV0dG9uc1wiICpuZ0lmPVwiZmFsc2VcIj5cbiAgICAgIDxidXR0b24gY2xhc3M9XCJidG4gYnRuLXN1Y2Nlc3NcIiB0eXBlPVwiYnV0dG9uXCI+QXBwbHk8L2J1dHRvbj5cbiAgICAgIDxidXR0b24gY2xhc3M9XCJidG4gYnRuLWRlZmF1bHRcIiB0eXBlPVwiYnV0dG9uXCI+Q2FuY2VsPC9idXR0b24+XG4gICAgPC9kaXY+XG5cbiAgICA8ZGl2IGNsYXNzPVwiYnMtZGF0ZXBpY2tlci1idXR0b25zXCIgKm5nSWY9XCJzaG93VG9kYXlCdG4gfHwgc2hvd0NsZWFyQnRuXCI+XG4gICAgICA8ZGl2IGNsYXNzPVwiYnRuLXRvZGF5LXdyYXBwZXJcIlxuICAgICAgICAgICBbY2xhc3MudG9kYXktbGVmdF09XCJ0b2RheVBvcyA9PT0gJ2xlZnQnXCJcbiAgICAgICAgICAgW2NsYXNzLnRvZGF5LXJpZ2h0XT1cInRvZGF5UG9zID09PSAncmlnaHQnXCJcbiAgICAgICAgICAgW2NsYXNzLnRvZGF5LWNlbnRlcl09XCJ0b2RheVBvcyA9PT0gJ2NlbnRlcidcIlxuICAgICAgICAgICAqbmdJZj1cInNob3dUb2RheUJ0blwiPlxuICAgICAgICA8YnV0dG9uIGNsYXNzPVwiYnRuIGJ0bi1zdWNjZXNzXCIgKGNsaWNrKT1cInNldFRvZGF5KClcIj57e3RvZGF5QnRuTGJsfX08L2J1dHRvbj5cbiAgICAgIDwvZGl2PlxuXG4gICAgICAgIDxkaXYgY2xhc3M9XCJidG4tY2xlYXItd3JhcHBlclwiXG4gICAgICAgIFtjbGFzcy5jbGVhci1sZWZ0XT1cImNsZWFyUG9zID09PSAnbGVmdCdcIlxuICAgICAgICBbY2xhc3MuY2xlYXItcmlnaHRdPVwiY2xlYXJQb3MgPT09ICdyaWdodCdcIlxuICAgICAgICBbY2xhc3MuY2xlYXItY2VudGVyXT1cImNsZWFyUG9zID09PSAnY2VudGVyJ1wiXG4gICAgICAgICpuZ0lmPVwic2hvd0NsZWFyQnRuXCI+XG4gICAgICAgICAgPGJ1dHRvbiBjbGFzcz1cImJ0biBidG4tc3VjY2Vzc1wiIChjbGljayk9XCJjbGVhckRhdGUoKVwiPnt7Y2xlYXJCdG5MYmx9fTwvYnV0dG9uPlxuICAgICAgICA8L2Rpdj5cbiAgICA8L2Rpdj5cblxuICA8L2Rpdj5cblxuICA8IS0tY3VzdG9tIGRhdGVzIG9yIGRhdGUgcmFuZ2VzIHBpY2tlci0tPlxuICA8ZGl2IGNsYXNzPVwiYnMtZGF0ZXBpY2tlci1jdXN0b20tcmFuZ2VcIiAqbmdJZj1cImN1c3RvbVJhbmdlcyAmJiBjdXN0b21SYW5nZXMubGVuZ3RoID4gMFwiPlxuICAgIDxicy1jdXN0b20tZGF0ZS12aWV3XG4gICAgICBbc2VsZWN0ZWRSYW5nZV09XCJjaG9zZW5SYW5nZVwiXG4gICAgICBbcmFuZ2VzXT1cImN1c3RvbVJhbmdlc1wiXG4gICAgICBbY3VzdG9tUmFuZ2VMYWJlbF09XCJjdXN0b21SYW5nZUJ0bkxibFwiXG4gICAgICAob25TZWxlY3QpPVwic2V0UmFuZ2VPbkNhbGVuZGFyKCRldmVudClcIj5cbiAgICA8L2JzLWN1c3RvbS1kYXRlLXZpZXc+XG4gIDwvZGl2PlxuPC9kaXY+XG4iXX0=
|