@fundamental-ngx/cdk 0.43.2 → 0.44.0-rc.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/data-source/data-source.directive.d.ts +1 -1
- package/esm2022/data-source/base/base-data-source.class.mjs +112 -0
- package/{esm2020 → esm2022}/data-source/data-source.directive.mjs +4 -4
- package/{esm2020 → esm2022}/data-source/data-source.module.mjs +5 -5
- package/{esm2020 → esm2022}/forms/cva/cva-control.class.mjs +4 -4
- package/{esm2020 → esm2022}/forms/cva/cva.directive.mjs +4 -4
- package/{esm2020 → esm2022}/forms/forms.module.mjs +5 -5
- package/{esm2020 → esm2022}/fundamental-ngx.module.mjs +5 -5
- package/{esm2020 → esm2022}/utils/abstract-fd-ngx-class.mjs +4 -4
- package/{esm2020 → esm2022}/utils/components/dynamic-portal/dynamic-portal.component.mjs +4 -4
- package/esm2022/utils/directives/auto-complete/auto-complete.directive.mjs +136 -0
- package/{esm2020 → esm2022}/utils/directives/auto-complete/auto-complete.module.mjs +5 -5
- package/{esm2020 → esm2022}/utils/directives/breakpoints/breakpoint.directive.mjs +8 -8
- package/{esm2020 → esm2022}/utils/directives/clicked/clicked-behavior.module.mjs +5 -5
- package/{esm2020 → esm2022}/utils/directives/clicked/clicked-event.plugin.mjs +4 -4
- package/esm2022/utils/directives/clicked/clicked.directive.mjs +51 -0
- package/{esm2020 → esm2022}/utils/directives/clicked/fdk-clicked-provider.service.mjs +4 -4
- package/esm2022/utils/directives/disabled/disabled-behavior.directive.mjs +114 -0
- package/{esm2020 → esm2022}/utils/directives/disabled/disabled-behavior.module.mjs +5 -5
- package/{esm2020 → esm2022}/utils/directives/disabled/disabled.observer.mjs +4 -4
- package/{esm2020 → esm2022}/utils/directives/disabled/fdk-disabled-provider.service.mjs +4 -4
- package/{esm2020 → esm2022}/utils/directives/focus-key-manager/focus-key-manager-helpers.module.mjs +11 -11
- package/esm2022/utils/directives/focus-key-manager/focus-key-manager-item.directive.mjs +98 -0
- package/esm2022/utils/directives/focus-key-manager/focus-key-manager-list.directive.mjs +114 -0
- package/{esm2020 → esm2022}/utils/directives/focusable-grid/focusable-grid.directive.mjs +10 -10
- package/{esm2020 → esm2022}/utils/directives/focusable-grid/focusable-grid.module.mjs +5 -5
- package/esm2022/utils/directives/focusable-item/focusable-item.directive.mjs +217 -0
- package/{esm2020 → esm2022}/utils/directives/focusable-item/focusable-item.module.mjs +5 -5
- package/{esm2020 → esm2022}/utils/directives/focusable-item/focusable.observer.mjs +4 -4
- package/esm2022/utils/directives/focusable-list/focusable-list.directive.mjs +330 -0
- package/{esm2020 → esm2022}/utils/directives/focusable-list/focusable-list.module.mjs +5 -5
- package/esm2022/utils/directives/ignore-click-on-selection/ignore-click-on-selection.directive.mjs +79 -0
- package/{esm2020 → esm2022}/utils/directives/ignore-click-on-selection/ignore-click-on-selection.module.mjs +5 -5
- package/esm2022/utils/directives/initial-focus/initial-focus.directive.mjs +152 -0
- package/{esm2020 → esm2022}/utils/directives/initial-focus/initial-focus.module.mjs +5 -5
- package/{esm2020 → esm2022}/utils/directives/intersection-spy/intersection-spy.directive.mjs +4 -4
- package/esm2022/utils/directives/line-clamp/line-clamp.directive.mjs +262 -0
- package/{esm2020 → esm2022}/utils/directives/line-clamp/line-clamp.module.mjs +11 -11
- package/esm2022/utils/directives/only-digits/only-digits.directive.mjs +218 -0
- package/{esm2020 → esm2022}/utils/directives/only-digits/only-digits.module.mjs +5 -5
- package/esm2022/utils/directives/overflow-list/overflow-list-item.directive.mjs +42 -0
- package/esm2022/utils/directives/overflow-list/overflow-list.directive.mjs +142 -0
- package/{esm2020 → esm2022}/utils/directives/overflow-list/overflow-list.module.mjs +11 -11
- package/{esm2020 → esm2022}/utils/directives/readonly/fdk-readonly-provider.service.mjs +4 -4
- package/esm2022/utils/directives/readonly/readonly-behavior.directive.mjs +97 -0
- package/{esm2020 → esm2022}/utils/directives/readonly/readonly-behavior.module.mjs +5 -5
- package/{esm2020 → esm2022}/utils/directives/readonly/readonly.observer.mjs +4 -4
- package/esm2022/utils/directives/repeat/repeat.directive.mjs +65 -0
- package/{esm2020 → esm2022}/utils/directives/repeat/repeat.module.mjs +5 -5
- package/esm2022/utils/directives/resize/resize-handle.directive.mjs +42 -0
- package/esm2022/utils/directives/resize/resize.directive.mjs +231 -0
- package/{esm2020 → esm2022}/utils/directives/resize/resize.module.mjs +5 -5
- package/{esm2020 → esm2022}/utils/directives/selectable-list/selectable-item.directive.mjs +12 -12
- package/{esm2020 → esm2022}/utils/directives/selectable-list/selectable-list.directive.mjs +10 -10
- package/{esm2020 → esm2022}/utils/directives/selectable-list/selectable-list.module.mjs +5 -5
- package/{esm2020 → esm2022}/utils/directives/selectable-list/selection.service.mjs +4 -4
- package/esm2022/utils/directives/template/template.directive.mjs +49 -0
- package/{esm2020 → esm2022}/utils/directives/template/template.module.mjs +5 -5
- package/esm2022/utils/directives/truncate/truncate.directive.mjs +96 -0
- package/{esm2020 → esm2022}/utils/directives/truncate/truncate.module.mjs +5 -5
- package/esm2022/utils/drag-and-drop/dnd-item/dnd-item.directive.mjs +274 -0
- package/{esm2020 → esm2022}/utils/drag-and-drop/dnd-keyboard-group/dnd-keyboard-group.directive.mjs +4 -4
- package/{esm2020 → esm2022}/utils/drag-and-drop/dnd-keyboard-item/dnd-keyboard-item.directive.mjs +4 -4
- package/{esm2020 → esm2022}/utils/drag-and-drop/dnd-list/dnd-list.directive.mjs +4 -4
- package/{esm2020 → esm2022}/utils/drag-and-drop/drag-and-drop.module.mjs +5 -5
- package/{esm2020 → esm2022}/utils/dynamic-component/dynamic-component.service.mjs +4 -4
- package/esm2022/utils/functions/get-document-font-size.mjs +9 -0
- package/{esm2020 → esm2022}/utils/pipes/async-or-sync.pipe.mjs +4 -4
- package/{esm2020 → esm2022}/utils/pipes/displayFn.pipe.mjs +4 -4
- package/{esm2020 → esm2022}/utils/pipes/filter-strings.pipe.mjs +4 -4
- package/{esm2020 → esm2022}/utils/pipes/is-compact.pipe.mjs +4 -4
- package/{esm2020 → esm2022}/utils/pipes/make-async.pipe.mjs +4 -4
- package/{esm2020 → esm2022}/utils/pipes/pipe.module.mjs +23 -23
- package/{esm2020 → esm2022}/utils/pipes/safe.pipe.mjs +4 -4
- package/esm2022/utils/pipes/search-highlight.pipe.mjs +32 -0
- package/{esm2020 → esm2022}/utils/pipes/truncate.pipe.mjs +4 -4
- package/{esm2020 → esm2022}/utils/pipes/two-digits.pipe.mjs +4 -4
- package/{esm2020 → esm2022}/utils/pipes/value-by-path.pipe.mjs +4 -4
- package/{esm2020 → esm2022}/utils/services/content-density.service.mjs +4 -4
- package/{esm2020 → esm2022}/utils/services/destroyed.service.mjs +4 -4
- package/{esm2020 → esm2022}/utils/services/focus-trap.service.mjs +4 -4
- package/{esm2020 → esm2022}/utils/services/keyboard-support/keyboard-support.service.mjs +4 -4
- package/{esm2020 → esm2022}/utils/services/local-storage.service.mjs +4 -4
- package/{esm2020 → esm2022}/utils/services/observers/attribute.observer.mjs +4 -4
- package/{esm2020 → esm2022}/utils/services/resize-observer.service.mjs +7 -7
- package/{esm2020 → esm2022}/utils/services/rtl.service.mjs +4 -4
- package/{esm2020 → esm2022}/utils/services/tabbable-element.service.mjs +4 -4
- package/{esm2020 → esm2022}/utils/services/themes.service.mjs +4 -4
- package/esm2022/utils/toast/base-toast-positions.mjs +108 -0
- package/{esm2020 → esm2022}/utils/toast/base-toast.service.mjs +4 -4
- package/{esm2020 → esm2022}/utils/toast/classes/base-toast-animated-container.component.mjs +4 -4
- package/{esm2020 → esm2022}/utils/toast/classes/base-toast-container.component.mjs +4 -4
- package/{esm2020 → esm2022}/utils/toast/classes/base-toast-overlay-container.mjs +4 -4
- package/{esm2020 → esm2022}/utils/toast/classes/duration-dismissible/base-toast-duration-dismissible-container.component.mjs +4 -4
- package/{esm2020 → esm2022}/utils/utils.module.mjs +77 -77
- package/{fesm2020 → fesm2022}/fundamental-ngx-cdk-data-source.mjs +11 -11
- package/{fesm2020 → fesm2022}/fundamental-ngx-cdk-data-source.mjs.map +1 -1
- package/{fesm2020 → fesm2022}/fundamental-ngx-cdk-forms.mjs +10 -10
- package/{fesm2020 → fesm2022}/fundamental-ngx-cdk-forms.mjs.map +1 -1
- package/{fesm2020 → fesm2022}/fundamental-ngx-cdk-utils.mjs +662 -657
- package/fesm2022/fundamental-ngx-cdk-utils.mjs.map +1 -0
- package/{fesm2015 → fesm2022}/fundamental-ngx-cdk.mjs +4 -4
- package/fesm2022/fundamental-ngx-cdk.mjs.map +1 -0
- package/forms/cva/cva.directive.d.ts +1 -1
- package/fundamental-ngx-cdk-v0.44.0-rc.1.tgz +0 -0
- package/package.json +23 -35
- package/utils/abstract-fd-ngx-class.d.ts +1 -1
- package/utils/components/dynamic-portal/dynamic-portal.component.d.ts +1 -1
- package/utils/directives/auto-complete/auto-complete.directive.d.ts +2 -2
- package/utils/directives/breakpoints/breakpoint.directive.d.ts +1 -1
- package/utils/directives/clicked/clicked.directive.d.ts +2 -2
- package/utils/directives/disabled/disabled-behavior.directive.d.ts +2 -2
- package/utils/directives/focus-key-manager/focus-key-manager-item.directive.d.ts +2 -2
- package/utils/directives/focus-key-manager/focus-key-manager-list.directive.d.ts +2 -2
- package/utils/directives/focusable-grid/focusable-grid.directive.d.ts +1 -1
- package/utils/directives/focusable-item/focusable-item.directive.d.ts +2 -2
- package/utils/directives/focusable-list/focusable-list.directive.d.ts +2 -2
- package/utils/directives/ignore-click-on-selection/ignore-click-on-selection.directive.d.ts +2 -2
- package/utils/directives/initial-focus/initial-focus.directive.d.ts +2 -2
- package/utils/directives/intersection-spy/intersection-spy.directive.d.ts +1 -1
- package/utils/directives/line-clamp/line-clamp.directive.d.ts +4 -4
- package/utils/directives/only-digits/only-digits.directive.d.ts +2 -2
- package/utils/directives/overflow-list/overflow-list-item.directive.d.ts +2 -2
- package/utils/directives/overflow-list/overflow-list.directive.d.ts +2 -2
- package/utils/directives/readonly/readonly-behavior.directive.d.ts +2 -2
- package/utils/directives/repeat/repeat.directive.d.ts +2 -2
- package/utils/directives/resize/resize-handle.directive.d.ts +2 -2
- package/utils/directives/resize/resize.directive.d.ts +2 -2
- package/utils/directives/selectable-list/selectable-item.directive.d.ts +1 -1
- package/utils/directives/selectable-list/selectable-list.directive.d.ts +1 -1
- package/utils/directives/template/template.directive.d.ts +2 -2
- package/utils/directives/truncate/truncate.directive.d.ts +2 -2
- package/utils/drag-and-drop/dnd-item/dnd-item.directive.d.ts +1 -1
- package/utils/drag-and-drop/dnd-keyboard-group/dnd-keyboard-group.directive.d.ts +1 -1
- package/utils/drag-and-drop/dnd-keyboard-item/dnd-keyboard-item.directive.d.ts +1 -1
- package/utils/drag-and-drop/dnd-list/dnd-list.directive.d.ts +1 -1
- package/utils/toast/classes/base-toast-animated-container.component.d.ts +1 -1
- package/utils/toast/classes/base-toast-container.component.d.ts +1 -1
- package/utils/toast/classes/duration-dismissible/base-toast-duration-dismissible-container.component.d.ts +1 -1
- package/esm2020/data-source/base/base-data-source.class.mjs +0 -112
- package/esm2020/utils/directives/auto-complete/auto-complete.directive.mjs +0 -136
- package/esm2020/utils/directives/clicked/clicked.directive.mjs +0 -51
- package/esm2020/utils/directives/disabled/disabled-behavior.directive.mjs +0 -114
- package/esm2020/utils/directives/focus-key-manager/focus-key-manager-item.directive.mjs +0 -98
- package/esm2020/utils/directives/focus-key-manager/focus-key-manager-list.directive.mjs +0 -114
- package/esm2020/utils/directives/focusable-item/focusable-item.directive.mjs +0 -217
- package/esm2020/utils/directives/focusable-list/focusable-list.directive.mjs +0 -330
- package/esm2020/utils/directives/ignore-click-on-selection/ignore-click-on-selection.directive.mjs +0 -79
- package/esm2020/utils/directives/initial-focus/initial-focus.directive.mjs +0 -152
- package/esm2020/utils/directives/line-clamp/line-clamp.directive.mjs +0 -262
- package/esm2020/utils/directives/only-digits/only-digits.directive.mjs +0 -218
- package/esm2020/utils/directives/overflow-list/overflow-list-item.directive.mjs +0 -42
- package/esm2020/utils/directives/overflow-list/overflow-list.directive.mjs +0 -142
- package/esm2020/utils/directives/readonly/readonly-behavior.directive.mjs +0 -97
- package/esm2020/utils/directives/repeat/repeat.directive.mjs +0 -65
- package/esm2020/utils/directives/resize/resize-handle.directive.mjs +0 -42
- package/esm2020/utils/directives/resize/resize.directive.mjs +0 -231
- package/esm2020/utils/directives/template/template.directive.mjs +0 -49
- package/esm2020/utils/directives/truncate/truncate.directive.mjs +0 -96
- package/esm2020/utils/drag-and-drop/dnd-item/dnd-item.directive.mjs +0 -272
- package/esm2020/utils/functions/get-document-font-size.mjs +0 -5
- package/esm2020/utils/pipes/search-highlight.pipe.mjs +0 -32
- package/esm2020/utils/toast/base-toast-positions.mjs +0 -108
- package/fesm2015/fundamental-ngx-cdk-data-source.mjs +0 -405
- package/fesm2015/fundamental-ngx-cdk-data-source.mjs.map +0 -1
- package/fesm2015/fundamental-ngx-cdk-forms.mjs +0 -398
- package/fesm2015/fundamental-ngx-cdk-forms.mjs.map +0 -1
- package/fesm2015/fundamental-ngx-cdk-utils.mjs +0 -7611
- package/fesm2015/fundamental-ngx-cdk-utils.mjs.map +0 -1
- package/fesm2015/fundamental-ngx-cdk.mjs.map +0 -1
- package/fesm2020/fundamental-ngx-cdk-utils.mjs.map +0 -1
- package/fesm2020/fundamental-ngx-cdk.mjs +0 -29
- package/fesm2020/fundamental-ngx-cdk.mjs.map +0 -1
- package/fundamental-ngx-cdk-v0.43.2.tgz +0 -0
- /package/{esm2020 → esm2022}/data-source/base/abstract-data-provider.class.mjs +0 -0
- /package/{esm2020 → esm2022}/data-source/fundamental-ngx-cdk-data-source.mjs +0 -0
- /package/{esm2020 → esm2022}/data-source/helpers/apply-datasource-directive.mjs +0 -0
- /package/{esm2020 → esm2022}/data-source/helpers/common.mjs +0 -0
- /package/{esm2020 → esm2022}/data-source/helpers/is-datasource.mjs +0 -0
- /package/{esm2020 → esm2022}/data-source/index.mjs +0 -0
- /package/{esm2020 → esm2022}/data-source/models/data-source-provider.mjs +0 -0
- /package/{esm2020 → esm2022}/data-source/models/data-source.mjs +0 -0
- /package/{esm2020 → esm2022}/data-source/models/index.mjs +0 -0
- /package/{esm2020 → esm2022}/data-source/models/matching-strategy.mjs +0 -0
- /package/{esm2020 → esm2022}/data-source/tokens.mjs +0 -0
- /package/{esm2020 → esm2022}/forms/fundamental-ngx-cdk-forms.mjs +0 -0
- /package/{esm2020 → esm2022}/forms/helpers/state.mjs +0 -0
- /package/{esm2020 → esm2022}/forms/index.mjs +0 -0
- /package/{esm2020 → esm2022}/forms/models/cva.mjs +0 -0
- /package/{esm2020 → esm2022}/forms/models/form-error.mjs +0 -0
- /package/{esm2020 → esm2022}/forms/models/form-field.mjs +0 -0
- /package/{esm2020 → esm2022}/forms/models/form-state.mjs +0 -0
- /package/{esm2020 → esm2022}/forms/models/select-item.mjs +0 -0
- /package/{esm2020 → esm2022}/forms/tokens/form-field-control.token.mjs +0 -0
- /package/{esm2020 → esm2022}/forms/tokens/form-field.token.mjs +0 -0
- /package/{esm2020 → esm2022}/fundamental-ngx-cdk.mjs +0 -0
- /package/{esm2020 → esm2022}/index.mjs +0 -0
- /package/{esm2020 → esm2022}/utils/async-strategy/function-strategy.class.mjs +0 -0
- /package/{esm2020 → esm2022}/utils/async-strategy/index.mjs +0 -0
- /package/{esm2020 → esm2022}/utils/async-strategy/observable-strategy.class.mjs +0 -0
- /package/{esm2020 → esm2022}/utils/async-strategy/promise-strategy.class.mjs +0 -0
- /package/{esm2020 → esm2022}/utils/async-strategy/select-strategy.class.mjs +0 -0
- /package/{esm2020 → esm2022}/utils/async-strategy/subscription-strategy.interface.mjs +0 -0
- /package/{esm2020 → esm2022}/utils/async-strategy/value-strategy.class.mjs +0 -0
- /package/{esm2020 → esm2022}/utils/coercion/array.mjs +0 -0
- /package/{esm2020 → esm2022}/utils/components/index.mjs +0 -0
- /package/{esm2020 → esm2022}/utils/consts/error-messages.mjs +0 -0
- /package/{esm2020 → esm2022}/utils/consts/index.mjs +0 -0
- /package/{esm2020 → esm2022}/utils/consts/overflow-priority-score.mjs +0 -0
- /package/{esm2020 → esm2022}/utils/consts/unicode-letters.regex.mjs +0 -0
- /package/{esm2020 → esm2022}/utils/consts/unicode-numbers.regex.mjs +0 -0
- /package/{esm2020 → esm2022}/utils/datatypes/color-accent.datatype.mjs +0 -0
- /package/{esm2020 → esm2022}/utils/datatypes/hash.datatype.mjs +0 -0
- /package/{esm2020 → esm2022}/utils/datatypes/index.mjs +0 -0
- /package/{esm2020 → esm2022}/utils/datatypes/size.datatype.mjs +0 -0
- /package/{esm2020 → esm2022}/utils/decorators/apply-css-class.decorator.mjs +0 -0
- /package/{esm2020 → esm2022}/utils/decorators/apply-css-style.decorator.mjs +0 -0
- /package/{esm2020 → esm2022}/utils/decorators/coerce-boolean.mjs +0 -0
- /package/{esm2020 → esm2022}/utils/decorators/coerce-css-pixel.mjs +0 -0
- /package/{esm2020 → esm2022}/utils/decorators/index.mjs +0 -0
- /package/{esm2020 → esm2022}/utils/decorators/setter-alternator.mjs +0 -0
- /package/{esm2020 → esm2022}/utils/deprecated-selector.class.mjs +0 -0
- /package/{esm2020 → esm2022}/utils/directives/breakpoints/responsive-breakpoints.mjs +0 -0
- /package/{esm2020 → esm2022}/utils/directives/clicked/index.mjs +0 -0
- /package/{esm2020 → esm2022}/utils/directives/disabled/default-disabled-view-modifier.mjs +0 -0
- /package/{esm2020 → esm2022}/utils/directives/disabled/disabled-behavior.interface.mjs +0 -0
- /package/{esm2020 → esm2022}/utils/directives/disabled/disabled-view-modifier.interface.mjs +0 -0
- /package/{esm2020 → esm2022}/utils/directives/disabled/fdk-disabled.token.mjs +0 -0
- /package/{esm2020 → esm2022}/utils/directives/disabled/index.mjs +0 -0
- /package/{esm2020 → esm2022}/utils/directives/disabled/set-disabled-state.mjs +0 -0
- /package/{esm2020 → esm2022}/utils/directives/focus-key-manager/focus-key-manager.tokens.mjs +0 -0
- /package/{esm2020 → esm2022}/utils/directives/focus-key-manager/index.mjs +0 -0
- /package/{esm2020 → esm2022}/utils/directives/focusable-grid/focusable-grid.tokens.mjs +0 -0
- /package/{esm2020 → esm2022}/utils/directives/focusable-grid/index.mjs +0 -0
- /package/{esm2020 → esm2022}/utils/directives/focusable-item/focusable-item.tokens.mjs +0 -0
- /package/{esm2020 → esm2022}/utils/directives/focusable-item/index.mjs +0 -0
- /package/{esm2020 → esm2022}/utils/directives/focusable-item/is-element-focusable-by-default.mjs +0 -0
- /package/{esm2020 → esm2022}/utils/directives/focusable-list/focusable-list.tokens.mjs +0 -0
- /package/{esm2020 → esm2022}/utils/directives/focusable-list/index.mjs +0 -0
- /package/{esm2020 → esm2022}/utils/directives/focusable-list/scroll.mjs +0 -0
- /package/{esm2020 → esm2022}/utils/directives/ignore-click-on-selection/tokens.mjs +0 -0
- /package/{esm2020 → esm2022}/utils/directives/index.mjs +0 -0
- /package/{esm2020 → esm2022}/utils/directives/readonly/default-readonly-view-modifier.mjs +0 -0
- /package/{esm2020 → esm2022}/utils/directives/readonly/fdk-readonly.token.mjs +0 -0
- /package/{esm2020 → esm2022}/utils/directives/readonly/index.mjs +0 -0
- /package/{esm2020 → esm2022}/utils/directives/readonly/readonly-behavior.interface.mjs +0 -0
- /package/{esm2020 → esm2022}/utils/directives/readonly/readonly-view-modifier.interface.mjs +0 -0
- /package/{esm2020 → esm2022}/utils/directives/readonly/set-readonly-state.mjs +0 -0
- /package/{esm2020 → esm2022}/utils/directives/selectable-list/index.mjs +0 -0
- /package/{esm2020 → esm2022}/utils/directives/selectable-list/select-component-root.token.mjs +0 -0
- /package/{esm2020 → esm2022}/utils/directives/selectable-list/selectable-item.token.mjs +0 -0
- /package/{esm2020 → esm2022}/utils/directives/selectable-list/selectable-list.tokens.mjs +0 -0
- /package/{esm2020 → esm2022}/utils/drag-and-drop/dnd.interfaces.mjs +0 -0
- /package/{esm2020 → esm2022}/utils/drag-and-drop/index.mjs +0 -0
- /package/{esm2020 → esm2022}/utils/drag-and-drop/tokens.mjs +0 -0
- /package/{esm2020 → esm2022}/utils/dynamic-component/dynamic-component-config.mjs +0 -0
- /package/{esm2020 → esm2022}/utils/dynamic-component/dynamic-component-container.mjs +0 -0
- /package/{esm2020 → esm2022}/utils/dynamic-component/dynamic-component-injector.mjs +0 -0
- /package/{esm2020 → esm2022}/utils/dynamic-component/index.mjs +0 -0
- /package/{esm2020 → esm2022}/utils/functions/consumer-provider-factory.mjs +0 -0
- /package/{esm2020 → esm2022}/utils/functions/element-size.mjs +0 -0
- /package/{esm2020 → esm2022}/utils/functions/index.mjs +0 -0
- /package/{esm2020 → esm2022}/utils/functions/intersection-observable.mjs +0 -0
- /package/{esm2020 → esm2022}/utils/functions/is-compact-density.mjs +0 -0
- /package/{esm2020 → esm2022}/utils/functions/is-odd.mjs +0 -0
- /package/{esm2020 → esm2022}/utils/functions/key-util.mjs +0 -0
- /package/{esm2020 → esm2022}/utils/functions/module-deprecations-provider.mjs +0 -0
- /package/{esm2020 → esm2022}/utils/functions/parser-file-size.mjs +0 -0
- /package/{esm2020 → esm2022}/utils/functions/random-color-accent.mjs +0 -0
- /package/{esm2020 → esm2022}/utils/functions/resize-observable.mjs +0 -0
- /package/{esm2020 → esm2022}/utils/functions/scroll.mjs +0 -0
- /package/{esm2020 → esm2022}/utils/functions/uuidv4-generator.mjs +0 -0
- /package/{esm2020 → esm2022}/utils/fundamental-ngx-cdk-utils.mjs +0 -0
- /package/{esm2020 → esm2022}/utils/helpers/get-native-element.mjs +0 -0
- /package/{esm2020 → esm2022}/utils/helpers/index.mjs +0 -0
- /package/{esm2020 → esm2022}/utils/helpers/range-selector.mjs +0 -0
- /package/{esm2020 → esm2022}/utils/index.mjs +0 -0
- /package/{esm2020 → esm2022}/utils/interfaces/content-density.mjs +0 -0
- /package/{esm2020 → esm2022}/utils/interfaces/css-class-builder.interface.mjs +0 -0
- /package/{esm2020 → esm2022}/utils/interfaces/css-style-builder.interface.mjs +0 -0
- /package/{esm2020 → esm2022}/utils/interfaces/has-element-ref.interface.mjs +0 -0
- /package/{esm2020 → esm2022}/utils/interfaces/index.mjs +0 -0
- /package/{esm2020 → esm2022}/utils/interfaces/keyboard-support-item.interface.mjs +0 -0
- /package/{esm2020 → esm2022}/utils/interfaces/module-deprecation.interface.mjs +0 -0
- /package/{esm2020 → esm2022}/utils/interfaces/require.interface.mjs +0 -0
- /package/{esm2020 → esm2022}/utils/list-item/list-item-utils.mjs +0 -0
- /package/{esm2020 → esm2022}/utils/models/nullable.mjs +0 -0
- /package/{esm2020 → esm2022}/utils/pipes/index.mjs +0 -0
- /package/{esm2020 → esm2022}/utils/services/index.mjs +0 -0
- /package/{esm2020 → esm2022}/utils/toast/base-toast-animations.mjs +0 -0
- /package/{esm2020 → esm2022}/utils/toast/classes/action-dismissible/base-toast-action-dismissible-ref.mjs +0 -0
- /package/{esm2020 → esm2022}/utils/toast/classes/base-toast-config.mjs +0 -0
- /package/{esm2020 → esm2022}/utils/toast/classes/base-toast-ref.mjs +0 -0
- /package/{esm2020 → esm2022}/utils/toast/classes/duration-dismissible/base-toast-duration-dismissible-config.mjs +0 -0
- /package/{esm2020 → esm2022}/utils/toast/classes/duration-dismissible/base-toast-duration-dismissible-ref.mjs +0 -0
- /package/{esm2020 → esm2022}/utils/toast/classes/duration-dismissible/base-toast-duration-dismissible.service.mjs +0 -0
- /package/{esm2020 → esm2022}/utils/toast/index.mjs +0 -0
- /package/{esm2020 → esm2022}/utils/toast/interfaces/toast-container-component.interface.mjs +0 -0
- /package/{esm2020 → esm2022}/utils/toast/interfaces/toast-duration-dismissible-container-component.interface.mjs +0 -0
- /package/{esm2020 → esm2022}/utils/toast/interfaces/toast-text-component.interface.mjs +0 -0
- /package/{esm2020 → esm2022}/utils/tokens/module-deprecations.token.mjs +0 -0
- /package/{esm2020 → esm2022}/utils/tokens/viewport-size.observable.mjs +0 -0
- /package/{esm2020 → esm2022}/utils/typecheck.mjs +0 -0
|
@@ -1,272 +0,0 @@
|
|
|
1
|
-
import { Directive, ElementRef, EventEmitter, forwardRef, HostBinding, Input, Output, Renderer2 } from '@angular/core';
|
|
2
|
-
import { DragDrop } from '@angular/cdk/drag-drop';
|
|
3
|
-
import { Subscription } from 'rxjs';
|
|
4
|
-
import { delay } from 'rxjs/operators';
|
|
5
|
-
import { DND_ITEM } from '../tokens';
|
|
6
|
-
import * as i0 from "@angular/core";
|
|
7
|
-
import * as i1 from "@angular/cdk/drag-drop";
|
|
8
|
-
export class DndItemDirective {
|
|
9
|
-
/** Defines if element is draggable */
|
|
10
|
-
set draggable(draggable) {
|
|
11
|
-
this._draggable = draggable;
|
|
12
|
-
this.changeCDKDragState();
|
|
13
|
-
}
|
|
14
|
-
/** @hidden */
|
|
15
|
-
constructor(elementRef, _dragDrop, _renderer) {
|
|
16
|
-
this.elementRef = elementRef;
|
|
17
|
-
this._dragDrop = _dragDrop;
|
|
18
|
-
this._renderer = _renderer;
|
|
19
|
-
/**
|
|
20
|
-
* Whether to apply "fd-dnd-item" class.
|
|
21
|
-
* @default true
|
|
22
|
-
*/
|
|
23
|
-
this.applyDragItemClass = true;
|
|
24
|
-
/** Event thrown when the element is moved by 1px */
|
|
25
|
-
this.moved = new EventEmitter();
|
|
26
|
-
/** Event thrown when the element is released */
|
|
27
|
-
this.released = new EventEmitter();
|
|
28
|
-
/** Event thrown when the element is started to be dragged */
|
|
29
|
-
this.started = new EventEmitter();
|
|
30
|
-
/**
|
|
31
|
-
* Defines if the item is prevented from being moved by other elements.
|
|
32
|
-
* So nothing can be placed just before and just after it
|
|
33
|
-
*/
|
|
34
|
-
this.stickInPlace = false;
|
|
35
|
-
/** Class added to element, when it's dragged. */
|
|
36
|
-
this.classWhenElementDragged = 'fd-dnd-on-drag';
|
|
37
|
-
/** Defines if every element in list is draggable */
|
|
38
|
-
this.listDraggable = true;
|
|
39
|
-
/** @hidden */
|
|
40
|
-
this._draggable = true;
|
|
41
|
-
/** @hidden */
|
|
42
|
-
this._subscriptions = new Subscription();
|
|
43
|
-
}
|
|
44
|
-
/** @hidden */
|
|
45
|
-
getElementCoordinates(isBefore) {
|
|
46
|
-
/** Takes distance from the beginning of window page */
|
|
47
|
-
const rect = this.elementRef.nativeElement.getBoundingClientRect();
|
|
48
|
-
const position = isBefore ? 'before' : 'after';
|
|
49
|
-
/** Vertically distance is counted by distance from top of the side + half of the element height */
|
|
50
|
-
return {
|
|
51
|
-
x: rect.left,
|
|
52
|
-
position,
|
|
53
|
-
y: rect.top,
|
|
54
|
-
stickToPosition: this.stickInPlace,
|
|
55
|
-
width: rect.width,
|
|
56
|
-
height: rect.height
|
|
57
|
-
};
|
|
58
|
-
}
|
|
59
|
-
/** @hidden */
|
|
60
|
-
ngAfterContentInit() {
|
|
61
|
-
this._setCDKDrag();
|
|
62
|
-
this._listenElementEvents();
|
|
63
|
-
}
|
|
64
|
-
/** @hidden */
|
|
65
|
-
ngOnDestroy() {
|
|
66
|
-
this._subscriptions.unsubscribe();
|
|
67
|
-
this._dragRef.dispose();
|
|
68
|
-
}
|
|
69
|
-
/** @hidden */
|
|
70
|
-
onCdkMove(position) {
|
|
71
|
-
this.moved.emit(position);
|
|
72
|
-
}
|
|
73
|
-
/** @hidden */
|
|
74
|
-
onCdkDragReleased() {
|
|
75
|
-
/** Remove class which is added, when element is dragged */
|
|
76
|
-
this.elementRef.nativeElement.classList.remove(this.classWhenElementDragged);
|
|
77
|
-
this.released.emit();
|
|
78
|
-
/** Resets the position of element. */
|
|
79
|
-
this._dragRef.reset();
|
|
80
|
-
/** Removes placeholder element */
|
|
81
|
-
this.removePlaceholder();
|
|
82
|
-
}
|
|
83
|
-
/** @hidden */
|
|
84
|
-
onCdkDragStart() {
|
|
85
|
-
/** Adds class */
|
|
86
|
-
this.elementRef.nativeElement.classList.add(this.classWhenElementDragged);
|
|
87
|
-
if (!this._placeholderElement) {
|
|
88
|
-
this.createPlaceholder();
|
|
89
|
-
}
|
|
90
|
-
this.started.emit();
|
|
91
|
-
}
|
|
92
|
-
/** @hidden */
|
|
93
|
-
removePlaceholder() {
|
|
94
|
-
if (this._placeholderElement && this._placeholderElement.parentNode) {
|
|
95
|
-
// IE11 workaround
|
|
96
|
-
this._placeholderElement.parentNode.removeChild(this._placeholderElement);
|
|
97
|
-
this._placeholderElement = null;
|
|
98
|
-
}
|
|
99
|
-
}
|
|
100
|
-
/** @hidden */
|
|
101
|
-
removeLine() {
|
|
102
|
-
if (this._lineElement && this._lineElement.parentNode) {
|
|
103
|
-
// IE11 workaround
|
|
104
|
-
this._lineElement.parentNode.removeChild(this._lineElement);
|
|
105
|
-
this._lineElement = null;
|
|
106
|
-
}
|
|
107
|
-
}
|
|
108
|
-
/** @hidden */
|
|
109
|
-
removeReplaceIndicator() {
|
|
110
|
-
if (this._replaceIndicator && this._replaceIndicator.parentNode) {
|
|
111
|
-
// IE11 workaround
|
|
112
|
-
this._replaceIndicator.parentNode.removeChild(this._replaceIndicator);
|
|
113
|
-
this._replaceIndicator = null;
|
|
114
|
-
}
|
|
115
|
-
}
|
|
116
|
-
/** @hidden */
|
|
117
|
-
createReplaceIndicator() {
|
|
118
|
-
this._replaceIndicator = document.createElement('DIV');
|
|
119
|
-
this._replaceIndicator.classList.add('fd-replace-indicator');
|
|
120
|
-
let container = this.elementRef.nativeElement;
|
|
121
|
-
if (this.containerSelector) {
|
|
122
|
-
const newContainer = this.elementRef.nativeElement.querySelector(this.containerSelector);
|
|
123
|
-
if (newContainer) {
|
|
124
|
-
container = newContainer;
|
|
125
|
-
}
|
|
126
|
-
}
|
|
127
|
-
container.appendChild(this._replaceIndicator);
|
|
128
|
-
}
|
|
129
|
-
/** @hidden */
|
|
130
|
-
createLine(position, gridMode) {
|
|
131
|
-
/** Creating of line element */
|
|
132
|
-
this._lineElement = document.createElement('div');
|
|
133
|
-
this._lineElement.classList.add('drop-area__line');
|
|
134
|
-
if (gridMode) {
|
|
135
|
-
this._lineElement.classList.add('drop-area__line--vertical');
|
|
136
|
-
}
|
|
137
|
-
else {
|
|
138
|
-
this._lineElement.classList.add('drop-area__line--horizontal');
|
|
139
|
-
}
|
|
140
|
-
if (position === 'after') {
|
|
141
|
-
this._lineElement.classList.add('after');
|
|
142
|
-
}
|
|
143
|
-
if (position === 'before') {
|
|
144
|
-
this._lineElement.classList.add('before');
|
|
145
|
-
}
|
|
146
|
-
/** Putting element to the container */
|
|
147
|
-
let container = this.elementRef.nativeElement;
|
|
148
|
-
if (this.containerSelector) {
|
|
149
|
-
const newContainer = this.elementRef.nativeElement.querySelector(this.containerSelector);
|
|
150
|
-
if (newContainer) {
|
|
151
|
-
container = newContainer;
|
|
152
|
-
}
|
|
153
|
-
}
|
|
154
|
-
container.appendChild(this._lineElement);
|
|
155
|
-
}
|
|
156
|
-
/** @hidden */
|
|
157
|
-
changeCDKDragState() {
|
|
158
|
-
if (this._dragRef) {
|
|
159
|
-
this._dragRef.disabled = !(this._draggable && this.listDraggable);
|
|
160
|
-
}
|
|
161
|
-
}
|
|
162
|
-
/**
|
|
163
|
-
* Sets the disabled state of the dnd item.
|
|
164
|
-
* @param state
|
|
165
|
-
*/
|
|
166
|
-
setDisabledState(state) {
|
|
167
|
-
if (state) {
|
|
168
|
-
this._renderer.addClass(this.elementRef.nativeElement, 'fd-dnd-item--disabled');
|
|
169
|
-
}
|
|
170
|
-
else {
|
|
171
|
-
this._renderer.removeClass(this.elementRef.nativeElement, 'fd-dnd-item--disabled');
|
|
172
|
-
}
|
|
173
|
-
}
|
|
174
|
-
/** @hidden */
|
|
175
|
-
createPlaceholder() {
|
|
176
|
-
const placeholder = this.elementRef.nativeElement.cloneNode(true);
|
|
177
|
-
/** Cloning container element */
|
|
178
|
-
this._placeholderElement = placeholder;
|
|
179
|
-
placeholder.classList.add('fd-dnd-placeholder');
|
|
180
|
-
this._setPlaceholderStyles();
|
|
181
|
-
/** Including element to the container
|
|
182
|
-
* IE11 equivalent to `this.element.nativeElement.after(clone);`
|
|
183
|
-
*/
|
|
184
|
-
this._placeAfter(this.elementRef.nativeElement, placeholder);
|
|
185
|
-
}
|
|
186
|
-
/** @hidden */
|
|
187
|
-
_setPlaceholderStyles() {
|
|
188
|
-
const offset = this._getOffsetToParent(this.elementRef.nativeElement);
|
|
189
|
-
if (!offset || !this._placeholderElement) {
|
|
190
|
-
return;
|
|
191
|
-
}
|
|
192
|
-
this._placeholderElement.style.top = offset.y + 'px';
|
|
193
|
-
this._placeholderElement.style.left = offset.x + 'px';
|
|
194
|
-
this._placeholderElement.style.position = 'absolute';
|
|
195
|
-
this._placeholderElement.style.zIndex = '0';
|
|
196
|
-
this._placeholderElement.style.opacity = '0.3';
|
|
197
|
-
this._placeholderElement.style.width = this.elementRef.nativeElement.offsetWidth + 'px';
|
|
198
|
-
this._placeholderElement.style.height = this.elementRef.nativeElement.offsetHeight + 'px';
|
|
199
|
-
}
|
|
200
|
-
/** @hidden */
|
|
201
|
-
_getOffsetToParent(element) {
|
|
202
|
-
const parentElement = element.parentElement;
|
|
203
|
-
if (!parentElement) {
|
|
204
|
-
return;
|
|
205
|
-
}
|
|
206
|
-
const parentTop = parentElement.getBoundingClientRect().top;
|
|
207
|
-
const parentLeft = parentElement.getBoundingClientRect().left;
|
|
208
|
-
return {
|
|
209
|
-
x: Math.abs(element.getBoundingClientRect().left - parentLeft),
|
|
210
|
-
y: Math.abs(element.getBoundingClientRect().top - parentTop)
|
|
211
|
-
};
|
|
212
|
-
}
|
|
213
|
-
/** @hidden */
|
|
214
|
-
_setCDKDrag() {
|
|
215
|
-
this._dragRef = this._dragDrop.createDrag(this.elementRef);
|
|
216
|
-
this._dragRef.disabled = !this._draggable;
|
|
217
|
-
this._subscriptions.add(this._dragRef.moved.subscribe((event) => this.onCdkMove(event.pointerPosition)));
|
|
218
|
-
this._subscriptions.add(this._dragRef.released.subscribe(() => this.onCdkDragReleased()));
|
|
219
|
-
this._subscriptions.add(this._dragRef.started.subscribe(() => this.onCdkDragStart()));
|
|
220
|
-
}
|
|
221
|
-
/** IE11 equivalent of Node.after() Method */
|
|
222
|
-
_placeAfter(element, cloneNode) {
|
|
223
|
-
const docFrag = document.createDocumentFragment();
|
|
224
|
-
docFrag.appendChild(cloneNode);
|
|
225
|
-
element.parentNode?.insertBefore(docFrag, element.nextSibling);
|
|
226
|
-
}
|
|
227
|
-
/** @hidden */
|
|
228
|
-
_listenElementEvents() {
|
|
229
|
-
this._subscriptions.add(this.released
|
|
230
|
-
.pipe(
|
|
231
|
-
// postpone blur
|
|
232
|
-
delay(0))
|
|
233
|
-
.subscribe(() => {
|
|
234
|
-
if (this.containerSelector) {
|
|
235
|
-
this.elementRef.nativeElement.children[0].blur();
|
|
236
|
-
}
|
|
237
|
-
this.elementRef.nativeElement.blur();
|
|
238
|
-
}));
|
|
239
|
-
}
|
|
240
|
-
}
|
|
241
|
-
DndItemDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: DndItemDirective, deps: [{ token: i0.ElementRef }, { token: i1.DragDrop }, { token: i0.Renderer2 }], target: i0.ɵɵFactoryTarget.Directive });
|
|
242
|
-
DndItemDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.2.9", type: DndItemDirective, selector: "[fdkDndItem], [fd-dnd-item]", inputs: { item: ["fdkDndItem", "item"], applyDragItemClass: "applyDragItemClass", containerSelector: "containerSelector", stickInPlace: "stickInPlace", draggable: "draggable", classWhenElementDragged: "classWhenElementDragged" }, outputs: { moved: "moved", released: "released", started: "started" }, host: { properties: { "class.fd-dnd-item": "this.applyDragItemClass" } }, providers: [DragDrop, { provide: DND_ITEM, useExisting: forwardRef(() => DndItemDirective) }], ngImport: i0 });
|
|
243
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: DndItemDirective, decorators: [{
|
|
244
|
-
type: Directive,
|
|
245
|
-
args: [{
|
|
246
|
-
selector: '[fdkDndItem], [fd-dnd-item]',
|
|
247
|
-
providers: [DragDrop, { provide: DND_ITEM, useExisting: forwardRef(() => DndItemDirective) }]
|
|
248
|
-
}]
|
|
249
|
-
}], ctorParameters: function () { return [{ type: i0.ElementRef }, { type: i1.DragDrop }, { type: i0.Renderer2 }]; }, propDecorators: { item: [{
|
|
250
|
-
type: Input,
|
|
251
|
-
args: ['fdkDndItem']
|
|
252
|
-
}], applyDragItemClass: [{
|
|
253
|
-
type: Input
|
|
254
|
-
}, {
|
|
255
|
-
type: HostBinding,
|
|
256
|
-
args: ['class.fd-dnd-item']
|
|
257
|
-
}], containerSelector: [{
|
|
258
|
-
type: Input
|
|
259
|
-
}], moved: [{
|
|
260
|
-
type: Output
|
|
261
|
-
}], released: [{
|
|
262
|
-
type: Output
|
|
263
|
-
}], started: [{
|
|
264
|
-
type: Output
|
|
265
|
-
}], stickInPlace: [{
|
|
266
|
-
type: Input
|
|
267
|
-
}], draggable: [{
|
|
268
|
-
type: Input
|
|
269
|
-
}], classWhenElementDragged: [{
|
|
270
|
-
type: Input
|
|
271
|
-
}] } });
|
|
272
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZG5kLWl0ZW0uZGlyZWN0aXZlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jZGsvc3JjL2xpYi91dGlscy9kcmFnLWFuZC1kcm9wL2RuZC1pdGVtL2RuZC1pdGVtLmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBRUgsU0FBUyxFQUNULFVBQVUsRUFDVixZQUFZLEVBQ1osVUFBVSxFQUNWLFdBQVcsRUFDWCxLQUFLLEVBRUwsTUFBTSxFQUNOLFNBQVMsRUFDWixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUUsUUFBUSxFQUFXLE1BQU0sd0JBQXdCLENBQUM7QUFFM0QsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUNwQyxPQUFPLEVBQUUsS0FBSyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDdkMsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLFdBQVcsQ0FBQzs7O0FBT3JDLE1BQU0sT0FBTyxnQkFBZ0I7SUFtQ3pCLHNDQUFzQztJQUN0QyxJQUNJLFNBQVMsQ0FBQyxTQUFrQjtRQUM1QixJQUFJLENBQUMsVUFBVSxHQUFHLFNBQVMsQ0FBQztRQUM1QixJQUFJLENBQUMsa0JBQWtCLEVBQUUsQ0FBQztJQUM5QixDQUFDO0lBNkJELGNBQWM7SUFDZCxZQUNvQixVQUFzQixFQUNyQixTQUFtQixFQUNuQixTQUFvQjtRQUZyQixlQUFVLEdBQVYsVUFBVSxDQUFZO1FBQ3JCLGNBQVMsR0FBVCxTQUFTLENBQVU7UUFDbkIsY0FBUyxHQUFULFNBQVMsQ0FBVztRQXJFekM7OztXQUdHO1FBR0gsdUJBQWtCLEdBQUcsSUFBSSxDQUFDO1FBTTFCLG9EQUFvRDtRQUUzQyxVQUFLLEdBQUcsSUFBSSxZQUFZLEVBQW1CLENBQUM7UUFFckQsZ0RBQWdEO1FBRXZDLGFBQVEsR0FBRyxJQUFJLFlBQVksRUFBUSxDQUFDO1FBRTdDLDZEQUE2RDtRQUVwRCxZ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QUFDLENBQUMsQ0FBQyxJQUFJLEVBQUUsQ0FBQzthQUNwRDtZQUNELElBQUksQ0FBQyxVQUFVLENBQUMsYUFBYSxDQUFDLElBQUksRUFBRSxDQUFDO1FBQ3pDLENBQUMsQ0FBQyxDQUNULENBQUM7SUFDTixDQUFDOzs2R0FuVFEsZ0JBQWdCO2lHQUFoQixnQkFBZ0IsNmFBRmQsQ0FBQyxRQUFRLEVBQUUsRUFBRSxPQUFPLEVBQUUsUUFBUSxFQUFFLFdBQVcsRUFBRSxVQUFVLENBQUMsR0FBRyxFQUFFLENBQUMsZ0JBQWdCLENBQUMsRUFBRSxDQUFDOzJGQUVwRixnQkFBZ0I7a0JBSjVCLFNBQVM7bUJBQUM7b0JBQ1AsUUFBUSxFQUFFLDZCQUE2QjtvQkFDdkMsU0FBUyxFQUFFLENBQUMsUUFBUSxFQUFFLEVBQUUsT0FBTyxFQUFFLFFBQVEsRUFBRSxXQUFXLEVBQUUsVUFBVSxDQUFDLEdBQUcsRUFBRSxpQkFBaUIsQ0FBQyxFQUFFLENBQUM7aUJBQ2hHO2dKQUlHLElBQUk7c0JBREgsS0FBSzt1QkFBQyxZQUFZO2dCQVFuQixrQkFBa0I7c0JBRmpCLEtBQUs7O3NCQUNMLFdBQVc7dUJBQUMsbUJBQW1CO2dCQUtoQyxpQkFBaUI7c0JBRGhCLEtBQUs7Z0JBS0csS0FBSztzQkFEYixNQUFNO2dCQUtFLFFBQVE7c0JBRGhCLE1BQU07Z0JBS0UsT0FBTztzQkFEZixNQUFNO2dCQVFQLFlBQVk7c0JBRFgsS0FBSztnQkFLRixTQUFTO3NCQURaLEtBQUs7Z0JBUU4sdUJBQXVCO3NCQUR0QixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgICBBZnRlckNvbnRlbnRJbml0LFxuICAgIERpcmVjdGl2ZSxcbiAgICBFbGVtZW50UmVmLFxuICAgIEV2ZW50RW1pdHRlcixcbiAgICBmb3J3YXJkUmVmLFxuICAgIEhvc3RCaW5kaW5nLFxuICAgIElucHV0LFxuICAgIE9uRGVzdHJveSxcbiAgICBPdXRwdXQsXG4gICAgUmVuZGVyZXIyXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgRHJhZ0Ryb3AsIERyYWdSZWYgfSBmcm9tICdAYW5ndWxhci9jZGsvZHJhZy1kcm9wJztcbmltcG9ydCB7IERuZEl0ZW0sIEVsZW1lbnRDaG9yZCwgRWxlbWVudFBvc2l0aW9uLCBMaW5rUG9zaXRpb24gfSBmcm9tICcuLi9kbmQuaW50ZXJmYWNlcyc7XG5pbXBvcnQgeyBTdWJzY3JpcHRpb24gfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IGRlbGF5IH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuaW1wb3J0IHsgRE5EX0lURU0gfSBmcm9tICcuLi90b2tlbnMnO1xuaW1wb3J0IHsgTnVsbGFibGUgfSBmcm9tICcuLi8uLi9tb2RlbHMvbnVsbGFibGUnO1xuXG5ARGlyZWN0aXZlKHtcbiAgICBzZWxlY3RvcjogJ1tmZGtEbmRJdGVtXSwgW2ZkLWRuZC1pdGVtXScsXG4gICAgcHJvdmlkZXJzOiBbRHJhZ0Ryb3AsIHsgcHJvdmlkZTogRE5EX0lURU0sIHVzZUV4aXN0aW5nOiBmb3J3YXJkUmVmKCgpID0+IERuZEl0ZW1EaXJlY3RpdmUpIH1dXG59KVxuZXhwb3J0IGNsYXNzIERuZEl0ZW1EaXJlY3RpdmU8VCA9IGFueT4gaW1wbGVtZW50cyBEbmRJdGVtLCBBZnRlckNvbnRlbnRJbml0LCBPbkRlc3Ryb3kge1xuICAgIC8qKiBJdGVtIHJlZmVyZW5jZS4gVXNlZCBmb3IgY2FzZXMgd2hlbiBgW2l0ZW1zXWAgYXJyYXkgb2YgZG5kIGxpc3QgaXMgZGlmZmVyZW50IHRoYW4gYGRuZEl0ZW1zYCBjb250ZW50IGNoaWxkcmVuLiAqL1xuICAgIEBJbnB1dCgnZmRrRG5kSXRlbScpXG4gICAgaXRlbTogTnVsbGFibGU8VD47XG4gICAgLyoqXG4gICAgICogV2hldGhlciB0byBhcHBseSBcImZkLWRuZC1pdGVtXCIgY2xhc3MuXG4gICAgICogQGRlZmF1bHQgdHJ1ZVxuICAgICAqL1xuICAgIEBJbnB1dCgpXG4gICAgQEhvc3RCaW5kaW5nKCdjbGFzcy5mZC1kbmQtaXRlbScpXG4gICAgYXBwbHlEcmFnSXRlbUNsYXNzID0gdHJ1ZTtcblxuICAgIC8qKiBDb250YWluZXIgc2VsZWN0b3IgKi9cbiAgICBASW5wdXQoKVxuICAgIGNvbnRhaW5lclNlbGVjdG9yPzogc3RyaW5nO1xuXG4gICAgLyoqIEV2ZW50IHRocm93biB3aGVuIHRoZSBlbGVtZW50IGlzIG1vdmVkIGJ5IDFweCAqL1xuICAgIEBPdXRwdXQoKVxuICAgIHJlYWRvbmx5IG1vdmVkID0gbmV3IEV2ZW50RW1pdHRlcjxFbGVtZW50UG9zaXRpb24+KCk7XG5cbiAgICAvKiogRXZlbnQgdGhyb3duIHdoZW4gdGhlIGVsZW1lbnQgaXMgcmVsZWFzZWQgKi9cbiAgICBAT3V0cHV0KClcbiAgICByZWFkb25seSByZWxlYXNlZCA9IG5ldyBFdmVudEVtaXR0ZXI8dm9pZD4oKTtcblxuICAgIC8qKiBFdmVudCB0aHJvd24gd2hlbiB0aGUgZWxlbWVudCBpcyBzdGFydGVkIHRvIGJlIGRyYWdnZWQgKi9cbiAgICBAT3V0cHV0KClcbiAgICByZWFkb25seSBzdGFydGVkID0gbmV3IEV2ZW50RW1pdHRlcjx2b2lkPigpO1xuXG4gICAgLyoqXG4gICAgICogIERlZmluZXMgaWYgdGhlIGl0ZW0gaXMgcHJldmVudGVkIGZyb20gYmVpbmcgbW92ZWQgYnkgb3RoZXIgZWxlbWVudHMuXG4gICAgICogU28gbm90aGluZyBjYW4gYmUgcGxhY2VkIGp1c3QgYmVmb3JlIGFuZCBqdXN0IGFmdGVyIGl0XG4gICAgICovXG4gICAgQElucHV0KClcbiAgICBzdGlja0luUGxhY2UgPSBmYWxzZTtcblxuICAgIC8qKiBEZWZpbmVzIGlmIGVsZW1lbnQgaXMgZHJhZ2dhYmxlICovXG4gICAgQElucHV0KClcbiAgICBzZXQgZHJhZ2dhYmxlKGRyYWdnYWJsZTogYm9vbGVhbikge1xuICAgICAgICB0aGlzLl9kcmFnZ2FibGUgPSBkcmFnZ2FibGU7XG4gICAgICAgIHRoaXMuY2hhbmdlQ0RLRHJhZ1N0YXRlKCk7XG4gICAgfVxuXG4gICAgLyoqIENsYXNzIGFkZGVkIHRvIGVsZW1lbnQsIHdoZW4gaXQncyBkcmFnZ2VkLiAqL1xuICAgIEBJbnB1dCgpXG4gICAgY2xhc3NXaGVuRWxlbWVudERyYWdnZWQgPSAnZmQtZG5kLW9uLWRyYWcnO1xuXG4gICAgLyoqIERlZmluZXMgaWYgZXZlcnkgZWxlbWVudCBpbiBsaXN0IGlzIGRyYWdnYWJsZSAqL1xuICAgIGxpc3REcmFnZ2FibGUgPSB0cnVlO1xuXG4gICAgLyoqIEBoaWRkZW5cbiAgICAgKiBEcmFnIHJlZmVyZW5jZSwgb2JqZWN0IGNyZWF0ZWQgZnJvbSBETkQgQ0RLIFNlcnZpY2VcbiAgICAgKi9cbiAgICBwcml2YXRlIF9kcmFnUmVmOiBEcmFnUmVmO1xuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBwcml2YXRlIF9kcmFnZ2FibGUgPSB0cnVlO1xuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBwcml2YXRlIF9zdWJzY3JpcHRpb25zID0gbmV3IFN1YnNjcmlwdGlvbigpO1xuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBwcml2YXRlIF9wbGFjZWhvbGRlckVsZW1lbnQ6IEhUTUxFbGVtZW50IHwgbnVsbDtcblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgcHJpdmF0ZSBfbGluZUVsZW1lbnQ6IEhUTUxFbGVtZW50IHwgbnVsbDtcblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgcHJpdmF0ZSBfcmVwbGFjZUluZGljYXRvcjogSFRNTEVsZW1lbnQgfCBudWxsO1xuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBjb25zdHJ1Y3RvcihcbiAgICAgICAgcHVibGljIHJlYWRvbmx5IGVsZW1lbnRSZWY6IEVsZW1lbnRSZWYsXG4gICAgICAgIHByaXZhdGUgcmVhZG9ubHkgX2RyYWdEcm9wOiBEcmFnRHJvcCxcbiAgICAgICAgcHJpdmF0ZSByZWFkb25seSBfcmVuZGVyZXI6IFJlbmRlcmVyMlxuICAgICkge31cblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgZ2V0RWxlbWVudENvb3JkaW5hdGVzKGlzQmVmb3JlOiBib29sZWFuKTogRWxlbWVudENob3JkIHtcbiAgICAgICAgLyoqIFRha2VzIGRpc3RhbmNlIGZyb20gdGhlIGJlZ2lubmluZyBvZiB3aW5kb3cgcGFnZSAqL1xuICAgICAgICBjb25zdCByZWN0OiBET01SZWN0ID0gdGhpcy5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCk7XG5cbiAgICAgICAgY29uc3QgcG9zaXRpb246IExpbmtQb3NpdGlvbiA9IGlzQmVmb3JlID8gJ2JlZm9yZScgOiAnYWZ0ZXInO1xuXG4gICAgICAgIC8qKiBWZXJ0aWNhbGx5IGRpc3RhbmNlIGlzIGNvdW50ZWQgYnkgZGlzdGFuY2UgZnJvbSB0b3Agb2YgdGhlIHNpZGUgKyBoYWxmIG9mIHRoZSBlbGVtZW50IGhlaWdodCAqL1xuICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgeDogcmVjdC5sZWZ0LFxuICAgICAgICAgICAgcG9zaXRpb24sXG4gICAgICAgICAgICB5OiByZWN0LnRvcCxcbiAgICAgICAgICAgIHN0aWNrVG9Qb3NpdGlvbjogdGhpcy5zdGlja0luUGxhY2UsXG4gICAgICAgICAgICB3aWR0aDogcmVjdC53aWR0aCxcbiAgICAgICAgICAgIGhlaWdodDogcmVjdC5oZWlnaHRcbiAgICAgICAgfTtcbiAgICB9XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIG5nQWZ0ZXJDb250ZW50SW5pdCgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5fc2V0Q0RLRHJhZygpO1xuICAgICAgICB0aGlzLl9saXN0ZW5FbGVtZW50RXZlbnRzKCk7XG4gICAgfVxuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBuZ09uRGVzdHJveSgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5fc3Vic2NyaXB0aW9ucy51bnN1YnNjcmliZSgpO1xuICAgICAgICB0aGlzLl9kcmFnUmVmLmRpc3Bvc2UoKTtcbiAgICB9XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIG9uQ2RrTW92ZShwb3NpdGlvbjogRWxlbWVudFBvc2l0aW9uKTogdm9pZCB7XG4gICAgICAgIHRoaXMubW92ZWQuZW1pdChwb3NpdGlvbik7XG4gICAgfVxuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBvbkNka0RyYWdSZWxlYXNlZCgpOiB2b2lkIHtcbiAgICAgICAgLyoqIFJlbW92ZSBjbGFzcyB3aGljaCBpcyBhZGRlZCwgd2hlbiBlbGVtZW50IGlzIGRyYWdnZWQgKi9cbiAgICAgICAgdGhpcy5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQuY2xhc3NMaXN0LnJlbW92ZSh0aGlzLmNsYXNzV2hlbkVsZW1lbnREcmFnZ2VkKTtcbiAgICAgICAgdGhpcy5yZWxlYXNlZC5lbWl0KCk7XG5cbiAgICAgICAgLyoqIFJlc2V0cyB0aGUgcG9zaXRpb24gb2YgZWxlbWVudC4gKi9cbiAgICAgICAgdGhpcy5fZHJhZ1JlZi5yZXNldCgpO1xuXG4gICAgICAgIC8qKiBSZW1vdmVzIHBsYWNlaG9sZGVyIGVsZW1lbnQgKi9cbiAgICAgICAgdGhpcy5yZW1vdmVQbGFjZWhvbGRlcigpO1xuICAgIH1cblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgb25DZGtEcmFnU3RhcnQoKTogdm9pZCB7XG4gICAgICAgIC8qKiBBZGRzIGNsYXNzICovXG4gICAgICAgIHRoaXMuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LmNsYXNzTGlzdC5hZGQodGhpcy5jbGFzc1doZW5FbGVtZW50RHJhZ2dlZCk7XG5cbiAgICAgICAgaWYgKCF0aGlzLl9wbGFjZWhvbGRlckVsZW1lbnQpIHtcbiAgICAgICAgICAgIHRoaXMuY3JlYXRlUGxhY2Vob2xkZXIoKTtcbiAgICAgICAgfVxuICAgICAgICB0aGlzLnN0YXJ0ZWQuZW1pdCgpO1xuICAgIH1cblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgcmVtb3ZlUGxhY2Vob2xkZXIoKTogdm9pZCB7XG4gICAgICAgIGlmICh0aGlzLl9wbGFjZWhvbGRlckVsZW1lbnQgJiYgdGhpcy5fcGxhY2Vob2xkZXJFbGVtZW50LnBhcmVudE5vZGUpIHtcbiAgICAgICAgICAgIC8vIElFMTEgd29ya2Fyb3VuZFxuICAgICAgICAgICAgdGhpcy5fcGxhY2Vob2xkZXJFbGVtZW50LnBhcmVudE5vZGUucmVtb3ZlQ2hpbGQodGhpcy5fcGxhY2Vob2xkZXJFbGVtZW50KTtcbiAgICAgICAgICAgIHRoaXMuX3BsYWNlaG9sZGVyRWxlbWVudCA9IG51bGw7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIHJlbW92ZUxpbmUoKTogdm9pZCB7XG4gICAgICAgIGlmICh0aGlzLl9saW5lRWxlbWVudCAmJiB0aGlzLl9saW5lRWxlbWVudC5wYXJlbnROb2RlKSB7XG4gICAgICAgICAgICAvLyBJRTExIHdvcmthcm91bmRcbiAgICAgICAgICAgIHRoaXMuX2xpbmVFbGVtZW50LnBhcmVudE5vZGUucmVtb3ZlQ2hpbGQodGhpcy5fbGluZUVsZW1lbnQpO1xuICAgICAgICAgICAgdGhpcy5fbGluZUVsZW1lbnQgPSBudWxsO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICByZW1vdmVSZXBsYWNlSW5kaWNhdG9yKCk6IHZvaWQge1xuICAgICAgICBpZiAodGhpcy5fcmVwbGFjZUluZGljYXRvciAmJiB0aGlzLl9yZXBsYWNlSW5kaWNhdG9yLnBhcmVudE5vZGUpIHtcbiAgICAgICAgICAgIC8vIElFMTEgd29ya2Fyb3VuZFxuICAgICAgICAgICAgdGhpcy5fcmVwbGFjZUluZGljYXRvci5wYXJlbnROb2RlLnJlbW92ZUNoaWxkKHRoaXMuX3JlcGxhY2VJbmRpY2F0b3IpO1xuICAgICAgICAgICAgdGhpcy5fcmVwbGFjZUluZGljYXRvciA9IG51bGw7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIGNyZWF0ZVJlcGxhY2VJbmRpY2F0b3IoKTogdm9pZCB7XG4gICAgICAgIHRoaXMuX3JlcGxhY2VJbmRpY2F0b3IgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdESVYnKTtcbiAgICAgICAgdGhpcy5fcmVwbGFjZUluZGljYXRvci5jbGFzc0xpc3QuYWRkKCdmZC1yZXBsYWNlLWluZGljYXRvcicpO1xuXG4gICAgICAgIGxldCBjb250YWluZXIgPSB0aGlzLmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudDtcbiAgICAgICAgaWYgKHRoaXMuY29udGFpbmVyU2VsZWN0b3IpIHtcbiAgICAgICAgICAgIGNvbnN0IG5ld0NvbnRhaW5lciA9IHRoaXMuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LnF1ZXJ5U2VsZWN0b3IodGhpcy5jb250YWluZXJTZWxlY3Rvcik7XG4gICAgICAgICAgICBpZiAobmV3Q29udGFpbmVyKSB7XG4gICAgICAgICAgICAgICAgY29udGFpbmVyID0gbmV3Q29udGFpbmVyO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgY29udGFpbmVyLmFwcGVuZENoaWxkKHRoaXMuX3JlcGxhY2VJbmRpY2F0b3IpO1xuICAgIH1cblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgY3JlYXRlTGluZShwb3NpdGlvbjogTGlua1Bvc2l0aW9uLCBncmlkTW9kZTogYm9vbGVhbik6IHZvaWQge1xuICAgICAgICAvKiogQ3JlYXRpbmcgb2YgbGluZSBlbGVtZW50ICovXG4gICAgICAgIHRoaXMuX2xpbmVFbGVtZW50ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnZGl2Jyk7XG4gICAgICAgIHRoaXMuX2xpbmVFbGVtZW50LmNsYXNzTGlzdC5hZGQoJ2Ryb3AtYXJlYV9fbGluZScpO1xuXG4gICAgICAgIGlmIChncmlkTW9kZSkge1xuICAgICAgICAgICAgdGhpcy5fbGluZUVsZW1lbnQuY2xhc3NMaXN0LmFkZCgnZHJvcC1hcmVhX19saW5lLS12ZXJ0aWNhbCcpO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgdGhpcy5fbGluZUVsZW1lbnQuY2xhc3NMaXN0LmFkZCgnZHJvcC1hcmVhX19saW5lLS1ob3Jpem9udGFsJyk7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKHBvc2l0aW9uID09PSAnYWZ0ZXInKSB7XG4gICAgICAgICAgICB0aGlzLl9saW5lRWxlbWVudC5jbGFzc0xpc3QuYWRkKCdhZnRlcicpO1xuICAgICAgICB9XG4gICAgICAgIGlmIChwb3NpdGlvbiA9PT0gJ2JlZm9yZScpIHtcbiAgICAgICAgICAgIHRoaXMuX2xpbmVFbGVtZW50LmNsYXNzTGlzdC5hZGQoJ2JlZm9yZScpO1xuICAgICAgICB9XG5cbiAgICAgICAgLyoqIFB1dHRpbmcgZWxlbWVudCB0byB0aGUgY29udGFpbmVyICovXG4gICAgICAgIGxldCBjb250YWluZXIgPSB0aGlzLmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudDtcbiAgICAgICAgaWYgKHRoaXMuY29udGFpbmVyU2VsZWN0b3IpIHtcbiAgICAgICAgICAgIGNvbnN0IG5ld0NvbnRhaW5lciA9IHRoaXMuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LnF1ZXJ5U2VsZWN0b3IodGhpcy5jb250YWluZXJTZWxlY3Rvcik7XG4gICAgICAgICAgICBpZiAobmV3Q29udGFpbmVyKSB7XG4gICAgICAgICAgICAgICAgY29udGFpbmVyID0gbmV3Q29udGFpbmVyO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgY29udGFpbmVyLmFwcGVuZENoaWxkKHRoaXMuX2xpbmVFbGVtZW50KTtcbiAgICB9XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIGNoYW5nZUNES0RyYWdTdGF0ZSgpOiB2b2lkIHtcbiAgICAgICAgaWYgKHRoaXMuX2RyYWdSZWYpIHtcbiAgICAgICAgICAgIHRoaXMuX2RyYWdSZWYuZGlzYWJsZWQgPSAhKHRoaXMuX2RyYWdnYWJsZSAmJiB0aGlzLmxpc3REcmFnZ2FibGUpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogU2V0cyB0aGUgZGlzYWJsZWQgc3RhdGUgb2YgdGhlIGRuZCBpdGVtLlxuICAgICAqIEBwYXJhbSBzdGF0ZVxuICAgICAqL1xuICAgIHNldERpc2FibGVkU3RhdGUoc3RhdGU6IGJvb2xlYW4pOiB2b2lkIHtcbiAgICAgICAgaWYgKHN0YXRlKSB7XG4gICAgICAgICAgICB0aGlzLl9yZW5kZXJlci5hZGRDbGFzcyh0aGlzLmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudCwgJ2ZkLWRuZC1pdGVtLS1kaXNhYmxlZCcpO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgdGhpcy5fcmVuZGVyZXIucmVtb3ZlQ2xhc3ModGhpcy5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQsICdmZC1kbmQtaXRlbS0tZGlzYWJsZWQnKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgcHJpdmF0ZSBjcmVhdGVQbGFjZWhvbGRlcigpOiB2b2lkIHtcbiAgICAgICAgY29uc3QgcGxhY2Vob2xkZXIgPSB0aGlzLmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudC5jbG9uZU5vZGUodHJ1ZSk7XG4gICAgICAgIC8qKiBDbG9uaW5nIGNvbnRhaW5lciBlbGVtZW50ICovXG4gICAgICAgIHRoaXMuX3BsYWNlaG9sZGVyRWxlbWVudCA9IHBsYWNlaG9sZGVyO1xuXG4gICAgICAgIHBsYWNlaG9sZGVyLmNsYXNzTGlzdC5hZGQoJ2ZkLWRuZC1wbGFjZWhvbGRlcicpO1xuICAgICAgICB0aGlzLl9zZXRQbGFjZWhvbGRlclN0eWxlcygpO1xuXG4gICAgICAgIC8qKiBJbmNsdWRpbmcgZWxlbWVudCB0byB0aGUgY29udGFpbmVyXG4gICAgICAgICAqICBJRTExIGVxdWl2YWxlbnQgdG8gYHRoaXMuZWxlbWVudC5uYXRpdmVFbGVtZW50LmFmdGVyKGNsb25lKTtgXG4gICAgICAgICAqL1xuICAgICAgICB0aGlzLl9wbGFjZUFmdGVyKHRoaXMuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LCBwbGFjZWhvbGRlcik7XG4gICAgfVxuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBwcml2YXRlIF9zZXRQbGFjZWhvbGRlclN0eWxlcygpOiB2b2lkIHtcbiAgICAgICAgY29uc3Qgb2Zmc2V0ID0gdGhpcy5fZ2V0T2Zmc2V0VG9QYXJlbnQodGhpcy5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQpO1xuXG4gICAgICAgIGlmICghb2Zmc2V0IHx8ICF0aGlzLl9wbGFjZWhvbGRlckVsZW1lbnQpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuXG4gICAgICAgIHRoaXMuX3BsYWNlaG9sZGVyRWxlbWVudC5zdHlsZS50b3AgPSBvZmZzZXQueSArICdweCc7XG4gICAgICAgIHRoaXMuX3BsYWNlaG9sZGVyRWxlbWVudC5zdHlsZS5sZWZ0ID0gb2Zmc2V0LnggKyAncHgnO1xuICAgICAgICB0aGlzLl9wbGFjZWhvbGRlckVsZW1lbnQuc3R5bGUucG9zaXRpb24gPSAnYWJzb2x1dGUnO1xuICAgICAgICB0aGlzLl9wbGFjZWhvbGRlckVsZW1lbnQuc3R5bGUuekluZGV4ID0gJzAnO1xuICAgICAgICB0aGlzLl9wbGFjZWhvbGRlckVsZW1lbnQuc3R5bGUub3BhY2l0eSA9ICcwLjMnO1xuXG4gICAgICAgIHRoaXMuX3BsYWNlaG9sZGVyRWxlbWVudC5zdHlsZS53aWR0aCA9IHRoaXMuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50Lm9mZnNldFdpZHRoICsgJ3B4JztcbiAgICAgICAgdGhpcy5fcGxhY2Vob2xkZXJFbGVtZW50LnN0eWxlLmhlaWdodCA9IHRoaXMuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50Lm9mZnNldEhlaWdodCArICdweCc7XG4gICAgfVxuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBwcml2YXRlIF9nZXRPZmZzZXRUb1BhcmVudChlbGVtZW50OiBFbGVtZW50KTogeyB4OiBudW1iZXI7IHk6IG51bWJlciB9IHwgdW5kZWZpbmVkIHtcbiAgICAgICAgY29uc3QgcGFyZW50RWxlbWVudCA9IGVsZW1lbnQucGFyZW50RWxlbWVudDtcbiAgICAgICAgaWYgKCFwYXJlbnRFbGVtZW50KSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cblxuICAgICAgICBjb25zdCBwYXJlbnRUb3AgPSBwYXJlbnRFbGVtZW50LmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpLnRvcDtcbiAgICAgICAgY29uc3QgcGFyZW50TGVmdCA9IHBhcmVudEVsZW1lbnQuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCkubGVmdDtcblxuICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgeDogTWF0aC5hYnMoZWxlbWVudC5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKS5sZWZ0IC0gcGFyZW50TGVmdCksXG4gICAgICAgICAgICB5OiBNYXRoLmFicyhlbGVtZW50LmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpLnRvcCAtIHBhcmVudFRvcClcbiAgICAgICAgfTtcbiAgICB9XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIHByaXZhdGUgX3NldENES0RyYWcoKTogdm9pZCB7XG4gICAgICAgIHRoaXMuX2RyYWdSZWYgPSB0aGlzLl9kcmFnRHJvcC5jcmVhdGVEcmFnKHRoaXMuZWxlbWVudFJlZik7XG4gICAgICAgIHRoaXMuX2RyYWdSZWYuZGlzYWJsZWQgPSAhdGhpcy5fZHJhZ2dhYmxlO1xuICAgICAgICB0aGlzLl9zdWJzY3JpcHRpb25zLmFkZCh0aGlzLl9kcmFnUmVmLm1vdmVkLnN1YnNjcmliZSgoZXZlbnQpID0+IHRoaXMub25DZGtNb3ZlKGV2ZW50LnBvaW50ZXJQb3NpdGlvbikpKTtcbiAgICAgICAgdGhpcy5fc3Vic2NyaXB0aW9ucy5hZGQodGhpcy5fZHJhZ1JlZi5yZWxlYXNlZC5zdWJzY3JpYmUoKCkgPT4gdGhpcy5vbkNka0RyYWdSZWxlYXNlZCgpKSk7XG4gICAgICAgIHRoaXMuX3N1YnNjcmlwdGlvbnMuYWRkKHRoaXMuX2RyYWdSZWYuc3RhcnRlZC5zdWJzY3JpYmUoKCkgPT4gdGhpcy5vbkNka0RyYWdTdGFydCgpKSk7XG4gICAgfVxuXG4gICAgLyoqIElFMTEgZXF1aXZhbGVudCBvZiBOb2RlLmFmdGVyKCkgTWV0aG9kICovXG4gICAgcHJpdmF0ZSBfcGxhY2VBZnRlcihlbGVtZW50OiBFbGVtZW50LCBjbG9uZU5vZGU6IE5vZGUpOiB2b2lkIHtcbiAgICAgICAgY29uc3QgZG9jRnJhZyA9IGRvY3VtZW50LmNyZWF0ZURvY3VtZW50RnJhZ21lbnQoKTtcbiAgICAgICAgZG9jRnJhZy5hcHBlbmRDaGlsZChjbG9uZU5vZGUpO1xuICAgICAgICBlbGVtZW50LnBhcmVudE5vZGU/Lmluc2VydEJlZm9yZShkb2NGcmFnLCBlbGVtZW50Lm5leHRTaWJsaW5nKTtcbiAgICB9XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIHByaXZhdGUgX2xpc3RlbkVsZW1lbnRFdmVudHMoKTogdm9pZCB7XG4gICAgICAgIHRoaXMuX3N1YnNjcmlwdGlvbnMuYWRkKFxuICAgICAgICAgICAgdGhpcy5yZWxlYXNlZFxuICAgICAgICAgICAgICAgIC5waXBlKFxuICAgICAgICAgICAgICAgICAgICAvLyBwb3N0cG9uZSBibHVyXG4gICAgICAgICAgICAgICAgICAgIGRlbGF5KDApXG4gICAgICAgICAgICAgICAgKVxuICAgICAgICAgICAgICAgIC5zdWJzY3JpYmUoKCkgPT4ge1xuICAgICAgICAgICAgICAgICAgICBpZiAodGhpcy5jb250YWluZXJTZWxlY3Rvcikge1xuICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQuY2hpbGRyZW5bMF0uYmx1cigpO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LmJsdXIoKTtcbiAgICAgICAgICAgICAgICB9KVxuICAgICAgICApO1xuICAgIH1cbn1cbiJdfQ==
|
|
@@ -1,5 +0,0 @@
|
|
|
1
|
-
/** Get document font size in pixels. */
|
|
2
|
-
export function getDocumentFontSize() {
|
|
3
|
-
return document?.documentElement ? parseFloat(getComputedStyle(document.documentElement).fontSize) : 16;
|
|
4
|
-
}
|
|
5
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2V0LWRvY3VtZW50LWZvbnQtc2l6ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY2RrL3NyYy9saWIvdXRpbHMvZnVuY3Rpb25zL2dldC1kb2N1bWVudC1mb250LXNpemUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsd0NBQXdDO0FBQ3hDLE1BQU0sVUFBVSxtQkFBbUI7SUFDL0IsT0FBTyxRQUFRLEVBQUUsZUFBZSxDQUFDLENBQUMsQ0FBQyxVQUFVLENBQUMsZ0JBQWdCLENBQUMsUUFBUSxDQUFDLGVBQWUsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUM7QUFDNUcsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qKiBHZXQgZG9jdW1lbnQgZm9udCBzaXplIGluIHBpeGVscy4gKi9cbmV4cG9ydCBmdW5jdGlvbiBnZXREb2N1bWVudEZvbnRTaXplKCk6IG51bWJlciB7XG4gICAgcmV0dXJuIGRvY3VtZW50Py5kb2N1bWVudEVsZW1lbnQgPyBwYXJzZUZsb2F0KGdldENvbXB1dGVkU3R5bGUoZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50KS5mb250U2l6ZSkgOiAxNjtcbn1cbiJdfQ==
|
|
@@ -1,32 +0,0 @@
|
|
|
1
|
-
import { Pipe } from '@angular/core';
|
|
2
|
-
import escape from 'lodash-es/escape';
|
|
3
|
-
import * as i0 from "@angular/core";
|
|
4
|
-
export class SearchHighlightPipe {
|
|
5
|
-
/** Highlight search term in string. */
|
|
6
|
-
transform(value, args, active = true, includeSpans = false) {
|
|
7
|
-
value = escape(value);
|
|
8
|
-
let result = value;
|
|
9
|
-
if (args && value && active) {
|
|
10
|
-
const testStr = escape(args.trim().toLowerCase());
|
|
11
|
-
const startIndex = value.toLowerCase().indexOf(testStr);
|
|
12
|
-
if (startIndex !== -1) {
|
|
13
|
-
const matchingString = value.substr(startIndex, testStr.length);
|
|
14
|
-
result = value.replace(matchingString, '<strong>' + matchingString + '</strong>');
|
|
15
|
-
}
|
|
16
|
-
}
|
|
17
|
-
if (includeSpans) {
|
|
18
|
-
result = '<span>' + result + '</span>';
|
|
19
|
-
}
|
|
20
|
-
return result;
|
|
21
|
-
}
|
|
22
|
-
}
|
|
23
|
-
SearchHighlightPipe.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: SearchHighlightPipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe });
|
|
24
|
-
SearchHighlightPipe.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "15.2.9", ngImport: i0, type: SearchHighlightPipe, isStandalone: true, name: "highlight" });
|
|
25
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: SearchHighlightPipe, decorators: [{
|
|
26
|
-
type: Pipe,
|
|
27
|
-
args: [{
|
|
28
|
-
name: 'highlight',
|
|
29
|
-
standalone: true
|
|
30
|
-
}]
|
|
31
|
-
}] });
|
|
32
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VhcmNoLWhpZ2hsaWdodC5waXBlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jZGsvc3JjL2xpYi91dGlscy9waXBlcy9zZWFyY2gtaGlnaGxpZ2h0LnBpcGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLElBQUksRUFBaUIsTUFBTSxlQUFlLENBQUM7QUFDcEQsT0FBTyxNQUFNLE1BQU0sa0JBQWtCLENBQUM7O0FBTXRDLE1BQU0sT0FBTyxtQkFBbUI7SUFDNUIsdUNBQXVDO0lBQ3ZDLFNBQVMsQ0FBQyxLQUFhLEVBQUUsSUFBWSxFQUFFLFNBQWtCLElBQUksRUFBRSxlQUF3QixLQUFLO1FBQ3hGLEtBQUssR0FBRyxNQUFNLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDdEIsSUFBSSxNQUFNLEdBQVcsS0FBSyxDQUFDO1FBQzNCLElBQUksSUFBSSxJQUFJLEtBQUssSUFBSSxNQUFNLEVBQUU7WUFDekIsTUFBTSxPQUFPLEdBQVcsTUFBTSxDQUFDLElBQUksQ0FBQyxJQUFJLEVBQUUsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxDQUFDO1lBQzFELE1BQU0sVUFBVSxHQUFHLEtBQUssQ0FBQyxXQUFXLEVBQUUsQ0FBQyxPQUFPLENBQUMsT0FBTyxDQUFDLENBQUM7WUFDeEQsSUFBSSxVQUFVLEtBQUssQ0FBQyxDQUFDLEVBQUU7Z0JBQ25CLE1BQU0sY0FBYyxHQUFHLEtBQUssQ0FBQyxNQUFNLENBQUMsVUFBVSxFQUFFLE9BQU8sQ0FBQyxNQUFNLENBQUMsQ0FBQztnQkFDaEUsTUFBTSxHQUFHLEtBQUssQ0FBQyxPQUFPLENBQUMsY0FBYyxFQUFFLFVBQVUsR0FBRyxjQUFjLEdBQUcsV0FBVyxDQUFDLENBQUM7YUFDckY7U0FDSjtRQUNELElBQUksWUFBWSxFQUFFO1lBQ2QsTUFBTSxHQUFHLFFBQVEsR0FBRyxNQUFNLEdBQUcsU0FBUyxDQUFDO1NBQzFDO1FBQ0QsT0FBTyxNQUFNLENBQUM7SUFDbEIsQ0FBQzs7Z0hBakJRLG1CQUFtQjs4R0FBbkIsbUJBQW1COzJGQUFuQixtQkFBbUI7a0JBSi9CLElBQUk7bUJBQUM7b0JBQ0YsSUFBSSxFQUFFLFdBQVc7b0JBQ2pCLFVBQVUsRUFBRSxJQUFJO2lCQUNuQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFBpcGUsIFBpcGVUcmFuc2Zvcm0gfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCBlc2NhcGUgZnJvbSAnbG9kYXNoLWVzL2VzY2FwZSc7XG5cbkBQaXBlKHtcbiAgICBuYW1lOiAnaGlnaGxpZ2h0JyxcbiAgICBzdGFuZGFsb25lOiB0cnVlXG59KVxuZXhwb3J0IGNsYXNzIFNlYXJjaEhpZ2hsaWdodFBpcGUgaW1wbGVtZW50cyBQaXBlVHJhbnNmb3JtIHtcbiAgICAvKiogSGlnaGxpZ2h0IHNlYXJjaCB0ZXJtIGluIHN0cmluZy4gKi9cbiAgICB0cmFuc2Zvcm0odmFsdWU6IHN0cmluZywgYXJnczogc3RyaW5nLCBhY3RpdmU6IGJvb2xlYW4gPSB0cnVlLCBpbmNsdWRlU3BhbnM6IGJvb2xlYW4gPSBmYWxzZSk6IHN0cmluZyB7XG4gICAgICAgIHZhbHVlID0gZXNjYXBlKHZhbHVlKTtcbiAgICAgICAgbGV0IHJlc3VsdDogc3RyaW5nID0gdmFsdWU7XG4gICAgICAgIGlmIChhcmdzICYmIHZhbHVlICYmIGFjdGl2ZSkge1xuICAgICAgICAgICAgY29uc3QgdGVzdFN0cjogc3RyaW5nID0gZXNjYXBlKGFyZ3MudHJpbSgpLnRvTG93ZXJDYXNlKCkpO1xuICAgICAgICAgICAgY29uc3Qgc3RhcnRJbmRleCA9IHZhbHVlLnRvTG93ZXJDYXNlKCkuaW5kZXhPZih0ZXN0U3RyKTtcbiAgICAgICAgICAgIGlmIChzdGFydEluZGV4ICE9PSAtMSkge1xuICAgICAgICAgICAgICAgIGNvbnN0IG1hdGNoaW5nU3RyaW5nID0gdmFsdWUuc3Vic3RyKHN0YXJ0SW5kZXgsIHRlc3RTdHIubGVuZ3RoKTtcbiAgICAgICAgICAgICAgICByZXN1bHQgPSB2YWx1ZS5yZXBsYWNlKG1hdGNoaW5nU3RyaW5nLCAnPHN0cm9uZz4nICsgbWF0Y2hpbmdTdHJpbmcgKyAnPC9zdHJvbmc+Jyk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgaWYgKGluY2x1ZGVTcGFucykge1xuICAgICAgICAgICAgcmVzdWx0ID0gJzxzcGFuPicgKyByZXN1bHQgKyAnPC9zcGFuPic7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIHJlc3VsdDtcbiAgICB9XG59XG4iXX0=
|
|
@@ -1,108 +0,0 @@
|
|
|
1
|
-
export const toastConnectedTopPosition = {
|
|
2
|
-
originX: 'center',
|
|
3
|
-
originY: 'bottom',
|
|
4
|
-
overlayX: 'center',
|
|
5
|
-
overlayY: 'top',
|
|
6
|
-
offsetY: 16
|
|
7
|
-
};
|
|
8
|
-
export const toastConnectedTopLeftPosition = {
|
|
9
|
-
...toastConnectedTopPosition,
|
|
10
|
-
...{ overlayX: 'start', originX: 'start' }
|
|
11
|
-
};
|
|
12
|
-
export const toastConnectedTopRightPosition = {
|
|
13
|
-
...toastConnectedTopPosition,
|
|
14
|
-
...{ overlayX: 'end', originX: 'end' }
|
|
15
|
-
};
|
|
16
|
-
export const toastConnectedBottomPosition = {
|
|
17
|
-
originX: 'center',
|
|
18
|
-
originY: 'top',
|
|
19
|
-
overlayX: 'center',
|
|
20
|
-
overlayY: 'bottom',
|
|
21
|
-
offsetY: -16
|
|
22
|
-
};
|
|
23
|
-
export const toastConnectedBottomLeftPosition = {
|
|
24
|
-
...toastConnectedBottomPosition,
|
|
25
|
-
...{ overlayX: 'start', originX: 'start' }
|
|
26
|
-
};
|
|
27
|
-
export const toastConnectedBottomRightPosition = {
|
|
28
|
-
...toastConnectedBottomPosition,
|
|
29
|
-
...{ overlayX: 'end', originX: 'end' }
|
|
30
|
-
};
|
|
31
|
-
/**
|
|
32
|
-
* Base Toast Position class.
|
|
33
|
-
*/
|
|
34
|
-
export class BaseToastPosition {
|
|
35
|
-
}
|
|
36
|
-
/**
|
|
37
|
-
* Toast Position class.
|
|
38
|
-
* The first item will pop from the top-center of the screen.
|
|
39
|
-
* New items will stack after the first item.
|
|
40
|
-
*/
|
|
41
|
-
export class ToastTopCenterPosition extends BaseToastPosition {
|
|
42
|
-
}
|
|
43
|
-
/** @hidden */
|
|
44
|
-
ToastTopCenterPosition.global = {
|
|
45
|
-
top: '1rem',
|
|
46
|
-
center: true
|
|
47
|
-
};
|
|
48
|
-
/** @hidden */
|
|
49
|
-
ToastTopCenterPosition.connected = toastConnectedTopPosition;
|
|
50
|
-
/**
|
|
51
|
-
* Toast Position class.
|
|
52
|
-
* The first item will pop from the bottom-center of the screen.
|
|
53
|
-
* New items will stack before first item.
|
|
54
|
-
*/
|
|
55
|
-
export class ToastBottomCenterPosition extends BaseToastPosition {
|
|
56
|
-
}
|
|
57
|
-
/** @hidden */
|
|
58
|
-
ToastBottomCenterPosition.global = {
|
|
59
|
-
bottom: '1rem',
|
|
60
|
-
center: true
|
|
61
|
-
};
|
|
62
|
-
/** @hidden */
|
|
63
|
-
ToastBottomCenterPosition.connected = toastConnectedBottomPosition;
|
|
64
|
-
/**
|
|
65
|
-
* Toast Position class.
|
|
66
|
-
* The first item will pop from the top-left of the screen.
|
|
67
|
-
* New items will stack after first item.
|
|
68
|
-
*/
|
|
69
|
-
export class ToastTopLeftPosition extends ToastTopCenterPosition {
|
|
70
|
-
}
|
|
71
|
-
/** @hidden */
|
|
72
|
-
ToastTopLeftPosition.global = { ...ToastTopCenterPosition.global, ...{ left: '1rem', center: false } };
|
|
73
|
-
/** @hidden */
|
|
74
|
-
ToastTopLeftPosition.connected = toastConnectedTopLeftPosition;
|
|
75
|
-
/**
|
|
76
|
-
* Toast Position class.
|
|
77
|
-
* The first item will pop from the top-right of the screen.
|
|
78
|
-
* New items will stack after first item.
|
|
79
|
-
*/
|
|
80
|
-
export class ToastTopRightPosition extends ToastTopCenterPosition {
|
|
81
|
-
}
|
|
82
|
-
/** @hidden */
|
|
83
|
-
ToastTopRightPosition.global = { ...ToastTopCenterPosition.global, ...{ right: '1rem', center: false } };
|
|
84
|
-
/** @hidden */
|
|
85
|
-
ToastTopRightPosition.connected = toastConnectedTopRightPosition;
|
|
86
|
-
/**
|
|
87
|
-
* Toast Position class.
|
|
88
|
-
* The first item will pop from the bottom-left of the screen.
|
|
89
|
-
* New items will stack before first item.
|
|
90
|
-
*/
|
|
91
|
-
export class ToastBottomLeftPosition extends ToastBottomCenterPosition {
|
|
92
|
-
}
|
|
93
|
-
/** @hidden */
|
|
94
|
-
ToastBottomLeftPosition.global = { ...ToastBottomCenterPosition.global, ...{ left: '1rem', center: false } };
|
|
95
|
-
/** @hidden */
|
|
96
|
-
ToastBottomLeftPosition.connected = toastConnectedBottomLeftPosition;
|
|
97
|
-
/**
|
|
98
|
-
* Toast Position class.
|
|
99
|
-
* The first item will pop from the bottom-right of the screen.
|
|
100
|
-
* New items will stack before first item.
|
|
101
|
-
*/
|
|
102
|
-
export class ToastBottomRightPosition extends ToastBottomCenterPosition {
|
|
103
|
-
}
|
|
104
|
-
/** @hidden */
|
|
105
|
-
ToastBottomRightPosition.global = { ...ToastBottomCenterPosition.global, ...{ right: '1rem', center: false } };
|
|
106
|
-
/** @hidden */
|
|
107
|
-
ToastBottomRightPosition.connected = toastConnectedBottomRightPosition;
|
|
108
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFzZS10b2FzdC1wb3NpdGlvbnMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL2Nkay9zcmMvbGliL3V0aWxzL3RvYXN0L2Jhc2UtdG9hc3QtcG9zaXRpb25zLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQWVBLE1BQU0sQ0FBQyxNQUFNLHlCQUF5QixHQUFzQjtJQUN4RCxPQUFPLEVBQUUsUUFBUTtJQUNqQixPQUFPLEVBQUUsUUFBUTtJQUNqQixRQUFRLEVBQUUsUUFBUTtJQUNsQixRQUFRLEVBQUUsS0FBSztJQUNmLE9BQU8sRUFBRSxFQUFFO0NBQ2QsQ0FBQztBQUVGLE1BQU0sQ0FBQyxNQUFNLDZCQUE2QixHQUFzQjtJQUM1RCxHQUFHLHlCQUF5QjtJQUM1QixHQUFHLEVBQUUsUUFBUSxFQUFFLE9BQU8sRUFBRSxPQUFPLEVBQUUsT0FBTyxFQUFFO0NBQzdDLENBQUM7QUFFRixNQUFNLENBQUMsTUFBTSw4QkFBOEIsR0FBc0I7SUFDN0QsR0FBRyx5QkFBeUI7SUFDNUIsR0FBRyxFQUFFLFFBQVEsRUFBRSxLQUFLLEVBQUUsT0FBTyxFQUFFLEtBQUssRUFBRTtDQUN6QyxDQUFDO0FBRUYsTUFBTSxDQUFDLE1BQU0sNEJBQTRCLEdBQXNCO0lBQzNELE9BQU8sRUFBRSxRQUFRO0lBQ2pCLE9BQU8sRUFBRSxLQUFLO0lBQ2QsUUFBUSxFQUFFLFFBQVE7SUFDbEIsUUFBUSxFQUFFLFFBQVE7SUFDbEIsT0FBTyxFQUFFLENBQUMsRUFBRTtDQUNmLENBQUM7QUFFRixNQUFNLENBQUMsTUFBTSxnQ0FBZ0MsR0FBc0I7SUFDL0QsR0FBRyw0QkFBNEI7SUFDL0IsR0FBRyxFQUFFLFFBQVEsRUFBRSxPQUFPLEVBQUUsT0FBTyxFQUFFLE9BQU8sRUFBRTtDQUM3QyxDQUFDO0FBRUYsTUFBTSxDQUFDLE1BQU0saUNBQWlDLEdBQXNCO0lBQ2hFLEdBQUcsNEJBQTRCO0lBQy9CLEdBQUcsRUFBRSxRQUFRLEVBQUUsS0FBSyxFQUFFLE9BQU8sRUFBRSxLQUFLLEVBQUU7Q0FDekMsQ0FBQztBQUVGOztHQUVHO0FBQ0gsTUFBTSxPQUFnQixpQkFBaUI7Q0FjdEM7QUFFRDs7OztHQUlHO0FBQ0gsTUFBTSxPQUFPLHNCQUF1QixTQUFRLGlCQUFpQjs7QUFDekQsY0FBYztBQUNQLDZCQUFNLEdBQXdCO0lBQ2pDLEdBQUcsRUFBRSxNQUFNO0lBQ1gsTUFBTSxFQUFFLElBQUk7Q0FDZixDQUFDO0FBQ0YsY0FBYztBQUNQLGdDQUFTLEdBQXNCLHlCQUF5QixDQUFDO0FBR3BFOzs7O0dBSUc7QUFDSCxNQUFNLE9BQU8seUJBQTBCLFNBQVEsaUJBQWlCOztBQUM1RCxjQUFjO0FBQ1AsZ0NBQU0sR0FBd0I7SUFDakMsTUFBTSxFQUFFLE1BQU07SUFDZCxNQUFNLEVBQUUsSUFBSTtDQUNmLENBQUM7QUFDRixjQUFjO0FBQ1AsbUNBQVMsR0FBc0IsNEJBQTRCLENBQUM7QUFHdkU7Ozs7R0FJRztBQUNILE1BQU0sT0FBTyxvQkFBcUIsU0FBUSxzQkFBc0I7O0FBQzVELGNBQWM7QUFDRSwyQkFBTSxHQUFHLEVBQUUsR0FBRyxzQkFBc0IsQ0FBQyxNQUFNLEVBQUUsR0FBRyxFQUFFLElBQUksRUFBRSxNQUFNLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRSxFQUFFLENBQUM7QUFDbEcsY0FBYztBQUNFLDhCQUFTLEdBQXNCLDZCQUE2QixDQUFDO0FBR2pGOzs7O0dBSUc7QUFDSCxNQUFNLE9BQU8scUJBQXNCLFNBQVEsc0JBQXNCOztBQUM3RCxjQUFjO0FBQ0UsNEJBQU0sR0FBRyxFQUFFLEdBQUcsc0JBQXNCLENBQUMsTUFBTSxFQUFFLEdBQUcsRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUUsRUFBRSxDQUFDO0FBQ25HLGNBQWM7QUFDRSwrQkFBUyxHQUFzQiw4QkFBOEIsQ0FBQztBQUdsRjs7OztHQUlHO0FBQ0gsTUFBTSxPQUFPLHVCQUF3QixTQUFRLHlCQUF5Qjs7QUFDbEUsY0FBYztBQUNFLDhCQUFNLEdBQUcsRUFBRSxHQUFHLHlCQUF5QixDQUFDLE1BQU0sRUFBRSxHQUFHLEVBQUUsSUFBSSxFQUFFLE1BQU0sRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFLEVBQUUsQ0FBQztBQUNyRyxjQUFjO0FBQ0UsaUNBQVMsR0FBRyxnQ0FBZ0MsQ0FBQztBQUdqRTs7OztHQUlHO0FBQ0gsTUFBTSxPQUFPLHdCQUF5QixTQUFRLHlCQUF5Qjs7QUFDbkUsY0FBYztBQUNFLCtCQUFNLEdBQUcsRUFBRSxHQUFHLHlCQUF5QixDQUFDLE1BQU0sRUFBRSxHQUFHLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFLEVBQUUsQ0FBQztBQUN0RyxjQUFjO0FBQ0Usa0NBQVMsR0FBRyxpQ0FBaUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbm5lY3RlZFBvc2l0aW9uLCBTY3JvbGxTdHJhdGVneSB9IGZyb20gJ0Bhbmd1bGFyL2Nkay9vdmVybGF5JztcblxuZXhwb3J0IGludGVyZmFjZSBUb2FzdEdsb2JhbFBvc2l0aW9uIHtcbiAgICBsZWZ0Pzogc3RyaW5nO1xuICAgIHJpZ2h0Pzogc3RyaW5nO1xuICAgIGJvdHRvbT86IHN0cmluZztcbiAgICB0b3A/OiBzdHJpbmc7XG4gICAgY2VudGVyOiBib29sZWFuO1xuICAgIGNlbnRlclZlcnRpY2FsbHk/OiBib29sZWFuO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFRvYXN0R2xvYmFsQ29ubmVjdGVkUG9zaXRpb24gZXh0ZW5kcyBDb25uZWN0ZWRQb3NpdGlvbiB7XG4gICAgYm91bmRUbzogSFRNTEVsZW1lbnQ7XG59XG5cbmV4cG9ydCBjb25zdCB0b2FzdENvbm5lY3RlZFRvcFBvc2l0aW9uOiBDb25uZWN0ZWRQb3NpdGlvbiA9IHtcbiAgICBvcmlnaW5YOiAnY2VudGVyJyxcbiAgICBvcmlnaW5ZOiAnYm90dG9tJyxcbiAgICBvdmVybGF5WDogJ2NlbnRlcicsXG4gICAgb3ZlcmxheVk6ICd0b3AnLFxuICAgIG9mZnNldFk6IDE2XG59O1xuXG5leHBvcnQgY29uc3QgdG9hc3RDb25uZWN0ZWRUb3BMZWZ0UG9zaXRpb246IENvbm5lY3RlZFBvc2l0aW9uID0ge1xuICAgIC4uLnRvYXN0Q29ubmVjdGVkVG9wUG9zaXRpb24sXG4gICAgLi4ueyBvdmVybGF5WDogJ3N0YXJ0Jywgb3JpZ2luWDogJ3N0YXJ0JyB9XG59O1xuXG5leHBvcnQgY29uc3QgdG9hc3RDb25uZWN0ZWRUb3BSaWdodFBvc2l0aW9uOiBDb25uZWN0ZWRQb3NpdGlvbiA9IHtcbiAgICAuLi50b2FzdENvbm5lY3RlZFRvcFBvc2l0aW9uLFxuICAgIC4uLnsgb3ZlcmxheVg6ICdlbmQnLCBvcmlnaW5YOiAnZW5kJyB9XG59O1xuXG5leHBvcnQgY29uc3QgdG9hc3RDb25uZWN0ZWRCb3R0b21Qb3NpdGlvbjogQ29ubmVjdGVkUG9zaXRpb24gPSB7XG4gICAgb3JpZ2luWDogJ2NlbnRlcicsXG4gICAgb3JpZ2luWTogJ3RvcCcsXG4gICAgb3ZlcmxheVg6ICdjZW50ZXInLFxuICAgIG92ZXJsYXlZOiAnYm90dG9tJyxcbiAgICBvZmZzZXRZOiAtMTZcbn07XG5cbmV4cG9ydCBjb25zdCB0b2FzdENvbm5lY3RlZEJvdHRvbUxlZnRQb3NpdGlvbjogQ29ubmVjdGVkUG9zaXRpb24gPSB7XG4gICAgLi4udG9hc3RDb25uZWN0ZWRCb3R0b21Qb3NpdGlvbixcbiAgICAuLi57IG92ZXJsYXlYOiAnc3RhcnQnLCBvcmlnaW5YOiAnc3RhcnQnIH1cbn07XG5cbmV4cG9ydCBjb25zdCB0b2FzdENvbm5lY3RlZEJvdHRvbVJpZ2h0UG9zaXRpb246IENvbm5lY3RlZFBvc2l0aW9uID0ge1xuICAgIC4uLnRvYXN0Q29ubmVjdGVkQm90dG9tUG9zaXRpb24sXG4gICAgLi4ueyBvdmVybGF5WDogJ2VuZCcsIG9yaWdpblg6ICdlbmQnIH1cbn07XG5cbi8qKlxuICogQmFzZSBUb2FzdCBQb3NpdGlvbiBjbGFzcy5cbiAqL1xuZXhwb3J0IGFic3RyYWN0IGNsYXNzIEJhc2VUb2FzdFBvc2l0aW9uIHtcbiAgICAvKipcbiAgICAgKiBQb3NpdGlvbiBzdHJhdGVneSBvZiB0aGUgZmlyc3QgaXRlbS5cbiAgICAgKi9cbiAgICBnbG9iYWwhOiBUb2FzdEdsb2JhbFBvc2l0aW9uIHwgVG9hc3RHbG9iYWxDb25uZWN0ZWRQb3NpdGlvbjtcbiAgICAvKipcbiAgICAgKiBQb3NpdGlvbiBzdHJhdGVneSBvZiB0aGUgbmV3bHkgYWRkZWQgaXRlbXMuXG4gICAgICovXG4gICAgY29ubmVjdGVkITogQ29ubmVjdGVkUG9zaXRpb247XG5cbiAgICAvKipcbiAgICAgKiBTY3JvbGwgc3RyYXRlZ3kuIFVzZWQgd2hlbiBnbG9iYWwgcG9zaXRpb24gaXMgYm91bmQgdG8gc29tZSBIVE1MIGVsZW1lbnQgb24gdGhlIHBhZ2UuXG4gICAgICovXG4gICAgc2Nyb2xsUG9zaXRpb24/OiBTY3JvbGxTdHJhdGVneTtcbn1cblxuLyoqXG4gKiBUb2FzdCBQb3NpdGlvbiBjbGFzcy5cbiAqIFRoZSBmaXJzdCBpdGVtIHdpbGwgcG9wIGZyb20gdGhlIHRvcC1jZW50ZXIgb2YgdGhlIHNjcmVlbi5cbiAqIE5ldyBpdGVtcyB3aWxsIHN0YWNrIGFmdGVyIHRoZSBmaXJzdCBpdGVtLlxuICovXG5leHBvcnQgY2xhc3MgVG9hc3RUb3BDZW50ZXJQb3NpdGlvbiBleHRlbmRzIEJhc2VUb2FzdFBvc2l0aW9uIHtcbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIHN0YXRpYyBnbG9iYWw6IFRvYXN0R2xvYmFsUG9zaXRpb24gPSB7XG4gICAgICAgIHRvcDogJzFyZW0nLFxuICAgICAgICBjZW50ZXI6IHRydWVcbiAgICB9O1xuICAgIC8qKiBAaGlkZGVuICovXG4gICAgc3RhdGljIGNvbm5lY3RlZDogQ29ubmVjdGVkUG9zaXRpb24gPSB0b2FzdENvbm5lY3RlZFRvcFBvc2l0aW9uO1xufVxuXG4vKipcbiAqIFRvYXN0IFBvc2l0aW9uIGNsYXNzLlxuICogVGhlIGZpcnN0IGl0ZW0gd2lsbCBwb3AgZnJvbSB0aGUgYm90dG9tLWNlbnRlciBvZiB0aGUgc2NyZWVuLlxuICogTmV3IGl0ZW1zIHdpbGwgc3RhY2sgYmVmb3JlIGZpcnN0IGl0ZW0uXG4gKi9cbmV4cG9ydCBjbGFzcyBUb2FzdEJvdHRvbUNlbnRlclBvc2l0aW9uIGV4dGVuZHMgQmFzZVRvYXN0UG9zaXRpb24ge1xuICAgIC8qKiBAaGlkZGVuICovXG4gICAgc3RhdGljIGdsb2JhbDogVG9hc3RHbG9iYWxQb3NpdGlvbiA9IHtcbiAgICAgICAgYm90dG9tOiAnMXJlbScsXG4gICAgICAgIGNlbnRlcjogdHJ1ZVxuICAgIH07XG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBzdGF0aWMgY29ubmVjdGVkOiBDb25uZWN0ZWRQb3NpdGlvbiA9IHRvYXN0Q29ubmVjdGVkQm90dG9tUG9zaXRpb247XG59XG5cbi8qKlxuICogVG9hc3QgUG9zaXRpb24gY2xhc3MuXG4gKiBUaGUgZmlyc3QgaXRlbSB3aWxsIHBvcCBmcm9tIHRoZSB0b3AtbGVmdCBvZiB0aGUgc2NyZWVuLlxuICogTmV3IGl0ZW1zIHdpbGwgc3RhY2sgYWZ0ZXIgZmlyc3QgaXRlbS5cbiAqL1xuZXhwb3J0IGNsYXNzIFRvYXN0VG9wTGVmdFBvc2l0aW9uIGV4dGVuZHMgVG9hc3RUb3BDZW50ZXJQb3NpdGlvbiB7XG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBzdGF0aWMgb3ZlcnJpZGUgZ2xvYmFsID0geyAuLi5Ub2FzdFRvcENlbnRlclBvc2l0aW9uLmdsb2JhbCwgLi4ueyBsZWZ0OiAnMXJlbScsIGNlbnRlcjogZmFsc2UgfSB9O1xuICAgIC8qKiBAaGlkZGVuICovXG4gICAgc3RhdGljIG92ZXJyaWRlIGNvbm5lY3RlZDogQ29ubmVjdGVkUG9zaXRpb24gPSB0b2FzdENvbm5lY3RlZFRvcExlZnRQb3NpdGlvbjtcbn1cblxuLyoqXG4gKiBUb2FzdCBQb3NpdGlvbiBjbGFzcy5cbiAqIFRoZSBmaXJzdCBpdGVtIHdpbGwgcG9wIGZyb20gdGhlIHRvcC1yaWdodCBvZiB0aGUgc2NyZWVuLlxuICogTmV3IGl0ZW1zIHdpbGwgc3RhY2sgYWZ0ZXIgZmlyc3QgaXRlbS5cbiAqL1xuZXhwb3J0IGNsYXNzIFRvYXN0VG9wUmlnaHRQb3NpdGlvbiBleHRlbmRzIFRvYXN0VG9wQ2VudGVyUG9zaXRpb24ge1xuICAgIC8qKiBAaGlkZGVuICovXG4gICAgc3RhdGljIG92ZXJyaWRlIGdsb2JhbCA9IHsgLi4uVG9hc3RUb3BDZW50ZXJQb3NpdGlvbi5nbG9iYWwsIC4uLnsgcmlnaHQ6ICcxcmVtJywgY2VudGVyOiBmYWxzZSB9IH07XG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBzdGF0aWMgb3ZlcnJpZGUgY29ubmVjdGVkOiBDb25uZWN0ZWRQb3NpdGlvbiA9IHRvYXN0Q29ubmVjdGVkVG9wUmlnaHRQb3NpdGlvbjtcbn1cblxuLyoqXG4gKiBUb2FzdCBQb3NpdGlvbiBjbGFzcy5cbiAqIFRoZSBmaXJzdCBpdGVtIHdpbGwgcG9wIGZyb20gdGhlIGJvdHRvbS1sZWZ0IG9mIHRoZSBzY3JlZW4uXG4gKiBOZXcgaXRlbXMgd2lsbCBzdGFjayBiZWZvcmUgZmlyc3QgaXRlbS5cbiAqL1xuZXhwb3J0IGNsYXNzIFRvYXN0Qm90dG9tTGVmdFBvc2l0aW9uIGV4dGVuZHMgVG9hc3RCb3R0b21DZW50ZXJQb3NpdGlvbiB7XG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBzdGF0aWMgb3ZlcnJpZGUgZ2xvYmFsID0geyAuLi5Ub2FzdEJvdHRvbUNlbnRlclBvc2l0aW9uLmdsb2JhbCwgLi4ueyBsZWZ0OiAnMXJlbScsIGNlbnRlcjogZmFsc2UgfSB9O1xuICAgIC8qKiBAaGlkZGVuICovXG4gICAgc3RhdGljIG92ZXJyaWRlIGNvbm5lY3RlZCA9IHRvYXN0Q29ubmVjdGVkQm90dG9tTGVmdFBvc2l0aW9uO1xufVxuXG4vKipcbiAqIFRvYXN0IFBvc2l0aW9uIGNsYXNzLlxuICogVGhlIGZpcnN0IGl0ZW0gd2lsbCBwb3AgZnJvbSB0aGUgYm90dG9tLXJpZ2h0IG9mIHRoZSBzY3JlZW4uXG4gKiBOZXcgaXRlbXMgd2lsbCBzdGFjayBiZWZvcmUgZmlyc3QgaXRlbS5cbiAqL1xuZXhwb3J0IGNsYXNzIFRvYXN0Qm90dG9tUmlnaHRQb3NpdGlvbiBleHRlbmRzIFRvYXN0Qm90dG9tQ2VudGVyUG9zaXRpb24ge1xuICAgIC8qKiBAaGlkZGVuICovXG4gICAgc3RhdGljIG92ZXJyaWRlIGdsb2JhbCA9IHsgLi4uVG9hc3RCb3R0b21DZW50ZXJQb3NpdGlvbi5nbG9iYWwsIC4uLnsgcmlnaHQ6ICcxcmVtJywgY2VudGVyOiBmYWxzZSB9IH07XG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBzdGF0aWMgb3ZlcnJpZGUgY29ubmVjdGVkID0gdG9hc3RDb25uZWN0ZWRCb3R0b21SaWdodFBvc2l0aW9uO1xufVxuIl19
|