ngx-bootstrap 18.1.3 → 19.0.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/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 +5 -7
- 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,25 +0,0 @@
|
|
1
|
-
import { CommonModule } from '@angular/common';
|
2
|
-
import { NgModule } from '@angular/core';
|
3
|
-
import { TypeaheadContainerComponent } from './typeahead-container.component';
|
4
|
-
import { TypeaheadDirective } from './typeahead.directive';
|
5
|
-
import * as i0 from "@angular/core";
|
6
|
-
export class TypeaheadModule {
|
7
|
-
// @deprecated method not required anymore, will be deleted in v19.0.0
|
8
|
-
static forRoot() {
|
9
|
-
return {
|
10
|
-
ngModule: TypeaheadModule,
|
11
|
-
providers: []
|
12
|
-
};
|
13
|
-
}
|
14
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.1", ngImport: i0, type: TypeaheadModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
|
15
|
-
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.0.1", ngImport: i0, type: TypeaheadModule, imports: [CommonModule, TypeaheadContainerComponent, TypeaheadDirective], exports: [TypeaheadContainerComponent, TypeaheadDirective] }); }
|
16
|
-
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.0.1", ngImport: i0, type: TypeaheadModule, imports: [CommonModule] }); }
|
17
|
-
}
|
18
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.1", ngImport: i0, type: TypeaheadModule, decorators: [{
|
19
|
-
type: NgModule,
|
20
|
-
args: [{
|
21
|
-
imports: [CommonModule, TypeaheadContainerComponent, TypeaheadDirective],
|
22
|
-
exports: [TypeaheadContainerComponent, TypeaheadDirective]
|
23
|
-
}]
|
24
|
-
}] });
|
25
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHlwZWFoZWFkLm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy90eXBlYWhlYWQvdHlwZWFoZWFkLm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUF1QixRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFOUQsT0FBTyxFQUFFLDJCQUEyQixFQUFFLE1BQU0saUNBQWlDLENBQUM7QUFDOUUsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sdUJBQXVCLENBQUM7O0FBTTNELE1BQU0sT0FBTyxlQUFlO0lBQzFCLHNFQUFzRTtJQUN0RSxNQUFNLENBQUMsT0FBTztRQUNaLE9BQU87WUFDTCxRQUFRLEVBQUUsZUFBZTtZQUN6QixTQUFTLEVBQUUsRUFBRTtTQUNkLENBQUM7SUFDSixDQUFDOzhHQVBVLGVBQWU7K0dBQWYsZUFBZSxZQUhkLFlBQVksRUFBRSwyQkFBMkIsRUFBRSxrQkFBa0IsYUFDN0QsMkJBQTJCLEVBQUUsa0JBQWtCOytHQUVoRCxlQUFlLFlBSGQsWUFBWTs7MkZBR2IsZUFBZTtrQkFKM0IsUUFBUTttQkFBQztvQkFDTixPQUFPLEVBQUUsQ0FBQyxZQUFZLEVBQUUsMkJBQTJCLEVBQUUsa0JBQWtCLENBQUM7b0JBQ3hFLE9BQU8sRUFBRSxDQUFDLDJCQUEyQixFQUFFLGtCQUFrQixDQUFDO2lCQUM3RCIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBNb2R1bGVXaXRoUHJvdmlkZXJzLCBOZ01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5pbXBvcnQgeyBUeXBlYWhlYWRDb250YWluZXJDb21wb25lbnQgfSBmcm9tICcuL3R5cGVhaGVhZC1jb250YWluZXIuY29tcG9uZW50JztcbmltcG9ydCB7IFR5cGVhaGVhZERpcmVjdGl2ZSB9IGZyb20gJy4vdHlwZWFoZWFkLmRpcmVjdGl2ZSc7XG5cbkBOZ01vZHVsZSh7XG4gICAgaW1wb3J0czogW0NvbW1vbk1vZHVsZSwgVHlwZWFoZWFkQ29udGFpbmVyQ29tcG9uZW50LCBUeXBlYWhlYWREaXJlY3RpdmVdLFxuICAgIGV4cG9ydHM6IFtUeXBlYWhlYWRDb250YWluZXJDb21wb25lbnQsIFR5cGVhaGVhZERpcmVjdGl2ZV1cbn0pXG5leHBvcnQgY2xhc3MgVHlwZWFoZWFkTW9kdWxlIHtcbiAgLy8gQGRlcHJlY2F0ZWQgbWV0aG9kIG5vdCByZXF1aXJlZCBhbnltb3JlLCB3aWxsIGJlIGRlbGV0ZWQgaW4gdjE5LjAuMFxuICBzdGF0aWMgZm9yUm9vdCgpOiBNb2R1bGVXaXRoUHJvdmlkZXJzPFR5cGVhaGVhZE1vZHVsZT4ge1xuICAgIHJldHVybiB7XG4gICAgICBuZ01vZHVsZTogVHlwZWFoZWFkTW9kdWxlLFxuICAgICAgcHJvdmlkZXJzOiBbXVxuICAgIH07XG4gIH1cbn1cbiJdfQ==
|
@@ -1,23 +0,0 @@
|
|
1
|
-
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
2
|
-
export function OnChange() {
|
3
|
-
const sufix = 'Change';
|
4
|
-
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
5
|
-
return function OnChangeHandler(target, propertyKey) {
|
6
|
-
const _key = ` __${propertyKey}Value`;
|
7
|
-
Object.defineProperty(target, propertyKey, {
|
8
|
-
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
9
|
-
get() {
|
10
|
-
return this[_key];
|
11
|
-
},
|
12
|
-
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
13
|
-
set(value) {
|
14
|
-
const prevValue = this[_key];
|
15
|
-
this[_key] = value;
|
16
|
-
if (prevValue !== value && this[propertyKey + sufix]) {
|
17
|
-
this[propertyKey + sufix].emit(value);
|
18
|
-
}
|
19
|
-
}
|
20
|
-
});
|
21
|
-
};
|
22
|
-
}
|
23
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGVjb3JhdG9ycy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy91dGlscy9kZWNvcmF0b3JzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLDhEQUE4RDtBQUM5RCxNQUFNLFVBQVUsUUFBUTtJQUN0QixNQUFNLEtBQUssR0FBRyxRQUFRLENBQUM7SUFFdkIsOERBQThEO0lBQzlELE9BQU8sU0FBUyxlQUFlLENBQUMsTUFBVyxFQUFFLFdBQW1CO1FBQzlELE1BQU0sSUFBSSxHQUFHLE1BQU0sV0FBVyxPQUFPLENBQUM7UUFDdEMsTUFBTSxDQUFDLGNBQWMsQ0FBQyxNQUFNLEVBQUUsV0FBVyxFQUFFO1lBQ3pDLDhEQUE4RDtZQUM5RCxHQUFHO2dCQUNELE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO1lBQ3BCLENBQUM7WUFDRCw4REFBOEQ7WUFDOUQsR0FBRyxDQUFDLEtBQVU7Z0JBQ1osTUFBTSxTQUFTLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO2dCQUM3QixJQUFJLENBQUMsSUFBSSxDQUFDLEdBQUcsS0FBSyxDQUFDO2dCQUNuQixJQUFJLFNBQVMsS0FBSyxLQUFLLElBQUksSUFBSSxDQUFDLFdBQVcsR0FBRyxLQUFLLENBQUMsRUFBRSxDQUFDO29CQUNyRCxJQUFJLENBQUMsV0FBVyxHQUFHLEtBQUssQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztnQkFDeEMsQ0FBQztZQUNILENBQUM7U0FDRixDQUFDLENBQUM7SUFDTCxDQUFDLENBQUM7QUFDSixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uby1leHBsaWNpdC1hbnlcbmV4cG9ydCBmdW5jdGlvbiBPbkNoYW5nZSgpOiBhbnkge1xuICBjb25zdCBzdWZpeCA9ICdDaGFuZ2UnO1xuXG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tZXhwbGljaXQtYW55XG4gIHJldHVybiBmdW5jdGlvbiBPbkNoYW5nZUhhbmRsZXIodGFyZ2V0OiBhbnksIHByb3BlcnR5S2V5OiBzdHJpbmcpOiB2b2lkIHtcbiAgICBjb25zdCBfa2V5ID0gYCBfXyR7cHJvcGVydHlLZXl9VmFsdWVgO1xuICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSh0YXJnZXQsIHByb3BlcnR5S2V5LCB7XG4gICAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25vLWV4cGxpY2l0LWFueVxuICAgICAgZ2V0KCk6IGFueSB7XG4gICAgICAgIHJldHVybiB0aGlzW19rZXldO1xuICAgICAgfSxcbiAgICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tZXhwbGljaXQtYW55XG4gICAgICBzZXQodmFsdWU6IGFueSk6IHZvaWQge1xuICAgICAgICBjb25zdCBwcmV2VmFsdWUgPSB0aGlzW19rZXldO1xuICAgICAgICB0aGlzW19rZXldID0gdmFsdWU7XG4gICAgICAgIGlmIChwcmV2VmFsdWUgIT09IHZhbHVlICYmIHRoaXNbcHJvcGVydHlLZXkgKyBzdWZpeF0pIHtcbiAgICAgICAgICB0aGlzW3Byb3BlcnR5S2V5ICsgc3VmaXhdLmVtaXQodmFsdWUpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfSk7XG4gIH07XG59XG4iXX0=
|
@@ -1,26 +0,0 @@
|
|
1
|
-
/**
|
2
|
-
* @license
|
3
|
-
* Copyright Google Inc. All Rights Reserved.
|
4
|
-
*
|
5
|
-
* Use of this source code is governed by an MIT-style license that can be
|
6
|
-
* found in the LICENSE file at https://angular.io/license
|
7
|
-
*/
|
8
|
-
/**
|
9
|
-
* JS version of browser APIs. This library can only run in the browser.
|
10
|
-
*/
|
11
|
-
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
12
|
-
const win = (typeof window !== 'undefined' && window) || {};
|
13
|
-
export { win as window };
|
14
|
-
export const document = win.document;
|
15
|
-
export const location = win.location;
|
16
|
-
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
17
|
-
export const gc = win.gc ? () => win.gc() : () => null;
|
18
|
-
export const performance = win.performance ? win.performance : null;
|
19
|
-
export const Event = win.Event;
|
20
|
-
export const MouseEvent = win.MouseEvent;
|
21
|
-
export const KeyboardEvent = win.KeyboardEvent;
|
22
|
-
export const EventTarget = win.EventTarget;
|
23
|
-
export const History = win.History;
|
24
|
-
export const Location = win.Location;
|
25
|
-
export const EventListener = win.EventListener;
|
26
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnJvd3Nlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy91dGlscy9mYWNhZGUvYnJvd3Nlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7O0dBTUc7QUFFSDs7R0FFRztBQUNILDhEQUE4RDtBQUM5RCxNQUFNLEdBQUcsR0FBRyxDQUFDLE9BQU8sTUFBTSxLQUFLLFdBQVcsSUFBSSxNQUFNLENBQUMsSUFBSSxFQUFTLENBQUM7QUFFbkUsT0FBTyxFQUFFLEdBQUcsSUFBSSxNQUFNLEVBQUUsQ0FBQztBQUN6QixNQUFNLENBQUMsTUFBTSxRQUFRLEdBQUcsR0FBRyxDQUFDLFFBQVEsQ0FBQztBQUNyQyxNQUFNLENBQUMsTUFBTSxRQUFRLEdBQUcsR0FBRyxDQUFDLFFBQVEsQ0FBQztBQUNyQyw4REFBOEQ7QUFDOUQsTUFBTSxDQUFDLE1BQU0sRUFBRSxHQUFHLEdBQUcsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLEdBQUcsRUFBRSxDQUFDLEdBQUcsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsR0FBUSxFQUFFLENBQUMsSUFBSSxDQUFDO0FBQzVELE1BQU0sQ0FBQyxNQUFNLFdBQVcsR0FBRyxHQUFHLENBQUMsV0FBVyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsV0FBVyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUM7QUFDcEUsTUFBTSxDQUFDLE1BQU0sS0FBSyxHQUFHLEdBQUcsQ0FBQyxLQUFLLENBQUM7QUFDL0IsTUFBTSxDQUFDLE1BQU0sVUFBVSxHQUFHLEdBQUcsQ0FBQyxVQUFVLENBQUM7QUFDekMsTUFBTSxDQUFDLE1BQU0sYUFBYSxHQUFHLEdBQUcsQ0FBQyxhQUFhLENBQUM7QUFDL0MsTUFBTSxDQUFDLE1BQU0sV0FBVyxHQUFHLEdBQUcsQ0FBQyxXQUFXLENBQUM7QUFDM0MsTUFBTSxDQUFDLE1BQU0sT0FBTyxHQUFHLEdBQUcsQ0FBQyxPQUFPLENBQUM7QUFDbkMsTUFBTSxDQUFDLE1BQU0sUUFBUSxHQUFHLEdBQUcsQ0FBQyxRQUFRLENBQUM7QUFDckMsTUFBTSxDQUFDLE1BQU0sYUFBYSxHQUFHLEdBQUcsQ0FBQyxhQUFhLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEBsaWNlbnNlXG4gKiBDb3B5cmlnaHQgR29vZ2xlIEluYy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC5cbiAqXG4gKiBVc2Ugb2YgdGhpcyBzb3VyY2UgY29kZSBpcyBnb3Zlcm5lZCBieSBhbiBNSVQtc3R5bGUgbGljZW5zZSB0aGF0IGNhbiBiZVxuICogZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZSBhdCBodHRwczovL2FuZ3VsYXIuaW8vbGljZW5zZVxuICovXG5cbi8qKlxuICogSlMgdmVyc2lvbiBvZiBicm93c2VyIEFQSXMuIFRoaXMgbGlicmFyeSBjYW4gb25seSBydW4gaW4gdGhlIGJyb3dzZXIuXG4gKi9cbi8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tZXhwbGljaXQtYW55XG5jb25zdCB3aW4gPSAodHlwZW9mIHdpbmRvdyAhPT0gJ3VuZGVmaW5lZCcgJiYgd2luZG93KSB8fCB7fSBhcyBhbnk7XG5cbmV4cG9ydCB7IHdpbiBhcyB3aW5kb3cgfTtcbmV4cG9ydCBjb25zdCBkb2N1bWVudCA9IHdpbi5kb2N1bWVudDtcbmV4cG9ydCBjb25zdCBsb2NhdGlvbiA9IHdpbi5sb2NhdGlvbjtcbi8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tZXhwbGljaXQtYW55XG5leHBvcnQgY29uc3QgZ2MgPSB3aW4uZ2MgPyAoKSA9PiB3aW4uZ2MoKSA6ICgpOiBhbnkgPT4gbnVsbDtcbmV4cG9ydCBjb25zdCBwZXJmb3JtYW5jZSA9IHdpbi5wZXJmb3JtYW5jZSA/IHdpbi5wZXJmb3JtYW5jZSA6IG51bGw7XG5leHBvcnQgY29uc3QgRXZlbnQgPSB3aW4uRXZlbnQ7XG5leHBvcnQgY29uc3QgTW91c2VFdmVudCA9IHdpbi5Nb3VzZUV2ZW50O1xuZXhwb3J0IGNvbnN0IEtleWJvYXJkRXZlbnQgPSB3aW4uS2V5Ym9hcmRFdmVudDtcbmV4cG9ydCBjb25zdCBFdmVudFRhcmdldCA9IHdpbi5FdmVudFRhcmdldDtcbmV4cG9ydCBjb25zdCBIaXN0b3J5ID0gd2luLkhpc3Rvcnk7XG5leHBvcnQgY29uc3QgTG9jYXRpb24gPSB3aW4uTG9jYXRpb247XG5leHBvcnQgY29uc3QgRXZlbnRMaXN0ZW5lciA9IHdpbi5FdmVudExpc3RlbmVyO1xuIl19
|
package/utils/esm2022/index.mjs
DELETED
@@ -1,2 +0,0 @@
|
|
1
|
-
export * from './public_api';
|
2
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvdXRpbHMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYyxjQUFjLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuL3B1YmxpY19hcGknO1xuIl19
|
@@ -1,247 +0,0 @@
|
|
1
|
-
export class LinkedList {
|
2
|
-
constructor() {
|
3
|
-
this.length = 0;
|
4
|
-
this.asArray = [];
|
5
|
-
// Array methods overriding END
|
6
|
-
}
|
7
|
-
get(position) {
|
8
|
-
if (this.length === 0 || position < 0 || position >= this.length) {
|
9
|
-
return void 0;
|
10
|
-
}
|
11
|
-
let current = this.head;
|
12
|
-
for (let index = 0; index < position; index++) {
|
13
|
-
current = current?.next;
|
14
|
-
}
|
15
|
-
return current?.value;
|
16
|
-
}
|
17
|
-
add(value, position = this.length) {
|
18
|
-
if (position < 0 || position > this.length) {
|
19
|
-
throw new Error('Position is out of the list');
|
20
|
-
}
|
21
|
-
const node = {
|
22
|
-
value,
|
23
|
-
next: undefined,
|
24
|
-
previous: undefined
|
25
|
-
};
|
26
|
-
if (this.length === 0) {
|
27
|
-
this.head = node;
|
28
|
-
this.tail = node;
|
29
|
-
this.current = node;
|
30
|
-
}
|
31
|
-
else {
|
32
|
-
if (position === 0 && this.head) {
|
33
|
-
// first node
|
34
|
-
node.next = this.head;
|
35
|
-
this.head.previous = node;
|
36
|
-
this.head = node;
|
37
|
-
}
|
38
|
-
else if (position === this.length && this.tail) {
|
39
|
-
// last node
|
40
|
-
this.tail.next = node;
|
41
|
-
node.previous = this.tail;
|
42
|
-
this.tail = node;
|
43
|
-
}
|
44
|
-
else {
|
45
|
-
// node in middle
|
46
|
-
const currentPreviousNode = this.getNode(position - 1);
|
47
|
-
const currentNextNode = currentPreviousNode?.next;
|
48
|
-
if (currentPreviousNode && currentNextNode) {
|
49
|
-
currentPreviousNode.next = node;
|
50
|
-
currentNextNode.previous = node;
|
51
|
-
node.previous = currentPreviousNode;
|
52
|
-
node.next = currentNextNode;
|
53
|
-
}
|
54
|
-
}
|
55
|
-
}
|
56
|
-
this.length++;
|
57
|
-
this.createInternalArrayRepresentation();
|
58
|
-
}
|
59
|
-
remove(position = 0) {
|
60
|
-
if (this.length === 0 || position < 0 || position >= this.length) {
|
61
|
-
throw new Error('Position is out of the list');
|
62
|
-
}
|
63
|
-
if (position === 0 && this.head) {
|
64
|
-
// first node
|
65
|
-
this.head = this.head.next;
|
66
|
-
if (this.head) {
|
67
|
-
// there is no second node
|
68
|
-
this.head.previous = undefined;
|
69
|
-
}
|
70
|
-
else {
|
71
|
-
// there is no second node
|
72
|
-
this.tail = undefined;
|
73
|
-
}
|
74
|
-
}
|
75
|
-
else if (position === this.length - 1 && this.tail?.previous) {
|
76
|
-
// last node
|
77
|
-
this.tail = this.tail.previous;
|
78
|
-
this.tail.next = undefined;
|
79
|
-
}
|
80
|
-
else {
|
81
|
-
// middle node
|
82
|
-
const removedNode = this.getNode(position);
|
83
|
-
if (removedNode?.next && removedNode.previous) {
|
84
|
-
removedNode.next.previous = removedNode.previous;
|
85
|
-
removedNode.previous.next = removedNode.next;
|
86
|
-
}
|
87
|
-
}
|
88
|
-
this.length--;
|
89
|
-
this.createInternalArrayRepresentation();
|
90
|
-
}
|
91
|
-
set(position, value) {
|
92
|
-
if (this.length === 0 || position < 0 || position >= this.length) {
|
93
|
-
throw new Error('Position is out of the list');
|
94
|
-
}
|
95
|
-
const node = this.getNode(position);
|
96
|
-
if (node) {
|
97
|
-
node.value = value;
|
98
|
-
this.createInternalArrayRepresentation();
|
99
|
-
}
|
100
|
-
}
|
101
|
-
toArray() {
|
102
|
-
return this.asArray;
|
103
|
-
}
|
104
|
-
findAll(fn) {
|
105
|
-
let current = this.head;
|
106
|
-
const result = [];
|
107
|
-
if (!current) {
|
108
|
-
return result;
|
109
|
-
}
|
110
|
-
for (let index = 0; index < this.length; index++) {
|
111
|
-
if (!current) {
|
112
|
-
return result;
|
113
|
-
}
|
114
|
-
if (fn(current.value, index)) {
|
115
|
-
result.push({ index, value: current.value });
|
116
|
-
}
|
117
|
-
current = current.next;
|
118
|
-
}
|
119
|
-
return result;
|
120
|
-
}
|
121
|
-
// Array methods overriding start
|
122
|
-
push(...args) {
|
123
|
-
args.forEach((arg) => {
|
124
|
-
this.add(arg);
|
125
|
-
});
|
126
|
-
return this.length;
|
127
|
-
}
|
128
|
-
pop() {
|
129
|
-
if (this.length === 0) {
|
130
|
-
return undefined;
|
131
|
-
}
|
132
|
-
const last = this.tail;
|
133
|
-
this.remove(this.length - 1);
|
134
|
-
return last?.value;
|
135
|
-
}
|
136
|
-
unshift(...args) {
|
137
|
-
args.reverse();
|
138
|
-
args.forEach((arg) => {
|
139
|
-
this.add(arg, 0);
|
140
|
-
});
|
141
|
-
return this.length;
|
142
|
-
}
|
143
|
-
shift() {
|
144
|
-
if (this.length === 0) {
|
145
|
-
return undefined;
|
146
|
-
}
|
147
|
-
const lastItem = this.head?.value;
|
148
|
-
this.remove();
|
149
|
-
return lastItem;
|
150
|
-
}
|
151
|
-
forEach(fn) {
|
152
|
-
let current = this.head;
|
153
|
-
for (let index = 0; index < this.length; index++) {
|
154
|
-
if (!current) {
|
155
|
-
return;
|
156
|
-
}
|
157
|
-
fn(current.value, index);
|
158
|
-
current = current.next;
|
159
|
-
}
|
160
|
-
}
|
161
|
-
indexOf(value) {
|
162
|
-
let current = this.head;
|
163
|
-
let position = -1;
|
164
|
-
for (let index = 0; index < this.length; index++) {
|
165
|
-
if (!current) {
|
166
|
-
return position;
|
167
|
-
}
|
168
|
-
if (current.value === value) {
|
169
|
-
position = index;
|
170
|
-
break;
|
171
|
-
}
|
172
|
-
current = current.next;
|
173
|
-
}
|
174
|
-
return position;
|
175
|
-
}
|
176
|
-
some(fn) {
|
177
|
-
let current = this.head;
|
178
|
-
let result = false;
|
179
|
-
while (current && !result) {
|
180
|
-
if (fn(current.value)) {
|
181
|
-
result = true;
|
182
|
-
break;
|
183
|
-
}
|
184
|
-
current = current.next;
|
185
|
-
}
|
186
|
-
return result;
|
187
|
-
}
|
188
|
-
every(fn) {
|
189
|
-
let current = this.head;
|
190
|
-
let result = true;
|
191
|
-
while (current && result) {
|
192
|
-
if (!fn(current.value)) {
|
193
|
-
result = false;
|
194
|
-
}
|
195
|
-
current = current.next;
|
196
|
-
}
|
197
|
-
return result;
|
198
|
-
}
|
199
|
-
toString() {
|
200
|
-
return '[Linked List]';
|
201
|
-
}
|
202
|
-
find(fn) {
|
203
|
-
let current = this.head;
|
204
|
-
for (let index = 0; index < this.length; index++) {
|
205
|
-
if (!current) {
|
206
|
-
return;
|
207
|
-
}
|
208
|
-
if (fn(current.value, index)) {
|
209
|
-
return current.value;
|
210
|
-
}
|
211
|
-
current = current.next;
|
212
|
-
}
|
213
|
-
}
|
214
|
-
findIndex(fn) {
|
215
|
-
let current = this.head;
|
216
|
-
for (let index = 0; index < this.length; index++) {
|
217
|
-
if (!current) {
|
218
|
-
return -1;
|
219
|
-
}
|
220
|
-
if (fn(current.value, index)) {
|
221
|
-
return index;
|
222
|
-
}
|
223
|
-
current = current.next;
|
224
|
-
}
|
225
|
-
return -1;
|
226
|
-
}
|
227
|
-
getNode(position) {
|
228
|
-
if (this.length === 0 || position < 0 || position >= this.length) {
|
229
|
-
throw new Error('Position is out of the list');
|
230
|
-
}
|
231
|
-
let current = this.head;
|
232
|
-
for (let index = 0; index < position; index++) {
|
233
|
-
current = current?.next;
|
234
|
-
}
|
235
|
-
return current;
|
236
|
-
}
|
237
|
-
createInternalArrayRepresentation() {
|
238
|
-
const outArray = [];
|
239
|
-
let current = this.head;
|
240
|
-
while (current) {
|
241
|
-
outArray.push(current.value);
|
242
|
-
current = current.next;
|
243
|
-
}
|
244
|
-
this.asArray = outArray;
|
245
|
-
}
|
246
|
-
}
|
247
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGlua2VkLWxpc3QuY2xhc3MuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvdXRpbHMvbGlua2VkLWxpc3QuY2xhc3MudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBTUEsTUFBTSxPQUFPLFVBQVU7SUFBdkI7UUFDRSxXQUFNLEdBQUcsQ0FBQyxDQUFDO1FBSUQsWUFBTyxHQUFRLEVBQUUsQ0FBQztRQTBSNUIsK0JBQStCO0lBQ2pDLENBQUM7SUF6UkMsR0FBRyxDQUFDLFFBQWdCO1FBQ2xCLElBQUksSUFBSSxDQUFDLE1BQU0sS0FBSyxDQUFDLElBQUksUUFBUSxHQUFHLENBQUMsSUFBSSxRQUFRLElBQUksSUFBSSxDQUFDLE1BQU0sRUFBRSxDQUFDO1lBQ2pFLE9BQU8sS0FBSyxDQUFDLENBQUM7UUFDaEIsQ0FBQztRQUVELElBQUksT0FBTyxHQUFHLElBQUksQ0FBQyxJQUFJLENBQUM7UUFFeEIsS0FBSyxJQUFJLEtBQUssR0FBRyxDQUFDLEVBQUUsS0FBSyxHQUFHLFFBQVEsRUFBRSxLQUFLLEVBQUUsRUFBRSxDQUFDO1lBQzlDLE9BQU8sR0FBRyxPQUFPLEVBQUUsSUFBSSxDQUFDO1FBQzFCLENBQUM7UUFFRCxPQUFPLE9BQU8sRUFBRSxLQUFLLENBQUM7SUFDeEIsQ0FBQztJQUVELEdBQUcsQ0FBQyxLQUFRLEVBQUUsV0FBbUIsSUFBSSxDQUFDLE1BQU07UUFDMUMsSUFBSSxRQUFRLEdBQUcsQ0FBQyxJQUFJLFFBQVEsR0FBRyxJQUFJLENBQUMsTUFBTSxFQUFFLENBQUM7WUFDM0MsTUFBTSxJQUFJLEtBQUssQ0FBQyw2QkFBNkIsQ0FBQyxDQUFDO1FBQ2pELENBQUM7UUFFRCxNQUFNLElBQUksR0FBZ0I7WUFDeEIsS0FBSztZQUNMLElBQUksRUFBRSxTQUFTO1lBQ2YsUUFBUSxFQUFFLFNBQVM7U0FDcEIsQ0FBQztRQUVGLElBQUksSUFBSSxDQUFDLE1BQU0sS0FBSyxDQUFDLEVBQUUsQ0FBQztZQUN0QixJ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QVEsRUFBRSxDQUFDO1FBQ3pCLElBQUksT0FBTyxHQUFHLElBQUksQ0FBQyxJQUFJLENBQUM7UUFFeEIsT0FBTyxPQUFPLEVBQUUsQ0FBQztZQUNmLFFBQVEsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQyxDQUFDO1lBQzdCLE9BQU8sR0FBRyxPQUFPLENBQUMsSUFBSSxDQUFDO1FBQ3pCLENBQUM7UUFDRCxJQUFJLENBQUMsT0FBTyxHQUFHLFFBQVEsQ0FBQztJQUMxQixDQUFDO0NBR0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbnRlcmZhY2UgTGlzdE5vZGU8VD4ge1xuICB2YWx1ZTogVCxcbiAgbmV4dD86IExpc3ROb2RlPFQ+LFxuICBwcmV2aW91cz86IExpc3ROb2RlPFQ+XG59XG5cbmV4cG9ydCBjbGFzcyBMaW5rZWRMaXN0PFQ+IHtcbiAgbGVuZ3RoID0gMDtcbiAgcHJvdGVjdGVkIGhlYWQ/OiBMaXN0Tm9kZTxUPjtcbiAgcHJvdGVjdGVkIHRhaWw/OiBMaXN0Tm9kZTxUPjtcbiAgcHJvdGVjdGVkIGN1cnJlbnQ/OiBMaXN0Tm9kZTxUPjtcbiAgcHJvdGVjdGVkIGFzQXJyYXk6IFRbXSA9IFtdO1xuXG4gIGdldChwb3NpdGlvbjogbnVtYmVyKTogVCB8IHVuZGVmaW5lZCB7XG4gICAgaWYgKHRoaXMubGVuZ3RoID09PSAwIHx8IHBvc2l0aW9uIDwgMCB8fCBwb3NpdGlvbiA+PSB0aGlzLmxlbmd0aCkge1xuICAgICAgcmV0dXJuIHZvaWQgMDtcbiAgICB9XG5cbiAgICBsZXQgY3VycmVudCA9IHRoaXMuaGVhZDtcblxuICAgIGZvciAobGV0IGluZGV4ID0gMDsgaW5kZXggPCBwb3NpdGlvbjsgaW5kZXgrKykge1xuICAgICAgY3VycmVudCA9IGN1cnJlbnQ/Lm5leHQ7XG4gICAgfVxuXG4gICAgcmV0dXJuIGN1cnJlbnQ/LnZhbHVlO1xuICB9XG5cbiAgYWRkKHZhbHVlOiBULCBwb3NpdGlvbjogbnVtYmVyID0gdGhpcy5sZW5ndGgpOiB2b2lkIHtcbiAgICBpZiAocG9zaXRpb24gPCAwIHx8IHBvc2l0aW9uID4gdGhpcy5sZW5ndGgpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcignUG9zaXRpb24gaXMgb3V0IG9mIHRoZSBsaXN0Jyk7XG4gICAgfVxuXG4gICAgY29uc3Qgbm9kZTogTGlzdE5vZGU8VD4gPSB7XG4gICAgICB2YWx1ZSxcbiAgICAgIG5leHQ6IHVuZGVmaW5lZCxcbiAgICAgIHByZXZpb3VzOiB1bmRlZmluZWRcbiAgICB9O1xuXG4gICAgaWYgKHRoaXMubGVuZ3RoID09PSAwKSB7XG4gICAgICB0aGlzLmhlYWQgPSBub2RlO1xuICAgICAgdGhpcy50YWlsID0gbm9kZTtcbiAgICAgIHRoaXMuY3VycmVudCA9IG5vZGU7XG4gICAgfSBlbHNlIHtcbiAgICAgIGlmIChwb3NpdGlvbiA9PT0gMCAmJiB0aGlzLmhlYWQpIHtcbiAgICAgICAgLy8gZmlyc3Qgbm9kZVxuICAgICAgICBub2RlLm5leHQgPSB0aGlzLmhlYWQ7XG4gICAgICAgIHRoaXMuaGVhZC5wcmV2aW91cyA9IG5vZGU7XG4gICAgICAgIHRoaXMuaGVhZCA9IG5vZGU7XG4gICAgICB9IGVsc2UgaWYgKHBvc2l0aW9uID09PSB0aGlzLmxlbmd0aCAmJiB0aGlzLnRhaWwpIHtcbiAgICAgICAgLy8gbGFzdCBub2RlXG4gICAgICAgIHRoaXMudGFpbC5uZXh0ID0gbm9kZTtcbiAgICAgICAgbm9kZS5wcmV2aW91cyA9IHRoaXMudGFpbDtcbiAgICAgICAgdGhpcy50YWlsID0gbm9kZTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIC8vIG5vZGUgaW4gbWlkZGxlXG4gICAgICAgIGNvbnN0IGN1cnJlbnRQcmV2aW91c05vZGUgPSB0aGlzLmdldE5vZGUocG9zaXRpb24gLSAxKTtcbiAgICAgICAgY29uc3QgY3VycmVudE5leHROb2RlID0gY3VycmVudFByZXZpb3VzTm9kZT8ubmV4dDtcbiAgICAgICAgaWYgKGN1cnJlbnRQcmV2aW91c05vZGUgJiYgY3VycmVudE5leHROb2RlKSB7XG4gICAgICAgICAgY3VycmVudFByZXZpb3VzTm9kZS5uZXh0ID0gbm9kZTtcbiAgICAgICAgICBjdXJyZW50TmV4dE5vZGUucHJldmlvdXMgPSBub2RlO1xuICAgICAgICAgIG5vZGUucHJldmlvdXMgPSBjdXJyZW50UHJldmlvdXNOb2RlO1xuICAgICAgICAgIG5vZGUubmV4dCA9IGN1cnJlbnROZXh0Tm9kZTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgICB0aGlzLmxlbmd0aCsrO1xuICAgIHRoaXMuY3JlYXRlSW50ZXJuYWxBcnJheVJlcHJlc2VudGF0aW9uKCk7XG4gIH1cblxuICByZW1vdmUocG9zaXRpb24gPSAwKTogdm9pZCB7XG4gICAgaWYgKHRoaXMubGVuZ3RoID09PSAwIHx8IHBvc2l0aW9uIDwgMCB8fCBwb3NpdGlvbiA+PSB0aGlzLmxlbmd0aCkge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKCdQb3NpdGlvbiBpcyBvdXQgb2YgdGhlIGxpc3QnKTtcbiAgICB9XG5cbiAgICBpZiAocG9zaXRpb24gPT09IDAgJiYgdGhpcy5oZWFkKSB7XG4gICAgICAvLyBmaXJzdCBub2RlXG4gICAgICB0aGlzLmhlYWQgPSB0aGlzLmhlYWQubmV4dDtcblxuICAgICAgaWYgKHRoaXMuaGVhZCkge1xuICAgICAgICAvLyB0aGVyZSBpcyBubyBzZWNvbmQgbm9kZVxuICAgICAgICB0aGlzLmhlYWQucHJldmlvdXMgPSB1bmRlZmluZWQ7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICAvLyB0aGVyZSBpcyBubyBzZWNvbmQgbm9kZVxuICAgICAgICB0aGlzLnRhaWwgPSB1bmRlZmluZWQ7XG4gICAgICB9XG4gICAgfSBlbHNlIGlmIChwb3NpdGlvbiA9PT0gdGhpcy5sZW5ndGggLSAxICYmIHRoaXMudGFpbD8ucHJldmlvdXMpIHtcbiAgICAgIC8vIGxhc3Qgbm9kZVxuICAgICAgdGhpcy50YWlsID0gdGhpcy50YWlsLnByZXZpb3VzO1xuICAgICAgdGhpcy50YWlsLm5leHQgPSB1bmRlZmluZWQ7XG4gICAgfSBlbHNlIHtcbiAgICAgIC8vIG1pZGRsZSBub2RlXG4gICAgICBjb25zdCByZW1vdmVkTm9kZSA9IHRoaXMuZ2V0Tm9kZShwb3NpdGlvbik7XG4gICAgICBpZiAocmVtb3ZlZE5vZGU/Lm5leHQgJiYgcmVtb3ZlZE5vZGUucHJldmlvdXMpIHtcbiAgICAgICAgcmVtb3ZlZE5vZGUubmV4dC5wcmV2aW91cyA9IHJlbW92ZWROb2RlLnByZXZpb3VzO1xuICAgICAgICByZW1vdmVkTm9kZS5wcmV2aW91cy5uZXh0ID0gcmVtb3ZlZE5vZGUubmV4dDtcbiAgICAgIH1cbiAgICB9XG5cbiAgICB0aGlzLmxlbmd0aC0tO1xuICAgIHRoaXMuY3JlYXRlSW50ZXJuYWxBcnJheVJlcHJlc2VudGF0aW9uKCk7XG4gIH1cblxuICBzZXQocG9zaXRpb246IG51bWJlciwgdmFsdWU6IFQpOiB2b2lkIHtcbiAgICBpZiAodGhpcy5sZW5ndGggPT09IDAgfHwgcG9zaXRpb24gPCAwIHx8IHBvc2l0aW9uID49IHRoaXMubGVuZ3RoKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoJ1Bvc2l0aW9uIGlzIG91dCBvZiB0aGUgbGlzdCcpO1xuICAgIH1cblxuICAgIGNvbnN0IG5vZGUgPSB0aGlzLmdldE5vZGUocG9zaXRpb24pO1xuICAgIGlmIChub2RlKSB7XG4gICAgICBub2RlLnZhbHVlID0gdmFsdWU7XG4gICAgICB0aGlzLmNyZWF0ZUludGVybmFsQXJyYXlSZXByZXNlbnRhdGlvbigpO1xuICAgIH1cbiAgfVxuXG4gIHRvQXJyYXkoKTogVFtdIHtcbiAgICByZXR1cm4gdGhpcy5hc0FycmF5O1xuICB9XG5cbiAgZmluZEFsbChmbjogKHZhbHVlOiBULCBpbmRleDogbnVtYmVyKSA9PiBib29sZWFuKTogeyBpbmRleDogbnVtYmVyLCB2YWx1ZTogVCB9W10ge1xuICAgIGxldCBjdXJyZW50ID0gdGhpcy5oZWFkO1xuICAgIGNvbnN0IHJlc3VsdDogeyBpbmRleDogbnVtYmVyLCB2YWx1ZTogVCB9W10gPSBbXTtcblxuICAgIGlmICghY3VycmVudCkge1xuICAgICAgcmV0dXJuIHJlc3VsdDtcbiAgICB9XG5cbiAgICBmb3IgKGxldCBpbmRleCA9IDA7IGluZGV4IDwgdGhpcy5sZW5ndGg7IGluZGV4KyspIHtcbiAgICAgIGlmICghY3VycmVudCkge1xuICAgICAgICByZXR1cm4gcmVzdWx0O1xuICAgICAgfVxuICAgICAgaWYgKGZuKGN1cnJlbnQudmFsdWUsIGluZGV4KSkge1xuICAgICAgICByZXN1bHQucHVzaCh7IGluZGV4LCB2YWx1ZTogY3VycmVudC52YWx1ZSB9KTtcbiAgICAgIH1cbiAgICAgIGN1cnJlbnQgPSBjdXJyZW50Lm5leHQ7XG5cbiAgICB9XG5cbiAgICByZXR1cm4gcmVzdWx0O1xuICB9XG5cbiAgLy8gQXJyYXkgbWV0aG9kcyBvdmVycmlkaW5nIHN0YXJ0XG4gIHB1c2goLi4uYXJnczogVFtdKTogbnVtYmVyIHtcbiAgICBhcmdzLmZvckVhY2goKGFyZzogVCkgPT4ge1xuICAgICAgdGhpcy5hZGQoYXJnKTtcbiAgICB9KTtcblxuICAgIHJldHVybiB0aGlzLmxlbmd0aDtcbiAgfVxuXG4gIHBvcCgpOiBUIHwgdW5kZWZpbmVkIHtcbiAgICBpZiAodGhpcy5sZW5ndGggPT09IDApIHtcbiAgICAgIHJldHVybiB1bmRlZmluZWQ7XG4gICAgfVxuICAgIGNvbnN0IGxhc3QgPSB0aGlzLnRhaWw7XG4gICAgdGhpcy5yZW1vdmUodGhpcy5sZW5ndGggLSAxKTtcblxuICAgIHJldHVybiBsYXN0Py52YWx1ZTtcbiAgfVxuXG4gIHVuc2hpZnQoLi4uYXJnczogVFtdKTogbnVtYmVyIHtcbiAgICBhcmdzLnJldmVyc2UoKTtcbiAgICBhcmdzLmZvckVhY2goKGFyZzogVCkgPT4ge1xuICAgICAgdGhpcy5hZGQoYXJnLCAwKTtcbiAgICB9KTtcblxuICAgIHJldHVybiB0aGlzLmxlbmd0aDtcbiAgfVxuXG4gIHNoaWZ0KCk6IFQgfCB1bmRlZmluZWQge1xuICAgIGlmICh0aGlzLmxlbmd0aCA9PT0gMCkge1xuICAgICAgcmV0dXJuIHVuZGVmaW5lZDtcbiAgICB9XG4gICAgY29uc3QgbGFzdEl0ZW0gPSB0aGlzLmhlYWQ/LnZhbHVlO1xuICAgIHRoaXMucmVtb3ZlKCk7XG5cbiAgICByZXR1cm4gbGFzdEl0ZW07XG4gIH1cblxuICBmb3JFYWNoKGZuOiAodmFsdWU6IFQsIGluZGV4OiBudW1iZXIpID0+IHZvaWQpOiB2b2lkIHtcbiAgICBsZXQgY3VycmVudCA9IHRoaXMuaGVhZDtcbiAgICBmb3IgKGxldCBpbmRleCA9IDA7IGluZGV4IDwgdGhpcy5sZW5ndGg7IGluZGV4KyspIHtcbiAgICAgIGlmICghY3VycmVudCkge1xuICAgICAgICByZXR1cm47XG4gICAgICB9XG4gICAgICBmbihjdXJyZW50LnZhbHVlLCBpbmRleCk7XG4gICAgICBjdXJyZW50ID0gY3VycmVudC5uZXh0O1xuICAgIH1cbiAgfVxuXG4gIGluZGV4T2YodmFsdWU6IFQpOiBudW1iZXIge1xuICAgIGxldCBjdXJyZW50ID0gdGhpcy5oZWFkO1xuICAgIGxldCBwb3NpdGlvbiA9IC0xO1xuXG4gICAgZm9yIChsZXQgaW5kZXggPSAwOyBpbmRleCA8IHRoaXMubGVuZ3RoOyBpbmRleCsrKSB7XG4gICAgICBpZiAoIWN1cnJlbnQpIHtcbiAgICAgICAgcmV0dXJuIHBvc2l0aW9uO1xuICAgICAgfVxuICAgICAgaWYgKGN1cnJlbnQudmFsdWUgPT09IHZhbHVlKSB7XG4gICAgICAgIHBvc2l0aW9uID0gaW5kZXg7XG4gICAgICAgIGJyZWFrO1xuICAgICAgfVxuICAgICAgY3VycmVudCA9IGN1cnJlbnQubmV4dDtcbiAgICB9XG5cbiAgICByZXR1cm4gcG9zaXRpb247XG4gIH1cblxuICBzb21lKGZuOiAodmFsdWU6IFQpID0+IGJvb2xlYW4pOiBib29sZWFuIHtcbiAgICBsZXQgY3VycmVudCA9IHRoaXMuaGVhZDtcbiAgICBsZXQgcmVzdWx0ID0gZmFsc2U7XG4gICAgd2hpbGUgKGN1cnJlbnQgJiYgIXJlc3VsdCkge1xuICAgICAgaWYgKGZuKGN1cnJlbnQudmFsdWUpKSB7XG4gICAgICAgIHJlc3VsdCA9IHRydWU7XG4gICAgICAgIGJyZWFrO1xuICAgICAgfVxuICAgICAgY3VycmVudCA9IGN1cnJlbnQubmV4dDtcbiAgICB9XG5cbiAgICByZXR1cm4gcmVzdWx0O1xuICB9XG5cbiAgZXZlcnkoZm46ICh2YWx1ZTogVCkgPT4gYm9vbGVhbik6IGJvb2xlYW4ge1xuICAgIGxldCBjdXJyZW50ID0gdGhpcy5oZWFkO1xuICAgIGxldCByZXN1bHQgPSB0cnVlO1xuICAgIHdoaWxlIChjdXJyZW50ICYmIHJlc3VsdCkge1xuICAgICAgaWYgKCFmbihjdXJyZW50LnZhbHVlKSkge1xuICAgICAgICByZXN1bHQgPSBmYWxzZTtcbiAgICAgIH1cbiAgICAgIGN1cnJlbnQgPSBjdXJyZW50Lm5leHQ7XG4gICAgfVxuXG4gICAgcmV0dXJuIHJlc3VsdDtcbiAgfVxuXG4gIHRvU3RyaW5nKCk6IHN0cmluZyB7XG4gICAgcmV0dXJuICdbTGlua2VkIExpc3RdJztcbiAgfVxuXG4gIGZpbmQoZm46ICh2YWx1ZTogVCwgaW5kZXg6IG51bWJlcikgPT4gYm9vbGVhbik6IFQgfCB2b2lkIHtcbiAgICBsZXQgY3VycmVudCA9IHRoaXMuaGVhZDtcbiAgICBmb3IgKGxldCBpbmRleCA9IDA7IGluZGV4IDwgdGhpcy5sZW5ndGg7IGluZGV4KyspIHtcbiAgICAgIGlmICghY3VycmVudCkge1xuICAgICAgICByZXR1cm47XG4gICAgICB9XG4gICAgICBpZiAoZm4oY3VycmVudC52YWx1ZSwgaW5kZXgpKSB7XG4gICAgICAgIHJldHVybiBjdXJyZW50LnZhbHVlO1xuICAgICAgfVxuICAgICAgY3VycmVudCA9IGN1cnJlbnQubmV4dDtcbiAgICB9XG4gIH1cblxuICBmaW5kSW5kZXgoZm46ICh2YWx1ZTogVCwgaW5kZXg6IG51bWJlcikgPT4gYm9vbGVhbik6IG51bWJlciB7XG4gICAgbGV0IGN1cnJlbnQgPSB0aGlzLmhlYWQ7XG4gICAgZm9yIChsZXQgaW5kZXggPSAwOyBpbmRleCA8IHRoaXMubGVuZ3RoOyBpbmRleCsrKSB7XG4gICAgICBpZiAoIWN1cnJlbnQpIHtcbiAgICAgICAgcmV0dXJuIC0xO1xuICAgICAgfVxuXG4gICAgICBpZiAoZm4oY3VycmVudC52YWx1ZSwgaW5kZXgpKSB7XG4gICAgICAgIHJldHVybiBpbmRleDtcbiAgICAgIH1cblxuICAgICAgY3VycmVudCA9IGN1cnJlbnQubmV4dDtcbiAgICB9XG5cbiAgICByZXR1cm4gLTE7XG4gIH1cblxuICBwcm90ZWN0ZWQgZ2V0Tm9kZShwb3NpdGlvbjogbnVtYmVyKTogTGlzdE5vZGU8VD58dW5kZWZpbmVkIHtcbiAgICBpZiAodGhpcy5sZW5ndGggPT09IDAgfHwgcG9zaXRpb24gPCAwIHx8IHBvc2l0aW9uID49IHRoaXMubGVuZ3RoKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoJ1Bvc2l0aW9uIGlzIG91dCBvZiB0aGUgbGlzdCcpO1xuICAgIH1cblxuICAgIGxldCBjdXJyZW50ID0gdGhpcy5oZWFkO1xuXG4gICAgZm9yIChsZXQgaW5kZXggPSAwOyBpbmRleCA8IHBvc2l0aW9uOyBpbmRleCsrKSB7XG4gICAgICBjdXJyZW50ID0gY3VycmVudD8ubmV4dDtcbiAgICB9XG5cbiAgICByZXR1cm4gY3VycmVudDtcbiAgfVxuXG4gIHByb3RlY3RlZCBjcmVhdGVJbnRlcm5hbEFycmF5UmVwcmVzZW50YXRpb24oKTogdm9pZCB7XG4gICAgY29uc3Qgb3V0QXJyYXk6IFRbXSA9IFtdO1xuICAgIGxldCBjdXJyZW50ID0gdGhpcy5oZWFkO1xuXG4gICAgd2hpbGUgKGN1cnJlbnQpIHtcbiAgICAgIG91dEFycmF5LnB1c2goY3VycmVudC52YWx1ZSk7XG4gICAgICBjdXJyZW50ID0gY3VycmVudC5uZXh0O1xuICAgIH1cbiAgICB0aGlzLmFzQXJyYXkgPSBvdXRBcnJheTtcbiAgfVxuXG4gIC8vIEFycmF5IG1ldGhvZHMgb3ZlcnJpZGluZyBFTkRcbn1cbiJdfQ==
|
@@ -1,5 +0,0 @@
|
|
1
|
-
/**
|
2
|
-
* Generated bundle index. Do not edit.
|
3
|
-
*/
|
4
|
-
export * from './index';
|
5
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmd4LWJvb3RzdHJhcC11dGlscy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy91dGlscy9uZ3gtYm9vdHN0cmFwLXV0aWxzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOztHQUVHO0FBRUgsY0FBYyxTQUFTLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEdlbmVyYXRlZCBidW5kbGUgaW5kZXguIERvIG5vdCBlZGl0LlxuICovXG5cbmV4cG9ydCAqIGZyb20gJy4vaW5kZXgnO1xuIl19
|
@@ -1,10 +0,0 @@
|
|
1
|
-
export * from './triggers';
|
2
|
-
export { setTheme, getBsVer, currentBsVersion, BsVerions } from './theme-provider';
|
3
|
-
export { LinkedList } from './linked-list.class';
|
4
|
-
export { listenToTriggersV2, registerOutsideClick, registerEscClick } from './triggers';
|
5
|
-
export { OnChange } from './decorators';
|
6
|
-
export { Trigger } from './trigger.class';
|
7
|
-
export { Utils } from './utils.class';
|
8
|
-
export { window, document } from './facade/browser';
|
9
|
-
export { warnOnce } from './warn-once';
|
10
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljX2FwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy91dGlscy9wdWJsaWNfYXBpLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGNBQWMsWUFBWSxDQUFDO0FBQzNCLE9BQU8sRUFDTCxRQUFRLEVBQ1IsUUFBUSxFQUNSLGdCQUFnQixFQUVoQixTQUFTLEVBRVYsTUFBTSxrQkFBa0IsQ0FBQztBQUMxQixPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFFakQsT0FBTyxFQUNMLGtCQUFrQixFQUNsQixvQkFBb0IsRUFDcEIsZ0JBQWdCLEVBQ2pCLE1BQU0sWUFBWSxDQUFDO0FBRXBCLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxjQUFjLENBQUM7QUFDeEMsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQzFDLE9BQU8sRUFBRSxLQUFLLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDdEMsT0FBTyxFQUFFLE1BQU0sRUFBRSxRQUFRLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUNwRCxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQUssYUFBYSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi90cmlnZ2Vycyc7XG5leHBvcnQge1xuICBzZXRUaGVtZSxcbiAgZ2V0QnNWZXIsXG4gIGN1cnJlbnRCc1ZlcnNpb24sXG4gIElCc1ZlcnNpb24sXG4gIEJzVmVyaW9ucyxcbiAgQXZhaWxhYmxlQnNWZXJzaW9uc1xufSBmcm9tICcuL3RoZW1lLXByb3ZpZGVyJztcbmV4cG9ydCB7IExpbmtlZExpc3QgfSBmcm9tICcuL2xpbmtlZC1saXN0LmNsYXNzJztcblxuZXhwb3J0IHtcbiAgbGlzdGVuVG9UcmlnZ2Vyc1YyLFxuICByZWdpc3Rlck91dHNpZGVDbGljayxcbiAgcmVnaXN0ZXJFc2NDbGlja1xufSBmcm9tICcuL3RyaWdnZXJzJztcblxuZXhwb3J0IHsgT25DaGFuZ2UgfSBmcm9tICcuL2RlY29yYXRvcnMnO1xuZXhwb3J0IHsgVHJpZ2dlciB9IGZyb20gJy4vdHJpZ2dlci5jbGFzcyc7XG5leHBvcnQgeyBVdGlscyB9IGZyb20gJy4vdXRpbHMuY2xhc3MnO1xuZXhwb3J0IHsgd2luZG93LCBkb2N1bWVudCB9IGZyb20gJy4vZmFjYWRlL2Jyb3dzZXInO1xuZXhwb3J0IHsgd2Fybk9uY2UgfWZyb20gJy4vd2Fybi1vbmNlJztcbiJdfQ==
|
@@ -1,48 +0,0 @@
|
|
1
|
-
import { window } from './facade/browser';
|
2
|
-
export var BsVerions;
|
3
|
-
(function (BsVerions) {
|
4
|
-
BsVerions["isBs4"] = "bs4";
|
5
|
-
BsVerions["isBs5"] = "bs5";
|
6
|
-
})(BsVerions || (BsVerions = {}));
|
7
|
-
let guessedVersion;
|
8
|
-
function _guessBsVersion() {
|
9
|
-
const spanEl = window.document.createElement('span');
|
10
|
-
spanEl.innerText = 'testing bs version';
|
11
|
-
spanEl.classList.add('d-none');
|
12
|
-
spanEl.classList.add('pl-1');
|
13
|
-
window.document.head.appendChild(spanEl);
|
14
|
-
const checkPadding = window.getComputedStyle(spanEl).paddingLeft;
|
15
|
-
if (checkPadding && parseFloat(checkPadding)) {
|
16
|
-
window.document.head.removeChild(spanEl);
|
17
|
-
return 'bs4';
|
18
|
-
}
|
19
|
-
window.document.head.removeChild(spanEl);
|
20
|
-
return 'bs5';
|
21
|
-
}
|
22
|
-
export function setTheme(theme) {
|
23
|
-
guessedVersion = theme;
|
24
|
-
}
|
25
|
-
export function isBs4() {
|
26
|
-
if (guessedVersion)
|
27
|
-
return guessedVersion === 'bs4';
|
28
|
-
guessedVersion = _guessBsVersion();
|
29
|
-
return guessedVersion === 'bs4';
|
30
|
-
}
|
31
|
-
export function isBs5() {
|
32
|
-
if (guessedVersion)
|
33
|
-
return guessedVersion === 'bs5';
|
34
|
-
guessedVersion = _guessBsVersion();
|
35
|
-
return guessedVersion === 'bs5';
|
36
|
-
}
|
37
|
-
export function getBsVer() {
|
38
|
-
return {
|
39
|
-
isBs4: isBs4(),
|
40
|
-
isBs5: isBs5()
|
41
|
-
};
|
42
|
-
}
|
43
|
-
export function currentBsVersion() {
|
44
|
-
const bsVer = getBsVer();
|
45
|
-
const resVersion = Object.keys(bsVer).find(key => bsVer[key]);
|
46
|
-
return BsVerions[resVersion];
|
47
|
-
}
|
48
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGhlbWUtcHJvdmlkZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvdXRpbHMvdGhlbWUtcHJvdmlkZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLE1BQU0sRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBYTFDLE1BQU0sQ0FBTixJQUFZLFNBR1g7QUFIRCxXQUFZLFNBQVM7SUFDbkIsMEJBQWEsQ0FBQTtJQUNiLDBCQUFhLENBQUE7QUFDZixDQUFDLEVBSFcsU0FBUyxLQUFULFNBQVMsUUFHcEI7QUFFRCxJQUFJLGNBQW1DLENBQUM7QUFFeEMsU0FBUyxlQUFlO0lBQ3RCLE1BQU0sTUFBTSxHQUFHLE1BQU0sQ0FBQyxRQUFRLENBQUMsYUFBYSxDQUFDLE1BQU0sQ0FBQyxDQUFDO0lBQ3JELE1BQU0sQ0FBQyxTQUFTLEdBQUcsb0JBQW9CLENBQUM7SUFDeEMsTUFBTSxDQUFDLFNBQVMsQ0FBQyxHQUFHLENBQUMsUUFBUSxDQUFDLENBQUM7SUFDL0IsTUFBTSxDQUFDLFNBQVMsQ0FBQyxHQUFHLENBQUMsTUFBTSxDQUFDLENBQUM7SUFDN0IsTUFBTSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLE1BQU0sQ0FBQyxDQUFDO0lBQ3pDLE1BQU0sWUFBWSxHQUFHLE1BQU0sQ0FBQyxnQkFBZ0IsQ0FBQyxNQUFNLENBQUMsQ0FBQyxXQUFXLENBQUM7SUFFakUsSUFBSSxZQUFZLElBQUksVUFBVSxDQUFDLFlBQVksQ0FBQyxFQUFFLENBQUM7UUFDN0MsTUFBTSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBQ3pDLE9BQU8sS0FBSyxDQUFDO0lBQ2YsQ0FBQztJQUVELE1BQU0sQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxNQUFNLENBQUMsQ0FBQztJQUN6QyxPQUFPLEtBQUssQ0FBQztBQUNmLENBQUM7QUFFRCxNQUFNLFVBQVUsUUFBUSxDQUFDLEtBQTBCO0lBQ2pELGNBQWMsR0FBRyxLQUFLLENBQUM7QUFDekIsQ0FBQztBQUVELE1BQU0sVUFBVSxLQUFLO0lBQ25CLElBQUksY0FBYztRQUFFLE9BQU8sY0FBYyxLQUFLLEtBQUssQ0FBQztJQUVwRCxjQUFjLEdBQUcsZUFBZSxFQUFFLENBQUM7SUFDbkMsT0FBTyxjQUFjLEtBQUssS0FBSyxDQUFDO0FBQ2xDLENBQUM7QUFFRCxNQUFNLFVBQVUsS0FBSztJQUNuQixJQUFJLGNBQWM7UUFBRSxPQUFPLGNBQWMsS0FBSyxLQUFLLENBQUM7SUFFcEQsY0FBYyxHQUFHLGVBQWUsRUFBRSxDQUFDO0lBQ25DLE9BQU8sY0FBYyxLQUFLLEtBQUssQ0FBQztBQUNsQyxDQUFDO0FBRUQsTUFBTSxVQUFVLFFBQVE7SUFDdEIsT0FBTztRQUNMLEtBQUssRUFBRSxLQUFLLEVBQUU7UUFDZCxLQUFLLEVBQUUsS0FBSyxFQUFFO0tBQ2YsQ0FBQztBQUNKLENBQUM7QUFFRCxNQUFNLFVBQVUsZ0JBQWdCO0lBQzlCLE1BQU0sS0FBSyxHQUFHLFFBQVEsRUFBRSxDQUFDO0lBQ3pCLE1BQU0sVUFBVSxHQUFHLE1BQU0sQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUM7SUFDOUQsT0FBTyxTQUFTLENBQUMsVUFBb0MsQ0FBQyxDQUFDO0FBQ3pELENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyB3aW5kb3cgfSBmcm9tICcuL2ZhY2FkZS9icm93c2VyJztcblxuZXhwb3J0IHR5cGUgQXZhaWxhYmxlQnNWZXJzaW9ucyA9ICdiczQnIHwgJ2JzNSc7XG5cbmludGVyZmFjZSBJT2JqZWN0S2V5cyB7XG4gIFtrZXk6IHN0cmluZ106IGJvb2xlYW47XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgSUJzVmVyc2lvbiBleHRlbmRzIElPYmplY3RLZXlze1xuICBpc0JzNDogYm9vbGVhbjtcbiAgaXNCczU6IGJvb2xlYW47XG59XG5cbmV4cG9ydCBlbnVtIEJzVmVyaW9ucyB7XG4gIGlzQnM0ID0gJ2JzNCcsXG4gIGlzQnM1ID0gJ2JzNSdcbn1cblxubGV0IGd1ZXNzZWRWZXJzaW9uOiBBdmFpbGFibGVCc1ZlcnNpb25zO1xuXG5mdW5jdGlvbiBfZ3Vlc3NCc1ZlcnNpb24oKTogQXZhaWxhYmxlQnNWZXJzaW9ucyB7XG4gIGNvbnN0IHNwYW5FbCA9IHdpbmRvdy5kb2N1bWVudC5jcmVhdGVFbGVtZW50KCdzcGFuJyk7XG4gIHNwYW5FbC5pbm5lclRleHQgPSAndGVzdGluZyBicyB2ZXJzaW9uJztcbiAgc3BhbkVsLmNsYXNzTGlzdC5hZGQoJ2Qtbm9uZScpO1xuICBzcGFuRWwuY2xhc3NMaXN0LmFkZCgncGwtMScpO1xuICB3aW5kb3cuZG9jdW1lbnQuaGVhZC5hcHBlbmRDaGlsZChzcGFuRWwpO1xuICBjb25zdCBjaGVja1BhZGRpbmcgPSB3aW5kb3cuZ2V0Q29tcHV0ZWRTdHlsZShzcGFuRWwpLnBhZGRpbmdMZWZ0O1xuXG4gIGlmIChjaGVja1BhZGRpbmcgJiYgcGFyc2VGbG9hdChjaGVja1BhZGRpbmcpKSB7XG4gICAgd2luZG93LmRvY3VtZW50LmhlYWQucmVtb3ZlQ2hpbGQoc3BhbkVsKTtcbiAgICByZXR1cm4gJ2JzNCc7XG4gIH1cblxuICB3aW5kb3cuZG9jdW1lbnQuaGVhZC5yZW1vdmVDaGlsZChzcGFuRWwpO1xuICByZXR1cm4gJ2JzNSc7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBzZXRUaGVtZSh0aGVtZTogQXZhaWxhYmxlQnNWZXJzaW9ucyk6IHZvaWQge1xuICBndWVzc2VkVmVyc2lvbiA9IHRoZW1lO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gaXNCczQoKTogYm9vbGVhbiB7XG4gIGlmIChndWVzc2VkVmVyc2lvbikgcmV0dXJuIGd1ZXNzZWRWZXJzaW9uID09PSAnYnM0JztcblxuICBndWVzc2VkVmVyc2lvbiA9IF9ndWVzc0JzVmVyc2lvbigpO1xuICByZXR1cm4gZ3Vlc3NlZFZlcnNpb24gPT09ICdiczQnO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gaXNCczUoKTogYm9vbGVhbiB7XG4gIGlmIChndWVzc2VkVmVyc2lvbikgcmV0dXJuIGd1ZXNzZWRWZXJzaW9uID09PSAnYnM1JztcblxuICBndWVzc2VkVmVyc2lvbiA9IF9ndWVzc0JzVmVyc2lvbigpO1xuICByZXR1cm4gZ3Vlc3NlZFZlcnNpb24gPT09ICdiczUnO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gZ2V0QnNWZXIoKTogSUJzVmVyc2lvbiB7XG4gIHJldHVybiB7XG4gICAgaXNCczQ6IGlzQnM0KCksXG4gICAgaXNCczU6IGlzQnM1KClcbiAgfTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGN1cnJlbnRCc1ZlcnNpb24oKTogQXZhaWxhYmxlQnNWZXJzaW9ucyB7XG4gIGNvbnN0IGJzVmVyID0gZ2V0QnNWZXIoKTtcbiAgY29uc3QgcmVzVmVyc2lvbiA9IE9iamVjdC5rZXlzKGJzVmVyKS5maW5kKGtleSA9PiBic1ZlcltrZXldKTtcbiAgcmV0dXJuIEJzVmVyaW9uc1tyZXNWZXJzaW9uIGFzIGtleW9mIHR5cGVvZiBCc1ZlcmlvbnNdO1xufVxuXG5cbiJdfQ==
|
@@ -1,14 +0,0 @@
|
|
1
|
-
/**
|
2
|
-
* @copyright Valor Software
|
3
|
-
* @copyright Angular ng-bootstrap team
|
4
|
-
*/
|
5
|
-
export class Trigger {
|
6
|
-
constructor(open, close) {
|
7
|
-
this.open = open;
|
8
|
-
this.close = close || open;
|
9
|
-
}
|
10
|
-
isManual() {
|
11
|
-
return this.open === 'manual' || this.close === 'manual';
|
12
|
-
}
|
13
|
-
}
|
14
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJpZ2dlci5jbGFzcy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy91dGlscy90cmlnZ2VyLmNsYXNzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7R0FHRztBQUVILE1BQU0sT0FBTyxPQUFPO0lBSWxCLFlBQVksSUFBWSxFQUFFLEtBQWM7UUFDdEMsSUFBSSxDQUFDLElBQUksR0FBRyxJQUFJLENBQUM7UUFDakIsSUFBSSxDQUFDLEtBQUssR0FBRyxLQUFLLElBQUksSUFBSSxDQUFDO0lBQzdCLENBQUM7SUFFRCxRQUFRO1FBQ04sT0FBTyxJQUFJLENBQUMsSUFBSSxLQUFLLFFBQVEsSUFBSSxJQUFJLENBQUMsS0FBSyxLQUFLLFFBQVEsQ0FBQztJQUMzRCxDQUFDO0NBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEBjb3B5cmlnaHQgVmFsb3IgU29mdHdhcmVcbiAqIEBjb3B5cmlnaHQgQW5ndWxhciBuZy1ib290c3RyYXAgdGVhbVxuICovXG5cbmV4cG9ydCBjbGFzcyBUcmlnZ2VyIHtcbiAgb3Blbjogc3RyaW5nO1xuICBjbG9zZT86IHN0cmluZztcblxuICBjb25zdHJ1Y3RvcihvcGVuOiBzdHJpbmcsIGNsb3NlPzogc3RyaW5nKSB7XG4gICAgdGhpcy5vcGVuID0gb3BlbjtcbiAgICB0aGlzLmNsb3NlID0gY2xvc2UgfHwgb3BlbjtcbiAgfVxuXG4gIGlzTWFudWFsKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLm9wZW4gPT09ICdtYW51YWwnIHx8IHRoaXMuY2xvc2UgPT09ICdtYW51YWwnO1xuICB9XG59XG4iXX0=
|
@@ -1,120 +0,0 @@
|
|
1
|
-
import { Trigger } from './trigger.class';
|
2
|
-
const DEFAULT_ALIASES = {
|
3
|
-
hover: ['mouseover', 'mouseout'],
|
4
|
-
focus: ['focusin', 'focusout']
|
5
|
-
};
|
6
|
-
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
7
|
-
export function parseTriggers(triggers, aliases = DEFAULT_ALIASES) {
|
8
|
-
const trimmedTriggers = (triggers || '').trim();
|
9
|
-
if (trimmedTriggers.length === 0) {
|
10
|
-
return [];
|
11
|
-
}
|
12
|
-
const parsedTriggers = trimmedTriggers
|
13
|
-
.split(/\s+/)
|
14
|
-
.map((trigger) => trigger.split(':'))
|
15
|
-
.map((triggerPair) => {
|
16
|
-
const alias = aliases[triggerPair[0]] || triggerPair;
|
17
|
-
return new Trigger(alias[0], alias[1]);
|
18
|
-
});
|
19
|
-
const manualTriggers = parsedTriggers.filter((triggerPair) => triggerPair.isManual());
|
20
|
-
if (manualTriggers.length > 1) {
|
21
|
-
throw new Error('Triggers parse error: only one manual trigger is allowed');
|
22
|
-
}
|
23
|
-
if (manualTriggers.length === 1 && parsedTriggers.length > 1) {
|
24
|
-
throw new Error('Triggers parse error: manual trigger can\'t be mixed with other triggers');
|
25
|
-
}
|
26
|
-
return parsedTriggers;
|
27
|
-
}
|
28
|
-
export function listenToTriggers(renderer,
|
29
|
-
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
30
|
-
target, triggers, showFn, hideFn, toggleFn) {
|
31
|
-
const parsedTriggers = parseTriggers(triggers);
|
32
|
-
const listeners = [];
|
33
|
-
if (parsedTriggers.length === 1 && parsedTriggers[0].isManual()) {
|
34
|
-
return Function.prototype;
|
35
|
-
}
|
36
|
-
parsedTriggers.forEach((trigger) => {
|
37
|
-
if (trigger.open === trigger.close) {
|
38
|
-
listeners.push(renderer.listen(target, trigger.open, toggleFn));
|
39
|
-
return;
|
40
|
-
}
|
41
|
-
listeners.push(renderer.listen(target, trigger.open, showFn));
|
42
|
-
if (trigger.close) {
|
43
|
-
listeners.push(renderer.listen(target, trigger.close, hideFn));
|
44
|
-
}
|
45
|
-
});
|
46
|
-
return () => {
|
47
|
-
listeners.forEach((unsubscribeFn) => unsubscribeFn());
|
48
|
-
};
|
49
|
-
}
|
50
|
-
export function listenToTriggersV2(renderer, options) {
|
51
|
-
const parsedTriggers = parseTriggers(options.triggers);
|
52
|
-
const target = options.target;
|
53
|
-
// do nothing
|
54
|
-
if (parsedTriggers.length === 1 && parsedTriggers[0].isManual()) {
|
55
|
-
return Function.prototype;
|
56
|
-
}
|
57
|
-
// all listeners
|
58
|
-
const listeners = [];
|
59
|
-
// lazy listeners registration
|
60
|
-
const _registerHide = [];
|
61
|
-
const registerHide = () => {
|
62
|
-
// add hide listeners to unregister array
|
63
|
-
_registerHide.forEach((fn) => listeners.push(fn()));
|
64
|
-
// register hide events only once
|
65
|
-
_registerHide.length = 0;
|
66
|
-
};
|
67
|
-
// register open\close\toggle listeners
|
68
|
-
parsedTriggers.forEach((trigger) => {
|
69
|
-
const useToggle = trigger.open === trigger.close;
|
70
|
-
const showFn = useToggle ? options.toggle : options.show;
|
71
|
-
if (!useToggle && trigger.close && options.hide) {
|
72
|
-
const triggerClose = trigger.close;
|
73
|
-
const optionsHide = options.hide;
|
74
|
-
const _hide = () => renderer.listen(target, triggerClose, optionsHide);
|
75
|
-
_registerHide.push(_hide);
|
76
|
-
}
|
77
|
-
if (showFn) {
|
78
|
-
listeners.push(renderer.listen(target, trigger.open, () => showFn(registerHide)));
|
79
|
-
}
|
80
|
-
});
|
81
|
-
return () => {
|
82
|
-
listeners.forEach((unsubscribeFn) => unsubscribeFn());
|
83
|
-
};
|
84
|
-
}
|
85
|
-
export function registerOutsideClick(renderer, options) {
|
86
|
-
if (!options.outsideClick) {
|
87
|
-
return Function.prototype;
|
88
|
-
}
|
89
|
-
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
90
|
-
return renderer.listen('document', 'click', (event) => {
|
91
|
-
if (options.target && options.target.contains(event.target)) {
|
92
|
-
return;
|
93
|
-
}
|
94
|
-
if (options.targets &&
|
95
|
-
options.targets.some(target => target.contains(event.target))) {
|
96
|
-
return;
|
97
|
-
}
|
98
|
-
if (options.hide) {
|
99
|
-
options.hide();
|
100
|
-
}
|
101
|
-
});
|
102
|
-
}
|
103
|
-
export function registerEscClick(renderer, options) {
|
104
|
-
if (!options.outsideEsc) {
|
105
|
-
return Function.prototype;
|
106
|
-
}
|
107
|
-
return renderer.listen('document', 'keyup.esc', (event) => {
|
108
|
-
if (options.target && options.target.contains(event.target)) {
|
109
|
-
return;
|
110
|
-
}
|
111
|
-
if (options.targets &&
|
112
|
-
options.targets.some(target => target.contains(event.target))) {
|
113
|
-
return;
|
114
|
-
}
|
115
|
-
if (options.hide) {
|
116
|
-
options.hide();
|
117
|
-
}
|
118
|
-
});
|
119
|
-
}
|
120
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJpZ2dlcnMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvdXRpbHMvdHJpZ2dlcnMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBS0EsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBZ0IxQyxNQUFNLGVBQWUsR0FBRztJQUN0QixLQUFLLEVBQUUsQ0FBQyxXQUFXLEVBQUUsVUFBVSxDQUFDO0lBQ2hDLEtBQUssRUFBRSxDQUFDLFNBQVMsRUFBRSxVQUFVLENBQUM7Q0FDL0IsQ0FBQztBQUVGLDhEQUE4RDtBQUM5RCxNQUFNLFVBQVUsYUFBYSxDQUFDLFFBQWlCLEVBQUUsVUFBZSxlQUFlO0lBQzdFLE1BQU0sZUFBZSxHQUFHLENBQUMsUUFBUSxJQUFJLEVBQUUsQ0FBQyxDQUFDLElBQUksRUFBRSxDQUFDO0lBRWhELElBQUksZUFBZSxDQUFDLE1BQU0sS0FBSyxDQUFDLEVBQUUsQ0FBQztRQUNqQyxPQUFPLEVBQUUsQ0FBQztJQUNaLENBQUM7SUFFRCxNQUFNLGNBQWMsR0FBRyxlQUFlO1NBQ25DLEtBQUssQ0FBQyxLQUFLLENBQUM7U0FDWixHQUFHLENBQUMsQ0FBQyxPQUFlLEVBQUUsRUFBRSxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUM7U0FDNUMsR0FBRyxDQUFDLENBQUMsV0FBcUIsRUFBRSxFQUFFO1FBQzdCLE1BQU0sS0FBSyxHQUFHLE9BQU8sQ0FBQyxXQUFXLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxXQUFXLENBQUM7UUFFckQsT0FBTyxJQUFJLE9BQU8sQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLEVBQUUsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFDekMsQ0FBQyxDQUFDLENBQUM7SUFFTCxNQUFNLGNBQWMsR0FBRyxjQUFjLENBQUMsTUFBTSxDQUFDLENBQUMsV0FBb0IsRUFBRSxFQUFFLENBQ3BFLFdBQVcsQ0FBQyxRQUFRLEVB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QUNULENBQUM7UUFFRCxJQUFJLE9BQU8sQ0FBQyxJQUFJLEVBQUUsQ0FBQztZQUNqQixPQUFPLENBQUMsSUFBSSxFQUFFLENBQUM7UUFDakIsQ0FBQztJQUNILENBQUMsQ0FBQyxDQUFDO0FBQ0wsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogQGNvcHlyaWdodCBWYWxvciBTb2Z0d2FyZVxuICogQGNvcHlyaWdodCBBbmd1bGFyIG5nLWJvb3RzdHJhcCB0ZWFtXG4gKi9cbmltcG9ydCB7IFJlbmRlcmVyMiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgVHJpZ2dlciB9IGZyb20gJy4vdHJpZ2dlci5jbGFzcyc7XG5cbi8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tZXhwbGljaXQtYW55XG5leHBvcnQgdHlwZSBCc0V2ZW50Q2FsbGJhY2sgPSAoZXZlbnQ/OiBhbnkpID0+IGJvb2xlYW4gfCB2b2lkO1xuXG5leHBvcnQgaW50ZXJmYWNlIExpc3Rlbk9wdGlvbnMge1xuICB0YXJnZXQ/OiBIVE1MRWxlbWVudDtcbiAgdGFyZ2V0cz86IEhUTUxFbGVtZW50W107XG4gIHRyaWdnZXJzPzogc3RyaW5nO1xuICBvdXRzaWRlQ2xpY2s/OiBib29sZWFuO1xuICBvdXRzaWRlRXNjPzogYm9vbGVhbjtcbiAgc2hvdz86IEJzRXZlbnRDYWxsYmFjaztcbiAgaGlkZT86IEJzRXZlbnRDYWxsYmFjaztcbiAgdG9nZ2xlPzogQnNFdmVudENhbGxiYWNrO1xufVxuXG5jb25zdCBERUZBVUxUX0FMSUFTRVMgPSB7XG4gIGhvdmVyOiBbJ21vdXNlb3ZlcicsICdtb3VzZW91dCddLFxuICBmb2N1czogWydmb2N1c2luJywgJ2ZvY3Vzb3V0J11cbn07XG5cbi8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tZXhwbGljaXQtYW55XG5leHBvcnQgZnVuY3Rpb24gcGFyc2VUcmlnZ2Vycyh0cmlnZ2Vycz86IHN0cmluZywgYWxpYXNlczogYW55ID0gREVGQVVMVF9BTElBU0VTKTogVHJpZ2dlcltdIHtcbiAgY29uc3QgdHJpbW1lZFRyaWdnZXJzID0gKHRyaWdnZXJzIHx8ICcnKS50cmltKCk7XG5cbiAgaWYgKHRyaW1tZWRUcmlnZ2Vycy5sZW5ndGggPT09IDApIHtcbiAgICByZXR1cm4gW107XG4gIH1cblxuICBjb25zdCBwYXJzZWRUcmlnZ2VycyA9IHRyaW1tZWRUcmlnZ2Vyc1xuICAgIC5zcGxpdCgvXFxzKy8pXG4gICAgLm1hcCgodHJpZ2dlcjogc3RyaW5nKSA9PiB0cmlnZ2VyLnNwbGl0KCc6JykpXG4gICAgLm1hcCgodHJpZ2dlclBhaXI6IHN0cmluZ1tdKSA9PiB7XG4gICAgICBjb25zdCBhbGlhcyA9IGFsaWFzZXNbdHJpZ2dlclBhaXJbMF1dIHx8IHRyaWdnZXJQYWlyO1xuXG4gICAgICByZXR1cm4gbmV3IFRyaWdnZXIoYWxpYXNbMF0sIGFsaWFzWzFdKTtcbiAgICB9KTtcblxuICBjb25zdCBtYW51YWxUcmlnZ2VycyA9IHBhcnNlZFRyaWdnZXJzLmZpbHRlcigodHJpZ2dlclBhaXI6IFRyaWdnZXIpID0+XG4gICAgdHJpZ2dlclBhaXIuaXNNYW51YWwoKVxuICApO1xuXG4gIGlmIChtYW51YWxUcmlnZ2Vycy5sZW5ndGggPiAxKSB7XG4gICAgdGhyb3cgbmV3IEVycm9yKCdUcmlnZ2VycyBwYXJzZSBlcnJvcjogb25seSBvbmUgbWFudWFsIHRyaWdnZXIgaXMgYWxsb3dlZCcpO1xuICB9XG5cbiAgaWYgKG1hbnVhbFRyaWdnZXJzLmxlbmd0aCA9PT0gMSAmJiBwYXJzZWRUcmlnZ2Vycy5sZW5ndGggPiAxKSB7XG4gICAgdGhyb3cgbmV3IEVycm9yKCdUcmlnZ2VycyBwYXJzZSBlcnJvcjogbWFudWFsIHRyaWdnZXIgY2FuXFwndCBiZSBtaXhlZCB3aXRoIG90aGVyIHRyaWdnZXJzJyk7XG4gIH1cblxuICByZXR1cm4gcGFyc2VkVHJpZ2dlcnM7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBsaXN0ZW5Ub1RyaWdnZXJzKHJlbmRlcmVyOiBSZW5kZXJlcjIsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25vLWV4cGxpY2l0LWFueVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGFyZ2V0OiBhbnksXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0cmlnZ2Vyczogc3RyaW5nLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2hvd0ZuOiBCc0V2ZW50Q2FsbGJhY2ssXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBoaWRlRm46IEJzRXZlbnRDYWxsYmFjayxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRvZ2dsZUZuOiBCc0V2ZW50Q2FsbGJhY2spOiAoKSA9PiB2b2lkIHtcbiAgY29uc3QgcGFyc2VkVHJpZ2dlcnMgPSBwYXJzZVRyaWdnZXJzKHRyaWdnZXJzKTtcbiAgY29uc3QgbGlzdGVuZXJzOiBBcnJheTwoKSA9PiB2b2lkPiA9IFtdO1xuXG4gIGlmIChwYXJzZWRUcmlnZ2Vycy5sZW5ndGggPT09IDEgJiYgcGFyc2VkVHJpZ2dlcnNbMF0uaXNNYW51YWwoKSkge1xuICAgIHJldHVybiBGdW5jdGlvbi5wcm90b3R5cGUgYXMgKCkgPT4gdm9pZDtcbiAgfVxuXG4gIHBhcnNlZFRyaWdnZXJzLmZvckVhY2goKHRyaWdnZXI6IFRyaWdnZXIpID0+IHtcbiAgICBpZiAodHJpZ2dlci5vcGVuID09PSB0cmlnZ2VyLmNsb3NlKSB7XG4gICAgICBsaXN0ZW5lcnMucHVzaChyZW5kZXJlci5saXN0ZW4odGFyZ2V0LCB0cmlnZ2VyLm9wZW4sIHRvZ2dsZUZuKSk7XG5cbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBsaXN0ZW5lcnMucHVzaChyZW5kZXJlci5saXN0ZW4odGFyZ2V0LCB0cmlnZ2VyLm9wZW4sIHNob3dGbikpO1xuICAgIGlmICh0cmlnZ2VyLmNsb3NlKSB7XG4gICAgICBsaXN0ZW5lcnMucHVzaChyZW5kZXJlci5saXN0ZW4odGFyZ2V0LCB0cmlnZ2VyLmNsb3NlLCBoaWRlRm4pKTtcbiAgICB9XG4gIH0pO1xuXG4gIHJldHVybiAoKSA9PiB7XG4gICAgbGlzdGVuZXJzLmZvckVhY2goKHVuc3Vic2NyaWJlRm4pID0+IHVuc3Vic2NyaWJlRm4oKSk7XG4gIH07XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBsaXN0ZW5Ub1RyaWdnZXJzVjIocmVuZGVyZXI6IFJlbmRlcmVyMixcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgb3B0aW9uczogTGlzdGVuT3B0aW9ucyk6ICgpID0+IHZvaWQge1xuICBjb25zdCBwYXJzZWRUcmlnZ2VycyA9IHBhcnNlVHJpZ2dlcnMob3B0aW9ucy50cmlnZ2Vycyk7XG4gIGNvbnN0IHRhcmdldCA9IG9wdGlvbnMudGFyZ2V0O1xuICAvLyBkbyBub3RoaW5nXG4gIGlmIChwYXJzZWRUcmlnZ2Vycy5sZW5ndGggPT09IDEgJiYgcGFyc2VkVHJpZ2dlcnNbMF0uaXNNYW51YWwoKSkge1xuICAgIHJldHVybiBGdW5jdGlvbi5wcm90b3R5cGUgYXMgKCkgPT4gdm9pZDtcbiAgfVxuXG4gIC8vIGFsbCBsaXN0ZW5lcnNcbiAgY29uc3QgbGlzdGVuZXJzOiBBcnJheTwoKSA9PiB2b2lkPiA9IFtdO1xuXG4gIC8vIGxhenkgbGlzdGVuZXJzIHJlZ2lzdHJhdGlvblxuICBjb25zdCBfcmVnaXN0ZXJIaWRlOiBBcnJheTwoKSA9PiAoKSA9PiB2b2lkPiA9IFtdO1xuICBjb25zdCByZWdpc3RlckhpZGUgPSAoKSA9PiB7XG4gICAgLy8gYWRkIGhpZGUgbGlzdGVuZXJzIHRvIHVucmVnaXN0ZXIgYXJyYXlcbiAgICBfcmVnaXN0ZXJIaWRlLmZvckVhY2goKGZuKSA9PiBsaXN0ZW5lcnMucHVzaChmbigpKSk7XG4gICAgLy8gcmVnaXN0ZXIgaGlkZSBldmVudHMgb25seSBvbmNlXG4gICAgX3JlZ2lzdGVySGlkZS5sZW5ndGggPSAwO1xuICB9O1xuXG4gIC8vIHJlZ2lzdGVyIG9wZW5cXGNsb3NlXFx0b2dnbGUgbGlzdGVuZXJzXG4gIHBhcnNlZFRyaWdnZXJzLmZvckVhY2goKHRyaWdnZXI6IFRyaWdnZXIpID0+IHtcbiAgICBjb25zdCB1c2VUb2dnbGUgPSB0cmlnZ2VyLm9wZW4gPT09IHRyaWdnZXIuY2xvc2U7XG4gICAgY29uc3Qgc2hvd0ZuID0gdXNlVG9nZ2xlID8gb3B0aW9ucy50b2dnbGUgOiBvcHRpb25zLnNob3c7XG5cbiAgICBpZiAoIXVzZVRvZ2dsZSAmJiB0cmlnZ2VyLmNsb3NlICYmIG9wdGlvbnMuaGlkZSkge1xuICAgICAgY29uc3QgdHJpZ2dlckNsb3NlID0gdHJpZ2dlci5jbG9zZTtcbiAgICAgIGNvbnN0IG9wdGlvbnNIaWRlID0gb3B0aW9ucy5oaWRlO1xuICAgICAgY29uc3QgX2hpZGUgPSAoKSA9PiByZW5kZXJlci5saXN0ZW4odGFyZ2V0LCB0cmlnZ2VyQ2xvc2UsIG9wdGlvbnNIaWRlKTtcbiAgICAgIF9yZWdpc3RlckhpZGUucHVzaChfaGlkZSk7XG4gICAgfVxuXG4gICAgaWYgKHNob3dGbikge1xuICAgICAgbGlzdGVuZXJzLnB1c2gocmVuZGVyZXIubGlzdGVuKHRhcmdldCwgdHJpZ2dlci5vcGVuLCAoKSA9PiBzaG93Rm4ocmVnaXN0ZXJIaWRlKSkpO1xuICAgIH1cbiAgfSk7XG5cbiAgcmV0dXJuICgpID0+IHtcbiAgICBsaXN0ZW5lcnMuZm9yRWFjaCgodW5zdWJzY3JpYmVGbjogKCkgPT4gdm9pZCkgPT4gdW5zdWJzY3JpYmVGbigpKTtcbiAgfTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHJlZ2lzdGVyT3V0c2lkZUNsaWNrKHJlbmRlcmVyOiBSZW5kZXJlcjIsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgb3B0aW9uczogTGlzdGVuT3B0aW9ucykge1xuICBpZiAoIW9wdGlvbnMub3V0c2lkZUNsaWNrKSB7XG4gICAgcmV0dXJuIEZ1bmN0aW9uLnByb3RvdHlwZTtcbiAgfVxuXG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tZXhwbGljaXQtYW55XG4gIHJldHVybiByZW5kZXJlci5saXN0ZW4oJ2RvY3VtZW50JywgJ2NsaWNrJywgKGV2ZW50OiBhbnkpID0+IHtcbiAgICBpZiAob3B0aW9ucy50YXJnZXQgJiYgb3B0aW9ucy50YXJnZXQuY29udGFpbnMoZXZlbnQudGFyZ2V0KSkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICBpZiAoXG4gICAgICBvcHRpb25zLnRhcmdldHMgJiZcbiAgICAgIG9wdGlvbnMudGFyZ2V0cy5zb21lKHRhcmdldCA9PiB0YXJnZXQuY29udGFpbnMoZXZlbnQudGFyZ2V0KSlcbiAgICApIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBpZiAob3B0aW9ucy5oaWRlKSB7XG4gICAgICBvcHRpb25zLmhpZGUoKTtcbiAgICB9XG4gIH0pO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gcmVnaXN0ZXJFc2NDbGljayhyZW5kZXJlcjogUmVuZGVyZXIyLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgb3B0aW9uczogTGlzdGVuT3B0aW9ucykge1xuICBpZiAoIW9wdGlvbnMub3V0c2lkZUVzYykge1xuICAgIHJldHVybiBGdW5jdGlvbi5wcm90b3R5cGU7XG4gIH1cblxuICByZXR1cm4gcmVuZGVyZXIubGlzdGVuKCdkb2N1bWVudCcsICdrZXl1cC5lc2MnLCAoZXZlbnQpID0+IHtcbiAgICBpZiAob3B0aW9ucy50YXJnZXQgJiYgb3B0aW9ucy50YXJnZXQuY29udGFpbnMoZXZlbnQudGFyZ2V0KSkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICBpZiAoXG4gICAgICBvcHRpb25zLnRhcmdldHMgJiZcbiAgICAgIG9wdGlvbnMudGFyZ2V0cy5zb21lKHRhcmdldCA9PiB0YXJnZXQuY29udGFpbnMoZXZlbnQudGFyZ2V0KSlcbiAgICApIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBpZiAob3B0aW9ucy5oaWRlKSB7XG4gICAgICBvcHRpb25zLmhpZGUoKTtcbiAgICB9XG4gIH0pO1xufVxuIl19
|