@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,218 +0,0 @@
|
|
|
1
|
-
import { A, BACKSPACE, C, DASH, DELETE, END, ENTER, ESCAPE, HOME, LEFT_ARROW, NUMPAD_MINUS, RIGHT_ARROW, TAB, V, X } from '@angular/cdk/keycodes';
|
|
2
|
-
import { Directive, ElementRef, HostListener, Input } from '@angular/core';
|
|
3
|
-
import { KeyUtil } from '../../functions';
|
|
4
|
-
import { DeprecatedSelector, FD_DEPRECATED_DIRECTIVE_SELECTOR, getDeprecatedModel } from '../../deprecated-selector.class';
|
|
5
|
-
import * as i0 from "@angular/core";
|
|
6
|
-
export class DeprecatedOnlyDigitsDirective extends DeprecatedSelector {
|
|
7
|
-
}
|
|
8
|
-
DeprecatedOnlyDigitsDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: DeprecatedOnlyDigitsDirective, deps: null, target: i0.ɵɵFactoryTarget.Directive });
|
|
9
|
-
DeprecatedOnlyDigitsDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.2.9", type: DeprecatedOnlyDigitsDirective, isStandalone: true, selector: "[fdOnlyDigits], [fd-only-digits]", providers: [
|
|
10
|
-
{
|
|
11
|
-
provide: FD_DEPRECATED_DIRECTIVE_SELECTOR,
|
|
12
|
-
useValue: getDeprecatedModel('[fdkOnlyDigits]', '[fdOnlyDigits], [fd-only-digits]')
|
|
13
|
-
}
|
|
14
|
-
], usesInheritance: true, ngImport: i0 });
|
|
15
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: DeprecatedOnlyDigitsDirective, decorators: [{
|
|
16
|
-
type: Directive,
|
|
17
|
-
args: [{
|
|
18
|
-
// eslint-disable-next-line @angular-eslint/directive-selector
|
|
19
|
-
selector: '[fdOnlyDigits], [fd-only-digits]',
|
|
20
|
-
standalone: true,
|
|
21
|
-
providers: [
|
|
22
|
-
{
|
|
23
|
-
provide: FD_DEPRECATED_DIRECTIVE_SELECTOR,
|
|
24
|
-
useValue: getDeprecatedModel('[fdkOnlyDigits]', '[fdOnlyDigits], [fd-only-digits]')
|
|
25
|
-
}
|
|
26
|
-
]
|
|
27
|
-
}]
|
|
28
|
-
}] });
|
|
29
|
-
export class OnlyDigitsDirective {
|
|
30
|
-
/** @hidden */
|
|
31
|
-
constructor(_el) {
|
|
32
|
-
this._el = _el;
|
|
33
|
-
/** Allow using decimal */
|
|
34
|
-
this.decimal = false;
|
|
35
|
-
/** Define decimal separator
|
|
36
|
-
* Default: .(dot)
|
|
37
|
-
*/
|
|
38
|
-
this.decimalSeparator = '.';
|
|
39
|
-
/** @hidden */
|
|
40
|
-
this._hasDecimalPoint = false;
|
|
41
|
-
this._inputElement = this._el.nativeElement;
|
|
42
|
-
}
|
|
43
|
-
/** @hidden */
|
|
44
|
-
onKeyDown(e) {
|
|
45
|
-
if (
|
|
46
|
-
// Allow: Delete, Backspace, Tab, Escape, Enter, End, Home, Arrow Left, Arrow Right
|
|
47
|
-
KeyUtil.isKeyCode(e, [DELETE, BACKSPACE, TAB, ESCAPE, ENTER, END, HOME, LEFT_ARROW, RIGHT_ARROW]) ||
|
|
48
|
-
// Allow: Ctrl+(A/C/V/X) and Cmd+(A/C/V/X) (Mac)
|
|
49
|
-
(KeyUtil.isKeyCode(e, [A, C, V, X]) && (e.ctrlKey || e.metaKey))) {
|
|
50
|
-
return; // let it happen, don't do anything
|
|
51
|
-
}
|
|
52
|
-
if (KeyUtil.isKeyCode(e, [DASH, NUMPAD_MINUS])) {
|
|
53
|
-
const newValue = this._forecastValue(e.key);
|
|
54
|
-
if (this._inputElement.value[0] === '-' || newValue[0] !== '-') {
|
|
55
|
-
e.preventDefault();
|
|
56
|
-
return; // has DASH point
|
|
57
|
-
}
|
|
58
|
-
else {
|
|
59
|
-
return; // Allow: only one DASH point
|
|
60
|
-
}
|
|
61
|
-
}
|
|
62
|
-
if (this.decimal && e.key === this.decimalSeparator) {
|
|
63
|
-
const newValue = this._forecastValue(e.key);
|
|
64
|
-
if (newValue.split(this.decimalSeparator).length > 2) {
|
|
65
|
-
// has two or more decimal points
|
|
66
|
-
e.preventDefault();
|
|
67
|
-
return;
|
|
68
|
-
}
|
|
69
|
-
else {
|
|
70
|
-
this._hasDecimalPoint = newValue.indexOf(this.decimalSeparator) > -1;
|
|
71
|
-
return; // Allow: only one decimal point
|
|
72
|
-
}
|
|
73
|
-
}
|
|
74
|
-
// Ensure that it is a number and stop the keypress
|
|
75
|
-
if (e.key === ' ' || isNaN(Number(e.key))) {
|
|
76
|
-
e.preventDefault();
|
|
77
|
-
return;
|
|
78
|
-
}
|
|
79
|
-
}
|
|
80
|
-
/** @hidden */
|
|
81
|
-
onPaste(event) {
|
|
82
|
-
if (window['clipboardData']) {
|
|
83
|
-
// Browser is IE
|
|
84
|
-
this._pasteData(window['clipboardData'].getData('text'));
|
|
85
|
-
}
|
|
86
|
-
else if (event.clipboardData && event.clipboardData.getData) {
|
|
87
|
-
// Other browsers
|
|
88
|
-
this._pasteData(event.clipboardData.getData('text/plain'));
|
|
89
|
-
}
|
|
90
|
-
event.preventDefault();
|
|
91
|
-
}
|
|
92
|
-
/** @hidden */
|
|
93
|
-
onDrop(event) {
|
|
94
|
-
const textData = event.dataTransfer?.getData('text') ?? '';
|
|
95
|
-
this._inputElement.focus();
|
|
96
|
-
this._pasteData(textData);
|
|
97
|
-
event.preventDefault();
|
|
98
|
-
}
|
|
99
|
-
/** @hidden */
|
|
100
|
-
_pasteData(pastedContent) {
|
|
101
|
-
const sanitizedContent = this._sanitizeInput(pastedContent);
|
|
102
|
-
const pasted = document.execCommand('insertText', false, sanitizedContent);
|
|
103
|
-
if (!pasted) {
|
|
104
|
-
if (this._inputElement.setRangeText) {
|
|
105
|
-
const { selectionStart: start, selectionEnd: end } = this._inputElement;
|
|
106
|
-
this._inputElement.setRangeText(sanitizedContent, start ?? 0, end ?? 0, 'end');
|
|
107
|
-
// Angular's Reactive Form relies on "input" event, but on Firefox, the setRangeText method doesn't trigger it
|
|
108
|
-
// so we have to trigger it ourself.
|
|
109
|
-
if (typeof window['InstallTrigger'] !== 'undefined') {
|
|
110
|
-
this._inputElement.dispatchEvent(new Event('input', { cancelable: true }));
|
|
111
|
-
}
|
|
112
|
-
}
|
|
113
|
-
else {
|
|
114
|
-
// Browser does not support setRangeText, e.g. IE
|
|
115
|
-
this._insertAtCursor(this._inputElement, sanitizedContent);
|
|
116
|
-
}
|
|
117
|
-
}
|
|
118
|
-
if (this.decimal) {
|
|
119
|
-
this._hasDecimalPoint = this._inputElement.value.indexOf(this.decimalSeparator) > -1;
|
|
120
|
-
}
|
|
121
|
-
}
|
|
122
|
-
// The following 2 methods were added from the below article for browsers that do not support setRangeText
|
|
123
|
-
// https://stackoverflow.com/questions/11076975/how-to-insert-text-into-the-textarea-at-the-current-cursor-position
|
|
124
|
-
/** @hidden */
|
|
125
|
-
_insertAtCursor(myField, myValue) {
|
|
126
|
-
const startPos = myField.selectionStart ?? 0;
|
|
127
|
-
const endPos = myField.selectionEnd ?? 0;
|
|
128
|
-
myField.value =
|
|
129
|
-
myField.value.substring(0, startPos) + myValue + myField.value.substring(endPos, myField.value.length);
|
|
130
|
-
const pos = startPos + myValue.length;
|
|
131
|
-
myField.focus();
|
|
132
|
-
myField.setSelectionRange(pos, pos);
|
|
133
|
-
this._triggerEvent(myField, 'input');
|
|
134
|
-
}
|
|
135
|
-
/** @hidden */
|
|
136
|
-
_triggerEvent(el, type) {
|
|
137
|
-
if ('createEvent' in document) {
|
|
138
|
-
// modern browsers, IE9+
|
|
139
|
-
const e = document.createEvent('HTMLEvents');
|
|
140
|
-
e.initEvent(type, false, true);
|
|
141
|
-
el.dispatchEvent(e);
|
|
142
|
-
}
|
|
143
|
-
}
|
|
144
|
-
// end stack overflow code
|
|
145
|
-
/** @hidden */
|
|
146
|
-
_sanitizeInput(input) {
|
|
147
|
-
let result = '';
|
|
148
|
-
if (this.decimal && this._isValidDecimal(input)) {
|
|
149
|
-
const regex = new RegExp(`[^0-9${this.decimalSeparator}]`, 'g');
|
|
150
|
-
result = input.replace(regex, '');
|
|
151
|
-
}
|
|
152
|
-
else {
|
|
153
|
-
result = input.replace(/[^0-9]/g, '');
|
|
154
|
-
}
|
|
155
|
-
if (input[0] === '-') {
|
|
156
|
-
result = `-${result}`;
|
|
157
|
-
}
|
|
158
|
-
const maxLength = this._inputElement.maxLength;
|
|
159
|
-
if (maxLength > 0) {
|
|
160
|
-
// the input element has maxLength limit
|
|
161
|
-
const allowedLength = maxLength - this._inputElement.value.length;
|
|
162
|
-
result = allowedLength > 0 ? result.substring(0, allowedLength) : '';
|
|
163
|
-
}
|
|
164
|
-
return result;
|
|
165
|
-
}
|
|
166
|
-
/** @hidden */
|
|
167
|
-
_isValidDecimal(string) {
|
|
168
|
-
if (!this._hasDecimalPoint) {
|
|
169
|
-
return string.split(this.decimalSeparator).length <= 2;
|
|
170
|
-
}
|
|
171
|
-
else {
|
|
172
|
-
// the input element already has a decimal separator
|
|
173
|
-
const selectedText = this._getSelection;
|
|
174
|
-
if (selectedText && selectedText.indexOf(this.decimalSeparator) > -1) {
|
|
175
|
-
return string.split(this.decimalSeparator).length <= 2;
|
|
176
|
-
}
|
|
177
|
-
else {
|
|
178
|
-
return string.indexOf(this.decimalSeparator) < 0;
|
|
179
|
-
}
|
|
180
|
-
}
|
|
181
|
-
}
|
|
182
|
-
/** @hidden */
|
|
183
|
-
get _getSelection() {
|
|
184
|
-
const { selectionStart, selectionEnd } = this._inputElement;
|
|
185
|
-
return this._inputElement.value.substring(selectionStart ?? 0, selectionEnd ?? 0);
|
|
186
|
-
}
|
|
187
|
-
/** @hidden */
|
|
188
|
-
_forecastValue(key) {
|
|
189
|
-
const { selectionStart, selectionEnd, value: oldValue } = this._inputElement;
|
|
190
|
-
const selection = oldValue.substring(selectionStart ?? 0, selectionEnd ?? 0);
|
|
191
|
-
return selection
|
|
192
|
-
? oldValue.replace(selection, key)
|
|
193
|
-
: oldValue.substring(0, selectionStart ?? 0) + key + oldValue.substring(selectionStart ?? 0);
|
|
194
|
-
}
|
|
195
|
-
}
|
|
196
|
-
OnlyDigitsDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: OnlyDigitsDirective, deps: [{ token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Directive });
|
|
197
|
-
OnlyDigitsDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.2.9", type: OnlyDigitsDirective, isStandalone: true, selector: "[fdkOnlyDigits], [fdOnlyDigits], [fd-only-digits]", inputs: { decimal: "decimal", decimalSeparator: "decimalSeparator" }, host: { listeners: { "keydown": "onKeyDown($event)", "paste": "onPaste($event)", "drop": "onDrop($event)" } }, ngImport: i0 });
|
|
198
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: OnlyDigitsDirective, decorators: [{
|
|
199
|
-
type: Directive,
|
|
200
|
-
args: [{
|
|
201
|
-
selector: '[fdkOnlyDigits], [fdOnlyDigits], [fd-only-digits]',
|
|
202
|
-
standalone: true
|
|
203
|
-
}]
|
|
204
|
-
}], ctorParameters: function () { return [{ type: i0.ElementRef }]; }, propDecorators: { decimal: [{
|
|
205
|
-
type: Input
|
|
206
|
-
}], decimalSeparator: [{
|
|
207
|
-
type: Input
|
|
208
|
-
}], onKeyDown: [{
|
|
209
|
-
type: HostListener,
|
|
210
|
-
args: ['keydown', ['$event']]
|
|
211
|
-
}], onPaste: [{
|
|
212
|
-
type: HostListener,
|
|
213
|
-
args: ['paste', ['$event']]
|
|
214
|
-
}], onDrop: [{
|
|
215
|
-
type: HostListener,
|
|
216
|
-
args: ['drop', ['$event']]
|
|
217
|
-
}] } });
|
|
218
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib25seS1kaWdpdHMuZGlyZWN0aXZlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jZGsvc3JjL2xpYi91dGlscy9kaXJlY3RpdmVzL29ubHktZGlnaXRzL29ubHktZGlnaXRzLmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0gsQ0FBQyxFQUNELFNBQVMsRUFDVCxDQUFDLEVBQ0QsSUFBSSxFQUNKLE1BQU0sRUFDTixHQUFHLEVBQ0gsS0FBSyxFQUNMLE1BQU0sRUFDTixJQUFJLEVBQ0osVUFBVSxFQUNWLFlBQVksRUFDWixXQUFXLEVBQ1gsR0FBRyxFQUNILENBQUMsRUFDRCxDQUFDLEVBQ0osTUFBTSx1QkFBdUIsQ0FBQztBQUMvQixPQUFPLEVBQUUsU0FBUyxFQUFFLFVBQVUsRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzNFLE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMxQyxPQUFPLEVBQ0gsa0JBQWtCLEVBQ2xCLGdDQUFnQyxFQUNoQyxrQkFBa0IsRUFDckIsTUFBTSxpQ0FBaUMsQ0FBQzs7QUFhekMsTUFBTSxPQUFPLDZCQUE4QixTQUFRLGtCQUFrQjs7MEhBQXhELDZCQUE2Qjs4R0FBN0IsNkJBQTZCLCtFQVAzQjtRQUNQO1lBQ0ksT0FBTyxFQUFFLGdDQUFnQztZQUN6QyxRQUFRLEVBQUUsa0JBQWtCLENBQUMsaUJBQWlCLEVBQUUsa0NBQWtDLENBQUM7U0FDdEY7S0FDSjsyRkFFUSw2QkFBNkI7a0JBWHpDLFNBQVM7bUJBQUM7b0JBQ1AsOERBQThEO29CQUM5RCxRQUFRLEVBQUUsa0NBQWtDO29CQUM1QyxVQUFVLEVBQUUsSUFBSTtvQkFDaEIsU0FBUyxFQUFFO3dCQUNQOzRCQUNJLE9BQU8sRUFBRSxnQ0FBZ0M7NEJBQ3pDLFFBQVEsRUFBRSxrQkFBa0IsQ0FBQyxpQkFBaUIsRUFBRSxr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Q0FBQyxjQUFjLElBQUksQ0FBQyxFQUFFLFlBQVksSUFBSSxDQUFDLENBQUMsQ0FBQztRQUU3RSxPQUFPLFNBQVM7WUFDWixDQUFDLENBQUMsUUFBUSxDQUFDLE9BQU8sQ0FBQyxTQUFTLEVBQUUsR0FBRyxDQUFDO1lBQ2xDLENBQUMsQ0FBQyxRQUFRLENBQUMsU0FBUyxDQUFDLENBQUMsRUFBRSxjQUFjLElBQUksQ0FBQyxDQUFDLEdBQUcsR0FBRyxHQUFHLFFBQVEsQ0FBQyxTQUFTLENBQUMsY0FBYyxJQUFJLENBQUMsQ0FBQyxDQUFDO0lBQ3JHLENBQUM7O2dIQS9MUSxtQkFBbUI7b0dBQW5CLG1CQUFtQjsyRkFBbkIsbUJBQW1CO2tCQUovQixTQUFTO21CQUFDO29CQUNQLFFBQVEsRUFBRSxtREFBbUQ7b0JBQzdELFVBQVUsRUFBRSxJQUFJO2lCQUNuQjtpR0FHWSxPQUFPO3NCQUFmLEtBQUs7Z0JBSUcsZ0JBQWdCO3NCQUF4QixLQUFLO2dCQWNOLFNBQVM7c0JBRFIsWUFBWTt1QkFBQyxTQUFTLEVBQUUsQ0FBQyxRQUFRLENBQUM7Z0JBNENuQyxPQUFPO3NCQUROLFlBQVk7dUJBQUMsT0FBTyxFQUFFLENBQUMsUUFBUSxDQUFDO2dCQWVqQyxNQUFNO3NCQURMLFlBQVk7dUJBQUMsTUFBTSxFQUFFLENBQUMsUUFBUSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgICBBLFxuICAgIEJBQ0tTUEFDRSxcbiAgICBDLFxuICAgIERBU0gsXG4gICAgREVMRVRFLFxuICAgIEVORCxcbiAgICBFTlRFUixcbiAgICBFU0NBUEUsXG4gICAgSE9NRSxcbiAgICBMRUZUX0FSUk9XLFxuICAgIE5VTVBBRF9NSU5VUyxcbiAgICBSSUdIVF9BUlJPVyxcbiAgICBUQUIsXG4gICAgVixcbiAgICBYXG59IGZyb20gJ0Bhbmd1bGFyL2Nkay9rZXljb2Rlcyc7XG5pbXBvcnQgeyBEaXJlY3RpdmUsIEVsZW1lbnRSZWYsIEhvc3RMaXN0ZW5lciwgSW5wdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEtleVV0aWwgfSBmcm9tICcuLi8uLi9mdW5jdGlvbnMnO1xuaW1wb3J0IHtcbiAgICBEZXByZWNhdGVkU2VsZWN0b3IsXG4gICAgRkRfREVQUkVDQVRFRF9ESVJFQ1RJVkVfU0VMRUNUT1IsXG4gICAgZ2V0RGVwcmVjYXRlZE1vZGVsXG59IGZyb20gJy4uLy4uL2RlcHJlY2F0ZWQtc2VsZWN0b3IuY2xhc3MnO1xuXG5ARGlyZWN0aXZlKHtcbiAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQGFuZ3VsYXItZXNsaW50L2RpcmVjdGl2ZS1zZWxlY3RvclxuICAgIHNlbGVjdG9yOiAnW2ZkT25seURpZ2l0c10sIFtmZC1vbmx5LWRpZ2l0c10nLFxuICAgIHN0YW5kYWxvbmU6IHRydWUsXG4gICAgcHJvdmlkZXJzOiBbXG4gICAgICAgIHtcbiAgICAgICAgICAgIHByb3ZpZGU6IEZEX0RFUFJFQ0FURURfRElSRUNUSVZFX1NFTEVDVE9SLFxuICAgICAgICAgICAgdXNlVmFsdWU6IGdldERlcHJlY2F0ZWRNb2RlbCgnW2Zka09ubHlEaWdpdHNdJywgJ1tmZE9ubHlEaWdpdHNdLCBbZmQtb25seS1kaWdpdHNdJylcbiAgICAgICAgfVxuICAgIF1cbn0pXG5leHBvcnQgY2xhc3MgRGVwcmVjYXRlZE9ubHlEaWdpdHNEaXJlY3RpdmUgZXh0ZW5kcyBEZXByZWNhdGVkU2VsZWN0b3Ige31cblxuQERpcmVjdGl2ZSh7XG4gICAgc2VsZWN0b3I6ICdbZmRrT25seURpZ2l0c10sIFtmZE9ubHlEaWdpdHNdLCBbZmQtb25seS1kaWdpdHNdJyxcbiAgICBzdGFuZGFsb25lOiB0cnVlXG59KVxuZXhwb3J0IGNsYXNzIE9ubHlEaWdpdHNEaXJlY3RpdmUge1xuICAgIC8qKiBBbGxvdyB1c2luZyBkZWNpbWFsICovXG4gICAgQElucHV0KCkgZGVjaW1hbCA9IGZhbHNlO1xuICAgIC8qKiBEZWZpbmUgZGVjaW1hbCBzZXBhcmF0b3JcbiAgICAgKiBEZWZhdWx0OiAuKGRvdClcbiAgICAgKi9cbiAgICBASW5wdXQoKSBkZWNpbWFsU2VwYXJhdG9yID0gJy4nO1xuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBwcml2YXRlIF9pbnB1dEVsZW1lbnQ6IEhUTUxJbnB1dEVsZW1lbnQ7XG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBwcml2YXRlIF9oYXNEZWNpbWFsUG9pbnQgPSBmYWxzZTtcblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgY29uc3RydWN0b3IocHJpdmF0ZSByZWFkb25seSBfZWw6IEVsZW1lbnRSZWYpIHtcbiAgICAgICAgdGhpcy5faW5wdXRFbGVtZW50ID0gdGhpcy5fZWwubmF0aXZlRWxlbWVudDtcbiAgICB9XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIEBIb3N0TGlzdGVuZXIoJ2tleWRvd24nLCBbJyRldmVudCddKVxuICAgIG9uS2V5RG93bihlOiBLZXlib2FyZEV2ZW50KTogdm9pZCB7XG4gICAgICAgIGlmIChcbiAgICAgICAgICAgIC8vIEFsbG93OiBEZWxldGUsIEJhY2tzcGFjZSwgVGFiLCBFc2NhcGUsIEVudGVyLCBFbmQsIEhvbWUsIEFycm93IExlZnQsIEFycm93IFJpZ2h0XG4gICAgICAgICAgICBLZXlVdGlsLmlzS2V5Q29kZShlLCBbREVMRVRFLCBCQUNLU1BBQ0UsIFRBQiwgRVNDQVBFLCBFTlRFUiwgRU5ELCBIT01FLCBMRUZUX0FSUk9XLCBSSUdIVF9BUlJPV10pIHx8XG4gICAgICAgICAgICAvLyBBbGxvdzogQ3RybCsoQS9DL1YvWCkgYW5kIENtZCsoQS9DL1YvWCkgKE1hYylcbiAgICAgICAgICAgIChLZXlVdGlsLmlzS2V5Q29kZShlLCBbQSwgQywgViwgWF0pICYmIChlLmN0cmxLZXkgfHwgZS5tZXRhS2V5KSlcbiAgICAgICAgKSB7XG4gICAgICAgICAgICByZXR1cm47IC8vIGxldCBpdCBoYXBwZW4sIGRvbid0IGRvIGFueXRoaW5nXG4gICAgICAgIH1cblxuICAgICAgICBpZiAoS2V5VXRpbC5pc0tleUNvZGUoZSwgW0RBU0gsIE5VTVBBRF9NSU5VU10pKSB7XG4gICAgICAgICAgICBjb25zdCBuZXdWYWx1ZSA9IHRoaXMuX2ZvcmVjYXN0VmFsdWUoZS5rZXkpO1xuXG4gICAgICAgICAgICBpZiAodGhpcy5faW5wdXRFbGVtZW50LnZhbHVlWzBdID09PSAnLScgfHwgbmV3VmFsdWVbMF0gIT09ICctJykge1xuICAgICAgICAgICAgICAgIGUucHJldmVudERlZmF1bHQoKTtcblxuICAgICAgICAgICAgICAgIHJldHVybjsgLy8gaGFzIERBU0ggcG9pbnRcbiAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuOyAvLyBBbGxvdzogb25seSBvbmUgREFTSCBwb2ludFxuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgaWYgKHRoaXMuZGVjaW1hbCAmJiBlLmtleSA9PT0gdGhpcy5kZWNpbWFsU2VwYXJhdG9yKSB7XG4gICAgICAgICAgICBjb25zdCBuZXdWYWx1ZSA9IHRoaXMuX2ZvcmVjYXN0VmFsdWUoZS5rZXkpO1xuICAgICAgICAgICAgaWYgKG5ld1ZhbHVlLnNwbGl0KHRoaXMuZGVjaW1hbFNlcGFyYXRvcikubGVuZ3RoID4gMikge1xuICAgICAgICAgICAgICAgIC8vIGhhcyB0d28gb3IgbW9yZSBkZWNpbWFsIHBvaW50c1xuICAgICAgICAgICAgICAgIGUucHJldmVudERlZmF1bHQoKTtcbiAgICAgICAgICAgICAgICByZXR1cm47XG4gICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgIHRoaXMuX2hhc0RlY2ltYWxQb2ludCA9IG5ld1ZhbHVlLmluZGV4T2YodGhpcy5kZWNpbWFsU2VwYXJhdG9yKSA+IC0xO1xuICAgICAgICAgICAgICAgIHJldHVybjsgLy8gQWxsb3c6IG9ubHkgb25lIGRlY2ltYWwgcG9pbnRcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC8vIEVuc3VyZSB0aGF0IGl0IGlzIGEgbnVtYmVyIGFuZCBzdG9wIHRoZSBrZXlwcmVzc1xuICAgICAgICBpZiAoZS5rZXkgPT09ICcgJyB8fCBpc05hTihOdW1iZXIoZS5rZXkpKSkge1xuICAgICAgICAgICAgZS5wcmV2ZW50RGVmYXVsdCgpO1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBASG9zdExpc3RlbmVyKCdwYXN0ZScsIFsnJGV2ZW50J10pXG4gICAgb25QYXN0ZShldmVudDogYW55KTogdm9pZCB7XG4gICAgICAgIGlmICh3aW5kb3dbJ2NsaXBib2FyZERhdGEnXSkge1xuICAgICAgICAgICAgLy8gQnJvd3NlciBpcyBJRVxuICAgICAgICAgICAgdGhpcy5fcGFzdGVEYXRhKHdpbmRvd1snY2xpcGJvYXJkRGF0YSddLmdldERhdGEoJ3RleHQnKSk7XG4gICAgICAgIH0gZWxzZSBpZiAoZXZlbnQuY2xpcGJvYXJkRGF0YSAmJiBldmVudC5jbGlwYm9hcmREYXRhLmdldERhdGEpIHtcbiAgICAgICAgICAgIC8vIE90aGVyIGJyb3dzZXJzXG4gICAgICAgICAgICB0aGlzLl9wYXN0ZURhdGEoZXZlbnQuY2xpcGJvYXJkRGF0YS5nZXREYXRhKCd0ZXh0L3BsYWluJykpO1xuICAgICAgICB9XG5cbiAgICAgICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcbiAgICB9XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIEBIb3N0TGlzdGVuZXIoJ2Ryb3AnLCBbJyRldmVudCddKVxuICAgIG9uRHJvcChldmVudDogRHJhZ0V2ZW50KTogdm9pZCB7XG4gICAgICAgIGNvbnN0IHRleHREYXRhID0gZXZlbnQuZGF0YVRyYW5zZmVyPy5nZXREYXRhKCd0ZXh0JykgPz8gJyc7XG4gICAgICAgIHRoaXMuX2lucHV0RWxlbWVudC5mb2N1cygpO1xuICAgICAgICB0aGlzLl9wYXN0ZURhdGEodGV4dERhdGEpO1xuXG4gICAgICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG4gICAgfVxuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBwcml2YXRlIF9wYXN0ZURhdGEocGFzdGVkQ29udGVudDogc3RyaW5nKTogdm9pZCB7XG4gICAgICAgIGNvbnN0IHNhbml0aXplZENvbnRlbnQgPSB0aGlzLl9zYW5pdGl6ZUlucHV0KHBhc3RlZENvbnRlbnQpO1xuICAgICAgICBjb25zdCBwYXN0ZWQgPSBkb2N1bWVudC5leGVjQ29tbWFuZCgnaW5zZXJ0VGV4dCcsIGZhbHNlLCBzYW5pdGl6ZWRDb250ZW50KTtcbiAgICAgICAgaWYgKCFwYXN0ZWQpIHtcbiAgICAgICAgICAgIGlmICh0aGlzLl9pbnB1dEVsZW1lbnQuc2V0UmFuZ2VUZXh0KSB7XG4gICAgICAgICAgICAgICAgY29uc3QgeyBzZWxlY3Rpb25TdGFydDogc3RhcnQsIHNlbGVjdGlvbkVuZDogZW5kIH0gPSB0aGlzLl9pbnB1dEVsZW1lbnQ7XG4gICAgICAgICAgICAgICAgdGhpcy5faW5wdXRFbGVtZW50LnNldFJhbmdlVGV4dChzYW5pdGl6ZWRDb250ZW50LCBzdGFydCA/PyAwLCBlbmQgPz8gMCwgJ2VuZCcpO1xuICAgICAgICAgICAgICAgIC8vIEFuZ3VsYXIncyBSZWFjdGl2ZSBGb3JtIHJlbGllcyBvbiBcImlucHV0XCIgZXZlbnQsIGJ1dCBvbiBGaXJlZm94LCB0aGUgc2V0UmFuZ2VUZXh0IG1ldGhvZCBkb2Vzbid0IHRyaWdnZXIgaXRcbiAgICAgICAgICAgICAgICAvLyBzbyB3ZSBoYXZlIHRvIHRyaWdnZXIgaXQgb3Vyc2VsZi5cbiAgICAgICAgICAgICAgICBpZiAodHlwZW9mIHdpbmRvd1snSW5zdGFsbFRyaWdnZXInXSAhPT0gJ3VuZGVmaW5lZCcpIHtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5faW5wdXRFbGVtZW50LmRpc3BhdGNoRXZlbnQobmV3IEV2ZW50KCdpbnB1dCcsIHsgY2FuY2VsYWJsZTogdHJ1ZSB9KSk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICAvLyBCcm93c2VyIGRvZXMgbm90IHN1cHBvcnQgc2V0UmFuZ2VUZXh0LCBlLmcuIElFXG4gICAgICAgICAgICAgICAgdGhpcy5faW5zZXJ0QXRDdXJzb3IodGhpcy5faW5wdXRFbGVtZW50LCBzYW5pdGl6ZWRDb250ZW50KTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIGlmICh0aGlzLmRlY2ltYWwpIHtcbiAgICAgICAgICAgIHRoaXMuX2hhc0RlY2ltYWxQb2ludCA9IHRoaXMuX2lucHV0RWxlbWVudC52YWx1ZS5pbmRleE9mKHRoaXMuZGVjaW1hbFNlcGFyYXRvcikgPiAtMTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8vIFRoZSBmb2xsb3dpbmcgMiBtZXRob2RzIHdlcmUgYWRkZWQgZnJvbSB0aGUgYmVsb3cgYXJ0aWNsZSBmb3IgYnJvd3NlcnMgdGhhdCBkbyBub3Qgc3VwcG9ydCBzZXRSYW5nZVRleHRcbiAgICAvLyBodHRwczovL3N0YWNrb3ZlcmZsb3cuY29tL3F1ZXN0aW9ucy8xMTA3Njk3NS9ob3ctdG8taW5zZXJ0LXRleHQtaW50by10aGUtdGV4dGFyZWEtYXQtdGhlLWN1cnJlbnQtY3Vyc29yLXBvc2l0aW9uXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBwcml2YXRlIF9pbnNlcnRBdEN1cnNvcihteUZpZWxkOiBIVE1MSW5wdXRFbGVtZW50LCBteVZhbHVlOiBzdHJpbmcpOiB2b2lkIHtcbiAgICAgICAgY29uc3Qgc3RhcnRQb3MgPSBteUZpZWxkLnNlbGVjdGlvblN0YXJ0ID8/IDA7XG4gICAgICAgIGNvbnN0IGVuZFBvcyA9IG15RmllbGQuc2VsZWN0aW9uRW5kID8/IDA7XG5cbiAgICAgICAgbXlGaWVsZC52YWx1ZSA9XG4gICAgICAgICAgICBteUZpZWxkLnZhbHVlLnN1YnN0cmluZygwLCBzdGFydFBvcykgKyBteVZhbHVlICsgbXlGaWVsZC52YWx1ZS5zdWJzdHJpbmcoZW5kUG9zLCBteUZpZWxkLnZhbHVlLmxlbmd0aCk7XG5cbiAgICAgICAgY29uc3QgcG9zID0gc3RhcnRQb3MgKyBteVZhbHVlLmxlbmd0aDtcbiAgICAgICAgbXlGaWVsZC5mb2N1cygpO1xuICAgICAgICBteUZpZWxkLnNldFNlbGVjdGlvblJhbmdlKHBvcywgcG9zKTtcblxuICAgICAgICB0aGlzLl90cmlnZ2VyRXZlbnQobXlGaWVsZCwgJ2lucHV0Jyk7XG4gICAgfVxuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBwcml2YXRlIF90cmlnZ2VyRXZlbnQoZWw6IEhUTUxJbnB1dEVsZW1lbnQsIHR5cGU6IHN0cmluZyk6IHZvaWQge1xuICAgICAgICBpZiAoJ2NyZWF0ZUV2ZW50JyBpbiBkb2N1bWVudCkge1xuICAgICAgICAgICAgLy8gbW9kZXJuIGJyb3dzZXJzLCBJRTkrXG4gICAgICAgICAgICBjb25zdCBlID0gZG9jdW1lbnQuY3JlYXRlRXZlbnQoJ0hUTUxFdmVudHMnKTtcbiAgICAgICAgICAgIGUuaW5pdEV2ZW50KHR5cGUsIGZhbHNlLCB0cnVlKTtcbiAgICAgICAgICAgIGVsLmRpc3BhdGNoRXZlbnQoZSk7XG4gICAgICAgIH1cbiAgICB9XG4gICAgLy8gZW5kIHN0YWNrIG92ZXJmbG93IGNvZGVcblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgcHJpdmF0ZSBfc2FuaXRpemVJbnB1dChpbnB1dDogc3RyaW5nKTogc3RyaW5nIHtcbiAgICAgICAgbGV0IHJlc3VsdCA9ICcnO1xuICAgICAgICBpZiAodGhpcy5kZWNpbWFsICYmIHRoaXMuX2lzVmFsaWREZWNpbWFsKGlucHV0KSkge1xuICAgICAgICAgICAgY29uc3QgcmVnZXggPSBuZXcgUmVnRXhwKGBbXjAtOSR7dGhpcy5kZWNpbWFsU2VwYXJhdG9yfV1gLCAnZycpO1xuICAgICAgICAgICAgcmVzdWx0ID0gaW5wdXQucmVwbGFjZShyZWdleCwgJycpO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgcmVzdWx0ID0gaW5wdXQucmVwbGFjZSgvW14wLTldL2csICcnKTtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmIChpbnB1dFswXSA9PT0gJy0nKSB7XG4gICAgICAgICAgICByZXN1bHQgPSBgLSR7cmVzdWx0fWA7XG4gICAgICAgIH1cblxuICAgICAgICBjb25zdCBtYXhMZW5ndGggPSB0aGlzLl9pbnB1dEVsZW1lbnQubWF4TGVuZ3RoO1xuICAgICAgICBpZiAobWF4TGVuZ3RoID4gMCkge1xuICAgICAgICAgICAgLy8gdGhlIGlucHV0IGVsZW1lbnQgaGFzIG1heExlbmd0aCBsaW1pdFxuICAgICAgICAgICAgY29uc3QgYWxsb3dlZExlbmd0aCA9IG1heExlbmd0aCAtIHRoaXMuX2lucHV0RWxlbWVudC52YWx1ZS5sZW5ndGg7XG4gICAgICAgICAgICByZXN1bHQgPSBhbGxvd2VkTGVuZ3RoID4gMCA/IHJlc3VsdC5zdWJzdHJpbmcoMCwgYWxsb3dlZExlbmd0aCkgOiAnJztcbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiByZXN1bHQ7XG4gICAgfVxuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBwcml2YXRlIF9pc1ZhbGlkRGVjaW1hbChzdHJpbmc6IHN0cmluZyk6IGJvb2xlYW4ge1xuICAgICAgICBpZiAoIXRoaXMuX2hhc0RlY2ltYWxQb2ludCkge1xuICAgICAgICAgICAgcmV0dXJuIHN0cmluZy5zcGxpdCh0aGlzLmRlY2ltYWxTZXBhcmF0b3IpLmxlbmd0aCA8PSAyO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgLy8gdGhlIGlucHV0IGVsZW1lbnQgYWxyZWFkeSBoYXMgYSBkZWNpbWFsIHNlcGFyYXRvclxuICAgICAgICAgICAgY29uc3Qgc2VsZWN0ZWRUZXh0ID0gdGhpcy5fZ2V0U2VsZWN0aW9uO1xuICAgICAgICAgICAgaWYgKHNlbGVjdGVkVGV4dCAmJiBzZWxlY3RlZFRleHQuaW5kZXhPZih0aGlzLmRlY2ltYWxTZXBhcmF0b3IpID4gLTEpIHtcbiAgICAgICAgICAgICAgICByZXR1cm4gc3RyaW5nLnNwbGl0KHRoaXMuZGVjaW1hbFNlcGFyYXRvcikubGVuZ3RoIDw9IDI7XG4gICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgIHJldHVybiBzdHJpbmcuaW5kZXhPZih0aGlzLmRlY2ltYWxTZXBhcmF0b3IpIDwgMDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgcHJpdmF0ZSBnZXQgX2dldFNlbGVjdGlvbigpOiBzdHJpbmcge1xuICAgICAgICBjb25zdCB7IHNlbGVjdGlvblN0YXJ0LCBzZWxlY3Rpb25FbmQgfSA9IHRoaXMuX2lucHV0RWxlbWVudDtcblxuICAgICAgICByZXR1cm4gdGhpcy5faW5wdXRFbGVtZW50LnZhbHVlLnN1YnN0cmluZyhzZWxlY3Rpb25TdGFydCA/PyAwLCBzZWxlY3Rpb25FbmQgPz8gMCk7XG4gICAgfVxuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBwcml2YXRlIF9mb3JlY2FzdFZhbHVlKGtleTogc3RyaW5nKTogc3RyaW5nIHtcbiAgICAgICAgY29uc3QgeyBzZWxlY3Rpb25TdGFydCwgc2VsZWN0aW9uRW5kLCB2YWx1ZTogb2xkVmFsdWUgfSA9IHRoaXMuX2lucHV0RWxlbWVudDtcbiAgICAgICAgY29uc3Qgc2VsZWN0aW9uID0gb2xkVmFsdWUuc3Vic3RyaW5nKHNlbGVjdGlvblN0YXJ0ID8/IDAsIHNlbGVjdGlvbkVuZCA/PyAwKTtcblxuICAgICAgICByZXR1cm4gc2VsZWN0aW9uXG4gICAgICAgICAgICA/IG9sZFZhbHVlLnJlcGxhY2Uoc2VsZWN0aW9uLCBrZXkpXG4gICAgICAgICAgICA6IG9sZFZhbHVlLnN1YnN0cmluZygwLCBzZWxlY3Rpb25TdGFydCA/PyAwKSArIGtleSArIG9sZFZhbHVlLnN1YnN0cmluZyhzZWxlY3Rpb25TdGFydCA/PyAwKTtcbiAgICB9XG59XG4iXX0=
|
|
@@ -1,42 +0,0 @@
|
|
|
1
|
-
import { Directive, ElementRef } from '@angular/core';
|
|
2
|
-
import { DeprecatedSelector, FD_DEPRECATED_DIRECTIVE_SELECTOR, getDeprecatedModel } from '../../deprecated-selector.class';
|
|
3
|
-
import * as i0 from "@angular/core";
|
|
4
|
-
export class DeprecatedOverflowListItemDirective extends DeprecatedSelector {
|
|
5
|
-
}
|
|
6
|
-
DeprecatedOverflowListItemDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: DeprecatedOverflowListItemDirective, deps: null, target: i0.ɵɵFactoryTarget.Directive });
|
|
7
|
-
DeprecatedOverflowListItemDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.2.9", type: DeprecatedOverflowListItemDirective, isStandalone: true, selector: "[fdOverflowListItem], [fd-overflow-list-item]", providers: [
|
|
8
|
-
{
|
|
9
|
-
provide: FD_DEPRECATED_DIRECTIVE_SELECTOR,
|
|
10
|
-
useValue: getDeprecatedModel('[fdkOverflowListItem]', '[fdOverflowListItem], [fd-overflow-list-item]')
|
|
11
|
-
}
|
|
12
|
-
], usesInheritance: true, ngImport: i0 });
|
|
13
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: DeprecatedOverflowListItemDirective, decorators: [{
|
|
14
|
-
type: Directive,
|
|
15
|
-
args: [{
|
|
16
|
-
// eslint-disable-next-line @angular-eslint/directive-selector
|
|
17
|
-
selector: '[fdOverflowListItem], [fd-overflow-list-item]',
|
|
18
|
-
standalone: true,
|
|
19
|
-
providers: [
|
|
20
|
-
{
|
|
21
|
-
provide: FD_DEPRECATED_DIRECTIVE_SELECTOR,
|
|
22
|
-
useValue: getDeprecatedModel('[fdkOverflowListItem]', '[fdOverflowListItem], [fd-overflow-list-item]')
|
|
23
|
-
}
|
|
24
|
-
]
|
|
25
|
-
}]
|
|
26
|
-
}] });
|
|
27
|
-
export class OverflowListItemDirective {
|
|
28
|
-
/** @hidden */
|
|
29
|
-
constructor(el) {
|
|
30
|
-
this.el = el;
|
|
31
|
-
}
|
|
32
|
-
}
|
|
33
|
-
OverflowListItemDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: OverflowListItemDirective, deps: [{ token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Directive });
|
|
34
|
-
OverflowListItemDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.2.9", type: OverflowListItemDirective, isStandalone: true, selector: "[fdkOverflowListItem], [fdOverflowListItem], [fd-overflow-list-item]", ngImport: i0 });
|
|
35
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: OverflowListItemDirective, decorators: [{
|
|
36
|
-
type: Directive,
|
|
37
|
-
args: [{
|
|
38
|
-
selector: '[fdkOverflowListItem], [fdOverflowListItem], [fd-overflow-list-item]',
|
|
39
|
-
standalone: true
|
|
40
|
-
}]
|
|
41
|
-
}], ctorParameters: function () { return [{ type: i0.ElementRef }]; } });
|
|
42
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib3ZlcmZsb3ctbGlzdC1pdGVtLmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY2RrL3NyYy9saWIvdXRpbHMvZGlyZWN0aXZlcy9vdmVyZmxvdy1saXN0L292ZXJmbG93LWxpc3QtaXRlbS5kaXJlY3RpdmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDdEQsT0FBTyxFQUNILGtCQUFrQixFQUNsQixnQ0FBZ0MsRUFDaEMsa0JBQWtCLEVBQ3JCLE1BQU0saUNBQWlDLENBQUM7O0FBYXpDLE1BQU0sT0FBTyxtQ0FBb0MsU0FBUSxrQkFBa0I7O2dJQUE5RCxtQ0FBbUM7b0hBQW5DLG1DQUFtQyw0RkFQakM7UUFDUDtZQUNJLE9BQU8sRUFBRSxnQ0FBZ0M7WUFDekMsUUFBUSxFQUFFLGtCQUFrQixDQUFDLHVCQUF1QixFQUFFLCtDQUErQyxDQUFDO1NBQ3pHO0tBQ0o7MkZBRVEsbUNBQW1DO2tCQVgvQyxTQUFTO21CQUFDO29CQUNQLDhEQUE4RDtvQkFDOUQsUUFBUSxFQUFFLCtDQUErQztvQkFDekQsVUFBVSxFQUFFLElBQUk7b0JBQ2hCLFNBQVMsRUFBRTt3QkFDUDs0QkFDSSxPQUFPLEVBQUUsZ0NBQWdDOzRCQUN6QyxRQUFRLEVBQUUsa0JBQWtCLENBQUMsdUJBQXVCLEVBQUUsK0NBQStDLENBQUM7eUJBQ3pHO3FCQUNKO2lCQUNKOztBQU9ELE1BQU0sT0FBTyx5QkFBeUI7SUFDbEMsY0FBYztJQUNkLFlBQW1CLEVBQWM7UUFBZCxPQUFFLEdBQUYsRUFBRSxDQUFZO0lBQUcsQ0FBQzs7c0hBRjVCLHlCQUF5QjswR0FBekIseUJBQXlCOzJGQUF6Qix5QkFBeUI7a0JBSnJDLFNBQVM7bUJBQUM7b0JBQ1AsUUFBUSxFQUFFLHNFQUFzRTtvQkFDaEYsVUFBVSxFQUFFLElBQUk7aUJBQ25CIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRGlyZWN0aXZlLCBFbGVtZW50UmVmIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge1xuICAgIERlcHJlY2F0ZWRTZWxlY3RvcixcbiAgICBGRF9ERVBSRUNBVEVEX0RJUkVDVElWRV9TRUxFQ1RPUixcbiAgICBnZXREZXByZWNhdGVkTW9kZWxcbn0gZnJvbSAnLi4vLi4vZGVwcmVjYXRlZC1zZWxlY3Rvci5jbGFzcyc7XG5cbkBEaXJlY3RpdmUoe1xuICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAYW5ndWxhci1lc2xpbnQvZGlyZWN0aXZlLXNlbGVjdG9yXG4gICAgc2VsZWN0b3I6ICdbZmRPdmVyZmxvd0xpc3RJdGVtXSwgW2ZkLW92ZXJmbG93LWxpc3QtaXRlbV0nLFxuICAgIHN0YW5kYWxvbmU6IHRydWUsXG4gICAgcHJvdmlkZXJzOiBbXG4gICAgICAgIHtcbiAgICAgICAgICAgIHByb3ZpZGU6IEZEX0RFUFJFQ0FURURfRElSRUNUSVZFX1NFTEVDVE9SLFxuICAgICAgICAgICAgdXNlVmFsdWU6IGdldERlcHJlY2F0ZWRNb2RlbCgnW2Zka092ZXJmbG93TGlzdEl0ZW1dJywgJ1tmZE92ZXJmbG93TGlzdEl0ZW1dLCBbZmQtb3ZlcmZsb3ctbGlzdC1pdGVtXScpXG4gICAgICAgIH1cbiAgICBdXG59KVxuZXhwb3J0IGNsYXNzIERlcHJlY2F0ZWRPdmVyZmxvd0xpc3RJdGVtRGlyZWN0aXZlIGV4dGVuZHMgRGVwcmVjYXRlZFNlbGVjdG9yIHt9XG5cbkBEaXJlY3RpdmUoe1xuICAgIHNlbGVjdG9yOiAnW2Zka092ZXJmbG93TGlzdEl0ZW1dLCBbZmRPdmVyZmxvd0xpc3RJdGVtXSwgW2ZkLW92ZXJmbG93LWxpc3QtaXRlbV0nLFxuICAgIHN0YW5kYWxvbmU6IHRydWVcbn0pXG5leHBvcnQgY2xhc3MgT3ZlcmZsb3dMaXN0SXRlbURpcmVjdGl2ZSB7XG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBjb25zdHJ1Y3RvcihwdWJsaWMgZWw6IEVsZW1lbnRSZWYpIHt9XG59XG4iXX0=
|
|
@@ -1,142 +0,0 @@
|
|
|
1
|
-
import { ContentChildren, Directive, ElementRef, EventEmitter, Input, NgZone, Output, QueryList } from '@angular/core';
|
|
2
|
-
import { Subject } from 'rxjs';
|
|
3
|
-
import { takeUntil } from 'rxjs/operators';
|
|
4
|
-
import { OverflowListItemDirective } from './overflow-list-item.directive';
|
|
5
|
-
import { ViewportRuler } from '@angular/cdk/overlay';
|
|
6
|
-
import { DeprecatedSelector, FD_DEPRECATED_DIRECTIVE_SELECTOR, getDeprecatedModel } from '../../deprecated-selector.class';
|
|
7
|
-
import * as i0 from "@angular/core";
|
|
8
|
-
import * as i1 from "@angular/cdk/overlay";
|
|
9
|
-
export class DeprecatedOverflowListDirective extends DeprecatedSelector {
|
|
10
|
-
}
|
|
11
|
-
DeprecatedOverflowListDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: DeprecatedOverflowListDirective, deps: null, target: i0.ɵɵFactoryTarget.Directive });
|
|
12
|
-
DeprecatedOverflowListDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.2.9", type: DeprecatedOverflowListDirective, isStandalone: true, selector: "[fdOverflowList], [fd-overflow-list]", providers: [
|
|
13
|
-
{
|
|
14
|
-
provide: FD_DEPRECATED_DIRECTIVE_SELECTOR,
|
|
15
|
-
useValue: getDeprecatedModel('[fdkOverflowList]', '[fdOverflowList], [fd-overflow-list]')
|
|
16
|
-
}
|
|
17
|
-
], usesInheritance: true, ngImport: i0 });
|
|
18
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: DeprecatedOverflowListDirective, decorators: [{
|
|
19
|
-
type: Directive,
|
|
20
|
-
args: [{
|
|
21
|
-
// eslint-disable-next-line @angular-eslint/directive-selector
|
|
22
|
-
selector: '[fdOverflowList], [fd-overflow-list]',
|
|
23
|
-
standalone: true,
|
|
24
|
-
providers: [
|
|
25
|
-
{
|
|
26
|
-
provide: FD_DEPRECATED_DIRECTIVE_SELECTOR,
|
|
27
|
-
useValue: getDeprecatedModel('[fdkOverflowList]', '[fdOverflowList], [fd-overflow-list]')
|
|
28
|
-
}
|
|
29
|
-
]
|
|
30
|
-
}]
|
|
31
|
-
}] });
|
|
32
|
-
export class OverflowListDirective {
|
|
33
|
-
/** @hidden */
|
|
34
|
-
constructor(_el, _viewportRuler, _ngZone) {
|
|
35
|
-
this._el = _el;
|
|
36
|
-
this._viewportRuler = _viewportRuler;
|
|
37
|
-
this._ngZone = _ngZone;
|
|
38
|
-
/**
|
|
39
|
-
* @description Offset to calculate correct position
|
|
40
|
-
*/
|
|
41
|
-
this.overflowOffset = 0;
|
|
42
|
-
/**
|
|
43
|
-
* @description value of display property of existed list items
|
|
44
|
-
*/
|
|
45
|
-
this.itemCssBlockValue = 'flex';
|
|
46
|
-
/**
|
|
47
|
-
* @description Emits when changed amount of extra items
|
|
48
|
-
*/
|
|
49
|
-
this.overflowChanged = new EventEmitter();
|
|
50
|
-
/** @hidden */
|
|
51
|
-
this._onDestroy$ = new Subject();
|
|
52
|
-
}
|
|
53
|
-
/** @hidden */
|
|
54
|
-
ngAfterViewInit() {
|
|
55
|
-
this._viewportRuler
|
|
56
|
-
.change(50)
|
|
57
|
-
.pipe(takeUntil(this._onDestroy$))
|
|
58
|
-
// ViewportRuler invoked out of zone, that is why I need to invoke function in zone
|
|
59
|
-
.subscribe(() => this._ngZone.run(() => this._calculateAmountOfOverflowedItems()));
|
|
60
|
-
this._calculateAmountOfOverflowedItems();
|
|
61
|
-
}
|
|
62
|
-
/** @hidden */
|
|
63
|
-
ngOnDestroy() {
|
|
64
|
-
this._onDestroy$.next();
|
|
65
|
-
this._onDestroy$.complete();
|
|
66
|
-
}
|
|
67
|
-
/**
|
|
68
|
-
* @description Get amount of extra items in current list
|
|
69
|
-
* */
|
|
70
|
-
getAmountOfExtraItems() {
|
|
71
|
-
const elements = this.overflowItems.toArray().map((item) => item.el.nativeElement);
|
|
72
|
-
const computed = getComputedStyle(this._el.nativeElement);
|
|
73
|
-
const contentWidth = this._el.nativeElement.clientWidth -
|
|
74
|
-
parseFloat(computed.paddingLeft || '0') -
|
|
75
|
-
parseFloat(computed.paddingRight || '0');
|
|
76
|
-
return this._checkWidthWithOffset(elements, contentWidth);
|
|
77
|
-
}
|
|
78
|
-
/** @hidden */
|
|
79
|
-
_calculateAmountOfOverflowedItems() {
|
|
80
|
-
const extra = this.getAmountOfExtraItems();
|
|
81
|
-
this.overflowChanged.emit(extra);
|
|
82
|
-
}
|
|
83
|
-
/**
|
|
84
|
-
* @hidden
|
|
85
|
-
* @param arrItems
|
|
86
|
-
* @param containerWidth
|
|
87
|
-
* @param checkWithOffset
|
|
88
|
-
* */
|
|
89
|
-
_checkWidthWithOffset(arrItems, containerWidth, checkWithOffset = false) {
|
|
90
|
-
let itemsTotalWidth = 0;
|
|
91
|
-
const parentWidth = checkWithOffset ? containerWidth - this.overflowOffset : containerWidth;
|
|
92
|
-
arrItems.forEach((item) => {
|
|
93
|
-
item.hidden = true;
|
|
94
|
-
item.style.display = this.itemCssBlockValue;
|
|
95
|
-
});
|
|
96
|
-
for (let i = 0; i < arrItems.length; i++) {
|
|
97
|
-
const item = arrItems[i];
|
|
98
|
-
itemsTotalWidth += this.isRtl
|
|
99
|
-
? containerWidth - item.offsetLeft - itemsTotalWidth
|
|
100
|
-
: item.offsetWidth + item.offsetLeft - itemsTotalWidth;
|
|
101
|
-
if (parentWidth < itemsTotalWidth) {
|
|
102
|
-
this._clearTempStyles(arrItems);
|
|
103
|
-
return checkWithOffset
|
|
104
|
-
? arrItems.length - i
|
|
105
|
-
: this._checkWidthWithOffset(arrItems, containerWidth, true);
|
|
106
|
-
}
|
|
107
|
-
}
|
|
108
|
-
this._clearTempStyles(arrItems);
|
|
109
|
-
return 0;
|
|
110
|
-
}
|
|
111
|
-
/**
|
|
112
|
-
* @param arrItems
|
|
113
|
-
* @hidden
|
|
114
|
-
* */
|
|
115
|
-
_clearTempStyles(arrItems) {
|
|
116
|
-
arrItems.forEach((item) => {
|
|
117
|
-
item.hidden = false;
|
|
118
|
-
item.style.removeProperty('display');
|
|
119
|
-
});
|
|
120
|
-
}
|
|
121
|
-
}
|
|
122
|
-
OverflowListDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: OverflowListDirective, deps: [{ token: i0.ElementRef }, { token: i1.ViewportRuler }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Directive });
|
|
123
|
-
OverflowListDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.2.9", type: OverflowListDirective, isStandalone: true, selector: "[fdkOverflowList], [fdOverflowList], [fd-overflow-list]", inputs: { overflowOffset: "overflowOffset", isRtl: "isRtl", itemCssBlockValue: "itemCssBlockValue" }, outputs: { overflowChanged: "overflowChanged" }, queries: [{ propertyName: "overflowItems", predicate: OverflowListItemDirective }], ngImport: i0 });
|
|
124
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: OverflowListDirective, decorators: [{
|
|
125
|
-
type: Directive,
|
|
126
|
-
args: [{
|
|
127
|
-
selector: '[fdkOverflowList], [fdOverflowList], [fd-overflow-list]',
|
|
128
|
-
standalone: true
|
|
129
|
-
}]
|
|
130
|
-
}], ctorParameters: function () { return [{ type: i0.ElementRef }, { type: i1.ViewportRuler }, { type: i0.NgZone }]; }, propDecorators: { overflowOffset: [{
|
|
131
|
-
type: Input
|
|
132
|
-
}], isRtl: [{
|
|
133
|
-
type: Input
|
|
134
|
-
}], itemCssBlockValue: [{
|
|
135
|
-
type: Input
|
|
136
|
-
}], overflowChanged: [{
|
|
137
|
-
type: Output
|
|
138
|
-
}], overflowItems: [{
|
|
139
|
-
type: ContentChildren,
|
|
140
|
-
args: [OverflowListItemDirective]
|
|
141
|
-
}] } });
|
|
142
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib3ZlcmZsb3ctbGlzdC5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2Nkay9zcmMvbGliL3V0aWxzL2RpcmVjdGl2ZXMvb3ZlcmZsb3ctbGlzdC9vdmVyZmxvdy1saXN0LmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBRUgsZUFBZSxFQUNmLFNBQVMsRUFDVCxVQUFVLEVBQ1YsWUFBWSxFQUNaLEtBQUssRUFDTCxNQUFNLEVBRU4sTUFBTSxFQUNOLFNBQVMsRUFDWixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQy9CLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUMzQyxPQUFPLEVBQUUseUJBQXlCLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQztBQUMzRSxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDckQsT0FBTyxFQUNILGtCQUFrQixFQUNsQixnQ0FBZ0MsRUFDaEMsa0JBQWtCLEVBQ3JCLE1BQU0saUNBQWlDLENBQUM7OztBQWF6QyxNQUFNLE9BQU8sK0JBQWdDLFNBQVEsa0JBQWtCOzs0SEFBMUQsK0JBQStCO2dIQUEvQiwrQkFBK0IsbUZBUDdCO1FBQ1A7WUFDSSxPQUFPLEVBQUUsZ0NBQWdDO1lBQ3pDLFFBQVEsRUFBRSxrQkFBa0IsQ0FBQyxtQkFBbUIsRUFBRSxzQ0FBc0MsQ0FBQztTQUM1RjtLQUNKOzJGQUVRLCtCQUErQjtrQkFYM0MsU0FBUzttQkFBQztvQkFDUCw4REFBOEQ7b0JBQzlELFFBQVEsRUFBRSxzQ0FBc0M7b0JBQ2hELFVBQVUsRUFBRSxJQUFJO29CQUNoQixTQUFTLEVBQUU7d0JBQ1A7NEJBQ0ksT0FBTyxFQUFFLGdDQUFnQzs0QkFDekMsUUFBUSxFQUFFLGtCQUFrQixDQUFDLG1CQUFtQixFQUFFLHNDQUFzQyxD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c291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgICBBZnRlclZpZXdJbml0LFxuICAgIENvbnRlbnRDaGlsZHJlbixcbiAgICBEaXJlY3RpdmUsXG4gICAgRWxlbWVudFJlZixcbiAgICBFdmVudEVtaXR0ZXIsXG4gICAgSW5wdXQsXG4gICAgTmdab25lLFxuICAgIE9uRGVzdHJveSxcbiAgICBPdXRwdXQsXG4gICAgUXVlcnlMaXN0XG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgU3ViamVjdCB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgdGFrZVVudGlsIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuaW1wb3J0IHsgT3ZlcmZsb3dMaXN0SXRlbURpcmVjdGl2ZSB9IGZyb20gJy4vb3ZlcmZsb3ctbGlzdC1pdGVtLmRpcmVjdGl2ZSc7XG5pbXBvcnQgeyBWaWV3cG9ydFJ1bGVyIH0gZnJvbSAnQGFuZ3VsYXIvY2RrL292ZXJsYXknO1xuaW1wb3J0IHtcbiAgICBEZXByZWNhdGVkU2VsZWN0b3IsXG4gICAgRkRfREVQUkVDQVRFRF9ESVJFQ1RJVkVfU0VMRUNUT1IsXG4gICAgZ2V0RGVwcmVjYXRlZE1vZGVsXG59IGZyb20gJy4uLy4uL2RlcHJlY2F0ZWQtc2VsZWN0b3IuY2xhc3MnO1xuXG5ARGlyZWN0aXZlKHtcbiAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQGFuZ3VsYXItZXNsaW50L2RpcmVjdGl2ZS1zZWxlY3RvclxuICAgIHNlbGVjdG9yOiAnW2ZkT3ZlcmZsb3dMaXN0XSwgW2ZkLW92ZXJmbG93LWxpc3RdJyxcbiAgICBzdGFuZGFsb25lOiB0cnVlLFxuICAgIHByb3ZpZGVyczogW1xuICAgICAgICB7XG4gICAgICAgICAgICBwcm92aWRlOiBGRF9ERVBSRUNBVEVEX0RJUkVDVElWRV9TRUxFQ1RPUixcbiAgICAgICAgICAgIHVzZVZhbHVlOiBnZXREZXByZWNhdGVkTW9kZWwoJ1tmZGtPdmVyZmxvd0xpc3RdJywgJ1tmZE92ZXJmbG93TGlzdF0sIFtmZC1vdmVyZmxvdy1saXN0XScpXG4gICAgICAgIH1cbiAgICBdXG59KVxuZXhwb3J0IGNsYXNzIERlcHJlY2F0ZWRPdmVyZmxvd0xpc3REaXJlY3RpdmUgZXh0ZW5kcyBEZXByZWNhdGVkU2VsZWN0b3Ige31cblxuQERpcmVjdGl2ZSh7XG4gICAgc2VsZWN0b3I6ICdbZmRrT3ZlcmZsb3dMaXN0XSwgW2ZkT3ZlcmZsb3dMaXN0XSwgW2ZkLW92ZXJmbG93LWxpc3RdJyxcbiAgICBzdGFuZGFsb25lOiB0cnVlXG59KVxuZXhwb3J0IGNsYXNzIE92ZXJmbG93TGlzdERpcmVjdGl2ZSBpbXBsZW1lbnRzIEFmdGVyVmlld0luaXQsIE9uRGVzdHJveSB7XG4gICAgLyoqXG4gICAgICogQGRlc2NyaXB0aW9uIE9mZnNldCB0byBjYWxjdWxhdGUgY29ycmVjdCBwb3NpdGlvblxuICAgICAqL1xuICAgIEBJbnB1dCgpXG4gICAgb3ZlcmZsb3dPZmZzZXQgPSAwO1xuXG4gICAgLyoqXG4gICAgICogQGRlc2NyaXB0aW9uIEZsYWcgcmVwcmVzZW50aW5nIHJ0bCBtb2RlXG4gICAgICovXG4gICAgQElucHV0KClcbiAgICBpc1J0bDogYm9vbGVhbjtcblxuICAgIC8qKlxuICAgICAqIEBkZXNjcmlwdGlvbiB2YWx1ZSBvZiBkaXNwbGF5IHByb3BlcnR5IG9mIGV4aXN0ZWQgbGlzdCBpdGVtc1xuICAgICAqL1xuICAgIEBJbnB1dCgpXG4gICAgaXRlbUNzc0Jsb2NrVmFsdWUgPSAnZmxleCc7XG5cbiAgICAvKipcbiAgICAgKiBAZGVzY3JpcHRpb24gRW1pdHMgd2hlbiBjaGFuZ2VkIGFtb3VudCBvZiBleHRyYSBpdGVtc1xuICAgICAqL1xuICAgIEBPdXRwdXQoKVxuICAgIG92ZXJmbG93Q2hhbmdlZDogRXZlbnRFbWl0dGVyPG51bWJlcj4gPSBuZXcgRXZlbnRFbWl0dGVyPG51bWJlcj4oKTtcblxuICAgIC8qKlxuICAgICAqIEBkZXNjcmlwdGlvbiBSZWZlcmVuY2VzIHRvIFF1ZXJ5TGlzdCBvZiBPdmVyZmxvd0xpc3RJdGVtRGlyZWN0aXZlXG4gICAgICovXG4gICAgQENvbnRlbnRDaGlsZHJlbihPdmVyZmxvd0xpc3RJdGVtRGlyZWN0aXZlKVxuICAgIG92ZXJmbG93SXRlbXM6IFF1ZXJ5TGlzdDxPdmVyZmxvd0xpc3RJdGVtRGlyZWN0aXZlPjtcblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgcHJpdmF0ZSBfb25EZXN0cm95JCA9IG5ldyBTdWJqZWN0PHZvaWQ+KCk7XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIGNvbnN0cnVjdG9yKHByaXZhdGUgX2VsOiBFbGVtZW50UmVmLCBwcml2YXRlIF92aWV3cG9ydFJ1bGVyOiBWaWV3cG9ydFJ1bGVyLCBwcml2YXRlIF9uZ1pvbmU6IE5nWm9uZSkge31cblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgbmdBZnRlclZpZXdJbml0KCk6IHZvaWQge1xuICAgICAgICB0aGlzLl92aWV3cG9ydFJ1bGVyXG4gICAgICAgICAgICAuY2hhbmdlKDUwKVxuICAgICAgICAgICAgLnBpcGUodGFrZVVudGlsKHRoaXMuX29uRGVzdHJveSQpKVxuICAgICAgICAgICAgLy8gVmlld3BvcnRSdWxlciBpbnZva2VkIG91dCBvZiB6b25lLCB0aGF0IGlzIHdoeSBJIG5lZWQgdG8gaW52b2tlIGZ1bmN0aW9uIGluIHpvbmVcbiAgICAgICAgICAgIC5zdWJzY3JpYmUoKCkgPT4gdGhpcy5fbmdab25lLnJ1bigoKSA9PiB0aGlzLl9jYWxjdWxhdGVBbW91bnRPZk92ZXJmbG93ZWRJdGVtcygpKSk7XG5cbiAgICAgICAgdGhpcy5fY2FsY3VsYXRlQW1vdW50T2ZPdmVyZmxvd2VkSXRlbXMoKTtcbiAgICB9XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIG5nT25EZXN0cm95KCk6IHZvaWQge1xuICAgICAgICB0aGlzLl9vbkRlc3Ryb3kkLm5leHQoKTtcbiAgICAgICAgdGhpcy5fb25EZXN0cm95JC5jb21wbGV0ZSgpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEBkZXNjcmlwdGlvbiBHZXQgYW1vdW50IG9mIGV4dHJhIGl0ZW1zIGluIGN1cnJlbnQgbGlzdFxuICAgICAqICovXG4gICAgZ2V0QW1vdW50T2ZFeHRyYUl0ZW1zKCk6IG51bWJlciB7XG4gICAgICAgIGNvbnN0IGVsZW1lbnRzID0gdGhpcy5vdmVyZmxvd0l0ZW1zLnRvQXJyYXkoKS5tYXAoKGl0ZW0pID0+IGl0ZW0uZWwubmF0aXZlRWxlbWVudCk7XG4gICAgICAgIGNvbnN0IGNvbXB1dGVkID0gZ2V0Q29tcHV0ZWRTdHlsZSh0aGlzLl9lbC5uYXRpdmVFbGVtZW50KTtcbiAgICAgICAgY29uc3QgY29udGVudFdpZHRoID1cbiAgICAgICAgICAgIHRoaXMuX2VsLm5hdGl2ZUVsZW1lbnQuY2xpZW50V2lkdGggLVxuICAgICAgICAgICAgcGFyc2VGbG9hdChjb21wdXRlZC5wYWRkaW5nTGVmdCB8fCAnMCcpIC1cbiAgICAgICAgICAgIHBhcnNlRmxvYXQoY29tcHV0ZWQucGFkZGluZ1JpZ2h0IHx8ICcwJyk7XG4gICAgICAgIHJldHVybiB0aGlzLl9jaGVja1dpZHRoV2l0aE9mZnNldChlbGVtZW50cywgY29udGVudFdpZHRoKTtcbiAgICB9XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIHByaXZhdGUgX2NhbGN1bGF0ZUFtb3VudE9mT3ZlcmZsb3dlZEl0ZW1zKCk6IHZvaWQge1xuICAgICAgICBjb25zdCBleHRyYSA9IHRoaXMuZ2V0QW1vdW50T2ZFeHRyYUl0ZW1zKCk7XG4gICAgICAgIHRoaXMub3ZlcmZsb3dDaGFuZ2VkLmVtaXQoZXh0cmEpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEBoaWRkZW5cbiAgICAgKiBAcGFyYW0gYXJySXRlbXNcbiAgICAgKiBAcGFyYW0gY29udGFpbmVyV2lkdGhcbiAgICAgKiBAcGFyYW0gY2hlY2tXaXRoT2Zmc2V0XG4gICAgICogKi9cbiAgICBwcml2YXRlIF9jaGVja1dpZHRoV2l0aE9mZnNldChcbiAgICAgICAgYXJySXRlbXM6IEhUTUxFbGVtZW50W10sXG4gICAgICAgIGNvbnRhaW5lcldpZHRoOiBudW1iZXIsXG4gICAgICAgIGNoZWNrV2l0aE9mZnNldDogYm9vbGVhbiA9IGZhbHNlXG4gICAgKTogbnVtYmVyIHtcbiAgICAgICAgbGV0IGl0ZW1zVG90YWxXaWR0aCA9IDA7XG4gICAgICAgIGNvbnN0IHBhcmVudFdpZHRoID0gY2hlY2tXaXRoT2Zmc2V0ID8gY29udGFpbmVyV2lkdGggLSB0aGlzLm92ZXJmbG93T2Zmc2V0IDogY29udGFpbmVyV2lkdGg7XG5cbiAgICAgICAgYXJySXRlbXMuZm9yRWFjaCgoaXRlbSkgPT4ge1xuICAgICAgICAgICAgaXRlbS5oaWRkZW4gPSB0cnVlO1xuICAgICAgICAgICAgaXRlbS5zdHlsZS5kaXNwbGF5ID0gdGhpcy5pdGVtQ3NzQmxvY2tWYWx1ZTtcbiAgICAgICAgfSk7XG5cbiAgICAgICAgZm9yIChsZXQgaSA9IDA7IGkgPCBhcnJJdGVtcy5sZW5ndGg7IGkrKykge1xuICAgICAgICAgICAgY29uc3QgaXRlbSA9IGFyckl0ZW1zW2ldO1xuXG4gICAgICAgICAgICBpdGVtc1RvdGFsV2lkdGggKz0gdGhpcy5pc1J0bFxuICAgICAgICAgICAgICAgID8gY29udGFpbmVyV2lkdGggLSBpdGVtLm9mZnNldExlZnQgLSBpdGVtc1RvdGFsV2lkdGhcbiAgICAgICAgICAgICAgICA6IGl0ZW0ub2Zmc2V0V2lkdGggKyBpdGVtLm9mZnNldExlZnQgLSBpdGVtc1RvdGFsV2lkdGg7XG5cbiAgICAgICAgICAgIGlmIChwYXJlbnRXaWR0aCA8IGl0ZW1zVG90YWxXaWR0aCkge1xuICAgICAgICAgICAgICAgIHRoaXMuX2NsZWFyVGVtcFN0eWxlcyhhcnJJdGVtcyk7XG4gICAgICAgICAgICAgICAgcmV0dXJuIGNoZWNrV2l0aE9mZnNldFxuICAgICAgICAgICAgICAgICAgICA/IGFyckl0ZW1zLmxlbmd0aCAtIGlcbiAgICAgICAgICAgICAgICAgICAgOiB0aGlzLl9jaGVja1dpZHRoV2l0aE9mZnNldChhcnJJdGVtcywgY29udGFpbmVyV2lkdGgsIHRydWUpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgdGhpcy5fY2xlYXJUZW1wU3R5bGVzKGFyckl0ZW1zKTtcbiAgICAgICAgcmV0dXJuIDA7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQHBhcmFtIGFyckl0ZW1zXG4gICAgICogQGhpZGRlblxuICAgICAqICovXG4gICAgcHJpdmF0ZSBfY2xlYXJUZW1wU3R5bGVzKGFyckl0ZW1zOiBIVE1MRWxlbWVudFtdKTogdm9pZCB7XG4gICAgICAgIGFyckl0ZW1zLmZvckVhY2goKGl0ZW0pID0+IHtcbiAgICAgICAgICAgIGl0ZW0uaGlkZGVuID0gZmFsc2U7XG4gICAgICAgICAgICBpdGVtLnN0eWxlLnJlbW92ZVByb3BlcnR5KCdkaXNwbGF5Jyk7XG4gICAgICAgIH0pO1xuICAgIH1cbn1cbiJdfQ==
|
|
@@ -1,97 +0,0 @@
|
|
|
1
|
-
import { Directive, ElementRef, Input } from '@angular/core';
|
|
2
|
-
import { BehaviorSubject, ReplaySubject } from 'rxjs';
|
|
3
|
-
import { coerceBooleanProperty } from '@angular/cdk/coercion';
|
|
4
|
-
import { takeUntil, tap } from 'rxjs/operators';
|
|
5
|
-
import { FDK_READONLY_DIRECTIVE } from './fdk-readonly.token';
|
|
6
|
-
import { setReadonlyState } from './set-readonly-state';
|
|
7
|
-
import { DestroyedService } from '../../services/destroyed.service';
|
|
8
|
-
import { DeprecatedSelector, FD_DEPRECATED_DIRECTIVE_SELECTOR, getDeprecatedModel } from '../../deprecated-selector.class';
|
|
9
|
-
import * as i0 from "@angular/core";
|
|
10
|
-
import * as i1 from "../../services/destroyed.service";
|
|
11
|
-
export class DeprecatedReadonlyBehaviorDirective extends DeprecatedSelector {
|
|
12
|
-
}
|
|
13
|
-
DeprecatedReadonlyBehaviorDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: DeprecatedReadonlyBehaviorDirective, deps: null, target: i0.ɵɵFactoryTarget.Directive });
|
|
14
|
-
DeprecatedReadonlyBehaviorDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.2.9", type: DeprecatedReadonlyBehaviorDirective, isStandalone: true, selector: "[fnReadonly]", providers: [
|
|
15
|
-
{
|
|
16
|
-
provide: FD_DEPRECATED_DIRECTIVE_SELECTOR,
|
|
17
|
-
useValue: getDeprecatedModel('[fdkReadonly]', '[fnReadonly]')
|
|
18
|
-
}
|
|
19
|
-
], usesInheritance: true, ngImport: i0 });
|
|
20
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: DeprecatedReadonlyBehaviorDirective, decorators: [{
|
|
21
|
-
type: Directive,
|
|
22
|
-
args: [{
|
|
23
|
-
// eslint-disable-next-line @angular-eslint/directive-selector
|
|
24
|
-
selector: '[fnReadonly]',
|
|
25
|
-
standalone: true,
|
|
26
|
-
providers: [
|
|
27
|
-
{
|
|
28
|
-
provide: FD_DEPRECATED_DIRECTIVE_SELECTOR,
|
|
29
|
-
useValue: getDeprecatedModel('[fdkReadonly]', '[fnReadonly]')
|
|
30
|
-
}
|
|
31
|
-
]
|
|
32
|
-
}]
|
|
33
|
-
}] });
|
|
34
|
-
export class ReadonlyBehaviorDirective extends ReplaySubject {
|
|
35
|
-
/** @Hidden */
|
|
36
|
-
set fdkReadonly(value) {
|
|
37
|
-
this._readonlyInput$.next(coerceBooleanProperty(value));
|
|
38
|
-
}
|
|
39
|
-
get fdkReadonly() {
|
|
40
|
-
return this._readonly;
|
|
41
|
-
}
|
|
42
|
-
/** @hidden */
|
|
43
|
-
constructor(_elementRef, _destroy$) {
|
|
44
|
-
super(1);
|
|
45
|
-
this._elementRef = _elementRef;
|
|
46
|
-
this._destroy$ = _destroy$;
|
|
47
|
-
/** @Hidden */
|
|
48
|
-
this._readonly = false;
|
|
49
|
-
/** @hidden */
|
|
50
|
-
this._readonlyInput$ = new BehaviorSubject(false);
|
|
51
|
-
/** @Hidden */
|
|
52
|
-
this.setReadonlyState = (isReadonly) => {
|
|
53
|
-
setReadonlyState(this._elementRef, isReadonly);
|
|
54
|
-
};
|
|
55
|
-
}
|
|
56
|
-
/** @hidden */
|
|
57
|
-
ngAfterViewInit() {
|
|
58
|
-
this._readonlyInput$
|
|
59
|
-
.pipe(tap((isReadonly) => {
|
|
60
|
-
if (isReadonly !== this._readonly) {
|
|
61
|
-
this.setReadonlyState(isReadonly);
|
|
62
|
-
this._readonly = isReadonly;
|
|
63
|
-
this.next(isReadonly);
|
|
64
|
-
}
|
|
65
|
-
}), takeUntil(this._destroy$))
|
|
66
|
-
.subscribe();
|
|
67
|
-
}
|
|
68
|
-
/** @hidden */
|
|
69
|
-
ngOnDestroy() {
|
|
70
|
-
this.complete();
|
|
71
|
-
}
|
|
72
|
-
}
|
|
73
|
-
ReadonlyBehaviorDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: ReadonlyBehaviorDirective, deps: [{ token: i0.ElementRef }, { token: i1.DestroyedService }], target: i0.ɵɵFactoryTarget.Directive });
|
|
74
|
-
ReadonlyBehaviorDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.2.9", type: ReadonlyBehaviorDirective, isStandalone: true, selector: "[fdkReadonly], [fnReadonly]", inputs: { fdkReadonly: "fdkReadonly" }, providers: [
|
|
75
|
-
{
|
|
76
|
-
provide: FDK_READONLY_DIRECTIVE,
|
|
77
|
-
useExisting: ReadonlyBehaviorDirective
|
|
78
|
-
},
|
|
79
|
-
DestroyedService
|
|
80
|
-
], usesInheritance: true, ngImport: i0 });
|
|
81
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: ReadonlyBehaviorDirective, decorators: [{
|
|
82
|
-
type: Directive,
|
|
83
|
-
args: [{
|
|
84
|
-
selector: '[fdkReadonly], [fnReadonly]',
|
|
85
|
-
standalone: true,
|
|
86
|
-
providers: [
|
|
87
|
-
{
|
|
88
|
-
provide: FDK_READONLY_DIRECTIVE,
|
|
89
|
-
useExisting: ReadonlyBehaviorDirective
|
|
90
|
-
},
|
|
91
|
-
DestroyedService
|
|
92
|
-
]
|
|
93
|
-
}]
|
|
94
|
-
}], ctorParameters: function () { return [{ type: i0.ElementRef }, { type: i1.DestroyedService }]; }, propDecorators: { fdkReadonly: [{
|
|
95
|
-
type: Input
|
|
96
|
-
}] } });
|
|
97
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVhZG9ubHktYmVoYXZpb3IuZGlyZWN0aXZlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jZGsvc3JjL2xpYi91dGlscy9kaXJlY3RpdmVzL3JlYWRvbmx5L3JlYWRvbmx5LWJlaGF2aW9yLmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQWlCLFNBQVMsRUFBRSxVQUFVLEVBQUUsS0FBSyxFQUFhLE1BQU0sZUFBZSxDQUFDO0FBQ3ZGLE9BQU8sRUFBRSxlQUFlLEVBQUUsYUFBYSxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQ3RELE9BQU8sRUFBZ0IscUJBQXFCLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUM1RSxPQUFPLEVBQUUsU0FBUyxFQUFFLEdBQUcsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ2hELE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBRTlELE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQ3hELE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLGtDQUFrQyxDQUFDO0FBQ3BFLE9BQU8sRUFDSCxrQkFBa0IsRUFDbEIsZ0NBQWdDLEVBQ2hDLGtCQUFrQixFQUNyQixNQUFNLGlDQUFpQyxDQUFDOzs7QUFhekMsTUFBTSxPQUFPLG1DQUFvQyxTQUFRLGtCQUFrQjs7Z0lBQTlELG1DQUFtQztvSEFBbkMsbUNBQW1DLDJEQVBqQztRQUNQO1lBQ0ksT0FBTyxFQUFFLGdDQUFnQztZQUN6QyxRQUFRLEVBQUUsa0JBQWtCLENBQUMsZUFBZSxFQUFFLGNBQWMsQ0FBQztTQUNoRTtLQUNKOzJGQUVRLG1DQUFtQztrQkFYL0MsU0FBUzttQkFBQztvQkFDUCw4REFBOEQ7b0JBQzlELFFBQVEsRUFBRSxjQUFjO29CQUN4QixVQUFVLEVBQUUsSUFBSTtvQkFDaEIsU0FBUyxFQUFFO3dCQUNQOzRCQUNJLE9BQU8sRUFBRSxnQ0FBZ0M7NEJBQ3pDLFFBQVEsRUFBRSxrQkFBa0IsQ0FBQyxlQUFlLEVBQUUsY0FBYyxDQUFDO3lCQUNoRTtxQkFDSjtpQkFDSjs7QUFjRCxNQUFNLE9BQU8seUJBQ1QsU0FBUSxhQUFzQjtJQUc5QixjQUFjO0lBQ2QsSUFDSSxXQUFXLENBQUMsS0FBbUI7UUFDL0IsSUFBSSxDQUFDLGVBQWUsQ0FBQyxJQUFJLENBQUMscUJBQXFCLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQztJQUM1RCxDQUFDO0lBRUQsSUFBSSxXQUFXO1FBQ1gsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDO0lBQzFCLENBQUM7SUFPRCxjQUFjO0lBQ2QsWUFBb0IsV0FBb0MsRUFBVSxTQUEyQjtRQUN6RixLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFETyxnQkFBVyxHQUFYLFdBQVcsQ0FBeUI7UUFBVSxjQUFTLEdBQVQsU0FBUyxDQUFrQjtRQU43RixjQUFjO1FBQ2QsY0FBUyxHQUFHLEtBQUssQ0FBQztRQUNsQixjQUFjO1FBQ0csb0JBQWUsR0FBRyxJQUFJLGVBQWUsQ0FBQyxLQUFLLENBQUMsQ0FBQztRQU85RCxjQUFjO1FBQ2QscUJBQWdCLEdBQUcsQ0FBQyxVQUFtQixFQUFRLEVBQUU7WUFDN0MsZ0JBQWdCLENBQUMsSUFBSSxDQUFDLFdBQVcsRUFBRSxVQUFVLENBQUMsQ0FBQztRQUNuRCxDQUFDLENBQUM7SUFMRixDQUFDO0lBT0QsY0FBYztJQUNkLGVBQWU7UUFDWCxJQUFJLENBQUMsZUFBZTthQUNmLElBQUksQ0FDRCxHQUFHLENBQUMsQ0FBQyxVQUFVLEVBQUUsRUFBRTtZQUNmLElBQUksVUFBVSxLQUFLLElBQUksQ0FBQyxTQUFTLEVBQUU7Z0JBQy9CLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxVQUFVLENBQUMsQ0FBQztnQkFDbEMsSUFBSSxDQUFDLFNBQVMsR0FBRyxVQUFVLENBQUM7Z0JBQzVCLElBQUksQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLENBQUM7YUFDekI7UUFDTCxDQUFDLENBQUMsRUFDRixTQUFTLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUM1QjthQUNBLFNBQVMsRUFBRSxDQUFDO0lBQ3JCLENBQUM7SUFFRCxjQUFjO0lBQ2QsV0FBVztRQUNQLElBQUksQ0FBQyxRQUFRLEVBQUUsQ0FBQztJQUNwQixDQUFDOztzSEFoRFEseUJBQXlCOzBHQUF6Qix5QkFBeUIsa0hBUnZCO1FBQ1A7WUFDSSxPQUFPLEVBQUUsc0JBQXNCO1lBQy9CLFdBQVcsRUFBRSx5QkFBeUI7U0FDekM7UUFDRCxnQkFBZ0I7S0FDbkI7MkZBRVEseUJBQXlCO2tCQVhyQyxTQUFTO21CQUFDO29CQUNQLFFBQVEsRUFBRSw2QkFBNkI7b0JBQ3ZDLFVBQVUsRUFBRSxJQUFJO29CQUNoQixTQUFTLEVBQUU7d0JBQ1A7NEJBQ0ksT0FBTyxFQUFFLHNCQUFzQjs0QkFDL0IsV0FBVywyQkFBMkI7eUJBQ3pDO3dCQUNELGdCQUFnQjtxQkFDbkI7aUJBQ0o7Z0lBT08sV0FBVztzQkFEZCxLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQWZ0ZXJWaWV3SW5pdCwgRGlyZWN0aXZlLCBFbGVtZW50UmVmLCBJbnB1dCwgT25EZXN0cm95IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBCZWhhdmlvclN1YmplY3QsIFJlcGxheVN1YmplY3QgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IEJvb2xlYW5JbnB1dCwgY29lcmNlQm9vbGVhblByb3BlcnR5IH0gZnJvbSAnQGFuZ3VsYXIvY2RrL2NvZXJjaW9uJztcbmltcG9ydCB7IHRha2VVbnRpbCwgdGFwIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuaW1wb3J0IHsgRkRLX1JFQURPTkxZX0RJUkVDVElWRSB9IGZyb20gJy4vZmRrLXJlYWRvbmx5LnRva2VuJztcbmltcG9ydCB7IFJlYWRvbmx5QmVoYXZpb3IgfSBmcm9tICcuL3JlYWRvbmx5LWJlaGF2aW9yLmludGVyZmFjZSc7XG5pbXBvcnQgeyBzZXRSZWFkb25seVN0YXRlIH0gZnJvbSAnLi9zZXQtcmVhZG9ubHktc3RhdGUnO1xuaW1wb3J0IHsgRGVzdHJveWVkU2VydmljZSB9IGZyb20gJy4uLy4uL3NlcnZpY2VzL2Rlc3Ryb3llZC5zZXJ2aWNlJztcbmltcG9ydCB7XG4gICAgRGVwcmVjYXRlZFNlbGVjdG9yLFxuICAgIEZEX0RFUFJFQ0FURURfRElSRUNUSVZFX1NFTEVDVE9SLFxuICAgIGdldERlcHJlY2F0ZWRNb2RlbFxufSBmcm9tICcuLi8uLi9kZXByZWNhdGVkLXNlbGVjdG9yLmNsYXNzJztcblxuQERpcmVjdGl2ZSh7XG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEBhbmd1bGFyLWVzbGludC9kaXJlY3RpdmUtc2VsZWN0b3JcbiAgICBzZWxlY3RvcjogJ1tmblJlYWRvbmx5XScsXG4gICAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgICBwcm92aWRlcnM6IFtcbiAgICAgICAge1xuICAgICAgICAgICAgcHJvdmlkZTogRkRfREVQUkVDQVRFRF9ESVJFQ1RJVkVfU0VMRUNUT1IsXG4gICAgICAgICAgICB1c2VWYWx1ZTogZ2V0RGVwcmVjYXRlZE1vZGVsKCdbZmRrUmVhZG9ubHldJywgJ1tmblJlYWRvbmx5XScpXG4gICAgICAgIH1cbiAgICBdXG59KVxuZXhwb3J0IGNsYXNzIERlcHJlY2F0ZWRSZWFkb25seUJlaGF2aW9yRGlyZWN0aXZlIGV4dGVuZHMgRGVwcmVjYXRlZFNlbGVjdG9yIHt9XG5cbkBEaXJlY3RpdmUoe1xuICAgIHNlbGVjdG9yOiAnW2Zka1JlYWRvbmx5XSwgW2ZuUmVhZG9ubHldJyxcbiAgICBzdGFuZGFsb25lOiB0cnVlLFxuICAgIHByb3ZpZGVyczogW1xuICAgICAgICB7XG4gICAgICAgICAgICBwcm92aWRlOiBGREtfUkVBRE9OTFlfRElSRUNUSVZFLFxuICAgICAgICAgICAgdXNlRXhpc3Rpbmc6IFJlYWRvbmx5QmVoYXZpb3JEaXJlY3RpdmVcbiAgICAgICAgfSxcbiAgICAgICAgRGVzdHJveWVkU2VydmljZVxuICAgIF1cbn0pXG5leHBvcnQgY2xhc3MgUmVhZG9ubHlCZWhhdmlvckRpcmVjdGl2ZVxuICAgIGV4dGVuZHMgUmVwbGF5U3ViamVjdDxib29sZWFuPlxuICAgIGltcGxlbWVudHMgUmVhZG9ubHlCZWhhdmlvciwgQWZ0ZXJWaWV3SW5pdCwgT25EZXN0cm95XG57XG4gICAgLyoqIEBIaWRkZW4gKi9cbiAgICBASW5wdXQoKVxuICAgIHNldCBmZGtSZWFkb25seSh2YWx1ZTogQm9vbGVhbklucHV0KSB7XG4gICAgICAgIHRoaXMuX3JlYWRvbmx5SW5wdXQkLm5leHQoY29lcmNlQm9vbGVhblByb3BlcnR5KHZhbHVlKSk7XG4gICAgfVxuXG4gICAgZ2V0IGZka1JlYWRvbmx5KCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gdGhpcy5fcmVhZG9ubHk7XG4gICAgfVxuXG4gICAgLyoqIEBIaWRkZW4gKi9cbiAgICBfcmVhZG9ubHkgPSBmYWxzZTtcbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIHByaXZhdGUgcmVhZG9ubHkgX3JlYWRvbmx5SW5wdXQkID0gbmV3IEJlaGF2aW9yU3ViamVjdChmYWxzZSk7XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIGNvbnN0cnVjdG9yKHByaXZhdGUgX2VsZW1lbnRSZWY6IEVsZW1lbnRSZWY8SFRNTEVsZW1lbnQ+LCBwcml2YXRlIF9kZXN0cm95JDogRGVzdHJveWVkU2VydmljZSkge1xuICAgICAgICBzdXBlcigxKTtcbiAgICB9XG5cbiAgICAvKiogQEhpZGRlbiAqL1xuICAgIHNldFJlYWRvbmx5U3RhdGUgPSAoaXNSZWFkb25seTogYm9vbGVhbik6IHZvaWQgPT4ge1xuICAgICAgICBzZXRSZWFkb25seVN0YXRlKHRoaXMuX2VsZW1lbnRSZWYsIGlzUmVhZG9ubHkpO1xuICAgIH07XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIG5nQWZ0ZXJWaWV3SW5pdCgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5fcmVhZG9ubHlJbnB1dCRcbiAgICAgICAgICAgIC5waXBlKFxuICAgICAgICAgICAgICAgIHRhcCgoaXNSZWFkb25seSkgPT4ge1xuICAgICAgICAgICAgICAgICAgICBpZiAoaXNSZWFkb25seSAhPT0gdGhpcy5fcmVhZG9ubHkpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuc2V0UmVhZG9ubHlTdGF0ZShpc1JlYWRvbmx5KTtcbiAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuX3JlYWRvbmx5ID0gaXNSZWFkb25seTtcbiAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMubmV4dChpc1JlYWRvbmx5KTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH0pLFxuICAgICAgICAgICAgICAgIHRha2VVbnRpbCh0aGlzLl9kZXN0cm95JClcbiAgICAgICAgICAgIClcbiAgICAgICAgICAgIC5zdWJzY3JpYmUoKTtcbiAgICB9XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIG5nT25EZXN0cm95KCk6IHZvaWQge1xuICAgICAgICB0aGlzLmNvbXBsZXRlKCk7XG4gICAgfVxufVxuIl19
|