@fundamental-ngx/cdk 0.38.3-rc.4
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/README.md +89 -0
- package/data-source/README.md +7 -0
- package/data-source/base/abstract-data-provider.class.d.ts +43 -0
- package/data-source/base/base-data-source.class.d.ts +57 -0
- package/data-source/data-source.directive.d.ts +47 -0
- package/data-source/data-source.module.d.ts +7 -0
- package/data-source/helpers/apply-datasource-directive.d.ts +6 -0
- package/data-source/helpers/common.d.ts +7 -0
- package/data-source/helpers/is-datasource.d.ts +5 -0
- package/data-source/index.d.ts +8 -0
- package/data-source/models/data-source-provider.d.ts +23 -0
- package/data-source/models/data-source.d.ts +16 -0
- package/data-source/models/index.d.ts +3 -0
- package/data-source/models/matching-strategy.d.ts +10 -0
- package/data-source/tokens.d.ts +6 -0
- package/esm2020/data-source/base/abstract-data-provider.class.mjs +126 -0
- package/esm2020/data-source/base/base-data-source.class.mjs +99 -0
- package/esm2020/data-source/data-source.directive.mjs +96 -0
- package/esm2020/data-source/data-source.module.mjs +16 -0
- package/esm2020/data-source/fundamental-ngx-cdk-data-source.mjs +5 -0
- package/esm2020/data-source/helpers/apply-datasource-directive.mjs +7 -0
- package/esm2020/data-source/helpers/common.mjs +17 -0
- package/esm2020/data-source/helpers/is-datasource.mjs +7 -0
- package/esm2020/data-source/index.mjs +9 -0
- package/esm2020/data-source/models/data-source-provider.mjs +2 -0
- package/esm2020/data-source/models/data-source.mjs +2 -0
- package/esm2020/data-source/models/index.mjs +4 -0
- package/esm2020/data-source/models/matching-strategy.mjs +7 -0
- package/esm2020/data-source/tokens.mjs +6 -0
- package/esm2020/forms/cva/cva-control.class.mjs +43 -0
- package/esm2020/forms/cva/cva.directive.mjs +309 -0
- package/esm2020/forms/forms.module.mjs +16 -0
- package/esm2020/forms/fundamental-ngx-cdk-forms.mjs +5 -0
- package/esm2020/forms/helpers/state.mjs +6 -0
- package/esm2020/forms/index.mjs +13 -0
- package/esm2020/forms/models/cva.mjs +2 -0
- package/esm2020/forms/models/form-error.mjs +2 -0
- package/esm2020/forms/models/form-field-control.mjs +2 -0
- package/esm2020/forms/models/form-field.mjs +9 -0
- package/esm2020/forms/models/form-state.mjs +2 -0
- package/esm2020/forms/models/select-item.mjs +14 -0
- package/esm2020/forms/tokens/form-field-control.token.mjs +3 -0
- package/esm2020/forms/tokens/form-field.token.mjs +3 -0
- package/esm2020/fundamental-ngx-cdk.mjs +5 -0
- package/esm2020/fundamental-ngx.module.mjs +19 -0
- package/esm2020/public_api.mjs +5 -0
- package/esm2020/utils/abstract-fd-ngx-class.mjs +56 -0
- package/esm2020/utils/coercion/array.mjs +7 -0
- package/esm2020/utils/consts/error-messages.mjs +6 -0
- package/esm2020/utils/consts/index.mjs +5 -0
- package/esm2020/utils/consts/overflow-priority-score.mjs +8 -0
- package/esm2020/utils/consts/unicode-letters.regex.mjs +11 -0
- package/esm2020/utils/consts/unicode-numbers.regex.mjs +8 -0
- package/esm2020/utils/datatypes/color-accent.datatype.mjs +2 -0
- package/esm2020/utils/datatypes/hash.datatype.mjs +2 -0
- package/esm2020/utils/datatypes/index.mjs +4 -0
- package/esm2020/utils/datatypes/size.datatype.mjs +2 -0
- package/esm2020/utils/decorators/apply-css-class.decorator.mjs +60 -0
- package/esm2020/utils/decorators/apply-css-style.decorator.mjs +28 -0
- package/esm2020/utils/decorators/coerce-boolean.mjs +7 -0
- package/esm2020/utils/decorators/coerce-css-pixel.mjs +4 -0
- package/esm2020/utils/decorators/index.mjs +6 -0
- package/esm2020/utils/decorators/setter-alternator.mjs +18 -0
- package/esm2020/utils/deprecated-selector.class.mjs +20 -0
- package/esm2020/utils/directives/auto-complete/auto-complete.directive.mjs +136 -0
- package/esm2020/utils/directives/auto-complete/auto-complete.module.mjs +17 -0
- package/esm2020/utils/directives/clicked/clicked-behavior.module.mjs +45 -0
- package/esm2020/utils/directives/clicked/clicked-event.plugin.mjs +74 -0
- package/esm2020/utils/directives/clicked/clicked.directive.mjs +52 -0
- package/esm2020/utils/directives/clicked/fdk-clicked-provider.service.mjs +49 -0
- package/esm2020/utils/directives/clicked/index.mjs +4 -0
- package/esm2020/utils/directives/disabled/default-disabled-view-modifier.mjs +12 -0
- package/esm2020/utils/directives/disabled/disabled-behavior.directive.mjs +102 -0
- package/esm2020/utils/directives/disabled/disabled-behavior.interface.mjs +2 -0
- package/esm2020/utils/directives/disabled/disabled-behavior.module.mjs +16 -0
- package/esm2020/utils/directives/disabled/disabled-view-modifier.interface.mjs +2 -0
- package/esm2020/utils/directives/disabled/disabled.observer.mjs +35 -0
- package/esm2020/utils/directives/disabled/fdk-disabled-provider.service.mjs +101 -0
- package/esm2020/utils/directives/disabled/fdk-disabled.token.mjs +3 -0
- package/esm2020/utils/directives/disabled/index.mjs +9 -0
- package/esm2020/utils/directives/disabled/set-disabled-state.mjs +16 -0
- package/esm2020/utils/directives/focus-key-manager/focus-key-manager-helpers.module.mjs +33 -0
- package/esm2020/utils/directives/focus-key-manager/focus-key-manager-item.directive.mjs +98 -0
- package/esm2020/utils/directives/focus-key-manager/focus-key-manager-list.directive.mjs +113 -0
- package/esm2020/utils/directives/focus-key-manager/focus-key-manager.tokens.mjs +3 -0
- package/esm2020/utils/directives/focus-key-manager/index.mjs +5 -0
- package/esm2020/utils/directives/focusable-item/default-focusable-item-view-modifier.mjs +14 -0
- package/esm2020/utils/directives/focusable-item/fdk-focusable-item-provider.service.mjs +97 -0
- package/esm2020/utils/directives/focusable-item/focusable-item-view-modifier.interface.mjs +2 -0
- package/esm2020/utils/directives/focusable-item/focusable-item.directive.mjs +106 -0
- package/esm2020/utils/directives/focusable-item/focusable-item.module.mjs +16 -0
- package/esm2020/utils/directives/focusable-item/focusable.observer.mjs +47 -0
- package/esm2020/utils/directives/focusable-item/focusable.tokens.mjs +3 -0
- package/esm2020/utils/directives/focusable-item/index.mjs +9 -0
- package/esm2020/utils/directives/focusable-item/is-element-focusable-by-default.mjs +32 -0
- package/esm2020/utils/directives/focusable-item/set-focusable.mjs +12 -0
- package/esm2020/utils/directives/focusable-list/focusable-list.directive.mjs +79 -0
- package/esm2020/utils/directives/focusable-list/focusable-list.module.mjs +17 -0
- package/esm2020/utils/directives/focusable-list/focusable-list.service.mjs +54 -0
- package/esm2020/utils/directives/focusable-list/index.mjs +4 -0
- package/esm2020/utils/directives/ignore-click-on-selection/ignore-click-on-selection.directive.mjs +79 -0
- package/esm2020/utils/directives/ignore-click-on-selection/ignore-click-on-selection.module.mjs +16 -0
- package/esm2020/utils/directives/ignore-click-on-selection/tokens.mjs +3 -0
- package/esm2020/utils/directives/index.mjs +31 -0
- package/esm2020/utils/directives/initial-focus/initial-focus.directive.mjs +117 -0
- package/esm2020/utils/directives/initial-focus/initial-focus.module.mjs +16 -0
- package/esm2020/utils/directives/line-clamp/line-clamp.directive.mjs +263 -0
- package/esm2020/utils/directives/line-clamp/line-clamp.module.mjs +32 -0
- package/esm2020/utils/directives/only-digits/only-digits.directive.mjs +218 -0
- package/esm2020/utils/directives/only-digits/only-digits.module.mjs +16 -0
- package/esm2020/utils/directives/overflow-list/overflow-list-item.directive.mjs +42 -0
- package/esm2020/utils/directives/overflow-list/overflow-list.directive.mjs +140 -0
- package/esm2020/utils/directives/overflow-list/overflow-list.module.mjs +33 -0
- package/esm2020/utils/directives/readonly/default-readonly-view-modifier.mjs +12 -0
- package/esm2020/utils/directives/readonly/fdk-readonly-provider.service.mjs +102 -0
- package/esm2020/utils/directives/readonly/fdk-readonly.token.mjs +3 -0
- package/esm2020/utils/directives/readonly/index.mjs +10 -0
- package/esm2020/utils/directives/readonly/readonly-behavior.directive.mjs +97 -0
- package/esm2020/utils/directives/readonly/readonly-behavior.interface.mjs +2 -0
- package/esm2020/utils/directives/readonly/readonly-behavior.module.mjs +16 -0
- package/esm2020/utils/directives/readonly/readonly-view-modifier.interface.mjs +2 -0
- package/esm2020/utils/directives/readonly/readonly.observer.mjs +33 -0
- package/esm2020/utils/directives/readonly/set-readonly-state.mjs +14 -0
- package/esm2020/utils/directives/repeat/repeat.directive.mjs +65 -0
- package/esm2020/utils/directives/repeat/repeat.module.mjs +16 -0
- package/esm2020/utils/directives/resize/resize-handle.directive.mjs +42 -0
- package/esm2020/utils/directives/resize/resize.directive.mjs +231 -0
- package/esm2020/utils/directives/resize/resize.module.mjs +17 -0
- package/esm2020/utils/directives/selectable-list/index.mjs +8 -0
- package/esm2020/utils/directives/selectable-list/select-component-root.token.mjs +3 -0
- package/esm2020/utils/directives/selectable-list/selectable-item.directive.mjs +147 -0
- package/esm2020/utils/directives/selectable-list/selectable-item.token.mjs +3 -0
- package/esm2020/utils/directives/selectable-list/selectable-list.directive.mjs +93 -0
- package/esm2020/utils/directives/selectable-list/selectable-list.module.mjs +17 -0
- package/esm2020/utils/directives/selectable-list/selectable-list.tokens.mjs +3 -0
- package/esm2020/utils/directives/selectable-list/selection.service.mjs +135 -0
- package/esm2020/utils/directives/template/template.directive.mjs +49 -0
- package/esm2020/utils/directives/template/template.module.mjs +16 -0
- package/esm2020/utils/directives/truncate/truncate.directive.mjs +96 -0
- package/esm2020/utils/directives/truncate/truncate.module.mjs +16 -0
- package/esm2020/utils/drag-and-drop/dnd-item/dnd-item.directive.mjs +255 -0
- package/esm2020/utils/drag-and-drop/dnd-keyboard-group/dnd-keyboard-group.directive.mjs +88 -0
- package/esm2020/utils/drag-and-drop/dnd-keyboard-item/dnd-keyboard-item.directive.mjs +83 -0
- package/esm2020/utils/drag-and-drop/dnd-list/dnd-list.directive.mjs +220 -0
- package/esm2020/utils/drag-and-drop/dnd.interfaces.mjs +2 -0
- package/esm2020/utils/drag-and-drop/drag-and-drop.module.mjs +22 -0
- package/esm2020/utils/drag-and-drop/index.mjs +8 -0
- package/esm2020/utils/drag-and-drop/tokens.mjs +4 -0
- package/esm2020/utils/dynamic-component/dynamic-component-config.mjs +2 -0
- package/esm2020/utils/dynamic-component/dynamic-component-container.mjs +21 -0
- package/esm2020/utils/dynamic-component/dynamic-component-injector.mjs +20 -0
- package/esm2020/utils/dynamic-component/dynamic-component.service.mjs +90 -0
- package/esm2020/utils/dynamic-component/index.mjs +5 -0
- package/esm2020/utils/functions/consumer-provider-factory.mjs +12 -0
- package/esm2020/utils/functions/element-size.mjs +23 -0
- package/esm2020/utils/functions/get-document-font-size.mjs +5 -0
- package/esm2020/utils/functions/index.mjs +13 -0
- package/esm2020/utils/functions/intersection-observable.mjs +26 -0
- package/esm2020/utils/functions/is-compact-density.mjs +11 -0
- package/esm2020/utils/functions/key-util.mjs +77 -0
- package/esm2020/utils/functions/module-deprecations-provider.mjs +18 -0
- package/esm2020/utils/functions/parser-file-size.mjs +37 -0
- package/esm2020/utils/functions/random-color-accent.mjs +5 -0
- package/esm2020/utils/functions/resize-observable.mjs +33 -0
- package/esm2020/utils/functions/scroll.mjs +19 -0
- package/esm2020/utils/functions/uuidv4-generator.mjs +12 -0
- package/esm2020/utils/fundamental-ngx-cdk-utils.mjs +5 -0
- package/esm2020/utils/helpers/get-native-element.mjs +18 -0
- package/esm2020/utils/helpers/index.mjs +3 -0
- package/esm2020/utils/helpers/range-selector.mjs +117 -0
- package/esm2020/utils/index.mjs +19 -0
- package/esm2020/utils/interfaces/content-density.mjs +2 -0
- package/esm2020/utils/interfaces/css-class-builder.interface.mjs +2 -0
- package/esm2020/utils/interfaces/css-style-builder.interface.mjs +2 -0
- package/esm2020/utils/interfaces/has-element-ref.interface.mjs +2 -0
- package/esm2020/utils/interfaces/index.mjs +8 -0
- package/esm2020/utils/interfaces/keyboard-support-item.interface.mjs +2 -0
- package/esm2020/utils/interfaces/module-deprecation.interface.mjs +2 -0
- package/esm2020/utils/interfaces/require.interface.mjs +2 -0
- package/esm2020/utils/list-item/list-item-utils.mjs +3 -0
- package/esm2020/utils/models/nullable.mjs +2 -0
- package/esm2020/utils/pipes/displayFn.pipe.mjs +17 -0
- package/esm2020/utils/pipes/filter-strings.pipe.mjs +30 -0
- package/esm2020/utils/pipes/index.mjs +10 -0
- package/esm2020/utils/pipes/is-compact.pipe.mjs +16 -0
- package/esm2020/utils/pipes/pipe.module.mjs +55 -0
- package/esm2020/utils/pipes/safe.pipe.mjs +36 -0
- package/esm2020/utils/pipes/search-highlight.pipe.mjs +31 -0
- package/esm2020/utils/pipes/truncate.pipe.mjs +17 -0
- package/esm2020/utils/pipes/two-digits.pipe.mjs +22 -0
- package/esm2020/utils/pipes/value-by-path.pipe.mjs +16 -0
- package/esm2020/utils/services/content-density.service.mjs +34 -0
- package/esm2020/utils/services/destroyed.service.mjs +20 -0
- package/esm2020/utils/services/focus-trap.service.mjs +92 -0
- package/esm2020/utils/services/index.mjs +11 -0
- package/esm2020/utils/services/keyboard-support/keyboard-support.service.mjs +73 -0
- package/esm2020/utils/services/local-storage.service.mjs +38 -0
- package/esm2020/utils/services/observers/attribute.observer.mjs +81 -0
- package/esm2020/utils/services/resize-observer.service.mjs +94 -0
- package/esm2020/utils/services/rtl.service.mjs +29 -0
- package/esm2020/utils/services/tabbable-element.service.mjs +43 -0
- package/esm2020/utils/services/themes.service.mjs +133 -0
- package/esm2020/utils/tokens/module-deprecations.token.mjs +3 -0
- package/esm2020/utils/typecheck.mjs +75 -0
- package/esm2020/utils/utils.module.mjs +136 -0
- package/fesm2015/fundamental-ngx-cdk-data-source.mjs +378 -0
- package/fesm2015/fundamental-ngx-cdk-data-source.mjs.map +1 -0
- package/fesm2015/fundamental-ngx-cdk-forms.mjs +404 -0
- package/fesm2015/fundamental-ngx-cdk-forms.mjs.map +1 -0
- package/fesm2015/fundamental-ngx-cdk-utils.mjs +5767 -0
- package/fesm2015/fundamental-ngx-cdk-utils.mjs.map +1 -0
- package/fesm2015/fundamental-ngx-cdk.mjs +30 -0
- package/fesm2015/fundamental-ngx-cdk.mjs.map +1 -0
- package/fesm2020/fundamental-ngx-cdk-data-source.mjs +374 -0
- package/fesm2020/fundamental-ngx-cdk-data-source.mjs.map +1 -0
- package/fesm2020/fundamental-ngx-cdk-forms.mjs +399 -0
- package/fesm2020/fundamental-ngx-cdk-forms.mjs.map +1 -0
- package/fesm2020/fundamental-ngx-cdk-utils.mjs +5724 -0
- package/fesm2020/fundamental-ngx-cdk-utils.mjs.map +1 -0
- package/fesm2020/fundamental-ngx-cdk.mjs +30 -0
- package/fesm2020/fundamental-ngx-cdk.mjs.map +1 -0
- package/forms/README.md +7 -0
- package/forms/cva/cva-control.class.d.ts +26 -0
- package/forms/cva/cva.directive.d.ts +178 -0
- package/forms/forms.module.d.ts +7 -0
- package/forms/helpers/state.d.ts +3 -0
- package/forms/index.d.ts +12 -0
- package/forms/models/cva.d.ts +4 -0
- package/forms/models/form-error.d.ts +31 -0
- package/forms/models/form-field-control.d.ts +61 -0
- package/forms/models/form-field.d.ts +30 -0
- package/forms/models/form-state.d.ts +1 -0
- package/forms/models/select-item.d.ts +47 -0
- package/forms/tokens/form-field-control.token.d.ts +3 -0
- package/forms/tokens/form-field.token.d.ts +3 -0
- package/fundamental-ngx-cdk-v0.38.3-rc.4.tgz +0 -0
- package/fundamental-ngx.module.d.ts +9 -0
- package/index.d.ts +5 -0
- package/package.json +80 -0
- package/public_api.d.ts +4 -0
- package/utils/README.md +7 -0
- package/utils/abstract-fd-ngx-class.d.ts +27 -0
- package/utils/coercion/array.d.ts +2 -0
- package/utils/consts/error-messages.d.ts +3 -0
- package/utils/consts/index.d.ts +4 -0
- package/utils/consts/overflow-priority-score.d.ts +2 -0
- package/utils/consts/unicode-letters.regex.d.ts +7 -0
- package/utils/consts/unicode-numbers.regex.d.ts +6 -0
- package/utils/datatypes/color-accent.datatype.d.ts +1 -0
- package/utils/datatypes/hash.datatype.d.ts +3 -0
- package/utils/datatypes/index.d.ts +3 -0
- package/utils/datatypes/size.datatype.d.ts +1 -0
- package/utils/decorators/apply-css-class.decorator.d.ts +10 -0
- package/utils/decorators/apply-css-style.decorator.d.ts +10 -0
- package/utils/decorators/coerce-boolean.d.ts +4 -0
- package/utils/decorators/coerce-css-pixel.d.ts +1 -0
- package/utils/decorators/index.d.ts +5 -0
- package/utils/decorators/setter-alternator.d.ts +4 -0
- package/utils/deprecated-selector.class.d.ts +14 -0
- package/utils/directives/auto-complete/auto-complete.directive.d.ts +58 -0
- package/utils/directives/auto-complete/auto-complete.module.d.ts +7 -0
- package/utils/directives/clicked/clicked-behavior.module.d.ts +12 -0
- package/utils/directives/clicked/clicked-event.plugin.d.ts +22 -0
- package/utils/directives/clicked/clicked.directive.d.ts +21 -0
- package/utils/directives/clicked/fdk-clicked-provider.service.d.ts +24 -0
- package/utils/directives/clicked/index.d.ts +3 -0
- package/utils/directives/disabled/default-disabled-view-modifier.d.ts +9 -0
- package/utils/directives/disabled/disabled-behavior.directive.d.ts +35 -0
- package/utils/directives/disabled/disabled-behavior.interface.d.ts +7 -0
- package/utils/directives/disabled/disabled-behavior.module.d.ts +7 -0
- package/utils/directives/disabled/disabled-view-modifier.interface.d.ts +3 -0
- package/utils/directives/disabled/disabled.observer.d.ts +18 -0
- package/utils/directives/disabled/fdk-disabled-provider.service.d.ts +35 -0
- package/utils/directives/disabled/fdk-disabled.token.d.ts +3 -0
- package/utils/directives/disabled/index.d.ts +8 -0
- package/utils/directives/disabled/set-disabled-state.d.ts +4 -0
- package/utils/directives/focus-key-manager/focus-key-manager-helpers.module.d.ts +8 -0
- package/utils/directives/focus-key-manager/focus-key-manager-item.directive.d.ts +37 -0
- package/utils/directives/focus-key-manager/focus-key-manager-list.directive.d.ts +42 -0
- package/utils/directives/focus-key-manager/focus-key-manager.tokens.d.ts +3 -0
- package/utils/directives/focus-key-manager/index.d.ts +4 -0
- package/utils/directives/focusable-item/default-focusable-item-view-modifier.d.ts +11 -0
- package/utils/directives/focusable-item/fdk-focusable-item-provider.service.d.ts +43 -0
- package/utils/directives/focusable-item/focusable-item-view-modifier.interface.d.ts +3 -0
- package/utils/directives/focusable-item/focusable-item.directive.d.ts +37 -0
- package/utils/directives/focusable-item/focusable-item.module.d.ts +7 -0
- package/utils/directives/focusable-item/focusable.observer.d.ts +18 -0
- package/utils/directives/focusable-item/focusable.tokens.d.ts +2 -0
- package/utils/directives/focusable-item/index.d.ts +8 -0
- package/utils/directives/focusable-item/is-element-focusable-by-default.d.ts +4 -0
- package/utils/directives/focusable-item/set-focusable.d.ts +4 -0
- package/utils/directives/focusable-list/focusable-list.directive.d.ts +25 -0
- package/utils/directives/focusable-list/focusable-list.module.d.ts +8 -0
- package/utils/directives/focusable-list/focusable-list.service.d.ts +35 -0
- package/utils/directives/focusable-list/index.d.ts +3 -0
- package/utils/directives/ignore-click-on-selection/ignore-click-on-selection.directive.d.ts +22 -0
- package/utils/directives/ignore-click-on-selection/ignore-click-on-selection.module.d.ts +7 -0
- package/utils/directives/ignore-click-on-selection/tokens.d.ts +2 -0
- package/utils/directives/index.d.ts +30 -0
- package/utils/directives/initial-focus/initial-focus.directive.d.ts +43 -0
- package/utils/directives/initial-focus/initial-focus.module.d.ts +7 -0
- package/utils/directives/line-clamp/line-clamp.directive.d.ts +101 -0
- package/utils/directives/line-clamp/line-clamp.module.d.ts +7 -0
- package/utils/directives/only-digits/only-digits.directive.d.ts +44 -0
- package/utils/directives/only-digits/only-digits.module.d.ts +7 -0
- package/utils/directives/overflow-list/overflow-list-item.directive.d.ts +14 -0
- package/utils/directives/overflow-list/overflow-list.directive.d.ts +62 -0
- package/utils/directives/overflow-list/overflow-list.module.d.ts +8 -0
- package/utils/directives/readonly/default-readonly-view-modifier.d.ts +9 -0
- package/utils/directives/readonly/fdk-readonly-provider.service.d.ts +35 -0
- package/utils/directives/readonly/fdk-readonly.token.d.ts +2 -0
- package/utils/directives/readonly/index.d.ts +9 -0
- package/utils/directives/readonly/readonly-behavior.directive.d.ts +32 -0
- package/utils/directives/readonly/readonly-behavior.interface.d.ts +7 -0
- package/utils/directives/readonly/readonly-behavior.module.d.ts +7 -0
- package/utils/directives/readonly/readonly-view-modifier.interface.d.ts +3 -0
- package/utils/directives/readonly/readonly.observer.d.ts +18 -0
- package/utils/directives/readonly/set-readonly-state.d.ts +4 -0
- package/utils/directives/repeat/repeat.directive.d.ts +28 -0
- package/utils/directives/repeat/repeat.module.d.ts +7 -0
- package/utils/directives/resize/resize-handle.directive.d.ts +14 -0
- package/utils/directives/resize/resize.directive.d.ts +57 -0
- package/utils/directives/resize/resize.module.d.ts +8 -0
- package/utils/directives/selectable-list/index.d.ts +7 -0
- package/utils/directives/selectable-list/select-component-root.token.d.ts +10 -0
- package/utils/directives/selectable-list/selectable-item.directive.d.ts +47 -0
- package/utils/directives/selectable-list/selectable-item.token.d.ts +11 -0
- package/utils/directives/selectable-list/selectable-list.directive.d.ts +33 -0
- package/utils/directives/selectable-list/selectable-list.module.d.ts +8 -0
- package/utils/directives/selectable-list/selectable-list.tokens.d.ts +2 -0
- package/utils/directives/selectable-list/selection.service.d.ts +65 -0
- package/utils/directives/template/template.directive.d.ts +18 -0
- package/utils/directives/template/template.module.d.ts +7 -0
- package/utils/directives/truncate/truncate.directive.d.ts +51 -0
- package/utils/directives/truncate/truncate.module.d.ts +7 -0
- package/utils/drag-and-drop/dnd-item/dnd-item.directive.d.ts +86 -0
- package/utils/drag-and-drop/dnd-keyboard-group/dnd-keyboard-group.directive.d.ts +32 -0
- package/utils/drag-and-drop/dnd-keyboard-item/dnd-keyboard-item.directive.d.ts +61 -0
- package/utils/drag-and-drop/dnd-list/dnd-list.directive.d.ts +65 -0
- package/utils/drag-and-drop/dnd.interfaces.d.ts +33 -0
- package/utils/drag-and-drop/drag-and-drop.module.d.ts +12 -0
- package/utils/drag-and-drop/index.d.ts +7 -0
- package/utils/drag-and-drop/tokens.d.ts +3 -0
- package/utils/dynamic-component/dynamic-component-config.d.ts +6 -0
- package/utils/dynamic-component/dynamic-component-container.d.ts +19 -0
- package/utils/dynamic-component/dynamic-component-injector.d.ts +13 -0
- package/utils/dynamic-component/dynamic-component.service.d.ts +46 -0
- package/utils/dynamic-component/index.d.ts +4 -0
- package/utils/functions/consumer-provider-factory.d.ts +5 -0
- package/utils/functions/element-size.d.ts +12 -0
- package/utils/functions/get-document-font-size.d.ts +2 -0
- package/utils/functions/index.d.ts +12 -0
- package/utils/functions/intersection-observable.d.ts +8 -0
- package/utils/functions/is-compact-density.d.ts +7 -0
- package/utils/functions/key-util.d.ts +16 -0
- package/utils/functions/module-deprecations-provider.d.ts +5 -0
- package/utils/functions/parser-file-size.d.ts +2 -0
- package/utils/functions/random-color-accent.d.ts +3 -0
- package/utils/functions/resize-observable.d.ts +8 -0
- package/utils/functions/scroll.d.ts +7 -0
- package/utils/functions/uuidv4-generator.d.ts +2 -0
- package/utils/helpers/get-native-element.d.ts +13 -0
- package/utils/helpers/index.d.ts +2 -0
- package/utils/helpers/range-selector.d.ts +84 -0
- package/utils/index.d.ts +18 -0
- package/utils/interfaces/content-density.d.ts +1 -0
- package/utils/interfaces/css-class-builder.interface.d.ts +6 -0
- package/utils/interfaces/css-style-builder.interface.d.ts +5 -0
- package/utils/interfaces/has-element-ref.interface.d.ts +5 -0
- package/utils/interfaces/index.d.ts +7 -0
- package/utils/interfaces/keyboard-support-item.interface.d.ts +6 -0
- package/utils/interfaces/module-deprecation.interface.d.ts +8 -0
- package/utils/interfaces/require.interface.d.ts +6 -0
- package/utils/list-item/list-item-utils.d.ts +7 -0
- package/utils/models/nullable.d.ts +6 -0
- package/utils/pipes/displayFn.pipe.d.ts +8 -0
- package/utils/pipes/filter-strings.pipe.d.ts +16 -0
- package/utils/pipes/index.d.ts +9 -0
- package/utils/pipes/is-compact.pipe.d.ts +9 -0
- package/utils/pipes/pipe.module.d.ts +14 -0
- package/utils/pipes/safe.pipe.d.ts +12 -0
- package/utils/pipes/search-highlight.pipe.d.ts +8 -0
- package/utils/pipes/truncate.pipe.d.ts +8 -0
- package/utils/pipes/two-digits.pipe.d.ts +8 -0
- package/utils/pipes/value-by-path.pipe.d.ts +8 -0
- package/utils/services/content-density.service.d.ts +19 -0
- package/utils/services/destroyed.service.d.ts +11 -0
- package/utils/services/focus-trap.service.d.ts +43 -0
- package/utils/services/index.d.ts +10 -0
- package/utils/services/keyboard-support/keyboard-support.service.d.ts +34 -0
- package/utils/services/local-storage.service.d.ts +13 -0
- package/utils/services/observers/attribute.observer.d.ts +26 -0
- package/utils/services/resize-observer.service.d.ts +34 -0
- package/utils/services/rtl.service.d.ts +12 -0
- package/utils/services/tabbable-element.service.d.ts +12 -0
- package/utils/services/themes.service.d.ts +43 -0
- package/utils/tokens/module-deprecations.token.d.ts +3 -0
- package/utils/typecheck.d.ts +47 -0
- package/utils/utils.module.d.ts +23 -0
|
@@ -0,0 +1,135 @@
|
|
|
1
|
+
import { ChangeDetectorRef, Injectable } from '@angular/core';
|
|
2
|
+
import { coerceArray } from '@angular/cdk/coercion';
|
|
3
|
+
import { combineLatest, merge, ReplaySubject, Subject, switchMap } from 'rxjs';
|
|
4
|
+
import { distinctUntilChanged, map, shareReplay, startWith, takeUntil, tap } from 'rxjs/operators';
|
|
5
|
+
import equal from 'fast-deep-equal';
|
|
6
|
+
import * as i0 from "@angular/core";
|
|
7
|
+
export class SelectionService {
|
|
8
|
+
/** @hidden */
|
|
9
|
+
constructor(_cd) {
|
|
10
|
+
this._cd = _cd;
|
|
11
|
+
/** @hidden */
|
|
12
|
+
this._value$ = new ReplaySubject(1);
|
|
13
|
+
/** @hidden */
|
|
14
|
+
this._destroy$ = new Subject();
|
|
15
|
+
/** @hidden */
|
|
16
|
+
this._clear$ = new Subject();
|
|
17
|
+
/** @hidden */
|
|
18
|
+
this._value = [];
|
|
19
|
+
this._normalizedValue$ = this._value$.pipe(distinctUntilChanged(equal), map((v) => coerceArray(v)), map((value) => (this._isMultipleMode ? value : [value[0]])), map((coerced) => coerced.filter(Boolean)));
|
|
20
|
+
this._normalizedValue$.pipe(takeUntil(this._destroy$)).subscribe((val) => (this._value = val));
|
|
21
|
+
this.value$ = this._normalizedValue$.pipe(map((v) => this._getProperValues(v)), shareReplay(1));
|
|
22
|
+
}
|
|
23
|
+
/**
|
|
24
|
+
* Register main select component, which holds config
|
|
25
|
+
* */
|
|
26
|
+
registerRootComponent(rootComponent) {
|
|
27
|
+
this._rootComponent = rootComponent;
|
|
28
|
+
}
|
|
29
|
+
/**
|
|
30
|
+
* Clear listeners
|
|
31
|
+
*/
|
|
32
|
+
clear() {
|
|
33
|
+
this._clear$.next();
|
|
34
|
+
}
|
|
35
|
+
/**
|
|
36
|
+
* Initialize watcher for selection changes and user interactions
|
|
37
|
+
* */
|
|
38
|
+
initialize(queryList) {
|
|
39
|
+
this._items$ = queryList.changes.pipe(startWith(queryList), map((items) => items.toArray()), shareReplay(1));
|
|
40
|
+
this.listenToItemInteractions();
|
|
41
|
+
}
|
|
42
|
+
/**
|
|
43
|
+
* Sets Value, on which service looks at and updates UI accordingly
|
|
44
|
+
* */
|
|
45
|
+
setValue(v) {
|
|
46
|
+
this._value$.next(v);
|
|
47
|
+
}
|
|
48
|
+
/** @hidden */
|
|
49
|
+
getValue() {
|
|
50
|
+
return this._getProperValues(this._value);
|
|
51
|
+
}
|
|
52
|
+
/**
|
|
53
|
+
* Start listening for item interactions. Will destroy() first.
|
|
54
|
+
* Will silently continue if service was not initialized first.
|
|
55
|
+
* */
|
|
56
|
+
listenToItemInteractions() {
|
|
57
|
+
this.clear();
|
|
58
|
+
const unsubscribe$ = merge(this._destroy$, this._clear$);
|
|
59
|
+
if (this._items$) {
|
|
60
|
+
this._items$
|
|
61
|
+
.pipe(map((items) => items.filter((itm) => itm.fdkSelectableItem !== false)), switchMap((items) => {
|
|
62
|
+
const clickedEvents$ = items.map((item) => item.clicked.pipe(map(() => item)));
|
|
63
|
+
return merge(...clickedEvents$);
|
|
64
|
+
}), tap((clickedItem) => this._itemClicked(clickedItem)), takeUntil(unsubscribe$))
|
|
65
|
+
.subscribe();
|
|
66
|
+
combineLatest([this._normalizedValue$, this._items$])
|
|
67
|
+
.pipe(tap(([value, items]) => {
|
|
68
|
+
if (value.length === 0 &&
|
|
69
|
+
items.some((itm) => itm.getSelected()) &&
|
|
70
|
+
!this._rootComponent.toggle) {
|
|
71
|
+
const selectedValues = this._getSelectedValues(items);
|
|
72
|
+
this._rootComponent.onChange(selectedValues);
|
|
73
|
+
return this._value$.next(selectedValues);
|
|
74
|
+
}
|
|
75
|
+
items.forEach((item) => {
|
|
76
|
+
item.setSelected(value.includes(item.value));
|
|
77
|
+
});
|
|
78
|
+
this._cd.detectChanges();
|
|
79
|
+
}), takeUntil(unsubscribe$))
|
|
80
|
+
.subscribe();
|
|
81
|
+
}
|
|
82
|
+
}
|
|
83
|
+
/** @hidden */
|
|
84
|
+
ngOnDestroy() {
|
|
85
|
+
this._destroy$.next();
|
|
86
|
+
}
|
|
87
|
+
/** @hidden */
|
|
88
|
+
selectItem(item) {
|
|
89
|
+
if (item.fdkSelectableItem !== false) {
|
|
90
|
+
const val = [item.value, ...this._value];
|
|
91
|
+
const properValues = this._getProperValues(val);
|
|
92
|
+
this._value$.next(properValues);
|
|
93
|
+
this._rootComponent.onChange(properValues);
|
|
94
|
+
}
|
|
95
|
+
}
|
|
96
|
+
/** @hidden */
|
|
97
|
+
deselectItem(item) {
|
|
98
|
+
const canBeDeselected = this._rootComponent.toggle || (this._isMultipleMode && this._value.length > 1);
|
|
99
|
+
if (canBeDeselected) {
|
|
100
|
+
const val = this._value.filter((v) => v !== item.value);
|
|
101
|
+
const properValues = this._getProperValues(val);
|
|
102
|
+
this._value$.next(properValues);
|
|
103
|
+
this._rootComponent.onChange(properValues);
|
|
104
|
+
}
|
|
105
|
+
}
|
|
106
|
+
/** @hidden */
|
|
107
|
+
get _isMultipleMode() {
|
|
108
|
+
return this._rootComponent.multiple === true;
|
|
109
|
+
}
|
|
110
|
+
/** @hidden */
|
|
111
|
+
_itemClicked(item) {
|
|
112
|
+
const wasSelected = this._value.includes(item.value);
|
|
113
|
+
if (wasSelected) {
|
|
114
|
+
this.deselectItem(item);
|
|
115
|
+
}
|
|
116
|
+
else {
|
|
117
|
+
this.selectItem(item);
|
|
118
|
+
}
|
|
119
|
+
}
|
|
120
|
+
/** @hidden */
|
|
121
|
+
_getSelectedValues(items) {
|
|
122
|
+
const selectedValues = items.filter((itm) => itm.getSelected()).map((itm) => itm.value);
|
|
123
|
+
return this._getProperValues(selectedValues);
|
|
124
|
+
}
|
|
125
|
+
/** @hidden */
|
|
126
|
+
_getProperValues(values) {
|
|
127
|
+
return this._isMultipleMode ? values : values[0];
|
|
128
|
+
}
|
|
129
|
+
}
|
|
130
|
+
SelectionService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.0.2", ngImport: i0, type: SelectionService, deps: [{ token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
131
|
+
SelectionService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.0.2", ngImport: i0, type: SelectionService });
|
|
132
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.2", ngImport: i0, type: SelectionService, decorators: [{
|
|
133
|
+
type: Injectable
|
|
134
|
+
}], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }]; } });
|
|
135
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VsZWN0aW9uLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2Nkay9zcmMvbGliL3V0aWxzL2RpcmVjdGl2ZXMvc2VsZWN0YWJsZS1saXN0L3NlbGVjdGlvbi5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxVQUFVLEVBQXdCLE1BQU0sZUFBZSxDQUFDO0FBQ3BGLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUNwRCxPQUFPLEVBQUUsYUFBYSxFQUFFLEtBQUssRUFBYyxhQUFhLEVBQUUsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUMzRixPQUFPLEVBQUUsb0JBQW9CLEVBQUUsR0FBRyxFQUFFLFdBQVcsRUFBRSxTQUFTLEVBQUUsU0FBUyxFQUFFLEdBQUcsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ25HLE9BQU8sS0FBSyxNQUFNLGlCQUFpQixDQUFDOztBQUtwQyxNQUFNLE9BQU8sZ0JBQWdCO0lBbUJ6QixjQUFjO0lBQ2QsWUFBb0IsR0FBc0I7UUFBdEIsUUFBRyxHQUFILEdBQUcsQ0FBbUI7UUFkMUMsY0FBYztRQUNOLFlBQU8sR0FBRyxJQUFJLGFBQWEsQ0FBcUMsQ0FBQyxDQUFDLENBQUM7UUFLM0UsY0FBYztRQUNOLGNBQVMsR0FBRyxJQUFJLE9BQU8sRUFBUSxDQUFDO1FBQ3hDLGNBQWM7UUFDTixZQUFPLEdBQUcsSUFBSSxPQUFPLEVBQVEsQ0FBQztRQUN0QyxjQUFjO1FBQ04sV0FBTSxHQUFnQixFQUFFLENBQUM7UUFJN0IsSUFBSSxDQUFDLGlCQUFpQixHQUFHLElBQUksQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUN0QyxvQkFBb0IsQ0FBQyxLQUFLLENBQUMsRUFDM0IsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxXQUFXLENBQVksQ0FBQyxDQUFD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UUFBUSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUNyRCxJQUFJLFdBQVcsRUFBRTtZQUNiLElBQUksQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDLENBQUM7U0FDM0I7YUFBTTtZQUNILElBQUksQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLENBQUM7U0FDekI7SUFDTCxDQUFDO0lBRUQsY0FBYztJQUNOLGtCQUFrQixDQUFDLEtBQW9EO1FBQzNFLE1BQU0sY0FBYyxHQUFHLEtBQUssQ0FBQyxNQUFNLENBQUMsQ0FBQyxHQUFHLEVBQUUsRUFBRSxDQUFDLEdBQUcsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEdBQUcsRUFBRSxFQUFFLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQ3hGLE9BQU8sSUFBSSxDQUFDLGdCQUFnQixDQUFDLGNBQXNELENBQUMsQ0FBQztJQUN6RixDQUFDO0lBRUQsY0FBYztJQUNOLGdCQUFnQixDQUFDLE1BQTRDO1FBQ2pFLE9BQU8sSUFBSSxDQUFDLGVBQWUsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFDckQsQ0FBQzs7NkdBdEtRLGdCQUFnQjtpSEFBaEIsZ0JBQWdCOzJGQUFoQixnQkFBZ0I7a0JBRDVCLFVBQVUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDaGFuZ2VEZXRlY3RvclJlZiwgSW5qZWN0YWJsZSwgT25EZXN0cm95LCBRdWVyeUxpc3QgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IGNvZXJjZUFycmF5IH0gZnJvbSAnQGFuZ3VsYXIvY2RrL2NvZXJjaW9uJztcbmltcG9ydCB7IGNvbWJpbmVMYXRlc3QsIG1lcmdlLCBPYnNlcnZhYmxlLCBSZXBsYXlTdWJqZWN0LCBTdWJqZWN0LCBzd2l0Y2hNYXAgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IGRpc3RpbmN0VW50aWxDaGFuZ2VkLCBtYXAsIHNoYXJlUmVwbGF5LCBzdGFydFdpdGgsIHRha2VVbnRpbCwgdGFwIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuaW1wb3J0IGVxdWFsIGZyb20gJ2Zhc3QtZGVlcC1lcXVhbCc7XG5pbXBvcnQgeyBTZWxlY3RhYmxlSXRlbVRva2VuIH0gZnJvbSAnLi9zZWxlY3RhYmxlLWl0ZW0udG9rZW4nO1xuaW1wb3J0IHsgU2VsZWN0YWJsZUxpc3RWYWx1ZVR5cGUsIFNlbGVjdENvbXBvbmVudFJvb3RUb2tlbiB9IGZyb20gJy4vc2VsZWN0LWNvbXBvbmVudC1yb290LnRva2VuJztcblxuQEluamVjdGFibGUoKVxuZXhwb3J0IGNsYXNzIFNlbGVjdGlvblNlcnZpY2U8RWxlbWVudFR5cGUgZXh0ZW5kcyBFbGVtZW50LCBWYWx1ZVR5cGUgPSBFbGVtZW50VHlwZT4gaW1wbGVtZW50cyBPbkRlc3Ryb3kge1xuICAgIC8qKiBAaGlkZGVuICovXG4gICAgdmFsdWUkOiBPYnNlcnZhYmxlPFNlbGVjdGFibGVMaXN0VmFsdWVUeXBlPFZhbHVlVHlwZT4+O1xuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBwcml2YXRlIF9pdGVtcyQhOiBPYnNlcnZhYmxlPFNlbGVjdGFibGVJdGVtVG9rZW48RWxlbWVudFR5cGUsIFZhbHVlVHlwZT5bXT47XG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBwcml2YXRlIF92YWx1ZSQgPSBuZXcgUmVwbGF5U3ViamVjdDxTZWxlY3RhYmxlTGlzdFZhbHVlVHlwZTxWYWx1ZVR5cGU+PigxKTtcbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIHByaXZhdGUgX25vcm1hbGl6ZWRWYWx1ZSQ6IE9ic2VydmFibGU8VmFsdWVUeXBlW10+O1xuICAgIC8qKiBAaGlkZGVuICovXG4gICAgcHJpdmF0ZSBfcm9vdENvbXBvbmVudCE6IFNlbGVjdENvbXBvbmVudFJvb3RUb2tlbjxFbGVtZW50VHlwZT47XG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBwcml2YXRlIF9kZXN0cm95JCA9IG5ldyBTdWJqZWN0PHZvaWQ+KCk7XG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBwcml2YXRlIF9jbGVhciQgPSBuZXcgU3ViamVjdDx2b2lkPigpO1xuICAgIC8qKiBAaGlkZGVuICovXG4gICAgcHJpdmF0ZSBfdmFsdWU6IFZhbHVlVHlwZVtdID0gW107XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIGNvbnN0cnVjdG9yKHByaXZhdGUgX2NkOiBDaGFuZ2VEZXRlY3RvclJlZikge1xuICAgICAgICB0aGlzLl9ub3JtYWxpemVkVmFsdWUkID0gdGhpcy5fdmFsdWUkLnBpcGUoXG4gICAgICAgICAgICBkaXN0aW5jdFVudGlsQ2hhbmdlZChlcXVhbCksXG4gICAgICAgICAgICBtYXAoKHYpID0+IGNvZXJjZUFycmF5PFZhbHVlVHlwZT4odikpLFxuICAgICAgICAgICAgbWFwKCh2YWx1ZSkgPT4gKHRoaXMuX2lzTXVsdGlwbGVNb2RlID8gdmFsdWUgOiBbdmFsdWVbMF1dKSksXG4gICAgICAgICAgICBtYXAoKGNvZXJjZWQ6IFZhbHVlVHlwZVtdKSA9PiBjb2VyY2VkLmZpbHRlcihCb29sZWFuKSlcbiAgICAgICAgKTtcbiAgICAgICAgdGhpcy5fbm9ybWFsaXplZFZhbHVlJC5waXBlKHRha2VVbnRpbCh0aGlzLl9kZXN0cm95JCkpLnN1YnNjcmliZSgodmFsKSA9PiAodGhpcy5fdmFsdWUgPSB2YWwpKTtcbiAgICAgICAgdGhpcy52YWx1ZSQgPSB0aGlzLl9ub3JtYWxpemVkVmFsdWUkLnBpcGUoXG4gICAgICAgICAgICBtYXAoKHYpID0+IHRoaXMuX2dldFByb3BlclZhbHVlcyh2IGFzIFNlbGVjdGFibGVMaXN0VmFsdWVUeXBlPEVsZW1lbnRUeXBlPikpLFxuICAgICAgICAgICAgc2hhcmVSZXBsYXkoMSlcbiAgICAgICAgKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBSZWdpc3RlciBtYWluIHNlbGVjdCBjb21wb25lbnQsIHdoaWNoIGhvbGRzIGNvbmZpZ1xuICAgICAqICovXG4gICAgcmVnaXN0ZXJSb290Q29tcG9uZW50KHJvb3RDb21wb25lbnQ6IFNlbGVjdENvbXBvbmVudFJvb3RUb2tlbjxFbGVtZW50VHlwZT4pOiB2b2lkIHtcbiAgICAgICAgdGhpcy5fcm9vdENvbXBvbmVudCA9IHJvb3RDb21wb25lbnQ7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQ2xlYXIgbGlzdGVuZXJzXG4gICAgICovXG4gICAgY2xlYXIoKTogdm9pZCB7XG4gICAgICAgIHRoaXMuX2NsZWFyJC5uZXh0KCk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogSW5pdGlhbGl6ZSB3YXRjaGVyIGZvciBzZWxlY3Rpb24gY2hhbmdlcyBhbmQgdXNlciBpbnRlcmFjdGlvbnNcbiAgICAgKiAqL1xuICAgIGluaXRpYWxpemUocXVlcnlMaXN0OiBRdWVyeUxpc3Q8U2VsZWN0YWJsZUl0ZW1Ub2tlbjxFbGVtZW50VHlwZSwgVmFsdWVUeXBlPj4pOiB2b2lkIHtcbiAgICAgICAgdGhpcy5faXRlbXMkID0gcXVlcnlMaXN0LmNoYW5nZXMucGlwZShcbiAgICAgICAgICAgIHN0YXJ0V2l0aChxdWVyeUxpc3QpLFxuICAgICAgICAgICAgbWFwKChpdGVtczogUXVlcnlMaXN0PFNlbGVjdGFibGVJdGVtVG9rZW48RWxlbWVudFR5cGUsIFZhbHVlVHlwZT4+KSA9PiBpdGVtcy50b0FycmF5KCkpLFxuICAgICAgICAgICAgc2hhcmVSZXBsYXkoMSlcbiAgICAgICAgKTtcbiAgICAgICAgdGhpcy5saXN0ZW5Ub0l0ZW1JbnRlcmFjdGlvbnMoKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBTZXRzIFZhbHVlLCBvbiB3aGljaCBzZXJ2aWNlIGxvb2tzIGF0IGFuZCB1cGRhdGVzIFVJIGFjY29yZGluZ2x5XG4gICAgICogKi9cbiAgICBzZXRWYWx1ZSh2OiBTZWxlY3RhYmxlTGlzdFZhbHVlVHlwZTxFbGVtZW50VHlwZT4pOiB2b2lkIHtcbiAgICAgICAgdGhpcy5fdmFsdWUkLm5leHQodik7XG4gICAgfVxuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBnZXRWYWx1ZSgpOiBTZWxlY3RhYmxlTGlzdFZhbHVlVHlwZTxFbGVtZW50VHlwZT4ge1xuICAgICAgICByZXR1cm4gdGhpcy5fZ2V0UHJvcGVyVmFsdWVzKHRoaXMuX3ZhbHVlIGFzIFNlbGVjdGFibGVMaXN0VmFsdWVUeXBlPEVsZW1lbnRUeXBlPik7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogU3RhcnQgbGlzdGVuaW5nIGZvciBpdGVtIGludGVyYWN0aW9ucy4gV2lsbCBkZXN0cm95KCkgZmlyc3QuXG4gICAgICogV2lsbCBzaWxlbnRseSBjb250aW51ZSBpZiBzZXJ2aWNlIHdhcyBub3QgaW5pdGlhbGl6ZWQgZmlyc3QuXG4gICAgICogKi9cbiAgICBsaXN0ZW5Ub0l0ZW1JbnRlcmFjdGlvbnMoKTogdm9pZCB7XG4gICAgICAgIHRoaXMuY2xlYXIoKTtcbiAgICAgICAgY29uc3QgdW5zdWJzY3JpYmUkID0gbWVyZ2UodGhpcy5fZGVzdHJveSQsIHRoaXMuX2NsZWFyJCk7XG4gICAgICAgIGlmICh0aGlzLl9pdGVtcyQpIHtcbiAgICAgICAgICAgIHRoaXMuX2l0ZW1zJFxuICAgICAgICAgICAgICAgIC5waXBlKFxuICAgICAgICAgICAgICAgICAgICBtYXAoKGl0ZW1zKSA9PiBpdGVtcy5maWx0ZXIoKGl0bSkgPT4gaXRtLmZka1NlbGVjdGFibGVJdGVtICE9PSBmYWxzZSkpLFxuICAgICAgICAgICAgICAgICAgICBzd2l0Y2hNYXAoKGl0ZW1zOiBTZWxlY3RhYmxlSXRlbVRva2VuPEVsZW1lbnRUeXBlLCBWYWx1ZVR5cGU+W10pID0+IHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGNsaWNrZWRFdmVudHMkID0gaXRlbXMubWFwKChpdGVtKSA9PiBpdGVtLmNsaWNrZWQucGlwZShtYXAoKCkgPT4gaXRlbSkpKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiBtZXJnZSguLi5jbGlja2VkRXZlbnRzJCk7XG4gICAgICAgICAgICAgICAgICAgIH0pLFxuICAgICAgICAgICAgICAgICAgICB0YXAoKGNsaWNrZWRJdGVtKSA9PiB0aGlzLl9pdGVtQ2xpY2tlZChjbGlja2VkSXRlbSkpLFxuICAgICAgICAgICAgICAgICAgICB0YWtlVW50aWwodW5zdWJzY3JpYmUkKVxuICAgICAgICAgICAgICAgIClcbiAgICAgICAgICAgICAgICAuc3Vic2NyaWJlKCk7XG4gICAgICAgICAgICBjb21iaW5lTGF0ZXN0KFt0aGlzLl9ub3JtYWxpemVkVmFsdWUkLCB0aGlzLl9pdGVtcyRdKVxuICAgICAgICAgICAgICAgIC5waXBlKFxuICAgICAgICAgICAgICAgICAgICB0YXAoKFt2YWx1ZSwgaXRlbXNdKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgICAgICBpZiAoXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUubGVuZ3RoID09PSAwICYmXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgaXRlbXMuc29tZSgoaXRtKSA9PiBpdG0uZ2V0U2VsZWN0ZWQoKSkgJiZcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAhdGhpcy5fcm9vdENvbXBvbmVudC50b2dnbGVcbiAgICAgICAgICAgICAgICAgICAgICAgICkge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHNlbGVjdGVkVmFsdWVzID0gdGhpcy5fZ2V0U2VsZWN0ZWRWYWx1ZXMoaXRlbXMpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuX3Jvb3RDb21wb25lbnQub25DaGFuZ2Uoc2VsZWN0ZWRWYWx1ZXMgYXMgU2VsZWN0YWJsZUxpc3RWYWx1ZVR5cGU8RWxlbWVudFR5cGU+KTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gdGhpcy5fdmFsdWUkLm5leHQoc2VsZWN0ZWRWYWx1ZXMgYXMgU2VsZWN0YWJsZUxpc3RWYWx1ZVR5cGU8RWxlbWVudFR5cGU+KTtcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgIGl0ZW1zLmZvckVhY2goKGl0ZW0pID0+IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBpdGVtLnNldFNlbGVjdGVkKHZhbHVlLmluY2x1ZGVzKGl0ZW0udmFsdWUpKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5fY2QuZGV0ZWN0Q2hhbmdlcygpO1xuICAgICAgICAgICAgICAgICAgICB9KSxcbiAgICAgICAgICAgICAgICAgICAgdGFrZVVudGlsKHVuc3Vic2NyaWJlJClcbiAgICAgICAgICAgICAgICApXG4gICAgICAgICAgICAgICAgLnN1YnNjcmliZSgpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBuZ09uRGVzdHJveSgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5fZGVzdHJveSQubmV4dCgpO1xuICAgIH1cblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgc2VsZWN0SXRlbShpdGVtOiBTZWxlY3RhYmxlSXRlbVRva2VuPEVsZW1lbnRUeXBlLCBWYWx1ZVR5cGU+KTogdm9pZCB7XG4gICAgICAgIGlmIChpdGVtLmZka1NlbGVjdGFibGVJdGVtICE9PSBmYWxzZSkge1xuICAgICAgICAgICAgY29uc3QgdmFsOiBWYWx1ZVR5cGVbXSA9IFtpdGVtLnZhbHVlLCAuLi50aGlzLl92YWx1ZV07XG4gICAgICAgICAgICBjb25zdCBwcm9wZXJWYWx1ZXMgPSB0aGlzLl9nZXRQcm9wZXJWYWx1ZXModmFsIGFzIFNlbGVjdGFibGVMaXN0VmFsdWVUeXBlPEVsZW1lbnRUeXBlPik7XG4gICAgICAgICAgICB0aGlzLl92YWx1ZSQubmV4dChwcm9wZXJWYWx1ZXMpO1xuICAgICAgICAgICAgdGhpcy5fcm9vdENvbXBvbmVudC5vbkNoYW5nZShwcm9wZXJWYWx1ZXMpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBkZXNlbGVjdEl0ZW0oaXRlbTogU2VsZWN0YWJsZUl0ZW1Ub2tlbjxFbGVtZW50VHlwZSwgVmFsdWVUeXBlPik6IHZvaWQge1xuICAgICAgICBjb25zdCBjYW5CZURlc2VsZWN0ZWQgPSB0aGlzLl9yb290Q29tcG9uZW50LnRvZ2dsZSB8fCAodGhpcy5faXNNdWx0aXBsZU1vZGUgJiYgdGhpcy5fdmFsdWUubGVuZ3RoID4gMSk7XG4gICAgICAgIGlmIChjYW5CZURlc2VsZWN0ZWQpIHtcbiAgICAgICAgICAgIGNvbnN0IHZhbDogU2VsZWN0YWJsZUxpc3RWYWx1ZVR5cGU8RWxlbWVudFR5cGU+ID0gdGhpcy5fdmFsdWUuZmlsdGVyKFxuICAgICAgICAgICAgICAgICh2KSA9PiB2ICE9PSBpdGVtLnZhbHVlXG4gICAgICAgICAgICApIGFzIFNlbGVjdGFibGVMaXN0VmFsdWVUeXBlPEVsZW1lbnRUeXBlPjtcbiAgICAgICAgICAgIGNvbnN0IHByb3BlclZhbHVlcyA9IHRoaXMuX2dldFByb3BlclZhbHVlcyh2YWwpO1xuICAgICAgICAgICAgdGhpcy5fdmFsdWUkLm5leHQocHJvcGVyVmFsdWVzKTtcbiAgICAgICAgICAgIHRoaXMuX3Jvb3RDb21wb25lbnQub25DaGFuZ2UocHJvcGVyVmFsdWVzKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgcHJpdmF0ZSBnZXQgX2lzTXVsdGlwbGVNb2RlKCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gdGhpcy5fcm9vdENvbXBvbmVudC5tdWx0aXBsZSA9PT0gdHJ1ZTtcbiAgICB9XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIHByaXZhdGUgX2l0ZW1DbGlja2VkKGl0ZW06IFNlbGVjdGFibGVJdGVtVG9rZW48RWxlbWVudFR5cGUsIFZhbHVlVHlwZT4pOiB2b2lkIHtcbiAgICAgICAgY29uc3Qgd2FzU2VsZWN0ZWQgPSB0aGlzLl92YWx1ZS5pbmNsdWRlcyhpdGVtLnZhbHVlKTtcbiAgICAgICAgaWYgKHdhc1NlbGVjdGVkKSB7XG4gICAgICAgICAgICB0aGlzLmRlc2VsZWN0SXRlbShpdGVtKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHRoaXMuc2VsZWN0SXRlbShpdGVtKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgcHJpdmF0ZSBfZ2V0U2VsZWN0ZWRWYWx1ZXMoaXRlbXM6IFNlbGVjdGFibGVJdGVtVG9rZW48RWxlbWVudFR5cGUsIFZhbHVlVHlwZT5bXSk6IEVsZW1lbnRUeXBlIHwgRWxlbWVudFR5cGVbXSB7XG4gICAgICAgIGNvbnN0IHNlbGVjdGVkVmFsdWVzID0gaXRlbXMuZmlsdGVyKChpdG0pID0+IGl0bS5nZXRTZWxlY3RlZCgpKS5tYXAoKGl0bSkgPT4gaXRtLnZhbHVlKTtcbiAgICAgICAgcmV0dXJuIHRoaXMuX2dldFByb3BlclZhbHVlcyhzZWxlY3RlZFZhbHVlcyBhcyBTZWxlY3RhYmxlTGlzdFZhbHVlVHlwZTxFbGVtZW50VHlwZT4pO1xuICAgIH1cblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgcHJpdmF0ZSBfZ2V0UHJvcGVyVmFsdWVzKHZhbHVlczogU2VsZWN0YWJsZUxpc3RWYWx1ZVR5cGU8RWxlbWVudFR5cGU+KTogU2VsZWN0YWJsZUxpc3RWYWx1ZVR5cGU8RWxlbWVudFR5cGU+IHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX2lzTXVsdGlwbGVNb2RlID8gdmFsdWVzIDogdmFsdWVzWzBdO1xuICAgIH1cbn1cbiJdfQ==
|
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
import { Directive, Input, TemplateRef } 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 DeprecatedTemplateSelectorDirective extends DeprecatedSelector {
|
|
5
|
+
}
|
|
6
|
+
DeprecatedTemplateSelectorDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.0.2", ngImport: i0, type: DeprecatedTemplateSelectorDirective, deps: null, target: i0.ɵɵFactoryTarget.Directive });
|
|
7
|
+
DeprecatedTemplateSelectorDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.0.2", type: DeprecatedTemplateSelectorDirective, isStandalone: true, selector: "[fdTemplate]", providers: [
|
|
8
|
+
{
|
|
9
|
+
provide: FD_DEPRECATED_DIRECTIVE_SELECTOR,
|
|
10
|
+
useValue: getDeprecatedModel('[fdkTemplate]', '[fdTemplate]')
|
|
11
|
+
}
|
|
12
|
+
], usesInheritance: true, ngImport: i0 });
|
|
13
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.2", ngImport: i0, type: DeprecatedTemplateSelectorDirective, decorators: [{
|
|
14
|
+
type: Directive,
|
|
15
|
+
args: [{
|
|
16
|
+
// eslint-disable-next-line @angular-eslint/directive-selector
|
|
17
|
+
selector: '[fdTemplate]',
|
|
18
|
+
standalone: true,
|
|
19
|
+
providers: [
|
|
20
|
+
{
|
|
21
|
+
provide: FD_DEPRECATED_DIRECTIVE_SELECTOR,
|
|
22
|
+
useValue: getDeprecatedModel('[fdkTemplate]', '[fdTemplate]')
|
|
23
|
+
}
|
|
24
|
+
]
|
|
25
|
+
}]
|
|
26
|
+
}] });
|
|
27
|
+
export class TemplateDirective {
|
|
28
|
+
/** @hidden */
|
|
29
|
+
constructor(templateRef) {
|
|
30
|
+
this.templateRef = templateRef;
|
|
31
|
+
}
|
|
32
|
+
/** @hidden */
|
|
33
|
+
getName() {
|
|
34
|
+
return this.name;
|
|
35
|
+
}
|
|
36
|
+
}
|
|
37
|
+
TemplateDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.0.2", ngImport: i0, type: TemplateDirective, deps: [{ token: i0.TemplateRef }], target: i0.ɵɵFactoryTarget.Directive });
|
|
38
|
+
TemplateDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.0.2", type: TemplateDirective, isStandalone: true, selector: "[fdkTemplate], [fdTemplate]", inputs: { name: ["fdkTemplate", "name"] }, ngImport: i0 });
|
|
39
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.2", ngImport: i0, type: TemplateDirective, decorators: [{
|
|
40
|
+
type: Directive,
|
|
41
|
+
args: [{
|
|
42
|
+
selector: '[fdkTemplate], [fdTemplate]',
|
|
43
|
+
standalone: true
|
|
44
|
+
}]
|
|
45
|
+
}], ctorParameters: function () { return [{ type: i0.TemplateRef }]; }, propDecorators: { name: [{
|
|
46
|
+
type: Input,
|
|
47
|
+
args: ['fdkTemplate']
|
|
48
|
+
}] } });
|
|
49
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGVtcGxhdGUuZGlyZWN0aXZlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jZGsvc3JjL2xpYi91dGlscy9kaXJlY3RpdmVzL3RlbXBsYXRlL3RlbXBsYXRlLmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBRSxXQUFXLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDOUQsT0FBTyxFQUNILGtCQUFrQixFQUNsQixnQ0FBZ0MsRUFDaEMsa0JBQWtCLEVBQ3JCLE1BQU0saUNBQWlDLENBQUM7O0FBYXpDLE1BQU0sT0FBTyxtQ0FBb0MsU0FBUSxrQkFBa0I7O2dJQUE5RCxtQ0FBbUM7b0hBQW5DLG1DQUFtQywyREFQakM7UUFDUDtZQUNJLE9BQU8sRUFBRSxnQ0FBZ0M7WUFDekMsUUFBUSxFQUFFLGtCQUFrQixDQUFDLGVBQWUsRUFBRSxjQUFjLENBQUM7U0FDaEU7S0FDSjsyRkFFUSxtQ0FBbUM7a0JBWC9DLFNBQVM7bUJBQUM7b0JBQ1AsOERBQThEO29CQUM5RCxRQUFRLEVBQUUsY0FBYztvQkFDeEIsVUFBVSxFQUFFLElBQUk7b0JBQ2hCLFNBQVMsRUFBRTt3QkFDUDs0QkFDSSxPQUFPLEVBQUUsZ0NBQWdDOzRCQUN6QyxRQUFRLEVBQUUsa0JBQWtCLENBQUMsZUFBZSxFQUFFLGNBQWMsQ0FBQzt5QkFDaEU7cUJBQ0o7aUJBQ0o7O0FBT0QsTUFBTSxPQUFPLGlCQUFpQjtJQUsxQixjQUFjO0lBQ2QsWUFBbUIsV0FBNkI7UUFBN0IsZ0JBQVcsR0FBWCxXQUFXLENBQWtCO0lBQUcsQ0FBQztJQUVwRCxjQUFjO0lBQ2QsT0FBTztRQUNILE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQztJQUNyQixDQUFDOzs4R0FYUSxpQkFBaUI7a0dBQWpCLGlCQUFpQjsyRkFBakIsaUJBQWlCO2tCQUo3QixTQUFTO21CQUFDO29CQUNQLFFBQVEsRUFBRSw2QkFBNkI7b0JBQ3ZDLFVBQVUsRUFBRSxJQUFJO2lCQUNuQjtrR0FJRyxJQUFJO3NCQURILEtBQUs7dUJBQUMsYUFBYSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IERpcmVjdGl2ZSwgSW5wdXQsIFRlbXBsYXRlUmVmIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge1xuICAgIERlcHJlY2F0ZWRTZWxlY3RvcixcbiAgICBGRF9ERVBSRUNBVEVEX0RJUkVDVElWRV9TRUxFQ1RPUixcbiAgICBnZXREZXByZWNhdGVkTW9kZWxcbn0gZnJvbSAnLi4vLi4vZGVwcmVjYXRlZC1zZWxlY3Rvci5jbGFzcyc7XG5cbkBEaXJlY3RpdmUoe1xuICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAYW5ndWxhci1lc2xpbnQvZGlyZWN0aXZlLXNlbGVjdG9yXG4gICAgc2VsZWN0b3I6ICdbZmRUZW1wbGF0ZV0nLFxuICAgIHN0YW5kYWxvbmU6IHRydWUsXG4gICAgcHJvdmlkZXJzOiBbXG4gICAgICAgIHtcbiAgICAgICAgICAgIHByb3ZpZGU6IEZEX0RFUFJFQ0FURURfRElSRUNUSVZFX1NFTEVDVE9SLFxuICAgICAgICAgICAgdXNlVmFsdWU6IGdldERlcHJlY2F0ZWRNb2RlbCgnW2Zka1RlbXBsYXRlXScsICdbZmRUZW1wbGF0ZV0nKVxuICAgICAgICB9XG4gICAgXVxufSlcbmV4cG9ydCBjbGFzcyBEZXByZWNhdGVkVGVtcGxhdGVTZWxlY3RvckRpcmVjdGl2ZSBleHRlbmRzIERlcHJlY2F0ZWRTZWxlY3RvciB7fVxuXG5ARGlyZWN0aXZlKHtcbiAgICBzZWxlY3RvcjogJ1tmZGtUZW1wbGF0ZV0sIFtmZFRlbXBsYXRlXScsXG4gICAgc3RhbmRhbG9uZTogdHJ1ZVxufSlcbmV4cG9ydCBjbGFzcyBUZW1wbGF0ZURpcmVjdGl2ZSB7XG4gICAgLyoqIE5hbWUgb2YgdGhlIHRlbXBsYXRlICovXG4gICAgQElucHV0KCdmZGtUZW1wbGF0ZScpXG4gICAgbmFtZTogc3RyaW5nO1xuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBjb25zdHJ1Y3RvcihwdWJsaWMgdGVtcGxhdGVSZWY6IFRlbXBsYXRlUmVmPGFueT4pIHt9XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIGdldE5hbWUoKTogc3RyaW5nIHtcbiAgICAgICAgcmV0dXJuIHRoaXMubmFtZTtcbiAgICB9XG59XG4iXX0=
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import { NgModule } from '@angular/core';
|
|
2
|
+
import { TemplateDirective, DeprecatedTemplateSelectorDirective } from './template.directive';
|
|
3
|
+
import * as i0 from "@angular/core";
|
|
4
|
+
export class TemplateModule {
|
|
5
|
+
}
|
|
6
|
+
TemplateModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.0.2", ngImport: i0, type: TemplateModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
7
|
+
TemplateModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "15.0.2", ngImport: i0, type: TemplateModule, imports: [TemplateDirective, DeprecatedTemplateSelectorDirective], exports: [TemplateDirective, DeprecatedTemplateSelectorDirective] });
|
|
8
|
+
TemplateModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "15.0.2", ngImport: i0, type: TemplateModule });
|
|
9
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.2", ngImport: i0, type: TemplateModule, decorators: [{
|
|
10
|
+
type: NgModule,
|
|
11
|
+
args: [{
|
|
12
|
+
imports: [TemplateDirective, DeprecatedTemplateSelectorDirective],
|
|
13
|
+
exports: [TemplateDirective, DeprecatedTemplateSelectorDirective]
|
|
14
|
+
}]
|
|
15
|
+
}] });
|
|
16
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGVtcGxhdGUubW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jZGsvc3JjL2xpYi91dGlscy9kaXJlY3RpdmVzL3RlbXBsYXRlL3RlbXBsYXRlLm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3pDLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxtQ0FBbUMsRUFBRSxNQUFNLHNCQUFzQixDQUFDOztBQU05RixNQUFNLE9BQU8sY0FBYzs7MkdBQWQsY0FBYzs0R0FBZCxjQUFjLFlBSGIsaUJBQWlCLEVBQUUsbUNBQW1DLGFBQ3RELGlCQUFpQixFQUFFLG1DQUFtQzs0R0FFdkQsY0FBYzsyRkFBZCxjQUFjO2tCQUoxQixRQUFRO21CQUFDO29CQUNOLE9BQU8sRUFBRSxDQUFDLGlCQUFpQixFQUFFLG1DQUFtQyxDQUFDO29CQUNqRSxPQUFPLEVBQUUsQ0FBQyxpQkFBaUIsRUFBRSxtQ0FBbUMsQ0FBQztpQkFDcEUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBOZ01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgVGVtcGxhdGVEaXJlY3RpdmUsIERlcHJlY2F0ZWRUZW1wbGF0ZVNlbGVjdG9yRGlyZWN0aXZlIH0gZnJvbSAnLi90ZW1wbGF0ZS5kaXJlY3RpdmUnO1xuXG5ATmdNb2R1bGUoe1xuICAgIGltcG9ydHM6IFtUZW1wbGF0ZURpcmVjdGl2ZSwgRGVwcmVjYXRlZFRlbXBsYXRlU2VsZWN0b3JEaXJlY3RpdmVdLFxuICAgIGV4cG9ydHM6IFtUZW1wbGF0ZURpcmVjdGl2ZSwgRGVwcmVjYXRlZFRlbXBsYXRlU2VsZWN0b3JEaXJlY3RpdmVdXG59KVxuZXhwb3J0IGNsYXNzIFRlbXBsYXRlTW9kdWxlIHt9XG4iXX0=
|
|
@@ -0,0 +1,96 @@
|
|
|
1
|
+
import { Directive, ElementRef, Input } from '@angular/core';
|
|
2
|
+
import { coerceNumberProperty } from '@angular/cdk/coercion';
|
|
3
|
+
import { DeprecatedSelector, FD_DEPRECATED_DIRECTIVE_SELECTOR, getDeprecatedModel } from '../../deprecated-selector.class';
|
|
4
|
+
import * as i0 from "@angular/core";
|
|
5
|
+
export class DeprecatedTruncateSelectorDirective extends DeprecatedSelector {
|
|
6
|
+
}
|
|
7
|
+
DeprecatedTruncateSelectorDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.0.2", ngImport: i0, type: DeprecatedTruncateSelectorDirective, deps: null, target: i0.ɵɵFactoryTarget.Directive });
|
|
8
|
+
DeprecatedTruncateSelectorDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.0.2", type: DeprecatedTruncateSelectorDirective, isStandalone: true, selector: "[fdTruncate], [fd-truncate]", providers: [
|
|
9
|
+
{
|
|
10
|
+
provide: FD_DEPRECATED_DIRECTIVE_SELECTOR,
|
|
11
|
+
useValue: getDeprecatedModel('[fdkTemplate]', '[fdTruncate], [fd-truncate]')
|
|
12
|
+
}
|
|
13
|
+
], usesInheritance: true, ngImport: i0 });
|
|
14
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.2", ngImport: i0, type: DeprecatedTruncateSelectorDirective, decorators: [{
|
|
15
|
+
type: Directive,
|
|
16
|
+
args: [{
|
|
17
|
+
// eslint-disable-next-line @angular-eslint/directive-selector
|
|
18
|
+
selector: '[fdTruncate], [fd-truncate]',
|
|
19
|
+
standalone: true,
|
|
20
|
+
providers: [
|
|
21
|
+
{
|
|
22
|
+
provide: FD_DEPRECATED_DIRECTIVE_SELECTOR,
|
|
23
|
+
useValue: getDeprecatedModel('[fdkTemplate]', '[fdTruncate], [fd-truncate]')
|
|
24
|
+
}
|
|
25
|
+
]
|
|
26
|
+
}]
|
|
27
|
+
}] });
|
|
28
|
+
export class TruncateDirective {
|
|
29
|
+
/** @hidden */
|
|
30
|
+
constructor(_elementRef) {
|
|
31
|
+
this._elementRef = _elementRef;
|
|
32
|
+
/**
|
|
33
|
+
* Truncating state
|
|
34
|
+
*/
|
|
35
|
+
this.fdkTruncateState = false;
|
|
36
|
+
/** @hidden */
|
|
37
|
+
this._customWidthCount = 200;
|
|
38
|
+
/** @hidden */
|
|
39
|
+
this.takeDefaultStyleOnce = true;
|
|
40
|
+
}
|
|
41
|
+
/**
|
|
42
|
+
* Width in pixel for truncation of an element , by default
|
|
43
|
+
*/
|
|
44
|
+
set fdkTruncateWidth(value) {
|
|
45
|
+
this._customWidthCount = coerceNumberProperty(value);
|
|
46
|
+
}
|
|
47
|
+
/**
|
|
48
|
+
* Root native element
|
|
49
|
+
*/
|
|
50
|
+
get rootElement() {
|
|
51
|
+
return this._elementRef.nativeElement;
|
|
52
|
+
}
|
|
53
|
+
/**
|
|
54
|
+
* Method saves default style of target element before first truncate.
|
|
55
|
+
*/
|
|
56
|
+
setDefaultStyle() {
|
|
57
|
+
if (this.takeDefaultStyleOnce) {
|
|
58
|
+
this._defaultStyle = this._truncateTarget.style.cssText;
|
|
59
|
+
this.takeDefaultStyleOnce = false;
|
|
60
|
+
}
|
|
61
|
+
}
|
|
62
|
+
/** @hidden */
|
|
63
|
+
ngAfterViewInit() {
|
|
64
|
+
if (this.rootElement) {
|
|
65
|
+
this._truncate();
|
|
66
|
+
}
|
|
67
|
+
}
|
|
68
|
+
/** @hidden */
|
|
69
|
+
ngOnChanges() {
|
|
70
|
+
this._truncate();
|
|
71
|
+
}
|
|
72
|
+
/** @hidden */
|
|
73
|
+
_truncate() {
|
|
74
|
+
this._truncateTarget = this.rootElement;
|
|
75
|
+
if (!this._truncateTarget) {
|
|
76
|
+
return;
|
|
77
|
+
}
|
|
78
|
+
this.setDefaultStyle();
|
|
79
|
+
this._truncationStyle = `${this._defaultStyle} max-width: ${this._customWidthCount}px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap;`;
|
|
80
|
+
this._truncateTarget.style.cssText = this.fdkTruncateState ? this._truncationStyle : this._defaultStyle;
|
|
81
|
+
}
|
|
82
|
+
}
|
|
83
|
+
TruncateDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.0.2", ngImport: i0, type: TruncateDirective, deps: [{ token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Directive });
|
|
84
|
+
TruncateDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.0.2", type: TruncateDirective, isStandalone: true, selector: "[fdkTruncate], [fdTruncate], [fd-truncate]", inputs: { fdkTruncateWidth: "fdkTruncateWidth", fdkTruncateState: "fdkTruncateState" }, usesOnChanges: true, ngImport: i0 });
|
|
85
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.2", ngImport: i0, type: TruncateDirective, decorators: [{
|
|
86
|
+
type: Directive,
|
|
87
|
+
args: [{
|
|
88
|
+
selector: '[fdkTruncate], [fdTruncate], [fd-truncate]',
|
|
89
|
+
standalone: true
|
|
90
|
+
}]
|
|
91
|
+
}], ctorParameters: function () { return [{ type: i0.ElementRef }]; }, propDecorators: { fdkTruncateWidth: [{
|
|
92
|
+
type: Input
|
|
93
|
+
}], fdkTruncateState: [{
|
|
94
|
+
type: Input
|
|
95
|
+
}] } });
|
|
96
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJ1bmNhdGUuZGlyZWN0aXZlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jZGsvc3JjL2xpYi91dGlscy9kaXJlY3RpdmVzL3RydW5jYXRlL3RydW5jYXRlLmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQWlCLFNBQVMsRUFBRSxVQUFVLEVBQUUsS0FBSyxFQUFhLE1BQU0sZUFBZSxDQUFDO0FBQ3ZGLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBRTdELE9BQU8sRUFDSCxrQkFBa0IsRUFDbEIsZ0NBQWdDLEVBQ2hDLGtCQUFrQixFQUNyQixNQUFNLGlDQUFpQyxDQUFDOztBQWF6QyxNQUFNLE9BQU8sbUNBQW9DLFNBQVEsa0JBQWtCOztnSUFBOUQsbUNBQW1DO29IQUFuQyxtQ0FBbUMsMEVBUGpDO1FBQ1A7WUFDSSxPQUFPLEVBQUUsZ0NBQWdDO1lBQ3pDLFFBQVEsRUFBRSxrQkFBa0IsQ0FBQyxlQUFlLEVBQUUsNkJBQTZCLENBQUM7U0FDL0U7S0FDSjsyRkFFUSxtQ0FBbUM7a0JBWC9DLFNBQVM7bUJBQUM7b0JBQ1AsOERBQThEO29CQUM5RCxRQUFRLEVBQUUsNkJBQTZCO29CQUN2QyxVQUFVLEVBQUUsSUFBSTtvQkFDaEIsU0FBUyxFQUFFO3dCQUNQOzRCQUNJLE9BQU8sRUFBRSxnQ0FBZ0M7NEJBQ3pDLFFBQVEsRUFBRSxrQkFBa0IsQ0FBQyxlQUFlLEVBQUUsNkJBQTZCLENBQUM7eUJBQy9FO3FCQUNKO2lCQUNKOztBQU9ELE1BQU0sT0FBTyxpQkFBaUI7SUFrQzFCLGNBQWM7SUFDZCxZQUE2QixXQUF1QjtRQUF2QixnQkFBVyxHQUFYLFdBQVcsQ0FBWTtRQTFCcEQ7O1dBRUc7UUFFSCxxQkFBZ0IsR0FBRyxLQUFLLENBQUM7UUFFekIsY0FBYztRQUNOLHNCQUFpQixHQUFHLEdBQUcsQ0FBQztRQVVoQyxjQUFjO1FBQ04seUJBQW9CLEdBQUcsSUFBSSxDQUFDO0lBUW1CLENBQUM7SUFsQ3hEOztPQUVHO0lBQ0gsSUFDSSxnQkFBZ0IsQ0FBQyxLQUF1QjtRQUN4QyxJQUFJLENBQUMsaUJBQWlCLEdBQUcsb0JBQW9CLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDekQsQ0FBQztJQThCRDs7T0FFRztJQUNILElBQUksV0FBVztRQUNYLE9BQU8sSUFBSSxDQUFDLFdBQVcsQ0FBQyxhQUFhLENBQUM7SUFDMUMsQ0FBQztJQUVEOztPQUVHO0lBQ0gsZUFBZTtRQUNYLElBQUksSUFBSSxDQUFDLG9CQUFvQixFQUFFO1lBQzNCLElBQUksQ0FBQyxhQUFhLEdBQUcsSUFBSSxDQUFDLGVBQWUsQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDO1lBQ3hELElBQUksQ0FBQyxvQkFBb0IsR0FBRyxLQUFLLENBQUM7U0FDckM7SUFDTCxDQUFDO0lBQ0QsY0FBYztJQUNkLGVBQWU7UUFDWCxJQUFJLElBQUksQ0FBQyxXQUFXLEVBQUU7WUFDbEIsSUFBSSxDQUFDLFNBQVMsRUFBRSxDQUFDO1NBQ3BCO0lBQ0wsQ0FBQztJQUVELGNBQWM7SUFDZCxXQUFXO1FBQ1AsSUFBSSxDQUFDLFNBQVMsRUFBRSxDQUFDO0lBQ3JCLENBQUM7SUFFRCxjQUFjO0lBQ04sU0FBUztRQUNiLElBQUksQ0FBQyxlQUFlLEdBQUcsSUFBSSxDQUFDLFdBQVcsQ0FBQztRQUV4QyxJQUFJLENBQUMsSUFBSSxDQUFDLGVBQWUsRUFBRTtZQUN2QixPQUFPO1NBQ1Y7UUFDRCxJQUFJLENBQUMsZUFBZSxFQUFFLENBQUM7UUFDdkIsSUFBSSxDQUFDLGdCQUFnQixHQUFHLEdBQUcsSUFBSSxDQUFDLGFBQWEsZUFBZSxJQUFJLENBQUMsaUJBQWlCLHFFQUFxRSxDQUFDO1FBQ3hKLElBQUksQ0FBQyxlQUFlLENBQUMsS0FBSyxDQUFDLE9BQU8sR0FBRyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLGFBQWEsQ0FBQztJQUM1RyxDQUFDOzs4R0EzRVEsaUJBQWlCO2tHQUFqQixpQkFBaUI7MkZBQWpCLGlCQUFpQjtrQkFKN0IsU0FBUzttQkFBQztvQkFDUCxRQUFRLEVBQUUsNENBQTRDO29CQUN0RCxVQUFVLEVBQUUsSUFBSTtpQkFDbkI7aUdBTU8sZ0JBQWdCO3NCQURuQixLQUFLO2dCQVNOLGdCQUFnQjtzQkFEZixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQWZ0ZXJWaWV3SW5pdCwgRGlyZWN0aXZlLCBFbGVtZW50UmVmLCBJbnB1dCwgT25DaGFuZ2VzIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBjb2VyY2VOdW1iZXJQcm9wZXJ0eSB9IGZyb20gJ0Bhbmd1bGFyL2Nkay9jb2VyY2lvbic7XG5pbXBvcnQgeyBOdWxsYWJsZSB9IGZyb20gJy4uLy4uL21vZGVscy9udWxsYWJsZSc7XG5pbXBvcnQge1xuICAgIERlcHJlY2F0ZWRTZWxlY3RvcixcbiAgICBGRF9ERVBSRUNBVEVEX0RJUkVDVElWRV9TRUxFQ1RPUixcbiAgICBnZXREZXByZWNhdGVkTW9kZWxcbn0gZnJvbSAnLi4vLi4vZGVwcmVjYXRlZC1zZWxlY3Rvci5jbGFzcyc7XG5cbkBEaXJlY3RpdmUoe1xuICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAYW5ndWxhci1lc2xpbnQvZGlyZWN0aXZlLXNlbGVjdG9yXG4gICAgc2VsZWN0b3I6ICdbZmRUcnVuY2F0ZV0sIFtmZC10cnVuY2F0ZV0nLFxuICAgIHN0YW5kYWxvbmU6IHRydWUsXG4gICAgcHJvdmlkZXJzOiBbXG4gICAgICAgIHtcbiAgICAgICAgICAgIHByb3ZpZGU6IEZEX0RFUFJFQ0FURURfRElSRUNUSVZFX1NFTEVDVE9SLFxuICAgICAgICAgICAgdXNlVmFsdWU6IGdldERlcHJlY2F0ZWRNb2RlbCgnW2Zka1RlbXBsYXRlXScsICdbZmRUcnVuY2F0ZV0sIFtmZC10cnVuY2F0ZV0nKVxuICAgICAgICB9XG4gICAgXVxufSlcbmV4cG9ydCBjbGFzcyBEZXByZWNhdGVkVHJ1bmNhdGVTZWxlY3RvckRpcmVjdGl2ZSBleHRlbmRzIERlcHJlY2F0ZWRTZWxlY3RvciB7fVxuXG5ARGlyZWN0aXZlKHtcbiAgICBzZWxlY3RvcjogJ1tmZGtUcnVuY2F0ZV0sIFtmZFRydW5jYXRlXSwgW2ZkLXRydW5jYXRlXScsXG4gICAgc3RhbmRhbG9uZTogdHJ1ZVxufSlcbmV4cG9ydCBjbGFzcyBUcnVuY2F0ZURpcmVjdGl2ZSBpbXBsZW1lbnRzIE9uQ2hhbmdlcywgQWZ0ZXJWaWV3SW5pdCB7XG4gICAgLyoqXG4gICAgICogV2lkdGggaW4gcGl4ZWwgZm9yIHRydW5jYXRpb24gb2YgYW4gZWxlbWVudCAsIGJ5IGRlZmF1bHRcbiAgICAgKi9cbiAgICBASW5wdXQoKVxuICAgIHNldCBmZGtUcnVuY2F0ZVdpZHRoKHZhbHVlOiBOdWxsYWJsZTxudW1iZXI+KSB7XG4gICAgICAgIHRoaXMuX2N1c3RvbVdpZHRoQ291bnQgPSBjb2VyY2VOdW1iZXJQcm9wZXJ0eSh2YWx1ZSk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogVHJ1bmNhdGluZyBzdGF0ZVxuICAgICAqL1xuICAgIEBJbnB1dCgpXG4gICAgZmRrVHJ1bmNhdGVTdGF0ZSA9IGZhbHNlO1xuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBwcml2YXRlIF9jdXN0b21XaWR0aENvdW50ID0gMjAwO1xuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBwcml2YXRlIF90cnVuY2F0ZVRhcmdldDogSFRNTEVsZW1lbnQ7XG5cbiAgICAvKiogQGhpZGRlblxuICAgICAqIHNhdmVzIGRlZmF1bHQgc3R5bGUgb2YgZWxlbWVudCBiZWZvcmUgdHJ1bmNhdGluZ1xuICAgICAqL1xuICAgIHByaXZhdGUgX2RlZmF1bHRTdHlsZTogc3RyaW5nO1xuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBwcml2YXRlIHRha2VEZWZhdWx0U3R5bGVPbmNlID0gdHJ1ZTtcblxuICAgIC8qKiBAaGlkZGVuXG4gICAgICogdHJ1bmNhdGlvbiBzdHlsZSBmb3IgdHJ1bmNhdGluZyBlbGVtZW50XG4gICAgICovXG4gICAgcHJpdmF0ZSBfdHJ1bmNhdGlvblN0eWxlOiBzdHJpbmc7XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIGNvbnN0cnVjdG9yKHByaXZhdGUgcmVhZG9ubHkgX2VsZW1lbnRSZWY6IEVsZW1lbnRSZWYpIHt9XG5cbiAgICAvKipcbiAgICAgKiBSb290IG5hdGl2ZSBlbGVtZW50XG4gICAgICovXG4gICAgZ2V0IHJvb3RFbGVtZW50KCk6IEhUTUxFbGVtZW50IHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX2VsZW1lbnRSZWYubmF0aXZlRWxlbWVudDtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBNZXRob2Qgc2F2ZXMgZGVmYXVsdCBzdHlsZSBvZiB0YXJnZXQgZWxlbWVudCBiZWZvcmUgZmlyc3QgdHJ1bmNhdGUuXG4gICAgICovXG4gICAgc2V0RGVmYXVsdFN0eWxlKCk6IHZvaWQge1xuICAgICAgICBpZiAodGhpcy50YWtlRGVmYXVsdFN0eWxlT25jZSkge1xuICAgICAgICAgICAgdGhpcy5fZGVmYXVsdFN0eWxlID0gdGhpcy5fdHJ1bmNhdGVUYXJnZXQuc3R5bGUuY3NzVGV4dDtcbiAgICAgICAgICAgIHRoaXMudGFrZURlZmF1bHRTdHlsZU9uY2UgPSBmYWxzZTtcbiAgICAgICAgfVxuICAgIH1cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIG5nQWZ0ZXJWaWV3SW5pdCgpOiB2b2lkIHtcbiAgICAgICAgaWYgKHRoaXMucm9vdEVsZW1lbnQpIHtcbiAgICAgICAgICAgIHRoaXMuX3RydW5jYXRlKCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIG5nT25DaGFuZ2VzKCk6IHZvaWQge1xuICAgICAgICB0aGlzLl90cnVuY2F0ZSgpO1xuICAgIH1cblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgcHJpdmF0ZSBfdHJ1bmNhdGUoKTogdm9pZCB7XG4gICAgICAgIHRoaXMuX3RydW5jYXRlVGFyZ2V0ID0gdGhpcy5yb290RWxlbWVudDtcblxuICAgICAgICBpZiAoIXRoaXMuX3RydW5jYXRlVGFyZ2V0KSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cbiAgICAgICAgdGhpcy5zZXREZWZhdWx0U3R5bGUoKTtcbiAgICAgICAgdGhpcy5fdHJ1bmNhdGlvblN0eWxlID0gYCR7dGhpcy5fZGVmYXVsdFN0eWxlfSBtYXgtd2lkdGg6ICR7dGhpcy5fY3VzdG9tV2lkdGhDb3VudH1weDsgb3ZlcmZsb3c6IGhpZGRlbjsgdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7IHdoaXRlLXNwYWNlOiBub3dyYXA7YDtcbiAgICAgICAgdGhpcy5fdHJ1bmNhdGVUYXJnZXQuc3R5bGUuY3NzVGV4dCA9IHRoaXMuZmRrVHJ1bmNhdGVTdGF0ZSA/IHRoaXMuX3RydW5jYXRpb25TdHlsZSA6IHRoaXMuX2RlZmF1bHRTdHlsZTtcbiAgICB9XG59XG4iXX0=
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import { NgModule } from '@angular/core';
|
|
2
|
+
import { TruncateDirective, DeprecatedTruncateSelectorDirective } from './truncate.directive';
|
|
3
|
+
import * as i0 from "@angular/core";
|
|
4
|
+
export class TruncateModule {
|
|
5
|
+
}
|
|
6
|
+
TruncateModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.0.2", ngImport: i0, type: TruncateModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
7
|
+
TruncateModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "15.0.2", ngImport: i0, type: TruncateModule, imports: [TruncateDirective, DeprecatedTruncateSelectorDirective], exports: [TruncateDirective, DeprecatedTruncateSelectorDirective] });
|
|
8
|
+
TruncateModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "15.0.2", ngImport: i0, type: TruncateModule });
|
|
9
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.2", ngImport: i0, type: TruncateModule, decorators: [{
|
|
10
|
+
type: NgModule,
|
|
11
|
+
args: [{
|
|
12
|
+
imports: [TruncateDirective, DeprecatedTruncateSelectorDirective],
|
|
13
|
+
exports: [TruncateDirective, DeprecatedTruncateSelectorDirective]
|
|
14
|
+
}]
|
|
15
|
+
}] });
|
|
16
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJ1bmNhdGUubW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jZGsvc3JjL2xpYi91dGlscy9kaXJlY3RpdmVzL3RydW5jYXRlL3RydW5jYXRlLm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRXpDLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxtQ0FBbUMsRUFBRSxNQUFNLHNCQUFzQixDQUFDOztBQU05RixNQUFNLE9BQU8sY0FBYzs7MkdBQWQsY0FBYzs0R0FBZCxjQUFjLFlBSGIsaUJBQWlCLEVBQUUsbUNBQW1DLGFBQ3RELGlCQUFpQixFQUFFLG1DQUFtQzs0R0FFdkQsY0FBYzsyRkFBZCxjQUFjO2tCQUoxQixRQUFRO21CQUFDO29CQUNOLE9BQU8sRUFBRSxDQUFDLGlCQUFpQixFQUFFLG1DQUFtQyxDQUFDO29CQUNqRSxPQUFPLEVBQUUsQ0FBQyxpQkFBaUIsRUFBRSxtQ0FBbUMsQ0FBQztpQkFDcEUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBOZ01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5pbXBvcnQgeyBUcnVuY2F0ZURpcmVjdGl2ZSwgRGVwcmVjYXRlZFRydW5jYXRlU2VsZWN0b3JEaXJlY3RpdmUgfSBmcm9tICcuL3RydW5jYXRlLmRpcmVjdGl2ZSc7XG5cbkBOZ01vZHVsZSh7XG4gICAgaW1wb3J0czogW1RydW5jYXRlRGlyZWN0aXZlLCBEZXByZWNhdGVkVHJ1bmNhdGVTZWxlY3RvckRpcmVjdGl2ZV0sXG4gICAgZXhwb3J0czogW1RydW5jYXRlRGlyZWN0aXZlLCBEZXByZWNhdGVkVHJ1bmNhdGVTZWxlY3RvckRpcmVjdGl2ZV1cbn0pXG5leHBvcnQgY2xhc3MgVHJ1bmNhdGVNb2R1bGUge31cbiJdfQ==
|