@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
|
@@ -6,83 +6,83 @@ import { AutoCompleteModule, ClickedBehaviorModule, DisabledBehaviorModule, Focu
|
|
|
6
6
|
import { DragAndDropModule } from './drag-and-drop/drag-and-drop.module';
|
|
7
7
|
import * as i0 from "@angular/core";
|
|
8
8
|
export class UtilsModule {
|
|
9
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.0", ngImport: i0, type: UtilsModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
|
|
10
|
+
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "16.1.0", ngImport: i0, type: UtilsModule, imports: [CommonModule,
|
|
11
|
+
FocusableItemModule,
|
|
12
|
+
FocusableListModule,
|
|
13
|
+
FocusableGridModule,
|
|
14
|
+
DragAndDropModule,
|
|
15
|
+
OnlyDigitsModule,
|
|
16
|
+
TruncateModule,
|
|
17
|
+
LineClampModule,
|
|
18
|
+
OverflowListModule,
|
|
19
|
+
RepeatModule,
|
|
20
|
+
ResizeModule,
|
|
21
|
+
TemplateModule,
|
|
22
|
+
AutoCompleteModule,
|
|
23
|
+
DisabledBehaviorModule,
|
|
24
|
+
SelectableListModule,
|
|
25
|
+
ReadonlyBehaviorModule,
|
|
26
|
+
ClickedBehaviorModule,
|
|
27
|
+
InitialFocusModule,
|
|
28
|
+
BreakpointModule,
|
|
29
|
+
IntersectionSpyDirective], exports: [FocusableItemModule,
|
|
30
|
+
FocusableListModule,
|
|
31
|
+
FocusableGridModule,
|
|
32
|
+
DragAndDropModule,
|
|
33
|
+
OnlyDigitsModule,
|
|
34
|
+
TruncateModule,
|
|
35
|
+
LineClampModule,
|
|
36
|
+
OverflowListModule,
|
|
37
|
+
RepeatModule,
|
|
38
|
+
ResizeModule,
|
|
39
|
+
TemplateModule,
|
|
40
|
+
AutoCompleteModule,
|
|
41
|
+
DisabledBehaviorModule,
|
|
42
|
+
SelectableListModule,
|
|
43
|
+
ReadonlyBehaviorModule,
|
|
44
|
+
ClickedBehaviorModule,
|
|
45
|
+
InitialFocusModule,
|
|
46
|
+
BreakpointModule,
|
|
47
|
+
IntersectionSpyDirective] }); }
|
|
48
|
+
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "16.1.0", ngImport: i0, type: UtilsModule, providers: [RtlService, ThemesService], imports: [CommonModule,
|
|
49
|
+
FocusableItemModule,
|
|
50
|
+
FocusableListModule,
|
|
51
|
+
FocusableGridModule,
|
|
52
|
+
DragAndDropModule,
|
|
53
|
+
OnlyDigitsModule,
|
|
54
|
+
TruncateModule,
|
|
55
|
+
LineClampModule,
|
|
56
|
+
OverflowListModule,
|
|
57
|
+
RepeatModule,
|
|
58
|
+
ResizeModule,
|
|
59
|
+
TemplateModule,
|
|
60
|
+
AutoCompleteModule,
|
|
61
|
+
DisabledBehaviorModule,
|
|
62
|
+
SelectableListModule,
|
|
63
|
+
ReadonlyBehaviorModule,
|
|
64
|
+
ClickedBehaviorModule,
|
|
65
|
+
InitialFocusModule,
|
|
66
|
+
BreakpointModule, FocusableItemModule,
|
|
67
|
+
FocusableListModule,
|
|
68
|
+
FocusableGridModule,
|
|
69
|
+
DragAndDropModule,
|
|
70
|
+
OnlyDigitsModule,
|
|
71
|
+
TruncateModule,
|
|
72
|
+
LineClampModule,
|
|
73
|
+
OverflowListModule,
|
|
74
|
+
RepeatModule,
|
|
75
|
+
ResizeModule,
|
|
76
|
+
TemplateModule,
|
|
77
|
+
AutoCompleteModule,
|
|
78
|
+
DisabledBehaviorModule,
|
|
79
|
+
SelectableListModule,
|
|
80
|
+
ReadonlyBehaviorModule,
|
|
81
|
+
ClickedBehaviorModule,
|
|
82
|
+
InitialFocusModule,
|
|
83
|
+
BreakpointModule] }); }
|
|
9
84
|
}
|
|
10
|
-
|
|
11
|
-
UtilsModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "15.2.9", ngImport: i0, type: UtilsModule, imports: [CommonModule,
|
|
12
|
-
FocusableItemModule,
|
|
13
|
-
FocusableListModule,
|
|
14
|
-
FocusableGridModule,
|
|
15
|
-
DragAndDropModule,
|
|
16
|
-
OnlyDigitsModule,
|
|
17
|
-
TruncateModule,
|
|
18
|
-
LineClampModule,
|
|
19
|
-
OverflowListModule,
|
|
20
|
-
RepeatModule,
|
|
21
|
-
ResizeModule,
|
|
22
|
-
TemplateModule,
|
|
23
|
-
AutoCompleteModule,
|
|
24
|
-
DisabledBehaviorModule,
|
|
25
|
-
SelectableListModule,
|
|
26
|
-
ReadonlyBehaviorModule,
|
|
27
|
-
ClickedBehaviorModule,
|
|
28
|
-
InitialFocusModule,
|
|
29
|
-
BreakpointModule,
|
|
30
|
-
IntersectionSpyDirective], exports: [FocusableItemModule,
|
|
31
|
-
FocusableListModule,
|
|
32
|
-
FocusableGridModule,
|
|
33
|
-
DragAndDropModule,
|
|
34
|
-
OnlyDigitsModule,
|
|
35
|
-
TruncateModule,
|
|
36
|
-
LineClampModule,
|
|
37
|
-
OverflowListModule,
|
|
38
|
-
RepeatModule,
|
|
39
|
-
ResizeModule,
|
|
40
|
-
TemplateModule,
|
|
41
|
-
AutoCompleteModule,
|
|
42
|
-
DisabledBehaviorModule,
|
|
43
|
-
SelectableListModule,
|
|
44
|
-
ReadonlyBehaviorModule,
|
|
45
|
-
ClickedBehaviorModule,
|
|
46
|
-
InitialFocusModule,
|
|
47
|
-
BreakpointModule,
|
|
48
|
-
IntersectionSpyDirective] });
|
|
49
|
-
UtilsModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: UtilsModule, providers: [RtlService, ThemesService], imports: [CommonModule,
|
|
50
|
-
FocusableItemModule,
|
|
51
|
-
FocusableListModule,
|
|
52
|
-
FocusableGridModule,
|
|
53
|
-
DragAndDropModule,
|
|
54
|
-
OnlyDigitsModule,
|
|
55
|
-
TruncateModule,
|
|
56
|
-
LineClampModule,
|
|
57
|
-
OverflowListModule,
|
|
58
|
-
RepeatModule,
|
|
59
|
-
ResizeModule,
|
|
60
|
-
TemplateModule,
|
|
61
|
-
AutoCompleteModule,
|
|
62
|
-
DisabledBehaviorModule,
|
|
63
|
-
SelectableListModule,
|
|
64
|
-
ReadonlyBehaviorModule,
|
|
65
|
-
ClickedBehaviorModule,
|
|
66
|
-
InitialFocusModule,
|
|
67
|
-
BreakpointModule, FocusableItemModule,
|
|
68
|
-
FocusableListModule,
|
|
69
|
-
FocusableGridModule,
|
|
70
|
-
DragAndDropModule,
|
|
71
|
-
OnlyDigitsModule,
|
|
72
|
-
TruncateModule,
|
|
73
|
-
LineClampModule,
|
|
74
|
-
OverflowListModule,
|
|
75
|
-
RepeatModule,
|
|
76
|
-
ResizeModule,
|
|
77
|
-
TemplateModule,
|
|
78
|
-
AutoCompleteModule,
|
|
79
|
-
DisabledBehaviorModule,
|
|
80
|
-
SelectableListModule,
|
|
81
|
-
ReadonlyBehaviorModule,
|
|
82
|
-
ClickedBehaviorModule,
|
|
83
|
-
InitialFocusModule,
|
|
84
|
-
BreakpointModule] });
|
|
85
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: UtilsModule, decorators: [{
|
|
85
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.0", ngImport: i0, type: UtilsModule, decorators: [{
|
|
86
86
|
type: NgModule,
|
|
87
87
|
args: [{
|
|
88
88
|
imports: [
|
|
@@ -131,4 +131,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImpor
|
|
|
131
131
|
providers: [RtlService, ThemesService]
|
|
132
132
|
}]
|
|
133
133
|
}] });
|
|
134
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
134
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXRpbHMubW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vbGlicy9jZGsvc3JjL2xpYi91dGlscy91dGlscy5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN6QyxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQ3BELE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUMxRCxPQUFPLEVBQ0gsa0JBQWtCLEVBQ2xCLHFCQUFxQixFQUNyQixzQkFBc0IsRUFDdEIsbUJBQW1CLEVBQ25CLG1CQUFtQixFQUNuQixtQkFBbUIsRUFDbkIsa0JBQWtCLEVBQ2xCLGVBQWUsRUFDZixnQkFBZ0IsRUFDaEIsa0JBQWtCLEVBQ2xCLHNCQUFzQixFQUN0QixZQUFZLEVBQ1osWUFBWSxFQUNaLG9CQUFvQixFQUNwQixjQUFjLEVBQ2QsY0FBYyxFQUNkLGdCQUFnQixFQUNoQix3QkFBd0IsRUFDM0IsTUFBTSxjQUFjLENBQUM7QUFDdEIsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sc0NBQXNDLENBQUM7O0FBZ0R6RSxNQUFNLE9BQU8sV0FBVzs4R0FBWCxXQUFXOytHQUFYLFdBQVcsWUE1Q2hCLFlBQVk7WUFDWixtQkFBbUI7WUFDbkIsbUJBQW1CO1lBQ25CLG1CQUFtQjtZQUNuQixpQkFBaUI7WUFDakIsZ0JBQWdCO1lBQ2hCLGNBQWM7WUFDZCxlQUFlO1lBQ2Ysa0JBQWtCO1lBQ2xCLFlBQVk7WUFDWixZQUFZO1lBQ1osY0FBYztZQUNkLGtCQUFrQjtZQUNsQixzQkFBc0I7WUFDdEIsb0JBQW9CO1lBQ3BCLHNCQUFzQjtZQUN0QixxQkFBcUI7WUFDckIsa0JBQWtCO1lBQ2xCLGdCQUFnQjtZQUNoQix3QkFBd0IsYUFHeEIsbUJBQW1CO1lBQ25CLG1CQUFtQjtZQUNuQixtQkFBbUI7WUFDbkIsaUJBQWlCO1lBQ2pCLGdCQUFnQjtZQUNoQixjQUFjO1lBQ2QsZUFBZTtZQUNmLGtCQUFrQjtZQUNsQixZQUFZO1lBQ1osWUFBWTtZQUNaLGNBQWM7WUFDZCxrQkFBa0I7WUFDbEIsc0JBQXNCO1lBQ3RCLG9CQUFvQjtZQUNwQixzQkFBc0I7WUFDdEIscUJBQXFCO1lBQ3JCLGtCQUFrQjtZQUNsQixnQkFBZ0I7WUFDaEIsd0JBQXdCOytHQUluQixXQUFXLGFBRlQsQ0FBQyxVQUFVLEVBQUUsYUFBYSxDQUFDLFlBMUNsQyxZQUFZO1lBQ1osbUJBQW1CO1lBQ25CLG1CQUFtQjtZQUNuQixtQkFBbUI7WUFDbkIsaUJBQWlCO1lBQ2pCLGdCQUFnQjtZQUNoQixjQUFjO1lBQ2QsZUFBZTtZQUNmLGtCQUFrQjtZQUNsQixZQUFZO1lBQ1osWUFBWTtZQUNaLGNBQWM7WUFDZCxrQkFBa0I7WUFDbEIsc0JBQXNCO1lBQ3RCLG9CQUFvQjtZQUNwQixzQkFBc0I7WUFDdEIscUJBQXFCO1lBQ3JCLGtCQUFrQjtZQUNsQixnQkFBZ0IsRUFJaEIsbUJBQW1CO1lBQ25CLG1CQUFtQjtZQUNuQixtQkFBbUI7WUFDbkIsaUJBQWlCO1lBQ2pCLGdCQUFnQjtZQUNoQixjQUFjO1lBQ2QsZUFBZTtZQUNmLGtCQUFrQjtZQUNsQixZQUFZO1lBQ1osWUFBWTtZQUNaLGNBQWM7WUFDZCxrQkFBa0I7WUFDbEIsc0JBQXNCO1lBQ3RCLG9CQUFvQjtZQUNwQixzQkFBc0I7WUFDdEIscUJBQXFCO1lBQ3JCLGtCQUFrQjtZQUNsQixnQkFBZ0I7OzJGQUtYLFdBQVc7a0JBOUN2QixRQUFRO21CQUFDO29CQUNOLE9BQU8sRUFBRTt3QkFDTCxZQUFZO3dCQUNaLG1CQUFtQjt3QkFDbkIsbUJBQW1CO3dCQUNuQixtQkFBbUI7d0JBQ25CLGlCQUFpQjt3QkFDakIsZ0JBQWdCO3dCQUNoQixjQUFjO3dCQUNkLGVBQWU7d0JBQ2Ysa0JBQWtCO3dCQUNsQixZQUFZO3dCQUNaLFlBQVk7d0JBQ1osY0FBYzt3QkFDZCxrQkFBa0I7d0JBQ2xCLHNCQUFzQjt3QkFDdEIsb0JBQW9CO3dCQUNwQixzQkFBc0I7d0JBQ3RCLHFCQUFxQjt3QkFDckIsa0JBQWtCO3dCQUNsQixnQkFBZ0I7d0JBQ2hCLHdCQUF3QjtxQkFDM0I7b0JBQ0QsT0FBTyxFQUFFO3dCQUNMLG1CQUFtQjt3QkFDbkIsbUJBQW1CO3dCQUNuQixtQkFBbUI7d0JBQ25CLGlCQUFpQjt3QkFDakIsZ0JBQWdCO3dCQUNoQixjQUFjO3dCQUNkLGVBQWU7d0JBQ2Ysa0JBQWtCO3dCQUNsQixZQUFZO3dCQUNaLFlBQVk7d0JBQ1osY0FBYzt3QkFDZCxrQkFBa0I7d0JBQ2xCLHNCQUFzQjt3QkFDdEIsb0JBQW9CO3dCQUNwQixzQkFBc0I7d0JBQ3RCLHFCQUFxQjt3QkFDckIsa0JBQWtCO3dCQUNsQixnQkFBZ0I7d0JBQ2hCLHdCQUF3QjtxQkFDM0I7b0JBQ0QsU0FBUyxFQUFFLENBQUMsVUFBVSxFQUFFLGFBQWEsQ0FBQztpQkFDekMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBOZ01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IFJ0bFNlcnZpY2UgfSBmcm9tICcuL3NlcnZpY2VzL3J0bC5zZXJ2aWNlJztcbmltcG9ydCB7IFRoZW1lc1NlcnZpY2UgfSBmcm9tICcuL3NlcnZpY2VzL3RoZW1lcy5zZXJ2aWNlJztcbmltcG9ydCB7XG4gICAgQXV0b0NvbXBsZXRlTW9kdWxlLFxuICAgIENsaWNrZWRCZWhhdmlvck1vZHVsZSxcbiAgICBEaXNhYmxlZEJlaGF2aW9yTW9kdWxlLFxuICAgIEZvY3VzYWJsZUdyaWRNb2R1bGUsXG4gICAgRm9jdXNhYmxlSXRlbU1vZHVsZSxcbiAgICBGb2N1c2FibGVMaXN0TW9kdWxlLFxuICAgIEluaXRpYWxGb2N1c01vZHVsZSxcbiAgICBMaW5lQ2xhbXBNb2R1bGUsXG4gICAgT25seURpZ2l0c01vZHVsZSxcbiAgICBPdmVyZmxvd0xpc3RNb2R1bGUsXG4gICAgUmVhZG9ubHlCZWhhdmlvck1vZHVsZSxcbiAgICBSZXBlYXRNb2R1bGUsXG4gICAgUmVzaXplTW9kdWxlLFxuICAgIFNlbGVjdGFibGVMaXN0TW9kdWxlLFxuICAgIFRlbXBsYXRlTW9kdWxlLFxuICAgIFRydW5jYXRlTW9kdWxlLFxuICAgIEJyZWFrcG9pbnRNb2R1bGUsXG4gICAgSW50ZXJzZWN0aW9uU3B5RGlyZWN0aXZlXG59IGZyb20gJy4vZGlyZWN0aXZlcyc7XG5pbXBvcnQgeyBEcmFnQW5kRHJvcE1vZHVsZSB9IGZyb20gJy4vZHJhZy1hbmQtZHJvcC9kcmFnLWFuZC1kcm9wLm1vZHVsZSc7XG5cbkBOZ01vZHVsZSh7XG4gICAgaW1wb3J0czogW1xuICAgICAgICBDb21tb25Nb2R1bGUsXG4gICAgICAgIEZvY3VzYWJsZUl0ZW1Nb2R1bGUsXG4gICAgICAgIEZvY3VzYWJsZUxpc3RNb2R1bGUsXG4gICAgICAgIEZvY3VzYWJsZUdyaWRNb2R1bGUsXG4gICAgICAgIERyYWdBbmREcm9wTW9kdWxlLFxuICAgICAgICBPbmx5RGlnaXRzTW9kdWxlLFxuICAgICAgICBUcnVuY2F0ZU1vZHVsZSxcbiAgICAgICAgTGluZUNsYW1wTW9kdWxlLFxuICAgICAgICBPdmVyZmxvd0xpc3RNb2R1bGUsXG4gICAgICAgIFJlcGVhdE1vZHVsZSxcbiAgICAgICAgUmVzaXplTW9kdWxlLFxuICAgICAgICBUZW1wbGF0ZU1vZHVsZSxcbiAgICAgICAgQXV0b0NvbXBsZXRlTW9kdWxlLFxuICAgICAgICBEaXNhYmxlZEJlaGF2aW9yTW9kdWxlLFxuICAgICAgICBTZWxlY3RhYmxlTGlzdE1vZHVsZSxcbiAgICAgICAgUmVhZG9ubHlCZWhhdmlvck1vZHVsZSxcbiAgICAgICAgQ2xpY2tlZEJlaGF2aW9yTW9kdWxlLFxuICAgICAgICBJbml0aWFsRm9jdXNNb2R1bGUsXG4gICAgICAgIEJyZWFrcG9pbnRNb2R1bGUsXG4gICAgICAgIEludGVyc2VjdGlvblNweURpcmVjdGl2ZVxuICAgIF0sXG4gICAgZXhwb3J0czogW1xuICAgICAgICBGb2N1c2FibGVJdGVtTW9kdWxlLFxuICAgICAgICBGb2N1c2FibGVMaXN0TW9kdWxlLFxuICAgICAgICBGb2N1c2FibGVHcmlkTW9kdWxlLFxuICAgICAgICBEcmFnQW5kRHJvcE1vZHVsZSxcbiAgICAgICAgT25seURpZ2l0c01vZHVsZSxcbiAgICAgICAgVHJ1bmNhdGVNb2R1bGUsXG4gICAgICAgIExpbmVDbGFtcE1vZHVsZSxcbiAgICAgICAgT3ZlcmZsb3dMaXN0TW9kdWxlLFxuICAgICAgICBSZXBlYXRNb2R1bGUsXG4gICAgICAgIFJlc2l6ZU1vZHVsZSxcbiAgICAgICAgVGVtcGxhdGVNb2R1bGUsXG4gICAgICAgIEF1dG9Db21wbGV0ZU1vZHVsZSxcbiAgICAgICAgRGlzYWJsZWRCZWhhdmlvck1vZHVsZSxcbiAgICAgICAgU2VsZWN0YWJsZUxpc3RNb2R1bGUsXG4gICAgICAgIFJlYWRvbmx5QmVoYXZpb3JNb2R1bGUsXG4gICAgICAgIENsaWNrZWRCZWhhdmlvck1vZHVsZSxcbiAgICAgICAgSW5pdGlhbEZvY3VzTW9kdWxlLFxuICAgICAgICBCcmVha3BvaW50TW9kdWxlLFxuICAgICAgICBJbnRlcnNlY3Rpb25TcHlEaXJlY3RpdmVcbiAgICBdLFxuICAgIHByb3ZpZGVyczogW1J0bFNlcnZpY2UsIFRoZW1lc1NlcnZpY2VdXG59KVxuZXhwb3J0IGNsYXNzIFV0aWxzTW9kdWxlIHt9XG4iXX0=
|
|
@@ -86,10 +86,10 @@ class DataSourceDirective {
|
|
|
86
86
|
? this._dataSourceTransformer.parse(source)
|
|
87
87
|
: undefined;
|
|
88
88
|
}
|
|
89
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.0", ngImport: i0, type: DataSourceDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
|
|
90
|
+
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.1.0", type: DataSourceDirective, isStandalone: true, selector: "[fdkDataSource]", inputs: { dataSource: "dataSource" }, outputs: { dataSourceChanged: "dataSourceChanged", dataChanged: "dataChanged", isLoading: "isLoading" }, providers: [DestroyedService], ngImport: i0 }); }
|
|
89
91
|
}
|
|
90
|
-
|
|
91
|
-
DataSourceDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.2.9", type: DataSourceDirective, isStandalone: true, selector: "[fdkDataSource]", inputs: { dataSource: "dataSource" }, outputs: { dataSourceChanged: "dataSourceChanged", dataChanged: "dataChanged", isLoading: "isLoading" }, providers: [DestroyedService], ngImport: i0 });
|
|
92
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: DataSourceDirective, decorators: [{
|
|
92
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.0", ngImport: i0, type: DataSourceDirective, decorators: [{
|
|
93
93
|
type: Directive,
|
|
94
94
|
args: [{
|
|
95
95
|
selector: '[fdkDataSource]',
|
|
@@ -107,11 +107,11 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImpor
|
|
|
107
107
|
}] } });
|
|
108
108
|
|
|
109
109
|
class DataSourceModule {
|
|
110
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.0", ngImport: i0, type: DataSourceModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
|
|
111
|
+
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "16.1.0", ngImport: i0, type: DataSourceModule, imports: [DataSourceDirective], exports: [DataSourceDirective] }); }
|
|
112
|
+
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "16.1.0", ngImport: i0, type: DataSourceModule }); }
|
|
110
113
|
}
|
|
111
|
-
|
|
112
|
-
DataSourceModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "15.2.9", ngImport: i0, type: DataSourceModule, imports: [DataSourceDirective], exports: [DataSourceDirective] });
|
|
113
|
-
DataSourceModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: DataSourceModule });
|
|
114
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: DataSourceModule, decorators: [{
|
|
114
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.0", ngImport: i0, type: DataSourceModule, decorators: [{
|
|
115
115
|
type: NgModule,
|
|
116
116
|
args: [{
|
|
117
117
|
imports: [DataSourceDirective],
|
|
@@ -127,6 +127,10 @@ var MatchingStrategy;
|
|
|
127
127
|
})(MatchingStrategy || (MatchingStrategy = {}));
|
|
128
128
|
|
|
129
129
|
class BaseDataSource {
|
|
130
|
+
/**
|
|
131
|
+
* Max limit of items to be returned.
|
|
132
|
+
*/
|
|
133
|
+
static { this.MaxLimit = 5; }
|
|
130
134
|
/**
|
|
131
135
|
* Emitted when new data has been requested.
|
|
132
136
|
* @returns Observable
|
|
@@ -231,10 +235,6 @@ class BaseDataSource {
|
|
|
231
235
|
return searchParam;
|
|
232
236
|
}
|
|
233
237
|
}
|
|
234
|
-
/**
|
|
235
|
-
* Max limit of items to be returned.
|
|
236
|
-
*/
|
|
237
|
-
BaseDataSource.MaxLimit = 5;
|
|
238
238
|
|
|
239
239
|
/** @Hidden */
|
|
240
240
|
function getMatchingStrategyStartsWithPerTermReqexp(value) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"fundamental-ngx-cdk-data-source.mjs","sources":["../../../../libs/cdk/src/lib/data-source/helpers/is-datasource.ts","../../../../libs/cdk/src/lib/data-source/tokens.ts","../../../../libs/cdk/src/lib/data-source/data-source.directive.ts","../../../../libs/cdk/src/lib/data-source/data-source.module.ts","../../../../libs/cdk/src/lib/data-source/models/matching-strategy.ts","../../../../libs/cdk/src/lib/data-source/base/base-data-source.class.ts","../../../../libs/cdk/src/lib/data-source/helpers/common.ts","../../../../libs/cdk/src/lib/data-source/base/abstract-data-provider.class.ts","../../../../libs/cdk/src/lib/data-source/helpers/apply-datasource-directive.ts","../../../../libs/cdk/src/lib/data-source/fundamental-ngx-cdk-data-source.ts"],"sourcesContent":["import { DataSourceProvider } from '../models/data-source-provider';\n\n/**\n * Checks whether passed value is a valid data source.\n */\nexport function isDataSource<T = any>(value: any): value is DataSourceProvider<T> {\n return value && typeof value.unsubscribe === 'function' && value.dataChanges;\n}\n","import { InjectionToken } from '@angular/core';\nimport { DataSourceParser } from './models/data-source';\n\n/**\n * Injection token used for passing custom datasource transformer into DataSourceProvider.\n */\nexport const FD_DATA_SOURCE_TRANSFORMER = new InjectionToken<DataSourceParser>('FdDataSourceTransformer');\n","import { Directive, EventEmitter, inject, Input, OnDestroy, Output } from '@angular/core';\nimport { DestroyedService } from '@fundamental-ngx/cdk/utils';\nimport { BehaviorSubject, Subscription } from 'rxjs';\nimport { takeUntil } from 'rxjs/operators';\nimport { isDataSource } from './helpers/is-datasource';\nimport { DataSource, DataSourceParser, DataSourceProvider } from './models';\nimport { FD_DATA_SOURCE_TRANSFORMER } from './tokens';\n\n@Directive({\n selector: '[fdkDataSource]',\n standalone: true,\n providers: [DestroyedService]\n})\nexport class DataSourceDirective<T = any, P extends DataSourceProvider<T> = DataSourceProvider<T>>\n implements OnDestroy\n{\n /**\n * Data source.\n * @param source\n */\n @Input()\n set dataSource(source: DataSource<T, P> | null) {\n this._dataSource = source;\n this._initializeDataSource();\n this.dataSourceChanged.next();\n }\n\n get dataSource(): DataSource<T, P> | null {\n return this._dataSource;\n }\n\n /** @hidden */\n private _dataSource: DataSource<T, P> | null;\n\n /** @hidden */\n dataSourceProvider: P | undefined;\n\n /** @hidden */\n private _dsSubscription = new Subscription();\n\n /**\n * Data stream. Emits when new data retrieved.\n */\n readonly dataChanged$ = new BehaviorSubject<T[]>([]);\n\n /**\n * Emits when the data source object has been changed.\n */\n @Output()\n readonly dataSourceChanged = new EventEmitter<void>();\n\n /**\n * Event emitted when datasource content has been changed.\n */\n @Output()\n readonly dataChanged = new EventEmitter<T[]>();\n\n /**\n * Event emitted when data provider loading state has been changed.\n */\n @Output()\n readonly isLoading = new EventEmitter<boolean>();\n\n /** @hidden */\n protected readonly _destroyed$ = inject(DestroyedService);\n\n /** @hidden */\n private readonly _dataSourceTransformer = inject<DataSourceParser<T, P>>(FD_DATA_SOURCE_TRANSFORMER);\n\n /** @hidden */\n private _initializeDataSource(): void {\n if (isDataSource(this.dataSource)) {\n this.dataSourceProvider?.unsubscribe();\n\n this._dsSubscription?.unsubscribe();\n }\n // Convert whatever comes in as DataSource, so we can work with it identically\n this.dataSourceProvider = this._toDataStream(this.dataSource);\n\n if (!this.dataSourceProvider) {\n return;\n }\n\n this._dsSubscription = new Subscription();\n\n this._dsSubscription.add(\n this.dataSourceProvider.dataLoading\n .pipe(takeUntil(this._destroyed$))\n .subscribe((isLoading) => this.isLoading.emit(isLoading))\n );\n\n this._dsSubscription.add(\n this.dataSourceProvider.dataChanges.pipe(takeUntil(this._destroyed$)).subscribe((data) => {\n this.dataChanged.emit(data);\n this.dataChanged$.next(data);\n })\n );\n }\n\n /** @hidden */\n ngOnDestroy(): void {\n this.dataSourceProvider?.unsubscribe();\n this._dsSubscription?.unsubscribe();\n }\n\n /** @Hidden */\n protected _toDataStream(source: DataSource<T> | null): P | undefined {\n return !source\n ? undefined\n : this._dataSourceTransformer\n ? this._dataSourceTransformer.parse(source)\n : undefined;\n }\n}\n","import { NgModule } from '@angular/core';\nimport { DataSourceDirective } from './data-source.directive';\n\n@NgModule({\n imports: [DataSourceDirective],\n exports: [DataSourceDirective]\n})\nexport class DataSourceModule {}\n","export enum MatchingStrategy {\n STARTS_WITH_PER_TERM = 'starts with per term',\n STARTS_WITH = 'starts with',\n CONTAINS = 'contains'\n}\n\nexport type MatchBy = (item: any) => any;\n\nexport interface MatchingBy {\n firstBy: MatchBy;\n secondaryBy?: MatchBy;\n}\n","import { BehaviorSubject, Observable, Subject } from 'rxjs';\nimport { takeUntil } from 'rxjs/operators';\nimport { DataSourceProvider } from '../models';\nimport { AbstractDataProvider } from './abstract-data-provider.class';\n\nexport abstract class BaseDataSource<T> implements DataSourceProvider<T> {\n /**\n * Max limit of items to be returned.\n */\n static readonly MaxLimit = 5;\n\n /**\n * Whether to enable limit of max items.\n */\n limitless = false;\n\n /** @hidden */\n protected readonly _dataChanges$: BehaviorSubject<T[]> = new BehaviorSubject<T[]>([]);\n /** @hidden */\n protected readonly _dataRequested$ = new BehaviorSubject<boolean>(false);\n /** @hidden */\n protected readonly _dataReceived$ = new BehaviorSubject<boolean>(false);\n /** @hidden */\n protected readonly _destroy$ = new Subject<void>();\n\n /** @hidden */\n protected readonly _dataLoading$ = new BehaviorSubject<boolean>(false);\n\n /**\n * Emitted when new data has been requested.\n * @returns Observable\n */\n get dataRequested(): Observable<boolean> {\n return this._dataRequested$.asObservable();\n }\n\n /**\n * Emitted when new data has been received.\n * @returns Observable\n */\n get dataReceived(): Observable<boolean> {\n return this._dataReceived$.asObservable();\n }\n\n /**\n * Emitted when loading state has been changed.\n * @returns Observable.\n */\n get dataLoading(): Observable<boolean> {\n return this._dataLoading$.asObservable();\n }\n\n /**\n * Emits when the data from the provider has been changed.\n * @returns Observable of data source objects.\n */\n get dataChanges(): Observable<T[]> {\n return this._dataChanges$.asObservable().pipe(takeUntil(this._destroy$));\n }\n\n /** @hidden */\n protected constructor(public dataProvider: AbstractDataProvider<any>) {}\n\n /**\n * Searches through the data source with defined parameters.\n * @param predicate Search query.\n * @param start start index.\n * @param end end index.\n */\n match(predicate: string | Map<string, string> = new Map<string, string>(), start = 0, end = Infinity): void {\n this._dataRequested$.next(true);\n this._dataLoading$.next(true);\n const searchParam = this._getSearchParams(predicate);\n\n this.dataProvider\n .fetch(searchParam, start, end)\n .pipe(takeUntil(this._destroy$))\n .subscribe({\n next: (result: T[]) => {\n this._dataReceived$.next(true);\n this._dataLoading$.next(false);\n this._dataChanges$.next(result);\n },\n error: () => {\n this._dataReceived$.next(false);\n this._dataLoading$.next(false);\n }\n });\n }\n\n /**\n * Returns the Observable of a total items number filtered by the `predicate` param.\n * @param predicate Search query.\n */\n getTotalItems(predicate: string | Map<string, string> = new Map<string, string>()): Observable<number> {\n const searchParam = this._getSearchParams(predicate);\n\n return this.dataProvider.getTotalItems(searchParam);\n }\n\n /**\n * Closes the stream\n */\n unsubscribe(): void {\n this._destroy$.next();\n this._destroy$.complete();\n }\n\n /** @hidden */\n private _getSearchParams(predicate: string | Map<string, string>): Map<string, any> {\n const searchParam = new Map<string, any>();\n\n if (typeof predicate === 'string') {\n searchParam.set('query', predicate);\n } else if (predicate instanceof Map) {\n predicate.forEach((v, k) => searchParam.set(k, v));\n } else {\n throw new Error('DataSource.match() predicate can only accepts string and Map');\n }\n\n if (!searchParam.has('limit') && !this.limitless) {\n searchParam.set('limit', BaseDataSource.MaxLimit);\n }\n\n return searchParam;\n }\n}\n","import { isBlank, isStringMap, isType } from '@fundamental-ngx/cdk/utils';\n\nexport type ProviderParams = ReadonlyMap<string, any>;\n\n/** @Hidden */\nexport function getMatchingStrategyStartsWithPerTermReqexp(value: string): RegExp {\n return new RegExp(`(\\\\s|^)(${value})`, 'gi');\n}\n\n/** @hidden */\nexport function objectValues(obj: any): any[] {\n return Object.keys(obj).map((key) => obj[key]);\n}\n\n/** @hidden */\nexport function objectToName(target: any): string {\n if (isBlank(target) || (!isStringMap(target) && !isType(target))) {\n throw new Error(' Cannot convert. Uknown object');\n }\n\n return isType(target) ? target.prototype.constructor.name : target.constructor.name;\n}\n","import { isFunction, isJsObject } from '@fundamental-ngx/cdk/utils';\nimport { isObservable, Observable, of } from 'rxjs';\nimport { map } from 'rxjs/operators';\nimport {\n getMatchingStrategyStartsWithPerTermReqexp,\n objectToName,\n objectValues,\n ProviderParams\n} from '../helpers/common';\nimport { MatchBy, MatchingBy, MatchingStrategy } from '../models/matching-strategy';\n\n/**\n * Base data provider class.\n */\nexport abstract class AbstractDataProvider<T> {\n /** @hidden */\n protected _keyPath: string;\n\n /** @hidden */\n protected _matchingStrategy: MatchingStrategy = MatchingStrategy.STARTS_WITH;\n\n /** @hidden */\n protected _matchingBy: MatchingBy | null = null;\n\n abstract fetch(params: ProviderParams, start?: number, end?: number): Observable<T[]>;\n\n /** @hidden */\n setLookupKey(key: string): void {\n this._keyPath = key;\n }\n\n /** @hidden */\n setMatchingBy(matchingBy: MatchingBy): void {\n this._matchingBy = matchingBy;\n }\n\n /** @hidden */\n setMatchingStrategy(strategy: MatchingStrategy): void {\n this._matchingStrategy = strategy;\n }\n\n /** @hidden */\n abstract getTotalItems(params?: Map<string, any>): Observable<number>;\n}\n\n/**\n * Default data provider class used for other components to extend from.\n */\nexport class DataProvider<T> extends AbstractDataProvider<T> {\n /** Default limit for the pagination. */\n public defaultLimit = 50;\n /** @hidden */\n constructor(protected values: Observable<T[]> | T[]) {\n super();\n }\n\n /** @hidden */\n fetch(params: Map<string, any>): Observable<T[]> {\n const observable = isObservable(this.values) ? this.values : of(this.values);\n\n const queryString = params.get('query');\n const limit = params.get('limit') || this.defaultLimit;\n\n if (!queryString || queryString === '*') {\n return observable.pipe(map((items) => this.withLimit(items, limit)));\n }\n\n const toLowerPattern = queryString.toLowerCase();\n\n return observable.pipe(\n map((items) => {\n const result: any[] = [];\n\n for (let i = 0; i < items.length; i++) {\n const item = items[i];\n if (this.matches(item, toLowerPattern)) {\n result.push(item);\n if (result.length >= limit) {\n break;\n }\n }\n }\n\n return result;\n })\n );\n }\n\n /**\n * Returns observable with the number of total items that satisfy the search query.\n * Warning: this is a naive implementation of the number of the filtered items.\n * For real-world scenarios, it is recommended to override this method with its own logic.\n */\n getTotalItems(params: Map<string, any>): Observable<number> {\n const observable = isObservable(this.values) ? this.values : of(this.values);\n const queryString = params.get('query');\n\n if (!queryString) {\n return observable.pipe(map((items) => items.length));\n }\n\n const toLowerPattern = queryString.toLowerCase();\n\n return observable.pipe(map((items) => items.filter((item) => this.matches(item, toLowerPattern)).length));\n }\n\n /**\n * Warning: If you don't supply search Key and you want fulltext search, and you use this\n * default implementation, be aware that it can perform poorly as it is a naive implementation\n * that does not do deep compare.\n */\n matches(item: T, pattern: string): boolean {\n if (!this._matchingBy) {\n return false;\n }\n const { firstBy, secondaryBy } = this._matchingBy;\n\n let matched = this.matchesBy(item, pattern, firstBy);\n if (!matched && secondaryBy) {\n matched = this.matchesBy(item, pattern, secondaryBy);\n }\n\n return matched;\n }\n\n /** @hidden */\n matchesBy(item: any, pattern: string, matchingBy: MatchBy): boolean {\n const value = isJsObject(item) && matchingBy ? matchingBy(item) : item;\n\n if (isFunction(value)) {\n return value.call(item);\n } else if (isJsObject(value)) {\n return this.hasObjectValue(item, pattern);\n } else if (this._matchingStrategy === MatchingStrategy.STARTS_WITH_PER_TERM) {\n const reqexp = getMatchingStrategyStartsWithPerTermReqexp(pattern);\n return !!pattern && !!value && !!value.match(reqexp);\n } else if (this._matchingStrategy === MatchingStrategy.STARTS_WITH) {\n return !!pattern && !!value && value.toString().toLowerCase().startsWith(pattern.toLowerCase());\n } else if (this._matchingStrategy === MatchingStrategy.CONTAINS) {\n return !!pattern && !!value && value.toString().toLowerCase().indexOf(pattern) > -1;\n } else {\n return !!pattern && !!value && value.toString().toLowerCase() === pattern;\n }\n }\n\n /** @hidden */\n protected hasObjectValue(obj: any, pattern: string): boolean {\n const values = objectValues(obj);\n const parentObj = objectToName(obj);\n const length2 = values.filter((value: any) => {\n if (!value || Array.isArray(value)) {\n return false;\n } else if (!isJsObject(value) && !isFunction(value)) {\n return value.toString().toLowerCase().indexOf(pattern) !== -1;\n } else if (isJsObject(value) && objectToName(value) !== parentObj) {\n return this.hasObjectValue(value, pattern);\n }\n\n return false;\n }).length;\n return length2 > 0;\n }\n\n /** @hidden */\n private withLimit(data: Array<T>, limit?: number): Array<T> {\n if (limit && data.length > limit) {\n return data.slice(0, limit);\n }\n return data;\n }\n}\n","import { Type } from '@angular/core';\nimport { DataSourceDirective } from '../data-source.directive';\n\nexport const applyDatasourceDirective:\n | Type<unknown>\n | {\n directive: Type<unknown>;\n inputs?: string[];\n outputs?: string[];\n } = {\n directive: DataSourceDirective,\n inputs: ['dataSource'],\n outputs: ['dataChanged']\n};\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"fundamental-ngx-cdk-data-source.mjs","sources":["../../../../libs/cdk/src/lib/data-source/helpers/is-datasource.ts","../../../../libs/cdk/src/lib/data-source/tokens.ts","../../../../libs/cdk/src/lib/data-source/data-source.directive.ts","../../../../libs/cdk/src/lib/data-source/data-source.module.ts","../../../../libs/cdk/src/lib/data-source/models/matching-strategy.ts","../../../../libs/cdk/src/lib/data-source/base/base-data-source.class.ts","../../../../libs/cdk/src/lib/data-source/helpers/common.ts","../../../../libs/cdk/src/lib/data-source/base/abstract-data-provider.class.ts","../../../../libs/cdk/src/lib/data-source/helpers/apply-datasource-directive.ts","../../../../libs/cdk/src/lib/data-source/fundamental-ngx-cdk-data-source.ts"],"sourcesContent":["import { DataSourceProvider } from '../models/data-source-provider';\n\n/**\n * Checks whether passed value is a valid data source.\n */\nexport function isDataSource<T = any>(value: any): value is DataSourceProvider<T> {\n return value && typeof value.unsubscribe === 'function' && value.dataChanges;\n}\n","import { InjectionToken } from '@angular/core';\nimport { DataSourceParser } from './models/data-source';\n\n/**\n * Injection token used for passing custom datasource transformer into DataSourceProvider.\n */\nexport const FD_DATA_SOURCE_TRANSFORMER = new InjectionToken<DataSourceParser>('FdDataSourceTransformer');\n","import { Directive, EventEmitter, inject, Input, OnDestroy, Output } from '@angular/core';\nimport { DestroyedService } from '@fundamental-ngx/cdk/utils';\nimport { BehaviorSubject, Subscription } from 'rxjs';\nimport { takeUntil } from 'rxjs/operators';\nimport { isDataSource } from './helpers/is-datasource';\nimport { DataSource, DataSourceParser, DataSourceProvider } from './models';\nimport { FD_DATA_SOURCE_TRANSFORMER } from './tokens';\n\n@Directive({\n selector: '[fdkDataSource]',\n standalone: true,\n providers: [DestroyedService]\n})\nexport class DataSourceDirective<T = any, P extends DataSourceProvider<T> = DataSourceProvider<T>>\n implements OnDestroy\n{\n /**\n * Data source.\n * @param source\n */\n @Input()\n set dataSource(source: DataSource<T, P> | null) {\n this._dataSource = source;\n this._initializeDataSource();\n this.dataSourceChanged.next();\n }\n\n get dataSource(): DataSource<T, P> | null {\n return this._dataSource;\n }\n\n /** @hidden */\n private _dataSource: DataSource<T, P> | null;\n\n /** @hidden */\n dataSourceProvider: P | undefined;\n\n /** @hidden */\n private _dsSubscription = new Subscription();\n\n /**\n * Data stream. Emits when new data retrieved.\n */\n readonly dataChanged$ = new BehaviorSubject<T[]>([]);\n\n /**\n * Emits when the data source object has been changed.\n */\n @Output()\n readonly dataSourceChanged = new EventEmitter<void>();\n\n /**\n * Event emitted when datasource content has been changed.\n */\n @Output()\n readonly dataChanged = new EventEmitter<T[]>();\n\n /**\n * Event emitted when data provider loading state has been changed.\n */\n @Output()\n readonly isLoading = new EventEmitter<boolean>();\n\n /** @hidden */\n protected readonly _destroyed$ = inject(DestroyedService);\n\n /** @hidden */\n private readonly _dataSourceTransformer = inject<DataSourceParser<T, P>>(FD_DATA_SOURCE_TRANSFORMER);\n\n /** @hidden */\n private _initializeDataSource(): void {\n if (isDataSource(this.dataSource)) {\n this.dataSourceProvider?.unsubscribe();\n\n this._dsSubscription?.unsubscribe();\n }\n // Convert whatever comes in as DataSource, so we can work with it identically\n this.dataSourceProvider = this._toDataStream(this.dataSource);\n\n if (!this.dataSourceProvider) {\n return;\n }\n\n this._dsSubscription = new Subscription();\n\n this._dsSubscription.add(\n this.dataSourceProvider.dataLoading\n .pipe(takeUntil(this._destroyed$))\n .subscribe((isLoading) => this.isLoading.emit(isLoading))\n );\n\n this._dsSubscription.add(\n this.dataSourceProvider.dataChanges.pipe(takeUntil(this._destroyed$)).subscribe((data) => {\n this.dataChanged.emit(data);\n this.dataChanged$.next(data);\n })\n );\n }\n\n /** @hidden */\n ngOnDestroy(): void {\n this.dataSourceProvider?.unsubscribe();\n this._dsSubscription?.unsubscribe();\n }\n\n /** @Hidden */\n protected _toDataStream(source: DataSource<T> | null): P | undefined {\n return !source\n ? undefined\n : this._dataSourceTransformer\n ? this._dataSourceTransformer.parse(source)\n : undefined;\n }\n}\n","import { NgModule } from '@angular/core';\nimport { DataSourceDirective } from './data-source.directive';\n\n@NgModule({\n imports: [DataSourceDirective],\n exports: [DataSourceDirective]\n})\nexport class DataSourceModule {}\n","export enum MatchingStrategy {\n STARTS_WITH_PER_TERM = 'starts with per term',\n STARTS_WITH = 'starts with',\n CONTAINS = 'contains'\n}\n\nexport type MatchBy = (item: any) => any;\n\nexport interface MatchingBy {\n firstBy: MatchBy;\n secondaryBy?: MatchBy;\n}\n","import { BehaviorSubject, Observable, Subject } from 'rxjs';\nimport { takeUntil } from 'rxjs/operators';\nimport { DataSourceProvider } from '../models';\nimport { AbstractDataProvider } from './abstract-data-provider.class';\n\nexport abstract class BaseDataSource<T> implements DataSourceProvider<T> {\n /**\n * Max limit of items to be returned.\n */\n static readonly MaxLimit = 5;\n\n /**\n * Whether to enable limit of max items.\n */\n limitless = false;\n\n /** @hidden */\n protected readonly _dataChanges$: BehaviorSubject<T[]> = new BehaviorSubject<T[]>([]);\n /** @hidden */\n protected readonly _dataRequested$ = new BehaviorSubject<boolean>(false);\n /** @hidden */\n protected readonly _dataReceived$ = new BehaviorSubject<boolean>(false);\n /** @hidden */\n protected readonly _destroy$ = new Subject<void>();\n\n /** @hidden */\n protected readonly _dataLoading$ = new BehaviorSubject<boolean>(false);\n\n /**\n * Emitted when new data has been requested.\n * @returns Observable\n */\n get dataRequested(): Observable<boolean> {\n return this._dataRequested$.asObservable();\n }\n\n /**\n * Emitted when new data has been received.\n * @returns Observable\n */\n get dataReceived(): Observable<boolean> {\n return this._dataReceived$.asObservable();\n }\n\n /**\n * Emitted when loading state has been changed.\n * @returns Observable.\n */\n get dataLoading(): Observable<boolean> {\n return this._dataLoading$.asObservable();\n }\n\n /**\n * Emits when the data from the provider has been changed.\n * @returns Observable of data source objects.\n */\n get dataChanges(): Observable<T[]> {\n return this._dataChanges$.asObservable().pipe(takeUntil(this._destroy$));\n }\n\n /** @hidden */\n protected constructor(public dataProvider: AbstractDataProvider<any>) {}\n\n /**\n * Searches through the data source with defined parameters.\n * @param predicate Search query.\n * @param start start index.\n * @param end end index.\n */\n match(predicate: string | Map<string, string> = new Map<string, string>(), start = 0, end = Infinity): void {\n this._dataRequested$.next(true);\n this._dataLoading$.next(true);\n const searchParam = this._getSearchParams(predicate);\n\n this.dataProvider\n .fetch(searchParam, start, end)\n .pipe(takeUntil(this._destroy$))\n .subscribe({\n next: (result: T[]) => {\n this._dataReceived$.next(true);\n this._dataLoading$.next(false);\n this._dataChanges$.next(result);\n },\n error: () => {\n this._dataReceived$.next(false);\n this._dataLoading$.next(false);\n }\n });\n }\n\n /**\n * Returns the Observable of a total items number filtered by the `predicate` param.\n * @param predicate Search query.\n */\n getTotalItems(predicate: string | Map<string, string> = new Map<string, string>()): Observable<number> {\n const searchParam = this._getSearchParams(predicate);\n\n return this.dataProvider.getTotalItems(searchParam);\n }\n\n /**\n * Closes the stream\n */\n unsubscribe(): void {\n this._destroy$.next();\n this._destroy$.complete();\n }\n\n /** @hidden */\n private _getSearchParams(predicate: string | Map<string, string>): Map<string, any> {\n const searchParam = new Map<string, any>();\n\n if (typeof predicate === 'string') {\n searchParam.set('query', predicate);\n } else if (predicate instanceof Map) {\n predicate.forEach((v, k) => searchParam.set(k, v));\n } else {\n throw new Error('DataSource.match() predicate can only accepts string and Map');\n }\n\n if (!searchParam.has('limit') && !this.limitless) {\n searchParam.set('limit', BaseDataSource.MaxLimit);\n }\n\n return searchParam;\n }\n}\n","import { isBlank, isStringMap, isType } from '@fundamental-ngx/cdk/utils';\n\nexport type ProviderParams = ReadonlyMap<string, any>;\n\n/** @Hidden */\nexport function getMatchingStrategyStartsWithPerTermReqexp(value: string): RegExp {\n return new RegExp(`(\\\\s|^)(${value})`, 'gi');\n}\n\n/** @hidden */\nexport function objectValues(obj: any): any[] {\n return Object.keys(obj).map((key) => obj[key]);\n}\n\n/** @hidden */\nexport function objectToName(target: any): string {\n if (isBlank(target) || (!isStringMap(target) && !isType(target))) {\n throw new Error(' Cannot convert. Uknown object');\n }\n\n return isType(target) ? target.prototype.constructor.name : target.constructor.name;\n}\n","import { isFunction, isJsObject } from '@fundamental-ngx/cdk/utils';\nimport { isObservable, Observable, of } from 'rxjs';\nimport { map } from 'rxjs/operators';\nimport {\n getMatchingStrategyStartsWithPerTermReqexp,\n objectToName,\n objectValues,\n ProviderParams\n} from '../helpers/common';\nimport { MatchBy, MatchingBy, MatchingStrategy } from '../models/matching-strategy';\n\n/**\n * Base data provider class.\n */\nexport abstract class AbstractDataProvider<T> {\n /** @hidden */\n protected _keyPath: string;\n\n /** @hidden */\n protected _matchingStrategy: MatchingStrategy = MatchingStrategy.STARTS_WITH;\n\n /** @hidden */\n protected _matchingBy: MatchingBy | null = null;\n\n abstract fetch(params: ProviderParams, start?: number, end?: number): Observable<T[]>;\n\n /** @hidden */\n setLookupKey(key: string): void {\n this._keyPath = key;\n }\n\n /** @hidden */\n setMatchingBy(matchingBy: MatchingBy): void {\n this._matchingBy = matchingBy;\n }\n\n /** @hidden */\n setMatchingStrategy(strategy: MatchingStrategy): void {\n this._matchingStrategy = strategy;\n }\n\n /** @hidden */\n abstract getTotalItems(params?: Map<string, any>): Observable<number>;\n}\n\n/**\n * Default data provider class used for other components to extend from.\n */\nexport class DataProvider<T> extends AbstractDataProvider<T> {\n /** Default limit for the pagination. */\n public defaultLimit = 50;\n /** @hidden */\n constructor(protected values: Observable<T[]> | T[]) {\n super();\n }\n\n /** @hidden */\n fetch(params: Map<string, any>): Observable<T[]> {\n const observable = isObservable(this.values) ? this.values : of(this.values);\n\n const queryString = params.get('query');\n const limit = params.get('limit') || this.defaultLimit;\n\n if (!queryString || queryString === '*') {\n return observable.pipe(map((items) => this.withLimit(items, limit)));\n }\n\n const toLowerPattern = queryString.toLowerCase();\n\n return observable.pipe(\n map((items) => {\n const result: any[] = [];\n\n for (let i = 0; i < items.length; i++) {\n const item = items[i];\n if (this.matches(item, toLowerPattern)) {\n result.push(item);\n if (result.length >= limit) {\n break;\n }\n }\n }\n\n return result;\n })\n );\n }\n\n /**\n * Returns observable with the number of total items that satisfy the search query.\n * Warning: this is a naive implementation of the number of the filtered items.\n * For real-world scenarios, it is recommended to override this method with its own logic.\n */\n getTotalItems(params: Map<string, any>): Observable<number> {\n const observable = isObservable(this.values) ? this.values : of(this.values);\n const queryString = params.get('query');\n\n if (!queryString) {\n return observable.pipe(map((items) => items.length));\n }\n\n const toLowerPattern = queryString.toLowerCase();\n\n return observable.pipe(map((items) => items.filter((item) => this.matches(item, toLowerPattern)).length));\n }\n\n /**\n * Warning: If you don't supply search Key and you want fulltext search, and you use this\n * default implementation, be aware that it can perform poorly as it is a naive implementation\n * that does not do deep compare.\n */\n matches(item: T, pattern: string): boolean {\n if (!this._matchingBy) {\n return false;\n }\n const { firstBy, secondaryBy } = this._matchingBy;\n\n let matched = this.matchesBy(item, pattern, firstBy);\n if (!matched && secondaryBy) {\n matched = this.matchesBy(item, pattern, secondaryBy);\n }\n\n return matched;\n }\n\n /** @hidden */\n matchesBy(item: any, pattern: string, matchingBy: MatchBy): boolean {\n const value = isJsObject(item) && matchingBy ? matchingBy(item) : item;\n\n if (isFunction(value)) {\n return value.call(item);\n } else if (isJsObject(value)) {\n return this.hasObjectValue(item, pattern);\n } else if (this._matchingStrategy === MatchingStrategy.STARTS_WITH_PER_TERM) {\n const reqexp = getMatchingStrategyStartsWithPerTermReqexp(pattern);\n return !!pattern && !!value && !!value.match(reqexp);\n } else if (this._matchingStrategy === MatchingStrategy.STARTS_WITH) {\n return !!pattern && !!value && value.toString().toLowerCase().startsWith(pattern.toLowerCase());\n } else if (this._matchingStrategy === MatchingStrategy.CONTAINS) {\n return !!pattern && !!value && value.toString().toLowerCase().indexOf(pattern) > -1;\n } else {\n return !!pattern && !!value && value.toString().toLowerCase() === pattern;\n }\n }\n\n /** @hidden */\n protected hasObjectValue(obj: any, pattern: string): boolean {\n const values = objectValues(obj);\n const parentObj = objectToName(obj);\n const length2 = values.filter((value: any) => {\n if (!value || Array.isArray(value)) {\n return false;\n } else if (!isJsObject(value) && !isFunction(value)) {\n return value.toString().toLowerCase().indexOf(pattern) !== -1;\n } else if (isJsObject(value) && objectToName(value) !== parentObj) {\n return this.hasObjectValue(value, pattern);\n }\n\n return false;\n }).length;\n return length2 > 0;\n }\n\n /** @hidden */\n private withLimit(data: Array<T>, limit?: number): Array<T> {\n if (limit && data.length > limit) {\n return data.slice(0, limit);\n }\n return data;\n }\n}\n","import { Type } from '@angular/core';\nimport { DataSourceDirective } from '../data-source.directive';\n\nexport const applyDatasourceDirective:\n | Type<unknown>\n | {\n directive: Type<unknown>;\n inputs?: string[];\n outputs?: string[];\n } = {\n directive: DataSourceDirective,\n inputs: ['dataSource'],\n outputs: ['dataChanged']\n};\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
|
|
@@ -271,10 +271,10 @@ class CvaDirective {
|
|
|
271
271
|
_detectChanges() {
|
|
272
272
|
this.detectChanges.emit();
|
|
273
273
|
}
|
|
274
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.0", ngImport: i0, type: CvaDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
|
|
275
|
+
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.1.0", type: CvaDirective, isStandalone: true, selector: "[fdkCva]", inputs: { id: "id", placeholder: "placeholder", state: "state", stateMessage: "stateMessage", disabled: "disabled", readonly: "readonly", ariaLabelledBy: "ariaLabelledBy", ariaLabel: "ariaLabel", editable: "editable", name: "name" }, outputs: { detectChanges: "detectChanges", markForCheck: "markForCheck" }, viewQueries: [{ propertyName: "_elementRef", first: true, predicate: ["inputElementRef"], descendants: true, read: ElementRef, static: true }], ngImport: i0 }); }
|
|
274
276
|
}
|
|
275
|
-
|
|
276
|
-
CvaDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.2.9", type: CvaDirective, isStandalone: true, selector: "[fdkCva]", inputs: { id: "id", placeholder: "placeholder", state: "state", stateMessage: "stateMessage", disabled: "disabled", readonly: "readonly", ariaLabelledBy: "ariaLabelledBy", ariaLabel: "ariaLabel", editable: "editable", name: "name" }, outputs: { detectChanges: "detectChanges", markForCheck: "markForCheck" }, viewQueries: [{ propertyName: "_elementRef", first: true, predicate: ["inputElementRef"], descendants: true, read: ElementRef, static: true }], ngImport: i0 });
|
|
277
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: CvaDirective, decorators: [{
|
|
277
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.0", ngImport: i0, type: CvaDirective, decorators: [{
|
|
278
278
|
type: Directive,
|
|
279
279
|
args: [{
|
|
280
280
|
selector: '[fdkCva]',
|
|
@@ -310,11 +310,11 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImpor
|
|
|
310
310
|
}] } });
|
|
311
311
|
|
|
312
312
|
class FormsModule {
|
|
313
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.0", ngImport: i0, type: FormsModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
|
|
314
|
+
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "16.1.0", ngImport: i0, type: FormsModule, imports: [CvaDirective], exports: [CvaDirective] }); }
|
|
315
|
+
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "16.1.0", ngImport: i0, type: FormsModule }); }
|
|
313
316
|
}
|
|
314
|
-
|
|
315
|
-
FormsModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "15.2.9", ngImport: i0, type: FormsModule, imports: [CvaDirective], exports: [CvaDirective] });
|
|
316
|
-
FormsModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: FormsModule });
|
|
317
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: FormsModule, decorators: [{
|
|
317
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.0", ngImport: i0, type: FormsModule, decorators: [{
|
|
318
318
|
type: NgModule,
|
|
319
319
|
args: [{
|
|
320
320
|
imports: [CvaDirective],
|
|
@@ -353,10 +353,10 @@ class CvaControl {
|
|
|
353
353
|
this._changeDetector.detectChanges();
|
|
354
354
|
});
|
|
355
355
|
}
|
|
356
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.0", ngImport: i0, type: CvaControl, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
357
|
+
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.1.0", ngImport: i0, type: CvaControl }); }
|
|
356
358
|
}
|
|
357
|
-
|
|
358
|
-
CvaControl.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: CvaControl });
|
|
359
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: CvaControl, decorators: [{
|
|
359
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.0", ngImport: i0, type: CvaControl, decorators: [{
|
|
360
360
|
type: Injectable
|
|
361
361
|
}] });
|
|
362
362
|
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"fundamental-ngx-cdk-forms.mjs","sources":["../../../../libs/cdk/src/lib/forms/helpers/state.ts","../../../../libs/cdk/src/lib/forms/tokens/form-field.token.ts","../../../../libs/cdk/src/lib/forms/cva/cva.directive.ts","../../../../libs/cdk/src/lib/forms/forms.module.ts","../../../../libs/cdk/src/lib/forms/cva/cva-control.class.ts","../../../../libs/cdk/src/lib/forms/models/form-field.ts","../../../../libs/cdk/src/lib/forms/models/select-item.ts","../../../../libs/cdk/src/lib/forms/tokens/form-field-control.token.ts","../../../../libs/cdk/src/lib/forms/fundamental-ngx-cdk-forms.ts"],"sourcesContent":["import { FormStates } from '../models/form-state';\n\nconst stateSet = new Set<FormStates>(['success', 'error', 'warning', 'default', 'information']);\n\n/** Checks if the given state is a valid control state. */\nexport function isValidControlState(value: any): value is FormStates {\n return stateSet.has(value);\n}\n","import { InjectionToken } from '@angular/core';\nimport { FormField } from '../models/form-field';\n\nexport const FD_FORM_FIELD = new InjectionToken<FormField>('FdFormField');\n","import {\n AfterViewInit,\n Directive,\n DoCheck,\n ElementRef,\n EventEmitter,\n inject,\n Input,\n isDevMode,\n OnDestroy,\n OnInit,\n Output,\n ViewChild\n} from '@angular/core';\nimport { ControlContainer, ControlValueAccessor, FormControl, NgControl, NgForm } from '@angular/forms';\nimport { BooleanInput, coerceBooleanProperty } from '@angular/cdk/coercion';\nimport { Subject, Subscription } from 'rxjs';\nimport { BaseCVA } from '../models/cva';\nimport { isValidControlState } from '../helpers/state';\nimport { FormStates } from '../models/form-state';\nimport { FormField, FormFieldControl } from '../models/form-field';\nimport { FD_FORM_FIELD } from '../tokens/form-field.token';\nimport { Nullable } from '@fundamental-ngx/cdk/utils';\n\nlet randomId = 0;\n\n@Directive({\n selector: '[fdkCva]',\n standalone: true\n})\nexport class CvaDirective<T = any>\n implements BaseCVA, FormFieldControl, OnInit, DoCheck, AfterViewInit, OnDestroy, ControlValueAccessor\n{\n /**\n * NgControl instance.\n */\n readonly ngControl = inject(NgControl, {\n optional: true\n });\n\n /**\n * Form container instance. Usually ngForm or FormGroup directives.\n */\n readonly controlContainer = inject(ControlContainer, {\n optional: true,\n skipSelf: true\n });\n\n /**\n * Separate NgForm instance. For cases when formGroup is used with the form itself.\n */\n readonly ngForm = inject(NgForm, {\n optional: true,\n skipSelf: true\n });\n\n /**\n * Element reference.\n */\n readonly elementRef = inject(ElementRef);\n\n /** @hidden */\n value: T;\n\n /** @hidden */\n constructor() {\n if (this.ngControl) {\n this.ngControl.valueAccessor = this;\n }\n }\n\n /** @hidden */\n private _defaultId = `fd-input-id-${randomId++}`;\n /** @hidden */\n private _disabled: boolean;\n /** @hidden */\n private _editable = true;\n\n /** ID for the Element */\n @Input()\n id: string = this._defaultId;\n\n /** Input placeholder */\n @Input()\n placeholder: string;\n\n /**\n * The state of the form control - applies css classes.\n * Can be 'success', 'error', 'warning', 'default', 'information'.\n *\n * @default 'default'\n */\n @Input()\n set state(state: FormStates | undefined) {\n if (!state || isValidControlState(state)) {\n this._state = state;\n } else if (isDevMode()) {\n console.warn(`Provided value \"${state}\" is not a valid option for FormStates type`);\n }\n }\n get state(): FormStates {\n if (this._state) {\n return this._state;\n }\n\n if (!this.controlInvalid) {\n return 'default';\n }\n\n return this.formField?.getPriorityState() || 'error';\n }\n\n /** Holds the message with respect to state */\n @Input()\n stateMessage: Nullable<string>;\n\n /**\n * @hidden\n * The state of the form control - applies css classes.\n * Can be `success`, `error`, `warning`, `information` or 'default'\n */\n private _state: FormStates | undefined;\n\n /** Whether the input is disabled */\n @Input()\n set disabled(value: boolean) {\n this.setDisabledState(value);\n }\n get disabled(): boolean {\n if (this.ngControl && this.ngControl.disabled !== null) {\n return this.ngControl.disabled;\n }\n return this._disabled;\n }\n\n /**\n * readOnly Value to Mark component read only\n */\n @Input()\n readonly: boolean;\n\n /** Binds to control aria-labelledBy attribute */\n @Input()\n ariaLabelledBy: Nullable<string>;\n\n /** Sets control aria-label attribute value */\n @Input()\n ariaLabel: Nullable<string>;\n\n /**\n * Tell the component if we are in editing mode.\n */\n @Input()\n set editable(value: BooleanInput) {\n const newVal = coerceBooleanProperty(value);\n if (this._editable !== newVal) {\n this._editable = newVal;\n this._markForCheck();\n this.stateChanges.next('editable');\n }\n }\n get editable(): boolean {\n return this._editable;\n }\n\n /**\n * Name of the control.\n */\n @Input()\n name: string;\n\n /**\n * Emits when change detection is needed.\n */\n @Output()\n detectChanges = new EventEmitter<void>();\n\n /**\n * Emits when mark for changes detection is needed.\n */\n @Output()\n markForCheck = new EventEmitter<void>();\n\n /** @hidden */\n protected _subscriptions = new Subscription();\n\n /**\n * Reference to internal Input element\n */\n @ViewChild('inputElementRef', { static: true, read: ElementRef })\n protected _elementRef: ElementRef;\n\n /**\n * See @FormFieldControl\n */\n focused = false;\n\n /** Whether control has errors */\n get controlInvalid(): boolean {\n return this._controlInvalid;\n }\n\n /**\n * @hidden\n */\n private _controlInvalid = false;\n /**\n * See @FormFieldControl\n */\n readonly stateChanges: Subject<any> = new Subject<any>();\n\n /** @hidden */\n readonly formField: FormField | null = inject(FD_FORM_FIELD, {\n skipSelf: true,\n optional: true\n });\n\n /** set when input field is mandatory form field */\n required: boolean;\n\n /** @hidden */\n onChange: (value: any) => void = () => {};\n\n /** @hidden */\n onTouched = (): void => {};\n\n /** @hidden */\n ngOnInit(): void {\n this.formField?.registerFormFieldControl(this);\n }\n\n /**\n * Re-validate and emit event to parent container on every CD cycle as they are some errors\n * that we can't subscribe to.\n */\n ngDoCheck(): void {\n if (this.ngControl) {\n this.updateErrorState();\n }\n }\n\n /** @hidden */\n ngAfterViewInit(): void {\n if (this.ngControl) {\n this._subscriptions.add(\n this.ngControl.statusChanges?.subscribe(() => {\n this._markForCheck();\n })\n );\n }\n\n const labelAndHelpId = `fdp-form-label-content-${this.id}`;\n // if not specified, associate label and inline help ids with the input,\n // else add these ids to the specified ones\n if (!this.ariaLabelledBy) {\n this.ariaLabelledBy = labelAndHelpId;\n } else {\n this.ariaLabelledBy += ' ' + labelAndHelpId;\n }\n this._markForCheck();\n }\n\n /** @hidden */\n registerOnChange(fn: (_: any) => void): void {\n this.onChange = fn;\n }\n\n /** @hidden */\n registerOnTouched(fn: () => void): void {\n this.onTouched = fn;\n }\n\n /** @hidden */\n ngOnDestroy(): void {\n this._subscriptions.unsubscribe();\n this.stateChanges.complete();\n this.formField?.unregisterFormFieldControl(this);\n }\n\n /** @hidden */\n setDisabledState(isDisabled: BooleanInput): void {\n const newState = coerceBooleanProperty(isDisabled);\n this._markForCheck();\n if (newState !== this._disabled) {\n this._disabled = newState;\n this.stateChanges.next('setDisabledState');\n }\n }\n\n /**\n * Method for setting the value\n * @param value\n */\n writeValue(value: T): void {\n this.value = value;\n this.stateChanges.next('writeValue');\n this._markForCheck();\n }\n\n /**\n *\n * Keeps track of element focus\n */\n _onFocusChanged(isFocused: boolean): void {\n if (isFocused !== this.focused && (!this.disabled || !isFocused)) {\n this.focused = isFocused;\n this.stateChanges.next('_onFocusChanged');\n }\n\n if (!isFocused) {\n this.onTouched();\n }\n }\n\n /**\n * Handles even when we click on parent container which is the FormField Wrapping this\n * control\n */\n onContainerClick(event: MouseEvent): void {\n this.focus(event);\n }\n\n /**\n * In most of the cases when working with input element directly you should be just find to assign\n * variable to this element\n *\n * ```\n * <input #inputElementRef fd-form-control ...>\n * ```\n *\n * and this default behavior used. For other cases implement focus.\n *\n */\n focus(event?: MouseEvent): void {\n if (this._elementRef && !this.focused) {\n this._elementRef.nativeElement.focus(event);\n }\n }\n\n /**\n * Need re-validates errors on every CD iteration to make sure we are also\n * covering non-control errors, errors that happens outside of this control\n */\n updateErrorState(): void {\n const parent = this.ngForm;\n const parentControlContainer = this.controlContainer;\n const control = this.ngControl ? (this.ngControl.control as FormControl) : null;\n const newStatusIsError = !!(\n control?.invalid &&\n (control.dirty || control.touched || parent?.submitted || (parentControlContainer as any)?.submitted)\n );\n\n if (newStatusIsError !== this.controlInvalid) {\n this._controlInvalid = newStatusIsError;\n this.stateChanges.next('updateErrorState');\n this._markForCheck();\n }\n }\n\n /**\n * Used to change the value of a control.\n * @param value the value to be applied\n * @param emitOnChange whether to emit \"onChange\" event.\n * Should be \"false\", if the change is made programmatically (internally) by the control, \"true\" otherwise\n */\n setValue(value: T, emitOnChange = true): void {\n if (value !== this.value) {\n this.writeValue(value);\n if (emitOnChange) {\n this.onChange(value);\n }\n this._markForCheck();\n }\n }\n\n /** @hidden */\n private _markForCheck(): void {\n this.markForCheck.emit();\n }\n\n /** @hidden */\n private _detectChanges(): void {\n this.detectChanges.emit();\n }\n}\n","import { NgModule } from '@angular/core';\nimport { CvaDirective } from './cva/cva.directive';\n\n@NgModule({\n imports: [CvaDirective],\n exports: [CvaDirective]\n})\nexport class FormsModule {}\n","import { ChangeDetectorRef, inject, Injectable } from '@angular/core';\nimport { takeUntil } from 'rxjs';\nimport { CvaDirective } from './cva.directive';\nimport { DestroyedService } from '@fundamental-ngx/cdk/utils';\n\n/**\n * Base ControlValueAccessor control class.\n * Used in conjunction with CvaDirective.\n *\n * This class performs generic change detection based on `CvaDirective` outputs.\n */\n@Injectable()\nexport class CvaControl<T> {\n /**\n * Control value accessor directive instance.\n */\n public cvaDirective = inject<CvaDirective<T>>(CvaDirective, {\n self: true,\n optional: true\n });\n\n /**\n * Change detector instance.\n */\n protected _changeDetector = inject(ChangeDetectorRef);\n\n /** @Hidden */\n protected _destroy$ = inject(DestroyedService);\n\n /** @hidden */\n listenToChanges(): void {\n this.cvaDirective?.markForCheck.pipe(takeUntil(this._destroy$)).subscribe(() => {\n this._changeDetector.detectChanges();\n });\n\n this.cvaDirective?.detectChanges.pipe(takeUntil(this._destroy$)).subscribe(() => {\n this._changeDetector.detectChanges();\n });\n }\n}\n","import { ElementRef, QueryList } from '@angular/core';\nimport { FormError } from './form-error';\nimport { FormStates } from './form-state';\nimport { Observable } from 'rxjs';\nimport { NgControl } from '@angular/forms';\nimport { Nullable } from '@fundamental-ngx/cdk/utils';\n\n/**\n * FormField base class.\n *\n * This class is used to create form field components.\n *\n */\nexport abstract class FormField {\n /**\n * Register underlying form control\n */\n registerFormFieldControl: (control: FormFieldControl) => void;\n /**\n * Unregister underlying form control\n */\n unregisterFormFieldControl: (control: FormFieldControl) => void;\n\n /**\n * Set default columns layout\n */\n setDefaultColumnLayout: () => void;\n\n /** Gets field error priority state. */\n getPriorityState: () => FormStates;\n\n /** Groups errors. */\n groupErrors: () => void;\n\n /** Sets error directives from parent container */\n setErrorDirectives: (directives: QueryList<FormError>) => void;\n}\n\nexport interface FormFieldControl<T = any> {\n /**\n * Each input control has always a value. Need to make sure we keep a convention for\n * input fields\n */\n value: T | null;\n\n /**\n * Need to have a way to set placeholder to the input\n */\n placeholder: string;\n\n /**\n * Need to have a way to set Mandatory to the input field\n */\n required: boolean;\n\n /**\n * Sets id from FF to Input\n */\n id: string;\n\n /**\n * This should be coming from Parent.\n */\n editable: boolean;\n\n /**\n * The height of the extra content at the bottom of the form control,\n * which should not affect the alignment of form control and it's label\n */\n extraContentHeightPx?: number;\n\n /**\n *\n * Form Field listen for all the changes happening inside the input\n */\n stateChanges: Observable<void>;\n\n /**\n * Each input should inject its own ngControl and we should retrieve it\n */\n ngControl: NgControl | null;\n\n /** Whether the control is disabled. */\n disabled: boolean;\n\n /**\n * Keeps track if the form element is in focus\n */\n focused: boolean;\n\n /** Whether control has errors */\n controlInvalid: boolean;\n\n /** Corresponding element reference. */\n elementRef: ElementRef;\n\n /** Form field instance. */\n formField: Nullable<FormField>;\n\n /** Method for focusing on the element */\n focus(event?: MouseEvent): void;\n\n /**\n * Handles even when we click on parent container which is the FormField Wrapping this\n * control\n */\n onContainerClick(event: MouseEvent): void;\n}\n","/**\n * Interface SelectItem is used to deal with complex object in order to be able to format\n * custom label that is shown in the options.\n *\n * Used in various controls: Select, RadioGroup, CheckboxGroup, Combobox\n */\nexport interface SelectItem<T = any> {\n /**\n * Item text shown in the popup\n */\n label: string;\n\n /**\n * References to the object instance\n */\n value: T;\n disabled?: boolean;\n\n icon?: string;\n /**\n * Trigger values is a text for selected item\n */\n triggerValue?: string;\n\n isGroup?: boolean;\n secondaryText?: string;\n children?: SelectItem[];\n}\n\nexport interface OptionItem<T = any> {\n /** Item text */\n label: string;\n\n /**\n * References to the object instance\n */\n value: T;\n id?: string;\n isGroup?: boolean;\n secondaryText?: string;\n children?: OptionItem[];\n}\n\nexport interface SelectableOptionItem<T = any> extends OptionItem<T> {\n selected?: boolean;\n children?: SelectableOptionItem[];\n}\n\n/** @hidden */\nexport function isSelectableItem(item: SelectItem): item is SelectItem {\n return (\n item &&\n item.label !== undefined &&\n item.value !== undefined &&\n Object.prototype.hasOwnProperty.call(item, 'selected')\n );\n}\n\n/** @hidden */\nexport function isSelectItem(item: SelectItem): item is SelectItem {\n return item && item.label !== undefined && item.value !== undefined;\n}\n\nexport const isOptionItem = isSelectItem;\nexport const isSelectableOptionItem = isSelectableItem;\n","import { InjectionToken } from '@angular/core';\nimport { FormFieldControl } from '../models/form-field';\n\nexport const FD_FORM_FIELD_CONTROL = new InjectionToken<FormFieldControl>('FdFormFieldControl');\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"fundamental-ngx-cdk-forms.mjs","sources":["../../../../libs/cdk/src/lib/forms/helpers/state.ts","../../../../libs/cdk/src/lib/forms/tokens/form-field.token.ts","../../../../libs/cdk/src/lib/forms/cva/cva.directive.ts","../../../../libs/cdk/src/lib/forms/forms.module.ts","../../../../libs/cdk/src/lib/forms/cva/cva-control.class.ts","../../../../libs/cdk/src/lib/forms/models/form-field.ts","../../../../libs/cdk/src/lib/forms/models/select-item.ts","../../../../libs/cdk/src/lib/forms/tokens/form-field-control.token.ts","../../../../libs/cdk/src/lib/forms/fundamental-ngx-cdk-forms.ts"],"sourcesContent":["import { FormStates } from '../models/form-state';\n\nconst stateSet = new Set<FormStates>(['success', 'error', 'warning', 'default', 'information']);\n\n/** Checks if the given state is a valid control state. */\nexport function isValidControlState(value: any): value is FormStates {\n return stateSet.has(value);\n}\n","import { InjectionToken } from '@angular/core';\nimport { FormField } from '../models/form-field';\n\nexport const FD_FORM_FIELD = new InjectionToken<FormField>('FdFormField');\n","import {\n AfterViewInit,\n Directive,\n DoCheck,\n ElementRef,\n EventEmitter,\n inject,\n Input,\n isDevMode,\n OnDestroy,\n OnInit,\n Output,\n ViewChild\n} from '@angular/core';\nimport { ControlContainer, ControlValueAccessor, FormControl, NgControl, NgForm } from '@angular/forms';\nimport { BooleanInput, coerceBooleanProperty } from '@angular/cdk/coercion';\nimport { Subject, Subscription } from 'rxjs';\nimport { BaseCVA } from '../models/cva';\nimport { isValidControlState } from '../helpers/state';\nimport { FormStates } from '../models/form-state';\nimport { FormField, FormFieldControl } from '../models/form-field';\nimport { FD_FORM_FIELD } from '../tokens/form-field.token';\nimport { Nullable } from '@fundamental-ngx/cdk/utils';\n\nlet randomId = 0;\n\n@Directive({\n selector: '[fdkCva]',\n standalone: true\n})\nexport class CvaDirective<T = any>\n implements BaseCVA, FormFieldControl, OnInit, DoCheck, AfterViewInit, OnDestroy, ControlValueAccessor\n{\n /**\n * NgControl instance.\n */\n readonly ngControl = inject(NgControl, {\n optional: true\n });\n\n /**\n * Form container instance. Usually ngForm or FormGroup directives.\n */\n readonly controlContainer = inject(ControlContainer, {\n optional: true,\n skipSelf: true\n });\n\n /**\n * Separate NgForm instance. For cases when formGroup is used with the form itself.\n */\n readonly ngForm = inject(NgForm, {\n optional: true,\n skipSelf: true\n });\n\n /**\n * Element reference.\n */\n readonly elementRef = inject(ElementRef);\n\n /** @hidden */\n value: T;\n\n /** @hidden */\n constructor() {\n if (this.ngControl) {\n this.ngControl.valueAccessor = this;\n }\n }\n\n /** @hidden */\n private _defaultId = `fd-input-id-${randomId++}`;\n /** @hidden */\n private _disabled: boolean;\n /** @hidden */\n private _editable = true;\n\n /** ID for the Element */\n @Input()\n id: string = this._defaultId;\n\n /** Input placeholder */\n @Input()\n placeholder: string;\n\n /**\n * The state of the form control - applies css classes.\n * Can be 'success', 'error', 'warning', 'default', 'information'.\n *\n * @default 'default'\n */\n @Input()\n set state(state: FormStates | undefined) {\n if (!state || isValidControlState(state)) {\n this._state = state;\n } else if (isDevMode()) {\n console.warn(`Provided value \"${state}\" is not a valid option for FormStates type`);\n }\n }\n get state(): FormStates {\n if (this._state) {\n return this._state;\n }\n\n if (!this.controlInvalid) {\n return 'default';\n }\n\n return this.formField?.getPriorityState() || 'error';\n }\n\n /** Holds the message with respect to state */\n @Input()\n stateMessage: Nullable<string>;\n\n /**\n * @hidden\n * The state of the form control - applies css classes.\n * Can be `success`, `error`, `warning`, `information` or 'default'\n */\n private _state: FormStates | undefined;\n\n /** Whether the input is disabled */\n @Input()\n set disabled(value: boolean) {\n this.setDisabledState(value);\n }\n get disabled(): boolean {\n if (this.ngControl && this.ngControl.disabled !== null) {\n return this.ngControl.disabled;\n }\n return this._disabled;\n }\n\n /**\n * readOnly Value to Mark component read only\n */\n @Input()\n readonly: boolean;\n\n /** Binds to control aria-labelledBy attribute */\n @Input()\n ariaLabelledBy: Nullable<string>;\n\n /** Sets control aria-label attribute value */\n @Input()\n ariaLabel: Nullable<string>;\n\n /**\n * Tell the component if we are in editing mode.\n */\n @Input()\n set editable(value: BooleanInput) {\n const newVal = coerceBooleanProperty(value);\n if (this._editable !== newVal) {\n this._editable = newVal;\n this._markForCheck();\n this.stateChanges.next('editable');\n }\n }\n get editable(): boolean {\n return this._editable;\n }\n\n /**\n * Name of the control.\n */\n @Input()\n name: string;\n\n /**\n * Emits when change detection is needed.\n */\n @Output()\n detectChanges = new EventEmitter<void>();\n\n /**\n * Emits when mark for changes detection is needed.\n */\n @Output()\n markForCheck = new EventEmitter<void>();\n\n /** @hidden */\n protected _subscriptions = new Subscription();\n\n /**\n * Reference to internal Input element\n */\n @ViewChild('inputElementRef', { static: true, read: ElementRef })\n protected _elementRef: ElementRef;\n\n /**\n * See @FormFieldControl\n */\n focused = false;\n\n /** Whether control has errors */\n get controlInvalid(): boolean {\n return this._controlInvalid;\n }\n\n /**\n * @hidden\n */\n private _controlInvalid = false;\n /**\n * See @FormFieldControl\n */\n readonly stateChanges: Subject<any> = new Subject<any>();\n\n /** @hidden */\n readonly formField: FormField | null = inject(FD_FORM_FIELD, {\n skipSelf: true,\n optional: true\n });\n\n /** set when input field is mandatory form field */\n required: boolean;\n\n /** @hidden */\n onChange: (value: any) => void = () => {};\n\n /** @hidden */\n onTouched = (): void => {};\n\n /** @hidden */\n ngOnInit(): void {\n this.formField?.registerFormFieldControl(this);\n }\n\n /**\n * Re-validate and emit event to parent container on every CD cycle as they are some errors\n * that we can't subscribe to.\n */\n ngDoCheck(): void {\n if (this.ngControl) {\n this.updateErrorState();\n }\n }\n\n /** @hidden */\n ngAfterViewInit(): void {\n if (this.ngControl) {\n this._subscriptions.add(\n this.ngControl.statusChanges?.subscribe(() => {\n this._markForCheck();\n })\n );\n }\n\n const labelAndHelpId = `fdp-form-label-content-${this.id}`;\n // if not specified, associate label and inline help ids with the input,\n // else add these ids to the specified ones\n if (!this.ariaLabelledBy) {\n this.ariaLabelledBy = labelAndHelpId;\n } else {\n this.ariaLabelledBy += ' ' + labelAndHelpId;\n }\n this._markForCheck();\n }\n\n /** @hidden */\n registerOnChange(fn: (_: any) => void): void {\n this.onChange = fn;\n }\n\n /** @hidden */\n registerOnTouched(fn: () => void): void {\n this.onTouched = fn;\n }\n\n /** @hidden */\n ngOnDestroy(): void {\n this._subscriptions.unsubscribe();\n this.stateChanges.complete();\n this.formField?.unregisterFormFieldControl(this);\n }\n\n /** @hidden */\n setDisabledState(isDisabled: BooleanInput): void {\n const newState = coerceBooleanProperty(isDisabled);\n this._markForCheck();\n if (newState !== this._disabled) {\n this._disabled = newState;\n this.stateChanges.next('setDisabledState');\n }\n }\n\n /**\n * Method for setting the value\n * @param value\n */\n writeValue(value: T): void {\n this.value = value;\n this.stateChanges.next('writeValue');\n this._markForCheck();\n }\n\n /**\n *\n * Keeps track of element focus\n */\n _onFocusChanged(isFocused: boolean): void {\n if (isFocused !== this.focused && (!this.disabled || !isFocused)) {\n this.focused = isFocused;\n this.stateChanges.next('_onFocusChanged');\n }\n\n if (!isFocused) {\n this.onTouched();\n }\n }\n\n /**\n * Handles even when we click on parent container which is the FormField Wrapping this\n * control\n */\n onContainerClick(event: MouseEvent): void {\n this.focus(event);\n }\n\n /**\n * In most of the cases when working with input element directly you should be just find to assign\n * variable to this element\n *\n * ```\n * <input #inputElementRef fd-form-control ...>\n * ```\n *\n * and this default behavior used. For other cases implement focus.\n *\n */\n focus(event?: MouseEvent): void {\n if (this._elementRef && !this.focused) {\n this._elementRef.nativeElement.focus(event);\n }\n }\n\n /**\n * Need re-validates errors on every CD iteration to make sure we are also\n * covering non-control errors, errors that happens outside of this control\n */\n updateErrorState(): void {\n const parent = this.ngForm;\n const parentControlContainer = this.controlContainer;\n const control = this.ngControl ? (this.ngControl.control as FormControl) : null;\n const newStatusIsError = !!(\n control?.invalid &&\n (control.dirty || control.touched || parent?.submitted || (parentControlContainer as any)?.submitted)\n );\n\n if (newStatusIsError !== this.controlInvalid) {\n this._controlInvalid = newStatusIsError;\n this.stateChanges.next('updateErrorState');\n this._markForCheck();\n }\n }\n\n /**\n * Used to change the value of a control.\n * @param value the value to be applied\n * @param emitOnChange whether to emit \"onChange\" event.\n * Should be \"false\", if the change is made programmatically (internally) by the control, \"true\" otherwise\n */\n setValue(value: T, emitOnChange = true): void {\n if (value !== this.value) {\n this.writeValue(value);\n if (emitOnChange) {\n this.onChange(value);\n }\n this._markForCheck();\n }\n }\n\n /** @hidden */\n private _markForCheck(): void {\n this.markForCheck.emit();\n }\n\n /** @hidden */\n private _detectChanges(): void {\n this.detectChanges.emit();\n }\n}\n","import { NgModule } from '@angular/core';\nimport { CvaDirective } from './cva/cva.directive';\n\n@NgModule({\n imports: [CvaDirective],\n exports: [CvaDirective]\n})\nexport class FormsModule {}\n","import { ChangeDetectorRef, inject, Injectable } from '@angular/core';\nimport { takeUntil } from 'rxjs';\nimport { CvaDirective } from './cva.directive';\nimport { DestroyedService } from '@fundamental-ngx/cdk/utils';\n\n/**\n * Base ControlValueAccessor control class.\n * Used in conjunction with CvaDirective.\n *\n * This class performs generic change detection based on `CvaDirective` outputs.\n */\n@Injectable()\nexport class CvaControl<T> {\n /**\n * Control value accessor directive instance.\n */\n public cvaDirective = inject<CvaDirective<T>>(CvaDirective, {\n self: true,\n optional: true\n });\n\n /**\n * Change detector instance.\n */\n protected _changeDetector = inject(ChangeDetectorRef);\n\n /** @Hidden */\n protected _destroy$ = inject(DestroyedService);\n\n /** @hidden */\n listenToChanges(): void {\n this.cvaDirective?.markForCheck.pipe(takeUntil(this._destroy$)).subscribe(() => {\n this._changeDetector.detectChanges();\n });\n\n this.cvaDirective?.detectChanges.pipe(takeUntil(this._destroy$)).subscribe(() => {\n this._changeDetector.detectChanges();\n });\n }\n}\n","import { ElementRef, QueryList } from '@angular/core';\nimport { FormError } from './form-error';\nimport { FormStates } from './form-state';\nimport { Observable } from 'rxjs';\nimport { NgControl } from '@angular/forms';\nimport { Nullable } from '@fundamental-ngx/cdk/utils';\n\n/**\n * FormField base class.\n *\n * This class is used to create form field components.\n *\n */\nexport abstract class FormField {\n /**\n * Register underlying form control\n */\n registerFormFieldControl: (control: FormFieldControl) => void;\n /**\n * Unregister underlying form control\n */\n unregisterFormFieldControl: (control: FormFieldControl) => void;\n\n /**\n * Set default columns layout\n */\n setDefaultColumnLayout: () => void;\n\n /** Gets field error priority state. */\n getPriorityState: () => FormStates;\n\n /** Groups errors. */\n groupErrors: () => void;\n\n /** Sets error directives from parent container */\n setErrorDirectives: (directives: QueryList<FormError>) => void;\n}\n\nexport interface FormFieldControl<T = any> {\n /**\n * Each input control has always a value. Need to make sure we keep a convention for\n * input fields\n */\n value: T | null;\n\n /**\n * Need to have a way to set placeholder to the input\n */\n placeholder: string;\n\n /**\n * Need to have a way to set Mandatory to the input field\n */\n required: boolean;\n\n /**\n * Sets id from FF to Input\n */\n id: string;\n\n /**\n * This should be coming from Parent.\n */\n editable: boolean;\n\n /**\n * The height of the extra content at the bottom of the form control,\n * which should not affect the alignment of form control and it's label\n */\n extraContentHeightPx?: number;\n\n /**\n *\n * Form Field listen for all the changes happening inside the input\n */\n stateChanges: Observable<void>;\n\n /**\n * Each input should inject its own ngControl and we should retrieve it\n */\n ngControl: NgControl | null;\n\n /** Whether the control is disabled. */\n disabled: boolean;\n\n /**\n * Keeps track if the form element is in focus\n */\n focused: boolean;\n\n /** Whether control has errors */\n controlInvalid: boolean;\n\n /** Corresponding element reference. */\n elementRef: ElementRef;\n\n /** Form field instance. */\n formField: Nullable<FormField>;\n\n /** Method for focusing on the element */\n focus(event?: MouseEvent): void;\n\n /**\n * Handles even when we click on parent container which is the FormField Wrapping this\n * control\n */\n onContainerClick(event: MouseEvent): void;\n}\n","/**\n * Interface SelectItem is used to deal with complex object in order to be able to format\n * custom label that is shown in the options.\n *\n * Used in various controls: Select, RadioGroup, CheckboxGroup, Combobox\n */\nexport interface SelectItem<T = any> {\n /**\n * Item text shown in the popup\n */\n label: string;\n\n /**\n * References to the object instance\n */\n value: T;\n disabled?: boolean;\n\n icon?: string;\n /**\n * Trigger values is a text for selected item\n */\n triggerValue?: string;\n\n isGroup?: boolean;\n secondaryText?: string;\n children?: SelectItem[];\n}\n\nexport interface OptionItem<T = any> {\n /** Item text */\n label: string;\n\n /**\n * References to the object instance\n */\n value: T;\n id?: string;\n isGroup?: boolean;\n secondaryText?: string;\n children?: OptionItem[];\n}\n\nexport interface SelectableOptionItem<T = any> extends OptionItem<T> {\n selected?: boolean;\n children?: SelectableOptionItem[];\n}\n\n/** @hidden */\nexport function isSelectableItem(item: SelectItem): item is SelectItem {\n return (\n item &&\n item.label !== undefined &&\n item.value !== undefined &&\n Object.prototype.hasOwnProperty.call(item, 'selected')\n );\n}\n\n/** @hidden */\nexport function isSelectItem(item: SelectItem): item is SelectItem {\n return item && item.label !== undefined && item.value !== undefined;\n}\n\nexport const isOptionItem = isSelectItem;\nexport const isSelectableOptionItem = isSelectableItem;\n","import { InjectionToken } from '@angular/core';\nimport { FormFieldControl } from '../models/form-field';\n\nexport const FD_FORM_FIELD_CONTROL = new InjectionToken<FormFieldControl>('FdFormFieldControl');\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
|