ngx-bootstrap 5.4.0 → 5.6.2
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 +138 -99
- package/accordion/bundles/ngx-bootstrap-accordion.umd.js +71 -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/fesm2015/ngx-bootstrap-accordion.js +79 -0
- package/accordion/fesm2015/ngx-bootstrap-accordion.js.map +1 -1
- package/accordion/fesm5/ngx-bootstrap-accordion.js +80 -1
- package/accordion/fesm5/ngx-bootstrap-accordion.js.map +1 -1
- package/accordion/package.json +2 -2
- package/alert/bundles/ngx-bootstrap-alert.umd.js +224 -2
- package/alert/bundles/ngx-bootstrap-alert.umd.js.map +1 -1
- package/alert/bundles/ngx-bootstrap-alert.umd.min.js +15 -1
- package/alert/bundles/ngx-bootstrap-alert.umd.min.js.map +1 -1
- package/alert/fesm2015/ngx-bootstrap-alert.js +71 -0
- package/alert/fesm2015/ngx-bootstrap-alert.js.map +1 -1
- package/alert/fesm5/ngx-bootstrap-alert.js +72 -1
- package/alert/fesm5/ngx-bootstrap-alert.js.map +1 -1
- package/alert/package.json +2 -2
- package/buttons/bundles/ngx-bootstrap-buttons.umd.js +208 -85
- 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-radio-group.directive.d.ts +4 -1
- package/buttons/esm2015/button-radio-group.directive.js +26 -2
- package/buttons/esm5/button-radio-group.directive.js +30 -2
- package/buttons/fesm2015/ngx-bootstrap-buttons.js +194 -65
- package/buttons/fesm2015/ngx-bootstrap-buttons.js.map +1 -1
- package/buttons/fesm5/ngx-bootstrap-buttons.js +216 -83
- 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 +295 -4
- package/carousel/bundles/ngx-bootstrap-carousel.umd.js.map +1 -1
- package/carousel/bundles/ngx-bootstrap-carousel.umd.min.js +15 -1
- package/carousel/bundles/ngx-bootstrap-carousel.umd.min.js.map +1 -1
- package/carousel/carousel.component.d.ts +2 -0
- package/carousel/esm2015/carousel.component.js +15 -2
- package/carousel/esm2015/slide.component.js +21 -2
- package/carousel/esm5/carousel.component.js +15 -2
- package/carousel/esm5/slide.component.js +6 -2
- package/carousel/fesm2015/ngx-bootstrap-carousel.js +169 -2
- package/carousel/fesm2015/ngx-bootstrap-carousel.js.map +1 -1
- package/carousel/fesm5/ngx-bootstrap-carousel.js +156 -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/carousel/slide.component.d.ts +1 -0
- package/chronos/bundles/ngx-bootstrap-chronos.umd.js +11172 -10061
- package/chronos/bundles/ngx-bootstrap-chronos.umd.js.map +1 -1
- package/chronos/bundles/ngx-bootstrap-chronos.umd.min.js +1 -1
- package/chronos/bundles/ngx-bootstrap-chronos.umd.min.js.map +1 -1
- package/chronos/esm2015/format/format.js +1 -1
- package/chronos/esm2015/i18n/ka.js +108 -0
- package/chronos/esm2015/i18n/kk.js +89 -0
- package/chronos/esm2015/i18n/sq.js +62 -0
- package/chronos/esm2015/i18n/th-be.js +85 -0
- package/chronos/esm2015/index.js +2 -2
- package/chronos/esm2015/locale/locale.class.js +16 -2
- package/chronos/esm2015/ngx-bootstrap-chronos.js +2 -2
- package/chronos/esm2015/public_api.js +5 -1
- package/chronos/esm2015/units/year.js +4 -1
- package/chronos/esm5/format/format.js +1 -1
- package/chronos/esm5/i18n/ka.js +108 -0
- package/chronos/esm5/i18n/kk.js +89 -0
- package/chronos/esm5/i18n/sq.js +62 -0
- package/chronos/esm5/i18n/th-be.js +86 -0
- package/chronos/esm5/index.js +2 -2
- package/chronos/esm5/locale/locale.class.js +22 -2
- package/chronos/esm5/ngx-bootstrap-chronos.js +2 -2
- package/chronos/esm5/public_api.js +5 -1
- package/chronos/esm5/units/year.js +4 -1
- package/chronos/fesm2015/ngx-bootstrap-chronos.js +1117 -13
- package/chronos/fesm2015/ngx-bootstrap-chronos.js.map +1 -1
- package/chronos/fesm5/ngx-bootstrap-chronos.js +1130 -13
- package/chronos/fesm5/ngx-bootstrap-chronos.js.map +1 -1
- package/chronos/i18n/ka.d.ts +2 -0
- package/chronos/i18n/kk.d.ts +2 -0
- package/chronos/i18n/sq.d.ts +2 -0
- package/chronos/i18n/th-be.d.ts +2 -0
- package/chronos/locale/locale.class.d.ts +2 -0
- package/chronos/ngx-bootstrap-chronos.metadata.json +1 -1
- package/chronos/package.json +2 -2
- package/chronos/public_api.d.ts +4 -0
- package/collapse/bundles/ngx-bootstrap-collapse.umd.js +100 -2
- package/collapse/bundles/ngx-bootstrap-collapse.umd.js.map +1 -1
- package/collapse/bundles/ngx-bootstrap-collapse.umd.min.js +1 -1
- package/collapse/bundles/ngx-bootstrap-collapse.umd.min.js.map +1 -1
- package/collapse/collapse.directive.d.ts +1 -0
- package/collapse/esm2015/collapse.directive.js +14 -1
- package/collapse/esm5/collapse.directive.js +14 -1
- package/collapse/fesm2015/ngx-bootstrap-collapse.js +108 -0
- package/collapse/fesm2015/ngx-bootstrap-collapse.js.map +1 -1
- package/collapse/fesm5/ngx-bootstrap-collapse.js +109 -1
- package/collapse/fesm5/ngx-bootstrap-collapse.js.map +1 -1
- package/collapse/ngx-bootstrap-collapse.metadata.json +1 -1
- package/collapse/package.json +2 -2
- package/component-loader/bundles/ngx-bootstrap-component-loader.umd.js +169 -2
- 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/fesm2015/ngx-bootstrap-component-loader.js +177 -0
- package/component-loader/fesm2015/ngx-bootstrap-component-loader.js.map +1 -1
- package/component-loader/fesm5/ngx-bootstrap-component-loader.js +178 -1
- 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 +4 -1
- package/datepicker/bs-datepicker-inline.component.d.ts +4 -0
- package/datepicker/bs-datepicker-input.directive.d.ts +1 -0
- package/datepicker/bs-datepicker.component.d.ts +12 -3
- package/datepicker/bs-datepicker.config.d.ts +26 -0
- package/datepicker/bs-datepicker.css +19 -1
- package/datepicker/bs-datepicker.css.map +3 -3
- package/datepicker/bs-datepicker.scss +0 -1
- package/datepicker/bs-daterangepicker-inline.component.d.ts +8 -0
- package/datepicker/bs-daterangepicker-input.directive.d.ts +1 -0
- package/datepicker/bs-daterangepicker.component.d.ts +16 -3
- package/datepicker/bundles/ngx-bootstrap-datepicker.umd.js +2116 -106
- package/datepicker/bundles/ngx-bootstrap-datepicker.umd.js.map +1 -1
- package/datepicker/bundles/ngx-bootstrap-datepicker.umd.min.js +15 -1
- package/datepicker/bundles/ngx-bootstrap-datepicker.umd.min.js.map +1 -1
- package/datepicker/engine/flag-days-calendar.d.ts +1 -0
- package/datepicker/esm2015/base/bs-datepicker-container.js +18 -3
- package/datepicker/esm2015/bs-datepicker-inline.component.js +25 -9
- package/datepicker/esm2015/bs-datepicker-input.directive.js +19 -1
- package/datepicker/esm2015/bs-datepicker.component.js +55 -8
- package/datepicker/esm2015/bs-datepicker.config.js +36 -2
- package/datepicker/esm2015/bs-datepicker.module.js +23 -16
- package/datepicker/esm2015/bs-daterangepicker-inline.component.js +37 -7
- package/datepicker/esm2015/bs-daterangepicker-input.directive.js +34 -3
- package/datepicker/esm2015/bs-daterangepicker.component.js +66 -9
- package/datepicker/esm2015/engine/flag-days-calendar.js +6 -3
- package/datepicker/esm2015/reducer/bs-datepicker.actions.js +14 -1
- package/datepicker/esm2015/reducer/bs-datepicker.effects.js +15 -11
- package/datepicker/esm2015/reducer/bs-datepicker.reducer.js +25 -6
- package/datepicker/esm2015/reducer/bs-datepicker.state.js +5 -1
- package/datepicker/esm2015/themes/bs/bs-custom-dates-view.component.js +46 -8
- package/datepicker/esm2015/themes/bs/bs-datepicker-container.component.js +5 -2
- package/datepicker/esm2015/themes/bs/bs-datepicker-inline-container.component.js +2 -2
- package/datepicker/esm2015/themes/bs/bs-datepicker-navigation-view.component.js +8 -7
- package/datepicker/esm2015/themes/bs/bs-daterangepicker-container.component.js +21 -3
- package/datepicker/esm2015/themes/bs/bs-daterangepicker-inline-container.component.js +2 -2
- package/datepicker/esm2015/themes/bs/bs-days-calendar-view.component.js +22 -8
- package/datepicker/esm2015/utils/bs-calendar-utils.js +18 -3
- package/datepicker/esm5/base/bs-datepicker-container.js +26 -3
- package/datepicker/esm5/bs-datepicker-inline.component.js +25 -9
- package/datepicker/esm5/bs-datepicker-input.directive.js +23 -1
- package/datepicker/esm5/bs-datepicker.component.js +59 -8
- package/datepicker/esm5/bs-datepicker.config.js +36 -2
- package/datepicker/esm5/bs-datepicker.module.js +26 -19
- package/datepicker/esm5/bs-daterangepicker-inline.component.js +37 -7
- package/datepicker/esm5/bs-daterangepicker-input.directive.js +38 -3
- package/datepicker/esm5/bs-daterangepicker.component.js +70 -9
- package/datepicker/esm5/engine/flag-days-calendar.js +6 -3
- package/datepicker/esm5/reducer/bs-datepicker.actions.js +18 -1
- package/datepicker/esm5/reducer/bs-datepicker.effects.js +21 -17
- package/datepicker/esm5/reducer/bs-datepicker.reducer.js +25 -6
- package/datepicker/esm5/reducer/bs-datepicker.state.js +5 -1
- package/datepicker/esm5/themes/bs/bs-custom-dates-view.component.js +39 -7
- package/datepicker/esm5/themes/bs/bs-datepicker-container.component.js +5 -2
- package/datepicker/esm5/themes/bs/bs-datepicker-inline-container.component.js +2 -2
- package/datepicker/esm5/themes/bs/bs-datepicker-navigation-view.component.js +2 -2
- package/datepicker/esm5/themes/bs/bs-daterangepicker-container.component.js +25 -3
- package/datepicker/esm5/themes/bs/bs-daterangepicker-inline-container.component.js +2 -2
- package/datepicker/esm5/themes/bs/bs-days-calendar-view.component.js +22 -8
- package/datepicker/esm5/utils/bs-calendar-utils.js +18 -3
- package/datepicker/fesm2015/ngx-bootstrap-datepicker.js +1958 -91
- package/datepicker/fesm2015/ngx-bootstrap-datepicker.js.map +1 -1
- package/datepicker/fesm5/ngx-bootstrap-datepicker.js +1989 -93
- package/datepicker/fesm5/ngx-bootstrap-datepicker.js.map +1 -1
- package/datepicker/ngx-bootstrap-datepicker.metadata.json +1 -1
- package/datepicker/package.json +2 -2
- package/datepicker/reducer/bs-datepicker.actions.d.ts +2 -0
- package/datepicker/reducer/bs-datepicker.effects.d.ts +3 -2
- package/datepicker/reducer/bs-datepicker.state.d.ts +2 -0
- package/datepicker/themes/bs/bs-custom-dates-view.component.d.ts +6 -1
- package/datepicker/themes/bs/bs-daterangepicker-container.component.d.ts +3 -0
- package/datepicker/utils/bs-calendar-utils.d.ts +1 -0
- package/datepicker/utils/scss/mixins.css.map +1 -1
- package/datepicker/utils/scss/mixins.scss +9 -0
- package/dropdown/bundles/ngx-bootstrap-dropdown.umd.js +395 -5
- package/dropdown/bundles/ngx-bootstrap-dropdown.umd.js.map +1 -1
- package/dropdown/bundles/ngx-bootstrap-dropdown.umd.min.js +15 -1
- package/dropdown/bundles/ngx-bootstrap-dropdown.umd.min.js.map +1 -1
- package/dropdown/esm2015/bs-dropdown-container.component.js +2 -2
- package/dropdown/esm2015/bs-dropdown.directive.js +8 -3
- package/dropdown/esm5/bs-dropdown-container.component.js +2 -2
- package/dropdown/esm5/bs-dropdown.directive.js +9 -3
- package/dropdown/fesm2015/ngx-bootstrap-dropdown.js +241 -3
- package/dropdown/fesm2015/ngx-bootstrap-dropdown.js.map +1 -1
- package/dropdown/fesm5/ngx-bootstrap-dropdown.js +242 -3
- 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/bundles/ngx-bootstrap-locale.umd.js +36 -2
- package/locale/bundles/ngx-bootstrap-locale.umd.js.map +1 -1
- package/locale/bundles/ngx-bootstrap-locale.umd.min.js +1 -1
- package/locale/esm2015/ngx-bootstrap-locale.js +2 -2
- package/locale/esm2015/public_api.js +5 -1
- package/locale/esm5/ngx-bootstrap-locale.js +2 -2
- package/locale/esm5/public_api.js +5 -1
- package/locale/fesm2015/ngx-bootstrap-locale.js +11 -1
- package/locale/fesm2015/ngx-bootstrap-locale.js.map +1 -1
- package/locale/fesm5/ngx-bootstrap-locale.js +11 -1
- package/locale/fesm5/ngx-bootstrap-locale.js.map +1 -1
- package/locale/ngx-bootstrap-locale.metadata.json +1 -1
- package/locale/package.json +2 -2
- package/locale/public_api.d.ts +4 -0
- package/mini-ngrx/bundles/ngx-bootstrap-mini-ngrx.umd.js +187 -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 +15 -1
- package/mini-ngrx/bundles/ngx-bootstrap-mini-ngrx.umd.min.js.map +1 -1
- package/mini-ngrx/fesm2015/ngx-bootstrap-mini-ngrx.js +32 -0
- package/mini-ngrx/fesm2015/ngx-bootstrap-mini-ngrx.js.map +1 -1
- package/mini-ngrx/fesm5/ngx-bootstrap-mini-ngrx.js +32 -0
- package/mini-ngrx/fesm5/ngx-bootstrap-mini-ngrx.js.map +1 -1
- package/mini-ngrx/package.json +2 -2
- package/modal/bs-modal.service.d.ts +1 -2
- package/modal/bundles/ngx-bootstrap-modal.umd.js +558 -16
- package/modal/bundles/ngx-bootstrap-modal.umd.js.map +1 -1
- package/modal/bundles/ngx-bootstrap-modal.umd.min.js +15 -1
- package/modal/bundles/ngx-bootstrap-modal.umd.min.js.map +1 -1
- package/modal/esm2015/bs-modal.service.js +13 -4
- package/modal/esm2015/modal-container.component.js +24 -5
- package/modal/esm2015/modal-options.class.js +16 -1
- package/modal/esm2015/modal.directive.js +21 -4
- package/modal/esm2015/modal.module.js +10 -1
- package/modal/esm5/bs-modal.service.js +28 -8
- package/modal/esm5/modal-container.component.js +28 -5
- package/modal/esm5/modal-options.class.js +16 -1
- package/modal/esm5/modal.directive.js +25 -4
- package/modal/esm5/modal.module.js +13 -1
- package/modal/fesm2015/ngx-bootstrap-modal.js +354 -10
- package/modal/fesm2015/ngx-bootstrap-modal.js.map +1 -1
- package/modal/fesm5/ngx-bootstrap-modal.js +381 -15
- package/modal/fesm5/ngx-bootstrap-modal.js.map +1 -1
- package/modal/modal-container.component.d.ts +3 -1
- package/modal/modal-options.class.d.ts +13 -0
- package/modal/modal.directive.d.ts +3 -1
- package/modal/modal.module.d.ts +1 -0
- package/modal/ngx-bootstrap-modal.metadata.json +1 -1
- package/modal/package.json +2 -2
- package/package.json +2 -2
- package/pagination/bundles/ngx-bootstrap-pagination.umd.js +276 -4
- 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/models/index.js +49 -4
- package/pagination/esm2015/pager.component.js +2 -2
- package/pagination/esm2015/pagination.component.js +33 -3
- package/pagination/esm2015/public_api.js +1 -1
- package/pagination/esm5/models/index.js +49 -4
- package/pagination/esm5/pager.component.js +2 -2
- package/pagination/esm5/pagination.component.js +33 -3
- package/pagination/esm5/public_api.js +1 -1
- package/pagination/fesm2015/ngx-bootstrap-pagination.js +284 -2
- package/pagination/fesm2015/ngx-bootstrap-pagination.js.map +1 -1
- package/pagination/fesm5/ngx-bootstrap-pagination.js +285 -3
- package/pagination/fesm5/ngx-bootstrap-pagination.js.map +1 -1
- package/pagination/models/index.d.ts +28 -0
- package/pagination/ngx-bootstrap-pagination.metadata.json +1 -1
- package/pagination/package.json +2 -2
- package/pagination/pagination.component.d.ts +12 -2
- package/pagination/public_api.d.ts +1 -0
- package/popover/bundles/ngx-bootstrap-popover.umd.js +215 -20
- 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.config.js +10 -1
- package/popover/esm2015/popover.directive.js +97 -16
- package/popover/esm5/popover.config.js +10 -1
- package/popover/esm5/popover.directive.js +98 -16
- package/popover/fesm2015/ngx-bootstrap-popover.js +221 -16
- package/popover/fesm2015/ngx-bootstrap-popover.js.map +1 -1
- package/popover/fesm5/ngx-bootstrap-popover.js +222 -16
- 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.config.d.ts +2 -0
- package/popover/popover.directive.d.ts +9 -1
- package/positioning/bundles/ngx-bootstrap-positioning.umd.js +286 -13
- package/positioning/bundles/ngx-bootstrap-positioning.umd.js.map +1 -1
- package/positioning/bundles/ngx-bootstrap-positioning.umd.min.js +15 -1
- package/positioning/bundles/ngx-bootstrap-positioning.umd.min.js.map +1 -1
- package/positioning/esm2015/modifiers/arrow.js +19 -5
- package/positioning/esm2015/modifiers/initData.js +12 -2
- package/positioning/esm2015/modifiers/shift.js +6 -4
- package/positioning/esm5/modifiers/arrow.js +19 -5
- package/positioning/esm5/modifiers/initData.js +12 -2
- package/positioning/esm5/modifiers/shift.js +8 -6
- package/positioning/fesm2015/ngx-bootstrap-positioning.js +128 -8
- package/positioning/fesm2015/ngx-bootstrap-positioning.js.map +1 -1
- package/positioning/fesm5/ngx-bootstrap-positioning.js +132 -10
- package/positioning/fesm5/ngx-bootstrap-positioning.js.map +1 -1
- package/positioning/package.json +2 -2
- package/progressbar/bundles/ngx-bootstrap-progressbar.umd.js +77 -2
- 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/fesm2015/ngx-bootstrap-progressbar.js +85 -0
- package/progressbar/fesm2015/ngx-bootstrap-progressbar.js.map +1 -1
- package/progressbar/fesm5/ngx-bootstrap-progressbar.js +85 -0
- package/progressbar/fesm5/ngx-bootstrap-progressbar.js.map +1 -1
- package/progressbar/package.json +2 -2
- package/rating/bundles/ngx-bootstrap-rating.umd.js +92 -7
- 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/ngx-bootstrap-rating.js +2 -2
- package/rating/esm2015/public_api.js +2 -1
- package/rating/esm2015/rating.component.js +14 -5
- package/rating/esm2015/rating.config.js +27 -0
- package/rating/esm2015/rating.module.js +3 -2
- package/rating/esm5/ngx-bootstrap-rating.js +2 -2
- package/rating/esm5/public_api.js +2 -1
- package/rating/esm5/rating.component.js +13 -5
- package/rating/esm5/rating.config.js +29 -0
- package/rating/esm5/rating.module.js +3 -2
- package/rating/fesm2015/ngx-bootstrap-rating.js +101 -7
- package/rating/fesm2015/ngx-bootstrap-rating.js.map +1 -1
- package/rating/fesm5/ngx-bootstrap-rating.js +101 -7
- 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/public_api.d.ts +1 -0
- package/rating/rating.component.d.ts +4 -1
- package/rating/rating.config.d.ts +5 -0
- package/sortable/bundles/ngx-bootstrap-sortable.umd.js +254 -2
- package/sortable/bundles/ngx-bootstrap-sortable.umd.js.map +1 -1
- package/sortable/bundles/ngx-bootstrap-sortable.umd.min.js +15 -1
- package/sortable/bundles/ngx-bootstrap-sortable.umd.min.js.map +1 -1
- package/sortable/fesm2015/ngx-bootstrap-sortable.js +113 -0
- package/sortable/fesm2015/ngx-bootstrap-sortable.js.map +1 -1
- package/sortable/fesm5/ngx-bootstrap-sortable.js +114 -1
- package/sortable/fesm5/ngx-bootstrap-sortable.js.map +1 -1
- package/sortable/package.json +2 -2
- package/tabs/bundles/ngx-bootstrap-tabs.umd.js +153 -4
- 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 +13 -2
- package/tabs/esm2015/tabset.component.js +7 -2
- package/tabs/esm2015/tabset.config.js +10 -1
- package/tabs/esm5/tab.directive.js +17 -2
- package/tabs/esm5/tabset.component.js +7 -2
- package/tabs/esm5/tabset.config.js +10 -1
- package/tabs/fesm2015/ngx-bootstrap-tabs.js +157 -2
- package/tabs/fesm2015/ngx-bootstrap-tabs.js.map +1 -1
- package/tabs/fesm5/ngx-bootstrap-tabs.js +162 -3
- package/tabs/fesm5/ngx-bootstrap-tabs.js.map +1 -1
- package/tabs/ngx-bootstrap-tabs.metadata.json +1 -1
- package/tabs/package.json +2 -2
- package/tabs/tab.directive.d.ts +2 -0
- package/tabs/tabset.component.d.ts +2 -0
- package/tabs/tabset.config.d.ts +2 -0
- package/timepicker/bundles/ngx-bootstrap-timepicker.umd.js +464 -8
- package/timepicker/bundles/ngx-bootstrap-timepicker.umd.js.map +1 -1
- package/timepicker/bundles/ngx-bootstrap-timepicker.umd.min.js +15 -1
- package/timepicker/bundles/ngx-bootstrap-timepicker.umd.min.js.map +1 -1
- package/timepicker/esm2015/timepicker.component.js +8 -2
- package/timepicker/esm2015/timepicker.config.js +28 -1
- package/timepicker/esm2015/timepicker.utils.js +9 -6
- package/timepicker/esm5/timepicker.component.js +8 -2
- package/timepicker/esm5/timepicker.config.js +28 -1
- package/timepicker/esm5/timepicker.utils.js +9 -6
- package/timepicker/fesm2015/ngx-bootstrap-timepicker.js +311 -6
- package/timepicker/fesm2015/ngx-bootstrap-timepicker.js.map +1 -1
- package/timepicker/fesm5/ngx-bootstrap-timepicker.js +315 -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 -0
- package/timepicker/timepicker.config.d.ts +6 -0
- package/tooltip/bundles/ngx-bootstrap-tooltip.umd.js +355 -8
- package/tooltip/bundles/ngx-bootstrap-tooltip.umd.js.map +1 -1
- package/tooltip/bundles/ngx-bootstrap-tooltip.umd.min.js +15 -1
- package/tooltip/bundles/ngx-bootstrap-tooltip.umd.min.js.map +1 -1
- package/tooltip/esm2015/tooltip.directive.js +47 -10
- package/tooltip/esm5/tooltip.directive.js +50 -10
- package/tooltip/fesm2015/ngx-bootstrap-tooltip.js +200 -7
- package/tooltip/fesm2015/ngx-bootstrap-tooltip.js.map +1 -1
- package/tooltip/fesm5/ngx-bootstrap-tooltip.js +203 -7
- 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.directive.d.ts +3 -1
- package/typeahead/bundles/ngx-bootstrap-typeahead.umd.js +719 -43
- package/typeahead/bundles/ngx-bootstrap-typeahead.umd.js.map +1 -1
- package/typeahead/bundles/ngx-bootstrap-typeahead.umd.min.js +15 -1
- package/typeahead/bundles/ngx-bootstrap-typeahead.umd.min.js.map +1 -1
- package/typeahead/esm2015/models/index.js +87 -0
- package/typeahead/esm2015/ngx-bootstrap-typeahead.js +2 -2
- package/typeahead/esm2015/public_api.js +2 -1
- package/typeahead/esm2015/typeahead-container.component.js +52 -11
- package/typeahead/esm2015/typeahead-order.class.js +19 -0
- package/typeahead/esm2015/typeahead.config.js +10 -1
- package/typeahead/esm2015/typeahead.directive.js +133 -30
- package/typeahead/esm5/models/index.js +87 -0
- package/typeahead/esm5/ngx-bootstrap-typeahead.js +2 -2
- package/typeahead/esm5/public_api.js +2 -1
- package/typeahead/esm5/typeahead-container.component.js +59 -11
- package/typeahead/esm5/typeahead-order.class.js +23 -0
- package/typeahead/esm5/typeahead.config.js +10 -1
- package/typeahead/esm5/typeahead.directive.js +140 -36
- package/typeahead/fesm2015/ngx-bootstrap-typeahead.js +550 -37
- package/typeahead/fesm2015/ngx-bootstrap-typeahead.js.map +1 -1
- package/typeahead/fesm5/ngx-bootstrap-typeahead.js +567 -43
- package/typeahead/fesm5/ngx-bootstrap-typeahead.js.map +1 -1
- package/typeahead/models/index.d.ts +41 -0
- package/typeahead/ngx-bootstrap-typeahead.metadata.json +1 -1
- package/typeahead/package.json +2 -2
- package/typeahead/public_api.d.ts +2 -0
- package/typeahead/typeahead-container.component.d.ts +10 -5
- package/typeahead/typeahead-order.class.d.ts +6 -0
- package/typeahead/typeahead.config.d.ts +2 -0
- package/typeahead/typeahead.directive.d.ts +28 -10
- package/utils/bundles/ngx-bootstrap-utils.umd.js +54 -2
- package/utils/bundles/ngx-bootstrap-utils.umd.js.map +1 -1
- package/utils/bundles/ngx-bootstrap-utils.umd.min.js +2 -2
- package/utils/bundles/ngx-bootstrap-utils.umd.min.js.map +1 -1
- package/utils/fesm2015/ngx-bootstrap-utils.js +62 -0
- package/utils/fesm2015/ngx-bootstrap-utils.js.map +1 -1
- package/utils/fesm5/ngx-bootstrap-utils.js +62 -0
- package/utils/fesm5/ngx-bootstrap-utils.js.map +1 -1
- package/utils/package.json +2 -2
- package/bundles/ngx-bootstrap.umd.js +0 -1037
- package/bundles/ngx-bootstrap.umd.js.map +0 -1
- package/bundles/ngx-bootstrap.umd.min.js +0 -2
- package/bundles/ngx-bootstrap.umd.min.js.map +0 -1
- package/esm2015/ngx-bootstrap.js +0 -9
- package/esm2015/public_api.js +0 -30
- package/esm5/ngx-bootstrap.js +0 -9
- package/esm5/public_api.js +0 -30
- package/fesm2015/ngx-bootstrap.js +0 -24
- package/fesm2015/ngx-bootstrap.js.map +0 -1
- package/fesm5/ngx-bootstrap.js +0 -24
- package/fesm5/ngx-bootstrap.js.map +0 -1
- package/ngx-bootstrap.d.ts +0 -4
- package/ngx-bootstrap.metadata.json +0 -1
- package/public_api.d.ts +0 -25
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"sources":["ng://ngx-bootstrap/modal/bs-modal-ref.service.ts","ng://ngx-bootstrap/modal/modal-backdrop.options.ts","ng://ngx-bootstrap/modal/modal-options.class.ts","ng://ngx-bootstrap/modal/modal-container.component.ts","ng://ngx-bootstrap/modal/modal-backdrop.component.ts","ng://ngx-bootstrap/modal/modal.directive.ts","ng://ngx-bootstrap/modal/bs-modal.service.ts","ng://ngx-bootstrap/modal/modal.module.ts"],"names":["BsModalRef","this","hide","Function","setClass","Injectable","ModalBackdropOptions","options","animate","Object","assign","ModalOptions","modalConfigDefaults","backdrop","keyboard","focus","show","ignoreBackdropClick","class","animated","initialState","CLASS_NAME","SCROLLBAR_MEASURER","BACKDROP","OPEN","FADE","IN","SHOW","TRANSITION_DURATIONS","DISMISS_REASONS","ModalContainerComponent","_element","_renderer","isShown","isModalHiding","config","prototype","ngOnInit","_this","isAnimated","addClass","nativeElement","setStyle","setTimeout","isBs3","document","body","bsModalService","getModalsCount","checkScrollbar","setScrollbar","onClick","event","target","setDismissReason","onEsc","keyCode","key","preventDefault","level","ngOnDestroy","removeClass","Component","args","selector","template","host","role","tabindex","[attr.aria-modal]","ElementRef","Renderer2","HostListener","ModalBackdropComponent","element","renderer","_isShown","defineProperty","_isAnimated","value","Utils","reflow","ModalDirective","_viewContainerRef","clf","onShow","EventEmitter","onShown","onHide","onHidden","isBodyOverflowing","originalBodyPadding","scrollbarWidth","timerHideModal","timerRmBackDrop","isNested","_backdrop","createLoader","_config","conf","getConfig","dismissReason","hideModal","dispose","toggle","emit","clearTimeout","classList","contains","showBackdrop","showElement","window","parentNode","nodeType","Node","ELEMENT_NODE","appendChild","setAttribute","setProperty","transitionComplete","resetScrollbar","resetAdjustments","focusOtherModal","callback","instance","callbackRemove","removeBackdrop","attach","to","_componentRef","parentElement","otherOpenedModals","querySelectorAll","length","clientWidth","innerWidth","getScrollbarWidth","parseInt","getComputedStyle","getPropertyValue","style","paddingRight","scrollDiv","createElement","offsetWidth","removeChild","Directive","exportAs","ViewContainerRef","ComponentLoaderFactory","Input","Output","BsModalService","rendererFactory","modalsCount","lastDismissReason","loaders","_backdropLoader","createRenderer","content","_createLoaders","_showBackdrop","_showModal","_hideBackdrop","_hideModal","removeLoaders","isBackdropEnabled","isBackdropInDOM","backdropRef","duration","modalLoader","bsModalRef","modalContainerRef","provide","useValue","getInnerComponent","newClass","reason","loader","copyEvent","onBeforeShow","onBeforeHide","push","splice","forEach","i","from","subscribe","RendererFactory2","ModalModule","forRoot","ngModule","providers","PositioningService","NgModule","declarations","exports","entryComponents"],"mappings":"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","sourcesContent":["import { Injectable } from '@angular/core';\n\n@Injectable()\nexport class BsModalRef {\n /**\n * Reference to a component inside the modal. Null if modal's been created with TemplateRef\n */\n // tslint:disable-next-line:no-any\n content?: any | null;\n\n /**\n * Hides the modal\n */\n hide: () => void = Function;\n /**\n * Sets new class to modal window\n */\n setClass: (newClass: string) => void = Function;\n}\n","export class ModalBackdropOptions {\n animate = true;\n\n constructor(options: ModalBackdropOptions) {\n Object.assign(this, options);\n }\n}\n","import { Injectable } from '@angular/core';\nimport { ClassName, DismissReasons, Selector, TransitionDurations } from './models';\n\n@Injectable()\nexport class ModalOptions {\n /**\n * Includes a modal-backdrop element. Alternatively,\n * specify static for a backdrop which doesn't close the modal on click.\n */\n backdrop?: boolean | 'static';\n /**\n * Closes the modal when escape key is pressed.\n */\n keyboard?: boolean;\n\n focus?: boolean;\n /**\n * Shows the modal when initialized.\n */\n show?: boolean;\n /**\n * Ignore the backdrop click\n */\n ignoreBackdropClick?: boolean;\n /**\n * Css class for opened modal\n */\n class?: string;\n /**\n * Toggle animation\n */\n animated?: boolean;\n /**\n * Modal data\n */\n initialState?: Object;\n}\n\n\nexport const modalConfigDefaults: ModalOptions = {\n backdrop: true,\n keyboard: true,\n focus: true,\n show: false,\n ignoreBackdropClick: false,\n class: '',\n animated: true,\n initialState: {}\n};\n\nexport const CLASS_NAME: ClassName = {\n SCROLLBAR_MEASURER: 'modal-scrollbar-measure',\n BACKDROP: 'modal-backdrop',\n OPEN: 'modal-open',\n FADE: 'fade',\n IN: 'in', // bs3\n SHOW: 'show' // bs4\n};\n\nexport const SELECTOR: Selector = {\n DIALOG: '.modal-dialog',\n DATA_TOGGLE: '[data-toggle=\"modal\"]',\n DATA_DISMISS: '[data-dismiss=\"modal\"]',\n FIXED_CONTENT: '.navbar-fixed-top, .navbar-fixed-bottom, .is-fixed'\n};\n\nexport const TRANSITION_DURATIONS: TransitionDurations = {\n MODAL: 300,\n BACKDROP: 150\n};\n\nexport const DISMISS_REASONS: DismissReasons = {\n BACKRDOP: 'backdrop-click',\n ESC: 'esc'\n};\n","import {\n Component,\n ElementRef,\n HostListener,\n OnDestroy,\n OnInit,\n Renderer2\n} from '@angular/core';\nimport {\n CLASS_NAME,\n DISMISS_REASONS,\n ModalOptions,\n TRANSITION_DURATIONS\n} from './modal-options.class';\nimport { BsModalService } from './bs-modal.service';\nimport { isBs3 } from 'ngx-bootstrap/utils';\n\n@Component({\n selector: 'modal-container',\n template: `\n <div [class]=\"'modal-dialog' + (config.class ? ' ' + config.class : '')\" role=\"document\">\n <div class=\"modal-content\">\n <ng-content></ng-content>\n </div>\n </div>\n `,\n host: {\n class: 'modal',\n role: 'dialog',\n tabindex: '-1',\n '[attr.aria-modal]': 'true'\n }\n})\nexport class ModalContainerComponent implements OnInit, OnDestroy {\n config: ModalOptions;\n isShown = false;\n level: number;\n isAnimated: boolean;\n bsModalService: BsModalService;\n private isModalHiding = false;\n\n constructor(options: ModalOptions,\n protected _element: ElementRef,\n private _renderer: Renderer2) {\n this.config = Object.assign({}, options);\n }\n\n ngOnInit(): void {\n if (this.isAnimated) {\n this._renderer.addClass(\n this._element.nativeElement,\n CLASS_NAME.FADE\n );\n }\n this._renderer.setStyle(\n this._element.nativeElement,\n 'display',\n 'block'\n );\n setTimeout(() => {\n this.isShown = true;\n this._renderer.addClass(\n this._element.nativeElement,\n isBs3() ? CLASS_NAME.IN : CLASS_NAME.SHOW\n );\n }, this.isAnimated ? TRANSITION_DURATIONS.BACKDROP : 0);\n if (document && document.body) {\n if (this.bsModalService.getModalsCount() === 1) {\n this.bsModalService.checkScrollbar();\n this.bsModalService.setScrollbar();\n }\n this._renderer.addClass(document.body, CLASS_NAME.OPEN);\n }\n if (this._element.nativeElement) {\n this._element.nativeElement.focus();\n }\n }\n\n @HostListener('click', ['$event'])\n onClick(event: MouseEvent): void {\n if (\n this.config.ignoreBackdropClick ||\n this.config.backdrop === 'static' ||\n event.target !== this._element.nativeElement\n ) {\n return;\n }\n this.bsModalService.setDismissReason(DISMISS_REASONS.BACKRDOP);\n this.hide();\n }\n\n @HostListener('window:keydown.esc', ['$event'])\n onEsc(event: KeyboardEvent): void {\n if (!this.isShown) {\n return;\n }\n\n // tslint:disable-next-line:deprecation\n if (event.keyCode === 27 || event.key === 'Escape') {\n event.preventDefault();\n }\n\n if (\n this.config.keyboard &&\n this.level === this.bsModalService.getModalsCount()\n ) {\n this.bsModalService.setDismissReason(DISMISS_REASONS.ESC);\n this.hide();\n }\n }\n\n ngOnDestroy(): void {\n if (this.isShown) {\n this.hide();\n }\n }\n\n hide(): void {\n if (this.isModalHiding || !this.isShown) {\n return;\n }\n this.isModalHiding = true;\n this._renderer.removeClass(\n this._element.nativeElement,\n isBs3() ? CLASS_NAME.IN : CLASS_NAME.SHOW\n );\n setTimeout(() => {\n this.isShown = false;\n if (\n document &&\n document.body &&\n this.bsModalService.getModalsCount() === 1\n ) {\n this._renderer.removeClass(document.body, CLASS_NAME.OPEN);\n }\n this.bsModalService.hide(this.level);\n this.isModalHiding = false;\n }, this.isAnimated ? TRANSITION_DURATIONS.MODAL : 0);\n }\n}\n","import { Component, ElementRef, OnInit, Renderer2 } from '@angular/core';\n\nimport { CLASS_NAME } from './modal-options.class';\nimport { isBs3, Utils } from 'ngx-bootstrap/utils';\n\n\n/** This component will be added as background layout for modals if enabled */\n@Component({\n selector: 'bs-modal-backdrop',\n template: ' ',\n host: { class: CLASS_NAME.BACKDROP }\n})\nexport class ModalBackdropComponent implements OnInit {\n get isAnimated(): boolean {\n return this._isAnimated;\n }\n\n set isAnimated(value: boolean) {\n this._isAnimated = value;\n // this.renderer.setElementClass(this.element.nativeElement, `${ClassName.FADE}`, value);\n }\n\n get isShown(): boolean {\n return this._isShown;\n }\n\n set isShown(value: boolean) {\n this._isShown = value;\n if (value) {\n this.renderer.addClass(\n this.element.nativeElement,\n `${CLASS_NAME.IN}`\n );\n } else {\n this.renderer.removeClass(\n this.element.nativeElement,\n `${CLASS_NAME.IN}`\n );\n }\n if (!isBs3()) {\n if (value) {\n this.renderer.addClass(\n this.element.nativeElement,\n `${CLASS_NAME.SHOW}`\n );\n } else {\n this.renderer.removeClass(\n this.element.nativeElement,\n `${CLASS_NAME.SHOW}`\n );\n }\n }\n }\n\n element: ElementRef;\n renderer: Renderer2;\n\n protected _isAnimated: boolean;\n protected _isShown = false;\n\n constructor(element: ElementRef, renderer: Renderer2) {\n this.element = element;\n this.renderer = renderer;\n }\n\n ngOnInit(): void {\n if (this.isAnimated) {\n this.renderer.addClass(\n this.element.nativeElement,\n `${CLASS_NAME.FADE}`\n );\n Utils.reflow(this.element.nativeElement);\n }\n this.isShown = true;\n }\n}\n","/* tslint:disable:max-file-line-count */\n// todo: should we support enforce focus in?\n// todo: in original bs there are was a way to prevent modal from showing\n// todo: original modal had resize events\n\nimport {\n ComponentRef, Directive, ElementRef, EventEmitter, HostListener, Input,\n OnDestroy, OnInit, Output, Renderer2, ViewContainerRef\n} from '@angular/core';\n\nimport { document, window, isBs3, Utils } from 'ngx-bootstrap/utils';\nimport { ModalBackdropComponent } from './modal-backdrop.component';\nimport {\n CLASS_NAME, DISMISS_REASONS, modalConfigDefaults, ModalOptions\n} from './modal-options.class';\nimport { ComponentLoader, ComponentLoaderFactory } from 'ngx-bootstrap/component-loader';\n\nconst TRANSITION_DURATION = 300;\nconst BACKDROP_TRANSITION_DURATION = 150;\n\n/** Mark any code with directive to show it's content in modal */\n@Directive({\n selector: '[bsModal]',\n exportAs: 'bs-modal'\n})\nexport class ModalDirective implements OnDestroy, OnInit {\n /** allows to set modal configuration via element property */\n @Input()\n set config(conf: ModalOptions) {\n this._config = this.getConfig(conf);\n }\n\n get config(): ModalOptions {\n return this._config;\n }\n\n /** This event fires immediately when the `show` instance method is called. */\n @Output()\n onShow: EventEmitter<ModalDirective> = new EventEmitter<ModalDirective>();\n /** This event is fired when the modal has been made visible to the user\n * (will wait for CSS transitions to complete)\n */\n @Output()\n onShown: EventEmitter<ModalDirective> = new EventEmitter<ModalDirective>();\n /** This event is fired immediately when\n * the hide instance method has been called.\n */\n @Output()\n onHide: EventEmitter<ModalDirective> = new EventEmitter<ModalDirective>();\n /** This event is fired when the modal has finished being\n * hidden from the user (will wait for CSS transitions to complete).\n */\n @Output()\n onHidden: EventEmitter<ModalDirective> = new EventEmitter<ModalDirective>();\n\n /** This field contains last dismiss reason.\n * Possible values: `backdrop-click`, `esc` and `null`\n * (if modal was closed by direct call of `.hide()`).\n */\n dismissReason: string;\n\n get isShown(): boolean {\n return this._isShown;\n }\n\n protected _config: ModalOptions;\n protected _isShown = false;\n\n protected isBodyOverflowing = false;\n protected originalBodyPadding = 0;\n protected scrollbarWidth = 0;\n\n protected timerHideModal = 0;\n protected timerRmBackDrop = 0;\n\n // reference to backdrop component\n protected backdrop: ComponentRef<ModalBackdropComponent>;\n private _backdrop: ComponentLoader<ModalBackdropComponent>;\n\n private isNested = false;\n\n constructor(private _element: ElementRef,\n _viewContainerRef: ViewContainerRef,\n private _renderer: Renderer2,\n clf: ComponentLoaderFactory) {\n this._backdrop = clf.createLoader<ModalBackdropComponent>(\n _element,\n _viewContainerRef,\n _renderer\n );\n }\n\n @HostListener('click', ['$event'])\n onClick(event: MouseEvent): void {\n if (\n this.config.ignoreBackdropClick ||\n this.config.backdrop === 'static' ||\n event.target !== this._element.nativeElement\n ) {\n return;\n }\n this.dismissReason = DISMISS_REASONS.BACKRDOP;\n this.hide(event);\n }\n\n // todo: consider preventing default and stopping propagation\n @HostListener('keydown.esc', ['$event'])\n onEsc(event: KeyboardEvent): void {\n if (!this._isShown) {\n return;\n }\n // tslint:disable-next-line:deprecation\n if (event.keyCode === 27 || event.key === 'Escape') {\n event.preventDefault();\n }\n\n if (this.config.keyboard) {\n this.dismissReason = DISMISS_REASONS.ESC;\n this.hide();\n }\n }\n\n ngOnDestroy() {\n this.config = void 0;\n if (this._isShown) {\n this._isShown = false;\n this.hideModal();\n this._backdrop.dispose();\n }\n }\n\n ngOnInit(): void {\n this._config = this._config || this.getConfig();\n setTimeout(() => {\n if (this._config.show) {\n this.show();\n }\n }, 0);\n }\n\n /* Public methods */\n\n /** Allows to manually toggle modal visibility */\n toggle(): void {\n return this._isShown ? this.hide() : this.show();\n }\n\n /** Allows to manually open modal */\n show(): void {\n this.dismissReason = null;\n this.onShow.emit(this);\n if (this._isShown) {\n return;\n }\n clearTimeout(this.timerHideModal);\n clearTimeout(this.timerRmBackDrop);\n\n this._isShown = true;\n\n this.checkScrollbar();\n this.setScrollbar();\n\n if (document && document.body) {\n if (document.body.classList.contains(CLASS_NAME.OPEN)) {\n this.isNested = true;\n } else {\n this._renderer.addClass(document.body, CLASS_NAME.OPEN);\n }\n }\n\n this.showBackdrop(() => {\n this.showElement();\n });\n }\n\n /** Allows to manually close modal */\n hide(event?: Event): void {\n if (event) {\n event.preventDefault();\n }\n\n this.onHide.emit(this);\n\n // todo: add an option to prevent hiding\n if (!this._isShown) {\n return;\n }\n\n window.clearTimeout(this.timerHideModal);\n window.clearTimeout(this.timerRmBackDrop);\n\n this._isShown = false;\n this._renderer.removeClass(this._element.nativeElement, CLASS_NAME.IN);\n if (!isBs3()) {\n this._renderer.removeClass(this._element.nativeElement, CLASS_NAME.SHOW);\n }\n // this._addClassIn = false;\n\n if (this._config.animated) {\n this.timerHideModal = window.setTimeout(\n () => this.hideModal(),\n TRANSITION_DURATION\n );\n } else {\n this.hideModal();\n }\n }\n\n /** Private methods @internal */\n protected getConfig(config?: ModalOptions): ModalOptions {\n return Object.assign({}, modalConfigDefaults, config);\n }\n\n /**\n * Show dialog\n * @internal\n */\n protected showElement(): void {\n // todo: replace this with component loader usage\n if (\n !this._element.nativeElement.parentNode ||\n this._element.nativeElement.parentNode.nodeType !== Node.ELEMENT_NODE\n ) {\n // don't move modals dom position\n if (document && document.body) {\n document.body.appendChild(this._element.nativeElement);\n }\n }\n\n this._renderer.setAttribute(\n this._element.nativeElement,\n 'aria-hidden',\n 'false'\n );\n this._renderer.setAttribute(\n this._element.nativeElement,\n 'aria-modal',\n 'true'\n );\n this._renderer.setStyle(\n this._element.nativeElement,\n 'display',\n 'block'\n );\n this._renderer.setProperty(\n this._element.nativeElement,\n 'scrollTop',\n 0\n );\n\n if (this._config.animated) {\n Utils.reflow(this._element.nativeElement);\n }\n\n // this._addClassIn = true;\n this._renderer.addClass(this._element.nativeElement, CLASS_NAME.IN);\n if (!isBs3()) {\n this._renderer.addClass(this._element.nativeElement, CLASS_NAME.SHOW);\n }\n\n const transitionComplete = () => {\n if (this._config.focus) {\n this._element.nativeElement.focus();\n }\n this.onShown.emit(this);\n };\n\n if (this._config.animated) {\n setTimeout(transitionComplete, TRANSITION_DURATION);\n } else {\n transitionComplete();\n }\n }\n\n /** @internal */\n protected hideModal(): void {\n this._renderer.setAttribute(\n this._element.nativeElement,\n 'aria-hidden',\n 'true'\n );\n this._renderer.setStyle(\n this._element.nativeElement,\n 'display',\n 'none'\n );\n this.showBackdrop(() => {\n if (!this.isNested) {\n if (document && document.body) {\n this._renderer.removeClass(document.body, CLASS_NAME.OPEN);\n }\n this.resetScrollbar();\n }\n this.resetAdjustments();\n this.focusOtherModal();\n this.onHidden.emit(this);\n });\n }\n\n // todo: original show was calling a callback when done, but we can use\n // promise\n /** @internal */\n protected showBackdrop(callback?: Function): void {\n if (\n this._isShown &&\n this.config.backdrop &&\n (!this.backdrop || !this.backdrop.instance.isShown)\n ) {\n this.removeBackdrop();\n this._backdrop\n .attach(ModalBackdropComponent)\n .to('body')\n .show({isAnimated: this._config.animated});\n this.backdrop = this._backdrop._componentRef;\n\n if (!callback) {\n return;\n }\n\n if (!this._config.animated) {\n callback();\n\n return;\n }\n\n setTimeout(callback, BACKDROP_TRANSITION_DURATION);\n } else if (!this._isShown && this.backdrop) {\n this.backdrop.instance.isShown = false;\n\n const callbackRemove = () => {\n this.removeBackdrop();\n if (callback) {\n callback();\n }\n };\n\n if (this.backdrop.instance.isAnimated) {\n this.timerRmBackDrop = window.setTimeout(\n callbackRemove,\n BACKDROP_TRANSITION_DURATION\n );\n } else {\n callbackRemove();\n }\n } else if (callback) {\n callback();\n }\n }\n\n /** @internal */\n protected removeBackdrop(): void {\n this._backdrop.hide();\n }\n\n /** Events tricks */\n\n // no need for it\n // protected setEscapeEvent():void {\n // if (this._isShown && this._config.keyboard) {\n // $(this._element).on(Event.KEYDOWN_DISMISS, (event) => {\n // if (event.which === 27) {\n // this.hide()\n // }\n // })\n //\n // } else if (!this._isShown) {\n // $(this._element).off(Event.KEYDOWN_DISMISS)\n // }\n // }\n\n // protected setResizeEvent():void {\n // console.log(this.renderer.listenGlobal('', Event.RESIZE));\n // if (this._isShown) {\n // $(window).on(Event.RESIZE, $.proxy(this._handleUpdate, this))\n // } else {\n // $(window).off(Event.RESIZE)\n // }\n // }\n\n protected focusOtherModal() {\n if (this._element.nativeElement.parentElement == null) {\n return;\n }\n const otherOpenedModals = this._element.nativeElement.parentElement.querySelectorAll('.in[bsModal]');\n if (!otherOpenedModals.length) {\n return;\n }\n otherOpenedModals[otherOpenedModals.length - 1].focus();\n }\n\n /** @internal */\n protected resetAdjustments(): void {\n this._renderer.setStyle(\n this._element.nativeElement,\n 'paddingLeft',\n ''\n );\n this._renderer.setStyle(\n this._element.nativeElement,\n 'paddingRight',\n ''\n );\n }\n\n /** Scroll bar tricks */\n /** @internal */\n protected checkScrollbar(): void {\n this.isBodyOverflowing = document.body.clientWidth < window.innerWidth;\n this.scrollbarWidth = this.getScrollbarWidth();\n }\n\n protected setScrollbar(): void {\n if (!document) {\n return;\n }\n\n this.originalBodyPadding = parseInt(\n window\n .getComputedStyle(document.body)\n .getPropertyValue('padding-right') || 0,\n 10\n );\n\n if (this.isBodyOverflowing) {\n document.body.style.paddingRight = `${this.originalBodyPadding +\n this.scrollbarWidth}px`;\n }\n }\n\n protected resetScrollbar(): void {\n document.body.style.paddingRight = `${this.originalBodyPadding}px`;\n }\n\n // thx d.walsh\n protected getScrollbarWidth(): number {\n const scrollDiv = this._renderer.createElement('div');\n this._renderer.addClass(scrollDiv, CLASS_NAME.SCROLLBAR_MEASURER);\n this._renderer.appendChild(document.body, scrollDiv);\n const scrollbarWidth = scrollDiv.offsetWidth - scrollDiv.clientWidth;\n this._renderer.removeChild(document.body, scrollDiv);\n\n return scrollbarWidth;\n }\n}\n","import {\n ComponentRef,\n Injectable,\n TemplateRef,\n EventEmitter,\n Renderer2,\n RendererFactory2\n} from '@angular/core';\n\nimport { ComponentLoader, ComponentLoaderFactory } from 'ngx-bootstrap/component-loader';\nimport { ModalBackdropComponent } from './modal-backdrop.component';\nimport { ModalContainerComponent } from './modal-container.component';\nimport {\n CLASS_NAME,\n modalConfigDefaults,\n ModalOptions,\n TRANSITION_DURATIONS\n} from './modal-options.class';\nimport { BsModalRef } from './bs-modal-ref.service';\n\n@Injectable()\nexport class BsModalService {\n // constructor props\n config: ModalOptions = modalConfigDefaults;\n\n // tslint:disable-next-line:no-any\n onShow: EventEmitter<any> = new EventEmitter();\n // tslint:disable-next-line:no-any\n onShown: EventEmitter<any> = new EventEmitter();\n // tslint:disable-next-line:no-any\n onHide: EventEmitter<any> = new EventEmitter();\n // tslint:disable-next-line:no-any\n onHidden: EventEmitter<any> = new EventEmitter();\n\n protected isBodyOverflowing = false;\n protected originalBodyPadding = 0;\n\n protected scrollbarWidth = 0;\n\n protected backdropRef: ComponentRef<ModalBackdropComponent>;\n private _backdropLoader: ComponentLoader<ModalBackdropComponent>;\n private modalsCount = 0;\n private lastDismissReason = '';\n\n private loaders: ComponentLoader<ModalContainerComponent>[] = [];\n\n private _renderer: Renderer2;\n\n constructor(rendererFactory: RendererFactory2, private clf: ComponentLoaderFactory) {\n this._backdropLoader = this.clf.createLoader<ModalBackdropComponent>(\n null,\n null,\n null\n );\n this._renderer = rendererFactory.createRenderer(null, null);\n }\n\n /** Shows a modal */\n // tslint:disable-next-line:no-any\n show(content: string | TemplateRef<any> | any, config?: ModalOptions): BsModalRef {\n this.modalsCount++;\n this._createLoaders();\n this.config = Object.assign({}, modalConfigDefaults, config);\n this._showBackdrop();\n this.lastDismissReason = null;\n\n return this._showModal(content);\n }\n\n hide(level: number) {\n if (this.modalsCount === 1) {\n this._hideBackdrop();\n this.resetScrollbar();\n }\n this.modalsCount = this.modalsCount >= 1 ? this.modalsCount - 1 : 0;\n setTimeout(() => {\n this._hideModal(level);\n this.removeLoaders(level);\n }, this.config.animated ? TRANSITION_DURATIONS.BACKDROP : 0);\n }\n\n _showBackdrop(): void {\n const isBackdropEnabled =\n this.config.backdrop || this.config.backdrop === 'static';\n const isBackdropInDOM =\n !this.backdropRef || !this.backdropRef.instance.isShown;\n\n if (this.modalsCount === 1) {\n this.removeBackdrop();\n\n if (isBackdropEnabled && isBackdropInDOM) {\n this._backdropLoader\n .attach(ModalBackdropComponent)\n .to('body')\n .show({ isAnimated: this.config.animated });\n this.backdropRef = this._backdropLoader._componentRef;\n }\n }\n }\n\n _hideBackdrop(): void {\n if (!this.backdropRef) {\n return;\n }\n this.backdropRef.instance.isShown = false;\n const duration = this.config.animated ? TRANSITION_DURATIONS.BACKDROP : 0;\n setTimeout(() => this.removeBackdrop(), duration);\n }\n // tslint:disable-next-line:no-any\n _showModal(content: any): BsModalRef {\n const modalLoader = this.loaders[this.loaders.length - 1];\n const bsModalRef = new BsModalRef();\n const modalContainerRef = modalLoader\n .provide({ provide: ModalOptions, useValue: this.config })\n .provide({ provide: BsModalRef, useValue: bsModalRef })\n .attach(ModalContainerComponent)\n .to('body')\n .show({content, isAnimated: this.config.animated, initialState: this.config.initialState, bsModalService: this});\n modalContainerRef.instance.level = this.getModalsCount();\n bsModalRef.hide = () => {\n modalContainerRef.instance.hide();\n };\n bsModalRef.content = modalLoader.getInnerComponent() || null;\n bsModalRef.setClass = (newClass: string) => {\n modalContainerRef.instance.config.class = newClass;\n };\n\n return bsModalRef;\n }\n\n _hideModal(level: number): void {\n const modalLoader = this.loaders[level - 1];\n if (modalLoader) {\n modalLoader.hide();\n }\n }\n\n getModalsCount(): number {\n return this.modalsCount;\n }\n\n setDismissReason(reason: string) {\n this.lastDismissReason = reason;\n }\n\n removeBackdrop(): void {\n this._backdropLoader.hide();\n this.backdropRef = null;\n }\n\n /** AFTER PR MERGE MODAL.COMPONENT WILL BE USING THIS CODE */\n /** Scroll bar tricks */\n /** @internal */\n checkScrollbar(): void {\n this.isBodyOverflowing = document.body.clientWidth < window.innerWidth;\n this.scrollbarWidth = this.getScrollbarWidth();\n }\n\n setScrollbar(): void {\n if (!document) {\n return;\n }\n\n this.originalBodyPadding = parseInt(\n window\n .getComputedStyle(document.body)\n .getPropertyValue('padding-right') || '0',\n 10\n );\n\n if (this.isBodyOverflowing) {\n document.body.style.paddingRight = `${this.originalBodyPadding +\n this.scrollbarWidth}px`;\n }\n }\n\n private resetScrollbar(): void {\n document.body.style.paddingRight = `${this.originalBodyPadding}px`;\n }\n\n // thx d.walsh\n private getScrollbarWidth(): number {\n const scrollDiv = this._renderer.createElement('div');\n this._renderer.addClass(scrollDiv, CLASS_NAME.SCROLLBAR_MEASURER);\n this._renderer.appendChild(document.body, scrollDiv);\n const scrollbarWidth = scrollDiv.offsetWidth - scrollDiv.clientWidth;\n this._renderer.removeChild(document.body, scrollDiv);\n\n return scrollbarWidth;\n }\n\n private _createLoaders(): void {\n const loader = this.clf.createLoader<ModalContainerComponent>(\n null,\n null,\n null\n );\n this.copyEvent(loader.onBeforeShow, this.onShow);\n this.copyEvent(loader.onShown, this.onShown);\n this.copyEvent(loader.onBeforeHide, this.onHide);\n this.copyEvent(loader.onHidden, this.onHidden);\n this.loaders.push(loader);\n }\n\n private removeLoaders(level: number): void {\n this.loaders.splice(level - 1, 1);\n this.loaders.forEach(\n (loader: ComponentLoader<ModalContainerComponent>, i: number) => {\n loader.instance.level = i + 1;\n }\n );\n }\n\n // tslint:disable-next-line:no-any\n private copyEvent(from: EventEmitter<any>, to: EventEmitter<any>) {\n from.subscribe(() => {\n to.emit(this.lastDismissReason);\n });\n }\n}\n","import { NgModule, ModuleWithProviders } from '@angular/core';\n\nimport { ModalBackdropComponent } from './modal-backdrop.component';\nimport { ModalDirective } from './modal.directive';\nimport { PositioningService } from 'ngx-bootstrap/positioning';\nimport { ComponentLoaderFactory } from 'ngx-bootstrap/component-loader';\nimport { ModalContainerComponent } from './modal-container.component';\nimport { BsModalService } from './bs-modal.service';\n\n@NgModule({\n declarations: [\n ModalBackdropComponent,\n ModalDirective,\n ModalContainerComponent\n ],\n exports: [ModalBackdropComponent, ModalDirective],\n entryComponents: [ModalBackdropComponent, ModalContainerComponent]\n})\nexport class ModalModule {\n static forRoot(): ModuleWithProviders {\n return {\n ngModule: ModalModule,\n providers: [BsModalService, ComponentLoaderFactory, PositioningService]\n };\n }\n}\n"]}
|
1
|
+
{"version":3,"sources":["../../../node_modules/tslib/tslib.es6.js","ng://ngx-bootstrap/modal/bs-modal-ref.service.ts","ng://ngx-bootstrap/modal/modal-backdrop.options.ts","ng://ngx-bootstrap/modal/modal-options.class.ts","ng://ngx-bootstrap/modal/modal-container.component.ts","ng://ngx-bootstrap/modal/modal-backdrop.component.ts","ng://ngx-bootstrap/modal/modal.directive.ts","ng://ngx-bootstrap/modal/bs-modal.service.ts","ng://ngx-bootstrap/modal/modal.module.ts"],"names":["__values","o","m","Symbol","iterator","i","call","next","length","value","done","BsModalRef","this","hide","Function","setClass","Injectable","ModalBackdropOptions","options","animate","Object","assign","ModalOptions","modalConfigDefaults","backdrop","keyboard","focus","show","ignoreBackdropClick","class","animated","initialState","CLASS_NAME","SCROLLBAR_MEASURER","BACKDROP","OPEN","FADE","IN","SHOW","TRANSITION_DURATIONS","DISMISS_REASONS","ModalContainerComponent","_element","_renderer","isShown","isModalHiding","clickStartedInContent","config","prototype","ngOnInit","_this","isAnimated","addClass","nativeElement","setStyle","setTimeout","isBs3","document","body","bsModalService","getModalsCount","checkScrollbar","setScrollbar","onClickStarted","event","target","onClickStop","clickedInBackdrop","setDismissReason","onEsc","keyCode","key","preventDefault","level","ngOnDestroy","removeClass","Component","args","selector","template","host","role","tabindex","[attr.aria-modal]","[attr.aria-labelledby]","[attr.aria-describedby]","ElementRef","Renderer2","HostListener","ModalBackdropComponent","element","renderer","_isShown","defineProperty","_isAnimated","Utils","reflow","ModalDirective","_viewContainerRef","clf","onShow","EventEmitter","onShown","onHide","onHidden","isBodyOverflowing","originalBodyPadding","scrollbarWidth","timerHideModal","timerRmBackDrop","isNested","_backdrop","createLoader","_config","conf","getConfig","dismissReason","hideModal","dispose","toggle","emit","clearTimeout","classList","contains","showBackdrop","showElement","window","parentNode","nodeType","Node","ELEMENT_NODE","appendChild","setAttribute","setProperty","transitionComplete","resetScrollbar","resetAdjustments","focusOtherModal","callback","instance","callbackRemove","removeBackdrop","attach","to","_componentRef","parentElement","otherOpenedModals","querySelectorAll","clientWidth","innerWidth","getScrollbarWidth","parseInt","getComputedStyle","getPropertyValue","style","paddingRight","scrollDiv","createElement","offsetWidth","removeChild","Directive","exportAs","ViewContainerRef","ComponentLoaderFactory","Input","Output","BsModalService","rendererFactory","modalsCount","lastDismissReason","loaders","_backdropLoader","createRenderer","content","_createLoaders","_showBackdrop","_showModal","_hideBackdrop","_hideModal","removeLoaders","isBackdropEnabled","isBackdropInDOM","backdropRef","duration","modalLoader","providers","_b","tslib_1.__values","_c","provider","provide","bsModalRef","modalContainerRef","useValue","getInnerComponent","newClass","reason","loader","copyEvent","onBeforeShow","onBeforeHide","push","splice","forEach","from","subscribe","RendererFactory2","ModalModule","forRoot","ngModule","PositioningService","forChild","NgModule","declarations","exports","entryComponents"],"mappings":"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","sourcesContent":["/*! *****************************************************************************\r\nCopyright (c) Microsoft Corporation. All rights reserved.\r\nLicensed under the Apache License, Version 2.0 (the \"License\"); you may not use\r\nthis file except in compliance with the License. You may obtain a copy of the\r\nLicense at http://www.apache.org/licenses/LICENSE-2.0\r\n\r\nTHIS CODE IS PROVIDED ON AN *AS IS* BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\r\nKIND, EITHER EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION ANY IMPLIED\r\nWARRANTIES OR CONDITIONS OF TITLE, FITNESS FOR A PARTICULAR PURPOSE,\r\nMERCHANTABLITY OR NON-INFRINGEMENT.\r\n\r\nSee the Apache Version 2.0 License for specific language governing permissions\r\nand limitations under the License.\r\n***************************************************************************** */\r\n/* global Reflect, Promise */\r\n\r\nvar extendStatics = function(d, b) {\r\n extendStatics = Object.setPrototypeOf ||\r\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\r\n return extendStatics(d, b);\r\n};\r\n\r\nexport function __extends(d, b) {\r\n extendStatics(d, b);\r\n function __() { this.constructor = d; }\r\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n}\r\n\r\nexport var __assign = function() {\r\n __assign = Object.assign || function __assign(t) {\r\n for (var s, i = 1, n = arguments.length; i < n; i++) {\r\n s = arguments[i];\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\r\n }\r\n return t;\r\n }\r\n return __assign.apply(this, arguments);\r\n}\r\n\r\nexport function __rest(s, e) {\r\n var t = {};\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\r\n t[p] = s[p];\r\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\r\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) if (e.indexOf(p[i]) < 0)\r\n t[p[i]] = s[p[i]];\r\n return t;\r\n}\r\n\r\nexport function __decorate(decorators, target, key, desc) {\r\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n}\r\n\r\nexport function __param(paramIndex, decorator) {\r\n return function (target, key) { decorator(target, key, paramIndex); }\r\n}\r\n\r\nexport function __metadata(metadataKey, metadataValue) {\r\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\r\n}\r\n\r\nexport function __awaiter(thisArg, _arguments, P, generator) {\r\n return new (P || (P = Promise))(function (resolve, reject) {\r\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\r\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\r\n function step(result) { result.done ? resolve(result.value) : new P(function (resolve) { resolve(result.value); }).then(fulfilled, rejected); }\r\n step((generator = generator.apply(thisArg, _arguments || [])).next());\r\n });\r\n}\r\n\r\nexport function __generator(thisArg, body) {\r\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\r\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\r\n function verb(n) { return function (v) { return step([n, v]); }; }\r\n function step(op) {\r\n if (f) throw new TypeError(\"Generator is already executing.\");\r\n while (_) try {\r\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\r\n if (y = 0, t) op = [op[0] & 2, t.value];\r\n switch (op[0]) {\r\n case 0: case 1: t = op; break;\r\n case 4: _.label++; return { value: op[1], done: false };\r\n case 5: _.label++; y = op[1]; op = [0]; continue;\r\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\r\n default:\r\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\r\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\r\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\r\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\r\n if (t[2]) _.ops.pop();\r\n _.trys.pop(); continue;\r\n }\r\n op = body.call(thisArg, _);\r\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\r\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\r\n }\r\n}\r\n\r\nexport function __exportStar(m, exports) {\r\n for (var p in m) if (!exports.hasOwnProperty(p)) exports[p] = m[p];\r\n}\r\n\r\nexport function __values(o) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator], i = 0;\r\n if (m) return m.call(o);\r\n return {\r\n next: function () {\r\n if (o && i >= o.length) o = void 0;\r\n return { value: o && o[i++], done: !o };\r\n }\r\n };\r\n}\r\n\r\nexport function __read(o, n) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\r\n if (!m) return o;\r\n var i = m.call(o), r, ar = [], e;\r\n try {\r\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\r\n }\r\n catch (error) { e = { error: error }; }\r\n finally {\r\n try {\r\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\r\n }\r\n finally { if (e) throw e.error; }\r\n }\r\n return ar;\r\n}\r\n\r\nexport function __spread() {\r\n for (var ar = [], i = 0; i < arguments.length; i++)\r\n ar = ar.concat(__read(arguments[i]));\r\n return ar;\r\n}\r\n\r\nexport function __await(v) {\r\n return this instanceof __await ? (this.v = v, this) : new __await(v);\r\n}\r\n\r\nexport function __asyncGenerator(thisArg, _arguments, generator) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var g = generator.apply(thisArg, _arguments || []), i, q = [];\r\n return i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i;\r\n function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; }\r\n function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\r\n function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\r\n function fulfill(value) { resume(\"next\", value); }\r\n function reject(value) { resume(\"throw\", value); }\r\n function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\r\n}\r\n\r\nexport function __asyncDelegator(o) {\r\n var i, p;\r\n return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\r\n function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: n === \"return\" } : f ? f(v) : v; } : f; }\r\n}\r\n\r\nexport function __asyncValues(o) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var m = o[Symbol.asyncIterator], i;\r\n return m ? m.call(o) : (o = typeof __values === \"function\" ? __values(o) : o[Symbol.iterator](), i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i);\r\n function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }\r\n function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\r\n}\r\n\r\nexport function __makeTemplateObject(cooked, raw) {\r\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\r\n return cooked;\r\n};\r\n\r\nexport function __importStar(mod) {\r\n if (mod && mod.__esModule) return mod;\r\n var result = {};\r\n if (mod != null) for (var k in mod) if (Object.hasOwnProperty.call(mod, k)) result[k] = mod[k];\r\n result.default = mod;\r\n return result;\r\n}\r\n\r\nexport function __importDefault(mod) {\r\n return (mod && mod.__esModule) ? mod : { default: mod };\r\n}\r\n","import { Injectable } from '@angular/core';\n\n@Injectable()\nexport class BsModalRef {\n /**\n * Reference to a component inside the modal. Null if modal's been created with TemplateRef\n */\n // tslint:disable-next-line:no-any\n content?: any | null;\n\n /**\n * Hides the modal\n */\n hide: () => void = Function;\n /**\n * Sets new class to modal window\n */\n setClass: (newClass: string) => void = Function;\n}\n","export class ModalBackdropOptions {\n animate = true;\n\n constructor(options: ModalBackdropOptions) {\n Object.assign(this, options);\n }\n}\n","import { Injectable, StaticProvider } from '@angular/core';\nimport { ClassName, DismissReasons, Selector, TransitionDurations } from './models';\n\n@Injectable()\nexport class ModalOptions {\n /**\n * Includes a modal-backdrop element. Alternatively,\n * specify static for a backdrop which doesn't close the modal on click.\n */\n backdrop?: boolean | 'static';\n /**\n * Closes the modal when escape key is pressed.\n */\n keyboard?: boolean;\n\n focus?: boolean;\n /**\n * Shows the modal when initialized.\n */\n show?: boolean;\n /**\n * Ignore the backdrop click\n */\n ignoreBackdropClick?: boolean;\n /**\n * Css class for opened modal\n */\n class?: string;\n /**\n * Toggle animation\n */\n animated?: boolean;\n /**\n * Modal data\n */\n initialState?: Object;\n /**\n * Modal providers\n */\n providers?: StaticProvider[];\n /**\n * aria-labelledby attribute value to set on the modal window\n */\n ariaLabelledBy?: string;\n /**\n * aria-describedby attribute value to set on the modal window\n */\n ariaDescribedby?: string;\n}\n\n\nexport const modalConfigDefaults: ModalOptions = {\n backdrop: true,\n keyboard: true,\n focus: true,\n show: false,\n ignoreBackdropClick: false,\n class: '',\n animated: true,\n initialState: {}\n};\n\nexport const CLASS_NAME: ClassName = {\n SCROLLBAR_MEASURER: 'modal-scrollbar-measure',\n BACKDROP: 'modal-backdrop',\n OPEN: 'modal-open',\n FADE: 'fade',\n IN: 'in', // bs3\n SHOW: 'show' // bs4\n};\n\nexport const SELECTOR: Selector = {\n DIALOG: '.modal-dialog',\n DATA_TOGGLE: '[data-toggle=\"modal\"]',\n DATA_DISMISS: '[data-dismiss=\"modal\"]',\n FIXED_CONTENT: '.navbar-fixed-top, .navbar-fixed-bottom, .is-fixed'\n};\n\nexport const TRANSITION_DURATIONS: TransitionDurations = {\n MODAL: 300,\n BACKDROP: 150\n};\n\nexport const DISMISS_REASONS: DismissReasons = {\n BACKRDOP: 'backdrop-click',\n ESC: 'esc'\n};\n","import {\n Component,\n ElementRef,\n HostListener,\n OnDestroy,\n OnInit,\n Renderer2\n} from '@angular/core';\nimport {\n CLASS_NAME,\n DISMISS_REASONS,\n ModalOptions,\n TRANSITION_DURATIONS\n} from './modal-options.class';\nimport { BsModalService } from './bs-modal.service';\nimport { isBs3 } from 'ngx-bootstrap/utils';\n\n@Component({\n selector: 'modal-container',\n template: `\n <div [class]=\"'modal-dialog' + (config.class ? ' ' + config.class : '')\" role=\"document\">\n <div class=\"modal-content\">\n <ng-content></ng-content>\n </div>\n </div>\n `,\n host: {\n class: 'modal',\n role: 'dialog',\n tabindex: '-1',\n '[attr.aria-modal]': 'true',\n '[attr.aria-labelledby]': 'config.ariaLabelledBy',\n '[attr.aria-describedby]': 'config.ariaDescribedby'\n }\n})\nexport class ModalContainerComponent implements OnInit, OnDestroy {\n config: ModalOptions;\n isShown = false;\n level: number;\n isAnimated: boolean;\n bsModalService: BsModalService;\n private isModalHiding = false;\n private clickStartedInContent = false;\n\n constructor(options: ModalOptions,\n protected _element: ElementRef,\n private _renderer: Renderer2) {\n this.config = Object.assign({}, options);\n }\n\n ngOnInit(): void {\n if (this.isAnimated) {\n this._renderer.addClass(\n this._element.nativeElement,\n CLASS_NAME.FADE\n );\n }\n this._renderer.setStyle(\n this._element.nativeElement,\n 'display',\n 'block'\n );\n setTimeout(() => {\n this.isShown = true;\n this._renderer.addClass(\n this._element.nativeElement,\n isBs3() ? CLASS_NAME.IN : CLASS_NAME.SHOW\n );\n }, this.isAnimated ? TRANSITION_DURATIONS.BACKDROP : 0);\n if (document && document.body) {\n if (this.bsModalService.getModalsCount() === 1) {\n this.bsModalService.checkScrollbar();\n this.bsModalService.setScrollbar();\n }\n this._renderer.addClass(document.body, CLASS_NAME.OPEN);\n }\n if (this._element.nativeElement) {\n this._element.nativeElement.focus();\n }\n }\n\n @HostListener('mousedown', ['$event'])\n onClickStarted(event: MouseEvent): void {\n this.clickStartedInContent = event.target !== this._element.nativeElement;\n }\n\n @HostListener('mouseup', ['$event'])\n onClickStop(event: MouseEvent): void {\n const clickedInBackdrop = event.target === this._element.nativeElement && !this.clickStartedInContent;\n if (\n this.config.ignoreBackdropClick ||\n this.config.backdrop === 'static' ||\n !clickedInBackdrop\n ) {\n this.clickStartedInContent = false;\n\n return;\n }\n this.bsModalService.setDismissReason(DISMISS_REASONS.BACKRDOP);\n this.hide();\n }\n\n @HostListener('window:keydown.esc', ['$event'])\n onEsc(event: KeyboardEvent): void {\n if (!this.isShown) {\n return;\n }\n\n // tslint:disable-next-line:deprecation\n if (event.keyCode === 27 || event.key === 'Escape') {\n event.preventDefault();\n }\n\n if (\n this.config.keyboard &&\n this.level === this.bsModalService.getModalsCount()\n ) {\n this.bsModalService.setDismissReason(DISMISS_REASONS.ESC);\n this.hide();\n }\n }\n\n ngOnDestroy(): void {\n if (this.isShown) {\n this.hide();\n }\n }\n\n hide(): void {\n if (this.isModalHiding || !this.isShown) {\n return;\n }\n this.isModalHiding = true;\n this._renderer.removeClass(\n this._element.nativeElement,\n isBs3() ? CLASS_NAME.IN : CLASS_NAME.SHOW\n );\n setTimeout(() => {\n this.isShown = false;\n if (\n document &&\n document.body &&\n this.bsModalService.getModalsCount() === 1\n ) {\n this._renderer.removeClass(document.body, CLASS_NAME.OPEN);\n }\n this.bsModalService.hide(this.level);\n this.isModalHiding = false;\n }, this.isAnimated ? TRANSITION_DURATIONS.MODAL : 0);\n }\n}\n","import { Component, ElementRef, OnInit, Renderer2 } from '@angular/core';\n\nimport { CLASS_NAME } from './modal-options.class';\nimport { isBs3, Utils } from 'ngx-bootstrap/utils';\n\n\n/** This component will be added as background layout for modals if enabled */\n@Component({\n selector: 'bs-modal-backdrop',\n template: ' ',\n host: { class: CLASS_NAME.BACKDROP }\n})\nexport class ModalBackdropComponent implements OnInit {\n get isAnimated(): boolean {\n return this._isAnimated;\n }\n\n set isAnimated(value: boolean) {\n this._isAnimated = value;\n // this.renderer.setElementClass(this.element.nativeElement, `${ClassName.FADE}`, value);\n }\n\n get isShown(): boolean {\n return this._isShown;\n }\n\n set isShown(value: boolean) {\n this._isShown = value;\n if (value) {\n this.renderer.addClass(\n this.element.nativeElement,\n `${CLASS_NAME.IN}`\n );\n } else {\n this.renderer.removeClass(\n this.element.nativeElement,\n `${CLASS_NAME.IN}`\n );\n }\n if (!isBs3()) {\n if (value) {\n this.renderer.addClass(\n this.element.nativeElement,\n `${CLASS_NAME.SHOW}`\n );\n } else {\n this.renderer.removeClass(\n this.element.nativeElement,\n `${CLASS_NAME.SHOW}`\n );\n }\n }\n }\n\n element: ElementRef;\n renderer: Renderer2;\n\n protected _isAnimated: boolean;\n protected _isShown = false;\n\n constructor(element: ElementRef, renderer: Renderer2) {\n this.element = element;\n this.renderer = renderer;\n }\n\n ngOnInit(): void {\n if (this.isAnimated) {\n this.renderer.addClass(\n this.element.nativeElement,\n `${CLASS_NAME.FADE}`\n );\n Utils.reflow(this.element.nativeElement);\n }\n this.isShown = true;\n }\n}\n","/* tslint:disable:max-file-line-count */\n// todo: should we support enforce focus in?\n// todo: in original bs there are was a way to prevent modal from showing\n// todo: original modal had resize events\n\nimport {\n ComponentRef, Directive, ElementRef, EventEmitter, HostListener, Input,\n OnDestroy, OnInit, Output, Renderer2, ViewContainerRef\n} from '@angular/core';\n\nimport { document, window, isBs3, Utils } from 'ngx-bootstrap/utils';\nimport { ModalBackdropComponent } from './modal-backdrop.component';\nimport {\n CLASS_NAME, DISMISS_REASONS, modalConfigDefaults, ModalOptions\n} from './modal-options.class';\nimport { ComponentLoader, ComponentLoaderFactory } from 'ngx-bootstrap/component-loader';\n\nconst TRANSITION_DURATION = 300;\nconst BACKDROP_TRANSITION_DURATION = 150;\n\n/** Mark any code with directive to show it's content in modal */\n@Directive({\n selector: '[bsModal]',\n exportAs: 'bs-modal'\n})\nexport class ModalDirective implements OnDestroy, OnInit {\n /** allows to set modal configuration via element property */\n @Input()\n set config(conf: ModalOptions) {\n this._config = this.getConfig(conf);\n }\n\n get config(): ModalOptions {\n return this._config;\n }\n\n /** This event fires immediately when the `show` instance method is called. */\n @Output()\n onShow: EventEmitter<ModalDirective> = new EventEmitter<ModalDirective>();\n /** This event is fired when the modal has been made visible to the user\n * (will wait for CSS transitions to complete)\n */\n @Output()\n onShown: EventEmitter<ModalDirective> = new EventEmitter<ModalDirective>();\n /** This event is fired immediately when\n * the hide instance method has been called.\n */\n @Output()\n onHide: EventEmitter<ModalDirective> = new EventEmitter<ModalDirective>();\n /** This event is fired when the modal has finished being\n * hidden from the user (will wait for CSS transitions to complete).\n */\n @Output()\n onHidden: EventEmitter<ModalDirective> = new EventEmitter<ModalDirective>();\n\n /** This field contains last dismiss reason.\n * Possible values: `backdrop-click`, `esc` and `null`\n * (if modal was closed by direct call of `.hide()`).\n */\n dismissReason: string;\n\n get isShown(): boolean {\n return this._isShown;\n }\n\n protected _config: ModalOptions;\n protected _isShown = false;\n\n protected isBodyOverflowing = false;\n protected originalBodyPadding = 0;\n protected scrollbarWidth = 0;\n\n protected timerHideModal = 0;\n protected timerRmBackDrop = 0;\n\n // reference to backdrop component\n protected backdrop: ComponentRef<ModalBackdropComponent>;\n private _backdrop: ComponentLoader<ModalBackdropComponent>;\n\n private isNested = false;\n private clickStartedInContent = false;\n\n constructor(private _element: ElementRef,\n _viewContainerRef: ViewContainerRef,\n private _renderer: Renderer2,\n clf: ComponentLoaderFactory) {\n this._backdrop = clf.createLoader<ModalBackdropComponent>(\n _element,\n _viewContainerRef,\n _renderer\n );\n }\n\n @HostListener('mousedown', ['$event'])\n onClickStarted(event: MouseEvent): void {\n this.clickStartedInContent = event.target !== this._element.nativeElement;\n }\n\n @HostListener('mouseup', ['$event'])\n onClickStop(event: MouseEvent): void {\n const clickedInBackdrop = event.target === this._element.nativeElement && !this.clickStartedInContent;\n if (\n this.config.ignoreBackdropClick ||\n this.config.backdrop === 'static' ||\n !clickedInBackdrop\n ) {\n this.clickStartedInContent = false;\n\n return;\n }\n this.dismissReason = DISMISS_REASONS.BACKRDOP;\n this.hide(event);\n }\n\n // todo: consider preventing default and stopping propagation\n @HostListener('keydown.esc', ['$event'])\n onEsc(event: KeyboardEvent): void {\n if (!this._isShown) {\n return;\n }\n // tslint:disable-next-line:deprecation\n if (event.keyCode === 27 || event.key === 'Escape') {\n event.preventDefault();\n }\n\n if (this.config.keyboard) {\n this.dismissReason = DISMISS_REASONS.ESC;\n this.hide();\n }\n }\n\n ngOnDestroy() {\n this.config = void 0;\n if (this._isShown) {\n this._isShown = false;\n this.hideModal();\n this._backdrop.dispose();\n }\n }\n\n ngOnInit(): void {\n this._config = this._config || this.getConfig();\n setTimeout(() => {\n if (this._config.show) {\n this.show();\n }\n }, 0);\n }\n\n /* Public methods */\n\n /** Allows to manually toggle modal visibility */\n toggle(): void {\n return this._isShown ? this.hide() : this.show();\n }\n\n /** Allows to manually open modal */\n show(): void {\n this.dismissReason = null;\n this.onShow.emit(this);\n if (this._isShown) {\n return;\n }\n clearTimeout(this.timerHideModal);\n clearTimeout(this.timerRmBackDrop);\n\n this._isShown = true;\n\n this.checkScrollbar();\n this.setScrollbar();\n\n if (document && document.body) {\n if (document.body.classList.contains(CLASS_NAME.OPEN)) {\n this.isNested = true;\n } else {\n this._renderer.addClass(document.body, CLASS_NAME.OPEN);\n }\n }\n\n this.showBackdrop(() => {\n this.showElement();\n });\n }\n\n /** Allows to manually close modal */\n hide(event?: Event): void {\n if (event) {\n event.preventDefault();\n }\n\n this.onHide.emit(this);\n\n // todo: add an option to prevent hiding\n if (!this._isShown) {\n return;\n }\n\n window.clearTimeout(this.timerHideModal);\n window.clearTimeout(this.timerRmBackDrop);\n\n this._isShown = false;\n this._renderer.removeClass(this._element.nativeElement, CLASS_NAME.IN);\n if (!isBs3()) {\n this._renderer.removeClass(this._element.nativeElement, CLASS_NAME.SHOW);\n }\n // this._addClassIn = false;\n\n if (this._config.animated) {\n this.timerHideModal = window.setTimeout(\n () => this.hideModal(),\n TRANSITION_DURATION\n );\n } else {\n this.hideModal();\n }\n }\n\n /** Private methods @internal */\n protected getConfig(config?: ModalOptions): ModalOptions {\n return Object.assign({}, modalConfigDefaults, config);\n }\n\n /**\n * Show dialog\n * @internal\n */\n protected showElement(): void {\n // todo: replace this with component loader usage\n if (\n !this._element.nativeElement.parentNode ||\n this._element.nativeElement.parentNode.nodeType !== Node.ELEMENT_NODE\n ) {\n // don't move modals dom position\n if (document && document.body) {\n document.body.appendChild(this._element.nativeElement);\n }\n }\n\n this._renderer.setAttribute(\n this._element.nativeElement,\n 'aria-hidden',\n 'false'\n );\n this._renderer.setAttribute(\n this._element.nativeElement,\n 'aria-modal',\n 'true'\n );\n this._renderer.setStyle(\n this._element.nativeElement,\n 'display',\n 'block'\n );\n this._renderer.setProperty(\n this._element.nativeElement,\n 'scrollTop',\n 0\n );\n\n if (this._config.animated) {\n Utils.reflow(this._element.nativeElement);\n }\n\n // this._addClassIn = true;\n this._renderer.addClass(this._element.nativeElement, CLASS_NAME.IN);\n if (!isBs3()) {\n this._renderer.addClass(this._element.nativeElement, CLASS_NAME.SHOW);\n }\n\n const transitionComplete = () => {\n if (this._config.focus) {\n this._element.nativeElement.focus();\n }\n this.onShown.emit(this);\n };\n\n if (this._config.animated) {\n setTimeout(transitionComplete, TRANSITION_DURATION);\n } else {\n transitionComplete();\n }\n }\n\n /** @internal */\n protected hideModal(): void {\n this._renderer.setAttribute(\n this._element.nativeElement,\n 'aria-hidden',\n 'true'\n );\n this._renderer.setStyle(\n this._element.nativeElement,\n 'display',\n 'none'\n );\n this.showBackdrop(() => {\n if (!this.isNested) {\n if (document && document.body) {\n this._renderer.removeClass(document.body, CLASS_NAME.OPEN);\n }\n this.resetScrollbar();\n }\n this.resetAdjustments();\n this.focusOtherModal();\n this.onHidden.emit(this);\n });\n }\n\n // todo: original show was calling a callback when done, but we can use\n // promise\n /** @internal */\n protected showBackdrop(callback?: Function): void {\n if (\n this._isShown &&\n this.config.backdrop &&\n (!this.backdrop || !this.backdrop.instance.isShown)\n ) {\n this.removeBackdrop();\n this._backdrop\n .attach(ModalBackdropComponent)\n .to('body')\n .show({isAnimated: this._config.animated});\n this.backdrop = this._backdrop._componentRef;\n\n if (!callback) {\n return;\n }\n\n if (!this._config.animated) {\n callback();\n\n return;\n }\n\n setTimeout(callback, BACKDROP_TRANSITION_DURATION);\n } else if (!this._isShown && this.backdrop) {\n this.backdrop.instance.isShown = false;\n\n const callbackRemove = () => {\n this.removeBackdrop();\n if (callback) {\n callback();\n }\n };\n\n if (this.backdrop.instance.isAnimated) {\n this.timerRmBackDrop = window.setTimeout(\n callbackRemove,\n BACKDROP_TRANSITION_DURATION\n );\n } else {\n callbackRemove();\n }\n } else if (callback) {\n callback();\n }\n }\n\n /** @internal */\n protected removeBackdrop(): void {\n this._backdrop.hide();\n }\n\n /** Events tricks */\n\n // no need for it\n // protected setEscapeEvent():void {\n // if (this._isShown && this._config.keyboard) {\n // $(this._element).on(Event.KEYDOWN_DISMISS, (event) => {\n // if (event.which === 27) {\n // this.hide()\n // }\n // })\n //\n // } else if (!this._isShown) {\n // $(this._element).off(Event.KEYDOWN_DISMISS)\n // }\n // }\n\n // protected setResizeEvent():void {\n // console.log(this.renderer.listenGlobal('', Event.RESIZE));\n // if (this._isShown) {\n // $(window).on(Event.RESIZE, $.proxy(this._handleUpdate, this))\n // } else {\n // $(window).off(Event.RESIZE)\n // }\n // }\n\n protected focusOtherModal() {\n if (this._element.nativeElement.parentElement == null) {\n return;\n }\n const otherOpenedModals = this._element.nativeElement.parentElement.querySelectorAll('.in[bsModal]');\n if (!otherOpenedModals.length) {\n return;\n }\n otherOpenedModals[otherOpenedModals.length - 1].focus();\n }\n\n /** @internal */\n protected resetAdjustments(): void {\n this._renderer.setStyle(\n this._element.nativeElement,\n 'paddingLeft',\n ''\n );\n this._renderer.setStyle(\n this._element.nativeElement,\n 'paddingRight',\n ''\n );\n }\n\n /** Scroll bar tricks */\n /** @internal */\n protected checkScrollbar(): void {\n this.isBodyOverflowing = document.body.clientWidth < window.innerWidth;\n this.scrollbarWidth = this.getScrollbarWidth();\n }\n\n protected setScrollbar(): void {\n if (!document) {\n return;\n }\n\n this.originalBodyPadding = parseInt(\n window\n .getComputedStyle(document.body)\n .getPropertyValue('padding-right') || 0,\n 10\n );\n\n if (this.isBodyOverflowing) {\n document.body.style.paddingRight = `${this.originalBodyPadding +\n this.scrollbarWidth}px`;\n }\n }\n\n protected resetScrollbar(): void {\n document.body.style.paddingRight = `${this.originalBodyPadding}px`;\n }\n\n // thx d.walsh\n protected getScrollbarWidth(): number {\n const scrollDiv = this._renderer.createElement('div');\n this._renderer.addClass(scrollDiv, CLASS_NAME.SCROLLBAR_MEASURER);\n this._renderer.appendChild(document.body, scrollDiv);\n const scrollbarWidth = scrollDiv.offsetWidth - scrollDiv.clientWidth;\n this._renderer.removeChild(document.body, scrollDiv);\n\n return scrollbarWidth;\n }\n}\n","import {\n ComponentRef,\n Injectable,\n TemplateRef,\n EventEmitter,\n Renderer2,\n RendererFactory2\n} from '@angular/core';\n\nimport { ComponentLoader, ComponentLoaderFactory } from 'ngx-bootstrap/component-loader';\nimport { ModalBackdropComponent } from './modal-backdrop.component';\nimport { ModalContainerComponent } from './modal-container.component';\nimport {\n CLASS_NAME,\n modalConfigDefaults,\n ModalOptions,\n TRANSITION_DURATIONS\n} from './modal-options.class';\nimport { BsModalRef } from './bs-modal-ref.service';\n\n@Injectable()\nexport class BsModalService {\n // constructor props\n config: ModalOptions = modalConfigDefaults;\n\n // tslint:disable-next-line:no-any\n onShow: EventEmitter<any> = new EventEmitter();\n // tslint:disable-next-line:no-any\n onShown: EventEmitter<any> = new EventEmitter();\n // tslint:disable-next-line:no-any\n onHide: EventEmitter<any> = new EventEmitter();\n // tslint:disable-next-line:no-any\n onHidden: EventEmitter<any> = new EventEmitter();\n\n protected isBodyOverflowing = false;\n protected originalBodyPadding = 0;\n\n protected scrollbarWidth = 0;\n\n protected backdropRef: ComponentRef<ModalBackdropComponent>;\n private _backdropLoader: ComponentLoader<ModalBackdropComponent>;\n private modalsCount = 0;\n private lastDismissReason = '';\n\n private loaders: ComponentLoader<ModalContainerComponent>[] = [];\n\n private _renderer: Renderer2;\n\n constructor(rendererFactory: RendererFactory2, private clf: ComponentLoaderFactory) {\n this._backdropLoader = this.clf.createLoader<ModalBackdropComponent>(\n null,\n null,\n null\n );\n this._renderer = rendererFactory.createRenderer(null, null);\n }\n\n /** Shows a modal */\n // tslint:disable-next-line:no-any\n show(content: string | TemplateRef<any> | any, config?: ModalOptions): BsModalRef {\n this.modalsCount++;\n this._createLoaders();\n this.config = Object.assign({}, modalConfigDefaults, config);\n this._showBackdrop();\n this.lastDismissReason = null;\n\n return this._showModal(content);\n }\n\n hide(level: number) {\n if (this.modalsCount === 1) {\n this._hideBackdrop();\n this.resetScrollbar();\n }\n this.modalsCount = this.modalsCount >= 1 ? this.modalsCount - 1 : 0;\n setTimeout(() => {\n this._hideModal(level);\n this.removeLoaders(level);\n }, this.config.animated ? TRANSITION_DURATIONS.BACKDROP : 0);\n }\n\n _showBackdrop(): void {\n const isBackdropEnabled =\n this.config.backdrop || this.config.backdrop === 'static';\n const isBackdropInDOM =\n !this.backdropRef || !this.backdropRef.instance.isShown;\n\n if (this.modalsCount === 1) {\n this.removeBackdrop();\n\n if (isBackdropEnabled && isBackdropInDOM) {\n this._backdropLoader\n .attach(ModalBackdropComponent)\n .to('body')\n .show({ isAnimated: this.config.animated });\n this.backdropRef = this._backdropLoader._componentRef;\n }\n }\n }\n\n _hideBackdrop(): void {\n if (!this.backdropRef) {\n return;\n }\n this.backdropRef.instance.isShown = false;\n const duration = this.config.animated ? TRANSITION_DURATIONS.BACKDROP : 0;\n setTimeout(() => this.removeBackdrop(), duration);\n }\n // tslint:disable-next-line:no-any\n _showModal(content: any): BsModalRef {\n const modalLoader = this.loaders[this.loaders.length - 1];\n if (this.config && this.config.providers) {\n for (const provider of this.config.providers) {\n modalLoader.provide(provider);\n }\n }\n\n const bsModalRef = new BsModalRef();\n const modalContainerRef = modalLoader\n .provide({ provide: ModalOptions, useValue: this.config })\n .provide({ provide: BsModalRef, useValue: bsModalRef })\n .attach(ModalContainerComponent)\n .to('body')\n .show({content, isAnimated: this.config.animated, initialState: this.config.initialState, bsModalService: this});\n modalContainerRef.instance.level = this.getModalsCount();\n bsModalRef.hide = () => {\n const duration = this.config.animated ? TRANSITION_DURATIONS.MODAL : 0;\n setTimeout(() => modalContainerRef.instance.hide(), duration);\n };\n bsModalRef.content = modalLoader.getInnerComponent() || null;\n bsModalRef.setClass = (newClass: string) => {\n modalContainerRef.instance.config.class = newClass;\n };\n\n return bsModalRef;\n }\n\n _hideModal(level: number): void {\n const modalLoader = this.loaders[level - 1];\n if (modalLoader) {\n modalLoader.hide();\n }\n }\n\n getModalsCount(): number {\n return this.modalsCount;\n }\n\n setDismissReason(reason: string) {\n this.lastDismissReason = reason;\n }\n\n removeBackdrop(): void {\n this._backdropLoader.hide();\n this.backdropRef = null;\n }\n\n /** Checks if the body is overflowing and sets scrollbar width */\n /** @internal */\n checkScrollbar(): void {\n this.isBodyOverflowing = document.body.clientWidth < window.innerWidth;\n this.scrollbarWidth = this.getScrollbarWidth();\n }\n\n setScrollbar(): void {\n if (!document) {\n return;\n }\n\n this.originalBodyPadding = parseInt(\n window\n .getComputedStyle(document.body)\n .getPropertyValue('padding-right') || '0',\n 10\n );\n\n if (this.isBodyOverflowing) {\n document.body.style.paddingRight = `${this.originalBodyPadding +\n this.scrollbarWidth}px`;\n }\n }\n\n private resetScrollbar(): void {\n document.body.style.paddingRight = `${this.originalBodyPadding}px`;\n }\n\n // thx d.walsh\n private getScrollbarWidth(): number {\n const scrollDiv = this._renderer.createElement('div');\n this._renderer.addClass(scrollDiv, CLASS_NAME.SCROLLBAR_MEASURER);\n this._renderer.appendChild(document.body, scrollDiv);\n const scrollbarWidth = scrollDiv.offsetWidth - scrollDiv.clientWidth;\n this._renderer.removeChild(document.body, scrollDiv);\n\n return scrollbarWidth;\n }\n\n private _createLoaders(): void {\n const loader = this.clf.createLoader<ModalContainerComponent>(\n null,\n null,\n null\n );\n this.copyEvent(loader.onBeforeShow, this.onShow);\n this.copyEvent(loader.onShown, this.onShown);\n this.copyEvent(loader.onBeforeHide, this.onHide);\n this.copyEvent(loader.onHidden, this.onHidden);\n this.loaders.push(loader);\n }\n\n private removeLoaders(level: number): void {\n this.loaders.splice(level - 1, 1);\n this.loaders.forEach(\n (loader: ComponentLoader<ModalContainerComponent>, i: number) => {\n loader.instance.level = i + 1;\n }\n );\n }\n\n // tslint:disable-next-line:no-any\n private copyEvent(from: EventEmitter<any>, to: EventEmitter<any>) {\n from.subscribe(() => {\n to.emit(this.lastDismissReason);\n });\n }\n}\n","import { NgModule, ModuleWithProviders } from '@angular/core';\n\nimport { ModalBackdropComponent } from './modal-backdrop.component';\nimport { ModalDirective } from './modal.directive';\nimport { PositioningService } from 'ngx-bootstrap/positioning';\nimport { ComponentLoaderFactory } from 'ngx-bootstrap/component-loader';\nimport { ModalContainerComponent } from './modal-container.component';\nimport { BsModalService } from './bs-modal.service';\n\n@NgModule({\n declarations: [\n ModalBackdropComponent,\n ModalDirective,\n ModalContainerComponent\n ],\n exports: [ModalBackdropComponent, ModalDirective],\n entryComponents: [ModalBackdropComponent, ModalContainerComponent]\n})\nexport class ModalModule {\n static forRoot(): ModuleWithProviders {\n return {\n ngModule: ModalModule,\n providers: [BsModalService, ComponentLoaderFactory, PositioningService]\n };\n }\n static forChild(): ModuleWithProviders {\n return {\n ngModule: ModalModule,\n providers: [BsModalService, ComponentLoaderFactory, PositioningService]\n };\n }\n}\n"]}
|
@@ -109,6 +109,11 @@ export class BsModalService {
|
|
109
109
|
_showModal(content) {
|
110
110
|
/** @type {?} */
|
111
111
|
const modalLoader = this.loaders[this.loaders.length - 1];
|
112
|
+
if (this.config && this.config.providers) {
|
113
|
+
for (const provider of this.config.providers) {
|
114
|
+
modalLoader.provide(provider);
|
115
|
+
}
|
116
|
+
}
|
112
117
|
/** @type {?} */
|
113
118
|
const bsModalRef = new BsModalRef();
|
114
119
|
/** @type {?} */
|
@@ -123,7 +128,12 @@ export class BsModalService {
|
|
123
128
|
* @return {?}
|
124
129
|
*/
|
125
130
|
() => {
|
126
|
-
|
131
|
+
/** @type {?} */
|
132
|
+
const duration = this.config.animated ? TRANSITION_DURATIONS.MODAL : 0;
|
133
|
+
setTimeout((/**
|
134
|
+
* @return {?}
|
135
|
+
*/
|
136
|
+
() => modalContainerRef.instance.hide()), duration);
|
127
137
|
});
|
128
138
|
bsModalRef.content = modalLoader.getInnerComponent() || null;
|
129
139
|
bsModalRef.setClass = (/**
|
@@ -166,8 +176,7 @@ export class BsModalService {
|
|
166
176
|
this._backdropLoader.hide();
|
167
177
|
this.backdropRef = null;
|
168
178
|
}
|
169
|
-
/**
|
170
|
-
/** Scroll bar tricks */
|
179
|
+
/** Checks if the body is overflowing and sets scrollbar width */
|
171
180
|
/**
|
172
181
|
* \@internal
|
173
182
|
* @return {?}
|
@@ -328,4 +337,4 @@ if (false) {
|
|
328
337
|
*/
|
329
338
|
BsModalService.prototype.clf;
|
330
339
|
}
|
331
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnMtbW9kYWwuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiJuZzovL25neC1ib290c3RyYXAvbW9kYWwvIiwic291cmNlcyI6WyJicy1tb2RhbC5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7QUFBQSxPQUFPLEVBRUwsVUFBVSxFQUVWLFlBQVksRUFFWixnQkFBZ0IsRUFDakIsTUFBTSxlQUFlLENBQUM7QUFFdkIsT0FBTyxFQUFtQixzQkFBc0IsRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBQ3pGLE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBQ3BFLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxNQUFNLDZCQUE2QixDQUFDO0FBQ3RFLE9BQU8sRUFDTCxVQUFVLEVBQ1YsbUJBQW1CLEVBQ25CLFlBQVksRUFDWixvQkFBb0IsRUFDckIsTUFBTSx1QkFBdUIsQ0FBQztBQUMvQixPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFHcEQsTUFBTSxPQUFPLGNBQWM7Ozs7O0lBMkJ6QixZQUFZLGVBQWlDLEVBQVUsR0FBMkI7UUFBM0IsUUFBRyxHQUFILEdBQUcsQ0FBd0I7O1FBekJsRixXQUFNLEdBQWlCLG1CQUFtQixDQUFDOztRQUczQyxXQUFNLEdBQXNCLElBQUksWUFBWSxFQUFFLENBQUM7O1FBRS9DLFlBQU8sR0FBc0IsSUFBSSxZQUFZLEVBQUUsQ0FBQzs7UUFFaEQsV0FBTSxHQUFzQixJQUFJLFlBQVksRUFBRSxDQUFDOztRQUUvQyxhQUFRLEdBQXNCLElBQUksWUFBWSxFQUFFLENBQUM7UUFFdkMsc0JBQWlCLEdBQUcsS0FBSyxDQUFDO1FBQzFCLHdCQUFtQixHQUFHLENBQUMsQ0FBQztRQUV4QixtQkFBYyxHQUFHLENBQUMsQ0FBQztRQUlyQixnQkFBVyxHQUFHLENBQUMsQ0FBQztRQUNoQixzQkFBaUIsR0FBRyxFQUFFLENBQUM7UUFFdkIsWUFBTyxHQUErQyxFQUFFLENBQUM7UUFLL0Qs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QUFDLENBQUMsQ0FBQztRQUNsQyxJQUFJLENBQUMsT0FBTyxDQUFDLE9BQU87Ozs7O1FBQ2xCLENBQUMsTUFBZ0QsRUFBRSxDQUFTLEVBQUUsRUFBRTtZQUM5RCxNQUFNLENBQUMsUUFBUSxDQUFDLEtBQUssR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDO1FBQ2hDLENBQUMsRUFDRixDQUFDO0lBQ0osQ0FBQzs7Ozs7Ozs7SUFHTyxTQUFTLENBQUMsSUFBdUIsRUFBRSxFQUFxQjtRQUM5RCxJQUFJLENBQUMsU0FBUzs7O1FBQUMsR0FBRyxFQUFFO1lBQ2xCLEVBQUUsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLGlCQUFpQixDQUFDLENBQUM7UUFDbEMsQ0FBQyxFQUFDLENBQUM7SUFDTCxDQUFDOzs7WUF0TUYsVUFBVTs7OztZQWRULGdCQUFnQjtZQUdRLHNCQUFzQjs7OztJQWM5QyxnQ0FBMkM7O0lBRzNDLGdDQUErQzs7SUFFL0MsaUNBQWdEOztJQUVoRCxnQ0FBK0M7O0lBRS9DLGtDQUFpRDs7Ozs7SUFFakQsMkNBQW9DOzs7OztJQUNwQyw2Q0FBa0M7Ozs7O0lBRWxDLHdDQUE2Qjs7Ozs7SUFFN0IscUNBQTREOzs7OztJQUM1RCx5Q0FBaUU7Ozs7O0lBQ2pFLHFDQUF3Qjs7Ozs7SUFDeEIsMkNBQStCOzs7OztJQUUvQixpQ0FBaUU7Ozs7O0lBRWpFLG1DQUE2Qjs7Ozs7SUFFa0IsNkJBQW1DIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQ29tcG9uZW50UmVmLFxuICBJbmplY3RhYmxlLFxuICBUZW1wbGF0ZVJlZixcbiAgRXZlbnRFbWl0dGVyLFxuICBSZW5kZXJlcjIsXG4gIFJlbmRlcmVyRmFjdG9yeTJcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbmltcG9ydCB7IENvbXBvbmVudExvYWRlciwgQ29tcG9uZW50TG9hZGVyRmFjdG9yeSB9IGZyb20gJ25neC1ib290c3RyYXAvY29tcG9uZW50LWxvYWRlcic7XG5pbXBvcnQgeyBNb2RhbEJhY2tkcm9wQ29tcG9uZW50IH0gZnJvbSAnLi9tb2RhbC1iYWNrZHJvcC5jb21wb25lbnQnO1xuaW1wb3J0IHsgTW9kYWxDb250YWluZXJDb21wb25lbnQgfSBmcm9tICcuL21vZGFsLWNvbnRhaW5lci5jb21wb25lbnQnO1xuaW1wb3J0IHtcbiAgQ0xBU1NfTkFNRSxcbiAgbW9kYWxDb25maWdEZWZhdWx0cyxcbiAgTW9kYWxPcHRpb25zLFxuICBUUkFOU0lUSU9OX0RVUkFUSU9OU1xufSBmcm9tICcuL21vZGFsLW9wdGlvbnMuY2xhc3MnO1xuaW1wb3J0IHsgQnNNb2RhbFJlZiB9IGZyb20gJy4vYnMtbW9kYWwtcmVmLnNlcnZpY2UnO1xuXG5ASW5qZWN0YWJsZSgpXG5leHBvcnQgY2xhc3MgQnNNb2RhbFNlcnZpY2Uge1xuICAvLyBjb25zdHJ1Y3RvciBwcm9wc1xuICBjb25maWc6IE1vZGFsT3B0aW9ucyA9IG1vZGFsQ29uZmlnRGVmYXVsdHM7XG5cbiAgLy8gdHNsaW50OmRpc2FibGUtbmV4dC1saW5lOm5vLWFueVxuICBvblNob3c6IEV2ZW50RW1pdHRlcjxhbnk+ID0gbmV3IEV2ZW50RW1pdHRlcigpO1xuICAvLyB0c2xpbnQ6ZGlzYWJsZS1uZXh0LWxpbmU6bm8tYW55XG4gIG9uU2hvd246IEV2ZW50RW1pdHRlcjxhbnk+ID0gbmV3IEV2ZW50RW1pdHRlcigpO1xuICAvLyB0c2xpbnQ6ZGlzYWJsZS1uZXh0LWxpbmU6bm8tYW55XG4gIG9uSGlkZTogRXZlbnRFbWl0dGVyPGFueT4gPSBuZXcgRXZlbnRFbWl0dGVyKCk7XG4gIC8vIHRzbGludDpkaXNhYmxlLW5leHQtbGluZTpuby1hbnlcbiAgb25IaWRkZW46IEV2ZW50RW1pdHRlcjxhbnk+ID0gbmV3IEV2ZW50RW1pdHRlcigpO1xuXG4gIHByb3RlY3RlZCBpc0JvZHlPdmVyZmxvd2luZyA9IGZhbHNlO1xuICBwcm90ZWN0ZWQgb3JpZ2luYWxCb2R5UGFkZGluZyA9IDA7XG5cbiAgcHJvdGVjdGVkIHNjcm9sbGJhcldpZHRoID0gMDtcblxuICBwcm90ZWN0ZWQgYmFja2Ryb3BSZWY6IENvbXBvbmVudFJlZjxNb2RhbEJhY2tkcm9wQ29tcG9uZW50PjtcbiAgcHJpdmF0ZSBfYmFja2Ryb3BMb2FkZXI6IENvbXBvbmVudExvYWRlcjxNb2RhbEJhY2tkcm9wQ29tcG9uZW50PjtcbiAgcHJpdmF0ZSBtb2RhbHNDb3VudCA9IDA7XG4gIHByaXZhdGUgbGFzdERpc21pc3NSZWFzb24gPSAnJztcblxuICBwcml2YXRlIGxvYWRlcnM6IENvbXBvbmVudExvYWRlcjxNb2RhbENvbnRhaW5lckNvbXBvbmVudD5bXSA9IFtdO1xuXG4gIHByaXZhdGUgX3JlbmRlcmVyOiBSZW5kZXJlcjI7XG5cbiAgY29uc3RydWN0b3IocmVuZGVyZXJGYWN0b3J5OiBSZW5kZXJlckZhY3RvcnkyLCBwcml2YXRlIGNsZjogQ29tcG9uZW50TG9hZGVyRmFjdG9yeSkge1xuICAgIHRoaXMuX2JhY2tkcm9wTG9hZGVyID0gdGhpcy5jbGYuY3JlYXRlTG9hZGVyPE1vZGFsQmFja2Ryb3BDb21wb25lbnQ+KFxuICAgICAgbnVsbCxcbiAgICAgIG51bGwsXG4gICAgICBudWxsXG4gICAgKTtcbiAgICB0aGlzLl9yZW5kZXJlciA9IHJlbmRlcmVyRmFjdG9yeS5jcmVhdGVSZW5kZXJlcihudWxsLCBudWxsKTtcbiAgfVxuXG4gIC8qKiBTaG93cyBhIG1vZGFsICovXG4gIC8vIHRzbGludDpkaXNhYmxlLW5leHQtbGluZTpuby1hbnlcbiAgc2hvdyhjb250ZW50OiBzdHJpbmcgfCBUZW1wbGF0ZVJlZjxhbnk+IHwgYW55LCBjb25maWc/OiBNb2RhbE9wdGlvbnMpOiBCc01vZGFsUmVmIHtcbiAgICB0aGlzLm1vZGFsc0NvdW50Kys7XG4gICAgdGhpcy5fY3JlYXRlTG9hZGVycygpO1xuICAgIHRoaXMuY29uZmlnID0gT2JqZWN0LmFzc2lnbih7fSwgbW9kYWxDb25maWdEZWZhdWx0cywgY29uZmlnKTtcbiAgICB0aGlzLl9zaG93QmFja2Ryb3AoKTtcbiAgICB0aGlzLmxhc3REaXNtaXNzUmVhc29uID0gbnVsbDtcblxuICAgIHJldHVybiB0aGlzLl9zaG93TW9kYWwoY29udGVudCk7XG4gIH1cblxuICBoaWRlKGxldmVsOiBudW1iZXIpIHtcbiAgICBpZiAodGhpcy5tb2RhbHNDb3VudCA9PT0gMSkge1xuICAgICAgdGhpcy5faGlkZUJhY2tkcm9wKCk7XG4gICAgICB0aGlzLnJlc2V0U2Nyb2xsYmFyKCk7XG4gICAgfVxuICAgIHRoaXMubW9kYWxzQ291bnQgPSB0aGlzLm1vZGFsc0NvdW50ID49IDEgPyB0aGlzLm1vZGFsc0NvdW50IC0gMSA6IDA7XG4gICAgc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICB0aGlzLl9oaWRlTW9kYWwobGV2ZWwpO1xuICAgICAgdGhpcy5yZW1vdmVMb2FkZXJzKGxldmVsKTtcbiAgICB9LCB0aGlzLmNvbmZpZy5hbmltYXRlZCA/IFRSQU5TSVRJT05fRFVSQVRJT05TLkJBQ0tEUk9QIDogMCk7XG4gIH1cblxuICBfc2hvd0JhY2tkcm9wKCk6IHZvaWQge1xuICAgIGNvbnN0IGlzQmFja2Ryb3BFbmFibGVkID1cbiAgICAgIHRoaXMuY29uZmlnLmJhY2tkcm9wIHx8IHRoaXMuY29uZmlnLmJhY2tkcm9wID09PSAnc3RhdGljJztcbiAgICBjb25zdCBpc0JhY2tkcm9wSW5ET00gPVxuICAgICAgIXRoaXMuYmFja2Ryb3BSZWYgfHwgIXRoaXMuYmFja2Ryb3BSZWYuaW5zdGFuY2UuaXNTaG93bjtcblxuICAgIGlmICh0aGlzLm1vZGFsc0NvdW50ID09PSAxKSB7XG4gICAgICB0aGlzLnJlbW92ZUJhY2tkcm9wKCk7XG5cbiAgICAgIGlmIChpc0JhY2tkcm9wRW5hYmxlZCAmJiBpc0JhY2tkcm9wSW5ET00pIHtcbiAgICAgICAgdGhpcy5fYmFja2Ryb3BMb2FkZXJcbiAgICAgICAgICAuYXR0YWNoKE1vZGFsQmFja2Ryb3BDb21wb25lbnQpXG4gICAgICAgICAgLnRvKCdib2R5JylcbiAgICAgICAgICAuc2hvdyh7IGlzQW5pbWF0ZWQ6IHRoaXMuY29uZmlnLmFuaW1hdGVkIH0pO1xuICAgICAgICB0aGlzLmJhY2tkcm9wUmVmID0gdGhpcy5fYmFja2Ryb3BMb2FkZXIuX2NvbXBvbmVudFJlZjtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBfaGlkZUJhY2tkcm9wKCk6IHZvaWQge1xuICAgIGlmICghdGhpcy5iYWNrZHJvcFJlZikge1xuICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICB0aGlzLmJhY2tkcm9wUmVmLmluc3RhbmNlLmlzU2hvd24gPSBmYWxzZTtcbiAgICBjb25zdCBkdXJhdGlvbiA9IHRoaXMuY29uZmlnLmFuaW1hdGVkID8gVFJBTlNJVElPTl9EVVJBVElPTlMuQkFDS0RST1AgOiAwO1xuICAgIHNldFRpbWVvdXQoKCkgPT4gdGhpcy5yZW1vdmVCYWNrZHJvcCgpLCBkdXJhdGlvbik7XG4gIH1cbiAgLy8gdHNsaW50OmRpc2FibGUtbmV4dC1saW5lOm5vLWFueVxuICBfc2hvd01vZGFsKGNvbnRlbnQ6IGFueSk6IEJzTW9kYWxSZWYge1xuICAgIGNvbnN0IG1vZGFsTG9hZGVyID0gdGhpcy5sb2FkZXJzW3RoaXMubG9hZGVycy5sZW5ndGggLSAxXTtcbiAgICBjb25zdCBic01vZGFsUmVmID0gbmV3IEJzTW9kYWxSZWYoKTtcbiAgICBjb25zdCBtb2RhbENvbnRhaW5lclJlZiA9IG1vZGFsTG9hZGVyXG4gICAgICAucHJvdmlkZSh7IHByb3ZpZGU6IE1vZGFsT3B0aW9ucywgdXNlVmFsdWU6IHRoaXMuY29uZmlnIH0pXG4gICAgICAucHJvdmlkZSh7IHByb3ZpZGU6IEJzTW9kYWxSZWYsIHVzZVZhbHVlOiBic01vZGFsUmVmIH0pXG4gICAgICAuYXR0YWNoKE1vZGFsQ29udGFpbmVyQ29tcG9uZW50KVxuICAgICAgLnRvKCdib2R5JylcbiAgICAgIC5zaG93KHtjb250ZW50LCBpc0FuaW1hdGVkOiB0aGlzLmNvbmZpZy5hbmltYXRlZCwgaW5pdGlhbFN0YXRlOiB0aGlzLmNvbmZpZy5pbml0aWFsU3RhdGUsIGJzTW9kYWxTZXJ2aWNlOiB0aGlzfSk7XG4gICAgbW9kYWxDb250YWluZXJSZWYuaW5zdGFuY2UubGV2ZWwgPSB0aGlzLmdldE1vZGFsc0NvdW50KCk7XG4gICAgYnNNb2RhbFJlZi5oaWRlID0gKCkgPT4ge1xuICAgICAgbW9kYWxDb250YWluZXJSZWYuaW5zdGFuY2UuaGlkZSgpO1xuICAgIH07XG4gICAgYnNNb2RhbFJlZi5jb250ZW50ID0gbW9kYWxMb2FkZXIuZ2V0SW5uZXJDb21wb25lbnQoKSB8fCBudWxsO1xuICAgIGJzTW9kYWxSZWYuc2V0Q2xhc3MgPSAobmV3Q2xhc3M6IHN0cmluZykgPT4ge1xuICAgICAgbW9kYWxDb250YWluZXJSZWYuaW5zdGFuY2UuY29uZmlnLmNsYXNzID0gbmV3Q2xhc3M7XG4gICAgfTtcblxuICAgIHJldHVybiBic01vZGFsUmVmO1xuICB9XG5cbiAgX2hpZGVNb2RhbChsZXZlbDogbnVtYmVyKTogdm9pZCB7XG4gICAgY29uc3QgbW9kYWxMb2FkZXIgPSB0aGlzLmxvYWRlcnNbbGV2ZWwgLSAxXTtcbiAgICBpZiAobW9kYWxMb2FkZXIpIHtcbiAgICAgIG1vZGFsTG9hZGVyLmhpZGUoKTtcbiAgICB9XG4gIH1cblxuICBnZXRNb2RhbHNDb3VudCgpOiBudW1iZXIge1xuICAgIHJldHVybiB0aGlzLm1vZGFsc0NvdW50O1xuICB9XG5cbiAgc2V0RGlzbWlzc1JlYXNvbihyZWFzb246IHN0cmluZykge1xuICAgIHRoaXMubGFzdERpc21pc3NSZWFzb24gPSByZWFzb247XG4gIH1cblxuICByZW1vdmVCYWNrZHJvcCgpOiB2b2lkIHtcbiAgICB0aGlzLl9iYWNrZHJvcExvYWRlci5oaWRlKCk7XG4gICAgdGhpcy5iYWNrZHJvcFJlZiA9IG51bGw7XG4gIH1cblxuICAvKiogQUZURVIgUFIgTUVSR0UgTU9EQUwuQ09NUE9ORU5UIFdJTEwgQkUgVVNJTkcgVEhJUyBDT0RFICovXG4gIC8qKiBTY3JvbGwgYmFyIHRyaWNrcyAqL1xuICAvKiogQGludGVybmFsICovXG4gIGNoZWNrU2Nyb2xsYmFyKCk6IHZvaWQge1xuICAgIHRoaXMuaXNCb2R5T3ZlcmZsb3dpbmcgPSBkb2N1bWVudC5ib2R5LmNsaWVudFdpZHRoIDwgd2luZG93LmlubmVyV2lkdGg7XG4gICAgdGhpcy5zY3JvbGxiYXJXaWR0aCA9IHRoaXMuZ2V0U2Nyb2xsYmFyV2lkdGgoKTtcbiAgfVxuXG4gIHNldFNjcm9sbGJhcigpOiB2b2lkIHtcbiAgICBpZiAoIWRvY3VtZW50KSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgdGhpcy5vcmlnaW5hbEJvZHlQYWRkaW5nID0gcGFyc2VJbnQoXG4gICAgICB3aW5kb3dcbiAgICAgICAgLmdldENvbXB1dGVkU3R5bGUoZG9jdW1lbnQuYm9keSlcbiAgICAgICAgLmdldFByb3BlcnR5VmFsdWUoJ3BhZGRpbmctcmlnaHQnKSB8fCAnMCcsXG4gICAgICAxMFxuICAgICk7XG5cbiAgICBpZiAodGhpcy5pc0JvZHlPdmVyZmxvd2luZykge1xuICAgICAgZG9jdW1lbnQuYm9keS5zdHlsZS5wYWRkaW5nUmlnaHQgPSBgJHt0aGlzLm9yaWdpbmFsQm9keVBhZGRpbmcgK1xuICAgICAgICB0aGlzLnNjcm9sbGJhcldpZHRofXB4YDtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIHJlc2V0U2Nyb2xsYmFyKCk6IHZvaWQge1xuICAgIGRvY3VtZW50LmJvZHkuc3R5bGUucGFkZGluZ1JpZ2h0ID0gYCR7dGhpcy5vcmlnaW5hbEJvZHlQYWRkaW5nfXB4YDtcbiAgfVxuXG4gIC8vIHRoeCBkLndhbHNoXG4gIHByaXZhdGUgZ2V0U2Nyb2xsYmFyV2lkdGgoKTogbnVtYmVyIHtcbiAgICBjb25zdCBzY3JvbGxEaXYgPSB0aGlzLl9yZW5kZXJlci5jcmVhdGVFbGVtZW50KCdkaXYnKTtcbiAgICB0aGlzLl9yZW5kZXJlci5hZGRDbGFzcyhzY3JvbGxEaXYsIENMQVNTX05BTUUuU0NST0xMQkFSX01FQVNVUkVSKTtcbiAgICB0aGlzLl9yZW5kZXJlci5hcHBlbmRDaGlsZChkb2N1bWVudC5ib2R5LCBzY3JvbGxEaXYpO1xuICAgIGNvbnN0IHNjcm9sbGJhcldpZHRoID0gc2Nyb2xsRGl2Lm9mZnNldFdpZHRoIC0gc2Nyb2xsRGl2LmNsaWVudFdpZHRoO1xuICAgIHRoaXMuX3JlbmRlcmVyLnJlbW92ZUNoaWxkKGRvY3VtZW50LmJvZHksIHNjcm9sbERpdik7XG5cbiAgICByZXR1cm4gc2Nyb2xsYmFyV2lkdGg7XG4gIH1cblxuICBwcml2YXRlIF9jcmVhdGVMb2FkZXJzKCk6IHZvaWQge1xuICAgIGNvbnN0IGxvYWRlciA9IHRoaXMuY2xmLmNyZWF0ZUxvYWRlcjxNb2RhbENvbnRhaW5lckNvbXBvbmVudD4oXG4gICAgICBudWxsLFxuICAgICAgbnVsbCxcbiAgICAgIG51bGxcbiAgICApO1xuICAgIHRoaXMuY29weUV2ZW50KGxvYWRlci5vbkJlZm9yZVNob3csIHRoaXMub25TaG93KTtcbiAgICB0aGlzLmNvcHlFdmVudChsb2FkZXIub25TaG93biwgdGhpcy5vblNob3duKTtcbiAgICB0aGlzLmNvcHlFdmVudChsb2FkZXIub25CZWZvcmVIaWRlLCB0aGlzLm9uSGlkZSk7XG4gICAgdGhpcy5jb3B5RXZlbnQobG9hZGVyLm9uSGlkZGVuLCB0aGlzLm9uSGlkZGVuKTtcbiAgICB0aGlzLmxvYWRlcnMucHVzaChsb2FkZXIpO1xuICB9XG5cbiAgcHJpdmF0ZSByZW1vdmVMb2FkZXJzKGxldmVsOiBudW1iZXIpOiB2b2lkIHtcbiAgICB0aGlzLmxvYWRlcnMuc3BsaWNlKGxldmVsIC0gMSwgMSk7XG4gICAgdGhpcy5sb2FkZXJzLmZvckVhY2goXG4gICAgICAobG9hZGVyOiBDb21wb25lbnRMb2FkZXI8TW9kYWxDb250YWluZXJDb21wb25lbnQ+LCBpOiBudW1iZXIpID0+IHtcbiAgICAgICAgbG9hZGVyLmluc3RhbmNlLmxldmVsID0gaSArIDE7XG4gICAgICB9XG4gICAgKTtcbiAgfVxuXG4gIC8vIHRzbGludDpkaXNhYmxlLW5leHQtbGluZTpuby1hbnlcbiAgcHJpdmF0ZSBjb3B5RXZlbnQoZnJvbTogRXZlbnRFbWl0dGVyPGFueT4sIHRvOiBFdmVudEVtaXR0ZXI8YW55Pikge1xuICAgIGZyb20uc3Vic2NyaWJlKCgpID0+IHtcbiAgICAgIHRvLmVtaXQodGhpcy5sYXN0RGlzbWlzc1JlYXNvbik7XG4gICAgfSk7XG4gIH1cbn1cbiJdfQ==
|
340
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnMtbW9kYWwuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiJuZzovL25neC1ib290c3RyYXAvbW9kYWwvIiwic291cmNlcyI6WyJicy1tb2RhbC5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7QUFBQSxPQUFPLEVBRUwsVUFBVSxFQUVWLFlBQVksRUFFWixnQkFBZ0IsRUFDakIsTUFBTSxlQUFlLENBQUM7QUFFdkIsT0FBTyxFQUFtQixzQkFBc0IsRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBQ3pGLE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBQ3BFLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxNQUFNLDZCQUE2QixDQUFDO0FBQ3RFLE9BQU8sRUFDTCxVQUFVLEVBQ1YsbUJBQW1CLEVBQ25CLFlBQVksRUFDWixvQkFBb0IsRUFDckIsTUFBTSx1QkFBdUIsQ0FBQztBQUMvQixPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFHcEQsTUFBTSxPQUFPLGNBQWM7Ozs7O0lBMkJ6QixZQUFZLGVBQWlDLEVBQVUsR0FBMkI7UUFBM0IsUUFBRyxHQUFILEdBQUcsQ0FBd0I7O1FBekJsRixXQUFNLEdBQWlCLG1CQUFtQixDQUFDOztRQUczQyxXQUFNLEdBQXNCLElBQUksWUFBWSxFQUFFLENBQUM7O1FBRS9DLFlBQU8sR0FBc0IsSUFBSSxZQUFZLEVBQUUsQ0FBQzs7UUFFaEQsV0FBTSxHQUFzQixJQUFJLFlBQVksRUFBRSxDQUFDOztRQUUvQyxhQUFRLEdBQXNCLElBQUksWUFBWSxFQUFFLENBQUM7UUFFdkMsc0JBQWlCLEdBQUcsS0FBSyxDQUFDO1FBQzFCLHdCQUFtQixHQUFHLENBQUMsQ0FBQztRQUV4QixtQkFBYyxHQUFHLENBQUMsQ0FBQztRQUlyQixnQkFBVyxHQUFHLENBQUMsQ0FBQztRQUNoQixzQkFBaUIsR0FBRyxFQUFFLENBQUM7UUFFdkIsWUFBTyxHQUErQyxFQUFFLENBQUM7UUFLL0Qs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NkI7Ozs7O0lBRWtCLDZCQUFtQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIENvbXBvbmVudFJlZixcbiAgSW5qZWN0YWJsZSxcbiAgVGVtcGxhdGVSZWYsXG4gIEV2ZW50RW1pdHRlcixcbiAgUmVuZGVyZXIyLFxuICBSZW5kZXJlckZhY3RvcnkyXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5pbXBvcnQgeyBDb21wb25lbnRMb2FkZXIsIENvbXBvbmVudExvYWRlckZhY3RvcnkgfSBmcm9tICduZ3gtYm9vdHN0cmFwL2NvbXBvbmVudC1sb2FkZXInO1xuaW1wb3J0IHsgTW9kYWxCYWNrZHJvcENvbXBvbmVudCB9IGZyb20gJy4vbW9kYWwtYmFja2Ryb3AuY29tcG9uZW50JztcbmltcG9ydCB7IE1vZGFsQ29udGFpbmVyQ29tcG9uZW50IH0gZnJvbSAnLi9tb2RhbC1jb250YWluZXIuY29tcG9uZW50JztcbmltcG9ydCB7XG4gIENMQVNTX05BTUUsXG4gIG1vZGFsQ29uZmlnRGVmYXVsdHMsXG4gIE1vZGFsT3B0aW9ucyxcbiAgVFJBTlNJVElPTl9EVVJBVElPTlNcbn0gZnJvbSAnLi9tb2RhbC1vcHRpb25zLmNsYXNzJztcbmltcG9ydCB7IEJzTW9kYWxSZWYgfSBmcm9tICcuL2JzLW1vZGFsLXJlZi5zZXJ2aWNlJztcblxuQEluamVjdGFibGUoKVxuZXhwb3J0IGNsYXNzIEJzTW9kYWxTZXJ2aWNlIHtcbiAgLy8gY29uc3RydWN0b3IgcHJvcHNcbiAgY29uZmlnOiBNb2RhbE9wdGlvbnMgPSBtb2RhbENvbmZpZ0RlZmF1bHRzO1xuXG4gIC8vIHRzbGludDpkaXNhYmxlLW5leHQtbGluZTpuby1hbnlcbiAgb25TaG93OiBFdmVudEVtaXR0ZXI8YW55PiA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcbiAgLy8gdHNsaW50OmRpc2FibGUtbmV4dC1saW5lOm5vLWFueVxuICBvblNob3duOiBFdmVudEVtaXR0ZXI8YW55PiA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcbiAgLy8gdHNsaW50OmRpc2FibGUtbmV4dC1saW5lOm5vLWFueVxuICBvbkhpZGU6IEV2ZW50RW1pdHRlcjxhbnk+ID0gbmV3IEV2ZW50RW1pdHRlcigpO1xuICAvLyB0c2xpbnQ6ZGlzYWJsZS1uZXh0LWxpbmU6bm8tYW55XG4gIG9uSGlkZGVuOiBFdmVudEVtaXR0ZXI8YW55PiA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcblxuICBwcm90ZWN0ZWQgaXNCb2R5T3ZlcmZsb3dpbmcgPSBmYWxzZTtcbiAgcHJvdGVjdGVkIG9yaWdpbmFsQm9keVBhZGRpbmcgPSAwO1xuXG4gIHByb3RlY3RlZCBzY3JvbGxiYXJXaWR0aCA9IDA7XG5cbiAgcHJvdGVjdGVkIGJhY2tkcm9wUmVmOiBDb21wb25lbnRSZWY8TW9kYWxCYWNrZHJvcENvbXBvbmVudD47XG4gIHByaXZhdGUgX2JhY2tkcm9wTG9hZGVyOiBDb21wb25lbnRMb2FkZXI8TW9kYWxCYWNrZHJvcENvbXBvbmVudD47XG4gIHByaXZhdGUgbW9kYWxzQ291bnQgPSAwO1xuICBwcml2YXRlIGxhc3REaXNtaXNzUmVhc29uID0gJyc7XG5cbiAgcHJpdmF0ZSBsb2FkZXJzOiBDb21wb25lbnRMb2FkZXI8TW9kYWxDb250YWluZXJDb21wb25lbnQ+W10gPSBbXTtcblxuICBwcml2YXRlIF9yZW5kZXJlcjogUmVuZGVyZXIyO1xuXG4gIGNvbnN0cnVjdG9yKHJlbmRlcmVyRmFjdG9yeTogUmVuZGVyZXJGYWN0b3J5MiwgcHJpdmF0ZSBjbGY6IENvbXBvbmVudExvYWRlckZhY3RvcnkpIHtcbiAgICB0aGlzLl9iYWNrZHJvcExvYWRlciA9IHRoaXMuY2xmLmNyZWF0ZUxvYWRlcjxNb2RhbEJhY2tkcm9wQ29tcG9uZW50PihcbiAgICAgIG51bGwsXG4gICAgICBudWxsLFxuICAgICAgbnVsbFxuICAgICk7XG4gICAgdGhpcy5fcmVuZGVyZXIgPSByZW5kZXJlckZhY3RvcnkuY3JlYXRlUmVuZGVyZXIobnVsbCwgbnVsbCk7XG4gIH1cblxuICAvKiogU2hvd3MgYSBtb2RhbCAqL1xuICAvLyB0c2xpbnQ6ZGlzYWJsZS1uZXh0LWxpbmU6bm8tYW55XG4gIHNob3coY29udGVudDogc3RyaW5nIHwgVGVtcGxhdGVSZWY8YW55PiB8IGFueSwgY29uZmlnPzogTW9kYWxPcHRpb25zKTogQnNNb2RhbFJlZiB7XG4gICAgdGhpcy5tb2RhbHNDb3VudCsrO1xuICAgIHRoaXMuX2NyZWF0ZUxvYWRlcnMoKTtcbiAgICB0aGlzLmNvbmZpZyA9IE9iamVjdC5hc3NpZ24oe30sIG1vZGFsQ29uZmlnRGVmYXVsdHMsIGNvbmZpZyk7XG4gICAgdGhpcy5fc2hvd0JhY2tkcm9wKCk7XG4gICAgdGhpcy5sYXN0RGlzbWlzc1JlYXNvbiA9IG51bGw7XG5cbiAgICByZXR1cm4gdGhpcy5fc2hvd01vZGFsKGNvbnRlbnQpO1xuICB9XG5cbiAgaGlkZShsZXZlbDogbnVtYmVyKSB7XG4gICAgaWYgKHRoaXMubW9kYWxzQ291bnQgPT09IDEpIHtcbiAgICAgIHRoaXMuX2hpZGVCYWNrZHJvcCgpO1xuICAgICAgdGhpcy5yZXNldFNjcm9sbGJhcigpO1xuICAgIH1cbiAgICB0aGlzLm1vZGFsc0NvdW50ID0gdGhpcy5tb2RhbHNDb3VudCA+PSAxID8gdGhpcy5tb2RhbHNDb3VudCAtIDEgOiAwO1xuICAgIHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgdGhpcy5faGlkZU1vZGFsKGxldmVsKTtcbiAgICAgIHRoaXMucmVtb3ZlTG9hZGVycyhsZXZlbCk7XG4gICAgfSwgdGhpcy5jb25maWcuYW5pbWF0ZWQgPyBUUkFOU0lUSU9OX0RVUkFUSU9OUy5CQUNLRFJPUCA6IDApO1xuICB9XG5cbiAgX3Nob3dCYWNrZHJvcCgpOiB2b2lkIHtcbiAgICBjb25zdCBpc0JhY2tkcm9wRW5hYmxlZCA9XG4gICAgICB0aGlzLmNvbmZpZy5iYWNrZHJvcCB8fCB0aGlzLmNvbmZpZy5iYWNrZHJvcCA9PT0gJ3N0YXRpYyc7XG4gICAgY29uc3QgaXNCYWNrZHJvcEluRE9NID1cbiAgICAgICF0aGlzLmJhY2tkcm9wUmVmIHx8ICF0aGlzLmJhY2tkcm9wUmVmLmluc3RhbmNlLmlzU2hvd247XG5cbiAgICBpZiAodGhpcy5tb2RhbHNDb3VudCA9PT0gMSkge1xuICAgICAgdGhpcy5yZW1vdmVCYWNrZHJvcCgpO1xuXG4gICAgICBpZiAoaXNCYWNrZHJvcEVuYWJsZWQgJiYgaXNCYWNrZHJvcEluRE9NKSB7XG4gICAgICAgIHRoaXMuX2JhY2tkcm9wTG9hZGVyXG4gICAgICAgICAgLmF0dGFjaChNb2RhbEJhY2tkcm9wQ29tcG9uZW50KVxuICAgICAgICAgIC50bygnYm9keScpXG4gICAgICAgICAgLnNob3coeyBpc0FuaW1hdGVkOiB0aGlzLmNvbmZpZy5hbmltYXRlZCB9KTtcbiAgICAgICAgdGhpcy5iYWNrZHJvcFJlZiA9IHRoaXMuX2JhY2tkcm9wTG9hZGVyLl9jb21wb25lbnRSZWY7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgX2hpZGVCYWNrZHJvcCgpOiB2b2lkIHtcbiAgICBpZiAoIXRoaXMuYmFja2Ryb3BSZWYpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG4gICAgdGhpcy5iYWNrZHJvcFJlZi5pbnN0YW5jZS5pc1Nob3duID0gZmFsc2U7XG4gICAgY29uc3QgZHVyYXRpb24gPSB0aGlzLmNvbmZpZy5hbmltYXRlZCA/IFRSQU5TSVRJT05fRFVSQVRJT05TLkJBQ0tEUk9QIDogMDtcbiAgICBzZXRUaW1lb3V0KCgpID0+IHRoaXMucmVtb3ZlQmFja2Ryb3AoKSwgZHVyYXRpb24pO1xuICB9XG4gIC8vIHRzbGludDpkaXNhYmxlLW5leHQtbGluZTpuby1hbnlcbiAgX3Nob3dNb2RhbChjb250ZW50OiBhbnkpOiBCc01vZGFsUmVmIHtcbiAgICBjb25zdCBtb2RhbExvYWRlciA9IHRoaXMubG9hZGVyc1t0aGlzLmxvYWRlcnMubGVuZ3RoIC0gMV07XG4gICAgaWYgKHRoaXMuY29uZmlnICYmIHRoaXMuY29uZmlnLnByb3ZpZGVycykge1xuICAgICAgZm9yIChjb25zdCBwcm92aWRlciBvZiB0aGlzLmNvbmZpZy5wcm92aWRlcnMpIHtcbiAgICAgICAgbW9kYWxMb2FkZXIucHJvdmlkZShwcm92aWRlcik7XG4gICAgICB9XG4gICAgfVxuXG4gICAgY29uc3QgYnNNb2RhbFJlZiA9IG5ldyBCc01vZGFsUmVmKCk7XG4gICAgY29uc3QgbW9kYWxDb250YWluZXJSZWYgPSBtb2RhbExvYWRlclxuICAgICAgLnByb3ZpZGUoeyBwcm92aWRlOiBNb2RhbE9wdGlvbnMsIHVzZVZhbHVlOiB0aGlzLmNvbmZpZyB9KVxuICAgICAgLnByb3ZpZGUoeyBwcm92aWRlOiBCc01vZGFsUmVmLCB1c2VWYWx1ZTogYnNNb2RhbFJlZiB9KVxuICAgICAgLmF0dGFjaChNb2RhbENvbnRhaW5lckNvbXBvbmVudClcbiAgICAgIC50bygnYm9keScpXG4gICAgICAuc2hvdyh7Y29udGVudCwgaXNBbmltYXRlZDogdGhpcy5jb25maWcuYW5pbWF0ZWQsIGluaXRpYWxTdGF0ZTogdGhpcy5jb25maWcuaW5pdGlhbFN0YXRlLCBic01vZGFsU2VydmljZTogdGhpc30pO1xuICAgIG1vZGFsQ29udGFpbmVyUmVmLmluc3RhbmNlLmxldmVsID0gdGhpcy5nZXRNb2RhbHNDb3VudCgpO1xuICAgIGJzTW9kYWxSZWYuaGlkZSA9ICgpID0+IHtcbiAgICAgIGNvbnN0IGR1cmF0aW9uID0gdGhpcy5jb25maWcuYW5pbWF0ZWQgPyBUUkFOU0lUSU9OX0RVUkFUSU9OUy5NT0RBTCA6IDA7XG4gICAgICBzZXRUaW1lb3V0KCgpID0+IG1vZGFsQ29udGFpbmVyUmVmLmluc3RhbmNlLmhpZGUoKSwgZHVyYXRpb24pO1xuICAgIH07XG4gICAgYnNNb2RhbFJlZi5jb250ZW50ID0gbW9kYWxMb2FkZXIuZ2V0SW5uZXJDb21wb25lbnQoKSB8fCBudWxsO1xuICAgIGJzTW9kYWxSZWYuc2V0Q2xhc3MgPSAobmV3Q2xhc3M6IHN0cmluZykgPT4ge1xuICAgICAgbW9kYWxDb250YWluZXJSZWYuaW5zdGFuY2UuY29uZmlnLmNsYXNzID0gbmV3Q2xhc3M7XG4gICAgfTtcblxuICAgIHJldHVybiBic01vZGFsUmVmO1xuICB9XG5cbiAgX2hpZGVNb2RhbChsZXZlbDogbnVtYmVyKTogdm9pZCB7XG4gICAgY29uc3QgbW9kYWxMb2FkZXIgPSB0aGlzLmxvYWRlcnNbbGV2ZWwgLSAxXTtcbiAgICBpZiAobW9kYWxMb2FkZXIpIHtcbiAgICAgIG1vZGFsTG9hZGVyLmhpZGUoKTtcbiAgICB9XG4gIH1cblxuICBnZXRNb2RhbHNDb3VudCgpOiBudW1iZXIge1xuICAgIHJldHVybiB0aGlzLm1vZGFsc0NvdW50O1xuICB9XG5cbiAgc2V0RGlzbWlzc1JlYXNvbihyZWFzb246IHN0cmluZykge1xuICAgIHRoaXMubGFzdERpc21pc3NSZWFzb24gPSByZWFzb247XG4gIH1cblxuICByZW1vdmVCYWNrZHJvcCgpOiB2b2lkIHtcbiAgICB0aGlzLl9iYWNrZHJvcExvYWRlci5oaWRlKCk7XG4gICAgdGhpcy5iYWNrZHJvcFJlZiA9IG51bGw7XG4gIH1cblxuICAvKiogQ2hlY2tzIGlmIHRoZSBib2R5IGlzIG92ZXJmbG93aW5nIGFuZCBzZXRzIHNjcm9sbGJhciB3aWR0aCAqL1xuICAvKiogQGludGVybmFsICovXG4gIGNoZWNrU2Nyb2xsYmFyKCk6IHZvaWQge1xuICAgIHRoaXMuaXNCb2R5T3ZlcmZsb3dpbmcgPSBkb2N1bWVudC5ib2R5LmNsaWVudFdpZHRoIDwgd2luZG93LmlubmVyV2lkdGg7XG4gICAgdGhpcy5zY3JvbGxiYXJXaWR0aCA9IHRoaXMuZ2V0U2Nyb2xsYmFyV2lkdGgoKTtcbiAgfVxuXG4gIHNldFNjcm9sbGJhcigpOiB2b2lkIHtcbiAgICBpZiAoIWRvY3VtZW50KSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgdGhpcy5vcmlnaW5hbEJvZHlQYWRkaW5nID0gcGFyc2VJbnQoXG4gICAgICB3aW5kb3dcbiAgICAgICAgLmdldENvbXB1dGVkU3R5bGUoZG9jdW1lbnQuYm9keSlcbiAgICAgICAgLmdldFByb3BlcnR5VmFsdWUoJ3BhZGRpbmctcmlnaHQnKSB8fCAnMCcsXG4gICAgICAxMFxuICAgICk7XG5cbiAgICBpZiAodGhpcy5pc0JvZHlPdmVyZmxvd2luZykge1xuICAgICAgZG9jdW1lbnQuYm9keS5zdHlsZS5wYWRkaW5nUmlnaHQgPSBgJHt0aGlzLm9yaWdpbmFsQm9keVBhZGRpbmcgK1xuICAgICAgICB0aGlzLnNjcm9sbGJhcldpZHRofXB4YDtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIHJlc2V0U2Nyb2xsYmFyKCk6IHZvaWQge1xuICAgIGRvY3VtZW50LmJvZHkuc3R5bGUucGFkZGluZ1JpZ2h0ID0gYCR7dGhpcy5vcmlnaW5hbEJvZHlQYWRkaW5nfXB4YDtcbiAgfVxuXG4gIC8vIHRoeCBkLndhbHNoXG4gIHByaXZhdGUgZ2V0U2Nyb2xsYmFyV2lkdGgoKTogbnVtYmVyIHtcbiAgICBjb25zdCBzY3JvbGxEaXYgPSB0aGlzLl9yZW5kZXJlci5jcmVhdGVFbGVtZW50KCdkaXYnKTtcbiAgICB0aGlzLl9yZW5kZXJlci5hZGRDbGFzcyhzY3JvbGxEaXYsIENMQVNTX05BTUUuU0NST0xMQkFSX01FQVNVUkVSKTtcbiAgICB0aGlzLl9yZW5kZXJlci5hcHBlbmRDaGlsZChkb2N1bWVudC5ib2R5LCBzY3JvbGxEaXYpO1xuICAgIGNvbnN0IHNjcm9sbGJhcldpZHRoID0gc2Nyb2xsRGl2Lm9mZnNldFdpZHRoIC0gc2Nyb2xsRGl2LmNsaWVudFdpZHRoO1xuICAgIHRoaXMuX3JlbmRlcmVyLnJlbW92ZUNoaWxkKGRvY3VtZW50LmJvZHksIHNjcm9sbERpdik7XG5cbiAgICByZXR1cm4gc2Nyb2xsYmFyV2lkdGg7XG4gIH1cblxuICBwcml2YXRlIF9jcmVhdGVMb2FkZXJzKCk6IHZvaWQge1xuICAgIGNvbnN0IGxvYWRlciA9IHRoaXMuY2xmLmNyZWF0ZUxvYWRlcjxNb2RhbENvbnRhaW5lckNvbXBvbmVudD4oXG4gICAgICBudWxsLFxuICAgICAgbnVsbCxcbiAgICAgIG51bGxcbiAgICApO1xuICAgIHRoaXMuY29weUV2ZW50KGxvYWRlci5vbkJlZm9yZVNob3csIHRoaXMub25TaG93KTtcbiAgICB0aGlzLmNvcHlFdmVudChsb2FkZXIub25TaG93biwgdGhpcy5vblNob3duKTtcbiAgICB0aGlzLmNvcHlFdmVudChsb2FkZXIub25CZWZvcmVIaWRlLCB0aGlzLm9uSGlkZSk7XG4gICAgdGhpcy5jb3B5RXZlbnQobG9hZGVyLm9uSGlkZGVuLCB0aGlzLm9uSGlkZGVuKTtcbiAgICB0aGlzLmxvYWRlcnMucHVzaChsb2FkZXIpO1xuICB9XG5cbiAgcHJpdmF0ZSByZW1vdmVMb2FkZXJzKGxldmVsOiBudW1iZXIpOiB2b2lkIHtcbiAgICB0aGlzLmxvYWRlcnMuc3BsaWNlKGxldmVsIC0gMSwgMSk7XG4gICAgdGhpcy5sb2FkZXJzLmZvckVhY2goXG4gICAgICAobG9hZGVyOiBDb21wb25lbnRMb2FkZXI8TW9kYWxDb250YWluZXJDb21wb25lbnQ+LCBpOiBudW1iZXIpID0+IHtcbiAgICAgICAgbG9hZGVyLmluc3RhbmNlLmxldmVsID0gaSArIDE7XG4gICAgICB9XG4gICAgKTtcbiAgfVxuXG4gIC8vIHRzbGludDpkaXNhYmxlLW5leHQtbGluZTpuby1hbnlcbiAgcHJpdmF0ZSBjb3B5RXZlbnQoZnJvbTogRXZlbnRFbWl0dGVyPGFueT4sIHRvOiBFdmVudEVtaXR0ZXI8YW55Pikge1xuICAgIGZyb20uc3Vic2NyaWJlKCgpID0+IHtcbiAgICAgIHRvLmVtaXQodGhpcy5sYXN0RGlzbWlzc1JlYXNvbik7XG4gICAgfSk7XG4gIH1cbn1cbiJdfQ==
|
@@ -16,6 +16,7 @@ export class ModalContainerComponent {
|
|
16
16
|
this._renderer = _renderer;
|
17
17
|
this.isShown = false;
|
18
18
|
this.isModalHiding = false;
|
19
|
+
this.clickStartedInContent = false;
|
19
20
|
this.config = Object.assign({}, options);
|
20
21
|
}
|
21
22
|
/**
|
@@ -48,10 +49,20 @@ export class ModalContainerComponent {
|
|
48
49
|
* @param {?} event
|
49
50
|
* @return {?}
|
50
51
|
*/
|
51
|
-
|
52
|
+
onClickStarted(event) {
|
53
|
+
this.clickStartedInContent = event.target !== this._element.nativeElement;
|
54
|
+
}
|
55
|
+
/**
|
56
|
+
* @param {?} event
|
57
|
+
* @return {?}
|
58
|
+
*/
|
59
|
+
onClickStop(event) {
|
60
|
+
/** @type {?} */
|
61
|
+
const clickedInBackdrop = event.target === this._element.nativeElement && !this.clickStartedInContent;
|
52
62
|
if (this.config.ignoreBackdropClick ||
|
53
63
|
this.config.backdrop === 'static' ||
|
54
|
-
|
64
|
+
!clickedInBackdrop) {
|
65
|
+
this.clickStartedInContent = false;
|
55
66
|
return;
|
56
67
|
}
|
57
68
|
this.bsModalService.setDismissReason(DISMISS_REASONS.BACKRDOP);
|
@@ -121,7 +132,9 @@ ModalContainerComponent.decorators = [
|
|
121
132
|
class: 'modal',
|
122
133
|
role: 'dialog',
|
123
134
|
tabindex: '-1',
|
124
|
-
'[attr.aria-modal]': 'true'
|
135
|
+
'[attr.aria-modal]': 'true',
|
136
|
+
'[attr.aria-labelledby]': 'config.ariaLabelledBy',
|
137
|
+
'[attr.aria-describedby]': 'config.ariaDescribedby'
|
125
138
|
}
|
126
139
|
}] }
|
127
140
|
];
|
@@ -132,7 +145,8 @@ ModalContainerComponent.ctorParameters = () => [
|
|
132
145
|
{ type: Renderer2 }
|
133
146
|
];
|
134
147
|
ModalContainerComponent.propDecorators = {
|
135
|
-
|
148
|
+
onClickStarted: [{ type: HostListener, args: ['mousedown', ['$event'],] }],
|
149
|
+
onClickStop: [{ type: HostListener, args: ['mouseup', ['$event'],] }],
|
136
150
|
onEsc: [{ type: HostListener, args: ['window:keydown.esc', ['$event'],] }]
|
137
151
|
};
|
138
152
|
if (false) {
|
@@ -151,6 +165,11 @@ if (false) {
|
|
151
165
|
* @private
|
152
166
|
*/
|
153
167
|
ModalContainerComponent.prototype.isModalHiding;
|
168
|
+
/**
|
169
|
+
* @type {?}
|
170
|
+
* @private
|
171
|
+
*/
|
172
|
+
ModalContainerComponent.prototype.clickStartedInContent;
|
154
173
|
/**
|
155
174
|
* @type {?}
|
156
175
|
* @protected
|
@@ -162,4 +181,4 @@ if (false) {
|
|
162
181
|
*/
|
163
182
|
ModalContainerComponent.prototype._renderer;
|
164
183
|
}
|
165
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9kYWwtY29udGFpbmVyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiJuZzovL25neC1ib290c3RyYXAvbW9kYWwvIiwic291cmNlcyI6WyJtb2RhbC1jb250YWluZXIuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7QUFBQSxPQUFPLEVBQ0wsU0FBUyxFQUNULFVBQVUsRUFDVixZQUFZLEVBR1osU0FBUyxFQUNWLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFDTCxVQUFVLEVBQ1YsZUFBZSxFQUNmLFlBQVksRUFDWixvQkFBb0IsRUFDckIsTUFBTSx1QkFBdUIsQ0FBQztBQUUvQixPQUFPLEVBQUUsS0FBSyxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFrQjVDLE1BQU0sT0FBTyx1QkFBdUI7Ozs7OztJQVFsQyxZQUFZLE9BQXFCLEVBQ1gsUUFBb0IsRUFDdEIsU0FBb0I7UUFEbEIsYUFBUSxHQUFSLFFBQVEsQ0FBWTtRQUN0QixjQUFTLEdBQVQsU0FBUyxDQUFXO1FBUnhDLFlBQU8sR0FBRyxLQUFLLENBQUM7UUFJUixrQkFBYSxHQUFHLEtBQUssQ0FBQztRQUs1QixJQUFJLENBQUMsTUFBTSxHQUFHLE1BQU0sQ0FBQyxNQUFNLENBQUMsRUFBRSxFQUFFLE9BQU8sQ0FBQyxDQUFDO0lBQzNDLENBQUM7Ozs7SUFFRCxRQUFRO1FBQ04sSUFBSSxJQUFJLENBQUMsVUFBVSxFQUFFO1lBQ25CLElBQUksQ0FBQyxTQUFTLENBQUMsUUFBUSxDQUNyQixJQUFJLENBQUMsUUFBUSxDQUFDLGFBQWEsRUFDM0IsVUFBVSxDQUFDLElBQUksQ0FDaEIsQ0FBQztTQUNIO1FBQ0QsSUFBSSxDQUFDLFNBQVMsQ0FBQyxRQUFRLENBQ3JCLElBQUksQ0FBQyxRQUFRLENBQUMsYUFBYSxFQUMzQixTQUFTLEVBQ1QsT0FBTyxDQUNSLENBQUM7UUFDRixVQUFVOzs7UUFBQyxHQUFHLEVBQUU7WUFDZCxJQUFJLENBQUMsT0FBTyxHQUFHLElBQUksQ0FB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LENBQUMsRUFDMUM7Z0JBQ0EsSUFBSSxDQUFDLFNBQVMsQ0FBQyxXQUFXLENBQUMsUUFBUSxDQUFDLElBQUksRUFBRSxVQUFVLENBQUMsSUFBSSxDQUFDLENBQUM7YUFDNUQ7WUFDRCxJQUFJLENBQUMsY0FBYyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7WUFDckMsSUFBSSxDQUFDLGFBQWEsR0FBRyxLQUFLLENBQUM7UUFDN0IsQ0FBQyxHQUFFLElBQUksQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLG9CQUFvQixDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFDdkQsQ0FBQzs7O1lBekhGLFNBQVMsU0FBQztnQkFDVCxRQUFRLEVBQUUsaUJBQWlCO2dCQUMzQixRQUFRLEVBQUU7Ozs7OztHQU1UO2dCQUNELElBQUksRUFBRTtvQkFDSixLQUFLLEVBQUUsT0FBTztvQkFDZCxJQUFJLEVBQUUsUUFBUTtvQkFDZCxRQUFRLEVBQUUsSUFBSTtvQkFDZCxtQkFBbUIsRUFBRSxNQUFNO2lCQUM1QjthQUNGOzs7O1lBckJDLFlBQVk7WUFUWixVQUFVO1lBSVYsU0FBUzs7O3NCQXdFUixZQUFZLFNBQUMsT0FBTyxFQUFFLENBQUMsUUFBUSxDQUFDO29CQWFoQyxZQUFZLFNBQUMsb0JBQW9CLEVBQUUsQ0FBQyxRQUFRLENBQUM7Ozs7SUF6RDlDLHlDQUFxQjs7SUFDckIsMENBQWdCOztJQUNoQix3Q0FBYzs7SUFDZCw2Q0FBb0I7O0lBQ3BCLGlEQUErQjs7Ozs7SUFDL0IsZ0RBQThCOzs7OztJQUdsQiwyQ0FBOEI7Ozs7O0lBQzlCLDRDQUE0QiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIENvbXBvbmVudCxcbiAgRWxlbWVudFJlZixcbiAgSG9zdExpc3RlbmVyLFxuICBPbkRlc3Ryb3ksXG4gIE9uSW5pdCxcbiAgUmVuZGVyZXIyXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtcbiAgQ0xBU1NfTkFNRSxcbiAgRElTTUlTU19SRUFTT05TLFxuICBNb2RhbE9wdGlvbnMsXG4gIFRSQU5TSVRJT05fRFVSQVRJT05TXG59IGZyb20gJy4vbW9kYWwtb3B0aW9ucy5jbGFzcyc7XG5pbXBvcnQgeyBCc01vZGFsU2VydmljZSB9IGZyb20gJy4vYnMtbW9kYWwuc2VydmljZSc7XG5pbXBvcnQgeyBpc0JzMyB9IGZyb20gJ25neC1ib290c3RyYXAvdXRpbHMnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdtb2RhbC1jb250YWluZXInLFxuICB0ZW1wbGF0ZTogYFxuICAgIDxkaXYgW2NsYXNzXT1cIidtb2RhbC1kaWFsb2cnICsgKGNvbmZpZy5jbGFzcyA/ICcgJyArIGNvbmZpZy5jbGFzcyA6ICcnKVwiIHJvbGU9XCJkb2N1bWVudFwiPlxuICAgICAgPGRpdiBjbGFzcz1cIm1vZGFsLWNvbnRlbnRcIj5cbiAgICAgICAgPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PlxuICAgICAgPC9kaXY+XG4gICAgPC9kaXY+XG4gIGAsXG4gIGhvc3Q6IHtcbiAgICBjbGFzczogJ21vZGFsJyxcbiAgICByb2xlOiAnZGlhbG9nJyxcbiAgICB0YWJpbmRleDogJy0xJyxcbiAgICAnW2F0dHIuYXJpYS1tb2RhbF0nOiAndHJ1ZSdcbiAgfVxufSlcbmV4cG9ydCBjbGFzcyBNb2RhbENvbnRhaW5lckNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgT25EZXN0cm95IHtcbiAgY29uZmlnOiBNb2RhbE9wdGlvbnM7XG4gIGlzU2hvd24gPSBmYWxzZTtcbiAgbGV2ZWw6IG51bWJlcjtcbiAgaXNBbmltYXRlZDogYm9vbGVhbjtcbiAgYnNNb2RhbFNlcnZpY2U6IEJzTW9kYWxTZXJ2aWNlO1xuICBwcml2YXRlIGlzTW9kYWxIaWRpbmcgPSBmYWxzZTtcblxuICBjb25zdHJ1Y3RvcihvcHRpb25zOiBNb2RhbE9wdGlvbnMsXG4gICAgICAgICAgICAgIHByb3RlY3RlZCBfZWxlbWVudDogRWxlbWVudFJlZixcbiAgICAgICAgICAgICAgcHJpdmF0ZSBfcmVuZGVyZXI6IFJlbmRlcmVyMikge1xuICAgIHRoaXMuY29uZmlnID0gT2JqZWN0LmFzc2lnbih7fSwgb3B0aW9ucyk7XG4gIH1cblxuICBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICBpZiAodGhpcy5pc0FuaW1hdGVkKSB7XG4gICAgICB0aGlzLl9yZW5kZXJlci5hZGRDbGFzcyhcbiAgICAgICAgdGhpcy5fZWxlbWVudC5uYXRpdmVFbGVtZW50LFxuICAgICAgICBDTEFTU19OQU1FLkZBREVcbiAgICAgICk7XG4gICAgfVxuICAgIHRoaXMuX3JlbmRlcmVyLnNldFN0eWxlKFxuICAgICAgdGhpcy5fZWxlbWVudC5uYXRpdmVFbGVtZW50LFxuICAgICAgJ2Rpc3BsYXknLFxuICAgICAgJ2Jsb2NrJ1xuICAgICk7XG4gICAgc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICB0aGlzLmlzU2hvd24gPSB0cnVlO1xuICAgICAgdGhpcy5fcmVuZGVyZXIuYWRkQ2xhc3MoXG4gICAgICAgIHRoaXMuX2VsZW1lbnQubmF0aXZlRWxlbWVudCxcbiAgICAgICAgaXNCczMoKSA/IENMQVNTX05BTUUuSU4gOiBDTEFTU19OQU1FLlNIT1dcbiAgICAgICk7XG4gICAgfSwgdGhpcy5pc0FuaW1hdGVkID8gVFJBTlNJVElPTl9EVVJBVElPTlMuQkFDS0RST1AgOiAwKTtcbiAgICBpZiAoZG9jdW1lbnQgJiYgZG9jdW1lbnQuYm9keSkge1xuICAgICAgaWYgKHRoaXMuYnNNb2RhbFNlcnZpY2UuZ2V0TW9kYWxzQ291bnQoKSA9PT0gMSkge1xuICAgICAgICB0aGlzLmJzTW9kYWxTZXJ2aWNlLmNoZWNrU2Nyb2xsYmFyKCk7XG4gICAgICAgIHRoaXMuYnNNb2RhbFNlcnZpY2Uuc2V0U2Nyb2xsYmFyKCk7XG4gICAgICB9XG4gICAgICB0aGlzLl9yZW5kZXJlci5hZGRDbGFzcyhkb2N1bWVudC5ib2R5LCBDTEFTU19OQU1FLk9QRU4pO1xuICAgIH1cbiAgICBpZiAodGhpcy5fZWxlbWVudC5uYXRpdmVFbGVtZW50KSB7XG4gICAgICB0aGlzLl9lbGVtZW50Lm5hdGl2ZUVsZW1lbnQuZm9jdXMoKTtcbiAgICB9XG4gIH1cblxuICBASG9zdExpc3RlbmVyKCdjbGljaycsIFsnJGV2ZW50J10pXG4gIG9uQ2xpY2soZXZlbnQ6IE1vdXNlRXZlbnQpOiB2b2lkIHtcbiAgICBpZiAoXG4gICAgICB0aGlzLmNvbmZpZy5pZ25vcmVCYWNrZHJvcENsaWNrIHx8XG4gICAgICB0aGlzLmNvbmZpZy5iYWNrZHJvcCA9PT0gJ3N0YXRpYycgfHxcbiAgICAgIGV2ZW50LnRhcmdldCAhPT0gdGhpcy5fZWxlbWVudC5uYXRpdmVFbGVtZW50XG4gICAgKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuICAgIHRoaXMuYnNNb2RhbFNlcnZpY2Uuc2V0RGlzbWlzc1JlYXNvbihESVNNSVNTX1JFQVNPTlMuQkFDS1JET1ApO1xuICAgIHRoaXMuaGlkZSgpO1xuICB9XG5cbiAgQEhvc3RMaXN0ZW5lcignd2luZG93OmtleWRvd24uZXNjJywgWyckZXZlbnQnXSlcbiAgb25Fc2MoZXZlbnQ6IEtleWJvYXJkRXZlbnQpOiB2b2lkIHtcbiAgICBpZiAoIXRoaXMuaXNTaG93bikge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIC8vIHRzbGludDpkaXNhYmxlLW5leHQtbGluZTpkZXByZWNhdGlvblxuICAgIGlmIChldmVudC5rZXlDb2RlID09PSAyNyB8fCBldmVudC5rZXkgPT09ICdFc2NhcGUnKSB7XG4gICAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuICAgIH1cblxuICAgIGlmIChcbiAgICAgIHRoaXMuY29uZmlnLmtleWJvYXJkICYmXG4gICAgICB0aGlzLmxldmVsID09PSB0aGlzLmJzTW9kYWxTZXJ2aWNlLmdldE1vZGFsc0NvdW50KClcbiAgICApIHtcbiAgICAgIHRoaXMuYnNNb2RhbFNlcnZpY2Uuc2V0RGlzbWlzc1JlYXNvbihESVNNSVNTX1JFQVNPTlMuRVNDKTtcbiAgICAgIHRoaXMuaGlkZSgpO1xuICAgIH1cbiAgfVxuXG4gIG5nT25EZXN0cm95KCk6IHZvaWQge1xuICAgIGlmICh0aGlzLmlzU2hvd24pIHtcbiAgICAgIHRoaXMuaGlkZSgpO1xuICAgIH1cbiAgfVxuXG4gIGhpZGUoKTogdm9pZCB7XG4gICAgaWYgKHRoaXMuaXNNb2RhbEhpZGluZyB8fCAhdGhpcy5pc1Nob3duKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuICAgIHRoaXMuaXNNb2RhbEhpZGluZyA9IHRydWU7XG4gICAgdGhpcy5fcmVuZGVyZXIucmVtb3ZlQ2xhc3MoXG4gICAgICB0aGlzLl9lbGVtZW50Lm5hdGl2ZUVsZW1lbnQsXG4gICAgICBpc0JzMygpID8gQ0xBU1NfTkFNRS5JTiA6IENMQVNTX05BTUUuU0hPV1xuICAgICk7XG4gICAgc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICB0aGlzLmlzU2hvd24gPSBmYWxzZTtcbiAgICAgIGlmIChcbiAgICAgICAgZG9jdW1lbnQgJiZcbiAgICAgICAgZG9jdW1lbnQuYm9keSAmJlxuICAgICAgICB0aGlzLmJzTW9kYWxTZXJ2aWNlLmdldE1vZGFsc0NvdW50KCkgPT09IDFcbiAgICAgICkge1xuICAgICAgICB0aGlzLl9yZW5kZXJlci5yZW1vdmVDbGFzcyhkb2N1bWVudC5ib2R5LCBDTEFTU19OQU1FLk9QRU4pO1xuICAgICAgfVxuICAgICAgdGhpcy5ic01vZGFsU2VydmljZS5oaWRlKHRoaXMubGV2ZWwpO1xuICAgICAgdGhpcy5pc01vZGFsSGlkaW5nID0gZmFsc2U7XG4gICAgfSwgdGhpcy5pc0FuaW1hdGVkID8gVFJBTlNJVElPTl9EVVJBVElPTlMuTU9EQUwgOiAwKTtcbiAgfVxufVxuIl19
|
184
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9kYWwtY29udGFpbmVyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiJuZzovL25neC1ib290c3RyYXAvbW9kYWwvIiwic291cmNlcyI6WyJtb2RhbC1jb250YWluZXIuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7QUFBQSxPQUFPLEVBQ0wsU0FBUyxFQUNULFVBQVUsRUFDVixZQUFZLEVBR1osU0FBUyxFQUNWLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFDTCxVQUFVLEVBQ1YsZUFBZSxFQUNmLFlBQVksRUFDWixvQkFBb0IsRUFDckIsTUFBTSx1QkFBdUIsQ0FBQztBQUUvQixPQUFPLEVBQUUsS0FBSyxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFvQjVDLE1BQU0sT0FBTyx1QkFBdUI7Ozs7OztJQVNsQyxZQUFZLE9BQXFCLEVBQ1gsUUFBb0IsRUFDdEIsU0FBb0I7UUFEbEIsYUFBUSxHQUFSLFFBQVEsQ0FBWTtRQUN0QixjQUFTLEdBQVQsU0FBUyxDQUFXO1FBVHhDLFlBQU8sR0FBRyxLQUFLLENBQUM7UUFJUixrQkFBYSxHQUFHLEtBQUssQ0FBQztRQUN0QiwwQkFBcUIsR0FBRyxLQUFLLENBQUM7UUFLcEMsSUFBSSxDQUFDLE1BQU0sR0FBRyxNQUFNLENBQUMsTUFBTSxDQUFDLEVBQUUsRUFBRSxPQUFPLENBQUMsQ0FBQztJQUMzQyxDQUFDOzs7O0lBRUQsUUFBUTtRQUNOLElBQUksSUFBSSxDQUFDLFVBQVUsRUFBRTtZQUNuQixJQUFJLENBQUMsU0FBUyxDQUFDLFFBQVEsQ0FDckIsSUFBSSxDQUFDLFFBQVEsQ0FBQyxhQUFhLEVBQzNCLFVBQVUsQ0FBQyxJQUFJLENBQ2hCLENBQUM7U0FDSDtRQUNELElBQUksQ0FBQyxTQUFTLENBQUMsUUFBUSxDQUNyQixJQUFJLENBQUMsUUFBUSxDQUFDLGFBQWEsRUFDM0IsU0FBUyxFQUNULE9BQU8sQ0FDUixDQUFDO1FBQ0YsVUFBVTs7O1FBQUMsR0FBRyxFQUFFO1lBQ2Qs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QUFZLFNBQUMsb0JBQW9CLEVBQUUsQ0FBQyxRQUFRLENBQUM7Ozs7SUFsRTlDLHlDQUFxQjs7SUFDckIsMENBQWdCOztJQUNoQix3Q0FBYzs7SUFDZCw2Q0FBb0I7O0lBQ3BCLGlEQUErQjs7Ozs7SUFDL0IsZ0RBQThCOzs7OztJQUM5Qix3REFBc0M7Ozs7O0lBRzFCLDJDQUE4Qjs7Ozs7SUFDOUIsNENBQTRCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQ29tcG9uZW50LFxuICBFbGVtZW50UmVmLFxuICBIb3N0TGlzdGVuZXIsXG4gIE9uRGVzdHJveSxcbiAgT25Jbml0LFxuICBSZW5kZXJlcjJcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge1xuICBDTEFTU19OQU1FLFxuICBESVNNSVNTX1JFQVNPTlMsXG4gIE1vZGFsT3B0aW9ucyxcbiAgVFJBTlNJVElPTl9EVVJBVElPTlNcbn0gZnJvbSAnLi9tb2RhbC1vcHRpb25zLmNsYXNzJztcbmltcG9ydCB7IEJzTW9kYWxTZXJ2aWNlIH0gZnJvbSAnLi9icy1tb2RhbC5zZXJ2aWNlJztcbmltcG9ydCB7IGlzQnMzIH0gZnJvbSAnbmd4LWJvb3RzdHJhcC91dGlscyc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ21vZGFsLWNvbnRhaW5lcicsXG4gIHRlbXBsYXRlOiBgXG4gICAgPGRpdiBbY2xhc3NdPVwiJ21vZGFsLWRpYWxvZycgKyAoY29uZmlnLmNsYXNzID8gJyAnICsgY29uZmlnLmNsYXNzIDogJycpXCIgcm9sZT1cImRvY3VtZW50XCI+XG4gICAgICA8ZGl2IGNsYXNzPVwibW9kYWwtY29udGVudFwiPlxuICAgICAgICA8bmctY29udGVudD48L25nLWNvbnRlbnQ+XG4gICAgICA8L2Rpdj5cbiAgICA8L2Rpdj5cbiAgYCxcbiAgaG9zdDoge1xuICAgIGNsYXNzOiAnbW9kYWwnLFxuICAgIHJvbGU6ICdkaWFsb2cnLFxuICAgIHRhYmluZGV4OiAnLTEnLFxuICAgICdbYXR0ci5hcmlhLW1vZGFsXSc6ICd0cnVlJyxcbiAgICAnW2F0dHIuYXJpYS1sYWJlbGxlZGJ5XSc6ICdjb25maWcuYXJpYUxhYmVsbGVkQnknLFxuICAgICdbYXR0ci5hcmlhLWRlc2NyaWJlZGJ5XSc6ICdjb25maWcuYXJpYURlc2NyaWJlZGJ5J1xuICB9XG59KVxuZXhwb3J0IGNsYXNzIE1vZGFsQ29udGFpbmVyQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0LCBPbkRlc3Ryb3kge1xuICBjb25maWc6IE1vZGFsT3B0aW9ucztcbiAgaXNTaG93biA9IGZhbHNlO1xuICBsZXZlbDogbnVtYmVyO1xuICBpc0FuaW1hdGVkOiBib29sZWFuO1xuICBic01vZGFsU2VydmljZTogQnNNb2RhbFNlcnZpY2U7XG4gIHByaXZhdGUgaXNNb2RhbEhpZGluZyA9IGZhbHNlO1xuICBwcml2YXRlIGNsaWNrU3RhcnRlZEluQ29udGVudCA9IGZhbHNlO1xuXG4gIGNvbnN0cnVjdG9yKG9wdGlvbnM6IE1vZGFsT3B0aW9ucyxcbiAgICAgICAgICAgICAgcHJvdGVjdGVkIF9lbGVtZW50OiBFbGVtZW50UmVmLFxuICAgICAgICAgICAgICBwcml2YXRlIF9yZW5kZXJlcjogUmVuZGVyZXIyKSB7XG4gICAgdGhpcy5jb25maWcgPSBPYmplY3QuYXNzaWduKHt9LCBvcHRpb25zKTtcbiAgfVxuXG4gIG5nT25Jbml0KCk6IHZvaWQge1xuICAgIGlmICh0aGlzLmlzQW5pbWF0ZWQpIHtcbiAgICAgIHRoaXMuX3JlbmRlcmVyLmFkZENsYXNzKFxuICAgICAgICB0aGlzLl9lbGVtZW50Lm5hdGl2ZUVsZW1lbnQsXG4gICAgICAgIENMQVNTX05BTUUuRkFERVxuICAgICAgKTtcbiAgICB9XG4gICAgdGhpcy5fcmVuZGVyZXIuc2V0U3R5bGUoXG4gICAgICB0aGlzLl9lbGVtZW50Lm5hdGl2ZUVsZW1lbnQsXG4gICAgICAnZGlzcGxheScsXG4gICAgICAnYmxvY2snXG4gICAgKTtcbiAgICBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgIHRoaXMuaXNTaG93biA9IHRydWU7XG4gICAgICB0aGlzLl9yZW5kZXJlci5hZGRDbGFzcyhcbiAgICAgICAgdGhpcy5fZWxlbWVudC5uYXRpdmVFbGVtZW50LFxuICAgICAgICBpc0JzMygpID8gQ0xBU1NfTkFNRS5JTiA6IENMQVNTX05BTUUuU0hPV1xuICAgICAgKTtcbiAgICB9LCB0aGlzLmlzQW5pbWF0ZWQgPyBUUkFOU0lUSU9OX0RVUkFUSU9OUy5CQUNLRFJPUCA6IDApO1xuICAgIGlmIChkb2N1bWVudCAmJiBkb2N1bWVudC5ib2R5KSB7XG4gICAgICBpZiAodGhpcy5ic01vZGFsU2VydmljZS5nZXRNb2RhbHNDb3VudCgpID09PSAxKSB7XG4gICAgICAgIHRoaXMuYnNNb2RhbFNlcnZpY2UuY2hlY2tTY3JvbGxiYXIoKTtcbiAgICAgICAgdGhpcy5ic01vZGFsU2VydmljZS5zZXRTY3JvbGxiYXIoKTtcbiAgICAgIH1cbiAgICAgIHRoaXMuX3JlbmRlcmVyLmFkZENsYXNzKGRvY3VtZW50LmJvZHksIENMQVNTX05BTUUuT1BFTik7XG4gICAgfVxuICAgIGlmICh0aGlzLl9lbGVtZW50Lm5hdGl2ZUVsZW1lbnQpIHtcbiAgICAgIHRoaXMuX2VsZW1lbnQubmF0aXZlRWxlbWVudC5mb2N1cygpO1xuICAgIH1cbiAgfVxuXG4gIEBIb3N0TGlzdGVuZXIoJ21vdXNlZG93bicsIFsnJGV2ZW50J10pXG4gIG9uQ2xpY2tTdGFydGVkKGV2ZW50OiBNb3VzZUV2ZW50KTogdm9pZCB7XG4gICAgdGhpcy5jbGlja1N0YXJ0ZWRJbkNvbnRlbnQgPSBldmVudC50YXJnZXQgIT09IHRoaXMuX2VsZW1lbnQubmF0aXZlRWxlbWVudDtcbiAgfVxuXG4gIEBIb3N0TGlzdGVuZXIoJ21vdXNldXAnLCBbJyRldmVudCddKVxuICBvbkNsaWNrU3RvcChldmVudDogTW91c2VFdmVudCk6IHZvaWQge1xuICAgIGNvbnN0IGNsaWNrZWRJbkJhY2tkcm9wID0gZXZlbnQudGFyZ2V0ID09PSB0aGlzLl9lbGVtZW50Lm5hdGl2ZUVsZW1lbnQgJiYgIXRoaXMuY2xpY2tTdGFydGVkSW5Db250ZW50O1xuICAgIGlmIChcbiAgICAgIHRoaXMuY29uZmlnLmlnbm9yZUJhY2tkcm9wQ2xpY2sgfHxcbiAgICAgIHRoaXMuY29uZmlnLmJhY2tkcm9wID09PSAnc3RhdGljJyB8fFxuICAgICAgIWNsaWNrZWRJbkJhY2tkcm9wXG4gICAgKSB7XG4gICAgICB0aGlzLmNsaWNrU3RhcnRlZEluQ29udGVudCA9IGZhbHNlO1xuXG4gICAgICByZXR1cm47XG4gICAgfVxuICAgIHRoaXMuYnNNb2RhbFNlcnZpY2Uuc2V0RGlzbWlzc1JlYXNvbihESVNNSVNTX1JFQVNPTlMuQkFDS1JET1ApO1xuICAgIHRoaXMuaGlkZSgpO1xuICB9XG5cbiAgQEhvc3RMaXN0ZW5lcignd2luZG93OmtleWRvd24uZXNjJywgWyckZXZlbnQnXSlcbiAgb25Fc2MoZXZlbnQ6IEtleWJvYXJkRXZlbnQpOiB2b2lkIHtcbiAgICBpZiAoIXRoaXMuaXNTaG93bikge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIC8vIHRzbGludDpkaXNhYmxlLW5leHQtbGluZTpkZXByZWNhdGlvblxuICAgIGlmIChldmVudC5rZXlDb2RlID09PSAyNyB8fCBldmVudC5rZXkgPT09ICdFc2NhcGUnKSB7XG4gICAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuICAgIH1cblxuICAgIGlmIChcbiAgICAgIHRoaXMuY29uZmlnLmtleWJvYXJkICYmXG4gICAgICB0aGlzLmxldmVsID09PSB0aGlzLmJzTW9kYWxTZXJ2aWNlLmdldE1vZGFsc0NvdW50KClcbiAgICApIHtcbiAgICAgIHRoaXMuYnNNb2RhbFNlcnZpY2Uuc2V0RGlzbWlzc1JlYXNvbihESVNNSVNTX1JFQVNPTlMuRVNDKTtcbiAgICAgIHRoaXMuaGlkZSgpO1xuICAgIH1cbiAgfVxuXG4gIG5nT25EZXN0cm95KCk6IHZvaWQge1xuICAgIGlmICh0aGlzLmlzU2hvd24pIHtcbiAgICAgIHRoaXMuaGlkZSgpO1xuICAgIH1cbiAgfVxuXG4gIGhpZGUoKTogdm9pZCB7XG4gICAgaWYgKHRoaXMuaXNNb2RhbEhpZGluZyB8fCAhdGhpcy5pc1Nob3duKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuICAgIHRoaXMuaXNNb2RhbEhpZGluZyA9IHRydWU7XG4gICAgdGhpcy5fcmVuZGVyZXIucmVtb3ZlQ2xhc3MoXG4gICAgICB0aGlzLl9lbGVtZW50Lm5hdGl2ZUVsZW1lbnQsXG4gICAgICBpc0JzMygpID8gQ0xBU1NfTkFNRS5JTiA6IENMQVNTX05BTUUuU0hPV1xuICAgICk7XG4gICAgc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICB0aGlzLmlzU2hvd24gPSBmYWxzZTtcbiAgICAgIGlmIChcbiAgICAgICAgZG9jdW1lbnQgJiZcbiAgICAgICAgZG9jdW1lbnQuYm9keSAmJlxuICAgICAgICB0aGlzLmJzTW9kYWxTZXJ2aWNlLmdldE1vZGFsc0NvdW50KCkgPT09IDFcbiAgICAgICkge1xuICAgICAgICB0aGlzLl9yZW5kZXJlci5yZW1vdmVDbGFzcyhkb2N1bWVudC5ib2R5LCBDTEFTU19OQU1FLk9QRU4pO1xuICAgICAgfVxuICAgICAgdGhpcy5ic01vZGFsU2VydmljZS5oaWRlKHRoaXMubGV2ZWwpO1xuICAgICAgdGhpcy5pc01vZGFsSGlkaW5nID0gZmFsc2U7XG4gICAgfSwgdGhpcy5pc0FuaW1hdGVkID8gVFJBTlNJVElPTl9EVVJBVElPTlMuTU9EQUwgOiAwKTtcbiAgfVxufVxuIl19
|
@@ -47,6 +47,21 @@ if (false) {
|
|
47
47
|
* @type {?}
|
48
48
|
*/
|
49
49
|
ModalOptions.prototype.initialState;
|
50
|
+
/**
|
51
|
+
* Modal providers
|
52
|
+
* @type {?}
|
53
|
+
*/
|
54
|
+
ModalOptions.prototype.providers;
|
55
|
+
/**
|
56
|
+
* aria-labelledby attribute value to set on the modal window
|
57
|
+
* @type {?}
|
58
|
+
*/
|
59
|
+
ModalOptions.prototype.ariaLabelledBy;
|
60
|
+
/**
|
61
|
+
* aria-describedby attribute value to set on the modal window
|
62
|
+
* @type {?}
|
63
|
+
*/
|
64
|
+
ModalOptions.prototype.ariaDescribedby;
|
50
65
|
}
|
51
66
|
/** @type {?} */
|
52
67
|
export const modalConfigDefaults = {
|
@@ -86,4 +101,4 @@ export const DISMISS_REASONS = {
|
|
86
101
|
BACKRDOP: 'backdrop-click',
|
87
102
|
ESC: 'esc'
|
88
103
|
};
|
89
|
-
//# sourceMappingURL=data:application/json;base64,
|
104
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9kYWwtb3B0aW9ucy5jbGFzcy5qcyIsInNvdXJjZVJvb3QiOiJuZzovL25neC1ib290c3RyYXAvbW9kYWwvIiwic291cmNlcyI6WyJtb2RhbC1vcHRpb25zLmNsYXNzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7QUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFrQixNQUFNLGVBQWUsQ0FBQztBQUkzRCxNQUFNLE9BQU8sWUFBWTs7O1lBRHhCLFVBQVU7Ozs7Ozs7O0lBTVQsZ0NBQThCOzs7OztJQUk5QixnQ0FBbUI7O0lBRW5CLDZCQUFnQjs7Ozs7SUFJaEIsNEJBQWU7Ozs7O0lBSWYsMkNBQThCOzs7OztJQUk5Qiw2QkFBZTs7Ozs7SUFJZixnQ0FBbUI7Ozs7O0lBSW5CLG9DQUFzQjs7Ozs7SUFJdEIsaUNBQTZCOzs7OztJQUk3QixzQ0FBd0I7Ozs7O0lBSXhCLHVDQUF5Qjs7O0FBSTNCLE1BQU0sT0FBTyxtQkFBbUIsR0FBaUI7SUFDL0MsUUFBUSxFQUFFLElBQUk7SUFDZCxRQUFRLEVBQUUsSUFBSTtJQUNkLEtBQUssRUFBRSxJQUFJO0lBQ1gsSUFBSSxFQUFFLEtBQUs7SUFDWCxtQkFBbUIsRUFBRSxLQUFLO0lBQzFCLEtBQUssRUFBRSxFQUFFO0lBQ1QsUUFBUSxFQUFFLElBQUk7SUFDZCxZQUFZLEVBQUUsRUFBRTtDQUNqQjs7QUFFRCxNQUFNLE9BQU8sVUFBVSxHQUFjO0lBQ25DLGtCQUFrQixFQUFFLHlCQUF5QjtJQUM3QyxRQUFRLEVBQUUsZ0JBQWdCO0lBQzFCLElBQUksRUFBRSxZQUFZO0lBQ2xCLElBQUksRUFBRSxNQUFNO0lBQ1osRUFBRSxFQUFFLElBQUk7O0lBQ1IsSUFBSSxFQUFFLE1BQU0sQ0FBQyxNQUFNO0NBQ3BCOztBQUVELE1BQU0sT0FBTyxRQUFRLEdBQWE7SUFDaEMsTUFBTSxFQUFFLGVBQWU7SUFDdkIsV0FBVyxFQUFFLHVCQUF1QjtJQUNwQyxZQUFZLEVBQUUsd0JBQXdCO0lBQ3RDLGFBQWEsRUFBRSxvREFBb0Q7Q0FDcEU7O0FBRUQsTUFBTSxPQUFPLG9CQUFvQixHQUF3QjtJQUN2RCxLQUFLLEVBQUUsR0FBRztJQUNWLFFBQVEsRUFBRSxHQUFHO0NBQ2Q7O0FBRUQsTUFBTSxPQUFPLGVBQWUsR0FBbUI7SUFDN0MsUUFBUSxFQUFFLGdCQUFnQjtJQUMxQixHQUFHLEVBQUUsS0FBSztDQUNYIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSwgU3RhdGljUHJvdmlkZXIgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IENsYXNzTmFtZSwgRGlzbWlzc1JlYXNvbnMsIFNlbGVjdG9yLCBUcmFuc2l0aW9uRHVyYXRpb25zIH0gZnJvbSAnLi9tb2RlbHMnO1xuXG5ASW5qZWN0YWJsZSgpXG5leHBvcnQgY2xhc3MgTW9kYWxPcHRpb25zIHtcbiAgLyoqXG4gICAqICBJbmNsdWRlcyBhIG1vZGFsLWJhY2tkcm9wIGVsZW1lbnQuIEFsdGVybmF0aXZlbHksXG4gICAqICBzcGVjaWZ5IHN0YXRpYyBmb3IgYSBiYWNrZHJvcCB3aGljaCBkb2Vzbid0IGNsb3NlIHRoZSBtb2RhbCBvbiBjbGljay5cbiAgICovXG4gIGJhY2tkcm9wPzogYm9vbGVhbiB8ICdzdGF0aWMnO1xuICAvKipcbiAgICogQ2xvc2VzIHRoZSBtb2RhbCB3aGVuIGVzY2FwZSBrZXkgaXMgcHJlc3NlZC5cbiAgICovXG4gIGtleWJvYXJkPzogYm9vbGVhbjtcblxuICBmb2N1cz86IGJvb2xlYW47XG4gIC8qKlxuICAgKiBTaG93cyB0aGUgbW9kYWwgd2hlbiBpbml0aWFsaXplZC5cbiAgICovXG4gIHNob3c/OiBib29sZWFuO1xuICAvKipcbiAgICogSWdub3JlIHRoZSBiYWNrZHJvcCBjbGlja1xuICAgKi9cbiAgaWdub3JlQmFja2Ryb3BDbGljaz86IGJvb2xlYW47XG4gIC8qKlxuICAgKiBDc3MgY2xhc3MgZm9yIG9wZW5lZCBtb2RhbFxuICAgKi9cbiAgY2xhc3M/OiBzdHJpbmc7XG4gIC8qKlxuICAgKiBUb2dnbGUgYW5pbWF0aW9uXG4gICAqL1xuICBhbmltYXRlZD86IGJvb2xlYW47XG4gIC8qKlxuICAgKiBNb2RhbCBkYXRhXG4gICAqL1xuICBpbml0aWFsU3RhdGU/OiBPYmplY3Q7XG4gIC8qKlxuICAgKiBNb2RhbCBwcm92aWRlcnNcbiAgICovXG4gIHByb3ZpZGVycz86IFN0YXRpY1Byb3ZpZGVyW107XG4gIC8qKlxuICAgKiBhcmlhLWxhYmVsbGVkYnkgYXR0cmlidXRlIHZhbHVlIHRvIHNldCBvbiB0aGUgbW9kYWwgd2luZG93XG4gICAqL1xuICBhcmlhTGFiZWxsZWRCeT86IHN0cmluZztcbiAgLyoqXG4gICAqIGFyaWEtZGVzY3JpYmVkYnkgYXR0cmlidXRlIHZhbHVlIHRvIHNldCBvbiB0aGUgbW9kYWwgd2luZG93XG4gICAqL1xuICBhcmlhRGVzY3JpYmVkYnk/OiBzdHJpbmc7XG59XG5cblxuZXhwb3J0IGNvbnN0IG1vZGFsQ29uZmlnRGVmYXVsdHM6IE1vZGFsT3B0aW9ucyA9IHtcbiAgYmFja2Ryb3A6IHRydWUsXG4gIGtleWJvYXJkOiB0cnVlLFxuICBmb2N1czogdHJ1ZSxcbiAgc2hvdzogZmFsc2UsXG4gIGlnbm9yZUJhY2tkcm9wQ2xpY2s6IGZhbHNlLFxuICBjbGFzczogJycsXG4gIGFuaW1hdGVkOiB0cnVlLFxuICBpbml0aWFsU3RhdGU6IHt9XG59O1xuXG5leHBvcnQgY29uc3QgQ0xBU1NfTkFNRTogQ2xhc3NOYW1lID0ge1xuICBTQ1JPTExCQVJfTUVBU1VSRVI6ICdtb2RhbC1zY3JvbGxiYXItbWVhc3VyZScsXG4gIEJBQ0tEUk9QOiAnbW9kYWwtYmFja2Ryb3AnLFxuICBPUEVOOiAnbW9kYWwtb3BlbicsXG4gIEZBREU6ICdmYWRlJyxcbiAgSU46ICdpbicsIC8vIGJzM1xuICBTSE9XOiAnc2hvdycgLy8gYnM0XG59O1xuXG5leHBvcnQgY29uc3QgU0VMRUNUT1I6IFNlbGVjdG9yID0ge1xuICBESUFMT0c6ICcubW9kYWwtZGlhbG9nJyxcbiAgREFUQV9UT0dHTEU6ICdbZGF0YS10b2dnbGU9XCJtb2RhbFwiXScsXG4gIERBVEFfRElTTUlTUzogJ1tkYXRhLWRpc21pc3M9XCJtb2RhbFwiXScsXG4gIEZJWEVEX0NPTlRFTlQ6ICcubmF2YmFyLWZpeGVkLXRvcCwgLm5hdmJhci1maXhlZC1ib3R0b20sIC5pcy1maXhlZCdcbn07XG5cbmV4cG9ydCBjb25zdCBUUkFOU0lUSU9OX0RVUkFUSU9OUzogVHJhbnNpdGlvbkR1cmF0aW9ucyA9IHtcbiAgTU9EQUw6IDMwMCxcbiAgQkFDS0RST1A6IDE1MFxufTtcblxuZXhwb3J0IGNvbnN0IERJU01JU1NfUkVBU09OUzogRGlzbWlzc1JlYXNvbnMgPSB7XG4gIEJBQ0tSRE9QOiAnYmFja2Ryb3AtY2xpY2snLFxuICBFU0M6ICdlc2MnXG59O1xuIl19
|