ngx-bootstrap 18.1.3 → 19.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/accordion/fesm2022/ngx-bootstrap-accordion.mjs +13 -14
- package/accordion/fesm2022/ngx-bootstrap-accordion.mjs.map +1 -1
- package/alert/fesm2022/ngx-bootstrap-alert.mjs +10 -10
- package/alert/fesm2022/ngx-bootstrap-alert.mjs.map +1 -1
- package/buttons/fesm2022/ngx-bootstrap-buttons.mjs +13 -13
- package/buttons/fesm2022/ngx-bootstrap-buttons.mjs.map +1 -1
- package/carousel/fesm2022/ngx-bootstrap-carousel.mjs +13 -13
- package/carousel/fesm2022/ngx-bootstrap-carousel.mjs.map +1 -1
- package/chronos/fesm2022/ngx-bootstrap-chronos.mjs.map +1 -1
- package/collapse/fesm2022/ngx-bootstrap-collapse.mjs +7 -8
- package/collapse/fesm2022/ngx-bootstrap-collapse.mjs.map +1 -1
- package/component-loader/fesm2022/ngx-bootstrap-component-loader.mjs +3 -3
- package/component-loader/fesm2022/ngx-bootstrap-component-loader.mjs.map +1 -1
- package/datepicker/fesm2022/ngx-bootstrap-datepicker.mjs +85 -86
- package/datepicker/fesm2022/ngx-bootstrap-datepicker.mjs.map +1 -1
- package/dropdown/fesm2022/ngx-bootstrap-dropdown.mjs +22 -25
- package/dropdown/fesm2022/ngx-bootstrap-dropdown.mjs.map +1 -1
- package/focus-trap/fesm2022/ngx-bootstrap-focus-trap.mjs +19 -19
- package/focus-trap/fesm2022/ngx-bootstrap-focus-trap.mjs.map +1 -1
- package/mini-ngrx/fesm2022/ngx-bootstrap-mini-ngrx.mjs.map +1 -1
- package/modal/fesm2022/ngx-bootstrap-modal.mjs +22 -24
- package/modal/fesm2022/ngx-bootstrap-modal.mjs.map +1 -1
- package/package.json +1 -3
- package/pagination/fesm2022/ngx-bootstrap-pagination.mjs +13 -13
- package/pagination/fesm2022/ngx-bootstrap-pagination.mjs.map +1 -1
- package/popover/fesm2022/ngx-bootstrap-popover.mjs +13 -13
- package/popover/fesm2022/ngx-bootstrap-popover.mjs.map +1 -1
- package/positioning/fesm2022/ngx-bootstrap-positioning.mjs +3 -3
- package/positioning/fesm2022/ngx-bootstrap-positioning.mjs.map +1 -1
- package/progressbar/fesm2022/ngx-bootstrap-progressbar.mjs +13 -13
- package/progressbar/fesm2022/ngx-bootstrap-progressbar.mjs.map +1 -1
- package/rating/fesm2022/ngx-bootstrap-rating.mjs +10 -10
- package/rating/fesm2022/ngx-bootstrap-rating.mjs.map +1 -1
- package/schematics/ng-add/index.js +2 -3
- package/schematics/ng-add/index.js.map +1 -1
- package/schematics/utils/addStyles.js +1 -2
- package/schematics/utils/addStyles.js.map +1 -1
- package/schematics/utils/current_dependency_versions.json +1 -1
- package/schematics/utils/getVersions.js +2 -3
- package/schematics/utils/getVersions.js.map +1 -1
- package/schematics/utils/index.js +6 -7
- package/schematics/utils/index.js.map +1 -1
- package/schematics/utils/ng-module-imports.js +1 -2
- package/schematics/utils/ng-module-imports.js.map +1 -1
- package/schematics/utils/project-main-file.js +1 -2
- package/schematics/utils/project-main-file.js.map +1 -1
- package/schematics/utils/project-targets.js +1 -2
- package/schematics/utils/project-targets.js.map +1 -1
- package/sortable/fesm2022/ngx-bootstrap-sortable.mjs +12 -14
- package/sortable/fesm2022/ngx-bootstrap-sortable.mjs.map +1 -1
- package/tabs/fesm2022/ngx-bootstrap-tabs.mjs +19 -19
- package/tabs/fesm2022/ngx-bootstrap-tabs.mjs.map +1 -1
- package/timepicker/fesm2022/ngx-bootstrap-timepicker.mjs +16 -16
- package/timepicker/fesm2022/ngx-bootstrap-timepicker.mjs.map +1 -1
- package/tooltip/fesm2022/ngx-bootstrap-tooltip.mjs +13 -13
- package/tooltip/fesm2022/ngx-bootstrap-tooltip.mjs.map +1 -1
- package/typeahead/fesm2022/ngx-bootstrap-typeahead.mjs +13 -14
- package/typeahead/fesm2022/ngx-bootstrap-typeahead.mjs.map +1 -1
- package/utils/fesm2022/ngx-bootstrap-utils.mjs.map +1 -1
- package/accordion/esm2022/accordion-group.component.mjs +0 -85
- package/accordion/esm2022/accordion.component.mjs +0 -57
- package/accordion/esm2022/accordion.config.mjs +0 -22
- package/accordion/esm2022/accordion.module.mjs +0 -24
- package/accordion/esm2022/index.mjs +0 -2
- package/accordion/esm2022/ngx-bootstrap-accordion.mjs +0 -5
- package/accordion/esm2022/public_api.mjs +0 -5
- package/alert/esm2022/alert.component.mjs +0 -77
- package/alert/esm2022/alert.config.mjs +0 -21
- package/alert/esm2022/alert.module.mjs +0 -23
- package/alert/esm2022/index.mjs +0 -2
- package/alert/esm2022/ngx-bootstrap-alert.mjs +0 -5
- package/alert/esm2022/public_api.mjs +0 -4
- package/buttons/esm2022/button-checkbox.directive.mjs +0 -88
- package/buttons/esm2022/button-radio-group.directive.mjs +0 -158
- package/buttons/esm2022/button-radio.directive.mjs +0 -189
- package/buttons/esm2022/buttons.module.mjs +0 -25
- package/buttons/esm2022/index.mjs +0 -2
- package/buttons/esm2022/ngx-bootstrap-buttons.mjs +0 -5
- package/buttons/esm2022/public_api.mjs +0 -5
- package/carousel/esm2022/carousel.component.mjs +0 -712
- package/carousel/esm2022/carousel.config.mjs +0 -32
- package/carousel/esm2022/carousel.module.mjs +0 -24
- package/carousel/esm2022/index.mjs +0 -2
- package/carousel/esm2022/models/index.mjs +0 -2
- package/carousel/esm2022/ngx-bootstrap-carousel.mjs +0 -5
- package/carousel/esm2022/public_api.mjs +0 -5
- package/carousel/esm2022/slide.component.mjs +0 -65
- package/carousel/esm2022/utils.mjs +0 -32
- package/chronos/esm2022/create/check-overflow.mjs +0 -30
- package/chronos/esm2022/create/clone.mjs +0 -6
- package/chronos/esm2022/create/date-from-array.mjs +0 -19
- package/chronos/esm2022/create/from-anything.mjs +0 -106
- package/chronos/esm2022/create/from-array.mjs +0 -135
- package/chronos/esm2022/create/from-object.mjs +0 -17
- package/chronos/esm2022/create/from-string-and-array.mjs +0 -38
- package/chronos/esm2022/create/from-string-and-format.mjs +0 -106
- package/chronos/esm2022/create/from-string.mjs +0 -222
- package/chronos/esm2022/create/local.mjs +0 -16
- package/chronos/esm2022/create/parsing-flags.mjs +0 -26
- package/chronos/esm2022/create/parsing.types.mjs +0 -2
- package/chronos/esm2022/create/valid.mjs +0 -42
- package/chronos/esm2022/duration/bubble.mjs +0 -47
- package/chronos/esm2022/duration/constructor.mjs +0 -130
- package/chronos/esm2022/duration/create.mjs +0 -112
- package/chronos/esm2022/duration/humanize.mjs +0 -79
- package/chronos/esm2022/duration/valid.mjs +0 -43
- package/chronos/esm2022/format/format.mjs +0 -50
- package/chronos/esm2022/format.mjs +0 -46
- package/chronos/esm2022/i18n/ar.mjs +0 -132
- package/chronos/esm2022/i18n/bg.mjs +0 -90
- package/chronos/esm2022/i18n/ca.mjs +0 -87
- package/chronos/esm2022/i18n/cs.mjs +0 -175
- package/chronos/esm2022/i18n/da.mjs +0 -49
- package/chronos/esm2022/i18n/de.mjs +0 -67
- package/chronos/esm2022/i18n/en-gb.mjs +0 -57
- package/chronos/esm2022/i18n/es-do.mjs +0 -81
- package/chronos/esm2022/i18n/es-pr.mjs +0 -74
- package/chronos/esm2022/i18n/es-us.mjs +0 -75
- package/chronos/esm2022/i18n/es.mjs +0 -80
- package/chronos/esm2022/i18n/et.mjs +0 -69
- package/chronos/esm2022/i18n/fa.mjs +0 -130
- package/chronos/esm2022/i18n/fi.mjs +0 -96
- package/chronos/esm2022/i18n/fr-ca.mjs +0 -69
- package/chronos/esm2022/i18n/fr.mjs +0 -72
- package/chronos/esm2022/i18n/gl.mjs +0 -80
- package/chronos/esm2022/i18n/he.mjs +0 -94
- package/chronos/esm2022/i18n/hi.mjs +0 -119
- package/chronos/esm2022/i18n/hr.mjs +0 -58
- package/chronos/esm2022/i18n/hu.mjs +0 -100
- package/chronos/esm2022/i18n/id.mjs +0 -78
- package/chronos/esm2022/i18n/it.mjs +0 -61
- package/chronos/esm2022/i18n/ja.mjs +0 -71
- package/chronos/esm2022/i18n/ka.mjs +0 -83
- package/chronos/esm2022/i18n/kk.mjs +0 -76
- package/chronos/esm2022/i18n/ko.mjs +0 -72
- package/chronos/esm2022/i18n/lt.mjs +0 -112
- package/chronos/esm2022/i18n/lv.mjs +0 -52
- package/chronos/esm2022/i18n/mn.mjs +0 -94
- package/chronos/esm2022/i18n/nb.mjs +0 -53
- package/chronos/esm2022/i18n/nl-be.mjs +0 -77
- package/chronos/esm2022/i18n/nl.mjs +0 -76
- package/chronos/esm2022/i18n/pl.mjs +0 -122
- package/chronos/esm2022/i18n/pt-br.mjs +0 -52
- package/chronos/esm2022/i18n/ro.mjs +0 -66
- package/chronos/esm2022/i18n/ru.mjs +0 -177
- package/chronos/esm2022/i18n/sk.mjs +0 -153
- package/chronos/esm2022/i18n/sl.mjs +0 -179
- package/chronos/esm2022/i18n/sq.mjs +0 -50
- package/chronos/esm2022/i18n/sv.mjs +0 -59
- package/chronos/esm2022/i18n/th-be.mjs +0 -73
- package/chronos/esm2022/i18n/th.mjs +0 -58
- package/chronos/esm2022/i18n/tr.mjs +0 -78
- package/chronos/esm2022/i18n/uk.mjs +0 -143
- package/chronos/esm2022/i18n/vi.mjs +0 -70
- package/chronos/esm2022/i18n/zh-cn.mjs +0 -109
- package/chronos/esm2022/index.mjs +0 -2
- package/chronos/esm2022/locale/calendar.mjs +0 -9
- package/chronos/esm2022/locale/locale.class.mjs +0 -532
- package/chronos/esm2022/locale/locale.defaults.mjs +0 -40
- package/chronos/esm2022/locale/locales.mjs +0 -228
- package/chronos/esm2022/moment/add-subtract.mjs +0 -35
- package/chronos/esm2022/moment/calendar.mjs +0 -41
- package/chronos/esm2022/moment/diff.mjs +0 -70
- package/chronos/esm2022/moment/min-max.mjs +0 -38
- package/chronos/esm2022/ngx-bootstrap-chronos.mjs +0 -5
- package/chronos/esm2022/parse/regex.mjs +0 -47
- package/chronos/esm2022/parse/token.mjs +0 -31
- package/chronos/esm2022/public_api.mjs +0 -59
- package/chronos/esm2022/testing/chain.mjs +0 -708
- package/chronos/esm2022/types.mjs +0 -2
- package/chronos/esm2022/units/aliases.mjs +0 -35
- package/chronos/esm2022/units/constants.mjs +0 -11
- package/chronos/esm2022/units/day-of-month.mjs +0 -31
- package/chronos/esm2022/units/day-of-week.mjs +0 -129
- package/chronos/esm2022/units/day-of-year.mjs +0 -37
- package/chronos/esm2022/units/hour.mjs +0 -127
- package/chronos/esm2022/units/index.mjs +0 -19
- package/chronos/esm2022/units/millisecond.mjs +0 -59
- package/chronos/esm2022/units/minute.mjs +0 -23
- package/chronos/esm2022/units/month.mjs +0 -63
- package/chronos/esm2022/units/offset.mjs +0 -209
- package/chronos/esm2022/units/priorities.mjs +0 -21
- package/chronos/esm2022/units/quarter.mjs +0 -39
- package/chronos/esm2022/units/second.mjs +0 -23
- package/chronos/esm2022/units/timestamp.mjs +0 -28
- package/chronos/esm2022/units/timezone.mjs +0 -19
- package/chronos/esm2022/units/week-calendar-utils.mjs +0 -70
- package/chronos/esm2022/units/week-year.mjs +0 -101
- package/chronos/esm2022/units/week.mjs +0 -58
- package/chronos/esm2022/units/year.mjs +0 -60
- package/chronos/esm2022/utils/abs-ceil.mjs +0 -4
- package/chronos/esm2022/utils/abs-round.mjs +0 -4
- package/chronos/esm2022/utils/compare-arrays.mjs +0 -16
- package/chronos/esm2022/utils/date-compare.mjs +0 -55
- package/chronos/esm2022/utils/date-getters.mjs +0 -67
- package/chronos/esm2022/utils/date-setters.mjs +0 -75
- package/chronos/esm2022/utils/defaults.mjs +0 -11
- package/chronos/esm2022/utils/start-end-of.mjs +0 -57
- package/chronos/esm2022/utils/type-checks.mjs +0 -58
- package/chronos/esm2022/utils/zero-fill.mjs +0 -10
- package/chronos/esm2022/utils.mjs +0 -7
- package/collapse/esm2022/collapse-animations.mjs +0 -11
- package/collapse/esm2022/collapse.directive.mjs +0 -169
- package/collapse/esm2022/collapse.module.mjs +0 -23
- package/collapse/esm2022/index.mjs +0 -2
- package/collapse/esm2022/ngx-bootstrap-collapse.mjs +0 -5
- package/collapse/esm2022/public_api.mjs +0 -3
- package/component-loader/esm2022/bs-component-ref.class.mjs +0 -3
- package/component-loader/esm2022/component-loader.class.mjs +0 -292
- package/component-loader/esm2022/component-loader.factory.mjs +0 -35
- package/component-loader/esm2022/content-ref.class.mjs +0 -16
- package/component-loader/esm2022/index.mjs +0 -2
- package/component-loader/esm2022/listen-options.model.mjs +0 -2
- package/component-loader/esm2022/ngx-bootstrap-component-loader.mjs +0 -5
- package/component-loader/esm2022/public_api.mjs +0 -5
- package/datepicker/esm2022/base/bs-datepicker-container.mjs +0 -76
- package/datepicker/esm2022/bs-datepicker-inline.component.mjs +0 -163
- package/datepicker/esm2022/bs-datepicker-inline.config.mjs +0 -14
- package/datepicker/esm2022/bs-datepicker-input.directive.mjs +0 -172
- package/datepicker/esm2022/bs-datepicker.component.mjs +0 -307
- package/datepicker/esm2022/bs-datepicker.config.mjs +0 -101
- package/datepicker/esm2022/bs-datepicker.module.mjs +0 -105
- package/datepicker/esm2022/bs-daterangepicker-inline.component.mjs +0 -169
- package/datepicker/esm2022/bs-daterangepicker-inline.config.mjs +0 -21
- package/datepicker/esm2022/bs-daterangepicker-input.directive.mjs +0 -215
- package/datepicker/esm2022/bs-daterangepicker.component.mjs +0 -302
- package/datepicker/esm2022/bs-daterangepicker.config.mjs +0 -19
- package/datepicker/esm2022/bs-locale.service.mjs +0 -32
- package/datepicker/esm2022/datepicker-animations.mjs +0 -16
- package/datepicker/esm2022/engine/calc-days-calendar.mjs +0 -21
- package/datepicker/esm2022/engine/flag-days-calendar.mjs +0 -93
- package/datepicker/esm2022/engine/flag-months-calendar.mjs +0 -45
- package/datepicker/esm2022/engine/flag-years-calendar.mjs +0 -42
- package/datepicker/esm2022/engine/format-days-calendar.mjs +0 -33
- package/datepicker/esm2022/engine/format-months-calendar.mjs +0 -23
- package/datepicker/esm2022/engine/format-years-calendar.mjs +0 -39
- package/datepicker/esm2022/engine/view-mode.mjs +0 -4
- package/datepicker/esm2022/index.mjs +0 -2
- package/datepicker/esm2022/models/index.mjs +0 -9
- package/datepicker/esm2022/ngx-bootstrap-datepicker.mjs +0 -5
- package/datepicker/esm2022/public_api.mjs +0 -17
- package/datepicker/esm2022/reducer/_defaults.mjs +0 -6
- package/datepicker/esm2022/reducer/bs-datepicker.actions.mjs +0 -143
- package/datepicker/esm2022/reducer/bs-datepicker.effects.mjs +0 -182
- package/datepicker/esm2022/reducer/bs-datepicker.reducer.mjs +0 -378
- package/datepicker/esm2022/reducer/bs-datepicker.state.mjs +0 -18
- package/datepicker/esm2022/reducer/bs-datepicker.store.mjs +0 -22
- package/datepicker/esm2022/themes/bs/bs-calendar-layout.component.mjs +0 -49
- package/datepicker/esm2022/themes/bs/bs-current-date-view.component.mjs +0 -17
- package/datepicker/esm2022/themes/bs/bs-custom-dates-view.component.mjs +0 -55
- package/datepicker/esm2022/themes/bs/bs-datepicker-container.component.mjs +0 -199
- package/datepicker/esm2022/themes/bs/bs-datepicker-day-decorator.directive.mjs +0 -48
- package/datepicker/esm2022/themes/bs/bs-datepicker-inline-container.component.mjs +0 -49
- package/datepicker/esm2022/themes/bs/bs-datepicker-navigation-view.component.mjs +0 -125
- package/datepicker/esm2022/themes/bs/bs-daterangepicker-container.component.mjs +0 -275
- package/datepicker/esm2022/themes/bs/bs-daterangepicker-inline-container.component.mjs +0 -49
- package/datepicker/esm2022/themes/bs/bs-days-calendar-view.component.mjs +0 -233
- package/datepicker/esm2022/themes/bs/bs-months-calendar-view.component.mjs +0 -95
- package/datepicker/esm2022/themes/bs/bs-timepicker-view.component.mjs +0 -56
- package/datepicker/esm2022/themes/bs/bs-years-calendar-view.component.mjs +0 -96
- package/datepicker/esm2022/utils/bs-calendar-utils.mjs +0 -117
- package/datepicker/esm2022/utils/copy-time-utils.mjs +0 -10
- package/datepicker/esm2022/utils/matrix-utils.mjs +0 -14
- package/dropdown/esm2022/bs-dropdown-container.component.mjs +0 -81
- package/dropdown/esm2022/bs-dropdown-menu.directive.mjs +0 -23
- package/dropdown/esm2022/bs-dropdown-toggle.directive.mjs +0 -88
- package/dropdown/esm2022/bs-dropdown.config.mjs +0 -24
- package/dropdown/esm2022/bs-dropdown.directive.mjs +0 -343
- package/dropdown/esm2022/bs-dropdown.module.mjs +0 -40
- package/dropdown/esm2022/bs-dropdown.state.mjs +0 -25
- package/dropdown/esm2022/dropdown-animations.mjs +0 -7
- package/dropdown/esm2022/index.mjs +0 -2
- package/dropdown/esm2022/ngx-bootstrap-dropdown.mjs +0 -5
- package/dropdown/esm2022/public_api.mjs +0 -8
- package/esm2022/index.mjs +0 -2
- package/esm2022/ngx-bootstrap.mjs +0 -5
- package/focus-trap/esm2022/boolean-property.mjs +0 -12
- package/focus-trap/esm2022/focus-trap-manager.mjs +0 -54
- package/focus-trap/esm2022/focus-trap.mjs +0 -411
- package/focus-trap/esm2022/focus-trap.module.mjs +0 -24
- package/focus-trap/esm2022/index.mjs +0 -2
- package/focus-trap/esm2022/interactivity-checker.mjs +0 -241
- package/focus-trap/esm2022/ngx-bootstrap-focus-trap.mjs +0 -5
- package/focus-trap/esm2022/platform.mjs +0 -80
- package/focus-trap/esm2022/public_api.mjs +0 -4
- package/locale/esm2022/index.mjs +0 -2
- package/locale/esm2022/ngx-bootstrap-locale.mjs +0 -5
- package/locale/esm2022/public_api.mjs +0 -47
- package/mini-ngrx/esm2022/index.mjs +0 -2
- package/mini-ngrx/esm2022/ngx-bootstrap-mini-ngrx.mjs +0 -5
- package/mini-ngrx/esm2022/public_api.mjs +0 -3
- package/mini-ngrx/esm2022/state.class.mjs +0 -16
- package/mini-ngrx/esm2022/store.class.mjs +0 -42
- package/modal/esm2022/bs-modal-ref.service.mjs +0 -22
- package/modal/esm2022/bs-modal.service.mjs +0 -231
- package/modal/esm2022/index.mjs +0 -2
- package/modal/esm2022/modal-backdrop.component.mjs +0 -51
- package/modal/esm2022/modal-backdrop.options.mjs +0 -7
- package/modal/esm2022/modal-container.component.mjs +0 -156
- package/modal/esm2022/modal-options.class.mjs +0 -46
- package/modal/esm2022/modal.directive.mjs +0 -365
- package/modal/esm2022/modal.module.mjs +0 -44
- package/modal/esm2022/models/index.mjs +0 -2
- package/modal/esm2022/ngx-bootstrap-modal.mjs +0 -5
- package/modal/esm2022/public_api.mjs +0 -9
- package/pagination/esm2022/index.mjs +0 -2
- package/pagination/esm2022/models/index.mjs +0 -2
- package/pagination/esm2022/ngx-bootstrap-pagination.mjs +0 -5
- package/pagination/esm2022/pager.component.mjs +0 -256
- package/pagination/esm2022/pagination.component.mjs +0 -257
- package/pagination/esm2022/pagination.config.mjs +0 -35
- package/pagination/esm2022/pagination.module.mjs +0 -25
- package/pagination/esm2022/public_api.mjs +0 -5
- package/popover/esm2022/index.mjs +0 -2
- package/popover/esm2022/ngx-bootstrap-popover.mjs +0 -5
- package/popover/esm2022/popover-container.component.mjs +0 -45
- package/popover/esm2022/popover.config.mjs +0 -35
- package/popover/esm2022/popover.directive.mjs +0 -241
- package/popover/esm2022/popover.module.mjs +0 -25
- package/popover/esm2022/public_api.mjs +0 -5
- package/positioning/esm2022/index.mjs +0 -2
- package/positioning/esm2022/models/index.mjs +0 -53
- package/positioning/esm2022/modifiers/arrow.mjs +0 -56
- package/positioning/esm2022/modifiers/flip.mjs +0 -65
- package/positioning/esm2022/modifiers/index.mjs +0 -6
- package/positioning/esm2022/modifiers/initData.mjs +0 -44
- package/positioning/esm2022/modifiers/preventOverflow.mjs +0 -54
- package/positioning/esm2022/modifiers/shift.mjs +0 -24
- package/positioning/esm2022/ng-positioning.mjs +0 -39
- package/positioning/esm2022/ngx-bootstrap-positioning.mjs +0 -5
- package/positioning/esm2022/positioning.service.mjs +0 -71
- package/positioning/esm2022/public_api.mjs +0 -5
- package/positioning/esm2022/utils/checkMargin.mjs +0 -32
- package/positioning/esm2022/utils/computeAutoPlacement.mjs +0 -55
- package/positioning/esm2022/utils/findCommonOffsetParent.mjs +0 -40
- package/positioning/esm2022/utils/getBordersSize.mjs +0 -10
- package/positioning/esm2022/utils/getBoundaries.mjs +0 -70
- package/positioning/esm2022/utils/getBoundingClientRect.mjs +0 -56
- package/positioning/esm2022/utils/getClientRect.mjs +0 -8
- package/positioning/esm2022/utils/getFixedPositionOffsetParent.mjs +0 -16
- package/positioning/esm2022/utils/getOffsetParent.mjs +0 -33
- package/positioning/esm2022/utils/getOffsetRectRelativeToArbitraryNode.mjs +0 -50
- package/positioning/esm2022/utils/getOffsets.mjs +0 -11
- package/positioning/esm2022/utils/getOppositePlacement.mjs +0 -8
- package/positioning/esm2022/utils/getOppositeVariation.mjs +0 -13
- package/positioning/esm2022/utils/getOuterSizes.mjs +0 -12
- package/positioning/esm2022/utils/getParentNode.mjs +0 -12
- package/positioning/esm2022/utils/getReferenceOffsets.mjs +0 -13
- package/positioning/esm2022/utils/getRoot.mjs +0 -10
- package/positioning/esm2022/utils/getScroll.mjs +0 -14
- package/positioning/esm2022/utils/getScrollParent.mjs +0 -28
- package/positioning/esm2022/utils/getStyleComputedProperty.mjs +0 -12
- package/positioning/esm2022/utils/getTargetOffsets.mjs +0 -30
- package/positioning/esm2022/utils/getViewportOffsetRectRelativeToArtbitraryNode.mjs +0 -19
- package/positioning/esm2022/utils/getWindowSizes.mjs +0 -14
- package/positioning/esm2022/utils/index.mjs +0 -24
- package/positioning/esm2022/utils/isFixed.mjs +0 -16
- package/positioning/esm2022/utils/isModifierEnabled.mjs +0 -4
- package/positioning/esm2022/utils/isNumeric.mjs +0 -10
- package/positioning/esm2022/utils/isOffsetContainer.mjs +0 -11
- package/positioning/esm2022/utils/setStyles.mjs +0 -21
- package/positioning/esm2022/utils/updateContainerClass.mjs +0 -32
- package/progressbar/esm2022/bar.component.mjs +0 -72
- package/progressbar/esm2022/index.mjs +0 -2
- package/progressbar/esm2022/ngx-bootstrap-progressbar.mjs +0 -5
- package/progressbar/esm2022/progressbar-type.interface.mjs +0 -2
- package/progressbar/esm2022/progressbar.component.mjs +0 -53
- package/progressbar/esm2022/progressbar.config.mjs +0 -19
- package/progressbar/esm2022/progressbar.module.mjs +0 -24
- package/progressbar/esm2022/public_api.mjs +0 -5
- package/rating/esm2022/index.mjs +0 -2
- package/rating/esm2022/models/index.mjs +0 -2
- package/rating/esm2022/ngx-bootstrap-rating.mjs +0 -5
- package/rating/esm2022/public_api.mjs +0 -4
- package/rating/esm2022/rating.component.mjs +0 -121
- package/rating/esm2022/rating.config.mjs +0 -18
- package/rating/esm2022/rating.module.mjs +0 -23
- package/sortable/esm2022/draggable-item.mjs +0 -2
- package/sortable/esm2022/draggable-item.service.mjs +0 -36
- package/sortable/esm2022/index.mjs +0 -2
- package/sortable/esm2022/ngx-bootstrap-sortable.mjs +0 -5
- package/sortable/esm2022/public_api.mjs +0 -4
- package/sortable/esm2022/sortable.component.mjs +0 -270
- package/sortable/esm2022/sortable.module.mjs +0 -23
- package/tabs/esm2022/index.mjs +0 -2
- package/tabs/esm2022/ng-transclude.directive.mjs +0 -29
- package/tabs/esm2022/ngx-bootstrap-tabs.mjs +0 -5
- package/tabs/esm2022/public_api.mjs +0 -7
- package/tabs/esm2022/tab-heading.directive.mjs +0 -21
- package/tabs/esm2022/tab.directive.mjs +0 -118
- package/tabs/esm2022/tabs.module.mjs +0 -41
- package/tabs/esm2022/tabset.component.mjs +0 -216
- package/tabs/esm2022/tabset.config.mjs +0 -21
- package/timepicker/esm2022/index.mjs +0 -2
- package/timepicker/esm2022/models/index.mjs +0 -2
- package/timepicker/esm2022/ngx-bootstrap-timepicker.mjs +0 -5
- package/timepicker/esm2022/public_api.mjs +0 -6
- package/timepicker/esm2022/reducer/timepicker.actions.mjs +0 -53
- package/timepicker/esm2022/reducer/timepicker.reducer.mjs +0 -83
- package/timepicker/esm2022/reducer/timepicker.store.mjs +0 -21
- package/timepicker/esm2022/timepicker-controls.util.mjs +0 -123
- package/timepicker/esm2022/timepicker.component.mjs +0 -334
- package/timepicker/esm2022/timepicker.config.mjs +0 -54
- package/timepicker/esm2022/timepicker.models.mjs +0 -2
- package/timepicker/esm2022/timepicker.module.mjs +0 -23
- package/timepicker/esm2022/timepicker.utils.mjs +0 -152
- package/tooltip/esm2022/index.mjs +0 -2
- package/tooltip/esm2022/ngx-bootstrap-tooltip.mjs +0 -5
- package/tooltip/esm2022/public_api.mjs +0 -5
- package/tooltip/esm2022/tooltip-container.component.mjs +0 -48
- package/tooltip/esm2022/tooltip.config.mjs +0 -22
- package/tooltip/esm2022/tooltip.directive.mjs +0 -344
- package/tooltip/esm2022/tooltip.module.mjs +0 -25
- package/typeahead/esm2022/index.mjs +0 -2
- package/typeahead/esm2022/latin-map.mjs +0 -827
- package/typeahead/esm2022/models/index.mjs +0 -2
- package/typeahead/esm2022/ngx-bootstrap-typeahead.mjs +0 -5
- package/typeahead/esm2022/public_api.mjs +0 -9
- package/typeahead/esm2022/typeahead-animations.mjs +0 -16
- package/typeahead/esm2022/typeahead-container.component.mjs +0 -310
- package/typeahead/esm2022/typeahead-match.class.mjs +0 -15
- package/typeahead/esm2022/typeahead-options.class.mjs +0 -8
- package/typeahead/esm2022/typeahead-order.class.mjs +0 -2
- package/typeahead/esm2022/typeahead-utils.mjs +0 -77
- package/typeahead/esm2022/typeahead.config.mjs +0 -34
- package/typeahead/esm2022/typeahead.directive.mjs +0 -573
- package/typeahead/esm2022/typeahead.module.mjs +0 -25
- package/utils/esm2022/decorators.mjs +0 -23
- package/utils/esm2022/facade/browser.mjs +0 -26
- package/utils/esm2022/index.mjs +0 -2
- package/utils/esm2022/linked-list.class.mjs +0 -247
- package/utils/esm2022/ngx-bootstrap-utils.mjs +0 -5
- package/utils/esm2022/public_api.mjs +0 -10
- package/utils/esm2022/theme-provider.mjs +0 -48
- package/utils/esm2022/trigger.class.mjs +0 -14
- package/utils/esm2022/triggers.mjs +0 -120
- package/utils/esm2022/utils.class.mjs +0 -30
- package/utils/esm2022/warn-once.mjs +0 -11
@@ -1,182 +0,0 @@
|
|
1
|
-
import { Injectable } from '@angular/core';
|
2
|
-
import { combineLatest } from 'rxjs';
|
3
|
-
import { filter, map } from 'rxjs/operators';
|
4
|
-
import { BsLocaleService } from '../bs-locale.service';
|
5
|
-
import { BsDatepickerActions } from './bs-datepicker.actions';
|
6
|
-
import * as i0 from "@angular/core";
|
7
|
-
import * as i1 from "./bs-datepicker.actions";
|
8
|
-
import * as i2 from "../bs-locale.service";
|
9
|
-
export class BsDatepickerEffects {
|
10
|
-
constructor(_actions, _localeService) {
|
11
|
-
this._actions = _actions;
|
12
|
-
this._localeService = _localeService;
|
13
|
-
this._subs = [];
|
14
|
-
}
|
15
|
-
init(_bsDatepickerStore) {
|
16
|
-
this._store = _bsDatepickerStore;
|
17
|
-
return this;
|
18
|
-
}
|
19
|
-
/** setters */
|
20
|
-
setValue(value) {
|
21
|
-
this._store?.dispatch(this._actions.select(value));
|
22
|
-
}
|
23
|
-
setRangeValue(value) {
|
24
|
-
this._store?.dispatch(this._actions.selectRange(value));
|
25
|
-
}
|
26
|
-
setMinDate(value) {
|
27
|
-
this._store?.dispatch(this._actions.minDate(value));
|
28
|
-
return this;
|
29
|
-
}
|
30
|
-
setMaxDate(value) {
|
31
|
-
this._store?.dispatch(this._actions.maxDate(value));
|
32
|
-
return this;
|
33
|
-
}
|
34
|
-
setDaysDisabled(value) {
|
35
|
-
this._store?.dispatch(this._actions.daysDisabled(value));
|
36
|
-
return this;
|
37
|
-
}
|
38
|
-
setDatesDisabled(value) {
|
39
|
-
this._store?.dispatch(this._actions.datesDisabled(value));
|
40
|
-
return this;
|
41
|
-
}
|
42
|
-
setDatesEnabled(value) {
|
43
|
-
this._store?.dispatch(this._actions.datesEnabled(value));
|
44
|
-
return this;
|
45
|
-
}
|
46
|
-
setDisabled(value) {
|
47
|
-
this._store?.dispatch(this._actions.isDisabled(value));
|
48
|
-
return this;
|
49
|
-
}
|
50
|
-
setDateCustomClasses(value) {
|
51
|
-
this._store?.dispatch(this._actions.setDateCustomClasses(value));
|
52
|
-
return this;
|
53
|
-
}
|
54
|
-
setDateTooltipTexts(value) {
|
55
|
-
this._store?.dispatch(this._actions.setDateTooltipTexts(value));
|
56
|
-
return this;
|
57
|
-
}
|
58
|
-
/* Set rendering options */
|
59
|
-
setOptions(_config) {
|
60
|
-
const _options = Object.assign({ locale: this._localeService.currentLocale }, _config);
|
61
|
-
this._store?.dispatch(this._actions.setOptions(_options));
|
62
|
-
return this;
|
63
|
-
}
|
64
|
-
/** view to mode bindings */
|
65
|
-
setBindings(container) {
|
66
|
-
if (!this._store) {
|
67
|
-
return this;
|
68
|
-
}
|
69
|
-
container.selectedTime = this._store.select(state => state.selectedTime)
|
70
|
-
.pipe(filter(times => !!times));
|
71
|
-
container.daysCalendar$ = this._store.select(state => state.flaggedMonths)
|
72
|
-
.pipe(filter(months => !!months));
|
73
|
-
// month calendar
|
74
|
-
container.monthsCalendar = this._store.select(state => state.flaggedMonthsCalendar)
|
75
|
-
.pipe(filter(months => !!months));
|
76
|
-
// year calendar
|
77
|
-
container.yearsCalendar = this._store.select(state => state.yearsCalendarFlagged)
|
78
|
-
.pipe(filter(years => !!years));
|
79
|
-
container.viewMode = this._store.select(state => state.view?.mode);
|
80
|
-
container.options$ = combineLatest([
|
81
|
-
this._store.select(state => state.showWeekNumbers),
|
82
|
-
this._store.select(state => state.displayMonths)
|
83
|
-
])
|
84
|
-
.pipe(map((latest) => ({
|
85
|
-
showWeekNumbers: latest[0],
|
86
|
-
displayMonths: latest[1]
|
87
|
-
})));
|
88
|
-
return this;
|
89
|
-
}
|
90
|
-
/** event handlers */
|
91
|
-
setEventHandlers(container) {
|
92
|
-
container.setViewMode = (event) => {
|
93
|
-
this._store?.dispatch(this._actions.changeViewMode(event));
|
94
|
-
};
|
95
|
-
container.navigateTo = (event) => {
|
96
|
-
this._store?.dispatch(this._actions.navigateStep(event.step));
|
97
|
-
};
|
98
|
-
container.dayHoverHandler = (event) => {
|
99
|
-
const _cell = event.cell;
|
100
|
-
if (_cell.isOtherMonth || _cell.isDisabled) {
|
101
|
-
return;
|
102
|
-
}
|
103
|
-
this._store?.dispatch(this._actions.hoverDay(event));
|
104
|
-
_cell.isHovered = event.isHovered;
|
105
|
-
};
|
106
|
-
container.monthHoverHandler = (event) => {
|
107
|
-
event.cell.isHovered = event.isHovered;
|
108
|
-
};
|
109
|
-
container.yearHoverHandler = (event) => {
|
110
|
-
event.cell.isHovered = event.isHovered;
|
111
|
-
};
|
112
|
-
return this;
|
113
|
-
}
|
114
|
-
registerDatepickerSideEffects() {
|
115
|
-
if (!this._store) {
|
116
|
-
return this;
|
117
|
-
}
|
118
|
-
this._subs.push(this._store.select(state => state.view).subscribe(() => {
|
119
|
-
this._store?.dispatch(this._actions.calculate());
|
120
|
-
}));
|
121
|
-
// format calendar values on month model change
|
122
|
-
this._subs.push(this._store
|
123
|
-
.select(state => state.monthsModel)
|
124
|
-
.pipe(filter(monthModel => !!monthModel))
|
125
|
-
.subscribe(() => this._store?.dispatch(this._actions.format())));
|
126
|
-
// flag day values
|
127
|
-
this._subs.push(this._store
|
128
|
-
.select(state => state.formattedMonths)
|
129
|
-
.pipe(filter(month => !!month))
|
130
|
-
.subscribe(() => this._store?.dispatch(this._actions.flag())));
|
131
|
-
// flag day values
|
132
|
-
this._subs.push(this._store
|
133
|
-
.select(state => state.selectedDate)
|
134
|
-
.pipe(filter(selectedDate => !!selectedDate))
|
135
|
-
.subscribe(() => this._store?.dispatch(this._actions.flag())));
|
136
|
-
// flag for date range picker
|
137
|
-
this._subs.push(this._store
|
138
|
-
.select(state => state.selectedRange)
|
139
|
-
.pipe(filter(selectedRange => !!selectedRange))
|
140
|
-
.subscribe(() => this._store?.dispatch(this._actions.flag())));
|
141
|
-
// monthsCalendar
|
142
|
-
this._subs.push(this._store
|
143
|
-
.select(state => state.monthsCalendar)
|
144
|
-
.subscribe(() => this._store?.dispatch(this._actions.flag())));
|
145
|
-
// years calendar
|
146
|
-
this._subs.push(this._store
|
147
|
-
.select(state => state.yearsCalendarModel)
|
148
|
-
.pipe(filter(state => !!state))
|
149
|
-
.subscribe(() => this._store?.dispatch(this._actions.flag())));
|
150
|
-
// on hover
|
151
|
-
this._subs.push(this._store
|
152
|
-
.select(state => state.hoveredDate)
|
153
|
-
.pipe(filter(hoveredDate => !!hoveredDate))
|
154
|
-
.subscribe(() => this._store?.dispatch(this._actions.flag())));
|
155
|
-
// date custom classes
|
156
|
-
this._subs.push(this._store
|
157
|
-
.select(state => state.dateCustomClasses)
|
158
|
-
.pipe(filter(dateCustomClasses => !!dateCustomClasses))
|
159
|
-
.subscribe(() => this._store?.dispatch(this._actions.flag())));
|
160
|
-
// date tooltip texts
|
161
|
-
this._subs.push(this._store
|
162
|
-
.select(state => state.dateTooltipTexts)
|
163
|
-
.pipe(filter(dateTooltipTexts => !!dateTooltipTexts))
|
164
|
-
.subscribe(() => this._store?.dispatch(this._actions.flag())));
|
165
|
-
// on locale change
|
166
|
-
this._subs.push(this._localeService.localeChange
|
167
|
-
.subscribe(locale => this._store?.dispatch(this._actions.setLocale(locale))));
|
168
|
-
return this;
|
169
|
-
}
|
170
|
-
destroy() {
|
171
|
-
for (const sub of this._subs) {
|
172
|
-
sub.unsubscribe();
|
173
|
-
}
|
174
|
-
}
|
175
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.1", ngImport: i0, type: BsDatepickerEffects, deps: [{ token: i1.BsDatepickerActions }, { token: i2.BsLocaleService }], target: i0.ɵɵFactoryTarget.Injectable }); }
|
176
|
-
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.0.1", ngImport: i0, type: BsDatepickerEffects, providedIn: 'platform' }); }
|
177
|
-
}
|
178
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.1", ngImport: i0, type: BsDatepickerEffects, decorators: [{
|
179
|
-
type: Injectable,
|
180
|
-
args: [{ providedIn: 'platform' }]
|
181
|
-
}], ctorParameters: () => [{ type: i1.BsDatepickerActions }, { type: i2.BsLocaleService }] });
|
182
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnMtZGF0ZXBpY2tlci5lZmZlY3RzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vc3JjL2RhdGVwaWNrZXIvcmVkdWNlci9icy1kYXRlcGlja2VyLmVmZmVjdHMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUUzQyxPQUFPLEVBQUUsYUFBYSxFQUE0QixNQUFNLE1BQU0sQ0FBQztBQUMvRCxPQUFPLEVBQUUsTUFBTSxFQUFFLEdBQUcsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBSTdDLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQWN2RCxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQzs7OztBQUs5RCxNQUFNLE9BQU8sbUJBQW1CO0lBVTlCLFlBQW9CLFFBQTZCLEVBQzdCLGNBQStCO1FBRC9CLGFBQVEsR0FBUixRQUFRLENBQXFCO1FBQzdCLG1CQUFjLEdBQWQsY0FBYyxDQUFpQjtRQUgzQyxVQUFLLEdBQW1CLEVBQUUsQ0FBQztJQUluQyxDQUFDO0lBRUQsSUFBSSxDQUFDLGtCQUFxQztRQUN4QyxJQUFJLENBQUMsTUFBTSxHQUFHLGtCQUFrQixDQUFDO1FBRWpDLE9BQU8sSUFBSSxDQUFDO0lBQ2QsQ0FBQztJQUVELGNBQWM7SUFFZCxRQUFRLENBQUMsS0FBWTtRQUNuQixJQUFJLENBQUMsTUFBTSxFQUFFLFFBQVEsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDO0lBQ3JELENBQUM7SUFFRCxhQUFhLENBQUMsS0FBc0M7UUFDbEQsSUFBSSxDQUFDLE1BQU0sRUFBRSxRQUFRLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxXQUFXLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQztJQUMxRCxDQUFDO0lBRUQsVUFBVSxDQUFDLEtBQVk7UUFDckIsSUFB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YUFDUixNQUFNLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxLQUFLLENBQUMsZ0JBQWdCLENBQUM7YUFDdkMsSUFBSSxDQUNILE1BQU0sQ0FBQyxnQkFBZ0IsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLGdCQUFnQixDQUFDLENBQy9DO2FBQ0EsU0FBUyxDQUFDLEdBQUcsRUFBRSxDQUFDLElBQUksQ0FBQyxNQUFNLEVBQUUsUUFBUSxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxFQUFFLENBQUMsQ0FBQyxDQUNoRSxDQUFDO1FBRUYsbUJBQW1CO1FBQ25CLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUNiLElBQUksQ0FBQyxjQUFjLENBQUMsWUFBWTthQUM3QixTQUFTLENBQUMsTUFBTSxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsTUFBTSxFQUFFLFFBQVEsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLFNBQVMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQy9FLENBQUM7UUFFRixPQUFPLElBQUksQ0FBQztJQUNkLENBQUM7SUFFRCxPQUFPO1FBQ0wsS0FBSyxNQUFNLEdBQUcsSUFBSSxJQUFJLENBQUMsS0FBSyxFQUFFLENBQUM7WUFDN0IsR0FBRyxDQUFDLFdBQVcsRUFBRSxDQUFDO1FBQ3BCLENBQUM7SUFDSCxDQUFDOzhHQXZRVSxtQkFBbUI7a0hBQW5CLG1CQUFtQixjQURQLFVBQVU7OzJGQUN0QixtQkFBbUI7a0JBRC9CLFVBQVU7bUJBQUMsRUFBQyxVQUFVLEVBQUUsVUFBVSxFQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5pbXBvcnQgeyBjb21iaW5lTGF0ZXN0LCBPYnNlcnZhYmxlLCBTdWJzY3JpcHRpb24gfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IGZpbHRlciwgbWFwIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuXG5pbXBvcnQgeyBCc0RhdGVwaWNrZXJBYnN0cmFjdENvbXBvbmVudCB9IGZyb20gJy4uL2Jhc2UvYnMtZGF0ZXBpY2tlci1jb250YWluZXInO1xuaW1wb3J0IHsgQnNEYXRlcGlja2VyQ29uZmlnIH0gZnJvbSAnLi4vYnMtZGF0ZXBpY2tlci5jb25maWcnO1xuaW1wb3J0IHsgQnNMb2NhbGVTZXJ2aWNlIH0gZnJvbSAnLi4vYnMtbG9jYWxlLnNlcnZpY2UnO1xuXG5pbXBvcnQge1xuICBCc0RhdGVwaWNrZXJWaWV3TW9kZSxcbiAgQnNOYXZpZ2F0aW9uRXZlbnQsXG4gIENlbGxIb3ZlckV2ZW50LFxuICBEYXRlcGlja2VyRGF0ZUN1c3RvbUNsYXNzZXMsXG4gIERhdGVwaWNrZXJEYXRlVG9vbHRpcFRleHQsXG4gIERhdGVwaWNrZXJSZW5kZXJPcHRpb25zLFxuICBEYXlzQ2FsZW5kYXJWaWV3TW9kZWwsXG4gIERheVZpZXdNb2RlbCxcbiAgTW9udGhzQ2FsZW5kYXJWaWV3TW9kZWwsXG4gIFllYXJzQ2FsZW5kYXJWaWV3TW9kZWxcbn0gZnJvbSAnLi4vbW9kZWxzJztcbmltcG9ydCB7IEJzRGF0ZXBpY2tlckFjdGlvbnMgfSBmcm9tICcuL2JzLWRhdGVwaWNrZXIuYWN0aW9ucyc7XG5pbXBvcnQgeyBCc0RhdGVwaWNrZXJTdG9yZSB9IGZyb20gJy4vYnMtZGF0ZXBpY2tlci5zdG9yZSc7XG5cblxuQEluamVjdGFibGUoe3Byb3ZpZGVkSW46ICdwbGF0Zm9ybSd9KVxuZXhwb3J0IGNsYXNzIEJzRGF0ZXBpY2tlckVmZmVjdHMge1xuICB2aWV3TW9kZT86IE9ic2VydmFibGU8QnNEYXRlcGlja2VyVmlld01vZGU+O1xuICBkYXlzQ2FsZW5kYXI/OiBPYnNlcnZhYmxlPERheXNDYWxlbmRhclZpZXdNb2RlbFtdPjtcbiAgbW9udGhzQ2FsZW5kYXI/OiBPYnNlcnZhYmxlPE1vbnRoc0NhbGVuZGFyVmlld01vZGVsW10+O1xuICB5ZWFyc0NhbGVuZGFyPzogT2JzZXJ2YWJsZTxZZWFyc0NhbGVuZGFyVmlld01vZGVsW10+O1xuICBvcHRpb25zPzogT2JzZXJ2YWJsZTxEYXRlcGlja2VyUmVuZGVyT3B0aW9ucz47XG5cbiAgcHJpdmF0ZSBfc3RvcmU/OiBCc0RhdGVwaWNrZXJTdG9yZTtcbiAgcHJpdmF0ZSBfc3ViczogU3Vic2NyaXB0aW9uW10gPSBbXTtcblxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIF9hY3Rpb25zOiBCc0RhdGVwaWNrZXJBY3Rpb25zLFxuICAgICAgICAgICAgICBwcml2YXRlIF9sb2NhbGVTZXJ2aWNlOiBCc0xvY2FsZVNlcnZpY2UpIHtcbiAgfVxuXG4gIGluaXQoX2JzRGF0ZXBpY2tlclN0b3JlOiBCc0RhdGVwaWNrZXJTdG9yZSk6IEJzRGF0ZXBpY2tlckVmZmVjdHMge1xuICAgIHRoaXMuX3N0b3JlID0gX2JzRGF0ZXBpY2tlclN0b3JlO1xuXG4gICAgcmV0dXJuIHRoaXM7XG4gIH1cblxuICAvKiogc2V0dGVycyAqL1xuXG4gIHNldFZhbHVlKHZhbHVlPzogRGF0ZSk6IHZvaWQge1xuICAgIHRoaXMuX3N0b3JlPy5kaXNwYXRjaCh0aGlzLl9hY3Rpb25zLnNlbGVjdCh2YWx1ZSkpO1xuICB9XG5cbiAgc2V0UmFuZ2VWYWx1ZSh2YWx1ZT86IChEYXRlfHVuZGVmaW5lZClbXSB8IHVuZGVmaW5lZCk6IHZvaWQge1xuICAgIHRoaXMuX3N0b3JlPy5kaXNwYXRjaCh0aGlzLl9hY3Rpb25zLnNlbGVjdFJhbmdlKHZhbHVlKSk7XG4gIH1cblxuICBzZXRNaW5EYXRlKHZhbHVlPzogRGF0ZSk6IEJzRGF0ZXBpY2tlckVmZmVjdHMge1xuICAgIHRoaXMuX3N0b3JlPy5kaXNwYXRjaCh0aGlzLl9hY3Rpb25zLm1pbkRhdGUodmFsdWUpKTtcblxuICAgIHJldHVybiB0aGlzO1xuICB9XG5cbiAgc2V0TWF4RGF0ZSh2YWx1ZT86IERhdGUpOiBCc0RhdGVwaWNrZXJFZmZlY3RzIHtcbiAgICB0aGlzLl9zdG9yZT8uZGlzcGF0Y2godGhpcy5fYWN0aW9ucy5tYXhEYXRlKHZhbHVlKSk7XG5cbiAgICByZXR1cm4gdGhpcztcbiAgfVxuXG4gIHNldERheXNEaXNhYmxlZCh2YWx1ZT86IG51bWJlcltdKTogQnNEYXRlcGlja2VyRWZmZWN0cyB7XG4gICAgdGhpcy5fc3RvcmU/LmRpc3BhdGNoKHRoaXMuX2FjdGlvbnMuZGF5c0Rpc2FibGVkKHZhbHVlKSk7XG5cbiAgICByZXR1cm4gdGhpcztcbiAgfVxuXG4gIHNldERhdGVzRGlzYWJsZWQodmFsdWU/OiBEYXRlW10pOiBCc0RhdGVwaWNrZXJFZmZlY3RzIHtcbiAgICB0aGlzLl9zdG9yZT8uZGlzcGF0Y2godGhpcy5fYWN0aW9ucy5kYXRlc0Rpc2FibGVkKHZhbHVlKSk7XG5cbiAgICByZXR1cm4gdGhpcztcbiAgfVxuXG4gIHNldERhdGVzRW5hYmxlZCh2YWx1ZT86IERhdGVbXSk6IEJzRGF0ZXBpY2tlckVmZmVjdHMge1xuICAgIHRoaXMuX3N0b3JlPy5kaXNwYXRjaCh0aGlzLl9hY3Rpb25zLmRhdGVzRW5hYmxlZCh2YWx1ZSkpO1xuXG4gICAgcmV0dXJuIHRoaXM7XG4gIH1cblxuICBzZXREaXNhYmxlZCh2YWx1ZT86IGJvb2xlYW4pOiBCc0RhdGVwaWNrZXJFZmZlY3RzIHtcbiAgICB0aGlzLl9zdG9yZT8uZGlzcGF0Y2godGhpcy5fYWN0aW9ucy5pc0Rpc2FibGVkKHZhbHVlKSk7XG5cbiAgICByZXR1cm4gdGhpcztcbiAgfVxuXG4gIHNldERhdGVDdXN0b21DbGFzc2VzKHZhbHVlPzogRGF0ZXBpY2tlckRhdGVDdXN0b21DbGFzc2VzW10pOiBCc0RhdGVwaWNrZXJFZmZlY3RzIHtcbiAgICB0aGlzLl9zdG9yZT8uZGlzcGF0Y2godGhpcy5fYWN0aW9ucy5zZXREYXRlQ3VzdG9tQ2xhc3Nlcyh2YWx1ZSkpO1xuXG4gICAgcmV0dXJuIHRoaXM7XG4gIH1cblxuICBzZXREYXRlVG9vbHRpcFRleHRzKHZhbHVlPzogRGF0ZXBpY2tlckRhdGVUb29sdGlwVGV4dFtdKTogQnNEYXRlcGlja2VyRWZmZWN0cyB7XG4gICAgdGhpcy5fc3RvcmU/LmRpc3BhdGNoKHRoaXMuX2FjdGlvbnMuc2V0RGF0ZVRvb2x0aXBUZXh0cyh2YWx1ZSkpO1xuXG4gICAgcmV0dXJuIHRoaXM7XG4gIH1cblxuICAvKiBTZXQgcmVuZGVyaW5nIG9wdGlvbnMgKi9cbiAgc2V0T3B0aW9ucyhfY29uZmlnOiBCc0RhdGVwaWNrZXJDb25maWcpOiBCc0RhdGVwaWNrZXJFZmZlY3RzIHtcbiAgICBjb25zdCBfb3B0aW9ucyA9IE9iamVjdC5hc3NpZ24oeyBsb2NhbGU6IHRoaXMuX2xvY2FsZVNlcnZpY2UuY3VycmVudExvY2FsZSB9LCBfY29uZmlnKTtcbiAgICB0aGlzLl9zdG9yZT8uZGlzcGF0Y2godGhpcy5fYWN0aW9ucy5zZXRPcHRpb25zKF9vcHRpb25zKSk7XG5cbiAgICByZXR1cm4gdGhpcztcbiAgfVxuXG4gIC8qKiB2aWV3IHRvIG1vZGUgYmluZGluZ3MgKi9cbiAgc2V0QmluZGluZ3MoY29udGFpbmVyOiBCc0RhdGVwaWNrZXJBYnN0cmFjdENvbXBvbmVudCk6IEJzRGF0ZXBpY2tlckVmZmVjdHMge1xuICAgIGlmICghdGhpcy5fc3RvcmUpIHtcbiAgICAgIHJldHVybiB0aGlzO1xuICAgIH1cblxuICAgIGNvbnRhaW5lci5zZWxlY3RlZFRpbWUgPSB0aGlzLl9zdG9yZS5zZWxlY3Qoc3RhdGUgPT4gc3RhdGUuc2VsZWN0ZWRUaW1lKVxuICAgICAgLnBpcGUoZmlsdGVyKHRpbWVzID0+ICEhdGltZXMpKTtcblxuICAgIGNvbnRhaW5lci5kYXlzQ2FsZW5kYXIkID0gdGhpcy5fc3RvcmUuc2VsZWN0KHN0YXRlID0+IHN0YXRlLmZsYWdnZWRNb250aHMpXG4gICAgICAucGlwZShmaWx0ZXIobW9udGhzID0+ICEhbW9udGhzKSk7XG5cbiAgICAvLyBtb250aCBjYWxlbmRhclxuICAgIGNvbnRhaW5lci5tb250aHNDYWxlbmRhciA9IHRoaXMuX3N0b3JlLnNlbGVjdChzdGF0ZSA9PiBzdGF0ZS5mbGFnZ2VkTW9udGhzQ2FsZW5kYXIpXG4gICAgICAucGlwZShmaWx0ZXIobW9udGhzID0+ICEhbW9udGhzKSk7XG5cbiAgICAvLyB5ZWFyIGNhbGVuZGFyXG4gICAgY29udGFpbmVyLnllYXJzQ2FsZW5kYXIgPSB0aGlzLl9zdG9yZS5zZWxlY3Qoc3RhdGUgPT4gc3RhdGUueWVhcnNDYWxlbmRhckZsYWdnZWQpXG4gICAgICAucGlwZShmaWx0ZXIoeWVhcnMgPT4gISF5ZWFycykpO1xuXG4gICAgY29udGFpbmVyLnZpZXdNb2RlID0gdGhpcy5fc3RvcmUuc2VsZWN0KHN0YXRlID0+IHN0YXRlLnZpZXc/Lm1vZGUpO1xuXG4gICAgY29udGFpbmVyLm9wdGlvbnMkID0gY29tYmluZUxhdGVzdChbXG4gICAgICB0aGlzLl9zdG9yZS5zZWxlY3Qoc3RhdGUgPT4gc3RhdGUuc2hvd1dlZWtOdW1iZXJzKSxcbiAgICAgIHRoaXMuX3N0b3JlLnNlbGVjdChzdGF0ZSA9PiBzdGF0ZS5kaXNwbGF5TW9udGhzKVxuICAgIF0pXG4gICAgICAucGlwZShtYXAoKGxhdGVzdCkgPT4gKHtcbiAgICAgICAgICBzaG93V2Vla051bWJlcnM6IGxhdGVzdFswXSxcbiAgICAgICAgICBkaXNwbGF5TW9udGhzOiBsYXRlc3RbMV1cbiAgICAgICAgfSlcbiAgICAgICkpO1xuXG4gICAgcmV0dXJuIHRoaXM7XG4gIH1cblxuICAvKiogZXZlbnQgaGFuZGxlcnMgKi9cbiAgc2V0RXZlbnRIYW5kbGVycyhjb250YWluZXI6IEJzRGF0ZXBpY2tlckFic3RyYWN0Q29tcG9uZW50KTogQnNEYXRlcGlja2VyRWZmZWN0cyB7XG4gICAgY29udGFpbmVyLnNldFZpZXdNb2RlID0gKGV2ZW50OiBCc0RhdGVwaWNrZXJWaWV3TW9kZSk6IHZvaWQgPT4ge1xuICAgICAgdGhpcy5fc3RvcmU/LmRpc3BhdGNoKHRoaXMuX2FjdGlvbnMuY2hhbmdlVmlld01vZGUoZXZlbnQpKTtcbiAgICB9O1xuXG4gICAgY29udGFpbmVyLm5hdmlnYXRlVG8gPSAoZXZlbnQ6IEJzTmF2aWdhdGlvbkV2ZW50KTogdm9pZCA9PiB7XG4gICAgICB0aGlzLl9zdG9yZT8uZGlzcGF0Y2godGhpcy5fYWN0aW9ucy5uYXZpZ2F0ZVN0ZXAoZXZlbnQuc3RlcCkpO1xuICAgIH07XG5cbiAgICBjb250YWluZXIuZGF5SG92ZXJIYW5kbGVyID0gKGV2ZW50OiBDZWxsSG92ZXJFdmVudCk6IHZvaWQgPT4ge1xuICAgICAgY29uc3QgX2NlbGwgPSBldmVudC5jZWxsIGFzIERheVZpZXdNb2RlbDtcbiAgICAgIGlmIChfY2VsbC5pc090aGVyTW9udGggfHwgX2NlbGwuaXNEaXNhYmxlZCkge1xuICAgICAgICByZXR1cm47XG4gICAgICB9XG5cbiAgICAgIHRoaXMuX3N0b3JlPy5kaXNwYXRjaCh0aGlzLl9hY3Rpb25zLmhvdmVyRGF5KGV2ZW50KSk7XG4gICAgICBfY2VsbC5pc0hvdmVyZWQgPSBldmVudC5pc0hvdmVyZWQ7XG4gICAgfTtcblxuICAgIGNvbnRhaW5lci5tb250aEhvdmVySGFuZGxlciA9IChldmVudDogQ2VsbEhvdmVyRXZlbnQpOiB2b2lkID0+IHtcbiAgICAgIGV2ZW50LmNlbGwuaXNIb3ZlcmVkID0gZXZlbnQuaXNIb3ZlcmVkO1xuICAgIH07XG5cbiAgICBjb250YWluZXIueWVhckhvdmVySGFuZGxlciA9IChldmVudDogQ2VsbEhvdmVyRXZlbnQpOiB2b2lkID0+IHtcbiAgICAgIGV2ZW50LmNlbGwuaXNIb3ZlcmVkID0gZXZlbnQuaXNIb3ZlcmVkO1xuICAgIH07XG5cbiAgICByZXR1cm4gdGhpcztcbiAgfVxuXG4gIHJlZ2lzdGVyRGF0ZXBpY2tlclNpZGVFZmZlY3RzKCk6IEJzRGF0ZXBpY2tlckVmZmVjdHMge1xuICAgIGlmICghdGhpcy5fc3RvcmUpIHtcbiAgICAgIHJldHVybiB0aGlzO1xuICAgIH1cblxuICAgIHRoaXMuX3N1YnMucHVzaChcbiAgICAgIHRoaXMuX3N0b3JlLnNlbGVjdChzdGF0ZSA9PiBzdGF0ZS52aWV3KS5zdWJzY3JpYmUoKCkgPT4ge1xuICAgICAgICB0aGlzLl9zdG9yZT8uZGlzcGF0Y2godGhpcy5fYWN0aW9ucy5jYWxjdWxhdGUoKSk7XG4gICAgICB9KVxuICAgICk7XG5cbiAgICAvLyBmb3JtYXQgY2FsZW5kYXIgdmFsdWVzIG9uIG1vbnRoIG1vZGVsIGNoYW5nZVxuICAgIHRoaXMuX3N1YnMucHVzaChcbiAgICAgIHRoaXMuX3N0b3JlXG4gICAgICAgIC5zZWxlY3Qoc3RhdGUgPT4gc3RhdGUubW9udGhzTW9kZWwpXG4gICAgICAgIC5waXBlKFxuICAgICAgICAgIGZpbHRlcihtb250aE1vZGVsID0+ICEhbW9udGhNb2RlbClcbiAgICAgICAgKVxuICAgICAgICAuc3Vic2NyaWJlKCgpID0+IHRoaXMuX3N0b3JlPy5kaXNwYXRjaCh0aGlzLl9hY3Rpb25zLmZvcm1hdCgpKSlcbiAgICApO1xuXG4gICAgLy8gZmxhZyBkYXkgdmFsdWVzXG4gICAgdGhpcy5fc3Vicy5wdXNoKFxuICAgICAgdGhpcy5fc3RvcmVcbiAgICAgICAgLnNlbGVjdChzdGF0ZSA9PiBzdGF0ZS5mb3JtYXR0ZWRNb250aHMpXG4gICAgICAgIC5waXBlKFxuICAgICAgICAgIGZpbHRlcihtb250aCA9PiAhIW1vbnRoKVxuICAgICAgICApXG4gICAgICAgIC5zdWJzY3JpYmUoKCkgPT4gdGhpcy5fc3RvcmU/LmRpc3BhdGNoKHRoaXMuX2FjdGlvbnMuZmxhZygpKSlcbiAgICApO1xuXG4gICAgLy8gZmxhZyBkYXkgdmFsdWVzXG4gICAgdGhpcy5fc3Vicy5wdXNoKFxuICAgICAgdGhpcy5fc3RvcmVcbiAgICAgICAgLnNlbGVjdChzdGF0ZSA9PiBzdGF0ZS5zZWxlY3RlZERhdGUpXG4gICAgICAgIC5waXBlKFxuICAgICAgICAgIGZpbHRlcihzZWxlY3RlZERhdGUgPT4gISFzZWxlY3RlZERhdGUpXG4gICAgICAgIClcbiAgICAgICAgLnN1YnNjcmliZSgoKSA9PiB0aGlzLl9zdG9yZT8uZGlzcGF0Y2godGhpcy5fYWN0aW9ucy5mbGFnKCkpKVxuICAgICk7XG5cbiAgICAvLyBmbGFnIGZvciBkYXRlIHJhbmdlIHBpY2tlclxuICAgIHRoaXMuX3N1YnMucHVzaChcbiAgICAgIHRoaXMuX3N0b3JlXG4gICAgICAgIC5zZWxlY3Qoc3RhdGUgPT4gc3RhdGUuc2VsZWN0ZWRSYW5nZSlcbiAgICAgICAgLnBpcGUoXG4gICAgICAgICAgZmlsdGVyKHNlbGVjdGVkUmFuZ2UgPT4gISFzZWxlY3RlZFJhbmdlKVxuICAgICAgICApXG4gICAgICAgIC5zdWJzY3JpYmUoKCkgPT4gdGhpcy5fc3RvcmU/LmRpc3BhdGNoKHRoaXMuX2FjdGlvbnMuZmxhZygpKSlcbiAgICApO1xuXG4gICAgLy8gbW9udGhzQ2FsZW5kYXJcbiAgICB0aGlzLl9zdWJzLnB1c2goXG4gICAgICB0aGlzLl9zdG9yZVxuICAgICAgICAuc2VsZWN0KHN0YXRlID0+IHN0YXRlLm1vbnRoc0NhbGVuZGFyKVxuICAgICAgICAuc3Vic2NyaWJlKCgpID0+IHRoaXMuX3N0b3JlPy5kaXNwYXRjaCh0aGlzLl9hY3Rpb25zLmZsYWcoKSkpXG4gICAgKTtcblxuICAgIC8vIHllYXJzIGNhbGVuZGFyXG4gICAgdGhpcy5fc3Vicy5wdXNoKFxuICAgICAgdGhpcy5fc3RvcmVcbiAgICAgICAgLnNlbGVjdChzdGF0ZSA9PiBzdGF0ZS55ZWFyc0NhbGVuZGFyTW9kZWwpXG4gICAgICAgIC5waXBlKFxuICAgICAgICAgIGZpbHRlcihzdGF0ZSA9PiAhIXN0YXRlKVxuICAgICAgICApXG4gICAgICAgIC5zdWJzY3JpYmUoKCkgPT4gdGhpcy5fc3RvcmU/LmRpc3BhdGNoKHRoaXMuX2FjdGlvbnMuZmxhZygpKSlcbiAgICApO1xuXG4gICAgLy8gb24gaG92ZXJcbiAgICB0aGlzLl9zdWJzLnB1c2goXG4gICAgICB0aGlzLl9zdG9yZVxuICAgICAgICAuc2VsZWN0KHN0YXRlID0+IHN0YXRlLmhvdmVyZWREYXRlKVxuICAgICAgICAucGlwZShcbiAgICAgICAgICBmaWx0ZXIoaG92ZXJlZERhdGUgPT4gISFob3ZlcmVkRGF0ZSlcbiAgICAgICAgKVxuICAgICAgICAuc3Vic2NyaWJlKCgpID0+IHRoaXMuX3N0b3JlPy5kaXNwYXRjaCh0aGlzLl9hY3Rpb25zLmZsYWcoKSkpXG4gICAgKTtcblxuICAgIC8vIGRhdGUgY3VzdG9tIGNsYXNzZXNcbiAgICB0aGlzLl9zdWJzLnB1c2goXG4gICAgICB0aGlzLl9zdG9yZVxuICAgICAgICAuc2VsZWN0KHN0YXRlID0+IHN0YXRlLmRhdGVDdXN0b21DbGFzc2VzKVxuICAgICAgICAucGlwZShcbiAgICAgICAgICBmaWx0ZXIoZGF0ZUN1c3RvbUNsYXNzZXMgPT4gISFkYXRlQ3VzdG9tQ2xhc3NlcylcbiAgICAgICAgKVxuICAgICAgICAuc3Vic2NyaWJlKCgpID0+IHRoaXMuX3N0b3JlPy5kaXNwYXRjaCh0aGlzLl9hY3Rpb25zLmZsYWcoKSkpXG4gICAgKTtcblxuICAgIC8vIGRhdGUgdG9vbHRpcCB0ZXh0c1xuICAgIHRoaXMuX3N1YnMucHVzaChcbiAgICAgIHRoaXMuX3N0b3JlXG4gICAgICAgIC5zZWxlY3Qoc3RhdGUgPT4gc3RhdGUuZGF0ZVRvb2x0aXBUZXh0cylcbiAgICAgICAgLnBpcGUoXG4gICAgICAgICAgZmlsdGVyKGRhdGVUb29sdGlwVGV4dHMgPT4gISFkYXRlVG9vbHRpcFRleHRzKVxuICAgICAgICApXG4gICAgICAgIC5zdWJzY3JpYmUoKCkgPT4gdGhpcy5fc3RvcmU/LmRpc3BhdGNoKHRoaXMuX2FjdGlvbnMuZmxhZygpKSlcbiAgICApO1xuXG4gICAgLy8gb24gbG9jYWxlIGNoYW5nZVxuICAgIHRoaXMuX3N1YnMucHVzaChcbiAgICAgIHRoaXMuX2xvY2FsZVNlcnZpY2UubG9jYWxlQ2hhbmdlXG4gICAgICAgIC5zdWJzY3JpYmUobG9jYWxlID0+IHRoaXMuX3N0b3JlPy5kaXNwYXRjaCh0aGlzLl9hY3Rpb25zLnNldExvY2FsZShsb2NhbGUpKSlcbiAgICApO1xuXG4gICAgcmV0dXJuIHRoaXM7XG4gIH1cblxuICBkZXN0cm95KCk6IHZvaWQge1xuICAgIGZvciAoY29uc3Qgc3ViIG9mIHRoaXMuX3N1YnMpIHtcbiAgICAgIHN1Yi51bnN1YnNjcmliZSgpO1xuICAgIH1cbiAgfVxufVxuIl19
|