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
@@ -2,7 +2,7 @@
|
|
2
2
|
typeof exports === 'object' && typeof module !== 'undefined' ? factory(exports, require('@angular/core'), require('@angular/forms')) :
|
3
3
|
typeof define === 'function' && define.amd ? define('ngx-bootstrap/buttons', ['exports', '@angular/core', '@angular/forms'], factory) :
|
4
4
|
(global = global || self, factory((global['ngx-bootstrap'] = global['ngx-bootstrap'] || {}, global['ngx-bootstrap'].buttons = {}), global.ng.core, global.ng.forms));
|
5
|
-
}(this, function (exports, core, forms) { 'use strict';
|
5
|
+
}(this, (function (exports, core, forms) { 'use strict';
|
6
6
|
|
7
7
|
/**
|
8
8
|
* @fileoverview added by tsickle
|
@@ -166,101 +166,47 @@
|
|
166
166
|
};
|
167
167
|
return ButtonCheckboxDirective;
|
168
168
|
}());
|
169
|
-
|
170
|
-
/**
|
171
|
-
* @fileoverview added by tsickle
|
172
|
-
* @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
|
173
|
-
*/
|
174
|
-
/** @type {?} */
|
175
|
-
var RADIO_CONTROL_VALUE_ACCESSOR = {
|
176
|
-
provide: forms.NG_VALUE_ACCESSOR,
|
177
|
-
/* tslint:disable-next-line: no-use-before-declare */
|
178
|
-
useExisting: core.forwardRef((/**
|
179
|
-
* @return {?}
|
180
|
-
*/
|
181
|
-
function () { return ButtonRadioGroupDirective; })),
|
182
|
-
multi: true
|
183
|
-
};
|
184
|
-
/**
|
185
|
-
* A group of radio buttons.
|
186
|
-
* A value of a selected button is bound to a variable specified via ngModel.
|
187
|
-
*/
|
188
|
-
var ButtonRadioGroupDirective = /** @class */ (function () {
|
189
|
-
function ButtonRadioGroupDirective(cdr) {
|
190
|
-
this.cdr = cdr;
|
191
|
-
this.onChange = Function.prototype;
|
192
|
-
this.onTouched = Function.prototype;
|
193
|
-
}
|
194
|
-
Object.defineProperty(ButtonRadioGroupDirective.prototype, "value", {
|
195
|
-
get: /**
|
196
|
-
* @return {?}
|
197
|
-
*/
|
198
|
-
function () {
|
199
|
-
return this._value;
|
200
|
-
},
|
201
|
-
set: /**
|
202
|
-
* @param {?} value
|
203
|
-
* @return {?}
|
204
|
-
*/
|
205
|
-
function (value) {
|
206
|
-
this._value = value;
|
207
|
-
},
|
208
|
-
enumerable: true,
|
209
|
-
configurable: true
|
210
|
-
});
|
169
|
+
if (false) {
|
211
170
|
/**
|
212
|
-
*
|
213
|
-
* @
|
171
|
+
* Truthy value, will be set to ngModel
|
172
|
+
* @type {?}
|
214
173
|
*/
|
215
|
-
|
216
|
-
|
217
|
-
*
|
174
|
+
ButtonCheckboxDirective.prototype.btnCheckboxTrue;
|
175
|
+
/**
|
176
|
+
* Falsy value, will be set to ngModel
|
177
|
+
* @type {?}
|
218
178
|
*/
|
219
|
-
|
220
|
-
|
221
|
-
|
222
|
-
};
|
179
|
+
ButtonCheckboxDirective.prototype.btnCheckboxFalse;
|
180
|
+
/** @type {?} */
|
181
|
+
ButtonCheckboxDirective.prototype.state;
|
223
182
|
/**
|
224
|
-
* @
|
225
|
-
* @
|
183
|
+
* @type {?}
|
184
|
+
* @protected
|
226
185
|
*/
|
227
|
-
|
228
|
-
|
229
|
-
* @
|
186
|
+
ButtonCheckboxDirective.prototype.value;
|
187
|
+
/**
|
188
|
+
* @type {?}
|
189
|
+
* @protected
|
230
190
|
*/
|
231
|
-
|
232
|
-
this.onChange = fn;
|
233
|
-
};
|
191
|
+
ButtonCheckboxDirective.prototype.isDisabled;
|
234
192
|
/**
|
235
|
-
* @
|
236
|
-
* @
|
193
|
+
* @type {?}
|
194
|
+
* @protected
|
237
195
|
*/
|
238
|
-
|
239
|
-
|
240
|
-
* @
|
196
|
+
ButtonCheckboxDirective.prototype.onChange;
|
197
|
+
/**
|
198
|
+
* @type {?}
|
199
|
+
* @protected
|
241
200
|
*/
|
242
|
-
|
243
|
-
|
244
|
-
};
|
245
|
-
ButtonRadioGroupDirective.decorators = [
|
246
|
-
{ type: core.Directive, args: [{
|
247
|
-
selector: '[btnRadioGroup]',
|
248
|
-
providers: [RADIO_CONTROL_VALUE_ACCESSOR]
|
249
|
-
},] }
|
250
|
-
];
|
251
|
-
/** @nocollapse */
|
252
|
-
ButtonRadioGroupDirective.ctorParameters = function () { return [
|
253
|
-
{ type: core.ChangeDetectorRef }
|
254
|
-
]; };
|
255
|
-
return ButtonRadioGroupDirective;
|
256
|
-
}());
|
201
|
+
ButtonCheckboxDirective.prototype.onTouched;
|
202
|
+
}
|
257
203
|
|
258
204
|
/**
|
259
205
|
* @fileoverview added by tsickle
|
260
206
|
* @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
|
261
207
|
*/
|
262
208
|
/** @type {?} */
|
263
|
-
var RADIO_CONTROL_VALUE_ACCESSOR
|
209
|
+
var RADIO_CONTROL_VALUE_ACCESSOR = {
|
264
210
|
provide: forms.NG_VALUE_ACCESSOR,
|
265
211
|
/* tslint:disable-next-line: no-use-before-declare */
|
266
212
|
useExisting: core.forwardRef((/**
|
@@ -442,7 +388,7 @@
|
|
442
388
|
ButtonRadioDirective.decorators = [
|
443
389
|
{ type: core.Directive, args: [{
|
444
390
|
selector: '[btnRadio]',
|
445
|
-
providers: [RADIO_CONTROL_VALUE_ACCESSOR
|
391
|
+
providers: [RADIO_CONTROL_VALUE_ACCESSOR]
|
446
392
|
},] }
|
447
393
|
];
|
448
394
|
/** @nocollapse */
|
@@ -462,6 +408,183 @@
|
|
462
408
|
};
|
463
409
|
return ButtonRadioDirective;
|
464
410
|
}());
|
411
|
+
if (false) {
|
412
|
+
/** @type {?} */
|
413
|
+
ButtonRadioDirective.prototype.onChange;
|
414
|
+
/** @type {?} */
|
415
|
+
ButtonRadioDirective.prototype.onTouched;
|
416
|
+
/**
|
417
|
+
* Radio button value, will be set to `ngModel`
|
418
|
+
* @type {?}
|
419
|
+
*/
|
420
|
+
ButtonRadioDirective.prototype.btnRadio;
|
421
|
+
/**
|
422
|
+
* If `true` — radio button can be unchecked
|
423
|
+
* @type {?}
|
424
|
+
*/
|
425
|
+
ButtonRadioDirective.prototype.uncheckable;
|
426
|
+
/**
|
427
|
+
* @type {?}
|
428
|
+
* @private
|
429
|
+
*/
|
430
|
+
ButtonRadioDirective.prototype._value;
|
431
|
+
/**
|
432
|
+
* @type {?}
|
433
|
+
* @private
|
434
|
+
*/
|
435
|
+
ButtonRadioDirective.prototype._disabled;
|
436
|
+
/**
|
437
|
+
* @type {?}
|
438
|
+
* @private
|
439
|
+
*/
|
440
|
+
ButtonRadioDirective.prototype.el;
|
441
|
+
/**
|
442
|
+
* @type {?}
|
443
|
+
* @private
|
444
|
+
*/
|
445
|
+
ButtonRadioDirective.prototype.cdr;
|
446
|
+
/**
|
447
|
+
* @type {?}
|
448
|
+
* @private
|
449
|
+
*/
|
450
|
+
ButtonRadioDirective.prototype.group;
|
451
|
+
/**
|
452
|
+
* @type {?}
|
453
|
+
* @private
|
454
|
+
*/
|
455
|
+
ButtonRadioDirective.prototype.renderer;
|
456
|
+
}
|
457
|
+
|
458
|
+
/**
|
459
|
+
* @fileoverview added by tsickle
|
460
|
+
* @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
|
461
|
+
*/
|
462
|
+
/** @type {?} */
|
463
|
+
var RADIO_CONTROL_VALUE_ACCESSOR$1 = {
|
464
|
+
provide: forms.NG_VALUE_ACCESSOR,
|
465
|
+
/* tslint:disable-next-line: no-use-before-declare */
|
466
|
+
useExisting: core.forwardRef((/**
|
467
|
+
* @return {?}
|
468
|
+
*/
|
469
|
+
function () { return ButtonRadioGroupDirective; })),
|
470
|
+
multi: true
|
471
|
+
};
|
472
|
+
/**
|
473
|
+
* A group of radio buttons.
|
474
|
+
* A value of a selected button is bound to a variable specified via ngModel.
|
475
|
+
*/
|
476
|
+
var ButtonRadioGroupDirective = /** @class */ (function () {
|
477
|
+
function ButtonRadioGroupDirective(cdr) {
|
478
|
+
this.cdr = cdr;
|
479
|
+
this.onChange = Function.prototype;
|
480
|
+
this.onTouched = Function.prototype;
|
481
|
+
}
|
482
|
+
Object.defineProperty(ButtonRadioGroupDirective.prototype, "value", {
|
483
|
+
get: /**
|
484
|
+
* @return {?}
|
485
|
+
*/
|
486
|
+
function () {
|
487
|
+
return this._value;
|
488
|
+
},
|
489
|
+
set: /**
|
490
|
+
* @param {?} value
|
491
|
+
* @return {?}
|
492
|
+
*/
|
493
|
+
function (value) {
|
494
|
+
this._value = value;
|
495
|
+
},
|
496
|
+
enumerable: true,
|
497
|
+
configurable: true
|
498
|
+
});
|
499
|
+
/**
|
500
|
+
* @param {?} value
|
501
|
+
* @return {?}
|
502
|
+
*/
|
503
|
+
ButtonRadioGroupDirective.prototype.writeValue = /**
|
504
|
+
* @param {?} value
|
505
|
+
* @return {?}
|
506
|
+
*/
|
507
|
+
function (value) {
|
508
|
+
this._value = value;
|
509
|
+
this.cdr.markForCheck();
|
510
|
+
};
|
511
|
+
/**
|
512
|
+
* @param {?} fn
|
513
|
+
* @return {?}
|
514
|
+
*/
|
515
|
+
ButtonRadioGroupDirective.prototype.registerOnChange = /**
|
516
|
+
* @param {?} fn
|
517
|
+
* @return {?}
|
518
|
+
*/
|
519
|
+
function (fn) {
|
520
|
+
this.onChange = fn;
|
521
|
+
};
|
522
|
+
/**
|
523
|
+
* @param {?} fn
|
524
|
+
* @return {?}
|
525
|
+
*/
|
526
|
+
ButtonRadioGroupDirective.prototype.registerOnTouched = /**
|
527
|
+
* @param {?} fn
|
528
|
+
* @return {?}
|
529
|
+
*/
|
530
|
+
function (fn) {
|
531
|
+
this.onTouched = fn;
|
532
|
+
};
|
533
|
+
/**
|
534
|
+
* @param {?} disabled
|
535
|
+
* @return {?}
|
536
|
+
*/
|
537
|
+
ButtonRadioGroupDirective.prototype.setDisabledState = /**
|
538
|
+
* @param {?} disabled
|
539
|
+
* @return {?}
|
540
|
+
*/
|
541
|
+
function (disabled) {
|
542
|
+
if (this.radioButtons) {
|
543
|
+
this.radioButtons.forEach((/**
|
544
|
+
* @param {?} buttons
|
545
|
+
* @return {?}
|
546
|
+
*/
|
547
|
+
function (buttons) {
|
548
|
+
buttons.setDisabledState(disabled);
|
549
|
+
}));
|
550
|
+
}
|
551
|
+
};
|
552
|
+
ButtonRadioGroupDirective.decorators = [
|
553
|
+
{ type: core.Directive, args: [{
|
554
|
+
selector: '[btnRadioGroup]',
|
555
|
+
providers: [RADIO_CONTROL_VALUE_ACCESSOR$1]
|
556
|
+
},] }
|
557
|
+
];
|
558
|
+
/** @nocollapse */
|
559
|
+
ButtonRadioGroupDirective.ctorParameters = function () { return [
|
560
|
+
{ type: core.ChangeDetectorRef }
|
561
|
+
]; };
|
562
|
+
ButtonRadioGroupDirective.propDecorators = {
|
563
|
+
radioButtons: [{ type: core.ContentChildren, args: [core.forwardRef((/**
|
564
|
+
* @return {?}
|
565
|
+
*/
|
566
|
+
function () { return ButtonRadioDirective; })),] }]
|
567
|
+
};
|
568
|
+
return ButtonRadioGroupDirective;
|
569
|
+
}());
|
570
|
+
if (false) {
|
571
|
+
/** @type {?} */
|
572
|
+
ButtonRadioGroupDirective.prototype.onChange;
|
573
|
+
/** @type {?} */
|
574
|
+
ButtonRadioGroupDirective.prototype.onTouched;
|
575
|
+
/** @type {?} */
|
576
|
+
ButtonRadioGroupDirective.prototype.radioButtons;
|
577
|
+
/**
|
578
|
+
* @type {?}
|
579
|
+
* @private
|
580
|
+
*/
|
581
|
+
ButtonRadioGroupDirective.prototype._value;
|
582
|
+
/**
|
583
|
+
* @type {?}
|
584
|
+
* @private
|
585
|
+
*/
|
586
|
+
ButtonRadioGroupDirective.prototype.cdr;
|
587
|
+
}
|
465
588
|
|
466
589
|
/**
|
467
590
|
* @fileoverview added by tsickle
|
@@ -493,10 +616,10 @@
|
|
493
616
|
exports.ButtonRadioGroupDirective = ButtonRadioGroupDirective;
|
494
617
|
exports.ButtonsModule = ButtonsModule;
|
495
618
|
exports.ɵa = CHECKBOX_CONTROL_VALUE_ACCESSOR;
|
496
|
-
exports.ɵb = RADIO_CONTROL_VALUE_ACCESSOR;
|
497
|
-
exports.ɵc = RADIO_CONTROL_VALUE_ACCESSOR
|
619
|
+
exports.ɵb = RADIO_CONTROL_VALUE_ACCESSOR$1;
|
620
|
+
exports.ɵc = RADIO_CONTROL_VALUE_ACCESSOR;
|
498
621
|
|
499
622
|
Object.defineProperty(exports, '__esModule', { value: true });
|
500
623
|
|
501
|
-
}));
|
624
|
+
})));
|
502
625
|
//# sourceMappingURL=ngx-bootstrap-buttons.umd.js.map
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"ngx-bootstrap-buttons.umd.js","sources":["ng://ngx-bootstrap/buttons/button-checkbox.directive.ts","ng://ngx-bootstrap/buttons/button-radio-group.directive.ts","ng://ngx-bootstrap/buttons/button-radio.directive.ts","ng://ngx-bootstrap/buttons/buttons.module.ts"],"sourcesContent":["// tslint:disable:no-use-before-declare\nimport {\n Directive,\n forwardRef,\n HostBinding,\n HostListener,\n Input,\n OnInit,\n Provider\n} from '@angular/core';\nimport { ControlValueAccessor, NG_VALUE_ACCESSOR } from '@angular/forms';\n\n// TODO: config: activeClass - Class to apply to the checked buttons\nexport const CHECKBOX_CONTROL_VALUE_ACCESSOR: Provider = {\n provide: NG_VALUE_ACCESSOR,\n /* tslint:disable-next-line: no-use-before-declare */\n useExisting: forwardRef(() => ButtonCheckboxDirective),\n multi: true\n};\n\n/**\n * Add checkbox functionality to any element\n */\n@Directive({\n selector: '[btnCheckbox]',\n providers: [CHECKBOX_CONTROL_VALUE_ACCESSOR]\n})\nexport class ButtonCheckboxDirective implements ControlValueAccessor, OnInit {\n /** Truthy value, will be set to ngModel */\n @Input() btnCheckboxTrue = true;\n /** Falsy value, will be set to ngModel */\n @Input() btnCheckboxFalse = false;\n\n @HostBinding('class.active')\n @HostBinding('attr.aria-pressed')\n state = false;\n\n protected value: boolean | string;\n protected isDisabled: boolean;\n\n protected onChange = Function.prototype;\n protected onTouched = Function.prototype;\n\n // view -> model\n @HostListener('click')\n onClick(): void {\n if (this.isDisabled) {\n return;\n }\n\n this.toggle(!this.state);\n this.onChange(this.value);\n }\n\n ngOnInit(): void {\n this.toggle(this.trueValue === this.value);\n }\n\n protected get trueValue(): boolean {\n return typeof this.btnCheckboxTrue !== 'undefined'\n ? this.btnCheckboxTrue\n : true;\n }\n\n protected get falseValue(): boolean {\n return typeof this.btnCheckboxFalse !== 'undefined'\n ? this.btnCheckboxFalse\n : false;\n }\n\n toggle(state: boolean): void {\n this.state = state;\n this.value = this.state ? this.trueValue : this.falseValue;\n }\n\n // ControlValueAccessor\n // model -> view\n writeValue(value: boolean | string | null): void {\n this.state = this.trueValue === value;\n this.value = value ? this.trueValue : this.falseValue;\n }\n\n setDisabledState(isDisabled: boolean): void {\n this.isDisabled = isDisabled;\n }\n\n registerOnChange(fn: () => {}): void {\n this.onChange = fn;\n }\n\n registerOnTouched(fn: () => {}): void {\n this.onTouched = fn;\n }\n}\n","import { ChangeDetectorRef, Directive, forwardRef, Provider } from '@angular/core';\nimport { ControlValueAccessor, NG_VALUE_ACCESSOR } from '@angular/forms';\n\nexport const RADIO_CONTROL_VALUE_ACCESSOR: Provider = {\n provide: NG_VALUE_ACCESSOR,\n /* tslint:disable-next-line: no-use-before-declare */\n useExisting: forwardRef(() => ButtonRadioGroupDirective),\n multi: true\n};\n\n/**\n * A group of radio buttons.\n * A value of a selected button is bound to a variable specified via ngModel.\n */\n@Directive({\n selector: '[btnRadioGroup]',\n providers: [RADIO_CONTROL_VALUE_ACCESSOR]\n})\nexport class ButtonRadioGroupDirective implements ControlValueAccessor {\n onChange = Function.prototype;\n onTouched = Function.prototype;\n\n get value() {\n return this._value;\n }\n set value(value: string | null) {\n this._value = value;\n }\n\n private _value: string | null;\n\n constructor(private cdr: ChangeDetectorRef) {}\n\n writeValue(value: string | null): void {\n this._value = value;\n this.cdr.markForCheck();\n }\n\n registerOnChange(fn: () => {}): void {\n this.onChange = fn;\n }\n\n registerOnTouched(fn: () => {}): void {\n this.onTouched = fn;\n }\n}\n","import {\n ChangeDetectorRef,\n Directive,\n ElementRef,\n forwardRef,\n HostBinding,\n HostListener,\n Input,\n OnInit,\n Optional,\n Provider,\n Renderer2\n} from '@angular/core';\nimport { ControlValueAccessor, NG_VALUE_ACCESSOR } from '@angular/forms';\nimport { ButtonRadioGroupDirective } from './button-radio-group.directive';\n\nexport const RADIO_CONTROL_VALUE_ACCESSOR: Provider = {\n provide: NG_VALUE_ACCESSOR,\n /* tslint:disable-next-line: no-use-before-declare */\n useExisting: forwardRef(() => ButtonRadioDirective),\n multi: true\n};\n\n/**\n * Create radio buttons or groups of buttons.\n * A value of a selected button is bound to a variable specified via ngModel.\n */\n@Directive({\n selector: '[btnRadio]',\n providers: [RADIO_CONTROL_VALUE_ACCESSOR]\n})\nexport class ButtonRadioDirective implements ControlValueAccessor, OnInit {\n onChange = Function.prototype;\n onTouched = Function.prototype;\n\n /** Radio button value, will be set to `ngModel` */\n @Input() btnRadio: string;\n /** If `true` â radio button can be unchecked */\n @Input() uncheckable: boolean;\n /** Current value of radio component or group */\n @Input() get value() {\n return this.group ? this.group.value : this._value;\n }\n\n set value(value: null | string) {\n if (this.group) {\n this.group.value = value;\n\n return;\n }\n this._value = value;\n }\n /** If `true` â radio button is disabled */\n @Input() get disabled(): boolean {\n return this._disabled;\n }\n\n set disabled(disabled: boolean) {\n this._disabled = disabled;\n this.setDisabledState(disabled);\n }\n\n @HostBinding('class.active')\n @HostBinding('attr.aria-pressed')\n get isActive(): boolean {\n return this.btnRadio === this.value;\n }\n\n private _value: null | string;\n private _disabled: boolean;\n\n constructor(\n private el: ElementRef,\n private cdr: ChangeDetectorRef,\n @Optional() private group: ButtonRadioGroupDirective,\n private renderer: Renderer2\n ) {}\n\n @HostListener('click')\n onClick(): void {\n if (this.el.nativeElement.attributes.disabled || !this.uncheckable && this.btnRadio === this.value) {\n return;\n }\n\n this.value = this.uncheckable && this.btnRadio === this.value ? undefined : this.btnRadio;\n this._onChange(this.value);\n }\n\n ngOnInit(): void {\n this.uncheckable = typeof this.uncheckable !== 'undefined';\n }\n\n onBlur(): void {\n this.onTouched();\n }\n\n _onChange(value: string): void {\n if (this.group) {\n this.group.onTouched();\n this.group.onChange(value);\n\n return;\n }\n this.onTouched();\n this.onChange(value);\n }\n\n // ControlValueAccessor\n // model -> view\n writeValue(value: string): void {\n this.value = value;\n this.cdr.markForCheck();\n }\n\n registerOnChange(fn: () => {}): void {\n this.onChange = fn;\n }\n\n registerOnTouched(fn: () => {}): void {\n this.onTouched = fn;\n }\n\n setDisabledState(disabled: boolean): void {\n if (disabled) {\n this.renderer.setAttribute(this.el.nativeElement, 'disabled', 'disabled');\n\n return;\n }\n this.renderer.removeAttribute(this.el.nativeElement, 'disabled');\n }\n}\n","import { NgModule, ModuleWithProviders } from '@angular/core';\n\nimport { ButtonCheckboxDirective } from './button-checkbox.directive';\nimport { ButtonRadioDirective } from './button-radio.directive';\nimport { ButtonRadioGroupDirective } from './button-radio-group.directive';\n\n@NgModule({\n declarations: [ButtonCheckboxDirective, ButtonRadioDirective, ButtonRadioGroupDirective],\n exports: [ButtonCheckboxDirective, ButtonRadioDirective, ButtonRadioGroupDirective]\n})\nexport class ButtonsModule {\n static forRoot(): ModuleWithProviders {\n return { ngModule: ButtonsModule, providers: [] };\n }\n}\n"],"names":["NG_VALUE_ACCESSOR","forwardRef","Directive","Input","HostBinding","HostListener","ChangeDetectorRef","RADIO_CONTROL_VALUE_ACCESSOR","ElementRef","Optional","Renderer2","NgModule"],"mappings":"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"}
|
1
|
+
{"version":3,"file":"ngx-bootstrap-buttons.umd.js","sources":["ng://ngx-bootstrap/buttons/button-checkbox.directive.ts","ng://ngx-bootstrap/buttons/button-radio.directive.ts","ng://ngx-bootstrap/buttons/button-radio-group.directive.ts","ng://ngx-bootstrap/buttons/buttons.module.ts"],"sourcesContent":["// tslint:disable:no-use-before-declare\nimport {\n Directive,\n forwardRef,\n HostBinding,\n HostListener,\n Input,\n OnInit,\n Provider\n} from '@angular/core';\nimport { ControlValueAccessor, NG_VALUE_ACCESSOR } from '@angular/forms';\n\n// TODO: config: activeClass - Class to apply to the checked buttons\nexport const CHECKBOX_CONTROL_VALUE_ACCESSOR: Provider = {\n provide: NG_VALUE_ACCESSOR,\n /* tslint:disable-next-line: no-use-before-declare */\n useExisting: forwardRef(() => ButtonCheckboxDirective),\n multi: true\n};\n\n/**\n * Add checkbox functionality to any element\n */\n@Directive({\n selector: '[btnCheckbox]',\n providers: [CHECKBOX_CONTROL_VALUE_ACCESSOR]\n})\nexport class ButtonCheckboxDirective implements ControlValueAccessor, OnInit {\n /** Truthy value, will be set to ngModel */\n @Input() btnCheckboxTrue = true;\n /** Falsy value, will be set to ngModel */\n @Input() btnCheckboxFalse = false;\n\n @HostBinding('class.active')\n @HostBinding('attr.aria-pressed')\n state = false;\n\n protected value: boolean | string;\n protected isDisabled: boolean;\n\n protected onChange = Function.prototype;\n protected onTouched = Function.prototype;\n\n // view -> model\n @HostListener('click')\n onClick(): void {\n if (this.isDisabled) {\n return;\n }\n\n this.toggle(!this.state);\n this.onChange(this.value);\n }\n\n ngOnInit(): void {\n this.toggle(this.trueValue === this.value);\n }\n\n protected get trueValue(): boolean {\n return typeof this.btnCheckboxTrue !== 'undefined'\n ? this.btnCheckboxTrue\n : true;\n }\n\n protected get falseValue(): boolean {\n return typeof this.btnCheckboxFalse !== 'undefined'\n ? this.btnCheckboxFalse\n : false;\n }\n\n toggle(state: boolean): void {\n this.state = state;\n this.value = this.state ? this.trueValue : this.falseValue;\n }\n\n // ControlValueAccessor\n // model -> view\n writeValue(value: boolean | string | null): void {\n this.state = this.trueValue === value;\n this.value = value ? this.trueValue : this.falseValue;\n }\n\n setDisabledState(isDisabled: boolean): void {\n this.isDisabled = isDisabled;\n }\n\n registerOnChange(fn: () => {}): void {\n this.onChange = fn;\n }\n\n registerOnTouched(fn: () => {}): void {\n this.onTouched = fn;\n }\n}\n","import {\n ChangeDetectorRef,\n Directive,\n ElementRef,\n forwardRef,\n HostBinding,\n HostListener,\n Input,\n OnInit,\n Optional,\n Provider,\n Renderer2\n} from '@angular/core';\nimport { ControlValueAccessor, NG_VALUE_ACCESSOR } from '@angular/forms';\nimport { ButtonRadioGroupDirective } from './button-radio-group.directive';\n\nexport const RADIO_CONTROL_VALUE_ACCESSOR: Provider = {\n provide: NG_VALUE_ACCESSOR,\n /* tslint:disable-next-line: no-use-before-declare */\n useExisting: forwardRef(() => ButtonRadioDirective),\n multi: true\n};\n\n/**\n * Create radio buttons or groups of buttons.\n * A value of a selected button is bound to a variable specified via ngModel.\n */\n@Directive({\n selector: '[btnRadio]',\n providers: [RADIO_CONTROL_VALUE_ACCESSOR]\n})\nexport class ButtonRadioDirective implements ControlValueAccessor, OnInit {\n onChange = Function.prototype;\n onTouched = Function.prototype;\n\n /** Radio button value, will be set to `ngModel` */\n @Input() btnRadio: string;\n /** If `true` â radio button can be unchecked */\n @Input() uncheckable: boolean;\n /** Current value of radio component or group */\n @Input() get value() {\n return this.group ? this.group.value : this._value;\n }\n\n set value(value: null | string) {\n if (this.group) {\n this.group.value = value;\n\n return;\n }\n this._value = value;\n }\n /** If `true` â radio button is disabled */\n @Input() get disabled(): boolean {\n return this._disabled;\n }\n\n set disabled(disabled: boolean) {\n this._disabled = disabled;\n this.setDisabledState(disabled);\n }\n\n @HostBinding('class.active')\n @HostBinding('attr.aria-pressed')\n get isActive(): boolean {\n return this.btnRadio === this.value;\n }\n\n private _value: null | string;\n private _disabled: boolean;\n\n constructor(\n private el: ElementRef,\n private cdr: ChangeDetectorRef,\n @Optional() private group: ButtonRadioGroupDirective,\n private renderer: Renderer2\n ) {}\n\n @HostListener('click')\n onClick(): void {\n if (this.el.nativeElement.attributes.disabled || !this.uncheckable && this.btnRadio === this.value) {\n return;\n }\n\n this.value = this.uncheckable && this.btnRadio === this.value ? undefined : this.btnRadio;\n this._onChange(this.value);\n }\n\n ngOnInit(): void {\n this.uncheckable = typeof this.uncheckable !== 'undefined';\n }\n\n onBlur(): void {\n this.onTouched();\n }\n\n _onChange(value: string): void {\n if (this.group) {\n this.group.onTouched();\n this.group.onChange(value);\n\n return;\n }\n this.onTouched();\n this.onChange(value);\n }\n\n // ControlValueAccessor\n // model -> view\n writeValue(value: string): void {\n this.value = value;\n this.cdr.markForCheck();\n }\n\n registerOnChange(fn: () => {}): void {\n this.onChange = fn;\n }\n\n registerOnTouched(fn: () => {}): void {\n this.onTouched = fn;\n }\n\n setDisabledState(disabled: boolean): void {\n if (disabled) {\n this.renderer.setAttribute(this.el.nativeElement, 'disabled', 'disabled');\n\n return;\n }\n this.renderer.removeAttribute(this.el.nativeElement, 'disabled');\n }\n}\n","import {\n ChangeDetectorRef,\n ContentChildren,\n Directive,\n forwardRef,\n Provider,\n QueryList\n} from '@angular/core';\nimport { ControlValueAccessor, NG_VALUE_ACCESSOR } from '@angular/forms';\n\nimport { ButtonRadioDirective } from './button-radio.directive';\n\nexport const RADIO_CONTROL_VALUE_ACCESSOR: Provider = {\n provide: NG_VALUE_ACCESSOR,\n /* tslint:disable-next-line: no-use-before-declare */\n useExisting: forwardRef(() => ButtonRadioGroupDirective),\n multi: true\n};\n\n/**\n * A group of radio buttons.\n * A value of a selected button is bound to a variable specified via ngModel.\n */\n@Directive({\n selector: '[btnRadioGroup]',\n providers: [RADIO_CONTROL_VALUE_ACCESSOR]\n})\nexport class ButtonRadioGroupDirective implements ControlValueAccessor {\n onChange = Function.prototype;\n onTouched = Function.prototype;\n\n @ContentChildren(forwardRef(() => ButtonRadioDirective)) radioButtons: QueryList<ButtonRadioDirective>;\n\n get value() {\n return this._value;\n }\n set value(value: string | null) {\n this._value = value;\n }\n\n private _value: string | null;\n\n constructor(private cdr: ChangeDetectorRef) {}\n\n writeValue(value: string | null): void {\n this._value = value;\n this.cdr.markForCheck();\n }\n\n registerOnChange(fn: () => {}): void {\n this.onChange = fn;\n }\n\n registerOnTouched(fn: () => {}): void {\n this.onTouched = fn;\n }\n\n setDisabledState(disabled: boolean): void {\n if (this.radioButtons) {\n this.radioButtons.forEach(buttons => {\n buttons.setDisabledState(disabled);\n });\n }\n }\n}\n","import { NgModule, ModuleWithProviders } from '@angular/core';\n\nimport { ButtonCheckboxDirective } from './button-checkbox.directive';\nimport { ButtonRadioDirective } from './button-radio.directive';\nimport { ButtonRadioGroupDirective } from './button-radio-group.directive';\n\n@NgModule({\n declarations: [ButtonCheckboxDirective, ButtonRadioDirective, ButtonRadioGroupDirective],\n exports: [ButtonCheckboxDirective, ButtonRadioDirective, ButtonRadioGroupDirective]\n})\nexport class ButtonsModule {\n static forRoot(): ModuleWithProviders {\n return { ngModule: ButtonsModule, providers: [] };\n }\n}\n"],"names":["NG_VALUE_ACCESSOR","forwardRef","Directive","Input","HostBinding","HostListener","ElementRef","ChangeDetectorRef","Optional","Renderer2","RADIO_CONTROL_VALUE_ACCESSOR","ContentChildren","NgModule"],"mappings":"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"}
|
@@ -1,2 +1,2 @@
|
|
1
|
-
!function(t,e){"object"==typeof exports&&"undefined"!=typeof module?e(exports,require("@angular/core"),require("@angular/forms")):"function"==typeof define&&define.amd?define("ngx-bootstrap/buttons",["exports","@angular/core","@angular/forms"],e):e(((t=t||self)["ngx-bootstrap"]=t["ngx-bootstrap"]||{},t["ngx-bootstrap"].buttons={}),t.ng.core,t.ng.forms)}(this,function(t,e,o){"use strict";var n={provide:o.NG_VALUE_ACCESSOR,useExisting:e.forwardRef(function(){return i}),multi:!0},i=function(){function t(){this.btnCheckboxTrue=!0,this.btnCheckboxFalse=!1,this.state=!1,this.onChange=Function.prototype,this.onTouched=Function.prototype}return t.prototype.onClick=function(){this.isDisabled||(this.toggle(!this.state),this.onChange(this.value))},t.prototype.ngOnInit=function(){this.toggle(this.trueValue===this.value)},Object.defineProperty(t.prototype,"trueValue",{get:function(){return void 0===this.btnCheckboxTrue||this.btnCheckboxTrue},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"falseValue",{get:function(){return void 0!==this.btnCheckboxFalse&&this.btnCheckboxFalse},enumerable:!0,configurable:!0}),t.prototype.toggle=function(t){this.state=t,this.value=this.state?this.trueValue:this.falseValue},t.prototype.writeValue=function(t){this.state=this.trueValue===t,this.value=t?this.trueValue:this.falseValue},t.prototype.setDisabledState=function(t){this.isDisabled=t},t.prototype.registerOnChange=function(t){this.onChange=t},t.prototype.registerOnTouched=function(t){this.onTouched=t},t.decorators=[{type:e.Directive,args:[{selector:"[btnCheckbox]",providers:[n]}]}],t.propDecorators={btnCheckboxTrue:[{type:e.Input}],btnCheckboxFalse:[{type:e.Input}],state:[{type:e.HostBinding,args:["class.active"]},{type:e.HostBinding,args:["attr.aria-pressed"]}],onClick:[{type:e.HostListener,args:["click"]}]},t}()
|
1
|
+
!function(t,e){"object"==typeof exports&&"undefined"!=typeof module?e(exports,require("@angular/core"),require("@angular/forms")):"function"==typeof define&&define.amd?define("ngx-bootstrap/buttons",["exports","@angular/core","@angular/forms"],e):e(((t=t||self)["ngx-bootstrap"]=t["ngx-bootstrap"]||{},t["ngx-bootstrap"].buttons={}),t.ng.core,t.ng.forms)}(this,(function(t,e,o){"use strict";var n={provide:o.NG_VALUE_ACCESSOR,useExisting:e.forwardRef((function(){return i})),multi:!0},i=function(){function t(){this.btnCheckboxTrue=!0,this.btnCheckboxFalse=!1,this.state=!1,this.onChange=Function.prototype,this.onTouched=Function.prototype}return t.prototype.onClick=function(){this.isDisabled||(this.toggle(!this.state),this.onChange(this.value))},t.prototype.ngOnInit=function(){this.toggle(this.trueValue===this.value)},Object.defineProperty(t.prototype,"trueValue",{get:function(){return void 0===this.btnCheckboxTrue||this.btnCheckboxTrue},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"falseValue",{get:function(){return void 0!==this.btnCheckboxFalse&&this.btnCheckboxFalse},enumerable:!0,configurable:!0}),t.prototype.toggle=function(t){this.state=t,this.value=this.state?this.trueValue:this.falseValue},t.prototype.writeValue=function(t){this.state=this.trueValue===t,this.value=t?this.trueValue:this.falseValue},t.prototype.setDisabledState=function(t){this.isDisabled=t},t.prototype.registerOnChange=function(t){this.onChange=t},t.prototype.registerOnTouched=function(t){this.onTouched=t},t.decorators=[{type:e.Directive,args:[{selector:"[btnCheckbox]",providers:[n]}]}],t.propDecorators={btnCheckboxTrue:[{type:e.Input}],btnCheckboxFalse:[{type:e.Input}],state:[{type:e.HostBinding,args:["class.active"]},{type:e.HostBinding,args:["attr.aria-pressed"]}],onClick:[{type:e.HostListener,args:["click"]}]},t}();var r={provide:o.NG_VALUE_ACCESSOR,useExisting:e.forwardRef((function(){return s})),multi:!0},s=function(){function t(t,e,o,n){this.el=t,this.cdr=e,this.group=o,this.renderer=n,this.onChange=Function.prototype,this.onTouched=Function.prototype}return Object.defineProperty(t.prototype,"value",{get:function(){return this.group?this.group.value:this._value},set:function(t){this.group?this.group.value=t:this._value=t},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"disabled",{get:function(){return this._disabled},set:function(t){this._disabled=t,this.setDisabledState(t)},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"isActive",{get:function(){return this.btnRadio===this.value},enumerable:!0,configurable:!0}),t.prototype.onClick=function(){this.el.nativeElement.attributes.disabled||!this.uncheckable&&this.btnRadio===this.value||(this.value=this.uncheckable&&this.btnRadio===this.value?void 0:this.btnRadio,this._onChange(this.value))},t.prototype.ngOnInit=function(){this.uncheckable=void 0!==this.uncheckable},t.prototype.onBlur=function(){this.onTouched()},t.prototype._onChange=function(t){if(this.group)return this.group.onTouched(),void this.group.onChange(t);this.onTouched(),this.onChange(t)},t.prototype.writeValue=function(t){this.value=t,this.cdr.markForCheck()},t.prototype.registerOnChange=function(t){this.onChange=t},t.prototype.registerOnTouched=function(t){this.onTouched=t},t.prototype.setDisabledState=function(t){t?this.renderer.setAttribute(this.el.nativeElement,"disabled","disabled"):this.renderer.removeAttribute(this.el.nativeElement,"disabled")},t.decorators=[{type:e.Directive,args:[{selector:"[btnRadio]",providers:[r]}]}],t.ctorParameters=function(){return[{type:e.ElementRef},{type:e.ChangeDetectorRef},{type:a,decorators:[{type:e.Optional}]},{type:e.Renderer2}]},t.propDecorators={btnRadio:[{type:e.Input}],uncheckable:[{type:e.Input}],value:[{type:e.Input}],disabled:[{type:e.Input}],isActive:[{type:e.HostBinding,args:["class.active"]},{type:e.HostBinding,args:["attr.aria-pressed"]}],onClick:[{type:e.HostListener,args:["click"]}]},t}();var u={provide:o.NG_VALUE_ACCESSOR,useExisting:e.forwardRef((function(){return a})),multi:!0},a=function(){function t(t){this.cdr=t,this.onChange=Function.prototype,this.onTouched=Function.prototype}return Object.defineProperty(t.prototype,"value",{get:function(){return this._value},set:function(t){this._value=t},enumerable:!0,configurable:!0}),t.prototype.writeValue=function(t){this._value=t,this.cdr.markForCheck()},t.prototype.registerOnChange=function(t){this.onChange=t},t.prototype.registerOnTouched=function(t){this.onTouched=t},t.prototype.setDisabledState=function(t){this.radioButtons&&this.radioButtons.forEach((function(e){e.setDisabledState(t)}))},t.decorators=[{type:e.Directive,args:[{selector:"[btnRadioGroup]",providers:[u]}]}],t.ctorParameters=function(){return[{type:e.ChangeDetectorRef}]},t.propDecorators={radioButtons:[{type:e.ContentChildren,args:[e.forwardRef((function(){return s}))]}]},t}();var c=function(){function t(){}return t.forRoot=function(){return{ngModule:t,providers:[]}},t.decorators=[{type:e.NgModule,args:[{declarations:[i,s,a],exports:[i,s,a]}]}],t}();t.ButtonCheckboxDirective=i,t.ButtonRadioDirective=s,t.ButtonRadioGroupDirective=a,t.ButtonsModule=c,t.ɵa=n,t.ɵb=u,t.ɵc=r,Object.defineProperty(t,"__esModule",{value:!0})}));
|
2
2
|
//# sourceMappingURL=ngx-bootstrap-buttons.umd.min.js.map
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"sources":["ng://ngx-bootstrap/buttons/button-checkbox.directive.ts","ng://ngx-bootstrap/buttons/button-radio-group.directive.ts","ng://ngx-bootstrap/buttons/button-radio.directive.ts","ng://ngx-bootstrap/buttons/buttons.module.ts"],"names":["CHECKBOX_CONTROL_VALUE_ACCESSOR","provide","NG_VALUE_ACCESSOR","useExisting","forwardRef","ButtonCheckboxDirective","multi","this","btnCheckboxTrue","btnCheckboxFalse","state","onChange","Function","prototype","onTouched","onClick","isDisabled","toggle","value","ngOnInit","trueValue","Object","defineProperty","falseValue","writeValue","setDisabledState","registerOnChange","fn","registerOnTouched","Directive","args","selector","providers","Input","HostBinding","type","HostListener","RADIO_CONTROL_VALUE_ACCESSOR","ButtonRadioGroupDirective","cdr","_value","markForCheck","ChangeDetectorRef","ButtonRadioDirective","el","group","renderer","_disabled","disabled","btnRadio","nativeElement","attributes","uncheckable","undefined","_onChange","onBlur","setAttribute","removeAttribute","ElementRef","decorators","Optional","Renderer2","ButtonsModule","forRoot","ngModule","NgModule","declarations","exports"],"mappings":"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","sourcesContent":["// tslint:disable:no-use-before-declare\nimport {\n Directive,\n forwardRef,\n HostBinding,\n HostListener,\n Input,\n OnInit,\n Provider\n} from '@angular/core';\nimport { ControlValueAccessor, NG_VALUE_ACCESSOR } from '@angular/forms';\n\n// TODO: config: activeClass - Class to apply to the checked buttons\nexport const CHECKBOX_CONTROL_VALUE_ACCESSOR: Provider = {\n provide: NG_VALUE_ACCESSOR,\n /* tslint:disable-next-line: no-use-before-declare */\n useExisting: forwardRef(() => ButtonCheckboxDirective),\n multi: true\n};\n\n/**\n * Add checkbox functionality to any element\n */\n@Directive({\n selector: '[btnCheckbox]',\n providers: [CHECKBOX_CONTROL_VALUE_ACCESSOR]\n})\nexport class ButtonCheckboxDirective implements ControlValueAccessor, OnInit {\n /** Truthy value, will be set to ngModel */\n @Input() btnCheckboxTrue = true;\n /** Falsy value, will be set to ngModel */\n @Input() btnCheckboxFalse = false;\n\n @HostBinding('class.active')\n @HostBinding('attr.aria-pressed')\n state = false;\n\n protected value: boolean | string;\n protected isDisabled: boolean;\n\n protected onChange = Function.prototype;\n protected onTouched = Function.prototype;\n\n // view -> model\n @HostListener('click')\n onClick(): void {\n if (this.isDisabled) {\n return;\n }\n\n this.toggle(!this.state);\n this.onChange(this.value);\n }\n\n ngOnInit(): void {\n this.toggle(this.trueValue === this.value);\n }\n\n protected get trueValue(): boolean {\n return typeof this.btnCheckboxTrue !== 'undefined'\n ? this.btnCheckboxTrue\n : true;\n }\n\n protected get falseValue(): boolean {\n return typeof this.btnCheckboxFalse !== 'undefined'\n ? this.btnCheckboxFalse\n : false;\n }\n\n toggle(state: boolean): void {\n this.state = state;\n this.value = this.state ? this.trueValue : this.falseValue;\n }\n\n // ControlValueAccessor\n // model -> view\n writeValue(value: boolean | string | null): void {\n this.state = this.trueValue === value;\n this.value = value ? this.trueValue : this.falseValue;\n }\n\n setDisabledState(isDisabled: boolean): void {\n this.isDisabled = isDisabled;\n }\n\n registerOnChange(fn: () => {}): void {\n this.onChange = fn;\n }\n\n registerOnTouched(fn: () => {}): void {\n this.onTouched = fn;\n }\n}\n","import { ChangeDetectorRef, Directive, forwardRef, Provider } from '@angular/core';\nimport { ControlValueAccessor, NG_VALUE_ACCESSOR } from '@angular/forms';\n\nexport const RADIO_CONTROL_VALUE_ACCESSOR: Provider = {\n provide: NG_VALUE_ACCESSOR,\n /* tslint:disable-next-line: no-use-before-declare */\n useExisting: forwardRef(() => ButtonRadioGroupDirective),\n multi: true\n};\n\n/**\n * A group of radio buttons.\n * A value of a selected button is bound to a variable specified via ngModel.\n */\n@Directive({\n selector: '[btnRadioGroup]',\n providers: [RADIO_CONTROL_VALUE_ACCESSOR]\n})\nexport class ButtonRadioGroupDirective implements ControlValueAccessor {\n onChange = Function.prototype;\n onTouched = Function.prototype;\n\n get value() {\n return this._value;\n }\n set value(value: string | null) {\n this._value = value;\n }\n\n private _value: string | null;\n\n constructor(private cdr: ChangeDetectorRef) {}\n\n writeValue(value: string | null): void {\n this._value = value;\n this.cdr.markForCheck();\n }\n\n registerOnChange(fn: () => {}): void {\n this.onChange = fn;\n }\n\n registerOnTouched(fn: () => {}): void {\n this.onTouched = fn;\n }\n}\n","import {\n ChangeDetectorRef,\n Directive,\n ElementRef,\n forwardRef,\n HostBinding,\n HostListener,\n Input,\n OnInit,\n Optional,\n Provider,\n Renderer2\n} from '@angular/core';\nimport { ControlValueAccessor, NG_VALUE_ACCESSOR } from '@angular/forms';\nimport { ButtonRadioGroupDirective } from './button-radio-group.directive';\n\nexport const RADIO_CONTROL_VALUE_ACCESSOR: Provider = {\n provide: NG_VALUE_ACCESSOR,\n /* tslint:disable-next-line: no-use-before-declare */\n useExisting: forwardRef(() => ButtonRadioDirective),\n multi: true\n};\n\n/**\n * Create radio buttons or groups of buttons.\n * A value of a selected button is bound to a variable specified via ngModel.\n */\n@Directive({\n selector: '[btnRadio]',\n providers: [RADIO_CONTROL_VALUE_ACCESSOR]\n})\nexport class ButtonRadioDirective implements ControlValueAccessor, OnInit {\n onChange = Function.prototype;\n onTouched = Function.prototype;\n\n /** Radio button value, will be set to `ngModel` */\n @Input() btnRadio: string;\n /** If `true` â radio button can be unchecked */\n @Input() uncheckable: boolean;\n /** Current value of radio component or group */\n @Input() get value() {\n return this.group ? this.group.value : this._value;\n }\n\n set value(value: null | string) {\n if (this.group) {\n this.group.value = value;\n\n return;\n }\n this._value = value;\n }\n /** If `true` â radio button is disabled */\n @Input() get disabled(): boolean {\n return this._disabled;\n }\n\n set disabled(disabled: boolean) {\n this._disabled = disabled;\n this.setDisabledState(disabled);\n }\n\n @HostBinding('class.active')\n @HostBinding('attr.aria-pressed')\n get isActive(): boolean {\n return this.btnRadio === this.value;\n }\n\n private _value: null | string;\n private _disabled: boolean;\n\n constructor(\n private el: ElementRef,\n private cdr: ChangeDetectorRef,\n @Optional() private group: ButtonRadioGroupDirective,\n private renderer: Renderer2\n ) {}\n\n @HostListener('click')\n onClick(): void {\n if (this.el.nativeElement.attributes.disabled || !this.uncheckable && this.btnRadio === this.value) {\n return;\n }\n\n this.value = this.uncheckable && this.btnRadio === this.value ? undefined : this.btnRadio;\n this._onChange(this.value);\n }\n\n ngOnInit(): void {\n this.uncheckable = typeof this.uncheckable !== 'undefined';\n }\n\n onBlur(): void {\n this.onTouched();\n }\n\n _onChange(value: string): void {\n if (this.group) {\n this.group.onTouched();\n this.group.onChange(value);\n\n return;\n }\n this.onTouched();\n this.onChange(value);\n }\n\n // ControlValueAccessor\n // model -> view\n writeValue(value: string): void {\n this.value = value;\n this.cdr.markForCheck();\n }\n\n registerOnChange(fn: () => {}): void {\n this.onChange = fn;\n }\n\n registerOnTouched(fn: () => {}): void {\n this.onTouched = fn;\n }\n\n setDisabledState(disabled: boolean): void {\n if (disabled) {\n this.renderer.setAttribute(this.el.nativeElement, 'disabled', 'disabled');\n\n return;\n }\n this.renderer.removeAttribute(this.el.nativeElement, 'disabled');\n }\n}\n","import { NgModule, ModuleWithProviders } from '@angular/core';\n\nimport { ButtonCheckboxDirective } from './button-checkbox.directive';\nimport { ButtonRadioDirective } from './button-radio.directive';\nimport { ButtonRadioGroupDirective } from './button-radio-group.directive';\n\n@NgModule({\n declarations: [ButtonCheckboxDirective, ButtonRadioDirective, ButtonRadioGroupDirective],\n exports: [ButtonCheckboxDirective, ButtonRadioDirective, ButtonRadioGroupDirective]\n})\nexport class ButtonsModule {\n static forRoot(): ModuleWithProviders {\n return { ngModule: ButtonsModule, providers: [] };\n }\n}\n"]}
|
1
|
+
{"version":3,"sources":["ng://ngx-bootstrap/buttons/button-checkbox.directive.ts","ng://ngx-bootstrap/buttons/button-radio.directive.ts","ng://ngx-bootstrap/buttons/button-radio-group.directive.ts","ng://ngx-bootstrap/buttons/buttons.module.ts"],"names":["CHECKBOX_CONTROL_VALUE_ACCESSOR","provide","NG_VALUE_ACCESSOR","useExisting","forwardRef","ButtonCheckboxDirective","multi","this","btnCheckboxTrue","btnCheckboxFalse","state","onChange","Function","prototype","onTouched","onClick","isDisabled","toggle","value","ngOnInit","trueValue","Object","defineProperty","falseValue","writeValue","setDisabledState","registerOnChange","fn","registerOnTouched","Directive","args","selector","providers","Input","HostBinding","type","HostListener","RADIO_CONTROL_VALUE_ACCESSOR","ButtonRadioDirective","el","cdr","group","renderer","_value","_disabled","disabled","btnRadio","nativeElement","attributes","uncheckable","undefined","_onChange","onBlur","markForCheck","setAttribute","removeAttribute","ElementRef","ChangeDetectorRef","ButtonRadioGroupDirective","decorators","Optional","Renderer2","radioButtons","forEach","buttons","ContentChildren","ButtonsModule","forRoot","ngModule","NgModule","declarations","exports"],"mappings":"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","sourcesContent":["// tslint:disable:no-use-before-declare\nimport {\n Directive,\n forwardRef,\n HostBinding,\n HostListener,\n Input,\n OnInit,\n Provider\n} from '@angular/core';\nimport { ControlValueAccessor, NG_VALUE_ACCESSOR } from '@angular/forms';\n\n// TODO: config: activeClass - Class to apply to the checked buttons\nexport const CHECKBOX_CONTROL_VALUE_ACCESSOR: Provider = {\n provide: NG_VALUE_ACCESSOR,\n /* tslint:disable-next-line: no-use-before-declare */\n useExisting: forwardRef(() => ButtonCheckboxDirective),\n multi: true\n};\n\n/**\n * Add checkbox functionality to any element\n */\n@Directive({\n selector: '[btnCheckbox]',\n providers: [CHECKBOX_CONTROL_VALUE_ACCESSOR]\n})\nexport class ButtonCheckboxDirective implements ControlValueAccessor, OnInit {\n /** Truthy value, will be set to ngModel */\n @Input() btnCheckboxTrue = true;\n /** Falsy value, will be set to ngModel */\n @Input() btnCheckboxFalse = false;\n\n @HostBinding('class.active')\n @HostBinding('attr.aria-pressed')\n state = false;\n\n protected value: boolean | string;\n protected isDisabled: boolean;\n\n protected onChange = Function.prototype;\n protected onTouched = Function.prototype;\n\n // view -> model\n @HostListener('click')\n onClick(): void {\n if (this.isDisabled) {\n return;\n }\n\n this.toggle(!this.state);\n this.onChange(this.value);\n }\n\n ngOnInit(): void {\n this.toggle(this.trueValue === this.value);\n }\n\n protected get trueValue(): boolean {\n return typeof this.btnCheckboxTrue !== 'undefined'\n ? this.btnCheckboxTrue\n : true;\n }\n\n protected get falseValue(): boolean {\n return typeof this.btnCheckboxFalse !== 'undefined'\n ? this.btnCheckboxFalse\n : false;\n }\n\n toggle(state: boolean): void {\n this.state = state;\n this.value = this.state ? this.trueValue : this.falseValue;\n }\n\n // ControlValueAccessor\n // model -> view\n writeValue(value: boolean | string | null): void {\n this.state = this.trueValue === value;\n this.value = value ? this.trueValue : this.falseValue;\n }\n\n setDisabledState(isDisabled: boolean): void {\n this.isDisabled = isDisabled;\n }\n\n registerOnChange(fn: () => {}): void {\n this.onChange = fn;\n }\n\n registerOnTouched(fn: () => {}): void {\n this.onTouched = fn;\n }\n}\n","import {\n ChangeDetectorRef,\n Directive,\n ElementRef,\n forwardRef,\n HostBinding,\n HostListener,\n Input,\n OnInit,\n Optional,\n Provider,\n Renderer2\n} from '@angular/core';\nimport { ControlValueAccessor, NG_VALUE_ACCESSOR } from '@angular/forms';\nimport { ButtonRadioGroupDirective } from './button-radio-group.directive';\n\nexport const RADIO_CONTROL_VALUE_ACCESSOR: Provider = {\n provide: NG_VALUE_ACCESSOR,\n /* tslint:disable-next-line: no-use-before-declare */\n useExisting: forwardRef(() => ButtonRadioDirective),\n multi: true\n};\n\n/**\n * Create radio buttons or groups of buttons.\n * A value of a selected button is bound to a variable specified via ngModel.\n */\n@Directive({\n selector: '[btnRadio]',\n providers: [RADIO_CONTROL_VALUE_ACCESSOR]\n})\nexport class ButtonRadioDirective implements ControlValueAccessor, OnInit {\n onChange = Function.prototype;\n onTouched = Function.prototype;\n\n /** Radio button value, will be set to `ngModel` */\n @Input() btnRadio: string;\n /** If `true` â radio button can be unchecked */\n @Input() uncheckable: boolean;\n /** Current value of radio component or group */\n @Input() get value() {\n return this.group ? this.group.value : this._value;\n }\n\n set value(value: null | string) {\n if (this.group) {\n this.group.value = value;\n\n return;\n }\n this._value = value;\n }\n /** If `true` â radio button is disabled */\n @Input() get disabled(): boolean {\n return this._disabled;\n }\n\n set disabled(disabled: boolean) {\n this._disabled = disabled;\n this.setDisabledState(disabled);\n }\n\n @HostBinding('class.active')\n @HostBinding('attr.aria-pressed')\n get isActive(): boolean {\n return this.btnRadio === this.value;\n }\n\n private _value: null | string;\n private _disabled: boolean;\n\n constructor(\n private el: ElementRef,\n private cdr: ChangeDetectorRef,\n @Optional() private group: ButtonRadioGroupDirective,\n private renderer: Renderer2\n ) {}\n\n @HostListener('click')\n onClick(): void {\n if (this.el.nativeElement.attributes.disabled || !this.uncheckable && this.btnRadio === this.value) {\n return;\n }\n\n this.value = this.uncheckable && this.btnRadio === this.value ? undefined : this.btnRadio;\n this._onChange(this.value);\n }\n\n ngOnInit(): void {\n this.uncheckable = typeof this.uncheckable !== 'undefined';\n }\n\n onBlur(): void {\n this.onTouched();\n }\n\n _onChange(value: string): void {\n if (this.group) {\n this.group.onTouched();\n this.group.onChange(value);\n\n return;\n }\n this.onTouched();\n this.onChange(value);\n }\n\n // ControlValueAccessor\n // model -> view\n writeValue(value: string): void {\n this.value = value;\n this.cdr.markForCheck();\n }\n\n registerOnChange(fn: () => {}): void {\n this.onChange = fn;\n }\n\n registerOnTouched(fn: () => {}): void {\n this.onTouched = fn;\n }\n\n setDisabledState(disabled: boolean): void {\n if (disabled) {\n this.renderer.setAttribute(this.el.nativeElement, 'disabled', 'disabled');\n\n return;\n }\n this.renderer.removeAttribute(this.el.nativeElement, 'disabled');\n }\n}\n","import {\n ChangeDetectorRef,\n ContentChildren,\n Directive,\n forwardRef,\n Provider,\n QueryList\n} from '@angular/core';\nimport { ControlValueAccessor, NG_VALUE_ACCESSOR } from '@angular/forms';\n\nimport { ButtonRadioDirective } from './button-radio.directive';\n\nexport const RADIO_CONTROL_VALUE_ACCESSOR: Provider = {\n provide: NG_VALUE_ACCESSOR,\n /* tslint:disable-next-line: no-use-before-declare */\n useExisting: forwardRef(() => ButtonRadioGroupDirective),\n multi: true\n};\n\n/**\n * A group of radio buttons.\n * A value of a selected button is bound to a variable specified via ngModel.\n */\n@Directive({\n selector: '[btnRadioGroup]',\n providers: [RADIO_CONTROL_VALUE_ACCESSOR]\n})\nexport class ButtonRadioGroupDirective implements ControlValueAccessor {\n onChange = Function.prototype;\n onTouched = Function.prototype;\n\n @ContentChildren(forwardRef(() => ButtonRadioDirective)) radioButtons: QueryList<ButtonRadioDirective>;\n\n get value() {\n return this._value;\n }\n set value(value: string | null) {\n this._value = value;\n }\n\n private _value: string | null;\n\n constructor(private cdr: ChangeDetectorRef) {}\n\n writeValue(value: string | null): void {\n this._value = value;\n this.cdr.markForCheck();\n }\n\n registerOnChange(fn: () => {}): void {\n this.onChange = fn;\n }\n\n registerOnTouched(fn: () => {}): void {\n this.onTouched = fn;\n }\n\n setDisabledState(disabled: boolean): void {\n if (this.radioButtons) {\n this.radioButtons.forEach(buttons => {\n buttons.setDisabledState(disabled);\n });\n }\n }\n}\n","import { NgModule, ModuleWithProviders } from '@angular/core';\n\nimport { ButtonCheckboxDirective } from './button-checkbox.directive';\nimport { ButtonRadioDirective } from './button-radio.directive';\nimport { ButtonRadioGroupDirective } from './button-radio-group.directive';\n\n@NgModule({\n declarations: [ButtonCheckboxDirective, ButtonRadioDirective, ButtonRadioGroupDirective],\n exports: [ButtonCheckboxDirective, ButtonRadioDirective, ButtonRadioGroupDirective]\n})\nexport class ButtonsModule {\n static forRoot(): ModuleWithProviders {\n return { ngModule: ButtonsModule, providers: [] };\n }\n}\n"]}
|
@@ -1,5 +1,6 @@
|
|
1
|
-
import { ChangeDetectorRef, Provider } from '@angular/core';
|
1
|
+
import { ChangeDetectorRef, Provider, QueryList } from '@angular/core';
|
2
2
|
import { ControlValueAccessor } from '@angular/forms';
|
3
|
+
import { ButtonRadioDirective } from './button-radio.directive';
|
3
4
|
export declare const RADIO_CONTROL_VALUE_ACCESSOR: Provider;
|
4
5
|
/**
|
5
6
|
* A group of radio buttons.
|
@@ -9,10 +10,12 @@ export declare class ButtonRadioGroupDirective implements ControlValueAccessor {
|
|
9
10
|
private cdr;
|
10
11
|
onChange: Function;
|
11
12
|
onTouched: Function;
|
13
|
+
radioButtons: QueryList<ButtonRadioDirective>;
|
12
14
|
value: string | null;
|
13
15
|
private _value;
|
14
16
|
constructor(cdr: ChangeDetectorRef);
|
15
17
|
writeValue(value: string | null): void;
|
16
18
|
registerOnChange(fn: () => {}): void;
|
17
19
|
registerOnTouched(fn: () => {}): void;
|
20
|
+
setDisabledState(disabled: boolean): void;
|
18
21
|
}
|
@@ -2,8 +2,9 @@
|
|
2
2
|
* @fileoverview added by tsickle
|
3
3
|
* @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
|
4
4
|
*/
|
5
|
-
import { ChangeDetectorRef, Directive, forwardRef } from '@angular/core';
|
5
|
+
import { ChangeDetectorRef, ContentChildren, Directive, forwardRef, QueryList } from '@angular/core';
|
6
6
|
import { NG_VALUE_ACCESSOR } from '@angular/forms';
|
7
|
+
import { ButtonRadioDirective } from './button-radio.directive';
|
7
8
|
/** @type {?} */
|
8
9
|
export const RADIO_CONTROL_VALUE_ACCESSOR = {
|
9
10
|
provide: NG_VALUE_ACCESSOR,
|
@@ -62,6 +63,21 @@ export class ButtonRadioGroupDirective {
|
|
62
63
|
registerOnTouched(fn) {
|
63
64
|
this.onTouched = fn;
|
64
65
|
}
|
66
|
+
/**
|
67
|
+
* @param {?} disabled
|
68
|
+
* @return {?}
|
69
|
+
*/
|
70
|
+
setDisabledState(disabled) {
|
71
|
+
if (this.radioButtons) {
|
72
|
+
this.radioButtons.forEach((/**
|
73
|
+
* @param {?} buttons
|
74
|
+
* @return {?}
|
75
|
+
*/
|
76
|
+
buttons => {
|
77
|
+
buttons.setDisabledState(disabled);
|
78
|
+
}));
|
79
|
+
}
|
80
|
+
}
|
65
81
|
}
|
66
82
|
ButtonRadioGroupDirective.decorators = [
|
67
83
|
{ type: Directive, args: [{
|
@@ -73,11 +89,19 @@ ButtonRadioGroupDirective.decorators = [
|
|
73
89
|
ButtonRadioGroupDirective.ctorParameters = () => [
|
74
90
|
{ type: ChangeDetectorRef }
|
75
91
|
];
|
92
|
+
ButtonRadioGroupDirective.propDecorators = {
|
93
|
+
radioButtons: [{ type: ContentChildren, args: [forwardRef((/**
|
94
|
+
* @return {?}
|
95
|
+
*/
|
96
|
+
() => ButtonRadioDirective)),] }]
|
97
|
+
};
|
76
98
|
if (false) {
|
77
99
|
/** @type {?} */
|
78
100
|
ButtonRadioGroupDirective.prototype.onChange;
|
79
101
|
/** @type {?} */
|
80
102
|
ButtonRadioGroupDirective.prototype.onTouched;
|
103
|
+
/** @type {?} */
|
104
|
+
ButtonRadioGroupDirective.prototype.radioButtons;
|
81
105
|
/**
|
82
106
|
* @type {?}
|
83
107
|
* @private
|
@@ -89,4 +113,4 @@ if (false) {
|
|
89
113
|
*/
|
90
114
|
ButtonRadioGroupDirective.prototype.cdr;
|
91
115
|
}
|
92
|
-
//# sourceMappingURL=data:application/json;base64,
|
116
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnV0dG9uLXJhZGlvLWdyb3VwLmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiJuZzovL25neC1ib290c3RyYXAvYnV0dG9ucy8iLCJzb3VyY2VzIjpbImJ1dHRvbi1yYWRpby1ncm91cC5kaXJlY3RpdmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7OztBQUFBLE9BQU8sRUFDTCxpQkFBaUIsRUFDakIsZUFBZSxFQUNmLFNBQVMsRUFDVCxVQUFVLEVBRVYsU0FBUyxFQUNWLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBd0IsaUJBQWlCLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUV6RSxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQzs7QUFFaEUsTUFBTSxPQUFPLDRCQUE0QixHQUFhO0lBQ3BELE9BQU8sRUFBRSxpQkFBaUI7O0lBRTFCLFdBQVcsRUFBRSxVQUFVOzs7SUFBQyxHQUFHLEVBQUUsQ0FBQyx5QkFBeUIsRUFBQztJQUN4RCxLQUFLLEVBQUUsSUFBSTtDQUNaOzs7OztBQVVELE1BQU0sT0FBTyx5QkFBeUI7Ozs7SUFlcEMsWUFBb0IsR0FBc0I7UUFBdEIsUUFBRyxHQUFILEdBQUcsQ0FBbUI7UUFkMUMsYUFBUSxHQUFHLFFBQVEsQ0FBQyxTQUFTLENBQUM7UUFDOUIsY0FBUyxHQUFHLFFBQVEsQ0FBQyxTQUFTLENBQUM7SUFhYyxDQUFDOzs7O0lBVDlDLElBQUksS0FBSztRQUNQLE9BQU8sSUFBSSxDQUFDLE1BQU0sQ0FBQztJQUNyQixDQUFDOzs7OztJQUNELElBQUksS0FBSyxDQUFDLEtBQW9CO1FBQzVCLElBQUksQ0FBQyxNQUFNLEdBQUcsS0FBSyxDQUFDO0lBQ3RCLENBQUM7Ozs7O0lBTUQsVUFBVSxDQUFDLEtBQW9CO1FBQzdCLElBQUksQ0FBQyxNQUFNLEdBQUcsS0FBSyxDQUFDO1FBQ3BCLElBQUksQ0FBQyxHQUFHLENBQUMsWUFBWSxFQUFFLENBQUM7SUFDMUIsQ0FBQzs7Ozs7SUFFRCxnQkFBZ0IsQ0FBQyxFQUFZO1FBQzNCLElBQUksQ0FBQyxRQUFRLEdBQUcsRUFBRSxDQUFDO0lBQ3JCLENBQUM7Ozs7O0lBRUQsaUJBQWlCLENBQUMsRUFBWTtRQUM1QixJQUFJLENBQUMsU0FBUyxHQUFHLEVBQUUsQ0FBQztJQUN0QixDQUFDOzs7OztJQUVELGdCQUFnQixDQUFDLFFBQWlCO1FBQ2hDLElBQUksSUFBSSxDQUFDLFlBQVksRUFBRTtZQUNyQixJQUFJLENBQUMsWUFBWSxDQUFDLE9BQU87Ozs7WUFBQyxPQUFPLENBQUMsRUFBRTtnQkFDbEMsT0FBTyxDQUFDLGdCQUFnQixDQUFDLFFBQVEsQ0FBQyxDQUFDO1lBQ3JDLENBQUMsRUFBQyxDQUFDO1NBQ0o7SUFDSCxDQUFDOzs7WUF4Q0YsU0FBUyxTQUFDO2dCQUNULFFBQVEsRUFBRSxpQkFBaUI7Z0JBQzNCLFNBQVMsRUFBRSxDQUFDLDRCQUE0QixDQUFDO2FBQzFDOzs7O1lBekJDLGlCQUFpQjs7OzJCQThCaEIsZUFBZSxTQUFDLFVBQVU7OztnQkFBQyxHQUFHLEVBQUUsQ0FBQyxvQkFBb0IsRUFBQzs7OztJQUh2RCw2Q0FBOEI7O0lBQzlCLDhDQUErQjs7SUFFL0IsaURBQXVHOzs7OztJQVN2RywyQ0FBOEI7Ozs7O0lBRWxCLHdDQUE4QiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIENoYW5nZURldGVjdG9yUmVmLFxuICBDb250ZW50Q2hpbGRyZW4sXG4gIERpcmVjdGl2ZSxcbiAgZm9yd2FyZFJlZixcbiAgUHJvdmlkZXIsXG4gIFF1ZXJ5TGlzdFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IENvbnRyb2xWYWx1ZUFjY2Vzc29yLCBOR19WQUxVRV9BQ0NFU1NPUiB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcblxuaW1wb3J0IHsgQnV0dG9uUmFkaW9EaXJlY3RpdmUgfSBmcm9tICcuL2J1dHRvbi1yYWRpby5kaXJlY3RpdmUnO1xuXG5leHBvcnQgY29uc3QgUkFESU9fQ09OVFJPTF9WQUxVRV9BQ0NFU1NPUjogUHJvdmlkZXIgPSB7XG4gIHByb3ZpZGU6IE5HX1ZBTFVFX0FDQ0VTU09SLFxuICAvKiB0c2xpbnQ6ZGlzYWJsZS1uZXh0LWxpbmU6IG5vLXVzZS1iZWZvcmUtZGVjbGFyZSAqL1xuICB1c2VFeGlzdGluZzogZm9yd2FyZFJlZigoKSA9PiBCdXR0b25SYWRpb0dyb3VwRGlyZWN0aXZlKSxcbiAgbXVsdGk6IHRydWVcbn07XG5cbi8qKlxuICogQSBncm91cCBvZiByYWRpbyBidXR0b25zLlxuICogQSB2YWx1ZSBvZiBhIHNlbGVjdGVkIGJ1dHRvbiBpcyBib3VuZCB0byBhIHZhcmlhYmxlIHNwZWNpZmllZCB2aWEgbmdNb2RlbC5cbiAqL1xuQERpcmVjdGl2ZSh7XG4gIHNlbGVjdG9yOiAnW2J0blJhZGlvR3JvdXBdJyxcbiAgcHJvdmlkZXJzOiBbUkFESU9fQ09OVFJPTF9WQUxVRV9BQ0NFU1NPUl1cbn0pXG5leHBvcnQgY2xhc3MgQnV0dG9uUmFkaW9Hcm91cERpcmVjdGl2ZSBpbXBsZW1lbnRzIENvbnRyb2xWYWx1ZUFjY2Vzc29yIHtcbiAgb25DaGFuZ2UgPSBGdW5jdGlvbi5wcm90b3R5cGU7XG4gIG9uVG91Y2hlZCA9IEZ1bmN0aW9uLnByb3RvdHlwZTtcblxuICBAQ29udGVudENoaWxkcmVuKGZvcndhcmRSZWYoKCkgPT4gQnV0dG9uUmFkaW9EaXJlY3RpdmUpKSByYWRpb0J1dHRvbnM6IFF1ZXJ5TGlzdDxCdXR0b25SYWRpb0RpcmVjdGl2ZT47XG5cbiAgZ2V0IHZhbHVlKCkge1xuICAgIHJldHVybiB0aGlzLl92YWx1ZTtcbiAgfVxuICBzZXQgdmFsdWUodmFsdWU6IHN0cmluZyB8IG51bGwpIHtcbiAgICB0aGlzLl92YWx1ZSA9IHZhbHVlO1xuICB9XG5cbiAgcHJpdmF0ZSBfdmFsdWU6IHN0cmluZyB8IG51bGw7XG5cbiAgY29uc3RydWN0b3IocHJpdmF0ZSBjZHI6IENoYW5nZURldGVjdG9yUmVmKSB7fVxuXG4gIHdyaXRlVmFsdWUodmFsdWU6IHN0cmluZyB8IG51bGwpOiB2b2lkIHtcbiAgICB0aGlzLl92YWx1ZSA9IHZhbHVlO1xuICAgIHRoaXMuY2RyLm1hcmtGb3JDaGVjaygpO1xuICB9XG5cbiAgcmVnaXN0ZXJPbkNoYW5nZShmbjogKCkgPT4ge30pOiB2b2lkIHtcbiAgICB0aGlzLm9uQ2hhbmdlID0gZm47XG4gIH1cblxuICByZWdpc3Rlck9uVG91Y2hlZChmbjogKCkgPT4ge30pOiB2b2lkIHtcbiAgICB0aGlzLm9uVG91Y2hlZCA9IGZuO1xuICB9XG5cbiAgc2V0RGlzYWJsZWRTdGF0ZShkaXNhYmxlZDogYm9vbGVhbik6IHZvaWQge1xuICAgIGlmICh0aGlzLnJhZGlvQnV0dG9ucykge1xuICAgICAgdGhpcy5yYWRpb0J1dHRvbnMuZm9yRWFjaChidXR0b25zID0+IHtcbiAgICAgICAgYnV0dG9ucy5zZXREaXNhYmxlZFN0YXRlKGRpc2FibGVkKTtcbiAgICAgIH0pO1xuICAgIH1cbiAgfVxufVxuIl19
|