ngx-bootstrap 5.6.1 → 6.2.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +127 -0
- package/README.md +8 -1
- package/accordion/accordion-group.component.d.ts +3 -2
- package/accordion/accordion.module.d.ts +1 -1
- package/accordion/bundles/ngx-bootstrap-accordion.umd.js +5 -2
- package/accordion/bundles/ngx-bootstrap-accordion.umd.js.map +1 -1
- package/accordion/bundles/ngx-bootstrap-accordion.umd.min.js +1 -1
- package/accordion/bundles/ngx-bootstrap-accordion.umd.min.js.map +1 -1
- package/accordion/esm2015/accordion.config.js +6 -2
- package/accordion/esm2015/accordion.module.js +2 -3
- package/accordion/esm5/accordion.config.js +6 -2
- package/accordion/esm5/accordion.module.js +2 -3
- package/accordion/fesm2015/ngx-bootstrap-accordion.js +6 -3
- package/accordion/fesm2015/ngx-bootstrap-accordion.js.map +1 -1
- package/accordion/fesm5/ngx-bootstrap-accordion.js +6 -3
- package/accordion/fesm5/ngx-bootstrap-accordion.js.map +1 -1
- package/accordion/ngx-bootstrap-accordion.metadata.json +1 -1
- package/accordion/package.json +2 -2
- package/alert/alert.module.d.ts +1 -1
- package/alert/bundles/ngx-bootstrap-alert.umd.js +5 -2
- package/alert/bundles/ngx-bootstrap-alert.umd.js.map +1 -1
- package/alert/bundles/ngx-bootstrap-alert.umd.min.js +2 -2
- package/alert/bundles/ngx-bootstrap-alert.umd.min.js.map +1 -1
- package/alert/esm2015/alert.component.js +3 -3
- package/alert/esm2015/alert.config.js +6 -2
- package/alert/esm2015/alert.module.js +2 -3
- package/alert/esm5/alert.component.js +3 -3
- package/alert/esm5/alert.config.js +6 -2
- package/alert/esm5/alert.module.js +2 -3
- package/alert/fesm2015/ngx-bootstrap-alert.js +6 -3
- package/alert/fesm2015/ngx-bootstrap-alert.js.map +1 -1
- package/alert/fesm5/ngx-bootstrap-alert.js +6 -3
- package/alert/fesm5/ngx-bootstrap-alert.js.map +1 -1
- package/alert/ngx-bootstrap-alert.metadata.json +1 -1
- package/alert/package.json +2 -2
- package/buttons/bundles/ngx-bootstrap-buttons.umd.js +293 -16
- package/buttons/bundles/ngx-bootstrap-buttons.umd.js.map +1 -1
- package/buttons/bundles/ngx-bootstrap-buttons.umd.min.js +1 -1
- package/buttons/bundles/ngx-bootstrap-buttons.umd.min.js.map +1 -1
- package/buttons/button-checkbox.directive.d.ts +2 -2
- package/buttons/button-radio-group.directive.d.ts +12 -1
- package/buttons/button-radio.directive.d.ts +19 -7
- package/buttons/buttons.module.d.ts +1 -1
- package/buttons/esm2015/button-radio-group.directive.js +140 -3
- package/buttons/esm2015/button-radio.directive.js +98 -18
- package/buttons/esm2015/buttons.module.js +1 -1
- package/buttons/esm5/button-radio-group.directive.js +171 -3
- package/buttons/esm5/button-radio.directive.js +126 -17
- package/buttons/esm5/buttons.module.js +1 -1
- package/buttons/fesm2015/ngx-bootstrap-buttons.js +235 -18
- package/buttons/fesm2015/ngx-bootstrap-buttons.js.map +1 -1
- package/buttons/fesm5/ngx-bootstrap-buttons.js +294 -17
- package/buttons/fesm5/ngx-bootstrap-buttons.js.map +1 -1
- package/buttons/ngx-bootstrap-buttons.metadata.json +1 -1
- package/buttons/package.json +2 -2
- package/carousel/bundles/ngx-bootstrap-carousel.umd.js +5 -3
- package/carousel/bundles/ngx-bootstrap-carousel.umd.js.map +1 -1
- package/carousel/bundles/ngx-bootstrap-carousel.umd.min.js +1 -1
- package/carousel/bundles/ngx-bootstrap-carousel.umd.min.js.map +1 -1
- package/carousel/carousel.component.d.ts +7 -5
- package/carousel/carousel.module.d.ts +1 -1
- package/carousel/esm2015/carousel.config.js +6 -2
- package/carousel/esm2015/carousel.module.js +2 -4
- package/carousel/esm5/carousel.component.js +4 -4
- package/carousel/esm5/carousel.config.js +6 -2
- package/carousel/esm5/carousel.module.js +2 -4
- package/carousel/fesm2015/ngx-bootstrap-carousel.js +6 -4
- package/carousel/fesm2015/ngx-bootstrap-carousel.js.map +1 -1
- package/carousel/fesm5/ngx-bootstrap-carousel.js +6 -4
- package/carousel/fesm5/ngx-bootstrap-carousel.js.map +1 -1
- package/carousel/ngx-bootstrap-carousel.metadata.json +1 -1
- package/carousel/package.json +2 -2
- package/chronos/bundles/ngx-bootstrap-chronos.umd.js +90 -73
- package/chronos/bundles/ngx-bootstrap-chronos.umd.js.map +1 -1
- package/chronos/bundles/ngx-bootstrap-chronos.umd.min.js +69 -1
- package/chronos/bundles/ngx-bootstrap-chronos.umd.min.js.map +1 -1
- package/chronos/esm2015/create/from-anything.js +2 -2
- package/chronos/esm2015/duration/valid.js +4 -6
- package/chronos/esm2015/i18n/ar.js +1 -4
- package/chronos/esm2015/i18n/bg.js +18 -20
- package/chronos/esm2015/i18n/cs.js +45 -47
- package/chronos/esm2015/i18n/et.js +1 -3
- package/chronos/esm2015/i18n/th-be.js +21 -1
- package/chronos/esm2015/locale/locale.class.js +5 -3
- package/chronos/esm5/create/from-anything.js +2 -2
- package/chronos/esm5/duration/valid.js +4 -6
- package/chronos/esm5/i18n/ar.js +1 -4
- package/chronos/esm5/i18n/bg.js +18 -20
- package/chronos/esm5/i18n/cs.js +45 -47
- package/chronos/esm5/i18n/et.js +1 -3
- package/chronos/esm5/i18n/th-be.js +21 -1
- package/chronos/esm5/locale/locale.class.js +6 -3
- package/chronos/esm5/test/chain.js +4 -4
- package/chronos/fesm2015/ngx-bootstrap-chronos.js +89 -73
- package/chronos/fesm2015/ngx-bootstrap-chronos.js.map +1 -1
- package/chronos/fesm5/ngx-bootstrap-chronos.js +90 -73
- package/chronos/fesm5/ngx-bootstrap-chronos.js.map +1 -1
- package/chronos/locale/locale.class.d.ts +4 -3
- package/chronos/package.json +2 -2
- package/collapse/bundles/ngx-bootstrap-collapse.umd.js.map +1 -1
- package/collapse/bundles/ngx-bootstrap-collapse.umd.min.js.map +1 -1
- package/collapse/collapse.directive.d.ts +3 -2
- package/collapse/collapse.module.d.ts +1 -1
- package/collapse/esm2015/collapse.module.js +1 -1
- package/collapse/esm5/collapse.module.js +1 -1
- package/collapse/fesm2015/ngx-bootstrap-collapse.js.map +1 -1
- package/collapse/fesm5/ngx-bootstrap-collapse.js.map +1 -1
- package/collapse/package.json +2 -2
- package/component-loader/bundles/ngx-bootstrap-component-loader.umd.js +5 -4
- package/component-loader/bundles/ngx-bootstrap-component-loader.umd.js.map +1 -1
- package/component-loader/bundles/ngx-bootstrap-component-loader.umd.min.js +1 -1
- package/component-loader/bundles/ngx-bootstrap-component-loader.umd.min.js.map +1 -1
- package/component-loader/component-loader.class.d.ts +4 -3
- package/component-loader/esm2015/component-loader.class.js +5 -5
- package/component-loader/esm5/component-loader.class.js +6 -5
- package/component-loader/fesm2015/ngx-bootstrap-component-loader.js +4 -4
- package/component-loader/fesm2015/ngx-bootstrap-component-loader.js.map +1 -1
- package/component-loader/fesm5/ngx-bootstrap-component-loader.js +5 -4
- package/component-loader/fesm5/ngx-bootstrap-component-loader.js.map +1 -1
- package/component-loader/package.json +2 -2
- package/datepicker/base/bs-datepicker-container.d.ts +20 -8
- package/datepicker/bs-datepicker-inline.component.d.ts +6 -2
- package/datepicker/bs-datepicker.component.d.ts +14 -5
- package/datepicker/bs-datepicker.config.d.ts +41 -1
- package/datepicker/bs-datepicker.css +126 -5
- package/datepicker/bs-datepicker.css.map +4 -4
- package/datepicker/bs-datepicker.module.d.ts +1 -1
- package/datepicker/bs-datepicker.scss +25 -5
- package/datepicker/bs-daterangepicker-inline.component.d.ts +1 -1
- package/datepicker/bs-daterangepicker.component.d.ts +9 -4
- package/datepicker/bs-locale.service.d.ts +3 -3
- package/datepicker/bundles/ngx-bootstrap-datepicker.umd.js +604 -93
- package/datepicker/bundles/ngx-bootstrap-datepicker.umd.js.map +1 -1
- package/datepicker/bundles/ngx-bootstrap-datepicker.umd.min.js +2 -2
- package/datepicker/bundles/ngx-bootstrap-datepicker.umd.min.js.map +1 -1
- package/datepicker/datepicker-inner.component.d.ts +2 -1
- package/datepicker/datepicker.component.d.ts +2 -1
- package/datepicker/datepicker.module.d.ts +1 -1
- package/datepicker/daypicker.component.d.ts +1 -1
- package/datepicker/engine/flag-days-calendar.d.ts +2 -1
- package/datepicker/engine/flag-months-calendar.d.ts +1 -0
- package/datepicker/engine/flag-years-calendar.d.ts +1 -0
- package/datepicker/esm2015/base/bs-datepicker-container.js +38 -1
- package/datepicker/esm2015/bs-datepicker-inline.component.js +12 -1
- package/datepicker/esm2015/bs-datepicker-inline.config.js +6 -2
- package/datepicker/esm2015/bs-datepicker-input.directive.js +9 -1
- package/datepicker/esm2015/bs-datepicker.component.js +45 -6
- package/datepicker/esm2015/bs-datepicker.config.js +88 -2
- package/datepicker/esm2015/bs-datepicker.module.js +3 -10
- package/datepicker/esm2015/bs-daterangepicker-inline.component.js +3 -2
- package/datepicker/esm2015/bs-daterangepicker-inline.config.js +6 -2
- package/datepicker/esm2015/bs-daterangepicker-input.directive.js +11 -3
- package/datepicker/esm2015/bs-daterangepicker.component.js +36 -7
- package/datepicker/esm2015/bs-daterangepicker.config.js +6 -2
- package/datepicker/esm2015/datepicker.config.js +6 -2
- package/datepicker/esm2015/datepicker.module.js +1 -1
- package/datepicker/esm2015/engine/flag-days-calendar.js +22 -3
- package/datepicker/esm2015/engine/flag-months-calendar.js +14 -3
- package/datepicker/esm2015/engine/flag-years-calendar.js +14 -3
- package/datepicker/esm2015/models/index.js +13 -1
- package/datepicker/esm2015/public_api.js +1 -1
- package/datepicker/esm2015/reducer/bs-datepicker.actions.js +14 -1
- package/datepicker/esm2015/reducer/bs-datepicker.effects.js +27 -33
- package/datepicker/esm2015/reducer/bs-datepicker.reducer.js +10 -2
- package/datepicker/esm2015/reducer/bs-datepicker.state.js +3 -1
- package/datepicker/esm2015/themes/bs/bs-custom-dates-view.component.js +5 -2
- package/datepicker/esm2015/themes/bs/bs-datepicker-container.component.js +57 -5
- package/datepicker/esm2015/themes/bs/bs-datepicker-inline-container.component.js +2 -2
- package/datepicker/esm2015/themes/bs/bs-daterangepicker-container.component.js +73 -4
- package/datepicker/esm2015/themes/bs/bs-daterangepicker-inline-container.component.js +2 -2
- package/datepicker/esm2015/themes/bs/bs-days-calendar-view.component.js +42 -4
- package/datepicker/esm5/base/bs-datepicker-container.js +52 -1
- package/datepicker/esm5/bs-datepicker-inline.component.js +12 -1
- package/datepicker/esm5/bs-datepicker-inline.config.js +8 -4
- package/datepicker/esm5/bs-datepicker-input.directive.js +9 -1
- package/datepicker/esm5/bs-datepicker.component.js +58 -8
- package/datepicker/esm5/bs-datepicker.config.js +88 -2
- package/datepicker/esm5/bs-datepicker.module.js +3 -10
- package/datepicker/esm5/bs-daterangepicker-inline.component.js +3 -2
- package/datepicker/esm5/bs-daterangepicker-inline.config.js +8 -4
- package/datepicker/esm5/bs-daterangepicker-input.directive.js +11 -3
- package/datepicker/esm5/bs-daterangepicker.component.js +49 -9
- package/datepicker/esm5/bs-daterangepicker.config.js +8 -4
- package/datepicker/esm5/datepicker.config.js +6 -2
- package/datepicker/esm5/datepicker.module.js +1 -1
- package/datepicker/esm5/engine/flag-days-calendar.js +22 -3
- package/datepicker/esm5/engine/flag-months-calendar.js +14 -3
- package/datepicker/esm5/engine/flag-years-calendar.js +14 -3
- package/datepicker/esm5/engine/format-days-calendar.js +3 -3
- package/datepicker/esm5/models/index.js +13 -1
- package/datepicker/esm5/public_api.js +1 -1
- package/datepicker/esm5/reducer/bs-datepicker.actions.js +18 -1
- package/datepicker/esm5/reducer/bs-datepicker.effects.js +33 -35
- package/datepicker/esm5/reducer/bs-datepicker.reducer.js +10 -2
- package/datepicker/esm5/reducer/bs-datepicker.state.js +3 -1
- package/datepicker/esm5/reducer/bs-datepicker.store.js +3 -3
- package/datepicker/esm5/themes/bs/bs-custom-dates-view.component.js +5 -2
- package/datepicker/esm5/themes/bs/bs-datepicker-container.component.js +74 -8
- package/datepicker/esm5/themes/bs/bs-datepicker-inline-container.component.js +4 -4
- package/datepicker/esm5/themes/bs/bs-daterangepicker-container.component.js +92 -7
- package/datepicker/esm5/themes/bs/bs-daterangepicker-inline-container.component.js +4 -4
- package/datepicker/esm5/themes/bs/bs-days-calendar-view.component.js +25 -2
- package/datepicker/fesm2015/ngx-bootstrap-datepicker.js +549 -96
- package/datepicker/fesm2015/ngx-bootstrap-datepicker.js.map +1 -1
- package/datepicker/fesm5/ngx-bootstrap-datepicker.js +606 -94
- package/datepicker/fesm5/ngx-bootstrap-datepicker.js.map +1 -1
- package/datepicker/models/index.d.ts +5 -0
- package/datepicker/monthpicker.component.d.ts +1 -1
- package/datepicker/ngx-bootstrap-datepicker.metadata.json +1 -1
- package/datepicker/package.json +2 -2
- package/datepicker/public_api.d.ts +1 -1
- package/datepicker/reducer/bs-datepicker.actions.d.ts +3 -1
- package/datepicker/reducer/bs-datepicker.effects.d.ts +2 -1
- package/datepicker/reducer/bs-datepicker.state.d.ts +2 -1
- package/datepicker/themes/bs/bs-custom-dates-view.component.d.ts +1 -0
- package/datepicker/themes/bs/bs-datepicker-container.component.d.ts +9 -5
- package/datepicker/themes/bs/bs-daterangepicker-container.component.d.ts +9 -5
- package/datepicker/themes/bs/bs-days-calendar-view.component.d.ts +2 -0
- package/datepicker/utils/scss/mixins.css.map +2 -2
- package/datepicker/utils/scss/mixins.scss +98 -0
- package/datepicker/utils/scss/variables.css.map +1 -1
- package/datepicker/utils/scss/variables.scss +14 -0
- package/datepicker/yearpicker.component.d.ts +1 -1
- package/dropdown/bs-dropdown-container.component.d.ts +1 -1
- package/dropdown/bs-dropdown.directive.d.ts +12 -7
- package/dropdown/bs-dropdown.module.d.ts +1 -1
- package/dropdown/bundles/ngx-bootstrap-dropdown.umd.js +13 -8
- package/dropdown/bundles/ngx-bootstrap-dropdown.umd.js.map +1 -1
- package/dropdown/bundles/ngx-bootstrap-dropdown.umd.min.js +1 -1
- package/dropdown/bundles/ngx-bootstrap-dropdown.umd.min.js.map +1 -1
- package/dropdown/esm2015/bs-dropdown.config.js +6 -2
- package/dropdown/esm2015/bs-dropdown.directive.js +8 -3
- package/dropdown/esm2015/bs-dropdown.module.js +2 -7
- package/dropdown/esm5/bs-dropdown-toggle.directive.js +3 -3
- package/dropdown/esm5/bs-dropdown.config.js +6 -2
- package/dropdown/esm5/bs-dropdown.directive.js +11 -5
- package/dropdown/esm5/bs-dropdown.module.js +2 -7
- package/dropdown/fesm2015/ngx-bootstrap-dropdown.js +13 -9
- package/dropdown/fesm2015/ngx-bootstrap-dropdown.js.map +1 -1
- package/dropdown/fesm5/ngx-bootstrap-dropdown.js +14 -9
- package/dropdown/fesm5/ngx-bootstrap-dropdown.js.map +1 -1
- package/dropdown/ngx-bootstrap-dropdown.metadata.json +1 -1
- package/dropdown/package.json +2 -2
- package/locale/package.json +2 -2
- package/mini-ngrx/bundles/ngx-bootstrap-mini-ngrx.umd.js.map +1 -1
- package/mini-ngrx/bundles/ngx-bootstrap-mini-ngrx.umd.min.js.map +1 -1
- package/mini-ngrx/esm5/state.class.js +3 -3
- package/mini-ngrx/esm5/store.class.js +3 -3
- package/mini-ngrx/fesm5/ngx-bootstrap-mini-ngrx.js.map +1 -1
- package/mini-ngrx/package.json +2 -2
- package/modal/bs-modal-ref.service.d.ts +15 -2
- package/modal/bs-modal.service.d.ts +7 -4
- package/modal/bundles/ngx-bootstrap-modal.umd.js +154 -59
- package/modal/bundles/ngx-bootstrap-modal.umd.js.map +1 -1
- package/modal/bundles/ngx-bootstrap-modal.umd.min.js +1 -1
- package/modal/bundles/ngx-bootstrap-modal.umd.min.js.map +1 -1
- package/modal/esm2015/bs-modal-ref.service.js +20 -1
- package/modal/esm2015/bs-modal.service.js +102 -47
- package/modal/esm2015/modal-container.component.js +10 -2
- package/modal/esm2015/modal-options.class.js +14 -3
- package/modal/esm2015/modal.directive.js +10 -7
- package/modal/esm2015/modal.module.js +1 -1
- package/modal/esm2015/models/index.js +3 -1
- package/modal/esm2015/ngx-bootstrap-modal.js +2 -2
- package/modal/esm2015/public_api.js +2 -2
- package/modal/esm5/bs-modal-ref.service.js +19 -1
- package/modal/esm5/bs-modal.service.js +109 -57
- package/modal/esm5/modal-container.component.js +13 -2
- package/modal/esm5/modal-options.class.js +14 -3
- package/modal/esm5/modal.directive.js +9 -7
- package/modal/esm5/modal.module.js +1 -1
- package/modal/esm5/models/index.js +3 -1
- package/modal/esm5/ngx-bootstrap-modal.js +2 -2
- package/modal/esm5/public_api.js +2 -2
- package/modal/fesm2015/ngx-bootstrap-modal.js +148 -52
- package/modal/fesm2015/ngx-bootstrap-modal.js.map +1 -1
- package/modal/fesm5/ngx-bootstrap-modal.js +155 -61
- package/modal/fesm5/ngx-bootstrap-modal.js.map +1 -1
- package/modal/modal-backdrop.component.d.ts +4 -2
- package/modal/modal-container.component.d.ts +1 -0
- package/modal/modal-options.class.d.ts +8 -3
- package/modal/modal.directive.d.ts +5 -4
- package/modal/modal.module.d.ts +2 -2
- package/modal/models/index.d.ts +1 -0
- package/modal/ngx-bootstrap-modal.metadata.json +1 -1
- package/modal/package.json +2 -2
- package/modal/public_api.d.ts +1 -1
- package/package.json +2 -2
- package/pagination/bundles/ngx-bootstrap-pagination.umd.js +5 -2
- package/pagination/bundles/ngx-bootstrap-pagination.umd.js.map +1 -1
- package/pagination/bundles/ngx-bootstrap-pagination.umd.min.js +1 -1
- package/pagination/bundles/ngx-bootstrap-pagination.umd.min.js.map +1 -1
- package/pagination/esm2015/pagination.config.js +6 -2
- package/pagination/esm2015/pagination.module.js +2 -3
- package/pagination/esm5/pagination.config.js +6 -2
- package/pagination/esm5/pagination.module.js +2 -3
- package/pagination/fesm2015/ngx-bootstrap-pagination.js +6 -3
- package/pagination/fesm2015/ngx-bootstrap-pagination.js.map +1 -1
- package/pagination/fesm5/ngx-bootstrap-pagination.js +6 -3
- package/pagination/fesm5/ngx-bootstrap-pagination.js.map +1 -1
- package/pagination/ngx-bootstrap-pagination.metadata.json +1 -1
- package/pagination/package.json +2 -2
- package/pagination/pager.component.d.ts +8 -4
- package/pagination/pagination.component.d.ts +8 -4
- package/pagination/pagination.module.d.ts +1 -1
- package/popover/bundles/ngx-bootstrap-popover.umd.js +55 -3
- package/popover/bundles/ngx-bootstrap-popover.umd.js.map +1 -1
- package/popover/bundles/ngx-bootstrap-popover.umd.min.js +1 -1
- package/popover/bundles/ngx-bootstrap-popover.umd.min.js.map +1 -1
- package/popover/esm2015/popover-container.component.js +4 -1
- package/popover/esm2015/popover.config.js +6 -2
- package/popover/esm2015/popover.directive.js +39 -2
- package/popover/esm2015/popover.module.js +2 -3
- package/popover/esm5/popover-container.component.js +4 -1
- package/popover/esm5/popover.config.js +6 -2
- package/popover/esm5/popover.directive.js +48 -2
- package/popover/esm5/popover.module.js +2 -3
- package/popover/fesm2015/ngx-bootstrap-popover.js +47 -4
- package/popover/fesm2015/ngx-bootstrap-popover.js.map +1 -1
- package/popover/fesm5/ngx-bootstrap-popover.js +56 -4
- package/popover/fesm5/ngx-bootstrap-popover.js.map +1 -1
- package/popover/ngx-bootstrap-popover.metadata.json +1 -1
- package/popover/package.json +2 -2
- package/popover/popover-container.component.d.ts +2 -1
- package/popover/popover.directive.d.ts +10 -1
- package/popover/popover.module.d.ts +1 -1
- package/positioning/bundles/ngx-bootstrap-positioning.umd.js +7 -7
- package/positioning/bundles/ngx-bootstrap-positioning.umd.js.map +1 -1
- package/positioning/bundles/ngx-bootstrap-positioning.umd.min.js +1 -1
- package/positioning/bundles/ngx-bootstrap-positioning.umd.min.js.map +1 -1
- package/positioning/esm2015/modifiers/flip.js +3 -3
- package/positioning/esm2015/modifiers/preventOverflow.js +2 -2
- package/positioning/esm2015/modifiers/shift.js +2 -2
- package/positioning/esm2015/utils/computeAutoPlacement.js +2 -2
- package/positioning/esm2015/utils/getClientRect.js +2 -2
- package/positioning/esm5/modifiers/flip.js +4 -4
- package/positioning/esm5/modifiers/preventOverflow.js +4 -4
- package/positioning/esm5/modifiers/shift.js +3 -3
- package/positioning/esm5/utils/computeAutoPlacement.js +3 -3
- package/positioning/esm5/utils/getClientRect.js +3 -3
- package/positioning/fesm2015/ngx-bootstrap-positioning.js +6 -6
- package/positioning/fesm2015/ngx-bootstrap-positioning.js.map +1 -1
- package/positioning/fesm5/ngx-bootstrap-positioning.js +7 -7
- package/positioning/fesm5/ngx-bootstrap-positioning.js.map +1 -1
- package/positioning/package.json +2 -2
- package/positioning/positioning.service.d.ts +1 -1
- package/progressbar/bar.component.d.ts +4 -5
- package/progressbar/bundles/ngx-bootstrap-progressbar.umd.js +45 -66
- package/progressbar/bundles/ngx-bootstrap-progressbar.umd.js.map +1 -1
- package/progressbar/bundles/ngx-bootstrap-progressbar.umd.min.js +1 -1
- package/progressbar/bundles/ngx-bootstrap-progressbar.umd.min.js.map +1 -1
- package/progressbar/esm2015/bar.component.js +33 -48
- package/progressbar/esm2015/progressbar.component.js +5 -8
- package/progressbar/esm2015/progressbar.config.js +6 -2
- package/progressbar/esm2015/progressbar.module.js +2 -3
- package/progressbar/esm5/bar.component.js +37 -58
- package/progressbar/esm5/progressbar.component.js +5 -8
- package/progressbar/esm5/progressbar.config.js +6 -2
- package/progressbar/esm5/progressbar.module.js +2 -3
- package/progressbar/fesm2015/ngx-bootstrap-progressbar.js +42 -57
- package/progressbar/fesm2015/ngx-bootstrap-progressbar.js.map +1 -1
- package/progressbar/fesm5/ngx-bootstrap-progressbar.js +46 -67
- package/progressbar/fesm5/ngx-bootstrap-progressbar.js.map +1 -1
- package/progressbar/ngx-bootstrap-progressbar.metadata.json +1 -1
- package/progressbar/package.json +2 -2
- package/progressbar/progressbar.component.d.ts +7 -6
- package/progressbar/progressbar.module.d.ts +1 -1
- package/rating/bundles/ngx-bootstrap-rating.umd.js +5 -2
- package/rating/bundles/ngx-bootstrap-rating.umd.js.map +1 -1
- package/rating/bundles/ngx-bootstrap-rating.umd.min.js +1 -1
- package/rating/bundles/ngx-bootstrap-rating.umd.min.js.map +1 -1
- package/rating/esm2015/rating.config.js +6 -2
- package/rating/esm2015/rating.module.js +2 -3
- package/rating/esm5/rating.config.js +6 -2
- package/rating/esm5/rating.module.js +2 -3
- package/rating/fesm2015/ngx-bootstrap-rating.js +6 -3
- package/rating/fesm2015/ngx-bootstrap-rating.js.map +1 -1
- package/rating/fesm5/ngx-bootstrap-rating.js +6 -3
- package/rating/fesm5/ngx-bootstrap-rating.js.map +1 -1
- package/rating/ngx-bootstrap-rating.metadata.json +1 -1
- package/rating/package.json +2 -2
- package/rating/rating.module.d.ts +1 -1
- package/schematics/ng-add/index.spec.js +30 -27
- package/schematics/ng-add/index.spec.js.map +1 -1
- package/schematics/utils/index.js +18 -5
- package/schematics/utils/index.js.map +1 -1
- package/sortable/bundles/ngx-bootstrap-sortable.umd.js.map +1 -1
- package/sortable/bundles/ngx-bootstrap-sortable.umd.min.js.map +1 -1
- package/sortable/esm2015/sortable.module.js +1 -1
- package/sortable/esm5/sortable.component.js +4 -4
- package/sortable/esm5/sortable.module.js +1 -1
- package/sortable/fesm2015/ngx-bootstrap-sortable.js.map +1 -1
- package/sortable/fesm5/ngx-bootstrap-sortable.js.map +1 -1
- package/sortable/package.json +2 -2
- package/sortable/sortable.component.d.ts +2 -1
- package/sortable/sortable.module.d.ts +1 -1
- package/tabs/bundles/ngx-bootstrap-tabs.umd.js +40 -3
- package/tabs/bundles/ngx-bootstrap-tabs.umd.js.map +1 -1
- package/tabs/bundles/ngx-bootstrap-tabs.umd.min.js +1 -1
- package/tabs/bundles/ngx-bootstrap-tabs.umd.min.js.map +1 -1
- package/tabs/esm2015/tab.directive.js +2 -2
- package/tabs/esm2015/tabs.module.js +2 -3
- package/tabs/esm2015/tabset.component.js +22 -1
- package/tabs/esm2015/tabset.config.js +15 -2
- package/tabs/esm5/tab.directive.js +2 -2
- package/tabs/esm5/tabs.module.js +2 -3
- package/tabs/esm5/tabset.component.js +26 -1
- package/tabs/esm5/tabset.config.js +15 -2
- package/tabs/fesm2015/ngx-bootstrap-tabs.js +37 -4
- package/tabs/fesm2015/ngx-bootstrap-tabs.js.map +1 -1
- package/tabs/fesm5/ngx-bootstrap-tabs.js +41 -4
- package/tabs/fesm5/ngx-bootstrap-tabs.js.map +1 -1
- package/tabs/ng-transclude.directive.d.ts +2 -2
- package/tabs/ngx-bootstrap-tabs.metadata.json +1 -1
- package/tabs/package.json +2 -2
- package/tabs/tab.directive.d.ts +5 -3
- package/tabs/tabs.module.d.ts +1 -1
- package/tabs/tabset.component.d.ts +9 -3
- package/tabs/tabset.config.d.ts +2 -0
- package/timepicker/bundles/ngx-bootstrap-timepicker.umd.js +11 -6
- package/timepicker/bundles/ngx-bootstrap-timepicker.umd.js.map +1 -1
- package/timepicker/bundles/ngx-bootstrap-timepicker.umd.min.js +1 -1
- package/timepicker/bundles/ngx-bootstrap-timepicker.umd.min.js.map +1 -1
- package/timepicker/esm2015/timepicker-controls.util.js +4 -2
- package/timepicker/esm2015/timepicker.component.js +2 -2
- package/timepicker/esm2015/timepicker.config.js +8 -4
- package/timepicker/esm2015/timepicker.module.js +2 -3
- package/timepicker/esm5/reducer/timepicker.store.js +3 -3
- package/timepicker/esm5/timepicker-controls.util.js +4 -2
- package/timepicker/esm5/timepicker.component.js +2 -2
- package/timepicker/esm5/timepicker.config.js +8 -4
- package/timepicker/esm5/timepicker.module.js +2 -3
- package/timepicker/fesm2015/ngx-bootstrap-timepicker.js +12 -7
- package/timepicker/fesm2015/ngx-bootstrap-timepicker.js.map +1 -1
- package/timepicker/fesm5/ngx-bootstrap-timepicker.js +12 -7
- package/timepicker/fesm5/ngx-bootstrap-timepicker.js.map +1 -1
- package/timepicker/ngx-bootstrap-timepicker.metadata.json +1 -1
- package/timepicker/package.json +2 -2
- package/timepicker/timepicker.component.d.ts +3 -3
- package/timepicker/timepicker.config.d.ts +1 -1
- package/timepicker/timepicker.module.d.ts +1 -1
- package/tooltip/bundles/ngx-bootstrap-tooltip.umd.js +5 -2
- package/tooltip/bundles/ngx-bootstrap-tooltip.umd.js.map +1 -1
- package/tooltip/bundles/ngx-bootstrap-tooltip.umd.min.js +1 -1
- package/tooltip/bundles/ngx-bootstrap-tooltip.umd.min.js.map +1 -1
- package/tooltip/esm2015/tooltip.config.js +6 -2
- package/tooltip/esm2015/tooltip.directive.js +3 -3
- package/tooltip/esm2015/tooltip.module.js +2 -3
- package/tooltip/esm5/tooltip.config.js +6 -2
- package/tooltip/esm5/tooltip.directive.js +3 -3
- package/tooltip/esm5/tooltip.module.js +2 -3
- package/tooltip/fesm2015/ngx-bootstrap-tooltip.js +6 -3
- package/tooltip/fesm2015/ngx-bootstrap-tooltip.js.map +1 -1
- package/tooltip/fesm5/ngx-bootstrap-tooltip.js +6 -3
- package/tooltip/fesm5/ngx-bootstrap-tooltip.js.map +1 -1
- package/tooltip/ngx-bootstrap-tooltip.metadata.json +1 -1
- package/tooltip/package.json +2 -2
- package/tooltip/tooltip-container.component.d.ts +1 -1
- package/tooltip/tooltip.directive.d.ts +15 -10
- package/tooltip/tooltip.module.d.ts +1 -1
- package/typeahead/bundles/ngx-bootstrap-typeahead.umd.js +170 -19
- package/typeahead/bundles/ngx-bootstrap-typeahead.umd.js.map +1 -1
- package/typeahead/bundles/ngx-bootstrap-typeahead.umd.min.js +1 -1
- package/typeahead/bundles/ngx-bootstrap-typeahead.umd.min.js.map +1 -1
- package/typeahead/esm2015/typeahead-utils.js +35 -4
- package/typeahead/esm2015/typeahead.config.js +6 -2
- package/typeahead/esm2015/typeahead.directive.js +121 -16
- package/typeahead/esm2015/typeahead.module.js +2 -3
- package/typeahead/esm5/typeahead-utils.js +37 -6
- package/typeahead/esm5/typeahead.config.js +6 -2
- package/typeahead/esm5/typeahead.directive.js +135 -18
- package/typeahead/esm5/typeahead.module.js +2 -3
- package/typeahead/fesm2015/ngx-bootstrap-typeahead.js +160 -21
- package/typeahead/fesm2015/ngx-bootstrap-typeahead.js.map +1 -1
- package/typeahead/fesm5/ngx-bootstrap-typeahead.js +172 -21
- package/typeahead/fesm5/ngx-bootstrap-typeahead.js.map +1 -1
- package/typeahead/ngx-bootstrap-typeahead.metadata.json +1 -1
- package/typeahead/package.json +2 -2
- package/typeahead/typeahead-container.component.d.ts +14 -12
- package/typeahead/typeahead-utils.d.ts +1 -1
- package/typeahead/typeahead.directive.d.ts +20 -1
- package/typeahead/typeahead.module.d.ts +1 -1
- package/utils/package.json +2 -2
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"ngx-bootstrap-positioning.js","sources":["ng://ngx-bootstrap/positioning/utils/getStyleComputedProperty.ts","ng://ngx-bootstrap/positioning/utils/getParentNode.ts","ng://ngx-bootstrap/positioning/utils/getScrollParent.ts","ng://ngx-bootstrap/positioning/utils/isBrowser.ts","ng://ngx-bootstrap/positioning/utils/isIE.ts","ng://ngx-bootstrap/positioning/utils/getOffsetParent.ts","ng://ngx-bootstrap/positioning/utils/isOffsetContainer.ts","ng://ngx-bootstrap/positioning/utils/getRoot.ts","ng://ngx-bootstrap/positioning/utils/findCommonOffsetParent.ts","ng://ngx-bootstrap/positioning/utils/getBordersSize.ts","ng://ngx-bootstrap/positioning/utils/getWindowSizes.ts","ng://ngx-bootstrap/positioning/utils/getScroll.ts","ng://ngx-bootstrap/positioning/utils/getClientRect.ts","ng://ngx-bootstrap/positioning/utils/getBoundingClientRect.ts","ng://ngx-bootstrap/positioning/utils/includeScroll.ts","ng://ngx-bootstrap/positioning/utils/getOffsetRectRelativeToArbitraryNode.ts","ng://ngx-bootstrap/positioning/utils/getViewportOffsetRectRelativeToArtbitraryNode.ts","ng://ngx-bootstrap/positioning/utils/isFixed.ts","ng://ngx-bootstrap/positioning/utils/getFixedPositionOffsetParent.ts","ng://ngx-bootstrap/positioning/utils/getBoundaries.ts","ng://ngx-bootstrap/positioning/utils/computeAutoPlacement.ts","ng://ngx-bootstrap/positioning/utils/getOffsets.ts","ng://ngx-bootstrap/positioning/utils/getOppositePlacement.ts","ng://ngx-bootstrap/positioning/utils/getOppositeVariation.ts","ng://ngx-bootstrap/positioning/utils/getOuterSizes.ts","ng://ngx-bootstrap/positioning/utils/getReferenceOffsets.ts","ng://ngx-bootstrap/positioning/utils/getTargetOffsets.ts","ng://ngx-bootstrap/positioning/utils/isModifierEnabled.ts","ng://ngx-bootstrap/positioning/utils/isNumeric.ts","ng://ngx-bootstrap/positioning/utils/updateContainerClass.ts","ng://ngx-bootstrap/positioning/utils/setStyles.ts","ng://ngx-bootstrap/positioning/modifiers/arrow.ts","ng://ngx-bootstrap/positioning/modifiers/flip.ts","ng://ngx-bootstrap/positioning/modifiers/initData.ts","ng://ngx-bootstrap/positioning/modifiers/preventOverflow.ts","ng://ngx-bootstrap/positioning/modifiers/shift.ts","ng://ngx-bootstrap/positioning/ng-positioning.ts","ng://ngx-bootstrap/positioning/positioning.service.ts"],"sourcesContent":["/**\n * Get CSS computed property of the given element\n */\nexport function getStyleComputedProperty(element: HTMLElement, property?: string): any {\n if (element.nodeType !== 1) {\n return [];\n }\n // NOTE: 1 DOM access here\n const window = element.ownerDocument.defaultView;\n const css = window.getComputedStyle(element, null);\n\n return property ? css[property as any] : css;\n}\n","/**\n * Returns the parentNode or the host of the element\n */\nexport function getParentNode(element: any): any {\n if (element.nodeName === 'HTML') {\n return element;\n }\n\n return element.parentNode || element.host;\n}\n","/**\n * Returns the scrolling parent of the given element\n */\nimport { getStyleComputedProperty } from './getStyleComputedProperty';\nimport { getParentNode } from './getParentNode';\n\nexport function getScrollParent(element: any): any {\n // Return body, `getScroll` will take care to get the correct `scrollTop` from it\n if (!element) {\n return document.body;\n }\n\n switch (element.nodeName) {\n case 'HTML':\n case 'BODY':\n return element.ownerDocument.body;\n case '#document':\n return element.body;\n default:\n }\n\n // Firefox want us to check `-x` and `-y` variations as well\n const { overflow, overflowX, overflowY } = getStyleComputedProperty(element);\n if (/(auto|scroll|overlay)/.test(String(overflow) + String(overflowY) + String(overflowX))) {\n return element;\n }\n\n return getScrollParent(getParentNode(element));\n}\n","export const isBrowser = typeof window !== 'undefined' && typeof document !== 'undefined';\n","/**\n * Determines if the browser is Internet Explorer\n */\nimport { isBrowser } from './isBrowser';\n\nconst isIE11 = isBrowser && !!((window as any).MSInputMethodContext && (document as any).documentMode);\nconst isIE10 = isBrowser && !!((window as any).MSInputMethodContext && /MSIE 10/.test((navigator as any).userAgent));\n\nexport function isIE(version?: number) {\n if (version === 11) {\n return isIE11;\n }\n if (version === 10) {\n return isIE10;\n }\n\n return isIE11 || isIE10;\n}\n","/**\n * Returns the offset parent of the given element\n */\nimport { getStyleComputedProperty } from './getStyleComputedProperty';\nimport { isIE } from './isIE';\n\nexport function getOffsetParent(element: any): any {\n if (!element) {\n return document.documentElement;\n }\n\n const noOffsetParent = isIE(10) ? document.body : null;\n\n // NOTE: 1 DOM access here\n let offsetParent = element.offsetParent || null;\n\n // Skip hidden elements which don't have an offsetParent\n let sibling: HTMLElement | null;\n\n while (offsetParent === noOffsetParent\n && element.nextElementSibling\n && sibling !== element.nextElementSibling) {\n\n sibling = element.nextElementSibling;\n offsetParent = sibling.offsetParent;\n }\n\n const nodeName = offsetParent && offsetParent.nodeName;\n\n if (!nodeName || nodeName === 'BODY' || nodeName === 'HTML') {\n return sibling ? sibling.ownerDocument.documentElement : document.documentElement;\n }\n\n // .offsetParent will return the closest TH, TD or TABLE in case\n if (\n ['TH', 'TD', 'TABLE'].indexOf(offsetParent.nodeName) !== -1 &&\n getStyleComputedProperty(offsetParent, 'position') === 'static'\n ) {\n return getOffsetParent(offsetParent);\n }\n\n return offsetParent;\n}\n","import { getOffsetParent } from './getOffsetParent';\n\nexport function isOffsetContainer(element: any) {\n const { nodeName } = element;\n if (nodeName === 'BODY') {\n return false;\n }\n\n return (\n nodeName === 'HTML' || getOffsetParent(element.firstElementChild) === element\n );\n}\n","/**\n * Finds the root node (document, shadowDOM root) of the given element\n */\nexport function getRoot(node: Node): any {\n if (node.parentNode !== null) {\n return getRoot(node.parentNode);\n }\n\n return node;\n}\n","/**\n * Finds the offset parent common to the two provided nodes\n */\nimport { isOffsetContainer } from './isOffsetContainer';\nimport { getRoot } from './getRoot';\nimport { getOffsetParent } from './getOffsetParent';\n\nexport function findCommonOffsetParent(element1: HTMLElement, element2: HTMLElement): any {\n // This check is needed to avoid errors in case one of the elements isn't defined for any reason\n if (!element1 || !element1.nodeType || !element2 || !element2.nodeType) {\n return document.documentElement;\n }\n\n // Here we make sure to give as \"start\" the element that comes first in the DOM\n /* tslint:disable-next-line: no-bitwise */\n const order = element1.compareDocumentPosition(element2) & Node.DOCUMENT_POSITION_FOLLOWING;\n\n const start = order ? element1 : element2;\n const end = order ? element2 : element1;\n\n // Get common ancestor container\n const range = document.createRange();\n range.setStart(start, 0);\n range.setEnd(end, 0);\n const { commonAncestorContainer } = range;\n\n // Both nodes are inside #document\n if (\n (element1 !== commonAncestorContainer &&\n element2 !== commonAncestorContainer) ||\n start.contains(end)\n ) {\n if (isOffsetContainer(commonAncestorContainer)) {\n return commonAncestorContainer;\n }\n\n return getOffsetParent(commonAncestorContainer);\n }\n\n // one of the nodes is inside shadowDOM, find which one\n const element1root = getRoot(element1);\n if (element1root.host) {\n return findCommonOffsetParent(element1root.host, element2);\n } else {\n return findCommonOffsetParent(element1, getRoot(element2).host);\n }\n}\n","/**\n * Helper to detect borders of a given element\n */\n\nexport function getBordersSize(styles: CSSStyleDeclaration, axis: string) {\n const sideA = axis === 'x' ? 'Left' : 'Top';\n const sideB = sideA === 'Left' ? 'Right' : 'Bottom';\n\n return (\n parseFloat(styles[`border${sideA}Width` as any]) +\n parseFloat(styles[`border${sideB}Width` as any])\n );\n}\n","import { isIE } from './isIE';\n\nfunction getSize(axis: string, body: HTMLElement, html: HTMLElement, computedStyle: CSSStyleDeclaration) {\n return Math.max(\n (body as any)[`offset${axis}`],\n (body as any)[`scroll${axis}`],\n (html as any)[`client${axis}`],\n (html as any)[`offset${axis}`],\n (html as any)[`scroll${axis}`],\n isIE(10)\n ? (parseInt((html as any)[`offset${axis}`], 10) +\n parseInt(computedStyle[`margin${axis === 'Height' ? 'Top' : 'Left'}` as any], 10) +\n parseInt(computedStyle[`margin${axis === 'Height' ? 'Bottom' : 'Right'}` as any], 10))\n : 0\n );\n}\n\nexport function getWindowSizes(document: Document) {\n const body = document.body;\n const html = document.documentElement;\n const computedStyle = isIE(10) && getComputedStyle(html);\n\n return {\n height: getSize('Height', body, html, computedStyle),\n width: getSize('Width', body, html, computedStyle)\n };\n}\n","/**\n * Gets the scroll value of the given element in the given side (top and left)\n */\nexport function getScroll(element: HTMLElement, side = 'top') {\n const upperSide = side === 'top' ? 'scrollTop' : 'scrollLeft';\n const nodeName = element.nodeName;\n\n if (nodeName === 'BODY' || nodeName === 'HTML') {\n const html = element.ownerDocument.documentElement;\n const scrollingElement = element.ownerDocument.scrollingElement || html;\n\n return scrollingElement[upperSide];\n }\n\n return element[upperSide];\n}\n","/**\n * Given element offsets, generate an output similar to getBoundingClientRect\n */\nimport { Offsets } from '../models';\n\nexport function getClientRect(offsets: Offsets): Offsets {\n return {\n ...offsets,\n right: offsets.left + offsets.width,\n bottom: offsets.top + offsets.height\n };\n}\n","/**\n * Get bounding client rect of given element\n */\nimport { getStyleComputedProperty } from './getStyleComputedProperty';\nimport { getBordersSize } from './getBordersSize';\nimport { getWindowSizes } from './getWindowSizes';\nimport { getScroll } from './getScroll';\nimport { getClientRect } from './getClientRect';\nimport { isIE } from './isIE';\nimport { Offsets } from '../models';\n\nexport function getBoundingClientRect(element: HTMLElement): Offsets {\n let rect: any = {};\n\n // IE10 10 FIX: Please, don't ask, the element isn't\n // considered in DOM in some circumstances...\n // This isn't reproducible in IE10 compatibility mode of IE11\n try {\n if (isIE(10)) {\n rect = element.getBoundingClientRect();\n const scrollTop = getScroll(element, 'top');\n const scrollLeft = getScroll(element, 'left');\n rect.top += scrollTop;\n rect.left += scrollLeft;\n rect.bottom += scrollTop;\n rect.right += scrollLeft;\n } else {\n rect = element.getBoundingClientRect();\n }\n } catch (e) {\n return undefined;\n }\n\n const result: any = {\n left: rect.left,\n top: rect.top,\n width: rect.right - rect.left,\n height: rect.bottom - rect.top\n };\n\n // subtract scrollbar size from sizes\n const sizes: any = element.nodeName === 'HTML' ? getWindowSizes(element.ownerDocument) : {};\n const width =\n sizes.width || element.clientWidth || result.right - result.left;\n const height =\n sizes.height || element.clientHeight || result.bottom - result.top;\n\n let horizScrollbar = element.offsetWidth - width;\n let vertScrollbar = element.offsetHeight - height;\n\n // if an hypothetical scrollbar is detected, we must be sure it's not a `border`\n // we make this check conditional for performance reasons\n if (horizScrollbar || vertScrollbar) {\n const styles = getStyleComputedProperty(element);\n horizScrollbar -= getBordersSize(styles, 'x');\n vertScrollbar -= getBordersSize(styles, 'y');\n\n result.width -= horizScrollbar;\n result.height -= vertScrollbar;\n }\n\n return getClientRect(result);\n}\n","/**\n * Sum or subtract the element scroll values (left and top) from a given rect object\n */\nimport { getScroll } from './getScroll';\nimport { Offsets } from '../models';\n\nexport function includeScroll(rect: Offsets, element: HTMLElement, subtract = false) {\n const scrollTop = getScroll(element, 'top');\n const scrollLeft = getScroll(element, 'left');\n const modifier = subtract ? -1 : 1;\n rect.top += scrollTop * modifier;\n rect.bottom += scrollTop * modifier;\n rect.left += scrollLeft * modifier;\n rect.right += scrollLeft * modifier;\n\n return rect;\n}\n","import { getBoundingClientRect } from './getBoundingClientRect';\nimport { getClientRect } from './getClientRect';\nimport { getScrollParent } from './getScrollParent';\nimport { getStyleComputedProperty } from './getStyleComputedProperty';\nimport { includeScroll } from './includeScroll';\nimport { isIE as runIsIE } from './isIE';\nimport { Offsets } from '../models';\n\nexport function getOffsetRectRelativeToArbitraryNode(\n children: HTMLElement,\n parent: HTMLElement,\n fixedPosition = false\n): Offsets {\n const isIE10 = runIsIE(10);\n const isHTML = parent.nodeName === 'HTML';\n const childrenRect: any = getBoundingClientRect(children);\n const parentRect: any = getBoundingClientRect(parent);\n const scrollParent = getScrollParent(children);\n\n const styles = getStyleComputedProperty(parent);\n const borderTopWidth = parseFloat(styles.borderTopWidth);\n const borderLeftWidth = parseFloat(styles.borderLeftWidth);\n\n // In cases where the parent is fixed, we must ignore negative scroll in offset calc\n if (fixedPosition && isHTML) {\n parentRect.top = Math.max(parentRect.top, 0);\n parentRect.left = Math.max(parentRect.left, 0);\n }\n\n let offsets: Offsets = getClientRect({\n top: childrenRect.top - parentRect.top - borderTopWidth,\n left: childrenRect.left - parentRect.left - borderLeftWidth,\n width: childrenRect.width,\n height: childrenRect.height\n });\n\n offsets.marginTop = 0;\n offsets.marginLeft = 0;\n\n // Subtract margins of documentElement in case it's being used as parent\n // we do this only on HTML because it's the only element that behaves\n // differently when margins are applied to it. The margins are included in\n // the box of the documentElement, in the other cases not.\n if (!isIE10 && isHTML) {\n const marginTop = parseFloat(styles.marginTop);\n const marginLeft = parseFloat(styles.marginLeft);\n\n offsets.top -= borderTopWidth - marginTop;\n offsets.bottom -= borderTopWidth - marginTop;\n offsets.left -= borderLeftWidth - marginLeft;\n offsets.right -= borderLeftWidth - marginLeft;\n\n // Attach marginTop and marginLeft because in some circumstances we may need them\n offsets.marginTop = marginTop;\n offsets.marginLeft = marginLeft;\n }\n\n if (\n isIE10 && !fixedPosition\n ? parent.contains(scrollParent)\n : parent === scrollParent && scrollParent.nodeName !== 'BODY'\n ) {\n offsets = includeScroll(offsets, parent);\n }\n\n return offsets;\n}\n","import { getClientRect } from './getClientRect';\nimport { getOffsetRectRelativeToArbitraryNode } from './getOffsetRectRelativeToArbitraryNode';\nimport { getScroll } from './getScroll';\nimport { Offsets } from '../models';\n\nexport function getViewportOffsetRectRelativeToArtbitraryNode(element: HTMLElement, excludeScroll = false): Offsets {\n const html = element.ownerDocument.documentElement;\n const relativeOffset = getOffsetRectRelativeToArbitraryNode(element, html);\n const width = Math.max(html.clientWidth, window.innerWidth || 0);\n const height = Math.max(html.clientHeight, window.innerHeight || 0);\n\n const scrollTop = !excludeScroll ? getScroll(html) : 0;\n const scrollLeft = !excludeScroll ? getScroll(html, 'left') : 0;\n\n const offset = {\n top: scrollTop - Number(relativeOffset.top) + Number(relativeOffset.marginTop),\n left: scrollLeft - Number(relativeOffset.left) + Number(relativeOffset.marginLeft),\n width,\n height\n };\n\n return getClientRect(offset);\n}\n","/**\n * Check if the given element is fixed or is inside a fixed parent\n */\nimport { getStyleComputedProperty } from './getStyleComputedProperty';\nimport { getParentNode } from './getParentNode';\n\nexport function isFixed(element: HTMLElement): boolean {\n const nodeName = element.nodeName;\n if (nodeName === 'BODY' || nodeName === 'HTML') {\n return false;\n }\n if (getStyleComputedProperty(element, 'position') === 'fixed') {\n return true;\n }\n\n return isFixed(getParentNode(element));\n}\n","/**\n * Finds the first parent of an element that has a transformed property defined\n */\n\nimport { getStyleComputedProperty } from './getStyleComputedProperty';\nimport { isIE } from './isIE';\n\nexport function getFixedPositionOffsetParent(element: HTMLElement): HTMLElement {\n // This check is needed to avoid errors in case one of the elements isn't defined for any reason\n if (!element || !element.parentElement || isIE()) {\n return document.documentElement;\n }\n\n let el = element.parentElement;\n\n while (el && getStyleComputedProperty(el, 'transform') === 'none') {\n el = el.parentElement;\n }\n\n return el || document.documentElement;\n}\n","/**\n * Computed the boundaries limits and return them\n */\nimport { getScrollParent } from './getScrollParent';\nimport { getParentNode } from './getParentNode';\nimport { findCommonOffsetParent } from './findCommonOffsetParent';\nimport { getOffsetRectRelativeToArbitraryNode } from './getOffsetRectRelativeToArbitraryNode';\nimport { getViewportOffsetRectRelativeToArtbitraryNode } from './getViewportOffsetRectRelativeToArtbitraryNode';\nimport { getWindowSizes } from './getWindowSizes';\nimport { isFixed } from './isFixed';\nimport { getFixedPositionOffsetParent } from './getFixedPositionOffsetParent';\n\nexport function getBoundaries(\n target: HTMLElement,\n host: HTMLElement,\n padding = 0,\n boundariesElement: string,\n fixedPosition = false\n) {\n // NOTE: 1 DOM access here\n\n let boundaries: any = { top: 0, left: 0 };\n const offsetParent = fixedPosition ? getFixedPositionOffsetParent(target) : findCommonOffsetParent(target, host);\n\n // Handle viewport case\n if (boundariesElement === 'viewport') {\n boundaries = getViewportOffsetRectRelativeToArtbitraryNode(offsetParent, fixedPosition);\n } else {\n // Handle other cases based on DOM element used as boundaries\n let boundariesNode;\n if (boundariesElement === 'scrollParent') {\n boundariesNode = getScrollParent(getParentNode(host));\n if (boundariesNode.nodeName === 'BODY') {\n boundariesNode = target.ownerDocument.documentElement;\n }\n } else if (boundariesElement === 'window') {\n boundariesNode = target.ownerDocument.documentElement;\n } else {\n boundariesNode = boundariesElement;\n }\n\n const offsets = getOffsetRectRelativeToArbitraryNode(\n boundariesNode,\n offsetParent,\n fixedPosition\n );\n\n // In case of HTML, we need a different computation\n if (boundariesNode.nodeName === 'HTML' && !isFixed(offsetParent)) {\n const { height, width } = getWindowSizes(target.ownerDocument);\n boundaries.top += offsets.top - offsets.marginTop;\n boundaries.bottom = Number(height) + Number(offsets.top);\n boundaries.left += offsets.left - offsets.marginLeft;\n boundaries.right = Number(width) + Number(offsets.left);\n } else {\n // for all the other DOM elements, this one is good\n boundaries = offsets;\n }\n }\n\n // Add paddings\n boundaries.left += padding;\n boundaries.top += padding;\n boundaries.right -= padding;\n boundaries.bottom -= padding;\n\n return boundaries;\n}\n","/**\n * Utility used to transform the `auto` placement to the placement with more\n * available space.\n */\nimport { getBoundaries } from './getBoundaries';\nimport { Offsets } from '../models';\n\nfunction getArea({ width, height }: { [key: string]: number }) {\n return width * height;\n}\n\nexport function computeAutoPlacement(\n placement: string,\n refRect: Offsets,\n target: HTMLElement,\n host: HTMLElement,\n allowedPositions: any[] = ['top', 'bottom', 'right', 'left'],\n boundariesElement = 'viewport',\n padding = 0\n) {\n if (placement.indexOf('auto') === -1) {\n return placement;\n }\n\n const boundaries = getBoundaries(target, host, padding, boundariesElement);\n\n const rects: any = {\n top: {\n width: boundaries.width,\n height: refRect.top - boundaries.top\n },\n right: {\n width: boundaries.right - refRect.right,\n height: boundaries.height\n },\n bottom: {\n width: boundaries.width,\n height: boundaries.bottom - refRect.bottom\n },\n left: {\n width: refRect.left - boundaries.left,\n height: boundaries.height\n }\n };\n\n const sortedAreas = Object.keys(rects)\n .map(key => ({\n key,\n ...rects[key],\n area: getArea(rects[key])\n }))\n .sort((a, b) => b.area - a.area);\n\n let filteredAreas: any[] = sortedAreas.filter(\n ({ width, height }) => {\n return width >= target.clientWidth\n && height >= target.clientHeight;\n }\n );\n\n filteredAreas = filteredAreas.filter((position: any) => {\n return allowedPositions\n .some((allowedPosition: string) => {\n return allowedPosition === position.key;\n });\n });\n\n const computedPlacement: string = filteredAreas.length > 0\n ? filteredAreas[0].key\n : sortedAreas[0].key;\n\n const variation = placement.split(' ')[1];\n\n // for tooltip on auto position\n target.className = target.className.replace(/bs-tooltip-auto/g, `bs-tooltip-${computedPlacement}`);\n\n return computedPlacement + (variation ? `-${variation}` : '');\n}\n","import { Data, Offsets } from '../models';\n\nexport function getOffsets(data: Data): Offsets {\n return {\n width: data.offsets.target.width,\n height: data.offsets.target.height,\n left: Math.floor(data.offsets.target.left),\n top: Math.round(data.offsets.target.top),\n bottom: Math.round(data.offsets.target.bottom),\n right: Math.floor(data.offsets.target.right)\n };\n}\n","/**\n * Get the opposite placement of the given one\n */\nexport function getOppositePlacement(placement: string) {\n const hash = { left: 'right', right: 'left', bottom: 'top', top: 'bottom' };\n\n return placement.replace(/left|right|bottom|top/g, matched => (hash as any)[matched]);\n}\n","/**\n * Get the opposite placement variation of the given one\n */\nexport function getOppositeVariation(variation: string) {\n if (variation === 'right') {\n return 'left';\n } else if (variation === 'left') {\n return 'right';\n }\n\n return variation;\n}\n","/**\n * Get the outer sizes of the given element (offset size + margins)\n */\nexport function getOuterSizes(element: any) {\n const window = element.ownerDocument.defaultView;\n const styles = window.getComputedStyle(element);\n const x = parseFloat(styles.marginTop || 0) + parseFloat(styles.marginBottom || 0);\n const y = parseFloat(styles.marginLeft || 0) + parseFloat(styles.marginRight || 0);\n\n return {\n width: Number(element.offsetWidth) + y,\n height: Number(element.offsetHeight) + x\n };\n}\n","/**\n * Get offsets to the reference element\n */\nimport { findCommonOffsetParent } from './findCommonOffsetParent';\nimport { getOffsetRectRelativeToArbitraryNode } from './getOffsetRectRelativeToArbitraryNode';\nimport { getFixedPositionOffsetParent } from './getFixedPositionOffsetParent';\nimport { Offsets } from '../models';\n\nexport function getReferenceOffsets(\n target: HTMLElement,\n host: HTMLElement,\n fixedPosition: boolean = null\n): Offsets {\n const commonOffsetParent = fixedPosition\n ? getFixedPositionOffsetParent(target)\n : findCommonOffsetParent(target, host);\n\n return getOffsetRectRelativeToArbitraryNode(host, commonOffsetParent, fixedPosition);\n}\n","/**\n * Get offsets to the target\n */\nimport { getOppositePlacement } from './getOppositePlacement';\nimport { getOuterSizes } from './getOuterSizes';\nimport { Offsets } from '../models';\n\nexport function getTargetOffsets(\n target: HTMLElement,\n hostOffsets: Offsets,\n position: string\n): Offsets {\n const placement = position.split(' ')[0];\n\n // Get target node sizes\n const targetRect = getOuterSizes(target);\n\n // Add position, width and height to our offsets object\n const targetOffsets = {\n width: targetRect.width,\n height: targetRect.height\n };\n\n // depending by the target placement we have to compute its offsets slightly differently\n const isHoriz = ['right', 'left'].indexOf(placement) !== -1;\n const mainSide = isHoriz ? 'top' : 'left';\n const secondarySide = isHoriz ? 'left' : 'top';\n const measurement = isHoriz ? 'height' : 'width';\n const secondaryMeasurement = !isHoriz ? 'height' : 'width';\n\n (targetOffsets as any)[mainSide] =\n hostOffsets[mainSide] +\n hostOffsets[measurement] / 2 -\n targetRect[measurement] / 2;\n\n (targetOffsets as any)[secondarySide] = placement === secondarySide\n ? hostOffsets[secondarySide] - targetRect[secondaryMeasurement]\n : (hostOffsets as any)[getOppositePlacement(secondarySide)];\n\n return targetOffsets;\n}\n","/**\n * Helper used to know if the given modifier is enabled.\n */\nexport function isModifierEnabled(options: any, modifierName: string) {\n return options\n && options.modifiers\n && options.modifiers[modifierName]\n && options.modifiers[modifierName].enabled;\n}\n","/**\n * Tells if a given input is a number\n */\nexport function isNumeric(n: any) {\n return n !== '' && !isNaN(parseFloat(n)) && isFinite(n);\n}\n","/**\n * Update class for the given popper\n */\nimport { Renderer2 } from '@angular/core';\nimport { Data } from '../models';\n\nexport function updateContainerClass(data: Data, renderer?: Renderer2): void {\n const target = data.instance.target;\n\n let containerClass = target.className;\n\n if (data.placementAuto) {\n containerClass = containerClass.replace(/bs-popover-auto/g, `bs-popover-${data.placement}`);\n containerClass = containerClass.replace(/bs-tooltip-auto/g, `bs-tooltip-${data.placement}`);\n containerClass = containerClass.replace(/\\sauto/g, ` ${data.placement}`);\n\n if (containerClass.indexOf('popover') !== -1 && containerClass.indexOf('popover-auto') === -1) {\n containerClass += ' popover-auto';\n }\n\n if (containerClass.indexOf('tooltip') !== -1 && containerClass.indexOf('tooltip-auto') === -1) {\n containerClass += ' tooltip-auto';\n }\n }\n\n containerClass = containerClass.replace(/left|right|top|bottom/g, `${data.placement.split(' ')[0]}`);\n\n if (renderer) {\n renderer.setAttribute(target, 'class', containerClass);\n\n return;\n }\n\n target.className = containerClass;\n}\n","/**\n * Set the style to the given popper\n */\nimport { Renderer2 } from '@angular/core';\n\nimport { isNumeric } from './isNumeric';\n\nexport function setStyles(element: HTMLElement, styles: any, renderer?: Renderer2) {\n Object.keys(styles).forEach((prop: any) => {\n let unit = '';\n // add unit if the value is numeric and is one of the following\n if (['width', 'height', 'top', 'right', 'bottom', 'left'].indexOf(prop) !== -1 &&\n isNumeric(styles[prop])) {\n unit = 'px';\n }\n\n if (renderer) {\n renderer.setStyle(element, prop, `${String(styles[prop])}${unit}`);\n\n return;\n }\n\n element.style[prop] = String(styles[prop]) + unit;\n });\n}\n","import { getClientRect, getOuterSizes, getStyleComputedProperty } from '../utils';\nimport { Data } from '../models';\n\nexport function arrow(data: Data) {\n let targetOffsets = data.offsets.target;\n // if arrowElement is a string, suppose it's a CSS selector\n const arrowElement: HTMLElement | null = data.instance.target.querySelector('.arrow');\n\n // if arrowElement is not found, don't run the modifier\n if (!arrowElement) {\n return data;\n }\n\n const isVertical = ['left', 'right'].indexOf(data.placement.split(' ')[0]) !== -1;\n\n const len = isVertical ? 'height' : 'width';\n const sideCapitalized = isVertical ? 'Top' : 'Left';\n const side = sideCapitalized.toLowerCase();\n const altSide = isVertical ? 'left' : 'top';\n const opSide = isVertical ? 'bottom' : 'right';\n const arrowElementSize = getOuterSizes(arrowElement)[len];\n const placementVariation = data.placement.split(' ')[1];\n\n // top/left side\n if (data.offsets.host[opSide] - arrowElementSize < (targetOffsets as any)[side]) {\n (targetOffsets as any)[side] -=\n (targetOffsets as any)[side] - (data.offsets.host[opSide] - arrowElementSize);\n }\n // bottom/right side\n if (Number((data as any).offsets.host[side]) + Number(arrowElementSize) > (targetOffsets as any)[opSide]) {\n (targetOffsets as any)[side] +=\n Number((data as any).offsets.host[side]) + Number(arrowElementSize) - Number((targetOffsets as any)[opSide]);\n }\n targetOffsets = getClientRect(targetOffsets);\n\n // Compute the sideValue using the updated target offsets\n // take target margin in account because we don't have this info available\n const css = getStyleComputedProperty(data.instance.target);\n const targetMarginSide = parseFloat(css[`margin${sideCapitalized}`]);\n const targetBorderSide = parseFloat(css[`border${sideCapitalized}Width`]);\n\n // compute center of the target\n let center: number;\n if (!placementVariation) {\n center = Number((data as any).offsets.host[side]) + Number(data.offsets.host[len] / 2 - arrowElementSize / 2);\n } else {\n const targetBorderRadius = parseFloat(css.borderRadius);\n const targetSideArrowOffset = Number(targetMarginSide + targetBorderSide + targetBorderRadius);\n center = side === placementVariation ?\n Number((data as any).offsets.host[side]) + targetSideArrowOffset :\n Number((data as any).offsets.host[side]) + Number(data.offsets.host[len] - targetSideArrowOffset);\n }\n\n let sideValue =\n center - (targetOffsets as any)[side] - targetMarginSide - targetBorderSide;\n\n // prevent arrowElement from being placed not contiguously to its target\n sideValue = Math.max(Math.min(targetOffsets[len] - arrowElementSize, sideValue), 0);\n\n data.offsets.arrow = {\n [side]: Math.round(sideValue),\n [altSide]: '' // make sure to unset any eventual altSide value from the DOM node\n };\n\n data.instance.arrow = arrowElement;\n\n return data;\n}\n","import {\n computeAutoPlacement,\n getBoundaries,\n getClientRect,\n getOppositeVariation,\n getTargetOffsets,\n isModifierEnabled\n} from '../utils';\n\nimport { Data } from '../models';\n\nexport function flip(data: Data): Data {\n data.offsets.target = getClientRect(data.offsets.target);\n\n if (!isModifierEnabled(data.options, 'flip')) {\n\n data.offsets.target = {\n ...data.offsets.target,\n ...getTargetOffsets(\n data.instance.target,\n data.offsets.host,\n data.placement\n )\n };\n\n return data;\n }\n\n const boundaries = getBoundaries(\n data.instance.target,\n data.instance.host,\n 0, // padding\n 'viewport',\n false // positionFixed\n );\n\n let placement = data.placement.split(' ')[0];\n let variation = data.placement.split(' ')[1] || '';\n\n const offsetsHost = data.offsets.host;\n const target = data.instance.target;\n const host = data.instance.host;\n\n const adaptivePosition = computeAutoPlacement('auto', offsetsHost, target, host, data.options.allowedPositions);\n const flipOrder = [placement, adaptivePosition];\n\n /* tslint:disable-next-line: cyclomatic-complexity */\n flipOrder.forEach((step, index) => {\n if (placement !== step || flipOrder.length === index + 1) {\n return data;\n }\n\n placement = data.placement.split(' ')[0];\n\n // using floor because the host offsets may contain decimals we are not going to consider here\n const overlapsRef =\n (placement === 'left' &&\n Math.floor(data.offsets.target.right) > Math.floor(data.offsets.host.left)) ||\n (placement === 'right' &&\n Math.floor(data.offsets.target.left) < Math.floor(data.offsets.host.right)) ||\n (placement === 'top' &&\n Math.floor(data.offsets.target.bottom) > Math.floor(data.offsets.host.top)) ||\n (placement === 'bottom' &&\n Math.floor(data.offsets.target.top) < Math.floor(data.offsets.host.bottom));\n\n const overflowsLeft = Math.floor(data.offsets.target.left) < Math.floor(boundaries.left);\n const overflowsRight = Math.floor(data.offsets.target.right) > Math.floor(boundaries.right);\n const overflowsTop = Math.floor(data.offsets.target.top) < Math.floor(boundaries.top);\n const overflowsBottom = Math.floor(data.offsets.target.bottom) > Math.floor(boundaries.bottom);\n\n const overflowsBoundaries =\n (placement === 'left' && overflowsLeft) ||\n (placement === 'right' && overflowsRight) ||\n (placement === 'top' && overflowsTop) ||\n (placement === 'bottom' && overflowsBottom);\n\n // flip the variation if required\n const isVertical = ['top', 'bottom'].indexOf(placement) !== -1;\n const flippedVariation =\n ((isVertical && variation === 'left' && overflowsLeft) ||\n (isVertical && variation === 'right' && overflowsRight) ||\n (!isVertical && variation === 'left' && overflowsTop) ||\n (!isVertical && variation === 'right' && overflowsBottom));\n\n if (overlapsRef || overflowsBoundaries || flippedVariation) {\n if (overlapsRef || overflowsBoundaries) {\n placement = flipOrder[index + 1];\n }\n\n if (flippedVariation) {\n variation = getOppositeVariation(variation);\n }\n\n data.placement = placement + (variation ? ` ${variation}` : '');\n\n data.offsets.target = {\n ...data.offsets.target,\n ...getTargetOffsets(\n data.instance.target,\n data.offsets.host,\n data.placement\n )\n };\n }\n });\n\n return data;\n}\n","import {\n computeAutoPlacement,\n getReferenceOffsets,\n getTargetOffsets\n} from '../utils';\n\nimport { Data, Options } from '../models';\n\nexport function initData(\n targetElement: HTMLElement, hostElement: HTMLElement, position: string, options: Options\n): Data {\n\n const hostElPosition = getReferenceOffsets(targetElement, hostElement);\n\n if (!position.match(/^(auto)*\\s*(left|right|top|bottom)*$/)\n && !position.match(/^(left|right|top|bottom)*(?: (left|right|top|bottom))?\\s*(start|end)*$/)) {\n /* tslint:disable-next-line: no-parameter-reassignment */\n position = 'auto';\n }\n\n const placementAuto = !!position.match(/auto/g);\n\n // support old placements 'auto left|right|top|bottom'\n let placement = position.match(/auto\\s(left|right|top|bottom)/)\n ? position.split(' ')[1] || 'auto'\n : position;\n\n // Normalize placements that have identical main placement and variation (\"right right\" => \"right\").\n const matches = placement.match(/^(left|right|top|bottom)* ?(?!\\1)(left|right|top|bottom)?/);\n if (matches) {\n placement = matches[1] + (matches[2] ? ` ${matches[2]}` : '');\n }\n\n // \"left right\", \"top bottom\" etc. placements also considered incorrect.\n if (['left right', 'right left', 'top bottom', 'bottom top'].indexOf(placement) !== -1) {\n placement = 'auto';\n }\n\n const targetOffset = getTargetOffsets(targetElement, hostElPosition, placement);\n\n placement = computeAutoPlacement(\n placement,\n hostElPosition,\n targetElement,\n hostElement,\n options ? options.allowedPositions : undefined\n );\n\n return {\n options,\n instance: {\n target: targetElement,\n host: hostElement,\n arrow: null\n },\n offsets: {\n target: targetOffset,\n host: hostElPosition,\n arrow: null\n },\n positionFixed: false,\n placement,\n placementAuto\n };\n}\n","import { getBoundaries, isModifierEnabled } from '../utils';\nimport { Data } from '../models';\n\nexport function preventOverflow(data: Data) {\n\n if (!isModifierEnabled(data.options, 'preventOverflow')) {\n return data;\n }\n\n // NOTE: DOM access here\n // resets the targetOffsets's position so that the document size can be calculated excluding\n // the size of the targetOffsets element itself\n const transformProp = 'transform';\n const targetStyles = data.instance.target.style; // assignment to help minification\n const { top, left, [transformProp]: transform } = targetStyles;\n targetStyles.top = '';\n targetStyles.left = '';\n targetStyles[transformProp] = '';\n\n const boundaries = getBoundaries(\n data.instance.target,\n data.instance.host,\n 0, // padding\n 'scrollParent',\n false // positionFixed\n );\n\n // NOTE: DOM access here\n // restores the original style properties after the offsets have been computed\n targetStyles.top = top;\n targetStyles.left = left;\n targetStyles[transformProp] = transform;\n\n const order = ['left', 'right', 'top', 'bottom'];\n\n const check = {\n primary(placement: string) {\n let value = (data as any).offsets.target[placement];\n if (\n (data as any).offsets.target[placement] < boundaries[placement] &&\n !false // options.escapeWithReference\n ) {\n value = Math.max((data as any).offsets.target[placement], boundaries[placement]);\n }\n\n return { [placement]: value };\n },\n secondary(placement: string) {\n const mainSide = placement === 'right' ? 'left' : 'top';\n let value = data.offsets.target[mainSide];\n if (\n (data as any).offsets.target[placement] > boundaries[placement] &&\n !false // escapeWithReference\n ) {\n value = Math.min(\n data.offsets.target[mainSide],\n boundaries[placement] -\n (placement === 'right' ? data.offsets.target.width : data.offsets.target.height)\n );\n }\n\n return { [mainSide]: value };\n }\n };\n\n let side: string;\n\n order.forEach(placement => {\n side = ['left', 'top']\n .indexOf(placement) !== -1\n ? 'primary'\n : 'secondary';\n\n data.offsets.target = {\n ...data.offsets.target,\n ...(check as any)[side](placement)\n };\n\n });\n\n return data;\n}\n","import { Data } from '../models';\n\nexport function shift(data: Data): Data {\n const placement = data.placement;\n const basePlacement = placement.split(' ')[0];\n const shiftVariation = placement.split(' ')[1];\n\n if (shiftVariation) {\n const { host, target } = data.offsets;\n const isVertical = ['bottom', 'top'].indexOf(basePlacement) !== -1;\n const side = isVertical ? 'left' : 'top';\n const measurement = isVertical ? 'width' : 'height';\n\n const shiftOffsets = {\n start: { [side]: host[side] },\n end: {\n [side]: host[side] + host[measurement] - target[measurement]\n }\n };\n\n data.offsets.target = {\n ...target, ...{\n [side]: (side === shiftVariation ? (shiftOffsets as any).start[side] : (shiftOffsets as any).end[side])\n }\n };\n }\n\n return data;\n}\n","/**\n * @copyright Valor Software\n * @copyright Federico Zivolo and contributors\n */\nimport { Renderer2 } from '@angular/core';\n\nimport { getOffsets, getReferenceOffsets, updateContainerClass, setStyles } from './utils';\n\nimport { arrow, flip, preventOverflow, shift, initData } from './modifiers';\nimport { Data, Offsets, Options } from './models';\n\n\nexport class Positioning {\n position(hostElement: HTMLElement, targetElement: HTMLElement, round = true): Offsets {\n return this.offset(hostElement, targetElement, false);\n }\n\n offset(hostElement: HTMLElement, targetElement: HTMLElement, round = true): Offsets {\n return getReferenceOffsets(targetElement, hostElement);\n }\n\n positionElements(\n hostElement: HTMLElement,\n targetElement: HTMLElement,\n position: string,\n appendToBody?: boolean,\n options?: Options\n ): Data {\n const chainOfModifiers = [flip, shift, preventOverflow, arrow];\n\n return chainOfModifiers.reduce(\n (modifiedData, modifier) => modifier(modifiedData),\n initData(targetElement, hostElement, position, options)\n );\n }\n}\n\nconst positionService = new Positioning();\n\nexport function positionElements(\n hostElement: HTMLElement,\n targetElement: HTMLElement,\n placement: string,\n appendToBody?: boolean,\n options?: Options,\n renderer?: Renderer2\n): void {\n\n const data = positionService.positionElements(\n hostElement,\n targetElement,\n placement,\n appendToBody,\n options\n );\n\n const offsets = getOffsets(data);\n\n setStyles(targetElement, {\n 'will-change': 'transform',\n top: '0px',\n left: '0px',\n transform: `translate3d(${offsets.left}px, ${offsets.top}px, 0px)`\n }, renderer);\n\n if (data.instance.arrow) {\n setStyles(data.instance.arrow, data.offsets.arrow, renderer);\n }\n\n updateContainerClass(data, renderer);\n}\n","import { Injectable, ElementRef, RendererFactory2, Inject, PLATFORM_ID, NgZone } from '@angular/core';\nimport { isPlatformBrowser } from '@angular/common';\n\nimport { positionElements } from './ng-positioning';\n\nimport { fromEvent, merge, of, animationFrameScheduler, Subject, Observable } from 'rxjs';\nimport { Options } from './models';\n\n\nexport interface PositioningOptions {\n /** The DOM element, ElementRef, or a selector string of an element which will be moved */\n element?: HTMLElement | ElementRef | string;\n\n /** The DOM element, ElementRef, or a selector string of an element which the element will be attached to */\n target?: HTMLElement | ElementRef | string;\n\n /**\n * A string of the form 'vert-attachment horiz-attachment' or 'placement'\n * - placement can be \"top\", \"bottom\", \"left\", \"right\"\n * not yet supported:\n * - vert-attachment can be any of 'top', 'middle', 'bottom'\n * - horiz-attachment can be any of 'left', 'center', 'right'\n */\n attachment?: string;\n\n /** A string similar to `attachment`. The one difference is that, if it's not provided,\n * `targetAttachment` will assume the mirror image of `attachment`.\n */\n targetAttachment?: string;\n\n /** A string of the form 'vert-offset horiz-offset'\n * - vert-offset and horiz-offset can be of the form \"20px\" or \"55%\"\n */\n offset?: string;\n\n /** A string similar to `offset`, but referring to the offset of the target */\n targetOffset?: string;\n\n /** If true component will be attached to body */\n appendToBody?: boolean;\n}\n\n\n@Injectable()\nexport class PositioningService {\n private options: Options;\n private update$$ = new Subject<null>();\n private positionElements = new Map();\n private triggerEvent$: Observable<number|Event>;\n private isDisabled = false;\n\n constructor(\n ngZone: NgZone,\n rendererFactory: RendererFactory2,\n @Inject(PLATFORM_ID) platformId: number\n ) {\n\n if (isPlatformBrowser(platformId)) {\n ngZone.runOutsideAngular(() => {\n this.triggerEvent$ = merge(\n fromEvent(window, 'scroll', { passive: true }),\n fromEvent(window, 'resize', { passive: true }),\n /* tslint:disable-next-line: deprecation */\n of(0, animationFrameScheduler),\n this.update$$\n );\n\n this.triggerEvent$.subscribe(() => {\n if (this.isDisabled) {\n return;\n }\n\n this.positionElements\n /* tslint:disable-next-line: no-any */\n .forEach((positionElement: any) => {\n positionElements(\n _getHtmlElement(positionElement.target),\n _getHtmlElement(positionElement.element),\n positionElement.attachment,\n positionElement.appendToBody,\n this.options,\n rendererFactory.createRenderer(null, null)\n );\n });\n });\n });\n }\n }\n\n position(options: PositioningOptions): void {\n this.addPositionElement(options);\n }\n\n get event$(): Observable<number|Event> {\n return this.triggerEvent$;\n }\n\n disable(): void {\n this.isDisabled = true;\n }\n\n enable(): void {\n this.isDisabled = false;\n }\n\n addPositionElement(options: PositioningOptions): void {\n this.positionElements.set(_getHtmlElement(options.element), options);\n }\n\n calcPosition(): void {\n this.update$$.next();\n }\n\n deletePositionElement(elRef: ElementRef): void {\n this.positionElements.delete(_getHtmlElement(elRef));\n }\n\n setOptions(options: Options) {\n this.options = options;\n }\n}\n\nfunction _getHtmlElement(element: HTMLElement | ElementRef | string): HTMLElement {\n // it means that we got a selector\n if (typeof element === 'string') {\n return document.querySelector(element);\n }\n\n if (element instanceof ElementRef) {\n return element.nativeElement;\n }\n\n return element;\n}\n"],"names":["runIsIE"],"mappings":";;;;;;;;;;;;;;;SAGgB,wBAAwB,CAAC,OAAoB,EAAE,QAAiB;IAC9E,IAAI,OAAO,CAAC,QAAQ,KAAK,CAAC,EAAE;QAC1B,OAAO,EAAE,CAAC;KACX;;;QAEK,MAAM,GAAG,OAAO,CAAC,aAAa,CAAC,WAAW;;QAC1C,GAAG,GAAG,MAAM,CAAC,gBAAgB,CAAC,OAAO,EAAE,IAAI,CAAC;IAElD,OAAO,QAAQ,GAAG,GAAG,oBAAC,QAAQ,GAAQ,GAAG,GAAG,CAAC;AAC/C;;;;;;;;;;;ACTA,SAAgB,aAAa,CAAC,OAAY;IACxC,IAAI,OAAO,CAAC,QAAQ,KAAK,MAAM,EAAE;QAC/B,OAAO,OAAO,CAAC;KAChB;IAED,OAAO,OAAO,CAAC,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC;AAC5C,CAAC;;;;;;;;;;ACHD,SAAgB,eAAe,CAAC,OAAY;;IAE1C,IAAI,CAAC,OAAO,EAAE;QACZ,OAAO,QAAQ,CAAC,IAAI,CAAC;KACtB;IAED,QAAQ,OAAO,CAAC,QAAQ;QACtB,KAAK,MAAM,CAAC;QACZ,KAAK,MAAM;YACT,OAAO,OAAO,CAAC,aAAa,CAAC,IAAI,CAAC;QACpC,KAAK,WAAW;YACd,OAAO,OAAO,CAAC,IAAI,CAAC;QACtB,QAAQ;KACT;;IAGK,IAAA,sCAAsE,EAApE,sBAAQ,EAAE,wBAAS,EAAE,wBAA+C;IAC5E,IAAI,uBAAuB,CAAC,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,GAAG,MAAM,CAAC,SAAS,CAAC,GAAG,MAAM,CAAC,SAAS,CAAC,CAAC,EAAE;QAC1F,OAAO,OAAO,CAAC;KAChB;IAED,OAAO,eAAe,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC,CAAC;AACjD,CAAC;;;;;;;AC5BD,IAAa,SAAS,GAAG,OAAO,MAAM,KAAK,WAAW,IAAI,OAAO,QAAQ,KAAK,WAAW;;;;;;;ICKnF,MAAM,GAAG,SAAS,IAAI,CAAC,EAAE,oBAAC,MAAM,IAAS,oBAAoB,IAAI,oBAAC,QAAQ,IAAS,YAAY,CAAC;;IAChG,MAAM,GAAG,SAAS,IAAI,CAAC,EAAE,oBAAC,MAAM,IAAS,oBAAoB,IAAI,SAAS,CAAC,IAAI,CAAC,oBAAC,SAAS,IAAS,SAAS,CAAC,CAAC;;;;;AAEpH,SAAgB,IAAI,CAAC,OAAgB;IACnC,IAAI,OAAO,KAAK,EAAE,EAAE;QAClB,OAAO,MAAM,CAAC;KACf;IACD,IAAI,OAAO,KAAK,EAAE,EAAE;QAClB,OAAO,MAAM,CAAC;KACf;IAED,OAAO,MAAM,IAAI,MAAM,CAAC;AAC1B,CAAC;;;;;;;;;;ACXD,SAAgB,eAAe,CAAC,OAAY;IAC1C,IAAI,CAAC,OAAO,EAAE;QACZ,OAAO,QAAQ,CAAC,eAAe,CAAC;KACjC;;QAEK,cAAc,GAAG,IAAI,CAAC,EAAE,CAAC,GAAG,QAAQ,CAAC,IAAI,GAAG,IAAI;;;QAGlD,YAAY,GAAG,OAAO,CAAC,YAAY,IAAI,IAAI;;;QAG3C,OAA2B;IAE/B,OAAO,YAAY,KAAK,cAAc;WAC5B,OAAO,CAAC,kBAAkB;WAC1B,OAAO,KAAK,OAAO,CAAC,kBAAkB,EAAE;QAE9C,OAAO,GAAG,OAAO,CAAC,kBAAkB,CAAC;QACrC,YAAY,GAAG,OAAO,CAAC,YAAY,CAAC;KACrC;;QAEG,QAAQ,GAAG,YAAY,IAAI,YAAY,CAAC,QAAQ;IAEtD,IAAI,CAAC,QAAQ,IAAI,QAAQ,KAAK,MAAM,IAAI,QAAQ,KAAK,MAAM,EAAE;QAC3D,OAAO,OAAO,GAAG,OAAO,CAAC,aAAa,CAAC,eAAe,GAAG,QAAQ,CAAC,eAAe,CAAC;KACnF;;IAGD,IACE,CAAC,IAAI,EAAE,IAAI,EAAE,OAAO,CAAC,CAAC,OAAO,CAAC,YAAY,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;QAC3D,wBAAwB,CAAC,YAAY,EAAE,UAAU,CAAC,KAAK,QAAQ,EAC/D;QACA,OAAO,eAAe,CAAC,YAAY,CAAC,CAAC;KACtC;IAED,OAAO,YAAY,CAAC;AACtB,CAAC;;;;;;AC1CD;;;;AAEA,SAAgB,iBAAiB,CAAC,OAAY;IACpC,IAAA,2BAAQ;IAChB,IAAI,QAAQ,KAAK,MAAM,EAAE;QACvB,OAAO,KAAK,CAAC;KACd;IAED,QACE,QAAQ,KAAK,MAAM,IAAI,eAAe,CAAC,OAAO,CAAC,iBAAiB,CAAC,KAAK,OAAO,EAC7E;AACJ,CAAC;;;;;;;;;;;ACRD,SAAgB,OAAO,CAAC,IAAU;IAChC,IAAI,IAAI,CAAC,UAAU,KAAK,IAAI,EAAE;QAC5B,OAAO,OAAO,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;KACjC;IAED,OAAO,IAAI,CAAC;AACd,CAAC;;;;;;;;;;;ACFD,SAAgB,sBAAsB,CAAC,QAAqB,EAAE,QAAqB;;IAEjF,IAAI,CAAC,QAAQ,IAAI,CAAC,QAAQ,CAAC,QAAQ,IAAI,CAAC,QAAQ,IAAI,CAAC,QAAQ,CAAC,QAAQ,EAAE;QACtE,OAAO,QAAQ,CAAC,eAAe,CAAC;KACjC;;;;QAIK,KAAK,GAAG,QAAQ,CAAC,uBAAuB,CAAC,QAAQ,CAAC,GAAG,IAAI,CAAC,2BAA2B;;QAErF,KAAK,GAAG,KAAK,GAAG,QAAQ,GAAG,QAAQ;;QACnC,GAAG,GAAG,KAAK,GAAG,QAAQ,GAAG,QAAQ;;;QAGjC,KAAK,GAAG,QAAQ,CAAC,WAAW,EAAE;IACpC,KAAK,CAAC,QAAQ,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC;IACzB,KAAK,CAAC,MAAM,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC;IACb,IAAA,uDAAuB;;IAG/B,IACE,CAAC,QAAQ,KAAK,uBAAuB;QACnC,QAAQ,KAAK,uBAAuB;QACtC,KAAK,CAAC,QAAQ,CAAC,GAAG,CAAC,EACnB;QACA,IAAI,iBAAiB,CAAC,uBAAuB,CAAC,EAAE;YAC9C,OAAO,uBAAuB,CAAC;SAChC;QAED,OAAO,eAAe,CAAC,uBAAuB,CAAC,CAAC;KACjD;;;QAGK,YAAY,GAAG,OAAO,CAAC,QAAQ,CAAC;IACtC,IAAI,YAAY,CAAC,IAAI,EAAE;QACrB,OAAO,sBAAsB,CAAC,YAAY,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;KAC5D;SAAM;QACL,OAAO,sBAAsB,CAAC,QAAQ,EAAE,OAAO,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC,CAAC;KACjE;AACH,CAAC;;;;;;;;;;;;;;AC1CD,SAAgB,cAAc,CAAC,MAA2B,EAAE,IAAY;;QAChE,KAAK,GAAG,IAAI,KAAK,GAAG,GAAG,MAAM,GAAG,KAAK;;QACrC,KAAK,GAAG,KAAK,KAAK,MAAM,GAAG,OAAO,GAAG,QAAQ;IAEnD,QACE,UAAU,CAAC,MAAM,oBAAC,WAAS,KAAK,UAAO,GAAQ,CAAC;QAChD,UAAU,CAAC,MAAM,oBAAC,WAAS,KAAK,UAAO,GAAQ,CAAC,EAChD;AACJ,CAAC;;;;;;ACZD;;;;;;;AAEA,SAAS,OAAO,CAAC,IAAY,EAAE,IAAiB,EAAE,IAAiB,EAAE,aAAkC;IACrG,OAAO,IAAI,CAAC,GAAG,CACb,oBAAC,IAAI,IAAS,WAAS,IAAM,CAAC,EAC9B,oBAAC,IAAI,IAAS,WAAS,IAAM,CAAC,EAC9B,oBAAC,IAAI,IAAS,WAAS,IAAM,CAAC,EAC9B,oBAAC,IAAI,IAAS,WAAS,IAAM,CAAC,EAC9B,oBAAC,IAAI,IAAS,WAAS,IAAM,CAAC,EAC9B,IAAI,CAAC,EAAE,CAAC;WACH,QAAQ,CAAC,oBAAC,IAAI,IAAS,WAAS,IAAM,CAAC,EAAE,EAAE,CAAC;YAC/C,QAAQ,CAAC,aAAa,oBAAC,YAAS,IAAI,KAAK,QAAQ,GAAG,KAAK,GAAG,MAAM,CAAE,GAAQ,EAAE,EAAE,CAAC;YACjF,QAAQ,CAAC,aAAa,oBAAC,YAAS,IAAI,KAAK,QAAQ,GAAG,QAAQ,GAAG,OAAO,CAAE,GAAQ,EAAE,EAAE,CAAC;UACrF,CAAC,CACJ,CAAC;AACJ,CAAC;;;;;AAED,SAAgB,cAAc,CAAC,QAAkB;;QACzC,IAAI,GAAG,QAAQ,CAAC,IAAI;;QACpB,IAAI,GAAG,QAAQ,CAAC,eAAe;;QAC/B,aAAa,GAAG,IAAI,CAAC,EAAE,CAAC,IAAI,gBAAgB,CAAC,IAAI,CAAC;IAExD,OAAO;QACL,MAAM,EAAE,OAAO,CAAC,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,aAAa,CAAC;QACpD,KAAK,EAAE,OAAO,CAAC,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,aAAa,CAAC;KACnD,CAAC;AACJ,CAAC;;;;;;;;;;;;ACvBD,SAAgB,SAAS,CAAC,OAAoB,EAAE,IAAY;IAAZ,qBAAA,EAAA,YAAY;;QACpD,SAAS,GAAG,IAAI,KAAK,KAAK,GAAG,WAAW,GAAG,YAAY;;QACvD,QAAQ,GAAG,OAAO,CAAC,QAAQ;IAEjC,IAAI,QAAQ,KAAK,MAAM,IAAI,QAAQ,KAAK,MAAM,EAAE;;YACxC,IAAI,GAAG,OAAO,CAAC,aAAa,CAAC,eAAe;;YAC5C,gBAAgB,GAAG,OAAO,CAAC,aAAa,CAAC,gBAAgB,IAAI,IAAI;QAEvE,OAAO,gBAAgB,CAAC,SAAS,CAAC,CAAC;KACpC;IAED,OAAO,OAAO,CAAC,SAAS,CAAC,CAAC;AAC5B,CAAC;;;;;;;;;;ACVD,SAAgB,aAAa,CAAC,OAAgB;IAC5C,oBACK,OAAO,IACV,KAAK,EAAE,OAAO,CAAC,IAAI,GAAG,OAAO,CAAC,KAAK,EACnC,MAAM,EAAE,OAAO,CAAC,GAAG,GAAG,OAAO,CAAC,MAAM,IACpC;AACJ,CAAC;;;;;;;;;;ACAD,SAAgB,qBAAqB,CAAC,OAAoB;;QACpD,IAAI,GAAQ,EAAE;;;;IAKlB,IAAI;QACF,IAAI,IAAI,CAAC,EAAE,CAAC,EAAE;YACZ,IAAI,GAAG,OAAO,CAAC,qBAAqB,EAAE,CAAC;;gBACjC,SAAS,GAAG,SAAS,CAAC,OAAO,EAAE,KAAK,CAAC;;gBACrC,UAAU,GAAG,SAAS,CAAC,OAAO,EAAE,MAAM,CAAC;YAC7C,IAAI,CAAC,GAAG,IAAI,SAAS,CAAC;YACtB,IAAI,CAAC,IAAI,IAAI,UAAU,CAAC;YACxB,IAAI,CAAC,MAAM,IAAI,SAAS,CAAC;YACzB,IAAI,CAAC,KAAK,IAAI,UAAU,CAAC;SAC1B;aAAM;YACL,IAAI,GAAG,OAAO,CAAC,qBAAqB,EAAE,CAAC;SACxC;KACF;IAAC,OAAO,CAAC,EAAE;QACV,OAAO,SAAS,CAAC;KAClB;;QAEK,MAAM,GAAQ;QAClB,IAAI,EAAE,IAAI,CAAC,IAAI;QACf,GAAG,EAAE,IAAI,CAAC,GAAG;QACb,KAAK,EAAE,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,IAAI;QAC7B,MAAM,EAAE,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,GAAG;KAC/B;;;QAGK,KAAK,GAAQ,OAAO,CAAC,QAAQ,KAAK,MAAM,GAAG,cAAc,CAAC,OAAO,CAAC,aAAa,CAAC,GAAG,EAAE;;QACrF,KAAK,GACT,KAAK,CAAC,KAAK,IAAI,OAAO,CAAC,WAAW,IAAI,MAAM,CAAC,KAAK,GAAG,MAAM,CAAC,IAAI;;QAC5D,MAAM,GACV,KAAK,CAAC,MAAM,IAAI,OAAO,CAAC,YAAY,IAAI,MAAM,CAAC,MAAM,GAAG,MAAM,CAAC,GAAG;;QAEhE,cAAc,GAAG,OAAO,CAAC,WAAW,GAAG,KAAK;;QAC5C,aAAa,GAAG,OAAO,CAAC,YAAY,GAAG,MAAM;;;IAIjD,IAAI,cAAc,IAAI,aAAa,EAAE;;YAC7B,MAAM,GAAG,wBAAwB,CAAC,OAAO,CAAC;QAChD,cAAc,IAAI,cAAc,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;QAC9C,aAAa,IAAI,cAAc,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;QAE7C,MAAM,CAAC,KAAK,IAAI,cAAc,CAAC;QAC/B,MAAM,CAAC,MAAM,IAAI,aAAa,CAAC;KAChC;IAED,OAAO,aAAa,CAAC,MAAM,CAAC,CAAC;AAC/B,CAAC;;;;;;;;;;;;ACxDD,SAAgB,aAAa,CAAC,IAAa,EAAE,OAAoB,EAAE,QAAgB;IAAhB,yBAAA,EAAA,gBAAgB;;QAC3E,SAAS,GAAG,SAAS,CAAC,OAAO,EAAE,KAAK,CAAC;;QACrC,UAAU,GAAG,SAAS,CAAC,OAAO,EAAE,MAAM,CAAC;;QACvC,QAAQ,GAAG,QAAQ,GAAG,CAAC,CAAC,GAAG,CAAC;IAClC,IAAI,CAAC,GAAG,IAAI,SAAS,GAAG,QAAQ,CAAC;IACjC,IAAI,CAAC,MAAM,IAAI,SAAS,GAAG,QAAQ,CAAC;IACpC,IAAI,CAAC,IAAI,IAAI,UAAU,GAAG,QAAQ,CAAC;IACnC,IAAI,CAAC,KAAK,IAAI,UAAU,GAAG,QAAQ,CAAC;IAEpC,OAAO,IAAI,CAAC;AACd,CAAC;;;;;;AChBD;;;;;;AAQA,SAAgB,oCAAoC,CAClD,QAAqB,EACrB,MAAmB,EACnB,aAAqB;IAArB,8BAAA,EAAA,qBAAqB;;QAEf,MAAM,GAAGA,IAAO,CAAC,EAAE,CAAC;;QACpB,MAAM,GAAG,MAAM,CAAC,QAAQ,KAAK,MAAM;;QACnC,YAAY,GAAQ,qBAAqB,CAAC,QAAQ,CAAC;;QACnD,UAAU,GAAQ,qBAAqB,CAAC,MAAM,CAAC;;QAC/C,YAAY,GAAG,eAAe,CAAC,QAAQ,CAAC;;QAExC,MAAM,GAAG,wBAAwB,CAAC,MAAM,CAAC;;QACzC,cAAc,GAAG,UAAU,CAAC,MAAM,CAAC,cAAc,CAAC;;QAClD,eAAe,GAAG,UAAU,CAAC,MAAM,CAAC,eAAe,CAAC;;IAG1D,IAAI,aAAa,IAAI,MAAM,EAAE;QAC3B,UAAU,CAAC,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC,UAAU,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC;QAC7C,UAAU,CAAC,IAAI,GAAG,IAAI,CAAC,GAAG,CAAC,UAAU,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC;KAChD;;QAEG,OAAO,GAAY,aAAa,CAAC;QACnC,GAAG,EAAE,YAAY,CAAC,GAAG,GAAG,UAAU,CAAC,GAAG,GAAG,cAAc;QACvD,IAAI,EAAE,YAAY,CAAC,IAAI,GAAG,UAAU,CAAC,IAAI,GAAG,eAAe;QAC3D,KAAK,EAAE,YAAY,CAAC,KAAK;QACzB,MAAM,EAAE,YAAY,CAAC,MAAM;KAC5B,CAAC;IAEF,OAAO,CAAC,SAAS,GAAG,CAAC,CAAC;IACtB,OAAO,CAAC,UAAU,GAAG,CAAC,CAAC;;;;;IAMvB,IAAI,CAAC,MAAM,IAAI,MAAM,EAAE;;YACf,SAAS,GAAG,UAAU,CAAC,MAAM,CAAC,SAAS,CAAC;;YACxC,UAAU,GAAG,UAAU,CAAC,MAAM,CAAC,UAAU,CAAC;QAEhD,OAAO,CAAC,GAAG,IAAI,cAAc,GAAG,SAAS,CAAC;QAC1C,OAAO,CAAC,MAAM,IAAI,cAAc,GAAG,SAAS,CAAC;QAC7C,OAAO,CAAC,IAAI,IAAI,eAAe,GAAG,UAAU,CAAC;QAC7C,OAAO,CAAC,KAAK,IAAI,eAAe,GAAG,UAAU,CAAC;;QAG9C,OAAO,CAAC,SAAS,GAAG,SAAS,CAAC;QAC9B,OAAO,CAAC,UAAU,GAAG,UAAU,CAAC;KACjC;IAED,IACE,MAAM,IAAI,CAAC,aAAa;UACpB,MAAM,CAAC,QAAQ,CAAC,YAAY,CAAC;UAC7B,MAAM,KAAK,YAAY,IAAI,YAAY,CAAC,QAAQ,KAAK,MAAM,EAC/D;QACA,OAAO,GAAG,aAAa,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;KAC1C;IAED,OAAO,OAAO,CAAC;AACjB,CAAC;;;;;;AClED;;;;;AAKA,SAAgB,6CAA6C,CAAC,OAAoB,EAAE,aAAqB;IAArB,8BAAA,EAAA,qBAAqB;;QACjG,IAAI,GAAG,OAAO,CAAC,aAAa,CAAC,eAAe;;QAC5C,cAAc,GAAG,oCAAoC,CAAC,OAAO,EAAE,IAAI,CAAC;;QACpE,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,WAAW,EAAE,MAAM,CAAC,UAAU,IAAI,CAAC,CAAC;;QAC1D,MAAM,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,YAAY,EAAE,MAAM,CAAC,WAAW,IAAI,CAAC,CAAC;;QAE7D,SAAS,GAAG,CAAC,aAAa,GAAG,SAAS,CAAC,IAAI,CAAC,GAAG,CAAC;;QAChD,UAAU,GAAG,CAAC,aAAa,GAAG,SAAS,CAAC,IAAI,EAAE,MAAM,CAAC,GAAG,CAAC;;QAEzD,MAAM,GAAG;QACb,GAAG,EAAE,SAAS,GAAG,MAAM,CAAC,cAAc,CAAC,GAAG,CAAC,GAAG,MAAM,CAAC,cAAc,CAAC,SAAS,CAAC;QAC9E,IAAI,EAAE,UAAU,GAAG,MAAM,CAAC,cAAc,CAAC,IAAI,CAAC,GAAG,MAAM,CAAC,cAAc,CAAC,UAAU,CAAC;QAClF,KAAK,OAAA;QACL,MAAM,QAAA;KACP;IAED,OAAO,aAAa,CAAC,MAAM,CAAC,CAAC;AAC/B,CAAC;;;;;;;;;;AChBD,SAAgB,OAAO,CAAC,OAAoB;;QACpC,QAAQ,GAAG,OAAO,CAAC,QAAQ;IACjC,IAAI,QAAQ,KAAK,MAAM,IAAI,QAAQ,KAAK,MAAM,EAAE;QAC9C,OAAO,KAAK,CAAC;KACd;IACD,IAAI,wBAAwB,CAAC,OAAO,EAAE,UAAU,CAAC,KAAK,OAAO,EAAE;QAC7D,OAAO,IAAI,CAAC;KACb;IAED,OAAO,OAAO,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC,CAAC;AACzC,CAAC;;;;;;;;;;ACTD,SAAgB,4BAA4B,CAAC,OAAoB;;IAE/D,IAAI,CAAC,OAAO,IAAI,CAAC,OAAO,CAAC,aAAa,IAAI,IAAI,EAAE,EAAE;QACjD,OAAO,QAAQ,CAAC,eAAe,CAAC;KAChC;;QAEG,EAAE,GAAG,OAAO,CAAC,aAAa;IAE9B,OAAO,EAAE,IAAI,wBAAwB,CAAC,EAAE,EAAE,WAAW,CAAC,KAAK,MAAM,EAAE;QACjE,EAAE,GAAG,EAAE,CAAC,aAAa,CAAC;KACvB;IAED,OAAO,EAAE,IAAI,QAAQ,CAAC,eAAe,CAAC;AACxC,CAAC;;;;;;;;;;;;;;ACRD,SAAgB,aAAa,CAC3B,MAAmB,EACnB,IAAiB,EACjB,OAAW,EACX,iBAAyB,EACzB,aAAqB;;IAFrB,wBAAA,EAAA,WAAW;IAEX,8BAAA,EAAA,qBAAqB;;;QAIjB,UAAU,GAAQ,EAAE,GAAG,EAAE,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE;;QACnC,YAAY,GAAG,aAAa,GAAG,4BAA4B,CAAC,MAAM,CAAC,GAAG,sBAAsB,CAAC,MAAM,EAAE,IAAI,CAAC;;IAGhH,IAAI,iBAAiB,KAAK,UAAU,EAAE;QACpC,UAAU,GAAG,6CAA6C,CAAC,YAAY,EAAE,aAAa,CAAC,CAAC;KACzF;SAAM;;;YAED,cAAc,SAAA;QAClB,IAAI,iBAAiB,KAAK,cAAc,EAAE;YACxC,cAAc,GAAG,eAAe,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC,CAAC;YACtD,IAAI,cAAc,CAAC,QAAQ,KAAK,MAAM,EAAE;gBACtC,cAAc,GAAG,MAAM,CAAC,aAAa,CAAC,eAAe,CAAC;aACvD;SACF;aAAM,IAAI,iBAAiB,KAAK,QAAQ,EAAE;YACzC,cAAc,GAAG,MAAM,CAAC,aAAa,CAAC,eAAe,CAAC;SACvD;aAAM;YACL,cAAc,GAAG,iBAAiB,CAAC;SACpC;;YAEK,OAAO,GAAG,oCAAoC,CAClD,cAAc,EACd,YAAY,EACZ,aAAa,CACd;;QAGD,IAAI,cAAc,CAAC,QAAQ,KAAK,MAAM,IAAI,CAAC,OAAO,CAAC,YAAY,CAAC,EAAE;YAC1D,IAAA,yCAAwD,EAAtD,kBAAM,EAAE,gBAA8C;YAC9D,UAAU,CAAC,GAAG,IAAI,OAAO,CAAC,GAAG,GAAG,OAAO,CAAC,SAAS,CAAC;YAClD,UAAU,CAAC,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC,GAAG,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;YACzD,UAAU,CAAC,IAAI,IAAI,OAAO,CAAC,IAAI,GAAG,OAAO,CAAC,UAAU,CAAC;YACrD,UAAU,CAAC,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC,GAAG,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;SACzD;aAAM;;YAEL,UAAU,GAAG,OAAO,CAAC;SACtB;KACF;;IAGD,UAAU,CAAC,IAAI,IAAI,OAAO,CAAC;IAC3B,UAAU,CAAC,GAAG,IAAI,OAAO,CAAC;IAC1B,UAAU,CAAC,KAAK,IAAI,OAAO,CAAC;IAC5B,UAAU,CAAC,MAAM,IAAI,OAAO,CAAC;IAE7B,OAAO,UAAU,CAAC;AACpB,CAAC;;;;;;;;;;AC5DD,SAAS,OAAO,CAAC,EAA4C;QAA1C,gBAAK,EAAE,kBAAM;IAC9B,OAAO,KAAK,GAAG,MAAM,CAAC;AACxB,CAAC;;;;;;;;;;;AAED,SAAgB,oBAAoB,CAClC,SAAiB,EACjB,OAAgB,EAChB,MAAmB,EACnB,IAAiB,EACjB,gBAA4D,EAC5D,iBAA8B,EAC9B,OAAW;IAFX,iCAAA,EAAA,oBAA2B,KAAK,EAAE,QAAQ,EAAE,OAAO,EAAE,MAAM,CAAC;IAC5D,kCAAA,EAAA,8BAA8B;IAC9B,wBAAA,EAAA,WAAW;IAEX,IAAI,SAAS,CAAC,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE;QACpC,OAAO,SAAS,CAAC;KAClB;;QAEK,UAAU,GAAG,aAAa,CAAC,MAAM,EAAE,IAAI,EAAE,OAAO,EAAE,iBAAiB,CAAC;;QAEpE,KAAK,GAAQ;QACjB,GAAG,EAAE;YACH,KAAK,EAAE,UAAU,CAAC,KAAK;YACvB,MAAM,EAAE,OAAO,CAAC,GAAG,GAAG,UAAU,CAAC,GAAG;SACrC;QACD,KAAK,EAAE;YACL,KAAK,EAAE,UAAU,CAAC,KAAK,GAAG,OAAO,CAAC,KAAK;YACvC,MAAM,EAAE,UAAU,CAAC,MAAM;SAC1B;QACD,MAAM,EAAE;YACN,KAAK,EAAE,UAAU,CAAC,KAAK;YACvB,MAAM,EAAE,UAAU,CAAC,MAAM,GAAG,OAAO,CAAC,MAAM;SAC3C;QACD,IAAI,EAAE;YACJ,KAAK,EAAE,OAAO,CAAC,IAAI,GAAG,UAAU,CAAC,IAAI;YACrC,MAAM,EAAE,UAAU,CAAC,MAAM;SAC1B;KACF;;QAEK,WAAW,GAAG,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC;SACnC,GAAG;;;;IAAC,UAAA,GAAG,IAAI,mBACV,GAAG,KAAA,IACA,KAAK,CAAC,GAAG,CAAC,IACb,IAAI,EAAE,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,OACzB,EAAC;SACF,IAAI;;;;;IAAC,UAAC,CAAC,EAAE,CAAC,IAAK,OAAA,CAAC,CAAC,IAAI,GAAG,CAAC,CAAC,IAAI,GAAA,EAAC;;QAE9B,aAAa,GAAU,WAAW,CAAC,MAAM;;;;IAC3C,UAAC,EAAiB;YAAf,gBAAK,EAAE,kBAAM;QACd,OAAO,KAAK,IAAI,MAAM,CAAC,WAAW;eAC7B,MAAM,IAAI,MAAM,CAAC,YAAY,CAAC;KACpC,EACF;IAED,aAAa,GAAG,aAAa,CAAC,MAAM;;;;IAAC,UAAC,QAAa;QACjD,OAAO,gBAAgB;aACpB,IAAI;;;;QAAC,UAAC,eAAuB;YAC5B,OAAO,eAAe,KAAK,QAAQ,CAAC,GAAG,CAAC;SACzC,EAAC,CAAC;KACN,EAAC,CAAC;;QAEG,iBAAiB,GAAW,aAAa,CAAC,MAAM,GAAG,CAAC;UACtD,aAAa,CAAC,CAAC,CAAC,CAAC,GAAG;UACpB,WAAW,CAAC,CAAC,CAAC,CAAC,GAAG;;QAEhB,SAAS,GAAG,SAAS,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;;IAGzC,MAAM,CAAC,SAAS,GAAG,MAAM,CAAC,SAAS,CAAC,OAAO,CAAC,kBAAkB,EAAE,gBAAc,iBAAmB,CAAC,CAAC;IAEnG,OAAO,iBAAiB,IAAI,SAAS,GAAG,MAAI,SAAW,GAAG,EAAE,CAAC,CAAC;AAChE,CAAC;;;;;;;;;;AC3ED,SAAgB,UAAU,CAAC,IAAU;IACnC,OAAO;QACL,KAAK,EAAE,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,KAAK;QAChC,MAAM,EAAE,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,MAAM;QAClC,IAAI,EAAE,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC;QAC1C,GAAG,EAAE,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,GAAG,CAAC;QACxC,MAAM,EAAE,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC;QAC9C,KAAK,EAAE,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC;KAC7C,CAAC;AACJ,CAAC;;;;;;;;;;;ACRD,SAAgB,oBAAoB,CAAC,SAAiB;;QAC9C,IAAI,GAAG,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,GAAG,EAAE,QAAQ,EAAE;IAE3E,OAAO,SAAS,CAAC,OAAO,CAAC,wBAAwB;;;;IAAE,UAAA,OAAO,IAAI,OAAA,oBAAC,IAAI,IAAS,OAAO,CAAC,GAAA,EAAC,CAAC;AACxF,CAAC;;;;;;;;;;;ACJD,SAAgB,oBAAoB,CAAC,SAAiB;IACpD,IAAI,SAAS,KAAK,OAAO,EAAE;QACzB,OAAO,MAAM,CAAC;KACf;SAAM,IAAI,SAAS,KAAK,MAAM,EAAE;QAC/B,OAAO,OAAO,CAAC;KAChB;IAED,OAAO,SAAS,CAAC;AACnB,CAAC;;;;;;;;;;;ACRD,SAAgB,aAAa,CAAC,OAAY;;QAClC,MAAM,GAAG,OAAO,CAAC,aAAa,CAAC,WAAW;;QAC1C,MAAM,GAAG,MAAM,CAAC,gBAAgB,CAAC,OAAO,CAAC;;QACzC,CAAC,GAAG,UAAU,CAAC,MAAM,CAAC,SAAS,IAAI,CAAC,CAAC,GAAG,UAAU,CAAC,MAAM,CAAC,YAAY,IAAI,CAAC,CAAC;;QAC5E,CAAC,GAAG,UAAU,CAAC,MAAM,CAAC,UAAU,IAAI,CAAC,CAAC,GAAG,UAAU,CAAC,MAAM,CAAC,WAAW,IAAI,CAAC,CAAC;IAElF,OAAO;QACL,KAAK,EAAE,MAAM,CAAC,OAAO,CAAC,WAAW,CAAC,GAAG,CAAC;QACtC,MAAM,EAAE,MAAM,CAAC,OAAO,CAAC,YAAY,CAAC,GAAG,CAAC;KACzC,CAAC;AACJ,CAAC;;;;;;;;;;;;ACLD,SAAgB,mBAAmB,CACjC,MAAmB,EACnB,IAAiB,EACjB,aAA6B;IAA7B,8BAAA,EAAA,oBAA6B;;QAEvB,kBAAkB,GAAG,aAAa;UACpC,4BAA4B,CAAC,MAAM,CAAC;UACpC,sBAAsB,CAAC,MAAM,EAAE,IAAI,CAAC;IAExC,OAAO,oCAAoC,CAAC,IAAI,EAAE,kBAAkB,EAAE,aAAa,CAAC,CAAC;AACvF,CAAC;;;;;;;;;;;;ACXD,SAAgB,gBAAgB,CAC9B,MAAmB,EACnB,WAAoB,EACpB,QAAgB;;QAEV,SAAS,GAAG,QAAQ,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;;;QAGlC,UAAU,GAAG,aAAa,CAAC,MAAM,CAAC;;;QAGlC,aAAa,GAAG;QACpB,KAAK,EAAE,UAAU,CAAC,KAAK;QACvB,MAAM,EAAE,UAAU,CAAC,MAAM;KAC1B;;;QAGK,OAAO,GAAG,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC,OAAO,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;;QACrD,QAAQ,GAAG,OAAO,GAAG,KAAK,GAAG,MAAM;;QACnC,aAAa,GAAG,OAAO,GAAG,MAAM,GAAG,KAAK;;QACxC,WAAW,GAAG,OAAO,GAAG,QAAQ,GAAG,OAAO;;QAC1C,oBAAoB,GAAG,CAAC,OAAO,GAAG,QAAQ,GAAG,OAAO;IAE1D,oBAAC,aAAa,IAAS,QAAQ,CAAC;QAC9B,WAAW,CAAC,QAAQ,CAAC;YACrB,WAAW,CAAC,WAAW,CAAC,GAAG,CAAC;YAC5B,UAAU,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC;IAE9B,oBAAC,aAAa,IAAS,aAAa,CAAC,GAAG,SAAS,KAAK,aAAa;UAC/D,WAAW,CAAC,aAAa,CAAC,GAAG,UAAU,CAAC,oBAAoB,CAAC;UAC7D,oBAAC,WAAW,IAAS,oBAAoB,CAAC,aAAa,CAAC,CAAC,CAAC;IAE9D,OAAO,aAAa,CAAC;AACvB,CAAC;;;;;;;;;;;;ACrCD,SAAgB,iBAAiB,CAAC,OAAY,EAAE,YAAoB;IAClE,OAAO,OAAO;WACT,OAAO,CAAC,SAAS;WACjB,OAAO,CAAC,SAAS,CAAC,YAAY,CAAC;WAC/B,OAAO,CAAC,SAAS,CAAC,YAAY,CAAC,CAAC,OAAO,CAAC;AAC/C,CAAC;;;;;;;;;;;ACLD,SAAgB,SAAS,CAAC,CAAM;IAC9B,OAAO,CAAC,KAAK,EAAE,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,IAAI,QAAQ,CAAC,CAAC,CAAC,CAAC;AAC1D,CAAC;;;;;;;;;;;ACCD,SAAgB,oBAAoB,CAAC,IAAU,EAAE,QAAoB;;QAC7D,MAAM,GAAG,IAAI,CAAC,QAAQ,CAAC,MAAM;;QAE/B,cAAc,GAAG,MAAM,CAAC,SAAS;IAErC,IAAI,IAAI,CAAC,aAAa,EAAE;QACtB,cAAc,GAAG,cAAc,CAAC,OAAO,CAAC,kBAAkB,EAAE,gBAAc,IAAI,CAAC,SAAW,CAAC,CAAC;QAC5F,cAAc,GAAG,cAAc,CAAC,OAAO,CAAC,kBAAkB,EAAE,gBAAc,IAAI,CAAC,SAAW,CAAC,CAAC;QAC5F,cAAc,GAAG,cAAc,CAAC,OAAO,CAAC,SAAS,EAAE,MAAI,IAAI,CAAC,SAAW,CAAC,CAAC;QAEzE,IAAI,cAAc,CAAC,OAAO,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,IAAI,cAAc,CAAC,OAAO,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC,EAAE;YAC7F,cAAc,IAAI,eAAe,CAAC;SACnC;QAED,IAAI,cAAc,CAAC,OAAO,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,IAAK,cAAc,CAAC,OAAO,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC,EAAE;YAC9F,cAAc,IAAI,eAAe,CAAC;SACnC;KACF;IAED,cAAc,GAAG,cAAc,CAAC,OAAO,CAAC,wBAAwB,EAAE,KAAG,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAG,CAAC,CAAC;IAErG,IAAI,QAAQ,EAAE;QACZ,QAAQ,CAAC,YAAY,CAAC,MAAM,EAAE,OAAO,EAAE,cAAc,CAAC,CAAC;QAEvD,OAAO;KACR;IAED,MAAM,CAAC,SAAS,GAAG,cAAc,CAAC;AACpC,CAAC;;;;;;AC7BD;;;;;;AAEA,SAAgB,SAAS,CAAC,OAAoB,EAAE,MAAW,EAAE,QAAoB;IAC/E,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,OAAO;;;;IAAC,UAAC,IAAS;;YAChC,IAAI,GAAG,EAAE;;QAEb,IAAI,CAAC,OAAO,EAAE,QAAQ,EAAE,KAAK,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;YAC5E,SAAS,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,EAAE;YACzB,IAAI,GAAG,IAAI,CAAC;SACb;QAED,IAAI,QAAQ,EAAE;YACZ,QAAQ,CAAC,QAAQ,CAAC,OAAO,EAAE,IAAI,EAAE,KAAG,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,GAAG,IAAM,CAAC,CAAC;YAEnE,OAAO;SACR;QAED,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,GAAG,IAAI,CAAC;KACnD,EAAC,CAAC;AACL,CAAC;;;;;;;;;;;ACxBD;;;;AAGA,SAAgB,KAAK,CAAC,IAAU;;;QAC1B,aAAa,GAAG,IAAI,CAAC,OAAO,CAAC,MAAM;;;QAEjC,YAAY,GAAuB,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,aAAa,CAAC,QAAQ,CAAC;;IAGrF,IAAI,CAAC,YAAY,EAAE;QACjB,OAAO,IAAI,CAAC;KACb;;QAEK,UAAU,GAAG,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC;;QAE3E,GAAG,GAAG,UAAU,GAAG,QAAQ,GAAG,OAAO;;QACrC,eAAe,GAAG,UAAU,GAAG,KAAK,GAAG,MAAM;;QAC7C,IAAI,GAAG,eAAe,CAAC,WAAW,EAAE;;QACpC,OAAO,GAAG,UAAU,GAAG,MAAM,GAAG,KAAK;;QACrC,MAAM,GAAG,UAAU,GAAG,QAAQ,GAAG,OAAO;;QACxC,gBAAgB,GAAG,aAAa,CAAC,YAAY,CAAC,CAAC,GAAG,CAAC;;QACnD,kBAAkB,GAAG,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;;IAGvD,IAAI,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG,gBAAgB,GAAG,oBAAC,aAAa,IAAS,IAAI,CAAC,EAAE;QAC/E,oBAAC,aAAa,IAAS,IAAI,CAAC;YAC1B,oBAAC,aAAa,IAAS,IAAI,CAAC,IAAI,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG,gBAAgB,CAAC,CAAC;KACjF;;IAED,IAAI,MAAM,CAAC,oBAAC,IAAI,IAAS,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,MAAM,CAAC,gBAAgB,CAAC,GAAG,oBAAC,aAAa,IAAS,MAAM,CAAC,EAAE;QACxG,oBAAC,aAAa,IAAS,IAAI,CAAC;YAC1B,MAAM,CAAC,oBAAC,IAAI,IAAS,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,MAAM,CAAC,gBAAgB,CAAC,GAAG,MAAM,CAAC,oBAAC,aAAa,IAAS,MAAM,CAAC,CAAC,CAAC;KAChH;IACD,aAAa,GAAG,aAAa,CAAC,aAAa,CAAC,CAAC;;;;QAIvC,GAAG,GAAG,wBAAwB,CAAC,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC;;QACpD,gBAAgB,GAAG,UAAU,CAAC,GAAG,CAAC,WAAS,eAAiB,CAAC,CAAC;;QAC9D,gBAAgB,GAAG,UAAU,CAAC,GAAG,CAAC,WAAS,eAAe,UAAO,CAAC,CAAC;;;QAGrE,MAAc;IAClB,IAAI,CAAC,kBAAkB,EAAE;QACvB,MAAM,GAAG,MAAM,CAAC,oBAAC,IAAI,IAAS,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,gBAAgB,GAAG,CAAC,CAAC,CAAC;KAC/G;SAAM;;YACC,kBAAkB,GAAG,UAAU,CAAC,GAAG,CAAC,YAAY,CAAC;;YACjD,qBAAqB,GAAG,MAAM,CAAC,gBAAgB,GAAG,gBAAgB,GAAG,kBAAkB,CAAC;QAC9F,MAAM,GAAG,IAAI,KAAK,kBAAkB;YAClC,MAAM,CAAC,oBAAC,IAAI,IAAS,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,qBAAqB;YAChE,MAAM,CAAC,oBAAC,IAAI,IAAS,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,qBAAqB,CAAC,CAAC;KACrG;;QAEG,SAAS,GACX,MAAM,GAAG,oBAAC,aAAa,IAAS,IAAI,CAAC,GAAG,gBAAgB,GAAG,gBAAgB;;IAG7E,SAAS,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,aAAa,CAAC,GAAG,CAAC,GAAG,gBAAgB,EAAE,SAAS,CAAC,EAAE,CAAC,CAAC,CAAC;IAEpF,IAAI,CAAC,OAAO,CAAC,KAAK;QAChB,GAAC,IAAI,IAAG,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC;QAC7B,GAAC,OAAO,IAAG,EAAE;;WACd,CAAC;IAEF,IAAI,CAAC,QAAQ,CAAC,KAAK,GAAG,YAAY,CAAC;IAEnC,OAAO,IAAI,CAAC;AACd,CAAC;;;;;;;;;;ACxDD,SAAgB,IAAI,CAAC,IAAU;IAC7B,IAAI,CAAC,OAAO,CAAC,MAAM,GAAG,aAAa,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;IAEzD,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,OAAO,EAAE,MAAM,CAAC,EAAE;QAE5C,IAAI,CAAC,OAAO,CAAC,MAAM,gBACd,IAAI,CAAC,OAAO,CAAC,MAAM,EACnB,gBAAgB,CACjB,IAAI,CAAC,QAAQ,CAAC,MAAM,EACpB,IAAI,CAAC,OAAO,CAAC,IAAI,EACjB,IAAI,CAAC,SAAS,CACf,CACF,CAAC;QAEF,OAAO,IAAI,CAAC;KACb;;QAEK,UAAU,GAAG,aAAa,CAC9B,IAAI,CAAC,QAAQ,CAAC,MAAM,EACpB,IAAI,CAAC,QAAQ,CAAC,IAAI,EAClB,CAAC;IACD,UAAU,EACV,KAAK;KACN;;QAEG,SAAS,GAAG,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;;QACxC,SAAS,GAAG,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE;;QAE5C,WAAW,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI;;QAC/B,MAAM,GAAG,IAAI,CAAC,QAAQ,CAAC,MAAM;;QAC7B,IAAI,GAAG,IAAI,CAAC,QAAQ,CAAC,IAAI;;QAEzB,gBAAgB,GAAG,oBAAoB,CAAC,MAAM,EAAE,WAAW,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,CAAC,OAAO,CAAC,gBAAgB,CAAC;;QACzG,SAAS,GAAG,CAAC,SAAS,EAAE,gBAAgB,CAAC;;IAG/C,SAAS,CAAC,OAAO;;;;;IAAC,UAAC,IAAI,EAAE,KAAK;QAC5B,IAAI,SAAS,KAAK,IAAI,IAAI,SAAS,CAAC,MAAM,KAAK,KAAK,GAAG,CAAC,EAAE;YACxD,OAAO,IAAI,CAAC;SACb;QAED,SAAS,GAAG,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;;;YAGnC,WAAW,GACf,CAAC,SAAS,KAAK,MAAM;YACnB,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC;aAC3E,SAAS,KAAK,OAAO;gBACpB,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;aAC5E,SAAS,KAAK,KAAK;gBAClB,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;aAC5E,SAAS,KAAK,QAAQ;gBACrB,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;;YAEzE,aAAa,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,IAAI,CAAC;;YAClF,cAAc,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,KAAK,CAAC;;YACrF,YAAY,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,GAAG,CAAC;;YAC/E,eAAe,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,MAAM,CAAC;;YAExF,mBAAmB,GACvB,CAAC,SAAS,KAAK,MAAM,IAAI,aAAa;aACrC,SAAS,KAAK,OAAO,IAAI,cAAc,CAAC;aACxC,SAAS,KAAK,KAAK,IAAI,YAAY,CAAC;aACpC,SAAS,KAAK,QAAQ,IAAI,eAAe,CAAC;;;YAGvC,UAAU,GAAG,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAC,OAAO,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;;YACxD,gBAAgB,IACnB,CAAC,UAAU,IAAI,SAAS,KAAK,MAAM,IAAI,aAAa;aAClD,UAAU,IAAI,SAAS,KAAK,OAAO,IAAI,cAAc,CAAC;aACtD,CAAC,UAAU,IAAI,SAAS,KAAK,MAAM,IAAI,YAAY,CAAC;aACpD,CAAC,UAAU,IAAI,SAAS,KAAK,OAAO,IAAI,eAAe,CAAC,CAAC;QAE9D,IAAI,WAAW,IAAI,mBAAmB,IAAI,gBAAgB,EAAE;YAC1D,IAAI,WAAW,IAAI,mBAAmB,EAAE;gBACtC,SAAS,GAAG,SAAS,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC;aAClC;YAED,IAAI,gBAAgB,EAAE;gBACpB,SAAS,GAAG,oBAAoB,CAAC,SAAS,CAAC,CAAC;aAC7C;YAED,IAAI,CAAC,SAAS,GAAG,SAAS,IAAI,SAAS,GAAG,MAAI,SAAW,GAAG,EAAE,CAAC,CAAC;YAEhE,IAAI,CAAC,OAAO,CAAC,MAAM,gBACd,IAAI,CAAC,OAAO,CAAC,MAAM,EACnB,gBAAgB,CACjB,IAAI,CAAC,QAAQ,CAAC,MAAM,EACpB,IAAI,CAAC,OAAO,CAAC,IAAI,EACjB,IAAI,CAAC,SAAS,CACf,CACF,CAAC;SACH;KACF,EAAC,CAAC;IAEH,OAAO,IAAI,CAAC;AACd,CAAC;;;;;;AC3GD;;;;;;;AAQA,SAAgB,QAAQ,CACtB,aAA0B,EAAE,WAAwB,EAAE,QAAgB,EAAE,OAAgB;;QAGlF,cAAc,GAAG,mBAAmB,CAAC,aAAa,EAAE,WAAW,CAAC;IAEtE,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,sCAAsC,CAAC;WACtD,CAAC,QAAQ,CAAC,KAAK,CAAC,wEAAwE,CAAC,EAAE;;QAE5F,QAAQ,GAAG,MAAM,CAAC;KACnB;;QAEG,aAAa,GAAG,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,OAAO,CAAC;;;QAG3C,SAAS,GAAG,QAAQ,CAAC,KAAK,CAAC,+BAA+B,CAAC;UAC3D,QAAQ,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,MAAM;UAChC,QAAQ;;;QAGN,OAAO,GAAG,SAAS,CAAC,KAAK,CAAC,2DAA2D,CAAC;IAC5F,IAAI,OAAO,EAAE;QACX,SAAS,GAAG,OAAO,CAAC,CAAC,CAAC,IAAI,OAAO,CAAC,CAAC,CAAC,GAAG,MAAI,OAAO,CAAC,CAAC,CAAG,GAAG,EAAE,CAAC,CAAC;KAC/D;;IAGD,IAAI,CAAC,YAAY,EAAE,YAAY,EAAE,YAAY,EAAE,YAAY,CAAC,CAAC,OAAO,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,EAAE;QACtF,SAAS,GAAG,MAAM,CAAC;KACpB;;QAEK,YAAY,GAAG,gBAAgB,CAAC,aAAa,EAAE,cAAc,EAAE,SAAS,CAAC;IAE/E,SAAS,GAAG,oBAAoB,CAC9B,SAAS,EACT,cAAc,EACd,aAAa,EACb,WAAW,EACX,OAAO,GAAG,OAAO,CAAC,gBAAgB,GAAG,SAAS,CAC/C,CAAC;IAEF,OAAO;QACL,OAAO,SAAA;QACP,QAAQ,EAAE;YACR,MAAM,EAAE,aAAa;YACrB,IAAI,EAAE,WAAW;YACjB,KAAK,EAAE,IAAI;SACZ;QACD,OAAO,EAAE;YACP,MAAM,EAAE,YAAY;YACpB,IAAI,EAAE,cAAc;YACpB,KAAK,EAAE,IAAI;SACZ;QACD,aAAa,EAAE,KAAK;QACpB,SAAS,WAAA;QACT,aAAa,eAAA;KACd,CAAC;AACJ,CAAC;;;;;;;;;;AC7DD,SAAgB,eAAe,CAAC,IAAU;IAExC,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,OAAO,EAAE,iBAAiB,CAAC,EAAE;QACvD,OAAO,IAAI,CAAC;KACb;;;;;QAKK,aAAa,GAAG,WAAW;;QAC3B,YAAY,GAAG,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,KAAK;;IACvC,IAAA,sBAAG,EAAE,wBAAI,EAAE,kBAAe,EAAf,4BAA0B;IAC7C,YAAY,CAAC,GAAG,GAAG,EAAE,CAAC;IACtB,YAAY,CAAC,IAAI,GAAG,EAAE,CAAC;IACvB,YAAY,CAAC,aAAa,CAAC,GAAG,EAAE,CAAC;;QAE3B,UAAU,GAAG,aAAa,CAC9B,IAAI,CAAC,QAAQ,CAAC,MAAM,EACpB,IAAI,CAAC,QAAQ,CAAC,IAAI,EAClB,CAAC;IACD,cAAc,EACd,KAAK;KACN;;;IAID,YAAY,CAAC,GAAG,GAAG,GAAG,CAAC;IACvB,YAAY,CAAC,IAAI,GAAG,IAAI,CAAC;IACzB,YAAY,CAAC,aAAa,CAAC,GAAG,SAAS,CAAC;;QAElC,KAAK,GAAG,CAAC,MAAM,EAAE,OAAO,EAAE,KAAK,EAAE,QAAQ,CAAC;;QAE1C,KAAK,GAAG;QACZ,OAAO;;;;QAAP,UAAQ,SAAiB;;;gBACnB,KAAK,GAAG,oBAAC,IAAI,IAAS,OAAO,CAAC,MAAM,CAAC,SAAS,CAAC;YACnD,IACE,oBAAC,IAAI,IAAS,OAAO,CAAC,MAAM,CAAC,SAAS,CAAC,GAAG,UAAU,CAAC,SAAS,CAAC;gBAC/D,CAAC,KAAK;cACN;gBACA,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,oBAAC,IAAI,IAAS,OAAO,CAAC,MAAM,CAAC,SAAS,CAAC,EAAE,UAAU,CAAC,SAAS,CAAC,CAAC,CAAC;aAClF;YAED,gBAAS,GAAC,SAAS,IAAG,KAAK,KAAG;SAC/B;QACD,SAAS;;;;QAAT,UAAU,SAAiB;;;gBACnB,QAAQ,GAAG,SAAS,KAAK,OAAO,GAAG,MAAM,GAAG,KAAK;;gBACnD,KAAK,GAAG,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC;YACzC,IACE,oBAAC,IAAI,IAAS,OAAO,CAAC,MAAM,CAAC,SAAS,CAAC,GAAG,UAAU,CAAC,SAAS,CAAC;gBAC/D,CAAC,KAAK;cACN;gBACA,KAAK,GAAG,IAAI,CAAC,GAAG,CACd,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,EAC7B,UAAU,CAAC,SAAS,CAAC;qBACpB,SAAS,KAAK,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,KAAK,GAAG,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC,CACjF,CAAC;aACH;YAED,gBAAS,GAAC,QAAQ,IAAG,KAAK,KAAG;SAC9B;KACF;;QAEG,IAAY;IAEhB,KAAK,CAAC,OAAO;;;;IAAC,UAAA,SAAS;QACrB,IAAI,GAAG,CAAC,MAAM,EAAE,KAAK,CAAC;aACnB,OAAO,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;cACxB,SAAS;cACT,WAAW,CAAC;QAEhB,IAAI,CAAC,OAAO,CAAC,MAAM,gBACd,IAAI,CAAC,OAAO,CAAC,MAAM,EACnB,oBAAC,KAAK,IAAS,IAAI,CAAC,CAAC,SAAS,CAAC,CACnC,CAAC;KAEH,EAAC,CAAC;IAEH,OAAO,IAAI,CAAC;AACd,CAAC;;;;;;;;;;AC/ED,SAAgB,KAAK,CAAC,IAAU;;;QACxB,SAAS,GAAG,IAAI,CAAC,SAAS;;QAC1B,aAAa,GAAG,SAAS,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;;QACvC,cAAc,GAAG,SAAS,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;IAE9C,IAAI,cAAc,EAAE;QACZ,IAAA,iBAA+B,EAA7B,cAAI,EAAE,kBAAuB;;YAC/B,UAAU,GAAG,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC,OAAO,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;;YAC5D,IAAI,GAAG,UAAU,GAAG,MAAM,GAAG,KAAK;;YAClC,WAAW,GAAG,UAAU,GAAG,OAAO,GAAG,QAAQ;;YAE7C,YAAY,GAAG;YACnB,KAAK,YAAI,GAAC,IAAI,IAAG,IAAI,CAAC,IAAI,CAAC,KAAE;YAC7B,GAAG;gBACD,GAAC,IAAI,IAAG,IAAI,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,WAAW,CAAC,GAAG,MAAM,CAAC,WAAW,CAAC;mBAC7D;SACF;QAED,IAAI,CAAC,OAAO,CAAC,MAAM,gBACd,MAAM;YACP,GAAC,IAAI,KAAI,IAAI,KAAK,cAAc,GAAG,oBAAC,YAAY,IAAS,KAAK,CAAC,IAAI,CAAC,GAAG,oBAAC,YAAY,IAAS,GAAG,CAAC,IAAI,CAAC,CAAC;gBAE1G,CAAC;KACH;IAED,OAAO,IAAI,CAAC;AACd,CAAC;;;;;;;;;;;ACtBD;IAMA;KAuBC;;;;;;;IAtBC,8BAAQ;;;;;;IAAR,UAAS,WAAwB,EAAE,aAA0B,EAAE,KAAY;QAAZ,sBAAA,EAAA,YAAY;QACzE,OAAO,IAAI,CAAC,MAAM,CAAC,WAAW,EAAE,aAAa,EAAE,KAAK,CAAC,CAAC;KACvD;;;;;;;IAED,4BAAM;;;;;;IAAN,UAAO,WAAwB,EAAE,aAA0B,EAAE,KAAY;QAAZ,sBAAA,EAAA,YAAY;QACvE,OAAO,mBAAmB,CAAC,aAAa,EAAE,WAAW,CAAC,CAAC;KACxD;;;;;;;;;IAED,sCAAgB;;;;;;;;IAAhB,UACE,WAAwB,EACxB,aAA0B,EAC1B,QAAgB,EAChB,YAAsB,EACtB,OAAiB;;YAEX,gBAAgB,GAAG,CAAC,IAAI,EAAE,KAAK,EAAE,eAAe,EAAE,KAAK,CAAC;QAE9D,OAAO,gBAAgB,CAAC,MAAM;;;;;QAC5B,UAAC,YAAY,EAAE,QAAQ,IAAK,OAAA,QAAQ,CAAC,YAAY,CAAC,GAAA,GAClD,QAAQ,CAAC,aAAa,EAAE,WAAW,EAAE,QAAQ,EAAE,OAAO,CAAC,CACxD,CAAC;KACH;IACH,kBAAC;AAAD,CAAC,IAAA;;IAEK,eAAe,GAAG,IAAI,WAAW,EAAE;;;;;;;;;;AAEzC,SAAgB,gBAAgB,CAC9B,WAAwB,EACxB,aAA0B,EAC1B,SAAiB,EACjB,YAAsB,EACtB,OAAiB,EACjB,QAAoB;;QAGd,IAAI,GAAG,eAAe,CAAC,gBAAgB,CAC3C,WAAW,EACX,aAAa,EACb,SAAS,EACT,YAAY,EACZ,OAAO,CACR;;QAEK,OAAO,GAAG,UAAU,CAAC,IAAI,CAAC;IAEhC,SAAS,CAAC,aAAa,EAAE;QACvB,aAAa,EAAE,WAAW;QAC1B,GAAG,EAAE,KAAK;QACV,IAAI,EAAE,KAAK;QACX,SAAS,EAAE,iBAAe,OAAO,CAAC,IAAI,YAAO,OAAO,CAAC,GAAG,aAAU;KACnE,EAAE,QAAQ,CAAC,CAAC;IAEb,IAAI,IAAI,CAAC,QAAQ,CAAC,KAAK,EAAE;QACvB,SAAS,CAAC,IAAI,CAAC,QAAQ,CAAC,KAAK,EAAE,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAC;KAC9D;IAED,oBAAoB,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;AACvC,CAAC;;;;;;ACtED;;;AASA,iCA+BC;;;;;;IA7BC,qCAA4C;;;;;IAG5C,oCAA2C;;;;;;;;;IAS3C,wCAAoB;;;;;;IAKpB,8CAA0B;;;;;;IAK1B,oCAAgB;;;;;IAGhB,0CAAsB;;;;;IAGtB,0CAAuB;;AAIzB;IAQE,4BACE,MAAc,EACd,eAAiC,EACZ,UAAkB;QAHzC,iBAoCC;QAzCO,aAAQ,GAAG,IAAI,OAAO,EAAQ,CAAC;QAC/B,qBAAgB,GAAG,IAAI,GAAG,EAAE,CAAC;QAE7B,eAAU,GAAG,KAAK,CAAC;QAQzB,IAAI,iBAAiB,CAAC,UAAU,CAAC,EAAE;YACjC,MAAM,CAAC,iBAAiB;;;YAAC;gBACvB,KAAI,CAAC,aAAa,GAAG,KAAK,CACxB,SAAS,CAAC,MAAM,EAAE,QAAQ,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,EAC9C,SAAS,CAAC,MAAM,EAAE,QAAQ,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;;gBAE9C,EAAE,CAAC,CAAC,EAAE,uBAAuB,CAAC,EAC9B,KAAI,CAAC,QAAQ,CACd,CAAC;gBAEF,KAAI,CAAC,aAAa,CAAC,SAAS;;;gBAAC;oBAC3B,IAAI,KAAI,CAAC,UAAU,EAAE;wBACnB,OAAO;qBACR;oBAED,KAAI,CAAC,gBAAgB;;yBAElB,OAAO;;;;oBAAC,UAAC,eAAoB;wBAC5B,gBAAgB,CACd,eAAe,CAAC,eAAe,CAAC,MAAM,CAAC,EACvC,eAAe,CAAC,eAAe,CAAC,OAAO,CAAC,EACxC,eAAe,CAAC,UAAU,EAC1B,eAAe,CAAC,YAAY,EAC5B,KAAI,CAAC,OAAO,EACZ,eAAe,CAAC,cAAc,CAAC,IAAI,EAAE,IAAI,CAAC,CAC3C,CAAC;qBACH,EAAC,CAAC;iBACN,EAAC,CAAC;aACJ,EAAC,CAAC;SACJ;KACF;;;;;IAED,qCAAQ;;;;IAAR,UAAS,OAA2B;QAClC,IAAI,CAAC,kBAAkB,CAAC,OAAO,CAAC,CAAC;KAClC;IAED,sBAAI,sCAAM;;;;QAAV;YACE,OAAO,IAAI,CAAC,aAAa,CAAC;SAC3B;;;OAAA;;;;IAED,oCAAO;;;IAAP;QACE,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC;KACxB;;;;IAED,mCAAM;;;IAAN;QACE,IAAI,CAAC,UAAU,GAAG,KAAK,CAAC;KACzB;;;;;IAED,+CAAkB;;;;IAAlB,UAAmB,OAA2B;QAC5C,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,eAAe,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,OAAO,CAAC,CAAC;KACtE;;;;IAED,yCAAY;;;IAAZ;QACE,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC;KACtB;;;;;IAED,kDAAqB;;;;IAArB,UAAsB,KAAiB;QACrC,IAAI,CAAC,gBAAgB,CAAC,MAAM,CAAC,eAAe,CAAC,KAAK,CAAC,CAAC,CAAC;KACtD;;;;;IAED,uCAAU;;;;IAAV,UAAW,OAAgB;QACzB,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;KACxB;;gBA5EF,UAAU;;;;gBA3C6D,MAAM;gBAA7C,gBAAgB;6CAsD5C,MAAM,SAAC,WAAW;;IAkEvB,yBAAC;CA7ED,IA6EC;;;;;;IA3EC,qCAAyB;;;;;IACzB,sCAAuC;;;;;IACvC,8CAAqC;;;;;IACrC,2CAAgD;;;;;IAChD,wCAA2B;;;;;;AAyE7B,SAAS,eAAe,CAAC,OAA0C;;IAEjE,IAAI,OAAO,OAAO,KAAK,QAAQ,EAAE;QAC/B,OAAO,QAAQ,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC;KACxC;IAED,IAAI,OAAO,YAAY,UAAU,EAAE;QACjC,OAAO,OAAO,CAAC,aAAa,CAAC;KAC9B;IAED,OAAO,OAAO,CAAC;AACjB,CAAC;;;;;;;;;;;;;;"}
|
1
|
+
{"version":3,"file":"ngx-bootstrap-positioning.js","sources":["ng://ngx-bootstrap/positioning/utils/getStyleComputedProperty.ts","ng://ngx-bootstrap/positioning/utils/getParentNode.ts","ng://ngx-bootstrap/positioning/utils/getScrollParent.ts","ng://ngx-bootstrap/positioning/utils/isBrowser.ts","ng://ngx-bootstrap/positioning/utils/isIE.ts","ng://ngx-bootstrap/positioning/utils/getOffsetParent.ts","ng://ngx-bootstrap/positioning/utils/isOffsetContainer.ts","ng://ngx-bootstrap/positioning/utils/getRoot.ts","ng://ngx-bootstrap/positioning/utils/findCommonOffsetParent.ts","ng://ngx-bootstrap/positioning/utils/getBordersSize.ts","ng://ngx-bootstrap/positioning/utils/getWindowSizes.ts","ng://ngx-bootstrap/positioning/utils/getScroll.ts","ng://ngx-bootstrap/positioning/utils/getClientRect.ts","ng://ngx-bootstrap/positioning/utils/getBoundingClientRect.ts","ng://ngx-bootstrap/positioning/utils/includeScroll.ts","ng://ngx-bootstrap/positioning/utils/getOffsetRectRelativeToArbitraryNode.ts","ng://ngx-bootstrap/positioning/utils/getViewportOffsetRectRelativeToArtbitraryNode.ts","ng://ngx-bootstrap/positioning/utils/isFixed.ts","ng://ngx-bootstrap/positioning/utils/getFixedPositionOffsetParent.ts","ng://ngx-bootstrap/positioning/utils/getBoundaries.ts","ng://ngx-bootstrap/positioning/utils/computeAutoPlacement.ts","ng://ngx-bootstrap/positioning/utils/getOffsets.ts","ng://ngx-bootstrap/positioning/utils/getOppositePlacement.ts","ng://ngx-bootstrap/positioning/utils/getOppositeVariation.ts","ng://ngx-bootstrap/positioning/utils/getOuterSizes.ts","ng://ngx-bootstrap/positioning/utils/getReferenceOffsets.ts","ng://ngx-bootstrap/positioning/utils/getTargetOffsets.ts","ng://ngx-bootstrap/positioning/utils/isModifierEnabled.ts","ng://ngx-bootstrap/positioning/utils/isNumeric.ts","ng://ngx-bootstrap/positioning/utils/updateContainerClass.ts","ng://ngx-bootstrap/positioning/utils/setStyles.ts","ng://ngx-bootstrap/positioning/modifiers/arrow.ts","ng://ngx-bootstrap/positioning/modifiers/flip.ts","ng://ngx-bootstrap/positioning/modifiers/initData.ts","ng://ngx-bootstrap/positioning/modifiers/preventOverflow.ts","ng://ngx-bootstrap/positioning/modifiers/shift.ts","ng://ngx-bootstrap/positioning/ng-positioning.ts","ng://ngx-bootstrap/positioning/positioning.service.ts"],"sourcesContent":["/**\n * Get CSS computed property of the given element\n */\nexport function getStyleComputedProperty(element: HTMLElement, property?: string): any {\n if (element.nodeType !== 1) {\n return [];\n }\n // NOTE: 1 DOM access here\n const window = element.ownerDocument.defaultView;\n const css = window.getComputedStyle(element, null);\n\n return property ? css[property as any] : css;\n}\n","/**\n * Returns the parentNode or the host of the element\n */\nexport function getParentNode(element: any): any {\n if (element.nodeName === 'HTML') {\n return element;\n }\n\n return element.parentNode || element.host;\n}\n","/**\n * Returns the scrolling parent of the given element\n */\nimport { getStyleComputedProperty } from './getStyleComputedProperty';\nimport { getParentNode } from './getParentNode';\n\nexport function getScrollParent(element: any): any {\n // Return body, `getScroll` will take care to get the correct `scrollTop` from it\n if (!element) {\n return document.body;\n }\n\n switch (element.nodeName) {\n case 'HTML':\n case 'BODY':\n return element.ownerDocument.body;\n case '#document':\n return element.body;\n default:\n }\n\n // Firefox want us to check `-x` and `-y` variations as well\n const { overflow, overflowX, overflowY } = getStyleComputedProperty(element);\n if (/(auto|scroll|overlay)/.test(String(overflow) + String(overflowY) + String(overflowX))) {\n return element;\n }\n\n return getScrollParent(getParentNode(element));\n}\n","export const isBrowser = typeof window !== 'undefined' && typeof document !== 'undefined';\n","/**\n * Determines if the browser is Internet Explorer\n */\nimport { isBrowser } from './isBrowser';\n\nconst isIE11 = isBrowser && !!((window as any).MSInputMethodContext && (document as any).documentMode);\nconst isIE10 = isBrowser && !!((window as any).MSInputMethodContext && /MSIE 10/.test((navigator as any).userAgent));\n\nexport function isIE(version?: number) {\n if (version === 11) {\n return isIE11;\n }\n if (version === 10) {\n return isIE10;\n }\n\n return isIE11 || isIE10;\n}\n","/**\n * Returns the offset parent of the given element\n */\nimport { getStyleComputedProperty } from './getStyleComputedProperty';\nimport { isIE } from './isIE';\n\nexport function getOffsetParent(element: any): any {\n if (!element) {\n return document.documentElement;\n }\n\n const noOffsetParent = isIE(10) ? document.body : null;\n\n // NOTE: 1 DOM access here\n let offsetParent = element.offsetParent || null;\n\n // Skip hidden elements which don't have an offsetParent\n let sibling: HTMLElement | null;\n\n while (offsetParent === noOffsetParent\n && element.nextElementSibling\n && sibling !== element.nextElementSibling) {\n\n sibling = element.nextElementSibling;\n offsetParent = sibling.offsetParent;\n }\n\n const nodeName = offsetParent && offsetParent.nodeName;\n\n if (!nodeName || nodeName === 'BODY' || nodeName === 'HTML') {\n return sibling ? sibling.ownerDocument.documentElement : document.documentElement;\n }\n\n // .offsetParent will return the closest TH, TD or TABLE in case\n if (\n ['TH', 'TD', 'TABLE'].indexOf(offsetParent.nodeName) !== -1 &&\n getStyleComputedProperty(offsetParent, 'position') === 'static'\n ) {\n return getOffsetParent(offsetParent);\n }\n\n return offsetParent;\n}\n","import { getOffsetParent } from './getOffsetParent';\n\nexport function isOffsetContainer(element: any) {\n const { nodeName } = element;\n if (nodeName === 'BODY') {\n return false;\n }\n\n return (\n nodeName === 'HTML' || getOffsetParent(element.firstElementChild) === element\n );\n}\n","/**\n * Finds the root node (document, shadowDOM root) of the given element\n */\nexport function getRoot(node: Node): any {\n if (node.parentNode !== null) {\n return getRoot(node.parentNode);\n }\n\n return node;\n}\n","/**\n * Finds the offset parent common to the two provided nodes\n */\nimport { isOffsetContainer } from './isOffsetContainer';\nimport { getRoot } from './getRoot';\nimport { getOffsetParent } from './getOffsetParent';\n\nexport function findCommonOffsetParent(element1: HTMLElement, element2: HTMLElement): any {\n // This check is needed to avoid errors in case one of the elements isn't defined for any reason\n if (!element1 || !element1.nodeType || !element2 || !element2.nodeType) {\n return document.documentElement;\n }\n\n // Here we make sure to give as \"start\" the element that comes first in the DOM\n /* tslint:disable-next-line: no-bitwise */\n const order = element1.compareDocumentPosition(element2) & Node.DOCUMENT_POSITION_FOLLOWING;\n\n const start = order ? element1 : element2;\n const end = order ? element2 : element1;\n\n // Get common ancestor container\n const range = document.createRange();\n range.setStart(start, 0);\n range.setEnd(end, 0);\n const { commonAncestorContainer } = range;\n\n // Both nodes are inside #document\n if (\n (element1 !== commonAncestorContainer &&\n element2 !== commonAncestorContainer) ||\n start.contains(end)\n ) {\n if (isOffsetContainer(commonAncestorContainer)) {\n return commonAncestorContainer;\n }\n\n return getOffsetParent(commonAncestorContainer);\n }\n\n // one of the nodes is inside shadowDOM, find which one\n const element1root = getRoot(element1);\n if (element1root.host) {\n return findCommonOffsetParent(element1root.host, element2);\n } else {\n return findCommonOffsetParent(element1, getRoot(element2).host);\n }\n}\n","/**\n * Helper to detect borders of a given element\n */\n\nexport function getBordersSize(styles: CSSStyleDeclaration, axis: string) {\n const sideA = axis === 'x' ? 'Left' : 'Top';\n const sideB = sideA === 'Left' ? 'Right' : 'Bottom';\n\n return (\n parseFloat(styles[`border${sideA}Width` as any]) +\n parseFloat(styles[`border${sideB}Width` as any])\n );\n}\n","import { isIE } from './isIE';\n\nfunction getSize(axis: string, body: HTMLElement, html: HTMLElement, computedStyle: CSSStyleDeclaration) {\n return Math.max(\n (body as any)[`offset${axis}`],\n (body as any)[`scroll${axis}`],\n (html as any)[`client${axis}`],\n (html as any)[`offset${axis}`],\n (html as any)[`scroll${axis}`],\n isIE(10)\n ? (parseInt((html as any)[`offset${axis}`], 10) +\n parseInt(computedStyle[`margin${axis === 'Height' ? 'Top' : 'Left'}` as any], 10) +\n parseInt(computedStyle[`margin${axis === 'Height' ? 'Bottom' : 'Right'}` as any], 10))\n : 0\n );\n}\n\nexport function getWindowSizes(document: Document) {\n const body = document.body;\n const html = document.documentElement;\n const computedStyle = isIE(10) && getComputedStyle(html);\n\n return {\n height: getSize('Height', body, html, computedStyle),\n width: getSize('Width', body, html, computedStyle)\n };\n}\n","/**\n * Gets the scroll value of the given element in the given side (top and left)\n */\nexport function getScroll(element: HTMLElement, side = 'top') {\n const upperSide = side === 'top' ? 'scrollTop' : 'scrollLeft';\n const nodeName = element.nodeName;\n\n if (nodeName === 'BODY' || nodeName === 'HTML') {\n const html = element.ownerDocument.documentElement;\n const scrollingElement = element.ownerDocument.scrollingElement || html;\n\n return scrollingElement[upperSide];\n }\n\n return element[upperSide];\n}\n","/**\n * Given element offsets, generate an output similar to getBoundingClientRect\n */\nimport { Offsets } from '../models';\n\nexport function getClientRect(offsets: Offsets): Offsets {\n return {\n ...offsets,\n right: offsets.left + offsets.width,\n bottom: offsets.top + offsets.height\n };\n}\n","/**\n * Get bounding client rect of given element\n */\nimport { getStyleComputedProperty } from './getStyleComputedProperty';\nimport { getBordersSize } from './getBordersSize';\nimport { getWindowSizes } from './getWindowSizes';\nimport { getScroll } from './getScroll';\nimport { getClientRect } from './getClientRect';\nimport { isIE } from './isIE';\nimport { Offsets } from '../models';\n\nexport function getBoundingClientRect(element: HTMLElement): Offsets {\n let rect: any = {};\n\n // IE10 10 FIX: Please, don't ask, the element isn't\n // considered in DOM in some circumstances...\n // This isn't reproducible in IE10 compatibility mode of IE11\n try {\n if (isIE(10)) {\n rect = element.getBoundingClientRect();\n const scrollTop = getScroll(element, 'top');\n const scrollLeft = getScroll(element, 'left');\n rect.top += scrollTop;\n rect.left += scrollLeft;\n rect.bottom += scrollTop;\n rect.right += scrollLeft;\n } else {\n rect = element.getBoundingClientRect();\n }\n } catch (e) {\n return undefined;\n }\n\n const result: any = {\n left: rect.left,\n top: rect.top,\n width: rect.right - rect.left,\n height: rect.bottom - rect.top\n };\n\n // subtract scrollbar size from sizes\n const sizes: any = element.nodeName === 'HTML' ? getWindowSizes(element.ownerDocument) : {};\n const width =\n sizes.width || element.clientWidth || result.right - result.left;\n const height =\n sizes.height || element.clientHeight || result.bottom - result.top;\n\n let horizScrollbar = element.offsetWidth - width;\n let vertScrollbar = element.offsetHeight - height;\n\n // if an hypothetical scrollbar is detected, we must be sure it's not a `border`\n // we make this check conditional for performance reasons\n if (horizScrollbar || vertScrollbar) {\n const styles = getStyleComputedProperty(element);\n horizScrollbar -= getBordersSize(styles, 'x');\n vertScrollbar -= getBordersSize(styles, 'y');\n\n result.width -= horizScrollbar;\n result.height -= vertScrollbar;\n }\n\n return getClientRect(result);\n}\n","/**\n * Sum or subtract the element scroll values (left and top) from a given rect object\n */\nimport { getScroll } from './getScroll';\nimport { Offsets } from '../models';\n\nexport function includeScroll(rect: Offsets, element: HTMLElement, subtract = false) {\n const scrollTop = getScroll(element, 'top');\n const scrollLeft = getScroll(element, 'left');\n const modifier = subtract ? -1 : 1;\n rect.top += scrollTop * modifier;\n rect.bottom += scrollTop * modifier;\n rect.left += scrollLeft * modifier;\n rect.right += scrollLeft * modifier;\n\n return rect;\n}\n","import { getBoundingClientRect } from './getBoundingClientRect';\nimport { getClientRect } from './getClientRect';\nimport { getScrollParent } from './getScrollParent';\nimport { getStyleComputedProperty } from './getStyleComputedProperty';\nimport { includeScroll } from './includeScroll';\nimport { isIE as runIsIE } from './isIE';\nimport { Offsets } from '../models';\n\nexport function getOffsetRectRelativeToArbitraryNode(\n children: HTMLElement,\n parent: HTMLElement,\n fixedPosition = false\n): Offsets {\n const isIE10 = runIsIE(10);\n const isHTML = parent.nodeName === 'HTML';\n const childrenRect: any = getBoundingClientRect(children);\n const parentRect: any = getBoundingClientRect(parent);\n const scrollParent = getScrollParent(children);\n\n const styles = getStyleComputedProperty(parent);\n const borderTopWidth = parseFloat(styles.borderTopWidth);\n const borderLeftWidth = parseFloat(styles.borderLeftWidth);\n\n // In cases where the parent is fixed, we must ignore negative scroll in offset calc\n if (fixedPosition && isHTML) {\n parentRect.top = Math.max(parentRect.top, 0);\n parentRect.left = Math.max(parentRect.left, 0);\n }\n\n let offsets: Offsets = getClientRect({\n top: childrenRect.top - parentRect.top - borderTopWidth,\n left: childrenRect.left - parentRect.left - borderLeftWidth,\n width: childrenRect.width,\n height: childrenRect.height\n });\n\n offsets.marginTop = 0;\n offsets.marginLeft = 0;\n\n // Subtract margins of documentElement in case it's being used as parent\n // we do this only on HTML because it's the only element that behaves\n // differently when margins are applied to it. The margins are included in\n // the box of the documentElement, in the other cases not.\n if (!isIE10 && isHTML) {\n const marginTop = parseFloat(styles.marginTop);\n const marginLeft = parseFloat(styles.marginLeft);\n\n offsets.top -= borderTopWidth - marginTop;\n offsets.bottom -= borderTopWidth - marginTop;\n offsets.left -= borderLeftWidth - marginLeft;\n offsets.right -= borderLeftWidth - marginLeft;\n\n // Attach marginTop and marginLeft because in some circumstances we may need them\n offsets.marginTop = marginTop;\n offsets.marginLeft = marginLeft;\n }\n\n if (\n isIE10 && !fixedPosition\n ? parent.contains(scrollParent)\n : parent === scrollParent && scrollParent.nodeName !== 'BODY'\n ) {\n offsets = includeScroll(offsets, parent);\n }\n\n return offsets;\n}\n","import { getClientRect } from './getClientRect';\nimport { getOffsetRectRelativeToArbitraryNode } from './getOffsetRectRelativeToArbitraryNode';\nimport { getScroll } from './getScroll';\nimport { Offsets } from '../models';\n\nexport function getViewportOffsetRectRelativeToArtbitraryNode(element: HTMLElement, excludeScroll = false): Offsets {\n const html = element.ownerDocument.documentElement;\n const relativeOffset = getOffsetRectRelativeToArbitraryNode(element, html);\n const width = Math.max(html.clientWidth, window.innerWidth || 0);\n const height = Math.max(html.clientHeight, window.innerHeight || 0);\n\n const scrollTop = !excludeScroll ? getScroll(html) : 0;\n const scrollLeft = !excludeScroll ? getScroll(html, 'left') : 0;\n\n const offset = {\n top: scrollTop - Number(relativeOffset.top) + Number(relativeOffset.marginTop),\n left: scrollLeft - Number(relativeOffset.left) + Number(relativeOffset.marginLeft),\n width,\n height\n };\n\n return getClientRect(offset);\n}\n","/**\n * Check if the given element is fixed or is inside a fixed parent\n */\nimport { getStyleComputedProperty } from './getStyleComputedProperty';\nimport { getParentNode } from './getParentNode';\n\nexport function isFixed(element: HTMLElement): boolean {\n const nodeName = element.nodeName;\n if (nodeName === 'BODY' || nodeName === 'HTML') {\n return false;\n }\n if (getStyleComputedProperty(element, 'position') === 'fixed') {\n return true;\n }\n\n return isFixed(getParentNode(element));\n}\n","/**\n * Finds the first parent of an element that has a transformed property defined\n */\n\nimport { getStyleComputedProperty } from './getStyleComputedProperty';\nimport { isIE } from './isIE';\n\nexport function getFixedPositionOffsetParent(element: HTMLElement): HTMLElement {\n // This check is needed to avoid errors in case one of the elements isn't defined for any reason\n if (!element || !element.parentElement || isIE()) {\n return document.documentElement;\n }\n\n let el = element.parentElement;\n\n while (el && getStyleComputedProperty(el, 'transform') === 'none') {\n el = el.parentElement;\n }\n\n return el || document.documentElement;\n}\n","/**\n * Computed the boundaries limits and return them\n */\nimport { getScrollParent } from './getScrollParent';\nimport { getParentNode } from './getParentNode';\nimport { findCommonOffsetParent } from './findCommonOffsetParent';\nimport { getOffsetRectRelativeToArbitraryNode } from './getOffsetRectRelativeToArbitraryNode';\nimport { getViewportOffsetRectRelativeToArtbitraryNode } from './getViewportOffsetRectRelativeToArtbitraryNode';\nimport { getWindowSizes } from './getWindowSizes';\nimport { isFixed } from './isFixed';\nimport { getFixedPositionOffsetParent } from './getFixedPositionOffsetParent';\n\nexport function getBoundaries(\n target: HTMLElement,\n host: HTMLElement,\n padding = 0,\n boundariesElement: string,\n fixedPosition = false\n) {\n // NOTE: 1 DOM access here\n\n let boundaries: any = { top: 0, left: 0 };\n const offsetParent = fixedPosition ? getFixedPositionOffsetParent(target) : findCommonOffsetParent(target, host);\n\n // Handle viewport case\n if (boundariesElement === 'viewport') {\n boundaries = getViewportOffsetRectRelativeToArtbitraryNode(offsetParent, fixedPosition);\n } else {\n // Handle other cases based on DOM element used as boundaries\n let boundariesNode;\n if (boundariesElement === 'scrollParent') {\n boundariesNode = getScrollParent(getParentNode(host));\n if (boundariesNode.nodeName === 'BODY') {\n boundariesNode = target.ownerDocument.documentElement;\n }\n } else if (boundariesElement === 'window') {\n boundariesNode = target.ownerDocument.documentElement;\n } else {\n boundariesNode = boundariesElement;\n }\n\n const offsets = getOffsetRectRelativeToArbitraryNode(\n boundariesNode,\n offsetParent,\n fixedPosition\n );\n\n // In case of HTML, we need a different computation\n if (boundariesNode.nodeName === 'HTML' && !isFixed(offsetParent)) {\n const { height, width } = getWindowSizes(target.ownerDocument);\n boundaries.top += offsets.top - offsets.marginTop;\n boundaries.bottom = Number(height) + Number(offsets.top);\n boundaries.left += offsets.left - offsets.marginLeft;\n boundaries.right = Number(width) + Number(offsets.left);\n } else {\n // for all the other DOM elements, this one is good\n boundaries = offsets;\n }\n }\n\n // Add paddings\n boundaries.left += padding;\n boundaries.top += padding;\n boundaries.right -= padding;\n boundaries.bottom -= padding;\n\n return boundaries;\n}\n","/**\n * Utility used to transform the `auto` placement to the placement with more\n * available space.\n */\nimport { getBoundaries } from './getBoundaries';\nimport { Offsets } from '../models';\n\nfunction getArea({ width, height }: { [key: string]: number }) {\n return width * height;\n}\n\nexport function computeAutoPlacement(\n placement: string,\n refRect: Offsets,\n target: HTMLElement,\n host: HTMLElement,\n allowedPositions: any[] = ['top', 'bottom', 'right', 'left'],\n boundariesElement = 'viewport',\n padding = 0\n) {\n if (placement.indexOf('auto') === -1) {\n return placement;\n }\n\n const boundaries = getBoundaries(target, host, padding, boundariesElement);\n\n const rects: any = {\n top: {\n width: boundaries.width,\n height: refRect.top - boundaries.top\n },\n right: {\n width: boundaries.right - refRect.right,\n height: boundaries.height\n },\n bottom: {\n width: boundaries.width,\n height: boundaries.bottom - refRect.bottom\n },\n left: {\n width: refRect.left - boundaries.left,\n height: boundaries.height\n }\n };\n\n const sortedAreas = Object.keys(rects)\n .map(key => ({\n key,\n ...rects[key],\n area: getArea(rects[key])\n }))\n .sort((a, b) => b.area - a.area);\n\n let filteredAreas: any[] = sortedAreas.filter(\n ({ width, height }) => {\n return width >= target.clientWidth\n && height >= target.clientHeight;\n }\n );\n\n filteredAreas = filteredAreas.filter((position: any) => {\n return allowedPositions\n .some((allowedPosition: string) => {\n return allowedPosition === position.key;\n });\n });\n\n const computedPlacement: string = filteredAreas.length > 0\n ? filteredAreas[0].key\n : sortedAreas[0].key;\n\n const variation = placement.split(' ')[1];\n\n // for tooltip on auto position\n target.className = target.className.replace(/bs-tooltip-auto/g, `bs-tooltip-${computedPlacement}`);\n\n return computedPlacement + (variation ? `-${variation}` : '');\n}\n","import { Data, Offsets } from '../models';\n\nexport function getOffsets(data: Data): Offsets {\n return {\n width: data.offsets.target.width,\n height: data.offsets.target.height,\n left: Math.floor(data.offsets.target.left),\n top: Math.round(data.offsets.target.top),\n bottom: Math.round(data.offsets.target.bottom),\n right: Math.floor(data.offsets.target.right)\n };\n}\n","/**\n * Get the opposite placement of the given one\n */\nexport function getOppositePlacement(placement: string) {\n const hash = { left: 'right', right: 'left', bottom: 'top', top: 'bottom' };\n\n return placement.replace(/left|right|bottom|top/g, matched => (hash as any)[matched]);\n}\n","/**\n * Get the opposite placement variation of the given one\n */\nexport function getOppositeVariation(variation: string) {\n if (variation === 'right') {\n return 'left';\n } else if (variation === 'left') {\n return 'right';\n }\n\n return variation;\n}\n","/**\n * Get the outer sizes of the given element (offset size + margins)\n */\nexport function getOuterSizes(element: any) {\n const window = element.ownerDocument.defaultView;\n const styles = window.getComputedStyle(element);\n const x = parseFloat(styles.marginTop || 0) + parseFloat(styles.marginBottom || 0);\n const y = parseFloat(styles.marginLeft || 0) + parseFloat(styles.marginRight || 0);\n\n return {\n width: Number(element.offsetWidth) + y,\n height: Number(element.offsetHeight) + x\n };\n}\n","/**\n * Get offsets to the reference element\n */\nimport { findCommonOffsetParent } from './findCommonOffsetParent';\nimport { getOffsetRectRelativeToArbitraryNode } from './getOffsetRectRelativeToArbitraryNode';\nimport { getFixedPositionOffsetParent } from './getFixedPositionOffsetParent';\nimport { Offsets } from '../models';\n\nexport function getReferenceOffsets(\n target: HTMLElement,\n host: HTMLElement,\n fixedPosition: boolean = null\n): Offsets {\n const commonOffsetParent = fixedPosition\n ? getFixedPositionOffsetParent(target)\n : findCommonOffsetParent(target, host);\n\n return getOffsetRectRelativeToArbitraryNode(host, commonOffsetParent, fixedPosition);\n}\n","/**\n * Get offsets to the target\n */\nimport { getOppositePlacement } from './getOppositePlacement';\nimport { getOuterSizes } from './getOuterSizes';\nimport { Offsets } from '../models';\n\nexport function getTargetOffsets(\n target: HTMLElement,\n hostOffsets: Offsets,\n position: string\n): Offsets {\n const placement = position.split(' ')[0];\n\n // Get target node sizes\n const targetRect = getOuterSizes(target);\n\n // Add position, width and height to our offsets object\n const targetOffsets = {\n width: targetRect.width,\n height: targetRect.height\n };\n\n // depending by the target placement we have to compute its offsets slightly differently\n const isHoriz = ['right', 'left'].indexOf(placement) !== -1;\n const mainSide = isHoriz ? 'top' : 'left';\n const secondarySide = isHoriz ? 'left' : 'top';\n const measurement = isHoriz ? 'height' : 'width';\n const secondaryMeasurement = !isHoriz ? 'height' : 'width';\n\n (targetOffsets as any)[mainSide] =\n hostOffsets[mainSide] +\n hostOffsets[measurement] / 2 -\n targetRect[measurement] / 2;\n\n (targetOffsets as any)[secondarySide] = placement === secondarySide\n ? hostOffsets[secondarySide] - targetRect[secondaryMeasurement]\n : (hostOffsets as any)[getOppositePlacement(secondarySide)];\n\n return targetOffsets;\n}\n","/**\n * Helper used to know if the given modifier is enabled.\n */\nexport function isModifierEnabled(options: any, modifierName: string) {\n return options\n && options.modifiers\n && options.modifiers[modifierName]\n && options.modifiers[modifierName].enabled;\n}\n","/**\n * Tells if a given input is a number\n */\nexport function isNumeric(n: any) {\n return n !== '' && !isNaN(parseFloat(n)) && isFinite(n);\n}\n","/**\n * Update class for the given popper\n */\nimport { Renderer2 } from '@angular/core';\nimport { Data } from '../models';\n\nexport function updateContainerClass(data: Data, renderer?: Renderer2): void {\n const target = data.instance.target;\n\n let containerClass = target.className;\n\n if (data.placementAuto) {\n containerClass = containerClass.replace(/bs-popover-auto/g, `bs-popover-${data.placement}`);\n containerClass = containerClass.replace(/bs-tooltip-auto/g, `bs-tooltip-${data.placement}`);\n containerClass = containerClass.replace(/\\sauto/g, ` ${data.placement}`);\n\n if (containerClass.indexOf('popover') !== -1 && containerClass.indexOf('popover-auto') === -1) {\n containerClass += ' popover-auto';\n }\n\n if (containerClass.indexOf('tooltip') !== -1 && containerClass.indexOf('tooltip-auto') === -1) {\n containerClass += ' tooltip-auto';\n }\n }\n\n containerClass = containerClass.replace(/left|right|top|bottom/g, `${data.placement.split(' ')[0]}`);\n\n if (renderer) {\n renderer.setAttribute(target, 'class', containerClass);\n\n return;\n }\n\n target.className = containerClass;\n}\n","/**\n * Set the style to the given popper\n */\nimport { Renderer2 } from '@angular/core';\n\nimport { isNumeric } from './isNumeric';\n\nexport function setStyles(element: HTMLElement, styles: any, renderer?: Renderer2) {\n Object.keys(styles).forEach((prop: any) => {\n let unit = '';\n // add unit if the value is numeric and is one of the following\n if (['width', 'height', 'top', 'right', 'bottom', 'left'].indexOf(prop) !== -1 &&\n isNumeric(styles[prop])) {\n unit = 'px';\n }\n\n if (renderer) {\n renderer.setStyle(element, prop, `${String(styles[prop])}${unit}`);\n\n return;\n }\n\n element.style[prop] = String(styles[prop]) + unit;\n });\n}\n","import { getClientRect, getOuterSizes, getStyleComputedProperty } from '../utils';\nimport { Data } from '../models';\n\nexport function arrow(data: Data) {\n let targetOffsets = data.offsets.target;\n // if arrowElement is a string, suppose it's a CSS selector\n const arrowElement: HTMLElement | null = data.instance.target.querySelector('.arrow');\n\n // if arrowElement is not found, don't run the modifier\n if (!arrowElement) {\n return data;\n }\n\n const isVertical = ['left', 'right'].indexOf(data.placement.split(' ')[0]) !== -1;\n\n const len = isVertical ? 'height' : 'width';\n const sideCapitalized = isVertical ? 'Top' : 'Left';\n const side = sideCapitalized.toLowerCase();\n const altSide = isVertical ? 'left' : 'top';\n const opSide = isVertical ? 'bottom' : 'right';\n const arrowElementSize = getOuterSizes(arrowElement)[len];\n const placementVariation = data.placement.split(' ')[1];\n\n // top/left side\n if (data.offsets.host[opSide] - arrowElementSize < (targetOffsets as any)[side]) {\n (targetOffsets as any)[side] -=\n (targetOffsets as any)[side] - (data.offsets.host[opSide] - arrowElementSize);\n }\n // bottom/right side\n if (Number((data as any).offsets.host[side]) + Number(arrowElementSize) > (targetOffsets as any)[opSide]) {\n (targetOffsets as any)[side] +=\n Number((data as any).offsets.host[side]) + Number(arrowElementSize) - Number((targetOffsets as any)[opSide]);\n }\n targetOffsets = getClientRect(targetOffsets);\n\n // Compute the sideValue using the updated target offsets\n // take target margin in account because we don't have this info available\n const css = getStyleComputedProperty(data.instance.target);\n const targetMarginSide = parseFloat(css[`margin${sideCapitalized}`]);\n const targetBorderSide = parseFloat(css[`border${sideCapitalized}Width`]);\n\n // compute center of the target\n let center: number;\n if (!placementVariation) {\n center = Number((data as any).offsets.host[side]) + Number(data.offsets.host[len] / 2 - arrowElementSize / 2);\n } else {\n const targetBorderRadius = parseFloat(css.borderRadius);\n const targetSideArrowOffset = Number(targetMarginSide + targetBorderSide + targetBorderRadius);\n center = side === placementVariation ?\n Number((data as any).offsets.host[side]) + targetSideArrowOffset :\n Number((data as any).offsets.host[side]) + Number(data.offsets.host[len] - targetSideArrowOffset);\n }\n\n let sideValue =\n center - (targetOffsets as any)[side] - targetMarginSide - targetBorderSide;\n\n // prevent arrowElement from being placed not contiguously to its target\n sideValue = Math.max(Math.min(targetOffsets[len] - arrowElementSize, sideValue), 0);\n\n data.offsets.arrow = {\n [side]: Math.round(sideValue),\n [altSide]: '' // make sure to unset any eventual altSide value from the DOM node\n };\n\n data.instance.arrow = arrowElement;\n\n return data;\n}\n","import {\n computeAutoPlacement,\n getBoundaries,\n getClientRect,\n getOppositeVariation,\n getTargetOffsets,\n isModifierEnabled\n} from '../utils';\n\nimport { Data } from '../models';\n\nexport function flip(data: Data): Data {\n data.offsets.target = getClientRect(data.offsets.target);\n\n if (!isModifierEnabled(data.options, 'flip')) {\n\n data.offsets.target = {\n ...data.offsets.target,\n ...getTargetOffsets(\n data.instance.target,\n data.offsets.host,\n data.placement\n )\n };\n\n return data;\n }\n\n const boundaries = getBoundaries(\n data.instance.target,\n data.instance.host,\n 0, // padding\n 'viewport',\n false // positionFixed\n );\n\n let placement = data.placement.split(' ')[0];\n let variation = data.placement.split(' ')[1] || '';\n\n const offsetsHost = data.offsets.host;\n const target = data.instance.target;\n const host = data.instance.host;\n\n const adaptivePosition = computeAutoPlacement('auto', offsetsHost, target, host, data.options.allowedPositions);\n const flipOrder = [placement, adaptivePosition];\n\n /* tslint:disable-next-line: cyclomatic-complexity */\n flipOrder.forEach((step, index) => {\n if (placement !== step || flipOrder.length === index + 1) {\n return data;\n }\n\n placement = data.placement.split(' ')[0];\n\n // using floor because the host offsets may contain decimals we are not going to consider here\n const overlapsRef =\n (placement === 'left' &&\n Math.floor(data.offsets.target.right) > Math.floor(data.offsets.host.left)) ||\n (placement === 'right' &&\n Math.floor(data.offsets.target.left) < Math.floor(data.offsets.host.right)) ||\n (placement === 'top' &&\n Math.floor(data.offsets.target.bottom) > Math.floor(data.offsets.host.top)) ||\n (placement === 'bottom' &&\n Math.floor(data.offsets.target.top) < Math.floor(data.offsets.host.bottom));\n\n const overflowsLeft = Math.floor(data.offsets.target.left) < Math.floor(boundaries.left);\n const overflowsRight = Math.floor(data.offsets.target.right) > Math.floor(boundaries.right);\n const overflowsTop = Math.floor(data.offsets.target.top) < Math.floor(boundaries.top);\n const overflowsBottom = Math.floor(data.offsets.target.bottom) > Math.floor(boundaries.bottom);\n\n const overflowsBoundaries =\n (placement === 'left' && overflowsLeft) ||\n (placement === 'right' && overflowsRight) ||\n (placement === 'top' && overflowsTop) ||\n (placement === 'bottom' && overflowsBottom);\n\n // flip the variation if required\n const isVertical = ['top', 'bottom'].indexOf(placement) !== -1;\n const flippedVariation =\n ((isVertical && variation === 'left' && overflowsLeft) ||\n (isVertical && variation === 'right' && overflowsRight) ||\n (!isVertical && variation === 'left' && overflowsTop) ||\n (!isVertical && variation === 'right' && overflowsBottom));\n\n if (overlapsRef || overflowsBoundaries || flippedVariation) {\n if (overlapsRef || overflowsBoundaries) {\n placement = flipOrder[index + 1];\n }\n\n if (flippedVariation) {\n variation = getOppositeVariation(variation);\n }\n\n data.placement = placement + (variation ? ` ${variation}` : '');\n\n data.offsets.target = {\n ...data.offsets.target,\n ...getTargetOffsets(\n data.instance.target,\n data.offsets.host,\n data.placement\n )\n };\n }\n });\n\n return data;\n}\n","import {\n computeAutoPlacement,\n getReferenceOffsets,\n getTargetOffsets\n} from '../utils';\n\nimport { Data, Options } from '../models';\n\nexport function initData(\n targetElement: HTMLElement, hostElement: HTMLElement, position: string, options: Options\n): Data {\n\n const hostElPosition = getReferenceOffsets(targetElement, hostElement);\n\n if (!position.match(/^(auto)*\\s*(left|right|top|bottom)*$/)\n && !position.match(/^(left|right|top|bottom)*(?: (left|right|top|bottom))?\\s*(start|end)*$/)) {\n /* tslint:disable-next-line: no-parameter-reassignment */\n position = 'auto';\n }\n\n const placementAuto = !!position.match(/auto/g);\n\n // support old placements 'auto left|right|top|bottom'\n let placement = position.match(/auto\\s(left|right|top|bottom)/)\n ? position.split(' ')[1] || 'auto'\n : position;\n\n // Normalize placements that have identical main placement and variation (\"right right\" => \"right\").\n const matches = placement.match(/^(left|right|top|bottom)* ?(?!\\1)(left|right|top|bottom)?/);\n if (matches) {\n placement = matches[1] + (matches[2] ? ` ${matches[2]}` : '');\n }\n\n // \"left right\", \"top bottom\" etc. placements also considered incorrect.\n if (['left right', 'right left', 'top bottom', 'bottom top'].indexOf(placement) !== -1) {\n placement = 'auto';\n }\n\n const targetOffset = getTargetOffsets(targetElement, hostElPosition, placement);\n\n placement = computeAutoPlacement(\n placement,\n hostElPosition,\n targetElement,\n hostElement,\n options ? options.allowedPositions : undefined\n );\n\n return {\n options,\n instance: {\n target: targetElement,\n host: hostElement,\n arrow: null\n },\n offsets: {\n target: targetOffset,\n host: hostElPosition,\n arrow: null\n },\n positionFixed: false,\n placement,\n placementAuto\n };\n}\n","import { getBoundaries, isModifierEnabled } from '../utils';\nimport { Data } from '../models';\n\nexport function preventOverflow(data: Data) {\n\n if (!isModifierEnabled(data.options, 'preventOverflow')) {\n return data;\n }\n\n // NOTE: DOM access here\n // resets the targetOffsets's position so that the document size can be calculated excluding\n // the size of the targetOffsets element itself\n const transformProp = 'transform';\n const targetStyles = data.instance.target.style; // assignment to help minification\n const { top, left, [transformProp]: transform } = targetStyles;\n targetStyles.top = '';\n targetStyles.left = '';\n targetStyles[transformProp] = '';\n\n const boundaries = getBoundaries(\n data.instance.target,\n data.instance.host,\n 0, // padding\n 'scrollParent',\n false // positionFixed\n );\n\n // NOTE: DOM access here\n // restores the original style properties after the offsets have been computed\n targetStyles.top = top;\n targetStyles.left = left;\n targetStyles[transformProp] = transform;\n\n const order = ['left', 'right', 'top', 'bottom'];\n\n const check = {\n primary(placement: string) {\n let value = (data as any).offsets.target[placement];\n if (\n (data as any).offsets.target[placement] < boundaries[placement] &&\n !false // options.escapeWithReference\n ) {\n value = Math.max((data as any).offsets.target[placement], boundaries[placement]);\n }\n\n return { [placement]: value };\n },\n secondary(placement: string) {\n const mainSide = placement === 'right' ? 'left' : 'top';\n let value = data.offsets.target[mainSide];\n if (\n (data as any).offsets.target[placement] > boundaries[placement] &&\n !false // escapeWithReference\n ) {\n value = Math.min(\n data.offsets.target[mainSide],\n boundaries[placement] -\n (placement === 'right' ? data.offsets.target.width : data.offsets.target.height)\n );\n }\n\n return { [mainSide]: value };\n }\n };\n\n let side: string;\n\n order.forEach(placement => {\n side = ['left', 'top']\n .indexOf(placement) !== -1\n ? 'primary'\n : 'secondary';\n\n data.offsets.target = {\n ...data.offsets.target,\n ...(check as any)[side](placement)\n };\n\n });\n\n return data;\n}\n","import { Data } from '../models';\n\nexport function shift(data: Data): Data {\n const placement = data.placement;\n const basePlacement = placement.split(' ')[0];\n const shiftVariation = placement.split(' ')[1];\n\n if (shiftVariation) {\n const { host, target } = data.offsets;\n const isVertical = ['bottom', 'top'].indexOf(basePlacement) !== -1;\n const side = isVertical ? 'left' : 'top';\n const measurement = isVertical ? 'width' : 'height';\n\n const shiftOffsets = {\n start: { [side]: host[side] },\n end: {\n [side]: host[side] + host[measurement] - target[measurement]\n }\n };\n\n data.offsets.target = {\n ...target, ...{\n [side]: (side === shiftVariation ? (shiftOffsets as any).start[side] : (shiftOffsets as any).end[side])\n }\n };\n }\n\n return data;\n}\n","/**\n * @copyright Valor Software\n * @copyright Federico Zivolo and contributors\n */\nimport { Renderer2 } from '@angular/core';\n\nimport { getOffsets, getReferenceOffsets, updateContainerClass, setStyles } from './utils';\n\nimport { arrow, flip, preventOverflow, shift, initData } from './modifiers';\nimport { Data, Offsets, Options } from './models';\n\n\nexport class Positioning {\n position(hostElement: HTMLElement, targetElement: HTMLElement, round = true): Offsets {\n return this.offset(hostElement, targetElement, false);\n }\n\n offset(hostElement: HTMLElement, targetElement: HTMLElement, round = true): Offsets {\n return getReferenceOffsets(targetElement, hostElement);\n }\n\n positionElements(\n hostElement: HTMLElement,\n targetElement: HTMLElement,\n position: string,\n appendToBody?: boolean,\n options?: Options\n ): Data {\n const chainOfModifiers = [flip, shift, preventOverflow, arrow];\n\n return chainOfModifiers.reduce(\n (modifiedData, modifier) => modifier(modifiedData),\n initData(targetElement, hostElement, position, options)\n );\n }\n}\n\nconst positionService = new Positioning();\n\nexport function positionElements(\n hostElement: HTMLElement,\n targetElement: HTMLElement,\n placement: string,\n appendToBody?: boolean,\n options?: Options,\n renderer?: Renderer2\n): void {\n\n const data = positionService.positionElements(\n hostElement,\n targetElement,\n placement,\n appendToBody,\n options\n );\n\n const offsets = getOffsets(data);\n\n setStyles(targetElement, {\n 'will-change': 'transform',\n top: '0px',\n left: '0px',\n transform: `translate3d(${offsets.left}px, ${offsets.top}px, 0px)`\n }, renderer);\n\n if (data.instance.arrow) {\n setStyles(data.instance.arrow, data.offsets.arrow, renderer);\n }\n\n updateContainerClass(data, renderer);\n}\n","import { Injectable, ElementRef, RendererFactory2, Inject, PLATFORM_ID, NgZone } from '@angular/core';\nimport { isPlatformBrowser } from '@angular/common';\n\nimport { positionElements } from './ng-positioning';\n\nimport { fromEvent, merge, of, animationFrameScheduler, Subject, Observable } from 'rxjs';\nimport { Options } from './models';\n\n\nexport interface PositioningOptions {\n /** The DOM element, ElementRef, or a selector string of an element which will be moved */\n element?: HTMLElement | ElementRef | string;\n\n /** The DOM element, ElementRef, or a selector string of an element which the element will be attached to */\n target?: HTMLElement | ElementRef | string;\n\n /**\n * A string of the form 'vert-attachment horiz-attachment' or 'placement'\n * - placement can be \"top\", \"bottom\", \"left\", \"right\"\n * not yet supported:\n * - vert-attachment can be any of 'top', 'middle', 'bottom'\n * - horiz-attachment can be any of 'left', 'center', 'right'\n */\n attachment?: string;\n\n /** A string similar to `attachment`. The one difference is that, if it's not provided,\n * `targetAttachment` will assume the mirror image of `attachment`.\n */\n targetAttachment?: string;\n\n /** A string of the form 'vert-offset horiz-offset'\n * - vert-offset and horiz-offset can be of the form \"20px\" or \"55%\"\n */\n offset?: string;\n\n /** A string similar to `offset`, but referring to the offset of the target */\n targetOffset?: string;\n\n /** If true component will be attached to body */\n appendToBody?: boolean;\n}\n\n\n@Injectable()\nexport class PositioningService {\n private options: Options;\n private update$$ = new Subject<null>();\n private positionElements = new Map();\n private triggerEvent$: Observable<number|Event>;\n private isDisabled = false;\n\n constructor(\n ngZone: NgZone,\n rendererFactory: RendererFactory2,\n @Inject(PLATFORM_ID) platformId: number\n ) {\n\n if (isPlatformBrowser(platformId)) {\n ngZone.runOutsideAngular(() => {\n this.triggerEvent$ = merge(\n fromEvent(window, 'scroll', { passive: true }),\n fromEvent(window, 'resize', { passive: true }),\n /* tslint:disable-next-line: deprecation */\n of(0, animationFrameScheduler),\n this.update$$\n );\n\n this.triggerEvent$.subscribe(() => {\n if (this.isDisabled) {\n return;\n }\n\n this.positionElements\n /* tslint:disable-next-line: no-any */\n .forEach((positionElement: any) => {\n positionElements(\n _getHtmlElement(positionElement.target),\n _getHtmlElement(positionElement.element),\n positionElement.attachment,\n positionElement.appendToBody,\n this.options,\n rendererFactory.createRenderer(null, null)\n );\n });\n });\n });\n }\n }\n\n position(options: PositioningOptions): void {\n this.addPositionElement(options);\n }\n\n get event$(): Observable<number|Event> {\n return this.triggerEvent$;\n }\n\n disable(): void {\n this.isDisabled = true;\n }\n\n enable(): void {\n this.isDisabled = false;\n }\n\n addPositionElement(options: PositioningOptions): void {\n this.positionElements.set(_getHtmlElement(options.element), options);\n }\n\n calcPosition(): void {\n this.update$$.next();\n }\n\n deletePositionElement(elRef: ElementRef): void {\n this.positionElements.delete(_getHtmlElement(elRef));\n }\n\n setOptions(options: Options) {\n this.options = options;\n }\n}\n\nfunction _getHtmlElement(element: HTMLElement | ElementRef | string): HTMLElement {\n // it means that we got a selector\n if (typeof element === 'string') {\n return document.querySelector(element);\n }\n\n if (element instanceof ElementRef) {\n return element.nativeElement;\n }\n\n return element;\n}\n"],"names":["runIsIE"],"mappings":"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"}
|
package/positioning/package.json
CHANGED
@@ -1,6 +1,6 @@
|
|
1
1
|
{
|
2
2
|
"name": "ngx-bootstrap/positioning",
|
3
|
-
"version": "
|
3
|
+
"version": "6.2.0",
|
4
4
|
"description": "Native Angular Bootstrap Components",
|
5
5
|
"private": true,
|
6
6
|
"main": "bundles/ngx-bootstrap-positioning.umd.js",
|
@@ -14,6 +14,6 @@
|
|
14
14
|
"metadata": "ngx-bootstrap-positioning.metadata.json",
|
15
15
|
"sideEffects": false,
|
16
16
|
"peerDependencies": {
|
17
|
-
"tslib": "^1.
|
17
|
+
"tslib": "^1.10.0"
|
18
18
|
}
|
19
19
|
}
|
@@ -35,7 +35,7 @@ export declare class PositioningService {
|
|
35
35
|
private isDisabled;
|
36
36
|
constructor(ngZone: NgZone, rendererFactory: RendererFactory2, platformId: number);
|
37
37
|
position(options: PositioningOptions): void;
|
38
|
-
|
38
|
+
get event$(): Observable<number | Event>;
|
39
39
|
disable(): void;
|
40
40
|
enable(): void;
|
41
41
|
addPositionElement(options: PositioningOptions): void;
|
@@ -1,4 +1,4 @@
|
|
1
|
-
import { OnDestroy, OnInit, ElementRef, Renderer2 } from '@angular/core';
|
1
|
+
import { OnDestroy, OnInit, ElementRef, Renderer2, SimpleChanges } from '@angular/core';
|
2
2
|
import { ProgressbarComponent } from './progressbar.component';
|
3
3
|
export declare class BarComponent implements OnInit, OnDestroy {
|
4
4
|
private el;
|
@@ -8,19 +8,18 @@ export declare class BarComponent implements OnInit, OnDestroy {
|
|
8
8
|
type: string;
|
9
9
|
/** current value of progress bar */
|
10
10
|
value: number;
|
11
|
-
|
11
|
+
get setBarWidth(): number;
|
12
12
|
addClass: boolean;
|
13
|
-
|
13
|
+
get isBs3(): boolean;
|
14
14
|
striped: boolean;
|
15
15
|
animate: boolean;
|
16
16
|
percent: number;
|
17
17
|
progress: ProgressbarComponent;
|
18
|
-
protected _value: number;
|
19
|
-
protected _type: string;
|
20
18
|
private _prevType;
|
21
19
|
constructor(el: ElementRef, progress: ProgressbarComponent, renderer: Renderer2);
|
22
20
|
ngOnInit(): void;
|
23
21
|
ngOnDestroy(): void;
|
22
|
+
ngOnChanges(changes: SimpleChanges): void;
|
24
23
|
recalculatePercentage(): void;
|
25
24
|
private applyTypeClasses;
|
26
25
|
}
|