mis-crystal-design-system 14.0.55-test-v6 → 14.0.56-test
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/dropdown/dropdown.component.d.ts +2 -1
- package/dynamic-form/dynamic-form.component.d.ts +10 -2
- package/esm2020/async-search-dropdown/async-dropdown.component.mjs +1 -1
- package/esm2020/dropdown/dropdown.component.mjs +79 -50
- package/esm2020/dynamic-form/dynamic-form.component.mjs +471 -213
- package/fesm2015/mis-crystal-design-system-async-search-dropdown.mjs.map +1 -1
- package/fesm2015/mis-crystal-design-system-dropdown.mjs +87 -49
- package/fesm2015/mis-crystal-design-system-dropdown.mjs.map +1 -1
- package/fesm2015/mis-crystal-design-system-dynamic-form.mjs +524 -212
- package/fesm2015/mis-crystal-design-system-dynamic-form.mjs.map +1 -1
- package/fesm2020/mis-crystal-design-system-async-search-dropdown.mjs.map +1 -1
- package/fesm2020/mis-crystal-design-system-dropdown.mjs +78 -49
- package/fesm2020/mis-crystal-design-system-dropdown.mjs.map +1 -1
- package/fesm2020/mis-crystal-design-system-dynamic-form.mjs +470 -212
- package/fesm2020/mis-crystal-design-system-dynamic-form.mjs.map +1 -1
- package/package.json +1 -9
- package/datepicker/base/bs-datepicker-container.d.ts +0 -44
- package/datepicker/bs-datepicker-inline.component.d.ts +0 -64
- package/datepicker/bs-datepicker-inline.config.d.ts +0 -6
- package/datepicker/bs-datepicker-input.directive.d.ts +0 -33
- package/datepicker/bs-datepicker.component.d.ts +0 -126
- package/datepicker/bs-datepicker.config.d.ts +0 -143
- package/datepicker/bs-datepicker.module.d.ts +0 -29
- package/datepicker/bs-daterangepicker-inline.component.d.ts +0 -64
- package/datepicker/bs-daterangepicker-inline.config.d.ts +0 -9
- package/datepicker/bs-daterangepicker-input.directive.d.ts +0 -33
- package/datepicker/bs-daterangepicker.component.d.ts +0 -118
- package/datepicker/bs-daterangepicker.config.d.ts +0 -7
- package/datepicker/bs-locale.service.d.ts +0 -13
- package/datepicker/chronos/create/check-overflow.d.ts +0 -2
- package/datepicker/chronos/create/clone.d.ts +0 -1
- package/datepicker/chronos/create/date-from-array.d.ts +0 -2
- package/datepicker/chronos/create/from-anything.d.ts +0 -4
- package/datepicker/chronos/create/from-array.d.ts +0 -2
- package/datepicker/chronos/create/from-object.d.ts +0 -2
- package/datepicker/chronos/create/from-string-and-array.d.ts +0 -2
- package/datepicker/chronos/create/from-string-and-format.d.ts +0 -4
- package/datepicker/chronos/create/from-string.d.ts +0 -4
- package/datepicker/chronos/create/local.d.ts +0 -3
- package/datepicker/chronos/create/parsing-flags.d.ts +0 -2
- package/datepicker/chronos/create/parsing.types.d.ts +0 -64
- package/datepicker/chronos/create/valid.d.ts +0 -6
- package/datepicker/chronos/duration/bubble.d.ts +0 -4
- package/datepicker/chronos/duration/constructor.d.ts +0 -21
- package/datepicker/chronos/duration/create.d.ts +0 -8
- package/datepicker/chronos/duration/humanize.d.ts +0 -5
- package/datepicker/chronos/duration/valid.d.ts +0 -2
- package/datepicker/chronos/format/format.d.ts +0 -11
- package/datepicker/chronos/format.d.ts +0 -5
- package/datepicker/chronos/i18n/ar.d.ts +0 -2
- package/datepicker/chronos/i18n/bg.d.ts +0 -2
- package/datepicker/chronos/i18n/ca.d.ts +0 -2
- package/datepicker/chronos/i18n/cs.d.ts +0 -2
- package/datepicker/chronos/i18n/da.d.ts +0 -2
- package/datepicker/chronos/i18n/de.d.ts +0 -2
- package/datepicker/chronos/i18n/en-gb.d.ts +0 -2
- package/datepicker/chronos/i18n/es-do.d.ts +0 -2
- package/datepicker/chronos/i18n/es-us.d.ts +0 -2
- package/datepicker/chronos/i18n/es.d.ts +0 -2
- package/datepicker/chronos/i18n/et.d.ts +0 -2
- package/datepicker/chronos/i18n/fi.d.ts +0 -2
- package/datepicker/chronos/i18n/fr.d.ts +0 -2
- package/datepicker/chronos/i18n/gl.d.ts +0 -2
- package/datepicker/chronos/i18n/he.d.ts +0 -2
- package/datepicker/chronos/i18n/hi.d.ts +0 -2
- package/datepicker/chronos/i18n/hr.d.ts +0 -2
- package/datepicker/chronos/i18n/hu.d.ts +0 -2
- package/datepicker/chronos/i18n/id.d.ts +0 -2
- package/datepicker/chronos/i18n/it.d.ts +0 -2
- package/datepicker/chronos/i18n/ja.d.ts +0 -2
- package/datepicker/chronos/i18n/ka.d.ts +0 -2
- package/datepicker/chronos/i18n/kk.d.ts +0 -2
- package/datepicker/chronos/i18n/ko.d.ts +0 -2
- package/datepicker/chronos/i18n/lt.d.ts +0 -2
- package/datepicker/chronos/i18n/lv.d.ts +0 -2
- package/datepicker/chronos/i18n/mn.d.ts +0 -2
- package/datepicker/chronos/i18n/nb.d.ts +0 -2
- package/datepicker/chronos/i18n/nl-be.d.ts +0 -2
- package/datepicker/chronos/i18n/nl.d.ts +0 -2
- package/datepicker/chronos/i18n/pl.d.ts +0 -2
- package/datepicker/chronos/i18n/pt-br.d.ts +0 -2
- package/datepicker/chronos/i18n/ro.d.ts +0 -2
- package/datepicker/chronos/i18n/ru.d.ts +0 -2
- package/datepicker/chronos/i18n/sk.d.ts +0 -2
- package/datepicker/chronos/i18n/sl.d.ts +0 -2
- package/datepicker/chronos/i18n/sq.d.ts +0 -2
- package/datepicker/chronos/i18n/sv.d.ts +0 -2
- package/datepicker/chronos/i18n/th-be.d.ts +0 -2
- package/datepicker/chronos/i18n/th.d.ts +0 -2
- package/datepicker/chronos/i18n/tr.d.ts +0 -2
- package/datepicker/chronos/i18n/uk.d.ts +0 -2
- package/datepicker/chronos/i18n/vi.d.ts +0 -2
- package/datepicker/chronos/i18n/zh-cn.d.ts +0 -2
- package/datepicker/chronos/index.d.ts +0 -1
- package/datepicker/chronos/locale/calendar.d.ts +0 -8
- package/datepicker/chronos/locale/locale.class.d.ts +0 -143
- package/datepicker/chronos/locale/locale.defaults.d.ts +0 -11
- package/datepicker/chronos/locale/locales.d.ts +0 -7
- package/datepicker/chronos/moment/add-subtract.d.ts +0 -5
- package/datepicker/chronos/moment/calendar.d.ts +0 -15
- package/datepicker/chronos/moment/diff.d.ts +0 -3
- package/datepicker/chronos/moment/min-max.d.ts +0 -2
- package/datepicker/chronos/parse/regex.d.ts +0 -22
- package/datepicker/chronos/parse/token.d.ts +0 -5
- package/datepicker/chronos/public_api.d.ts +0 -57
- package/datepicker/chronos/test/chain.d.ts +0 -214
- package/datepicker/chronos/types.d.ts +0 -36
- package/datepicker/chronos/units/aliases.d.ts +0 -7
- package/datepicker/chronos/units/constants.d.ts +0 -9
- package/datepicker/chronos/units/day-of-month.d.ts +0 -1
- package/datepicker/chronos/units/day-of-week.d.ts +0 -20
- package/datepicker/chronos/units/day-of-year.d.ts +0 -3
- package/datepicker/chronos/units/hour.d.ts +0 -1
- package/datepicker/chronos/units/index.d.ts +0 -18
- package/datepicker/chronos/units/millisecond.d.ts +0 -1
- package/datepicker/chronos/units/minute.d.ts +0 -1
- package/datepicker/chronos/units/month.d.ts +0 -2
- package/datepicker/chronos/units/offset.d.ts +0 -10
- package/datepicker/chronos/units/priorities.d.ts +0 -1
- package/datepicker/chronos/units/quarter.d.ts +0 -3
- package/datepicker/chronos/units/second.d.ts +0 -1
- package/datepicker/chronos/units/timestamp.d.ts +0 -1
- package/datepicker/chronos/units/timezone.d.ts +0 -3
- package/datepicker/chronos/units/week-calendar-utils.d.ts +0 -9
- package/datepicker/chronos/units/week-year.d.ts +0 -8
- package/datepicker/chronos/units/week.d.ts +0 -6
- package/datepicker/chronos/units/year.d.ts +0 -4
- package/datepicker/chronos/utils/abs-ceil.d.ts +0 -1
- package/datepicker/chronos/utils/abs-round.d.ts +0 -1
- package/datepicker/chronos/utils/compare-arrays.d.ts +0 -1
- package/datepicker/chronos/utils/date-compare.d.ts +0 -9
- package/datepicker/chronos/utils/date-getters.d.ts +0 -18
- package/datepicker/chronos/utils/date-setters.d.ts +0 -12
- package/datepicker/chronos/utils/defaults.d.ts +0 -1
- package/datepicker/chronos/utils/start-end-of.d.ts +0 -3
- package/datepicker/chronos/utils/type-checks.d.ts +0 -12
- package/datepicker/chronos/utils/zero-fill.d.ts +0 -1
- package/datepicker/chronos/utils.d.ts +0 -2
- package/datepicker/component-loader/bs-component-ref.class.d.ts +0 -5
- package/datepicker/component-loader/component-loader.class.d.ts +0 -75
- package/datepicker/component-loader/component-loader.factory.d.ts +0 -21
- package/datepicker/component-loader/content-ref.class.d.ts +0 -7
- package/datepicker/component-loader/index.d.ts +0 -1
- package/datepicker/component-loader/listen-options.model.d.ts +0 -11
- package/datepicker/component-loader/public_api.d.ts +0 -4
- package/datepicker/date-formatter.d.ts +0 -3
- package/datepicker/datepicker-animations.d.ts +0 -3
- package/datepicker/datepicker-inner.component.d.ts +0 -78
- package/datepicker/datepicker.component.d.ts +0 -81
- package/datepicker/datepicker.config.d.ts +0 -22
- package/datepicker/datepicker.module.d.ts +0 -15
- package/datepicker/daypicker.component.d.ts +0 -17
- package/datepicker/engine/calc-days-calendar.d.ts +0 -2
- package/datepicker/engine/flag-days-calendar.d.ts +0 -17
- package/datepicker/engine/flag-months-calendar.d.ts +0 -12
- package/datepicker/engine/flag-years-calendar.d.ts +0 -12
- package/datepicker/engine/format-days-calendar.d.ts +0 -4
- package/datepicker/engine/format-months-calendar.d.ts +0 -2
- package/datepicker/engine/format-years-calendar.d.ts +0 -4
- package/datepicker/engine/view-mode.d.ts +0 -2
- package/datepicker/index.d.ts +0 -1
- package/datepicker/mini-ngrx/index.d.ts +0 -1
- package/datepicker/mini-ngrx/public_api.d.ts +0 -7
- package/datepicker/mini-ngrx/state.class.d.ts +0 -8
- package/datepicker/mini-ngrx/store.class.d.ts +0 -16
- package/datepicker/models/index.d.ts +0 -102
- package/datepicker/monthpicker.component.d.ts +0 -14
- package/datepicker/positioning/index.d.ts +0 -1
- package/datepicker/positioning/models/index.d.ts +0 -41
- package/datepicker/positioning/modifiers/arrow.d.ts +0 -2
- package/datepicker/positioning/modifiers/flip.d.ts +0 -2
- package/datepicker/positioning/modifiers/index.d.ts +0 -5
- package/datepicker/positioning/modifiers/initData.d.ts +0 -2
- package/datepicker/positioning/modifiers/preventOverflow.d.ts +0 -2
- package/datepicker/positioning/modifiers/shift.d.ts +0 -2
- package/datepicker/positioning/ng-positioning.d.ts +0 -8
- package/datepicker/positioning/positioning.service.d.ts +0 -48
- package/datepicker/positioning/public_api.d.ts +0 -2
- package/datepicker/positioning/utils/computeAutoPlacement.d.ts +0 -2
- package/datepicker/positioning/utils/findCommonOffsetParent.d.ts +0 -1
- package/datepicker/positioning/utils/getBordersSize.d.ts +0 -4
- package/datepicker/positioning/utils/getBoundaries.d.ts +0 -1
- package/datepicker/positioning/utils/getBoundingClientRect.d.ts +0 -2
- package/datepicker/positioning/utils/getClientRect.d.ts +0 -5
- package/datepicker/positioning/utils/getFixedPositionOffsetParent.d.ts +0 -4
- package/datepicker/positioning/utils/getOffsetParent.d.ts +0 -1
- package/datepicker/positioning/utils/getOffsetRectRelativeToArbitraryNode.d.ts +0 -2
- package/datepicker/positioning/utils/getOffsets.d.ts +0 -2
- package/datepicker/positioning/utils/getOppositePlacement.d.ts +0 -4
- package/datepicker/positioning/utils/getOppositeVariation.d.ts +0 -4
- package/datepicker/positioning/utils/getOuterSizes.d.ts +0 -7
- package/datepicker/positioning/utils/getParentNode.d.ts +0 -4
- package/datepicker/positioning/utils/getReferenceOffsets.d.ts +0 -2
- package/datepicker/positioning/utils/getRoot.d.ts +0 -4
- package/datepicker/positioning/utils/getScroll.d.ts +0 -4
- package/datepicker/positioning/utils/getScrollParent.d.ts +0 -1
- package/datepicker/positioning/utils/getStyleComputedProperty.d.ts +0 -4
- package/datepicker/positioning/utils/getTargetOffsets.d.ts +0 -2
- package/datepicker/positioning/utils/getViewportOffsetRectRelativeToArtbitraryNode.d.ts +0 -2
- package/datepicker/positioning/utils/getWindowSizes.d.ts +0 -4
- package/datepicker/positioning/utils/includeScroll.d.ts +0 -2
- package/datepicker/positioning/utils/index.d.ts +0 -23
- package/datepicker/positioning/utils/isBrowser.d.ts +0 -1
- package/datepicker/positioning/utils/isFixed.d.ts +0 -1
- package/datepicker/positioning/utils/isIE.d.ts +0 -1
- package/datepicker/positioning/utils/isModifierEnabled.d.ts +0 -4
- package/datepicker/positioning/utils/isNumeric.d.ts +0 -4
- package/datepicker/positioning/utils/isOffsetContainer.d.ts +0 -1
- package/datepicker/positioning/utils/setStyles.d.ts +0 -5
- package/datepicker/positioning/utils/updateContainerClass.d.ts +0 -6
- package/datepicker/public_api.d.ts +0 -25
- package/datepicker/reducer/_defaults.d.ts +0 -2
- package/datepicker/reducer/bs-datepicker.actions.d.ts +0 -46
- package/datepicker/reducer/bs-datepicker.effects.d.ts +0 -41
- package/datepicker/reducer/bs-datepicker.reducer.d.ts +0 -3
- package/datepicker/reducer/bs-datepicker.state.d.ts +0 -43
- package/datepicker/reducer/bs-datepicker.store.d.ts +0 -8
- package/datepicker/themes/bs/bs-calendar-layout.component.d.ts +0 -5
- package/datepicker/themes/bs/bs-current-date-view.component.d.ts +0 -6
- package/datepicker/themes/bs/bs-custom-dates-view.component.d.ts +0 -17
- package/datepicker/themes/bs/bs-datepicker-container.component.d.ts +0 -36
- package/datepicker/themes/bs/bs-datepicker-day-decorator.directive.d.ts +0 -14
- package/datepicker/themes/bs/bs-datepicker-inline-container.component.d.ts +0 -13
- package/datepicker/themes/bs/bs-datepicker-navigation-view.component.d.ts +0 -12
- package/datepicker/themes/bs/bs-daterangepicker-container.component.d.ts +0 -40
- package/datepicker/themes/bs/bs-daterangepicker-inline-container.component.d.ts +0 -13
- package/datepicker/themes/bs/bs-days-calendar-view.component.d.ts +0 -26
- package/datepicker/themes/bs/bs-months-calendar-view.component.d.ts +0 -16
- package/datepicker/themes/bs/bs-timepicker-view.component.d.ts +0 -8
- package/datepicker/themes/bs/bs-years-calendar-view.component.d.ts +0 -16
- package/datepicker/utils/bs-calendar-utils.d.ts +0 -10
- package/datepicker/utils/matrix-utils.d.ts +0 -9
- package/datepicker/utils-v2/decorators.d.ts +0 -1
- package/datepicker/utils-v2/facade/browser.d.ts +0 -23
- package/datepicker/utils-v2/index.d.ts +0 -1
- package/datepicker/utils-v2/linked-list.class.d.ts +0 -26
- package/datepicker/utils-v2/public_api.d.ts +0 -10
- package/datepicker/utils-v2/theme-provider.d.ts +0 -2
- package/datepicker/utils-v2/trigger.class.d.ts +0 -6
- package/datepicker/utils-v2/triggers.d.ts +0 -18
- package/datepicker/utils-v2/utils.class.d.ts +0 -4
- package/datepicker/utils-v2/warn-once.d.ts +0 -1
- package/datepicker/yearpicker.component.d.ts +0 -14
- package/esm2020/datepicker/base/bs-datepicker-container.mjs +0 -47
- package/esm2020/datepicker/bs-datepicker-inline.component.mjs +0 -137
- package/esm2020/datepicker/bs-datepicker-inline.config.mjs +0 -14
- package/esm2020/datepicker/bs-datepicker-input.directive.mjs +0 -160
- package/esm2020/datepicker/bs-datepicker.component.mjs +0 -254
- package/esm2020/datepicker/bs-datepicker.config.mjs +0 -87
- package/esm2020/datepicker/bs-datepicker.module.mjs +0 -126
- package/esm2020/datepicker/bs-daterangepicker-inline.component.mjs +0 -134
- package/esm2020/datepicker/bs-daterangepicker-inline.config.mjs +0 -21
- package/esm2020/datepicker/bs-daterangepicker-input.directive.mjs +0 -192
- package/esm2020/datepicker/bs-daterangepicker.component.mjs +0 -240
- package/esm2020/datepicker/bs-daterangepicker.config.mjs +0 -19
- package/esm2020/datepicker/bs-locale.service.mjs +0 -32
- package/esm2020/datepicker/chronos/create/check-overflow.mjs +0 -30
- package/esm2020/datepicker/chronos/create/clone.mjs +0 -6
- package/esm2020/datepicker/chronos/create/date-from-array.mjs +0 -17
- package/esm2020/datepicker/chronos/create/from-anything.mjs +0 -107
- package/esm2020/datepicker/chronos/create/from-array.mjs +0 -136
- package/esm2020/datepicker/chronos/create/from-object.mjs +0 -17
- package/esm2020/datepicker/chronos/create/from-string-and-array.mjs +0 -38
- package/esm2020/datepicker/chronos/create/from-string-and-format.mjs +0 -106
- package/esm2020/datepicker/chronos/create/from-string.mjs +0 -227
- package/esm2020/datepicker/chronos/create/local.mjs +0 -16
- package/esm2020/datepicker/chronos/create/parsing-flags.mjs +0 -26
- package/esm2020/datepicker/chronos/create/parsing.types.mjs +0 -2
- package/esm2020/datepicker/chronos/create/valid.mjs +0 -42
- package/esm2020/datepicker/chronos/duration/bubble.mjs +0 -47
- package/esm2020/datepicker/chronos/duration/constructor.mjs +0 -130
- package/esm2020/datepicker/chronos/duration/create.mjs +0 -113
- package/esm2020/datepicker/chronos/duration/humanize.mjs +0 -80
- package/esm2020/datepicker/chronos/duration/valid.mjs +0 -43
- package/esm2020/datepicker/chronos/format/format.mjs +0 -51
- package/esm2020/datepicker/chronos/format.mjs +0 -46
- package/esm2020/datepicker/chronos/i18n/ar.mjs +0 -128
- package/esm2020/datepicker/chronos/i18n/bg.mjs +0 -94
- package/esm2020/datepicker/chronos/i18n/ca.mjs +0 -91
- package/esm2020/datepicker/chronos/i18n/cs.mjs +0 -179
- package/esm2020/datepicker/chronos/i18n/da.mjs +0 -50
- package/esm2020/datepicker/chronos/i18n/de.mjs +0 -72
- package/esm2020/datepicker/chronos/i18n/en-gb.mjs +0 -61
- package/esm2020/datepicker/chronos/i18n/es-do.mjs +0 -85
- package/esm2020/datepicker/chronos/i18n/es-us.mjs +0 -79
- package/esm2020/datepicker/chronos/i18n/es.mjs +0 -84
- package/esm2020/datepicker/chronos/i18n/et.mjs +0 -73
- package/esm2020/datepicker/chronos/i18n/fi.mjs +0 -100
- package/esm2020/datepicker/chronos/i18n/fr.mjs +0 -76
- package/esm2020/datepicker/chronos/i18n/gl.mjs +0 -84
- package/esm2020/datepicker/chronos/i18n/he.mjs +0 -98
- package/esm2020/datepicker/chronos/i18n/hi.mjs +0 -124
- package/esm2020/datepicker/chronos/i18n/hr.mjs +0 -62
- package/esm2020/datepicker/chronos/i18n/hu.mjs +0 -104
- package/esm2020/datepicker/chronos/i18n/id.mjs +0 -83
- package/esm2020/datepicker/chronos/i18n/it.mjs +0 -65
- package/esm2020/datepicker/chronos/i18n/ja.mjs +0 -75
- package/esm2020/datepicker/chronos/i18n/ka.mjs +0 -87
- package/esm2020/datepicker/chronos/i18n/kk.mjs +0 -76
- package/esm2020/datepicker/chronos/i18n/ko.mjs +0 -77
- package/esm2020/datepicker/chronos/i18n/lt.mjs +0 -116
- package/esm2020/datepicker/chronos/i18n/lv.mjs +0 -56
- package/esm2020/datepicker/chronos/i18n/mn.mjs +0 -99
- package/esm2020/datepicker/chronos/i18n/nb.mjs +0 -53
- package/esm2020/datepicker/chronos/i18n/nl-be.mjs +0 -81
- package/esm2020/datepicker/chronos/i18n/nl.mjs +0 -80
- package/esm2020/datepicker/chronos/i18n/pl.mjs +0 -126
- package/esm2020/datepicker/chronos/i18n/pt-br.mjs +0 -56
- package/esm2020/datepicker/chronos/i18n/ro.mjs +0 -66
- package/esm2020/datepicker/chronos/i18n/ru.mjs +0 -181
- package/esm2020/datepicker/chronos/i18n/sk.mjs +0 -157
- package/esm2020/datepicker/chronos/i18n/sl.mjs +0 -184
- package/esm2020/datepicker/chronos/i18n/sq.mjs +0 -54
- package/esm2020/datepicker/chronos/i18n/sv.mjs +0 -63
- package/esm2020/datepicker/chronos/i18n/th-be.mjs +0 -74
- package/esm2020/datepicker/chronos/i18n/th.mjs +0 -59
- package/esm2020/datepicker/chronos/i18n/tr.mjs +0 -82
- package/esm2020/datepicker/chronos/i18n/uk.mjs +0 -147
- package/esm2020/datepicker/chronos/i18n/vi.mjs +0 -74
- package/esm2020/datepicker/chronos/i18n/zh-cn.mjs +0 -114
- package/esm2020/datepicker/chronos/index.mjs +0 -2
- package/esm2020/datepicker/chronos/locale/calendar.mjs +0 -9
- package/esm2020/datepicker/chronos/locale/locale.class.mjs +0 -532
- package/esm2020/datepicker/chronos/locale/locale.defaults.mjs +0 -40
- package/esm2020/datepicker/chronos/locale/locales.mjs +0 -229
- package/esm2020/datepicker/chronos/moment/add-subtract.mjs +0 -35
- package/esm2020/datepicker/chronos/moment/calendar.mjs +0 -41
- package/esm2020/datepicker/chronos/moment/diff.mjs +0 -70
- package/esm2020/datepicker/chronos/moment/min-max.mjs +0 -38
- package/esm2020/datepicker/chronos/parse/regex.mjs +0 -49
- package/esm2020/datepicker/chronos/parse/token.mjs +0 -32
- package/esm2020/datepicker/chronos/public_api.mjs +0 -56
- package/esm2020/datepicker/chronos/test/chain.mjs +0 -711
- package/esm2020/datepicker/chronos/types.mjs +0 -2
- package/esm2020/datepicker/chronos/units/aliases.mjs +0 -35
- package/esm2020/datepicker/chronos/units/constants.mjs +0 -11
- package/esm2020/datepicker/chronos/units/day-of-month.mjs +0 -31
- package/esm2020/datepicker/chronos/units/day-of-week.mjs +0 -129
- package/esm2020/datepicker/chronos/units/day-of-year.mjs +0 -37
- package/esm2020/datepicker/chronos/units/hour.mjs +0 -127
- package/esm2020/datepicker/chronos/units/index.mjs +0 -19
- package/esm2020/datepicker/chronos/units/millisecond.mjs +0 -60
- package/esm2020/datepicker/chronos/units/minute.mjs +0 -23
- package/esm2020/datepicker/chronos/units/month.mjs +0 -63
- package/esm2020/datepicker/chronos/units/offset.mjs +0 -210
- package/esm2020/datepicker/chronos/units/priorities.mjs +0 -21
- package/esm2020/datepicker/chronos/units/quarter.mjs +0 -39
- package/esm2020/datepicker/chronos/units/second.mjs +0 -23
- package/esm2020/datepicker/chronos/units/timestamp.mjs +0 -28
- package/esm2020/datepicker/chronos/units/timezone.mjs +0 -19
- package/esm2020/datepicker/chronos/units/week-calendar-utils.mjs +0 -70
- package/esm2020/datepicker/chronos/units/week-year.mjs +0 -101
- package/esm2020/datepicker/chronos/units/week.mjs +0 -58
- package/esm2020/datepicker/chronos/units/year.mjs +0 -60
- package/esm2020/datepicker/chronos/utils/abs-ceil.mjs +0 -4
- package/esm2020/datepicker/chronos/utils/abs-round.mjs +0 -4
- package/esm2020/datepicker/chronos/utils/compare-arrays.mjs +0 -16
- package/esm2020/datepicker/chronos/utils/date-compare.mjs +0 -55
- package/esm2020/datepicker/chronos/utils/date-getters.mjs +0 -67
- package/esm2020/datepicker/chronos/utils/date-setters.mjs +0 -75
- package/esm2020/datepicker/chronos/utils/defaults.mjs +0 -11
- package/esm2020/datepicker/chronos/utils/start-end-of.mjs +0 -57
- package/esm2020/datepicker/chronos/utils/type-checks.mjs +0 -56
- package/esm2020/datepicker/chronos/utils/zero-fill.mjs +0 -10
- package/esm2020/datepicker/chronos/utils.mjs +0 -7
- package/esm2020/datepicker/component-loader/bs-component-ref.class.mjs +0 -3
- package/esm2020/datepicker/component-loader/component-loader.class.mjs +0 -272
- package/esm2020/datepicker/component-loader/component-loader.factory.mjs +0 -29
- package/esm2020/datepicker/component-loader/content-ref.class.mjs +0 -12
- package/esm2020/datepicker/component-loader/index.mjs +0 -2
- package/esm2020/datepicker/component-loader/listen-options.model.mjs +0 -2
- package/esm2020/datepicker/component-loader/public_api.mjs +0 -5
- package/esm2020/datepicker/date-formatter.mjs +0 -7
- package/esm2020/datepicker/datepicker-animations.mjs +0 -16
- package/esm2020/datepicker/datepicker-inner.component.mjs +0 -323
- package/esm2020/datepicker/datepicker.component.mjs +0 -182
- package/esm2020/datepicker/datepicker.config.mjs +0 -32
- package/esm2020/datepicker/datepicker.module.mjs +0 -49
- package/esm2020/datepicker/daypicker.component.mjs +0 -314
- package/esm2020/datepicker/engine/calc-days-calendar.mjs +0 -19
- package/esm2020/datepicker/engine/flag-days-calendar.mjs +0 -91
- package/esm2020/datepicker/engine/flag-months-calendar.mjs +0 -41
- package/esm2020/datepicker/engine/flag-years-calendar.mjs +0 -39
- package/esm2020/datepicker/engine/format-days-calendar.mjs +0 -29
- package/esm2020/datepicker/engine/format-months-calendar.mjs +0 -19
- package/esm2020/datepicker/engine/format-years-calendar.mjs +0 -35
- package/esm2020/datepicker/engine/view-mode.mjs +0 -4
- package/esm2020/datepicker/index.mjs +0 -2
- package/esm2020/datepicker/mini-ngrx/index.mjs +0 -2
- package/esm2020/datepicker/mini-ngrx/public_api.mjs +0 -3
- package/esm2020/datepicker/mini-ngrx/state.class.mjs +0 -16
- package/esm2020/datepicker/mini-ngrx/store.class.mjs +0 -43
- package/esm2020/datepicker/mis-crystal-design-system-datepicker.mjs +0 -5
- package/esm2020/datepicker/models/index.mjs +0 -9
- package/esm2020/datepicker/monthpicker.component.mjs +0 -145
- package/esm2020/datepicker/positioning/index.mjs +0 -2
- package/esm2020/datepicker/positioning/models/index.mjs +0 -2
- package/esm2020/datepicker/positioning/modifiers/arrow.mjs +0 -56
- package/esm2020/datepicker/positioning/modifiers/flip.mjs +0 -66
- package/esm2020/datepicker/positioning/modifiers/index.mjs +0 -6
- package/esm2020/datepicker/positioning/modifiers/initData.mjs +0 -42
- package/esm2020/datepicker/positioning/modifiers/preventOverflow.mjs +0 -59
- package/esm2020/datepicker/positioning/modifiers/shift.mjs +0 -24
- package/esm2020/datepicker/positioning/ng-positioning.mjs +0 -30
- package/esm2020/datepicker/positioning/positioning.service.mjs +0 -75
- package/esm2020/datepicker/positioning/public_api.mjs +0 -3
- package/esm2020/datepicker/positioning/utils/computeAutoPlacement.mjs +0 -57
- package/esm2020/datepicker/positioning/utils/findCommonOffsetParent.mjs +0 -40
- package/esm2020/datepicker/positioning/utils/getBordersSize.mjs +0 -10
- package/esm2020/datepicker/positioning/utils/getBoundaries.mjs +0 -56
- package/esm2020/datepicker/positioning/utils/getBoundingClientRect.mjs +0 -55
- package/esm2020/datepicker/positioning/utils/getClientRect.mjs +0 -8
- package/esm2020/datepicker/positioning/utils/getFixedPositionOffsetParent.mjs +0 -17
- package/esm2020/datepicker/positioning/utils/getOffsetParent.mjs +0 -32
- package/esm2020/datepicker/positioning/utils/getOffsetRectRelativeToArbitraryNode.mjs +0 -51
- package/esm2020/datepicker/positioning/utils/getOffsets.mjs +0 -11
- package/esm2020/datepicker/positioning/utils/getOppositePlacement.mjs +0 -8
- package/esm2020/datepicker/positioning/utils/getOppositeVariation.mjs +0 -13
- package/esm2020/datepicker/positioning/utils/getOuterSizes.mjs +0 -14
- package/esm2020/datepicker/positioning/utils/getParentNode.mjs +0 -10
- package/esm2020/datepicker/positioning/utils/getReferenceOffsets.mjs +0 -13
- package/esm2020/datepicker/positioning/utils/getRoot.mjs +0 -10
- package/esm2020/datepicker/positioning/utils/getScroll.mjs +0 -14
- package/esm2020/datepicker/positioning/utils/getScrollParent.mjs +0 -26
- package/esm2020/datepicker/positioning/utils/getStyleComputedProperty.mjs +0 -13
- package/esm2020/datepicker/positioning/utils/getTargetOffsets.mjs +0 -30
- package/esm2020/datepicker/positioning/utils/getViewportOffsetRectRelativeToArtbitraryNode.mjs +0 -19
- package/esm2020/datepicker/positioning/utils/getWindowSizes.mjs +0 -18
- package/esm2020/datepicker/positioning/utils/includeScroll.mjs +0 -15
- package/esm2020/datepicker/positioning/utils/index.mjs +0 -24
- package/esm2020/datepicker/positioning/utils/isBrowser.mjs +0 -2
- package/esm2020/datepicker/positioning/utils/isFixed.mjs +0 -16
- package/esm2020/datepicker/positioning/utils/isIE.mjs +0 -16
- package/esm2020/datepicker/positioning/utils/isModifierEnabled.mjs +0 -10
- package/esm2020/datepicker/positioning/utils/isNumeric.mjs +0 -7
- package/esm2020/datepicker/positioning/utils/isOffsetContainer.mjs +0 -9
- package/esm2020/datepicker/positioning/utils/setStyles.mjs +0 -17
- package/esm2020/datepicker/positioning/utils/updateContainerClass.mjs +0 -22
- package/esm2020/datepicker/public_api.mjs +0 -25
- package/esm2020/datepicker/reducer/_defaults.mjs +0 -5
- package/esm2020/datepicker/reducer/bs-datepicker.actions.mjs +0 -136
- package/esm2020/datepicker/reducer/bs-datepicker.effects.mjs +0 -169
- package/esm2020/datepicker/reducer/bs-datepicker.reducer.mjs +0 -302
- package/esm2020/datepicker/reducer/bs-datepicker.state.mjs +0 -12
- package/esm2020/datepicker/reducer/bs-datepicker.store.mjs +0 -21
- package/esm2020/datepicker/themes/bs/bs-calendar-layout.component.mjs +0 -54
- package/esm2020/datepicker/themes/bs/bs-current-date-view.component.mjs +0 -23
- package/esm2020/datepicker/themes/bs/bs-custom-dates-view.component.mjs +0 -78
- package/esm2020/datepicker/themes/bs/bs-datepicker-container.component.mjs +0 -319
- package/esm2020/datepicker/themes/bs/bs-datepicker-day-decorator.directive.mjs +0 -52
- package/esm2020/datepicker/themes/bs/bs-datepicker-inline-container.component.mjs +0 -203
- package/esm2020/datepicker/themes/bs/bs-datepicker-navigation-view.component.mjs +0 -111
- package/esm2020/datepicker/themes/bs/bs-daterangepicker-container.component.mjs +0 -362
- package/esm2020/datepicker/themes/bs/bs-daterangepicker-inline-container.component.mjs +0 -203
- package/esm2020/datepicker/themes/bs/bs-days-calendar-view.component.mjs +0 -308
- package/esm2020/datepicker/themes/bs/bs-months-calendar-view.component.mjs +0 -106
- package/esm2020/datepicker/themes/bs/bs-timepicker-view.component.mjs +0 -64
- package/esm2020/datepicker/themes/bs/bs-years-calendar-view.component.mjs +0 -107
- package/esm2020/datepicker/utils/bs-calendar-utils.mjs +0 -43
- package/esm2020/datepicker/utils/matrix-utils.mjs +0 -14
- package/esm2020/datepicker/utils-v2/decorators.mjs +0 -25
- package/esm2020/datepicker/utils-v2/facade/browser.mjs +0 -24
- package/esm2020/datepicker/utils-v2/index.mjs +0 -2
- package/esm2020/datepicker/utils-v2/linked-list.class.mjs +0 -240
- package/esm2020/datepicker/utils-v2/public_api.mjs +0 -11
- package/esm2020/datepicker/utils-v2/theme-provider.mjs +0 -35
- package/esm2020/datepicker/utils-v2/trigger.class.mjs +0 -10
- package/esm2020/datepicker/utils-v2/triggers.mjs +0 -110
- package/esm2020/datepicker/utils-v2/utils.class.mjs +0 -21
- package/esm2020/datepicker/utils-v2/warn-once.mjs +0 -12
- package/esm2020/datepicker/yearpicker.component.mjs +0 -147
- package/fesm2015/mis-crystal-design-system-datepicker.mjs +0 -14950
- package/fesm2015/mis-crystal-design-system-datepicker.mjs.map +0 -1
- package/fesm2020/mis-crystal-design-system-datepicker.mjs +0 -14572
- package/fesm2020/mis-crystal-design-system-datepicker.mjs.map +0 -1
|
@@ -1,240 +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
|
-
/* tslint:disable-next-line: no-any*/
|
|
22
|
-
const node = {
|
|
23
|
-
value,
|
|
24
|
-
next: undefined,
|
|
25
|
-
previous: undefined
|
|
26
|
-
};
|
|
27
|
-
if (this.length === 0) {
|
|
28
|
-
this.head = node;
|
|
29
|
-
this.tail = node;
|
|
30
|
-
this.current = node;
|
|
31
|
-
}
|
|
32
|
-
else {
|
|
33
|
-
if (position === 0) {
|
|
34
|
-
// first node
|
|
35
|
-
node.next = this.head;
|
|
36
|
-
this.head.previous = node;
|
|
37
|
-
this.head = node;
|
|
38
|
-
}
|
|
39
|
-
else if (position === this.length) {
|
|
40
|
-
// last node
|
|
41
|
-
this.tail.next = node;
|
|
42
|
-
node.previous = this.tail;
|
|
43
|
-
this.tail = node;
|
|
44
|
-
}
|
|
45
|
-
else {
|
|
46
|
-
// node in middle
|
|
47
|
-
const currentPreviousNode = this.getNode(position - 1);
|
|
48
|
-
const currentNextNode = currentPreviousNode.next;
|
|
49
|
-
currentPreviousNode.next = node;
|
|
50
|
-
currentNextNode.previous = node;
|
|
51
|
-
node.previous = currentPreviousNode;
|
|
52
|
-
node.next = currentNextNode;
|
|
53
|
-
}
|
|
54
|
-
}
|
|
55
|
-
this.length++;
|
|
56
|
-
this.createInternalArrayRepresentation();
|
|
57
|
-
}
|
|
58
|
-
remove(position = 0) {
|
|
59
|
-
if (this.length === 0 || position < 0 || position >= this.length) {
|
|
60
|
-
throw new Error('Position is out of the list');
|
|
61
|
-
}
|
|
62
|
-
if (position === 0) {
|
|
63
|
-
// first node
|
|
64
|
-
this.head = this.head.next;
|
|
65
|
-
if (this.head) {
|
|
66
|
-
// there is no second node
|
|
67
|
-
this.head.previous = undefined;
|
|
68
|
-
}
|
|
69
|
-
else {
|
|
70
|
-
// there is no second node
|
|
71
|
-
this.tail = undefined;
|
|
72
|
-
}
|
|
73
|
-
}
|
|
74
|
-
else if (position === this.length - 1) {
|
|
75
|
-
// last node
|
|
76
|
-
this.tail = this.tail.previous;
|
|
77
|
-
this.tail.next = undefined;
|
|
78
|
-
}
|
|
79
|
-
else {
|
|
80
|
-
// middle node
|
|
81
|
-
const removedNode = this.getNode(position);
|
|
82
|
-
removedNode.next.previous = removedNode.previous;
|
|
83
|
-
removedNode.previous.next = removedNode.next;
|
|
84
|
-
}
|
|
85
|
-
this.length--;
|
|
86
|
-
this.createInternalArrayRepresentation();
|
|
87
|
-
}
|
|
88
|
-
set(position, value) {
|
|
89
|
-
if (this.length === 0 || position < 0 || position >= this.length) {
|
|
90
|
-
throw new Error('Position is out of the list');
|
|
91
|
-
}
|
|
92
|
-
const node = this.getNode(position);
|
|
93
|
-
node.value = value;
|
|
94
|
-
this.createInternalArrayRepresentation();
|
|
95
|
-
}
|
|
96
|
-
toArray() {
|
|
97
|
-
return this.asArray;
|
|
98
|
-
}
|
|
99
|
-
/* tslint:disable-next-line: no-any*/
|
|
100
|
-
findAll(fn) {
|
|
101
|
-
let current = this.head;
|
|
102
|
-
/* tslint:disable-next-line: no-any*/
|
|
103
|
-
const result = [];
|
|
104
|
-
for (let index = 0; index < this.length; index++) {
|
|
105
|
-
if (fn(current.value, index)) {
|
|
106
|
-
result.push({ index, value: current.value });
|
|
107
|
-
}
|
|
108
|
-
current = current.next;
|
|
109
|
-
}
|
|
110
|
-
return result;
|
|
111
|
-
}
|
|
112
|
-
// Array methods overriding start
|
|
113
|
-
push(...args) {
|
|
114
|
-
/* tslint:disable-next-line: no-any*/
|
|
115
|
-
args.forEach((arg) => {
|
|
116
|
-
this.add(arg);
|
|
117
|
-
});
|
|
118
|
-
return this.length;
|
|
119
|
-
}
|
|
120
|
-
pop() {
|
|
121
|
-
if (this.length === 0) {
|
|
122
|
-
return undefined;
|
|
123
|
-
}
|
|
124
|
-
const last = this.tail;
|
|
125
|
-
this.remove(this.length - 1);
|
|
126
|
-
return last.value;
|
|
127
|
-
}
|
|
128
|
-
unshift(...args) {
|
|
129
|
-
args.reverse();
|
|
130
|
-
/* tslint:disable-next-line: no-any*/
|
|
131
|
-
args.forEach((arg) => {
|
|
132
|
-
this.add(arg, 0);
|
|
133
|
-
});
|
|
134
|
-
return this.length;
|
|
135
|
-
}
|
|
136
|
-
shift() {
|
|
137
|
-
if (this.length === 0) {
|
|
138
|
-
return undefined;
|
|
139
|
-
}
|
|
140
|
-
const lastItem = this.head.value;
|
|
141
|
-
this.remove();
|
|
142
|
-
return lastItem;
|
|
143
|
-
}
|
|
144
|
-
/* tslint:disable-next-line: no-any*/
|
|
145
|
-
forEach(fn) {
|
|
146
|
-
let current = this.head;
|
|
147
|
-
for (let index = 0; index < this.length; index++) {
|
|
148
|
-
fn(current.value, index);
|
|
149
|
-
current = current.next;
|
|
150
|
-
}
|
|
151
|
-
}
|
|
152
|
-
indexOf(value) {
|
|
153
|
-
let current = this.head;
|
|
154
|
-
let position = 0;
|
|
155
|
-
for (let index = 0; index < this.length; index++) {
|
|
156
|
-
if (current.value === value) {
|
|
157
|
-
position = index;
|
|
158
|
-
break;
|
|
159
|
-
}
|
|
160
|
-
current = current.next;
|
|
161
|
-
}
|
|
162
|
-
return position;
|
|
163
|
-
}
|
|
164
|
-
/* tslint:disable-next-line: no-any*/
|
|
165
|
-
some(fn) {
|
|
166
|
-
let current = this.head;
|
|
167
|
-
let result = false;
|
|
168
|
-
while (current && !result) {
|
|
169
|
-
if (fn(current.value)) {
|
|
170
|
-
result = true;
|
|
171
|
-
break;
|
|
172
|
-
}
|
|
173
|
-
current = current.next;
|
|
174
|
-
}
|
|
175
|
-
return result;
|
|
176
|
-
}
|
|
177
|
-
/* tslint:disable-next-line: no-any*/
|
|
178
|
-
every(fn) {
|
|
179
|
-
let current = this.head;
|
|
180
|
-
let result = true;
|
|
181
|
-
while (current && result) {
|
|
182
|
-
if (!fn(current.value)) {
|
|
183
|
-
result = false;
|
|
184
|
-
}
|
|
185
|
-
current = current.next;
|
|
186
|
-
}
|
|
187
|
-
return result;
|
|
188
|
-
}
|
|
189
|
-
toString() {
|
|
190
|
-
return '[Linked List]';
|
|
191
|
-
}
|
|
192
|
-
/* tslint:disable-next-line: no-any*/
|
|
193
|
-
find(fn) {
|
|
194
|
-
let current = this.head;
|
|
195
|
-
let result;
|
|
196
|
-
for (let index = 0; index < this.length; index++) {
|
|
197
|
-
if (fn(current.value, index)) {
|
|
198
|
-
result = current.value;
|
|
199
|
-
break;
|
|
200
|
-
}
|
|
201
|
-
current = current.next;
|
|
202
|
-
}
|
|
203
|
-
return result;
|
|
204
|
-
}
|
|
205
|
-
/* tslint:disable-next-line: no-any*/
|
|
206
|
-
findIndex(fn) {
|
|
207
|
-
let current = this.head;
|
|
208
|
-
let result;
|
|
209
|
-
for (let index = 0; index < this.length; index++) {
|
|
210
|
-
if (fn(current.value, index)) {
|
|
211
|
-
result = index;
|
|
212
|
-
break;
|
|
213
|
-
}
|
|
214
|
-
current = current.next;
|
|
215
|
-
}
|
|
216
|
-
return result;
|
|
217
|
-
}
|
|
218
|
-
/* tslint:disable-next-line: no-any*/
|
|
219
|
-
getNode(position) {
|
|
220
|
-
if (this.length === 0 || position < 0 || position >= this.length) {
|
|
221
|
-
throw new Error('Position is out of the list');
|
|
222
|
-
}
|
|
223
|
-
let current = this.head;
|
|
224
|
-
for (let index = 0; index < position; index++) {
|
|
225
|
-
current = current.next;
|
|
226
|
-
}
|
|
227
|
-
return current;
|
|
228
|
-
}
|
|
229
|
-
createInternalArrayRepresentation() {
|
|
230
|
-
/* tslint:disable-next-line: no-any*/
|
|
231
|
-
const outArray = [];
|
|
232
|
-
let current = this.head;
|
|
233
|
-
while (current) {
|
|
234
|
-
outArray.push(current.value);
|
|
235
|
-
current = current.next;
|
|
236
|
-
}
|
|
237
|
-
this.asArray = outArray;
|
|
238
|
-
}
|
|
239
|
-
}
|
|
240
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGlua2VkLWxpc3QuY2xhc3MuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9taXMtY29tcG9uZW50cy9kYXRlcGlja2VyL3V0aWxzLXYyL2xpbmtlZC1saXN0LmNsYXNzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE1BQU0sT0FBTyxVQUFVO0lBQXZCO1FBQ0UsV0FBTSxHQUFHLENBQUMsQ0FBQztRQU9ELFlBQU8sR0FBUSxFQUFFLENBQUM7UUFpUjVCLCtCQUErQjtJQUNqQyxDQUFDO0lBaFJDLEdBQUcsQ0FBQyxRQUFnQjtRQUNsQixJQUFJLElBQUksQ0FBQyxNQUFNLEtBQUssQ0FBQyxJQUFJLFFBQVEsR0FBRyxDQUFDLElBQUksUUFBUSxJQUFJLElBQUksQ0FBQyxNQUFNLEVBQUU7WUFDaEUsT0FBTyxLQUFLLENBQUMsQ0FBQztTQUNmO1FBRUQsSUFBSSxPQUFPLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQztRQUV4QixLQUFLLElBQUksS0FBSyxHQUFHLENBQUMsRUFBRSxLQUFLLEdBQUcsUUFBUSxFQUFFLEtBQUssRUFBRSxFQUFFO1lBQzdDLE9BQU8sR0FBRyxPQUFPLENBQUMsSUFBSSxDQUFDO1NBQ3hCO1FBRUQsT0FBTyxPQUFPLENBQUMsS0FBSyxDQUFDO0lBQ3ZCLENBQUM7SUFFRCxHQUFHLENBQUMsS0FBUSxFQUFFLFdBQW1CLElBQUksQ0FBQyxNQUFNO1FBQzFDLElBQUksUUFBUSxHQUFHLENBQUMsSUFBSSxRQUFRLEdBQUcsSUFBSSxDQUFDLE1BQU0sRUFBRTtZQUMxQyxNQUFNLElBQUksS0FBSyxDQUFDLDZCQUE2QixDQUFDLENBQUM7U0FDaEQ7UUFFRCxxQ0FBcUM7UUFDckMsTUFBTSxJQUFJLEdBQVE7WUFDaEIsS0FBSztZQUNMLElBQUksRUFBRSxTQUFTO1lBQ2YsUUFBUSxFQUFFLFNBQVM7U0FDcEIsQ0FBQztRQUVGLElBQUksSUFBSSxDQUFDLE1BQU0sS0FBSyxDQUFD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QTZCLENBQUMsQ0FBQztTQUNoRDtRQUVELElBQUksT0FBTyxHQUFHLElBQUksQ0FBQyxJQUFJLENBQUM7UUFFeEIsS0FBSyxJQUFJLEtBQUssR0FBRyxDQUFDLEVBQUUsS0FBSyxHQUFHLFFBQVEsRUFBRSxLQUFLLEVBQUUsRUFBRTtZQUM3QyxPQUFPLEdBQUcsT0FBTyxDQUFDLElBQUksQ0FBQztTQUN4QjtRQUVELE9BQU8sT0FBTyxDQUFDO0lBQ2pCLENBQUM7SUFFUyxpQ0FBaUM7UUFDekMscUNBQXFDO1FBQ3JDLE1BQU0sUUFBUSxHQUFVLEVBQUUsQ0FBQztRQUMzQixJQUFJLE9BQU8sR0FBRyxJQUFJLENBQUMsSUFBSSxDQUFDO1FBRXhCLE9BQU8sT0FBTyxFQUFFO1lBQ2QsUUFBUSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDLENBQUM7WUFDN0IsT0FBTyxHQUFHLE9BQU8sQ0FBQyxJQUFJLENBQUM7U0FDeEI7UUFDRCxJQUFJLENBQUMsT0FBTyxHQUFHLFFBQVEsQ0FBQztJQUMxQixDQUFDO0NBR0YiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgY2xhc3MgTGlua2VkTGlzdDxUPiB7XG4gIGxlbmd0aCA9IDA7XG4gIC8qIHRzbGludDpkaXNhYmxlLW5leHQtbGluZTogbm8tYW55Ki9cbiAgcHJvdGVjdGVkIGhlYWQ6IGFueTtcbiAgLyogdHNsaW50OmRpc2FibGUtbmV4dC1saW5lOiBuby1hbnkqL1xuICBwcm90ZWN0ZWQgdGFpbDogYW55O1xuICAvKiB0c2xpbnQ6ZGlzYWJsZS1uZXh0LWxpbmU6IG5vLWFueSovXG4gIHByb3RlY3RlZCBjdXJyZW50OiBhbnk7XG4gIHByb3RlY3RlZCBhc0FycmF5OiBUW10gPSBbXTtcblxuICBnZXQocG9zaXRpb246IG51bWJlcik6IFQge1xuICAgIGlmICh0aGlzLmxlbmd0aCA9PT0gMCB8fCBwb3NpdGlvbiA8IDAgfHwgcG9zaXRpb24gPj0gdGhpcy5sZW5ndGgpIHtcbiAgICAgIHJldHVybiB2b2lkIDA7XG4gICAgfVxuXG4gICAgbGV0IGN1cnJlbnQgPSB0aGlzLmhlYWQ7XG5cbiAgICBmb3IgKGxldCBpbmRleCA9IDA7IGluZGV4IDwgcG9zaXRpb247IGluZGV4KyspIHtcbiAgICAgIGN1cnJlbnQgPSBjdXJyZW50Lm5leHQ7XG4gICAgfVxuXG4gICAgcmV0dXJuIGN1cnJlbnQudmFsdWU7XG4gIH1cblxuICBhZGQodmFsdWU6IFQsIHBvc2l0aW9uOiBudW1iZXIgPSB0aGlzLmxlbmd0aCk6IHZvaWQge1xuICAgIGlmIChwb3NpdGlvbiA8IDAgfHwgcG9zaXRpb24gPiB0aGlzLmxlbmd0aCkge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKCdQb3NpdGlvbiBpcyBvdXQgb2YgdGhlIGxpc3QnKTtcbiAgICB9XG5cbiAgICAvKiB0c2xpbnQ6ZGlzYWJsZS1uZXh0LWxpbmU6IG5vLWFueSovXG4gICAgY29uc3Qgbm9kZTogYW55ID0ge1xuICAgICAgdmFsdWUsXG4gICAgICBuZXh0OiB1bmRlZmluZWQsXG4gICAgICBwcmV2aW91czogdW5kZWZpbmVkXG4gICAgfTtcblxuICAgIGlmICh0aGlzLmxlbmd0aCA9PT0gMCkge1xuICAgICAgdGhpcy5oZWFkID0gbm9kZTtcbiAgICAgIHRoaXMudGFpbCA9IG5vZGU7XG4gICAgICB0aGlzLmN1cnJlbnQgPSBub2RlO1xuICAgIH0gZWxzZSB7XG4gICAgICBpZiAocG9zaXRpb24gPT09IDApIHtcbiAgICAgICAgLy8gZmlyc3Qgbm9kZVxuICAgICAgICBub2RlLm5leHQgPSB0aGlzLmhlYWQ7XG4gICAgICAgIHRoaXMuaGVhZC5wcmV2aW91cyA9IG5vZGU7XG4gICAgICAgIHRoaXMuaGVhZCA9IG5vZGU7XG4gICAgICB9IGVsc2UgaWYgKHBvc2l0aW9uID09PSB0aGlzLmxlbmd0aCkge1xuICAgICAgICAvLyBsYXN0IG5vZGVcbiAgICAgICAgdGhpcy50YWlsLm5leHQgPSBub2RlO1xuICAgICAgICBub2RlLnByZXZpb3VzID0gdGhpcy50YWlsO1xuICAgICAgICB0aGlzLnRhaWwgPSBub2RlO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgLy8gbm9kZSBpbiBtaWRkbGVcbiAgICAgICAgY29uc3QgY3VycmVudFByZXZpb3VzTm9kZSA9IHRoaXMuZ2V0Tm9kZShwb3NpdGlvbiAtIDEpO1xuICAgICAgICBjb25zdCBjdXJyZW50TmV4dE5vZGUgPSBjdXJyZW50UHJldmlvdXNOb2RlLm5leHQ7XG5cbiAgICAgICAgY3VycmVudFByZXZpb3VzTm9kZS5uZXh0ID0gbm9kZTtcbiAgICAgICAgY3VycmVudE5leHROb2RlLnByZXZpb3VzID0gbm9kZTtcblxuICAgICAgICBub2RlLnByZXZpb3VzID0gY3VycmVudFByZXZpb3VzTm9kZTtcbiAgICAgICAgbm9kZS5uZXh0ID0gY3VycmVudE5leHROb2RlO1xuICAgICAgfVxuICAgIH1cbiAgICB0aGlzLmxlbmd0aCsrO1xuICAgIHRoaXMuY3JlYXRlSW50ZXJuYWxBcnJheVJlcHJlc2VudGF0aW9uKCk7XG4gIH1cblxuICByZW1vdmUocG9zaXRpb24gPSAwKTogdm9pZCB7XG4gICAgaWYgKHRoaXMubGVuZ3RoID09PSAwIHx8IHBvc2l0aW9uIDwgMCB8fCBwb3NpdGlvbiA+PSB0aGlzLmxlbmd0aCkge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKCdQb3NpdGlvbiBpcyBvdXQgb2YgdGhlIGxpc3QnKTtcbiAgICB9XG5cbiAgICBpZiAocG9zaXRpb24gPT09IDApIHtcbiAgICAgIC8vIGZpcnN0IG5vZGVcbiAgICAgIHRoaXMuaGVhZCA9IHRoaXMuaGVhZC5uZXh0O1xuXG4gICAgICBpZiAodGhpcy5oZWFkKSB7XG4gICAgICAgIC8vIHRoZXJlIGlzIG5vIHNlY29uZCBub2RlXG4gICAgICAgIHRoaXMuaGVhZC5wcmV2aW91cyA9IHVuZGVmaW5lZDtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIC8vIHRoZXJlIGlzIG5vIHNlY29uZCBub2RlXG4gICAgICAgIHRoaXMudGFpbCA9IHVuZGVmaW5lZDtcbiAgICAgIH1cbiAgICB9IGVsc2UgaWYgKHBvc2l0aW9uID09PSB0aGlzLmxlbmd0aCAtIDEpIHtcbiAgICAgIC8vIGxhc3Qgbm9kZVxuICAgICAgdGhpcy50YWlsID0gdGhpcy50YWlsLnByZXZpb3VzO1xuICAgICAgdGhpcy50YWlsLm5leHQgPSB1bmRlZmluZWQ7XG4gICAgfSBlbHNlIHtcbiAgICAgIC8vIG1pZGRsZSBub2RlXG4gICAgICBjb25zdCByZW1vdmVkTm9kZSA9IHRoaXMuZ2V0Tm9kZShwb3NpdGlvbik7XG4gICAgICByZW1vdmVkTm9kZS5uZXh0LnByZXZpb3VzID0gcmVtb3ZlZE5vZGUucHJldmlvdXM7XG4gICAgICByZW1vdmVkTm9kZS5wcmV2aW91cy5uZXh0ID0gcmVtb3ZlZE5vZGUubmV4dDtcbiAgICB9XG5cbiAgICB0aGlzLmxlbmd0aC0tO1xuICAgIHRoaXMuY3JlYXRlSW50ZXJuYWxBcnJheVJlcHJlc2VudGF0aW9uKCk7XG4gIH1cblxuICBzZXQocG9zaXRpb246IG51bWJlciwgdmFsdWU6IFQpOiB2b2lkIHtcbiAgICBpZiAodGhpcy5sZW5ndGggPT09IDAgfHwgcG9zaXRpb24gPCAwIHx8IHBvc2l0aW9uID49IHRoaXMubGVuZ3RoKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoJ1Bvc2l0aW9uIGlzIG91dCBvZiB0aGUgbGlzdCcpO1xuICAgIH1cblxuICAgIGNvbnN0IG5vZGUgPSB0aGlzLmdldE5vZGUocG9zaXRpb24pO1xuICAgIG5vZGUudmFsdWUgPSB2YWx1ZTtcbiAgICB0aGlzLmNyZWF0ZUludGVybmFsQXJyYXlSZXByZXNlbnRhdGlvbigpO1xuICB9XG5cbiAgdG9BcnJheSgpOiBUW10ge1xuICAgIHJldHVybiB0aGlzLmFzQXJyYXk7XG4gIH1cblxuICAvKiB0c2xpbnQ6ZGlzYWJsZS1uZXh0LWxpbmU6IG5vLWFueSovXG4gIGZpbmRBbGwoZm46IGFueSk6IGFueVtdIHtcbiAgICBsZXQgY3VycmVudCA9IHRoaXMuaGVhZDtcbiAgICAvKiB0c2xpbnQ6ZGlzYWJsZS1uZXh0LWxpbmU6IG5vLWFueSovXG4gICAgY29uc3QgcmVzdWx0OiBhbnlbXSA9IFtdO1xuICAgIGZvciAobGV0IGluZGV4ID0gMDsgaW5kZXggPCB0aGlzLmxlbmd0aDsgaW5kZXgrKykge1xuICAgICAgaWYgKGZuKGN1cnJlbnQudmFsdWUsIGluZGV4KSkge1xuICAgICAgICByZXN1bHQucHVzaCh7aW5kZXgsIHZhbHVlOiBjdXJyZW50LnZhbHVlfSk7XG4gICAgICB9XG4gICAgICBjdXJyZW50ID0gY3VycmVudC5uZXh0O1xuICAgIH1cblxuICAgIHJldHVybiByZXN1bHQ7XG4gIH1cblxuICAvLyBBcnJheSBtZXRob2RzIG92ZXJyaWRpbmcgc3RhcnRcbiAgcHVzaCguLi5hcmdzOiBUW10pOiBudW1iZXIge1xuICAgIC8qIHRzbGludDpkaXNhYmxlLW5leHQtbGluZTogbm8tYW55Ki9cbiAgICBhcmdzLmZvckVhY2goKGFyZzogYW55KSA9PiB7XG4gICAgICB0aGlzLmFkZChhcmcpO1xuICAgIH0pO1xuXG4gICAgcmV0dXJuIHRoaXMubGVuZ3RoO1xuICB9XG5cbiAgcG9wKCk6IFQge1xuICAgIGlmICh0aGlzLmxlbmd0aCA9PT0gMCkge1xuICAgICAgcmV0dXJuIHVuZGVmaW5lZDtcbiAgICB9XG4gICAgY29uc3QgbGFzdCA9IHRoaXMudGFpbDtcbiAgICB0aGlzLnJlbW92ZSh0aGlzLmxlbmd0aCAtIDEpO1xuXG4gICAgcmV0dXJuIGxhc3QudmFsdWU7XG4gIH1cblxuICB1bnNoaWZ0KC4uLmFyZ3M6IFRbXSk6IG51bWJlciB7XG4gICAgYXJncy5yZXZlcnNlKCk7XG4gICAgLyogdHNsaW50OmRpc2FibGUtbmV4dC1saW5lOiBuby1hbnkqL1xuICAgIGFyZ3MuZm9yRWFjaCgoYXJnOiBhbnkpID0+IHtcbiAgICAgIHRoaXMuYWRkKGFyZywgMCk7XG4gICAgfSk7XG5cbiAgICByZXR1cm4gdGhpcy5sZW5ndGg7XG4gIH1cblxuICBzaGlmdCgpOiBUIHtcbiAgICBpZiAodGhpcy5sZW5ndGggPT09IDApIHtcbiAgICAgIHJldHVybiB1bmRlZmluZWQ7XG4gICAgfVxuICAgIGNvbnN0IGxhc3RJdGVtID0gdGhpcy5oZWFkLnZhbHVlO1xuICAgIHRoaXMucmVtb3ZlKCk7XG5cbiAgICByZXR1cm4gbGFzdEl0ZW07XG4gIH1cblxuICAvKiB0c2xpbnQ6ZGlzYWJsZS1uZXh0LWxpbmU6IG5vLWFueSovXG4gIGZvckVhY2goZm46IGFueSk6IHZvaWQge1xuICAgIGxldCBjdXJyZW50ID0gdGhpcy5oZWFkO1xuICAgIGZvciAobGV0IGluZGV4ID0gMDsgaW5kZXggPCB0aGlzLmxlbmd0aDsgaW5kZXgrKykge1xuICAgICAgZm4oY3VycmVudC52YWx1ZSwgaW5kZXgpO1xuICAgICAgY3VycmVudCA9IGN1cnJlbnQubmV4dDtcbiAgICB9XG4gIH1cblxuICBpbmRleE9mKHZhbHVlOiBUKTogbnVtYmVyIHtcbiAgICBsZXQgY3VycmVudCA9IHRoaXMuaGVhZDtcbiAgICBsZXQgcG9zaXRpb24gPSAwO1xuXG4gICAgZm9yIChsZXQgaW5kZXggPSAwOyBpbmRleCA8IHRoaXMubGVuZ3RoOyBpbmRleCsrKSB7XG4gICAgICBpZiAoY3VycmVudC52YWx1ZSA9PT0gdmFsdWUpIHtcbiAgICAgICAgcG9zaXRpb24gPSBpbmRleDtcbiAgICAgICAgYnJlYWs7XG4gICAgICB9XG4gICAgICBjdXJyZW50ID0gY3VycmVudC5uZXh0O1xuICAgIH1cblxuICAgIHJldHVybiBwb3NpdGlvbjtcbiAgfVxuXG4gIC8qIHRzbGludDpkaXNhYmxlLW5leHQtbGluZTogbm8tYW55Ki9cbiAgc29tZShmbjogYW55KTogYm9vbGVhbiB7XG4gICAgbGV0IGN1cnJlbnQgPSB0aGlzLmhlYWQ7XG4gICAgbGV0IHJlc3VsdCA9IGZhbHNlO1xuICAgIHdoaWxlIChjdXJyZW50ICYmICFyZXN1bHQpIHtcbiAgICAgIGlmIChmbihjdXJyZW50LnZhbHVlKSkge1xuICAgICAgICByZXN1bHQgPSB0cnVlO1xuICAgICAgICBicmVhaztcbiAgICAgIH1cbiAgICAgIGN1cnJlbnQgPSBjdXJyZW50Lm5leHQ7XG4gICAgfVxuXG4gICAgcmV0dXJuIHJlc3VsdDtcbiAgfVxuXG4gIC8qIHRzbGludDpkaXNhYmxlLW5leHQtbGluZTogbm8tYW55Ki9cbiAgZXZlcnkoZm46IGFueSk6IGJvb2xlYW4ge1xuICAgIGxldCBjdXJyZW50ID0gdGhpcy5oZWFkO1xuICAgIGxldCByZXN1bHQgPSB0cnVlO1xuICAgIHdoaWxlIChjdXJyZW50ICYmIHJlc3VsdCkge1xuICAgICAgaWYgKCFmbihjdXJyZW50LnZhbHVlKSkge1xuICAgICAgICByZXN1bHQgPSBmYWxzZTtcbiAgICAgIH1cbiAgICAgIGN1cnJlbnQgPSBjdXJyZW50Lm5leHQ7XG4gICAgfVxuXG4gICAgcmV0dXJuIHJlc3VsdDtcbiAgfVxuXG4gIHRvU3RyaW5nKCk6IHN0cmluZyB7XG4gICAgcmV0dXJuICdbTGlua2VkIExpc3RdJztcbiAgfVxuXG4gIC8qIHRzbGludDpkaXNhYmxlLW5leHQtbGluZTogbm8tYW55Ki9cbiAgZmluZChmbjogYW55KTogVCB7XG4gICAgbGV0IGN1cnJlbnQgPSB0aGlzLmhlYWQ7XG4gICAgbGV0IHJlc3VsdDogVDtcbiAgICBmb3IgKGxldCBpbmRleCA9IDA7IGluZGV4IDwgdGhpcy5sZW5ndGg7IGluZGV4KyspIHtcbiAgICAgIGlmIChmbihjdXJyZW50LnZhbHVlLCBpbmRleCkpIHtcbiAgICAgICAgcmVzdWx0ID0gY3VycmVudC52YWx1ZTtcbiAgICAgICAgYnJlYWs7XG4gICAgICB9XG4gICAgICBjdXJyZW50ID0gY3VycmVudC5uZXh0O1xuICAgIH1cblxuICAgIHJldHVybiByZXN1bHQ7XG4gIH1cblxuICAvKiB0c2xpbnQ6ZGlzYWJsZS1uZXh0LWxpbmU6IG5vLWFueSovXG4gIGZpbmRJbmRleChmbjogYW55KTogbnVtYmVyIHtcbiAgICBsZXQgY3VycmVudCA9IHRoaXMuaGVhZDtcbiAgICBsZXQgcmVzdWx0OiBudW1iZXI7XG4gICAgZm9yIChsZXQgaW5kZXggPSAwOyBpbmRleCA8IHRoaXMubGVuZ3RoOyBpbmRleCsrKSB7XG4gICAgICBpZiAoZm4oY3VycmVudC52YWx1ZSwgaW5kZXgpKSB7XG4gICAgICAgIHJlc3VsdCA9IGluZGV4O1xuICAgICAgICBicmVhaztcbiAgICAgIH1cbiAgICAgIGN1cnJlbnQgPSBjdXJyZW50Lm5leHQ7XG4gICAgfVxuXG4gICAgcmV0dXJuIHJlc3VsdDtcbiAgfVxuXG4gIC8qIHRzbGludDpkaXNhYmxlLW5leHQtbGluZTogbm8tYW55Ki9cbiAgcHJvdGVjdGVkIGdldE5vZGUocG9zaXRpb246IG51bWJlcik6IGFueSB7XG4gICAgaWYgKHRoaXMubGVuZ3RoID09PSAwIHx8IHBvc2l0aW9uIDwgMCB8fCBwb3NpdGlvbiA+PSB0aGlzLmxlbmd0aCkge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKCdQb3NpdGlvbiBpcyBvdXQgb2YgdGhlIGxpc3QnKTtcbiAgICB9XG5cbiAgICBsZXQgY3VycmVudCA9IHRoaXMuaGVhZDtcblxuICAgIGZvciAobGV0IGluZGV4ID0gMDsgaW5kZXggPCBwb3NpdGlvbjsgaW5kZXgrKykge1xuICAgICAgY3VycmVudCA9IGN1cnJlbnQubmV4dDtcbiAgICB9XG5cbiAgICByZXR1cm4gY3VycmVudDtcbiAgfVxuXG4gIHByb3RlY3RlZCBjcmVhdGVJbnRlcm5hbEFycmF5UmVwcmVzZW50YXRpb24oKTogdm9pZCB7XG4gICAgLyogdHNsaW50OmRpc2FibGUtbmV4dC1saW5lOiBuby1hbnkqL1xuICAgIGNvbnN0IG91dEFycmF5OiBhbnlbXSA9IFtdO1xuICAgIGxldCBjdXJyZW50ID0gdGhpcy5oZWFkO1xuXG4gICAgd2hpbGUgKGN1cnJlbnQpIHtcbiAgICAgIG91dEFycmF5LnB1c2goY3VycmVudC52YWx1ZSk7XG4gICAgICBjdXJyZW50ID0gY3VycmVudC5uZXh0O1xuICAgIH1cbiAgICB0aGlzLmFzQXJyYXkgPSBvdXRBcnJheTtcbiAgfVxuXG4gIC8vIEFycmF5IG1ldGhvZHMgb3ZlcnJpZGluZyBFTkRcbn1cbiJdfQ==
|
|
@@ -1,11 +0,0 @@
|
|
|
1
|
-
export * from './triggers';
|
|
2
|
-
export { isBs3 } from './theme-provider';
|
|
3
|
-
export { LinkedList } from './linked-list.class';
|
|
4
|
-
export { listenToTriggersV2, registerOutsideClick, registerEscClick } from './triggers';
|
|
5
|
-
export { OnChange } from './decorators';
|
|
6
|
-
export { setTheme } from './theme-provider';
|
|
7
|
-
export { Trigger } from './trigger.class';
|
|
8
|
-
export { Utils } from './utils.class';
|
|
9
|
-
export { window, document } from './facade/browser';
|
|
10
|
-
export { warnOnce } from './warn-once';
|
|
11
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljX2FwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL21pcy1jb21wb25lbnRzL2RhdGVwaWNrZXIvdXRpbHMtdjIvcHVibGljX2FwaS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLFlBQVksQ0FBQztBQUMzQixPQUFPLEVBQUUsS0FBSyxFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFDekMsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBRWpELE9BQU8sRUFDTCxrQkFBa0IsRUFDbEIsb0JBQW9CLEVBQ3BCLGdCQUFnQixFQUNqQixNQUFNLFlBQVksQ0FBQztBQUVwQixPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sY0FBYyxDQUFDO0FBQ3hDLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUM1QyxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDMUMsT0FBTyxFQUFFLEtBQUssRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN0QyxPQUFPLEVBQUUsTUFBTSxFQUFFLFFBQVEsRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBQ3BELE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBSyxhQUFhLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuL3RyaWdnZXJzJztcbmV4cG9ydCB7IGlzQnMzIH0gZnJvbSAnLi90aGVtZS1wcm92aWRlcic7XG5leHBvcnQgeyBMaW5rZWRMaXN0IH0gZnJvbSAnLi9saW5rZWQtbGlzdC5jbGFzcyc7XG5cbmV4cG9ydCB7XG4gIGxpc3RlblRvVHJpZ2dlcnNWMixcbiAgcmVnaXN0ZXJPdXRzaWRlQ2xpY2ssXG4gIHJlZ2lzdGVyRXNjQ2xpY2tcbn0gZnJvbSAnLi90cmlnZ2Vycyc7XG5cbmV4cG9ydCB7IE9uQ2hhbmdlIH0gZnJvbSAnLi9kZWNvcmF0b3JzJztcbmV4cG9ydCB7IHNldFRoZW1lIH0gZnJvbSAnLi90aGVtZS1wcm92aWRlcic7XG5leHBvcnQgeyBUcmlnZ2VyIH0gZnJvbSAnLi90cmlnZ2VyLmNsYXNzJztcbmV4cG9ydCB7IFV0aWxzIH0gZnJvbSAnLi91dGlscy5jbGFzcyc7XG5leHBvcnQgeyB3aW5kb3csIGRvY3VtZW50IH0gZnJvbSAnLi9mYWNhZGUvYnJvd3Nlcic7XG5leHBvcnQgeyB3YXJuT25jZSB9ZnJvbSAnLi93YXJuLW9uY2UnO1xuIl19
|
|
@@ -1,35 +0,0 @@
|
|
|
1
|
-
import { window } from './facade/browser';
|
|
2
|
-
let guessedVersion;
|
|
3
|
-
function _guessBsVersion() {
|
|
4
|
-
if (typeof document === 'undefined') {
|
|
5
|
-
return null;
|
|
6
|
-
}
|
|
7
|
-
const spanEl = document.createElement('span');
|
|
8
|
-
spanEl.innerText = 'test bs version';
|
|
9
|
-
document.body.appendChild(spanEl);
|
|
10
|
-
spanEl.classList.add('d-none');
|
|
11
|
-
const rect = spanEl.getBoundingClientRect();
|
|
12
|
-
document.body.removeChild(spanEl);
|
|
13
|
-
if (!rect) {
|
|
14
|
-
return 'bs3';
|
|
15
|
-
}
|
|
16
|
-
return rect.top === 0 ? 'bs4' : 'bs3';
|
|
17
|
-
}
|
|
18
|
-
export function setTheme(theme) {
|
|
19
|
-
guessedVersion = theme;
|
|
20
|
-
}
|
|
21
|
-
// todo: in mis-design-system, bs4 will became a default one
|
|
22
|
-
export function isBs3() {
|
|
23
|
-
if (typeof window === 'undefined') {
|
|
24
|
-
return true;
|
|
25
|
-
}
|
|
26
|
-
if (typeof window.__theme === 'undefined') {
|
|
27
|
-
if (guessedVersion) {
|
|
28
|
-
return guessedVersion === 'bs3';
|
|
29
|
-
}
|
|
30
|
-
guessedVersion = _guessBsVersion();
|
|
31
|
-
return guessedVersion === 'bs3';
|
|
32
|
-
}
|
|
33
|
-
return window.__theme !== 'bs4';
|
|
34
|
-
}
|
|
35
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGhlbWUtcHJvdmlkZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9taXMtY29tcG9uZW50cy9kYXRlcGlja2VyL3V0aWxzLXYyL3RoZW1lLXByb3ZpZGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUUxQyxJQUFJLGNBQTZCLENBQUM7QUFFbEMsU0FBUyxlQUFlO0lBQ3RCLElBQUksT0FBTyxRQUFRLEtBQUssV0FBVyxFQUFFO1FBQ25DLE9BQU8sSUFBSSxDQUFDO0tBQ2I7SUFDRCxNQUFNLE1BQU0sR0FBRyxRQUFRLENBQUMsYUFBYSxDQUFDLE1BQU0sQ0FBQyxDQUFDO0lBQzlDLE1BQU0sQ0FBQyxTQUFTLEdBQUcsaUJBQWlCLENBQUM7SUFDckMsUUFBUSxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsTUFBTSxDQUFDLENBQUM7SUFDbEMsTUFBTSxDQUFDLFNBQVMsQ0FBQyxHQUFHLENBQUMsUUFBUSxDQUFDLENBQUM7SUFDL0IsTUFBTSxJQUFJLEdBQUcsTUFBTSxDQUFDLHFCQUFxQixFQUFFLENBQUM7SUFDNUMsUUFBUSxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsTUFBTSxDQUFDLENBQUM7SUFDbEMsSUFBSSxDQUFDLElBQUksRUFBRTtRQUNULE9BQU8sS0FBSyxDQUFDO0tBQ2Q7SUFFRCxPQUFPLElBQUksQ0FBQyxHQUFHLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQztBQUN4QyxDQUFDO0FBRUQsTUFBTSxVQUFVLFFBQVEsQ0FBQyxLQUFvQjtJQUMzQyxjQUFjLEdBQUcsS0FBSyxDQUFDO0FBQ3pCLENBQUM7QUFFRCw0REFBNEQ7QUFDNUQsTUFBTSxVQUFVLEtBQUs7SUFDbkIsSUFBSSxPQUFPLE1BQU0sS0FBSyxXQUFXLEVBQUU7UUFDakMsT0FBTyxJQUFJLENBQUM7S0FDYjtJQUVELElBQUksT0FBTyxNQUFNLENBQUMsT0FBTyxLQUFLLFdBQVcsRUFBRTtRQUN6QyxJQUFJLGNBQWMsRUFBRTtZQUNsQixPQUFPLGNBQWMsS0FBSyxLQUFLLENBQUM7U0FDakM7UUFDRCxjQUFjLEdBQUcsZUFBZSxFQUFFLENBQUM7UUFFbkMsT0FBTyxjQUFjLEtBQUssS0FBSyxDQUFDO0tBQ2pDO0lBRUQsT0FBTyxNQUFNLENBQUMsT0FBTyxLQUFLLEtBQUssQ0FBQztBQUNsQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgd2luZG93IH0gZnJvbSAnLi9mYWNhZGUvYnJvd3Nlcic7XG5cbmxldCBndWVzc2VkVmVyc2lvbjogJ2JzMycgfCAnYnM0JztcblxuZnVuY3Rpb24gX2d1ZXNzQnNWZXJzaW9uKCk6ICdiczMnIHwgJ2JzNCcge1xuICBpZiAodHlwZW9mIGRvY3VtZW50ID09PSAndW5kZWZpbmVkJykge1xuICAgIHJldHVybiBudWxsO1xuICB9XG4gIGNvbnN0IHNwYW5FbCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ3NwYW4nKTtcbiAgc3BhbkVsLmlubmVyVGV4dCA9ICd0ZXN0IGJzIHZlcnNpb24nO1xuICBkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHNwYW5FbCk7XG4gIHNwYW5FbC5jbGFzc0xpc3QuYWRkKCdkLW5vbmUnKTtcbiAgY29uc3QgcmVjdCA9IHNwYW5FbC5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKTtcbiAgZG9jdW1lbnQuYm9keS5yZW1vdmVDaGlsZChzcGFuRWwpO1xuICBpZiAoIXJlY3QpIHtcbiAgICByZXR1cm4gJ2JzMyc7XG4gIH1cblxuICByZXR1cm4gcmVjdC50b3AgPT09IDAgPyAnYnM0JyA6ICdiczMnO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gc2V0VGhlbWUodGhlbWU6ICdiczMnIHwgJ2JzNCcpOiB2b2lkIHtcbiAgZ3Vlc3NlZFZlcnNpb24gPSB0aGVtZTtcbn1cblxuLy8gdG9kbzogaW4gbWlzLWRlc2lnbi1zeXN0ZW0sIGJzNCB3aWxsIGJlY2FtZSBhIGRlZmF1bHQgb25lXG5leHBvcnQgZnVuY3Rpb24gaXNCczMoKTogYm9vbGVhbiB7XG4gIGlmICh0eXBlb2Ygd2luZG93ID09PSAndW5kZWZpbmVkJykge1xuICAgIHJldHVybiB0cnVlO1xuICB9XG5cbiAgaWYgKHR5cGVvZiB3aW5kb3cuX190aGVtZSA9PT0gJ3VuZGVmaW5lZCcpIHtcbiAgICBpZiAoZ3Vlc3NlZFZlcnNpb24pIHtcbiAgICAgIHJldHVybiBndWVzc2VkVmVyc2lvbiA9PT0gJ2JzMyc7XG4gICAgfVxuICAgIGd1ZXNzZWRWZXJzaW9uID0gX2d1ZXNzQnNWZXJzaW9uKCk7XG5cbiAgICByZXR1cm4gZ3Vlc3NlZFZlcnNpb24gPT09ICdiczMnO1xuICB9XG5cbiAgcmV0dXJuIHdpbmRvdy5fX3RoZW1lICE9PSAnYnM0Jztcbn1cbiJdfQ==
|
|
@@ -1,10 +0,0 @@
|
|
|
1
|
-
export class Trigger {
|
|
2
|
-
constructor(open, close) {
|
|
3
|
-
this.open = open;
|
|
4
|
-
this.close = close || open;
|
|
5
|
-
}
|
|
6
|
-
isManual() {
|
|
7
|
-
return this.open === 'manual' || this.close === 'manual';
|
|
8
|
-
}
|
|
9
|
-
}
|
|
10
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJpZ2dlci5jbGFzcy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL21pcy1jb21wb25lbnRzL2RhdGVwaWNrZXIvdXRpbHMtdjIvdHJpZ2dlci5jbGFzcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxNQUFNLE9BQU8sT0FBTztJQUlsQixZQUFZLElBQVksRUFBRSxLQUFjO1FBQ3RDLElBQUksQ0FBQyxJQUFJLEdBQUcsSUFBSSxDQUFDO1FBQ2pCLElBQUksQ0FBQyxLQUFLLEdBQUcsS0FBSyxJQUFJLElBQUksQ0FBQztJQUM3QixDQUFDO0lBRUQsUUFBUTtRQUNOLE9BQU8sSUFBSSxDQUFDLElBQUksS0FBSyxRQUFRLElBQUksSUFBSSxDQUFDLEtBQUssS0FBSyxRQUFRLENBQUM7SUFDM0QsQ0FBQztDQUNGIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGNsYXNzIFRyaWdnZXIge1xuICBvcGVuOiBzdHJpbmc7XG4gIGNsb3NlPzogc3RyaW5nO1xuXG4gIGNvbnN0cnVjdG9yKG9wZW46IHN0cmluZywgY2xvc2U/OiBzdHJpbmcpIHtcbiAgICB0aGlzLm9wZW4gPSBvcGVuO1xuICAgIHRoaXMuY2xvc2UgPSBjbG9zZSB8fCBvcGVuO1xuICB9XG5cbiAgaXNNYW51YWwoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMub3BlbiA9PT0gJ21hbnVhbCcgfHwgdGhpcy5jbG9zZSA9PT0gJ21hbnVhbCc7XG4gIH1cbn1cbiJdfQ==
|
|
@@ -1,110 +0,0 @@
|
|
|
1
|
-
import { Trigger } from './trigger.class';
|
|
2
|
-
const DEFAULT_ALIASES = {
|
|
3
|
-
hover: ['mouseover', 'mouseout'],
|
|
4
|
-
focus: ['focusin', 'focusout']
|
|
5
|
-
};
|
|
6
|
-
/* tslint:disable-next-line: no-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
|
-
/* tslint:disable-next-line: no-any */
|
|
30
|
-
target, triggers, showFn, hideFn, toggleFn) {
|
|
31
|
-
const parsedTriggers = parseTriggers(triggers);
|
|
32
|
-
/* tslint:disable-next-line: no-any */
|
|
33
|
-
const listeners = [];
|
|
34
|
-
if (parsedTriggers.length === 1 && parsedTriggers[0].isManual()) {
|
|
35
|
-
return Function.prototype;
|
|
36
|
-
}
|
|
37
|
-
parsedTriggers.forEach((trigger) => {
|
|
38
|
-
if (trigger.open === trigger.close) {
|
|
39
|
-
listeners.push(renderer.listen(target, trigger.open, toggleFn));
|
|
40
|
-
return;
|
|
41
|
-
}
|
|
42
|
-
listeners.push(renderer.listen(target, trigger.open, showFn), renderer.listen(target, trigger.close, hideFn));
|
|
43
|
-
});
|
|
44
|
-
return () => {
|
|
45
|
-
listeners.forEach((unsubscribeFn) => unsubscribeFn());
|
|
46
|
-
};
|
|
47
|
-
}
|
|
48
|
-
export function listenToTriggersV2(renderer, options) {
|
|
49
|
-
const parsedTriggers = parseTriggers(options.triggers);
|
|
50
|
-
const target = options.target;
|
|
51
|
-
// do nothing
|
|
52
|
-
if (parsedTriggers.length === 1 && parsedTriggers[0].isManual()) {
|
|
53
|
-
return Function.prototype;
|
|
54
|
-
}
|
|
55
|
-
// all listeners
|
|
56
|
-
/* tslint:disable-next-line: no-any */
|
|
57
|
-
const listeners = [];
|
|
58
|
-
// lazy listeners registration
|
|
59
|
-
const _registerHide = [];
|
|
60
|
-
const registerHide = () => {
|
|
61
|
-
// add hide listeners to unregister array
|
|
62
|
-
_registerHide.forEach((fn) => listeners.push(fn()));
|
|
63
|
-
// register hide events only once
|
|
64
|
-
_registerHide.length = 0;
|
|
65
|
-
};
|
|
66
|
-
// register open\close\toggle listeners
|
|
67
|
-
parsedTriggers.forEach((trigger) => {
|
|
68
|
-
const useToggle = trigger.open === trigger.close;
|
|
69
|
-
const showFn = useToggle ? options.toggle : options.show;
|
|
70
|
-
if (!useToggle) {
|
|
71
|
-
_registerHide.push(() => renderer.listen(target, trigger.close, options.hide));
|
|
72
|
-
}
|
|
73
|
-
listeners.push(renderer.listen(target, trigger.open, () => showFn(registerHide)));
|
|
74
|
-
});
|
|
75
|
-
return () => {
|
|
76
|
-
listeners.forEach((unsubscribeFn) => unsubscribeFn());
|
|
77
|
-
};
|
|
78
|
-
}
|
|
79
|
-
export function registerOutsideClick(renderer, options) {
|
|
80
|
-
if (!options.outsideClick) {
|
|
81
|
-
return Function.prototype;
|
|
82
|
-
}
|
|
83
|
-
/* tslint:disable-next-line: no-any */
|
|
84
|
-
return renderer.listen('document', 'click', (event) => {
|
|
85
|
-
if (options.target && options.target.contains(event.target)) {
|
|
86
|
-
return undefined;
|
|
87
|
-
}
|
|
88
|
-
if (options.targets &&
|
|
89
|
-
options.targets.some(target => target.contains(event.target))) {
|
|
90
|
-
return undefined;
|
|
91
|
-
}
|
|
92
|
-
options.hide();
|
|
93
|
-
});
|
|
94
|
-
}
|
|
95
|
-
export function registerEscClick(renderer, options) {
|
|
96
|
-
if (!options.outsideEsc) {
|
|
97
|
-
return Function.prototype;
|
|
98
|
-
}
|
|
99
|
-
return renderer.listen('document', 'keyup.esc', (event) => {
|
|
100
|
-
if (options.target && options.target.contains(event.target)) {
|
|
101
|
-
return undefined;
|
|
102
|
-
}
|
|
103
|
-
if (options.targets &&
|
|
104
|
-
options.targets.some(target => target.contains(event.target))) {
|
|
105
|
-
return undefined;
|
|
106
|
-
}
|
|
107
|
-
options.hide();
|
|
108
|
-
});
|
|
109
|
-
}
|
|
110
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJpZ2dlcnMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9taXMtY29tcG9uZW50cy9kYXRlcGlja2VyL3V0aWxzLXYyL3RyaWdnZXJzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQWdCMUMsTUFBTSxlQUFlLEdBQUc7SUFDdEIsS0FBSyxFQUFFLENBQUMsV0FBVyxFQUFFLFVBQVUsQ0FBQztJQUNoQyxLQUFLLEVBQUUsQ0FBQyxTQUFTLEVBQUUsVUFBVSxDQUFDO0NBQy9CLENBQUM7QUFFRixzQ0FBc0M7QUFDdEMsTUFBTSxVQUFVLGFBQWEsQ0FBQyxRQUFnQixFQUFFLFVBQWUsZUFBZTtJQUM1RSxNQUFNLGVBQWUsR0FBRyxDQUFDLFFBQVEsSUFBSSxFQUFFLENBQUMsQ0FBQyxJQUFJLEVBQUUsQ0FBQztJQUVoRCxJQUFJLGVBQWUsQ0FBQyxNQUFNLEtBQUssQ0FBQyxFQUFFO1FBQ2hDLE9BQU8sRUFBRSxDQUFDO0tBQ1g7SUFFRCxNQUFNLGNBQWMsR0FBRyxlQUFlO1NBQ25DLEtBQUssQ0FBQyxLQUFLLENBQUM7U0FDWixHQUFHLENBQUMsQ0FBQyxPQUFlLEVBQUUsRUFBRSxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUM7U0FDNUMsR0FBRyxDQUFDLENBQUMsV0FBcUIsRUFBRSxFQUFFO1FBQzdCLE1BQU0sS0FBSyxHQUFHLE9BQU8sQ0FBQyxXQUFXLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxXQUFXLENBQUM7UUFFckQsT0FBTyxJQUFJLE9BQU8sQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLEVBQUUsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFDekMsQ0FBQyxDQUFDLENBQUM7SUFFTCxNQUFNLGNBQWMsR0FBRyxjQUFjLENBQUMsTUFBTSxDQUFDLENBQUMsV0FBb0IsRUFBRSxF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LENBQUMsUUFBUSxDQUFDLEtBQUssQ0FBQyxNQUFNLENBQUMsQ0FBQyxFQUM3RDtZQUNBLE9BQU8sU0FBUyxDQUFDO1NBQ2xCO1FBRUQsT0FBTyxDQUFDLElBQUksRUFBRSxDQUFDO0lBQ2pCLENBQUMsQ0FBQyxDQUFDO0FBQ0wsQ0FBQztBQUVELE1BQU0sVUFBVSxnQkFBZ0IsQ0FBQyxRQUFtQixFQUNuQixPQUFzQjtJQUNyRCxJQUFJLENBQUMsT0FBTyxDQUFDLFVBQVUsRUFBRTtRQUN2QixPQUFPLFFBQVEsQ0FBQyxTQUFTLENBQUM7S0FDM0I7SUFFRCxPQUFPLFFBQVEsQ0FBQyxNQUFNLENBQUMsVUFBVSxFQUFFLFdBQVcsRUFBRSxDQUFDLEtBQVUsRUFBRSxFQUFFO1FBQzdELElBQUksT0FBTyxDQUFDLE1BQU0sSUFBSSxPQUFPLENBQUMsTUFBTSxDQUFDLFFBQVEsQ0FBQyxLQUFLLENBQUMsTUFBTSxDQUFDLEVBQUU7WUFDM0QsT0FBTyxTQUFTLENBQUM7U0FDbEI7UUFDRCxJQUNFLE9BQU8sQ0FBQyxPQUFPO1lBQ2YsT0FBTyxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLEVBQUUsQ0FBQyxNQUFNLENBQUMsUUFBUSxDQUFDLEtBQUssQ0FBQyxNQUFNLENBQUMsQ0FBQyxFQUM3RDtZQUNBLE9BQU8sU0FBUyxDQUFDO1NBQ2xCO1FBRUQsT0FBTyxDQUFDLElBQUksRUFBRSxDQUFDO0lBQ2pCLENBQUMsQ0FBQyxDQUFDO0FBQ0wsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFJlbmRlcmVyMiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgVHJpZ2dlciB9IGZyb20gJy4vdHJpZ2dlci5jbGFzcyc7XG5cbi8qIHRzbGludDpkaXNhYmxlLW5leHQtbGluZTogbm8tYW55ICovXG5leHBvcnQgdHlwZSBCc0V2ZW50Q2FsbGJhY2sgPSAoZXZlbnQ/OiBhbnkpID0+IGJvb2xlYW4gfCB2b2lkO1xuXG5leHBvcnQgaW50ZXJmYWNlIExpc3Rlbk9wdGlvbnMge1xuICB0YXJnZXQ/OiBIVE1MRWxlbWVudDtcbiAgdGFyZ2V0cz86IEhUTUxFbGVtZW50W107XG4gIHRyaWdnZXJzPzogc3RyaW5nO1xuICBvdXRzaWRlQ2xpY2s/OiBib29sZWFuO1xuICBvdXRzaWRlRXNjPzogYm9vbGVhbjtcbiAgc2hvdz86IEJzRXZlbnRDYWxsYmFjaztcbiAgaGlkZT86IEJzRXZlbnRDYWxsYmFjaztcbiAgdG9nZ2xlPzogQnNFdmVudENhbGxiYWNrO1xufVxuXG5jb25zdCBERUZBVUxUX0FMSUFTRVMgPSB7XG4gIGhvdmVyOiBbJ21vdXNlb3ZlcicsICdtb3VzZW91dCddLFxuICBmb2N1czogWydmb2N1c2luJywgJ2ZvY3Vzb3V0J11cbn07XG5cbi8qIHRzbGludDpkaXNhYmxlLW5leHQtbGluZTogbm8tYW55ICovXG5leHBvcnQgZnVuY3Rpb24gcGFyc2VUcmlnZ2Vycyh0cmlnZ2Vyczogc3RyaW5nLCBhbGlhc2VzOiBhbnkgPSBERUZBVUxUX0FMSUFTRVMpOiBUcmlnZ2VyW10ge1xuICBjb25zdCB0cmltbWVkVHJpZ2dlcnMgPSAodHJpZ2dlcnMgfHwgJycpLnRyaW0oKTtcblxuICBpZiAodHJpbW1lZFRyaWdnZXJzLmxlbmd0aCA9PT0gMCkge1xuICAgIHJldHVybiBbXTtcbiAgfVxuXG4gIGNvbnN0IHBhcnNlZFRyaWdnZXJzID0gdHJpbW1lZFRyaWdnZXJzXG4gICAgLnNwbGl0KC9cXHMrLylcbiAgICAubWFwKCh0cmlnZ2VyOiBzdHJpbmcpID0+IHRyaWdnZXIuc3BsaXQoJzonKSlcbiAgICAubWFwKCh0cmlnZ2VyUGFpcjogc3RyaW5nW10pID0+IHtcbiAgICAgIGNvbnN0IGFsaWFzID0gYWxpYXNlc1t0cmlnZ2VyUGFpclswXV0gfHwgdHJpZ2dlclBhaXI7XG5cbiAgICAgIHJldHVybiBuZXcgVHJpZ2dlcihhbGlhc1swXSwgYWxpYXNbMV0pO1xuICAgIH0pO1xuXG4gIGNvbnN0IG1hbnVhbFRyaWdnZXJzID0gcGFyc2VkVHJpZ2dlcnMuZmlsdGVyKCh0cmlnZ2VyUGFpcjogVHJpZ2dlcikgPT5cbiAgICB0cmlnZ2VyUGFpci5pc01hbnVhbCgpXG4gICk7XG5cbiAgaWYgKG1hbnVhbFRyaWdnZXJzLmxlbmd0aCA+IDEpIHtcbiAgICB0aHJvdyBuZXcgRXJyb3IoJ1RyaWdnZXJzIHBhcnNlIGVycm9yOiBvbmx5IG9uZSBtYW51YWwgdHJpZ2dlciBpcyBhbGxvd2VkJyk7XG4gIH1cblxuICBpZiAobWFudWFsVHJpZ2dlcnMubGVuZ3RoID09PSAxICYmIHBhcnNlZFRyaWdnZXJzLmxlbmd0aCA+IDEpIHtcbiAgICB0aHJvdyBuZXcgRXJyb3IoJ1RyaWdnZXJzIHBhcnNlIGVycm9yOiBtYW51YWwgdHJpZ2dlciBjYW5cXCd0IGJlIG1peGVkIHdpdGggb3RoZXIgdHJpZ2dlcnMnKTtcbiAgfVxuXG4gIHJldHVybiBwYXJzZWRUcmlnZ2Vycztcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGxpc3RlblRvVHJpZ2dlcnMocmVuZGVyZXI6IFJlbmRlcmVyMixcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qIHRzbGludDpkaXNhYmxlLW5leHQtbGluZTogbm8tYW55ICovXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0YXJnZXQ6IGFueSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRyaWdnZXJzOiBzdHJpbmcsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzaG93Rm46IEJzRXZlbnRDYWxsYmFjayxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhpZGVGbjogQnNFdmVudENhbGxiYWNrLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdG9nZ2xlRm46IEJzRXZlbnRDYWxsYmFjayk6IEZ1bmN0aW9uIHtcbiAgY29uc3QgcGFyc2VkVHJpZ2dlcnMgPSBwYXJzZVRyaWdnZXJzKHRyaWdnZXJzKTtcbiAgLyogdHNsaW50OmRpc2FibGUtbmV4dC1saW5lOiBuby1hbnkgKi9cbiAgY29uc3QgbGlzdGVuZXJzOiBhbnlbXSA9IFtdO1xuXG4gIGlmIChwYXJzZWRUcmlnZ2Vycy5sZW5ndGggPT09IDEgJiYgcGFyc2VkVHJpZ2dlcnNbMF0uaXNNYW51YWwoKSkge1xuICAgIHJldHVybiBGdW5jdGlvbi5wcm90b3R5cGU7XG4gIH1cblxuICBwYXJzZWRUcmlnZ2Vycy5mb3JFYWNoKCh0cmlnZ2VyOiBUcmlnZ2VyKSA9PiB7XG4gICAgaWYgKHRyaWdnZXIub3BlbiA9PT0gdHJpZ2dlci5jbG9zZSkge1xuICAgICAgbGlzdGVuZXJzLnB1c2gocmVuZGVyZXIubGlzdGVuKHRhcmdldCwgdHJpZ2dlci5vcGVuLCB0b2dnbGVGbikpO1xuXG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgbGlzdGVuZXJzLnB1c2goXG4gICAgICByZW5kZXJlci5saXN0ZW4odGFyZ2V0LCB0cmlnZ2VyLm9wZW4sIHNob3dGbiksXG4gICAgICByZW5kZXJlci5saXN0ZW4odGFyZ2V0LCB0cmlnZ2VyLmNsb3NlLCBoaWRlRm4pXG4gICAgKTtcbiAgfSk7XG5cbiAgcmV0dXJuICgpID0+IHtcbiAgICBsaXN0ZW5lcnMuZm9yRWFjaCgodW5zdWJzY3JpYmVGbjogRnVuY3Rpb24pID0+IHVuc3Vic2NyaWJlRm4oKSk7XG4gIH07XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBsaXN0ZW5Ub1RyaWdnZXJzVjIocmVuZGVyZXI6IFJlbmRlcmVyMixcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgb3B0aW9uczogTGlzdGVuT3B0aW9ucyk6IEZ1bmN0aW9uIHtcbiAgY29uc3QgcGFyc2VkVHJpZ2dlcnMgPSBwYXJzZVRyaWdnZXJzKG9wdGlvbnMudHJpZ2dlcnMpO1xuICBjb25zdCB0YXJnZXQgPSBvcHRpb25zLnRhcmdldDtcbiAgLy8gZG8gbm90aGluZ1xuICBpZiAocGFyc2VkVHJpZ2dlcnMubGVuZ3RoID09PSAxICYmIHBhcnNlZFRyaWdnZXJzWzBdLmlzTWFudWFsKCkpIHtcbiAgICByZXR1cm4gRnVuY3Rpb24ucHJvdG90eXBlO1xuICB9XG5cbiAgLy8gYWxsIGxpc3RlbmVyc1xuICAvKiB0c2xpbnQ6ZGlzYWJsZS1uZXh0LWxpbmU6IG5vLWFueSAqL1xuICBjb25zdCBsaXN0ZW5lcnM6IGFueVtdID0gW107XG5cbiAgLy8gbGF6eSBsaXN0ZW5lcnMgcmVnaXN0cmF0aW9uXG4gIGNvbnN0IF9yZWdpc3RlckhpZGU6IEZ1bmN0aW9uW10gPSBbXTtcbiAgY29uc3QgcmVnaXN0ZXJIaWRlID0gKCkgPT4ge1xuICAgIC8vIGFkZCBoaWRlIGxpc3RlbmVycyB0byB1bnJlZ2lzdGVyIGFycmF5XG4gICAgX3JlZ2lzdGVySGlkZS5mb3JFYWNoKChmbjogRnVuY3Rpb24pID0+IGxpc3RlbmVycy5wdXNoKGZuKCkpKTtcbiAgICAvLyByZWdpc3RlciBoaWRlIGV2ZW50cyBvbmx5IG9uY2VcbiAgICBfcmVnaXN0ZXJIaWRlLmxlbmd0aCA9IDA7XG4gIH07XG5cbiAgLy8gcmVnaXN0ZXIgb3BlblxcY2xvc2VcXHRvZ2dsZSBsaXN0ZW5lcnNcbiAgcGFyc2VkVHJpZ2dlcnMuZm9yRWFjaCgodHJpZ2dlcjogVHJpZ2dlcikgPT4ge1xuICAgIGNvbnN0IHVzZVRvZ2dsZSA9IHRyaWdnZXIub3BlbiA9PT0gdHJpZ2dlci5jbG9zZTtcbiAgICBjb25zdCBzaG93Rm4gPSB1c2VUb2dnbGUgPyBvcHRpb25zLnRvZ2dsZSA6IG9wdGlvbnMuc2hvdztcblxuICAgIGlmICghdXNlVG9nZ2xlKSB7XG4gICAgICBfcmVnaXN0ZXJIaWRlLnB1c2goKCkgPT5cbiAgICAgICAgcmVuZGVyZXIubGlzdGVuKHRhcmdldCwgdHJpZ2dlci5jbG9zZSwgb3B0aW9ucy5oaWRlKVxuICAgICAgKTtcbiAgICB9XG5cbiAgICBsaXN0ZW5lcnMucHVzaChcbiAgICAgIHJlbmRlcmVyLmxpc3Rlbih0YXJnZXQsIHRyaWdnZXIub3BlbiwgKCkgPT4gc2hvd0ZuKHJlZ2lzdGVySGlkZSkpXG4gICAgKTtcbiAgfSk7XG5cbiAgcmV0dXJuICgpID0+IHtcbiAgICBsaXN0ZW5lcnMuZm9yRWFjaCgodW5zdWJzY3JpYmVGbjogRnVuY3Rpb24pID0+IHVuc3Vic2NyaWJlRm4oKSk7XG4gIH07XG59XG5cbmV4cG9ydCBmdW5jdGlvbiByZWdpc3Rlck91dHNpZGVDbGljayhyZW5kZXJlcjogUmVuZGVyZXIyLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG9wdGlvbnM6IExpc3Rlbk9wdGlvbnMpIHtcbiAgaWYgKCFvcHRpb25zLm91dHNpZGVDbGljaykge1xuICAgIHJldHVybiBGdW5jdGlvbi5wcm90b3R5cGU7XG4gIH1cblxuICAvKiB0c2xpbnQ6ZGlzYWJsZS1uZXh0LWxpbmU6IG5vLWFueSAqL1xuICByZXR1cm4gcmVuZGVyZXIubGlzdGVuKCdkb2N1bWVudCcsICdjbGljaycsIChldmVudDogYW55KSA9PiB7XG4gICAgaWYgKG9wdGlvbnMudGFyZ2V0ICYmIG9wdGlvbnMudGFyZ2V0LmNvbnRhaW5zKGV2ZW50LnRhcmdldCkpIHtcbiAgICAgIHJldHVybiB1bmRlZmluZWQ7XG4gICAgfVxuICAgIGlmIChcbiAgICAgIG9wdGlvbnMudGFyZ2V0cyAmJlxuICAgICAgb3B0aW9ucy50YXJnZXRzLnNvbWUodGFyZ2V0ID0+IHRhcmdldC5jb250YWlucyhldmVudC50YXJnZXQpKVxuICAgICkge1xuICAgICAgcmV0dXJuIHVuZGVmaW5lZDtcbiAgICB9XG5cbiAgICBvcHRpb25zLmhpZGUoKTtcbiAgfSk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiByZWdpc3RlckVzY0NsaWNrKHJlbmRlcmVyOiBSZW5kZXJlcjIsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBvcHRpb25zOiBMaXN0ZW5PcHRpb25zKSB7XG4gIGlmICghb3B0aW9ucy5vdXRzaWRlRXNjKSB7XG4gICAgcmV0dXJuIEZ1bmN0aW9uLnByb3RvdHlwZTtcbiAgfVxuXG4gIHJldHVybiByZW5kZXJlci5saXN0ZW4oJ2RvY3VtZW50JywgJ2tleXVwLmVzYycsIChldmVudDogYW55KSA9PiB7XG4gICAgaWYgKG9wdGlvbnMudGFyZ2V0ICYmIG9wdGlvbnMudGFyZ2V0LmNvbnRhaW5zKGV2ZW50LnRhcmdldCkpIHtcbiAgICAgIHJldHVybiB1bmRlZmluZWQ7XG4gICAgfVxuICAgIGlmIChcbiAgICAgIG9wdGlvbnMudGFyZ2V0cyAmJlxuICAgICAgb3B0aW9ucy50YXJnZXRzLnNvbWUodGFyZ2V0ID0+IHRhcmdldC5jb250YWlucyhldmVudC50YXJnZXQpKVxuICAgICkge1xuICAgICAgcmV0dXJuIHVuZGVmaW5lZDtcbiAgICB9XG5cbiAgICBvcHRpb25zLmhpZGUoKTtcbiAgfSk7XG59XG4iXX0=
|
|
@@ -1,21 +0,0 @@
|
|
|
1
|
-
import { window } from './facade/browser';
|
|
2
|
-
export class Utils {
|
|
3
|
-
/* tslint:disable-next-line: no-any */
|
|
4
|
-
static reflow(element) {
|
|
5
|
-
/* tslint:disable-next-line: no-any */
|
|
6
|
-
((bs) => bs)(element.offsetHeight);
|
|
7
|
-
}
|
|
8
|
-
// source: https://github.com/jquery/jquery/blob/master/src/css/var/getStyles.js
|
|
9
|
-
/* tslint:disable-next-line: no-any */
|
|
10
|
-
static getStyles(elem) {
|
|
11
|
-
// Support: IE <=11 only, Firefox <=30 (#15098, #14150)
|
|
12
|
-
// IE throws on elements created in popups
|
|
13
|
-
// FF meanwhile throws on frame elements through "defaultView.getComputedStyle"
|
|
14
|
-
let view = elem.ownerDocument.defaultView;
|
|
15
|
-
if (!view || !view.opener) {
|
|
16
|
-
view = window;
|
|
17
|
-
}
|
|
18
|
-
return view.getComputedStyle(elem);
|
|
19
|
-
}
|
|
20
|
-
}
|
|
21
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXRpbHMuY2xhc3MuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9taXMtY29tcG9uZW50cy9kYXRlcGlja2VyL3V0aWxzLXYyL3V0aWxzLmNsYXNzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUUxQyxNQUFNLE9BQU8sS0FBSztJQUNoQixzQ0FBc0M7SUFDdEMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxPQUFZO1FBQ3hCLHNDQUFzQztRQUN0QyxDQUFDLENBQUMsRUFBTyxFQUFRLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQyxPQUFPLENBQUMsWUFBWSxDQUFDLENBQUM7SUFDaEQsQ0FBQztJQUVELGdGQUFnRjtJQUNoRixzQ0FBc0M7SUFDdEMsTUFBTSxDQUFDLFNBQVMsQ0FBQyxJQUFTO1FBQ3hCLHVEQUF1RDtRQUN2RCwwQ0FBMEM7UUFDMUMsK0VBQStFO1FBQy9FLElBQUksSUFBSSxHQUFHLElBQUksQ0FBQyxhQUFhLENBQUMsV0FBVyxDQUFDO1FBRTFDLElBQUksQ0FBQyxJQUFJLElBQUksQ0FBQyxJQUFJLENBQUMsTUFBTSxFQUFFO1lBQ3pCLElBQUksR0FBRyxNQUFNLENBQUM7U0FDZjtRQUVELE9BQU8sSUFBSSxDQUFDLGdCQUFnQixDQUFDLElBQUksQ0FBQyxDQUFDO0lBQ3JDLENBQUM7Q0FDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IHdpbmRvdyB9IGZyb20gJy4vZmFjYWRlL2Jyb3dzZXInO1xuXG5leHBvcnQgY2xhc3MgVXRpbHMge1xuICAvKiB0c2xpbnQ6ZGlzYWJsZS1uZXh0LWxpbmU6IG5vLWFueSAqL1xuICBzdGF0aWMgcmVmbG93KGVsZW1lbnQ6IGFueSk6IHZvaWQge1xuICAgIC8qIHRzbGludDpkaXNhYmxlLW5leHQtbGluZTogbm8tYW55ICovXG4gICAgKChiczogYW55KTogdm9pZCA9PiBicykoZWxlbWVudC5vZmZzZXRIZWlnaHQpO1xuICB9XG5cbiAgLy8gc291cmNlOiBodHRwczovL2dpdGh1Yi5jb20vanF1ZXJ5L2pxdWVyeS9ibG9iL21hc3Rlci9zcmMvY3NzL3Zhci9nZXRTdHlsZXMuanNcbiAgLyogdHNsaW50OmRpc2FibGUtbmV4dC1saW5lOiBuby1hbnkgKi9cbiAgc3RhdGljIGdldFN0eWxlcyhlbGVtOiBhbnkpOiBhbnkge1xuICAgIC8vIFN1cHBvcnQ6IElFIDw9MTEgb25seSwgRmlyZWZveCA8PTMwICgjMTUwOTgsICMxNDE1MClcbiAgICAvLyBJRSB0aHJvd3Mgb24gZWxlbWVudHMgY3JlYXRlZCBpbiBwb3B1cHNcbiAgICAvLyBGRiBtZWFud2hpbGUgdGhyb3dzIG9uIGZyYW1lIGVsZW1lbnRzIHRocm91Z2ggXCJkZWZhdWx0Vmlldy5nZXRDb21wdXRlZFN0eWxlXCJcbiAgICBsZXQgdmlldyA9IGVsZW0ub3duZXJEb2N1bWVudC5kZWZhdWx0VmlldztcblxuICAgIGlmICghdmlldyB8fCAhdmlldy5vcGVuZXIpIHtcbiAgICAgIHZpZXcgPSB3aW5kb3c7XG4gICAgfVxuXG4gICAgcmV0dXJuIHZpZXcuZ2V0Q29tcHV0ZWRTdHlsZShlbGVtKTtcbiAgfVxufVxuIl19
|
|
@@ -1,12 +0,0 @@
|
|
|
1
|
-
import { isDevMode } from '@angular/core';
|
|
2
|
-
const _messagesHash = {};
|
|
3
|
-
const _hideMsg = typeof console === 'undefined' || !('warn' in console);
|
|
4
|
-
export function warnOnce(msg) {
|
|
5
|
-
if (!isDevMode() || _hideMsg || msg in _messagesHash) {
|
|
6
|
-
return;
|
|
7
|
-
}
|
|
8
|
-
_messagesHash[msg] = true;
|
|
9
|
-
/*tslint:disable-next-line*/
|
|
10
|
-
console.warn(msg);
|
|
11
|
-
}
|
|
12
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid2Fybi1vbmNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbWlzLWNvbXBvbmVudHMvZGF0ZXBpY2tlci91dGlscy12Mi93YXJuLW9uY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMxQyxNQUFNLGFBQWEsR0FBK0IsRUFBRSxDQUFDO0FBQ3JELE1BQU0sUUFBUSxHQUFHLE9BQU8sT0FBTyxLQUFLLFdBQVcsSUFBSSxDQUFDLENBQUMsTUFBTSxJQUFJLE9BQU8sQ0FBQyxDQUFDO0FBRXhFLE1BQU0sVUFBVSxRQUFRLENBQUMsR0FBVztJQUNsQyxJQUFJLENBQUMsU0FBUyxFQUFFLElBQUksUUFBUSxJQUFJLEdBQUcsSUFBSSxhQUFhLEVBQUU7UUFDcEQsT0FBTztLQUNSO0lBRUQsYUFBYSxDQUFDLEdBQUcsQ0FBQyxHQUFHLElBQUksQ0FBQztJQUMxQiw0QkFBNEI7SUFDNUIsT0FBTyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQztBQUNwQixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgaXNEZXZNb2RlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5jb25zdCBfbWVzc2FnZXNIYXNoOiB7IFtrZXk6IHN0cmluZ106IGJvb2xlYW4gfSA9IHt9O1xuY29uc3QgX2hpZGVNc2cgPSB0eXBlb2YgY29uc29sZSA9PT0gJ3VuZGVmaW5lZCcgfHwgISgnd2FybicgaW4gY29uc29sZSk7XG5cbmV4cG9ydCBmdW5jdGlvbiB3YXJuT25jZShtc2c6IHN0cmluZyk6IHZvaWQge1xuICBpZiAoIWlzRGV2TW9kZSgpIHx8IF9oaWRlTXNnIHx8IG1zZyBpbiBfbWVzc2FnZXNIYXNoKSB7XG4gICAgcmV0dXJuO1xuICB9XG5cbiAgX21lc3NhZ2VzSGFzaFttc2ddID0gdHJ1ZTtcbiAgLyp0c2xpbnQ6ZGlzYWJsZS1uZXh0LWxpbmUqL1xuICBjb25zb2xlLndhcm4obXNnKTtcbn1cbiJdfQ==
|