mis-crystal-design-system 2.3.17 → 2.3.18
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/bundles/mis-crystal-design-system-datepicker_v2.umd.js +12 -12
- package/bundles/mis-crystal-design-system-datepicker_v2.umd.js.map +1 -1
- package/bundles/mis-crystal-design-system-datepicker_v2.umd.min.js +2 -2
- package/bundles/mis-crystal-design-system-datepicker_v2.umd.min.js.map +1 -1
- package/bundles/mis-crystal-design-system-multi-select-dropdown.umd.js +61 -23
- package/bundles/mis-crystal-design-system-multi-select-dropdown.umd.js.map +1 -1
- package/bundles/mis-crystal-design-system-multi-select-dropdown.umd.min.js +2 -2
- package/bundles/mis-crystal-design-system-multi-select-dropdown.umd.min.js.map +1 -1
- package/esm2015/datepicker_v2/tz-dp-container/tz-dp-container.component.js +12 -12
- package/esm2015/multi-select-dropdown/multi-select-dropdown.component.js +74 -37
- package/fesm2015/mis-crystal-design-system-datepicker_v2.js +11 -11
- package/fesm2015/mis-crystal-design-system-datepicker_v2.js.map +1 -1
- package/fesm2015/mis-crystal-design-system-multi-select-dropdown.js +72 -35
- package/fesm2015/mis-crystal-design-system-multi-select-dropdown.js.map +1 -1
- package/multi-select-dropdown/mis-crystal-design-system-multi-select-dropdown.metadata.json +1 -1
- package/multi-select-dropdown/multi-select-dropdown.component.d.ts +8 -2
- package/package.json +1 -1
- package/bundles/mis-crystal-design-system-datepicker.umd.js +0 -13916
- package/bundles/mis-crystal-design-system-datepicker.umd.js.map +0 -1
- package/bundles/mis-crystal-design-system-datepicker.umd.min.js +0 -68
- package/bundles/mis-crystal-design-system-datepicker.umd.min.js.map +0 -1
- package/datepicker/base/bs-datepicker-container.d.ts +0 -44
- package/datepicker/bs-datepicker-inline.component.d.ts +0 -61
- package/datepicker/bs-datepicker-inline.config.d.ts +0 -3
- package/datepicker/bs-datepicker-input.directive.d.ts +0 -30
- package/datepicker/bs-datepicker.component.d.ts +0 -123
- package/datepicker/bs-datepicker.config.d.ts +0 -140
- package/datepicker/bs-datepicker.module.d.ts +0 -4
- package/datepicker/bs-daterangepicker-inline.component.d.ts +0 -61
- package/datepicker/bs-daterangepicker-inline.config.d.ts +0 -6
- package/datepicker/bs-daterangepicker-input.directive.d.ts +0 -30
- package/datepicker/bs-daterangepicker.component.d.ts +0 -115
- package/datepicker/bs-daterangepicker.config.d.ts +0 -4
- package/datepicker/bs-locale.service.d.ts +0 -10
- package/datepicker/date-formatter.d.ts +0 -3
- package/datepicker/datepicker-animations.d.ts +0 -3
- package/datepicker/datepicker-inner.component.d.ts +0 -75
- package/datepicker/datepicker.component.d.ts +0 -78
- package/datepicker/datepicker.config.d.ts +0 -19
- package/datepicker/datepicker.module.d.ts +0 -4
- package/datepicker/daypicker.component.d.ts +0 -14
- 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/mis-crystal-design-system-datepicker.d.ts +0 -24
- package/datepicker/mis-crystal-design-system-datepicker.metadata.json +0 -1
- package/datepicker/models/index.d.ts +0 -102
- package/datepicker/monthpicker.component.d.ts +0 -11
- package/datepicker/package.json +0 -11
- package/datepicker/public_api.d.ts +0 -26
- package/datepicker/reducer/_defaults.d.ts +0 -2
- package/datepicker/reducer/bs-datepicker.actions.d.ts +0 -43
- package/datepicker/reducer/bs-datepicker.effects.d.ts +0 -38
- 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 -5
- package/datepicker/sub-components/chronos/create/check-overflow.d.ts +0 -2
- package/datepicker/sub-components/chronos/create/clone.d.ts +0 -1
- package/datepicker/sub-components/chronos/create/date-from-array.d.ts +0 -2
- package/datepicker/sub-components/chronos/create/from-anything.d.ts +0 -4
- package/datepicker/sub-components/chronos/create/from-array.d.ts +0 -2
- package/datepicker/sub-components/chronos/create/from-object.d.ts +0 -2
- package/datepicker/sub-components/chronos/create/from-string-and-array.d.ts +0 -2
- package/datepicker/sub-components/chronos/create/from-string-and-format.d.ts +0 -4
- package/datepicker/sub-components/chronos/create/from-string.d.ts +0 -4
- package/datepicker/sub-components/chronos/create/local.d.ts +0 -3
- package/datepicker/sub-components/chronos/create/parsing-flags.d.ts +0 -2
- package/datepicker/sub-components/chronos/create/parsing.types.d.ts +0 -64
- package/datepicker/sub-components/chronos/create/valid.d.ts +0 -6
- package/datepicker/sub-components/chronos/duration/bubble.d.ts +0 -4
- package/datepicker/sub-components/chronos/duration/constructor.d.ts +0 -21
- package/datepicker/sub-components/chronos/duration/create.d.ts +0 -8
- package/datepicker/sub-components/chronos/duration/humanize.d.ts +0 -5
- package/datepicker/sub-components/chronos/duration/valid.d.ts +0 -2
- package/datepicker/sub-components/chronos/format/format.d.ts +0 -11
- package/datepicker/sub-components/chronos/format.d.ts +0 -5
- package/datepicker/sub-components/chronos/i18n/ar.d.ts +0 -2
- package/datepicker/sub-components/chronos/i18n/bg.d.ts +0 -2
- package/datepicker/sub-components/chronos/i18n/ca.d.ts +0 -2
- package/datepicker/sub-components/chronos/i18n/cs.d.ts +0 -2
- package/datepicker/sub-components/chronos/i18n/da.d.ts +0 -2
- package/datepicker/sub-components/chronos/i18n/de.d.ts +0 -2
- package/datepicker/sub-components/chronos/i18n/en-gb.d.ts +0 -2
- package/datepicker/sub-components/chronos/i18n/es-do.d.ts +0 -2
- package/datepicker/sub-components/chronos/i18n/es-us.d.ts +0 -2
- package/datepicker/sub-components/chronos/i18n/es.d.ts +0 -2
- package/datepicker/sub-components/chronos/i18n/et.d.ts +0 -2
- package/datepicker/sub-components/chronos/i18n/fi.d.ts +0 -2
- package/datepicker/sub-components/chronos/i18n/fr.d.ts +0 -2
- package/datepicker/sub-components/chronos/i18n/gl.d.ts +0 -2
- package/datepicker/sub-components/chronos/i18n/he.d.ts +0 -2
- package/datepicker/sub-components/chronos/i18n/hi.d.ts +0 -2
- package/datepicker/sub-components/chronos/i18n/hr.d.ts +0 -2
- package/datepicker/sub-components/chronos/i18n/hu.d.ts +0 -2
- package/datepicker/sub-components/chronos/i18n/id.d.ts +0 -2
- package/datepicker/sub-components/chronos/i18n/it.d.ts +0 -2
- package/datepicker/sub-components/chronos/i18n/ja.d.ts +0 -2
- package/datepicker/sub-components/chronos/i18n/ka.d.ts +0 -2
- package/datepicker/sub-components/chronos/i18n/kk.d.ts +0 -2
- package/datepicker/sub-components/chronos/i18n/ko.d.ts +0 -2
- package/datepicker/sub-components/chronos/i18n/lt.d.ts +0 -2
- package/datepicker/sub-components/chronos/i18n/lv.d.ts +0 -2
- package/datepicker/sub-components/chronos/i18n/mn.d.ts +0 -2
- package/datepicker/sub-components/chronos/i18n/nb.d.ts +0 -2
- package/datepicker/sub-components/chronos/i18n/nl-be.d.ts +0 -2
- package/datepicker/sub-components/chronos/i18n/nl.d.ts +0 -2
- package/datepicker/sub-components/chronos/i18n/pl.d.ts +0 -2
- package/datepicker/sub-components/chronos/i18n/pt-br.d.ts +0 -2
- package/datepicker/sub-components/chronos/i18n/ro.d.ts +0 -2
- package/datepicker/sub-components/chronos/i18n/ru.d.ts +0 -2
- package/datepicker/sub-components/chronos/i18n/sk.d.ts +0 -2
- package/datepicker/sub-components/chronos/i18n/sl.d.ts +0 -2
- package/datepicker/sub-components/chronos/i18n/sq.d.ts +0 -2
- package/datepicker/sub-components/chronos/i18n/sv.d.ts +0 -2
- package/datepicker/sub-components/chronos/i18n/th-be.d.ts +0 -2
- package/datepicker/sub-components/chronos/i18n/th.d.ts +0 -2
- package/datepicker/sub-components/chronos/i18n/tr.d.ts +0 -2
- package/datepicker/sub-components/chronos/i18n/uk.d.ts +0 -2
- package/datepicker/sub-components/chronos/i18n/vi.d.ts +0 -2
- package/datepicker/sub-components/chronos/i18n/zh-cn.d.ts +0 -2
- package/datepicker/sub-components/chronos/index.d.ts +0 -1
- package/datepicker/sub-components/chronos/locale/calendar.d.ts +0 -8
- package/datepicker/sub-components/chronos/locale/locale.class.d.ts +0 -143
- package/datepicker/sub-components/chronos/locale/locale.defaults.d.ts +0 -11
- package/datepicker/sub-components/chronos/locale/locales.d.ts +0 -7
- package/datepicker/sub-components/chronos/moment/add-subtract.d.ts +0 -5
- package/datepicker/sub-components/chronos/moment/calendar.d.ts +0 -15
- package/datepicker/sub-components/chronos/moment/diff.d.ts +0 -3
- package/datepicker/sub-components/chronos/moment/min-max.d.ts +0 -2
- package/datepicker/sub-components/chronos/parse/regex.d.ts +0 -22
- package/datepicker/sub-components/chronos/parse/token.d.ts +0 -5
- package/datepicker/sub-components/chronos/public_api.d.ts +0 -57
- package/datepicker/sub-components/chronos/test/chain.d.ts +0 -214
- package/datepicker/sub-components/chronos/types.d.ts +0 -36
- package/datepicker/sub-components/chronos/units/aliases.d.ts +0 -7
- package/datepicker/sub-components/chronos/units/constants.d.ts +0 -9
- package/datepicker/sub-components/chronos/units/day-of-month.d.ts +0 -1
- package/datepicker/sub-components/chronos/units/day-of-week.d.ts +0 -20
- package/datepicker/sub-components/chronos/units/day-of-year.d.ts +0 -3
- package/datepicker/sub-components/chronos/units/hour.d.ts +0 -1
- package/datepicker/sub-components/chronos/units/index.d.ts +0 -18
- package/datepicker/sub-components/chronos/units/millisecond.d.ts +0 -1
- package/datepicker/sub-components/chronos/units/minute.d.ts +0 -1
- package/datepicker/sub-components/chronos/units/month.d.ts +0 -2
- package/datepicker/sub-components/chronos/units/offset.d.ts +0 -10
- package/datepicker/sub-components/chronos/units/priorities.d.ts +0 -1
- package/datepicker/sub-components/chronos/units/quarter.d.ts +0 -3
- package/datepicker/sub-components/chronos/units/second.d.ts +0 -1
- package/datepicker/sub-components/chronos/units/timestamp.d.ts +0 -1
- package/datepicker/sub-components/chronos/units/timezone.d.ts +0 -3
- package/datepicker/sub-components/chronos/units/week-calendar-utils.d.ts +0 -9
- package/datepicker/sub-components/chronos/units/week-year.d.ts +0 -8
- package/datepicker/sub-components/chronos/units/week.d.ts +0 -6
- package/datepicker/sub-components/chronos/units/year.d.ts +0 -4
- package/datepicker/sub-components/chronos/utils/abs-ceil.d.ts +0 -1
- package/datepicker/sub-components/chronos/utils/abs-round.d.ts +0 -1
- package/datepicker/sub-components/chronos/utils/compare-arrays.d.ts +0 -1
- package/datepicker/sub-components/chronos/utils/date-compare.d.ts +0 -9
- package/datepicker/sub-components/chronos/utils/date-getters.d.ts +0 -18
- package/datepicker/sub-components/chronos/utils/date-setters.d.ts +0 -12
- package/datepicker/sub-components/chronos/utils/defaults.d.ts +0 -1
- package/datepicker/sub-components/chronos/utils/start-end-of.d.ts +0 -3
- package/datepicker/sub-components/chronos/utils/type-checks.d.ts +0 -12
- package/datepicker/sub-components/chronos/utils/zero-fill.d.ts +0 -1
- package/datepicker/sub-components/chronos/utils.d.ts +0 -2
- package/datepicker/sub-components/component-loader/bs-component-ref.class.d.ts +0 -5
- package/datepicker/sub-components/component-loader/component-loader.class.d.ts +0 -75
- package/datepicker/sub-components/component-loader/component-loader.factory.d.ts +0 -18
- package/datepicker/sub-components/component-loader/content-ref.class.d.ts +0 -7
- package/datepicker/sub-components/component-loader/index.d.ts +0 -1
- package/datepicker/sub-components/component-loader/listen-options.model.d.ts +0 -11
- package/datepicker/sub-components/component-loader/public_api.d.ts +0 -4
- package/datepicker/sub-components/mini-ngrx/index.d.ts +0 -1
- package/datepicker/sub-components/mini-ngrx/public_api.d.ts +0 -7
- package/datepicker/sub-components/mini-ngrx/state.class.d.ts +0 -8
- package/datepicker/sub-components/mini-ngrx/store.class.d.ts +0 -16
- package/datepicker/sub-components/positioning/index.d.ts +0 -1
- package/datepicker/sub-components/positioning/models/index.d.ts +0 -41
- package/datepicker/sub-components/positioning/modifiers/arrow.d.ts +0 -2
- package/datepicker/sub-components/positioning/modifiers/flip.d.ts +0 -2
- package/datepicker/sub-components/positioning/modifiers/index.d.ts +0 -5
- package/datepicker/sub-components/positioning/modifiers/initData.d.ts +0 -2
- package/datepicker/sub-components/positioning/modifiers/preventOverflow.d.ts +0 -2
- package/datepicker/sub-components/positioning/modifiers/shift.d.ts +0 -2
- package/datepicker/sub-components/positioning/ng-positioning.d.ts +0 -8
- package/datepicker/sub-components/positioning/positioning.service.d.ts +0 -45
- package/datepicker/sub-components/positioning/public_api.d.ts +0 -2
- package/datepicker/sub-components/positioning/utils/computeAutoPlacement.d.ts +0 -2
- package/datepicker/sub-components/positioning/utils/findCommonOffsetParent.d.ts +0 -1
- package/datepicker/sub-components/positioning/utils/getBordersSize.d.ts +0 -4
- package/datepicker/sub-components/positioning/utils/getBoundaries.d.ts +0 -1
- package/datepicker/sub-components/positioning/utils/getBoundingClientRect.d.ts +0 -2
- package/datepicker/sub-components/positioning/utils/getClientRect.d.ts +0 -5
- package/datepicker/sub-components/positioning/utils/getFixedPositionOffsetParent.d.ts +0 -4
- package/datepicker/sub-components/positioning/utils/getOffsetParent.d.ts +0 -1
- package/datepicker/sub-components/positioning/utils/getOffsetRectRelativeToArbitraryNode.d.ts +0 -2
- package/datepicker/sub-components/positioning/utils/getOffsets.d.ts +0 -2
- package/datepicker/sub-components/positioning/utils/getOppositePlacement.d.ts +0 -4
- package/datepicker/sub-components/positioning/utils/getOppositeVariation.d.ts +0 -4
- package/datepicker/sub-components/positioning/utils/getOuterSizes.d.ts +0 -7
- package/datepicker/sub-components/positioning/utils/getParentNode.d.ts +0 -4
- package/datepicker/sub-components/positioning/utils/getReferenceOffsets.d.ts +0 -2
- package/datepicker/sub-components/positioning/utils/getRoot.d.ts +0 -4
- package/datepicker/sub-components/positioning/utils/getScroll.d.ts +0 -4
- package/datepicker/sub-components/positioning/utils/getScrollParent.d.ts +0 -1
- package/datepicker/sub-components/positioning/utils/getStyleComputedProperty.d.ts +0 -4
- package/datepicker/sub-components/positioning/utils/getTargetOffsets.d.ts +0 -2
- package/datepicker/sub-components/positioning/utils/getViewportOffsetRectRelativeToArtbitraryNode.d.ts +0 -2
- package/datepicker/sub-components/positioning/utils/getWindowSizes.d.ts +0 -4
- package/datepicker/sub-components/positioning/utils/includeScroll.d.ts +0 -2
- package/datepicker/sub-components/positioning/utils/index.d.ts +0 -23
- package/datepicker/sub-components/positioning/utils/isBrowser.d.ts +0 -1
- package/datepicker/sub-components/positioning/utils/isFixed.d.ts +0 -1
- package/datepicker/sub-components/positioning/utils/isIE.d.ts +0 -1
- package/datepicker/sub-components/positioning/utils/isModifierEnabled.d.ts +0 -4
- package/datepicker/sub-components/positioning/utils/isNumeric.d.ts +0 -4
- package/datepicker/sub-components/positioning/utils/isOffsetContainer.d.ts +0 -1
- package/datepicker/sub-components/positioning/utils/setStyles.d.ts +0 -5
- package/datepicker/sub-components/positioning/utils/updateContainerClass.d.ts +0 -6
- package/datepicker/sub-components/tooltip/index.d.ts +0 -1
- package/datepicker/sub-components/tooltip/public_api.d.ts +0 -4
- package/datepicker/sub-components/tooltip/tooltip-container.component.d.ts +0 -14
- package/datepicker/sub-components/tooltip/tooltip.config.d.ts +0 -13
- package/datepicker/sub-components/tooltip/tooltip.directive.d.ts +0 -109
- package/datepicker/sub-components/tooltip/tooltip.module.d.ts +0 -4
- package/datepicker/sub-components/utils/decorators.d.ts +0 -1
- package/datepicker/sub-components/utils/facade/browser.d.ts +0 -23
- package/datepicker/sub-components/utils/index.d.ts +0 -1
- package/datepicker/sub-components/utils/linked-list.class.d.ts +0 -26
- package/datepicker/sub-components/utils/public_api.d.ts +0 -10
- package/datepicker/sub-components/utils/theme-provider.d.ts +0 -2
- package/datepicker/sub-components/utils/trigger.class.d.ts +0 -6
- package/datepicker/sub-components/utils/triggers.d.ts +0 -18
- package/datepicker/sub-components/utils/utils.class.d.ts +0 -4
- package/datepicker/sub-components/utils/warn-once.d.ts +0 -1
- package/datepicker/themes/bs/bs-calendar-layout.component.d.ts +0 -2
- package/datepicker/themes/bs/bs-current-date-view.component.d.ts +0 -3
- package/datepicker/themes/bs/bs-custom-dates-view.component.d.ts +0 -14
- package/datepicker/themes/bs/bs-datepicker-container.component.d.ts +0 -33
- package/datepicker/themes/bs/bs-datepicker-day-decorator.directive.d.ts +0 -11
- package/datepicker/themes/bs/bs-datepicker-inline-container.component.d.ts +0 -10
- package/datepicker/themes/bs/bs-datepicker-navigation-view.component.d.ts +0 -9
- package/datepicker/themes/bs/bs-daterangepicker-container.component.d.ts +0 -37
- package/datepicker/themes/bs/bs-daterangepicker-inline-container.component.d.ts +0 -10
- package/datepicker/themes/bs/bs-days-calendar-view.component.d.ts +0 -23
- package/datepicker/themes/bs/bs-months-calendar-view.component.d.ts +0 -13
- package/datepicker/themes/bs/bs-timepicker-view.component.d.ts +0 -5
- package/datepicker/themes/bs/bs-years-calendar-view.component.d.ts +0 -13
- package/datepicker/utils/bs-calendar-utils.d.ts +0 -10
- package/datepicker/utils/matrix-utils.d.ts +0 -9
- package/datepicker/yearpicker.component.d.ts +0 -11
- package/esm2015/datepicker/base/bs-datepicker-container.js +0 -47
- package/esm2015/datepicker/bs-datepicker-inline.component.js +0 -132
- package/esm2015/datepicker/bs-datepicker-inline.config.js +0 -12
- package/esm2015/datepicker/bs-datepicker-input.directive.js +0 -159
- package/esm2015/datepicker/bs-datepicker.component.js +0 -238
- package/esm2015/datepicker/bs-datepicker.config.js +0 -85
- package/esm2015/datepicker/bs-datepicker.module.js +0 -101
- package/esm2015/datepicker/bs-daterangepicker-inline.component.js +0 -129
- package/esm2015/datepicker/bs-daterangepicker-inline.config.js +0 -19
- package/esm2015/datepicker/bs-daterangepicker-input.directive.js +0 -191
- package/esm2015/datepicker/bs-daterangepicker.component.js +0 -227
- package/esm2015/datepicker/bs-daterangepicker.config.js +0 -17
- package/esm2015/datepicker/bs-locale.service.js +0 -28
- package/esm2015/datepicker/date-formatter.js +0 -7
- package/esm2015/datepicker/datepicker-animations.js +0 -16
- package/esm2015/datepicker/datepicker-inner.component.js +0 -282
- package/esm2015/datepicker/datepicker.component.js +0 -140
- package/esm2015/datepicker/datepicker.config.js +0 -30
- package/esm2015/datepicker/datepicker.module.js +0 -35
- package/esm2015/datepicker/daypicker.component.js +0 -174
- package/esm2015/datepicker/engine/calc-days-calendar.js +0 -19
- package/esm2015/datepicker/engine/flag-days-calendar.js +0 -91
- package/esm2015/datepicker/engine/flag-months-calendar.js +0 -41
- package/esm2015/datepicker/engine/flag-years-calendar.js +0 -39
- package/esm2015/datepicker/engine/format-days-calendar.js +0 -29
- package/esm2015/datepicker/engine/format-months-calendar.js +0 -19
- package/esm2015/datepicker/engine/format-years-calendar.js +0 -35
- package/esm2015/datepicker/engine/view-mode.js +0 -4
- package/esm2015/datepicker/index.js +0 -2
- package/esm2015/datepicker/mis-crystal-design-system-datepicker.js +0 -25
- package/esm2015/datepicker/models/index.js +0 -9
- package/esm2015/datepicker/monthpicker.component.js +0 -87
- package/esm2015/datepicker/public_api.js +0 -26
- package/esm2015/datepicker/reducer/_defaults.js +0 -5
- package/esm2015/datepicker/reducer/bs-datepicker.actions.js +0 -132
- package/esm2015/datepicker/reducer/bs-datepicker.effects.js +0 -170
- package/esm2015/datepicker/reducer/bs-datepicker.reducer.js +0 -302
- package/esm2015/datepicker/reducer/bs-datepicker.state.js +0 -12
- package/esm2015/datepicker/reducer/bs-datepicker.store.js +0 -19
- package/esm2015/datepicker/sub-components/chronos/create/check-overflow.js +0 -30
- package/esm2015/datepicker/sub-components/chronos/create/clone.js +0 -6
- package/esm2015/datepicker/sub-components/chronos/create/date-from-array.js +0 -17
- package/esm2015/datepicker/sub-components/chronos/create/from-anything.js +0 -107
- package/esm2015/datepicker/sub-components/chronos/create/from-array.js +0 -136
- package/esm2015/datepicker/sub-components/chronos/create/from-object.js +0 -17
- package/esm2015/datepicker/sub-components/chronos/create/from-string-and-array.js +0 -38
- package/esm2015/datepicker/sub-components/chronos/create/from-string-and-format.js +0 -106
- package/esm2015/datepicker/sub-components/chronos/create/from-string.js +0 -227
- package/esm2015/datepicker/sub-components/chronos/create/local.js +0 -16
- package/esm2015/datepicker/sub-components/chronos/create/parsing-flags.js +0 -26
- package/esm2015/datepicker/sub-components/chronos/create/parsing.types.js +0 -2
- package/esm2015/datepicker/sub-components/chronos/create/valid.js +0 -42
- package/esm2015/datepicker/sub-components/chronos/duration/bubble.js +0 -47
- package/esm2015/datepicker/sub-components/chronos/duration/constructor.js +0 -130
- package/esm2015/datepicker/sub-components/chronos/duration/create.js +0 -113
- package/esm2015/datepicker/sub-components/chronos/duration/humanize.js +0 -80
- package/esm2015/datepicker/sub-components/chronos/duration/valid.js +0 -45
- package/esm2015/datepicker/sub-components/chronos/format/format.js +0 -51
- package/esm2015/datepicker/sub-components/chronos/format.js +0 -46
- package/esm2015/datepicker/sub-components/chronos/i18n/ar.js +0 -131
- package/esm2015/datepicker/sub-components/chronos/i18n/bg.js +0 -96
- package/esm2015/datepicker/sub-components/chronos/i18n/ca.js +0 -91
- package/esm2015/datepicker/sub-components/chronos/i18n/cs.js +0 -181
- package/esm2015/datepicker/sub-components/chronos/i18n/da.js +0 -50
- package/esm2015/datepicker/sub-components/chronos/i18n/de.js +0 -72
- package/esm2015/datepicker/sub-components/chronos/i18n/en-gb.js +0 -61
- package/esm2015/datepicker/sub-components/chronos/i18n/es-do.js +0 -85
- package/esm2015/datepicker/sub-components/chronos/i18n/es-us.js +0 -79
- package/esm2015/datepicker/sub-components/chronos/i18n/es.js +0 -84
- package/esm2015/datepicker/sub-components/chronos/i18n/et.js +0 -75
- package/esm2015/datepicker/sub-components/chronos/i18n/fi.js +0 -100
- package/esm2015/datepicker/sub-components/chronos/i18n/fr.js +0 -76
- package/esm2015/datepicker/sub-components/chronos/i18n/gl.js +0 -84
- package/esm2015/datepicker/sub-components/chronos/i18n/he.js +0 -98
- package/esm2015/datepicker/sub-components/chronos/i18n/hi.js +0 -124
- package/esm2015/datepicker/sub-components/chronos/i18n/hr.js +0 -62
- package/esm2015/datepicker/sub-components/chronos/i18n/hu.js +0 -104
- package/esm2015/datepicker/sub-components/chronos/i18n/id.js +0 -83
- package/esm2015/datepicker/sub-components/chronos/i18n/it.js +0 -65
- package/esm2015/datepicker/sub-components/chronos/i18n/ja.js +0 -75
- package/esm2015/datepicker/sub-components/chronos/i18n/ka.js +0 -87
- package/esm2015/datepicker/sub-components/chronos/i18n/kk.js +0 -76
- package/esm2015/datepicker/sub-components/chronos/i18n/ko.js +0 -77
- package/esm2015/datepicker/sub-components/chronos/i18n/lt.js +0 -116
- package/esm2015/datepicker/sub-components/chronos/i18n/lv.js +0 -56
- package/esm2015/datepicker/sub-components/chronos/i18n/mn.js +0 -99
- package/esm2015/datepicker/sub-components/chronos/i18n/nb.js +0 -53
- package/esm2015/datepicker/sub-components/chronos/i18n/nl-be.js +0 -81
- package/esm2015/datepicker/sub-components/chronos/i18n/nl.js +0 -80
- package/esm2015/datepicker/sub-components/chronos/i18n/pl.js +0 -126
- package/esm2015/datepicker/sub-components/chronos/i18n/pt-br.js +0 -56
- package/esm2015/datepicker/sub-components/chronos/i18n/ro.js +0 -66
- package/esm2015/datepicker/sub-components/chronos/i18n/ru.js +0 -181
- package/esm2015/datepicker/sub-components/chronos/i18n/sk.js +0 -157
- package/esm2015/datepicker/sub-components/chronos/i18n/sl.js +0 -184
- package/esm2015/datepicker/sub-components/chronos/i18n/sq.js +0 -54
- package/esm2015/datepicker/sub-components/chronos/i18n/sv.js +0 -63
- package/esm2015/datepicker/sub-components/chronos/i18n/th-be.js +0 -74
- package/esm2015/datepicker/sub-components/chronos/i18n/th.js +0 -59
- package/esm2015/datepicker/sub-components/chronos/i18n/tr.js +0 -82
- package/esm2015/datepicker/sub-components/chronos/i18n/uk.js +0 -147
- package/esm2015/datepicker/sub-components/chronos/i18n/vi.js +0 -74
- package/esm2015/datepicker/sub-components/chronos/i18n/zh-cn.js +0 -114
- package/esm2015/datepicker/sub-components/chronos/index.js +0 -2
- package/esm2015/datepicker/sub-components/chronos/locale/calendar.js +0 -9
- package/esm2015/datepicker/sub-components/chronos/locale/locale.class.js +0 -532
- package/esm2015/datepicker/sub-components/chronos/locale/locale.defaults.js +0 -40
- package/esm2015/datepicker/sub-components/chronos/locale/locales.js +0 -229
- package/esm2015/datepicker/sub-components/chronos/moment/add-subtract.js +0 -35
- package/esm2015/datepicker/sub-components/chronos/moment/calendar.js +0 -41
- package/esm2015/datepicker/sub-components/chronos/moment/diff.js +0 -70
- package/esm2015/datepicker/sub-components/chronos/moment/min-max.js +0 -38
- package/esm2015/datepicker/sub-components/chronos/parse/regex.js +0 -49
- package/esm2015/datepicker/sub-components/chronos/parse/token.js +0 -32
- package/esm2015/datepicker/sub-components/chronos/public_api.js +0 -56
- package/esm2015/datepicker/sub-components/chronos/test/chain.js +0 -711
- package/esm2015/datepicker/sub-components/chronos/types.js +0 -2
- package/esm2015/datepicker/sub-components/chronos/units/aliases.js +0 -35
- package/esm2015/datepicker/sub-components/chronos/units/constants.js +0 -11
- package/esm2015/datepicker/sub-components/chronos/units/day-of-month.js +0 -31
- package/esm2015/datepicker/sub-components/chronos/units/day-of-week.js +0 -129
- package/esm2015/datepicker/sub-components/chronos/units/day-of-year.js +0 -37
- package/esm2015/datepicker/sub-components/chronos/units/hour.js +0 -127
- package/esm2015/datepicker/sub-components/chronos/units/index.js +0 -19
- package/esm2015/datepicker/sub-components/chronos/units/millisecond.js +0 -60
- package/esm2015/datepicker/sub-components/chronos/units/minute.js +0 -23
- package/esm2015/datepicker/sub-components/chronos/units/month.js +0 -63
- package/esm2015/datepicker/sub-components/chronos/units/offset.js +0 -210
- package/esm2015/datepicker/sub-components/chronos/units/priorities.js +0 -21
- package/esm2015/datepicker/sub-components/chronos/units/quarter.js +0 -39
- package/esm2015/datepicker/sub-components/chronos/units/second.js +0 -23
- package/esm2015/datepicker/sub-components/chronos/units/timestamp.js +0 -28
- package/esm2015/datepicker/sub-components/chronos/units/timezone.js +0 -19
- package/esm2015/datepicker/sub-components/chronos/units/week-calendar-utils.js +0 -70
- package/esm2015/datepicker/sub-components/chronos/units/week-year.js +0 -101
- package/esm2015/datepicker/sub-components/chronos/units/week.js +0 -58
- package/esm2015/datepicker/sub-components/chronos/units/year.js +0 -60
- package/esm2015/datepicker/sub-components/chronos/utils/abs-ceil.js +0 -4
- package/esm2015/datepicker/sub-components/chronos/utils/abs-round.js +0 -4
- package/esm2015/datepicker/sub-components/chronos/utils/compare-arrays.js +0 -16
- package/esm2015/datepicker/sub-components/chronos/utils/date-compare.js +0 -55
- package/esm2015/datepicker/sub-components/chronos/utils/date-getters.js +0 -67
- package/esm2015/datepicker/sub-components/chronos/utils/date-setters.js +0 -75
- package/esm2015/datepicker/sub-components/chronos/utils/defaults.js +0 -11
- package/esm2015/datepicker/sub-components/chronos/utils/start-end-of.js +0 -57
- package/esm2015/datepicker/sub-components/chronos/utils/type-checks.js +0 -56
- package/esm2015/datepicker/sub-components/chronos/utils/zero-fill.js +0 -10
- package/esm2015/datepicker/sub-components/chronos/utils.js +0 -7
- package/esm2015/datepicker/sub-components/component-loader/bs-component-ref.class.js +0 -3
- package/esm2015/datepicker/sub-components/component-loader/component-loader.class.js +0 -272
- package/esm2015/datepicker/sub-components/component-loader/component-loader.factory.js +0 -32
- package/esm2015/datepicker/sub-components/component-loader/content-ref.class.js +0 -12
- package/esm2015/datepicker/sub-components/component-loader/index.js +0 -2
- package/esm2015/datepicker/sub-components/component-loader/listen-options.model.js +0 -2
- package/esm2015/datepicker/sub-components/component-loader/public_api.js +0 -5
- package/esm2015/datepicker/sub-components/mini-ngrx/index.js +0 -2
- package/esm2015/datepicker/sub-components/mini-ngrx/public_api.js +0 -3
- package/esm2015/datepicker/sub-components/mini-ngrx/state.class.js +0 -16
- package/esm2015/datepicker/sub-components/mini-ngrx/store.class.js +0 -43
- package/esm2015/datepicker/sub-components/positioning/index.js +0 -2
- package/esm2015/datepicker/sub-components/positioning/models/index.js +0 -2
- package/esm2015/datepicker/sub-components/positioning/modifiers/arrow.js +0 -56
- package/esm2015/datepicker/sub-components/positioning/modifiers/flip.js +0 -60
- package/esm2015/datepicker/sub-components/positioning/modifiers/index.js +0 -6
- package/esm2015/datepicker/sub-components/positioning/modifiers/initData.js +0 -42
- package/esm2015/datepicker/sub-components/positioning/modifiers/preventOverflow.js +0 -56
- package/esm2015/datepicker/sub-components/positioning/modifiers/shift.js +0 -22
- package/esm2015/datepicker/sub-components/positioning/ng-positioning.js +0 -30
- package/esm2015/datepicker/sub-components/positioning/positioning.service.js +0 -71
- package/esm2015/datepicker/sub-components/positioning/public_api.js +0 -3
- package/esm2015/datepicker/sub-components/positioning/utils/computeAutoPlacement.js +0 -53
- package/esm2015/datepicker/sub-components/positioning/utils/findCommonOffsetParent.js +0 -40
- package/esm2015/datepicker/sub-components/positioning/utils/getBordersSize.js +0 -10
- package/esm2015/datepicker/sub-components/positioning/utils/getBoundaries.js +0 -56
- package/esm2015/datepicker/sub-components/positioning/utils/getBoundingClientRect.js +0 -55
- package/esm2015/datepicker/sub-components/positioning/utils/getClientRect.js +0 -4
- package/esm2015/datepicker/sub-components/positioning/utils/getFixedPositionOffsetParent.js +0 -17
- package/esm2015/datepicker/sub-components/positioning/utils/getOffsetParent.js +0 -32
- package/esm2015/datepicker/sub-components/positioning/utils/getOffsetRectRelativeToArbitraryNode.js +0 -51
- package/esm2015/datepicker/sub-components/positioning/utils/getOffsets.js +0 -11
- package/esm2015/datepicker/sub-components/positioning/utils/getOppositePlacement.js +0 -8
- package/esm2015/datepicker/sub-components/positioning/utils/getOppositeVariation.js +0 -13
- package/esm2015/datepicker/sub-components/positioning/utils/getOuterSizes.js +0 -14
- package/esm2015/datepicker/sub-components/positioning/utils/getParentNode.js +0 -10
- package/esm2015/datepicker/sub-components/positioning/utils/getReferenceOffsets.js +0 -13
- package/esm2015/datepicker/sub-components/positioning/utils/getRoot.js +0 -10
- package/esm2015/datepicker/sub-components/positioning/utils/getScroll.js +0 -14
- package/esm2015/datepicker/sub-components/positioning/utils/getScrollParent.js +0 -26
- package/esm2015/datepicker/sub-components/positioning/utils/getStyleComputedProperty.js +0 -13
- package/esm2015/datepicker/sub-components/positioning/utils/getTargetOffsets.js +0 -30
- package/esm2015/datepicker/sub-components/positioning/utils/getViewportOffsetRectRelativeToArtbitraryNode.js +0 -19
- package/esm2015/datepicker/sub-components/positioning/utils/getWindowSizes.js +0 -18
- package/esm2015/datepicker/sub-components/positioning/utils/includeScroll.js +0 -15
- package/esm2015/datepicker/sub-components/positioning/utils/index.js +0 -24
- package/esm2015/datepicker/sub-components/positioning/utils/isBrowser.js +0 -2
- package/esm2015/datepicker/sub-components/positioning/utils/isFixed.js +0 -16
- package/esm2015/datepicker/sub-components/positioning/utils/isIE.js +0 -16
- package/esm2015/datepicker/sub-components/positioning/utils/isModifierEnabled.js +0 -10
- package/esm2015/datepicker/sub-components/positioning/utils/isNumeric.js +0 -7
- package/esm2015/datepicker/sub-components/positioning/utils/isOffsetContainer.js +0 -9
- package/esm2015/datepicker/sub-components/positioning/utils/setStyles.js +0 -17
- package/esm2015/datepicker/sub-components/positioning/utils/updateContainerClass.js +0 -22
- package/esm2015/datepicker/sub-components/tooltip/index.js +0 -2
- package/esm2015/datepicker/sub-components/tooltip/public_api.js +0 -5
- package/esm2015/datepicker/sub-components/tooltip/tooltip-container.component.js +0 -63
- package/esm2015/datepicker/sub-components/tooltip/tooltip.config.js +0 -22
- package/esm2015/datepicker/sub-components/tooltip/tooltip.directive.js +0 -282
- package/esm2015/datepicker/sub-components/tooltip/tooltip.module.js +0 -23
- package/esm2015/datepicker/sub-components/utils/decorators.js +0 -25
- package/esm2015/datepicker/sub-components/utils/facade/browser.js +0 -24
- package/esm2015/datepicker/sub-components/utils/index.js +0 -2
- package/esm2015/datepicker/sub-components/utils/linked-list.class.js +0 -240
- package/esm2015/datepicker/sub-components/utils/public_api.js +0 -11
- package/esm2015/datepicker/sub-components/utils/theme-provider.js +0 -35
- package/esm2015/datepicker/sub-components/utils/trigger.class.js +0 -10
- package/esm2015/datepicker/sub-components/utils/triggers.js +0 -110
- package/esm2015/datepicker/sub-components/utils/utils.class.js +0 -21
- package/esm2015/datepicker/sub-components/utils/warn-once.js +0 -12
- package/esm2015/datepicker/themes/bs/bs-calendar-layout.component.js +0 -25
- package/esm2015/datepicker/themes/bs/bs-current-date-view.component.js +0 -13
- package/esm2015/datepicker/themes/bs/bs-custom-dates-view.component.js +0 -44
- package/esm2015/datepicker/themes/bs/bs-datepicker-container.component.js +0 -152
- package/esm2015/datepicker/themes/bs/bs-datepicker-day-decorator.directive.js +0 -47
- package/esm2015/datepicker/themes/bs/bs-datepicker-inline-container.component.js +0 -36
- package/esm2015/datepicker/themes/bs/bs-datepicker-navigation-view.component.js +0 -63
- package/esm2015/datepicker/themes/bs/bs-daterangepicker-container.component.js +0 -195
- package/esm2015/datepicker/themes/bs/bs-daterangepicker-inline-container.component.js +0 -36
- package/esm2015/datepicker/themes/bs/bs-days-calendar-view.component.js +0 -162
- package/esm2015/datepicker/themes/bs/bs-months-calendar-view.component.js +0 -60
- package/esm2015/datepicker/themes/bs/bs-timepicker-view.component.js +0 -34
- package/esm2015/datepicker/themes/bs/bs-years-calendar-view.component.js +0 -61
- package/esm2015/datepicker/utils/bs-calendar-utils.js +0 -43
- package/esm2015/datepicker/utils/matrix-utils.js +0 -14
- package/esm2015/datepicker/yearpicker.component.js +0 -90
- package/fesm2015/mis-crystal-design-system-datepicker.js +0 -13512
- package/fesm2015/mis-crystal-design-system-datepicker.js.map +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../node_modules/tslib/tslib.es6.js","../../../projects/mis-components/multi-select-dropdown/multi-select-dropdown.component.ts","../../../projects/mis-components/multi-select-dropdown/multi-select-dropdown.module.ts"],"names":["Object","create","__read","o","n","m","Symbol","iterator","r","e","i","call","ar","next","done","push","value","error","__spread","arguments","length","concat","MultiSelectDropdownComponent","eRef","this","searchInput","isOpen","localSelectedItems","localData","searchData","label","height","width","dropdownListHeight","dropdownListWidth","dropdownListPosition","searchEnabled","showSelectedCount","noDataMessage","hideApplyButton","onChange","EventEmitter","isSearchInputFocused","defineProperty","prototype","values","map","item","assign","checked","handlerSetLocalSelectedItems","clickout","event","nativeElement","contains","target","onCancel","ngOnInit","some","base","searchInputFocused","isFocused","searchInputCanceled","stopPropagation","toggleDropdown","formatValues","filterByValue","array","string","filter","toLowerCase","includes","searchInputOnChange","newValue","a","sort","b","toggleSelectedItems","applyFilters","emit","s","t","p","hasOwnProperty","indexOf","getOwnPropertySymbols","propertyIsEnumerable","__rest","onReset","_this","String","Component","args","selector","template","ElementRef","Input","Output","HostListener","MultiSelectDropdownModule","forRoot","ngModule","providers","NgModule","declarations","imports","CommonModule","FormsModule","CheckboxModule","ButtonModule","exports"],"mappings":"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","sourcesContent":["/*! *****************************************************************************\r\nCopyright (c) Microsoft Corporation.\r\n\r\nPermission to use, copy, modify, and/or distribute this software for any\r\npurpose with or without fee is hereby granted.\r\n\r\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\r\nREGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\r\nAND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\r\nINDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\r\nLOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\r\nOTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\r\nPERFORMANCE OF THIS SOFTWARE.\r\n***************************************************************************** */\r\n/* global Reflect, Promise */\r\n\r\nvar extendStatics = function(d, b) {\r\n extendStatics = Object.setPrototypeOf ||\r\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\r\n return extendStatics(d, b);\r\n};\r\n\r\nexport function __extends(d, b) {\r\n if (typeof b !== \"function\" && b !== null)\r\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\r\n extendStatics(d, b);\r\n function __() { this.constructor = d; }\r\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n}\r\n\r\nexport var __assign = function() {\r\n __assign = Object.assign || function __assign(t) {\r\n for (var s, i = 1, n = arguments.length; i < n; i++) {\r\n s = arguments[i];\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\r\n }\r\n return t;\r\n }\r\n return __assign.apply(this, arguments);\r\n}\r\n\r\nexport function __rest(s, e) {\r\n var t = {};\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\r\n t[p] = s[p];\r\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\r\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\r\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\r\n t[p[i]] = s[p[i]];\r\n }\r\n return t;\r\n}\r\n\r\nexport function __decorate(decorators, target, key, desc) {\r\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n}\r\n\r\nexport function __param(paramIndex, decorator) {\r\n return function (target, key) { decorator(target, key, paramIndex); }\r\n}\r\n\r\nexport function __metadata(metadataKey, metadataValue) {\r\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\r\n}\r\n\r\nexport function __awaiter(thisArg, _arguments, P, generator) {\r\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\r\n return new (P || (P = Promise))(function (resolve, reject) {\r\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\r\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\r\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\r\n step((generator = generator.apply(thisArg, _arguments || [])).next());\r\n });\r\n}\r\n\r\nexport function __generator(thisArg, body) {\r\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\r\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\r\n function verb(n) { return function (v) { return step([n, v]); }; }\r\n function step(op) {\r\n if (f) throw new TypeError(\"Generator is already executing.\");\r\n while (_) try {\r\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\r\n if (y = 0, t) op = [op[0] & 2, t.value];\r\n switch (op[0]) {\r\n case 0: case 1: t = op; break;\r\n case 4: _.label++; return { value: op[1], done: false };\r\n case 5: _.label++; y = op[1]; op = [0]; continue;\r\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\r\n default:\r\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\r\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\r\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\r\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\r\n if (t[2]) _.ops.pop();\r\n _.trys.pop(); continue;\r\n }\r\n op = body.call(thisArg, _);\r\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\r\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\r\n }\r\n}\r\n\r\nexport var __createBinding = Object.create ? (function(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });\r\n}) : (function(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n o[k2] = m[k];\r\n});\r\n\r\nexport function __exportStar(m, o) {\r\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(o, p)) __createBinding(o, m, p);\r\n}\r\n\r\nexport function __values(o) {\r\n var s = typeof Symbol === \"function\" && Symbol.iterator, m = s && o[s], i = 0;\r\n if (m) return m.call(o);\r\n if (o && typeof o.length === \"number\") return {\r\n next: function () {\r\n if (o && i >= o.length) o = void 0;\r\n return { value: o && o[i++], done: !o };\r\n }\r\n };\r\n throw new TypeError(s ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\");\r\n}\r\n\r\nexport function __read(o, n) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\r\n if (!m) return o;\r\n var i = m.call(o), r, ar = [], e;\r\n try {\r\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\r\n }\r\n catch (error) { e = { error: error }; }\r\n finally {\r\n try {\r\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\r\n }\r\n finally { if (e) throw e.error; }\r\n }\r\n return ar;\r\n}\r\n\r\n/** @deprecated */\r\nexport function __spread() {\r\n for (var ar = [], i = 0; i < arguments.length; i++)\r\n ar = ar.concat(__read(arguments[i]));\r\n return ar;\r\n}\r\n\r\n/** @deprecated */\r\nexport function __spreadArrays() {\r\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\r\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\r\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\r\n r[k] = a[j];\r\n return r;\r\n}\r\n\r\nexport function __spreadArray(to, from, pack) {\r\n if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {\r\n if (ar || !(i in from)) {\r\n if (!ar) ar = Array.prototype.slice.call(from, 0, i);\r\n ar[i] = from[i];\r\n }\r\n }\r\n return to.concat(ar || Array.prototype.slice.call(from));\r\n}\r\n\r\nexport function __await(v) {\r\n return this instanceof __await ? (this.v = v, this) : new __await(v);\r\n}\r\n\r\nexport function __asyncGenerator(thisArg, _arguments, generator) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var g = generator.apply(thisArg, _arguments || []), i, q = [];\r\n return i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i;\r\n function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; }\r\n function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\r\n function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\r\n function fulfill(value) { resume(\"next\", value); }\r\n function reject(value) { resume(\"throw\", value); }\r\n function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\r\n}\r\n\r\nexport function __asyncDelegator(o) {\r\n var i, p;\r\n return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\r\n function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: n === \"return\" } : f ? f(v) : v; } : f; }\r\n}\r\n\r\nexport function __asyncValues(o) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var m = o[Symbol.asyncIterator], i;\r\n return m ? m.call(o) : (o = typeof __values === \"function\" ? __values(o) : o[Symbol.iterator](), i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i);\r\n function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }\r\n function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\r\n}\r\n\r\nexport function __makeTemplateObject(cooked, raw) {\r\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\r\n return cooked;\r\n};\r\n\r\nvar __setModuleDefault = Object.create ? (function(o, v) {\r\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\r\n}) : function(o, v) {\r\n o[\"default\"] = v;\r\n};\r\n\r\nexport function __importStar(mod) {\r\n if (mod && mod.__esModule) return mod;\r\n var result = {};\r\n if (mod != null) for (var k in mod) if (k !== \"default\" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);\r\n __setModuleDefault(result, mod);\r\n return result;\r\n}\r\n\r\nexport function __importDefault(mod) {\r\n return (mod && mod.__esModule) ? mod : { default: mod };\r\n}\r\n\r\nexport function __classPrivateFieldGet(receiver, state, kind, f) {\r\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a getter\");\r\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot read private member from an object whose class did not declare it\");\r\n return kind === \"m\" ? f : kind === \"a\" ? f.call(receiver) : f ? f.value : state.get(receiver);\r\n}\r\n\r\nexport function __classPrivateFieldSet(receiver, state, value, kind, f) {\r\n if (kind === \"m\") throw new TypeError(\"Private method is not writable\");\r\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a setter\");\r\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot write private member to an object whose class did not declare it\");\r\n return (kind === \"a\" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;\r\n}\r\n","import {\n Component,\n ElementRef,\n EventEmitter,\n HostListener,\n Input,\n OnInit,\n Output\n} from '@angular/core';\n\n@Component({\n selector: 'mis-multi-select-dropdown',\n templateUrl: './multi-select-dropdown.component.html',\n styleUrls: ['./multi-select-dropdown.component.scss']\n})\nexport class MultiSelectDropdownComponent implements OnInit {\n\n searchInput: string = '';\n isOpen = false;\n localSelectedItems: MultiSelectDropdownItem[] = [];\n localData: MultiSelectDropdownItem[] = [];\n searchData: MultiSelectDropdownItem[] = [];\n\n @Input() set data(values: MultiSelectDropdownItem[]) {\n this.localData = values.map(item => {\n return {...item, checked: false};\n });\n }\n @Input() label: string = 'Select';\n @Input() height: string = ''\n @Input() width: string = ''\n\n @Input() dropdownListHeight: string = ''\n @Input() dropdownListWidth: string = ''\n @Input() dropdownListPosition: 'Left' | 'Right' = 'Left'\n\n @Input() searchEnabled: boolean = true;\n @Input() showSelectedCount: boolean = false;\n @Input() noDataMessage: string = 'No Data';\n @Input() set selectedItems(values: MultiSelectDropdownItem[]) {\n this.handlerSetLocalSelectedItems(values);\n }\n @Input() hideApplyButton: boolean = false;\n\n @Output() onChange: EventEmitter<any> = new EventEmitter();\n\n @HostListener('document:click', ['$event'])\n clickout(event) {\n const isClickedOutside = !this.eRef.nativeElement.contains(event.target);\n if (isClickedOutside) {\n this.onCancel();\n }\n }\n constructor(private eRef: ElementRef) {}\n ngOnInit() {}\n\n handlerSetLocalSelectedItems(values) {\n this.localSelectedItems = values;\n this.localData = this.localData.map(item => {\n if (values.some(base => base.value === item.value)) {\n return { ...item, checked: true };\n } else {\n return { ...item, checked: false };\n }\n });\n }\n isSearchInputFocused: boolean = false;\n searchInputFocused(isFocused: boolean) {\n this.isSearchInputFocused = isFocused;\n }\n searchInputCanceled(event) {\n event.stopPropagation();\n this.searchInput = '';\n this.isSearchInputFocused = false;\n }\n toggleDropdown() {\n this.isOpen = !this.isOpen;\n if (this.isOpen) {\n this.handlerSetLocalSelectedItems(this.localSelectedItems);\n this.localData = this.formatValues(this.localData);\n }\n }\n filterByValue(array: MultiSelectDropdownItem[], string: string) {\n return array.filter(o =>\n o.label.toLowerCase().includes(string.toLowerCase())\n );\n }\n searchInputOnChange(newValue) {\n this.searchInput = newValue;\n if (newValue) {\n this.searchData = this.filterByValue(this.localData, newValue);\n } else {\n this.searchData = [];\n this.searchInput = '';\n }\n }\n formatValues(array: MultiSelectDropdownItem[]) {\n const checkedValues = array\n .filter(a => a.checked)\n .sort((a: MultiSelectDropdownItem, b: MultiSelectDropdownItem) =>\n a.label > b.label ? 1 : b.label > a.label ? -1 : 0\n );\n const unCheckedValues = array\n .filter(a => !a.checked)\n .sort((a: MultiSelectDropdownItem, b: MultiSelectDropdownItem) =>\n a.label > b.label ? 1 : b.label > a.label ? -1 : 0\n );\n return [...checkedValues, ...unCheckedValues];\n }\n toggleSelectedItems(event, item: MultiSelectDropdownItem) {\n event.stopPropagation();\n if (item.checked) {\n this.localData = [\n ...this.localData.map(a => {\n if (a.value === item.value) {\n return {\n ...a,\n checked: false\n };\n }\n return a;\n })\n ];\n } else {\n this.localData = [\n ...this.localData.map(a => {\n if (a.value === item.value) {\n return {\n ...a,\n checked: true\n };\n }\n return a;\n })\n ];\n }\n if (this.searchEnabled) {\n this.searchInputOnChange(this.searchInput);\n }\n if (this.hideApplyButton) {\n this.applyFilters();\n }\n }\n applyFilters() {\n this.onChange.emit(\n this.localData\n .filter(a => {\n return a.checked;\n })\n .map(item => {\n const { checked, ...data } = item;\n return data;\n })\n );\n \n if (!this.hideApplyButton) {\n this.onCancel();\n }\n }\n onReset(){\n this.isSearchInputFocused = false;\n this.onChange.emit([])\n this.isOpen = false;\n this.searchInput = '';\n }\n onCancel() {\n this.isSearchInputFocused = false;\n this.localData = this.localData.map(a => {\n if (\n this.localSelectedItems.some(\n b => b.value === a.value && String(b.checked) !== String(a.checked)\n )\n ) {\n return a;\n } else {\n return {\n ...a,\n checked: false\n };\n }\n });\n this.isOpen = false;\n this.searchInput = '';\n }\n}\nexport interface MultiSelectDropdownItem {\n label: string;\n value: string;\n checked?: boolean;\n icon?: string;\n}\n","import { CommonModule } from '@angular/common';\nimport { FormsModule } from '@angular/forms';\nimport { NgModule, ModuleWithProviders } from '@angular/core';\nimport { MultiSelectDropdownComponent } from './multi-select-dropdown.component';\nimport { CheckboxModule } from 'mis-crystal-design-system/checkbox';\nimport { ButtonModule } from 'mis-crystal-design-system/button';\n\n@NgModule({\n declarations: [MultiSelectDropdownComponent],\n imports: [CommonModule, FormsModule, CheckboxModule, ButtonModule],\n exports: [MultiSelectDropdownComponent]\n})\nexport class MultiSelectDropdownModule {\n static forRoot(): ModuleWithProviders<MultiSelectDropdownModule> {\n return { ngModule: MultiSelectDropdownModule, providers: [] };\n }\n}\n"]}
|
|
1
|
+
{"version":3,"sources":["../../../node_modules/tslib/tslib.es6.js","../../../projects/mis-components/multi-select-dropdown/multi-select-dropdown.component.ts","../../../projects/mis-components/multi-select-dropdown/multi-select-dropdown.module.ts"],"names":["Object","create","__read","o","n","m","Symbol","iterator","r","e","i","call","ar","next","done","push","value","error","__spread","arguments","length","concat","MultiSelectDropdownComponent","eRef","this","searchInput","isOpen","localSelectedItems","localData","searchData","SELECT_ALL_ENUM","label","height","width","dropdownListHeight","dropdownListWidth","dropdownListPosition","enableSelectAll","searchEnabled","showSelectedCount","noDataMessage","options","sortLabels","hideApplyButton","onChange","EventEmitter","isSearchInputFocused","defineProperty","prototype","values","map","item","assign","checked","handlerSetLocalSelectedItems","clickout","event","nativeElement","contains","target","onCancel","ngOnInit","some","base","searchInputFocused","isFocused","searchInputCanceled","stopPropagation","toggleDropdown","formatValues","filterByValue","array","string","filter","toLowerCase","includes","searchInputOnChange","newValue","_this","sortedArray","a","sort","b","t","option","unshift","every","y","toggleSelectedItems","applyFilters","emit","s","p","hasOwnProperty","indexOf","getOwnPropertySymbols","propertyIsEnumerable","__rest","onReset","String","Component","args","selector","template","ElementRef","Input","Output","HostListener","MultiSelectDropdownModule","forRoot","ngModule","providers","NgModule","declarations","imports","CommonModule","FormsModule","CheckboxModule","ButtonModule","exports"],"mappings":";;;;;;;;;;;;;;oFA2G6BA,OAAOC,gBAwBpBC,EAAOC,EAAGC,GACtB,IAAIC,EAAsB,mBAAXC,QAAyBH,EAAEG,OAAOC,UACjD,IAAKF,EAAG,OAAOF,EACf,IAAmBK,EAAYC,EAA3BC,EAAIL,EAAEM,KAAKR,GAAOS,EAAK,GAC3B,IACI,WAAc,IAANR,GAAgBA,KAAM,MAAQI,EAAIE,EAAEG,QAAQC,MAAMF,EAAGG,KAAKP,EAAEQ,OAExE,MAAOC,GAASR,EAAI,CAAEQ,MAAOA,WAEzB,IACQT,IAAMA,EAAEM,OAAST,EAAIK,EAAU,SAAIL,EAAEM,KAAKD,WAExC,GAAID,EAAG,MAAMA,EAAEQ,OAE7B,OAAOL,WAIKM,IACZ,IAAK,IAAIN,EAAK,GAAIF,EAAI,EAAGA,EAAIS,UAAUC,OAAQV,IAC3CE,EAAKA,EAAGS,OAAOnB,EAAOiB,UAAUT,KACpC,OAAOE,EAyDcZ,OAAOC,wBC3J9B,SAAAqB,EAAoBC,GAAAC,KAAAD,KAAAA,EAtCpBC,KAAAC,YAAsB,GACtBD,KAAAE,QAAS,EACTF,KAAAG,mBAAgD,GAChDH,KAAAI,UAAuC,GACvCJ,KAAAK,WAAwC,GACxCL,KAAAM,gBAAkB,qBAMTN,KAAAO,MAAgB,SAChBP,KAAAQ,OAAiB,GACjBR,KAAAS,MAAgB,GAChBT,KAAAU,mBAA6B,GAC7BV,KAAAW,kBAA4B,GAC5BX,KAAAY,qBAAyC,OACzCZ,KAAAa,iBAA2B,EAC3Bb,KAAAc,eAAyB,EACzBd,KAAAe,mBAA6B,EAC7Bf,KAAAgB,cAAwB,UACxBhB,KAAAiB,QAAmB,CAC1BC,YAAY,GAKLlB,KAAAmB,iBAA2B,EAE1BnB,KAAAoB,SAA8B,IAAIC,EAAAA,aAsB5CrB,KAAAsB,sBAAgC,SA7ChC9C,OAAA+C,eAAazB,EAAA0B,UAAA,OAAI,KAAjB,SAAkBC,GAChBzB,KAAKI,UAAYqB,EAAOC,KAAI,SAACC,GAC3B,OAAAnD,OAAAoD,OAAApD,OAAAoD,OAAA,GAAYD,GAAI,CAAEE,SAAS,wCAgB/BrD,OAAA+C,eAAazB,EAAA0B,UAAA,gBAAa,KAA1B,SAA2BC,GACzBzB,KAAK8B,6BAA6BL,oCAOpC3B,EAAA0B,UAAAO,SAAA,SAASC,IACmBhC,KAAKD,KAAKkC,cAAcC,SAASF,EAAMG,SAE/DnC,KAAKoC,YAITtC,EAAA0B,UAAAa,SAAA,aAEAvC,EAAA0B,UAAAM,6BAAA,SAA6BL,GAC3BzB,KAAKG,mBAAqBsB,EAC1BzB,KAAKI,UAAYJ,KAAKI,UAAUsB,KAAI,SAACC,GACnC,OAAIF,EAAOa,MAAK,SAACC,GAAS,OAAAA,EAAK/C,QAAUmC,EAAKnC,SAC5ChB,OAAAoD,OAAApD,OAAAoD,OAAA,GAAYD,GAAI,CAAEE,SAAS,IAE3BrD,OAAAoD,OAAApD,OAAAoD,OAAA,GAAYD,GAAI,CAAEE,SAAS,QAKjC/B,EAAA0B,UAAAgB,mBAAA,SAAmBC,GACjBzC,KAAKsB,qBAAuBmB,GAE9B3C,EAAA0B,UAAAkB,oBAAA,SAAoBV,GAClBA,EAAMW,kBACN3C,KAAKC,YAAc,GACnBD,KAAKsB,sBAAuB,GAE9BxB,EAAA0B,UAAAoB,eAAA,WACE5C,KAAKE,QAAUF,KAAKE,OAChBF,KAAKE,SACPF,KAAK8B,6BAA6B9B,KAAKG,oBACvCH,KAAKI,UAAYJ,KAAK6C,aAAa7C,KAAKI,aAG5CN,EAAA0B,UAAAsB,cAAA,SAAcC,EAAkCC,GAC9C,OAAOD,EAAME,QAAO,SAACtE,GACnB,OAAAA,EAAE4B,MAAM2C,cAAcC,SAASH,EAAOE,mBAG1CpD,EAAA0B,UAAA4B,oBAAA,SAAoBC,GAClBrD,KAAKC,YAAcoD,EACfA,EACFrD,KAAKK,WAAaL,KAAK8C,cAAc9C,KAAKI,UAAWiD,IAErDrD,KAAKK,WAAa,GAClBL,KAAKC,YAAc,KAGvBH,EAAA0B,UAAAqB,aAAA,SAAaE,GAAb,IAAAO,EAAAtD,KACMuD,EAAcR,EACd/C,KAAKiB,QAAQC,aAWfqC,EAAc7D,EAVQqD,EACnBE,QAAO,SAACO,GAAM,OAAAA,EAAE3B,WAChB4B,MAAK,SAACD,EAA4BE,GACjC,OAAAF,EAAEjD,MAAQmD,EAAEnD,MAAQ,EAAImD,EAAEnD,MAAQiD,EAAEjD,OAAS,EAAI,KAE7BwC,EACrBE,QAAO,SAACO,GAAM,OAACA,EAAE3B,WACjB4B,MAAK,SAACD,EAA4BE,GACjC,OAAAF,EAAEjD,MAAQmD,EAAEnD,MAAQ,EAAImD,EAAEnD,MAAQiD,EAAEjD,OAAS,EAAI,MAEA0C,QACnD,SAACU,GAAM,OAAAA,EAAEnE,QAAU8D,EAAKhD,oBAc5B,OAVGiD,EAAYjB,MAAK,SAACsB,GAAW,OAAAA,EAAOpE,QAAU8D,EAAKhD,oBACpDN,KAAKa,iBACL0C,EAAY3D,OAAS,GAErB2D,EAAYM,QAAQ,CAClBtD,MAAO,aACPf,MAAOQ,KAAKM,gBACZuB,QAAS0B,EAAYO,OAAM,SAACC,GAAM,OAAAA,EAAElC,aAGjC0B,GAETzD,EAAA0B,UAAAwC,oBAAA,SAAoBhC,EAAOL,GAA3B,IAAA2B,EAAAtD,KACEgC,EAAMW,kBACF3C,KAAKa,iBAAmBc,EAAKnC,QAAUQ,KAAKM,gBAC9CN,KAAKI,UAAYJ,KAAKI,UAAUsB,KAAI,SAACiC,GAAM,OAAAnF,OAAAoD,OAAApD,OAAAoD,OAAA,GACtC+B,GAAC,CACJ9B,SAAUF,EAAKE,cAIfF,EAAKE,QACP7B,KAAKI,UAASV,EACTM,KAAKI,UAAUsB,KAAI,SAAC8B,GACrB,OAAIA,EAAEhE,QAAUmC,EAAKnC,OAASgE,EAAEhE,QAAU8D,EAAKhD,gBAC7C9B,OAAAoD,OAAApD,OAAAoD,OAAA,GACK4B,GAAC,CACJ3B,SAAS,IAGN2B,OAIXxD,KAAKI,UAASV,EACTM,KAAKI,UAAUsB,KAAI,SAAC8B,GACrB,OAAIA,EAAEhE,QAAUmC,EAAKnC,MACnBhB,OAAAoD,OAAApD,OAAAoD,OAAA,GACK4B,GAAC,CACJ3B,SAAS,IAGN2B,MAITxD,KAAKa,iBACLb,KAAKI,UACF6C,QAAO,SAACjE,GAAM,OAAAA,EAAEQ,QAAU8D,EAAKhD,mBAC/BwD,OAAM,SAACH,GAAM,OAAAA,EAAE9B,aAElB7B,KAAKI,UAASV,EACTM,KAAKI,UAAUsB,KAAI,SAAC8B,GACrB,OAAIA,EAAEhE,QAAU8D,EAAKhD,gBACnB9B,OAAAoD,OAAApD,OAAAoD,OAAA,GACK4B,GAAC,CACJ3B,SAAS,IAGN2B,QAKXxD,KAAKc,eACPd,KAAKoD,oBAAoBpD,KAAKC,aAE5BD,KAAKmB,iBACPnB,KAAKiE,iBAGTnE,EAAA0B,UAAAyC,aAAA,WAAA,IAAAX,EAAAtD,KACEA,KAAKoB,SAAS8C,KACZlE,KAAKI,UACF6C,QAAO,SAACO,GACP,OAAOA,EAAE3B,SAAW2B,EAAEhE,QAAU8D,EAAKhD,mBAEtCoB,KAAI,SAACC,GACyBA,EAAIE,QACjC,gBDxJasC,EAAGlF,GACtB,IAAI0E,EAAI,GACR,IAAK,IAAIS,KAAKD,EAAO3F,OAAOgD,UAAU6C,eAAelF,KAAKgF,EAAGC,IAAMnF,EAAEqF,QAAQF,GAAK,IAC9ET,EAAES,GAAKD,EAAEC,IACb,GAAS,MAALD,GAAqD,mBAAjC3F,OAAO+F,sBACtB,CAAA,IAAIrF,EAAI,EAAb,IAAgBkF,EAAI5F,OAAO+F,sBAAsBJ,GAAIjF,EAAIkF,EAAExE,OAAQV,IAC3DD,EAAEqF,QAAQF,EAAElF,IAAM,GAAKV,OAAOgD,UAAUgD,qBAAqBrF,KAAKgF,EAAGC,EAAElF,MACvEyE,EAAES,EAAElF,IAAMiF,EAAEC,EAAElF,KAE1B,OAAOyE,EC8IuBc,CAAK9C,EAAvB,CAAA,gBAKP3B,KAAKmB,iBACRnB,KAAKoC,YAGTtC,EAAA0B,UAAAkD,QAAA,WACE1E,KAAKsB,sBAAuB,EAC5BtB,KAAKoB,SAAS8C,KAAK,IACnBlE,KAAKE,QAAS,EACdF,KAAKC,YAAc,IAErBH,EAAA0B,UAAAY,SAAA,WAAA,IAAAkB,EAAAtD,KACEA,KAAKsB,sBAAuB,EAC5BtB,KAAKI,UAAYJ,KAAKI,UAAUsB,KAAI,SAAC8B,GACnC,OACEF,EAAKnD,mBAAmBmC,MACtB,SAACoB,GAAM,OAAAA,EAAElE,QAAUgE,EAAEhE,OAASmF,OAAOjB,EAAE7B,WAAa8C,OAAOnB,EAAE3B,YAGxD2B,EAEPhF,OAAAoD,OAAApD,OAAAoD,OAAA,GACK4B,GAAC,CACJ3B,SAAS,OAIf7B,KAAKE,QAAS,EACdF,KAAKC,YAAc,6BAvNtB2E,EAAAA,UAASC,KAAA,CAAC,CACTC,SAAU,4BACVC,SAAA,k2VAVAC,EAAAA,4CAoBCC,EAAAA,qBAKAA,EAAAA,sBACAA,EAAAA,qBACAA,EAAAA,kCACAA,EAAAA,iCACAA,EAAAA,oCACAA,EAAAA,+BACAA,EAAAA,6BACAA,EAAAA,iCACAA,EAAAA,6BACAA,EAAAA,uBACAA,EAAAA,6BAGAA,EAAAA,+BAGAA,EAAAA,wBAEAC,EAAAA,yBAEAC,EAAAA,aAAYN,KAAA,CAAC,iBAAkB,CAAC,+BCnCnC,SAAAO,YACWA,EAAAC,QAAP,WACI,MAAO,CAAEC,SAAUF,EAA2BG,UAAW,8BAPhEC,EAAAA,SAAQX,KAAA,CAAC,CACNY,aAAc,CAAC3F,GACf4F,QAAS,CAACC,EAAAA,aAAcC,EAAAA,YAAaC,EAAAA,eAAgBC,EAAAA,cACrDC,QAAS,CAACjG","sourcesContent":["/*! *****************************************************************************\r\nCopyright (c) Microsoft Corporation.\r\n\r\nPermission to use, copy, modify, and/or distribute this software for any\r\npurpose with or without fee is hereby granted.\r\n\r\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\r\nREGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\r\nAND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\r\nINDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\r\nLOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\r\nOTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\r\nPERFORMANCE OF THIS SOFTWARE.\r\n***************************************************************************** */\r\n/* global Reflect, Promise */\r\n\r\nvar extendStatics = function(d, b) {\r\n extendStatics = Object.setPrototypeOf ||\r\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\r\n return extendStatics(d, b);\r\n};\r\n\r\nexport function __extends(d, b) {\r\n if (typeof b !== \"function\" && b !== null)\r\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\r\n extendStatics(d, b);\r\n function __() { this.constructor = d; }\r\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n}\r\n\r\nexport var __assign = function() {\r\n __assign = Object.assign || function __assign(t) {\r\n for (var s, i = 1, n = arguments.length; i < n; i++) {\r\n s = arguments[i];\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\r\n }\r\n return t;\r\n }\r\n return __assign.apply(this, arguments);\r\n}\r\n\r\nexport function __rest(s, e) {\r\n var t = {};\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\r\n t[p] = s[p];\r\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\r\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\r\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\r\n t[p[i]] = s[p[i]];\r\n }\r\n return t;\r\n}\r\n\r\nexport function __decorate(decorators, target, key, desc) {\r\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n}\r\n\r\nexport function __param(paramIndex, decorator) {\r\n return function (target, key) { decorator(target, key, paramIndex); }\r\n}\r\n\r\nexport function __metadata(metadataKey, metadataValue) {\r\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\r\n}\r\n\r\nexport function __awaiter(thisArg, _arguments, P, generator) {\r\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\r\n return new (P || (P = Promise))(function (resolve, reject) {\r\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\r\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\r\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\r\n step((generator = generator.apply(thisArg, _arguments || [])).next());\r\n });\r\n}\r\n\r\nexport function __generator(thisArg, body) {\r\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\r\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\r\n function verb(n) { return function (v) { return step([n, v]); }; }\r\n function step(op) {\r\n if (f) throw new TypeError(\"Generator is already executing.\");\r\n while (_) try {\r\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\r\n if (y = 0, t) op = [op[0] & 2, t.value];\r\n switch (op[0]) {\r\n case 0: case 1: t = op; break;\r\n case 4: _.label++; return { value: op[1], done: false };\r\n case 5: _.label++; y = op[1]; op = [0]; continue;\r\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\r\n default:\r\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\r\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\r\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\r\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\r\n if (t[2]) _.ops.pop();\r\n _.trys.pop(); continue;\r\n }\r\n op = body.call(thisArg, _);\r\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\r\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\r\n }\r\n}\r\n\r\nexport var __createBinding = Object.create ? (function(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });\r\n}) : (function(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n o[k2] = m[k];\r\n});\r\n\r\nexport function __exportStar(m, o) {\r\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(o, p)) __createBinding(o, m, p);\r\n}\r\n\r\nexport function __values(o) {\r\n var s = typeof Symbol === \"function\" && Symbol.iterator, m = s && o[s], i = 0;\r\n if (m) return m.call(o);\r\n if (o && typeof o.length === \"number\") return {\r\n next: function () {\r\n if (o && i >= o.length) o = void 0;\r\n return { value: o && o[i++], done: !o };\r\n }\r\n };\r\n throw new TypeError(s ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\");\r\n}\r\n\r\nexport function __read(o, n) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\r\n if (!m) return o;\r\n var i = m.call(o), r, ar = [], e;\r\n try {\r\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\r\n }\r\n catch (error) { e = { error: error }; }\r\n finally {\r\n try {\r\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\r\n }\r\n finally { if (e) throw e.error; }\r\n }\r\n return ar;\r\n}\r\n\r\n/** @deprecated */\r\nexport function __spread() {\r\n for (var ar = [], i = 0; i < arguments.length; i++)\r\n ar = ar.concat(__read(arguments[i]));\r\n return ar;\r\n}\r\n\r\n/** @deprecated */\r\nexport function __spreadArrays() {\r\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\r\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\r\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\r\n r[k] = a[j];\r\n return r;\r\n}\r\n\r\nexport function __spreadArray(to, from, pack) {\r\n if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {\r\n if (ar || !(i in from)) {\r\n if (!ar) ar = Array.prototype.slice.call(from, 0, i);\r\n ar[i] = from[i];\r\n }\r\n }\r\n return to.concat(ar || Array.prototype.slice.call(from));\r\n}\r\n\r\nexport function __await(v) {\r\n return this instanceof __await ? (this.v = v, this) : new __await(v);\r\n}\r\n\r\nexport function __asyncGenerator(thisArg, _arguments, generator) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var g = generator.apply(thisArg, _arguments || []), i, q = [];\r\n return i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i;\r\n function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; }\r\n function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\r\n function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\r\n function fulfill(value) { resume(\"next\", value); }\r\n function reject(value) { resume(\"throw\", value); }\r\n function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\r\n}\r\n\r\nexport function __asyncDelegator(o) {\r\n var i, p;\r\n return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\r\n function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: n === \"return\" } : f ? f(v) : v; } : f; }\r\n}\r\n\r\nexport function __asyncValues(o) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var m = o[Symbol.asyncIterator], i;\r\n return m ? m.call(o) : (o = typeof __values === \"function\" ? __values(o) : o[Symbol.iterator](), i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i);\r\n function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }\r\n function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\r\n}\r\n\r\nexport function __makeTemplateObject(cooked, raw) {\r\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\r\n return cooked;\r\n};\r\n\r\nvar __setModuleDefault = Object.create ? (function(o, v) {\r\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\r\n}) : function(o, v) {\r\n o[\"default\"] = v;\r\n};\r\n\r\nexport function __importStar(mod) {\r\n if (mod && mod.__esModule) return mod;\r\n var result = {};\r\n if (mod != null) for (var k in mod) if (k !== \"default\" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);\r\n __setModuleDefault(result, mod);\r\n return result;\r\n}\r\n\r\nexport function __importDefault(mod) {\r\n return (mod && mod.__esModule) ? mod : { default: mod };\r\n}\r\n\r\nexport function __classPrivateFieldGet(receiver, state, kind, f) {\r\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a getter\");\r\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot read private member from an object whose class did not declare it\");\r\n return kind === \"m\" ? f : kind === \"a\" ? f.call(receiver) : f ? f.value : state.get(receiver);\r\n}\r\n\r\nexport function __classPrivateFieldSet(receiver, state, value, kind, f) {\r\n if (kind === \"m\") throw new TypeError(\"Private method is not writable\");\r\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a setter\");\r\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot write private member to an object whose class did not declare it\");\r\n return (kind === \"a\" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;\r\n}\r\n","import {\n Component,\n ElementRef,\n EventEmitter,\n HostListener,\n Input,\n OnInit,\n Output,\n} from \"@angular/core\";\n\n@Component({\n selector: \"mis-multi-select-dropdown\",\n templateUrl: \"./multi-select-dropdown.component.html\",\n styleUrls: [\"./multi-select-dropdown.component.scss\"],\n})\nexport class MultiSelectDropdownComponent implements OnInit {\n searchInput: string = \"\";\n isOpen = false;\n localSelectedItems: MultiSelectDropdownItem[] = [];\n localData: MultiSelectDropdownItem[] = [];\n searchData: MultiSelectDropdownItem[] = [];\n SELECT_ALL_ENUM = \"SELECT_ALL_ENABLED\";\n @Input() set data(values: MultiSelectDropdownItem[]) {\n this.localData = values.map((item) => {\n return { ...item, checked: false };\n });\n }\n @Input() label: string = \"Select\";\n @Input() height: string = \"\";\n @Input() width: string = \"\";\n @Input() dropdownListHeight: string = \"\";\n @Input() dropdownListWidth: string = \"\";\n @Input() dropdownListPosition: \"Left\" | \"Right\" = \"Left\";\n @Input() enableSelectAll: boolean = false;\n @Input() searchEnabled: boolean = true;\n @Input() showSelectedCount: boolean = false;\n @Input() noDataMessage: string = \"No Data\";\n @Input() options: OPTIONS = {\n sortLabels: true,\n };\n @Input() set selectedItems(values: MultiSelectDropdownItem[]) {\n this.handlerSetLocalSelectedItems(values);\n }\n @Input() hideApplyButton: boolean = false;\n\n @Output() onChange: EventEmitter<any> = new EventEmitter();\n\n @HostListener(\"document:click\", [\"$event\"])\n clickout(event) {\n const isClickedOutside = !this.eRef.nativeElement.contains(event.target);\n if (isClickedOutside) {\n this.onCancel();\n }\n }\n constructor(private eRef: ElementRef) {}\n ngOnInit() {}\n\n handlerSetLocalSelectedItems(values) {\n this.localSelectedItems = values;\n this.localData = this.localData.map((item) => {\n if (values.some((base) => base.value === item.value)) {\n return { ...item, checked: true };\n } else {\n return { ...item, checked: false };\n }\n });\n }\n isSearchInputFocused: boolean = false;\n searchInputFocused(isFocused: boolean) {\n this.isSearchInputFocused = isFocused;\n }\n searchInputCanceled(event) {\n event.stopPropagation();\n this.searchInput = \"\";\n this.isSearchInputFocused = false;\n }\n toggleDropdown() {\n this.isOpen = !this.isOpen;\n if (this.isOpen) {\n this.handlerSetLocalSelectedItems(this.localSelectedItems);\n this.localData = this.formatValues(this.localData);\n }\n }\n filterByValue(array: MultiSelectDropdownItem[], string: string) {\n return array.filter((o) =>\n o.label.toLowerCase().includes(string.toLowerCase())\n );\n }\n searchInputOnChange(newValue) {\n this.searchInput = newValue;\n if (newValue) {\n this.searchData = this.filterByValue(this.localData, newValue);\n } else {\n this.searchData = [];\n this.searchInput = \"\";\n }\n }\n formatValues(array: MultiSelectDropdownItem[]) {\n let sortedArray = array;\n if (this.options.sortLabels) {\n const checkedValues = array\n .filter((a) => a.checked)\n .sort((a: MultiSelectDropdownItem, b: MultiSelectDropdownItem) =>\n a.label > b.label ? 1 : b.label > a.label ? -1 : 0\n );\n const unCheckedValues = array\n .filter((a) => !a.checked)\n .sort((a: MultiSelectDropdownItem, b: MultiSelectDropdownItem) =>\n a.label > b.label ? 1 : b.label > a.label ? -1 : 0\n );\n sortedArray = [...checkedValues, ...unCheckedValues].filter(\n (t) => t.value !== this.SELECT_ALL_ENUM\n );\n }\n if (\n !sortedArray.some((option) => option.value === this.SELECT_ALL_ENUM) &&\n this.enableSelectAll &&\n sortedArray.length > 0\n ) {\n sortedArray.unshift({\n label: \"Select all\",\n value: this.SELECT_ALL_ENUM,\n checked: sortedArray.every((y) => y.checked),\n });\n }\n return sortedArray;\n }\n toggleSelectedItems(event, item: MultiSelectDropdownItem) {\n event.stopPropagation();\n if (this.enableSelectAll && item.value === this.SELECT_ALL_ENUM) {\n this.localData = this.localData.map((t) => ({\n ...t,\n checked: !item.checked,\n }));\n return;\n }\n if (item.checked) {\n this.localData = [\n ...this.localData.map((a) => {\n if (a.value === item.value || a.value === this.SELECT_ALL_ENUM) {\n return {\n ...a,\n checked: false,\n };\n }\n return a;\n }),\n ];\n } else {\n this.localData = [\n ...this.localData.map((a) => {\n if (a.value === item.value) {\n return {\n ...a,\n checked: true,\n };\n }\n return a;\n }),\n ];\n if (\n this.enableSelectAll &&\n this.localData\n .filter((r) => r.value !== this.SELECT_ALL_ENUM)\n .every((t) => t.checked)\n ) {\n this.localData = [\n ...this.localData.map((a) => {\n if (a.value === this.SELECT_ALL_ENUM) {\n return {\n ...a,\n checked: true,\n };\n }\n return a;\n }),\n ];\n }\n }\n if (this.searchEnabled) {\n this.searchInputOnChange(this.searchInput);\n }\n if (this.hideApplyButton) {\n this.applyFilters();\n }\n }\n applyFilters() {\n this.onChange.emit(\n this.localData\n .filter((a) => {\n return a.checked && a.value !== this.SELECT_ALL_ENUM;\n })\n .map((item) => {\n const { checked, ...data } = item;\n return data;\n })\n );\n\n if (!this.hideApplyButton) {\n this.onCancel();\n }\n }\n onReset() {\n this.isSearchInputFocused = false;\n this.onChange.emit([]);\n this.isOpen = false;\n this.searchInput = \"\";\n }\n onCancel() {\n this.isSearchInputFocused = false;\n this.localData = this.localData.map((a) => {\n if (\n this.localSelectedItems.some(\n (b) => b.value === a.value && String(b.checked) !== String(a.checked)\n )\n ) {\n return a;\n } else {\n return {\n ...a,\n checked: false,\n };\n }\n });\n this.isOpen = false;\n this.searchInput = \"\";\n }\n}\nexport interface MultiSelectDropdownItem {\n label: string;\n value: string;\n checked?: boolean;\n icon?: string;\n}\n\nexport interface OPTIONS {\n sortLabels: boolean;\n}\n","import { CommonModule } from '@angular/common';\nimport { FormsModule } from '@angular/forms';\nimport { NgModule, ModuleWithProviders } from '@angular/core';\nimport { MultiSelectDropdownComponent } from './multi-select-dropdown.component';\nimport { CheckboxModule } from 'mis-crystal-design-system/checkbox';\nimport { ButtonModule } from 'mis-crystal-design-system/button';\n\n@NgModule({\n declarations: [MultiSelectDropdownComponent],\n imports: [CommonModule, FormsModule, CheckboxModule, ButtonModule],\n exports: [MultiSelectDropdownComponent]\n})\nexport class MultiSelectDropdownModule {\n static forRoot(): ModuleWithProviders<MultiSelectDropdownModule> {\n return { ngModule: MultiSelectDropdownModule, providers: [] };\n }\n}\n"]}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { Component, Inject } from "@angular/core";
|
|
2
2
|
import { CONTAINER_DATA, DATE_FORMAT } from "../datepicker-constants";
|
|
3
|
-
import { parseZone
|
|
3
|
+
import { parseZone } from "moment-timezone";
|
|
4
4
|
import { getMonth } from "../utils";
|
|
5
5
|
import { ToastService } from "mis-crystal-design-system/toast";
|
|
6
6
|
export class TzDpContainerComponent {
|
|
@@ -18,7 +18,7 @@ export class TzDpContainerComponent {
|
|
|
18
18
|
this.data = data;
|
|
19
19
|
if ((_b = (_a = this.data) === null || _a === void 0 ? void 0 : _a.dpConfig) === null || _b === void 0 ? void 0 : _b.timezone) {
|
|
20
20
|
this.parseZoneInstance = (...args) => {
|
|
21
|
-
return tz(
|
|
21
|
+
return parseZone(...args).tz(this.data.dpConfig.timezone);
|
|
22
22
|
};
|
|
23
23
|
}
|
|
24
24
|
this.currentMonthNumber = this.parseZoneInstance().month();
|
|
@@ -53,7 +53,7 @@ export class TzDpContainerComponent {
|
|
|
53
53
|
}
|
|
54
54
|
const maxDate = this.parseZoneInstance(this.data.dpConfig.maxDate, this.data.dpConfig.format);
|
|
55
55
|
if (maxDate.isValid()) {
|
|
56
|
-
this.isNextMonthDisabled = maxDate.
|
|
56
|
+
this.isNextMonthDisabled = maxDate.isBefore(currentInstance, "month");
|
|
57
57
|
}
|
|
58
58
|
}
|
|
59
59
|
navigateMonth(direction) {
|
|
@@ -74,24 +74,24 @@ export class TzDpContainerComponent {
|
|
|
74
74
|
var _a;
|
|
75
75
|
let dates = [];
|
|
76
76
|
const daysInMonth = parseZone().year(currentYearNumber).month(month).daysInMonth();
|
|
77
|
-
for (let
|
|
78
|
-
const date =
|
|
77
|
+
for (let startDate = 1; startDate <= daysInMonth; startDate++) {
|
|
78
|
+
const date = parseZone().year(currentYearNumber).month(month).date(startDate);
|
|
79
79
|
const dateString = date.format(this.data.dpConfig.format);
|
|
80
80
|
let isDisabledDay = this.data.datesDisabled.some((d) => d === dateString);
|
|
81
|
-
const minDate =
|
|
81
|
+
const minDate = parseZone(this.data.dpConfig.minDate, this.data.dpConfig.format);
|
|
82
82
|
if (!isDisabledDay && minDate.isValid()) {
|
|
83
83
|
isDisabledDay = minDate.isAfter(date, "day");
|
|
84
84
|
}
|
|
85
|
-
const maxDate =
|
|
85
|
+
const maxDate = parseZone(this.data.dpConfig.maxDate, this.data.dpConfig.format);
|
|
86
86
|
if (!isDisabledDay && maxDate.isValid()) {
|
|
87
87
|
isDisabledDay = maxDate.isBefore(date, "day");
|
|
88
88
|
}
|
|
89
89
|
dates.push({
|
|
90
|
-
date:
|
|
90
|
+
date: startDate,
|
|
91
91
|
weekDay: date.day(),
|
|
92
|
-
isCurrentDay: this.parseZoneInstance(
|
|
93
|
-
|
|
94
|
-
isSelectedDay:
|
|
92
|
+
isCurrentDay: this.parseZoneInstance({ year: currentYearNumber, month, date: startDate }).format(this.data.dpConfig.format) ===
|
|
93
|
+
parseZone().format(this.data.dpConfig.format),
|
|
94
|
+
isSelectedDay: date.format(this.data.dpConfig.format) === this.data.date,
|
|
95
95
|
toastMessage: ((_a = this.data.messages.find((q) => date.format(this.data.dpConfig.format) === q.date)) === null || _a === void 0 ? void 0 : _a.message) || "",
|
|
96
96
|
isDisabledDay,
|
|
97
97
|
});
|
|
@@ -123,4 +123,4 @@ TzDpContainerComponent.ctorParameters = () => [
|
|
|
123
123
|
{ type: undefined, decorators: [{ type: Inject, args: [CONTAINER_DATA,] }] },
|
|
124
124
|
{ type: ToastService }
|
|
125
125
|
];
|
|
126
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHotZHAtY29udGFpbmVyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL21pcy1jb21wb25lbnRzL2RhdGVwaWNrZXJfdjIvdHotZHAtY29udGFpbmVyL3R6LWRwLWNvbnRhaW5lci5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLEVBQVUsTUFBTSxlQUFlLENBQUM7QUFDMUQsT0FBTyxFQUFFLGNBQWMsRUFBRSxXQUFXLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUV0RSxPQUFPLEVBQUUsU0FBUyxFQUFVLEVBQUUsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQ3hELE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxVQUFVLENBQUM7QUFDcEMsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlDQUFpQyxDQUFDO0FBTy9ELE1BQU0sT0FBTyxzQkFBc0I7SUFjakMsWUFBb0MsSUFBcUIsRUFBVSxLQUFtQjs7UUFBbkIsVUFBSyxHQUFMLEtBQUssQ0FBYztRQVo5RSxzQkFBaUIsR0FBRyxDQUFDLEdBQUcsSUFBSSxFQUFFLEVBQUU7WUFDdEMsT0FBTyxTQUFTLENBQUMsR0FBRyxJQUFJLENBQUMsQ0FBQztRQUM1QixDQUFDLENBQUM7UUFDTSxnQkFBVyxHQUFhLENBQUMsS0FBSyxFQUFFLEtBQUssRUFBRSxLQUFLLEVBQUUsS0FBSyxFQUFFLEtBQUssRUFBRSxLQUFLLEVBQUUsS0FBSyxDQUFDLENBQUM7UUFDbEYsYUFBUSxHQUFlLEVBQUUsQ0FBQztRQUkxQixzQkFBaUIsR0FBeUIsRUFBRSxDQUFDO1FBQzdDLDRCQUF1QixHQUFZLEtBQUssQ0FBQztRQUN6Qyx3QkFBbUIsR0FBWSxLQUFLLENBQUM7UUFHbkMsSUFBSSxDQUFDLElBQUksR0FBRyxJQUFJLENBQUM7UUFDakIsZ0JBQUksSUFBSSxDQUFDLElBQUksMENBQUUsUUFB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QUFDLEVBQUUsSUFBSSxFQUFFLENBQUMsRUFBRSxPQUFPLEVBQUUsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLENBQUM7U0FDNUM7UUFDRCxPQUFPLEtBQUssQ0FBQztJQUNmLENBQUM7SUFFRCxTQUFTLENBQUMsR0FBdUI7UUFDL0IsSUFBSSxHQUFHLENBQUMsSUFBSSxJQUFJLENBQUM7WUFBRSxPQUFPO1FBQzFCLElBQUksQ0FBQyxHQUFHLENBQUMsYUFBYSxFQUFFO1lBQ3RCLElBQUksQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUNsQixTQUFTLEVBQUUsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLGlCQUFpQixDQUFDLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLE1BQU0sQ0FBQyxDQUN6SCxDQUFDO1NBQ0g7UUFDRCxJQUFJLEdBQUcsQ0FBQyxZQUFZLEVBQUU7WUFDcEIsSUFBSSxDQUFDLEtBQUssQ0FBQyxVQUFVLENBQUMsR0FBRyxDQUFDLFlBQVksRUFBRSxJQUFJLENBQUMsQ0FBQztTQUMvQztJQUNILENBQUM7OztZQTVIRixTQUFTLFNBQUM7Z0JBQ1QsUUFBUSxFQUFFLFdBQVc7Z0JBQ3JCLHk1RkFBK0M7O2FBRWhEOzs7NENBZWMsTUFBTSxTQUFDLGNBQWM7WUFyQjNCLFlBQVkiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIEluamVjdCwgT25Jbml0IH0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcbmltcG9ydCB7IENPTlRBSU5FUl9EQVRBLCBEQVRFX0ZPUk1BVCB9IGZyb20gXCIuLi9kYXRlcGlja2VyLWNvbnN0YW50c1wiO1xuaW1wb3J0IHsgSUN1cnJlbnRNb250aCwgSUN1cnJlbnRNb250aERhdGVzLCBJRGF0ZVBpY2tlckRhdGEsIElXZWVrRGF5IH0gZnJvbSBcIi4uL21vZGVscy9kcC1jb25maWcubW9kZWxcIjtcbmltcG9ydCB7IHBhcnNlWm9uZSwgTW9tZW50LCB0eiB9IGZyb20gXCJtb21lbnQtdGltZXpvbmVcIjtcbmltcG9ydCB7IGdldE1vbnRoIH0gZnJvbSBcIi4uL3V0aWxzXCI7XG5pbXBvcnQgeyBUb2FzdFNlcnZpY2UgfSBmcm9tIFwibWlzLWNyeXN0YWwtZGVzaWduLXN5c3RlbS90b2FzdFwiO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6IFwibWlzLXR6LWRwXCIsXG4gIHRlbXBsYXRlVXJsOiBcIi4vdHotZHAtY29udGFpbmVyLmNvbXBvbmVudC5odG1sXCIsXG4gIHN0eWxlVXJsczogW1wiLi90ei1kcC1jb250YWluZXIuY29tcG9uZW50LnNjc3NcIl0sXG59KVxuZXhwb3J0IGNsYXNzIFR6RHBDb250YWluZXJDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xuICBkYXRhOiBJRGF0ZVBpY2tlckRhdGE7XG4gIHByaXZhdGUgcGFyc2Vab25lSW5zdGFuY2UgPSAoLi4uYXJncykgPT4ge1xuICAgIHJldHVybiBwYXJzZVpvbmUoLi4uYXJncyk7XG4gIH07XG4gIHByaXZhdGUgcmF3V2Vla0RheXM6IHN0cmluZ1tdID0gW1wiU1VOXCIsIFwiTU9OXCIsIFwiVFVFXCIsIFwiV0VEXCIsIFwiVEhVXCIsIFwiRlJJXCIsIFwiU0FUXCJdO1xuICB3ZWVrRGF5czogSVdlZWtEYXlbXSA9IFtdO1xuICBjdXJyZW50TW9udGhOdW1iZXI6IG51bWJlcjtcbiAgY3VycmVudE1vbnRoOiBJQ3VycmVudE1vbnRoO1xuICBjdXJyZW50WWVhck51bWJlcjogbnVtYmVyO1xuICBjdXJyZW50TW9udGhEYXRlczogSUN1cnJlbnRNb250aERhdGVzW10gPSBbXTtcbiAgaXNQcmV2aW91c01vbnRoRGlzYWJsZWQ6IGJvb2xlYW4gPSBmYWxzZTtcbiAgaXNOZXh0TW9udGhEaXNhYmxlZDogYm9vbGVhbiA9IGZhbHNlO1xuXG4gIGNvbnN0cnVjdG9yKEBJbmplY3QoQ09OVEFJTkVSX0RBVEEpIGRhdGE6IElEYXRlUGlja2VyRGF0YSwgcHJpdmF0ZSB0b2FzdDogVG9hc3RTZXJ2aWNlKSB7XG4gICAgdGhpcy5kYXRhID0gZGF0YTtcbiAgICBpZiAodGhpcy5kYXRhPy5kcENvbmZpZz8udGltZXpvbmUpIHtcbiAgICAgIHRoaXMucGFyc2Vab25lSW5zdGFuY2UgPSAoLi4uYXJncykgPT4ge1xuICAgICAgICByZXR1cm4gdHooYXJnc1swXSwgYXJnc1sxXSwgdGhpcy5kYXRhLmRwQ29uZmlnLnRpbWV6b25lKTtcbiAgICAgIH07XG4gICAgfVxuICAgIHRoaXMuY3VycmVudE1vbnRoTnVtYmVyID0gdGhpcy5wYXJzZVpvbmVJbnN0YW5jZSgpLm1vbnRoKCk7XG4gICAgdGhpcy5jdXJyZW50TW9udGggPSBnZXRNb250aCh0aGlzLmN1cnJlbnRNb250aE51bWJlcik7XG4gICAgdGhpcy5jdXJyZW50WWVhck51bWJlciA9IHRoaXMucGFyc2Vab25lSW5zdGFuY2UoKS55ZWFyKCk7XG4gICAgdGhpcy53ZWVrRGF5cyA9IHRoaXMucmF3V2Vla0RheXMubWFwKChkYXksIGluZGV4KSA9PiAoe1xuICAgICAgbGFiZWw6IGAke2RheVswXX0ke2RheS5zbGljZSgxKS50b0xvd2VyQ2FzZSgpfWAsXG4gICAgICBpc0N1cnJlbnREYXk6IHRoaXMucGFyc2Vab25lSW5zdGFuY2UoKS5kYXkoKSA9PT0gaW5kZXgsXG4gICAgfSkpO1xuICAgIGlmICghdGhpcy5kYXRhPy5kcENvbmZpZz8uZm9ybWF0KSB7XG4gICAgICB0aGlzLmRhdGEuZHBDb25maWcgPSB7XG4gICAgICAgIC4uLnRoaXMuZGF0YS5kcENvbmZpZyxcbiAgICAgICAgZm9ybWF0OiBEQVRFX0ZPUk1BVCxcbiAgICAgIH07XG4gICAgfVxuICB9XG5cbiAgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgdGhpcy5jdXJyZW50RGF0ZUluc3RhbmNlKCk7XG4gICAgdGhpcy5jYWxjdWxhdGVNaW5NYXhEYXlzKCk7XG4gIH1cblxuICBwcml2YXRlIGN1cnJlbnREYXRlSW5zdGFuY2UoKTogdm9pZCB7XG4gICAgY29uc3Qgc2VsZWN0ZWREYXRlID0gcGFyc2Vab25lKHRoaXMuZGF0YS5kYXRlLCB0aGlzLmRhdGEuZHBDb25maWcuZm9ybWF0KTtcbiAgICBpZiAoc2VsZWN0ZWREYXRlLmlzVmFsaWQoKSkge1xuICAgICAgdGhpcy5jdXJyZW50WWVhck51bWJlciA9IHNlbGVjdGVkRGF0ZS55ZWFyKCk7XG4gICAgICB0aGlzLmN1cnJlbnRNb250aE51bWJlciA9IHNlbGVjdGVkRGF0ZS5tb250aCgpO1xuICAgICAgdGhpcy5jdXJyZW50TW9udGggPSBnZXRNb250aCh0aGlzLmN1cnJlbnRNb250aE51bWJlcik7XG4gICAgfVxuICAgIHRoaXMuY3VycmVudE1vbnRoRGF0ZXMgPSB0aGlzLmdlbmVyYXRlRGF0ZXModGhpcy5jdXJyZW50TW9udGhOdW1iZXIsIHRoaXMuY3VycmVudFllYXJOdW1iZXIpO1xuICB9XG5cbiAgcHJpdmF0ZSBjYWxjdWxhdGVNaW5NYXhEYXlzKCkge1xuICAgIGNvbnN0IGN1cnJlbnRJbnN0YW5jZSA9IHRoaXMucGFyc2Vab25lSW5zdGFuY2UoKS55ZWFyKHRoaXMuY3VycmVudFllYXJOdW1iZXIpLm1vbnRoKHRoaXMuY3VycmVudE1vbnRoTnVtYmVyKTtcbiAgICBjb25zdCBtaW5EYXRlID0gdGhpcy5wYXJzZVpvbmVJbnN0YW5jZSh0aGlzLmRhdGEuZHBDb25maWcubWluRGF0ZSwgdGhpcy5kYXRhLmRwQ29uZmlnLmZvcm1hdCk7XG4gICAgaWYgKG1pbkRhdGUuaXNWYWxpZCgpKSB7XG4gICAgICB0aGlzLmlzUHJldmlvdXNNb250aERpc2FibGVkID0gbWluRGF0ZS5pc1NhbWVPckFmdGVyKGN1cnJlbnRJbnN0YW5jZSwgXCJtb250aFwiKTtcbiAgICB9XG4gICAgY29uc3QgbWF4RGF0ZSA9IHRoaXMucGFyc2Vab25lSW5zdGFuY2UodGhpcy5kYXRhLmRwQ29uZmlnLm1heERhdGUsIHRoaXMuZGF0YS5kcENvbmZpZy5mb3JtYXQpO1xuICAgIGlmIChtYXhEYXRlLmlzVmFsaWQoKSkge1xuICAgICAgdGhpcy5pc05leHRNb250aERpc2FibGVkID0gbWF4RGF0ZS5pc1NhbWVPckJlZm9yZShjdXJyZW50SW5zdGFuY2UsIFwibW9udGhcIik7XG4gICAgfVxuICB9XG5cbiAgbmF2aWdhdGVNb250aChkaXJlY3Rpb246IFwiTkVYVFwiIHwgXCJQUkVWSU9VU1wiKTogdm9pZCB7XG4gICAgbGV0IHRoaXNNb250aDogTW9tZW50ID0gcGFyc2Vab25lKCkueWVhcih0aGlzLmN1cnJlbnRZZWFyTnVtYmVyKS5tb250aCh0aGlzLmN1cnJlbnRNb250aE51bWJlcik7XG4gICAgaWYgKGRpcmVjdGlvbiA9PT0gXCJORVhUXCIpIHtcbiAgICAgIHRoaXNNb250aCA9IHRoaXNNb250aC5hZGQoMSwgXCJtb250aFwiKTtcbiAgICB9IGVsc2UgaWYgKGRpcmVjdGlvbiA9PT0gXCJQUkVWSU9VU1wiKSB7XG4gICAgICB0aGlzTW9udGggPSB0aGlzTW9udGguc3VidHJhY3QoMSwgXCJtb250aFwiKTtcbiAgICB9XG4gICAgdGhpcy5jdXJyZW50TW9udGhOdW1iZXIgPSB0aGlzTW9udGgubW9udGgoKTtcbiAgICB0aGlzLmN1cnJlbnRNb250aCA9IGdldE1vbnRoKHRoaXMuY3VycmVudE1vbnRoTnVtYmVyKTtcbiAgICB0aGlzLmN1cnJlbnRZZWFyTnVtYmVyID0gdGhpc01vbnRoLnllYXIoKTtcbiAgICB0aGlzLmN1cnJlbnRNb250aERhdGVzID0gdGhpcy5nZW5lcmF0ZURhdGVzKHRoaXMuY3VycmVudE1vbnRoTnVtYmVyLCB0aGlzLmN1cnJlbnRZZWFyTnVtYmVyKTtcbiAgICB0aGlzLmNhbGN1bGF0ZU1pbk1heERheXMoKTtcbiAgfVxuXG4gIHByaXZhdGUgZ2VuZXJhdGVEYXRlcyhtb250aDogbnVtYmVyLCBjdXJyZW50WWVhck51bWJlcjogbnVtYmVyKTogSUN1cnJlbnRNb250aERhdGVzW10ge1xuICAgIGxldCBkYXRlczogSUN1cnJlbnRNb250aERhdGVzW10gPSBbXTtcbiAgICBjb25zdCBkYXlzSW5Nb250aCA9IHBhcnNlWm9uZSgpLnllYXIoY3VycmVudFllYXJOdW1iZXIpLm1vbnRoKG1vbnRoKS5kYXlzSW5Nb250aCgpO1xuICAgIGZvciAobGV0IGN1cnJlbnREYXRlID0gMTsgY3VycmVudERhdGUgPD0gZGF5c0luTW9udGg7IGN1cnJlbnREYXRlKyspIHtcbiAgICAgIGNvbnN0IGRhdGUgPSB0aGlzLnBhcnNlWm9uZUluc3RhbmNlKCkueWVhcihjdXJyZW50WWVhck51bWJlcikubW9udGgobW9udGgpLmRhdGUoY3VycmVudERhdGUpO1xuICAgICAgY29uc3QgZGF0ZVN0cmluZyA9IGRhdGUuZm9ybWF0KHRoaXMuZGF0YS5kcENvbmZpZy5mb3JtYXQpO1xuICAgICAgbGV0IGlzRGlzYWJsZWREYXkgPSB0aGlzLmRhdGEuZGF0ZXNEaXNhYmxlZC5zb21lKChkKSA9PiBkID09PSBkYXRlU3RyaW5nKTtcbiAgICAgIGNvbnN0IG1pbkRhdGUgPSB0aGlzLnBhcnNlWm9uZUluc3RhbmNlKHRoaXMuZGF0YS5kcENvbmZpZy5taW5EYXRlLCB0aGlzLmRhdGEuZHBDb25maWcuZm9ybWF0KTtcbiAgICAgIGlmICghaXNEaXNhYmxlZERheSAmJiBtaW5EYXRlLmlzVmFsaWQoKSkge1xuICAgICAgICBpc0Rpc2FibGVkRGF5ID0gbWluRGF0ZS5pc0FmdGVyKGRhdGUsIFwiZGF5XCIpO1xuICAgICAgfVxuICAgICAgY29uc3QgbWF4RGF0ZSA9IHRoaXMucGFyc2Vab25lSW5zdGFuY2UodGhpcy5kYXRhLmRwQ29uZmlnLm1heERhdGUsIHRoaXMuZGF0YS5kcENvbmZpZy5mb3JtYXQpO1xuICAgICAgaWYgKCFpc0Rpc2FibGVkRGF5ICYmIG1heERhdGUuaXNWYWxpZCgpKSB7XG4gICAgICAgIGlzRGlzYWJsZWREYXkgPSBtYXhEYXRlLmlzQmVmb3JlKGRhdGUsIFwiZGF5XCIpO1xuICAgICAgfVxuICAgICAgZGF0ZXMucHVzaCh7XG4gICAgICAgIGRhdGU6IGN1cnJlbnREYXRlLFxuICAgICAgICB3ZWVrRGF5OiBkYXRlLmRheSgpLFxuICAgICAgICBpc0N1cnJlbnREYXk6XG4gICAgICAgICAgdGhpcy5wYXJzZVpvbmVJbnN0YW5jZSgpLnllYXIoY3VycmVudFllYXJOdW1iZXIpLm1vbnRoKG1vbnRoKS5kYXRlKGN1cnJlbnREYXRlKS5mb3JtYXQodGhpcy5kYXRhLmRwQ29uZmlnLmZvcm1hdCkgPT09XG4gICAgICAgICAgdGhpcy5wYXJzZVpvbmVJbnN0YW5jZSgpLmZvcm1hdCh0aGlzLmRhdGEuZHBDb25maWcuZm9ybWF0KSxcbiAgICAgICAgaXNTZWxlY3RlZERheTogIWlzRGlzYWJsZWREYXkgJiYgZGF0ZS5mb3JtYXQodGhpcy5kYXRhLmRwQ29uZmlnLmZvcm1hdCkgPT09IHRoaXMuZGF0YS5kYXRlLFxuICAgICAgICB0b2FzdE1lc3NhZ2U6IHRoaXMuZGF0YS5tZXNzYWdlcy5maW5kKChxKSA9PiBkYXRlLmZvcm1hdCh0aGlzLmRhdGEuZHBDb25maWcuZm9ybWF0KSA9PT0gcS5kYXRlKT8ubWVzc2FnZSB8fCBcIlwiLFxuICAgICAgICBpc0Rpc2FibGVkRGF5LFxuICAgICAgfSk7XG4gICAgfVxuICAgIGZvciAobGV0IGkgPSBkYXRlc1swXS53ZWVrRGF5OyBpID4gMDsgaS0tKSB7XG4gICAgICBkYXRlcy51bnNoaWZ0KHsgZGF0ZTogMCwgd2Vla0RheTogaSAtIDEgfSk7XG4gICAgfVxuICAgIHJldHVybiBkYXRlcztcbiAgfVxuXG4gIHNlbGVjdERheShkYXk6IElDdXJyZW50TW9udGhEYXRlcykge1xuICAgIGlmIChkYXkuZGF0ZSA8PSAwKSByZXR1cm47XG4gICAgaWYgKCFkYXkuaXNEaXNhYmxlZERheSkge1xuICAgICAgdGhpcy5kYXRhLmRhdGVDaGFuZ2UoXG4gICAgICAgIHBhcnNlWm9uZSgpLnllYXIodGhpcy5jdXJyZW50WWVhck51bWJlcikubW9udGgodGhpcy5jdXJyZW50TW9udGhOdW1iZXIpLmRhdGUoZGF5LmRhdGUpLmZvcm1hdCh0aGlzLmRhdGEuZHBDb25maWcuZm9ybWF0KVxuICAgICAgKTtcbiAgICB9XG4gICAgaWYgKGRheS50b2FzdE1lc3NhZ2UpIHtcbiAgICAgIHRoaXMudG9hc3QuZGlzcGxheU1zZyhkYXkudG9hc3RNZXNzYWdlLCA0MDAwKTtcbiAgICB9XG4gIH1cbn1cbiJdfQ==
|
|
126
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHotZHAtY29udGFpbmVyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL21pcy1jb21wb25lbnRzL2RhdGVwaWNrZXJfdjIvdHotZHAtY29udGFpbmVyL3R6LWRwLWNvbnRhaW5lci5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLEVBQVUsTUFBTSxlQUFlLENBQUM7QUFDMUQsT0FBTyxFQUFFLGNBQWMsRUFBRSxXQUFXLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUV0RSxPQUFPLEVBQUUsU0FBUyxFQUFjLE1BQU0saUJBQWlCLENBQUM7QUFDeEQsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLFVBQVUsQ0FBQztBQUNwQyxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUNBQWlDLENBQUM7QUFPL0QsTUFBTSxPQUFPLHNCQUFzQjtJQWNqQyxZQUFvQyxJQUFxQixFQUFVLEtBQW1COztRQUFuQixVQUFLLEdBQUwsS0FBSyxDQUFjO1FBWjlFLHNCQUFpQixHQUFHLENBQUMsR0FBRyxJQUFJLEVBQUUsRUFBRTtZQUN0QyxPQUFPLFNBQVMsQ0FBQyxHQUFHLElBQUksQ0FBQyxDQUFDO1FBQzVCLENBQUMsQ0FBQztRQUNNLGdCQUFXLEdBQWEsQ0FBQyxLQUFLLEVBQUUsS0FBSyxFQUFFLEtBQUssRUFBRSxLQUFLLEVBQUUsS0FBSyxFQUFFLEtBQUssRUFBRSxLQUFLLENBQUMsQ0FBQztRQUNsRixhQUFRLEdBQWUsRUFBRSxDQUFDO1FBSTFCLHNCQUFpQixHQUF5QixFQUFFLENBQUM7UUFDN0MsNEJBQXVCLEdBQVksS0FBSyxDQUFDO1FBQ3pDLHdCQUFtQixHQUFZLEtBQUssQ0FBQztRQUduQyxJQUFJLENBQUMsSUFBSSxHQUFHLElBQUksQ0FBQztRQUNqQixnQkFBSSxJQUFJLENBQUMsSUFBSSwwQ0FBRSxRQUFRLDBDQUFFLFFBQVEsRUFBRTtZQUNqQyxJQUFJLENBQUMsaUJBQWlCLEdBQUcsQ0FBQyxHQUFHLElBQUksRUFBRSxFQUFFO2dCQUNuQyxPQUFPLFNBQVMsQ0FBQyxHQUFHLElBQUksQ0FBQyxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxRQUFRLENBQUMsQ0FBQztZQUM1RCxDQUFDLENBQUM7U0FDSDtRQUNELElBQUksQ0FBQyxrQkFBa0IsR0FBRyxJQUFJLENBQUMsaUJBQWlCLEVBQUUsQ0FBQyxLQUFLLEVBQUUsQ0FBQztRQUMzRCxJQUFJLENBQUMsWUFBWSxHQUFHLFFBQVEsQ0FBQyxJQUFJLENBQUMsa0JBQWtCLENBQUMsQ0FBQztRQUN0RCxJQUFJLENBQUMsaUJBQWlCLEdBQUcsSUFBSSxDQUFDLGlCQUFpQixFQUFFLENBQUMsSUFBSSxFQUFFLENBQUM7UUFDekQsSUFBSSxDQUFDLFFBQVEsR0FBRyxJQUFJLENBQUMsV0FBVyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEdBQUcsRUFBRSxLQUFLLEVBQUUsRUFBRSxDQUFDLENBQUM7WUFDcEQsS0FBSyxFQUFFLEdBQUcsR0FBRyxDQUFDLENBQUMsQ0FBQyxHQUFHLEdBQUcsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsV0FBVyxFQUFFLEVBQUU7WUFDL0MsWUFBWSxFQUFFLElBQUksQ0FBQyxpQkFBaUIsRUFBRSxDQUFDLEdBQUcsRUFBRSxLQUFLLEtBQUs7U0FDdkQsQ0FBQyxDQUFDLENBQUM7UUFDSixJQUFJLGNBQUMsSUFBSSxDQUFDLElBQUksMENBQUUsUUFBUSwwQ0FBRSxNQUFNLENBQUEsRUFBRTtZQUNoQyxJQUFJLENBQUMsSUFBSSxDQUFDLFFBQVEsbUNBQ2IsSUFBSSxDQUFDLElBQUksQ0FBQyxRQUFRLEtBQ3JCLE1BQU0sRUFBRSxXQUFXLEdBQ3BCLENBQUM7U0FDSDtJQUNILENBQUM7SUFFRCxRQUFRO1FBQ04sSUFBSSxDQUFDLG1CQUFtQixFQUFFLENBQUM7UUFDM0IsSUFBSSxDQUFDLG1CQUFtQixFQUFFLENBQUM7SUFDN0IsQ0FBQztJQUVPLG1CQUFtQjtRQUN6QixNQUFNLFlBQVksR0FBRyxTQUFTLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLEVBQUUsSUFBSSxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsTUFBTSxDQUFDLENBQUM7UUFDMUUsSUFBSSxZQUFZLENBQUMsT0FBTyxFQUFFLEVBQUU7WUFDMUIsSUFBSSxDQUFDLGlCQUFpQixHQUFHLFlBQVksQ0FBQyxJQUFJLEVBQUUsQ0FBQztZQUM3QyxJQUFJLENBQUMsa0JBQWtCLEdBQUcsWUFBWSxDQUFDLEtBQUssRUFBRSxDQUFDO1lBQy9DLElBQUksQ0FBQyxZQUFZLEdBQUcsUUFBUSxDQUFDLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxDQUFDO1NBQ3ZEO1FBQ0QsSUFBSSxDQUFDLGlCQUFpQixHQUFHLElBQUksQ0FBQyxhQUFhLENBQUMsSUFBSSxDQUFDLGtCQUFrQixFQUFFLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxDQUFDO0lBQy9GLENBQUM7SUFFTyxtQkFBbUI7UUFDekIsTUFBTSxlQUFlLEdBQUcsSUFBSSxDQUFDLGlCQUFpQixFQUFFLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsa0JBQWtCLENBQUMsQ0FBQztRQUM3RyxNQUFNLE9BQU8sR0FBRyxJQUFJLENBQUMsaUJBQWlCLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsT0FBTyxFQUFFLElBQUksQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBQzlGLElBQUksT0FBTyxDQUFDLE9BQU8sRUFBRSxFQUFFO1lBQ3JCLElBQUksQ0FBQyx1QkFBdUIsR0FBRyxPQUFPLENBQUMsYUFBYSxDQUFDLGVBQWUsRUFBRSxPQUFPLENBQUMsQ0FBQztTQUNoRjtRQUNELE1BQU0sT0FBTyxHQUFHLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxPQUFPLEVBQUUsSUFBSSxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsTUFBTSxDQUFDLENBQUM7UUFDOUYsSUFBSSxPQUFPLENBQUMsT0FBTyxFQUFFLEVBQUU7WUFDckIsSUFBSSxDQUFDLG1CQUFtQixHQUFHLE9BQU8sQ0FBQyxRQUFRLENBQUMsZUFBZSxFQUFFLE9BQU8sQ0FBQyxDQUFDO1NBQ3ZFO0lBQ0gsQ0FBQztJQUVELGFBQWEsQ0FBQyxTQUE4QjtRQUMxQyxJQUFJLFNBQVMsR0FBVyxTQUFTLEVBQUUsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLGlCQUFpQixDQUFDLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxDQUFDO1FBQ2hHLElBQUksU0FBUyxLQUFLLE1BQU0sRUFBRTtZQUN4QixTQUFTLEdBQUcsU0FBUyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEVBQUUsT0FBTyxDQUFDLENBQUM7U0FDdkM7YUFBTSxJQUFJLFNBQVMsS0FBSyxVQUFVLEVBQUU7WUFDbkMsU0FBUyxHQUFHLFNBQVMsQ0FBQyxRQUFRLENBQUMsQ0FBQyxFQUFFLE9BQU8sQ0FBQyxDQUFDO1NBQzVDO1FBQ0QsSUFBSSxDQUFDLGtCQUFrQixHQUFHLFNBQVMsQ0FBQyxLQUFLLEVBQUUsQ0FBQztRQUM1QyxJQUFJLENBQUMsWUFBWSxHQUFHLFFBQVEsQ0FBQyxJQUFJLENBQUMsa0JBQWtCLENBQUMsQ0FBQztRQUN0RCxJQUFJLENBQUMsaUJBQWlCLEdBQUcsU0FBUyxDQUFDLElBQUksRUFBRSxDQUFDO1FBQzFDLElBQUksQ0FBQyxpQkFBaUIsR0FBRyxJQUFJLENBQUMsYUFBYSxDQUFDLElBQUksQ0FBQyxrQkFBa0IsRUFBRSxJQUFJLENBQUMsaUJBQWlCLENBQUMsQ0FBQztRQUM3RixJQUFJLENBQUMsbUJBQW1CLEVBQUUsQ0FBQztJQUM3QixDQUFDO0lBRU8sYUFBYSxDQUFDLEtBQWEsRUFBRSxpQkFBeUI7O1FBQzVELElBQUksS0FBSyxHQUF5QixFQUFFLENBQUM7UUFDckMsTUFBTSxXQUFXLEdBQUcsU0FBUyxFQUFFLENBQUMsSUFBSSxDQUFDLGlCQUFpQixDQUFDLENBQUMsS0FBSyxDQUFDLEtBQUssQ0FBQyxDQUFDLFdBQVcsRUFBRSxDQUFDO1FBQ25GLEtBQUssSUFBSSxTQUFTLEdBQUcsQ0FBQyxFQUFFLFNBQVMsSUFBSSxXQUFXLEVBQUUsU0FBUyxFQUFFLEVBQUU7WUFDN0QsTUFBTSxJQUFJLEdBQUcsU0FBUyxFQUFFLENBQUMsSUFBSSxDQUFDLGlCQUFpQixDQUFDLENBQUMsS0FBSyxDQUFDLEtBQUssQ0FBQyxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQztZQUM5RSxNQUFNLFVBQVUsR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLE1BQU0sQ0FBQyxDQUFDO1lBQzFELElBQUksYUFBYSxHQUFHLElBQUksQ0FBQyxJQUFJLENBQUMsYUFBYSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxLQUFLLFVBQVUsQ0FBQyxDQUFDO1lBQzFFLE1BQU0sT0FBTyxHQUFHLFNBQVMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxPQUFPLEVBQUUsSUFBSSxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsTUFBTSxDQUFDLENBQUM7WUFDakYsSUFBSSxDQUFDLGFBQWEsSUFBSSxPQUFPLENBQUMsT0FBTyxFQUFFLEVBQUU7Z0JBQ3ZDLGFBQWEsR0FBRyxPQUFPLENBQUMsT0FBTyxDQUFDLElBQUksRUFBRSxLQUFLLENBQUMsQ0FBQzthQUM5QztZQUNELE1BQU0sT0FBTyxHQUFHLFNBQVMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxPQUFPLEVBQUUsSUFBSSxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsTUFBTSxDQUFDLENBQUM7WUFDakYsSUFBSSxDQUFDLGFBQWEsSUFBSSxPQUFPLENBQUMsT0FBTyxFQUFFLEVBQUU7Z0JBQ3ZDLGFBQWEsR0FBRyxPQUFPLENBQUMsUUFBUSxDQUFDLElBQUksRUFBRSxLQUFLLENBQUMsQ0FBQzthQUMvQztZQUNELEtBQUssQ0FBQyxJQUFJLENBQUM7Z0JBQ1QsSUFBSSxFQUFFLFNBQVM7Z0JBQ2YsT0FBTyxFQUFFLElBQUksQ0FBQyxHQUFHLEVBQUU7Z0JBQ25CLFlBQVksRUFDVixJQUFJLENBQUMsaUJBQWlCLENBQUMsRUFBRSxJQUFJLEVBQUUsaUJBQWlCLEVBQUUsS0FBSyxFQUFFLElBQUksRUFBRSxTQUFTLEVBQUUsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxNQUFNLENBQUM7b0JBQzdHLFNBQVMsRUFBRSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxNQUFNLENBQUM7Z0JBQy9DLGFBQWEsRUFBRSxJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLE1BQU0sQ0FBQyxLQUFLLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSTtnQkFDeEUsWUFBWSxFQUFFLE9BQUEsSUFBSSxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsQ0FBQyxJQUFJLENBQUMsMENBQUUsT0FBTyxLQUFJLEVBQUU7Z0JBQzlHLGFBQWE7YUFDZCxDQUFDLENBQUM7U0FDSjtRQUNELEtBQUssSUFBSSxDQUFDLEdBQUcsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLE9BQU8sRUFBRSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsRUFBRSxFQUFFO1lBQ3pDLEtBQUssQ0FBQyxPQUFPLENBQUMsRUFBRSxJQUFJLEVBQUUsQ0FBQyxFQUFFLE9BQU8sRUFBRSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsQ0FBQztTQUM1QztRQUNELE9BQU8sS0FBSyxDQUFDO0lBQ2YsQ0FBQztJQUVELFNBQVMsQ0FBQyxHQUF1QjtRQUMvQixJQUFJLEdBQUcsQ0FBQyxJQUFJLElBQUksQ0FBQztZQUFFLE9BQU87UUFDMUIsSUFBSSxDQUFDLEdBQUcsQ0FBQyxhQUFhLEVBQUU7WUFDdEIsSUFBSSxDQUFDLElBQUksQ0FBQyxVQUFVLENBQ2xCLFNBQVMsRUFBRSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsaUJBQWlCLENBQUMsQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLGtCQUFrQixDQUFDLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsTUFBTSxDQUFDLENBQ3pILENBQUM7U0FDSDtRQUNELElBQUksR0FBRyxDQUFDLFlBQVksRUFBRTtZQUNwQixJQUFJLENBQUMsS0FBSyxDQUFDLFVBQVUsQ0FBQyxHQUFHLENBQUMsWUFBWSxFQUFFLElBQUksQ0FBQyxDQUFDO1NBQy9DO0lBQ0gsQ0FBQzs7O1lBNUhGLFNBQVMsU0FBQztnQkFDVCxRQUFRLEVBQUUsV0FBVztnQkFDckIseTVGQUErQzs7YUFFaEQ7Ozs0Q0FlYyxNQUFNLFNBQUMsY0FBYztZQXJCM0IsWUFBWSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgSW5qZWN0LCBPbkluaXQgfSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xuaW1wb3J0IHsgQ09OVEFJTkVSX0RBVEEsIERBVEVfRk9STUFUIH0gZnJvbSBcIi4uL2RhdGVwaWNrZXItY29uc3RhbnRzXCI7XG5pbXBvcnQgeyBJQ3VycmVudE1vbnRoLCBJQ3VycmVudE1vbnRoRGF0ZXMsIElEYXRlUGlja2VyRGF0YSwgSVdlZWtEYXkgfSBmcm9tIFwiLi4vbW9kZWxzL2RwLWNvbmZpZy5tb2RlbFwiO1xuaW1wb3J0IHsgcGFyc2Vab25lLCBNb21lbnQsIHR6IH0gZnJvbSBcIm1vbWVudC10aW1lem9uZVwiO1xuaW1wb3J0IHsgZ2V0TW9udGggfSBmcm9tIFwiLi4vdXRpbHNcIjtcbmltcG9ydCB7IFRvYXN0U2VydmljZSB9IGZyb20gXCJtaXMtY3J5c3RhbC1kZXNpZ24tc3lzdGVtL3RvYXN0XCI7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogXCJtaXMtdHotZHBcIixcbiAgdGVtcGxhdGVVcmw6IFwiLi90ei1kcC1jb250YWluZXIuY29tcG9uZW50Lmh0bWxcIixcbiAgc3R5bGVVcmxzOiBbXCIuL3R6LWRwLWNvbnRhaW5lci5jb21wb25lbnQuc2Nzc1wiXSxcbn0pXG5leHBvcnQgY2xhc3MgVHpEcENvbnRhaW5lckNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XG4gIGRhdGE6IElEYXRlUGlja2VyRGF0YTtcbiAgcHJpdmF0ZSBwYXJzZVpvbmVJbnN0YW5jZSA9ICguLi5hcmdzKSA9PiB7XG4gICAgcmV0dXJuIHBhcnNlWm9uZSguLi5hcmdzKTtcbiAgfTtcbiAgcHJpdmF0ZSByYXdXZWVrRGF5czogc3RyaW5nW10gPSBbXCJTVU5cIiwgXCJNT05cIiwgXCJUVUVcIiwgXCJXRURcIiwgXCJUSFVcIiwgXCJGUklcIiwgXCJTQVRcIl07XG4gIHdlZWtEYXlzOiBJV2Vla0RheVtdID0gW107XG4gIGN1cnJlbnRNb250aE51bWJlcjogbnVtYmVyO1xuICBjdXJyZW50TW9udGg6IElDdXJyZW50TW9udGg7XG4gIGN1cnJlbnRZZWFyTnVtYmVyOiBudW1iZXI7XG4gIGN1cnJlbnRNb250aERhdGVzOiBJQ3VycmVudE1vbnRoRGF0ZXNbXSA9IFtdO1xuICBpc1ByZXZpb3VzTW9udGhEaXNhYmxlZDogYm9vbGVhbiA9IGZhbHNlO1xuICBpc05leHRNb250aERpc2FibGVkOiBib29sZWFuID0gZmFsc2U7XG5cbiAgY29uc3RydWN0b3IoQEluamVjdChDT05UQUlORVJfREFUQSkgZGF0YTogSURhdGVQaWNrZXJEYXRhLCBwcml2YXRlIHRvYXN0OiBUb2FzdFNlcnZpY2UpIHtcbiAgICB0aGlzLmRhdGEgPSBkYXRhO1xuICAgIGlmICh0aGlzLmRhdGE/LmRwQ29uZmlnPy50aW1lem9uZSkge1xuICAgICAgdGhpcy5wYXJzZVpvbmVJbnN0YW5jZSA9ICguLi5hcmdzKSA9PiB7XG4gICAgICAgIHJldHVybiBwYXJzZVpvbmUoLi4uYXJncykudHoodGhpcy5kYXRhLmRwQ29uZmlnLnRpbWV6b25lKTtcbiAgICAgIH07XG4gICAgfVxuICAgIHRoaXMuY3VycmVudE1vbnRoTnVtYmVyID0gdGhpcy5wYXJzZVpvbmVJbnN0YW5jZSgpLm1vbnRoKCk7XG4gICAgdGhpcy5jdXJyZW50TW9udGggPSBnZXRNb250aCh0aGlzLmN1cnJlbnRNb250aE51bWJlcik7XG4gICAgdGhpcy5jdXJyZW50WWVhck51bWJlciA9IHRoaXMucGFyc2Vab25lSW5zdGFuY2UoKS55ZWFyKCk7XG4gICAgdGhpcy53ZWVrRGF5cyA9IHRoaXMucmF3V2Vla0RheXMubWFwKChkYXksIGluZGV4KSA9PiAoe1xuICAgICAgbGFiZWw6IGAke2RheVswXX0ke2RheS5zbGljZSgxKS50b0xvd2VyQ2FzZSgpfWAsXG4gICAgICBpc0N1cnJlbnREYXk6IHRoaXMucGFyc2Vab25lSW5zdGFuY2UoKS5kYXkoKSA9PT0gaW5kZXgsXG4gICAgfSkpO1xuICAgIGlmICghdGhpcy5kYXRhPy5kcENvbmZpZz8uZm9ybWF0KSB7XG4gICAgICB0aGlzLmRhdGEuZHBDb25maWcgPSB7XG4gICAgICAgIC4uLnRoaXMuZGF0YS5kcENvbmZpZyxcbiAgICAgICAgZm9ybWF0OiBEQVRFX0ZPUk1BVCxcbiAgICAgIH07XG4gICAgfVxuICB9XG5cbiAgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgdGhpcy5jdXJyZW50RGF0ZUluc3RhbmNlKCk7XG4gICAgdGhpcy5jYWxjdWxhdGVNaW5NYXhEYXlzKCk7XG4gIH1cblxuICBwcml2YXRlIGN1cnJlbnREYXRlSW5zdGFuY2UoKTogdm9pZCB7XG4gICAgY29uc3Qgc2VsZWN0ZWREYXRlID0gcGFyc2Vab25lKHRoaXMuZGF0YS5kYXRlLCB0aGlzLmRhdGEuZHBDb25maWcuZm9ybWF0KTtcbiAgICBpZiAoc2VsZWN0ZWREYXRlLmlzVmFsaWQoKSkge1xuICAgICAgdGhpcy5jdXJyZW50WWVhck51bWJlciA9IHNlbGVjdGVkRGF0ZS55ZWFyKCk7XG4gICAgICB0aGlzLmN1cnJlbnRNb250aE51bWJlciA9IHNlbGVjdGVkRGF0ZS5tb250aCgpO1xuICAgICAgdGhpcy5jdXJyZW50TW9udGggPSBnZXRNb250aCh0aGlzLmN1cnJlbnRNb250aE51bWJlcik7XG4gICAgfVxuICAgIHRoaXMuY3VycmVudE1vbnRoRGF0ZXMgPSB0aGlzLmdlbmVyYXRlRGF0ZXModGhpcy5jdXJyZW50TW9udGhOdW1iZXIsIHRoaXMuY3VycmVudFllYXJOdW1iZXIpO1xuICB9XG5cbiAgcHJpdmF0ZSBjYWxjdWxhdGVNaW5NYXhEYXlzKCkge1xuICAgIGNvbnN0IGN1cnJlbnRJbnN0YW5jZSA9IHRoaXMucGFyc2Vab25lSW5zdGFuY2UoKS55ZWFyKHRoaXMuY3VycmVudFllYXJOdW1iZXIpLm1vbnRoKHRoaXMuY3VycmVudE1vbnRoTnVtYmVyKTtcbiAgICBjb25zdCBtaW5EYXRlID0gdGhpcy5wYXJzZVpvbmVJbnN0YW5jZSh0aGlzLmRhdGEuZHBDb25maWcubWluRGF0ZSwgdGhpcy5kYXRhLmRwQ29uZmlnLmZvcm1hdCk7XG4gICAgaWYgKG1pbkRhdGUuaXNWYWxpZCgpKSB7XG4gICAgICB0aGlzLmlzUHJldmlvdXNNb250aERpc2FibGVkID0gbWluRGF0ZS5pc1NhbWVPckFmdGVyKGN1cnJlbnRJbnN0YW5jZSwgXCJtb250aFwiKTtcbiAgICB9XG4gICAgY29uc3QgbWF4RGF0ZSA9IHRoaXMucGFyc2Vab25lSW5zdGFuY2UodGhpcy5kYXRhLmRwQ29uZmlnLm1heERhdGUsIHRoaXMuZGF0YS5kcENvbmZpZy5mb3JtYXQpO1xuICAgIGlmIChtYXhEYXRlLmlzVmFsaWQoKSkge1xuICAgICAgdGhpcy5pc05leHRNb250aERpc2FibGVkID0gbWF4RGF0ZS5pc0JlZm9yZShjdXJyZW50SW5zdGFuY2UsIFwibW9udGhcIik7XG4gICAgfVxuICB9XG5cbiAgbmF2aWdhdGVNb250aChkaXJlY3Rpb246IFwiTkVYVFwiIHwgXCJQUkVWSU9VU1wiKTogdm9pZCB7XG4gICAgbGV0IHRoaXNNb250aDogTW9tZW50ID0gcGFyc2Vab25lKCkueWVhcih0aGlzLmN1cnJlbnRZZWFyTnVtYmVyKS5tb250aCh0aGlzLmN1cnJlbnRNb250aE51bWJlcik7XG4gICAgaWYgKGRpcmVjdGlvbiA9PT0gXCJORVhUXCIpIHtcbiAgICAgIHRoaXNNb250aCA9IHRoaXNNb250aC5hZGQoMSwgXCJtb250aFwiKTtcbiAgICB9IGVsc2UgaWYgKGRpcmVjdGlvbiA9PT0gXCJQUkVWSU9VU1wiKSB7XG4gICAgICB0aGlzTW9udGggPSB0aGlzTW9udGguc3VidHJhY3QoMSwgXCJtb250aFwiKTtcbiAgICB9XG4gICAgdGhpcy5jdXJyZW50TW9udGhOdW1iZXIgPSB0aGlzTW9udGgubW9udGgoKTtcbiAgICB0aGlzLmN1cnJlbnRNb250aCA9IGdldE1vbnRoKHRoaXMuY3VycmVudE1vbnRoTnVtYmVyKTtcbiAgICB0aGlzLmN1cnJlbnRZZWFyTnVtYmVyID0gdGhpc01vbnRoLnllYXIoKTtcbiAgICB0aGlzLmN1cnJlbnRNb250aERhdGVzID0gdGhpcy5nZW5lcmF0ZURhdGVzKHRoaXMuY3VycmVudE1vbnRoTnVtYmVyLCB0aGlzLmN1cnJlbnRZZWFyTnVtYmVyKTtcbiAgICB0aGlzLmNhbGN1bGF0ZU1pbk1heERheXMoKTtcbiAgfVxuXG4gIHByaXZhdGUgZ2VuZXJhdGVEYXRlcyhtb250aDogbnVtYmVyLCBjdXJyZW50WWVhck51bWJlcjogbnVtYmVyKTogSUN1cnJlbnRNb250aERhdGVzW10ge1xuICAgIGxldCBkYXRlczogSUN1cnJlbnRNb250aERhdGVzW10gPSBbXTtcbiAgICBjb25zdCBkYXlzSW5Nb250aCA9IHBhcnNlWm9uZSgpLnllYXIoY3VycmVudFllYXJOdW1iZXIpLm1vbnRoKG1vbnRoKS5kYXlzSW5Nb250aCgpO1xuICAgIGZvciAobGV0IHN0YXJ0RGF0ZSA9IDE7IHN0YXJ0RGF0ZSA8PSBkYXlzSW5Nb250aDsgc3RhcnREYXRlKyspIHtcbiAgICAgIGNvbnN0IGRhdGUgPSBwYXJzZVpvbmUoKS55ZWFyKGN1cnJlbnRZZWFyTnVtYmVyKS5tb250aChtb250aCkuZGF0ZShzdGFydERhdGUpO1xuICAgICAgY29uc3QgZGF0ZVN0cmluZyA9IGRhdGUuZm9ybWF0KHRoaXMuZGF0YS5kcENvbmZpZy5mb3JtYXQpO1xuICAgICAgbGV0IGlzRGlzYWJsZWREYXkgPSB0aGlzLmRhdGEuZGF0ZXNEaXNhYmxlZC5zb21lKChkKSA9PiBkID09PSBkYXRlU3RyaW5nKTtcbiAgICAgIGNvbnN0IG1pbkRhdGUgPSBwYXJzZVpvbmUodGhpcy5kYXRhLmRwQ29uZmlnLm1pbkRhdGUsIHRoaXMuZGF0YS5kcENvbmZpZy5mb3JtYXQpO1xuICAgICAgaWYgKCFpc0Rpc2FibGVkRGF5ICYmIG1pbkRhdGUuaXNWYWxpZCgpKSB7XG4gICAgICAgIGlzRGlzYWJsZWREYXkgPSBtaW5EYXRlLmlzQWZ0ZXIoZGF0ZSwgXCJkYXlcIik7XG4gICAgICB9XG4gICAgICBjb25zdCBtYXhEYXRlID0gcGFyc2Vab25lKHRoaXMuZGF0YS5kcENvbmZpZy5tYXhEYXRlLCB0aGlzLmRhdGEuZHBDb25maWcuZm9ybWF0KTtcbiAgICAgIGlmICghaXNEaXNhYmxlZERheSAmJiBtYXhEYXRlLmlzVmFsaWQoKSkge1xuICAgICAgICBpc0Rpc2FibGVkRGF5ID0gbWF4RGF0ZS5pc0JlZm9yZShkYXRlLCBcImRheVwiKTtcbiAgICAgIH1cbiAgICAgIGRhdGVzLnB1c2goe1xuICAgICAgICBkYXRlOiBzdGFydERhdGUsXG4gICAgICAgIHdlZWtEYXk6IGRhdGUuZGF5KCksXG4gICAgICAgIGlzQ3VycmVudERheTpcbiAgICAgICAgICB0aGlzLnBhcnNlWm9uZUluc3RhbmNlKHsgeWVhcjogY3VycmVudFllYXJOdW1iZXIsIG1vbnRoLCBkYXRlOiBzdGFydERhdGUgfSkuZm9ybWF0KHRoaXMuZGF0YS5kcENvbmZpZy5mb3JtYXQpID09PVxuICAgICAgICAgIHBhcnNlWm9uZSgpLmZvcm1hdCh0aGlzLmRhdGEuZHBDb25maWcuZm9ybWF0KSxcbiAgICAgICAgaXNTZWxlY3RlZERheTogZGF0ZS5mb3JtYXQodGhpcy5kYXRhLmRwQ29uZmlnLmZvcm1hdCkgPT09IHRoaXMuZGF0YS5kYXRlLFxuICAgICAgICB0b2FzdE1lc3NhZ2U6IHRoaXMuZGF0YS5tZXNzYWdlcy5maW5kKChxKSA9PiBkYXRlLmZvcm1hdCh0aGlzLmRhdGEuZHBDb25maWcuZm9ybWF0KSA9PT0gcS5kYXRlKT8ubWVzc2FnZSB8fCBcIlwiLFxuICAgICAgICBpc0Rpc2FibGVkRGF5LFxuICAgICAgfSk7XG4gICAgfVxuICAgIGZvciAobGV0IGkgPSBkYXRlc1swXS53ZWVrRGF5OyBpID4gMDsgaS0tKSB7XG4gICAgICBkYXRlcy51bnNoaWZ0KHsgZGF0ZTogMCwgd2Vla0RheTogaSAtIDEgfSk7XG4gICAgfVxuICAgIHJldHVybiBkYXRlcztcbiAgfVxuXG4gIHNlbGVjdERheShkYXk6IElDdXJyZW50TW9udGhEYXRlcykge1xuICAgIGlmIChkYXkuZGF0ZSA8PSAwKSByZXR1cm47XG4gICAgaWYgKCFkYXkuaXNEaXNhYmxlZERheSkge1xuICAgICAgdGhpcy5kYXRhLmRhdGVDaGFuZ2UoXG4gICAgICAgIHBhcnNlWm9uZSgpLnllYXIodGhpcy5jdXJyZW50WWVhck51bWJlcikubW9udGgodGhpcy5jdXJyZW50TW9udGhOdW1iZXIpLmRhdGUoZGF5LmRhdGUpLmZvcm1hdCh0aGlzLmRhdGEuZHBDb25maWcuZm9ybWF0KVxuICAgICAgKTtcbiAgICB9XG4gICAgaWYgKGRheS50b2FzdE1lc3NhZ2UpIHtcbiAgICAgIHRoaXMudG9hc3QuZGlzcGxheU1zZyhkYXkudG9hc3RNZXNzYWdlLCA0MDAwKTtcbiAgICB9XG4gIH1cbn1cbiJdfQ==
|
|
@@ -1,28 +1,33 @@
|
|
|
1
1
|
import { __rest } from "tslib";
|
|
2
|
-
import { Component, ElementRef, EventEmitter, HostListener, Input, Output } from
|
|
2
|
+
import { Component, ElementRef, EventEmitter, HostListener, Input, Output, } from "@angular/core";
|
|
3
3
|
export class MultiSelectDropdownComponent {
|
|
4
4
|
constructor(eRef) {
|
|
5
5
|
this.eRef = eRef;
|
|
6
|
-
this.searchInput =
|
|
6
|
+
this.searchInput = "";
|
|
7
7
|
this.isOpen = false;
|
|
8
8
|
this.localSelectedItems = [];
|
|
9
9
|
this.localData = [];
|
|
10
10
|
this.searchData = [];
|
|
11
|
-
this.
|
|
12
|
-
this.
|
|
13
|
-
this.
|
|
14
|
-
this.
|
|
15
|
-
this.
|
|
16
|
-
this.
|
|
11
|
+
this.SELECT_ALL_ENUM = "SELECT_ALL_ENABLED";
|
|
12
|
+
this.label = "Select";
|
|
13
|
+
this.height = "";
|
|
14
|
+
this.width = "";
|
|
15
|
+
this.dropdownListHeight = "";
|
|
16
|
+
this.dropdownListWidth = "";
|
|
17
|
+
this.dropdownListPosition = "Left";
|
|
18
|
+
this.enableSelectAll = false;
|
|
17
19
|
this.searchEnabled = true;
|
|
18
20
|
this.showSelectedCount = false;
|
|
19
|
-
this.noDataMessage =
|
|
21
|
+
this.noDataMessage = "No Data";
|
|
22
|
+
this.options = {
|
|
23
|
+
sortLabels: true,
|
|
24
|
+
};
|
|
20
25
|
this.hideApplyButton = false;
|
|
21
26
|
this.onChange = new EventEmitter();
|
|
22
27
|
this.isSearchInputFocused = false;
|
|
23
28
|
}
|
|
24
29
|
set data(values) {
|
|
25
|
-
this.localData = values.map(item => {
|
|
30
|
+
this.localData = values.map((item) => {
|
|
26
31
|
return Object.assign(Object.assign({}, item), { checked: false });
|
|
27
32
|
});
|
|
28
33
|
}
|
|
@@ -38,8 +43,8 @@ export class MultiSelectDropdownComponent {
|
|
|
38
43
|
ngOnInit() { }
|
|
39
44
|
handlerSetLocalSelectedItems(values) {
|
|
40
45
|
this.localSelectedItems = values;
|
|
41
|
-
this.localData = this.localData.map(item => {
|
|
42
|
-
if (values.some(base => base.value === item.value)) {
|
|
46
|
+
this.localData = this.localData.map((item) => {
|
|
47
|
+
if (values.some((base) => base.value === item.value)) {
|
|
43
48
|
return Object.assign(Object.assign({}, item), { checked: true });
|
|
44
49
|
}
|
|
45
50
|
else {
|
|
@@ -52,7 +57,7 @@ export class MultiSelectDropdownComponent {
|
|
|
52
57
|
}
|
|
53
58
|
searchInputCanceled(event) {
|
|
54
59
|
event.stopPropagation();
|
|
55
|
-
this.searchInput =
|
|
60
|
+
this.searchInput = "";
|
|
56
61
|
this.isSearchInputFocused = false;
|
|
57
62
|
}
|
|
58
63
|
toggleDropdown() {
|
|
@@ -63,7 +68,7 @@ export class MultiSelectDropdownComponent {
|
|
|
63
68
|
}
|
|
64
69
|
}
|
|
65
70
|
filterByValue(array, string) {
|
|
66
|
-
return array.filter(o => o.label.toLowerCase().includes(string.toLowerCase()));
|
|
71
|
+
return array.filter((o) => o.label.toLowerCase().includes(string.toLowerCase()));
|
|
67
72
|
}
|
|
68
73
|
searchInputOnChange(newValue) {
|
|
69
74
|
this.searchInput = newValue;
|
|
@@ -72,39 +77,69 @@ export class MultiSelectDropdownComponent {
|
|
|
72
77
|
}
|
|
73
78
|
else {
|
|
74
79
|
this.searchData = [];
|
|
75
|
-
this.searchInput =
|
|
80
|
+
this.searchInput = "";
|
|
76
81
|
}
|
|
77
82
|
}
|
|
78
83
|
formatValues(array) {
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
84
|
+
let sortedArray = array;
|
|
85
|
+
if (this.options.sortLabels) {
|
|
86
|
+
const checkedValues = array
|
|
87
|
+
.filter((a) => a.checked)
|
|
88
|
+
.sort((a, b) => a.label > b.label ? 1 : b.label > a.label ? -1 : 0);
|
|
89
|
+
const unCheckedValues = array
|
|
90
|
+
.filter((a) => !a.checked)
|
|
91
|
+
.sort((a, b) => a.label > b.label ? 1 : b.label > a.label ? -1 : 0);
|
|
92
|
+
sortedArray = [...checkedValues, ...unCheckedValues].filter((t) => t.value !== this.SELECT_ALL_ENUM);
|
|
93
|
+
}
|
|
94
|
+
if (!sortedArray.some((option) => option.value === this.SELECT_ALL_ENUM) &&
|
|
95
|
+
this.enableSelectAll &&
|
|
96
|
+
sortedArray.length > 0) {
|
|
97
|
+
sortedArray.unshift({
|
|
98
|
+
label: "Select all",
|
|
99
|
+
value: this.SELECT_ALL_ENUM,
|
|
100
|
+
checked: sortedArray.every((y) => y.checked),
|
|
101
|
+
});
|
|
102
|
+
}
|
|
103
|
+
return sortedArray;
|
|
86
104
|
}
|
|
87
105
|
toggleSelectedItems(event, item) {
|
|
88
106
|
event.stopPropagation();
|
|
107
|
+
if (this.enableSelectAll && item.value === this.SELECT_ALL_ENUM) {
|
|
108
|
+
this.localData = this.localData.map((t) => (Object.assign(Object.assign({}, t), { checked: !item.checked })));
|
|
109
|
+
return;
|
|
110
|
+
}
|
|
89
111
|
if (item.checked) {
|
|
90
112
|
this.localData = [
|
|
91
|
-
...this.localData.map(a => {
|
|
92
|
-
if (a.value === item.value) {
|
|
113
|
+
...this.localData.map((a) => {
|
|
114
|
+
if (a.value === item.value || a.value === this.SELECT_ALL_ENUM) {
|
|
93
115
|
return Object.assign(Object.assign({}, a), { checked: false });
|
|
94
116
|
}
|
|
95
117
|
return a;
|
|
96
|
-
})
|
|
118
|
+
}),
|
|
97
119
|
];
|
|
98
120
|
}
|
|
99
121
|
else {
|
|
100
122
|
this.localData = [
|
|
101
|
-
...this.localData.map(a => {
|
|
123
|
+
...this.localData.map((a) => {
|
|
102
124
|
if (a.value === item.value) {
|
|
103
125
|
return Object.assign(Object.assign({}, a), { checked: true });
|
|
104
126
|
}
|
|
105
127
|
return a;
|
|
106
|
-
})
|
|
128
|
+
}),
|
|
107
129
|
];
|
|
130
|
+
if (this.enableSelectAll &&
|
|
131
|
+
this.localData
|
|
132
|
+
.filter((r) => r.value !== this.SELECT_ALL_ENUM)
|
|
133
|
+
.every((t) => t.checked)) {
|
|
134
|
+
this.localData = [
|
|
135
|
+
...this.localData.map((a) => {
|
|
136
|
+
if (a.value === this.SELECT_ALL_ENUM) {
|
|
137
|
+
return Object.assign(Object.assign({}, a), { checked: true });
|
|
138
|
+
}
|
|
139
|
+
return a;
|
|
140
|
+
}),
|
|
141
|
+
];
|
|
142
|
+
}
|
|
108
143
|
}
|
|
109
144
|
if (this.searchEnabled) {
|
|
110
145
|
this.searchInputOnChange(this.searchInput);
|
|
@@ -115,10 +150,10 @@ export class MultiSelectDropdownComponent {
|
|
|
115
150
|
}
|
|
116
151
|
applyFilters() {
|
|
117
152
|
this.onChange.emit(this.localData
|
|
118
|
-
.filter(a => {
|
|
119
|
-
return a.checked;
|
|
153
|
+
.filter((a) => {
|
|
154
|
+
return a.checked && a.value !== this.SELECT_ALL_ENUM;
|
|
120
155
|
})
|
|
121
|
-
.map(item => {
|
|
156
|
+
.map((item) => {
|
|
122
157
|
const { checked } = item, data = __rest(item, ["checked"]);
|
|
123
158
|
return data;
|
|
124
159
|
}));
|
|
@@ -130,12 +165,12 @@ export class MultiSelectDropdownComponent {
|
|
|
130
165
|
this.isSearchInputFocused = false;
|
|
131
166
|
this.onChange.emit([]);
|
|
132
167
|
this.isOpen = false;
|
|
133
|
-
this.searchInput =
|
|
168
|
+
this.searchInput = "";
|
|
134
169
|
}
|
|
135
170
|
onCancel() {
|
|
136
171
|
this.isSearchInputFocused = false;
|
|
137
|
-
this.localData = this.localData.map(a => {
|
|
138
|
-
if (this.localSelectedItems.some(b => b.value === a.value && String(b.checked) !== String(a.checked))) {
|
|
172
|
+
this.localData = this.localData.map((a) => {
|
|
173
|
+
if (this.localSelectedItems.some((b) => b.value === a.value && String(b.checked) !== String(a.checked))) {
|
|
139
174
|
return a;
|
|
140
175
|
}
|
|
141
176
|
else {
|
|
@@ -143,12 +178,12 @@ export class MultiSelectDropdownComponent {
|
|
|
143
178
|
}
|
|
144
179
|
});
|
|
145
180
|
this.isOpen = false;
|
|
146
|
-
this.searchInput =
|
|
181
|
+
this.searchInput = "";
|
|
147
182
|
}
|
|
148
183
|
}
|
|
149
184
|
MultiSelectDropdownComponent.decorators = [
|
|
150
185
|
{ type: Component, args: [{
|
|
151
|
-
selector:
|
|
186
|
+
selector: "mis-multi-select-dropdown",
|
|
152
187
|
template: "<div class=\"container\" [ngStyle]=\"{\n 'height': height.length > 0? height: '',\n 'width': width.length > 0? width: ''\n }\"\n>\n <div class=\"dropdown\" (click)=\"toggleDropdown()\" [ngStyle]=\"{'background': isOpen ? '#E6EBF7': ''}\">\n <div class=\"label\">\n <p class=\"text\">{{ label }}</p>\n <p *ngIf=\"showSelectedCount && localSelectedItems?.length > 0\" class=\"count\">\n {{ localSelectedItems?.length }}\n </p>\n </div>\n <svg class=\"handle\" [ngStyle]=\"{ transform: isOpen ? 'rotate(180deg)': 'rotate(0deg)' }\" width=\"20\" height=\"20\"\n viewBox=\"0 0 20 20\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n <path fill-rule=\"evenodd\" clip-rule=\"evenodd\"\n d=\"M13.825 7.15845L10 10.9751L6.175 7.15845L5 8.33345L10 13.3334L15 8.33345L13.825 7.15845Z\" fill=\"#181F33\" />\n </svg>\n </div>\n <div style=\"flex-basis: 0;\"></div>\n <div style=\"width: 100%; position: relative;\">\n <div *ngIf=\"isOpen\" class=\"popup-container\"\n [ngStyle]=\"{\n 'height': dropdownListHeight,\n 'width': dropdownListWidth\n }\"\n [ngClass]=\"{\n 'position-left': dropdownListPosition === 'Left',\n 'position-right': dropdownListPosition === 'Right'\n }\"\n >\n <div *ngIf=\"searchEnabled\" class=\"search-container\">\n <svg *ngIf=\"!isSearchInputFocused\" class=\"search-icon\" width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\">\n <path fill-rule=\"evenodd\" clip-rule=\"evenodd\"\n d=\"M4.21508 11.1456C4.21508 7.3179 7.33722 4.21165 11.1926 4.21165C15.048 4.21165 18.1702 7.3179 18.1702 11.1456C18.1702 12.6931 17.6599 14.1226 16.7972 15.2767L15.3685 16.7013C14.2044 17.5668 12.759 18.0796 11.1926 18.0796C7.33722 18.0796 4.21508 14.9734 4.21508 11.1456ZM15.9421 17.7835C14.6021 18.7329 12.9627 19.2913 11.1926 19.2913C6.66977 19.2913 3 15.6461 3 11.1456C3 6.64512 6.66977 3 11.1926 3C15.7155 3 19.3852 6.64512 19.3852 11.1456C19.3852 12.9371 18.8037 14.5931 17.8184 15.9375L19.8361 17.4048C20.6705 17.912 21.7554 18.6543 20.2454 20.215C18.7353 21.7756 18.0099 20.6663 17.4991 19.8364L15.9421 17.7835Z\"\n fill=\"#6A737D\" />\n </svg>\n <input\n [ngModel]=\"searchInput\"\n [ngStyle]=\"{ paddingLeft: isSearchInputFocused ? '12px' : '45px', border:isSearchInputFocused? '1px solid #0937B2':'1px solid #e0e0e0', paddingRight: isSearchInputFocused ? '45px' : '10px' }\"\n (ngModelChange)=\"searchInputOnChange($event)\"\n [placeholder]=\"isSearchInputFocused ? '' : 'Search Keyword'\"\n (focus)=\"searchInputFocused(true)\"\n class=\"search-input\"\n />\n <svg *ngIf=\"isSearchInputFocused\" class=\"cancel-icon\" (click)=\"searchInputCanceled($event)\" width=\"24\" height=\"24\"\n viewBox=\"0 0 24 24\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n <path fill-rule=\"evenodd\" clip-rule=\"evenodd\"\n d=\"M8.87446 7.32144C8.44588 6.89285 7.751 6.89285 7.32242 7.32144C6.89383 7.75002 6.89383 8.4449 7.32242 8.87349L10.4488 11.9999L7.32357 15.1252C6.89498 15.5538 6.89498 16.2486 7.32357 16.6772C7.75215 17.1058 8.44703 17.1058 8.87561 16.6772L12.0009 13.552L15.1261 16.6772C15.5547 17.1058 16.2496 17.1058 16.6781 16.6772C17.1067 16.2486 17.1067 15.5537 16.6781 15.1251L13.5529 11.9999L16.6793 8.87354C17.1079 8.44496 17.1079 7.75008 16.6793 7.3215C16.2507 6.89291 15.5558 6.89291 15.1273 7.3215L12.0009 10.4479L8.87446 7.32144Z\"\n fill=\"#6A737D\" />\n </svg>\n </div>\n <div class=\"items\">\n <div class=\"item\" (click)=\"toggleSelectedItems($event, item)\" *ngFor=\"let item of searchInput ? searchData : localData\">\n <div class=\"checkbox-container-wrapper\">\n <div class=\"checkbox-container\">\n <mis-checkbox\n [checked]=\"item.checked\"\n ></mis-checkbox>\n </div>\n <p class=\"label\">\n {{ item.label }}\n </p>\n </div>\n <div class=\"icon-container\" *ngIf=\"item.icon\">\n <img class=\"icon\" [src]=\"item.icon\" alt=\"no img\">\n </div>\n </div>\n <div class=\"noData\" *ngIf=\"(searchInput ? searchData : localData).length === 0\">\n {{ searchInput === '' ? noDataMessage : 'No results' }}\n </div>\n </div>\n <div *ngIf=\"localData.length !== 0 && !hideApplyButton\" class=\"actions-container\">\n <div style=\"width: calc(50% - 4px)\">\n <mis-button\n [name]=\"'Reset'\"\n [type]=\"'Text'\"\n [width]=\"'100%'\"\n (click)=\"onReset()\"\n ></mis-button>\n </div>\n <div style=\"width: calc(50% - 4px)\">\n <mis-button\n [name]=\"'Apply'\"\n [type]=\"'Solid'\"\n [width]=\"'100%'\"\n (click)=\"applyFilters()\"\n ></mis-button>\n </div>\n </div>\n </div>\n </div>\n\n</div>\n",
|
|
153
188
|
styles: [".container{position:relative;display:flex;justify-content:center;align-items:center;flex-wrap:wrap;height:32px;width:256px;font-family:Lato,sans-serif!important}.container .dropdown{height:inherit;border:1px solid #e0e0e0;border-radius:6px;background-color:#fff;cursor:pointer;display:flex;justify-content:space-between;align-items:center;width:100%;padding:0 12px;overflow:hidden}.container .dropdown:hover{background-color:#f5f7fc}.container .dropdown .label{display:flex;justify-content:flex-start;align-items:center;width:calc(100% - 32px)}.container .dropdown .label,.container .dropdown .label .text{font-style:normal;font-weight:400;font-size:14px;line-height:20px;letter-spacing:.2px;color:#181f33}.container .dropdown .label .text{text-overflow:ellipsis;overflow:hidden;white-space:nowrap}.container .dropdown .label .count{background-color:#e0e0e0;border-radius:50%;padding:2px 7px;margin:0 0 0 8px;font-style:normal;font-weight:400;font-size:14px;line-height:20px;text-align:center;letter-spacing:.2px;color:#181f33}.container .dropdown .handle{width:24px;height:24px;transition:.3s;position:absolute;right:12px;border-radius:50%;overflow:hidden}.container .popup-container{position:absolute;top:4px;width:100%;max-height:340px;padding-bottom:0;border:1px solid #e0e0e0;border-radius:8px;background-color:#fff;box-shadow:0 12px 24px 0 rgba(0,0,0,.12);overflow:scroll;overflow-x:hidden;display:flex;flex-direction:column;justify-content:space-between;z-index:100}.container .popup-container::-webkit-scrollbar{width:0;height:0}.container .popup-container .search-container{position:relative;box-sizing:border-box;padding:8px}.container .popup-container .search-container .search-icon{position:absolute;width:24px;height:24px;top:50%;transform:translateY(-50%);left:18px;z-index:1}.container .popup-container .search-container .search-input{height:40px;width:100%;padding:12px;border:1px solid #e0e0e0;box-sizing:border-box;border-radius:8px;outline:none;caret-color:#0937b2;font-style:normal;font-weight:400;font-size:12px;line-height:18px;display:flex;align-items:center;letter-spacing:.2px;color:#181f33}.container .popup-container .search-container .cancel-icon{position:absolute;cursor:pointer;width:24px;height:24px;top:50%;transform:translateY(-50%);right:18px;z-index:1}.container .popup-container .items{padding:8px 0 8px 8px;overflow-y:scroll;height:100%}.container .popup-container .items::-webkit-scrollbar{width:5px;height:0}.container .popup-container .items::-webkit-scrollbar-thumb{background:#9aa7b4;border-radius:10px}.container .popup-container .items .noData{display:flex;justify-content:center;align-items:center;font-style:normal;font-weight:400;font-size:14px;line-height:20px;letter-spacing:.2px;color:#181f33}.container .popup-container .items .item{cursor:pointer;display:flex;justify-content:flex-start;align-items:center;padding:8px 12px;border-radius:6px;height:auto}.container .popup-container .items .item:hover{background-color:#f5f7fc}.container .popup-container .items .item .checkbox-container-wrapper{display:flex;justify-content:flex-start;align-items:center;width:90%}.container .popup-container .items .item .checkbox-container-wrapper .checkbox-container{display:block;position:relative;cursor:pointer;font-size:22px;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.container .popup-container .items .item .checkbox-container-wrapper .checkbox-container input{position:absolute;opacity:0;cursor:pointer;height:0;width:0}.container .popup-container .items .item .checkbox-container-wrapper .checkbox-container input:checked~.checkmark:after{display:block}.container .popup-container .items .item .checkbox-container-wrapper .checkbox-container .checkmark{position:absolute;top:-8px;left:0;height:15px;width:15px;border-radius:4px;background-color:#0079f1;border:1px solid #6a737d}.container .popup-container .items .item .checkbox-container-wrapper .checkbox-container .checkmark:after{content:\"\";position:absolute;display:none;left:5px;top:2px;width:3px;height:6px;border:solid #fff;border-width:0 2px 2px 0;transform:rotate(45deg)}.container .popup-container .items .item .checkbox-container-wrapper .label{margin:0 0 0 8px;line-height:20px;font-size:14px;font-style:normal;font-weight:400;letter-spacing:.200000003px}.container .popup-container .items .item .icon-container{width:10%;display:flex;justify-content:flex-end}.container .popup-container .items .item .icon-container .icon{width:20px;height:20px}.container .popup-container .actions-container{display:flex;justify-content:space-between;bottom:0;align-items:center;position:-webkit-sticky;position:sticky;padding:16px;background-color:#fff;border-top:1px solid #e0e0e0}.container .popup-container .actions-container .cancel{cursor:pointer;padding:10px 32px;text-align:center;font-size:16px;line-height:24px;border-radius:8px}.container .popup-container .actions-container .cancel:hover{background:rgba(9,55,178,.04)}.container .popup-container .actions-container .apply{cursor:pointer;padding:10px 32px;text-align:center;color:#fff;font-size:16px;line-height:24px;background:#0937b2;border-radius:8px}.position-left{right:0}.position-right{left:0}"]
|
|
154
189
|
},] }
|
|
@@ -164,12 +199,14 @@ MultiSelectDropdownComponent.propDecorators = {
|
|
|
164
199
|
dropdownListHeight: [{ type: Input }],
|
|
165
200
|
dropdownListWidth: [{ type: Input }],
|
|
166
201
|
dropdownListPosition: [{ type: Input }],
|
|
202
|
+
enableSelectAll: [{ type: Input }],
|
|
167
203
|
searchEnabled: [{ type: Input }],
|
|
168
204
|
showSelectedCount: [{ type: Input }],
|
|
169
205
|
noDataMessage: [{ type: Input }],
|
|
206
|
+
options: [{ type: Input }],
|
|
170
207
|
selectedItems: [{ type: Input }],
|
|
171
208
|
hideApplyButton: [{ type: Input }],
|
|
172
209
|
onChange: [{ type: Output }],
|
|
173
|
-
clickout: [{ type: HostListener, args: [
|
|
210
|
+
clickout: [{ type: HostListener, args: ["document:click", ["$event"],] }]
|
|
174
211
|
};
|
|
175
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibXVsdGktc2VsZWN0LWRyb3Bkb3duLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL21pcy1jb21wb25lbnRzL211bHRpLXNlbGVjdC1kcm9wZG93bi9tdWx0aS1zZWxlY3QtZHJvcGRvd24uY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQ0gsU0FBUyxFQUNULFVBQVUsRUFDVixZQUFZLEVBQ1osWUFBWSxFQUNaLEtBQUssRUFFTCxNQUFNLEVBQ1QsTUFBTSxlQUFlLENBQUM7QUFPdkIsTUFBTSxPQUFPLDRCQUE0QjtJQXNDckMsWUFBb0IsSUFBZ0I7UUFBaEIsU0FBSSxHQUFKLElBQUksQ0FBWTtRQXBDcEMsZ0JBQVcsR0FBVyxFQUFFLENBQUM7UUFDekIsV0FBTSxHQUFHLEtBQUssQ0FBQztRQUNmLHVCQUFrQixHQUE4QixFQUFFLENBQUM7UUFDbkQsY0FBUyxHQUE4QixFQUFFLENBQUM7UUFDMUMsZUFBVSxHQUE4QixFQUFFLENBQUM7UUFPbEMsVUFBSyxHQUFXLFFBQVEsQ0FBQztRQUN6QixXQUFNLEdBQVcsRUFBRSxDQUFBO1FBQ25CLFVBQUssR0FBVyxFQUFFLENBQUE7UUFFbEIsdUJBQWtCLEdBQVcsRUFBRSxDQUFBO1FBQy9CLHNCQUFpQixHQUFXLEVBQUUsQ0FBQTtRQUM5Qix5QkFBb0IsR0FBcUIsTUFBTSxDQUFBO1FBRS9DLGtCQUFhLEdBQVksSUFBSSxDQUFDO1FBQzlCLHNCQUFpQixHQUFZLEtBQUssQ0FBQztRQUNuQyxrQkFBYSxHQUFXLFNBQVMsQ0FBQztRQUlsQyxvQkFBZSxHQUFZLEtBQUssQ0FBQztRQUVoQyxhQUFRLEdBQXNCLElBQUksWUFBWSxFQUFFLENBQUM7UUFzQjNELHlCQUFvQixHQUFZLEtBQUssQ0FBQztJQWJDLENBQUM7SUE5QnhDLElBQWEsSUFBSSxDQUFDLE1BQWlDO1FBQy9DLElBQUksQ0FBQyxTQUFTLEdBQUcs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LElBQUksQ0FBQyxvQkFBb0IsR0FBRyxLQUFLLENBQUM7UUFDbEMsSUFBSSxDQUFDLFNBQVMsR0FBRyxJQUFJLENBQUMsU0FBUyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRTtZQUNwQyxJQUNJLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxJQUFJLENBQ3hCLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLEtBQUssS0FBSyxDQUFDLENBQUMsS0FBSyxJQUFJLE1BQU0sQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLEtBQUssTUFBTSxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FDdEUsRUFDSDtnQkFDRSxPQUFPLENBQUMsQ0FBQzthQUNaO2lCQUFNO2dCQUNILHVDQUNPLENBQUMsS0FDSixPQUFPLEVBQUUsS0FBSyxJQUNoQjthQUNMO1FBQ0wsQ0FBQyxDQUFDLENBQUM7UUFDSCxJQUFJLENBQUMsTUFBTSxHQUFHLEtBQUssQ0FBQztRQUNwQixJQUFJLENBQUMsV0FBVyxHQUFHLEVBQUUsQ0FBQztJQUMxQixDQUFDOzs7WUE3S0osU0FBUyxTQUFDO2dCQUNQLFFBQVEsRUFBRSwyQkFBMkI7Z0JBQ3JDLGcxTEFBcUQ7O2FBRXhEOzs7WUFaRyxVQUFVOzs7bUJBcUJULEtBQUs7b0JBS0wsS0FBSztxQkFDTCxLQUFLO29CQUNMLEtBQUs7aUNBRUwsS0FBSztnQ0FDTCxLQUFLO21DQUNMLEtBQUs7NEJBRUwsS0FBSztnQ0FDTCxLQUFLOzRCQUNMLEtBQUs7NEJBQ0wsS0FBSzs4QkFHTCxLQUFLO3VCQUVMLE1BQU07dUJBRU4sWUFBWSxTQUFDLGdCQUFnQixFQUFFLENBQUMsUUFBUSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgICBDb21wb25lbnQsXG4gICAgRWxlbWVudFJlZixcbiAgICBFdmVudEVtaXR0ZXIsXG4gICAgSG9zdExpc3RlbmVyLFxuICAgIElucHV0LFxuICAgIE9uSW5pdCxcbiAgICBPdXRwdXRcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiAnbWlzLW11bHRpLXNlbGVjdC1kcm9wZG93bicsXG4gICAgdGVtcGxhdGVVcmw6ICcuL211bHRpLXNlbGVjdC1kcm9wZG93bi5jb21wb25lbnQuaHRtbCcsXG4gICAgc3R5bGVVcmxzOiBbJy4vbXVsdGktc2VsZWN0LWRyb3Bkb3duLmNvbXBvbmVudC5zY3NzJ11cbn0pXG5leHBvcnQgY2xhc3MgTXVsdGlTZWxlY3REcm9wZG93bkNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XG5cbiAgICBzZWFyY2hJbnB1dDogc3RyaW5nID0gJyc7XG4gICAgaXNPcGVuID0gZmFsc2U7XG4gICAgbG9jYWxTZWxlY3RlZEl0ZW1zOiBNdWx0aVNlbGVjdERyb3Bkb3duSXRlbVtdID0gW107XG4gICAgbG9jYWxEYXRhOiBNdWx0aVNlbGVjdERyb3Bkb3duSXRlbVtdID0gW107XG4gICAgc2VhcmNoRGF0YTogTXVsdGlTZWxlY3REcm9wZG93bkl0ZW1bXSA9IFtdO1xuXG4gICAgQElucHV0KCkgc2V0IGRhdGEodmFsdWVzOiBNdWx0aVNlbGVjdERyb3Bkb3duSXRlbVtdKSB7XG4gICAgICAgIHRoaXMubG9jYWxEYXRhID0gdmFsdWVzLm1hcChpdGVtID0+IHtcbiAgICAgICAgICAgIHJldHVybiB7Li4uaXRlbSwgY2hlY2tlZDogZmFsc2V9O1xuICAgICAgICB9KTtcbiAgICB9XG4gICAgQElucHV0KCkgbGFiZWw6IHN0cmluZyA9ICdTZWxlY3QnO1xuICAgIEBJbnB1dCgpIGhlaWdodDogc3RyaW5nID0gJydcbiAgICBASW5wdXQoKSB3aWR0aDogc3RyaW5nID0gJydcblxuICAgIEBJbnB1dCgpIGRyb3Bkb3duTGlzdEhlaWdodDogc3RyaW5nID0gJydcbiAgICBASW5wdXQoKSBkcm9wZG93bkxpc3RXaWR0aDogc3RyaW5nID0gJydcbiAgICBASW5wdXQoKSBkcm9wZG93bkxpc3RQb3NpdGlvbjogJ0xlZnQnIHwgJ1JpZ2h0JyA9ICdMZWZ0J1xuXG4gICAgQElucHV0KCkgc2VhcmNoRW5hYmxlZDogYm9vbGVhbiA9IHRydWU7XG4gICAgQElucHV0KCkgc2hvd1NlbGVjdGVkQ291bnQ6IGJvb2xlYW4gPSBmYWxzZTtcbiAgICBASW5wdXQoKSBub0RhdGFNZXNzYWdlOiBzdHJpbmcgPSAnTm8gRGF0YSc7XG4gICAgQElucHV0KCkgc2V0IHNlbGVjdGVkSXRlbXModmFsdWVzOiBNdWx0aVNlbGVjdERyb3Bkb3duSXRlbVtdKSB7XG4gICAgICAgIHRoaXMuaGFuZGxlclNldExvY2FsU2VsZWN0ZWRJdGVtcyh2YWx1ZXMpO1xuICAgIH1cbiAgICBASW5wdXQoKSBoaWRlQXBwbHlCdXR0b246IGJvb2xlYW4gPSBmYWxzZTtcblxuICAgIEBPdXRwdXQoKSBvbkNoYW5nZTogRXZlbnRFbWl0dGVyPGFueT4gPSBuZXcgRXZlbnRFbWl0dGVyKCk7XG5cbiAgICBASG9zdExpc3RlbmVyKCdkb2N1bWVudDpjbGljaycsIFsnJGV2ZW50J10pXG4gICAgY2xpY2tvdXQoZXZlbnQpIHtcbiAgICAgICAgY29uc3QgaXNDbGlja2VkT3V0c2lkZSA9ICF0aGlzLmVSZWYubmF0aXZlRWxlbWVudC5jb250YWlucyhldmVudC50YXJnZXQpO1xuICAgICAgICBpZiAoaXNDbGlja2VkT3V0c2lkZSkge1xuICAgICAgICAgICAgdGhpcy5vbkNhbmNlbCgpO1xuICAgICAgICB9XG4gICAgfVxuICAgIGNvbnN0cnVjdG9yKHByaXZhdGUgZVJlZjogRWxlbWVudFJlZikge31cbiAgICBuZ09uSW5pdCgpIHt9XG5cbiAgICBoYW5kbGVyU2V0TG9jYWxTZWxlY3RlZEl0ZW1zKHZhbHVlcykge1xuICAgICAgICB0aGlzLmxvY2FsU2VsZWN0ZWRJdGVtcyA9IHZhbHVlcztcbiAgICAgICAgdGhpcy5sb2NhbERhdGEgPSB0aGlzLmxvY2FsRGF0YS5tYXAoaXRlbSA9PiB7XG4gICAgICAgICAgICBpZiAodmFsdWVzLnNvbWUoYmFzZSA9PiBiYXNlLnZhbHVlID09PSBpdGVtLnZhbHVlKSkge1xuICAgICAgICAgICAgICAgIHJldHVybiB7IC4uLml0ZW0sIGNoZWNrZWQ6IHRydWUgfTtcbiAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIHsgLi4uaXRlbSwgY2hlY2tlZDogZmFsc2UgfTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSk7XG4gICAgfVxuICAgIGlzU2VhcmNoSW5wdXRGb2N1c2VkOiBib29sZWFuID0gZmFsc2U7XG4gICAgc2VhcmNoSW5wdXRGb2N1c2VkKGlzRm9jdXNlZDogYm9vbGVhbikge1xuICAgICAgICB0aGlzLmlzU2VhcmNoSW5wdXRGb2N1c2VkID0gaXNGb2N1c2VkO1xuICAgIH1cbiAgICBzZWFyY2hJbnB1dENhbmNlbGVkKGV2ZW50KSB7XG4gICAgICAgIGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpO1xuICAgICAgICB0aGlzLnNlYXJjaElucHV0ID0gJyc7XG4gICAgICAgIHRoaXMuaXNTZWFyY2hJbnB1dEZvY3VzZWQgPSBmYWxzZTtcbiAgICB9XG4gICAgdG9nZ2xlRHJvcGRvd24oKSB7XG4gICAgICAgIHRoaXMuaXNPcGVuID0gIXRoaXMuaXNPcGVuO1xuICAgICAgICBpZiAodGhpcy5pc09wZW4pIHtcbiAgICAgICAgICAgIHRoaXMuaGFuZGxlclNldExvY2FsU2VsZWN0ZWRJdGVtcyh0aGlzLmxvY2FsU2VsZWN0ZWRJdGVtcyk7XG4gICAgICAgICAgICB0aGlzLmxvY2FsRGF0YSA9IHRoaXMuZm9ybWF0VmFsdWVzKHRoaXMubG9jYWxEYXRhKTtcbiAgICAgICAgfVxuICAgIH1cbiAgICBmaWx0ZXJCeVZhbHVlKGFycmF5OiBNdWx0aVNlbGVjdERyb3Bkb3duSXRlbVtdLCBzdHJpbmc6IHN0cmluZykge1xuICAgICAgICByZXR1cm4gYXJyYXkuZmlsdGVyKG8gPT5cbiAgICAgICAgICAgIG8ubGFiZWwudG9Mb3dlckNhc2UoKS5pbmNsdWRlcyhzdHJpbmcudG9Mb3dlckNhc2UoKSlcbiAgICAgICAgKTtcbiAgICB9XG4gICAgc2VhcmNoSW5wdXRPbkNoYW5nZShuZXdWYWx1ZSkge1xuICAgICAgICB0aGlzLnNlYXJjaElucHV0ID0gbmV3VmFsdWU7XG4gICAgICAgIGlmIChuZXdWYWx1ZSkge1xuICAgICAgICAgICAgdGhpcy5zZWFyY2hEYXRhID0gdGhpcy5maWx0ZXJCeVZhbHVlKHRoaXMubG9jYWxEYXRhLCBuZXdWYWx1ZSk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICB0aGlzLnNlYXJjaERhdGEgPSBbXTtcbiAgICAgICAgICAgIHRoaXMuc2VhcmNoSW5wdXQgPSAnJztcbiAgICAgICAgfVxuICAgIH1cbiAgICBmb3JtYXRWYWx1ZXMoYXJyYXk6IE11bHRpU2VsZWN0RHJvcGRvd25JdGVtW10pIHtcbiAgICAgICAgY29uc3QgY2hlY2tlZFZhbHVlcyA9IGFycmF5XG4gICAgICAgICAgICAuZmlsdGVyKGEgPT4gYS5jaGVja2VkKVxuICAgICAgICAgICAgLnNvcnQoKGE6IE11bHRpU2VsZWN0RHJvcGRvd25JdGVtLCBiOiBNdWx0aVNlbGVjdERyb3Bkb3duSXRlbSkgPT5cbiAgICAgICAgICAgICAgICBhLmxhYmVsID4gYi5sYWJlbCA/IDEgOiBiLmxhYmVsID4gYS5sYWJlbCA/IC0xIDogMFxuICAgICAgICAgICAgKTtcbiAgICAgICAgY29uc3QgdW5DaGVja2VkVmFsdWVzID0gYXJyYXlcbiAgICAgICAgICAgIC5maWx0ZXIoYSA9PiAhYS5jaGVja2VkKVxuICAgICAgICAgICAgLnNvcnQoKGE6IE11bHRpU2VsZWN0RHJvcGRvd25JdGVtLCBiOiBNdWx0aVNlbGVjdERyb3Bkb3duSXRlbSkgPT5cbiAgICAgICAgICAgICAgICBhLmxhYmVsID4gYi5sYWJlbCA/IDEgOiBiLmxhYmVsID4gYS5sYWJlbCA/IC0xIDogMFxuICAgICAgICAgICAgKTtcbiAgICAgICAgcmV0dXJuIFsuLi5jaGVja2VkVmFsdWVzLCAuLi51bkNoZWNrZWRWYWx1ZXNdO1xuICAgIH1cbiAgICB0b2dnbGVTZWxlY3RlZEl0ZW1zKGV2ZW50LCBpdGVtOiBNdWx0aVNlbGVjdERyb3Bkb3duSXRlbSkge1xuICAgICAgICBldmVudC5zdG9wUHJvcGFnYXRpb24oKTtcbiAgICAgICAgaWYgKGl0ZW0uY2hlY2tlZCkge1xuICAgICAgICAgICAgdGhpcy5sb2NhbERhdGEgPSBbXG4gICAgICAgICAgICAgICAgLi4udGhpcy5sb2NhbERhdGEubWFwKGEgPT4ge1xuICAgICAgICAgICAgICAgICAgICBpZiAoYS52YWx1ZSA9PT0gaXRlbS52YWx1ZSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAuLi5hLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNoZWNrZWQ6IGZhbHNlXG4gICAgICAgICAgICAgICAgICAgICAgICB9O1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIHJldHVybiBhO1xuICAgICAgICAgICAgICAgIH0pXG4gICAgICAgICAgICBdO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgdGhpcy5sb2NhbERhdGEgPSBbXG4gICAgICAgICAgICAgICAgLi4udGhpcy5sb2NhbERhdGEubWFwKGEgPT4ge1xuICAgICAgICAgICAgICAgICAgICBpZiAoYS52YWx1ZSA9PT0gaXRlbS52YWx1ZSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAuLi5hLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNoZWNrZWQ6IHRydWVcbiAgICAgICAgICAgICAgICAgICAgICAgIH07XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGE7XG4gICAgICAgICAgICAgICAgfSlcbiAgICAgICAgICAgIF07XG4gICAgICAgIH1cbiAgICAgICAgaWYgKHRoaXMuc2VhcmNoRW5hYmxlZCkge1xuICAgICAgICAgICAgdGhpcy5zZWFyY2hJbnB1dE9uQ2hhbmdlKHRoaXMuc2VhcmNoSW5wdXQpO1xuICAgICAgICB9XG4gICAgICAgIGlmICh0aGlzLmhpZGVBcHBseUJ1dHRvbikge1xuICAgICAgICAgICAgdGhpcy5hcHBseUZpbHRlcnMoKTtcbiAgICAgICAgfVxuICAgIH1cbiAgICBhcHBseUZpbHRlcnMoKSB7XG4gICAgICAgIHRoaXMub25DaGFuZ2UuZW1pdChcbiAgICAgICAgICAgIHRoaXMubG9jYWxEYXRhXG4gICAgICAgICAgICAgICAgLmZpbHRlcihhID0+IHtcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGEuY2hlY2tlZDtcbiAgICAgICAgICAgICAgICB9KVxuICAgICAgICAgICAgICAgIC5tYXAoaXRlbSA9PiB7XG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IHsgY2hlY2tlZCwgLi4uZGF0YSB9ID0gaXRlbTtcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGRhdGE7XG4gICAgICAgICAgICAgICAgfSlcbiAgICAgICAgKTtcbiAgICAgICAgXG4gICAgICAgIGlmICghdGhpcy5oaWRlQXBwbHlCdXR0b24pIHtcbiAgICAgICAgICAgIHRoaXMub25DYW5jZWwoKTtcbiAgICAgICAgfVxuICAgIH1cbiAgICBvblJlc2V0KCl7XG4gICAgICAgIHRoaXMuaXNTZWFyY2hJbnB1dEZvY3VzZWQgPSBmYWxzZTtcbiAgICAgICAgdGhpcy5vbkNoYW5nZS5lbWl0KFtdKVxuICAgICAgICB0aGlzLmlzT3BlbiA9IGZhbHNlO1xuICAgICAgICB0aGlzLnNlYXJjaElucHV0ID0gJyc7XG4gICAgfVxuICAgIG9uQ2FuY2VsKCkge1xuICAgICAgICB0aGlzLmlzU2VhcmNoSW5wdXRGb2N1c2VkID0gZmFsc2U7XG4gICAgICAgIHRoaXMubG9jYWxEYXRhID0gdGhpcy5sb2NhbERhdGEubWFwKGEgPT4ge1xuICAgICAgICAgICAgaWYgKFxuICAgICAgICAgICAgICAgIHRoaXMubG9jYWxTZWxlY3RlZEl0ZW1zLnNvbWUoXG4gICAgICAgICAgICAgICAgICAgIGIgPT4gYi52YWx1ZSA9PT0gYS52YWx1ZSAmJiBTdHJpbmcoYi5jaGVja2VkKSAhPT0gU3RyaW5nKGEuY2hlY2tlZClcbiAgICAgICAgICAgICAgICApXG4gICAgICAgICAgICApIHtcbiAgICAgICAgICAgICAgICByZXR1cm4gYTtcbiAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgICAgICAgICAgLi4uYSxcbiAgICAgICAgICAgICAgICAgICAgY2hlY2tlZDogZmFsc2VcbiAgICAgICAgICAgICAgICB9O1xuICAgICAgICAgICAgfVxuICAgICAgICB9KTtcbiAgICAgICAgdGhpcy5pc09wZW4gPSBmYWxzZTtcbiAgICAgICAgdGhpcy5zZWFyY2hJbnB1dCA9ICcnO1xuICAgIH1cbn1cbmV4cG9ydCBpbnRlcmZhY2UgTXVsdGlTZWxlY3REcm9wZG93bkl0ZW0ge1xuICAgIGxhYmVsOiBzdHJpbmc7XG4gICAgdmFsdWU6IHN0cmluZztcbiAgICBjaGVja2VkPzogYm9vbGVhbjtcbiAgICBpY29uPzogc3RyaW5nO1xufVxuIl19
|
|
212
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibXVsdGktc2VsZWN0LWRyb3Bkb3duLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL21pcy1jb21wb25lbnRzL211bHRpLXNlbGVjdC1kcm9wZG93bi9tdWx0aS1zZWxlY3QtZHJvcGRvd24uY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQ0wsU0FBUyxFQUNULFVBQVUsRUFDVixZQUFZLEVBQ1osWUFBWSxFQUNaLEtBQUssRUFFTCxNQUFNLEdBQ1AsTUFBTSxlQUFlLENBQUM7QUFPdkIsTUFBTSxPQUFPLDRCQUE0QjtJQXVDdkMsWUFBb0IsSUFBZ0I7UUFBaEIsU0FBSSxHQUFKLElBQUksQ0FBWTtRQXRDcEMsZ0JBQVcsR0FBVyxFQUFFLENBQUM7UUFDekIsV0FBTSxHQUFHLEtBQUssQ0FBQztRQUNmLHVCQUFrQixHQUE4QixFQUFFLENBQUM7UUFDbkQsY0FBUyxHQUE4QixFQUFFLENBQUM7UUFDMUMsZUFBVSxHQUE4QixFQUFFLENBQUM7UUFDM0Msb0JBQWUsR0FBRyxvQkFBb0IsQ0FBQztRQU05QixVQUFLLEdBQVcsUUFBUSxDQUFDO1FBQ3pCLFdBQU0sR0FBVyxFQUFFLENBQUM7UUFDcEIsVUFBSyxHQUFXLEVBQUUsQ0FBQztRQUNuQix1QkFBa0IsR0FBVyxFQUFFLENBQUM7UUFDaEMsc0JBQWlCLEdBQVcsRUFBRSxDQUFDO1FBQy9CLHlCQUFvQixHQUFxQixNQUFNLENBQUM7UUFDaEQsb0JBQWUsR0FBWSxLQUFLLENBQUM7UUFDakMsa0JBQWEsR0FBWSxJQUFJLENBQUM7UUFDOUIsc0JBQWlCLEdBQVksS0FBSyxDQUFDO1FBQ25DLGtCQUFhLEdBQVcsU0FBUyxDQUFDO1FBQ2xDLFlBQU8sR0FBWTtZQUMxQixVQUFVLEVBQUUsSUFBSTtTQUNqQixDQUFDO1FBSU8sb0JBQWUsR0FBWSxLQUFLLENBQUM7UUFFaEMsYUFBUSxHQUFzQixJQUFJLFlBQVks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UUFDSCxDQUFDLENBQUMsQ0FBQztRQUNILElBQUksQ0FBQyxNQUFNLEdBQUcsS0FBSyxDQUFDO1FBQ3BCLElBQUksQ0FBQyxXQUFXLEdBQUcsRUFBRSxDQUFDO0lBQ3hCLENBQUM7OztZQXhORixTQUFTLFNBQUM7Z0JBQ1QsUUFBUSxFQUFFLDJCQUEyQjtnQkFDckMsZzFMQUFxRDs7YUFFdEQ7OztZQVpDLFVBQVU7OzttQkFvQlQsS0FBSztvQkFLTCxLQUFLO3FCQUNMLEtBQUs7b0JBQ0wsS0FBSztpQ0FDTCxLQUFLO2dDQUNMLEtBQUs7bUNBQ0wsS0FBSzs4QkFDTCxLQUFLOzRCQUNMLEtBQUs7Z0NBQ0wsS0FBSzs0QkFDTCxLQUFLO3NCQUNMLEtBQUs7NEJBR0wsS0FBSzs4QkFHTCxLQUFLO3VCQUVMLE1BQU07dUJBRU4sWUFBWSxTQUFDLGdCQUFnQixFQUFFLENBQUMsUUFBUSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQ29tcG9uZW50LFxuICBFbGVtZW50UmVmLFxuICBFdmVudEVtaXR0ZXIsXG4gIEhvc3RMaXN0ZW5lcixcbiAgSW5wdXQsXG4gIE9uSW5pdCxcbiAgT3V0cHV0LFxufSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6IFwibWlzLW11bHRpLXNlbGVjdC1kcm9wZG93blwiLFxuICB0ZW1wbGF0ZVVybDogXCIuL211bHRpLXNlbGVjdC1kcm9wZG93bi5jb21wb25lbnQuaHRtbFwiLFxuICBzdHlsZVVybHM6IFtcIi4vbXVsdGktc2VsZWN0LWRyb3Bkb3duLmNvbXBvbmVudC5zY3NzXCJdLFxufSlcbmV4cG9ydCBjbGFzcyBNdWx0aVNlbGVjdERyb3Bkb3duQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcbiAgc2VhcmNoSW5wdXQ6IHN0cmluZyA9IFwiXCI7XG4gIGlzT3BlbiA9IGZhbHNlO1xuICBsb2NhbFNlbGVjdGVkSXRlbXM6IE11bHRpU2VsZWN0RHJvcGRvd25JdGVtW10gPSBbXTtcbiAgbG9jYWxEYXRhOiBNdWx0aVNlbGVjdERyb3Bkb3duSXRlbVtdID0gW107XG4gIHNlYXJjaERhdGE6IE11bHRpU2VsZWN0RHJvcGRvd25JdGVtW10gPSBbXTtcbiAgU0VMRUNUX0FMTF9FTlVNID0gXCJTRUxFQ1RfQUxMX0VOQUJMRURcIjtcbiAgQElucHV0KCkgc2V0IGRhdGEodmFsdWVzOiBNdWx0aVNlbGVjdERyb3Bkb3duSXRlbVtdKSB7XG4gICAgdGhpcy5sb2NhbERhdGEgPSB2YWx1ZXMubWFwKChpdGVtKSA9PiB7XG4gICAgICByZXR1cm4geyAuLi5pdGVtLCBjaGVja2VkOiBmYWxzZSB9O1xuICAgIH0pO1xuICB9XG4gIEBJbnB1dCgpIGxhYmVsOiBzdHJpbmcgPSBcIlNlbGVjdFwiO1xuICBASW5wdXQoKSBoZWlnaHQ6IHN0cmluZyA9IFwiXCI7XG4gIEBJbnB1dCgpIHdpZHRoOiBzdHJpbmcgPSBcIlwiO1xuICBASW5wdXQoKSBkcm9wZG93bkxpc3RIZWlnaHQ6IHN0cmluZyA9IFwiXCI7XG4gIEBJbnB1dCgpIGRyb3Bkb3duTGlzdFdpZHRoOiBzdHJpbmcgPSBcIlwiO1xuICBASW5wdXQoKSBkcm9wZG93bkxpc3RQb3NpdGlvbjogXCJMZWZ0XCIgfCBcIlJpZ2h0XCIgPSBcIkxlZnRcIjtcbiAgQElucHV0KCkgZW5hYmxlU2VsZWN0QWxsOiBib29sZWFuID0gZmFsc2U7XG4gIEBJbnB1dCgpIHNlYXJjaEVuYWJsZWQ6IGJvb2xlYW4gPSB0cnVlO1xuICBASW5wdXQoKSBzaG93U2VsZWN0ZWRDb3VudDogYm9vbGVhbiA9IGZhbHNlO1xuICBASW5wdXQoKSBub0RhdGFNZXNzYWdlOiBzdHJpbmcgPSBcIk5vIERhdGFcIjtcbiAgQElucHV0KCkgb3B0aW9uczogT1BUSU9OUyA9IHtcbiAgICBzb3J0TGFiZWxzOiB0cnVlLFxuICB9O1xuICBASW5wdXQoKSBzZXQgc2VsZWN0ZWRJdGVtcyh2YWx1ZXM6IE11bHRpU2VsZWN0RHJvcGRvd25JdGVtW10pIHtcbiAgICB0aGlzLmhhbmRsZXJTZXRMb2NhbFNlbGVjdGVkSXRlbXModmFsdWVzKTtcbiAgfVxuICBASW5wdXQoKSBoaWRlQXBwbHlCdXR0b246IGJvb2xlYW4gPSBmYWxzZTtcblxuICBAT3V0cHV0KCkgb25DaGFuZ2U6IEV2ZW50RW1pdHRlcjxhbnk+ID0gbmV3IEV2ZW50RW1pdHRlcigpO1xuXG4gIEBIb3N0TGlzdGVuZXIoXCJkb2N1bWVudDpjbGlja1wiLCBbXCIkZXZlbnRcIl0pXG4gIGNsaWNrb3V0KGV2ZW50KSB7XG4gICAgY29uc3QgaXNDbGlja2VkT3V0c2lkZSA9ICF0aGlzLmVSZWYubmF0aXZlRWxlbWVudC5jb250YWlucyhldmVudC50YXJnZXQpO1xuICAgIGlmIChpc0NsaWNrZWRPdXRzaWRlKSB7XG4gICAgICB0aGlzLm9uQ2FuY2VsKCk7XG4gICAgfVxuICB9XG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgZVJlZjogRWxlbWVudFJlZikge31cbiAgbmdPbkluaXQoKSB7fVxuXG4gIGhhbmRsZXJTZXRMb2NhbFNlbGVjdGVkSXRlbXModmFsdWVzKSB7XG4gICAgdGhpcy5sb2NhbFNlbGVjdGVkSXRlbXMgPSB2YWx1ZXM7XG4gICAgdGhpcy5sb2NhbERhdGEgPSB0aGlzLmxvY2FsRGF0YS5tYXAoKGl0ZW0pID0+IHtcbiAgICAgIGlmICh2YWx1ZXMuc29tZSgoYmFzZSkgPT4gYmFzZS52YWx1ZSA9PT0gaXRlbS52YWx1ZSkpIHtcbiAgICAgICAgcmV0dXJuIHsgLi4uaXRlbSwgY2hlY2tlZDogdHJ1ZSB9O1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgcmV0dXJuIHsgLi4uaXRlbSwgY2hlY2tlZDogZmFsc2UgfTtcbiAgICAgIH1cbiAgICB9KTtcbiAgfVxuICBpc1NlYXJjaElucHV0Rm9jdXNlZDogYm9vbGVhbiA9IGZhbHNlO1xuICBzZWFyY2hJbnB1dEZvY3VzZWQoaXNGb2N1c2VkOiBib29sZWFuKSB7XG4gICAgdGhpcy5pc1NlYXJjaElucHV0Rm9jdXNlZCA9IGlzRm9jdXNlZDtcbiAgfVxuICBzZWFyY2hJbnB1dENhbmNlbGVkKGV2ZW50KSB7XG4gICAgZXZlbnQuc3RvcFByb3BhZ2F0aW9uKCk7XG4gICAgdGhpcy5zZWFyY2hJbnB1dCA9IFwiXCI7XG4gICAgdGhpcy5pc1NlYXJjaElucHV0Rm9jdXNlZCA9IGZhbHNlO1xuICB9XG4gIHRvZ2dsZURyb3Bkb3duKCkge1xuICAgIHRoaXMuaXNPcGVuID0gIXRoaXMuaXNPcGVuO1xuICAgIGlmICh0aGlzLmlzT3Blbikge1xuICAgICAgdGhpcy5oYW5kbGVyU2V0TG9jYWxTZWxlY3RlZEl0ZW1zKHRoaXMubG9jYWxTZWxlY3RlZEl0ZW1zKTtcbiAgICAgIHRoaXMubG9jYWxEYXRhID0gdGhpcy5mb3JtYXRWYWx1ZXModGhpcy5sb2NhbERhdGEpO1xuICAgIH1cbiAgfVxuICBmaWx0ZXJCeVZhbHVlKGFycmF5OiBNdWx0aVNlbGVjdERyb3Bkb3duSXRlbVtdLCBzdHJpbmc6IHN0cmluZykge1xuICAgIHJldHVybiBhcnJheS5maWx0ZXIoKG8pID0+XG4gICAgICBvLmxhYmVsLnRvTG93ZXJDYXNlKCkuaW5jbHVkZXMoc3RyaW5nLnRvTG93ZXJDYXNlKCkpXG4gICAgKTtcbiAgfVxuICBzZWFyY2hJbnB1dE9uQ2hhbmdlKG5ld1ZhbHVlKSB7XG4gICAgdGhpcy5zZWFyY2hJbnB1dCA9IG5ld1ZhbHVlO1xuICAgIGlmIChuZXdWYWx1ZSkge1xuICAgICAgdGhpcy5zZWFyY2hEYXRhID0gdGhpcy5maWx0ZXJCeVZhbHVlKHRoaXMubG9jYWxEYXRhLCBuZXdWYWx1ZSk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMuc2VhcmNoRGF0YSA9IFtdO1xuICAgICAgdGhpcy5zZWFyY2hJbnB1dCA9IFwiXCI7XG4gICAgfVxuICB9XG4gIGZvcm1hdFZhbHVlcyhhcnJheTogTXVsdGlTZWxlY3REcm9wZG93bkl0ZW1bXSkge1xuICAgIGxldCBzb3J0ZWRBcnJheSA9IGFycmF5O1xuICAgIGlmICh0aGlzLm9wdGlvbnMuc29ydExhYmVscykge1xuICAgICAgY29uc3QgY2hlY2tlZFZhbHVlcyA9IGFycmF5XG4gICAgICAgIC5maWx0ZXIoKGEpID0+IGEuY2hlY2tlZClcbiAgICAgICAgLnNvcnQoKGE6IE11bHRpU2VsZWN0RHJvcGRvd25JdGVtLCBiOiBNdWx0aVNlbGVjdERyb3Bkb3duSXRlbSkgPT5cbiAgICAgICAgICBhLmxhYmVsID4gYi5sYWJlbCA/IDEgOiBiLmxhYmVsID4gYS5sYWJlbCA/IC0xIDogMFxuICAgICAgICApO1xuICAgICAgY29uc3QgdW5DaGVja2VkVmFsdWVzID0gYXJyYXlcbiAgICAgICAgLmZpbHRlcigoYSkgPT4gIWEuY2hlY2tlZClcbiAgICAgICAgLnNvcnQoKGE6IE11bHRpU2VsZWN0RHJvcGRvd25JdGVtLCBiOiBNdWx0aVNlbGVjdERyb3Bkb3duSXRlbSkgPT5cbiAgICAgICAgICBhLmxhYmVsID4gYi5sYWJlbCA/IDEgOiBiLmxhYmVsID4gYS5sYWJlbCA/IC0xIDogMFxuICAgICAgICApO1xuICAgICAgc29ydGVkQXJyYXkgPSBbLi4uY2hlY2tlZFZhbHVlcywgLi4udW5DaGVja2VkVmFsdWVzXS5maWx0ZXIoXG4gICAgICAgICh0KSA9PiB0LnZhbHVlICE9PSB0aGlzLlNFTEVDVF9BTExfRU5VTVxuICAgICAgKTtcbiAgICB9XG4gICAgaWYgKFxuICAgICAgIXNvcnRlZEFycmF5LnNvbWUoKG9wdGlvbikgPT4gb3B0aW9uLnZhbHVlID09PSB0aGlzLlNFTEVDVF9BTExfRU5VTSkgJiZcbiAgICAgIHRoaXMuZW5hYmxlU2VsZWN0QWxsICYmXG4gICAgICBzb3J0ZWRBcnJheS5sZW5ndGggPiAwXG4gICAgKSB7XG4gICAgICBzb3J0ZWRBcnJheS51bnNoaWZ0KHtcbiAgICAgICAgbGFiZWw6IFwiU2VsZWN0IGFsbFwiLFxuICAgICAgICB2YWx1ZTogdGhpcy5TRUxFQ1RfQUxMX0VOVU0sXG4gICAgICAgIGNoZWNrZWQ6IHNvcnRlZEFycmF5LmV2ZXJ5KCh5KSA9PiB5LmNoZWNrZWQpLFxuICAgICAgfSk7XG4gICAgfVxuICAgIHJldHVybiBzb3J0ZWRBcnJheTtcbiAgfVxuICB0b2dnbGVTZWxlY3RlZEl0ZW1zKGV2ZW50LCBpdGVtOiBNdWx0aVNlbGVjdERyb3Bkb3duSXRlbSkge1xuICAgIGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpO1xuICAgIGlmICh0aGlzLmVuYWJsZVNlbGVjdEFsbCAmJiBpdGVtLnZhbHVlID09PSB0aGlzLlNFTEVDVF9BTExfRU5VTSkge1xuICAgICAgdGhpcy5sb2NhbERhdGEgPSB0aGlzLmxvY2FsRGF0YS5tYXAoKHQpID0+ICh7XG4gICAgICAgIC4uLnQsXG4gICAgICAgIGNoZWNrZWQ6ICFpdGVtLmNoZWNrZWQsXG4gICAgICB9KSk7XG4gICAgICByZXR1cm47XG4gICAgfVxuICAgIGlmIChpdGVtLmNoZWNrZWQpIHtcbiAgICAgIHRoaXMubG9jYWxEYXRhID0gW1xuICAgICAgICAuLi50aGlzLmxvY2FsRGF0YS5tYXAoKGEpID0+IHtcbiAgICAgICAgICBpZiAoYS52YWx1ZSA9PT0gaXRlbS52YWx1ZSB8fCBhLnZhbHVlID09PSB0aGlzLlNFTEVDVF9BTExfRU5VTSkge1xuICAgICAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgICAgLi4uYSxcbiAgICAgICAgICAgICAgY2hlY2tlZDogZmFsc2UsXG4gICAgICAgICAgICB9O1xuICAgICAgICAgIH1cbiAgICAgICAgICByZXR1cm4gYTtcbiAgICAgICAgfSksXG4gICAgICBdO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLmxvY2FsRGF0YSA9IFtcbiAgICAgICAgLi4udGhpcy5sb2NhbERhdGEubWFwKChhKSA9PiB7XG4gICAgICAgICAgaWYgKGEudmFsdWUgPT09IGl0ZW0udmFsdWUpIHtcbiAgICAgICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICAgIC4uLmEsXG4gICAgICAgICAgICAgIGNoZWNrZWQ6IHRydWUsXG4gICAgICAgICAgICB9O1xuICAgICAgICAgIH1cbiAgICAgICAgICByZXR1cm4gYTtcbiAgICAgICAgfSksXG4gICAgICBdO1xuICAgICAgaWYgKFxuICAgICAgICB0aGlzLmVuYWJsZVNlbGVjdEFsbCAmJlxuICAgICAgICB0aGlzLmxvY2FsRGF0YVxuICAgICAgICAgIC5maWx0ZXIoKHIpID0+IHIudmFsdWUgIT09IHRoaXMuU0VMRUNUX0FMTF9FTlVNKVxuICAgICAgICAgIC5ldmVyeSgodCkgPT4gdC5jaGVja2VkKVxuICAgICAgKSB7XG4gICAgICAgIHRoaXMubG9jYWxEYXRhID0gW1xuICAgICAgICAgIC4uLnRoaXMubG9jYWxEYXRhLm1hcCgoYSkgPT4ge1xuICAgICAgICAgICAgaWYgKGEudmFsdWUgPT09IHRoaXMuU0VMRUNUX0FMTF9FTlVNKSB7XG4gICAgICAgICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICAgICAgLi4uYSxcbiAgICAgICAgICAgICAgICBjaGVja2VkOiB0cnVlLFxuICAgICAgICAgICAgICB9O1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgcmV0dXJuIGE7XG4gICAgICAgICAgfSksXG4gICAgICAgIF07XG4gICAgICB9XG4gICAgfVxuICAgIGlmICh0aGlzLnNlYXJjaEVuYWJsZWQpIHtcbiAgICAgIHRoaXMuc2VhcmNoSW5wdXRPbkNoYW5nZSh0aGlzLnNlYXJjaElucHV0KTtcbiAgICB9XG4gICAgaWYgKHRoaXMuaGlkZUFwcGx5QnV0dG9uKSB7XG4gICAgICB0aGlzLmFwcGx5RmlsdGVycygpO1xuICAgIH1cbiAgfVxuICBhcHBseUZpbHRlcnMoKSB7XG4gICAgdGhpcy5vbkNoYW5nZS5lbWl0KFxuICAgICAgdGhpcy5sb2NhbERhdGFcbiAgICAgICAgLmZpbHRlcigoYSkgPT4ge1xuICAgICAgICAgIHJldHVybiBhLmNoZWNrZWQgJiYgYS52YWx1ZSAhPT0gdGhpcy5TRUxFQ1RfQUxMX0VOVU07XG4gICAgICAgIH0pXG4gICAgICAgIC5tYXAoKGl0ZW0pID0+IHtcbiAgICAgICAgICBjb25zdCB7IGNoZWNrZWQsIC4uLmRhdGEgfSA9IGl0ZW07XG4gICAgICAgICAgcmV0dXJuIGRhdGE7XG4gICAgICAgIH0pXG4gICAgKTtcblxuICAgIGlmICghdGhpcy5oaWRlQXBwbHlCdXR0b24pIHtcbiAgICAgIHRoaXMub25DYW5jZWwoKTtcbiAgICB9XG4gIH1cbiAgb25SZXNldCgpIHtcbiAgICB0aGlzLmlzU2VhcmNoSW5wdXRGb2N1c2VkID0gZmFsc2U7XG4gICAgdGhpcy5vbkNoYW5nZS5lbWl0KFtdKTtcbiAgICB0aGlzLmlzT3BlbiA9IGZhbHNlO1xuICAgIHRoaXMuc2VhcmNoSW5wdXQgPSBcIlwiO1xuICB9XG4gIG9uQ2FuY2VsKCkge1xuICAgIHRoaXMuaXNTZWFyY2hJbnB1dEZvY3VzZWQgPSBmYWxzZTtcbiAgICB0aGlzLmxvY2FsRGF0YSA9IHRoaXMubG9jYWxEYXRhLm1hcCgoYSkgPT4ge1xuICAgICAgaWYgKFxuICAgICAgICB0aGlzLmxvY2FsU2VsZWN0ZWRJdGVtcy5zb21lKFxuICAgICAgICAgIChiKSA9PiBiLnZhbHVlID09PSBhLnZhbHVlICYmIFN0cmluZyhiLmNoZWNrZWQpICE9PSBTdHJpbmcoYS5jaGVja2VkKVxuICAgICAgICApXG4gICAgICApIHtcbiAgICAgICAgcmV0dXJuIGE7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICByZXR1cm4ge1xuICAgICAgICAgIC4uLmEsXG4gICAgICAgICAgY2hlY2tlZDogZmFsc2UsXG4gICAgICAgIH07XG4gICAgICB9XG4gICAgfSk7XG4gICAgdGhpcy5pc09wZW4gPSBmYWxzZTtcbiAgICB0aGlzLnNlYXJjaElucHV0ID0gXCJcIjtcbiAgfVxufVxuZXhwb3J0IGludGVyZmFjZSBNdWx0aVNlbGVjdERyb3Bkb3duSXRlbSB7XG4gIGxhYmVsOiBzdHJpbmc7XG4gIHZhbHVlOiBzdHJpbmc7XG4gIGNoZWNrZWQ/OiBib29sZWFuO1xuICBpY29uPzogc3RyaW5nO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIE9QVElPTlMge1xuICBzb3J0TGFiZWxzOiBib29sZWFuO1xufVxuIl19
|