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
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"sources":["../../../node_modules/tslib/tslib.es6.js","ng://ngx-bootstrap/typeahead/latin-map.ts","ng://ngx-bootstrap/typeahead/typeahead-options.class.ts","ng://ngx-bootstrap/typeahead/typeahead-match.class.ts","ng://ngx-bootstrap/typeahead/typeahead-utils.ts","ng://ngx-bootstrap/typeahead/typeahead-animations.ts","ng://ngx-bootstrap/typeahead/typeahead-container.component.ts","ng://ngx-bootstrap/typeahead/typeahead.config.ts","ng://ngx-bootstrap/typeahead/typeahead.directive.ts","ng://ngx-bootstrap/typeahead/typeahead.module.ts"],"names":["__values","o","m","Symbol","iterator","i","call","next","length","value","done","latinMap","Á","Ă","Ắ","Ặ","Ằ","Ẳ","Ẵ","Ǎ","Â","Ấ","Ậ","Ầ","Ẩ","Ẫ","Ä","Ǟ","Ȧ","Ǡ","Ạ","Ȁ","À","Ả","Ȃ","Ā","Ą","Å","Ǻ","Ḁ","Ⱥ","Ã","Ꜳ","Æ","Ǽ","Ǣ","Ꜵ","Ꜷ","Ꜹ","Ꜻ","Ꜽ","Ḃ","Ḅ","Ɓ","Ḇ","Ƀ","Ƃ","Ć","Č","Ç","Ḉ","Ĉ","Ċ","Ƈ","Ȼ","Ď","Ḑ","Ḓ","Ḋ","Ḍ","Ɗ","Ḏ","Dz","Dž","Đ","Ƌ","DZ","DŽ","É","Ĕ","Ě","Ȩ","Ḝ","Ê","Ế","Ệ","Ề","Ể","Ễ","Ḙ","Ë","Ė","Ẹ","Ȅ","È","Ẻ","Ȇ","Ē","Ḗ","Ḕ","Ę","Ɇ","Ẽ","Ḛ","Ꝫ","Ḟ","Ƒ","Ǵ","Ğ","Ǧ","Ģ","Ĝ","Ġ","Ɠ","Ḡ","Ǥ","Ḫ","Ȟ","Ḩ","Ĥ","Ⱨ","Ḧ","Ḣ","Ḥ","Ħ","Í","Ĭ","Ǐ","Î","Ï","Ḯ","İ","Ị","Ȉ","Ì","Ỉ","Ȋ","Ī","Į","Ɨ","Ĩ","Ḭ","Ꝺ","Ꝼ","Ᵹ","Ꞃ","Ꞅ","Ꞇ","Ꝭ","Ĵ","Ɉ","Ḱ","Ǩ","Ķ","Ⱪ","Ꝃ","Ḳ","Ƙ","Ḵ","Ꝁ","Ꝅ","Ĺ","Ƚ","Ľ","Ļ","Ḽ","Ḷ","Ḹ","Ⱡ","Ꝉ","Ḻ","Ŀ","Ɫ","Lj","Ł","LJ","Ḿ","Ṁ","Ṃ","Ɱ","Ń","Ň","Ņ","Ṋ","Ṅ","Ṇ","Ǹ","Ɲ","Ṉ","Ƞ","Nj","Ñ","NJ","Ó","Ŏ","Ǒ","Ô","Ố","Ộ","Ồ","Ổ","Ỗ","Ö","Ȫ","Ȯ","Ȱ","Ọ","Ő","Ȍ","Ò","Ỏ","Ơ","Ớ","Ợ","Ờ","Ở","Ỡ","Ȏ","Ꝋ","Ꝍ","Ō","Ṓ","Ṑ","Ɵ","Ǫ","Ǭ","Ø","Ǿ","Õ","Ṍ","Ṏ","Ȭ","Ƣ","Ꝏ","Ɛ","Ɔ","Ȣ","Ṕ","Ṗ","Ꝓ","Ƥ","Ꝕ","Ᵽ","Ꝑ","Ꝙ","Ꝗ","Ŕ","Ř","Ŗ","Ṙ","Ṛ","Ṝ","Ȑ","Ȓ","Ṟ","Ɍ","Ɽ","Ꜿ","Ǝ","Ś","Ṥ","Š","Ṧ","Ş","Ŝ","Ș","Ṡ","Ṣ","Ṩ","Ť","Ţ","Ṱ","Ț","Ⱦ","Ṫ","Ṭ","Ƭ","Ṯ","Ʈ","Ŧ","Ɐ","Ꞁ","Ɯ","Ʌ","Ꜩ","Ú","Ŭ","Ǔ","Û","Ṷ","Ü","Ǘ","Ǚ","Ǜ","Ǖ","Ṳ","Ụ","Ű","Ȕ","Ù","Ủ","Ư","Ứ","Ự","Ừ","Ử","Ữ","Ȗ","Ū","Ṻ","Ų","Ů","Ũ","Ṹ","Ṵ","Ꝟ","Ṿ","Ʋ","Ṽ","Ꝡ","Ẃ","Ŵ","Ẅ","Ẇ","Ẉ","Ẁ","Ⱳ","Ẍ","Ẋ","Ý","Ŷ","Ÿ","Ẏ","Ỵ","Ỳ","Ƴ","Ỷ","Ỿ","Ȳ","Ɏ","Ỹ","Ź","Ž","Ẑ","Ⱬ","Ż","Ẓ","Ȥ","Ẕ","Ƶ","IJ","Œ","ᴀ","ᴁ","ʙ","ᴃ","ᴄ","ᴅ","ᴇ","ꜰ","ɢ","ʛ","ʜ","ɪ","ʁ","ᴊ","ᴋ","ʟ","ᴌ","ᴍ","ɴ","ᴏ","ɶ","ᴐ","ᴕ","ᴘ","ʀ","ᴎ","ᴙ","ꜱ","ᴛ","ⱻ","ᴚ","ᴜ","ᴠ","ᴡ","ʏ","ᴢ","á","ă","ắ","ặ","ằ","ẳ","ẵ","ǎ","â","ấ","ậ","ầ","ẩ","ẫ","ä","ǟ","ȧ","ǡ","ạ","ȁ","à","ả","ȃ","ā","ą","ᶏ","ẚ","å","ǻ","ḁ","ⱥ","ã","ꜳ","æ","ǽ","ǣ","ꜵ","ꜷ","ꜹ","ꜻ","ꜽ","ḃ","ḅ","ɓ","ḇ","ᵬ","ᶀ","ƀ","ƃ","ɵ","ć","č","ç","ḉ","ĉ","ɕ","ċ","ƈ","ȼ","ď","ḑ","ḓ","ȡ","ḋ","ḍ","ɗ","ᶑ","ḏ","ᵭ","ᶁ","đ","ɖ","ƌ","ı","ȷ","ɟ","ʄ","dz","dž","é","ĕ","ě","ȩ","ḝ","ê","ế","ệ","ề","ể","ễ","ḙ","ë","ė","ẹ","ȅ","è","ẻ","ȇ","ē","ḗ","ḕ","ⱸ","ę","ᶒ","ɇ","ẽ","ḛ","ꝫ","ḟ","ƒ","ᵮ","ᶂ","ǵ","ğ","ǧ","ģ","ĝ","ġ","ɠ","ḡ","ᶃ","ǥ","ḫ","ȟ","ḩ","ĥ","ⱨ","ḧ","ḣ","ḥ","ɦ","ẖ","ħ","ƕ","í","ĭ","ǐ","î","ï","ḯ","ị","ȉ","ì","ỉ","ȋ","ī","į","ᶖ","ɨ","ĩ","ḭ","ꝺ","ꝼ","ᵹ","ꞃ","ꞅ","ꞇ","ꝭ","ǰ","ĵ","ʝ","ɉ","ḱ","ǩ","ķ","ⱪ","ꝃ","ḳ","ƙ","ḵ","ᶄ","ꝁ","ꝅ","ĺ","ƚ","ɬ","ľ","ļ","ḽ","ȴ","ḷ","ḹ","ⱡ","ꝉ","ḻ","ŀ","ɫ","ᶅ","ɭ","ł","lj","ſ","ẜ","ẛ","ẝ","ḿ","ṁ","ṃ","ɱ","ᵯ","ᶆ","ń","ň","ņ","ṋ","ȵ","ṅ","ṇ","ǹ","ɲ","ṉ","ƞ","ᵰ","ᶇ","ɳ","ñ","nj","ó","ŏ","ǒ","ô","ố","ộ","ồ","ổ","ỗ","ö","ȫ","ȯ","ȱ","ọ","ő","ȍ","ò","ỏ","ơ","ớ","ợ","ờ","ở","ỡ","ȏ","ꝋ","ꝍ","ⱺ","ō","ṓ","ṑ","ǫ","ǭ","ø","ǿ","õ","ṍ","ṏ","ȭ","ƣ","ꝏ","ɛ","ᶓ","ɔ","ᶗ","ȣ","ṕ","ṗ","ꝓ","ƥ","ᵱ","ᶈ","ꝕ","ᵽ","ꝑ","ꝙ","ʠ","ɋ","ꝗ","ŕ","ř","ŗ","ṙ","ṛ","ṝ","ȑ","ɾ","ᵳ","ȓ","ṟ","ɼ","ᵲ","ᶉ","ɍ","ɽ","ↄ","ꜿ","ɘ","ɿ","ś","ṥ","š","ṧ","ş","ŝ","ș","ṡ","ṣ","ṩ","ʂ","ᵴ","ᶊ","ȿ","ɡ","ᴑ","ᴓ","ᴝ","ť","ţ","ṱ","ț","ȶ","ẗ","ⱦ","ṫ","ṭ","ƭ","ṯ","ᵵ","ƫ","ʈ","ŧ","ᵺ","ɐ","ᴂ","ǝ","ᵷ","ɥ","ʮ","ʯ","ᴉ","ʞ","ꞁ","ɯ","ɰ","ᴔ","ɹ","ɻ","ɺ","ⱹ","ʇ","ʌ","ʍ","ʎ","ꜩ","ú","ŭ","ǔ","û","ṷ","ü","ǘ","ǚ","ǜ","ǖ","ṳ","ụ","ű","ȕ","ù","ủ","ư","ứ","ự","ừ","ử","ữ","ȗ","ū","ṻ","ų","ᶙ","ů","ũ","ṹ","ṵ","ᵫ","ꝸ","ⱴ","ꝟ","ṿ","ʋ","ᶌ","ⱱ","ṽ","ꝡ","ẃ","ŵ","ẅ","ẇ","ẉ","ẁ","ⱳ","ẘ","ẍ","ẋ","ᶍ","ý","ŷ","ÿ","ẏ","ỵ","ỳ","ƴ","ỷ","ỿ","ȳ","ẙ","ɏ","ỹ","ź","ž","ẑ","ʑ","ⱬ","ż","ẓ","ȥ","ẕ","ᵶ","ᶎ","ʐ","ƶ","ɀ","ff","ffi","ffl","fi","fl","ij","œ","st","ₐ","ₑ","ᵢ","ⱼ","ₒ","ᵣ","ᵤ","ᵥ","ₓ","TypeaheadOptions","options","Object","assign","this","TypeaheadMatch","item","header","prototype","isHeader","toString","latinize","str","replace","a","tokenize","wordRegexDelimiters","phraseRegexDelimiters","token","regexStr","preTokenized","split","RegExp","result","preTokenizedLength","replacePhraseDelimiters","push","getValueFromObject","object","option","endsWith","slice","propertiesArray","propertiesArray_1","tslib_1.__values","propertiesArray_1_1","property","typeaheadAnimation","trigger","state","style","height","overflow","transition","animate","TypeaheadContainerComponent","positionService","renderer","element","isFocused","visibility","_matches","isScrolledIntoView","elem","containerViewTop","ulElement","nativeElement","scrollTop","containerViewBottom","Number","offsetHeight","elemTop","offsetTop","defineProperty","isBs3","_active","_this","setOptions","modifiers","flip","enabled","adaptivePosition","allowedPositions","event$","pipe","take","tap","disable","typeaheadScrollable","isAnimated","animationState","isTopPosition","enable","delay","parseInt","subscribe","needScrollbar","typeaheadOptionsInScrollableView","matches","setTimeout","setScrollableMode","typeaheadIsFirstItemActive","nextActiveMatch","concurrency","find","match","selectActive","classList","contains","parent","optionsListTemplate","undefined","typeaheadItemTemplate","selectActiveMatch","isActiveItemChanged","typeaheadSelectFirstItem","selectMatch","prevActiveMatch","index","indexOf","scrollPrevious","scrollNext","highlight","query","startIdx","tokenLen","itemStr","itemStrHelper","typeaheadLatinize","toLowerCase","queryLen","substring","repeat","focusLost","isActive","e","stopPropagation","preventDefault","changeModel","typeaheadOnSelect","emit","liElements","first","ulStyles","Utils","getStyles","liStyles","ulPaddingBottom","parseFloat","ulPaddingTop","optionHeight","guiHeight","setStyle","liElement","toArray","scrollToBottom","scrollToTop","scrollHeight","Component","args","selector","template","host","class","[class.dropdown-menu]","[style.height]","[style.visibility]","[class.dropup]","animations","PositioningService","Renderer2","ElementRef","ViewChild","static","ViewChildren","HostListener","type","TypeaheadConfig","hideResultsOnBlur","selectFirstItem","isFirstItemActive","minLength","Injectable","TypeaheadDirective","cis","config","changeDetection","ngControl","viewContainerRef","typeaheadMinLength","typeaheadAsync","typeaheadSingleWords","typeaheadWordDelimiters","typeaheadPhraseDelimiters","typeaheadLoading","EventEmitter","typeaheadNoResults","typeaheadOnBlur","dropup","isTypeaheadOptionsListActive","keyUpEventEmitter","placement","_subscriptions","_typeahead","createLoader","provide","useValue","typeaheadHideResultsOnBlur","ngOnInit","typeaheadOptionsLimit","typeaheadWaitMs","isObservable","typeahead","asyncActions","syncActions","onInput","target","textContent","innerText","trim","hide","onChange","event","_container","keyCode","key","onFocus","onBlur","active","onKeydown","valueStr","viewToModelUpdate","setValue","markForCheck","show","attach","to","container","position","attachment","typeaheadRef","animation","_outsideClickListener","listen","onOutsideClick","instance","normalizedQuery","control","focus","isShown","ngOnDestroy","_b","_c","unsubscribe","dispose","debounceTime","switchMap","finalizeAsyncCall","mergeMap","normalizeQuery","from","filter","testMatch","normalizeOption","optionValue","typeaheadOptionField","test","spaceLength","prepareMatches","hasMatches","limited","typeaheadGroupField","matches_1","map","v","forEach","group","concat","Directive","exportAs","ComponentLoaderFactory","ChangeDetectorRef","NgControl","ViewContainerRef","Input","Output","TypeaheadModule","forRoot","ngModule","providers","NgModule","imports","CommonModule","declarations","exports","entryComponents","queryToEscape"],"mappings":"y1BA0GO,SAASA,EAASC,GACrB,IAAIC,EAAsB,mBAAXC,QAAyBF,EAAEE,OAAOC,UAAWC,EAAI,EAChE,OAAIH,EAAUA,EAAEI,KAAKL,GACd,CACHM,KAAM,WAEF,OADIN,GAAKI,GAAKJ,EAAEO,SAAQP,OAAI,GACrB,CAAEQ,MAAOR,GAAKA,EAAEI,KAAMK,MAAOT,KC/GhD,IAAaU,EAAsC,CAC/CC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,KACLC,IAAK,KACLC,IAAK,KACLC,IAAK,KACLC,IAAK,KACLC,IAAK,KACLC,IAAK,KACLC,IAAK,KACLC,IAAK,KACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,KACLC,IAAK,KACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,KACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,KACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,KACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,KACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,KACLC,IAAK,KACLC,IAAK,IACLC,IAAK,IACLC,IAAK,KACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,KACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,KACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,KACLC,IAAK,KACLC,IAAK,IACLC,IAAK,KACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,KACLC,IAAK,IACLC,IAAK,KACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,KACLC,IAAK,KACLC,IAAK,KACLC,IAAK,KACLC,IAAK,KACLC,IAAK,KACLC,IAAK,KACLC,IAAK,KACLC,IAAK,KACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,KACLC,IAAK,KACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,KACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,KACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,KACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,KACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,KACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,KACLC,IAAK,KACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,KACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,KACLC,IAAK,IACLC,IAAK,KACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,KACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,KACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACL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","sourcesContent":["/*! *****************************************************************************\r\nCopyright (c) Microsoft Corporation. All rights reserved.\r\nLicensed under the Apache License, Version 2.0 (the \"License\"); you may not use\r\nthis file except in compliance with the License. You may obtain a copy of the\r\nLicense at http://www.apache.org/licenses/LICENSE-2.0\r\n\r\nTHIS CODE IS PROVIDED ON AN *AS IS* BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\r\nKIND, EITHER EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION ANY IMPLIED\r\nWARRANTIES OR CONDITIONS OF TITLE, FITNESS FOR A PARTICULAR PURPOSE,\r\nMERCHANTABLITY OR NON-INFRINGEMENT.\r\n\r\nSee the Apache Version 2.0 License for specific language governing permissions\r\nand limitations under the License.\r\n***************************************************************************** */\r\n/* global Reflect, Promise */\r\n\r\nvar extendStatics = function(d, b) {\r\n extendStatics = Object.setPrototypeOf ||\r\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\r\n return extendStatics(d, b);\r\n};\r\n\r\nexport function __extends(d, b) {\r\n extendStatics(d, b);\r\n function __() { this.constructor = d; }\r\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n}\r\n\r\nexport var __assign = function() {\r\n __assign = Object.assign || function __assign(t) {\r\n for (var s, i = 1, n = arguments.length; i < n; i++) {\r\n s = arguments[i];\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\r\n }\r\n return t;\r\n }\r\n return __assign.apply(this, arguments);\r\n}\r\n\r\nexport function __rest(s, e) {\r\n var t = {};\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\r\n t[p] = s[p];\r\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\r\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) if (e.indexOf(p[i]) < 0)\r\n t[p[i]] = s[p[i]];\r\n return t;\r\n}\r\n\r\nexport function __decorate(decorators, target, key, desc) {\r\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n}\r\n\r\nexport function __param(paramIndex, decorator) {\r\n return function (target, key) { decorator(target, key, paramIndex); }\r\n}\r\n\r\nexport function __metadata(metadataKey, metadataValue) {\r\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\r\n}\r\n\r\nexport function __awaiter(thisArg, _arguments, P, generator) {\r\n return new (P || (P = Promise))(function (resolve, reject) {\r\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\r\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\r\n function step(result) { result.done ? resolve(result.value) : new P(function (resolve) { resolve(result.value); }).then(fulfilled, rejected); }\r\n step((generator = generator.apply(thisArg, _arguments || [])).next());\r\n });\r\n}\r\n\r\nexport function __generator(thisArg, body) {\r\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\r\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\r\n function verb(n) { return function (v) { return step([n, v]); }; }\r\n function step(op) {\r\n if (f) throw new TypeError(\"Generator is already executing.\");\r\n while (_) try {\r\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\r\n if (y = 0, t) op = [op[0] & 2, t.value];\r\n switch (op[0]) {\r\n case 0: case 1: t = op; break;\r\n case 4: _.label++; return { value: op[1], done: false };\r\n case 5: _.label++; y = op[1]; op = [0]; continue;\r\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\r\n default:\r\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\r\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\r\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\r\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\r\n if (t[2]) _.ops.pop();\r\n _.trys.pop(); continue;\r\n }\r\n op = body.call(thisArg, _);\r\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\r\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\r\n }\r\n}\r\n\r\nexport function __exportStar(m, exports) {\r\n for (var p in m) if (!exports.hasOwnProperty(p)) exports[p] = m[p];\r\n}\r\n\r\nexport function __values(o) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator], i = 0;\r\n if (m) return m.call(o);\r\n return {\r\n next: function () {\r\n if (o && i >= o.length) o = void 0;\r\n return { value: o && o[i++], done: !o };\r\n }\r\n };\r\n}\r\n\r\nexport function __read(o, n) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\r\n if (!m) return o;\r\n var i = m.call(o), r, ar = [], e;\r\n try {\r\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\r\n }\r\n catch (error) { e = { error: error }; }\r\n finally {\r\n try {\r\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\r\n }\r\n finally { if (e) throw e.error; }\r\n }\r\n return ar;\r\n}\r\n\r\nexport function __spread() {\r\n for (var ar = [], i = 0; i < arguments.length; i++)\r\n ar = ar.concat(__read(arguments[i]));\r\n return ar;\r\n}\r\n\r\nexport function __await(v) {\r\n return this instanceof __await ? (this.v = v, this) : new __await(v);\r\n}\r\n\r\nexport function __asyncGenerator(thisArg, _arguments, generator) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var g = generator.apply(thisArg, _arguments || []), i, q = [];\r\n return i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i;\r\n function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; }\r\n function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\r\n function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\r\n function fulfill(value) { resume(\"next\", value); }\r\n function reject(value) { resume(\"throw\", value); }\r\n function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\r\n}\r\n\r\nexport function __asyncDelegator(o) {\r\n var i, p;\r\n return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\r\n function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: n === \"return\" } : f ? f(v) : v; } : f; }\r\n}\r\n\r\nexport function __asyncValues(o) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var m = o[Symbol.asyncIterator], i;\r\n return m ? m.call(o) : (o = typeof __values === \"function\" ? __values(o) : o[Symbol.iterator](), i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i);\r\n function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }\r\n function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\r\n}\r\n\r\nexport function __makeTemplateObject(cooked, raw) {\r\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\r\n return cooked;\r\n};\r\n\r\nexport function __importStar(mod) {\r\n if (mod && mod.__esModule) return mod;\r\n var result = {};\r\n if (mod != null) for (var k in mod) if (Object.hasOwnProperty.call(mod, k)) result[k] = mod[k];\r\n result.default = mod;\r\n return result;\r\n}\r\n\r\nexport function __importDefault(mod) {\r\n return (mod && mod.__esModule) ? mod : { default: mod };\r\n}\r\n","/* tslint:disable */\nexport const latinMap: { [key: string]: string } = {\n 'Ã': 'A',\n 'Ä': 'A',\n 'Ắ': 'A',\n 'Ặ': 'A',\n 'Ằ': 'A',\n 'Ẳ': 'A',\n 'Ẵ': 'A',\n 'Ç': 'A',\n 'Ã': 'A',\n 'Ấ': 'A',\n 'Ậ': 'A',\n 'Ầ': 'A',\n 'Ẩ': 'A',\n 'Ẫ': 'A',\n 'Ã': 'A',\n 'Ç': 'A',\n 'Ȧ': 'A',\n 'Ç ': 'A',\n 'Ạ': 'A',\n 'È': 'A',\n 'Ã': 'A',\n 'Ả': 'A',\n 'È': 'A',\n 'Ä': 'A',\n 'Ä': 'A',\n 'Ã
': 'A',\n 'Ǻ': 'A',\n 'á¸': 'A',\n 'Ⱥ': 'A',\n 'Ã': 'A',\n 'ê²': 'AA',\n 'Ã': 'AE',\n 'Ǽ': 'AE',\n 'Ç¢': 'AE',\n 'ê´': 'AO',\n 'ê¶': 'AU',\n 'ê¸': 'AV',\n 'êº': 'AV',\n 'ê¼': 'AY',\n 'á¸': 'B',\n 'á¸': 'B',\n 'Æ': 'B',\n 'á¸': 'B',\n 'É': 'B',\n 'Æ': 'B',\n 'Ä': 'C',\n 'Ä': 'C',\n 'Ã': 'C',\n 'á¸': 'C',\n 'Ä': 'C',\n 'Ä': 'C',\n 'Æ': 'C',\n 'È»': 'C',\n 'Ä': 'D',\n 'á¸': 'D',\n 'á¸': 'D',\n 'á¸': 'D',\n 'á¸': 'D',\n 'Æ': 'D',\n 'á¸': 'D',\n 'Dz': 'D',\n 'Ç
': 'D',\n 'Ä': 'D',\n 'Æ': 'D',\n 'DZ': 'DZ',\n 'Ç': 'DZ',\n 'Ã': 'E',\n 'Ä': 'E',\n 'Ä': 'E',\n 'Ȩ': 'E',\n 'á¸': 'E',\n 'Ã': 'E',\n 'Ế': 'E',\n 'á»': 'E',\n 'á»': 'E',\n 'á»': 'E',\n 'á»': 'E',\n 'á¸': 'E',\n 'Ã': 'E',\n 'Ä': 'E',\n 'Ẹ': 'E',\n 'È': 'E',\n 'Ã': 'E',\n 'Ẻ': 'E',\n 'È': 'E',\n 'Ä': 'E',\n 'á¸': 'E',\n 'á¸': 'E',\n 'Ä': 'E',\n 'É': 'E',\n 'Ẽ': 'E',\n 'á¸': 'E',\n 'êª': 'ET',\n 'á¸': 'F',\n 'Æ': 'F',\n 'Ç´': 'G',\n 'Ä': 'G',\n 'Ǧ': 'G',\n 'Ä¢': 'G',\n 'Ä': 'G',\n 'Ä ': 'G',\n 'Æ': 'G',\n 'Ḡ': 'G',\n 'Ǥ': 'G',\n 'Ḫ': 'H',\n 'È': 'H',\n 'Ḩ': 'H',\n 'Ĥ': 'H',\n 'â±§': 'H',\n 'Ḧ': 'H',\n 'Ḣ': 'H',\n 'Ḥ': 'H',\n 'Ħ': 'H',\n 'Ã': 'I',\n 'Ĭ': 'I',\n 'Ç': 'I',\n 'Ã': 'I',\n 'Ã': 'I',\n 'Ḯ': 'I',\n 'İ': 'I',\n 'á»': 'I',\n 'È': 'I',\n 'Ã': 'I',\n 'á»': 'I',\n 'È': 'I',\n 'Ī': 'I',\n 'Ä®': 'I',\n 'Æ': 'I',\n 'Ĩ': 'I',\n 'Ḭ': 'I',\n 'ê¹': 'D',\n 'ê»': 'F',\n 'ê½': 'G',\n 'ê': 'R',\n 'ê': 'S',\n 'ê': 'T',\n 'ê¬': 'IS',\n 'Ä´': 'J',\n 'É': 'J',\n 'Ḱ': 'K',\n 'Ǩ': 'K',\n 'Ķ': 'K',\n 'Ⱪ': 'K',\n 'ê': 'K',\n 'Ḳ': 'K',\n 'Æ': 'K',\n 'Ḵ': 'K',\n 'ê': 'K',\n 'ê': 'K',\n 'Ĺ': 'L',\n 'Ƚ': 'L',\n 'Ľ': 'L',\n 'Ä»': 'L',\n 'Ḽ': 'L',\n 'Ḷ': 'L',\n 'Ḹ': 'L',\n 'â± ': 'L',\n 'ê': 'L',\n 'Ḻ': 'L',\n 'Ä¿': 'L',\n 'â±¢': 'L',\n 'Ç': 'L',\n 'Å': 'L',\n 'Ç': 'LJ',\n 'Ḿ': 'M',\n 'á¹': 'M',\n 'á¹': 'M',\n 'â±®': 'M',\n 'Å': 'N',\n 'Å': 'N',\n 'Å
': 'N',\n 'á¹': 'N',\n 'á¹': 'N',\n 'á¹': 'N',\n 'Ǹ': 'N',\n 'Æ': 'N',\n 'á¹': 'N',\n 'È ': 'N',\n 'Ç': 'N',\n 'Ã': 'N',\n 'Ç': 'NJ',\n 'Ã': 'O',\n 'Å': 'O',\n 'Ç': 'O',\n 'Ã': 'O',\n 'á»': 'O',\n 'á»': 'O',\n 'á»': 'O',\n 'á»': 'O',\n 'á»': 'O',\n 'Ã': 'O',\n 'Ȫ': 'O',\n 'È®': 'O',\n 'Ȱ': 'O',\n 'á»': 'O',\n 'Å': 'O',\n 'È': 'O',\n 'Ã': 'O',\n 'á»': 'O',\n 'Æ ': 'O',\n 'á»': 'O',\n 'Ợ': 'O',\n 'á»': 'O',\n 'á»': 'O',\n 'á» ': 'O',\n 'È': 'O',\n 'ê': 'O',\n 'ê': 'O',\n 'Å': 'O',\n 'á¹': 'O',\n 'á¹': 'O',\n 'Æ': 'O',\n 'Ǫ': 'O',\n 'Ǭ': 'O',\n 'Ã': 'O',\n 'Ǿ': 'O',\n 'Ã': 'O',\n 'á¹': 'O',\n 'á¹': 'O',\n 'Ȭ': 'O',\n 'Æ¢': 'OI',\n 'ê': 'OO',\n 'Æ': 'E',\n 'Æ': 'O',\n 'È¢': 'OU',\n 'á¹': 'P',\n 'á¹': 'P',\n 'ê': 'P',\n 'Ƥ': 'P',\n 'ê': 'P',\n 'â±£': 'P',\n 'ê': 'P',\n 'ê': 'Q',\n 'ê': 'Q',\n 'Å': 'R',\n 'Å': 'R',\n 'Å': 'R',\n 'á¹': 'R',\n 'á¹': 'R',\n 'á¹': 'R',\n 'È': 'R',\n 'È': 'R',\n 'á¹': 'R',\n 'É': 'R',\n 'Ɽ': 'R',\n 'ê¾': 'C',\n 'Æ': 'E',\n 'Å': 'S',\n 'Ṥ': 'S',\n 'Å ': 'S',\n 'Ṧ': 'S',\n 'Å': 'S',\n 'Å': 'S',\n 'È': 'S',\n 'á¹ ': 'S',\n 'á¹¢': 'S',\n 'Ṩ': 'S',\n 'Ť': 'T',\n 'Å¢': 'T',\n 'á¹°': 'T',\n 'È': 'T',\n 'Ⱦ': 'T',\n 'Ṫ': 'T',\n 'Ṭ': 'T',\n 'Ƭ': 'T',\n 'á¹®': 'T',\n 'Æ®': 'T',\n 'Ŧ': 'T',\n 'Ɐ': 'A',\n 'ê': 'L',\n 'Æ': 'M',\n 'É
': 'V',\n 'ê¨': 'TZ',\n 'Ã': 'U',\n 'Ŭ': 'U',\n 'Ç': 'U',\n 'Ã': 'U',\n 'á¹¶': 'U',\n 'Ã': 'U',\n 'Ç': 'U',\n 'Ç': 'U',\n 'Ç': 'U',\n 'Ç': 'U',\n 'á¹²': 'U',\n 'Ụ': 'U',\n 'Ű': 'U',\n 'È': 'U',\n 'Ã': 'U',\n 'Ủ': 'U',\n 'Ư': 'U',\n 'Ứ': 'U',\n 'á»°': 'U',\n 'Ừ': 'U',\n 'Ử': 'U',\n 'á»®': 'U',\n 'È': 'U',\n 'Ū': 'U',\n 'Ṻ': 'U',\n 'Ų': 'U',\n 'Å®': 'U',\n 'Ũ': 'U',\n 'Ṹ': 'U',\n 'á¹´': 'U',\n 'ê': 'V',\n 'á¹¾': 'V',\n 'Ʋ': 'V',\n 'á¹¼': 'V',\n 'ê ': 'VY',\n 'áº': 'W',\n 'Å´': 'W',\n 'áº': 'W',\n 'áº': 'W',\n 'áº': 'W',\n 'áº': 'W',\n 'â±²': 'W',\n 'áº': 'X',\n 'áº': 'X',\n 'Ã': 'Y',\n 'Ŷ': 'Y',\n 'Ÿ': 'Y',\n 'áº': 'Y',\n 'á»´': 'Y',\n 'Ỳ': 'Y',\n 'Ƴ': 'Y',\n 'á»¶': 'Y',\n 'Ỿ': 'Y',\n 'Ȳ': 'Y',\n 'É': 'Y',\n 'Ỹ': 'Y',\n 'Ź': 'Z',\n 'Ž': 'Z',\n 'áº': 'Z',\n 'Ⱬ': 'Z',\n 'Å»': 'Z',\n 'áº': 'Z',\n 'Ȥ': 'Z',\n 'áº': 'Z',\n 'Ƶ': 'Z',\n 'IJ': 'IJ',\n 'Å': 'OE',\n 'á´': 'A',\n 'á´': 'AE',\n 'Ê': 'B',\n 'á´': 'B',\n 'á´': 'C',\n 'á´
': 'D',\n 'á´': 'E',\n 'ê°': 'F',\n 'É¢': 'G',\n 'Ê': 'G',\n 'Ê': 'H',\n 'ɪ': 'I',\n 'Ê': 'R',\n 'á´': 'J',\n 'á´': 'K',\n 'Ê': 'L',\n 'á´': 'L',\n 'á´': 'M',\n 'É´': 'N',\n 'á´': 'O',\n 'ɶ': 'OE',\n 'á´': 'O',\n 'á´': 'OU',\n 'á´': 'P',\n 'Ê': 'R',\n 'á´': 'N',\n 'á´': 'R',\n 'ê±': 'S',\n 'á´': 'T',\n 'â±»': 'E',\n 'á´': 'R',\n 'á´': 'U',\n 'á´ ': 'V',\n 'á´¡': 'W',\n 'Ê': 'Y',\n 'á´¢': 'Z',\n 'á': 'a',\n 'Ä': 'a',\n 'ắ': 'a',\n 'ặ': 'a',\n 'ằ': 'a',\n 'ẳ': 'a',\n 'ẵ': 'a',\n 'Ç': 'a',\n 'â': 'a',\n 'ấ': 'a',\n 'áº': 'a',\n 'ầ': 'a',\n 'ẩ': 'a',\n 'ẫ': 'a',\n 'ä': 'a',\n 'Ç': 'a',\n 'ȧ': 'a',\n 'Ç¡': 'a',\n 'ạ': 'a',\n 'È': 'a',\n 'à ': 'a',\n 'ả': 'a',\n 'È': 'a',\n 'Ä': 'a',\n 'Ä
': 'a',\n 'á¶': 'a',\n 'áº': 'a',\n 'Ã¥': 'a',\n 'Ç»': 'a',\n 'á¸': 'a',\n 'â±¥': 'a',\n 'ã': 'a',\n 'ê³': 'aa',\n 'æ': 'ae',\n 'ǽ': 'ae',\n 'Ç£': 'ae',\n 'êµ': 'ao',\n 'ê·': 'au',\n 'ê¹': 'av',\n 'ê»': 'av',\n 'ê½': 'ay',\n 'á¸': 'b',\n 'á¸
': 'b',\n 'É': 'b',\n 'á¸': 'b',\n 'ᵬ': 'b',\n 'á¶': 'b',\n 'Æ': 'b',\n 'Æ': 'b',\n 'ɵ': 'o',\n 'Ä': 'c',\n 'Ä': 'c',\n 'ç': 'c',\n 'á¸': 'c',\n 'Ä': 'c',\n 'É': 'c',\n 'Ä': 'c',\n 'Æ': 'c',\n 'ȼ': 'c',\n 'Ä': 'd',\n 'á¸': 'd',\n 'á¸': 'd',\n 'È¡': 'd',\n 'á¸': 'd',\n 'á¸': 'd',\n 'É': 'd',\n 'á¶': 'd',\n 'á¸': 'd',\n 'áµ': 'd',\n 'á¶': 'd',\n 'Ä': 'd',\n 'É': 'd',\n 'Æ': 'd',\n 'ı': 'i',\n 'È·': 'j',\n 'É': 'j',\n 'Ê': 'j',\n 'dz': 'dz',\n 'Ç': 'dz',\n 'é': 'e',\n 'Ä': 'e',\n 'Ä': 'e',\n 'È©': 'e',\n 'á¸': 'e',\n 'ê': 'e',\n 'ế': 'e',\n 'á»': 'e',\n 'á»': 'e',\n 'á»': 'e',\n 'á»
': 'e',\n 'á¸': 'e',\n 'ë': 'e',\n 'Ä': 'e',\n 'ẹ': 'e',\n 'È
': 'e',\n 'è': 'e',\n 'ẻ': 'e',\n 'È': 'e',\n 'Ä': 'e',\n 'á¸': 'e',\n 'á¸': 'e',\n 'ⱸ': 'e',\n 'Ä': 'e',\n 'á¶': 'e',\n 'É': 'e',\n 'ẽ': 'e',\n 'á¸': 'e',\n 'ê«': 'et',\n 'á¸': 'f',\n 'Æ': 'f',\n 'áµ®': 'f',\n 'á¶': 'f',\n 'ǵ': 'g',\n 'Ä': 'g',\n 'ǧ': 'g',\n 'Ä£': 'g',\n 'Ä': 'g',\n 'Ä¡': 'g',\n 'É ': 'g',\n 'ḡ': 'g',\n 'á¶': 'g',\n 'Ç¥': 'g',\n 'ḫ': 'h',\n 'È': 'h',\n 'ḩ': 'h',\n 'Ä¥': 'h',\n 'ⱨ': 'h',\n 'ḧ': 'h',\n 'ḣ': 'h',\n 'ḥ': 'h',\n 'ɦ': 'h',\n 'áº': 'h',\n 'ħ': 'h',\n 'Æ': 'hv',\n 'Ã': 'i',\n 'Ä': 'i',\n 'Ç': 'i',\n 'î': 'i',\n 'ï': 'i',\n 'ḯ': 'i',\n 'á»': 'i',\n 'È': 'i',\n 'ì': 'i',\n 'á»': 'i',\n 'È': 'i',\n 'Ä«': 'i',\n 'į': 'i',\n 'á¶': 'i',\n 'ɨ': 'i',\n 'Ä©': 'i',\n 'á¸': 'i',\n 'êº': 'd',\n 'ê¼': 'f',\n 'áµ¹': 'g',\n 'ê': 'r',\n 'ê
': 's',\n 'ê': 't',\n 'ê': 'is',\n 'ǰ': 'j',\n 'ĵ': 'j',\n 'Ê': 'j',\n 'É': 'j',\n 'ḱ': 'k',\n 'Ç©': 'k',\n 'Ä·': 'k',\n 'ⱪ': 'k',\n 'ê': 'k',\n 'ḳ': 'k',\n 'Æ': 'k',\n 'ḵ': 'k',\n 'á¶': 'k',\n 'ê': 'k',\n 'ê
': 'k',\n 'ĺ': 'l',\n 'Æ': 'l',\n 'ɬ': 'l',\n 'ľ': 'l',\n 'ļ': 'l',\n 'ḽ': 'l',\n 'È´': 'l',\n 'ḷ': 'l',\n 'ḹ': 'l',\n 'ⱡ': 'l',\n 'ê': 'l',\n 'ḻ': 'l',\n 'Å': 'l',\n 'É«': 'l',\n 'á¶
': 'l',\n 'É': 'l',\n 'Å': 'l',\n 'Ç': 'lj',\n 'Å¿': 's',\n 'áº': 's',\n 'áº': 's',\n 'áº': 's',\n 'ḿ': 'm',\n 'á¹': 'm',\n 'á¹': 'm',\n 'ɱ': 'm',\n 'ᵯ': 'm',\n 'á¶': 'm',\n 'Å': 'n',\n 'Å': 'n',\n 'Å': 'n',\n 'á¹': 'n',\n 'ȵ': 'n',\n 'á¹
': 'n',\n 'á¹': 'n',\n 'ǹ': 'n',\n 'ɲ': 'n',\n 'á¹': 'n',\n 'Æ': 'n',\n 'áµ°': 'n',\n 'á¶': 'n',\n 'ɳ': 'n',\n 'ñ': 'n',\n 'Ç': 'nj',\n 'ó': 'o',\n 'Å': 'o',\n 'Ç': 'o',\n 'ô': 'o',\n 'á»': 'o',\n 'á»': 'o',\n 'á»': 'o',\n 'á»': 'o',\n 'á»': 'o',\n 'ö': 'o',\n 'È«': 'o',\n 'ȯ': 'o',\n 'ȱ': 'o',\n 'á»': 'o',\n 'Å': 'o',\n 'È': 'o',\n 'ò': 'o',\n 'á»': 'o',\n 'Æ¡': 'o',\n 'á»': 'o',\n 'ợ': 'o',\n 'á»': 'o',\n 'á»': 'o',\n 'ỡ': 'o',\n 'È': 'o',\n 'ê': 'o',\n 'ê': 'o',\n 'ⱺ': 'o',\n 'Å': 'o',\n 'á¹': 'o',\n 'á¹': 'o',\n 'Ç«': 'o',\n 'Ç': 'o',\n 'ø': 'o',\n 'Ç¿': 'o',\n 'õ': 'o',\n 'á¹': 'o',\n 'á¹': 'o',\n 'È': 'o',\n 'Æ£': 'oi',\n 'ê': 'oo',\n 'É': 'e',\n 'á¶': 'e',\n 'É': 'o',\n 'á¶': 'o',\n 'È£': 'ou',\n 'á¹': 'p',\n 'á¹': 'p',\n 'ê': 'p',\n 'Æ¥': 'p',\n 'áµ±': 'p',\n 'á¶': 'p',\n 'ê': 'p',\n 'áµ½': 'p',\n 'ê': 'p',\n 'ê': 'q',\n 'Ê ': 'q',\n 'É': 'q',\n 'ê': 'q',\n 'Å': 'r',\n 'Å': 'r',\n 'Å': 'r',\n 'á¹': 'r',\n 'á¹': 'r',\n 'á¹': 'r',\n 'È': 'r',\n 'ɾ': 'r',\n 'áµ³': 'r',\n 'È': 'r',\n 'á¹': 'r',\n 'ɼ': 'r',\n 'áµ²': 'r',\n 'á¶': 'r',\n 'É': 'r',\n 'ɽ': 'r',\n 'â': 'c',\n 'ê¿': 'c',\n 'É': 'e',\n 'É¿': 'r',\n 'Å': 's',\n 'á¹¥': 's',\n 'Å¡': 's',\n 'á¹§': 's',\n 'Å': 's',\n 'Å': 's',\n 'È': 's',\n 'ṡ': 's',\n 'á¹£': 's',\n 'ṩ': 's',\n 'Ê': 's',\n 'áµ´': 's',\n 'á¶': 's',\n 'È¿': 's',\n 'É¡': 'g',\n 'á´': 'o',\n 'á´': 'o',\n 'á´': 'u',\n 'Å¥': 't',\n 'Å£': 't',\n 'á¹±': 't',\n 'È': 't',\n 'ȶ': 't',\n 'áº': 't',\n 'ⱦ': 't',\n 'ṫ': 't',\n 'á¹': 't',\n 'Æ': 't',\n 'ṯ': 't',\n 'áµµ': 't',\n 'Æ«': 't',\n 'Ê': 't',\n 'ŧ': 't',\n 'ᵺ': 'th',\n 'É': 'a',\n 'á´': 'ae',\n 'Ç': 'e',\n 'áµ·': 'g',\n 'É¥': 'h',\n 'Ê®': 'h',\n 'ʯ': 'h',\n 'á´': 'i',\n 'Ê': 'k',\n 'ê': 'l',\n 'ɯ': 'm',\n 'ɰ': 'm',\n 'á´': 'oe',\n 'ɹ': 'r',\n 'É»': 'r',\n 'ɺ': 'r',\n 'â±¹': 'r',\n 'Ê': 't',\n 'Ê': 'v',\n 'Ê': 'w',\n 'Ê': 'y',\n 'ê©': 'tz',\n 'ú': 'u',\n 'Å': 'u',\n 'Ç': 'u',\n 'û': 'u',\n 'á¹·': 'u',\n 'ü': 'u',\n 'Ç': 'u',\n 'Ç': 'u',\n 'Ç': 'u',\n 'Ç': 'u',\n 'á¹³': 'u',\n 'ụ': 'u',\n 'ű': 'u',\n 'È': 'u',\n 'ù': 'u',\n 'á»§': 'u',\n 'ư': 'u',\n 'ứ': 'u',\n 'á»±': 'u',\n 'ừ': 'u',\n 'á»': 'u',\n 'ữ': 'u',\n 'È': 'u',\n 'Å«': 'u',\n 'á¹»': 'u',\n 'ų': 'u',\n 'á¶': 'u',\n 'ů': 'u',\n 'Å©': 'u',\n 'á¹¹': 'u',\n 'á¹µ': 'u',\n 'ᵫ': 'ue',\n 'ê¸': 'um',\n 'â±´': 'v',\n 'ê': 'v',\n 'ṿ': 'v',\n 'Ê': 'v',\n 'á¶': 'v',\n 'â±±': 'v',\n 'á¹½': 'v',\n 'ê¡': 'vy',\n 'áº': 'w',\n 'ŵ': 'w',\n 'áº
': 'w',\n 'áº': 'w',\n 'áº': 'w',\n 'áº': 'w',\n 'â±³': 'w',\n 'áº': 'w',\n 'áº': 'x',\n 'áº': 'x',\n 'á¶': 'x',\n 'ý': 'y',\n 'Å·': 'y',\n 'ÿ': 'y',\n 'áº': 'y',\n 'ỵ': 'y',\n 'ỳ': 'y',\n 'Æ´': 'y',\n 'á»·': 'y',\n 'ỿ': 'y',\n 'ȳ': 'y',\n 'áº': 'y',\n 'É': 'y',\n 'ỹ': 'y',\n 'ź': 'z',\n 'ž': 'z',\n 'áº': 'z',\n 'Ê': 'z',\n 'ⱬ': 'z',\n 'ż': 'z',\n 'áº': 'z',\n 'È¥': 'z',\n 'áº': 'z',\n 'áµ¶': 'z',\n 'á¶': 'z',\n 'Ê': 'z',\n 'ƶ': 'z',\n 'É': 'z',\n 'ï¬': 'ff',\n 'ï¬': 'ffi',\n 'ï¬': 'ffl',\n 'ï¬': 'fi',\n 'ï¬': 'fl',\n 'ij': 'ij',\n 'Å': 'oe',\n 'ï¬': 'st',\n 'â': 'a',\n 'â': 'e',\n 'áµ¢': 'i',\n 'â±¼': 'j',\n 'â': 'o',\n 'áµ£': 'r',\n 'ᵤ': 'u',\n 'áµ¥': 'v',\n 'â': 'x'\n};\n","import { TypeaheadDirective } from './typeahead.directive';\n\nexport class TypeaheadOptions {\n placement: string;\n animation: boolean;\n typeaheadRef: TypeaheadDirective;\n\n constructor(options: TypeaheadOptions) {\n Object.assign(this, options);\n }\n}\n","export class TypeaheadMatch {\n readonly value: string;\n\n// tslint:disable-next-line:no-any\n readonly item: any;\n protected header: boolean;\n\n// tslint:disable-next-line:no-any\n constructor(item: any, value: string = item, header = false) {\n this.item = item;\n this.value = value;\n this.header = header;\n }\n\n isHeader(): boolean {\n return this.header;\n }\n\n toString(): string {\n return this.value;\n }\n}\n","import { latinMap } from './latin-map';\n\nexport function latinize(str: string): string {\n if (!str) {\n return '';\n }\n\n return str.replace(/[^A-Za-z0-9\\[\\] ]/g, function (a: string): string {\n return latinMap[a] || a;\n });\n}\n\nexport function escapeRegexp(queryToEscape: string): string {\n // Regex: capture the whole query string and replace it with the string\n // that will be used to match the results, for example if the capture is\n // 'a' the result will be \\a\n return queryToEscape.replace(/([.?*+^$[\\]\\\\(){}|-])/g, '\\\\$1');\n}\n\n/* tslint:disable */\nexport function tokenize(str: string,\n wordRegexDelimiters = ' ',\n phraseRegexDelimiters = ''): Array<string> {\n /* tslint:enable */\n const regexStr = `(?:[${phraseRegexDelimiters}])([^${phraseRegexDelimiters}]+)` +\n `(?:[${phraseRegexDelimiters}])|([^${wordRegexDelimiters}]+)`;\n const preTokenized: string[] = str.split(new RegExp(regexStr, 'g'));\n const result: string[] = [];\n const preTokenizedLength: number = preTokenized.length;\n let token: string;\n const replacePhraseDelimiters = new RegExp(`[${phraseRegexDelimiters}]+`, 'g');\n\n for (let i = 0; i < preTokenizedLength; i += 1) {\n token = preTokenized[i];\n if (token && token.length && token !== wordRegexDelimiters) {\n result.push(token.replace(replacePhraseDelimiters, ''));\n }\n }\n\n return result;\n}\n\n// tslint:disable-next-line:no-any\nexport function getValueFromObject(object: any, option: string): string {\n if (!option || typeof object !== 'object') {\n return object.toString();\n }\n\n if (option.endsWith('()')) {\n const functionName = option.slice(0, option.length - 2);\n\n return object[functionName]().toString();\n }\n\n const properties: string = option\n .replace(/\\[(\\w+)\\]/g, '.$1')\n .replace(/^\\./, '');\n const propertiesArray: string[] = properties.split('.');\n\n for (const property of propertiesArray) {\n if (property in object) {\n // tslint:disable-next-line\n object = object[property];\n }\n }\n if (!object) {return ''; }\n\n return object.toString();\n}\n","import {\n animate,\n style,\n AnimationTriggerMetadata,\n state,\n transition,\n trigger\n} from '@angular/animations';\n\nexport const TYPEAHEAD_ANIMATION_TIMING = '220ms cubic-bezier(0, 0, 0.2, 1)';\n\nexport const typeaheadAnimation: AnimationTriggerMetadata =\n trigger('typeaheadAnimation', [\n state('animated-down', style({ height: '*', overflow: 'hidden'})),\n transition('* => animated-down', [\n style({ height: 0, overflow: 'hidden' }),\n animate(TYPEAHEAD_ANIMATION_TIMING)\n ]),\n state('animated-up', style({ height: '*', overflow: 'hidden'})),\n transition('* => animated-up', [\n style({ height: '*', overflow: 'hidden' }),\n animate(TYPEAHEAD_ANIMATION_TIMING)\n ]),\n transition('* => unanimated', animate('0s'))\n ]);\n","// tslint:disable:max-file-line-count max-line-length\nimport {\n Component,\n ElementRef,\n HostListener,\n QueryList,\n Renderer2,\n TemplateRef,\n ViewChild,\n ViewChildren\n} from '@angular/core';\n\nimport { isBs3, Utils } from 'ngx-bootstrap/utils';\nimport { PositioningService } from 'ngx-bootstrap/positioning';\n\nimport { latinize } from './typeahead-utils';\nimport { TypeaheadMatch } from './typeahead-match.class';\nimport { TypeaheadDirective } from './typeahead.directive';\nimport { TYPEAHEAD_ANIMATION_TIMING, typeaheadAnimation } from './typeahead-animations';\n\nimport { delay, take, tap } from 'rxjs/operators';\n\n\n@Component({\n selector: 'typeahead-container',\n templateUrl: './typeahead-container.component.html',\n host: {\n class: 'dropdown open bottom',\n '[class.dropdown-menu]': 'isBs4',\n '[style.height]': `isBs4 && needScrollbar ? guiHeight: 'auto'`,\n '[style.visibility]': `visibility`,\n '[class.dropup]': 'dropup',\n style: 'position: absolute;display: block;'\n },\n styles: [\n `\n :host.dropdown {\n z-index: 1000;\n }\n\n :host.dropdown-menu, .dropdown-menu {\n overflow-y: auto;\n height: 100px;\n }\n `\n ],\n animations: [typeaheadAnimation]\n})\nexport class TypeaheadContainerComponent {\n parent: TypeaheadDirective;\n query: string[] | string;\n isFocused = false;\n top: string;\n left: string;\n display: string;\n placement: string;\n dropup: boolean;\n guiHeight: string;\n needScrollbar: boolean;\n animationState: string;\n visibility = 'hidden';\n height = 0;\n\n get isBs4(): boolean {\n return !isBs3();\n }\n\n protected _active: TypeaheadMatch;\n protected _matches: TypeaheadMatch[] = [];\n\n @ViewChild('ulElement', { static: false })\n private ulElement: ElementRef;\n\n @ViewChildren('liElements')\n private liElements: QueryList<ElementRef>;\n\n constructor(\n private positionService: PositioningService,\n private renderer: Renderer2,\n public element: ElementRef\n ) { }\n\n get active(): TypeaheadMatch {\n return this._active;\n }\n\n get matches(): TypeaheadMatch[] {\n return this._matches;\n }\n\n set matches(value: TypeaheadMatch[]) {\n this.positionService.setOptions({\n modifiers: { flip: { enabled: this.adaptivePosition } },\n allowedPositions: ['top', 'bottom']\n });\n\n this.positionService.event$\n .pipe(\n take(1),\n tap(() => {\n this.positionService.disable();\n this.visibility = this.typeaheadScrollable ? 'hidden' : 'visible';\n\n if (this.isAnimated) {\n this.animationState = this.isTopPosition ? 'animated-up' : 'animated-down';\n\n return;\n }\n\n this.positionService.enable();\n this.animationState = 'unanimated';\n }),\n delay(parseInt(TYPEAHEAD_ANIMATION_TIMING, 10))\n )\n .subscribe(() => {\n this.positionService.enable();\n });\n\n this._matches = value;\n\n this.needScrollbar = this.typeaheadScrollable && this.typeaheadOptionsInScrollableView < this.matches.length;\n\n if (this.typeaheadScrollable) {\n setTimeout(() => {\n this.setScrollableMode();\n });\n }\n\n if (this.typeaheadIsFirstItemActive && this._matches.length > 0) {\n this._active = this._matches[0];\n\n if (this._active.isHeader()) {\n this.nextActiveMatch();\n }\n }\n\n if (this._active && !this.typeaheadIsFirstItemActive) {\n const concurrency = this._matches.find(match => match.value === this._active.value);\n\n if (concurrency) {\n this.selectActive(concurrency);\n\n return;\n }\n\n this._active = null;\n }\n }\n\n get isTopPosition(): boolean {\n return this.element.nativeElement.classList.contains('top');\n }\n\n // tslint:disable-next-line:no-any\n get optionsListTemplate(): TemplateRef<any> {\n return this.parent ? this.parent.optionsListTemplate : undefined;\n }\n\n get isAnimated(): boolean {\n return this.parent ? this.parent.isAnimated : false;\n }\n\n get adaptivePosition(): boolean {\n return this.parent ? this.parent.adaptivePosition : false;\n }\n\n get typeaheadScrollable(): boolean {\n return this.parent ? this.parent.typeaheadScrollable : false;\n }\n\n get typeaheadOptionsInScrollableView(): number {\n return this.parent ? this.parent.typeaheadOptionsInScrollableView : 5;\n }\n\n get typeaheadIsFirstItemActive(): boolean {\n return this.parent ? this.parent.typeaheadIsFirstItemActive : true;\n }\n// tslint:disable-next-line:no-any\n get itemTemplate(): TemplateRef<any> {\n return this.parent ? this.parent.typeaheadItemTemplate : undefined;\n }\n\n selectActiveMatch(isActiveItemChanged?: boolean): void {\n if (this._active && this.parent.typeaheadSelectFirstItem) {\n this.selectMatch(this._active);\n }\n\n if (!this.parent.typeaheadSelectFirstItem && isActiveItemChanged) {\n this.selectMatch(this._active);\n }\n }\n\n prevActiveMatch(): void {\n const index = this.matches.indexOf(this._active);\n\n this._active = this.matches[\n index - 1 < 0 ? this.matches.length - 1 : index - 1\n ];\n\n if (this._active.isHeader()) {\n this.prevActiveMatch();\n }\n\n if (this.typeaheadScrollable) {\n this.scrollPrevious(index);\n }\n }\n\n nextActiveMatch(): void {\n const index = this.matches.indexOf(this._active);\n\n this._active = this.matches[\n index + 1 > this.matches.length - 1 ? 0 : index + 1\n ];\n\n if (this._active.isHeader()) {\n this.nextActiveMatch();\n }\n\n if (this.typeaheadScrollable) {\n this.scrollNext(index);\n }\n }\n\n selectActive(value: TypeaheadMatch): void {\n this.isFocused = true;\n this._active = value;\n }\n\n highlight(match: TypeaheadMatch, query: string[] | string): string {\n let itemStr: string = match.value;\n let itemStrHelper: string = (this.parent && this.parent.typeaheadLatinize\n ? latinize(itemStr)\n : itemStr).toLowerCase();\n let startIdx: number;\n let tokenLen: number;\n // Replaces the capture string with the same string inside of a \"strong\" tag\n if (typeof query === 'object') {\n const queryLen: number = query.length;\n for (let i = 0; i < queryLen; i += 1) {\n // query[i] is already latinized and lower case\n startIdx = itemStrHelper.indexOf(query[i]);\n tokenLen = query[i].length;\n if (startIdx >= 0 && tokenLen > 0) {\n itemStr =\n `${itemStr.substring(0, startIdx)}<strong>${itemStr.substring(startIdx, startIdx + tokenLen)}</strong>` +\n `${itemStr.substring(startIdx + tokenLen)}`;\n itemStrHelper =\n `${itemStrHelper.substring(0, startIdx)} ${' '.repeat(tokenLen)} ` +\n `${itemStrHelper.substring(startIdx + tokenLen)}`;\n }\n }\n } else if (query) {\n // query is already latinized and lower case\n startIdx = itemStrHelper.indexOf(query);\n tokenLen = query.length;\n if (startIdx >= 0 && tokenLen > 0) {\n itemStr =\n `${itemStr.substring(0, startIdx)}<strong>${itemStr.substring(startIdx, startIdx + tokenLen)}</strong>` +\n `${itemStr.substring(startIdx + tokenLen)}`;\n }\n }\n\n return itemStr;\n }\n\n @HostListener('mouseleave')\n @HostListener('blur')\n focusLost(): void {\n this.isFocused = false;\n }\n\n isActive(value: TypeaheadMatch): boolean {\n return this._active === value;\n }\n\n selectMatch(value: TypeaheadMatch, e: Event = void 0): boolean {\n if (e) {\n e.stopPropagation();\n e.preventDefault();\n }\n this.parent.changeModel(value);\n setTimeout(() => this.parent.typeaheadOnSelect.emit(value), 0);\n\n return false;\n }\n\n setScrollableMode(): void {\n if (!this.ulElement) {\n this.ulElement = this.element;\n }\n if (this.liElements.first) {\n const ulStyles = Utils.getStyles(this.ulElement.nativeElement);\n const liStyles = Utils.getStyles(this.liElements.first.nativeElement);\n const ulPaddingBottom = parseFloat((ulStyles['padding-bottom'] ? ulStyles['padding-bottom'] : '')\n .replace('px', ''));\n const ulPaddingTop = parseFloat((ulStyles['padding-top'] ? ulStyles['padding-top'] : '0')\n .replace('px', ''));\n const optionHeight = parseFloat((liStyles.height ? liStyles.height : '0')\n .replace('px', ''));\n const height = this.typeaheadOptionsInScrollableView * optionHeight;\n this.guiHeight = `${height + ulPaddingTop + ulPaddingBottom}px`;\n }\n this.renderer.setStyle(this.element.nativeElement, 'visibility', 'visible');\n }\n\n scrollPrevious(index: number): void {\n if (index === 0) {\n this.scrollToBottom();\n\n return;\n }\n if (this.liElements) {\n const liElement = this.liElements.toArray()[index - 1];\n if (liElement && !this.isScrolledIntoView(liElement.nativeElement)) {\n this.ulElement.nativeElement.scrollTop = liElement.nativeElement.offsetTop;\n }\n }\n }\n\n scrollNext(index: number): void {\n if (index + 1 > this.matches.length - 1) {\n this.scrollToTop();\n\n return;\n }\n if (this.liElements) {\n const liElement = this.liElements.toArray()[index + 1];\n if (liElement && !this.isScrolledIntoView(liElement.nativeElement)) {\n this.ulElement.nativeElement.scrollTop =\n liElement.nativeElement.offsetTop -\n Number(this.ulElement.nativeElement.offsetHeight) +\n Number(liElement.nativeElement.offsetHeight);\n }\n }\n }\n\n\n private isScrolledIntoView = function (elem: HTMLElement) {\n const containerViewTop: number = this.ulElement.nativeElement.scrollTop;\n const containerViewBottom = containerViewTop + Number(this.ulElement.nativeElement.offsetHeight);\n const elemTop = elem.offsetTop;\n const elemBottom = elemTop + elem.offsetHeight;\n\n return ((elemBottom <= containerViewBottom) && (elemTop >= containerViewTop));\n };\n\n private scrollToBottom(): void {\n this.ulElement.nativeElement.scrollTop = this.ulElement.nativeElement.scrollHeight;\n }\n\n private scrollToTop(): void {\n this.ulElement.nativeElement.scrollTop = 0;\n }\n}\n","import { Injectable } from '@angular/core';\n\n/** Default values provider for typeahead */\n@Injectable()\nexport class TypeaheadConfig {\n /** sets use adaptive position */\n adaptivePosition = false;\n /** turn on/off animation */\n isAnimated = false;\n /** used to hide results on blur */\n hideResultsOnBlur = true;\n /** used to choose the first item in typeahead container */\n selectFirstItem = true;\n /** used to active/inactive the first item in typeahead container */\n isFirstItemActive = true;\n /** used to choose set minimal no of characters that needs to\n * be entered before typeahead kicks-in\n */\n minLength = 1;\n}\n","/* tslint:disable:max-file-line-count */\nimport {\n ChangeDetectorRef,\n Directive,\n ElementRef,\n EventEmitter,\n HostListener,\n Input,\n OnDestroy,\n OnInit,\n Output,\n Renderer2,\n TemplateRef,\n ViewContainerRef\n} from '@angular/core';\n\nimport { NgControl } from '@angular/forms';\n\nimport { from, Subscription, isObservable } from 'rxjs';\nimport { ComponentLoader, ComponentLoaderFactory } from 'ngx-bootstrap/component-loader';\nimport { TypeaheadContainerComponent } from './typeahead-container.component';\nimport { TypeaheadMatch } from './typeahead-match.class';\nimport { TypeaheadConfig } from './typeahead.config';\nimport { getValueFromObject, latinize, tokenize } from './typeahead-utils';\nimport { debounceTime, filter, mergeMap, switchMap, toArray } from 'rxjs/operators';\n\n@Directive({selector: '[typeahead]', exportAs: 'bs-typeahead'})\nexport class TypeaheadDirective implements OnInit, OnDestroy {\n /** options source, can be Array of strings, objects or\n * an Observable for external matching process\n */\n // tslint:disable-next-line:no-any\n @Input() typeahead: any;\n /** minimal no of characters that needs to be entered before\n * typeahead kicks-in. When set to 0, typeahead shows on focus with full\n * list of options (limited as normal by typeaheadOptionsLimit)\n */\n @Input() typeaheadMinLength: number = void 0;\n /** sets use adaptive position */\n @Input() adaptivePosition: boolean;\n /** turn on/off animation */\n @Input() isAnimated = false;\n /** minimal wait time after last character typed before typeahead kicks-in */\n @Input() typeaheadWaitMs: number;\n /** maximum length of options items list. The default value is 20 */\n @Input() typeaheadOptionsLimit: number;\n /** when options source is an array of objects, the name of field\n * that contains the options value, we use array item as option in case\n * of this field is missing. Supports nested properties and methods.\n */\n @Input() typeaheadOptionField: string;\n /** when options source is an array of objects, the name of field that\n * contains the group value, matches are grouped by this field when set.\n */\n @Input() typeaheadGroupField: string;\n /** should be used only in case of typeahead attribute is array.\n * If true - loading of options will be async, otherwise - sync.\n * true make sense if options array is large.\n */\n @Input() typeaheadAsync: boolean = void 0;\n /** match latin symbols.\n * If true the word súper would match super and vice versa.\n */\n @Input() typeaheadLatinize = true;\n /** Can be use to search words by inserting a single white space between each characters\n * for example 'C a l i f o r n i a' will match 'California'.\n */\n @Input() typeaheadSingleWords = true;\n /** should be used only in case typeaheadSingleWords attribute is true.\n * Sets the word delimiter to break words. Defaults to space.\n */\n @Input() typeaheadWordDelimiters = ' ';\n /** should be used only in case typeaheadSingleWords attribute is true.\n * Sets the word delimiter to match exact phrase.\n * Defaults to simple and double quotes.\n */\n @Input() typeaheadPhraseDelimiters = '\\'\"';\n /** used to specify a custom item template.\n * Template variables exposed are called item and index;\n */\n // tslint:disable-next-line:no-any\n @Input() typeaheadItemTemplate: TemplateRef<any>;\n /** used to specify a custom options list template.\n * Template variables: matches, itemTemplate, query\n */\n // tslint:disable-next-line:no-any\n @Input() optionsListTemplate: TemplateRef<any>;\n /** specifies if typeahead is scrollable */\n @Input() typeaheadScrollable = false;\n /** specifies number of options to show in scroll view */\n @Input() typeaheadOptionsInScrollableView = 5;\n /** used to hide result on blur */\n @Input() typeaheadHideResultsOnBlur: boolean;\n /** fired when an options list was opened and the user clicked Tab\n * If a value equal true, it will be chosen first or active item in the list\n * If value equal false, it will be chosen an active item in the list or nothing\n */\n @Input() typeaheadSelectFirstItem = true;\n /** makes active first item in a list */\n @Input() typeaheadIsFirstItemActive = true;\n /** fired when 'busy' state of this component was changed,\n * fired on async mode only, returns boolean\n */\n @Output() typeaheadLoading = new EventEmitter<boolean>();\n /** fired on every key event and returns true\n * in case of matches are not detected\n */\n @Output() typeaheadNoResults = new EventEmitter<boolean>();\n /** fired when option was selected, return object with data of this option */\n @Output() typeaheadOnSelect = new EventEmitter<TypeaheadMatch>();\n /** fired when blur event occurs. returns the active item */\n // tslint:disable-next-line:no-any\n @Output() typeaheadOnBlur = new EventEmitter<any>();\n\n /**\n * A selector specifying the element the typeahead should be appended to.\n */\n @Input() container: string;\n\n /** This attribute indicates that the dropdown should be opened upwards */\n @Input() dropup = false;\n\n // not yet implemented\n /** if false restrict model values to the ones selected from the popup only will be provided */\n // @Input() protected typeaheadEditable:boolean;\n /** if false the first match automatically will not be focused as you type */\n // @Input() protected typeaheadFocusFirst:boolean;\n /** format the ng-model result after selection */\n // @Input() protected typeaheadInputFormatter:any;\n /** if true automatically select an item when there is one option that exactly matches the user input */\n // @Input() protected typeaheadSelectOnExact:boolean;\n /** if true select the currently highlighted match on blur */\n // @Input() protected typeaheadSelectOnBlur:boolean;\n /** if false don't focus the input element the typeahead directive is associated with on selection */\n // @Input() protected typeaheadFocusOnSelect:boolean;\n\n _container: TypeaheadContainerComponent;\n isActiveItemChanged = false;\n isTypeaheadOptionsListActive = false;\n\n // tslint:disable-next-line:no-any\n protected keyUpEventEmitter: EventEmitter<any> = new EventEmitter();\n protected _matches: TypeaheadMatch[];\n protected placement = 'bottom-left';\n // protected popup:ComponentRef<TypeaheadContainerComponent>;\n\n private _typeahead: ComponentLoader<TypeaheadContainerComponent>;\n private _subscriptions: Subscription[] = [];\n private _outsideClickListener: Function;\n\n constructor(\n cis: ComponentLoaderFactory,\n config: TypeaheadConfig,\n private changeDetection: ChangeDetectorRef,\n private element: ElementRef,\n private ngControl: NgControl,\n private renderer: Renderer2,\n viewContainerRef: ViewContainerRef\n ) {\n\n this._typeahead = cis.createLoader<TypeaheadContainerComponent>(\n element,\n viewContainerRef,\n renderer\n )\n .provide({ provide: TypeaheadConfig, useValue: config });\n\n Object.assign(this,\n {\n typeaheadHideResultsOnBlur: config.hideResultsOnBlur,\n typeaheadSelectFirstItem: config.selectFirstItem,\n typeaheadIsFirstItemActive: config.isFirstItemActive,\n typeaheadMinLength: config.minLength,\n adaptivePosition: config.adaptivePosition,\n isAnimated: config.isAnimated\n }\n );\n }\n\n ngOnInit(): void {\n this.typeaheadOptionsLimit = this.typeaheadOptionsLimit || 20;\n\n this.typeaheadMinLength =\n this.typeaheadMinLength === void 0 ? 1 : this.typeaheadMinLength;\n\n this.typeaheadWaitMs = this.typeaheadWaitMs || 0;\n\n // async should be false in case of array\n if (\n this.typeaheadAsync === undefined &&\n !(isObservable(this.typeahead))\n ) {\n this.typeaheadAsync = false;\n }\n\n if (isObservable(this.typeahead)) {\n this.typeaheadAsync = true;\n }\n\n if (this.typeaheadAsync) {\n this.asyncActions();\n } else {\n this.syncActions();\n }\n }\n\n @HostListener('input', ['$event'])\n // tslint:disable-next-line:no-any\n onInput(e: any): void {\n // For `<input>`s, use the `value` property. For others that don't have a\n // `value` (such as `<span contenteditable=\"true\">`), use either\n // `textContent` or `innerText` (depending on which one is supported, i.e.\n // Firefox or IE).\n const value =\n e.target.value !== undefined\n ? e.target.value\n : e.target.textContent !== undefined\n ? e.target.textContent\n : e.target.innerText;\n if (value != null && value.trim().length >= this.typeaheadMinLength) {\n this.typeaheadLoading.emit(true);\n this.keyUpEventEmitter.emit(e.target.value);\n } else {\n this.typeaheadLoading.emit(false);\n this.typeaheadNoResults.emit(false);\n this.hide();\n }\n }\n\n @HostListener('keyup', ['$event'])\n onChange(event: KeyboardEvent): void {\n if (this._container) {\n // esc\n /* tslint:disable-next-line: deprecation */\n if (event.keyCode === 27 || event.key === 'Escape') {\n this.hide();\n\n return;\n }\n\n // up\n /* tslint:disable-next-line: deprecation */\n if (event.keyCode === 38 || event.key === 'ArrowUp') {\n this.isActiveItemChanged = true;\n this._container.prevActiveMatch();\n\n return;\n }\n\n // down\n /* tslint:disable-next-line: deprecation */\n if (event.keyCode === 40 || event.key === 'ArrowDown') {\n this.isActiveItemChanged = true;\n this._container.nextActiveMatch();\n\n return;\n }\n\n // enter\n /* tslint:disable-next-line: deprecation */\n if (event.keyCode === 13 || event.key === 'Enter') {\n this._container.selectActiveMatch();\n\n return;\n }\n }\n }\n\n @HostListener('click')\n @HostListener('focus')\n onFocus(): void {\n if (this.typeaheadMinLength === 0) {\n this.typeaheadLoading.emit(true);\n this.keyUpEventEmitter.emit(this.element.nativeElement.value || '');\n }\n }\n\n @HostListener('blur')\n onBlur(): void {\n if (this._container && !this._container.isFocused) {\n this.typeaheadOnBlur.emit(this._container.active);\n }\n }\n\n @HostListener('keydown', ['$event'])\n onKeydown(event: KeyboardEvent): void {\n // no container - no problems\n if (!this._container) {\n return;\n }\n\n /* tslint:disable-next-line: deprecation */\n if (event.keyCode === 9 || event.key === 'Tab' || event.keyCode === 13 || event.key === 'Enter') {\n event.preventDefault();\n if (this.typeaheadSelectFirstItem) {\n this._container.selectActiveMatch();\n\n return;\n }\n\n if (!this.typeaheadSelectFirstItem) {\n this._container.selectActiveMatch(this.isActiveItemChanged);\n this.isActiveItemChanged = false;\n this.hide();\n }\n }\n }\n\n changeModel(match: TypeaheadMatch): void {\n const valueStr: string = match.value;\n this.ngControl.viewToModelUpdate(valueStr);\n (this.ngControl.control).setValue(valueStr);\n this.changeDetection.markForCheck();\n this.hide();\n }\n\n get matches(): TypeaheadMatch[] {\n return this._matches;\n }\n\n show(): void {\n this._typeahead\n .attach(TypeaheadContainerComponent)\n .to(this.container)\n .position({attachment: `${this.dropup ? 'top' : 'bottom'} start`})\n .show({\n typeaheadRef: this,\n placement: this.placement,\n animation: false,\n dropup: this.dropup\n });\n\n this._outsideClickListener = this.renderer.listen('document', 'click', (e: MouseEvent) => {\n if (this.typeaheadMinLength === 0 && this.element.nativeElement.contains(e.target)) {\n return undefined;\n }\n if (!this.typeaheadHideResultsOnBlur || this.element.nativeElement.contains(e.target)) {\n return undefined;\n }\n this.onOutsideClick();\n });\n\n this._container = this._typeahead.instance;\n this._container.parent = this;\n // This improves the speed as it won't have to be done for each list item\n\n const normalizedQuery = (this.typeaheadLatinize\n ? latinize(this.ngControl.control.value)\n : this.ngControl.control.value)\n .toString()\n .toLowerCase();\n\n this._container.query = this.typeaheadSingleWords\n ? tokenize(\n normalizedQuery,\n this.typeaheadWordDelimiters,\n this.typeaheadPhraseDelimiters\n )\n : normalizedQuery;\n\n this._container.matches = this._matches;\n this.element.nativeElement.focus();\n }\n\n hide(): void {\n if (this._typeahead.isShown) {\n this._typeahead.hide();\n this._outsideClickListener();\n this._container = null;\n }\n }\n\n onOutsideClick(): void {\n if (this._container && !this._container.isFocused) {\n this.hide();\n }\n }\n\n ngOnDestroy() {\n // clean up subscriptions\n for (const sub of this._subscriptions) {\n sub.unsubscribe();\n }\n this._typeahead.dispose();\n }\n\n protected asyncActions(): void {\n this._subscriptions.push(\n this.keyUpEventEmitter\n .pipe(\n debounceTime(this.typeaheadWaitMs),\n switchMap(() => this.typeahead)\n )\n .subscribe((matches: TypeaheadMatch[]) => {\n this.finalizeAsyncCall(matches);\n })\n );\n }\n\n protected syncActions(): void {\n this._subscriptions.push(\n this.keyUpEventEmitter\n .pipe(\n debounceTime(this.typeaheadWaitMs),\n mergeMap((value: string) => {\n const normalizedQuery = this.normalizeQuery(value);\n\n return from(this.typeahead)\n .pipe(\n filter((option: TypeaheadMatch) => {\n\n return (\n option &&\n this.testMatch(this.normalizeOption(option), normalizedQuery)\n );\n }),\n toArray()\n );\n })\n )\n .subscribe((matches: TypeaheadMatch[]) => {\n this.finalizeAsyncCall(matches);\n })\n );\n }\n\n // tslint:disable-next-line:no-any\n protected normalizeOption(option: any): any {\n const optionValue: string = getValueFromObject(\n option,\n this.typeaheadOptionField\n );\n const normalizedOption = this.typeaheadLatinize\n ? latinize(optionValue)\n : optionValue;\n\n return normalizedOption.toLowerCase();\n }\n\n protected normalizeQuery(value: string): string | string[] {\n // If singleWords, break model here to not be doing extra work on each\n // iteration\n let normalizedQuery: string | string[] = (this.typeaheadLatinize\n ? latinize(value)\n : value)\n .toString()\n .toLowerCase();\n normalizedQuery = this.typeaheadSingleWords\n ? tokenize(\n normalizedQuery,\n this.typeaheadWordDelimiters,\n this.typeaheadPhraseDelimiters\n )\n : normalizedQuery;\n\n return normalizedQuery;\n }\n\n protected testMatch(match: string, test: string[] | string): boolean {\n let spaceLength: number;\n\n if (typeof test === 'object') {\n spaceLength = test.length;\n for (let i = 0; i < spaceLength; i += 1) {\n if (test[i].length > 0 && match.indexOf(test[i]) < 0) {\n return false;\n }\n }\n\n return true;\n }\n\n return match.indexOf(test) >= 0;\n }\n\n protected finalizeAsyncCall(matches: TypeaheadMatch[]): void {\n this.prepareMatches(matches || []);\n\n this.typeaheadLoading.emit(false);\n this.typeaheadNoResults.emit(!this.hasMatches());\n\n if (!this.hasMatches()) {\n this.hide();\n\n return;\n }\n\n if (this._container) {\n // fix: remove usage of ngControl internals\n const _controlValue = (this.typeaheadLatinize\n ? latinize(this.ngControl.control.value)\n : this.ngControl.control.value) || '';\n\n // This improves the speed as it won't have to be done for each list item\n const normalizedQuery = _controlValue.toString().toLowerCase();\n\n this._container.query = this.typeaheadSingleWords\n ? tokenize(\n normalizedQuery,\n this.typeaheadWordDelimiters,\n this.typeaheadPhraseDelimiters\n )\n : normalizedQuery;\n this._container.matches = this._matches;\n } else {\n this.show();\n }\n }\n\n protected prepareMatches(options: TypeaheadMatch[]): void {\n const limited: TypeaheadMatch[] = options.slice(0, this.typeaheadOptionsLimit);\n\n if (this.typeaheadGroupField) {\n let matches: TypeaheadMatch[] = [];\n\n // extract all group names\n const groups = limited\n .map((option: TypeaheadMatch) =>\n getValueFromObject(option, this.typeaheadGroupField)\n )\n .filter((v: string, i: number, a: string[]) => a.indexOf(v) === i);\n\n groups.forEach((group: string) => {\n // add group header to array of matches\n matches.push(new TypeaheadMatch(group, group, true));\n\n // add each item of group to array of matches\n matches = matches.concat(\n limited\n .filter(\n // tslint:disable-next-line:no-any\n (option: any) =>\n getValueFromObject(option, this.typeaheadGroupField) === group\n )\n .map(\n // tslint:disable-next-line:no-any\n (option: any) =>\n new TypeaheadMatch(\n option,\n getValueFromObject(option, this.typeaheadOptionField)\n )\n )\n );\n });\n\n this._matches = matches;\n } else {\n this._matches = limited.map(\n // tslint:disable-next-line:no-any\n (option: any) =>\n new TypeaheadMatch(\n option,\n getValueFromObject(option, this.typeaheadOptionField)\n )\n );\n }\n }\n\n protected hasMatches(): boolean {\n return this._matches.length > 0;\n }\n}\n","import { CommonModule } from '@angular/common';\nimport { NgModule, ModuleWithProviders } from '@angular/core';\n\nimport { TypeaheadContainerComponent } from './typeahead-container.component';\nimport { TypeaheadDirective } from './typeahead.directive';\nimport { ComponentLoaderFactory } from 'ngx-bootstrap/component-loader';\nimport { PositioningService } from 'ngx-bootstrap/positioning';\nimport { TypeaheadConfig } from './typeahead.config';\n\n@NgModule({\n imports: [CommonModule],\n declarations: [TypeaheadContainerComponent, TypeaheadDirective],\n exports: [TypeaheadContainerComponent, TypeaheadDirective],\n entryComponents: [TypeaheadContainerComponent]\n})\nexport class TypeaheadModule {\n static forRoot(): ModuleWithProviders {\n return {\n ngModule: TypeaheadModule,\n providers: [ComponentLoaderFactory, PositioningService, TypeaheadConfig]\n };\n }\n}\n"]}
|
1
|
+
{"version":3,"sources":["../../../node_modules/tslib/tslib.es6.js","ng://ngx-bootstrap/typeahead/latin-map.ts","ng://ngx-bootstrap/typeahead/typeahead-options.class.ts","ng://ngx-bootstrap/typeahead/typeahead-match.class.ts","ng://ngx-bootstrap/typeahead/typeahead-order.class.ts","ng://ngx-bootstrap/typeahead/typeahead-utils.ts","ng://ngx-bootstrap/typeahead/typeahead-animations.ts","ng://ngx-bootstrap/typeahead/typeahead-container.component.ts","ng://ngx-bootstrap/typeahead/typeahead.config.ts","ng://ngx-bootstrap/typeahead/typeahead.directive.ts","ng://ngx-bootstrap/typeahead/typeahead.module.ts"],"names":["__values","o","m","Symbol","iterator","i","call","next","length","value","done","latinMap","Á","Ă","Ắ","Ặ","Ằ","Ẳ","Ẵ","Ǎ","Â","Ấ","Ậ","Ầ","Ẩ","Ẫ","Ä","Ǟ","Ȧ","Ǡ","Ạ","Ȁ","À","Ả","Ȃ","Ā","Ą","Å","Ǻ","Ḁ","Ⱥ","Ã","Ꜳ","Æ","Ǽ","Ǣ","Ꜵ","Ꜷ","Ꜹ","Ꜻ","Ꜽ","Ḃ","Ḅ","Ɓ","Ḇ","Ƀ","Ƃ","Ć","Č","Ç","Ḉ","Ĉ","Ċ","Ƈ","Ȼ","Ď","Ḑ","Ḓ","Ḋ","Ḍ","Ɗ","Ḏ","Dz","Dž","Đ","Ƌ","DZ","DŽ","É","Ĕ","Ě","Ȩ","Ḝ","Ê","Ế","Ệ","Ề","Ể","Ễ","Ḙ","Ë","Ė","Ẹ","Ȅ","È","Ẻ","Ȇ","Ē","Ḗ","Ḕ","Ę","Ɇ","Ẽ","Ḛ","Ꝫ","Ḟ","Ƒ","Ǵ","Ğ","Ǧ","Ģ","Ĝ","Ġ","Ɠ","Ḡ","Ǥ","Ḫ","Ȟ","Ḩ","Ĥ","Ⱨ","Ḧ","Ḣ","Ḥ","Ħ","Í","Ĭ","Ǐ","Î","Ï","Ḯ","İ","Ị","Ȉ","Ì","Ỉ","Ȋ","Ī","Į","Ɨ","Ĩ","Ḭ","Ꝺ","Ꝼ","Ᵹ","Ꞃ","Ꞅ","Ꞇ","Ꝭ","Ĵ","Ɉ","Ḱ","Ǩ","Ķ","Ⱪ","Ꝃ","Ḳ","Ƙ","Ḵ","Ꝁ","Ꝅ","Ĺ","Ƚ","Ľ","Ļ","Ḽ","Ḷ","Ḹ","Ⱡ","Ꝉ","Ḻ","Ŀ","Ɫ","Lj","Ł","LJ","Ḿ","Ṁ","Ṃ","Ɱ","Ń","Ň","Ņ","Ṋ","Ṅ","Ṇ","Ǹ","Ɲ","Ṉ","Ƞ","Nj","Ñ","NJ","Ó","Ŏ","Ǒ","Ô","Ố","Ộ","Ồ","Ổ","Ỗ","Ö","Ȫ","Ȯ","Ȱ","Ọ","Ő","Ȍ","Ò","Ỏ","Ơ","Ớ","Ợ","Ờ","Ở","Ỡ","Ȏ","Ꝋ","Ꝍ","Ō","Ṓ","Ṑ","Ɵ","Ǫ","Ǭ","Ø","Ǿ","Õ","Ṍ","Ṏ","Ȭ","Ƣ","Ꝏ","Ɛ","Ɔ","Ȣ","Ṕ","Ṗ","Ꝓ","Ƥ","Ꝕ","Ᵽ","Ꝑ","Ꝙ","Ꝗ","Ŕ","Ř","Ŗ","Ṙ","Ṛ","Ṝ","Ȑ","Ȓ","Ṟ","Ɍ","Ɽ","Ꜿ","Ǝ","Ś","Ṥ","Š","Ṧ","Ş","Ŝ","Ș","Ṡ","Ṣ","Ṩ","Ť","Ţ","Ṱ","Ț","Ⱦ","Ṫ","Ṭ","Ƭ","Ṯ","Ʈ","Ŧ","Ɐ","Ꞁ","Ɯ","Ʌ","Ꜩ","Ú","Ŭ","Ǔ","Û","Ṷ","Ü","Ǘ","Ǚ","Ǜ","Ǖ","Ṳ","Ụ","Ű","Ȕ","Ù","Ủ","Ư","Ứ","Ự","Ừ","Ử","Ữ","Ȗ","Ū","Ṻ","Ų","Ů","Ũ","Ṹ","Ṵ","Ꝟ","Ṿ","Ʋ","Ṽ","Ꝡ","Ẃ","Ŵ","Ẅ","Ẇ","Ẉ","Ẁ","Ⱳ","Ẍ","Ẋ","Ý","Ŷ","Ÿ","Ẏ","Ỵ","Ỳ","Ƴ","Ỷ","Ỿ","Ȳ","Ɏ","Ỹ","Ź","Ž","Ẑ","Ⱬ","Ż","Ẓ","Ȥ","Ẕ","Ƶ","IJ","Œ","ᴀ","ᴁ","ʙ","ᴃ","ᴄ","ᴅ","ᴇ","ꜰ","ɢ","ʛ","ʜ","ɪ","ʁ","ᴊ","ᴋ","ʟ","ᴌ","ᴍ","ɴ","ᴏ","ɶ","ᴐ","ᴕ","ᴘ","ʀ","ᴎ","ᴙ","ꜱ","ᴛ","ⱻ","ᴚ","ᴜ","ᴠ","ᴡ","ʏ","ᴢ","á","ă","ắ","ặ","ằ","ẳ","ẵ","ǎ","â","ấ","ậ","ầ","ẩ","ẫ","ä","ǟ","ȧ","ǡ","ạ","ȁ","à","ả","ȃ","ā","ą","ᶏ","ẚ","å","ǻ","ḁ","ⱥ","ã","ꜳ","æ","ǽ","ǣ","ꜵ","ꜷ","ꜹ","ꜻ","ꜽ","ḃ","ḅ","ɓ","ḇ","ᵬ","ᶀ","ƀ","ƃ","ɵ","ć","č","ç","ḉ","ĉ","ɕ","ċ","ƈ","ȼ","ď","ḑ","ḓ","ȡ","ḋ","ḍ","ɗ","ᶑ","ḏ","ᵭ","ᶁ","đ","ɖ","ƌ","ı","ȷ","ɟ","ʄ","dz","dž","é","ĕ","ě","ȩ","ḝ","ê","ế","ệ","ề","ể","ễ","ḙ","ë","ė","ẹ","ȅ","è","ẻ","ȇ","ē","ḗ","ḕ","ⱸ","ę","ᶒ","ɇ","ẽ","ḛ","ꝫ","ḟ","ƒ","ᵮ","ᶂ","ǵ","ğ","ǧ","ģ","ĝ","ġ","ɠ","ḡ","ᶃ","ǥ","ḫ","ȟ","ḩ","ĥ","ⱨ","ḧ","ḣ","ḥ","ɦ","ẖ","ħ","ƕ","í","ĭ","ǐ","î","ï","ḯ","ị","ȉ","ì","ỉ","ȋ","ī","į","ᶖ","ɨ","ĩ","ḭ","ꝺ","ꝼ","ᵹ","ꞃ","ꞅ","ꞇ","ꝭ","ǰ","ĵ","ʝ","ɉ","ḱ","ǩ","ķ","ⱪ","ꝃ","ḳ","ƙ","ḵ","ᶄ","ꝁ","ꝅ","ĺ","ƚ","ɬ","ľ","ļ","ḽ","ȴ","ḷ","ḹ","ⱡ","ꝉ","ḻ","ŀ","ɫ","ᶅ","ɭ","ł","lj","ſ","ẜ","ẛ","ẝ","ḿ","ṁ","ṃ","ɱ","ᵯ","ᶆ","ń","ň","ņ","ṋ","ȵ","ṅ","ṇ","ǹ","ɲ","ṉ","ƞ","ᵰ","ᶇ","ɳ","ñ","nj","ó","ŏ","ǒ","ô","ố","ộ","ồ","ổ","ỗ","ö","ȫ","ȯ","ȱ","ọ","ő","ȍ","ò","ỏ","ơ","ớ","ợ","ờ","ở","ỡ","ȏ","ꝋ","ꝍ","ⱺ","ō","ṓ","ṑ","ǫ","ǭ","ø","ǿ","õ","ṍ","ṏ","ȭ","ƣ","ꝏ","ɛ","ᶓ","ɔ","ᶗ","ȣ","ṕ","ṗ","ꝓ","ƥ","ᵱ","ᶈ","ꝕ","ᵽ","ꝑ","ꝙ","ʠ","ɋ","ꝗ","ŕ","ř","ŗ","ṙ","ṛ","ṝ","ȑ","ɾ","ᵳ","ȓ","ṟ","ɼ","ᵲ","ᶉ","ɍ","ɽ","ↄ","ꜿ","ɘ","ɿ","ś","ṥ","š","ṧ","ş","ŝ","ș","ṡ","ṣ","ṩ","ʂ","ᵴ","ᶊ","ȿ","ɡ","ᴑ","ᴓ","ᴝ","ť","ţ","ṱ","ț","ȶ","ẗ","ⱦ","ṫ","ṭ","ƭ","ṯ","ᵵ","ƫ","ʈ","ŧ","ᵺ","ɐ","ᴂ","ǝ","ᵷ","ɥ","ʮ","ʯ","ᴉ","ʞ","ꞁ","ɯ","ɰ","ᴔ","ɹ","ɻ","ɺ","ⱹ","ʇ","ʌ","ʍ","ʎ","ꜩ","ú","ŭ","ǔ","û","ṷ","ü","ǘ","ǚ","ǜ","ǖ","ṳ","ụ","ű","ȕ","ù","ủ","ư","ứ","ự","ừ","ử","ữ","ȗ","ū","ṻ","ų","ᶙ","ů","ũ","ṹ","ṵ","ᵫ","ꝸ","ⱴ","ꝟ","ṿ","ʋ","ᶌ","ⱱ","ṽ","ꝡ","ẃ","ŵ","ẅ","ẇ","ẉ","ẁ","ⱳ","ẘ","ẍ","ẋ","ᶍ","ý","ŷ","ÿ","ẏ","ỵ","ỳ","ƴ","ỷ","ỿ","ȳ","ẙ","ɏ","ỹ","ź","ž","ẑ","ʑ","ⱬ","ż","ẓ","ȥ","ẕ","ᵶ","ᶎ","ʐ","ƶ","ɀ","ff","ffi","ffl","fi","fl","ij","œ","st","ₐ","ₑ","ᵢ","ⱼ","ₒ","ᵣ","ᵤ","ᵥ","ₓ","TypeaheadOptions","options","Object","assign","this","TypeaheadMatch","item","header","prototype","isHeader","toString","TypeaheadOrder","latinize","str","replace","a","tokenize","wordRegexDelimiters","phraseRegexDelimiters","token","regexStr","preTokenized","split","RegExp","result","preTokenizedLength","replacePhraseDelimiters","push","getValueFromObject","object","option","endsWith","slice","propertiesArray","propertiesArray_1","tslib_1.__values","propertiesArray_1_1","property","typeaheadAnimation","trigger","state","style","height","overflow","transition","animate","nextWindowId","TypeaheadContainerComponent","positionService","renderer","element","changeDetectorRef","_this","activeChangeEvent","EventEmitter","isFocused","popupId","_matches","isScrolledIntoView","elem","containerViewTop","ulElement","nativeElement","scrollTop","containerViewBottom","Number","offsetHeight","elemTop","offsetTop","setAttribute","positionServiceSubscription","event$","subscribe","isAnimated","animationState","isTopPosition","detectChanges","defineProperty","isBs3","selectMatch","bind","selectActive","isActive","_active","active","activeChanged","setOptions","modifiers","flip","enabled","adaptivePosition","allowedPositions","needScrollbar","typeaheadScrollable","typeaheadOptionsInScrollableView","matches","setTimeout","setScrollableMode","typeaheadIsFirstItemActive","nextActiveMatch","concurrency","find","match","classList","contains","parent","optionsListTemplate","undefined","typeaheadItemTemplate","selectActiveMatch","isActiveItemChanged","typeaheadSelectFirstItem","index","indexOf","emit","prevActiveMatch","scrollPrevious","scrollNext","highlight","query","startIdx","tokenLen","itemStr","itemStrHelper","typeaheadLatinize","toLowerCase","queryLen","substring","repeat","focusLost","e","stopPropagation","preventDefault","changeModel","typeaheadOnSelect","liElements","first","ulStyles","Utils","getStyles","liStyles","ulPaddingBottom","parseFloat","ulPaddingTop","optionHeight","guiHeight","setStyle","liElement","toArray","scrollToBottom","scrollToTop","ngOnDestroy","unsubscribe","scrollHeight","Component","args","selector","template","host","class","[class.dropdown-menu]","[style.height]","[style.visibility]","[class.dropup]","[attr.role]","animations","PositioningService","Renderer2","ElementRef","ChangeDetectorRef","Output","ViewChild","static","ViewChildren","HostListener","type","TypeaheadConfig","hideResultsOnBlur","cancelRequestOnFocusLost","selectFirstItem","isFirstItemActive","minLength","Injectable","TypeaheadDirective","cis","config","changeDetection","ngControl","viewContainerRef","typeaheadMinLength","typeaheadAsync","typeaheadSingleWords","typeaheadWordDelimiters","typeaheadPhraseDelimiters","typeaheadLoading","typeaheadNoResults","typeaheadOnBlur","dropup","isOpen","list","keyUpEventEmitter","placement","_subscriptions","_typeahead","createLoader","provide","useValue","typeaheadHideResultsOnBlur","typeaheadCancelRequestOnFocusLost","ngOnInit","typeaheadOptionsLimit","typeaheadWaitMs","isObservable","typeahead","asyncActions","syncActions","onInput","target","textContent","innerText","trim","hide","onChange","event","_container","keyCode","key","onFocus","onBlur","container","onKeydown","valueStr","viewToModelUpdate","setValue","markForCheck","show","attach","to","position","attachment","typeaheadRef","animation","_outsideClickListener","listen","onOutsideClick","instance","normalizedQuery","control","focus","activeId","activeDescendant","isShown","_b","_c","dispose","pipe","debounceTime","switchMap","finalizeAsyncCall","mergeMap","normalizeQuery","from","filter","testMatch","normalizeOption","optionValue","typeaheadOptionField","test","spaceLength","prepareMatches","hasMatches","limited","sorted","typeaheadOrderBy","orderMatches","typeaheadGroupField","matches_1","map","v","forEach","group","concat","keys","console","error","_a","field","direction","sort","reverse","b","stringA","stringB","Directive","exportAs","[attr.aria-activedescendant]","[attr.aria-aria-owns]","[attr.aria-aria-expanded]","[attr.aria-autocomplete]","ComponentLoaderFactory","NgControl","ViewContainerRef","Input","TypeaheadModule","forRoot","ngModule","providers","NgModule","imports","CommonModule","declarations","exports","entryComponents","queryToEscape"],"mappings":";;;;;;;;;;;;;;oFA0GO,SAASA,EAASC,GACrB,IAAIC,EAAsB,mBAAXC,QAAyBF,EAAEE,OAAOC,UAAWC,EAAI,EAChE,OAAIH,EAAUA,EAAEI,KAAKL,GACd,CACHM,KAAM,WAEF,OADIN,GAAKI,GAAKJ,EAAEO,SAAQP,OAAI,GACrB,CAAEQ,MAAOR,GAAKA,EAAEI,KAAMK,MAAOT,SC/GnCU,EAAsC,CAC/CC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,KACLC,IAAK,KACLC,IAAK,KACLC,IAAK,KACLC,IAAK,KACLC,IAAK,KACLC,IAAK,KACLC,IAAK,KACLC,IAAK,KACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,KACLC,IAAK,KACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,KACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,KACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,KACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,KACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,KACLC,IAAK,KACLC,IAAK,IACLC,IAAK,IACLC,IAAK,KACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,KACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,KACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,KACLC,IAAK,KACLC,IAAK,IACLC,IAAK,KACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,KACLC,IAAK,IACLC,IAAK,KACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,KACLC,IAAK,KACLC,IAAK,KACLC,IAAK,KACLC,IAAK,KACLC,IAAK,KACLC,IAAK,KACLC,IAAK,KACLC,IAAK,KACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,KACLC,IAAK,KACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,KACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,KACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,KACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,KACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,KACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,KACLC,IAAK,KACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,KACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,KACLC,IAAK,IACLC,IAAK,KACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,KACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,KACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,I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","sourcesContent":["/*! *****************************************************************************\r\nCopyright (c) Microsoft Corporation. All rights reserved.\r\nLicensed under the Apache License, Version 2.0 (the \"License\"); you may not use\r\nthis file except in compliance with the License. You may obtain a copy of the\r\nLicense at http://www.apache.org/licenses/LICENSE-2.0\r\n\r\nTHIS CODE IS PROVIDED ON AN *AS IS* BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\r\nKIND, EITHER EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION ANY IMPLIED\r\nWARRANTIES OR CONDITIONS OF TITLE, FITNESS FOR A PARTICULAR PURPOSE,\r\nMERCHANTABLITY OR NON-INFRINGEMENT.\r\n\r\nSee the Apache Version 2.0 License for specific language governing permissions\r\nand limitations under the License.\r\n***************************************************************************** */\r\n/* global Reflect, Promise */\r\n\r\nvar extendStatics = function(d, b) {\r\n extendStatics = Object.setPrototypeOf ||\r\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\r\n return extendStatics(d, b);\r\n};\r\n\r\nexport function __extends(d, b) {\r\n extendStatics(d, b);\r\n function __() { this.constructor = d; }\r\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n}\r\n\r\nexport var __assign = function() {\r\n __assign = Object.assign || function __assign(t) {\r\n for (var s, i = 1, n = arguments.length; i < n; i++) {\r\n s = arguments[i];\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\r\n }\r\n return t;\r\n }\r\n return __assign.apply(this, arguments);\r\n}\r\n\r\nexport function __rest(s, e) {\r\n var t = {};\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\r\n t[p] = s[p];\r\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\r\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) if (e.indexOf(p[i]) < 0)\r\n t[p[i]] = s[p[i]];\r\n return t;\r\n}\r\n\r\nexport function __decorate(decorators, target, key, desc) {\r\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n}\r\n\r\nexport function __param(paramIndex, decorator) {\r\n return function (target, key) { decorator(target, key, paramIndex); }\r\n}\r\n\r\nexport function __metadata(metadataKey, metadataValue) {\r\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\r\n}\r\n\r\nexport function __awaiter(thisArg, _arguments, P, generator) {\r\n return new (P || (P = Promise))(function (resolve, reject) {\r\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\r\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\r\n function step(result) { result.done ? resolve(result.value) : new P(function (resolve) { resolve(result.value); }).then(fulfilled, rejected); }\r\n step((generator = generator.apply(thisArg, _arguments || [])).next());\r\n });\r\n}\r\n\r\nexport function __generator(thisArg, body) {\r\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\r\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\r\n function verb(n) { return function (v) { return step([n, v]); }; }\r\n function step(op) {\r\n if (f) throw new TypeError(\"Generator is already executing.\");\r\n while (_) try {\r\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\r\n if (y = 0, t) op = [op[0] & 2, t.value];\r\n switch (op[0]) {\r\n case 0: case 1: t = op; break;\r\n case 4: _.label++; return { value: op[1], done: false };\r\n case 5: _.label++; y = op[1]; op = [0]; continue;\r\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\r\n default:\r\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\r\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\r\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\r\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\r\n if (t[2]) _.ops.pop();\r\n _.trys.pop(); continue;\r\n }\r\n op = body.call(thisArg, _);\r\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\r\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\r\n }\r\n}\r\n\r\nexport function __exportStar(m, exports) {\r\n for (var p in m) if (!exports.hasOwnProperty(p)) exports[p] = m[p];\r\n}\r\n\r\nexport function __values(o) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator], i = 0;\r\n if (m) return m.call(o);\r\n return {\r\n next: function () {\r\n if (o && i >= o.length) o = void 0;\r\n return { value: o && o[i++], done: !o };\r\n }\r\n };\r\n}\r\n\r\nexport function __read(o, n) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\r\n if (!m) return o;\r\n var i = m.call(o), r, ar = [], e;\r\n try {\r\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\r\n }\r\n catch (error) { e = { error: error }; }\r\n finally {\r\n try {\r\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\r\n }\r\n finally { if (e) throw e.error; }\r\n }\r\n return ar;\r\n}\r\n\r\nexport function __spread() {\r\n for (var ar = [], i = 0; i < arguments.length; i++)\r\n ar = ar.concat(__read(arguments[i]));\r\n return ar;\r\n}\r\n\r\nexport function __await(v) {\r\n return this instanceof __await ? (this.v = v, this) : new __await(v);\r\n}\r\n\r\nexport function __asyncGenerator(thisArg, _arguments, generator) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var g = generator.apply(thisArg, _arguments || []), i, q = [];\r\n return i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i;\r\n function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; }\r\n function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\r\n function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\r\n function fulfill(value) { resume(\"next\", value); }\r\n function reject(value) { resume(\"throw\", value); }\r\n function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\r\n}\r\n\r\nexport function __asyncDelegator(o) {\r\n var i, p;\r\n return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\r\n function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: n === \"return\" } : f ? f(v) : v; } : f; }\r\n}\r\n\r\nexport function __asyncValues(o) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var m = o[Symbol.asyncIterator], i;\r\n return m ? m.call(o) : (o = typeof __values === \"function\" ? __values(o) : o[Symbol.iterator](), i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i);\r\n function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }\r\n function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\r\n}\r\n\r\nexport function __makeTemplateObject(cooked, raw) {\r\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\r\n return cooked;\r\n};\r\n\r\nexport function __importStar(mod) {\r\n if (mod && mod.__esModule) return mod;\r\n var result = {};\r\n if (mod != null) for (var k in mod) if (Object.hasOwnProperty.call(mod, k)) result[k] = mod[k];\r\n result.default = mod;\r\n return result;\r\n}\r\n\r\nexport function __importDefault(mod) {\r\n return (mod && mod.__esModule) ? mod : { default: mod };\r\n}\r\n","/* tslint:disable */\nexport const latinMap: { [key: string]: string } = {\n 'Ã': 'A',\n 'Ä': 'A',\n 'Ắ': 'A',\n 'Ặ': 'A',\n 'Ằ': 'A',\n 'Ẳ': 'A',\n 'Ẵ': 'A',\n 'Ç': 'A',\n 'Ã': 'A',\n 'Ấ': 'A',\n 'Ậ': 'A',\n 'Ầ': 'A',\n 'Ẩ': 'A',\n 'Ẫ': 'A',\n 'Ã': 'A',\n 'Ç': 'A',\n 'Ȧ': 'A',\n 'Ç ': 'A',\n 'Ạ': 'A',\n 'È': 'A',\n 'Ã': 'A',\n 'Ả': 'A',\n 'È': 'A',\n 'Ä': 'A',\n 'Ä': 'A',\n 'Ã
': 'A',\n 'Ǻ': 'A',\n 'á¸': 'A',\n 'Ⱥ': 'A',\n 'Ã': 'A',\n 'ê²': 'AA',\n 'Ã': 'AE',\n 'Ǽ': 'AE',\n 'Ç¢': 'AE',\n 'ê´': 'AO',\n 'ê¶': 'AU',\n 'ê¸': 'AV',\n 'êº': 'AV',\n 'ê¼': 'AY',\n 'á¸': 'B',\n 'á¸': 'B',\n 'Æ': 'B',\n 'á¸': 'B',\n 'É': 'B',\n 'Æ': 'B',\n 'Ä': 'C',\n 'Ä': 'C',\n 'Ã': 'C',\n 'á¸': 'C',\n 'Ä': 'C',\n 'Ä': 'C',\n 'Æ': 'C',\n 'È»': 'C',\n 'Ä': 'D',\n 'á¸': 'D',\n 'á¸': 'D',\n 'á¸': 'D',\n 'á¸': 'D',\n 'Æ': 'D',\n 'á¸': 'D',\n 'Dz': 'D',\n 'Ç
': 'D',\n 'Ä': 'D',\n 'Æ': 'D',\n 'DZ': 'DZ',\n 'Ç': 'DZ',\n 'Ã': 'E',\n 'Ä': 'E',\n 'Ä': 'E',\n 'Ȩ': 'E',\n 'á¸': 'E',\n 'Ã': 'E',\n 'Ế': 'E',\n 'á»': 'E',\n 'á»': 'E',\n 'á»': 'E',\n 'á»': 'E',\n 'á¸': 'E',\n 'Ã': 'E',\n 'Ä': 'E',\n 'Ẹ': 'E',\n 'È': 'E',\n 'Ã': 'E',\n 'Ẻ': 'E',\n 'È': 'E',\n 'Ä': 'E',\n 'á¸': 'E',\n 'á¸': 'E',\n 'Ä': 'E',\n 'É': 'E',\n 'Ẽ': 'E',\n 'á¸': 'E',\n 'êª': 'ET',\n 'á¸': 'F',\n 'Æ': 'F',\n 'Ç´': 'G',\n 'Ä': 'G',\n 'Ǧ': 'G',\n 'Ä¢': 'G',\n 'Ä': 'G',\n 'Ä ': 'G',\n 'Æ': 'G',\n 'Ḡ': 'G',\n 'Ǥ': 'G',\n 'Ḫ': 'H',\n 'È': 'H',\n 'Ḩ': 'H',\n 'Ĥ': 'H',\n 'â±§': 'H',\n 'Ḧ': 'H',\n 'Ḣ': 'H',\n 'Ḥ': 'H',\n 'Ħ': 'H',\n 'Ã': 'I',\n 'Ĭ': 'I',\n 'Ç': 'I',\n 'Ã': 'I',\n 'Ã': 'I',\n 'Ḯ': 'I',\n 'İ': 'I',\n 'á»': 'I',\n 'È': 'I',\n 'Ã': 'I',\n 'á»': 'I',\n 'È': 'I',\n 'Ī': 'I',\n 'Ä®': 'I',\n 'Æ': 'I',\n 'Ĩ': 'I',\n 'Ḭ': 'I',\n 'ê¹': 'D',\n 'ê»': 'F',\n 'ê½': 'G',\n 'ê': 'R',\n 'ê': 'S',\n 'ê': 'T',\n 'ê¬': 'IS',\n 'Ä´': 'J',\n 'É': 'J',\n 'Ḱ': 'K',\n 'Ǩ': 'K',\n 'Ķ': 'K',\n 'Ⱪ': 'K',\n 'ê': 'K',\n 'Ḳ': 'K',\n 'Æ': 'K',\n 'Ḵ': 'K',\n 'ê': 'K',\n 'ê': 'K',\n 'Ĺ': 'L',\n 'Ƚ': 'L',\n 'Ľ': 'L',\n 'Ä»': 'L',\n 'Ḽ': 'L',\n 'Ḷ': 'L',\n 'Ḹ': 'L',\n 'â± ': 'L',\n 'ê': 'L',\n 'Ḻ': 'L',\n 'Ä¿': 'L',\n 'â±¢': 'L',\n 'Ç': 'L',\n 'Å': 'L',\n 'Ç': 'LJ',\n 'Ḿ': 'M',\n 'á¹': 'M',\n 'á¹': 'M',\n 'â±®': 'M',\n 'Å': 'N',\n 'Å': 'N',\n 'Å
': 'N',\n 'á¹': 'N',\n 'á¹': 'N',\n 'á¹': 'N',\n 'Ǹ': 'N',\n 'Æ': 'N',\n 'á¹': 'N',\n 'È ': 'N',\n 'Ç': 'N',\n 'Ã': 'N',\n 'Ç': 'NJ',\n 'Ã': 'O',\n 'Å': 'O',\n 'Ç': 'O',\n 'Ã': 'O',\n 'á»': 'O',\n 'á»': 'O',\n 'á»': 'O',\n 'á»': 'O',\n 'á»': 'O',\n 'Ã': 'O',\n 'Ȫ': 'O',\n 'È®': 'O',\n 'Ȱ': 'O',\n 'á»': 'O',\n 'Å': 'O',\n 'È': 'O',\n 'Ã': 'O',\n 'á»': 'O',\n 'Æ ': 'O',\n 'á»': 'O',\n 'Ợ': 'O',\n 'á»': 'O',\n 'á»': 'O',\n 'á» ': 'O',\n 'È': 'O',\n 'ê': 'O',\n 'ê': 'O',\n 'Å': 'O',\n 'á¹': 'O',\n 'á¹': 'O',\n 'Æ': 'O',\n 'Ǫ': 'O',\n 'Ǭ': 'O',\n 'Ã': 'O',\n 'Ǿ': 'O',\n 'Ã': 'O',\n 'á¹': 'O',\n 'á¹': 'O',\n 'Ȭ': 'O',\n 'Æ¢': 'OI',\n 'ê': 'OO',\n 'Æ': 'E',\n 'Æ': 'O',\n 'È¢': 'OU',\n 'á¹': 'P',\n 'á¹': 'P',\n 'ê': 'P',\n 'Ƥ': 'P',\n 'ê': 'P',\n 'â±£': 'P',\n 'ê': 'P',\n 'ê': 'Q',\n 'ê': 'Q',\n 'Å': 'R',\n 'Å': 'R',\n 'Å': 'R',\n 'á¹': 'R',\n 'á¹': 'R',\n 'á¹': 'R',\n 'È': 'R',\n 'È': 'R',\n 'á¹': 'R',\n 'É': 'R',\n 'Ɽ': 'R',\n 'ê¾': 'C',\n 'Æ': 'E',\n 'Å': 'S',\n 'Ṥ': 'S',\n 'Å ': 'S',\n 'Ṧ': 'S',\n 'Å': 'S',\n 'Å': 'S',\n 'È': 'S',\n 'á¹ ': 'S',\n 'á¹¢': 'S',\n 'Ṩ': 'S',\n 'Ť': 'T',\n 'Å¢': 'T',\n 'á¹°': 'T',\n 'È': 'T',\n 'Ⱦ': 'T',\n 'Ṫ': 'T',\n 'Ṭ': 'T',\n 'Ƭ': 'T',\n 'á¹®': 'T',\n 'Æ®': 'T',\n 'Ŧ': 'T',\n 'Ɐ': 'A',\n 'ê': 'L',\n 'Æ': 'M',\n 'É
': 'V',\n 'ê¨': 'TZ',\n 'Ã': 'U',\n 'Ŭ': 'U',\n 'Ç': 'U',\n 'Ã': 'U',\n 'á¹¶': 'U',\n 'Ã': 'U',\n 'Ç': 'U',\n 'Ç': 'U',\n 'Ç': 'U',\n 'Ç': 'U',\n 'á¹²': 'U',\n 'Ụ': 'U',\n 'Ű': 'U',\n 'È': 'U',\n 'Ã': 'U',\n 'Ủ': 'U',\n 'Ư': 'U',\n 'Ứ': 'U',\n 'á»°': 'U',\n 'Ừ': 'U',\n 'Ử': 'U',\n 'á»®': 'U',\n 'È': 'U',\n 'Ū': 'U',\n 'Ṻ': 'U',\n 'Ų': 'U',\n 'Å®': 'U',\n 'Ũ': 'U',\n 'Ṹ': 'U',\n 'á¹´': 'U',\n 'ê': 'V',\n 'á¹¾': 'V',\n 'Ʋ': 'V',\n 'á¹¼': 'V',\n 'ê ': 'VY',\n 'áº': 'W',\n 'Å´': 'W',\n 'áº': 'W',\n 'áº': 'W',\n 'áº': 'W',\n 'áº': 'W',\n 'â±²': 'W',\n 'áº': 'X',\n 'áº': 'X',\n 'Ã': 'Y',\n 'Ŷ': 'Y',\n 'Ÿ': 'Y',\n 'áº': 'Y',\n 'á»´': 'Y',\n 'Ỳ': 'Y',\n 'Ƴ': 'Y',\n 'á»¶': 'Y',\n 'Ỿ': 'Y',\n 'Ȳ': 'Y',\n 'É': 'Y',\n 'Ỹ': 'Y',\n 'Ź': 'Z',\n 'Ž': 'Z',\n 'áº': 'Z',\n 'Ⱬ': 'Z',\n 'Å»': 'Z',\n 'áº': 'Z',\n 'Ȥ': 'Z',\n 'áº': 'Z',\n 'Ƶ': 'Z',\n 'IJ': 'IJ',\n 'Å': 'OE',\n 'á´': 'A',\n 'á´': 'AE',\n 'Ê': 'B',\n 'á´': 'B',\n 'á´': 'C',\n 'á´
': 'D',\n 'á´': 'E',\n 'ê°': 'F',\n 'É¢': 'G',\n 'Ê': 'G',\n 'Ê': 'H',\n 'ɪ': 'I',\n 'Ê': 'R',\n 'á´': 'J',\n 'á´': 'K',\n 'Ê': 'L',\n 'á´': 'L',\n 'á´': 'M',\n 'É´': 'N',\n 'á´': 'O',\n 'ɶ': 'OE',\n 'á´': 'O',\n 'á´': 'OU',\n 'á´': 'P',\n 'Ê': 'R',\n 'á´': 'N',\n 'á´': 'R',\n 'ê±': 'S',\n 'á´': 'T',\n 'â±»': 'E',\n 'á´': 'R',\n 'á´': 'U',\n 'á´ ': 'V',\n 'á´¡': 'W',\n 'Ê': 'Y',\n 'á´¢': 'Z',\n 'á': 'a',\n 'Ä': 'a',\n 'ắ': 'a',\n 'ặ': 'a',\n 'ằ': 'a',\n 'ẳ': 'a',\n 'ẵ': 'a',\n 'Ç': 'a',\n 'â': 'a',\n 'ấ': 'a',\n 'áº': 'a',\n 'ầ': 'a',\n 'ẩ': 'a',\n 'ẫ': 'a',\n 'ä': 'a',\n 'Ç': 'a',\n 'ȧ': 'a',\n 'Ç¡': 'a',\n 'ạ': 'a',\n 'È': 'a',\n 'à ': 'a',\n 'ả': 'a',\n 'È': 'a',\n 'Ä': 'a',\n 'Ä
': 'a',\n 'á¶': 'a',\n 'áº': 'a',\n 'Ã¥': 'a',\n 'Ç»': 'a',\n 'á¸': 'a',\n 'â±¥': 'a',\n 'ã': 'a',\n 'ê³': 'aa',\n 'æ': 'ae',\n 'ǽ': 'ae',\n 'Ç£': 'ae',\n 'êµ': 'ao',\n 'ê·': 'au',\n 'ê¹': 'av',\n 'ê»': 'av',\n 'ê½': 'ay',\n 'á¸': 'b',\n 'á¸
': 'b',\n 'É': 'b',\n 'á¸': 'b',\n 'ᵬ': 'b',\n 'á¶': 'b',\n 'Æ': 'b',\n 'Æ': 'b',\n 'ɵ': 'o',\n 'Ä': 'c',\n 'Ä': 'c',\n 'ç': 'c',\n 'á¸': 'c',\n 'Ä': 'c',\n 'É': 'c',\n 'Ä': 'c',\n 'Æ': 'c',\n 'ȼ': 'c',\n 'Ä': 'd',\n 'á¸': 'd',\n 'á¸': 'd',\n 'È¡': 'd',\n 'á¸': 'd',\n 'á¸': 'd',\n 'É': 'd',\n 'á¶': 'd',\n 'á¸': 'd',\n 'áµ': 'd',\n 'á¶': 'd',\n 'Ä': 'd',\n 'É': 'd',\n 'Æ': 'd',\n 'ı': 'i',\n 'È·': 'j',\n 'É': 'j',\n 'Ê': 'j',\n 'dz': 'dz',\n 'Ç': 'dz',\n 'é': 'e',\n 'Ä': 'e',\n 'Ä': 'e',\n 'È©': 'e',\n 'á¸': 'e',\n 'ê': 'e',\n 'ế': 'e',\n 'á»': 'e',\n 'á»': 'e',\n 'á»': 'e',\n 'á»
': 'e',\n 'á¸': 'e',\n 'ë': 'e',\n 'Ä': 'e',\n 'ẹ': 'e',\n 'È
': 'e',\n 'è': 'e',\n 'ẻ': 'e',\n 'È': 'e',\n 'Ä': 'e',\n 'á¸': 'e',\n 'á¸': 'e',\n 'ⱸ': 'e',\n 'Ä': 'e',\n 'á¶': 'e',\n 'É': 'e',\n 'ẽ': 'e',\n 'á¸': 'e',\n 'ê«': 'et',\n 'á¸': 'f',\n 'Æ': 'f',\n 'áµ®': 'f',\n 'á¶': 'f',\n 'ǵ': 'g',\n 'Ä': 'g',\n 'ǧ': 'g',\n 'Ä£': 'g',\n 'Ä': 'g',\n 'Ä¡': 'g',\n 'É ': 'g',\n 'ḡ': 'g',\n 'á¶': 'g',\n 'Ç¥': 'g',\n 'ḫ': 'h',\n 'È': 'h',\n 'ḩ': 'h',\n 'Ä¥': 'h',\n 'ⱨ': 'h',\n 'ḧ': 'h',\n 'ḣ': 'h',\n 'ḥ': 'h',\n 'ɦ': 'h',\n 'áº': 'h',\n 'ħ': 'h',\n 'Æ': 'hv',\n 'Ã': 'i',\n 'Ä': 'i',\n 'Ç': 'i',\n 'î': 'i',\n 'ï': 'i',\n 'ḯ': 'i',\n 'á»': 'i',\n 'È': 'i',\n 'ì': 'i',\n 'á»': 'i',\n 'È': 'i',\n 'Ä«': 'i',\n 'į': 'i',\n 'á¶': 'i',\n 'ɨ': 'i',\n 'Ä©': 'i',\n 'á¸': 'i',\n 'êº': 'd',\n 'ê¼': 'f',\n 'áµ¹': 'g',\n 'ê': 'r',\n 'ê
': 's',\n 'ê': 't',\n 'ê': 'is',\n 'ǰ': 'j',\n 'ĵ': 'j',\n 'Ê': 'j',\n 'É': 'j',\n 'ḱ': 'k',\n 'Ç©': 'k',\n 'Ä·': 'k',\n 'ⱪ': 'k',\n 'ê': 'k',\n 'ḳ': 'k',\n 'Æ': 'k',\n 'ḵ': 'k',\n 'á¶': 'k',\n 'ê': 'k',\n 'ê
': 'k',\n 'ĺ': 'l',\n 'Æ': 'l',\n 'ɬ': 'l',\n 'ľ': 'l',\n 'ļ': 'l',\n 'ḽ': 'l',\n 'È´': 'l',\n 'ḷ': 'l',\n 'ḹ': 'l',\n 'ⱡ': 'l',\n 'ê': 'l',\n 'ḻ': 'l',\n 'Å': 'l',\n 'É«': 'l',\n 'á¶
': 'l',\n 'É': 'l',\n 'Å': 'l',\n 'Ç': 'lj',\n 'Å¿': 's',\n 'áº': 's',\n 'áº': 's',\n 'áº': 's',\n 'ḿ': 'm',\n 'á¹': 'm',\n 'á¹': 'm',\n 'ɱ': 'm',\n 'ᵯ': 'm',\n 'á¶': 'm',\n 'Å': 'n',\n 'Å': 'n',\n 'Å': 'n',\n 'á¹': 'n',\n 'ȵ': 'n',\n 'á¹
': 'n',\n 'á¹': 'n',\n 'ǹ': 'n',\n 'ɲ': 'n',\n 'á¹': 'n',\n 'Æ': 'n',\n 'áµ°': 'n',\n 'á¶': 'n',\n 'ɳ': 'n',\n 'ñ': 'n',\n 'Ç': 'nj',\n 'ó': 'o',\n 'Å': 'o',\n 'Ç': 'o',\n 'ô': 'o',\n 'á»': 'o',\n 'á»': 'o',\n 'á»': 'o',\n 'á»': 'o',\n 'á»': 'o',\n 'ö': 'o',\n 'È«': 'o',\n 'ȯ': 'o',\n 'ȱ': 'o',\n 'á»': 'o',\n 'Å': 'o',\n 'È': 'o',\n 'ò': 'o',\n 'á»': 'o',\n 'Æ¡': 'o',\n 'á»': 'o',\n 'ợ': 'o',\n 'á»': 'o',\n 'á»': 'o',\n 'ỡ': 'o',\n 'È': 'o',\n 'ê': 'o',\n 'ê': 'o',\n 'ⱺ': 'o',\n 'Å': 'o',\n 'á¹': 'o',\n 'á¹': 'o',\n 'Ç«': 'o',\n 'Ç': 'o',\n 'ø': 'o',\n 'Ç¿': 'o',\n 'õ': 'o',\n 'á¹': 'o',\n 'á¹': 'o',\n 'È': 'o',\n 'Æ£': 'oi',\n 'ê': 'oo',\n 'É': 'e',\n 'á¶': 'e',\n 'É': 'o',\n 'á¶': 'o',\n 'È£': 'ou',\n 'á¹': 'p',\n 'á¹': 'p',\n 'ê': 'p',\n 'Æ¥': 'p',\n 'áµ±': 'p',\n 'á¶': 'p',\n 'ê': 'p',\n 'áµ½': 'p',\n 'ê': 'p',\n 'ê': 'q',\n 'Ê ': 'q',\n 'É': 'q',\n 'ê': 'q',\n 'Å': 'r',\n 'Å': 'r',\n 'Å': 'r',\n 'á¹': 'r',\n 'á¹': 'r',\n 'á¹': 'r',\n 'È': 'r',\n 'ɾ': 'r',\n 'áµ³': 'r',\n 'È': 'r',\n 'á¹': 'r',\n 'ɼ': 'r',\n 'áµ²': 'r',\n 'á¶': 'r',\n 'É': 'r',\n 'ɽ': 'r',\n 'â': 'c',\n 'ê¿': 'c',\n 'É': 'e',\n 'É¿': 'r',\n 'Å': 's',\n 'á¹¥': 's',\n 'Å¡': 's',\n 'á¹§': 's',\n 'Å': 's',\n 'Å': 's',\n 'È': 's',\n 'ṡ': 's',\n 'á¹£': 's',\n 'ṩ': 's',\n 'Ê': 's',\n 'áµ´': 's',\n 'á¶': 's',\n 'È¿': 's',\n 'É¡': 'g',\n 'á´': 'o',\n 'á´': 'o',\n 'á´': 'u',\n 'Å¥': 't',\n 'Å£': 't',\n 'á¹±': 't',\n 'È': 't',\n 'ȶ': 't',\n 'áº': 't',\n 'ⱦ': 't',\n 'ṫ': 't',\n 'á¹': 't',\n 'Æ': 't',\n 'ṯ': 't',\n 'áµµ': 't',\n 'Æ«': 't',\n 'Ê': 't',\n 'ŧ': 't',\n 'ᵺ': 'th',\n 'É': 'a',\n 'á´': 'ae',\n 'Ç': 'e',\n 'áµ·': 'g',\n 'É¥': 'h',\n 'Ê®': 'h',\n 'ʯ': 'h',\n 'á´': 'i',\n 'Ê': 'k',\n 'ê': 'l',\n 'ɯ': 'm',\n 'ɰ': 'm',\n 'á´': 'oe',\n 'ɹ': 'r',\n 'É»': 'r',\n 'ɺ': 'r',\n 'â±¹': 'r',\n 'Ê': 't',\n 'Ê': 'v',\n 'Ê': 'w',\n 'Ê': 'y',\n 'ê©': 'tz',\n 'ú': 'u',\n 'Å': 'u',\n 'Ç': 'u',\n 'û': 'u',\n 'á¹·': 'u',\n 'ü': 'u',\n 'Ç': 'u',\n 'Ç': 'u',\n 'Ç': 'u',\n 'Ç': 'u',\n 'á¹³': 'u',\n 'ụ': 'u',\n 'ű': 'u',\n 'È': 'u',\n 'ù': 'u',\n 'á»§': 'u',\n 'ư': 'u',\n 'ứ': 'u',\n 'á»±': 'u',\n 'ừ': 'u',\n 'á»': 'u',\n 'ữ': 'u',\n 'È': 'u',\n 'Å«': 'u',\n 'á¹»': 'u',\n 'ų': 'u',\n 'á¶': 'u',\n 'ů': 'u',\n 'Å©': 'u',\n 'á¹¹': 'u',\n 'á¹µ': 'u',\n 'ᵫ': 'ue',\n 'ê¸': 'um',\n 'â±´': 'v',\n 'ê': 'v',\n 'ṿ': 'v',\n 'Ê': 'v',\n 'á¶': 'v',\n 'â±±': 'v',\n 'á¹½': 'v',\n 'ê¡': 'vy',\n 'áº': 'w',\n 'ŵ': 'w',\n 'áº
': 'w',\n 'áº': 'w',\n 'áº': 'w',\n 'áº': 'w',\n 'â±³': 'w',\n 'áº': 'w',\n 'áº': 'x',\n 'áº': 'x',\n 'á¶': 'x',\n 'ý': 'y',\n 'Å·': 'y',\n 'ÿ': 'y',\n 'áº': 'y',\n 'ỵ': 'y',\n 'ỳ': 'y',\n 'Æ´': 'y',\n 'á»·': 'y',\n 'ỿ': 'y',\n 'ȳ': 'y',\n 'áº': 'y',\n 'É': 'y',\n 'ỹ': 'y',\n 'ź': 'z',\n 'ž': 'z',\n 'áº': 'z',\n 'Ê': 'z',\n 'ⱬ': 'z',\n 'ż': 'z',\n 'áº': 'z',\n 'È¥': 'z',\n 'áº': 'z',\n 'áµ¶': 'z',\n 'á¶': 'z',\n 'Ê': 'z',\n 'ƶ': 'z',\n 'É': 'z',\n 'ï¬': 'ff',\n 'ï¬': 'ffi',\n 'ï¬': 'ffl',\n 'ï¬': 'fi',\n 'ï¬': 'fl',\n 'ij': 'ij',\n 'Å': 'oe',\n 'ï¬': 'st',\n 'â': 'a',\n 'â': 'e',\n 'áµ¢': 'i',\n 'â±¼': 'j',\n 'â': 'o',\n 'áµ£': 'r',\n 'ᵤ': 'u',\n 'áµ¥': 'v',\n 'â': 'x'\n};\n","import { TypeaheadDirective } from './typeahead.directive';\n\nexport class TypeaheadOptions {\n placement: string;\n animation: boolean;\n typeaheadRef: TypeaheadDirective;\n\n constructor(options: TypeaheadOptions) {\n Object.assign(this, options);\n }\n}\n","export class TypeaheadMatch {\n readonly value: string;\n\n// tslint:disable-next-line:no-any\n readonly item: any;\n protected header: boolean;\n\n// tslint:disable-next-line:no-any\n constructor(item: any, value: string = item, header = false) {\n this.item = item;\n this.value = value;\n this.header = header;\n }\n\n isHeader(): boolean {\n return this.header;\n }\n\n toString(): string {\n return this.value;\n }\n}\n","export class TypeaheadOrder {\n /** field for sorting */\n field?: string;\n /** ordering direction, could be 'asc' or 'desc' */\n direction: 'asc' | 'desc';\n}\n","import { latinMap } from './latin-map';\n\nexport function latinize(str: string): string {\n if (!str) {\n return '';\n }\n\n return str.replace(/[^A-Za-z0-9\\[\\] ]/g, function (a: string): string {\n return latinMap[a] || a;\n });\n}\n\nexport function escapeRegexp(queryToEscape: string): string {\n // Regex: capture the whole query string and replace it with the string\n // that will be used to match the results, for example if the capture is\n // 'a' the result will be \\a\n return queryToEscape.replace(/([.?*+^$[\\]\\\\(){}|-])/g, '\\\\$1');\n}\n\n/* tslint:disable */\nexport function tokenize(str: string,\n wordRegexDelimiters = ' ',\n phraseRegexDelimiters = ''): Array<string> {\n /* tslint:enable */\n const regexStr = `(?:[${phraseRegexDelimiters}])([^${phraseRegexDelimiters}]+)` +\n `(?:[${phraseRegexDelimiters}])|([^${wordRegexDelimiters}]+)`;\n const preTokenized: string[] = str.split(new RegExp(regexStr, 'g'));\n const result: string[] = [];\n const preTokenizedLength: number = preTokenized.length;\n let token: string;\n const replacePhraseDelimiters = new RegExp(`[${phraseRegexDelimiters}]+`, 'g');\n\n for (let i = 0; i < preTokenizedLength; i += 1) {\n token = preTokenized[i];\n if (token && token.length && token !== wordRegexDelimiters) {\n result.push(token.replace(replacePhraseDelimiters, ''));\n }\n }\n\n return result;\n}\n\n// tslint:disable-next-line:no-any\nexport function getValueFromObject(object: any, option: string): string {\n if (!option || typeof object !== 'object') {\n return object.toString();\n }\n\n if (option.endsWith('()')) {\n const functionName = option.slice(0, option.length - 2);\n\n return object[functionName]().toString();\n }\n\n const properties: string = option\n .replace(/\\[(\\w+)\\]/g, '.$1')\n .replace(/^\\./, '');\n const propertiesArray: string[] = properties.split('.');\n\n for (const property of propertiesArray) {\n if (property in object) {\n // tslint:disable-next-line\n object = object[property];\n }\n }\n if (!object) {return ''; }\n\n return object.toString();\n}\n","import {\n animate,\n style,\n AnimationTriggerMetadata,\n state,\n transition,\n trigger\n} from '@angular/animations';\n\nexport const TYPEAHEAD_ANIMATION_TIMING = '220ms cubic-bezier(0, 0, 0.2, 1)';\n\nexport const typeaheadAnimation: AnimationTriggerMetadata =\n trigger('typeaheadAnimation', [\n state('animated-down', style({ height: '*', overflow: 'hidden'})),\n transition('* => animated-down', [\n style({ height: 0, overflow: 'hidden' }),\n animate(TYPEAHEAD_ANIMATION_TIMING)\n ]),\n state('animated-up', style({ height: '*', overflow: 'hidden'})),\n transition('* => animated-up', [\n style({ height: '*', overflow: 'hidden' }),\n animate(TYPEAHEAD_ANIMATION_TIMING)\n ]),\n transition('* => unanimated', animate('0s'))\n ]);\n","// tslint:disable:max-file-line-count max-line-length\nimport {\n ChangeDetectorRef,\n Component,\n ElementRef,\n HostListener,\n OnDestroy,\n QueryList,\n Renderer2,\n TemplateRef,\n ViewChild,\n ViewChildren,\n Output,\n EventEmitter\n} from '@angular/core';\n\nimport { isBs3, Utils } from 'ngx-bootstrap/utils';\nimport { PositioningService } from 'ngx-bootstrap/positioning';\nimport { Subscription } from 'rxjs';\n\nimport { latinize } from './typeahead-utils';\nimport { TypeaheadMatch } from './typeahead-match.class';\nimport { TypeaheadDirective } from './typeahead.directive';\nimport { typeaheadAnimation } from './typeahead-animations';\nimport { TypeaheadOptionItemContext, TypeaheadOptionListContext, TypeaheadTemplateMethods } from './models';\n\nlet nextWindowId = 0;\n\n@Component({\n selector: 'typeahead-container',\n templateUrl: './typeahead-container.component.html',\n host: {\n class: 'dropdown open bottom',\n '[class.dropdown-menu]': 'isBs4',\n '[style.height]': `isBs4 && needScrollbar ? guiHeight: 'auto'`,\n '[style.visibility]': `'inherit'`,\n '[class.dropup]': 'dropup',\n style: 'position: absolute;display: block;',\n '[attr.role]': `isBs4 ? 'listbox' : null `\n },\n styles: [\n `\n :host.dropdown {\n z-index: 1000;\n }\n\n :host.dropdown-menu, .dropdown-menu {\n overflow-y: auto;\n height: 100px;\n }\n `\n ],\n animations: [typeaheadAnimation]\n})\n\nexport class TypeaheadContainerComponent implements OnDestroy {\n // tslint:disable-next-line: no-output-rename\n @Output('activeChange') activeChangeEvent = new EventEmitter();\n\n parent: TypeaheadDirective;\n query: string[] | string;\n isFocused = false;\n top: string;\n left: string;\n display: string;\n placement: string;\n dropup: boolean;\n guiHeight: string;\n needScrollbar: boolean;\n animationState: string;\n positionServiceSubscription: Subscription;\n height = 0;\n popupId = `ngb-typeahead-${nextWindowId++}`;\n\n get isBs4(): boolean {\n return !isBs3();\n }\n\n get typeaheadTemplateMethods(): TypeaheadTemplateMethods {\n /* tslint:disable:no-this-assignment */\n const _that = this;\n\n return {\n selectMatch: this.selectMatch.bind(_that),\n selectActive: this.selectActive.bind(_that),\n isActive: this.isActive.bind(_that)\n };\n }\n\n protected _active: TypeaheadMatch;\n protected _matches: TypeaheadMatch[] = [];\n\n @ViewChild('ulElement', { static: false })\n private ulElement: ElementRef;\n\n @ViewChildren('liElements')\n private liElements: QueryList<ElementRef>;\n\n constructor(\n private positionService: PositioningService,\n private renderer: Renderer2,\n public element: ElementRef,\n private changeDetectorRef: ChangeDetectorRef\n ) {\n this.renderer.setAttribute(this.element.nativeElement, 'id', this.popupId);\n this.positionServiceSubscription = this.positionService.event$.subscribe(\n () => {\n if (this.isAnimated) {\n this.animationState = this.isTopPosition ? 'animated-up' : 'animated-down';\n this.changeDetectorRef.detectChanges();\n\n return;\n }\n\n this.animationState = 'unanimated';\n this.changeDetectorRef.detectChanges();\n }\n );\n }\n\n get active(): TypeaheadMatch {\n return this._active;\n }\n\n set active(active: TypeaheadMatch) {\n this._active = active;\n this.activeChanged();\n }\n\n get matches(): TypeaheadMatch[] {\n return this._matches;\n }\n\n set matches(value: TypeaheadMatch[]) {\n this.positionService.setOptions({\n modifiers: { flip: { enabled: this.adaptivePosition } },\n allowedPositions: ['top', 'bottom']\n });\n\n this._matches = value;\n\n this.needScrollbar = this.typeaheadScrollable && this.typeaheadOptionsInScrollableView < this.matches.length;\n\n if (this.typeaheadScrollable) {\n setTimeout(() => {\n this.setScrollableMode();\n });\n }\n\n if (this.typeaheadIsFirstItemActive && this._matches.length > 0) {\n this.active = this._matches[0];\n\n if (this._active.isHeader()) {\n this.nextActiveMatch();\n }\n }\n\n if (this._active && !this.typeaheadIsFirstItemActive) {\n const concurrency = this._matches.find(match => match.value === this._active.value);\n\n if (concurrency) {\n this.selectActive(concurrency);\n\n return;\n }\n\n this.active = null;\n }\n }\n\n get isTopPosition(): boolean {\n return this.element.nativeElement.classList.contains('top');\n }\n\n // tslint:disable-next-line:no-any\n get optionsListTemplate(): TemplateRef<TypeaheadOptionListContext> {\n return this.parent ? this.parent.optionsListTemplate : undefined;\n }\n\n get isAnimated(): boolean {\n return this.parent ? this.parent.isAnimated : false;\n }\n\n get adaptivePosition(): boolean {\n return this.parent ? this.parent.adaptivePosition : false;\n }\n\n get typeaheadScrollable(): boolean {\n return this.parent ? this.parent.typeaheadScrollable : false;\n }\n\n get typeaheadOptionsInScrollableView(): number {\n return this.parent ? this.parent.typeaheadOptionsInScrollableView : 5;\n }\n\n get typeaheadIsFirstItemActive(): boolean {\n return this.parent ? this.parent.typeaheadIsFirstItemActive : true;\n }\n // tslint:disable-next-line:no-any\n get itemTemplate(): TemplateRef<TypeaheadOptionItemContext> {\n return this.parent ? this.parent.typeaheadItemTemplate : undefined;\n }\n\n selectActiveMatch(isActiveItemChanged?: boolean): void {\n if (this._active && this.parent.typeaheadSelectFirstItem) {\n this.selectMatch(this._active);\n }\n\n if (!this.parent.typeaheadSelectFirstItem && isActiveItemChanged) {\n this.selectMatch(this._active);\n }\n }\n\n activeChanged(): void {\n const index = this.matches.indexOf(this._active);\n this.activeChangeEvent.emit(`${this.popupId}-${index}`);\n }\n\n prevActiveMatch(): void {\n\n const index = this.matches.indexOf(this._active);\n\n this.active = this.matches[\n index - 1 < 0 ? this.matches.length - 1 : index - 1\n ];\n\n if (this._active.isHeader()) {\n this.prevActiveMatch();\n }\n\n if (this.typeaheadScrollable) {\n this.scrollPrevious(index);\n }\n }\n\n nextActiveMatch(): void {\n const index = this.matches.indexOf(this._active);\n\n this.active = this.matches[\n index + 1 > this.matches.length - 1 ? 0 : index + 1\n ];\n\n\n if (this._active.isHeader()) {\n this.nextActiveMatch();\n }\n\n if (this.typeaheadScrollable) {\n this.scrollNext(index);\n }\n }\n\n selectActive(value: TypeaheadMatch): void {\n this.isFocused = true;\n this.active = value;\n }\n\n highlight(match: TypeaheadMatch, query: string[] | string): string {\n let itemStr: string = match.value;\n let itemStrHelper: string = (this.parent && this.parent.typeaheadLatinize\n ? latinize(itemStr)\n : itemStr).toLowerCase();\n let startIdx: number;\n let tokenLen: number;\n // Replaces the capture string with the same string inside of a \"strong\" tag\n if (typeof query === 'object') {\n const queryLen: number = query.length;\n for (let i = 0; i < queryLen; i += 1) {\n // query[i] is already latinized and lower case\n startIdx = itemStrHelper.indexOf(query[i]);\n tokenLen = query[i].length;\n if (startIdx >= 0 && tokenLen > 0) {\n itemStr =\n `${itemStr.substring(0, startIdx)}<strong>${itemStr.substring(startIdx, startIdx + tokenLen)}</strong>` +\n `${itemStr.substring(startIdx + tokenLen)}`;\n itemStrHelper =\n `${itemStrHelper.substring(0, startIdx)} ${' '.repeat(tokenLen)} ` +\n `${itemStrHelper.substring(startIdx + tokenLen)}`;\n }\n }\n } else if (query) {\n // query is already latinized and lower case\n startIdx = itemStrHelper.indexOf(query);\n tokenLen = query.length;\n if (startIdx >= 0 && tokenLen > 0) {\n itemStr =\n `${itemStr.substring(0, startIdx)}<strong>${itemStr.substring(startIdx, startIdx + tokenLen)}</strong>` +\n `${itemStr.substring(startIdx + tokenLen)}`;\n }\n }\n\n return itemStr;\n }\n\n @HostListener('mouseleave')\n @HostListener('blur')\n focusLost(): void {\n this.isFocused = false;\n }\n\n isActive(value: TypeaheadMatch): boolean {\n return this.active === value;\n }\n\n selectMatch(value: TypeaheadMatch, e: Event = void 0): boolean {\n if (e) {\n e.stopPropagation();\n e.preventDefault();\n }\n this.parent.changeModel(value);\n setTimeout(() => this.parent.typeaheadOnSelect.emit(value), 0);\n\n return false;\n }\n\n setScrollableMode(): void {\n if (!this.ulElement) {\n this.ulElement = this.element;\n }\n\n if (this.liElements.first) {\n const ulStyles = Utils.getStyles(this.ulElement.nativeElement);\n const liStyles = Utils.getStyles(this.liElements.first.nativeElement);\n const ulPaddingBottom = parseFloat((ulStyles['padding-bottom'] ? ulStyles['padding-bottom'] : '')\n .replace('px', ''));\n const ulPaddingTop = parseFloat((ulStyles['padding-top'] ? ulStyles['padding-top'] : '0')\n .replace('px', ''));\n const optionHeight = parseFloat((liStyles.height ? liStyles.height : '0')\n .replace('px', ''));\n const height = this.typeaheadOptionsInScrollableView * optionHeight;\n this.guiHeight = `${height + ulPaddingTop + ulPaddingBottom}px`;\n }\n\n this.renderer.setStyle(this.element.nativeElement, 'visibility', 'visible');\n }\n\n scrollPrevious(index: number): void {\n if (index === 0) {\n this.scrollToBottom();\n\n return;\n }\n if (this.liElements) {\n const liElement = this.liElements.toArray()[index - 1];\n if (liElement && !this.isScrolledIntoView(liElement.nativeElement)) {\n this.ulElement.nativeElement.scrollTop = liElement.nativeElement.offsetTop;\n }\n }\n }\n\n scrollNext(index: number): void {\n if (index + 1 > this.matches.length - 1) {\n this.scrollToTop();\n\n return;\n }\n if (this.liElements) {\n const liElement = this.liElements.toArray()[index + 1];\n if (liElement && !this.isScrolledIntoView(liElement.nativeElement)) {\n this.ulElement.nativeElement.scrollTop =\n liElement.nativeElement.offsetTop -\n Number(this.ulElement.nativeElement.offsetHeight) +\n Number(liElement.nativeElement.offsetHeight);\n }\n }\n }\n\n ngOnDestroy(): void {\n this.positionServiceSubscription.unsubscribe();\n }\n\n\n private isScrolledIntoView = function (elem: HTMLElement) {\n const containerViewTop: number = this.ulElement.nativeElement.scrollTop;\n const containerViewBottom = containerViewTop + Number(this.ulElement.nativeElement.offsetHeight);\n const elemTop = elem.offsetTop;\n const elemBottom = elemTop + elem.offsetHeight;\n\n return ((elemBottom <= containerViewBottom) && (elemTop >= containerViewTop));\n };\n\n private scrollToBottom(): void {\n this.ulElement.nativeElement.scrollTop = this.ulElement.nativeElement.scrollHeight;\n }\n\n private scrollToTop(): void {\n this.ulElement.nativeElement.scrollTop = 0;\n }\n}\n","import { Injectable } from '@angular/core';\n\n/** Default values provider for typeahead */\n@Injectable()\nexport class TypeaheadConfig {\n /** sets use adaptive position */\n adaptivePosition = false;\n /** turn on/off animation */\n isAnimated = false;\n /** used to hide results on blur */\n hideResultsOnBlur = true;\n /** if true, typeahead will cancel async request on blur */\n cancelRequestOnFocusLost = false;\n /** used to choose the first item in typeahead container */\n selectFirstItem = true;\n /** used to active/inactive the first item in typeahead container */\n isFirstItemActive = true;\n /** used to choose set minimal no of characters that needs to\n * be entered before typeahead kicks-in\n */\n minLength = 1;\n}\n","/* tslint:disable:max-file-line-count */\nimport {\n ChangeDetectorRef,\n Directive,\n ElementRef,\n EventEmitter,\n HostListener,\n Input,\n OnDestroy,\n OnInit,\n Output,\n Renderer2,\n TemplateRef,\n ViewContainerRef\n} from '@angular/core';\nimport { NgControl } from '@angular/forms';\n\nimport { from, Subscription, isObservable, Observable } from 'rxjs';\nimport { ComponentLoader, ComponentLoaderFactory } from 'ngx-bootstrap/component-loader';\nimport { debounceTime, filter, mergeMap, switchMap, toArray } from 'rxjs/operators';\n\nimport { TypeaheadContainerComponent } from './typeahead-container.component';\nimport { TypeaheadMatch } from './typeahead-match.class';\nimport { TypeaheadConfig } from './typeahead.config';\nimport { getValueFromObject, latinize, tokenize } from './typeahead-utils';\nimport { TypeaheadOrder } from './typeahead-order.class';\nimport { TypeaheadOptionItemContext, TypeaheadOptionListContext } from './models';\n\ntype TypeaheadOption = string | {[key in string | number]: any};\ntype Typeahead = TypeaheadOption[] | Observable<TypeaheadOption[]>;\n\n@Directive({\n selector: '[typeahead]',\n exportAs: 'bs-typeahead',\n host: {\n '[attr.aria-activedescendant]': 'activeDescendant',\n '[attr.aria-aria-owns]': 'isOpen ? this._container.popupId : null',\n '[attr.aria-aria-expanded]': 'isOpen',\n '[attr.aria-autocomplete]': 'list'\n }\n})\nexport class TypeaheadDirective implements OnInit, OnDestroy {\n /** options source, can be Array of strings, objects or\n * an Observable for external matching process\n */\n @Input() typeahead: Typeahead;\n /** minimal no of characters that needs to be entered before\n * typeahead kicks-in. When set to 0, typeahead shows on focus with full\n * list of options (limited as normal by typeaheadOptionsLimit)\n */\n @Input() typeaheadMinLength: number = void 0;\n /** sets use adaptive position */\n @Input() adaptivePosition: boolean;\n /** turn on/off animation */\n @Input() isAnimated = false;\n /** minimal wait time after last character typed before typeahead kicks-in */\n @Input() typeaheadWaitMs: number;\n /** maximum length of options items list. The default value is 20 */\n @Input() typeaheadOptionsLimit: number;\n /** when options source is an array of objects, the name of field\n * that contains the options value, we use array item as option in case\n * of this field is missing. Supports nested properties and methods.\n */\n @Input() typeaheadOptionField: string;\n /** when options source is an array of objects, the name of field that\n * contains the group value, matches are grouped by this field when set.\n */\n @Input() typeaheadGroupField: string;\n /** Used to specify a custom order of matches. When options source is an array of objects\n * a field for sorting has to be set up. In case of options source is an array of string,\n * a field for sorting is absent. The ordering direction could be changed to ascending or descending.\n */\n @Input() typeaheadOrderBy: TypeaheadOrder;\n /** should be used only in case of typeahead attribute is Observable of array.\n * If true - loading of options will be async, otherwise - sync.\n * true make sense if options array is large.\n */\n @Input() typeaheadAsync: boolean = void 0;\n /** match latin symbols.\n * If true the word súper would match super and vice versa.\n */\n @Input() typeaheadLatinize = true;\n /** Can be use to search words by inserting a single white space between each characters\n * for example 'C a l i f o r n i a' will match 'California'.\n */\n @Input() typeaheadSingleWords = true;\n /** should be used only in case typeaheadSingleWords attribute is true.\n * Sets the word delimiter to break words. Defaults to space.\n */\n @Input() typeaheadWordDelimiters = ' ';\n /** should be used only in case typeaheadSingleWords attribute is true.\n * Sets the word delimiter to match exact phrase.\n * Defaults to simple and double quotes.\n */\n @Input() typeaheadPhraseDelimiters = '\\'\"';\n /** used to specify a custom item template.\n * Template variables exposed are called item and index;\n */\n @Input() typeaheadItemTemplate: TemplateRef<TypeaheadOptionItemContext>;\n /** used to specify a custom options list template.\n * Template variables: matches, itemTemplate, query\n */\n @Input() optionsListTemplate: TemplateRef<TypeaheadOptionListContext>;\n /** specifies if typeahead is scrollable */\n @Input() typeaheadScrollable = false;\n /** specifies number of options to show in scroll view */\n @Input() typeaheadOptionsInScrollableView = 5;\n /** used to hide result on blur */\n @Input() typeaheadHideResultsOnBlur: boolean;\n /** fired when an options list was opened and the user clicked Tab\n * If a value equal true, it will be chosen first or active item in the list\n * If value equal false, it will be chosen an active item in the list or nothing\n */\n @Input() typeaheadSelectFirstItem = true;\n /** makes active first item in a list */\n @Input() typeaheadIsFirstItemActive = true;\n /** fired when 'busy' state of this component was changed,\n * fired on async mode only, returns boolean\n */\n @Output() typeaheadLoading = new EventEmitter<boolean>();\n /** fired on every key event and returns true\n * in case of matches are not detected\n */\n @Output() typeaheadNoResults = new EventEmitter<boolean>();\n /** fired when option was selected, return object with data of this option */\n @Output() typeaheadOnSelect = new EventEmitter<TypeaheadMatch>();\n /** fired when blur event occurs. returns the active item */\n @Output() typeaheadOnBlur = new EventEmitter<TypeaheadMatch>();\n\n /**\n * A selector specifying the element the typeahead should be appended to.\n */\n @Input() container: string;\n\n /** This attribute indicates that the dropdown should be opened upwards */\n @Input() dropup = false;\n\n // not yet implemented\n /** if false restrict model values to the ones selected from the popup only will be provided */\n // @Input() protected typeaheadEditable:boolean;\n /** if false the first match automatically will not be focused as you type */\n // @Input() protected typeaheadFocusFirst:boolean;\n /** format the ng-model result after selection */\n // @Input() protected typeaheadInputFormatter:any;\n /** if true automatically select an item when there is one option that exactly matches the user input */\n // @Input() protected typeaheadSelectOnExact:boolean;\n /** if true select the currently highlighted match on blur */\n // @Input() protected typeaheadSelectOnBlur:boolean;\n /** if false don't focus the input element the typeahead directive is associated with on selection */\n // @Input() protected typeaheadFocusOnSelect:boolean;\n\n activeDescendant: string;\n isOpen = false;\n list = 'list';\n _container: TypeaheadContainerComponent;\n isActiveItemChanged = false;\n isFocused = false;\n cancelRequestOnFocusLost = false;\n\n // tslint:disable-next-line:no-any\n protected keyUpEventEmitter: EventEmitter<string> = new EventEmitter();\n protected _matches: TypeaheadMatch[];\n protected placement = 'bottom left';\n\n private _typeahead: ComponentLoader<TypeaheadContainerComponent>;\n private _subscriptions: Subscription[] = [];\n private _outsideClickListener: Function;\n\n constructor(\n cis: ComponentLoaderFactory,\n config: TypeaheadConfig,\n private changeDetection: ChangeDetectorRef,\n private element: ElementRef,\n private ngControl: NgControl,\n private renderer: Renderer2,\n viewContainerRef: ViewContainerRef\n ) {\n\n this._typeahead = cis.createLoader<TypeaheadContainerComponent>(\n element,\n viewContainerRef,\n renderer\n )\n .provide({ provide: TypeaheadConfig, useValue: config });\n\n Object.assign(this,\n {\n typeaheadHideResultsOnBlur: config.hideResultsOnBlur,\n typeaheadCancelRequestOnFocusLost: config.cancelRequestOnFocusLost,\n typeaheadSelectFirstItem: config.selectFirstItem,\n typeaheadIsFirstItemActive: config.isFirstItemActive,\n typeaheadMinLength: config.minLength,\n adaptivePosition: config.adaptivePosition,\n isAnimated: config.isAnimated\n }\n );\n }\n\n ngOnInit(): void {\n this.typeaheadOptionsLimit = this.typeaheadOptionsLimit || 20;\n\n this.typeaheadMinLength =\n this.typeaheadMinLength === void 0 ? 1 : this.typeaheadMinLength;\n\n this.typeaheadWaitMs = this.typeaheadWaitMs || 0;\n\n // async should be false in case of array\n if (this.typeaheadAsync === undefined && !(isObservable(this.typeahead))) {\n this.typeaheadAsync = false;\n }\n\n if (isObservable(this.typeahead)) {\n this.typeaheadAsync = true;\n }\n\n if (this.typeaheadAsync) {\n this.asyncActions();\n } else {\n this.syncActions();\n }\n }\n\n @HostListener('input', ['$event'])\n // tslint:disable-next-line:no-any\n onInput(e: any): void {\n // For `<input>`s, use the `value` property. For others that don't have a\n // `value` (such as `<span contenteditable=\"true\">`), use either\n // `textContent` or `innerText` (depending on which one is supported, i.e.\n // Firefox or IE).\n const value =\n e.target.value !== undefined\n ? e.target.value\n : e.target.textContent !== undefined\n ? e.target.textContent\n : e.target.innerText;\n if (value != null && value.trim().length >= this.typeaheadMinLength) {\n this.typeaheadLoading.emit(true);\n this.keyUpEventEmitter.emit(e.target.value);\n } else {\n this.typeaheadLoading.emit(false);\n this.typeaheadNoResults.emit(false);\n this.hide();\n }\n }\n\n @HostListener('keyup', ['$event'])\n onChange(event: KeyboardEvent): void {\n if (this._container) {\n // esc\n /* tslint:disable-next-line: deprecation */\n if (event.keyCode === 27 || event.key === 'Escape') {\n this.hide();\n\n return;\n }\n\n // up\n /* tslint:disable-next-line: deprecation */\n if (event.keyCode === 38 || event.key === 'ArrowUp') {\n this.isActiveItemChanged = true;\n this._container.prevActiveMatch();\n\n return;\n }\n\n // down\n /* tslint:disable-next-line: deprecation */\n if (event.keyCode === 40 || event.key === 'ArrowDown') {\n this.isActiveItemChanged = true;\n this._container.nextActiveMatch();\n\n return;\n }\n\n // enter\n /* tslint:disable-next-line: deprecation */\n if (event.keyCode === 13 || event.key === 'Enter') {\n this._container.selectActiveMatch();\n\n return;\n }\n }\n }\n\n @HostListener('click')\n @HostListener('focus')\n onFocus(): void {\n this.isFocused = true;\n // add setTimeout to fix issue #5251\n // to get and emit updated value if it's changed on focus\n setTimeout(() => {\n if (this.typeaheadMinLength === 0) {\n this.typeaheadLoading.emit(true);\n this.keyUpEventEmitter.emit(this.element.nativeElement.value || '');\n }\n }, 0);\n }\n\n @HostListener('blur')\n onBlur(): void {\n this.isFocused = false;\n if (this._container && !this._container.isFocused) {\n this.typeaheadOnBlur.emit(this._container.active);\n }\n\n if (!this.container && this._matches.length === 0) {\n this.typeaheadOnBlur.emit(new TypeaheadMatch(\n this.element.nativeElement.value,\n this.element.nativeElement.value,\n false));\n }\n }\n\n @HostListener('keydown', ['$event'])\n onKeydown(event: KeyboardEvent): void {\n // no container - no problems\n if (!this._container) {\n return;\n }\n\n /* tslint:disable-next-line: deprecation */\n if (event.keyCode === 9 || event.key === 'Tab') {\n this.onBlur();\n }\n\n /* tslint:disable-next-line: deprecation */\n if (event.keyCode === 9 || event.key === 'Tab' || event.keyCode === 13 || event.key === 'Enter') {\n event.preventDefault();\n if (this.typeaheadSelectFirstItem) {\n this._container.selectActiveMatch();\n\n return;\n }\n\n if (!this.typeaheadSelectFirstItem) {\n this._container.selectActiveMatch(this.isActiveItemChanged);\n this.isActiveItemChanged = false;\n this.hide();\n }\n }\n }\n\n changeModel(match: TypeaheadMatch): void {\n const valueStr: string = match.value;\n this.ngControl.viewToModelUpdate(valueStr);\n (this.ngControl.control).setValue(valueStr);\n this.changeDetection.markForCheck();\n this.hide();\n }\n\n get matches(): TypeaheadMatch[] {\n return this._matches;\n }\n\n show(): void {\n this._typeahead\n .attach(TypeaheadContainerComponent)\n .to(this.container)\n .position({attachment: `${this.dropup ? 'top' : 'bottom'} left`})\n .show({\n typeaheadRef: this,\n placement: this.placement,\n animation: false,\n dropup: this.dropup\n });\n\n this._outsideClickListener = this.renderer.listen('document', 'click', (e: MouseEvent) => {\n if (this.typeaheadMinLength === 0 && this.element.nativeElement.contains(e.target)) {\n return undefined;\n }\n if (!this.typeaheadHideResultsOnBlur || this.element.nativeElement.contains(e.target)) {\n return undefined;\n }\n this.onOutsideClick();\n });\n\n this._container = this._typeahead.instance;\n this._container.parent = this;\n // This improves the speed as it won't have to be done for each list item\n\n const normalizedQuery = (this.typeaheadLatinize\n ? latinize(this.ngControl.control.value)\n : this.ngControl.control.value)\n .toString()\n .toLowerCase();\n\n this._container.query = this.typeaheadSingleWords\n ? tokenize(\n normalizedQuery,\n this.typeaheadWordDelimiters,\n this.typeaheadPhraseDelimiters\n )\n : normalizedQuery;\n\n this._container.matches = this._matches;\n this.element.nativeElement.focus();\n\n this._container.activeChangeEvent.subscribe((activeId: string) => {\n this.activeDescendant = activeId;\n this.changeDetection.markForCheck();\n });\n this.isOpen = true;\n }\n\n hide(): void {\n if (this._typeahead.isShown) {\n this._typeahead.hide();\n this._outsideClickListener();\n this._container = null;\n this.isOpen = false;\n this.changeDetection.markForCheck();\n }\n }\n\n onOutsideClick(): void {\n if (this._container && !this._container.isFocused) {\n this.hide();\n }\n }\n\n ngOnDestroy() {\n // clean up subscriptions\n for (const sub of this._subscriptions) {\n sub.unsubscribe();\n }\n this._typeahead.dispose();\n }\n\n protected asyncActions(): void {\n this._subscriptions.push(\n this.keyUpEventEmitter\n .pipe(\n debounceTime<string>(this.typeaheadWaitMs),\n switchMap(() => this.typeahead)\n )\n .subscribe((matches: TypeaheadOption[]) => {\n this.finalizeAsyncCall(matches);\n })\n );\n }\n\n protected syncActions(): void {\n this._subscriptions.push(\n this.keyUpEventEmitter\n .pipe(\n debounceTime<string>(this.typeaheadWaitMs),\n mergeMap((value: string) => {\n const normalizedQuery = this.normalizeQuery(value);\n\n return from(this.typeahead)\n .pipe(\n filter((option: TypeaheadOption) => {\n return option && this.testMatch(this.normalizeOption(option), normalizedQuery);\n }),\n toArray()\n );\n })\n )\n .subscribe((matches: TypeaheadOption[]) => {\n this.finalizeAsyncCall(matches);\n })\n );\n }\n\n protected normalizeOption(option: TypeaheadOption): string {\n const optionValue: string = getValueFromObject(\n option,\n this.typeaheadOptionField\n );\n const normalizedOption = this.typeaheadLatinize\n ? latinize(optionValue)\n : optionValue;\n\n return normalizedOption.toLowerCase();\n }\n\n protected normalizeQuery(value: string): string | string[] {\n // If singleWords, break model here to not be doing extra work on each iteration\n let normalizedQuery: string | string[] = (this.typeaheadLatinize\n ? latinize(value)\n : value)\n .toString()\n .toLowerCase();\n normalizedQuery = this.typeaheadSingleWords\n ? tokenize(\n normalizedQuery,\n this.typeaheadWordDelimiters,\n this.typeaheadPhraseDelimiters\n )\n : normalizedQuery;\n\n return normalizedQuery;\n }\n\n protected testMatch(match: string, test: string[] | string): boolean {\n let spaceLength: number;\n\n if (typeof test === 'object') {\n spaceLength = test.length;\n for (let i = 0; i < spaceLength; i += 1) {\n if (test[i].length > 0 && match.indexOf(test[i]) < 0) {\n return false;\n }\n }\n\n return true;\n }\n\n return match.indexOf(test) >= 0;\n }\n\n protected finalizeAsyncCall(matches: TypeaheadOption[]): void {\n this.prepareMatches(matches || []);\n\n this.typeaheadLoading.emit(false);\n this.typeaheadNoResults.emit(!this.hasMatches());\n\n if (!this.hasMatches()) {\n this.hide();\n\n return;\n }\n\n if (!this.isFocused && this.cancelRequestOnFocusLost) {\n return;\n }\n\n if (this._container) {\n // fix: remove usage of ngControl internals\n const _controlValue = (this.typeaheadLatinize\n ? latinize(this.ngControl.control.value)\n : this.ngControl.control.value) || '';\n\n // This improves the speed as it won't have to be done for each list item\n const normalizedQuery = _controlValue.toString().toLowerCase();\n\n this._container.query = this.typeaheadSingleWords\n ? tokenize(\n normalizedQuery,\n this.typeaheadWordDelimiters,\n this.typeaheadPhraseDelimiters\n )\n : normalizedQuery;\n this._container.matches = this._matches;\n } else {\n this.show();\n }\n }\n\n protected prepareMatches(options: TypeaheadOption[]): void {\n const limited = options.slice(0, this.typeaheadOptionsLimit);\n const sorted = !this.typeaheadOrderBy ? limited : this.orderMatches(limited);\n\n if (this.typeaheadGroupField) {\n let matches: TypeaheadMatch[] = [];\n\n // extract all group names\n const groups = sorted\n .map((option: TypeaheadMatch) =>\n getValueFromObject(option, this.typeaheadGroupField)\n )\n .filter((v: string, i: number, a: string[]) => a.indexOf(v) === i);\n\n groups.forEach((group: string) => {\n // add group header to array of matches\n matches.push(new TypeaheadMatch(group, group, true));\n\n // add each item of group to array of matches\n matches = matches.concat(\n sorted\n .filter((option: TypeaheadOption) =>\n getValueFromObject(option, this.typeaheadGroupField) === group\n )\n .map((option: TypeaheadOption) =>\n new TypeaheadMatch(\n option,\n getValueFromObject(option, this.typeaheadOptionField)\n )\n )\n );\n });\n\n this._matches = matches;\n } else {\n this._matches = sorted.map(\n // tslint:disable-next-line:no-any\n (option: any) =>\n new TypeaheadMatch(\n option,\n getValueFromObject(option, this.typeaheadOptionField)\n )\n );\n }\n }\n\n protected orderMatches(options: TypeaheadOption[]): TypeaheadOption[] {\n if (!options.length) {\n return options;\n }\n\n if (this.typeaheadOrderBy !== null\n && this.typeaheadOrderBy !== undefined\n && typeof this.typeaheadOrderBy === 'object'\n && Object.keys(this.typeaheadOrderBy).length === 0) {\n // tslint:disable-next-line:no-console\n console.error('Field and direction properties for typeaheadOrderBy have to be set according to documentation!');\n\n return options;\n }\n\n const { field, direction } = this.typeaheadOrderBy;\n\n if (!direction || !(direction === 'asc' || direction === 'desc')) {\n // tslint:disable-next-line:no-console\n console.error('typeaheadOrderBy direction has to equal \"asc\" or \"desc\". Please follow the documentation.');\n\n return options;\n }\n\n if (typeof options[0] === 'string') {\n return direction === 'asc' ? options.sort() : options.sort().reverse();\n }\n\n if (!field || typeof field !== 'string') {\n // tslint:disable-next-line:no-console\n console.error('typeaheadOrderBy field has to set according to the documentation.');\n\n return options;\n }\n\n return options.sort((a: TypeaheadOption, b: TypeaheadOption) => {\n const stringA = getValueFromObject(a, field);\n const stringB = getValueFromObject(b, field);\n\n if (stringA < stringB) {\n return direction === 'asc' ? -1 : 1;\n }\n\n if (stringA > stringB) {\n return direction === 'asc' ? 1 : -1;\n }\n\n return 0;\n });\n }\n\n protected hasMatches(): boolean {\n return this._matches.length > 0;\n }\n}\n","import { CommonModule } from '@angular/common';\nimport { NgModule, ModuleWithProviders } from '@angular/core';\n\nimport { TypeaheadContainerComponent } from './typeahead-container.component';\nimport { TypeaheadDirective } from './typeahead.directive';\nimport { ComponentLoaderFactory } from 'ngx-bootstrap/component-loader';\nimport { PositioningService } from 'ngx-bootstrap/positioning';\nimport { TypeaheadConfig } from './typeahead.config';\n\n@NgModule({\n imports: [CommonModule],\n declarations: [TypeaheadContainerComponent, TypeaheadDirective],\n exports: [TypeaheadContainerComponent, TypeaheadDirective],\n entryComponents: [TypeaheadContainerComponent]\n})\nexport class TypeaheadModule {\n static forRoot(): ModuleWithProviders {\n return {\n ngModule: TypeaheadModule,\n providers: [ComponentLoaderFactory, PositioningService, TypeaheadConfig]\n };\n }\n}\n"]}
|