ngx-bootstrap 5.3.2 → 5.6.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +148 -99
- package/README.md +14 -10
- 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 +2 -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 +31 -1
- 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 +2100 -99
- 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 +10 -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 +42 -3
- 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 +28 -6
- package/datepicker/esm2015/reducer/bs-datepicker.state.js +7 -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 +14 -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 +42 -3
- 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 +28 -6
- package/datepicker/esm5/reducer/bs-datepicker.state.js +7 -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 +1953 -91
- package/datepicker/fesm2015/ngx-bootstrap-datepicker.js.map +1 -1
- package/datepicker/fesm5/ngx-bootstrap-datepicker.js +1985 -98
- 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 +3 -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 +387 -3
- 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/esm5/bs-dropdown-container.component.js +2 -2
- package/dropdown/fesm2015/ngx-bootstrap-dropdown.js +234 -1
- package/dropdown/fesm2015/ngx-bootstrap-dropdown.js.map +1 -1
- package/dropdown/fesm5/ngx-bootstrap-dropdown.js +234 -1
- 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 +356 -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 +48 -10
- package/tooltip/esm5/tooltip.directive.js +51 -10
- package/tooltip/fesm2015/ngx-bootstrap-tooltip.js +201 -7
- package/tooltip/fesm2015/ngx-bootstrap-tooltip.js.map +1 -1
- package/tooltip/fesm5/ngx-bootstrap-tooltip.js +204 -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 +748 -69
- 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 +82 -37
- 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 +92 -37
- 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 +574 -61
- package/typeahead/fesm2015/ngx-bootstrap-typeahead.js.map +1 -1
- package/typeahead/fesm5/ngx-bootstrap-typeahead.js +594 -67
- 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 +15 -7
- 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
@@ -42,6 +42,20 @@ NgTranscludeDirective.ctorParameters = () => [
|
|
42
42
|
NgTranscludeDirective.propDecorators = {
|
43
43
|
ngTransclude: [{ type: Input }]
|
44
44
|
};
|
45
|
+
if (false) {
|
46
|
+
/** @type {?} */
|
47
|
+
NgTranscludeDirective.prototype.viewRef;
|
48
|
+
/**
|
49
|
+
* @type {?}
|
50
|
+
* @protected
|
51
|
+
*/
|
52
|
+
NgTranscludeDirective.prototype._viewRef;
|
53
|
+
/**
|
54
|
+
* @type {?}
|
55
|
+
* @protected
|
56
|
+
*/
|
57
|
+
NgTranscludeDirective.prototype._ngTransclude;
|
58
|
+
}
|
45
59
|
|
46
60
|
/**
|
47
61
|
* @fileoverview added by tsickle
|
@@ -53,11 +67,27 @@ class TabsetConfig {
|
|
53
67
|
* provides default navigation context class: 'tabs' or 'pills'
|
54
68
|
*/
|
55
69
|
this.type = 'tabs';
|
70
|
+
/**
|
71
|
+
* aria label for tab list
|
72
|
+
*/
|
73
|
+
this.ariaLabel = 'Tabs';
|
56
74
|
}
|
57
75
|
}
|
58
76
|
TabsetConfig.decorators = [
|
59
77
|
{ type: Injectable }
|
60
78
|
];
|
79
|
+
if (false) {
|
80
|
+
/**
|
81
|
+
* provides default navigation context class: 'tabs' or 'pills'
|
82
|
+
* @type {?}
|
83
|
+
*/
|
84
|
+
TabsetConfig.prototype.type;
|
85
|
+
/**
|
86
|
+
* aria label for tab list
|
87
|
+
* @type {?}
|
88
|
+
*/
|
89
|
+
TabsetConfig.prototype.ariaLabel;
|
90
|
+
}
|
61
91
|
|
62
92
|
/**
|
63
93
|
* @fileoverview added by tsickle
|
@@ -326,7 +356,7 @@ class TabsetComponent {
|
|
326
356
|
TabsetComponent.decorators = [
|
327
357
|
{ type: Component, args: [{
|
328
358
|
selector: 'tabset',
|
329
|
-
template: "<ul class=\"nav\" [ngClass]=\"classMap\"
|
359
|
+
template: "<ul class=\"nav\" [ngClass]=\"classMap\"\n (click)=\"$event.preventDefault()\"\n [attr.aria-label]=\"ariaLabel\"\n role=\"tablist\">\n <li *ngFor=\"let tabz of tabs; let i = index\" [ngClass]=\"['nav-item', tabz.customClass || '']\"\n [class.active]=\"tabz.active\" [class.disabled]=\"tabz.disabled\" (keydown)=\"keyNavActions($event, i)\">\n <a href=\"javascript:void(0);\" class=\"nav-link\" role=\"tab\"\n [attr.aria-controls]=\"tabz.id ? tabz.id : ''\"\n [attr.aria-selected]=\"!!tabz.active\"\n [attr.id]=\"tabz.id ? tabz.id + '-link' : ''\"\n [class.active]=\"tabz.active\" [class.disabled]=\"tabz.disabled\"\n (click)=\"tabz.active = true\">\n <span [ngTransclude]=\"tabz.headingRef\">{{ tabz.heading }}</span>\n <span *ngIf=\"tabz.removable\" (click)=\"$event.preventDefault(); removeTab(tabz);\" class=\"bs-remove-tab\"> ❌</span>\n </a>\n </li>\n</ul>\n<div class=\"tab-content\">\n <ng-content></ng-content>\n</div>\n",
|
330
360
|
styles: [":host .nav-tabs .nav-item.disabled a.disabled{cursor:default}"]
|
331
361
|
}] }
|
332
362
|
];
|
@@ -342,6 +372,49 @@ TabsetComponent.propDecorators = {
|
|
342
372
|
type: [{ type: Input }],
|
343
373
|
clazz: [{ type: HostBinding, args: ['class.tab-container',] }]
|
344
374
|
};
|
375
|
+
if (false) {
|
376
|
+
/** @type {?} */
|
377
|
+
TabsetComponent.prototype.clazz;
|
378
|
+
/** @type {?} */
|
379
|
+
TabsetComponent.prototype.tabs;
|
380
|
+
/** @type {?} */
|
381
|
+
TabsetComponent.prototype.classMap;
|
382
|
+
/**
|
383
|
+
* aria label for tab list
|
384
|
+
* @type {?}
|
385
|
+
*/
|
386
|
+
TabsetComponent.prototype.ariaLabel;
|
387
|
+
/**
|
388
|
+
* @type {?}
|
389
|
+
* @protected
|
390
|
+
*/
|
391
|
+
TabsetComponent.prototype.isDestroyed;
|
392
|
+
/**
|
393
|
+
* @type {?}
|
394
|
+
* @protected
|
395
|
+
*/
|
396
|
+
TabsetComponent.prototype._vertical;
|
397
|
+
/**
|
398
|
+
* @type {?}
|
399
|
+
* @protected
|
400
|
+
*/
|
401
|
+
TabsetComponent.prototype._justified;
|
402
|
+
/**
|
403
|
+
* @type {?}
|
404
|
+
* @protected
|
405
|
+
*/
|
406
|
+
TabsetComponent.prototype._type;
|
407
|
+
/**
|
408
|
+
* @type {?}
|
409
|
+
* @private
|
410
|
+
*/
|
411
|
+
TabsetComponent.prototype.renderer;
|
412
|
+
/**
|
413
|
+
* @type {?}
|
414
|
+
* @private
|
415
|
+
*/
|
416
|
+
TabsetComponent.prototype.elementRef;
|
417
|
+
}
|
345
418
|
|
346
419
|
/**
|
347
420
|
* @fileoverview added by tsickle
|
@@ -369,6 +442,7 @@ class TabDirective {
|
|
369
442
|
*/
|
370
443
|
this.removed = new EventEmitter();
|
371
444
|
this.addClass = true;
|
445
|
+
this.role = 'tabpanel';
|
372
446
|
this.tabset = tabset;
|
373
447
|
this.tabset.addTab(this);
|
374
448
|
}
|
@@ -438,6 +512,12 @@ class TabDirective {
|
|
438
512
|
}
|
439
513
|
}));
|
440
514
|
}
|
515
|
+
/**
|
516
|
+
* @return {?}
|
517
|
+
*/
|
518
|
+
get ariaLabelledby() {
|
519
|
+
return this.id ? `${this.id}-link` : '';
|
520
|
+
}
|
441
521
|
/**
|
442
522
|
* @return {?}
|
443
523
|
*/
|
@@ -470,8 +550,69 @@ TabDirective.propDecorators = {
|
|
470
550
|
selectTab: [{ type: Output }],
|
471
551
|
deselect: [{ type: Output }],
|
472
552
|
removed: [{ type: Output }],
|
473
|
-
addClass: [{ type: HostBinding, args: ['class.tab-pane',] }]
|
553
|
+
addClass: [{ type: HostBinding, args: ['class.tab-pane',] }],
|
554
|
+
role: [{ type: HostBinding, args: ['attr.role',] }],
|
555
|
+
ariaLabelledby: [{ type: HostBinding, args: ['attr.aria-labelledby',] }]
|
474
556
|
};
|
557
|
+
if (false) {
|
558
|
+
/**
|
559
|
+
* tab header text
|
560
|
+
* @type {?}
|
561
|
+
*/
|
562
|
+
TabDirective.prototype.heading;
|
563
|
+
/**
|
564
|
+
* tab id. The same id with suffix '-link' will be added to the corresponding <li> element
|
565
|
+
* @type {?}
|
566
|
+
*/
|
567
|
+
TabDirective.prototype.id;
|
568
|
+
/**
|
569
|
+
* if true tab can not be activated
|
570
|
+
* @type {?}
|
571
|
+
*/
|
572
|
+
TabDirective.prototype.disabled;
|
573
|
+
/**
|
574
|
+
* if true tab can be removable, additional button will appear
|
575
|
+
* @type {?}
|
576
|
+
*/
|
577
|
+
TabDirective.prototype.removable;
|
578
|
+
/**
|
579
|
+
* fired when tab became active, $event:Tab equals to selected instance of Tab component
|
580
|
+
* @type {?}
|
581
|
+
*/
|
582
|
+
TabDirective.prototype.selectTab;
|
583
|
+
/**
|
584
|
+
* fired when tab became inactive, $event:Tab equals to deselected instance of Tab component
|
585
|
+
* @type {?}
|
586
|
+
*/
|
587
|
+
TabDirective.prototype.deselect;
|
588
|
+
/**
|
589
|
+
* fired before tab will be removed, $event:Tab equals to instance of removed tab
|
590
|
+
* @type {?}
|
591
|
+
*/
|
592
|
+
TabDirective.prototype.removed;
|
593
|
+
/** @type {?} */
|
594
|
+
TabDirective.prototype.addClass;
|
595
|
+
/** @type {?} */
|
596
|
+
TabDirective.prototype.role;
|
597
|
+
/** @type {?} */
|
598
|
+
TabDirective.prototype.headingRef;
|
599
|
+
/** @type {?} */
|
600
|
+
TabDirective.prototype.tabset;
|
601
|
+
/**
|
602
|
+
* @type {?}
|
603
|
+
* @protected
|
604
|
+
*/
|
605
|
+
TabDirective.prototype._active;
|
606
|
+
/**
|
607
|
+
* @type {?}
|
608
|
+
* @protected
|
609
|
+
*/
|
610
|
+
TabDirective.prototype._customClass;
|
611
|
+
/** @type {?} */
|
612
|
+
TabDirective.prototype.elementRef;
|
613
|
+
/** @type {?} */
|
614
|
+
TabDirective.prototype.renderer;
|
615
|
+
}
|
475
616
|
|
476
617
|
/**
|
477
618
|
* @fileoverview added by tsickle
|
@@ -498,6 +639,10 @@ TabHeadingDirective.ctorParameters = () => [
|
|
498
639
|
{ type: TemplateRef },
|
499
640
|
{ type: TabDirective }
|
500
641
|
];
|
642
|
+
if (false) {
|
643
|
+
/** @type {?} */
|
644
|
+
TabHeadingDirective.prototype.templateRef;
|
645
|
+
}
|
501
646
|
|
502
647
|
/**
|
503
648
|
* @fileoverview added by tsickle
|
@@ -532,5 +677,15 @@ TabsModule.decorators = [
|
|
532
677
|
},] }
|
533
678
|
];
|
534
679
|
|
680
|
+
/**
|
681
|
+
* @fileoverview added by tsickle
|
682
|
+
* @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
|
683
|
+
*/
|
684
|
+
|
685
|
+
/**
|
686
|
+
* @fileoverview added by tsickle
|
687
|
+
* @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
|
688
|
+
*/
|
689
|
+
|
535
690
|
export { NgTranscludeDirective, TabDirective, TabHeadingDirective, TabsModule, TabsetComponent, TabsetConfig };
|
536
691
|
//# sourceMappingURL=ngx-bootstrap-tabs.js.map
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"ngx-bootstrap-tabs.js","sources":["ng://ngx-bootstrap/tabs/ng-transclude.directive.ts","ng://ngx-bootstrap/tabs/tabset.config.ts","ng://ngx-bootstrap/tabs/tabset.component.ts","ng://ngx-bootstrap/tabs/tab.directive.ts","ng://ngx-bootstrap/tabs/tab-heading.directive.ts","ng://ngx-bootstrap/tabs/tabs.module.ts"],"sourcesContent":["import { Directive, Input, TemplateRef, ViewContainerRef } from '@angular/core';\n\n@Directive({\n selector: '[ngTransclude]'\n})\nexport class NgTranscludeDirective {\n viewRef: ViewContainerRef;\n\n protected _viewRef: ViewContainerRef;\n /* tslint:disable-next-line:no-any */\n protected _ngTransclude: TemplateRef<any>;\n\n @Input()\n /* tslint:disable-next-line:no-any */\n set ngTransclude(templateRef: TemplateRef<any>) {\n this._ngTransclude = templateRef;\n if (templateRef) {\n this.viewRef.createEmbeddedView(templateRef);\n }\n }\n\n /* tslint:disable-next-line:no-any */\n get ngTransclude(): TemplateRef<any> {\n return this._ngTransclude;\n }\n\n constructor(viewRef: ViewContainerRef) {\n this.viewRef = viewRef;\n }\n}\n","import { Injectable } from '@angular/core';\n\n@Injectable()\nexport class TabsetConfig {\n /** provides default navigation context class: 'tabs' or 'pills' */\n type = 'tabs';\n}\n","import { Component, HostBinding, Input, OnDestroy, Renderer2, ElementRef } from '@angular/core';\n\nimport { TabDirective } from './tab.directive';\nimport { TabsetConfig } from './tabset.config';\n// todo: add active event to tab\n// todo: fix? mixing static and dynamic tabs position tabs in order of creation\n@Component({\n selector: 'tabset',\n templateUrl: './tabset.component.html',\n styleUrls: ['./tabs.scss']\n})\nexport class TabsetComponent implements OnDestroy {\n /** if true tabs will be placed vertically */\n @Input()\n get vertical(): boolean {\n return this._vertical;\n }\n set vertical(value: boolean) {\n this._vertical = value;\n this.setClassMap();\n }\n\n /** if true tabs fill the container and have a consistent width */\n @Input()\n get justified(): boolean {\n return this._justified;\n }\n set justified(value: boolean) {\n this._justified = value;\n this.setClassMap();\n }\n\n /** navigation context class: 'tabs' or 'pills' */\n @Input()\n get type(): string {\n return this._type;\n }\n set type(value: string) {\n this._type = value;\n this.setClassMap();\n }\n\n @HostBinding('class.tab-container') clazz = true;\n\n tabs: TabDirective[] = [];\n classMap: { [key: string]: boolean } = {};\n\n protected isDestroyed: boolean;\n protected _vertical: boolean;\n protected _justified: boolean;\n protected _type: string;\n\n constructor(\n config: TabsetConfig,\n private renderer: Renderer2,\n private elementRef: ElementRef\n ) {\n Object.assign(this, config);\n }\n\n ngOnDestroy(): void {\n this.isDestroyed = true;\n }\n\n addTab(tab: TabDirective): void {\n this.tabs.push(tab);\n tab.active = this.tabs.length === 1 && typeof tab.active === 'undefined';\n }\n\n removeTab(\n tab: TabDirective,\n options = { reselect: true, emit: true }\n ): void {\n const index = this.tabs.indexOf(tab);\n if (index === -1 || this.isDestroyed) {\n return;\n }\n // Select a new tab if the tab to be removed is selected and not destroyed\n if (options.reselect && tab.active && this.hasAvailableTabs(index)) {\n const newActiveIndex = this.getClosestTabIndex(index);\n this.tabs[newActiveIndex].active = true;\n }\n if (options.emit) {\n tab.removed.emit(tab);\n }\n this.tabs.splice(index, 1);\n if (tab.elementRef.nativeElement.parentNode) {\n this.renderer.removeChild(\n tab.elementRef.nativeElement.parentNode,\n tab.elementRef.nativeElement\n );\n }\n }\n\n /* tslint:disable-next-line: cyclomatic-complexity */\n keyNavActions(event: KeyboardEvent, index: number) {\n const list: HTMLElement[] = Array.from(this.elementRef.nativeElement.querySelectorAll('.nav-link'));\n // const activeElList = list.filter((el: HTMLElement) => !el.classList.contains('disabled'));\n\n // tslint:disable-next-line:deprecation\n if (event.keyCode === 13 || event.key === 'Enter' || event.keyCode === 32 || event.key === 'Space') {\n event.preventDefault();\n const currentTab = list[(index) % list.length];\n currentTab.click();\n\n return;\n }\n\n // tslint:disable-next-line:deprecation\n if (event.keyCode === 39 || event.key === 'RightArrow') {\n let nextTab: any;\n let shift = 1;\n\n do {\n nextTab = list[(index + shift) % list.length];\n\n shift++;\n } while (nextTab.classList.contains('disabled'));\n\n nextTab.focus();\n\n return;\n }\n\n // tslint:disable-next-line:deprecation\n if (event.keyCode === 37 || event.key === 'LeftArrow') {\n let previousTab: any;\n let shift = 1;\n let i = index;\n\n do {\n if ((i - shift) < 0) {\n i = list.length - 1;\n previousTab = list[i];\n shift = 0;\n } else {\n previousTab = list[i - shift];\n }\n\n shift++;\n } while (previousTab.classList.contains('disabled'));\n\n previousTab.focus();\n\n return;\n }\n\n // tslint:disable-next-line:deprecation\n if (event.keyCode === 36 || event.key === 'Home') {\n event.preventDefault();\n\n let firstTab: any;\n let shift = 0;\n\n do {\n firstTab = list[shift % list.length];\n\n shift++;\n } while (firstTab.classList.contains('disabled'));\n\n firstTab.focus();\n\n return;\n }\n\n // tslint:disable-next-line:deprecation\n if (event.keyCode === 35 || event.key === 'End') {\n event.preventDefault();\n\n let lastTab: any;\n let shift = 1;\n let i = index;\n\n do {\n if ((i - shift) < 0) {\n i = list.length - 1;\n lastTab = list[i];\n shift = 0;\n } else {\n lastTab = list[i - shift];\n }\n\n shift++;\n } while (lastTab.classList.contains('disabled'));\n\n lastTab.focus();\n\n return;\n }\n\n // tslint:disable-next-line:deprecation\n if (event.keyCode === 46 || event.key === 'Delete') {\n if (this.tabs[index].removable) {\n this.removeTab(this.tabs[index]);\n\n if (list[index + 1]) {\n list[(index + 1) % list.length].focus();\n\n return;\n }\n\n if (list[list.length - 1]) {\n list[0].focus();\n }\n }\n }\n }\n\n protected getClosestTabIndex(index: number): number {\n const tabsLength = this.tabs.length;\n if (!tabsLength) {\n return -1;\n }\n\n for (let step = 1; step <= tabsLength; step += 1) {\n const prevIndex = index - step;\n const nextIndex = index + step;\n if (this.tabs[prevIndex] && !this.tabs[prevIndex].disabled) {\n return prevIndex;\n }\n if (this.tabs[nextIndex] && !this.tabs[nextIndex].disabled) {\n return nextIndex;\n }\n }\n\n return -1;\n }\n\n protected hasAvailableTabs(index: number): boolean {\n const tabsLength = this.tabs.length;\n if (!tabsLength) {\n return false;\n }\n\n for (let i = 0; i < tabsLength; i += 1) {\n if (!this.tabs[i].disabled && i !== index) {\n return true;\n }\n }\n\n return false;\n }\n\n protected setClassMap(): void {\n this.classMap = {\n 'nav-stacked': this.vertical,\n 'flex-column': this.vertical,\n 'nav-justified': this.justified,\n [`nav-${this.type}`]: true\n };\n }\n}\n","import {\n Directive,\n EventEmitter,\n HostBinding,\n Input,\n Output,\n TemplateRef,\n OnInit,\n OnDestroy,\n ElementRef,\n Renderer2\n} from '@angular/core';\nimport { TabsetComponent } from './tabset.component';\n\n@Directive({ selector: 'tab, [tab]' })\nexport class TabDirective implements OnInit, OnDestroy {\n /** tab header text */\n @Input() heading: string;\n /** tab id. The same id with suffix '-link' will be added to the corresponding <li> element */\n @HostBinding('attr.id')\n @Input() id: string;\n /** if true tab can not be activated */\n @Input() disabled: boolean;\n /** if true tab can be removable, additional button will appear */\n @Input() removable: boolean;\n /** if set, will be added to the tab's class attribute. Multiple classes are supported. */\n @Input()\n get customClass(): string {\n return this._customClass;\n }\n\n set customClass(customClass: string) {\n if (this.customClass) {\n this.customClass.split(' ').forEach((cssClass: string) => {\n this.renderer.removeClass(this.elementRef.nativeElement, cssClass);\n });\n }\n\n this._customClass = customClass ? customClass.trim() : null;\n\n if (this.customClass) {\n this.customClass.split(' ').forEach((cssClass: string) => {\n this.renderer.addClass(this.elementRef.nativeElement, cssClass);\n });\n }\n }\n\n /** tab active state toggle */\n @HostBinding('class.active')\n @Input()\n get active(): boolean {\n return this._active;\n }\n\n set active(active: boolean) {\n if (this._active === active) {\n return;\n }\n if ((this.disabled && active) || !active) {\n if (this._active && !active) {\n this.deselect.emit(this);\n this._active = active;\n }\n\n return;\n }\n\n this._active = active;\n this.selectTab.emit(this);\n this.tabset.tabs.forEach((tab: TabDirective) => {\n if (tab !== this) {\n tab.active = false;\n }\n });\n }\n\n /** fired when tab became active, $event:Tab equals to selected instance of Tab component */\n @Output() selectTab: EventEmitter<TabDirective> = new EventEmitter();\n /** fired when tab became inactive, $event:Tab equals to deselected instance of Tab component */\n @Output() deselect: EventEmitter<TabDirective> = new EventEmitter();\n /** fired before tab will be removed, $event:Tab equals to instance of removed tab */\n @Output() removed: EventEmitter<TabDirective> = new EventEmitter();\n\n @HostBinding('class.tab-pane') addClass = true;\n\n /* tslint:disable-next-line:no-any */\n headingRef: TemplateRef<any>;\n tabset: TabsetComponent;\n protected _active: boolean;\n protected _customClass: string;\n\n constructor(\n tabset: TabsetComponent,\n public elementRef: ElementRef,\n public renderer: Renderer2\n ) {\n this.tabset = tabset;\n this.tabset.addTab(this);\n }\n\n ngOnInit(): void {\n this.removable = this.removable;\n }\n\n ngOnDestroy(): void {\n this.tabset.removeTab(this, { reselect: false, emit: false });\n }\n}\n","import { Directive, TemplateRef } from '@angular/core';\n\nimport { TabDirective } from './tab.directive';\n\n/** Should be used to mark <ng-template> element as a template for tab heading */\n@Directive({ selector: '[tabHeading]' })\nexport class TabHeadingDirective {\n /* tslint:disable-next-line:no-any */\n templateRef: TemplateRef<any>;\n\n /* tslint:disable-next-line:no-any */\n constructor(templateRef: TemplateRef<any>, tab: TabDirective) {\n tab.headingRef = templateRef;\n }\n}\n","import { CommonModule } from '@angular/common';\nimport { NgModule, ModuleWithProviders } from '@angular/core';\n\nimport { NgTranscludeDirective } from './ng-transclude.directive';\nimport { TabHeadingDirective } from './tab-heading.directive';\nimport { TabDirective } from './tab.directive';\nimport { TabsetComponent } from './tabset.component';\nimport { TabsetConfig } from './tabset.config';\n\n@NgModule({\n imports: [CommonModule],\n declarations: [\n NgTranscludeDirective,\n TabDirective,\n TabsetComponent,\n TabHeadingDirective\n ],\n exports: [\n TabDirective,\n TabsetComponent,\n TabHeadingDirective,\n NgTranscludeDirective\n ]\n})\nexport class TabsModule {\n static forRoot(): ModuleWithProviders {\n return {\n ngModule: TabsModule,\n providers: [TabsetConfig]\n };\n }\n}\n"],"names":[],"mappings":"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"}
|
1
|
+
{"version":3,"file":"ngx-bootstrap-tabs.js","sources":["ng://ngx-bootstrap/tabs/ng-transclude.directive.ts","ng://ngx-bootstrap/tabs/tabset.config.ts","ng://ngx-bootstrap/tabs/tabset.component.ts","ng://ngx-bootstrap/tabs/tab.directive.ts","ng://ngx-bootstrap/tabs/tab-heading.directive.ts","ng://ngx-bootstrap/tabs/tabs.module.ts"],"sourcesContent":["import { Directive, Input, TemplateRef, ViewContainerRef } from '@angular/core';\n\n@Directive({\n selector: '[ngTransclude]'\n})\nexport class NgTranscludeDirective {\n viewRef: ViewContainerRef;\n\n protected _viewRef: ViewContainerRef;\n /* tslint:disable-next-line:no-any */\n protected _ngTransclude: TemplateRef<any>;\n\n @Input()\n /* tslint:disable-next-line:no-any */\n set ngTransclude(templateRef: TemplateRef<any>) {\n this._ngTransclude = templateRef;\n if (templateRef) {\n this.viewRef.createEmbeddedView(templateRef);\n }\n }\n\n /* tslint:disable-next-line:no-any */\n get ngTransclude(): TemplateRef<any> {\n return this._ngTransclude;\n }\n\n constructor(viewRef: ViewContainerRef) {\n this.viewRef = viewRef;\n }\n}\n","import { Injectable } from '@angular/core';\n\n@Injectable()\nexport class TabsetConfig {\n /** provides default navigation context class: 'tabs' or 'pills' */\n type = 'tabs';\n /** aria label for tab list */\n ariaLabel = 'Tabs';\n}\n","import { Component, HostBinding, Input, OnDestroy, Renderer2, ElementRef } from '@angular/core';\n\nimport { TabDirective } from './tab.directive';\nimport { TabsetConfig } from './tabset.config';\n// todo: add active event to tab\n// todo: fix? mixing static and dynamic tabs position tabs in order of creation\n@Component({\n selector: 'tabset',\n templateUrl: './tabset.component.html',\n styleUrls: ['./tabs.scss']\n})\nexport class TabsetComponent implements OnDestroy {\n /** if true tabs will be placed vertically */\n @Input()\n get vertical(): boolean {\n return this._vertical;\n }\n set vertical(value: boolean) {\n this._vertical = value;\n this.setClassMap();\n }\n\n /** if true tabs fill the container and have a consistent width */\n @Input()\n get justified(): boolean {\n return this._justified;\n }\n set justified(value: boolean) {\n this._justified = value;\n this.setClassMap();\n }\n\n /** navigation context class: 'tabs' or 'pills' */\n @Input()\n get type(): string {\n return this._type;\n }\n set type(value: string) {\n this._type = value;\n this.setClassMap();\n }\n\n @HostBinding('class.tab-container') clazz = true;\n\n tabs: TabDirective[] = [];\n classMap: { [key: string]: boolean } = {};\n\n /** aria label for tab list */\n ariaLabel: string;\n\n protected isDestroyed: boolean;\n protected _vertical: boolean;\n protected _justified: boolean;\n protected _type: string;\n\n constructor(\n config: TabsetConfig,\n private renderer: Renderer2,\n private elementRef: ElementRef\n ) {\n Object.assign(this, config);\n }\n\n ngOnDestroy(): void {\n this.isDestroyed = true;\n }\n\n addTab(tab: TabDirective): void {\n this.tabs.push(tab);\n tab.active = this.tabs.length === 1 && typeof tab.active === 'undefined';\n }\n\n removeTab(\n tab: TabDirective,\n options = { reselect: true, emit: true }\n ): void {\n const index = this.tabs.indexOf(tab);\n if (index === -1 || this.isDestroyed) {\n return;\n }\n // Select a new tab if the tab to be removed is selected and not destroyed\n if (options.reselect && tab.active && this.hasAvailableTabs(index)) {\n const newActiveIndex = this.getClosestTabIndex(index);\n this.tabs[newActiveIndex].active = true;\n }\n if (options.emit) {\n tab.removed.emit(tab);\n }\n this.tabs.splice(index, 1);\n if (tab.elementRef.nativeElement.parentNode) {\n this.renderer.removeChild(\n tab.elementRef.nativeElement.parentNode,\n tab.elementRef.nativeElement\n );\n }\n }\n\n /* tslint:disable-next-line: cyclomatic-complexity */\n keyNavActions(event: KeyboardEvent, index: number) {\n const list: HTMLElement[] = Array.from(this.elementRef.nativeElement.querySelectorAll('.nav-link'));\n // const activeElList = list.filter((el: HTMLElement) => !el.classList.contains('disabled'));\n\n // tslint:disable-next-line:deprecation\n if (event.keyCode === 13 || event.key === 'Enter' || event.keyCode === 32 || event.key === 'Space') {\n event.preventDefault();\n const currentTab = list[(index) % list.length];\n currentTab.click();\n\n return;\n }\n\n // tslint:disable-next-line:deprecation\n if (event.keyCode === 39 || event.key === 'RightArrow') {\n let nextTab: any;\n let shift = 1;\n\n do {\n nextTab = list[(index + shift) % list.length];\n\n shift++;\n } while (nextTab.classList.contains('disabled'));\n\n nextTab.focus();\n\n return;\n }\n\n // tslint:disable-next-line:deprecation\n if (event.keyCode === 37 || event.key === 'LeftArrow') {\n let previousTab: any;\n let shift = 1;\n let i = index;\n\n do {\n if ((i - shift) < 0) {\n i = list.length - 1;\n previousTab = list[i];\n shift = 0;\n } else {\n previousTab = list[i - shift];\n }\n\n shift++;\n } while (previousTab.classList.contains('disabled'));\n\n previousTab.focus();\n\n return;\n }\n\n // tslint:disable-next-line:deprecation\n if (event.keyCode === 36 || event.key === 'Home') {\n event.preventDefault();\n\n let firstTab: any;\n let shift = 0;\n\n do {\n firstTab = list[shift % list.length];\n\n shift++;\n } while (firstTab.classList.contains('disabled'));\n\n firstTab.focus();\n\n return;\n }\n\n // tslint:disable-next-line:deprecation\n if (event.keyCode === 35 || event.key === 'End') {\n event.preventDefault();\n\n let lastTab: any;\n let shift = 1;\n let i = index;\n\n do {\n if ((i - shift) < 0) {\n i = list.length - 1;\n lastTab = list[i];\n shift = 0;\n } else {\n lastTab = list[i - shift];\n }\n\n shift++;\n } while (lastTab.classList.contains('disabled'));\n\n lastTab.focus();\n\n return;\n }\n\n // tslint:disable-next-line:deprecation\n if (event.keyCode === 46 || event.key === 'Delete') {\n if (this.tabs[index].removable) {\n this.removeTab(this.tabs[index]);\n\n if (list[index + 1]) {\n list[(index + 1) % list.length].focus();\n\n return;\n }\n\n if (list[list.length - 1]) {\n list[0].focus();\n }\n }\n }\n }\n\n protected getClosestTabIndex(index: number): number {\n const tabsLength = this.tabs.length;\n if (!tabsLength) {\n return -1;\n }\n\n for (let step = 1; step <= tabsLength; step += 1) {\n const prevIndex = index - step;\n const nextIndex = index + step;\n if (this.tabs[prevIndex] && !this.tabs[prevIndex].disabled) {\n return prevIndex;\n }\n if (this.tabs[nextIndex] && !this.tabs[nextIndex].disabled) {\n return nextIndex;\n }\n }\n\n return -1;\n }\n\n protected hasAvailableTabs(index: number): boolean {\n const tabsLength = this.tabs.length;\n if (!tabsLength) {\n return false;\n }\n\n for (let i = 0; i < tabsLength; i += 1) {\n if (!this.tabs[i].disabled && i !== index) {\n return true;\n }\n }\n\n return false;\n }\n\n protected setClassMap(): void {\n this.classMap = {\n 'nav-stacked': this.vertical,\n 'flex-column': this.vertical,\n 'nav-justified': this.justified,\n [`nav-${this.type}`]: true\n };\n }\n}\n","import {\n Directive,\n EventEmitter,\n HostBinding,\n Input,\n Output,\n TemplateRef,\n OnInit,\n OnDestroy,\n ElementRef,\n Renderer2\n} from '@angular/core';\nimport { TabsetComponent } from './tabset.component';\n\n@Directive({ selector: 'tab, [tab]' })\nexport class TabDirective implements OnInit, OnDestroy {\n /** tab header text */\n @Input() heading: string;\n /** tab id. The same id with suffix '-link' will be added to the corresponding <li> element */\n @HostBinding('attr.id')\n @Input() id: string;\n /** if true tab can not be activated */\n @Input() disabled: boolean;\n /** if true tab can be removable, additional button will appear */\n @Input() removable: boolean;\n /** if set, will be added to the tab's class attribute. Multiple classes are supported. */\n @Input()\n get customClass(): string {\n return this._customClass;\n }\n\n set customClass(customClass: string) {\n if (this.customClass) {\n this.customClass.split(' ').forEach((cssClass: string) => {\n this.renderer.removeClass(this.elementRef.nativeElement, cssClass);\n });\n }\n\n this._customClass = customClass ? customClass.trim() : null;\n\n if (this.customClass) {\n this.customClass.split(' ').forEach((cssClass: string) => {\n this.renderer.addClass(this.elementRef.nativeElement, cssClass);\n });\n }\n }\n\n /** tab active state toggle */\n @HostBinding('class.active')\n @Input()\n get active(): boolean {\n return this._active;\n }\n\n set active(active: boolean) {\n if (this._active === active) {\n return;\n }\n if ((this.disabled && active) || !active) {\n if (this._active && !active) {\n this.deselect.emit(this);\n this._active = active;\n }\n\n return;\n }\n\n this._active = active;\n this.selectTab.emit(this);\n this.tabset.tabs.forEach((tab: TabDirective) => {\n if (tab !== this) {\n tab.active = false;\n }\n });\n }\n\n /** fired when tab became active, $event:Tab equals to selected instance of Tab component */\n @Output() selectTab: EventEmitter<TabDirective> = new EventEmitter();\n /** fired when tab became inactive, $event:Tab equals to deselected instance of Tab component */\n @Output() deselect: EventEmitter<TabDirective> = new EventEmitter();\n /** fired before tab will be removed, $event:Tab equals to instance of removed tab */\n @Output() removed: EventEmitter<TabDirective> = new EventEmitter();\n\n @HostBinding('class.tab-pane') addClass = true;\n @HostBinding('attr.role') role = 'tabpanel';\n @HostBinding('attr.aria-labelledby') get ariaLabelledby(): string {\n return this.id ? `${this.id}-link` : '';\n }\n\n /* tslint:disable-next-line:no-any */\n headingRef: TemplateRef<any>;\n tabset: TabsetComponent;\n protected _active: boolean;\n protected _customClass: string;\n\n constructor(\n tabset: TabsetComponent,\n public elementRef: ElementRef,\n public renderer: Renderer2\n ) {\n this.tabset = tabset;\n this.tabset.addTab(this);\n }\n\n ngOnInit(): void {\n this.removable = this.removable;\n }\n\n ngOnDestroy(): void {\n this.tabset.removeTab(this, { reselect: false, emit: false });\n }\n}\n","import { Directive, TemplateRef } from '@angular/core';\n\nimport { TabDirective } from './tab.directive';\n\n/** Should be used to mark <ng-template> element as a template for tab heading */\n@Directive({ selector: '[tabHeading]' })\nexport class TabHeadingDirective {\n /* tslint:disable-next-line:no-any */\n templateRef: TemplateRef<any>;\n\n /* tslint:disable-next-line:no-any */\n constructor(templateRef: TemplateRef<any>, tab: TabDirective) {\n tab.headingRef = templateRef;\n }\n}\n","import { CommonModule } from '@angular/common';\nimport { NgModule, ModuleWithProviders } from '@angular/core';\n\nimport { NgTranscludeDirective } from './ng-transclude.directive';\nimport { TabHeadingDirective } from './tab-heading.directive';\nimport { TabDirective } from './tab.directive';\nimport { TabsetComponent } from './tabset.component';\nimport { TabsetConfig } from './tabset.config';\n\n@NgModule({\n imports: [CommonModule],\n declarations: [\n NgTranscludeDirective,\n TabDirective,\n TabsetComponent,\n TabHeadingDirective\n ],\n exports: [\n TabDirective,\n TabsetComponent,\n TabHeadingDirective,\n NgTranscludeDirective\n ]\n})\nexport class TabsModule {\n static forRoot(): ModuleWithProviders {\n return {\n ngModule: TabsModule,\n providers: [TabsetConfig]\n };\n }\n}\n"],"names":[],"mappings":"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"}
|
@@ -1,4 +1,4 @@
|
|
1
|
-
import { Directive, ViewContainerRef, Input, Injectable, Component, Renderer2, ElementRef, HostBinding,
|
1
|
+
import { Directive, ViewContainerRef, Input, Injectable, Component, Renderer2, ElementRef, HostBinding, EventEmitter, Output, TemplateRef, NgModule } from '@angular/core';
|
2
2
|
import { CommonModule } from '@angular/common';
|
3
3
|
|
4
4
|
/**
|
@@ -45,6 +45,20 @@ var NgTranscludeDirective = /** @class */ (function () {
|
|
45
45
|
};
|
46
46
|
return NgTranscludeDirective;
|
47
47
|
}());
|
48
|
+
if (false) {
|
49
|
+
/** @type {?} */
|
50
|
+
NgTranscludeDirective.prototype.viewRef;
|
51
|
+
/**
|
52
|
+
* @type {?}
|
53
|
+
* @protected
|
54
|
+
*/
|
55
|
+
NgTranscludeDirective.prototype._viewRef;
|
56
|
+
/**
|
57
|
+
* @type {?}
|
58
|
+
* @protected
|
59
|
+
*/
|
60
|
+
NgTranscludeDirective.prototype._ngTransclude;
|
61
|
+
}
|
48
62
|
|
49
63
|
/**
|
50
64
|
* @fileoverview added by tsickle
|
@@ -56,12 +70,28 @@ var TabsetConfig = /** @class */ (function () {
|
|
56
70
|
* provides default navigation context class: 'tabs' or 'pills'
|
57
71
|
*/
|
58
72
|
this.type = 'tabs';
|
73
|
+
/**
|
74
|
+
* aria label for tab list
|
75
|
+
*/
|
76
|
+
this.ariaLabel = 'Tabs';
|
59
77
|
}
|
60
78
|
TabsetConfig.decorators = [
|
61
79
|
{ type: Injectable }
|
62
80
|
];
|
63
81
|
return TabsetConfig;
|
64
82
|
}());
|
83
|
+
if (false) {
|
84
|
+
/**
|
85
|
+
* provides default navigation context class: 'tabs' or 'pills'
|
86
|
+
* @type {?}
|
87
|
+
*/
|
88
|
+
TabsetConfig.prototype.type;
|
89
|
+
/**
|
90
|
+
* aria label for tab list
|
91
|
+
* @type {?}
|
92
|
+
*/
|
93
|
+
TabsetConfig.prototype.ariaLabel;
|
94
|
+
}
|
65
95
|
|
66
96
|
/**
|
67
97
|
* @fileoverview added by tsickle
|
@@ -375,7 +405,7 @@ var TabsetComponent = /** @class */ (function () {
|
|
375
405
|
TabsetComponent.decorators = [
|
376
406
|
{ type: Component, args: [{
|
377
407
|
selector: 'tabset',
|
378
|
-
template: "<ul class=\"nav\" [ngClass]=\"classMap\"
|
408
|
+
template: "<ul class=\"nav\" [ngClass]=\"classMap\"\n (click)=\"$event.preventDefault()\"\n [attr.aria-label]=\"ariaLabel\"\n role=\"tablist\">\n <li *ngFor=\"let tabz of tabs; let i = index\" [ngClass]=\"['nav-item', tabz.customClass || '']\"\n [class.active]=\"tabz.active\" [class.disabled]=\"tabz.disabled\" (keydown)=\"keyNavActions($event, i)\">\n <a href=\"javascript:void(0);\" class=\"nav-link\" role=\"tab\"\n [attr.aria-controls]=\"tabz.id ? tabz.id : ''\"\n [attr.aria-selected]=\"!!tabz.active\"\n [attr.id]=\"tabz.id ? tabz.id + '-link' : ''\"\n [class.active]=\"tabz.active\" [class.disabled]=\"tabz.disabled\"\n (click)=\"tabz.active = true\">\n <span [ngTransclude]=\"tabz.headingRef\">{{ tabz.heading }}</span>\n <span *ngIf=\"tabz.removable\" (click)=\"$event.preventDefault(); removeTab(tabz);\" class=\"bs-remove-tab\"> ❌</span>\n </a>\n </li>\n</ul>\n<div class=\"tab-content\">\n <ng-content></ng-content>\n</div>\n",
|
379
409
|
styles: [":host .nav-tabs .nav-item.disabled a.disabled{cursor:default}"]
|
380
410
|
}] }
|
381
411
|
];
|
@@ -393,6 +423,49 @@ var TabsetComponent = /** @class */ (function () {
|
|
393
423
|
};
|
394
424
|
return TabsetComponent;
|
395
425
|
}());
|
426
|
+
if (false) {
|
427
|
+
/** @type {?} */
|
428
|
+
TabsetComponent.prototype.clazz;
|
429
|
+
/** @type {?} */
|
430
|
+
TabsetComponent.prototype.tabs;
|
431
|
+
/** @type {?} */
|
432
|
+
TabsetComponent.prototype.classMap;
|
433
|
+
/**
|
434
|
+
* aria label for tab list
|
435
|
+
* @type {?}
|
436
|
+
*/
|
437
|
+
TabsetComponent.prototype.ariaLabel;
|
438
|
+
/**
|
439
|
+
* @type {?}
|
440
|
+
* @protected
|
441
|
+
*/
|
442
|
+
TabsetComponent.prototype.isDestroyed;
|
443
|
+
/**
|
444
|
+
* @type {?}
|
445
|
+
* @protected
|
446
|
+
*/
|
447
|
+
TabsetComponent.prototype._vertical;
|
448
|
+
/**
|
449
|
+
* @type {?}
|
450
|
+
* @protected
|
451
|
+
*/
|
452
|
+
TabsetComponent.prototype._justified;
|
453
|
+
/**
|
454
|
+
* @type {?}
|
455
|
+
* @protected
|
456
|
+
*/
|
457
|
+
TabsetComponent.prototype._type;
|
458
|
+
/**
|
459
|
+
* @type {?}
|
460
|
+
* @private
|
461
|
+
*/
|
462
|
+
TabsetComponent.prototype.renderer;
|
463
|
+
/**
|
464
|
+
* @type {?}
|
465
|
+
* @private
|
466
|
+
*/
|
467
|
+
TabsetComponent.prototype.elementRef;
|
468
|
+
}
|
396
469
|
|
397
470
|
/**
|
398
471
|
* @fileoverview added by tsickle
|
@@ -415,6 +488,7 @@ var TabDirective = /** @class */ (function () {
|
|
415
488
|
*/
|
416
489
|
this.removed = new EventEmitter();
|
417
490
|
this.addClass = true;
|
491
|
+
this.role = 'tabpanel';
|
418
492
|
this.tabset = tabset;
|
419
493
|
this.tabset.addTab(this);
|
420
494
|
}
|
@@ -496,6 +570,16 @@ var TabDirective = /** @class */ (function () {
|
|
496
570
|
enumerable: true,
|
497
571
|
configurable: true
|
498
572
|
});
|
573
|
+
Object.defineProperty(TabDirective.prototype, "ariaLabelledby", {
|
574
|
+
get: /**
|
575
|
+
* @return {?}
|
576
|
+
*/
|
577
|
+
function () {
|
578
|
+
return this.id ? this.id + "-link" : '';
|
579
|
+
},
|
580
|
+
enumerable: true,
|
581
|
+
configurable: true
|
582
|
+
});
|
499
583
|
/**
|
500
584
|
* @return {?}
|
501
585
|
*/
|
@@ -533,10 +617,71 @@ var TabDirective = /** @class */ (function () {
|
|
533
617
|
selectTab: [{ type: Output }],
|
534
618
|
deselect: [{ type: Output }],
|
535
619
|
removed: [{ type: Output }],
|
536
|
-
addClass: [{ type: HostBinding, args: ['class.tab-pane',] }]
|
620
|
+
addClass: [{ type: HostBinding, args: ['class.tab-pane',] }],
|
621
|
+
role: [{ type: HostBinding, args: ['attr.role',] }],
|
622
|
+
ariaLabelledby: [{ type: HostBinding, args: ['attr.aria-labelledby',] }]
|
537
623
|
};
|
538
624
|
return TabDirective;
|
539
625
|
}());
|
626
|
+
if (false) {
|
627
|
+
/**
|
628
|
+
* tab header text
|
629
|
+
* @type {?}
|
630
|
+
*/
|
631
|
+
TabDirective.prototype.heading;
|
632
|
+
/**
|
633
|
+
* tab id. The same id with suffix '-link' will be added to the corresponding <li> element
|
634
|
+
* @type {?}
|
635
|
+
*/
|
636
|
+
TabDirective.prototype.id;
|
637
|
+
/**
|
638
|
+
* if true tab can not be activated
|
639
|
+
* @type {?}
|
640
|
+
*/
|
641
|
+
TabDirective.prototype.disabled;
|
642
|
+
/**
|
643
|
+
* if true tab can be removable, additional button will appear
|
644
|
+
* @type {?}
|
645
|
+
*/
|
646
|
+
TabDirective.prototype.removable;
|
647
|
+
/**
|
648
|
+
* fired when tab became active, $event:Tab equals to selected instance of Tab component
|
649
|
+
* @type {?}
|
650
|
+
*/
|
651
|
+
TabDirective.prototype.selectTab;
|
652
|
+
/**
|
653
|
+
* fired when tab became inactive, $event:Tab equals to deselected instance of Tab component
|
654
|
+
* @type {?}
|
655
|
+
*/
|
656
|
+
TabDirective.prototype.deselect;
|
657
|
+
/**
|
658
|
+
* fired before tab will be removed, $event:Tab equals to instance of removed tab
|
659
|
+
* @type {?}
|
660
|
+
*/
|
661
|
+
TabDirective.prototype.removed;
|
662
|
+
/** @type {?} */
|
663
|
+
TabDirective.prototype.addClass;
|
664
|
+
/** @type {?} */
|
665
|
+
TabDirective.prototype.role;
|
666
|
+
/** @type {?} */
|
667
|
+
TabDirective.prototype.headingRef;
|
668
|
+
/** @type {?} */
|
669
|
+
TabDirective.prototype.tabset;
|
670
|
+
/**
|
671
|
+
* @type {?}
|
672
|
+
* @protected
|
673
|
+
*/
|
674
|
+
TabDirective.prototype._active;
|
675
|
+
/**
|
676
|
+
* @type {?}
|
677
|
+
* @protected
|
678
|
+
*/
|
679
|
+
TabDirective.prototype._customClass;
|
680
|
+
/** @type {?} */
|
681
|
+
TabDirective.prototype.elementRef;
|
682
|
+
/** @type {?} */
|
683
|
+
TabDirective.prototype.renderer;
|
684
|
+
}
|
540
685
|
|
541
686
|
/**
|
542
687
|
* @fileoverview added by tsickle
|
@@ -560,6 +705,10 @@ var TabHeadingDirective = /** @class */ (function () {
|
|
560
705
|
]; };
|
561
706
|
return TabHeadingDirective;
|
562
707
|
}());
|
708
|
+
if (false) {
|
709
|
+
/** @type {?} */
|
710
|
+
TabHeadingDirective.prototype.templateRef;
|
711
|
+
}
|
563
712
|
|
564
713
|
/**
|
565
714
|
* @fileoverview added by tsickle
|
@@ -600,5 +749,15 @@ var TabsModule = /** @class */ (function () {
|
|
600
749
|
return TabsModule;
|
601
750
|
}());
|
602
751
|
|
752
|
+
/**
|
753
|
+
* @fileoverview added by tsickle
|
754
|
+
* @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
|
755
|
+
*/
|
756
|
+
|
757
|
+
/**
|
758
|
+
* @fileoverview added by tsickle
|
759
|
+
* @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
|
760
|
+
*/
|
761
|
+
|
603
762
|
export { NgTranscludeDirective, TabDirective, TabHeadingDirective, TabsModule, TabsetComponent, TabsetConfig };
|
604
763
|
//# sourceMappingURL=ngx-bootstrap-tabs.js.map
|