@fundamental-ngx/cdk 0.38.3-rc.4
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +89 -0
- package/data-source/README.md +7 -0
- package/data-source/base/abstract-data-provider.class.d.ts +43 -0
- package/data-source/base/base-data-source.class.d.ts +57 -0
- package/data-source/data-source.directive.d.ts +47 -0
- package/data-source/data-source.module.d.ts +7 -0
- package/data-source/helpers/apply-datasource-directive.d.ts +6 -0
- package/data-source/helpers/common.d.ts +7 -0
- package/data-source/helpers/is-datasource.d.ts +5 -0
- package/data-source/index.d.ts +8 -0
- package/data-source/models/data-source-provider.d.ts +23 -0
- package/data-source/models/data-source.d.ts +16 -0
- package/data-source/models/index.d.ts +3 -0
- package/data-source/models/matching-strategy.d.ts +10 -0
- package/data-source/tokens.d.ts +6 -0
- package/esm2020/data-source/base/abstract-data-provider.class.mjs +126 -0
- package/esm2020/data-source/base/base-data-source.class.mjs +99 -0
- package/esm2020/data-source/data-source.directive.mjs +96 -0
- package/esm2020/data-source/data-source.module.mjs +16 -0
- package/esm2020/data-source/fundamental-ngx-cdk-data-source.mjs +5 -0
- package/esm2020/data-source/helpers/apply-datasource-directive.mjs +7 -0
- package/esm2020/data-source/helpers/common.mjs +17 -0
- package/esm2020/data-source/helpers/is-datasource.mjs +7 -0
- package/esm2020/data-source/index.mjs +9 -0
- package/esm2020/data-source/models/data-source-provider.mjs +2 -0
- package/esm2020/data-source/models/data-source.mjs +2 -0
- package/esm2020/data-source/models/index.mjs +4 -0
- package/esm2020/data-source/models/matching-strategy.mjs +7 -0
- package/esm2020/data-source/tokens.mjs +6 -0
- package/esm2020/forms/cva/cva-control.class.mjs +43 -0
- package/esm2020/forms/cva/cva.directive.mjs +309 -0
- package/esm2020/forms/forms.module.mjs +16 -0
- package/esm2020/forms/fundamental-ngx-cdk-forms.mjs +5 -0
- package/esm2020/forms/helpers/state.mjs +6 -0
- package/esm2020/forms/index.mjs +13 -0
- package/esm2020/forms/models/cva.mjs +2 -0
- package/esm2020/forms/models/form-error.mjs +2 -0
- package/esm2020/forms/models/form-field-control.mjs +2 -0
- package/esm2020/forms/models/form-field.mjs +9 -0
- package/esm2020/forms/models/form-state.mjs +2 -0
- package/esm2020/forms/models/select-item.mjs +14 -0
- package/esm2020/forms/tokens/form-field-control.token.mjs +3 -0
- package/esm2020/forms/tokens/form-field.token.mjs +3 -0
- package/esm2020/fundamental-ngx-cdk.mjs +5 -0
- package/esm2020/fundamental-ngx.module.mjs +19 -0
- package/esm2020/public_api.mjs +5 -0
- package/esm2020/utils/abstract-fd-ngx-class.mjs +56 -0
- package/esm2020/utils/coercion/array.mjs +7 -0
- package/esm2020/utils/consts/error-messages.mjs +6 -0
- package/esm2020/utils/consts/index.mjs +5 -0
- package/esm2020/utils/consts/overflow-priority-score.mjs +8 -0
- package/esm2020/utils/consts/unicode-letters.regex.mjs +11 -0
- package/esm2020/utils/consts/unicode-numbers.regex.mjs +8 -0
- package/esm2020/utils/datatypes/color-accent.datatype.mjs +2 -0
- package/esm2020/utils/datatypes/hash.datatype.mjs +2 -0
- package/esm2020/utils/datatypes/index.mjs +4 -0
- package/esm2020/utils/datatypes/size.datatype.mjs +2 -0
- package/esm2020/utils/decorators/apply-css-class.decorator.mjs +60 -0
- package/esm2020/utils/decorators/apply-css-style.decorator.mjs +28 -0
- package/esm2020/utils/decorators/coerce-boolean.mjs +7 -0
- package/esm2020/utils/decorators/coerce-css-pixel.mjs +4 -0
- package/esm2020/utils/decorators/index.mjs +6 -0
- package/esm2020/utils/decorators/setter-alternator.mjs +18 -0
- package/esm2020/utils/deprecated-selector.class.mjs +20 -0
- package/esm2020/utils/directives/auto-complete/auto-complete.directive.mjs +136 -0
- package/esm2020/utils/directives/auto-complete/auto-complete.module.mjs +17 -0
- package/esm2020/utils/directives/clicked/clicked-behavior.module.mjs +45 -0
- package/esm2020/utils/directives/clicked/clicked-event.plugin.mjs +74 -0
- package/esm2020/utils/directives/clicked/clicked.directive.mjs +52 -0
- package/esm2020/utils/directives/clicked/fdk-clicked-provider.service.mjs +49 -0
- package/esm2020/utils/directives/clicked/index.mjs +4 -0
- package/esm2020/utils/directives/disabled/default-disabled-view-modifier.mjs +12 -0
- package/esm2020/utils/directives/disabled/disabled-behavior.directive.mjs +102 -0
- package/esm2020/utils/directives/disabled/disabled-behavior.interface.mjs +2 -0
- package/esm2020/utils/directives/disabled/disabled-behavior.module.mjs +16 -0
- package/esm2020/utils/directives/disabled/disabled-view-modifier.interface.mjs +2 -0
- package/esm2020/utils/directives/disabled/disabled.observer.mjs +35 -0
- package/esm2020/utils/directives/disabled/fdk-disabled-provider.service.mjs +101 -0
- package/esm2020/utils/directives/disabled/fdk-disabled.token.mjs +3 -0
- package/esm2020/utils/directives/disabled/index.mjs +9 -0
- package/esm2020/utils/directives/disabled/set-disabled-state.mjs +16 -0
- package/esm2020/utils/directives/focus-key-manager/focus-key-manager-helpers.module.mjs +33 -0
- package/esm2020/utils/directives/focus-key-manager/focus-key-manager-item.directive.mjs +98 -0
- package/esm2020/utils/directives/focus-key-manager/focus-key-manager-list.directive.mjs +113 -0
- package/esm2020/utils/directives/focus-key-manager/focus-key-manager.tokens.mjs +3 -0
- package/esm2020/utils/directives/focus-key-manager/index.mjs +5 -0
- package/esm2020/utils/directives/focusable-item/default-focusable-item-view-modifier.mjs +14 -0
- package/esm2020/utils/directives/focusable-item/fdk-focusable-item-provider.service.mjs +97 -0
- package/esm2020/utils/directives/focusable-item/focusable-item-view-modifier.interface.mjs +2 -0
- package/esm2020/utils/directives/focusable-item/focusable-item.directive.mjs +106 -0
- package/esm2020/utils/directives/focusable-item/focusable-item.module.mjs +16 -0
- package/esm2020/utils/directives/focusable-item/focusable.observer.mjs +47 -0
- package/esm2020/utils/directives/focusable-item/focusable.tokens.mjs +3 -0
- package/esm2020/utils/directives/focusable-item/index.mjs +9 -0
- package/esm2020/utils/directives/focusable-item/is-element-focusable-by-default.mjs +32 -0
- package/esm2020/utils/directives/focusable-item/set-focusable.mjs +12 -0
- package/esm2020/utils/directives/focusable-list/focusable-list.directive.mjs +79 -0
- package/esm2020/utils/directives/focusable-list/focusable-list.module.mjs +17 -0
- package/esm2020/utils/directives/focusable-list/focusable-list.service.mjs +54 -0
- package/esm2020/utils/directives/focusable-list/index.mjs +4 -0
- package/esm2020/utils/directives/ignore-click-on-selection/ignore-click-on-selection.directive.mjs +79 -0
- package/esm2020/utils/directives/ignore-click-on-selection/ignore-click-on-selection.module.mjs +16 -0
- package/esm2020/utils/directives/ignore-click-on-selection/tokens.mjs +3 -0
- package/esm2020/utils/directives/index.mjs +31 -0
- package/esm2020/utils/directives/initial-focus/initial-focus.directive.mjs +117 -0
- package/esm2020/utils/directives/initial-focus/initial-focus.module.mjs +16 -0
- package/esm2020/utils/directives/line-clamp/line-clamp.directive.mjs +263 -0
- package/esm2020/utils/directives/line-clamp/line-clamp.module.mjs +32 -0
- package/esm2020/utils/directives/only-digits/only-digits.directive.mjs +218 -0
- package/esm2020/utils/directives/only-digits/only-digits.module.mjs +16 -0
- package/esm2020/utils/directives/overflow-list/overflow-list-item.directive.mjs +42 -0
- package/esm2020/utils/directives/overflow-list/overflow-list.directive.mjs +140 -0
- package/esm2020/utils/directives/overflow-list/overflow-list.module.mjs +33 -0
- package/esm2020/utils/directives/readonly/default-readonly-view-modifier.mjs +12 -0
- package/esm2020/utils/directives/readonly/fdk-readonly-provider.service.mjs +102 -0
- package/esm2020/utils/directives/readonly/fdk-readonly.token.mjs +3 -0
- package/esm2020/utils/directives/readonly/index.mjs +10 -0
- package/esm2020/utils/directives/readonly/readonly-behavior.directive.mjs +97 -0
- package/esm2020/utils/directives/readonly/readonly-behavior.interface.mjs +2 -0
- package/esm2020/utils/directives/readonly/readonly-behavior.module.mjs +16 -0
- package/esm2020/utils/directives/readonly/readonly-view-modifier.interface.mjs +2 -0
- package/esm2020/utils/directives/readonly/readonly.observer.mjs +33 -0
- package/esm2020/utils/directives/readonly/set-readonly-state.mjs +14 -0
- package/esm2020/utils/directives/repeat/repeat.directive.mjs +65 -0
- package/esm2020/utils/directives/repeat/repeat.module.mjs +16 -0
- package/esm2020/utils/directives/resize/resize-handle.directive.mjs +42 -0
- package/esm2020/utils/directives/resize/resize.directive.mjs +231 -0
- package/esm2020/utils/directives/resize/resize.module.mjs +17 -0
- package/esm2020/utils/directives/selectable-list/index.mjs +8 -0
- package/esm2020/utils/directives/selectable-list/select-component-root.token.mjs +3 -0
- package/esm2020/utils/directives/selectable-list/selectable-item.directive.mjs +147 -0
- package/esm2020/utils/directives/selectable-list/selectable-item.token.mjs +3 -0
- package/esm2020/utils/directives/selectable-list/selectable-list.directive.mjs +93 -0
- package/esm2020/utils/directives/selectable-list/selectable-list.module.mjs +17 -0
- package/esm2020/utils/directives/selectable-list/selectable-list.tokens.mjs +3 -0
- package/esm2020/utils/directives/selectable-list/selection.service.mjs +135 -0
- package/esm2020/utils/directives/template/template.directive.mjs +49 -0
- package/esm2020/utils/directives/template/template.module.mjs +16 -0
- package/esm2020/utils/directives/truncate/truncate.directive.mjs +96 -0
- package/esm2020/utils/directives/truncate/truncate.module.mjs +16 -0
- package/esm2020/utils/drag-and-drop/dnd-item/dnd-item.directive.mjs +255 -0
- package/esm2020/utils/drag-and-drop/dnd-keyboard-group/dnd-keyboard-group.directive.mjs +88 -0
- package/esm2020/utils/drag-and-drop/dnd-keyboard-item/dnd-keyboard-item.directive.mjs +83 -0
- package/esm2020/utils/drag-and-drop/dnd-list/dnd-list.directive.mjs +220 -0
- package/esm2020/utils/drag-and-drop/dnd.interfaces.mjs +2 -0
- package/esm2020/utils/drag-and-drop/drag-and-drop.module.mjs +22 -0
- package/esm2020/utils/drag-and-drop/index.mjs +8 -0
- package/esm2020/utils/drag-and-drop/tokens.mjs +4 -0
- package/esm2020/utils/dynamic-component/dynamic-component-config.mjs +2 -0
- package/esm2020/utils/dynamic-component/dynamic-component-container.mjs +21 -0
- package/esm2020/utils/dynamic-component/dynamic-component-injector.mjs +20 -0
- package/esm2020/utils/dynamic-component/dynamic-component.service.mjs +90 -0
- package/esm2020/utils/dynamic-component/index.mjs +5 -0
- package/esm2020/utils/functions/consumer-provider-factory.mjs +12 -0
- package/esm2020/utils/functions/element-size.mjs +23 -0
- package/esm2020/utils/functions/get-document-font-size.mjs +5 -0
- package/esm2020/utils/functions/index.mjs +13 -0
- package/esm2020/utils/functions/intersection-observable.mjs +26 -0
- package/esm2020/utils/functions/is-compact-density.mjs +11 -0
- package/esm2020/utils/functions/key-util.mjs +77 -0
- package/esm2020/utils/functions/module-deprecations-provider.mjs +18 -0
- package/esm2020/utils/functions/parser-file-size.mjs +37 -0
- package/esm2020/utils/functions/random-color-accent.mjs +5 -0
- package/esm2020/utils/functions/resize-observable.mjs +33 -0
- package/esm2020/utils/functions/scroll.mjs +19 -0
- package/esm2020/utils/functions/uuidv4-generator.mjs +12 -0
- package/esm2020/utils/fundamental-ngx-cdk-utils.mjs +5 -0
- package/esm2020/utils/helpers/get-native-element.mjs +18 -0
- package/esm2020/utils/helpers/index.mjs +3 -0
- package/esm2020/utils/helpers/range-selector.mjs +117 -0
- package/esm2020/utils/index.mjs +19 -0
- package/esm2020/utils/interfaces/content-density.mjs +2 -0
- package/esm2020/utils/interfaces/css-class-builder.interface.mjs +2 -0
- package/esm2020/utils/interfaces/css-style-builder.interface.mjs +2 -0
- package/esm2020/utils/interfaces/has-element-ref.interface.mjs +2 -0
- package/esm2020/utils/interfaces/index.mjs +8 -0
- package/esm2020/utils/interfaces/keyboard-support-item.interface.mjs +2 -0
- package/esm2020/utils/interfaces/module-deprecation.interface.mjs +2 -0
- package/esm2020/utils/interfaces/require.interface.mjs +2 -0
- package/esm2020/utils/list-item/list-item-utils.mjs +3 -0
- package/esm2020/utils/models/nullable.mjs +2 -0
- package/esm2020/utils/pipes/displayFn.pipe.mjs +17 -0
- package/esm2020/utils/pipes/filter-strings.pipe.mjs +30 -0
- package/esm2020/utils/pipes/index.mjs +10 -0
- package/esm2020/utils/pipes/is-compact.pipe.mjs +16 -0
- package/esm2020/utils/pipes/pipe.module.mjs +55 -0
- package/esm2020/utils/pipes/safe.pipe.mjs +36 -0
- package/esm2020/utils/pipes/search-highlight.pipe.mjs +31 -0
- package/esm2020/utils/pipes/truncate.pipe.mjs +17 -0
- package/esm2020/utils/pipes/two-digits.pipe.mjs +22 -0
- package/esm2020/utils/pipes/value-by-path.pipe.mjs +16 -0
- package/esm2020/utils/services/content-density.service.mjs +34 -0
- package/esm2020/utils/services/destroyed.service.mjs +20 -0
- package/esm2020/utils/services/focus-trap.service.mjs +92 -0
- package/esm2020/utils/services/index.mjs +11 -0
- package/esm2020/utils/services/keyboard-support/keyboard-support.service.mjs +73 -0
- package/esm2020/utils/services/local-storage.service.mjs +38 -0
- package/esm2020/utils/services/observers/attribute.observer.mjs +81 -0
- package/esm2020/utils/services/resize-observer.service.mjs +94 -0
- package/esm2020/utils/services/rtl.service.mjs +29 -0
- package/esm2020/utils/services/tabbable-element.service.mjs +43 -0
- package/esm2020/utils/services/themes.service.mjs +133 -0
- package/esm2020/utils/tokens/module-deprecations.token.mjs +3 -0
- package/esm2020/utils/typecheck.mjs +75 -0
- package/esm2020/utils/utils.module.mjs +136 -0
- package/fesm2015/fundamental-ngx-cdk-data-source.mjs +378 -0
- package/fesm2015/fundamental-ngx-cdk-data-source.mjs.map +1 -0
- package/fesm2015/fundamental-ngx-cdk-forms.mjs +404 -0
- package/fesm2015/fundamental-ngx-cdk-forms.mjs.map +1 -0
- package/fesm2015/fundamental-ngx-cdk-utils.mjs +5767 -0
- package/fesm2015/fundamental-ngx-cdk-utils.mjs.map +1 -0
- package/fesm2015/fundamental-ngx-cdk.mjs +30 -0
- package/fesm2015/fundamental-ngx-cdk.mjs.map +1 -0
- package/fesm2020/fundamental-ngx-cdk-data-source.mjs +374 -0
- package/fesm2020/fundamental-ngx-cdk-data-source.mjs.map +1 -0
- package/fesm2020/fundamental-ngx-cdk-forms.mjs +399 -0
- package/fesm2020/fundamental-ngx-cdk-forms.mjs.map +1 -0
- package/fesm2020/fundamental-ngx-cdk-utils.mjs +5724 -0
- package/fesm2020/fundamental-ngx-cdk-utils.mjs.map +1 -0
- package/fesm2020/fundamental-ngx-cdk.mjs +30 -0
- package/fesm2020/fundamental-ngx-cdk.mjs.map +1 -0
- package/forms/README.md +7 -0
- package/forms/cva/cva-control.class.d.ts +26 -0
- package/forms/cva/cva.directive.d.ts +178 -0
- package/forms/forms.module.d.ts +7 -0
- package/forms/helpers/state.d.ts +3 -0
- package/forms/index.d.ts +12 -0
- package/forms/models/cva.d.ts +4 -0
- package/forms/models/form-error.d.ts +31 -0
- package/forms/models/form-field-control.d.ts +61 -0
- package/forms/models/form-field.d.ts +30 -0
- package/forms/models/form-state.d.ts +1 -0
- package/forms/models/select-item.d.ts +47 -0
- package/forms/tokens/form-field-control.token.d.ts +3 -0
- package/forms/tokens/form-field.token.d.ts +3 -0
- package/fundamental-ngx-cdk-v0.38.3-rc.4.tgz +0 -0
- package/fundamental-ngx.module.d.ts +9 -0
- package/index.d.ts +5 -0
- package/package.json +80 -0
- package/public_api.d.ts +4 -0
- package/utils/README.md +7 -0
- package/utils/abstract-fd-ngx-class.d.ts +27 -0
- package/utils/coercion/array.d.ts +2 -0
- package/utils/consts/error-messages.d.ts +3 -0
- package/utils/consts/index.d.ts +4 -0
- package/utils/consts/overflow-priority-score.d.ts +2 -0
- package/utils/consts/unicode-letters.regex.d.ts +7 -0
- package/utils/consts/unicode-numbers.regex.d.ts +6 -0
- package/utils/datatypes/color-accent.datatype.d.ts +1 -0
- package/utils/datatypes/hash.datatype.d.ts +3 -0
- package/utils/datatypes/index.d.ts +3 -0
- package/utils/datatypes/size.datatype.d.ts +1 -0
- package/utils/decorators/apply-css-class.decorator.d.ts +10 -0
- package/utils/decorators/apply-css-style.decorator.d.ts +10 -0
- package/utils/decorators/coerce-boolean.d.ts +4 -0
- package/utils/decorators/coerce-css-pixel.d.ts +1 -0
- package/utils/decorators/index.d.ts +5 -0
- package/utils/decorators/setter-alternator.d.ts +4 -0
- package/utils/deprecated-selector.class.d.ts +14 -0
- package/utils/directives/auto-complete/auto-complete.directive.d.ts +58 -0
- package/utils/directives/auto-complete/auto-complete.module.d.ts +7 -0
- package/utils/directives/clicked/clicked-behavior.module.d.ts +12 -0
- package/utils/directives/clicked/clicked-event.plugin.d.ts +22 -0
- package/utils/directives/clicked/clicked.directive.d.ts +21 -0
- package/utils/directives/clicked/fdk-clicked-provider.service.d.ts +24 -0
- package/utils/directives/clicked/index.d.ts +3 -0
- package/utils/directives/disabled/default-disabled-view-modifier.d.ts +9 -0
- package/utils/directives/disabled/disabled-behavior.directive.d.ts +35 -0
- package/utils/directives/disabled/disabled-behavior.interface.d.ts +7 -0
- package/utils/directives/disabled/disabled-behavior.module.d.ts +7 -0
- package/utils/directives/disabled/disabled-view-modifier.interface.d.ts +3 -0
- package/utils/directives/disabled/disabled.observer.d.ts +18 -0
- package/utils/directives/disabled/fdk-disabled-provider.service.d.ts +35 -0
- package/utils/directives/disabled/fdk-disabled.token.d.ts +3 -0
- package/utils/directives/disabled/index.d.ts +8 -0
- package/utils/directives/disabled/set-disabled-state.d.ts +4 -0
- package/utils/directives/focus-key-manager/focus-key-manager-helpers.module.d.ts +8 -0
- package/utils/directives/focus-key-manager/focus-key-manager-item.directive.d.ts +37 -0
- package/utils/directives/focus-key-manager/focus-key-manager-list.directive.d.ts +42 -0
- package/utils/directives/focus-key-manager/focus-key-manager.tokens.d.ts +3 -0
- package/utils/directives/focus-key-manager/index.d.ts +4 -0
- package/utils/directives/focusable-item/default-focusable-item-view-modifier.d.ts +11 -0
- package/utils/directives/focusable-item/fdk-focusable-item-provider.service.d.ts +43 -0
- package/utils/directives/focusable-item/focusable-item-view-modifier.interface.d.ts +3 -0
- package/utils/directives/focusable-item/focusable-item.directive.d.ts +37 -0
- package/utils/directives/focusable-item/focusable-item.module.d.ts +7 -0
- package/utils/directives/focusable-item/focusable.observer.d.ts +18 -0
- package/utils/directives/focusable-item/focusable.tokens.d.ts +2 -0
- package/utils/directives/focusable-item/index.d.ts +8 -0
- package/utils/directives/focusable-item/is-element-focusable-by-default.d.ts +4 -0
- package/utils/directives/focusable-item/set-focusable.d.ts +4 -0
- package/utils/directives/focusable-list/focusable-list.directive.d.ts +25 -0
- package/utils/directives/focusable-list/focusable-list.module.d.ts +8 -0
- package/utils/directives/focusable-list/focusable-list.service.d.ts +35 -0
- package/utils/directives/focusable-list/index.d.ts +3 -0
- package/utils/directives/ignore-click-on-selection/ignore-click-on-selection.directive.d.ts +22 -0
- package/utils/directives/ignore-click-on-selection/ignore-click-on-selection.module.d.ts +7 -0
- package/utils/directives/ignore-click-on-selection/tokens.d.ts +2 -0
- package/utils/directives/index.d.ts +30 -0
- package/utils/directives/initial-focus/initial-focus.directive.d.ts +43 -0
- package/utils/directives/initial-focus/initial-focus.module.d.ts +7 -0
- package/utils/directives/line-clamp/line-clamp.directive.d.ts +101 -0
- package/utils/directives/line-clamp/line-clamp.module.d.ts +7 -0
- package/utils/directives/only-digits/only-digits.directive.d.ts +44 -0
- package/utils/directives/only-digits/only-digits.module.d.ts +7 -0
- package/utils/directives/overflow-list/overflow-list-item.directive.d.ts +14 -0
- package/utils/directives/overflow-list/overflow-list.directive.d.ts +62 -0
- package/utils/directives/overflow-list/overflow-list.module.d.ts +8 -0
- package/utils/directives/readonly/default-readonly-view-modifier.d.ts +9 -0
- package/utils/directives/readonly/fdk-readonly-provider.service.d.ts +35 -0
- package/utils/directives/readonly/fdk-readonly.token.d.ts +2 -0
- package/utils/directives/readonly/index.d.ts +9 -0
- package/utils/directives/readonly/readonly-behavior.directive.d.ts +32 -0
- package/utils/directives/readonly/readonly-behavior.interface.d.ts +7 -0
- package/utils/directives/readonly/readonly-behavior.module.d.ts +7 -0
- package/utils/directives/readonly/readonly-view-modifier.interface.d.ts +3 -0
- package/utils/directives/readonly/readonly.observer.d.ts +18 -0
- package/utils/directives/readonly/set-readonly-state.d.ts +4 -0
- package/utils/directives/repeat/repeat.directive.d.ts +28 -0
- package/utils/directives/repeat/repeat.module.d.ts +7 -0
- package/utils/directives/resize/resize-handle.directive.d.ts +14 -0
- package/utils/directives/resize/resize.directive.d.ts +57 -0
- package/utils/directives/resize/resize.module.d.ts +8 -0
- package/utils/directives/selectable-list/index.d.ts +7 -0
- package/utils/directives/selectable-list/select-component-root.token.d.ts +10 -0
- package/utils/directives/selectable-list/selectable-item.directive.d.ts +47 -0
- package/utils/directives/selectable-list/selectable-item.token.d.ts +11 -0
- package/utils/directives/selectable-list/selectable-list.directive.d.ts +33 -0
- package/utils/directives/selectable-list/selectable-list.module.d.ts +8 -0
- package/utils/directives/selectable-list/selectable-list.tokens.d.ts +2 -0
- package/utils/directives/selectable-list/selection.service.d.ts +65 -0
- package/utils/directives/template/template.directive.d.ts +18 -0
- package/utils/directives/template/template.module.d.ts +7 -0
- package/utils/directives/truncate/truncate.directive.d.ts +51 -0
- package/utils/directives/truncate/truncate.module.d.ts +7 -0
- package/utils/drag-and-drop/dnd-item/dnd-item.directive.d.ts +86 -0
- package/utils/drag-and-drop/dnd-keyboard-group/dnd-keyboard-group.directive.d.ts +32 -0
- package/utils/drag-and-drop/dnd-keyboard-item/dnd-keyboard-item.directive.d.ts +61 -0
- package/utils/drag-and-drop/dnd-list/dnd-list.directive.d.ts +65 -0
- package/utils/drag-and-drop/dnd.interfaces.d.ts +33 -0
- package/utils/drag-and-drop/drag-and-drop.module.d.ts +12 -0
- package/utils/drag-and-drop/index.d.ts +7 -0
- package/utils/drag-and-drop/tokens.d.ts +3 -0
- package/utils/dynamic-component/dynamic-component-config.d.ts +6 -0
- package/utils/dynamic-component/dynamic-component-container.d.ts +19 -0
- package/utils/dynamic-component/dynamic-component-injector.d.ts +13 -0
- package/utils/dynamic-component/dynamic-component.service.d.ts +46 -0
- package/utils/dynamic-component/index.d.ts +4 -0
- package/utils/functions/consumer-provider-factory.d.ts +5 -0
- package/utils/functions/element-size.d.ts +12 -0
- package/utils/functions/get-document-font-size.d.ts +2 -0
- package/utils/functions/index.d.ts +12 -0
- package/utils/functions/intersection-observable.d.ts +8 -0
- package/utils/functions/is-compact-density.d.ts +7 -0
- package/utils/functions/key-util.d.ts +16 -0
- package/utils/functions/module-deprecations-provider.d.ts +5 -0
- package/utils/functions/parser-file-size.d.ts +2 -0
- package/utils/functions/random-color-accent.d.ts +3 -0
- package/utils/functions/resize-observable.d.ts +8 -0
- package/utils/functions/scroll.d.ts +7 -0
- package/utils/functions/uuidv4-generator.d.ts +2 -0
- package/utils/helpers/get-native-element.d.ts +13 -0
- package/utils/helpers/index.d.ts +2 -0
- package/utils/helpers/range-selector.d.ts +84 -0
- package/utils/index.d.ts +18 -0
- package/utils/interfaces/content-density.d.ts +1 -0
- package/utils/interfaces/css-class-builder.interface.d.ts +6 -0
- package/utils/interfaces/css-style-builder.interface.d.ts +5 -0
- package/utils/interfaces/has-element-ref.interface.d.ts +5 -0
- package/utils/interfaces/index.d.ts +7 -0
- package/utils/interfaces/keyboard-support-item.interface.d.ts +6 -0
- package/utils/interfaces/module-deprecation.interface.d.ts +8 -0
- package/utils/interfaces/require.interface.d.ts +6 -0
- package/utils/list-item/list-item-utils.d.ts +7 -0
- package/utils/models/nullable.d.ts +6 -0
- package/utils/pipes/displayFn.pipe.d.ts +8 -0
- package/utils/pipes/filter-strings.pipe.d.ts +16 -0
- package/utils/pipes/index.d.ts +9 -0
- package/utils/pipes/is-compact.pipe.d.ts +9 -0
- package/utils/pipes/pipe.module.d.ts +14 -0
- package/utils/pipes/safe.pipe.d.ts +12 -0
- package/utils/pipes/search-highlight.pipe.d.ts +8 -0
- package/utils/pipes/truncate.pipe.d.ts +8 -0
- package/utils/pipes/two-digits.pipe.d.ts +8 -0
- package/utils/pipes/value-by-path.pipe.d.ts +8 -0
- package/utils/services/content-density.service.d.ts +19 -0
- package/utils/services/destroyed.service.d.ts +11 -0
- package/utils/services/focus-trap.service.d.ts +43 -0
- package/utils/services/index.d.ts +10 -0
- package/utils/services/keyboard-support/keyboard-support.service.d.ts +34 -0
- package/utils/services/local-storage.service.d.ts +13 -0
- package/utils/services/observers/attribute.observer.d.ts +26 -0
- package/utils/services/resize-observer.service.d.ts +34 -0
- package/utils/services/rtl.service.d.ts +12 -0
- package/utils/services/tabbable-element.service.d.ts +12 -0
- package/utils/services/themes.service.d.ts +43 -0
- package/utils/tokens/module-deprecations.token.d.ts +3 -0
- package/utils/typecheck.d.ts +47 -0
- package/utils/utils.module.d.ts +23 -0
|
@@ -0,0 +1,220 @@
|
|
|
1
|
+
import { ContentChildren, Directive, EventEmitter, forwardRef, Input, Output, QueryList } from '@angular/core';
|
|
2
|
+
import { merge, Subject } from 'rxjs';
|
|
3
|
+
import { startWith, takeUntil } from 'rxjs/operators';
|
|
4
|
+
import { DND_ITEM, DND_LIST } from '../tokens';
|
|
5
|
+
import * as i0 from "@angular/core";
|
|
6
|
+
export class DndListDirective {
|
|
7
|
+
constructor() {
|
|
8
|
+
/**
|
|
9
|
+
* Defines if the the element is allowed to be dragged in 2 dimensions,
|
|
10
|
+
* When true - replace indicator will be displayed vertically
|
|
11
|
+
*/
|
|
12
|
+
this.gridMode = false;
|
|
13
|
+
/** When enabled, replace indicator will appear on whole element, instead of horizontal/vertical line before/after element */
|
|
14
|
+
this.replaceMode = false;
|
|
15
|
+
/** Event that is thrown, when items are reordered */
|
|
16
|
+
this.itemsChange = new EventEmitter();
|
|
17
|
+
/** Event that is thrown, when the item is dropped */
|
|
18
|
+
this.itemDropped = new EventEmitter();
|
|
19
|
+
/** @hidden */
|
|
20
|
+
this._closestItemIndex = null;
|
|
21
|
+
/** @hidden */
|
|
22
|
+
this._closestItemPosition = null;
|
|
23
|
+
/** An RxJS Subject that will kill the current data stream (for unsubscribing) */
|
|
24
|
+
this._refresh$ = new Subject();
|
|
25
|
+
/** @hidden */
|
|
26
|
+
this._onDestroy$ = new Subject();
|
|
27
|
+
/** @hidden */
|
|
28
|
+
this._draggable = true;
|
|
29
|
+
}
|
|
30
|
+
/** Defines if drag and drop feature should be enabled for list items */
|
|
31
|
+
set draggable(draggable) {
|
|
32
|
+
this._draggable = draggable;
|
|
33
|
+
this._changeDraggableState(draggable);
|
|
34
|
+
}
|
|
35
|
+
/** @hidden */
|
|
36
|
+
ngAfterContentInit() {
|
|
37
|
+
this._changeDraggableState(this._draggable);
|
|
38
|
+
this.dndItems.changes.pipe(takeUntil(this._onDestroy$), startWith(0)).subscribe(() => this._refreshQueryList());
|
|
39
|
+
}
|
|
40
|
+
/** @hidden */
|
|
41
|
+
ngOnDestroy() {
|
|
42
|
+
this._onDestroy$.next();
|
|
43
|
+
this._onDestroy$.complete();
|
|
44
|
+
}
|
|
45
|
+
/** Method called, when the item is being moved by 1 px */
|
|
46
|
+
onMove(mousePosition, draggedItemIndex) {
|
|
47
|
+
/** Temporary object, to store lowest distance values */
|
|
48
|
+
let closestItemIndex = null;
|
|
49
|
+
const closestItem = this._elementsCoordinates.find((element, index) => {
|
|
50
|
+
/** Check if element can be replaced */
|
|
51
|
+
if (!element.stickToPosition && closestItemIndex !== index) {
|
|
52
|
+
const isMouseOnElement = _isMouseOnElement(element, mousePosition);
|
|
53
|
+
if (isMouseOnElement) {
|
|
54
|
+
closestItemIndex = index;
|
|
55
|
+
return true;
|
|
56
|
+
}
|
|
57
|
+
}
|
|
58
|
+
return false;
|
|
59
|
+
});
|
|
60
|
+
if (!closestItem) {
|
|
61
|
+
closestItemIndex = null;
|
|
62
|
+
}
|
|
63
|
+
/** If the closest element is different than the old one, new one is picked. It prevents from performance issues */
|
|
64
|
+
if ((closestItemIndex || closestItemIndex === 0) && closestItemIndex !== this._closestItemIndex) {
|
|
65
|
+
this._closestItemIndex = closestItemIndex;
|
|
66
|
+
this._closestItemPosition = this._elementsCoordinates[closestItemIndex].position;
|
|
67
|
+
// If closest item index is same as dragged item, just remove indicators
|
|
68
|
+
if (closestItemIndex === draggedItemIndex) {
|
|
69
|
+
this._removeAllLines();
|
|
70
|
+
this._removeAllReplaceIndicators();
|
|
71
|
+
return;
|
|
72
|
+
}
|
|
73
|
+
/** Generating line, that shows where the element will be placed, on drop */
|
|
74
|
+
if (this.replaceMode) {
|
|
75
|
+
this._createReplaceIndicator(this._closestItemIndex);
|
|
76
|
+
}
|
|
77
|
+
else {
|
|
78
|
+
this._createLine(this._closestItemIndex, this._closestItemPosition);
|
|
79
|
+
}
|
|
80
|
+
}
|
|
81
|
+
}
|
|
82
|
+
/** Method called, when element is started to be dragged */
|
|
83
|
+
dragStart(index) {
|
|
84
|
+
const draggedItemElement = this._dndItemReference[index].elementRef;
|
|
85
|
+
/** Counting all of the elements's chords */
|
|
86
|
+
this._elementsCoordinates = this._dndItemReference.map((item) => item.getElementCoordinates(this._isBefore(draggedItemElement, item.elementRef), this.gridMode));
|
|
87
|
+
}
|
|
88
|
+
/** Method called, when element is released */
|
|
89
|
+
dragEnd(draggedItemIndex) {
|
|
90
|
+
const items = this.items.slice();
|
|
91
|
+
const replacedItemIndex = this._closestItemIndex;
|
|
92
|
+
const draggedItem = items[draggedItemIndex];
|
|
93
|
+
if (!replacedItemIndex) {
|
|
94
|
+
return;
|
|
95
|
+
}
|
|
96
|
+
if (draggedItemIndex !== replacedItemIndex) {
|
|
97
|
+
if (draggedItemIndex < replacedItemIndex) {
|
|
98
|
+
for (let i = draggedItemIndex; i < replacedItemIndex; i++) {
|
|
99
|
+
items[i] = items[i + 1];
|
|
100
|
+
}
|
|
101
|
+
}
|
|
102
|
+
else {
|
|
103
|
+
for (let i = draggedItemIndex; i > replacedItemIndex; i--) {
|
|
104
|
+
items[i] = items[i - 1];
|
|
105
|
+
}
|
|
106
|
+
}
|
|
107
|
+
/** Replacing items */
|
|
108
|
+
items[replacedItemIndex] = draggedItem;
|
|
109
|
+
this.itemsChange.emit(items);
|
|
110
|
+
}
|
|
111
|
+
this.itemDropped.emit({
|
|
112
|
+
replacedItemIndex,
|
|
113
|
+
draggedItemIndex,
|
|
114
|
+
items
|
|
115
|
+
});
|
|
116
|
+
this._removeAllLines();
|
|
117
|
+
this._removeAllReplaceIndicators();
|
|
118
|
+
/** Reset */
|
|
119
|
+
this._elementsCoordinates = [];
|
|
120
|
+
this._closestItemIndex = null;
|
|
121
|
+
this._closestItemPosition = null;
|
|
122
|
+
}
|
|
123
|
+
/** @hidden */
|
|
124
|
+
_removeAllLines() {
|
|
125
|
+
this.dndItems.forEach((item) => item.removeLine());
|
|
126
|
+
}
|
|
127
|
+
/** @hidden */
|
|
128
|
+
_removeAllReplaceIndicators() {
|
|
129
|
+
this.dndItems.forEach((item) => item.removeReplaceIndicator());
|
|
130
|
+
}
|
|
131
|
+
/** @hidden */
|
|
132
|
+
_createLine(closestItemIndex, linkPosition) {
|
|
133
|
+
this._removeAllLines();
|
|
134
|
+
this._dndItemReference[closestItemIndex].createLine(linkPosition, this.gridMode);
|
|
135
|
+
}
|
|
136
|
+
/** @hidden */
|
|
137
|
+
_createReplaceIndicator(closestItemIndex) {
|
|
138
|
+
this._removeAllReplaceIndicators();
|
|
139
|
+
this._dndItemReference[closestItemIndex].createReplaceIndicator();
|
|
140
|
+
}
|
|
141
|
+
/** @hidden */
|
|
142
|
+
_refreshQueryList() {
|
|
143
|
+
const refresh$ = merge(this._refresh$, this._onDestroy$);
|
|
144
|
+
this._refresh$.next();
|
|
145
|
+
this._dndItemReference = this.dndItems.toArray();
|
|
146
|
+
this._changeDraggableState(this._draggable);
|
|
147
|
+
this.dndItems.forEach((item, index) => {
|
|
148
|
+
item.moved.pipe(takeUntil(refresh$)).subscribe((position) => this.onMove(position, index));
|
|
149
|
+
item.started.pipe(takeUntil(refresh$)).subscribe(() => this.dragStart(index));
|
|
150
|
+
item.released.pipe(takeUntil(refresh$)).subscribe(() => this.dragEnd(index));
|
|
151
|
+
});
|
|
152
|
+
}
|
|
153
|
+
/**
|
|
154
|
+
* @hidden
|
|
155
|
+
* Return information if element is placed before the dragged element
|
|
156
|
+
*/
|
|
157
|
+
_isBefore(draggedElement, targetElement) {
|
|
158
|
+
/** Sometimes the element are not straight in one column, that's why offset is needed */
|
|
159
|
+
const VERTICAL_OFFSET = 20;
|
|
160
|
+
/** Distances from the top of screen */
|
|
161
|
+
const draggedElementBound = draggedElement.nativeElement.getBoundingClientRect();
|
|
162
|
+
const targetElementBound = targetElement.nativeElement.getBoundingClientRect();
|
|
163
|
+
if (draggedElementBound.top - targetElementBound.top > VERTICAL_OFFSET) {
|
|
164
|
+
/** If element is higher than the dragged element, it's for sure before */
|
|
165
|
+
return true;
|
|
166
|
+
}
|
|
167
|
+
else if (targetElementBound.top - draggedElementBound.top > VERTICAL_OFFSET) {
|
|
168
|
+
/** If element is lower than the dragged element, it's for sure after */
|
|
169
|
+
return false;
|
|
170
|
+
}
|
|
171
|
+
else {
|
|
172
|
+
/** If elements are in same level, the horizontal position decides if it's before/after */
|
|
173
|
+
return draggedElementBound.left - targetElementBound.left > 0;
|
|
174
|
+
}
|
|
175
|
+
}
|
|
176
|
+
/** @hidden */
|
|
177
|
+
_changeDraggableState(draggable) {
|
|
178
|
+
if (this.dndItems) {
|
|
179
|
+
this.dndItems.forEach((item) => {
|
|
180
|
+
item.listDraggable = draggable;
|
|
181
|
+
item.changeCDKDragState();
|
|
182
|
+
});
|
|
183
|
+
}
|
|
184
|
+
}
|
|
185
|
+
}
|
|
186
|
+
DndListDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.0.2", ngImport: i0, type: DndListDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });
|
|
187
|
+
DndListDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.0.2", type: DndListDirective, selector: "[fdkDndList], [fd-dnd-list]", inputs: { gridMode: "gridMode", replaceMode: "replaceMode", items: "items", draggable: "draggable" }, outputs: { itemsChange: "itemsChange", itemDropped: "itemDropped" }, providers: [{ provide: DND_LIST, useExisting: forwardRef(() => DndListDirective) }], queries: [{ propertyName: "dndItems", predicate: DND_ITEM }], ngImport: i0 });
|
|
188
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.2", ngImport: i0, type: DndListDirective, decorators: [{
|
|
189
|
+
type: Directive,
|
|
190
|
+
args: [{
|
|
191
|
+
selector: '[fdkDndList], [fd-dnd-list]',
|
|
192
|
+
providers: [{ provide: DND_LIST, useExisting: forwardRef(() => DndListDirective) }]
|
|
193
|
+
}]
|
|
194
|
+
}], propDecorators: { gridMode: [{
|
|
195
|
+
type: Input
|
|
196
|
+
}], replaceMode: [{
|
|
197
|
+
type: Input
|
|
198
|
+
}], items: [{
|
|
199
|
+
type: Input
|
|
200
|
+
}], draggable: [{
|
|
201
|
+
type: Input
|
|
202
|
+
}], itemsChange: [{
|
|
203
|
+
type: Output
|
|
204
|
+
}], itemDropped: [{
|
|
205
|
+
type: Output
|
|
206
|
+
}], dndItems: [{
|
|
207
|
+
type: ContentChildren,
|
|
208
|
+
args: [DND_ITEM]
|
|
209
|
+
}] } });
|
|
210
|
+
function _isMouseOnElement(element, mousePosition) {
|
|
211
|
+
const startX = element.x;
|
|
212
|
+
const endX = element.x + element.width;
|
|
213
|
+
const startY = element.y;
|
|
214
|
+
const endY = element.y + element.height;
|
|
215
|
+
return _between(mousePosition.x, startX, endX) && _between(mousePosition.y, startY, endY);
|
|
216
|
+
}
|
|
217
|
+
function _between(x, min, max) {
|
|
218
|
+
return x >= min && x <= max;
|
|
219
|
+
}
|
|
220
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZG5kLWxpc3QuZGlyZWN0aXZlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jZGsvc3JjL2xpYi91dGlscy9kcmFnLWFuZC1kcm9wL2RuZC1saXN0L2RuZC1saXN0LmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBRUgsZUFBZSxFQUNmLFNBQVMsRUFFVCxZQUFZLEVBQ1osVUFBVSxFQUNWLEtBQUssRUFFTCxNQUFNLEVBQ04sU0FBUyxFQUNaLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSxLQUFLLEVBQUUsT0FBTyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQ3RDLE9BQU8sRUFBRSxTQUFTLEVBQUUsU0FBUyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFFdEQsT0FBTyxFQUFFLFFBQVEsRUFBRSxRQUFRLEVBQUUsTUFBTSxXQUFXLENBQUM7O0FBTS9DLE1BQU0sT0FBTyxnQkFBZ0I7SUFKN0I7UUFLSTs7O1dBR0c7UUFFSCxhQUFRLEdBQUcsS0FBSyxDQUFDO1FBRWpCLDZIQUE2SDtRQUU3SCxnQkFBVyxHQUFHLEtBQUssQ0FBQztRQWFwQixxREFBcUQ7UUFFNUMsZ0JBQVcsR0FBRyxJQUFJLFlBQVksRUFBWSxDQUFDO1FBRXBELHFEQUFxRDtRQUU1QyxnQkFBVyxHQUFHLElBQUksWUFBWSxFQUFrQixDQUFDO1FBUzFELGNBQWM7UUFDTixzQkFBaUIsR0FBa0IsSUFBSSxDQUFDO1FBRWhELGNBQWM7UUFDTix5QkFBb0IsR0FBOEIsSUFBSSxDQUFDO1FBRS9ELGtGQUFrRjtRQUNqRSxjQUFTLEdBQUcsSUFBSSxPQUFPLEVBQVEsQ0FBQztRQUVqRCxjQUFjO1FBQ0csZ0JBQVcsR0FBRyxJQUFJLE9BQU8sRUFBUSxDQUFDO1FBS25ELGNBQWM7UUFDTixlQUFVLEdBQUcsSUFBSSxDQUFDO0tBaUw3QjtJQXZORyx3RUFBd0U7SUFDeEUsSUFDSSxTQUFTLENBQUMs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LGlCQUFpQixDQUFDLE9BQXFCLEVBQUUsYUFBOEI7SUFDNUUsTUFBTSxNQUFNLEdBQUcsT0FBTyxDQUFDLENBQUMsQ0FBQztJQUN6QixNQUFNLElBQUksR0FBRyxPQUFPLENBQUMsQ0FBQyxHQUFHLE9BQU8sQ0FBQyxLQUFLLENBQUM7SUFFdkMsTUFBTSxNQUFNLEdBQUcsT0FBTyxDQUFDLENBQUMsQ0FBQztJQUN6QixNQUFNLElBQUksR0FBRyxPQUFPLENBQUMsQ0FBQyxHQUFHLE9BQU8sQ0FBQyxNQUFNLENBQUM7SUFFeEMsT0FBTyxRQUFRLENBQUMsYUFBYSxDQUFDLENBQUMsRUFBRSxNQUFNLEVBQUUsSUFBSSxDQUFDLElBQUksUUFBUSxDQUFDLGFBQWEsQ0FBQyxDQUFDLEVBQUUsTUFBTSxFQUFFLElBQUksQ0FBQyxDQUFDO0FBQzlGLENBQUM7QUFFRCxTQUFTLFFBQVEsQ0FBQyxDQUFTLEVBQUUsR0FBVyxFQUFFLEdBQVc7SUFDakQsT0FBTyxDQUFDLElBQUksR0FBRyxJQUFJLENBQUMsSUFBSSxHQUFHLENBQUM7QUFDaEMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gICAgQWZ0ZXJDb250ZW50SW5pdCxcbiAgICBDb250ZW50Q2hpbGRyZW4sXG4gICAgRGlyZWN0aXZlLFxuICAgIEVsZW1lbnRSZWYsXG4gICAgRXZlbnRFbWl0dGVyLFxuICAgIGZvcndhcmRSZWYsXG4gICAgSW5wdXQsXG4gICAgT25EZXN0cm95LFxuICAgIE91dHB1dCxcbiAgICBRdWVyeUxpc3Rcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBtZXJnZSwgU3ViamVjdCB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgc3RhcnRXaXRoLCB0YWtlVW50aWwgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5pbXBvcnQgeyBFbGVtZW50Q2hvcmQsIEZkRHJvcEV2ZW50LCBMaW5rUG9zaXRpb24sIEVsZW1lbnRQb3NpdGlvbiwgRG5kSXRlbSB9IGZyb20gJy4uL2RuZC5pbnRlcmZhY2VzJztcbmltcG9ydCB7IERORF9JVEVNLCBETkRfTElTVCB9IGZyb20gJy4uL3Rva2Vucyc7XG5cbkBEaXJlY3RpdmUoe1xuICAgIHNlbGVjdG9yOiAnW2Zka0RuZExpc3RdLCBbZmQtZG5kLWxpc3RdJyxcbiAgICBwcm92aWRlcnM6IFt7IHByb3ZpZGU6IERORF9MSVNULCB1c2VFeGlzdGluZzogZm9yd2FyZFJlZigoKSA9PiBEbmRMaXN0RGlyZWN0aXZlKSB9XVxufSlcbmV4cG9ydCBjbGFzcyBEbmRMaXN0RGlyZWN0aXZlPFQ+IGltcGxlbWVudHMgQWZ0ZXJDb250ZW50SW5pdCwgT25EZXN0cm95IHtcbiAgICAvKipcbiAgICAgKiBEZWZpbmVzIGlmIHRoZSB0aGUgZWxlbWVudCBpcyBhbGxvd2VkIHRvIGJlIGRyYWdnZWQgaW4gMiBkaW1lbnNpb25zLFxuICAgICAqIFdoZW4gdHJ1ZSAtIHJlcGxhY2UgaW5kaWNhdG9yIHdpbGwgYmUgZGlzcGxheWVkIHZlcnRpY2FsbHlcbiAgICAgKi9cbiAgICBASW5wdXQoKVxuICAgIGdyaWRNb2RlID0gZmFsc2U7XG5cbiAgICAvKiogV2hlbiBlbmFibGVkLCByZXBsYWNlIGluZGljYXRvciB3aWxsIGFwcGVhciBvbiB3aG9sZSBlbGVtZW50LCBpbnN0ZWFkIG9mIGhvcml6b250YWwvdmVydGljYWwgbGluZSBiZWZvcmUvYWZ0ZXIgZWxlbWVudCAqL1xuICAgIEBJbnB1dCgpXG4gICAgcmVwbGFjZU1vZGUgPSBmYWxzZTtcblxuICAgIC8qKiBBcnJheSBvZiBpdGVtcywgdGhhdCB3aWxsIGJlIHNvcnRlZCAqL1xuICAgIEBJbnB1dCgpXG4gICAgaXRlbXM6IEFycmF5PFQ+O1xuXG4gICAgLyoqIERlZmluZXMgaWYgZHJhZyBhbmQgZHJvcCBmZWF0dXJlIHNob3VsZCBiZSBlbmFibGVkIGZvciBsaXN0IGl0ZW1zICovXG4gICAgQElucHV0KClcbiAgICBzZXQgZHJhZ2dhYmxlKGRyYWdnYWJsZTogYm9vbGVhbikge1xuICAgICAgICB0aGlzLl9kcmFnZ2FibGUgPSBkcmFnZ2FibGU7XG4gICAgICAgIHRoaXMuX2NoYW5nZURyYWdnYWJsZVN0YXRlKGRyYWdnYWJsZSk7XG4gICAgfVxuXG4gICAgLyoqIEV2ZW50IHRoYXQgaXMgdGhyb3duLCB3aGVuIGl0ZW1zIGFyZSByZW9yZGVyZWQgKi9cbiAgICBAT3V0cHV0KClcbiAgICByZWFkb25seSBpdGVtc0NoYW5nZSA9IG5ldyBFdmVudEVtaXR0ZXI8QXJyYXk8VD4+KCk7XG5cbiAgICAvKiogRXZlbnQgdGhhdCBpcyB0aHJvd24sIHdoZW4gdGhlIGl0ZW0gaXMgZHJvcHBlZCAqL1xuICAgIEBPdXRwdXQoKVxuICAgIHJlYWRvbmx5IGl0ZW1Ecm9wcGVkID0gbmV3IEV2ZW50RW1pdHRlcjxGZERyb3BFdmVudDxUPj4oKTtcblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgQENvbnRlbnRDaGlsZHJlbihETkRfSVRFTSlcbiAgICBkbmRJdGVtczogUXVlcnlMaXN0PERuZEl0ZW0+O1xuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBwcml2YXRlIF9lbGVtZW50c0Nvb3JkaW5hdGVzOiBFbGVtZW50Q2hvcmRbXTtcblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgcHJpdmF0ZSBfY2xvc2VzdEl0ZW1JbmRleDogbnVtYmVyIHwgbnVsbCA9IG51bGw7XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIHByaXZhdGUgX2Nsb3Nlc3RJdGVtUG9zaXRpb246ICdiZWZvcmUnIHwgJ2FmdGVyJyB8IG51bGwgPSBudWxsO1xuXG4gICAgLyoqIEFuIFJ4SlMgU3ViamVjdCB0aGF0IHdpbGwga2lsbCB0aGUgY3VycmVudCBkYXRhIHN0cmVhbSAoZm9yIHVuc3Vic2NyaWJpbmcpICAqL1xuICAgIHByaXZhdGUgcmVhZG9ubHkgX3JlZnJlc2gkID0gbmV3IFN1YmplY3Q8dm9pZD4oKTtcblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgcHJpdmF0ZSByZWFkb25seSBfb25EZXN0cm95JCA9IG5ldyBTdWJqZWN0PHZvaWQ+KCk7XG5cbiAgICAvKiogQGhpZGRlbiAgKi9cbiAgICBwcml2YXRlIF9kbmRJdGVtUmVmZXJlbmNlOiBEbmRJdGVtW107XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIHByaXZhdGUgX2RyYWdnYWJsZSA9IHRydWU7XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIG5nQWZ0ZXJDb250ZW50SW5pdCgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5fY2hhbmdlRHJhZ2dhYmxlU3RhdGUodGhpcy5fZHJhZ2dhYmxlKTtcbiAgICAgICAgdGhpcy5kbmRJdGVtcy5jaGFuZ2VzLnBpcGUodGFrZVVudGlsKHRoaXMuX29uRGVzdHJveSQpLCBzdGFydFdpdGgoMCkpLnN1YnNjcmliZSgoKSA9PiB0aGlzLl9yZWZyZXNoUXVlcnlMaXN0KCkpO1xuICAgIH1cblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgICAgIHRoaXMuX29uRGVzdHJveSQubmV4dCgpO1xuICAgICAgICB0aGlzLl9vbkRlc3Ryb3kkLmNvbXBsZXRlKCk7XG4gICAgfVxuXG4gICAgLyoqIE1ldGhvZCBjYWxsZWQsIHdoZW4gdGhlIGl0ZW0gaXMgYmVpbmcgbW92ZWQgYnkgMSBweCAqL1xuICAgIG9uTW92ZShtb3VzZVBvc2l0aW9uOiBFbGVtZW50UG9zaXRpb24sIGRyYWdnZWRJdGVtSW5kZXg6IG51bWJlcik6IHZvaWQge1xuICAgICAgICAvKiogVGVtcG9yYXJ5IG9iamVjdCwgdG8gc3RvcmUgbG93ZXN0IGRpc3RhbmNlIHZhbHVlcyAqL1xuICAgICAgICBsZXQgY2xvc2VzdEl0ZW1JbmRleDogbnVtYmVyIHwgbnVsbCA9IG51bGw7XG5cbiAgICAgICAgY29uc3QgY2xvc2VzdEl0ZW0gPSB0aGlzLl9lbGVtZW50c0Nvb3JkaW5hdGVzLmZpbmQoKGVsZW1lbnQsIGluZGV4KSA9PiB7XG4gICAgICAgICAgICAvKiogQ2hlY2sgaWYgZWxlbWVudCBjYW4gYmUgcmVwbGFjZWQgKi9cbiAgICAgICAgICAgIGlmICghZWxlbWVudC5zdGlja1RvUG9zaXRpb24gJiYgY2xvc2VzdEl0ZW1JbmRleCAhPT0gaW5kZXgpIHtcbiAgICAgICAgICAgICAgICBjb25zdCBpc01vdXNlT25FbGVtZW50ID0gX2lzTW91c2VPbkVsZW1lbnQoZWxlbWVudCwgbW91c2VQb3NpdGlvbik7XG4gICAgICAgICAgICAgICAgaWYgKGlzTW91c2VPbkVsZW1lbnQpIHtcbiAgICAgICAgICAgICAgICAgICAgY2xvc2VzdEl0ZW1JbmRleCA9IGluZGV4O1xuXG4gICAgICAgICAgICAgICAgICAgIHJldHVybiB0cnVlO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHJldHVybiBmYWxzZTtcbiAgICAgICAgfSk7XG5cbiAgICAgICAgaWYgKCFjbG9zZXN0SXRlbSkge1xuICAgICAgICAgICAgY2xvc2VzdEl0ZW1JbmRleCA9IG51bGw7XG4gICAgICAgIH1cblxuICAgICAgICAvKiogSWYgdGhlIGNsb3Nlc3QgZWxlbWVudCBpcyBkaWZmZXJlbnQgdGhhbiB0aGUgb2xkIG9uZSwgbmV3IG9uZSBpcyBwaWNrZWQuIEl0IHByZXZlbnRzIGZyb20gcGVyZm9ybWFuY2UgaXNzdWVzICovXG4gICAgICAgIGlmICgoY2xvc2VzdEl0ZW1JbmRleCB8fCBjbG9zZXN0SXRlbUluZGV4ID09PSAwKSAmJiBjbG9zZXN0SXRlbUluZGV4ICE9PSB0aGlzLl9jbG9zZXN0SXRlbUluZGV4KSB7XG4gICAgICAgICAgICB0aGlzLl9jbG9zZXN0SXRlbUluZGV4ID0gY2xvc2VzdEl0ZW1JbmRleDtcbiAgICAgICAgICAgIHRoaXMuX2Nsb3Nlc3RJdGVtUG9zaXRpb24gPSB0aGlzLl9lbGVtZW50c0Nvb3JkaW5hdGVzW2Nsb3Nlc3RJdGVtSW5kZXhdLnBvc2l0aW9uO1xuICAgICAgICAgICAgLy8gSWYgY2xvc2VzdCBpdGVtIGluZGV4IGlzIHNhbWUgYXMgZHJhZ2dlZCBpdGVtLCBqdXN0IHJlbW92ZSBpbmRpY2F0b3JzXG4gICAgICAgICAgICBpZiAoY2xvc2VzdEl0ZW1JbmRleCA9PT0gZHJhZ2dlZEl0ZW1JbmRleCkge1xuICAgICAgICAgICAgICAgIHRoaXMuX3JlbW92ZUFsbExpbmVzKCk7XG4gICAgICAgICAgICAgICAgdGhpcy5fcmVtb3ZlQWxsUmVwbGFjZUluZGljYXRvcnMoKTtcbiAgICAgICAgICAgICAgICByZXR1cm47XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAvKiogR2VuZXJhdGluZyBsaW5lLCB0aGF0IHNob3dzIHdoZXJlIHRoZSBlbGVtZW50IHdpbGwgYmUgcGxhY2VkLCBvbiBkcm9wICovXG4gICAgICAgICAgICBpZiAodGhpcy5yZXBsYWNlTW9kZSkge1xuICAgICAgICAgICAgICAgIHRoaXMuX2NyZWF0ZVJlcGxhY2VJbmRpY2F0b3IodGhpcy5fY2xvc2VzdEl0ZW1JbmRleCk7XG4gICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgIHRoaXMuX2NyZWF0ZUxpbmUodGhpcy5fY2xvc2VzdEl0ZW1JbmRleCwgdGhpcy5fY2xvc2VzdEl0ZW1Qb3NpdGlvbik7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvKiogTWV0aG9kIGNhbGxlZCwgd2hlbiBlbGVtZW50IGlzIHN0YXJ0ZWQgdG8gYmUgZHJhZ2dlZCAqL1xuICAgIGRyYWdTdGFydChpbmRleDogbnVtYmVyKTogdm9pZCB7XG4gICAgICAgIGNvbnN0IGRyYWdnZWRJdGVtRWxlbWVudCA9IHRoaXMuX2RuZEl0ZW1SZWZlcmVuY2VbaW5kZXhdLmVsZW1lbnRSZWY7XG4gICAgICAgIC8qKiBDb3VudGluZyBhbGwgb2YgdGhlIGVsZW1lbnRzJ3MgY2hvcmRzICovXG4gICAgICAgIHRoaXMuX2VsZW1lbnRzQ29vcmRpbmF0ZXMgPSB0aGlzLl9kbmRJdGVtUmVmZXJlbmNlLm1hcCgoaXRlbTogRG5kSXRlbSkgPT5cbiAgICAgICAgICAgIGl0ZW0uZ2V0RWxlbWVudENvb3JkaW5hdGVzKHRoaXMuX2lzQmVmb3JlKGRyYWdnZWRJdGVtRWxlbWVudCwgaXRlbS5lbGVtZW50UmVmKSwgdGhpcy5ncmlkTW9kZSlcbiAgICAgICAgKTtcbiAgICB9XG5cbiAgICAvKiogTWV0aG9kIGNhbGxlZCwgd2hlbiBlbGVtZW50IGlzIHJlbGVhc2VkICovXG4gICAgZHJhZ0VuZChkcmFnZ2VkSXRlbUluZGV4OiBudW1iZXIpOiB2b2lkIHtcbiAgICAgICAgY29uc3QgaXRlbXMgPSB0aGlzLml0ZW1zLnNsaWNlKCk7XG4gICAgICAgIGNvbnN0IHJlcGxhY2VkSXRlbUluZGV4ID0gdGhpcy5fY2xvc2VzdEl0ZW1JbmRleDtcbiAgICAgICAgY29uc3QgZHJhZ2dlZEl0ZW0gPSBpdGVtc1tkcmFnZ2VkSXRlbUluZGV4XTtcblxuICAgICAgICBpZiAoIXJlcGxhY2VkSXRlbUluZGV4KSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cblxuICAgICAgICBpZiAoZHJhZ2dlZEl0ZW1JbmRleCAhPT0gcmVwbGFjZWRJdGVtSW5kZXgpIHtcbiAgICAgICAgICAgIGlmIChkcmFnZ2VkSXRlbUluZGV4IDwgcmVwbGFjZWRJdGVtSW5kZXgpIHtcbiAgICAgICAgICAgICAgICBmb3IgKGxldCBpID0gZHJhZ2dlZEl0ZW1JbmRleDsgaSA8IHJlcGxhY2VkSXRlbUluZGV4OyBpKyspIHtcbiAgICAgICAgICAgICAgICAgICAgaXRlbXNbaV0gPSBpdGVtc1tpICsgMV07XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICBmb3IgKGxldCBpID0gZHJhZ2dlZEl0ZW1JbmRleDsgaSA+IHJlcGxhY2VkSXRlbUluZGV4OyBpLS0pIHtcbiAgICAgICAgICAgICAgICAgICAgaXRlbXNbaV0gPSBpdGVtc1tpIC0gMV07XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAvKiogUmVwbGFjaW5nIGl0ZW1zICovXG4gICAgICAgICAgICBpdGVtc1tyZXBsYWNlZEl0ZW1JbmRleF0gPSBkcmFnZ2VkSXRlbTtcblxuICAgICAgICAgICAgdGhpcy5pdGVtc0NoYW5nZS5lbWl0KGl0ZW1zKTtcbiAgICAgICAgfVxuXG4gICAgICAgIHRoaXMuaXRlbURyb3BwZWQuZW1pdCh7XG4gICAgICAgICAgICByZXBsYWNlZEl0ZW1JbmRleCxcbiAgICAgICAgICAgIGRyYWdnZWRJdGVtSW5kZXgsXG4gICAgICAgICAgICBpdGVtc1xuICAgICAgICB9KTtcblxuICAgICAgICB0aGlzLl9yZW1vdmVBbGxMaW5lcygpO1xuICAgICAgICB0aGlzLl9yZW1vdmVBbGxSZXBsYWNlSW5kaWNhdG9ycygpO1xuXG4gICAgICAgIC8qKiBSZXNldCAqL1xuICAgICAgICB0aGlzLl9lbGVtZW50c0Nvb3JkaW5hdGVzID0gW107XG4gICAgICAgIHRoaXMuX2Nsb3Nlc3RJdGVtSW5kZXggPSBudWxsO1xuICAgICAgICB0aGlzLl9jbG9zZXN0SXRlbVBvc2l0aW9uID0gbnVsbDtcbiAgICB9XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIHByaXZhdGUgX3JlbW92ZUFsbExpbmVzKCk6IHZvaWQge1xuICAgICAgICB0aGlzLmRuZEl0ZW1zLmZvckVhY2goKGl0ZW0pID0+IGl0ZW0ucmVtb3ZlTGluZSgpKTtcbiAgICB9XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIHByaXZhdGUgX3JlbW92ZUFsbFJlcGxhY2VJbmRpY2F0b3JzKCk6IHZvaWQge1xuICAgICAgICB0aGlzLmRuZEl0ZW1zLmZvckVhY2goKGl0ZW0pID0+IGl0ZW0ucmVtb3ZlUmVwbGFjZUluZGljYXRvcigpKTtcbiAgICB9XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIHByaXZhdGUgX2NyZWF0ZUxpbmUoY2xvc2VzdEl0ZW1JbmRleDogbnVtYmVyLCBsaW5rUG9zaXRpb246IExpbmtQb3NpdGlvbik6IHZvaWQge1xuICAgICAgICB0aGlzLl9yZW1vdmVBbGxMaW5lcygpO1xuICAgICAgICB0aGlzLl9kbmRJdGVtUmVmZXJlbmNlW2Nsb3Nlc3RJdGVtSW5kZXhdLmNyZWF0ZUxpbmUobGlua1Bvc2l0aW9uLCB0aGlzLmdyaWRNb2RlKTtcbiAgICB9XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIHByaXZhdGUgX2NyZWF0ZVJlcGxhY2VJbmRpY2F0b3IoY2xvc2VzdEl0ZW1JbmRleDogbnVtYmVyKTogdm9pZCB7XG4gICAgICAgIHRoaXMuX3JlbW92ZUFsbFJlcGxhY2VJbmRpY2F0b3JzKCk7XG4gICAgICAgIHRoaXMuX2RuZEl0ZW1SZWZlcmVuY2VbY2xvc2VzdEl0ZW1JbmRleF0uY3JlYXRlUmVwbGFjZUluZGljYXRvcigpO1xuICAgIH1cblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgcHJpdmF0ZSBfcmVmcmVzaFF1ZXJ5TGlzdCgpOiB2b2lkIHtcbiAgICAgICAgY29uc3QgcmVmcmVzaCQgPSBtZXJnZSh0aGlzLl9yZWZyZXNoJCwgdGhpcy5fb25EZXN0cm95JCk7XG4gICAgICAgIHRoaXMuX3JlZnJlc2gkLm5leHQoKTtcblxuICAgICAgICB0aGlzLl9kbmRJdGVtUmVmZXJlbmNlID0gdGhpcy5kbmRJdGVtcy50b0FycmF5KCk7XG5cbiAgICAgICAgdGhpcy5fY2hhbmdlRHJhZ2dhYmxlU3RhdGUodGhpcy5fZHJhZ2dhYmxlKTtcblxuICAgICAgICB0aGlzLmRuZEl0ZW1zLmZvckVhY2goKGl0ZW0sIGluZGV4KSA9PiB7XG4gICAgICAgICAgICBpdGVtLm1vdmVkLnBpcGUodGFrZVVudGlsKHJlZnJlc2gkKSkuc3Vic2NyaWJlKChwb3NpdGlvbjogRWxlbWVudFBvc2l0aW9uKSA9PiB0aGlzLm9uTW92ZShwb3NpdGlvbiwgaW5kZXgpKTtcbiAgICAgICAgICAgIGl0ZW0uc3RhcnRlZC5waXBlKHRha2VVbnRpbChyZWZyZXNoJCkpLnN1YnNjcmliZSgoKSA9PiB0aGlzLmRyYWdTdGFydChpbmRleCkpO1xuICAgICAgICAgICAgaXRlbS5yZWxlYXNlZC5waXBlKHRha2VVbnRpbChyZWZyZXNoJCkpLnN1YnNjcmliZSgoKSA9PiB0aGlzLmRyYWdFbmQoaW5kZXgpKTtcbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogIEBoaWRkZW5cbiAgICAgKiBSZXR1cm4gaW5mb3JtYXRpb24gaWYgZWxlbWVudCBpcyBwbGFjZWQgYmVmb3JlIHRoZSBkcmFnZ2VkIGVsZW1lbnRcbiAgICAgKi9cbiAgICBwcml2YXRlIF9pc0JlZm9yZShkcmFnZ2VkRWxlbWVudDogRWxlbWVudFJlZiwgdGFyZ2V0RWxlbWVudDogRWxlbWVudFJlZik6IGJvb2xlYW4ge1xuICAgICAgICAvKiogU29tZXRpbWVzIHRoZSBlbGVtZW50IGFyZSBub3Qgc3RyYWlnaHQgaW4gb25lIGNvbHVtbiwgdGhhdCdzIHdoeSBvZmZzZXQgaXMgbmVlZGVkICovXG4gICAgICAgIGNvbnN0IFZFUlRJQ0FMX09GRlNFVCA9IDIwO1xuXG4gICAgICAgIC8qKiBEaXN0YW5jZXMgZnJvbSB0aGUgdG9wIG9mIHNjcmVlbiAqL1xuICAgICAgICBjb25zdCBkcmFnZ2VkRWxlbWVudEJvdW5kID0gPERPTVJlY3Q+ZHJhZ2dlZEVsZW1lbnQubmF0aXZlRWxlbWVudC5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKTtcbiAgICAgICAgY29uc3QgdGFyZ2V0RWxlbWVudEJvdW5kID0gPERPTVJlY3Q+dGFyZ2V0RWxlbWVudC5uYXRpdmVFbGVtZW50LmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpO1xuXG4gICAgICAgIGlmIChkcmFnZ2VkRWxlbWVudEJvdW5kLnRvcCAtIHRhcmdldEVsZW1lbnRCb3VuZC50b3AgPiBWRVJUSUNBTF9PRkZTRVQpIHtcbiAgICAgICAgICAgIC8qKiBJZiBlbGVtZW50IGlzIGhpZ2hlciB0aGFuIHRoZSBkcmFnZ2VkIGVsZW1lbnQsIGl0J3MgZm9yIHN1cmUgYmVmb3JlICovXG4gICAgICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICAgICAgfSBlbHNlIGlmICh0YXJnZXRFbGVtZW50Qm91bmQudG9wIC0gZHJhZ2dlZEVsZW1lbnRCb3VuZC50b3AgPiBWRVJUSUNBTF9PRkZTRVQpIHtcbiAgICAgICAgICAgIC8qKiBJZiBlbGVtZW50IGlzIGxvd2VyIHRoYW4gdGhlIGRyYWdnZWQgZWxlbWVudCwgaXQncyBmb3Igc3VyZSBhZnRlciAqL1xuICAgICAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgLyoqIElmIGVsZW1lbnRzIGFyZSBpbiBzYW1lIGxldmVsLCB0aGUgaG9yaXpvbnRhbCBwb3NpdGlvbiBkZWNpZGVzIGlmIGl0J3MgYmVmb3JlL2FmdGVyICovXG4gICAgICAgICAgICByZXR1cm4gZHJhZ2dlZEVsZW1lbnRCb3VuZC5sZWZ0IC0gdGFyZ2V0RWxlbWVudEJvdW5kLmxlZnQgPiAwO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBwcml2YXRlIF9jaGFuZ2VEcmFnZ2FibGVTdGF0ZShkcmFnZ2FibGU6IGJvb2xlYW4pOiB2b2lkIHtcbiAgICAgICAgaWYgKHRoaXMuZG5kSXRlbXMpIHtcbiAgICAgICAgICAgIHRoaXMuZG5kSXRlbXMuZm9yRWFjaCgoaXRlbSkgPT4ge1xuICAgICAgICAgICAgICAgIGl0ZW0ubGlzdERyYWdnYWJsZSA9IGRyYWdnYWJsZTtcbiAgICAgICAgICAgICAgICBpdGVtLmNoYW5nZUNES0RyYWdTdGF0ZSgpO1xuICAgICAgICAgICAgfSk7XG4gICAgICAgIH1cbiAgICB9XG59XG5cbmZ1bmN0aW9uIF9pc01vdXNlT25FbGVtZW50KGVsZW1lbnQ6IEVsZW1lbnRDaG9yZCwgbW91c2VQb3NpdGlvbjogRWxlbWVudFBvc2l0aW9uKTogYm9vbGVhbiB7XG4gICAgY29uc3Qgc3RhcnRYID0gZWxlbWVudC54O1xuICAgIGNvbnN0IGVuZFggPSBlbGVtZW50LnggKyBlbGVtZW50LndpZHRoO1xuXG4gICAgY29uc3Qgc3RhcnRZID0gZWxlbWVudC55O1xuICAgIGNvbnN0IGVuZFkgPSBlbGVtZW50LnkgKyBlbGVtZW50LmhlaWdodDtcblxuICAgIHJldHVybiBfYmV0d2Vlbihtb3VzZVBvc2l0aW9uLngsIHN0YXJ0WCwgZW5kWCkgJiYgX2JldHdlZW4obW91c2VQb3NpdGlvbi55LCBzdGFydFksIGVuZFkpO1xufVxuXG5mdW5jdGlvbiBfYmV0d2Vlbih4OiBudW1iZXIsIG1pbjogbnVtYmVyLCBtYXg6IG51bWJlcik6IGJvb2xlYW4ge1xuICAgIHJldHVybiB4ID49IG1pbiAmJiB4IDw9IG1heDtcbn1cbiJdfQ==
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
export {};
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZG5kLmludGVyZmFjZXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL2Nkay9zcmMvbGliL3V0aWxzL2RyYWctYW5kLWRyb3AvZG5kLmludGVyZmFjZXMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEVsZW1lbnRSZWYgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IE9ic2VydmFibGUgfSBmcm9tICdyeGpzJztcblxuZXhwb3J0IHR5cGUgTGlua1Bvc2l0aW9uID0gJ2FmdGVyJyB8ICdiZWZvcmUnO1xuXG5leHBvcnQgaW50ZXJmYWNlIEVsZW1lbnRDaG9yZCB7XG4gICAgeDogbnVtYmVyO1xuICAgIHk6IG51bWJlcjtcbiAgICBwb3NpdGlvbjogTGlua1Bvc2l0aW9uO1xuICAgIHN0aWNrVG9Qb3NpdGlvbj86IGJvb2xlYW47XG4gICAgd2lkdGg6IG51bWJlcjtcbiAgICBoZWlnaHQ6IG51bWJlcjtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBGZERyb3BFdmVudDxUPiB7XG4gICAgaXRlbXM6IEFycmF5PFQ+O1xuICAgIHJlcGxhY2VkSXRlbUluZGV4OiBudW1iZXI7XG4gICAgZHJhZ2dlZEl0ZW1JbmRleDogbnVtYmVyO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIEVsZW1lbnRQb3NpdGlvbiB7XG4gICAgeDogbnVtYmVyO1xuICAgIHk6IG51bWJlcjtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBEbmRJdGVtIHtcbiAgICBlbGVtZW50UmVmOiBFbGVtZW50UmVmO1xuICAgIGdldEVsZW1lbnRDb29yZGluYXRlczogKGlzQmVmb3JlOiBib29sZWFuLCBncmlkTW9kZTogYm9vbGVhbikgPT4gRWxlbWVudENob3JkO1xuICAgIHJlbW92ZUxpbmU6ICgpID0+IHZvaWQ7XG4gICAgcmVtb3ZlUmVwbGFjZUluZGljYXRvcjogKCkgPT4gdm9pZDtcbiAgICBjcmVhdGVMaW5lOiAobGlua1Bvc2l0aW9uOiBMaW5rUG9zaXRpb24sIGdyaWRNb2RlOiBib29sZWFuKSA9PiB2b2lkO1xuICAgIGNyZWF0ZVJlcGxhY2VJbmRpY2F0b3I6ICgpID0+IHZvaWQ7XG4gICAgbW92ZWQ6IE9ic2VydmFibGU8RWxlbWVudFBvc2l0aW9uPjtcbiAgICByZWxlYXNlZDogT2JzZXJ2YWJsZTx2b2lkPjtcbiAgICBzdGFydGVkOiBPYnNlcnZhYmxlPHZvaWQ+O1xuICAgIGxpc3REcmFnZ2FibGU6IGJvb2xlYW47XG4gICAgY2hhbmdlQ0RLRHJhZ1N0YXRlOiAoKSA9PiB2b2lkO1xufVxuIl19
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import { NgModule } from '@angular/core';
|
|
2
|
+
import { CommonModule } from '@angular/common';
|
|
3
|
+
import { DndListDirective } from './dnd-list/dnd-list.directive';
|
|
4
|
+
import { DndItemDirective } from './dnd-item/dnd-item.directive';
|
|
5
|
+
import { DragDropModule } from '@angular/cdk/drag-drop';
|
|
6
|
+
import { DndKeyboardItemDirective } from './dnd-keyboard-item/dnd-keyboard-item.directive';
|
|
7
|
+
import { DndKeyboardGroupDirective } from './dnd-keyboard-group/dnd-keyboard-group.directive';
|
|
8
|
+
import * as i0 from "@angular/core";
|
|
9
|
+
export class DragAndDropModule {
|
|
10
|
+
}
|
|
11
|
+
DragAndDropModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.0.2", ngImport: i0, type: DragAndDropModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
12
|
+
DragAndDropModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "15.0.2", ngImport: i0, type: DragAndDropModule, declarations: [DndItemDirective, DndListDirective, DndKeyboardGroupDirective, DndKeyboardItemDirective], imports: [CommonModule, DragDropModule], exports: [DndItemDirective, DndListDirective, DndKeyboardGroupDirective, DndKeyboardItemDirective] });
|
|
13
|
+
DragAndDropModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "15.0.2", ngImport: i0, type: DragAndDropModule, imports: [CommonModule, DragDropModule] });
|
|
14
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.2", ngImport: i0, type: DragAndDropModule, decorators: [{
|
|
15
|
+
type: NgModule,
|
|
16
|
+
args: [{
|
|
17
|
+
imports: [CommonModule, DragDropModule],
|
|
18
|
+
exports: [DndItemDirective, DndListDirective, DndKeyboardGroupDirective, DndKeyboardItemDirective],
|
|
19
|
+
declarations: [DndItemDirective, DndListDirective, DndKeyboardGroupDirective, DndKeyboardItemDirective]
|
|
20
|
+
}]
|
|
21
|
+
}] });
|
|
22
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHJhZy1hbmQtZHJvcC5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL2Nkay9zcmMvbGliL3V0aWxzL2RyYWctYW5kLWRyb3AvZHJhZy1hbmQtZHJvcC5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN6QyxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sK0JBQStCLENBQUM7QUFDakUsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sK0JBQStCLENBQUM7QUFDakUsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQ3hELE9BQU8sRUFBRSx3QkFBd0IsRUFBRSxNQUFNLGlEQUFpRCxDQUFDO0FBQzNGLE9BQU8sRUFBRSx5QkFBeUIsRUFBRSxNQUFNLG1EQUFtRCxDQUFDOztBQU85RixNQUFNLE9BQU8saUJBQWlCOzs4R0FBakIsaUJBQWlCOytHQUFqQixpQkFBaUIsaUJBRlgsZ0JBQWdCLEVBQUUsZ0JBQWdCLEVBQUUseUJBQXlCLEVBQUUsd0JBQXdCLGFBRjVGLFlBQVksRUFBRSxjQUFjLGFBQzVCLGdCQUFnQixFQUFFLGdCQUFnQixFQUFFLHlCQUF5QixFQUFFLHdCQUF3QjsrR0FHeEYsaUJBQWlCLFlBSmhCLFlBQVksRUFBRSxjQUFjOzJGQUk3QixpQkFBaUI7a0JBTDdCLFFBQVE7bUJBQUM7b0JBQ04sT0FBTyxFQUFFLENBQUMsWUFBWSxFQUFFLGNBQWMsQ0FBQztvQkFDdkMsT0FBTyxFQUFFLENBQUMsZ0JBQWdCLEVBQUUsZ0JBQWdCLEVBQUUseUJBQXlCLEVBQUUsd0JBQXdCLENBQUM7b0JBQ2xHLFlBQVksRUFBRSxDQUFDLGdCQUFnQixFQUFFLGdCQUFnQixFQUFFLHlCQUF5QixFQUFFLHdCQUF3QixDQUFDO2lCQUMxRyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE5nTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgRG5kTGlzdERpcmVjdGl2ZSB9IGZyb20gJy4vZG5kLWxpc3QvZG5kLWxpc3QuZGlyZWN0aXZlJztcbmltcG9ydCB7IERuZEl0ZW1EaXJlY3RpdmUgfSBmcm9tICcuL2RuZC1pdGVtL2RuZC1pdGVtLmRpcmVjdGl2ZSc7XG5pbXBvcnQgeyBEcmFnRHJvcE1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2Nkay9kcmFnLWRyb3AnO1xuaW1wb3J0IHsgRG5kS2V5Ym9hcmRJdGVtRGlyZWN0aXZlIH0gZnJvbSAnLi9kbmQta2V5Ym9hcmQtaXRlbS9kbmQta2V5Ym9hcmQtaXRlbS5kaXJlY3RpdmUnO1xuaW1wb3J0IHsgRG5kS2V5Ym9hcmRHcm91cERpcmVjdGl2ZSB9IGZyb20gJy4vZG5kLWtleWJvYXJkLWdyb3VwL2RuZC1rZXlib2FyZC1ncm91cC5kaXJlY3RpdmUnO1xuXG5ATmdNb2R1bGUoe1xuICAgIGltcG9ydHM6IFtDb21tb25Nb2R1bGUsIERyYWdEcm9wTW9kdWxlXSxcbiAgICBleHBvcnRzOiBbRG5kSXRlbURpcmVjdGl2ZSwgRG5kTGlzdERpcmVjdGl2ZSwgRG5kS2V5Ym9hcmRHcm91cERpcmVjdGl2ZSwgRG5kS2V5Ym9hcmRJdGVtRGlyZWN0aXZlXSxcbiAgICBkZWNsYXJhdGlvbnM6IFtEbmRJdGVtRGlyZWN0aXZlLCBEbmRMaXN0RGlyZWN0aXZlLCBEbmRLZXlib2FyZEdyb3VwRGlyZWN0aXZlLCBEbmRLZXlib2FyZEl0ZW1EaXJlY3RpdmVdXG59KVxuZXhwb3J0IGNsYXNzIERyYWdBbmREcm9wTW9kdWxlIHt9XG4iXX0=
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
export * from './dnd-item/dnd-item.directive';
|
|
2
|
+
export * from './dnd-keyboard-group/dnd-keyboard-group.directive';
|
|
3
|
+
export * from './dnd-keyboard-item/dnd-keyboard-item.directive';
|
|
4
|
+
export * from './dnd-list/dnd-list.directive';
|
|
5
|
+
export * from './dnd.interfaces';
|
|
6
|
+
export * from './drag-and-drop.module';
|
|
7
|
+
export * from './tokens';
|
|
8
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL2Nkay9zcmMvbGliL3V0aWxzL2RyYWctYW5kLWRyb3AvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYywrQkFBK0IsQ0FBQztBQUM5QyxjQUFjLG1EQUFtRCxDQUFDO0FBQ2xFLGNBQWMsaURBQWlELENBQUM7QUFDaEUsY0FBYywrQkFBK0IsQ0FBQztBQUM5QyxjQUFjLGtCQUFrQixDQUFDO0FBQ2pDLGNBQWMsd0JBQXdCLENBQUM7QUFDdkMsY0FBYyxVQUFVLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuL2RuZC1pdGVtL2RuZC1pdGVtLmRpcmVjdGl2ZSc7XG5leHBvcnQgKiBmcm9tICcuL2RuZC1rZXlib2FyZC1ncm91cC9kbmQta2V5Ym9hcmQtZ3JvdXAuZGlyZWN0aXZlJztcbmV4cG9ydCAqIGZyb20gJy4vZG5kLWtleWJvYXJkLWl0ZW0vZG5kLWtleWJvYXJkLWl0ZW0uZGlyZWN0aXZlJztcbmV4cG9ydCAqIGZyb20gJy4vZG5kLWxpc3QvZG5kLWxpc3QuZGlyZWN0aXZlJztcbmV4cG9ydCAqIGZyb20gJy4vZG5kLmludGVyZmFjZXMnO1xuZXhwb3J0ICogZnJvbSAnLi9kcmFnLWFuZC1kcm9wLm1vZHVsZSc7XG5leHBvcnQgKiBmcm9tICcuL3Rva2Vucyc7XG4iXX0=
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
import { InjectionToken } from '@angular/core';
|
|
2
|
+
export const DND_ITEM = new InjectionToken('Drag and drop Item');
|
|
3
|
+
export const DND_LIST = new InjectionToken('Drag and drop List');
|
|
4
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidG9rZW5zLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jZGsvc3JjL2xpYi91dGlscy9kcmFnLWFuZC1kcm9wL3Rva2Vucy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRS9DLE1BQU0sQ0FBQyxNQUFNLFFBQVEsR0FBRyxJQUFJLGNBQWMsQ0FBQyxvQkFBb0IsQ0FBQyxDQUFDO0FBQ2pFLE1BQU0sQ0FBQyxNQUFNLFFBQVEsR0FBRyxJQUFJLGNBQWMsQ0FBQyxvQkFBb0IsQ0FBQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0aW9uVG9rZW4gfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuZXhwb3J0IGNvbnN0IERORF9JVEVNID0gbmV3IEluamVjdGlvblRva2VuKCdEcmFnIGFuZCBkcm9wIEl0ZW0nKTtcbmV4cG9ydCBjb25zdCBETkRfTElTVCA9IG5ldyBJbmplY3Rpb25Ub2tlbignRHJhZyBhbmQgZHJvcCBMaXN0Jyk7XG4iXX0=
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
export {};
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHluYW1pYy1jb21wb25lbnQtY29uZmlnLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jZGsvc3JjL2xpYi91dGlscy9keW5hbWljLWNvbXBvbmVudC9keW5hbWljLWNvbXBvbmVudC1jb25maWcudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBpbnRlcmZhY2UgRHluYW1pY0NvbXBvbmVudENvbmZpZyB7XG4gICAgLyoqIERhdGEgdG8gcGFzcyBhbG9uZyB0byB0aGUgY29udGVudCB0aHJvdWdoIHRoZSBkeW5hbWljIGNvbXBvbmVudCByZWZlcmVuY2Ugc2VydmljZS4gKi9cbiAgICBkYXRhPzogYW55O1xuXG4gICAgLyoqIFRoZSBjb250YWluZXIgdGhhdCB0aGUgZHluYW1pYyBjb21wb25lbnQgaXMgYXBwZW5kZWQgdG8uIEJ5IGRlZmF1bHQsIGl0IGlzIGFwcGVuZGVkIHRvIHRoZSBib2R5LiAqL1xuICAgIGNvbnRhaW5lcj86IEhUTUxFbGVtZW50IHwgJ2JvZHknO1xufVxuIl19
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
export class DynamicComponentContainer {
|
|
2
|
+
/** @hidden */
|
|
3
|
+
constructor(_elementRef, _componentFactoryResolver) {
|
|
4
|
+
this._elementRef = _elementRef;
|
|
5
|
+
this._componentFactoryResolver = _componentFactoryResolver;
|
|
6
|
+
/** @hidden */
|
|
7
|
+
this.childContent = undefined;
|
|
8
|
+
}
|
|
9
|
+
/** @hidden Load received content as component */
|
|
10
|
+
_createFromComponent(content) {
|
|
11
|
+
this.containerRef.clear();
|
|
12
|
+
const componentFactory = this._componentFactoryResolver.resolveComponentFactory(content);
|
|
13
|
+
this._componentRef = this.containerRef.createComponent(componentFactory);
|
|
14
|
+
}
|
|
15
|
+
/** @hidden Load received content as embedded view */
|
|
16
|
+
_createFromTemplate(content, context) {
|
|
17
|
+
this.containerRef.clear();
|
|
18
|
+
this._componentRef = this.containerRef.createEmbeddedView(content, context);
|
|
19
|
+
}
|
|
20
|
+
}
|
|
21
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHluYW1pYy1jb21wb25lbnQtY29udGFpbmVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jZGsvc3JjL2xpYi91dGlscy9keW5hbWljLWNvbXBvbmVudC9keW5hbWljLWNvbXBvbmVudC1jb250YWluZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBVUEsTUFBTSxPQUFnQix5QkFBeUI7SUFVM0MsY0FBYztJQUNkLFlBQXNCLFdBQXVCLEVBQVkseUJBQW1EO1FBQXRGLGdCQUFXLEdBQVgsV0FBVyxDQUFZO1FBQVksOEJBQXlCLEdBQXpCLHlCQUF5QixDQUEwQjtRQVA1RyxjQUFjO1FBQ2QsaUJBQVksR0FBa0IsU0FBUyxDQUFDO0lBTXVFLENBQUM7SUFLaEgsaURBQWlEO0lBQ3ZDLG9CQUFvQixDQUFDLE9BQWtCO1FBQzdDLElBQUksQ0FBQyxZQUFZLENBQUMsS0FBSyxFQUFFLENBQUM7UUFDMUIsTUFBTSxnQkFBZ0IsR0FBRyxJQUFJLENBQUMseUJBQXlCLENBQUMsdUJBQXVCLENBQUMsT0FBTyxDQUFDLENBQUM7UUFDekYsSUFBSSxDQUFDLGFBQWEsR0FBRyxJQUFJLENBQUMsWUFBWSxDQUFDLGVBQWUsQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDO0lBQzdFLENBQUM7SUFFRCxxREFBcUQ7SUFDM0MsbUJBQW1CLENBQUMsT0FBeUIsRUFBRSxPQUFZO1FBQ2pFLElBQUksQ0FBQyxZQUFZLENBQUMsS0FBSyxFQUFFLENBQUM7UUFDMUIsSUFBSSxDQUFDLGFBQWEsR0FBRyxJQUFJLENBQUMsWUFBWSxDQUFDLGtCQUFrQixDQUFDLE9BQU8sRUFBRSxPQUFPLENBQUMsQ0FBQztJQUNoRixDQUFDO0NBQ0oiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICAgIENvbXBvbmVudEZhY3RvcnlSZXNvbHZlcixcbiAgICBDb21wb25lbnRSZWYsXG4gICAgRWxlbWVudFJlZixcbiAgICBFbWJlZGRlZFZpZXdSZWYsXG4gICAgVGVtcGxhdGVSZWYsXG4gICAgVHlwZSxcbiAgICBWaWV3Q29udGFpbmVyUmVmXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5leHBvcnQgYWJzdHJhY3QgY2xhc3MgRHluYW1pY0NvbXBvbmVudENvbnRhaW5lcjxUID0gVGVtcGxhdGVSZWY8YW55PiB8IFR5cGU8YW55Pj4ge1xuICAgIC8qKiBAaGlkZGVuICovXG4gICAgYWJzdHJhY3QgY29udGFpbmVyUmVmOiBWaWV3Q29udGFpbmVyUmVmO1xuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBjaGlsZENvbnRlbnQ6IFQgfCB1bmRlZmluZWQgPSB1bmRlZmluZWQ7XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIHByb3RlY3RlZCBfY29tcG9uZW50UmVmOiBDb21wb25lbnRSZWY8YW55PiB8IEVtYmVkZGVkVmlld1JlZjxhbnk+O1xuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBjb25zdHJ1Y3Rvcihwcm90ZWN0ZWQgX2VsZW1lbnRSZWY6IEVsZW1lbnRSZWYsIHByb3RlY3RlZCBfY29tcG9uZW50RmFjdG9yeVJlc29sdmVyOiBDb21wb25lbnRGYWN0b3J5UmVzb2x2ZXIpIHt9XG5cbiAgICAvKiogQGhpZGRlbiBMb2FkIHJlY2VpdmVkIGNvbnRlbnQgKi9cbiAgICBwcm90ZWN0ZWQgYWJzdHJhY3QgX2xvYWRDb250ZW50KCk6IHZvaWQ7XG5cbiAgICAvKiogQGhpZGRlbiBMb2FkIHJlY2VpdmVkIGNvbnRlbnQgYXMgY29tcG9uZW50ICovXG4gICAgcHJvdGVjdGVkIF9jcmVhdGVGcm9tQ29tcG9uZW50KGNvbnRlbnQ6IFR5cGU8YW55Pik6IHZvaWQge1xuICAgICAgICB0aGlzLmNvbnRhaW5lclJlZi5jbGVhcigpO1xuICAgICAgICBjb25zdCBjb21wb25lbnRGYWN0b3J5ID0gdGhpcy5fY29tcG9uZW50RmFjdG9yeVJlc29sdmVyLnJlc29sdmVDb21wb25lbnRGYWN0b3J5KGNvbnRlbnQpO1xuICAgICAgICB0aGlzLl9jb21wb25lbnRSZWYgPSB0aGlzLmNvbnRhaW5lclJlZi5jcmVhdGVDb21wb25lbnQoY29tcG9uZW50RmFjdG9yeSk7XG4gICAgfVxuXG4gICAgLyoqIEBoaWRkZW4gTG9hZCByZWNlaXZlZCBjb250ZW50IGFzIGVtYmVkZGVkIHZpZXcgKi9cbiAgICBwcm90ZWN0ZWQgX2NyZWF0ZUZyb21UZW1wbGF0ZShjb250ZW50OiBUZW1wbGF0ZVJlZjxhbnk+LCBjb250ZXh0OiBhbnkpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5jb250YWluZXJSZWYuY2xlYXIoKTtcbiAgICAgICAgdGhpcy5fY29tcG9uZW50UmVmID0gdGhpcy5jb250YWluZXJSZWYuY3JlYXRlRW1iZWRkZWRWaWV3KGNvbnRlbnQsIGNvbnRleHQpO1xuICAgIH1cbn1cbiJdfQ==
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
export class DynamicComponentInjector {
|
|
2
|
+
/** @hidden */
|
|
3
|
+
constructor(_parentInjector, _additionalTokens) {
|
|
4
|
+
this._parentInjector = _parentInjector;
|
|
5
|
+
this._additionalTokens = _additionalTokens;
|
|
6
|
+
}
|
|
7
|
+
/**
|
|
8
|
+
*
|
|
9
|
+
* @param token
|
|
10
|
+
* @param notFoundValue
|
|
11
|
+
*/
|
|
12
|
+
get(token, notFoundValue) {
|
|
13
|
+
const value = this._additionalTokens.get(token);
|
|
14
|
+
if (value) {
|
|
15
|
+
return value;
|
|
16
|
+
}
|
|
17
|
+
return this._parentInjector.get(token, notFoundValue);
|
|
18
|
+
}
|
|
19
|
+
}
|
|
20
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHluYW1pYy1jb21wb25lbnQtaW5qZWN0b3IuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL2Nkay9zcmMvbGliL3V0aWxzL2R5bmFtaWMtY29tcG9uZW50L2R5bmFtaWMtY29tcG9uZW50LWluamVjdG9yLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUVBLE1BQU0sT0FBTyx3QkFBd0I7SUFDakMsY0FBYztJQUNkLFlBQW9CLGVBQXlCLEVBQVUsaUJBQW9DO1FBQXZFLG9CQUFlLEdBQWYsZUFBZSxDQUFVO1FBQVUsc0JBQWlCLEdBQWpCLGlCQUFpQixDQUFtQjtJQUFHLENBQUM7SUFFL0Y7Ozs7T0FJRztJQUNILEdBQUcsQ0FBQyxLQUFVLEVBQUUsYUFBbUI7UUFDL0IsTUFBTSxLQUFLLEdBQUcsSUFBSSxDQUFDLGlCQUFpQixDQUFDLEdBQUcsQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUVoRCxJQUFJLEtBQUssRUFBRTtZQUNQLE9BQU8sS0FBSyxDQUFDO1NBQ2hCO1FBRUQsT0FBTyxJQUFJLENBQUMsZUFBZSxDQUFDLEdBQUcsQ0FBTSxLQUFLLEVBQUUsYUFBYSxDQUFDLENBQUM7SUFDL0QsQ0FBQztDQUNKIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0b3IgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuZXhwb3J0IGNsYXNzIER5bmFtaWNDb21wb25lbnRJbmplY3RvciBpbXBsZW1lbnRzIEluamVjdG9yIHtcbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIGNvbnN0cnVjdG9yKHByaXZhdGUgX3BhcmVudEluamVjdG9yOiBJbmplY3RvciwgcHJpdmF0ZSBfYWRkaXRpb25hbFRva2VuczogV2Vha01hcDxhbnksIGFueT4pIHt9XG5cbiAgICAvKipcbiAgICAgKlxuICAgICAqIEBwYXJhbSB0b2tlblxuICAgICAqIEBwYXJhbSBub3RGb3VuZFZhbHVlXG4gICAgICovXG4gICAgZ2V0KHRva2VuOiBhbnksIG5vdEZvdW5kVmFsdWU/OiBhbnkpOiB2b2lkIHtcbiAgICAgICAgY29uc3QgdmFsdWUgPSB0aGlzLl9hZGRpdGlvbmFsVG9rZW5zLmdldCh0b2tlbik7XG5cbiAgICAgICAgaWYgKHZhbHVlKSB7XG4gICAgICAgICAgICByZXR1cm4gdmFsdWU7XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gdGhpcy5fcGFyZW50SW5qZWN0b3IuZ2V0PGFueT4odG9rZW4sIG5vdEZvdW5kVmFsdWUpO1xuICAgIH1cbn1cbiJdfQ==
|
|
@@ -0,0 +1,90 @@
|
|
|
1
|
+
import { ComponentFactoryResolver, Injectable, ApplicationRef, Injector, Compiler, NgModuleFactory } from '@angular/core';
|
|
2
|
+
import { DynamicComponentInjector } from './dynamic-component-injector';
|
|
3
|
+
import * as i0 from "@angular/core";
|
|
4
|
+
/**
|
|
5
|
+
* Service used to dynamically generate components like dialogs/alerts/notifications
|
|
6
|
+
*/
|
|
7
|
+
export class DynamicComponentService {
|
|
8
|
+
/** @hidden */
|
|
9
|
+
constructor(_componentFactoryResolver, _applicationRef, _injector, _compiler) {
|
|
10
|
+
this._componentFactoryResolver = _componentFactoryResolver;
|
|
11
|
+
this._applicationRef = _applicationRef;
|
|
12
|
+
this._injector = _injector;
|
|
13
|
+
this._compiler = _compiler;
|
|
14
|
+
}
|
|
15
|
+
/**
|
|
16
|
+
* Function that creates dynamic component and injects services to allow communication between component and outside
|
|
17
|
+
* @param content Type of the component content
|
|
18
|
+
* @param componentType Type of component that should be rendered.
|
|
19
|
+
* @param config Configuration that will be passed to the component.
|
|
20
|
+
* @param inject enables to provide preconfigured component injector and dependencies
|
|
21
|
+
*/
|
|
22
|
+
createDynamicComponent(content, componentType, config, inject = {}) {
|
|
23
|
+
const { injector, services } = inject;
|
|
24
|
+
const dependenciesMap = this._createDependencyMap(services);
|
|
25
|
+
const componentRef = this._createComponent(componentType, dependenciesMap, injector);
|
|
26
|
+
this._passExternalContent(componentRef, content);
|
|
27
|
+
this._attachToContainer(componentRef, config);
|
|
28
|
+
return componentRef;
|
|
29
|
+
}
|
|
30
|
+
/**
|
|
31
|
+
* Function that creates dynamic component and injects services to allow communication between component and outside
|
|
32
|
+
* @param content Type of the component content
|
|
33
|
+
* @param moduleType Type of module that should be compiled.
|
|
34
|
+
* @param componentType Type of component that should be rendered.
|
|
35
|
+
* @param containerRef The container that the dynamic component is appended to.
|
|
36
|
+
* @param injector enables to provide preconfigured component injector
|
|
37
|
+
*/
|
|
38
|
+
async createDynamicModule(content, moduleType, componentType, containerRef, injector) {
|
|
39
|
+
const moduleFactory = moduleType instanceof NgModuleFactory ? moduleType : await this._compiler.compileModuleAsync(moduleType);
|
|
40
|
+
const moduleRef = moduleFactory.create(injector || this._injector);
|
|
41
|
+
const componentFactory = moduleRef.componentFactoryResolver.resolveComponentFactory(componentType);
|
|
42
|
+
containerRef.clear();
|
|
43
|
+
const componentRef = containerRef.createComponent(componentFactory);
|
|
44
|
+
this._passExternalContent(componentRef, content);
|
|
45
|
+
return componentRef;
|
|
46
|
+
}
|
|
47
|
+
/** Function that destroys dynamic component */
|
|
48
|
+
destroyComponent(componentRef) {
|
|
49
|
+
this._applicationRef.detachView(componentRef.hostView);
|
|
50
|
+
componentRef.destroy();
|
|
51
|
+
}
|
|
52
|
+
/** @hidden */
|
|
53
|
+
_createDependencyMap(services = []) {
|
|
54
|
+
const dependencyMap = new WeakMap();
|
|
55
|
+
services.filter((service) => !!service).forEach((service) => dependencyMap.set(service.constructor, service));
|
|
56
|
+
return dependencyMap;
|
|
57
|
+
}
|
|
58
|
+
/** @hidden */
|
|
59
|
+
_attachToContainer(componentRef, config) {
|
|
60
|
+
const configObj = Object.assign({}, config);
|
|
61
|
+
const componentEl = componentRef.hostView.rootNodes[0];
|
|
62
|
+
if (configObj.container !== 'body') {
|
|
63
|
+
configObj.container?.appendChild(componentEl);
|
|
64
|
+
}
|
|
65
|
+
else {
|
|
66
|
+
document.body.appendChild(componentEl);
|
|
67
|
+
}
|
|
68
|
+
}
|
|
69
|
+
/** @hidden */
|
|
70
|
+
_createComponent(componentType, dependenciesMap, injector) {
|
|
71
|
+
const dynamicComponentInjector = new DynamicComponentInjector(injector || this._injector, dependenciesMap);
|
|
72
|
+
const componentFactory = this._componentFactoryResolver.resolveComponentFactory(componentType);
|
|
73
|
+
const componentRef = componentFactory.create(dynamicComponentInjector);
|
|
74
|
+
this._applicationRef.attachView(componentRef.hostView);
|
|
75
|
+
return componentRef;
|
|
76
|
+
}
|
|
77
|
+
/** @hidden */
|
|
78
|
+
_passExternalContent(componentRef, content) {
|
|
79
|
+
// TODO: this approach should be revisited, it can cause issues, that is really hard to debug
|
|
80
|
+
if (Object.prototype.hasOwnProperty.call(componentRef.instance, 'childContent')) {
|
|
81
|
+
componentRef.instance.childContent = content;
|
|
82
|
+
}
|
|
83
|
+
}
|
|
84
|
+
}
|
|
85
|
+
DynamicComponentService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.0.2", ngImport: i0, type: DynamicComponentService, deps: [{ token: i0.ComponentFactoryResolver }, { token: i0.ApplicationRef }, { token: i0.Injector }, { token: i0.Compiler }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
86
|
+
DynamicComponentService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.0.2", ngImport: i0, type: DynamicComponentService });
|
|
87
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.2", ngImport: i0, type: DynamicComponentService, decorators: [{
|
|
88
|
+
type: Injectable
|
|
89
|
+
}], ctorParameters: function () { return [{ type: i0.ComponentFactoryResolver }, { type: i0.ApplicationRef }, { type: i0.Injector }, { type: i0.Compiler }]; } });
|
|
90
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHluYW1pYy1jb21wb25lbnQuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY2RrL3NyYy9saWIvdXRpbHMvZHluYW1pYy1jb21wb25lbnQvZHluYW1pYy1jb21wb25lbnQuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0gsd0JBQXdCLEVBQ3hCLFVBQVUsRUFDVixjQUFjLEVBQ2QsUUFBUSxFQUtSLFFBQVEsRUFDUixlQUFlLEVBRWxCLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSx3QkFBd0IsRUFBRSxNQUFNLDhCQUE4QixDQUFDOztBQUd4RTs7R0FFRztBQUVILE1BQU0sT0FBTyx1QkFBdUI7SUFDaEMsY0FBYztJQUNkLFlBQ3FCLHlCQUFtRCxFQUNuRCxlQUErQixFQUMvQixTQUFtQixFQUNuQixTQUFtQjtRQUhuQiw4QkFBeUIsR0FBekIseUJBQXlCLENBQTBCO1FBQ25ELG9CQUFlLEdBQWYsZUFBZSxDQUFnQjtRQUMvQixjQUFTLEdBQVQsU0FBUyxDQUFVO1FBQ25CLGNBQVMsR0FBVCxTQUFTLENBQVU7SUFDckMsQ0FBQztJQUVKOzs7Ozs7T0FNRztJQUNJLHNCQUFzQixDQUN6QixPQUFvRSxFQUNwRSxhQUFzQixFQUN0QixNQUE4QixFQUM5QixTQUFvRCxFQUFFO1FBRXRELE1BQU0sRUFBRSxRQUFRLEVBQUUsUUFBUSxFQUFFLEdBQUcsTUFBTSxDQUFDO1FBQ3RDLE1BQU0sZUFBZSxHQUFHLElBQUksQ0FBQyxvQkFBb0IsQ0FBQyxRQUFRLENBQUMsQ0FBQztRQUM1RCxNQUFNLFlBQVksR0FBRyxJQUFJLENBQUMsZ0JBQWdCLENBQUksYUFBYSxFQUFFLGVBQWUsRUFBRSxRQUFRLENBQUMsQ0FBQztRQUN4RixJQUFJLENBQUMsb0JBQW9CLENBQUksWUFBWSxFQUFFLE9BQU8sQ0FBQyxDQUFDO1FBQ3BELElBQUksQ0FBQyxrQkFBa0IsQ0FB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QzdGLElBQUksTUFBTSxDQUFDLFNBQVMsQ0FBQyxjQUFjLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQyxRQUFRLEVBQUUsY0FBYyxDQUFDLEVBQUU7WUFDNUUsWUFBWSxDQUFDLFFBQWdCLENBQUMsWUFBWSxHQUFHLE9BQU8sQ0FBQztTQUN6RDtJQUNMLENBQUM7O29IQTFHUSx1QkFBdUI7d0hBQXZCLHVCQUF1QjsyRkFBdkIsdUJBQXVCO2tCQURuQyxVQUFVIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgICBDb21wb25lbnRGYWN0b3J5UmVzb2x2ZXIsXG4gICAgSW5qZWN0YWJsZSxcbiAgICBBcHBsaWNhdGlvblJlZixcbiAgICBJbmplY3RvcixcbiAgICBFbWJlZGRlZFZpZXdSZWYsXG4gICAgQ29tcG9uZW50UmVmLFxuICAgIFRlbXBsYXRlUmVmLFxuICAgIFR5cGUsXG4gICAgQ29tcGlsZXIsXG4gICAgTmdNb2R1bGVGYWN0b3J5LFxuICAgIFZpZXdDb250YWluZXJSZWZcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBEeW5hbWljQ29tcG9uZW50SW5qZWN0b3IgfSBmcm9tICcuL2R5bmFtaWMtY29tcG9uZW50LWluamVjdG9yJztcbmltcG9ydCB7IER5bmFtaWNDb21wb25lbnRDb25maWcgfSBmcm9tICcuL2R5bmFtaWMtY29tcG9uZW50LWNvbmZpZyc7XG5cbi8qKlxuICogU2VydmljZSB1c2VkIHRvIGR5bmFtaWNhbGx5IGdlbmVyYXRlIGNvbXBvbmVudHMgbGlrZSBkaWFsb2dzL2FsZXJ0cy9ub3RpZmljYXRpb25zXG4gKi9cbkBJbmplY3RhYmxlKClcbmV4cG9ydCBjbGFzcyBEeW5hbWljQ29tcG9uZW50U2VydmljZSB7XG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBjb25zdHJ1Y3RvcihcbiAgICAgICAgcHJpdmF0ZSByZWFkb25seSBfY29tcG9uZW50RmFjdG9yeVJlc29sdmVyOiBDb21wb25lbnRGYWN0b3J5UmVzb2x2ZXIsXG4gICAgICAgIHByaXZhdGUgcmVhZG9ubHkgX2FwcGxpY2F0aW9uUmVmOiBBcHBsaWNhdGlvblJlZixcbiAgICAgICAgcHJpdmF0ZSByZWFkb25seSBfaW5qZWN0b3I6IEluamVjdG9yLFxuICAgICAgICBwcml2YXRlIHJlYWRvbmx5IF9jb21waWxlcjogQ29tcGlsZXJcbiAgICApIHt9XG5cbiAgICAvKipcbiAgICAgKiBGdW5jdGlvbiB0aGF0IGNyZWF0ZXMgZHluYW1pYyBjb21wb25lbnQgYW5kIGluamVjdHMgc2VydmljZXMgdG8gYWxsb3cgY29tbXVuaWNhdGlvbiBiZXR3ZWVuIGNvbXBvbmVudCBhbmQgb3V0c2lkZVxuICAgICAqIEBwYXJhbSBjb250ZW50IFR5cGUgb2YgdGhlIGNvbXBvbmVudCBjb250ZW50XG4gICAgICogQHBhcmFtIGNvbXBvbmVudFR5cGUgVHlwZSBvZiBjb21wb25lbnQgdGhhdCBzaG91bGQgYmUgcmVuZGVyZWQuXG4gICAgICogQHBhcmFtIGNvbmZpZyBDb25maWd1cmF0aW9uIHRoYXQgd2lsbCBiZSBwYXNzZWQgdG8gdGhlIGNvbXBvbmVudC5cbiAgICAgKiBAcGFyYW0gaW5qZWN0ICBlbmFibGVzIHRvIHByb3ZpZGUgcHJlY29uZmlndXJlZCBjb21wb25lbnQgaW5qZWN0b3IgYW5kIGRlcGVuZGVuY2llc1xuICAgICAqL1xuICAgIHB1YmxpYyBjcmVhdGVEeW5hbWljQ29tcG9uZW50PFQ+KFxuICAgICAgICBjb250ZW50OiBUZW1wbGF0ZVJlZjxhbnk+IHwgVHlwZTxhbnk+IHwgc3RyaW5nIHwgUmVjb3JkPHN0cmluZywgYW55PixcbiAgICAgICAgY29tcG9uZW50VHlwZTogVHlwZTxUPixcbiAgICAgICAgY29uZmlnOiBEeW5hbWljQ29tcG9uZW50Q29uZmlnLFxuICAgICAgICBpbmplY3Q6IHsgaW5qZWN0b3I/OiBJbmplY3Rvcjsgc2VydmljZXM/OiBhbnlbXSB9ID0ge31cbiAgICApOiBDb21wb25lbnRSZWY8VD4ge1xuICAgICAgICBjb25zdCB7IGluamVjdG9yLCBzZXJ2aWNlcyB9ID0gaW5qZWN0O1xuICAgICAgICBjb25zdCBkZXBlbmRlbmNpZXNNYXAgPSB0aGlzLl9jcmVhdGVEZXBlbmRlbmN5TWFwKHNlcnZpY2VzKTtcbiAgICAgICAgY29uc3QgY29tcG9uZW50UmVmID0gdGhpcy5fY3JlYXRlQ29tcG9uZW50PFQ+KGNvbXBvbmVudFR5cGUsIGRlcGVuZGVuY2llc01hcCwgaW5qZWN0b3IpO1xuICAgICAgICB0aGlzLl9wYXNzRXh0ZXJuYWxDb250ZW50PFQ+KGNvbXBvbmVudFJlZiwgY29udGVudCk7XG4gICAgICAgIHRoaXMuX2F0dGFjaFRvQ29udGFpbmVyPFQ+KGNvbXBvbmVudFJlZiwgY29uZmlnKTtcblxuICAgICAgICByZXR1cm4gY29tcG9uZW50UmVmO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEZ1bmN0aW9uIHRoYXQgY3JlYXRlcyBkeW5hbWljIGNvbXBvbmVudCBhbmQgaW5qZWN0cyBzZXJ2aWNlcyB0byBhbGxvdyBjb21tdW5pY2F0aW9uIGJldHdlZW4gY29tcG9uZW50IGFuZCBvdXRzaWRlXG4gICAgICogQHBhcmFtIGNvbnRlbnQgVHlwZSBvZiB0aGUgY29tcG9uZW50IGNvbnRlbnRcbiAgICAgKiBAcGFyYW0gbW9kdWxlVHlwZSBUeXBlIG9mIG1vZHVsZSB0aGF0IHNob3VsZCBiZSBjb21waWxlZC5cbiAgICAgKiBAcGFyYW0gY29tcG9uZW50VHlwZSBUeXBlIG9mIGNvbXBvbmVudCB0aGF0IHNob3VsZCBiZSByZW5kZXJlZC5cbiAgICAgKiBAcGFyYW0gY29udGFpbmVyUmVmIFRoZSBjb250YWluZXIgdGhhdCB0aGUgZHluYW1pYyBjb21wb25lbnQgaXMgYXBwZW5kZWQgdG8uXG4gICAgICogQHBhcmFtIGluamVjdG9yIGVuYWJsZXMgdG8gcHJvdmlkZSBwcmVjb25maWd1cmVkIGNvbXBvbmVudCBpbmplY3RvclxuICAgICAqL1xuICAgIGFzeW5jIGNyZWF0ZUR5bmFtaWNNb2R1bGU8TSwgQz4oXG4gICAgICAgIGNvbnRlbnQ6IFRlbXBsYXRlUmVmPGFueT4gfCBUeXBlPGFueT4gfCBzdHJpbmcgfCBSZWNvcmQ8c3RyaW5nLCBhbnk+LFxuICAgICAgICBtb2R1bGVUeXBlOiBUeXBlPE0+IHwgTmdNb2R1bGVGYWN0b3J5PE0+LFxuICAgICAgICBjb21wb25lbnRUeXBlOiBUeXBlPEM+LFxuICAgICAgICBjb250YWluZXJSZWY6IFZpZXdDb250YWluZXJSZWYsXG4gICAgICAgIGluamVjdG9yPzogSW5qZWN0b3JcbiAgICApOiBQcm9taXNlPENvbXBvbmVudFJlZjxDPj4ge1xuICAgICAgICBjb25zdCBtb2R1bGVGYWN0b3J5ID1cbiAgICAgICAgICAgIG1vZHVsZVR5cGUgaW5zdGFuY2VvZiBOZ01vZHVsZUZhY3RvcnkgPyBtb2R1bGVUeXBlIDogYXdhaXQgdGhpcy5fY29tcGlsZXIuY29tcGlsZU1vZHVsZUFzeW5jPE0+KG1vZHVsZVR5cGUpO1xuICAgICAgICBjb25zdCBtb2R1bGVSZWYgPSBtb2R1bGVGYWN0b3J5LmNyZWF0ZShpbmplY3RvciB8fCB0aGlzLl9pbmplY3Rvcik7XG4gICAgICAgIGNvbnN0IGNvbXBvbmVudEZhY3RvcnkgPSBtb2R1bGVSZWYuY29tcG9uZW50RmFjdG9yeVJlc29sdmVyLnJlc29sdmVDb21wb25lbnRGYWN0b3J5KGNvbXBvbmVudFR5cGUpO1xuXG4gICAgICAgIGNvbnRhaW5lclJlZi5jbGVhcigpO1xuXG4gICAgICAgIGNvbnN0IGNvbXBvbmVudFJlZjogQ29tcG9uZW50UmVmPEM+ID0gY29udGFpbmVyUmVmLmNyZWF0ZUNvbXBvbmVudChjb21wb25lbnRGYWN0b3J5KTtcblxuICAgICAgICB0aGlzLl9wYXNzRXh0ZXJuYWxDb250ZW50PEM+KGNvbXBvbmVudFJlZiwgY29udGVudCk7XG5cbiAgICAgICAgcmV0dXJuIGNvbXBvbmVudFJlZjtcbiAgICB9XG5cbiAgICAvKiogRnVuY3Rpb24gdGhhdCBkZXN0cm95cyBkeW5hbWljIGNvbXBvbmVudCAqL1xuICAgIHB1YmxpYyBkZXN0cm95Q29tcG9uZW50KGNvbXBvbmVudFJlZjogQ29tcG9uZW50UmVmPGFueT4pOiB2b2lkIHtcbiAgICAgICAgdGhpcy5fYXBwbGljYXRpb25SZWYuZGV0YWNoVmlldyhjb21wb25lbnRSZWYuaG9zdFZpZXcpO1xuICAgICAgICBjb21wb25lbnRSZWYuZGVzdHJveSgpO1xuICAgIH1cblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgcHJpdmF0ZSBfY3JlYXRlRGVwZW5kZW5jeU1hcChzZXJ2aWNlczogYW55W10gPSBbXSk6IFdlYWtNYXA8YW55LCBhbnk+IHtcbiAgICAgICAgY29uc3QgZGVwZW5kZW5jeU1hcCA9IG5ldyBXZWFrTWFwKCk7XG4gICAgICAgIHNlcnZpY2VzLmZpbHRlcigoc2VydmljZSkgPT4gISFzZXJ2aWNlKS5mb3JFYWNoKChzZXJ2aWNlKSA9PiBkZXBlbmRlbmN5TWFwLnNldChzZXJ2aWNlLmNvbnN0cnVjdG9yLCBzZXJ2aWNlKSk7XG4gICAgICAgIHJldHVybiBkZXBlbmRlbmN5TWFwO1xuICAgIH1cblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgcHJpdmF0ZSBfYXR0YWNoVG9Db250YWluZXI8Vj4oY29tcG9uZW50UmVmOiBDb21wb25lbnRSZWY8Vj4sIGNvbmZpZzogRHluYW1pY0NvbXBvbmVudENvbmZpZyk6IHZvaWQge1xuICAgICAgICBjb25zdCBjb25maWdPYmogPSBPYmplY3QuYXNzaWduKHt9LCBjb25maWcpO1xuICAgICAgICBjb25zdCBjb21wb25lbnRFbCA9IChjb21wb25lbnRSZWYuaG9zdFZpZXcgYXMgRW1iZWRkZWRWaWV3UmVmPGFueT4pLnJvb3ROb2Rlc1swXSBhcyBIVE1MRWxlbWVudDtcbiAgICAgICAgaWYgKGNvbmZpZ09iai5jb250YWluZXIgIT09ICdib2R5Jykge1xuICAgICAgICAgICAgY29uZmlnT2JqLmNvbnRhaW5lcj8uYXBwZW5kQ2hpbGQoY29tcG9uZW50RWwpO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZChjb21wb25lbnRFbCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIHByaXZhdGUgX2NyZWF0ZUNvbXBvbmVudDxWPihcbiAgICAgICAgY29tcG9uZW50VHlwZTogVHlwZTxWPixcbiAgICAgICAgZGVwZW5kZW5jaWVzTWFwOiBXZWFrTWFwPGFueSwgYW55PixcbiAgICAgICAgaW5qZWN0b3I/OiBJbmplY3RvclxuICAgICk6IENvbXBvbmVudFJlZjxWPiB7XG4gICAgICAgIGNvbnN0IGR5bmFtaWNDb21wb25lbnRJbmplY3RvciA9IG5ldyBEeW5hbWljQ29tcG9uZW50SW5qZWN0b3IoaW5qZWN0b3IgfHwgdGhpcy5faW5qZWN0b3IsIGRlcGVuZGVuY2llc01hcCk7XG4gICAgICAgIGNvbnN0IGNvbXBvbmVudEZhY3RvcnkgPSB0aGlzLl9jb21wb25lbnRGYWN0b3J5UmVzb2x2ZXIucmVzb2x2ZUNvbXBvbmVudEZhY3RvcnkoY29tcG9uZW50VHlwZSk7XG4gICAgICAgIGNvbnN0IGNvbXBvbmVudFJlZiA9IGNvbXBvbmVudEZhY3RvcnkuY3JlYXRlKGR5bmFtaWNDb21wb25lbnRJbmplY3Rvcik7XG4gICAgICAgIHRoaXMuX2FwcGxpY2F0aW9uUmVmLmF0dGFjaFZpZXcoY29tcG9uZW50UmVmLmhvc3RWaWV3KTtcbiAgICAgICAgcmV0dXJuIGNvbXBvbmVudFJlZjtcbiAgICB9XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIHByaXZhdGUgX3Bhc3NFeHRlcm5hbENvbnRlbnQ8Vj4oXG4gICAgICAgIGNvbXBvbmVudFJlZjogQ29tcG9uZW50UmVmPFY+LFxuICAgICAgICBjb250ZW50OiBUZW1wbGF0ZVJlZjxhbnk+IHwgVHlwZTxhbnk+IHwgc3RyaW5nIHwgUmVjb3JkPHN0cmluZywgYW55PlxuICAgICk6IHZvaWQge1xuICAgICAgICAvLyBUT0RPOiB0aGlzIGFwcHJvYWNoIHNob3VsZCBiZSByZXZpc2l0ZWQsIGl0IGNhbiBjYXVzZSBpc3N1ZXMsIHRoYXQgaXMgcmVhbGx5IGhhcmQgdG8gZGVidWdcbiAgICAgICAgaWYgKE9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHkuY2FsbChjb21wb25lbnRSZWYuaW5zdGFuY2UsICdjaGlsZENvbnRlbnQnKSkge1xuICAgICAgICAgICAgKGNvbXBvbmVudFJlZi5pbnN0YW5jZSBhcyBhbnkpLmNoaWxkQ29udGVudCA9IGNvbnRlbnQ7XG4gICAgICAgIH1cbiAgICB9XG59XG4iXX0=
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
export * from './dynamic-component-config';
|
|
2
|
+
export * from './dynamic-component-container';
|
|
3
|
+
export * from './dynamic-component-injector';
|
|
4
|
+
export * from './dynamic-component.service';
|
|
5
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL2Nkay9zcmMvbGliL3V0aWxzL2R5bmFtaWMtY29tcG9uZW50L2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGNBQWMsNEJBQTRCLENBQUM7QUFDM0MsY0FBYywrQkFBK0IsQ0FBQztBQUM5QyxjQUFjLDhCQUE4QixDQUFDO0FBQzdDLGNBQWMsNkJBQTZCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuL2R5bmFtaWMtY29tcG9uZW50LWNvbmZpZyc7XG5leHBvcnQgKiBmcm9tICcuL2R5bmFtaWMtY29tcG9uZW50LWNvbnRhaW5lcic7XG5leHBvcnQgKiBmcm9tICcuL2R5bmFtaWMtY29tcG9uZW50LWluamVjdG9yJztcbmV4cG9ydCAqIGZyb20gJy4vZHluYW1pYy1jb21wb25lbnQuc2VydmljZSc7XG4iXX0=
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import { INJECTOR } from '@angular/core';
|
|
2
|
+
/**
|
|
3
|
+
* Creates provider for ConsumerClass
|
|
4
|
+
*/
|
|
5
|
+
export function consumerProviderFactory(ConsumerClass, providedConfiguration) {
|
|
6
|
+
return {
|
|
7
|
+
provide: ConsumerClass,
|
|
8
|
+
useFactory: (injector) => new ConsumerClass(injector, providedConfiguration),
|
|
9
|
+
deps: [INJECTOR]
|
|
10
|
+
};
|
|
11
|
+
}
|
|
12
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uc3VtZXItcHJvdmlkZXItZmFjdG9yeS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY2RrL3NyYy9saWIvdXRpbHMvZnVuY3Rpb25zL2NvbnN1bWVyLXByb3ZpZGVyLWZhY3RvcnkudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFFBQVEsRUFBc0IsTUFBTSxlQUFlLENBQUM7QUFFN0Q7O0dBRUc7QUFDSCxNQUFNLFVBQVUsdUJBQXVCLENBQ25DLGFBQTRGLEVBQzVGLHFCQUF3QztJQUV4QyxPQUFPO1FBQ0gsT0FBTyxFQUFFLGFBQWE7UUFDdEIsVUFBVSxFQUFFLENBQUMsUUFBa0IsRUFBRSxFQUFFLENBQUMsSUFBSSxhQUFhLENBQUMsUUFBUSxFQUFFLHFCQUFxQixDQUFDO1FBQ3RGLElBQUksRUFBRSxDQUFDLFFBQVEsQ0FBQztLQUNuQixDQUFDO0FBQ04sQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IElOSkVDVE9SLCBJbmplY3RvciwgUHJvdmlkZXIgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuLyoqXG4gKiBDcmVhdGVzIHByb3ZpZGVyIGZvciBDb25zdW1lckNsYXNzXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBjb25zdW1lclByb3ZpZGVyRmFjdG9yeTxUID0gYW55PihcbiAgICBDb25zdW1lckNsYXNzOiBuZXcgKGluamVjdG9yOiBJbmplY3RvciwgYWRkaXRpb25hbENvbmZpZzogUmVjb3JkPGFueSwgYW55PiB8IHVuZGVmaW5lZCkgPT4gVCxcbiAgICBwcm92aWRlZENvbmZpZ3VyYXRpb24/OiBSZWNvcmQ8YW55LCBhbnk+XG4pOiBQcm92aWRlciB7XG4gICAgcmV0dXJuIHtcbiAgICAgICAgcHJvdmlkZTogQ29uc3VtZXJDbGFzcyxcbiAgICAgICAgdXNlRmFjdG9yeTogKGluamVjdG9yOiBJbmplY3RvcikgPT4gbmV3IENvbnN1bWVyQ2xhc3MoaW5qZWN0b3IsIHByb3ZpZGVkQ29uZmlndXJhdGlvbiksXG4gICAgICAgIGRlcHM6IFtJTkpFQ1RPUl1cbiAgICB9O1xufVxuIl19
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
import { ElementRef } from '@angular/core';
|
|
2
|
+
export const pxToNum = (pixels) => Number(pixels.replace('px', '')) || 0;
|
|
3
|
+
export const toNativeElement = (element) => element instanceof ElementRef ? element.nativeElement : element;
|
|
4
|
+
/** Return elements capacity (width subtract by element padding)
|
|
5
|
+
* @param element - HTMLelement or element reference
|
|
6
|
+
* */
|
|
7
|
+
export function getElementCapacity(element) {
|
|
8
|
+
const _element = toNativeElement(element);
|
|
9
|
+
const computedStyle = window.getComputedStyle(_element);
|
|
10
|
+
return pxToNum(computedStyle.width) - pxToNum(computedStyle.paddingLeft) - pxToNum(computedStyle.paddingRight);
|
|
11
|
+
}
|
|
12
|
+
/** Return elements width
|
|
13
|
+
* @param element - HTMLelement or element reference
|
|
14
|
+
* @param withMargin - weather to add element margins to width
|
|
15
|
+
* */
|
|
16
|
+
export function getElementWidth(element, withMargin) {
|
|
17
|
+
const _element = toNativeElement(element);
|
|
18
|
+
const computedStyle = getComputedStyle(_element);
|
|
19
|
+
return withMargin
|
|
20
|
+
? pxToNum(computedStyle.width) + pxToNum(computedStyle.marginLeft) + pxToNum(computedStyle.marginRight)
|
|
21
|
+
: pxToNum(computedStyle.width);
|
|
22
|
+
}
|
|
23
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWxlbWVudC1zaXplLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jZGsvc3JjL2xpYi91dGlscy9mdW5jdGlvbnMvZWxlbWVudC1zaXplLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFM0MsTUFBTSxDQUFDLE1BQU0sT0FBTyxHQUFHLENBQUMsTUFBYyxFQUFVLEVBQUUsQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUFDLE9BQU8sQ0FBQyxJQUFJLEVBQUUsRUFBRSxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUM7QUFFekYsTUFBTSxDQUFDLE1BQU0sZUFBZSxHQUFHLENBQUMsT0FBaUMsRUFBZSxFQUFFLENBQzlFLE9BQU8sWUFBWSxVQUFVLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxhQUFhLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQztBQUVwRTs7S0FFSztBQUNMLE1BQU0sVUFBVSxrQkFBa0IsQ0FBQyxPQUFpQztJQUNoRSxNQUFNLFFBQVEsR0FBRyxlQUFlLENBQUMsT0FBTyxDQUFDLENBQUM7SUFDMUMsTUFBTSxhQUFhLEdBQUcsTUFBTSxDQUFDLGdCQUFnQixDQUFDLFFBQVEsQ0FBQyxDQUFDO0lBRXhELE9BQU8sT0FBTyxDQUFDLGFBQWEsQ0FBQyxLQUFLLENBQUMsR0FBRyxPQUFPLENBQUMsYUFBYSxDQUFDLFdBQVcsQ0FBQyxHQUFHLE9BQU8sQ0FBQyxhQUFhLENBQUMsWUFBWSxDQUFDLENBQUM7QUFDbkgsQ0FBQztBQUVEOzs7S0FHSztBQUNMLE1BQU0sVUFBVSxlQUFlLENBQUMsT0FBaUMsRUFBRSxVQUFvQjtJQUNuRixNQUFNLFFBQVEsR0FBRyxlQUFlLENBQUMsT0FBTyxDQUFDLENBQUM7SUFDMUMsTUFBTSxhQUFhLEdBQUcsZ0JBQWdCLENBQUMsUUFBUSxDQUFDLENBQUM7SUFFakQsT0FBTyxVQUFVO1FBQ2IsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxhQUFhLENBQUMsS0FBSyxDQUFDLEdBQUcsT0FBTyxDQUFDLGFBQWEsQ0FBQyxVQUFVLENBQUMsR0FBRyxPQUFPLENBQUMsYUFBYSxDQUFDLFdBQVcsQ0FBQztRQUN2RyxDQUFDLENBQUMsT0FBTyxDQUFDLGFBQWEsQ0FBQyxLQUFLLENBQUMsQ0FBQztBQUN2QyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRWxlbWVudFJlZiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5leHBvcnQgY29uc3QgcHhUb051bSA9IChwaXhlbHM6IHN0cmluZyk6IG51bWJlciA9PiBOdW1iZXIocGl4ZWxzLnJlcGxhY2UoJ3B4JywgJycpKSB8fCAwO1xuXG5leHBvcnQgY29uc3QgdG9OYXRpdmVFbGVtZW50ID0gKGVsZW1lbnQ6IEhUTUxFbGVtZW50IHwgRWxlbWVudFJlZik6IEhUTUxFbGVtZW50ID0+XG4gICAgZWxlbWVudCBpbnN0YW5jZW9mIEVsZW1lbnRSZWYgPyBlbGVtZW50Lm5hdGl2ZUVsZW1lbnQgOiBlbGVtZW50O1xuXG4vKiogUmV0dXJuIGVsZW1lbnRzIGNhcGFjaXR5ICh3aWR0aCBzdWJ0cmFjdCBieSBlbGVtZW50IHBhZGRpbmcpXG4gKiBAcGFyYW0gZWxlbWVudCAtIEhUTUxlbGVtZW50IG9yIGVsZW1lbnQgcmVmZXJlbmNlXG4gKiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGdldEVsZW1lbnRDYXBhY2l0eShlbGVtZW50OiBIVE1MRWxlbWVudCB8IEVsZW1lbnRSZWYpOiBudW1iZXIge1xuICAgIGNvbnN0IF9lbGVtZW50ID0gdG9OYXRpdmVFbGVtZW50KGVsZW1lbnQpO1xuICAgIGNvbnN0IGNvbXB1dGVkU3R5bGUgPSB3aW5kb3cuZ2V0Q29tcHV0ZWRTdHlsZShfZWxlbWVudCk7XG5cbiAgICByZXR1cm4gcHhUb051bShjb21wdXRlZFN0eWxlLndpZHRoKSAtIHB4VG9OdW0oY29tcHV0ZWRTdHlsZS5wYWRkaW5nTGVmdCkgLSBweFRvTnVtKGNvbXB1dGVkU3R5bGUucGFkZGluZ1JpZ2h0KTtcbn1cblxuLyoqIFJldHVybiBlbGVtZW50cyB3aWR0aFxuICogQHBhcmFtIGVsZW1lbnQgLSBIVE1MZWxlbWVudCBvciBlbGVtZW50IHJlZmVyZW5jZVxuICogQHBhcmFtIHdpdGhNYXJnaW4gLSB3ZWF0aGVyIHRvIGFkZCBlbGVtZW50IG1hcmdpbnMgdG8gd2lkdGhcbiAqICovXG5leHBvcnQgZnVuY3Rpb24gZ2V0RWxlbWVudFdpZHRoKGVsZW1lbnQ6IEhUTUxFbGVtZW50IHwgRWxlbWVudFJlZiwgd2l0aE1hcmdpbj86IGJvb2xlYW4pOiBudW1iZXIge1xuICAgIGNvbnN0IF9lbGVtZW50ID0gdG9OYXRpdmVFbGVtZW50KGVsZW1lbnQpO1xuICAgIGNvbnN0IGNvbXB1dGVkU3R5bGUgPSBnZXRDb21wdXRlZFN0eWxlKF9lbGVtZW50KTtcblxuICAgIHJldHVybiB3aXRoTWFyZ2luXG4gICAgICAgID8gcHhUb051bShjb21wdXRlZFN0eWxlLndpZHRoKSArIHB4VG9OdW0oY29tcHV0ZWRTdHlsZS5tYXJnaW5MZWZ0KSArIHB4VG9OdW0oY29tcHV0ZWRTdHlsZS5tYXJnaW5SaWdodClcbiAgICAgICAgOiBweFRvTnVtKGNvbXB1dGVkU3R5bGUud2lkdGgpO1xufVxuIl19
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
/** Get document font size in pixels. */
|
|
2
|
+
export function getDocumentFontSize() {
|
|
3
|
+
return document?.documentElement ? parseFloat(getComputedStyle(document.documentElement).fontSize) : 16;
|
|
4
|
+
}
|
|
5
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2V0LWRvY3VtZW50LWZvbnQtc2l6ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY2RrL3NyYy9saWIvdXRpbHMvZnVuY3Rpb25zL2dldC1kb2N1bWVudC1mb250LXNpemUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsd0NBQXdDO0FBQ3hDLE1BQU0sVUFBVSxtQkFBbUI7SUFDL0IsT0FBTyxRQUFRLEVBQUUsZUFBZSxDQUFDLENBQUMsQ0FBQyxVQUFVLENBQUMsZ0JBQWdCLENBQUMsUUFBUSxDQUFDLGVBQWUsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUM7QUFDNUcsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qKiBHZXQgZG9jdW1lbnQgZm9udCBzaXplIGluIHBpeGVscy4gKi9cbmV4cG9ydCBmdW5jdGlvbiBnZXREb2N1bWVudEZvbnRTaXplKCk6IG51bWJlciB7XG4gICAgcmV0dXJuIGRvY3VtZW50Py5kb2N1bWVudEVsZW1lbnQgPyBwYXJzZUZsb2F0KGdldENvbXB1dGVkU3R5bGUoZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50KS5mb250U2l6ZSkgOiAxNjtcbn1cbiJdfQ==
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
export * from './key-util';
|
|
2
|
+
export * from './element-size';
|
|
3
|
+
export * from './uuidv4-generator';
|
|
4
|
+
export * from './parser-file-size';
|
|
5
|
+
export * from './scroll';
|
|
6
|
+
export * from './random-color-accent';
|
|
7
|
+
export * from './resize-observable';
|
|
8
|
+
export * from './intersection-observable';
|
|
9
|
+
export * from './is-compact-density';
|
|
10
|
+
export * from './module-deprecations-provider';
|
|
11
|
+
export * from './consumer-provider-factory';
|
|
12
|
+
export * from './get-document-font-size';
|
|
13
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL2Nkay9zcmMvbGliL3V0aWxzL2Z1bmN0aW9ucy9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLFlBQVksQ0FBQztBQUMzQixjQUFjLGdCQUFnQixDQUFDO0FBQy9CLGNBQWMsb0JBQW9CLENBQUM7QUFDbkMsY0FBYyxvQkFBb0IsQ0FBQztBQUNuQyxjQUFjLFVBQVUsQ0FBQztBQUN6QixjQUFjLHVCQUF1QixDQUFDO0FBQ3RDLGNBQWMscUJBQXFCLENBQUM7QUFDcEMsY0FBYywyQkFBMkIsQ0FBQztBQUMxQyxjQUFjLHNCQUFzQixDQUFDO0FBQ3JDLGNBQWMsZ0NBQWdDLENBQUM7QUFDL0MsY0FBYyw2QkFBNkIsQ0FBQztBQUM1QyxjQUFjLDBCQUEwQixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi9rZXktdXRpbCc7XG5leHBvcnQgKiBmcm9tICcuL2VsZW1lbnQtc2l6ZSc7XG5leHBvcnQgKiBmcm9tICcuL3V1aWR2NC1nZW5lcmF0b3InO1xuZXhwb3J0ICogZnJvbSAnLi9wYXJzZXItZmlsZS1zaXplJztcbmV4cG9ydCAqIGZyb20gJy4vc2Nyb2xsJztcbmV4cG9ydCAqIGZyb20gJy4vcmFuZG9tLWNvbG9yLWFjY2VudCc7XG5leHBvcnQgKiBmcm9tICcuL3Jlc2l6ZS1vYnNlcnZhYmxlJztcbmV4cG9ydCAqIGZyb20gJy4vaW50ZXJzZWN0aW9uLW9ic2VydmFibGUnO1xuZXhwb3J0ICogZnJvbSAnLi9pcy1jb21wYWN0LWRlbnNpdHknO1xuZXhwb3J0ICogZnJvbSAnLi9tb2R1bGUtZGVwcmVjYXRpb25zLXByb3ZpZGVyJztcbmV4cG9ydCAqIGZyb20gJy4vY29uc3VtZXItcHJvdmlkZXItZmFjdG9yeSc7XG5leHBvcnQgKiBmcm9tICcuL2dldC1kb2N1bWVudC1mb250LXNpemUnO1xuIl19
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
import { NEVER, Observable } from 'rxjs';
|
|
2
|
+
/**
|
|
3
|
+
* RxJS wrapper for IntersectionObserver class.
|
|
4
|
+
* @param target HTML element to spy on.
|
|
5
|
+
* @param options @see {IntersectionObserverInit}
|
|
6
|
+
* @returns {Observable} with observer entries.
|
|
7
|
+
*/
|
|
8
|
+
export function intersectionObservable(target, options) {
|
|
9
|
+
if ('IntersectionObserver' in window) {
|
|
10
|
+
return new Observable((subscriber) => {
|
|
11
|
+
const io = new IntersectionObserver((entries) => {
|
|
12
|
+
subscriber.next(entries);
|
|
13
|
+
}, options);
|
|
14
|
+
io.observe(target);
|
|
15
|
+
return function unsubscribe() {
|
|
16
|
+
io.disconnect();
|
|
17
|
+
};
|
|
18
|
+
});
|
|
19
|
+
}
|
|
20
|
+
else {
|
|
21
|
+
// If browser doesn't support IntersectionObserver API never emit a value
|
|
22
|
+
// since we're not supporting IE11 and any other browser should have it.
|
|
23
|
+
return NEVER;
|
|
24
|
+
}
|
|
25
|
+
}
|
|
26
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW50ZXJzZWN0aW9uLW9ic2VydmFibGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL2Nkay9zcmMvbGliL3V0aWxzL2Z1bmN0aW9ucy9pbnRlcnNlY3Rpb24tb2JzZXJ2YWJsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsS0FBSyxFQUFFLFVBQVUsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUV6Qzs7Ozs7R0FLRztBQUNILE1BQU0sVUFBVSxzQkFBc0IsQ0FDbEMsTUFBZSxFQUNmLE9BQWtDO0lBRWxDLElBQUksc0JBQXNCLElBQUksTUFBTSxFQUFFO1FBQ2xDLE9BQU8sSUFBSSxVQUFVLENBQUMsQ0FBQyxVQUFVLEVBQUUsRUFBRTtZQUNqQyxNQUFNLEVBQUUsR0FBRyxJQUFJLG9CQUFvQixDQUFDLENBQUMsT0FBTyxFQUFFLEVBQUU7Z0JBQzVDLFVBQVUsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUM7WUFDN0IsQ0FBQyxFQUFFLE9BQU8sQ0FBQyxDQUFDO1lBRVosRUFBRSxDQUFDLE9BQU8sQ0FBQyxNQUFNLENBQUMsQ0FBQztZQUVuQixPQUFPLFNBQVMsV0FBVztnQkFDdkIsRUFBRSxDQUFDLFVBQVUsRUFBRSxDQUFDO1lBQ3BCLENBQUMsQ0FBQztRQUNOLENBQUMsQ0FBQyxDQUFDO0tBQ047U0FBTTtRQUNILHlFQUF5RTtRQUN6RSx3RUFBd0U7UUFDeEUsT0FBTyxLQUFLLENBQUM7S0FDaEI7QUFDTCxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTkVWRVIsIE9ic2VydmFibGUgfSBmcm9tICdyeGpzJztcblxuLyoqXG4gKiBSeEpTIHdyYXBwZXIgZm9yIEludGVyc2VjdGlvbk9ic2VydmVyIGNsYXNzLlxuICogQHBhcmFtIHRhcmdldCBIVE1MIGVsZW1lbnQgdG8gc3B5IG9uLlxuICogQHBhcmFtIG9wdGlvbnMgQHNlZSB7SW50ZXJzZWN0aW9uT2JzZXJ2ZXJJbml0fVxuICogQHJldHVybnMge09ic2VydmFibGV9IHdpdGggb2JzZXJ2ZXIgZW50cmllcy5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGludGVyc2VjdGlvbk9ic2VydmFibGUoXG4gICAgdGFyZ2V0OiBFbGVtZW50LFxuICAgIG9wdGlvbnM/OiBJbnRlcnNlY3Rpb25PYnNlcnZlckluaXRcbik6IE9ic2VydmFibGU8SW50ZXJzZWN0aW9uT2JzZXJ2ZXJFbnRyeVtdPiB7XG4gICAgaWYgKCdJbnRlcnNlY3Rpb25PYnNlcnZlcicgaW4gd2luZG93KSB7XG4gICAgICAgIHJldHVybiBuZXcgT2JzZXJ2YWJsZSgoc3Vic2NyaWJlcikgPT4ge1xuICAgICAgICAgICAgY29uc3QgaW8gPSBuZXcgSW50ZXJzZWN0aW9uT2JzZXJ2ZXIoKGVudHJpZXMpID0+IHtcbiAgICAgICAgICAgICAgICBzdWJzY3JpYmVyLm5leHQoZW50cmllcyk7XG4gICAgICAgICAgICB9LCBvcHRpb25zKTtcblxuICAgICAgICAgICAgaW8ub2JzZXJ2ZSh0YXJnZXQpO1xuXG4gICAgICAgICAgICByZXR1cm4gZnVuY3Rpb24gdW5zdWJzY3JpYmUoKTogdm9pZCB7XG4gICAgICAgICAgICAgICAgaW8uZGlzY29ubmVjdCgpO1xuICAgICAgICAgICAgfTtcbiAgICAgICAgfSk7XG4gICAgfSBlbHNlIHtcbiAgICAgICAgLy8gSWYgYnJvd3NlciBkb2Vzbid0IHN1cHBvcnQgSW50ZXJzZWN0aW9uT2JzZXJ2ZXIgQVBJIG5ldmVyIGVtaXQgYSB2YWx1ZVxuICAgICAgICAvLyBzaW5jZSB3ZSdyZSBub3Qgc3VwcG9ydGluZyBJRTExIGFuZCBhbnkgb3RoZXIgYnJvd3NlciBzaG91bGQgaGF2ZSBpdC5cbiAgICAgICAgcmV0dXJuIE5FVkVSO1xuICAgIH1cbn1cbiJdfQ==
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
/** Determines whether provided value is valid content density */
|
|
2
|
+
export function isValidContentDensity(size) {
|
|
3
|
+
return size === 'cozy' || size === 'compact' || size === 'condensed';
|
|
4
|
+
}
|
|
5
|
+
/**
|
|
6
|
+
* Determines if "compact" styles should be applied based on provided content density
|
|
7
|
+
*/
|
|
8
|
+
export function isCompactDensity(size) {
|
|
9
|
+
return isValidContentDensity(size) && size !== 'cozy';
|
|
10
|
+
}
|
|
11
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaXMtY29tcGFjdC1kZW5zaXR5LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jZGsvc3JjL2xpYi91dGlscy9mdW5jdGlvbnMvaXMtY29tcGFjdC1kZW5zaXR5LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUVBLGlFQUFpRTtBQUNqRSxNQUFNLFVBQVUscUJBQXFCLENBQUMsSUFBUztJQUMzQyxPQUFPLElBQUksS0FBSyxNQUFNLElBQUksSUFBSSxLQUFLLFNBQVMsSUFBSSxJQUFJLEtBQUssV0FBVyxDQUFDO0FBQ3pFLENBQUM7QUFFRDs7R0FFRztBQUNILE1BQU0sVUFBVSxnQkFBZ0IsQ0FBQyxJQUFvQjtJQUNqRCxPQUFPLHFCQUFxQixDQUFDLElBQUksQ0FBQyxJQUFJLElBQUksS0FBSyxNQUFNLENBQUM7QUFDMUQsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbnRlbnREZW5zaXR5IH0gZnJvbSAnLi4vaW50ZXJmYWNlcy9jb250ZW50LWRlbnNpdHknO1xuXG4vKiogRGV0ZXJtaW5lcyB3aGV0aGVyIHByb3ZpZGVkIHZhbHVlIGlzIHZhbGlkIGNvbnRlbnQgZGVuc2l0eSAqL1xuZXhwb3J0IGZ1bmN0aW9uIGlzVmFsaWRDb250ZW50RGVuc2l0eShzaXplOiBhbnkpOiBzaXplIGlzIENvbnRlbnREZW5zaXR5IHtcbiAgICByZXR1cm4gc2l6ZSA9PT0gJ2NvenknIHx8IHNpemUgPT09ICdjb21wYWN0JyB8fCBzaXplID09PSAnY29uZGVuc2VkJztcbn1cblxuLyoqXG4gKiBEZXRlcm1pbmVzIGlmIFwiY29tcGFjdFwiIHN0eWxlcyBzaG91bGQgYmUgYXBwbGllZCBiYXNlZCBvbiBwcm92aWRlZCBjb250ZW50IGRlbnNpdHlcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGlzQ29tcGFjdERlbnNpdHkoc2l6ZTogQ29udGVudERlbnNpdHkpOiBib29sZWFuIHtcbiAgICByZXR1cm4gaXNWYWxpZENvbnRlbnREZW5zaXR5KHNpemUpICYmIHNpemUgIT09ICdjb3p5Jztcbn1cbiJdfQ==
|