@odx/angular 1.0.0-rc.6 → 1.0.0-rc.7
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/cdk/connected-overlay/README.md +3 -0
- package/cdk/connected-overlay/index.d.ts +3 -0
- package/cdk/connected-overlay/lib/connected-overlay.component.d.ts +28 -0
- package/cdk/connected-overlay/lib/connected-overlay.service.d.ts +10 -0
- package/cdk/connected-overlay/lib/helpers/compute-overlay-position.d.ts +3 -0
- package/cdk/connected-overlay/lib/helpers/get-opposite-overlay-side.d.ts +2 -0
- package/cdk/connected-overlay/lib/helpers/get-overlay-side.d.ts +2 -0
- package/cdk/connected-overlay/lib/helpers/index.d.ts +3 -0
- package/cdk/connected-overlay/lib/models/connected-overlay-options.d.ts +23 -0
- package/cdk/connected-overlay/lib/models/connected-overlay-ref.d.ts +12 -0
- package/cdk/connected-overlay/lib/models/index.d.ts +2 -0
- package/cdk/dynamic-view/lib/models/dynamic-view-options.d.ts +1 -1
- package/components/circular-progress/lib/circular-progress.component.d.ts +1 -0
- package/components/dropdown/README.md +3 -0
- package/components/dropdown/index.d.ts +3 -0
- package/components/dropdown/lib/dropdown.component.d.ts +11 -0
- package/components/dropdown/lib/dropdown.directive.d.ts +32 -0
- package/components/dropdown/lib/dropdown.module.d.ts +8 -0
- package/components/dropdown/lib/models/dropdown-options.d.ts +3 -0
- package/components/dropdown/lib/models/index.d.ts +1 -0
- package/components/inline-message/README.md +3 -0
- package/components/inline-message/index.d.ts +2 -0
- package/components/inline-message/lib/inline-message.component.d.ts +9 -0
- package/components/inline-message/lib/models/inline-message-variant.d.ts +7 -0
- package/components/loading-spinner/lib/loading-spinner.component.d.ts +2 -2
- package/components/loading-spinner/lib/loading-spinner.directive.d.ts +6 -7
- package/components/select/README.md +3 -0
- package/components/select/index.d.ts +7 -0
- package/components/select/lib/abstract/index.d.ts +2 -0
- package/components/select/lib/abstract/select-control-option.d.ts +7 -0
- package/components/select/lib/abstract/select-control.d.ts +11 -0
- package/components/select/lib/components/index.d.ts +1 -0
- package/components/select/lib/components/option/option.component.d.ts +22 -0
- package/components/select/lib/directives/index.d.ts +1 -0
- package/components/select/lib/directives/select-search-field.directive.d.ts +13 -0
- package/components/select/lib/pipes/index.d.ts +1 -0
- package/components/select/lib/pipes/select-search-filter.pipe.d.ts +13 -0
- package/components/select/lib/select.component.d.ts +50 -0
- package/components/select/lib/select.module.d.ts +11 -0
- package/components/select/lib/select.tokens.d.ts +3 -0
- package/components/spinbox/README.md +3 -0
- package/components/spinbox/index.d.ts +1 -0
- package/components/spinbox/lib/spinbox.component.d.ts +25 -0
- package/components/tooltip/README.md +3 -0
- package/components/tooltip/index.d.ts +3 -0
- package/components/tooltip/lib/helpers/index.d.ts +1 -0
- package/components/tooltip/lib/helpers/resolve-tooltip-trigger-events.d.ts +2 -0
- package/components/tooltip/lib/models/index.d.ts +3 -0
- package/components/tooltip/lib/models/tooltip-options.d.ts +10 -0
- package/components/tooltip/lib/models/tooltip-size.d.ts +7 -0
- package/components/tooltip/lib/models/tooltip-trigger.d.ts +1 -0
- package/components/tooltip/lib/tooltip.component.d.ts +12 -0
- package/components/tooltip/lib/tooltip.directive.d.ts +33 -0
- package/esm2020/cdk/connected-overlay/index.mjs +4 -0
- package/esm2020/cdk/connected-overlay/lib/connected-overlay.component.mjs +112 -0
- package/esm2020/cdk/connected-overlay/lib/connected-overlay.service.mjs +25 -0
- package/esm2020/cdk/connected-overlay/lib/helpers/compute-overlay-position.mjs +57 -0
- package/esm2020/cdk/connected-overlay/lib/helpers/get-opposite-overlay-side.mjs +13 -0
- package/esm2020/cdk/connected-overlay/lib/helpers/get-overlay-side.mjs +4 -0
- package/esm2020/cdk/connected-overlay/lib/helpers/index.mjs +4 -0
- package/esm2020/cdk/connected-overlay/lib/models/connected-overlay-options.mjs +10 -0
- package/esm2020/cdk/connected-overlay/lib/models/connected-overlay-ref.mjs +15 -0
- package/esm2020/cdk/connected-overlay/lib/models/index.mjs +3 -0
- package/esm2020/cdk/connected-overlay/odx-angular-cdk-connected-overlay.mjs +5 -0
- package/esm2020/cdk/dynamic-view/lib/models/dynamic-component-ref.mjs +5 -3
- package/esm2020/cdk/dynamic-view/lib/models/dynamic-template-ref.mjs +4 -2
- package/esm2020/cdk/dynamic-view/lib/models/dynamic-view-options.mjs +1 -1
- package/esm2020/components/accordion/lib/components/accordion-item/accordion-item.component.mjs +3 -3
- package/esm2020/components/circular-progress/lib/circular-progress.component.mjs +11 -4
- package/esm2020/components/dropdown/index.mjs +4 -0
- package/esm2020/components/dropdown/lib/dropdown.component.mjs +31 -0
- package/esm2020/components/dropdown/lib/dropdown.directive.mjs +123 -0
- package/esm2020/components/dropdown/lib/dropdown.module.mjs +18 -0
- package/esm2020/components/dropdown/lib/models/dropdown-options.mjs +7 -0
- package/esm2020/components/dropdown/lib/models/index.mjs +2 -0
- package/esm2020/components/dropdown/odx-angular-components-dropdown.mjs +5 -0
- package/esm2020/components/inline-message/index.mjs +3 -0
- package/esm2020/components/inline-message/lib/inline-message.component.mjs +43 -0
- package/esm2020/components/inline-message/lib/models/inline-message-variant.mjs +7 -0
- package/esm2020/components/inline-message/odx-angular-components-inline-message.mjs +5 -0
- package/esm2020/components/loading-spinner/lib/loading-spinner.component.mjs +7 -7
- package/esm2020/components/loading-spinner/lib/loading-spinner.directive.mjs +28 -24
- package/esm2020/components/main-menu/lib/main-menu.component.mjs +3 -3
- package/esm2020/components/select/index.mjs +8 -0
- package/esm2020/components/select/lib/abstract/index.mjs +3 -0
- package/esm2020/components/select/lib/abstract/select-control-option.mjs +2 -0
- package/esm2020/components/select/lib/abstract/select-control.mjs +2 -0
- package/esm2020/components/select/lib/components/index.mjs +2 -0
- package/esm2020/components/select/lib/components/option/option.component.mjs +78 -0
- package/esm2020/components/select/lib/directives/index.mjs +2 -0
- package/esm2020/components/select/lib/directives/select-search-field.directive.mjs +47 -0
- package/esm2020/components/select/lib/pipes/index.mjs +2 -0
- package/esm2020/components/select/lib/pipes/select-search-filter.pipe.mjs +51 -0
- package/esm2020/components/select/lib/select.component.mjs +190 -0
- package/esm2020/components/select/lib/select.module.mjs +21 -0
- package/esm2020/components/select/lib/select.tokens.mjs +3 -0
- package/esm2020/components/select/odx-angular-components-select.mjs +5 -0
- package/esm2020/components/spinbox/index.mjs +2 -0
- package/esm2020/components/spinbox/lib/spinbox.component.mjs +91 -0
- package/esm2020/components/spinbox/odx-angular-components-spinbox.mjs +5 -0
- package/esm2020/components/tooltip/index.mjs +4 -0
- package/esm2020/components/tooltip/lib/helpers/index.mjs +2 -0
- package/esm2020/components/tooltip/lib/helpers/resolve-tooltip-trigger-events.mjs +9 -0
- package/esm2020/components/tooltip/lib/models/index.mjs +4 -0
- package/esm2020/components/tooltip/lib/models/tooltip-options.mjs +10 -0
- package/esm2020/components/tooltip/lib/models/tooltip-size.mjs +7 -0
- package/esm2020/components/tooltip/lib/models/tooltip-trigger.mjs +2 -0
- package/esm2020/components/tooltip/lib/tooltip.component.mjs +39 -0
- package/esm2020/components/tooltip/lib/tooltip.directive.mjs +132 -0
- package/esm2020/components/tooltip/odx-angular-components-tooltip.mjs +5 -0
- package/esm2020/index.mjs +2 -1
- package/esm2020/lib/tokens/identity-matcher.mjs +7 -0
- package/esm2020/lib/tokens/index.mjs +4 -0
- package/esm2020/lib/tokens/string-search-handler.mjs +9 -0
- package/esm2020/lib/tokens/stringify.mjs +8 -0
- package/esm2020/rxjs/index.mjs +2 -1
- package/esm2020/rxjs/lib/delay-until.mjs +5 -0
- package/esm2020/utils/lib/decorators/index.mjs +2 -1
- package/esm2020/utils/lib/decorators/pure.mjs +37 -0
- package/esm2020/utils/lib/helpers/defer-fn.mjs +4 -0
- package/esm2020/utils/lib/helpers/event-manager.mjs +30 -0
- package/esm2020/utils/lib/helpers/index.mjs +3 -1
- package/fesm2015/odx-angular-cdk-connected-overlay.mjs +234 -0
- package/fesm2015/odx-angular-cdk-connected-overlay.mjs.map +1 -0
- package/fesm2015/odx-angular-cdk-dynamic-view.mjs +6 -3
- package/fesm2015/odx-angular-cdk-dynamic-view.mjs.map +1 -1
- package/fesm2015/odx-angular-components-accordion.mjs +2 -2
- package/fesm2015/odx-angular-components-accordion.mjs.map +1 -1
- package/fesm2015/odx-angular-components-circular-progress.mjs +10 -3
- package/fesm2015/odx-angular-components-circular-progress.mjs.map +1 -1
- package/fesm2015/odx-angular-components-dropdown.mjs +168 -0
- package/fesm2015/odx-angular-components-dropdown.mjs.map +1 -0
- package/fesm2015/odx-angular-components-inline-message.mjs +55 -0
- package/fesm2015/odx-angular-components-inline-message.mjs.map +1 -0
- package/fesm2015/odx-angular-components-loading-spinner.mjs +75 -85
- package/fesm2015/odx-angular-components-loading-spinner.mjs.map +1 -1
- package/fesm2015/odx-angular-components-main-menu.mjs +2 -2
- package/fesm2015/odx-angular-components-main-menu.mjs.map +1 -1
- package/fesm2015/odx-angular-components-select.mjs +375 -0
- package/fesm2015/odx-angular-components-select.mjs.map +1 -0
- package/fesm2015/odx-angular-components-spinbox.mjs +100 -0
- package/fesm2015/odx-angular-components-spinbox.mjs.map +1 -0
- package/fesm2015/odx-angular-components-tooltip.mjs +187 -0
- package/fesm2015/odx-angular-components-tooltip.mjs.map +1 -0
- package/fesm2015/odx-angular-rxjs.mjs +6 -2
- package/fesm2015/odx-angular-rxjs.mjs.map +1 -1
- package/fesm2015/odx-angular-utils.mjs +72 -2
- package/fesm2015/odx-angular-utils.mjs.map +1 -1
- package/fesm2015/odx-angular.mjs +21 -1
- package/fesm2015/odx-angular.mjs.map +1 -1
- package/fesm2020/odx-angular-cdk-connected-overlay.mjs +230 -0
- package/fesm2020/odx-angular-cdk-connected-overlay.mjs.map +1 -0
- package/fesm2020/odx-angular-cdk-dynamic-view.mjs +6 -3
- package/fesm2020/odx-angular-cdk-dynamic-view.mjs.map +1 -1
- package/fesm2020/odx-angular-components-accordion.mjs +2 -2
- package/fesm2020/odx-angular-components-accordion.mjs.map +1 -1
- package/fesm2020/odx-angular-components-circular-progress.mjs +10 -3
- package/fesm2020/odx-angular-components-circular-progress.mjs.map +1 -1
- package/fesm2020/odx-angular-components-dropdown.mjs +172 -0
- package/fesm2020/odx-angular-components-dropdown.mjs.map +1 -0
- package/fesm2020/odx-angular-components-inline-message.mjs +55 -0
- package/fesm2020/odx-angular-components-inline-message.mjs.map +1 -0
- package/fesm2020/odx-angular-components-loading-spinner.mjs +74 -84
- package/fesm2020/odx-angular-components-loading-spinner.mjs.map +1 -1
- package/fesm2020/odx-angular-components-main-menu.mjs +2 -2
- package/fesm2020/odx-angular-components-main-menu.mjs.map +1 -1
- package/fesm2020/odx-angular-components-select.mjs +362 -0
- package/fesm2020/odx-angular-components-select.mjs.map +1 -0
- package/fesm2020/odx-angular-components-spinbox.mjs +97 -0
- package/fesm2020/odx-angular-components-spinbox.mjs.map +1 -0
- package/fesm2020/odx-angular-components-tooltip.mjs +192 -0
- package/fesm2020/odx-angular-components-tooltip.mjs.map +1 -0
- package/fesm2020/odx-angular-rxjs.mjs +6 -2
- package/fesm2020/odx-angular-rxjs.mjs.map +1 -1
- package/fesm2020/odx-angular-utils.mjs +71 -2
- package/fesm2020/odx-angular-utils.mjs.map +1 -1
- package/fesm2020/odx-angular.mjs +21 -1
- package/fesm2020/odx-angular.mjs.map +1 -1
- package/index.d.ts +1 -0
- package/lib/tokens/identity-matcher.d.ts +3 -0
- package/lib/tokens/index.d.ts +3 -0
- package/lib/tokens/string-search-handler.d.ts +3 -0
- package/lib/tokens/stringify.d.ts +3 -0
- package/package.json +50 -2
- package/rxjs/index.d.ts +1 -0
- package/rxjs/lib/delay-until.d.ts +2 -0
- package/utils/lib/decorators/index.d.ts +1 -0
- package/utils/lib/decorators/pure.d.ts +1 -0
- package/utils/lib/helpers/defer-fn.d.ts +1 -0
- package/utils/lib/helpers/event-manager.d.ts +12 -0
- package/utils/lib/helpers/index.d.ts +2 -0
- package/components/loading-spinner/lib/loading-spinner.service.d.ts +0 -9
- package/esm2020/components/loading-spinner/lib/loading-spinner.service.mjs +0 -17
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
export * from './lib/helpers';
|
|
2
|
+
export * from './lib/models';
|
|
3
|
+
export * from './lib/tooltip.directive';
|
|
4
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL2FuZ3VsYXIvY29tcG9uZW50cy90b29sdGlwL3NyYy9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLGVBQWUsQ0FBQztBQUM5QixjQUFjLGNBQWMsQ0FBQztBQUM3QixjQUFjLHlCQUF5QixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi9saWIvaGVscGVycyc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9tb2RlbHMnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvdG9vbHRpcC5kaXJlY3RpdmUnO1xuIl19
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
export * from './resolve-tooltip-trigger-events';
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2FuZ3VsYXIvY29tcG9uZW50cy90b29sdGlwL3NyYy9saWIvaGVscGVycy9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLGtDQUFrQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi9yZXNvbHZlLXRvb2x0aXAtdHJpZ2dlci1ldmVudHMnO1xuIl19
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
export function resolveTooltipTriggerEvents(trigger) {
|
|
2
|
+
if (trigger === 'click') {
|
|
3
|
+
return ['click', null];
|
|
4
|
+
}
|
|
5
|
+
else {
|
|
6
|
+
return ['mouseenter', 'mouseleave'];
|
|
7
|
+
}
|
|
8
|
+
}
|
|
9
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVzb2x2ZS10b29sdGlwLXRyaWdnZXItZXZlbnRzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9hbmd1bGFyL2NvbXBvbmVudHMvdG9vbHRpcC9zcmMvbGliL2hlbHBlcnMvcmVzb2x2ZS10b29sdGlwLXRyaWdnZXItZXZlbnRzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUVBLE1BQU0sVUFBVSwyQkFBMkIsQ0FBQyxPQUF1QjtJQUNqRSxJQUFJLE9BQU8sS0FBSyxPQUFPLEVBQUU7UUFDdkIsT0FBTyxDQUFDLE9BQU8sRUFBRSxJQUFJLENBQUMsQ0FBQztLQUN4QjtTQUFNO1FBQ0wsT0FBTyxDQUFDLFlBQVksRUFBRSxZQUFZLENBQUMsQ0FBQztLQUNyQztBQUNILENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBUb29sdGlwVHJpZ2dlciB9IGZyb20gJy4uL21vZGVscyc7XG5cbmV4cG9ydCBmdW5jdGlvbiByZXNvbHZlVG9vbHRpcFRyaWdnZXJFdmVudHModHJpZ2dlcjogVG9vbHRpcFRyaWdnZXIpOiBbc3RyaW5nLCBzdHJpbmcgfCBudWxsXSB7XG4gIGlmICh0cmlnZ2VyID09PSAnY2xpY2snKSB7XG4gICAgcmV0dXJuIFsnY2xpY2snLCBudWxsXTtcbiAgfSBlbHNlIHtcbiAgICByZXR1cm4gWydtb3VzZWVudGVyJywgJ21vdXNlbGVhdmUnXTtcbiAgfVxufVxuIl19
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
export * from './tooltip-options';
|
|
2
|
+
export * from './tooltip-size';
|
|
3
|
+
export * from './tooltip-trigger';
|
|
4
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2FuZ3VsYXIvY29tcG9uZW50cy90b29sdGlwL3NyYy9saWIvbW9kZWxzL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGNBQWMsbUJBQW1CLENBQUM7QUFDbEMsY0FBYyxnQkFBZ0IsQ0FBQztBQUMvQixjQUFjLG1CQUFtQixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi90b29sdGlwLW9wdGlvbnMnO1xuZXhwb3J0ICogZnJvbSAnLi90b29sdGlwLXNpemUnO1xuZXhwb3J0ICogZnJvbSAnLi90b29sdGlwLXRyaWdnZXInO1xuIl19
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { TooltipSize } from './tooltip-size';
|
|
2
|
+
export const DefaultTooltipOptions = {
|
|
3
|
+
matchReferenceWidth: false,
|
|
4
|
+
size: TooltipSize.AUTO,
|
|
5
|
+
trigger: 'hover',
|
|
6
|
+
position: 'top',
|
|
7
|
+
delayIn: 0,
|
|
8
|
+
delayOut: 0,
|
|
9
|
+
};
|
|
10
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidG9vbHRpcC1vcHRpb25zLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9hbmd1bGFyL2NvbXBvbmVudHMvdG9vbHRpcC9zcmMvbGliL21vZGVscy90b29sdGlwLW9wdGlvbnMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBVTdDLE1BQU0sQ0FBQyxNQUFNLHFCQUFxQixHQUFtQjtJQUNuRCxtQkFBbUIsRUFBRSxLQUFLO0lBQzFCLElBQUksRUFBRSxXQUFXLENBQUMsSUFBSTtJQUN0QixPQUFPLEVBQUUsT0FBTztJQUNoQixRQUFRLEVBQUUsS0FBSztJQUNmLE9BQU8sRUFBRSxDQUFDO0lBQ1YsUUFBUSxFQUFFLENBQUM7Q0FDWixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29ubmVjdGVkT3ZlcmxheU9wdGlvbnMgfSBmcm9tICdAb2R4L2FuZ3VsYXIvY2RrL2Nvbm5lY3RlZC1vdmVybGF5JztcbmltcG9ydCB7IFRvb2x0aXBTaXplIH0gZnJvbSAnLi90b29sdGlwLXNpemUnO1xuaW1wb3J0IHsgVG9vbHRpcFRyaWdnZXIgfSBmcm9tICcuL3Rvb2x0aXAtdHJpZ2dlcic7XG5cbmV4cG9ydCBpbnRlcmZhY2UgVG9vbHRpcE9wdGlvbnMgZXh0ZW5kcyBQaWNrPENvbm5lY3RlZE92ZXJsYXlPcHRpb25zLCAncG9zaXRpb24nIHwgJ21hdGNoUmVmZXJlbmNlV2lkdGgnPiB7XG4gIHRyaWdnZXI6IFRvb2x0aXBUcmlnZ2VyO1xuICBkZWxheUluOiBudW1iZXI7XG4gIGRlbGF5T3V0OiBudW1iZXI7XG4gIHNpemU6IFRvb2x0aXBTaXplO1xufVxuXG5leHBvcnQgY29uc3QgRGVmYXVsdFRvb2x0aXBPcHRpb25zOiBUb29sdGlwT3B0aW9ucyA9IHtcbiAgbWF0Y2hSZWZlcmVuY2VXaWR0aDogZmFsc2UsXG4gIHNpemU6IFRvb2x0aXBTaXplLkFVVE8sXG4gIHRyaWdnZXI6ICdob3ZlcicsXG4gIHBvc2l0aW9uOiAndG9wJyxcbiAgZGVsYXlJbjogMCxcbiAgZGVsYXlPdXQ6IDAsXG59O1xuIl19
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
export const TooltipSize = {
|
|
2
|
+
AUTO: 'auto',
|
|
3
|
+
SMALL: 'small',
|
|
4
|
+
MEDIUM: 'medium',
|
|
5
|
+
LARGE: 'large',
|
|
6
|
+
};
|
|
7
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidG9vbHRpcC1zaXplLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9hbmd1bGFyL2NvbXBvbmVudHMvdG9vbHRpcC9zcmMvbGliL21vZGVscy90b29sdGlwLXNpemUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBRUEsTUFBTSxDQUFDLE1BQU0sV0FBVyxHQUFHO0lBQ3pCLElBQUksRUFBRSxNQUFNO0lBQ1osS0FBSyxFQUFFLE9BQU87SUFDZCxNQUFNLEVBQUUsUUFBUTtJQUNoQixLQUFLLEVBQUUsT0FBTztDQUNOLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgdHlwZSBUb29sdGlwU2l6ZSA9IHR5cGVvZiBUb29sdGlwU2l6ZVtrZXlvZiB0eXBlb2YgVG9vbHRpcFNpemVdO1xuXG5leHBvcnQgY29uc3QgVG9vbHRpcFNpemUgPSB7XG4gIEFVVE86ICdhdXRvJyxcbiAgU01BTEw6ICdzbWFsbCcsXG4gIE1FRElVTTogJ21lZGl1bScsXG4gIExBUkdFOiAnbGFyZ2UnLFxufSBhcyBjb25zdDtcbiJdfQ==
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
export {};
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidG9vbHRpcC10cmlnZ2VyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9hbmd1bGFyL2NvbXBvbmVudHMvdG9vbHRpcC9zcmMvbGliL21vZGVscy90b29sdGlwLXRyaWdnZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCB0eXBlIFRvb2x0aXBUcmlnZ2VyID0gJ2hvdmVyJyB8ICdjbGljayc7XG4iXX0=
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
import { __decorate, __metadata } from "tslib";
|
|
2
|
+
import { ChangeDetectionStrategy, Component, Input, ViewEncapsulation } from '@angular/core';
|
|
3
|
+
import { DynamicViewDirective } from '@odx/angular/cdk/dynamic-view';
|
|
4
|
+
import { CSSComponent, CSSModifier } from '@odx/angular/internal';
|
|
5
|
+
import { getInjector, injectElement } from '@odx/angular/utils';
|
|
6
|
+
import { TooltipSize } from './models';
|
|
7
|
+
import * as i0 from "@angular/core";
|
|
8
|
+
let TooltipComponent = class TooltipComponent {
|
|
9
|
+
constructor() {
|
|
10
|
+
this.injector = getInjector();
|
|
11
|
+
this.element = injectElement();
|
|
12
|
+
this.id = null;
|
|
13
|
+
this.size = TooltipSize.AUTO;
|
|
14
|
+
}
|
|
15
|
+
};
|
|
16
|
+
TooltipComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: TooltipComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
17
|
+
TooltipComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.12", type: TooltipComponent, isStandalone: true, selector: "odx-tooltip", inputs: { id: "id", content: "content", size: "size" }, host: { attributes: { "role": "tooltip" }, properties: { "attr.id": "id" } }, ngImport: i0, template: "<ng-template [odxDynamicView]=\"content\" [odxDynamicViewInjector]=\"injector\"></ng-template>\n", dependencies: [{ kind: "directive", type: DynamicViewDirective, selector: "ng-template[odxDynamicView]", inputs: ["odxDynamicView", "odxDynamicViewInjector", "odxDynamicViewContext"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
|
|
18
|
+
__decorate([
|
|
19
|
+
CSSModifier(),
|
|
20
|
+
__metadata("design:type", String)
|
|
21
|
+
], TooltipComponent.prototype, "size", void 0);
|
|
22
|
+
TooltipComponent = __decorate([
|
|
23
|
+
CSSComponent('tooltip')
|
|
24
|
+
], TooltipComponent);
|
|
25
|
+
export { TooltipComponent };
|
|
26
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: TooltipComponent, decorators: [{
|
|
27
|
+
type: Component,
|
|
28
|
+
args: [{ standalone: true, selector: 'odx-tooltip', imports: [DynamicViewDirective], encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, host: {
|
|
29
|
+
'[attr.id]': 'id',
|
|
30
|
+
role: 'tooltip',
|
|
31
|
+
}, template: "<ng-template [odxDynamicView]=\"content\" [odxDynamicViewInjector]=\"injector\"></ng-template>\n" }]
|
|
32
|
+
}], propDecorators: { id: [{
|
|
33
|
+
type: Input
|
|
34
|
+
}], content: [{
|
|
35
|
+
type: Input
|
|
36
|
+
}], size: [{
|
|
37
|
+
type: Input
|
|
38
|
+
}] } });
|
|
39
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidG9vbHRpcC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2FuZ3VsYXIvY29tcG9uZW50cy90b29sdGlwL3NyYy9saWIvdG9vbHRpcC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2FuZ3VsYXIvY29tcG9uZW50cy90b29sdGlwL3NyYy9saWIvdG9vbHRpcC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUFFLHVCQUF1QixFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDN0YsT0FBTyxFQUFzQixvQkFBb0IsRUFBRSxNQUFNLCtCQUErQixDQUFDO0FBQ3pGLE9BQU8sRUFBRSxZQUFZLEVBQUUsV0FBVyxFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFDbEUsT0FBTyxFQUFFLFdBQVcsRUFBRSxhQUFhLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUNoRSxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sVUFBVSxDQUFDOztBQWVoQyxJQUFNLGdCQUFnQixHQUF0QixNQUFNLGdCQUFnQjtJQUF0QjtRQUNjLGFBQVEsR0FBRyxXQUFXLEVBQUUsQ0FBQztRQUM1QixZQUFPLEdBQUcsYUFBYSxFQUFFLENBQUM7UUFHbkMsT0FBRSxHQUFrQixJQUFJLENBQUM7UUFPekIsU0FBSSxHQUFnQixXQUFXLENBQUMsSUFBSSxDQUFDO0tBQzdDOzs4R0FiWSxnQkFBZ0I7a0dBQWhCLGdCQUFnQiw2TUNuQjdCLGtHQUNBLDRDRFNZLG9CQUFvQjtBQW1COUI7SUFBQyxXQUFXLEVBQUU7OzhDQUU4QjtBQVpqQyxnQkFBZ0I7SUFiNUIsWUFBWSxDQUFDLFNBQVMsQ0FBQztHQWFYLGdCQUFnQixDQWE1QjtTQWJZLGdCQUFnQjs0RkFBaEIsZ0JBQWdCO2tCQVo1QixTQUFTO2lDQUNJLElBQUksWUFDTixhQUFhLFdBQ2QsQ0FBQyxvQkFBb0IsQ0FBQyxpQkFFaEIsaUJBQWlCLENBQUMsSUFBSSxtQkFDcEIsdUJBQXVCLENBQUMsTUFBTSxRQUN6Qzt3QkFDSixXQUFXLEVBQUUsSUFBSTt3QkFDakIsSUFBSSxFQUFFLFNBQVM7cUJBQ2hCOzhCQU9NLEVBQUU7c0JBRFIsS0FBSztnQkFJQyxPQUFPO3NCQURiLEtBQUs7Z0JBS0MsSUFBSTtzQkFEVixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksIENvbXBvbmVudCwgSW5wdXQsIFZpZXdFbmNhcHN1bGF0aW9uIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBEeW5hbWljVGV4dENvbnRlbnQsIER5bmFtaWNWaWV3RGlyZWN0aXZlIH0gZnJvbSAnQG9keC9hbmd1bGFyL2Nkay9keW5hbWljLXZpZXcnO1xuaW1wb3J0IHsgQ1NTQ29tcG9uZW50LCBDU1NNb2RpZmllciB9IGZyb20gJ0BvZHgvYW5ndWxhci9pbnRlcm5hbCc7XG5pbXBvcnQgeyBnZXRJbmplY3RvciwgaW5qZWN0RWxlbWVudCB9IGZyb20gJ0BvZHgvYW5ndWxhci91dGlscyc7XG5pbXBvcnQgeyBUb29sdGlwU2l6ZSB9IGZyb20gJy4vbW9kZWxzJztcblxuQENTU0NvbXBvbmVudCgndG9vbHRpcCcpXG5AQ29tcG9uZW50KHtcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgc2VsZWN0b3I6ICdvZHgtdG9vbHRpcCcsXG4gIGltcG9ydHM6IFtEeW5hbWljVmlld0RpcmVjdGl2ZV0sXG4gIHRlbXBsYXRlVXJsOiAnLi90b29sdGlwLmNvbXBvbmVudC5odG1sJyxcbiAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZSxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIGhvc3Q6IHtcbiAgICAnW2F0dHIuaWRdJzogJ2lkJyxcbiAgICByb2xlOiAndG9vbHRpcCcsXG4gIH0sXG59KVxuZXhwb3J0IGNsYXNzIFRvb2x0aXBDb21wb25lbnQge1xuICBwcm90ZWN0ZWQgcmVhZG9ubHkgaW5qZWN0b3IgPSBnZXRJbmplY3RvcigpO1xuICBwdWJsaWMgcmVhZG9ubHkgZWxlbWVudCA9IGluamVjdEVsZW1lbnQoKTtcblxuICBASW5wdXQoKVxuICBwdWJsaWMgaWQ6IHN0cmluZyB8IG51bGwgPSBudWxsO1xuXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBjb250ZW50PzogRHluYW1pY1RleHRDb250ZW50IHwgbnVsbDtcblxuICBAQ1NTTW9kaWZpZXIoKVxuICBASW5wdXQoKVxuICBwdWJsaWMgc2l6ZTogVG9vbHRpcFNpemUgPSBUb29sdGlwU2l6ZS5BVVRPO1xufVxuIiwiPG5nLXRlbXBsYXRlIFtvZHhEeW5hbWljVmlld109XCJjb250ZW50XCIgW29keER5bmFtaWNWaWV3SW5qZWN0b3JdPVwiaW5qZWN0b3JcIj48L25nLXRlbXBsYXRlPlxuIl19
|
|
@@ -0,0 +1,132 @@
|
|
|
1
|
+
var TooltipDirective_1;
|
|
2
|
+
import { __decorate, __metadata } from "tslib";
|
|
3
|
+
import { coerceBooleanProperty } from '@angular/cdk/coercion';
|
|
4
|
+
import { Directive, inject, Input } from '@angular/core';
|
|
5
|
+
import { ConnectedOverlayService } from '@odx/angular/cdk/connected-overlay';
|
|
6
|
+
import { CSSComponent } from '@odx/angular/internal';
|
|
7
|
+
import { delayUntil } from '@odx/angular/rxjs';
|
|
8
|
+
import { EventManager, hasChanged, injectElement, Transform, untilDestroyed } from '@odx/angular/utils';
|
|
9
|
+
import { deepmerge } from 'deepmerge-ts';
|
|
10
|
+
import { filter, merge, Subject, tap } from 'rxjs';
|
|
11
|
+
import { resolveTooltipTriggerEvents } from './helpers';
|
|
12
|
+
import { DefaultTooltipOptions } from './models';
|
|
13
|
+
import { TooltipComponent } from './tooltip.component';
|
|
14
|
+
import * as i0 from "@angular/core";
|
|
15
|
+
let TooltipDirective = TooltipDirective_1 = class TooltipDirective {
|
|
16
|
+
constructor() {
|
|
17
|
+
this.eventManager = inject(EventManager);
|
|
18
|
+
this.connectedOverlayService = inject(ConnectedOverlayService);
|
|
19
|
+
this.showTrigger$$ = new Subject();
|
|
20
|
+
this.hideTrigger$$ = new Subject();
|
|
21
|
+
this.connectedOverlayRef = null;
|
|
22
|
+
this.tooltipOptions = DefaultTooltipOptions;
|
|
23
|
+
this.tooltipId = null;
|
|
24
|
+
this.element = injectElement();
|
|
25
|
+
this.content = null;
|
|
26
|
+
this.disabled = false;
|
|
27
|
+
this.size = null;
|
|
28
|
+
this.visible = false;
|
|
29
|
+
const takeUntilDestroyed = untilDestroyed();
|
|
30
|
+
const show$ = this.showTrigger$$.pipe(filter(() => !this.isOpen), delayUntil(() => this.tooltipOptions.delayIn, this.hideTrigger$$), tap(() => this.show()));
|
|
31
|
+
const hide$ = this.hideTrigger$$.pipe(filter(() => this.isOpen), delayUntil(() => this.tooltipOptions.delayOut, this.showTrigger$$), tap(() => this.hide()));
|
|
32
|
+
merge(show$, hide$).pipe(takeUntilDestroyed()).subscribe();
|
|
33
|
+
}
|
|
34
|
+
set options(value) {
|
|
35
|
+
this.tooltipOptions = deepmerge(DefaultTooltipOptions, value);
|
|
36
|
+
}
|
|
37
|
+
get isOpen() {
|
|
38
|
+
return this.connectedOverlayRef !== null;
|
|
39
|
+
}
|
|
40
|
+
ngOnInit() {
|
|
41
|
+
this.registerEvents();
|
|
42
|
+
}
|
|
43
|
+
ngOnChanges(changes) {
|
|
44
|
+
if (hasChanged(changes, 'disabled') && this.disabled) {
|
|
45
|
+
this.hide();
|
|
46
|
+
}
|
|
47
|
+
if (hasChanged(changes, ['content', 'size'])) {
|
|
48
|
+
this.connectedOverlayRef?.update({ context: { content: this.content, size: this.size } });
|
|
49
|
+
}
|
|
50
|
+
if (hasChanged(changes, 'options')) {
|
|
51
|
+
this.connectedOverlayRef?.update(this.tooltipOptions);
|
|
52
|
+
this.registerEvents();
|
|
53
|
+
}
|
|
54
|
+
if (this.visible && !this.disabled) {
|
|
55
|
+
this.show();
|
|
56
|
+
}
|
|
57
|
+
else {
|
|
58
|
+
this.hide();
|
|
59
|
+
}
|
|
60
|
+
}
|
|
61
|
+
show() {
|
|
62
|
+
if (this.isOpen || this.disabled)
|
|
63
|
+
return;
|
|
64
|
+
this.tooltipId = `odx-tooltip-${TooltipDirective_1.ID++}`;
|
|
65
|
+
this.connectedOverlayRef = this.connectedOverlayService.createOverlay(this.element.nativeElement, {
|
|
66
|
+
...this.tooltipOptions,
|
|
67
|
+
containerClass: 'odx-tooltip-overlay',
|
|
68
|
+
content: TooltipComponent,
|
|
69
|
+
context: { content: this.content, size: this.size, id: this.tooltipId },
|
|
70
|
+
showArrow: true,
|
|
71
|
+
enableFallback: true,
|
|
72
|
+
});
|
|
73
|
+
}
|
|
74
|
+
hide() {
|
|
75
|
+
if (!this.isOpen || (this.visible && !this.disabled))
|
|
76
|
+
return;
|
|
77
|
+
this.connectedOverlayRef?.close();
|
|
78
|
+
this.connectedOverlayRef = null;
|
|
79
|
+
this.tooltipId = null;
|
|
80
|
+
}
|
|
81
|
+
registerEvents() {
|
|
82
|
+
const [openEvent, closeEvent] = resolveTooltipTriggerEvents(this.tooltipOptions.trigger);
|
|
83
|
+
this.eventManager.destroyListeners();
|
|
84
|
+
this.eventManager.register([openEvent, 'focusin'], () => this.showTrigger$$.next());
|
|
85
|
+
this.eventManager.register([closeEvent, 'focusout'], () => this.hideTrigger$$.next());
|
|
86
|
+
this.eventManager.register(['keyup.esc'], () => this.hideTrigger$$.next(), 'document');
|
|
87
|
+
}
|
|
88
|
+
};
|
|
89
|
+
TooltipDirective.ID = 0;
|
|
90
|
+
TooltipDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: TooltipDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });
|
|
91
|
+
TooltipDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "14.2.12", type: TooltipDirective, isStandalone: true, selector: "[odxTooltip]", inputs: { content: ["odxTooltip", "content"], disabled: ["odxTooltipDisabled", "disabled"], options: ["odxTooltipOptions", "options"], size: ["odxTooltipSize", "size"], visible: ["odxTooltipVisible", "visible"] }, host: { properties: { "attr.aria-describedby": "tooltipId" } }, providers: [EventManager], exportAs: ["odxTooltip"], usesOnChanges: true, ngImport: i0 });
|
|
92
|
+
__decorate([
|
|
93
|
+
Transform(coerceBooleanProperty),
|
|
94
|
+
__metadata("design:type", Object)
|
|
95
|
+
], TooltipDirective.prototype, "disabled", void 0);
|
|
96
|
+
__decorate([
|
|
97
|
+
Transform(coerceBooleanProperty),
|
|
98
|
+
__metadata("design:type", Object)
|
|
99
|
+
], TooltipDirective.prototype, "visible", void 0);
|
|
100
|
+
TooltipDirective = TooltipDirective_1 = __decorate([
|
|
101
|
+
CSSComponent('tooltip-host'),
|
|
102
|
+
__metadata("design:paramtypes", [])
|
|
103
|
+
], TooltipDirective);
|
|
104
|
+
export { TooltipDirective };
|
|
105
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: TooltipDirective, decorators: [{
|
|
106
|
+
type: Directive,
|
|
107
|
+
args: [{
|
|
108
|
+
standalone: true,
|
|
109
|
+
selector: '[odxTooltip]',
|
|
110
|
+
exportAs: 'odxTooltip',
|
|
111
|
+
providers: [EventManager],
|
|
112
|
+
host: {
|
|
113
|
+
'[attr.aria-describedby]': 'tooltipId',
|
|
114
|
+
},
|
|
115
|
+
}]
|
|
116
|
+
}], ctorParameters: function () { return []; }, propDecorators: { content: [{
|
|
117
|
+
type: Input,
|
|
118
|
+
args: ['odxTooltip']
|
|
119
|
+
}], disabled: [{
|
|
120
|
+
type: Input,
|
|
121
|
+
args: ['odxTooltipDisabled']
|
|
122
|
+
}], options: [{
|
|
123
|
+
type: Input,
|
|
124
|
+
args: ['odxTooltipOptions']
|
|
125
|
+
}], size: [{
|
|
126
|
+
type: Input,
|
|
127
|
+
args: ['odxTooltipSize']
|
|
128
|
+
}], visible: [{
|
|
129
|
+
type: Input,
|
|
130
|
+
args: ['odxTooltipVisible']
|
|
131
|
+
}] } });
|
|
132
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidG9vbHRpcC5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2FuZ3VsYXIvY29tcG9uZW50cy90b29sdGlwL3NyYy9saWIvdG9vbHRpcC5kaXJlY3RpdmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7QUFBQSxPQUFPLEVBQWdCLHFCQUFxQixFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFDNUUsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFxQixNQUFNLGVBQWUsQ0FBQztBQUM1RSxPQUFPLEVBQXVCLHVCQUF1QixFQUFFLE1BQU0sb0NBQW9DLENBQUM7QUFFbEcsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBQ3JELE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUMvQyxPQUFPLEVBQUUsWUFBWSxFQUFFLFVBQVUsRUFBRSxhQUFhLEVBQWEsU0FBUyxFQUFFLGNBQWMsRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBQ25ILE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxjQUFjLENBQUM7QUFDekMsT0FBTyxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUUsT0FBTyxFQUFFLEdBQUcsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUNuRCxPQUFPLEVBQUUsMkJBQTJCLEVBQUUsTUFBTSxXQUFXLENBQUM7QUFDeEQsT0FBTyxFQUFFLHFCQUFxQixFQUErQixNQUFNLFVBQVUsQ0FBQztBQUM5RSxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQzs7QUFZaEQsSUFBTSxnQkFBZ0Isd0JBQXRCLE1BQU0sZ0JBQWdCO0lBdUMzQjtRQWpDaUIsaUJBQVksR0FBRyxNQUFNLENBQUMsWUFBWSxDQUFDLENBQUM7UUFDcEMsNEJBQXVCLEdBQUcsTUFBTSxDQUFDLHVCQUF1QixDQUFDLENBQUM7UUFDMUQsa0JBQWEsR0FBRyxJQUFJ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ZWFuUHJvcGVydHkgfSBmcm9tICdAYW5ndWxhci9jZGsvY29lcmNpb24nO1xuaW1wb3J0IHsgRGlyZWN0aXZlLCBpbmplY3QsIElucHV0LCBPbkNoYW5nZXMsIE9uSW5pdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQ29ubmVjdGVkT3ZlcmxheVJlZiwgQ29ubmVjdGVkT3ZlcmxheVNlcnZpY2UgfSBmcm9tICdAb2R4L2FuZ3VsYXIvY2RrL2Nvbm5lY3RlZC1vdmVybGF5JztcbmltcG9ydCB7IER5bmFtaWNUZXh0Q29udGVudCB9IGZyb20gJ0BvZHgvYW5ndWxhci9jZGsvZHluYW1pYy12aWV3JztcbmltcG9ydCB7IENTU0NvbXBvbmVudCB9IGZyb20gJ0BvZHgvYW5ndWxhci9pbnRlcm5hbCc7XG5pbXBvcnQgeyBkZWxheVVudGlsIH0gZnJvbSAnQG9keC9hbmd1bGFyL3J4anMnO1xuaW1wb3J0IHsgRXZlbnRNYW5hZ2VyLCBoYXNDaGFuZ2VkLCBpbmplY3RFbGVtZW50LCBOZ0NoYW5nZXMsIFRyYW5zZm9ybSwgdW50aWxEZXN0cm95ZWQgfSBmcm9tICdAb2R4L2FuZ3VsYXIvdXRpbHMnO1xuaW1wb3J0IHsgZGVlcG1lcmdlIH0gZnJvbSAnZGVlcG1lcmdlLXRzJztcbmltcG9ydCB7IGZpbHRlciwgbWVyZ2UsIFN1YmplY3QsIHRhcCB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgcmVzb2x2ZVRvb2x0aXBUcmlnZ2VyRXZlbnRzIH0gZnJvbSAnLi9oZWxwZXJzJztcbmltcG9ydCB7IERlZmF1bHRUb29sdGlwT3B0aW9ucywgVG9vbHRpcE9wdGlvbnMsIFRvb2x0aXBTaXplIH0gZnJvbSAnLi9tb2RlbHMnO1xuaW1wb3J0IHsgVG9vbHRpcENvbXBvbmVudCB9IGZyb20gJy4vdG9vbHRpcC5jb21wb25lbnQnO1xuXG5AQ1NTQ29tcG9uZW50KCd0b29sdGlwLWhvc3QnKVxuQERpcmVjdGl2ZSh7XG4gIHN0YW5kYWxvbmU6IHRydWUsXG4gIHNlbGVjdG9yOiAnW29keFRvb2x0aXBdJyxcbiAgZXhwb3J0QXM6ICdvZHhUb29sdGlwJyxcbiAgcHJvdmlkZXJzOiBbRXZlbnRNYW5hZ2VyXSxcbiAgaG9zdDoge1xuICAgICdbYXR0ci5hcmlhLWRlc2NyaWJlZGJ5XSc6ICd0b29sdGlwSWQnLFxuICB9LFxufSlcbmV4cG9ydCBjbGFzcyBUb29sdGlwRGlyZWN0aXZlIGltcGxlbWVudHMgT25Jbml0LCBPbkNoYW5nZXMge1xuICBwcml2YXRlIHN0YXRpYyBJRCA9IDA7XG5cbiAgcHVibGljIHN0YXRpYyBuZ0FjY2VwdElucHV0VHlwZV9kaXNhYmxlZDogQm9vbGVhbklucHV0O1xuICBwdWJsaWMgc3RhdGljIG5nQWNjZXB0SW5wdXRUeXBlX3Zpc2libGU6IEJvb2xlYW5JbnB1dDtcblxuICBwcml2YXRlIHJlYWRvbmx5IGV2ZW50TWFuYWdlciA9IGluamVjdChFdmVudE1hbmFnZXIpO1xuICBwcml2YXRlIHJlYWRvbmx5IGNvbm5lY3RlZE92ZXJsYXlTZXJ2aWNlID0gaW5qZWN0KENvbm5lY3RlZE92ZXJsYXlTZXJ2aWNlKTtcbiAgcHJpdmF0ZSByZWFkb25seSBzaG93VHJpZ2dlciQkID0gbmV3IFN1YmplY3Q8dm9pZD4oKTtcbiAgcHJpdmF0ZSByZWFkb25seSBoaWRlVHJpZ2dlciQkID0gbmV3IFN1YmplY3Q8dm9pZD4oKTtcbiAgcHJpdmF0ZSBjb25uZWN0ZWRPdmVybGF5UmVmOiBDb25uZWN0ZWRPdmVybGF5UmVmIHwgbnVsbCA9IG51bGw7XG4gIHByaXZhdGUgdG9vbHRpcE9wdGlvbnMgPSBEZWZhdWx0VG9vbHRpcE9wdGlvbnM7XG5cbiAgcHJvdGVjdGVkIHRvb2x0aXBJZDogc3RyaW5nIHwgbnVsbCA9IG51bGw7XG4gIHB1YmxpYyByZWFkb25seSBlbGVtZW50ID0gaW5qZWN0RWxlbWVudCgpO1xuXG4gIEBJbnB1dCgnb2R4VG9vbHRpcCcpXG4gIHB1YmxpYyBjb250ZW50PzogRHluYW1pY1RleHRDb250ZW50IHwgbnVsbCA9IG51bGw7XG5cbiAgQFRyYW5zZm9ybShjb2VyY2VCb29sZWFuUHJvcGVydHkpXG4gIEBJbnB1dCgnb2R4VG9vbHRpcERpc2FibGVkJylcbiAgcHVibGljIGRpc2FibGVkID0gZmFsc2U7XG5cbiAgQElucHV0KCdvZHhUb29sdGlwT3B0aW9ucycpXG4gIHB1YmxpYyBzZXQgb3B0aW9ucyh2YWx1ZTogUGFydGlhbDxUb29sdGlwT3B0aW9ucz4gfCBudWxsIHwgdW5kZWZpbmVkKSB7XG4gICAgdGhpcy50b29sdGlwT3B0aW9ucyA9IGRlZXBtZXJnZShEZWZhdWx0VG9vbHRpcE9wdGlvbnMsIHZhbHVlKSBhcyBUb29sdGlwT3B0aW9ucztcbiAgfVxuXG4gIEBJbnB1dCgnb2R4VG9vbHRpcFNpemUnKVxuICBwdWJsaWMgc2l6ZT86IFRvb2x0aXBTaXplIHwgbnVsbCA9IG51bGw7XG5cbiAgQFRyYW5zZm9ybShjb2VyY2VCb29sZWFuUHJvcGVydHkpXG4gIEBJbnB1dCgnb2R4VG9vbHRpcFZpc2libGUnKVxuICBwdWJsaWMgdmlzaWJsZSA9IGZhbHNlO1xuXG4gIHB1YmxpYyBnZXQgaXNPcGVuKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLmNvbm5lY3RlZE92ZXJsYXlSZWYgIT09IG51bGw7XG4gIH1cblxuICBjb25zdHJ1Y3RvcigpIHtcbiAgICBjb25zdCB0YWtlVW50aWxEZXN0cm95ZWQgPSB1bnRpbERlc3Ryb3llZCgpO1xuICAgIGNvbnN0IHNob3ckID0gdGhpcy5zaG93VHJpZ2dlciQkLnBpcGUoXG4gICAgICBmaWx0ZXIoKCkgPT4gIXRoaXMuaXNPcGVuKSxcbiAgICAgIGRlbGF5VW50aWwoKCkgPT4gdGhpcy50b29sdGlwT3B0aW9ucy5kZWxheUluLCB0aGlzLmhpZGVUcmlnZ2VyJCQpLFxuICAgICAgdGFwKCgpID0+IHRoaXMuc2hvdygpKVxuICAgICk7XG4gICAgY29uc3QgaGlkZSQgPSB0aGlzLmhpZGVUcmlnZ2VyJCQucGlwZShcbiAgICAgIGZpbHRlcigoKSA9PiB0aGlzLmlzT3BlbiksXG4gICAgICBkZWxheVVudGlsKCgpID0+IHRoaXMudG9vbHRpcE9wdGlvbnMuZGVsYXlPdXQsIHRoaXMuc2hvd1RyaWdnZXIkJCksXG4gICAgICB0YXAoKCkgPT4gdGhpcy5oaWRlKCkpXG4gICAgKTtcbiAgICBtZXJnZShzaG93JCwgaGlkZSQpLnBpcGUodGFrZVVudGlsRGVzdHJveWVkKCkpLnN1YnNjcmliZSgpO1xuICB9XG5cbiAgcHVibGljIG5nT25Jbml0KCk6IHZvaWQge1xuICAgIHRoaXMucmVnaXN0ZXJFdmVudHMoKTtcbiAgfVxuXG4gIHB1YmxpYyBuZ09uQ2hhbmdlcyhjaGFuZ2VzOiBOZ0NoYW5nZXM8VG9vbHRpcERpcmVjdGl2ZT4pOiB2b2lkIHtcbiAgICBpZiAoaGFzQ2hhbmdlZChjaGFuZ2VzLCAnZGlzYWJsZWQnKSAmJiB0aGlzLmRpc2FibGVkKSB7XG4gICAgICB0aGlzLmhpZGUoKTtcbiAgICB9XG4gICAgaWYgKGhhc0NoYW5nZWQoY2hhbmdlcywgWydjb250ZW50JywgJ3NpemUnXSkpIHtcbiAgICAgIHRoaXMuY29ubmVjdGVkT3ZlcmxheVJlZj8udXBkYXRlKHsgY29udGV4dDogeyBjb250ZW50OiB0aGlzLmNvbnRlbnQsIHNpemU6IHRoaXMuc2l6ZSB9IH0pO1xuICAgIH1cbiAgICBpZiAoaGFzQ2hhbmdlZChjaGFuZ2VzLCAnb3B0aW9ucycpKSB7XG4gICAgICB0aGlzLmNvbm5lY3RlZE92ZXJsYXlSZWY/LnVwZGF0ZSh0aGlzLnRvb2x0aXBPcHRpb25zKTtcbiAgICAgIHRoaXMucmVnaXN0ZXJFdmVudHMoKTtcbiAgICB9XG4gICAgaWYgKHRoaXMudmlzaWJsZSAmJiAhdGhpcy5kaXNhYmxlZCkge1xuICAgICAgdGhpcy5zaG93KCk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMuaGlkZSgpO1xuICAgIH1cbiAgfVxuXG4gIHB1YmxpYyBzaG93KCk6IHZvaWQge1xuICAgIGlmICh0aGlzLmlzT3BlbiB8fCB0aGlzLmRpc2FibGVkKSByZXR1cm47XG4gICAgdGhpcy50b29sdGlwSWQgPSBgb2R4LXRvb2x0aXAtJHtUb29sdGlwRGlyZWN0aXZlLklEKyt9YDtcbiAgICB0aGlzLmNvbm5lY3RlZE92ZXJsYXlSZWYgPSB0aGlzLmNvbm5lY3RlZE92ZXJsYXlTZXJ2aWNlLmNyZWF0ZU92ZXJsYXkodGhpcy5lbGVtZW50Lm5hdGl2ZUVsZW1lbnQsIHtcbiAgICAgIC4uLnRoaXMudG9vbHRpcE9wdGlvbnMsXG4gICAgICBjb250YWluZXJDbGFzczogJ29keC10b29sdGlwLW92ZXJsYXknLFxuICAgICAgY29udGVudDogVG9vbHRpcENvbXBvbmVudCxcbiAgICAgIGNvbnRleHQ6IHsgY29udGVudDogdGhpcy5jb250ZW50LCBzaXplOiB0aGlzLnNpemUsIGlkOiB0aGlzLnRvb2x0aXBJZCB9LFxuICAgICAgc2hvd0Fycm93OiB0cnVlLFxuICAgICAgZW5hYmxlRmFsbGJhY2s6IHRydWUsXG4gICAgfSk7XG4gIH1cblxuICBwdWJsaWMgaGlkZSgpOiB2b2lkIHtcbiAgICBpZiAoIXRoaXMuaXNPcGVuIHx8ICh0aGlzLnZpc2libGUgJiYgIXRoaXMuZGlzYWJsZWQpKSByZXR1cm47XG4gICAgdGhpcy5jb25uZWN0ZWRPdmVybGF5UmVmPy5jbG9zZSgpO1xuICAgIHRoaXMuY29ubmVjdGVkT3ZlcmxheVJlZiA9IG51bGw7XG4gICAgdGhpcy50b29sdGlwSWQgPSBudWxsO1xuICB9XG5cbiAgcHJpdmF0ZSByZWdpc3RlckV2ZW50cygpOiB2b2lkIHtcbiAgICBjb25zdCBbb3BlbkV2ZW50LCBjbG9zZUV2ZW50XSA9IHJlc29sdmVUb29sdGlwVHJpZ2dlckV2ZW50cyh0aGlzLnRvb2x0aXBPcHRpb25zLnRyaWdnZXIpO1xuICAgIHRoaXMuZXZlbnRNYW5hZ2VyLmRlc3Ryb3lMaXN0ZW5lcnMoKTtcbiAgICB0aGlzLmV2ZW50TWFuYWdlci5yZWdpc3Rlcihbb3BlbkV2ZW50LCAnZm9jdXNpbiddLCAoKSA9PiB0aGlzLnNob3dUcmlnZ2VyJCQubmV4dCgpKTtcbiAgICB0aGlzLmV2ZW50TWFuYWdlci5yZWdpc3RlcihbY2xvc2VFdmVudCwgJ2ZvY3Vzb3V0J10sICgpID0+IHRoaXMuaGlkZVRyaWdnZXIkJC5uZXh0KCkpO1xuICAgIHRoaXMuZXZlbnRNYW5hZ2VyLnJlZ2lzdGVyKFsna2V5dXAuZXNjJ10sICgpID0+IHRoaXMuaGlkZVRyaWdnZXIkJC5uZXh0KCksICdkb2N1bWVudCcpO1xuICB9XG59XG4iXX0=
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Generated bundle index. Do not edit.
|
|
3
|
+
*/
|
|
4
|
+
export * from './index';
|
|
5
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib2R4LWFuZ3VsYXItY29tcG9uZW50cy10b29sdGlwLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9hbmd1bGFyL2NvbXBvbmVudHMvdG9vbHRpcC9zcmMvb2R4LWFuZ3VsYXItY29tcG9uZW50cy10b29sdGlwLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOztHQUVHO0FBRUgsY0FBYyxTQUFTLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEdlbmVyYXRlZCBidW5kbGUgaW5kZXguIERvIG5vdCBlZGl0LlxuICovXG5cbmV4cG9ydCAqIGZyb20gJy4vaW5kZXgnO1xuIl19
|
package/esm2020/index.mjs
CHANGED
|
@@ -2,4 +2,5 @@ export * from './lib/controllers';
|
|
|
2
2
|
export * from './lib/core.module';
|
|
3
3
|
export * from './lib/directives';
|
|
4
4
|
export * from './lib/services';
|
|
5
|
-
|
|
5
|
+
export * from './lib/tokens';
|
|
6
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9saWJzL2FuZ3VsYXIvc3JjL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGNBQWMsbUJBQW1CLENBQUM7QUFDbEMsY0FBYyxtQkFBbUIsQ0FBQztBQUNsQyxjQUFjLGtCQUFrQixDQUFDO0FBQ2pDLGNBQWMsZ0JBQWdCLENBQUM7QUFDL0IsY0FBYyxjQUFjLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuL2xpYi9jb250cm9sbGVycyc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9jb3JlLm1vZHVsZSc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9kaXJlY3RpdmVzJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL3NlcnZpY2VzJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL3Rva2Vucyc7XG4iXX0=
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import { InjectionToken } from '@angular/core';
|
|
2
|
+
const ODX_DEFAULT_IDENTITY_MATCHER = (item1, item2) => item1 === item2;
|
|
3
|
+
export const ODX_IDENTITY_MATCHER = new InjectionToken('@odx/angular::StringHandler', {
|
|
4
|
+
providedIn: 'root',
|
|
5
|
+
factory: () => ODX_DEFAULT_IDENTITY_MATCHER,
|
|
6
|
+
});
|
|
7
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaWRlbnRpdHktbWF0Y2hlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvYW5ndWxhci9zcmMvbGliL3Rva2Vucy9pZGVudGl0eS1tYXRjaGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFJL0MsTUFBTSw0QkFBNEIsR0FBNkIsQ0FBQyxLQUFLLEVBQUUsS0FBSyxFQUFFLEVBQUUsQ0FBQyxLQUFLLEtBQUssS0FBSyxDQUFDO0FBRWpHLE1BQU0sQ0FBQyxNQUFNLG9CQUFvQixHQUFHLElBQUksY0FBYyxDQUEyQiw2QkFBNkIsRUFBRTtJQUM5RyxVQUFVLEVBQUUsTUFBTTtJQUNsQixPQUFPLEVBQUUsR0FBRyxFQUFFLENBQUMsNEJBQTRCO0NBQzVDLENBQUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGlvblRva2VuIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbmV4cG9ydCB0eXBlIElkZW50aXR5TWF0Y2hlcjxUPiA9IChpdGVtMTogVCwgaXRlbTI6IFQpID0+IGJvb2xlYW47XG5cbmNvbnN0IE9EWF9ERUZBVUxUX0lERU5USVRZX01BVENIRVI6IElkZW50aXR5TWF0Y2hlcjx1bmtub3duPiA9IChpdGVtMSwgaXRlbTIpID0+IGl0ZW0xID09PSBpdGVtMjtcblxuZXhwb3J0IGNvbnN0IE9EWF9JREVOVElUWV9NQVRDSEVSID0gbmV3IEluamVjdGlvblRva2VuPElkZW50aXR5TWF0Y2hlcjx1bmtub3duPj4oJ0BvZHgvYW5ndWxhcjo6U3RyaW5nSGFuZGxlcicsIHtcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnLFxuICBmYWN0b3J5OiAoKSA9PiBPRFhfREVGQVVMVF9JREVOVElUWV9NQVRDSEVSLFxufSk7XG4iXX0=
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
export * from './identity-matcher';
|
|
2
|
+
export * from './string-search-handler';
|
|
3
|
+
export * from './stringify';
|
|
4
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL2FuZ3VsYXIvc3JjL2xpYi90b2tlbnMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYyxvQkFBb0IsQ0FBQztBQUNuQyxjQUFjLHlCQUF5QixDQUFDO0FBQ3hDLGNBQWMsYUFBYSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi9pZGVudGl0eS1tYXRjaGVyJztcbmV4cG9ydCAqIGZyb20gJy4vc3RyaW5nLXNlYXJjaC1oYW5kbGVyJztcbmV4cG9ydCAqIGZyb20gJy4vc3RyaW5naWZ5JztcbiJdfQ==
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { InjectionToken } from '@angular/core';
|
|
2
|
+
const ODX_DEFAULT_STRING_SEARCH_HANDLER = (item, query) => {
|
|
3
|
+
return item.toLocaleLowerCase().includes(query.toLocaleLowerCase());
|
|
4
|
+
};
|
|
5
|
+
export const ODX_STRING_SEARCH_HANDLER = new InjectionToken('@odx/angular::StringHandler', {
|
|
6
|
+
providedIn: 'root',
|
|
7
|
+
factory: () => ODX_DEFAULT_STRING_SEARCH_HANDLER,
|
|
8
|
+
});
|
|
9
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RyaW5nLXNlYXJjaC1oYW5kbGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9hbmd1bGFyL3NyYy9saWIvdG9rZW5zL3N0cmluZy1zZWFyY2gtaGFuZGxlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBSS9DLE1BQU0saUNBQWlDLEdBQXdCLENBQUMsSUFBSSxFQUFFLEtBQUssRUFBRSxFQUFFO0lBQzdFLE9BQU8sSUFBSSxDQUFDLGlCQUFpQixFQUFFLENBQUMsUUFBUSxDQUFDLEtBQUssQ0FBQyxpQkFBaUIsRUFBRSxDQUFDLENBQUM7QUFDdEUsQ0FBQyxDQUFDO0FBRUYsTUFBTSxDQUFDLE1BQU0seUJBQXlCLEdBQUcsSUFBSSxjQUFjLENBQXNCLDZCQUE2QixFQUFFO0lBQzlHLFVBQVUsRUFBRSxNQUFNO0lBQ2xCLE9BQU8sRUFBRSxHQUFHLEVBQUUsQ0FBQyxpQ0FBaUM7Q0FDakQsQ0FBQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0aW9uVG9rZW4gfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuZXhwb3J0IHR5cGUgU3RyaW5nU2VhcmNoSGFuZGxlciA9IChpdGVtOiBzdHJpbmcsIHF1ZXJ5OiBzdHJpbmcpID0+IGJvb2xlYW47XG5cbmNvbnN0IE9EWF9ERUZBVUxUX1NUUklOR19TRUFSQ0hfSEFORExFUjogU3RyaW5nU2VhcmNoSGFuZGxlciA9IChpdGVtLCBxdWVyeSkgPT4ge1xuICByZXR1cm4gaXRlbS50b0xvY2FsZUxvd2VyQ2FzZSgpLmluY2x1ZGVzKHF1ZXJ5LnRvTG9jYWxlTG93ZXJDYXNlKCkpO1xufTtcblxuZXhwb3J0IGNvbnN0IE9EWF9TVFJJTkdfU0VBUkNIX0hBTkRMRVIgPSBuZXcgSW5qZWN0aW9uVG9rZW48U3RyaW5nU2VhcmNoSGFuZGxlcj4oJ0BvZHgvYW5ndWxhcjo6U3RyaW5nSGFuZGxlcicsIHtcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnLFxuICBmYWN0b3J5OiAoKSA9PiBPRFhfREVGQVVMVF9TVFJJTkdfU0VBUkNIX0hBTkRMRVIsXG59KTtcbiJdfQ==
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import { InjectionToken } from '@angular/core';
|
|
2
|
+
import { isPresent } from '@odx/angular/utils';
|
|
3
|
+
const ODX_DEFAULT_STRINGIFY = (item) => (isPresent(item) ? String(item) : '');
|
|
4
|
+
export const ODX_STRINGIFY = new InjectionToken('@odx/angular::Stringify', {
|
|
5
|
+
providedIn: 'root',
|
|
6
|
+
factory: () => ODX_DEFAULT_STRINGIFY,
|
|
7
|
+
});
|
|
8
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RyaW5naWZ5LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9hbmd1bGFyL3NyYy9saWIvdG9rZW5zL3N0cmluZ2lmeS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQy9DLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUkvQyxNQUFNLHFCQUFxQixHQUF5QixDQUFDLElBQUksRUFBRSxFQUFFLENBQUMsQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUM7QUFFcEcsTUFBTSxDQUFDLE1BQU0sYUFBYSxHQUFHLElBQUksY0FBYyxDQUF1Qix5QkFBeUIsRUFBRTtJQUMvRixVQUFVLEVBQUUsTUFBTTtJQUNsQixPQUFPLEVBQUUsR0FBRyxFQUFFLENBQUMscUJBQXFCO0NBQ3JDLENBQUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGlvblRva2VuIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBpc1ByZXNlbnQgfSBmcm9tICdAb2R4L2FuZ3VsYXIvdXRpbHMnO1xuXG5leHBvcnQgdHlwZSBTdHJpbmdpZnlGbjxUPiA9IChpdGVtOiBUKSA9PiBzdHJpbmc7XG5cbmNvbnN0IE9EWF9ERUZBVUxUX1NUUklOR0lGWTogU3RyaW5naWZ5Rm48dW5rbm93bj4gPSAoaXRlbSkgPT4gKGlzUHJlc2VudChpdGVtKSA/IFN0cmluZyhpdGVtKSA6ICcnKTtcblxuZXhwb3J0IGNvbnN0IE9EWF9TVFJJTkdJRlkgPSBuZXcgSW5qZWN0aW9uVG9rZW48U3RyaW5naWZ5Rm48dW5rbm93bj4+KCdAb2R4L2FuZ3VsYXI6OlN0cmluZ2lmeScsIHtcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnLFxuICBmYWN0b3J5OiAoKSA9PiBPRFhfREVGQVVMVF9TVFJJTkdJRlksXG59KTtcbiJdfQ==
|
package/esm2020/rxjs/index.mjs
CHANGED
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
export * from './lib/delay-until';
|
|
1
2
|
export * from './lib/from-element-resize';
|
|
2
3
|
export * from './lib/from-events';
|
|
3
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
4
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9saWJzL2FuZ3VsYXIvcnhqcy9zcmMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYyxtQkFBbUIsQ0FBQztBQUNsQyxjQUFjLDJCQUEyQixDQUFDO0FBQzFDLGNBQWMsbUJBQW1CLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuL2xpYi9kZWxheS11bnRpbCc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9mcm9tLWVsZW1lbnQtcmVzaXplJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2Zyb20tZXZlbnRzJztcbiJdfQ==
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
import { map, switchMap, takeUntil, timer } from 'rxjs';
|
|
2
|
+
export function delayUntil(delay, notifier) {
|
|
3
|
+
return (source$) => source$.pipe(switchMap((value) => timer(delay()).pipe(map(() => value), takeUntil(notifier))));
|
|
4
|
+
}
|
|
5
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGVsYXktdW50aWwuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL2FuZ3VsYXIvcnhqcy9zcmMvbGliL2RlbGF5LXVudGlsLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxHQUFHLEVBQXdDLFNBQVMsRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBRTlGLE1BQU0sVUFBVSxVQUFVLENBQUksS0FBbUIsRUFBRSxRQUE2QjtJQUM5RSxPQUFPLENBQUMsT0FBc0IsRUFBRSxFQUFFLENBQ2hDLE9BQU8sQ0FBQyxJQUFJLENBQ1YsU0FBUyxDQUFDLENBQUMsS0FBUSxFQUFFLEVBQUUsQ0FDckIsS0FBSyxDQUFDLEtBQUssRUFBRSxDQUFDLENBQUMsSUFBSSxDQUNqQixHQUFHLENBQUMsR0FBRyxFQUFFLENBQUMsS0FBSyxDQUFDLEVBQ2hCLFNBQVMsQ0FBQyxRQUFRLENBQUMsQ0FDcEIsQ0FDRixDQUNGLENBQUM7QUFDTixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgbWFwLCBNb25vVHlwZU9wZXJhdG9yRnVuY3Rpb24sIE9ic2VydmFibGUsIHN3aXRjaE1hcCwgdGFrZVVudGlsLCB0aW1lciB9IGZyb20gJ3J4anMnO1xuXG5leHBvcnQgZnVuY3Rpb24gZGVsYXlVbnRpbDxUPihkZWxheTogKCkgPT4gbnVtYmVyLCBub3RpZmllcjogT2JzZXJ2YWJsZTx1bmtub3duPik6IE1vbm9UeXBlT3BlcmF0b3JGdW5jdGlvbjxUPiB7XG4gIHJldHVybiAoc291cmNlJDogT2JzZXJ2YWJsZTxUPikgPT5cbiAgICBzb3VyY2UkLnBpcGUoXG4gICAgICBzd2l0Y2hNYXAoKHZhbHVlOiBUKSA9PlxuICAgICAgICB0aW1lcihkZWxheSgpKS5waXBlKFxuICAgICAgICAgIG1hcCgoKSA9PiB2YWx1ZSksXG4gICAgICAgICAgdGFrZVVudGlsKG5vdGlmaWVyKVxuICAgICAgICApXG4gICAgICApXG4gICAgKTtcbn1cbiJdfQ==
|
|
@@ -1,2 +1,3 @@
|
|
|
1
|
+
export * from './pure';
|
|
1
2
|
export * from './transform';
|
|
2
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
3
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2FuZ3VsYXIvdXRpbHMvc3JjL2xpYi9kZWNvcmF0b3JzL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGNBQWMsUUFBUSxDQUFDO0FBQ3ZCLGNBQWMsYUFBYSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi9wdXJlJztcbmV4cG9ydCAqIGZyb20gJy4vdHJhbnNmb3JtJztcbiJdfQ==
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
export function Pure(_target, propertyKey, { get, enumerable, value }) {
|
|
2
|
+
if (get) {
|
|
3
|
+
return {
|
|
4
|
+
enumerable,
|
|
5
|
+
get() {
|
|
6
|
+
const value = get.call(this);
|
|
7
|
+
Object.defineProperty(this, propertyKey, { enumerable, value });
|
|
8
|
+
return value;
|
|
9
|
+
},
|
|
10
|
+
};
|
|
11
|
+
}
|
|
12
|
+
if (typeof value !== 'function') {
|
|
13
|
+
throw new Error('@Pure decorator can only be applied to functions or getters!');
|
|
14
|
+
}
|
|
15
|
+
const originalValue = value;
|
|
16
|
+
return {
|
|
17
|
+
enumerable,
|
|
18
|
+
get() {
|
|
19
|
+
let previousArgs = [];
|
|
20
|
+
let wasCalled = false;
|
|
21
|
+
let pureValue;
|
|
22
|
+
const patched = (...args) => {
|
|
23
|
+
const isPure = wasCalled && previousArgs.length === args.length && args.every((arg, index) => arg === previousArgs[index]);
|
|
24
|
+
if (isPure) {
|
|
25
|
+
return pureValue;
|
|
26
|
+
}
|
|
27
|
+
previousArgs = args;
|
|
28
|
+
pureValue = originalValue.apply(this, args);
|
|
29
|
+
wasCalled = true;
|
|
30
|
+
return pureValue;
|
|
31
|
+
};
|
|
32
|
+
Object.defineProperty(this, propertyKey, { value: patched });
|
|
33
|
+
return patched;
|
|
34
|
+
},
|
|
35
|
+
};
|
|
36
|
+
}
|
|
37
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVyZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvYW5ndWxhci91dGlscy9zcmMvbGliL2RlY29yYXRvcnMvcHVyZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxNQUFNLFVBQVUsSUFBSSxDQUFJLE9BQWUsRUFBRSxXQUFtQixFQUFFLEVBQUUsR0FBRyxFQUFFLFVBQVUsRUFBRSxLQUFLLEVBQThCO0lBQ2xILElBQUksR0FBRyxFQUFFO1FBQ1AsT0FBTztZQUNMLFVBQVU7WUFDVixHQUFHO2dCQUNELE1BQU0sS0FBSyxHQUFHLEdBQUcsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7Z0JBRTdCLE1BQU0sQ0FBQyxjQUFjLENBQUMsSUFBSSxFQUFFLFdBQVcsRUFBRSxFQUFFLFVBQVUsRUFBRSxLQUFLLEVBQUUsQ0FBQyxDQUFDO2dCQUVoRSxPQUFPLEtBQUssQ0FBQztZQUNmLENBQUM7U0FDRixDQUFDO0tBQ0g7SUFFRCxJQUFJLE9BQU8sS0FBSyxLQUFLLFVBQVUsRUFBRTtRQUMvQixNQUFNLElBQUksS0FBSyxDQUFDLDhEQUE4RCxDQUFDLENBQUM7S0FDakY7SUFFRCxNQUFNLGFBQWEsR0FBRyxLQUFLLENBQUM7SUFFNUIsT0FBTztRQUNMLFVBQVU7UUFDVixHQUFHO1lBQ0QsSUFBSSxZQUFZLEdBQXVCLEVBQUUsQ0FBQztZQUMxQyxJQUFJLFNBQVMsR0FBRyxLQUFLLENBQUM7WUFDdEIsSUFBSSxTQUFrQixDQUFDO1lBRXZCLE1BQU0sT0FBTyxHQUFHLENBQUMsR0FBRyxJQUFlLEVBQVcsRUFBRTtnQkFDOUMsTUFBTSxNQUFNLEdBQUcsU0FBUyxJQUFJLFlBQVksQ0FBQyxNQUFNLEtBQUssSUFBSSxDQUFDLE1BQU0sSUFBSSxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUMsR0FBRyxFQUFFLEtBQUssRUFBRSxFQUFFLENBQUMsR0FBRyxLQUFLLFlBQVksQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDO2dCQUUzSCxJQUFJLE1BQU0sRUFBRTtvQkFDVixPQUFPLFNBQVMsQ0FBQztpQkFDbEI7Z0JBRUQsWUFBWSxHQUFHLElBQUksQ0FBQztnQkFDcEIsU0FBUyxHQUFHLGFBQWEsQ0FBQyxLQUFLLENBQUMsSUFBSSxFQUFFLElBQUksQ0FBQyxDQUFDO2dCQUM1QyxTQUFTLEdBQUcsSUFBSSxDQUFDO2dCQUVqQixPQUFPLFNBQVMsQ0FBQztZQUNuQixDQUFDLENBQUM7WUFFRixNQUFNLENBQUMsY0FBYyxDQUFDLElBQUksRUFBRSxXQUFXLEVBQUUsRUFBRSxLQUFLLEVBQUUsT0FBTyxFQUFFLENBQUMsQ0FBQztZQUU3RCxPQUFPLE9BQXVCLENBQUM7UUFDakMsQ0FBQztLQUNGLENBQUM7QUFDSixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGZ1bmN0aW9uIFB1cmU8VD4oX3RhcmdldDogb2JqZWN0LCBwcm9wZXJ0eUtleTogc3RyaW5nLCB7IGdldCwgZW51bWVyYWJsZSwgdmFsdWUgfTogVHlwZWRQcm9wZXJ0eURlc2NyaXB0b3I8VD4pOiBUeXBlZFByb3BlcnR5RGVzY3JpcHRvcjxUPiB7XG4gIGlmIChnZXQpIHtcbiAgICByZXR1cm4ge1xuICAgICAgZW51bWVyYWJsZSxcbiAgICAgIGdldCgpOiBUIHtcbiAgICAgICAgY29uc3QgdmFsdWUgPSBnZXQuY2FsbCh0aGlzKTtcblxuICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkodGhpcywgcHJvcGVydHlLZXksIHsgZW51bWVyYWJsZSwgdmFsdWUgfSk7XG5cbiAgICAgICAgcmV0dXJuIHZhbHVlO1xuICAgICAgfSxcbiAgICB9O1xuICB9XG5cbiAgaWYgKHR5cGVvZiB2YWx1ZSAhPT0gJ2Z1bmN0aW9uJykge1xuICAgIHRocm93IG5ldyBFcnJvcignQFB1cmUgZGVjb3JhdG9yIGNhbiBvbmx5IGJlIGFwcGxpZWQgdG8gZnVuY3Rpb25zIG9yIGdldHRlcnMhJyk7XG4gIH1cblxuICBjb25zdCBvcmlnaW5hbFZhbHVlID0gdmFsdWU7XG5cbiAgcmV0dXJuIHtcbiAgICBlbnVtZXJhYmxlLFxuICAgIGdldCgpOiBUIHtcbiAgICAgIGxldCBwcmV2aW91c0FyZ3M6IHJlYWRvbmx5IHVua25vd25bXSA9IFtdO1xuICAgICAgbGV0IHdhc0NhbGxlZCA9IGZhbHNlO1xuICAgICAgbGV0IHB1cmVWYWx1ZTogdW5rbm93bjtcblxuICAgICAgY29uc3QgcGF0Y2hlZCA9ICguLi5hcmdzOiB1bmtub3duW10pOiB1bmtub3duID0+IHtcbiAgICAgICAgY29uc3QgaXNQdXJlID0gd2FzQ2FsbGVkICYmIHByZXZpb3VzQXJncy5sZW5ndGggPT09IGFyZ3MubGVuZ3RoICYmIGFyZ3MuZXZlcnkoKGFyZywgaW5kZXgpID0+IGFyZyA9PT0gcHJldmlvdXNBcmdzW2luZGV4XSk7XG5cbiAgICAgICAgaWYgKGlzUHVyZSkge1xuICAgICAgICAgIHJldHVybiBwdXJlVmFsdWU7XG4gICAgICAgIH1cblxuICAgICAgICBwcmV2aW91c0FyZ3MgPSBhcmdzO1xuICAgICAgICBwdXJlVmFsdWUgPSBvcmlnaW5hbFZhbHVlLmFwcGx5KHRoaXMsIGFyZ3MpO1xuICAgICAgICB3YXNDYWxsZWQgPSB0cnVlO1xuXG4gICAgICAgIHJldHVybiBwdXJlVmFsdWU7XG4gICAgICB9O1xuXG4gICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkodGhpcywgcHJvcGVydHlLZXksIHsgdmFsdWU6IHBhdGNoZWQgfSk7XG5cbiAgICAgIHJldHVybiBwYXRjaGVkIGFzIHVua25vd24gYXMgVDtcbiAgICB9LFxuICB9O1xufVxuIl19
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
export function deferFn(fn) {
|
|
2
|
+
setTimeout(fn, 0);
|
|
3
|
+
}
|
|
4
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGVmZXItZm4uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2FuZ3VsYXIvdXRpbHMvc3JjL2xpYi9oZWxwZXJzL2RlZmVyLWZuLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE1BQU0sVUFBVSxPQUFPLENBQUMsRUFBYztJQUNwQyxVQUFVLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDO0FBQ3BCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgZnVuY3Rpb24gZGVmZXJGbihmbjogKCkgPT4gdm9pZCk6IHZvaWQge1xuICBzZXRUaW1lb3V0KGZuLCAwKTtcbn1cbiJdfQ==
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
import { inject, Injectable, Renderer2 } from '@angular/core';
|
|
2
|
+
import { injectElement } from './angular';
|
|
3
|
+
import * as i0 from "@angular/core";
|
|
4
|
+
export class EventManager {
|
|
5
|
+
constructor() {
|
|
6
|
+
this.element = injectElement();
|
|
7
|
+
this.renderer = inject(Renderer2);
|
|
8
|
+
this.listeners = [];
|
|
9
|
+
}
|
|
10
|
+
destroyListeners() {
|
|
11
|
+
while (this.listeners.length)
|
|
12
|
+
this.listeners.pop()?.();
|
|
13
|
+
}
|
|
14
|
+
register(eventNames, callback, target) {
|
|
15
|
+
for (const eventName of eventNames) {
|
|
16
|
+
if (eventName) {
|
|
17
|
+
this.listeners.push(this.renderer.listen(target ?? this.element.nativeElement, eventName, (event) => callback(event)));
|
|
18
|
+
}
|
|
19
|
+
}
|
|
20
|
+
}
|
|
21
|
+
ngOnDestroy() {
|
|
22
|
+
this.destroyListeners();
|
|
23
|
+
}
|
|
24
|
+
}
|
|
25
|
+
EventManager.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: EventManager, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
|
|
26
|
+
EventManager.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: EventManager });
|
|
27
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: EventManager, decorators: [{
|
|
28
|
+
type: Injectable
|
|
29
|
+
}] });
|
|
30
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXZlbnQtbWFuYWdlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvYW5ndWxhci91dGlscy9zcmMvbGliL2hlbHBlcnMvZXZlbnQtbWFuYWdlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsTUFBTSxFQUFFLFVBQVUsRUFBYSxTQUFTLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDekUsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLFdBQVcsQ0FBQzs7QUFHMUMsTUFBTSxPQUFPLFlBQVk7SUFEekI7UUFFbUIsWUFBTyxHQUFHLGFBQWEsRUFBRSxDQUFDO1FBQzFCLGFBQVEsR0FBRyxNQUFNLENBQUMsU0FBUyxDQUFDLENBQUM7UUFDN0IsY0FBUyxHQUFzQixFQUFFLENBQUM7S0FxQnBEO0lBbkJRLGdCQUFnQjtRQUNyQixPQUFPLElBQUksQ0FBQyxTQUFTLENBQUMsTUFBTTtZQUFFLElBQUksQ0FBQyxTQUFTLENBQUMsR0FBRyxFQUFFLEVBQUUsRUFBRSxDQUFDO0lBQ3pELENBQUM7SUFFTSxRQUFRLENBQ2IsVUFBZ0MsRUFDaEMsUUFBNkIsRUFDN0IsTUFBbUQ7UUFFbkQsS0FBSyxNQUFNLFNBQVMsSUFBSSxVQUFVLEVBQUU7WUFDbEMsSUFBSSxTQUFTLEVBQUU7Z0JBQ2IsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxNQUFNLENBQUMsTUFBTSxJQUFJLElBQUksQ0FBQyxPQUFPLENBQUMsYUFBYSxFQUFFLFNBQVMsRUFBRSxDQUFDLEtBQUssRUFBRSxFQUFFLENBQUMsUUFBUSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQzthQUN4SDtTQUNGO0lBQ0gsQ0FBQztJQUVNLFdBQVc7UUFDaEIsSUFBSSxDQUFDLGdCQUFnQixFQUFFLENBQUM7SUFDMUIsQ0FBQzs7MEdBdkJVLFlBQVk7OEdBQVosWUFBWTs0RkFBWixZQUFZO2tCQUR4QixVQUFVIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgaW5qZWN0LCBJbmplY3RhYmxlLCBPbkRlc3Ryb3ksIFJlbmRlcmVyMiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgaW5qZWN0RWxlbWVudCB9IGZyb20gJy4vYW5ndWxhcic7XG5cbkBJbmplY3RhYmxlKClcbmV4cG9ydCBjbGFzcyBFdmVudE1hbmFnZXIgaW1wbGVtZW50cyBPbkRlc3Ryb3kge1xuICBwcml2YXRlIHJlYWRvbmx5IGVsZW1lbnQgPSBpbmplY3RFbGVtZW50KCk7XG4gIHByaXZhdGUgcmVhZG9ubHkgcmVuZGVyZXIgPSBpbmplY3QoUmVuZGVyZXIyKTtcbiAgcHJpdmF0ZSByZWFkb25seSBsaXN0ZW5lcnM6IEFycmF5PCgpID0+IHZvaWQ+ID0gW107XG5cbiAgcHVibGljIGRlc3Ryb3lMaXN0ZW5lcnMoKTogdm9pZCB7XG4gICAgd2hpbGUgKHRoaXMubGlzdGVuZXJzLmxlbmd0aCkgdGhpcy5saXN0ZW5lcnMucG9wKCk/LigpO1xuICB9XG5cbiAgcHVibGljIHJlZ2lzdGVyPFQgZXh0ZW5kcyBFdmVudCA9IEV2ZW50PihcbiAgICBldmVudE5hbWVzOiBBcnJheTxzdHJpbmcgfCBudWxsPixcbiAgICBjYWxsYmFjazogKGV2ZW50PzogVCkgPT4gdm9pZCxcbiAgICB0YXJnZXQ/OiAnZG9jdW1lbnQnIHwgJ3dpbmRvdycgfCBFdmVudFRhcmdldCB8IG51bGxcbiAgKTogdm9pZCB7XG4gICAgZm9yIChjb25zdCBldmVudE5hbWUgb2YgZXZlbnROYW1lcykge1xuICAgICAgaWYgKGV2ZW50TmFtZSkge1xuICAgICAgICB0aGlzLmxpc3RlbmVycy5wdXNoKHRoaXMucmVuZGVyZXIubGlzdGVuKHRhcmdldCA/PyB0aGlzLmVsZW1lbnQubmF0aXZlRWxlbWVudCwgZXZlbnROYW1lLCAoZXZlbnQpID0+IGNhbGxiYWNrKGV2ZW50KSkpO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIHB1YmxpYyBuZ09uRGVzdHJveSgpOiB2b2lkIHtcbiAgICB0aGlzLmRlc3Ryb3lMaXN0ZW5lcnMoKTtcbiAgfVxufVxuIl19
|
|
@@ -1,8 +1,10 @@
|
|
|
1
1
|
export * from './angular';
|
|
2
2
|
export * from './array';
|
|
3
|
+
export * from './defer-fn';
|
|
3
4
|
export * from './dom';
|
|
5
|
+
export * from './event-manager';
|
|
4
6
|
export * from './ng-changes';
|
|
5
7
|
export * from './provide-module-config';
|
|
6
8
|
export * from './type-guards';
|
|
7
9
|
export * from './until-destroyed';
|
|
8
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
10
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2FuZ3VsYXIvdXRpbHMvc3JjL2xpYi9oZWxwZXJzL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGNBQWMsV0FBVyxDQUFDO0FBQzFCLGNBQWMsU0FBUyxDQUFDO0FBQ3hCLGNBQWMsWUFBWSxDQUFDO0FBQzNCLGNBQWMsT0FBTyxDQUFDO0FBQ3RCLGNBQWMsaUJBQWlCLENBQUM7QUFDaEMsY0FBYyxjQUFjLENBQUM7QUFDN0IsY0FBYyx5QkFBeUIsQ0FBQztBQUN4QyxjQUFjLGVBQWUsQ0FBQztBQUM5QixjQUFjLG1CQUFtQixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi9hbmd1bGFyJztcbmV4cG9ydCAqIGZyb20gJy4vYXJyYXknO1xuZXhwb3J0ICogZnJvbSAnLi9kZWZlci1mbic7XG5leHBvcnQgKiBmcm9tICcuL2RvbSc7XG5leHBvcnQgKiBmcm9tICcuL2V2ZW50LW1hbmFnZXInO1xuZXhwb3J0ICogZnJvbSAnLi9uZy1jaGFuZ2VzJztcbmV4cG9ydCAqIGZyb20gJy4vcHJvdmlkZS1tb2R1bGUtY29uZmlnJztcbmV4cG9ydCAqIGZyb20gJy4vdHlwZS1ndWFyZHMnO1xuZXhwb3J0ICogZnJvbSAnLi91bnRpbC1kZXN0cm95ZWQnO1xuIl19
|