@taiga-ui/cdk 3.16.0 → 3.17.0-dev.main-ab1c8d2
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/bundles/taiga-ui-cdk-components-alert-host.umd.js +1 -0
- package/bundles/taiga-ui-cdk-components-alert-host.umd.js.map +1 -1
- package/bundles/taiga-ui-cdk-components-dialog-host.umd.js +1 -0
- package/bundles/taiga-ui-cdk-components-dialog-host.umd.js.map +1 -1
- package/bundles/taiga-ui-cdk-constants.umd.js +1 -1
- package/bundles/taiga-ui-cdk-constants.umd.js.map +1 -1
- package/bundles/taiga-ui-cdk-decorators.umd.js +8 -1
- package/bundles/taiga-ui-cdk-decorators.umd.js.map +1 -1
- package/bundles/taiga-ui-cdk-directives-autofilled.umd.js +3 -1
- package/bundles/taiga-ui-cdk-directives-autofilled.umd.js.map +1 -1
- package/bundles/taiga-ui-cdk-directives-drag.umd.js.map +1 -1
- package/bundles/taiga-ui-cdk-directives-prevent-default.umd.js +17 -11
- package/bundles/taiga-ui-cdk-directives-prevent-default.umd.js.map +1 -1
- package/bundles/taiga-ui-cdk-utils-miscellaneous.umd.js +17 -0
- package/bundles/taiga-ui-cdk-utils-miscellaneous.umd.js.map +1 -1
- package/constants/version.d.ts +1 -1
- package/constants/version.js +1 -1
- package/directives/autofilled/autofilled-style.component.d.ts +1 -1
- package/directives/prevent-default/prevent-default.directive.d.ts +11 -5
- package/esm2015/components/alert-host/alert-host.component.js +2 -1
- package/esm2015/components/dialog-host/dialog-host.component.js +2 -1
- package/esm2015/constants/version.js +2 -2
- package/esm2015/decorators/default-prop.js +3 -1
- package/esm2015/decorators/pure.js +7 -2
- package/esm2015/directives/autofilled/autofilled-style.component.js +5 -3
- package/esm2015/directives/drag/drag.directive.js +1 -1
- package/esm2015/directives/prevent-default/prevent-default.directive.js +18 -11
- package/esm2015/utils/miscellaneous/index.js +2 -1
- package/esm2015/utils/miscellaneous/object-from-entries.js +12 -0
- package/fesm2015/taiga-ui-cdk-components-alert-host.js +1 -0
- package/fesm2015/taiga-ui-cdk-components-alert-host.js.map +1 -1
- package/fesm2015/taiga-ui-cdk-components-dialog-host.js +1 -0
- package/fesm2015/taiga-ui-cdk-components-dialog-host.js.map +1 -1
- package/fesm2015/taiga-ui-cdk-constants.js +1 -1
- package/fesm2015/taiga-ui-cdk-constants.js.map +1 -1
- package/fesm2015/taiga-ui-cdk-decorators.js +8 -1
- package/fesm2015/taiga-ui-cdk-decorators.js.map +1 -1
- package/fesm2015/taiga-ui-cdk-directives-autofilled.js +4 -2
- package/fesm2015/taiga-ui-cdk-directives-autofilled.js.map +1 -1
- package/fesm2015/taiga-ui-cdk-directives-drag.js.map +1 -1
- package/fesm2015/taiga-ui-cdk-directives-prevent-default.js +17 -10
- package/fesm2015/taiga-ui-cdk-directives-prevent-default.js.map +1 -1
- package/fesm2015/taiga-ui-cdk-utils-miscellaneous.js +13 -1
- package/fesm2015/taiga-ui-cdk-utils-miscellaneous.js.map +1 -1
- package/package.json +1 -1
- package/schematics/ng-update/v3/constants/templates.js +18 -0
- package/schematics/utils/angular-json-manipulations.js +4 -3
- package/schematics/utils/templates/elements.js +6 -3
- package/schematics/utils/templates/ng-component-input-manipulations.js +3 -2
- package/utils/miscellaneous/index.d.ts +1 -0
- package/utils/miscellaneous/object-from-entries.d.ts +9 -0
- package/constants/always-false-handler.js +0 -9
- package/constants/always-true-handler.js +0 -9
- package/constants/browser.js +0 -8
- package/constants/empty.js +0 -26
- package/constants/index.js +0 -14
- package/constants/matcher.js +0 -32
- package/constants/parent-animation.js +0 -10
- package/constants/polling-time.js +0 -4
- package/constants/stringify.js +0 -8
- package/constants/svg-node-filter.js +0 -8
- package/constants/unicode-chars.js +0 -66
- package/interfaces/alert-context.js +0 -2
- package/interfaces/aria-dialog-context.js +0 -2
- package/interfaces/base-dialog-context.js +0 -2
- package/interfaces/base-dialog.js +0 -2
- package/interfaces/context-with-implicit.js +0 -2
- package/interfaces/control-value-transformer.js +0 -2
- package/interfaces/day-like.js +0 -2
- package/interfaces/focusable-element-accessor.js +0 -2
- package/interfaces/index.js +0 -16
- package/interfaces/month-like.js +0 -2
- package/interfaces/swipe.js +0 -2
- package/interfaces/time-like.js +0 -2
- package/interfaces/year-like.js +0 -2
- package/interfaces/zoom.js +0 -2
- package/types/autocomplete.js +0 -2
- package/types/date-mode.js +0 -2
- package/types/dialog.js +0 -2
- package/types/event-with.js +0 -2
- package/types/handler.js +0 -2
- package/types/index.js +0 -15
- package/types/injection-token-type.js +0 -2
- package/types/input-mode.js +0 -2
- package/types/input-type.js +0 -2
- package/types/mapper.js +0 -2
- package/types/matcher.js +0 -2
- package/types/overscroll-mode.js +0 -2
- package/types/time-mode.js +0 -2
|
@@ -11,6 +11,7 @@ import { TuiPureException } from '@taiga-ui/cdk/exceptions';
|
|
|
11
11
|
export function tuiPure(_target, propertyKey, { get, enumerable, value }) {
|
|
12
12
|
if (get) {
|
|
13
13
|
return {
|
|
14
|
+
configurable: true,
|
|
14
15
|
enumerable,
|
|
15
16
|
get() {
|
|
16
17
|
const value = get.call(this);
|
|
@@ -24,6 +25,7 @@ export function tuiPure(_target, propertyKey, { get, enumerable, value }) {
|
|
|
24
25
|
}
|
|
25
26
|
const original = value;
|
|
26
27
|
return {
|
|
28
|
+
configurable: true,
|
|
27
29
|
enumerable,
|
|
28
30
|
get() {
|
|
29
31
|
let previousArgs = [];
|
|
@@ -41,9 +43,12 @@ export function tuiPure(_target, propertyKey, { get, enumerable, value }) {
|
|
|
41
43
|
originalFnWasCalledLeastAtOnce = true;
|
|
42
44
|
return pureValue;
|
|
43
45
|
};
|
|
44
|
-
Object.defineProperty(this, propertyKey, {
|
|
46
|
+
Object.defineProperty(this, propertyKey, {
|
|
47
|
+
configurable: true,
|
|
48
|
+
value: patched,
|
|
49
|
+
});
|
|
45
50
|
return patched;
|
|
46
51
|
},
|
|
47
52
|
};
|
|
48
53
|
}
|
|
49
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
54
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVyZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL2Nkay9kZWNvcmF0b3JzL3B1cmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFDLGdCQUFnQixFQUFDLE1BQU0sMEJBQTBCLENBQUM7QUFFMUQ7Ozs7Ozs7O0dBUUc7QUFDSCxNQUFNLFVBQVUsT0FBTyxDQUNuQixPQUE0QixFQUM1QixXQUFtQixFQUNuQixFQUFDLEdBQUcsRUFBRSxVQUFVLEVBQUUsS0FBSyxFQUE2QjtJQUVwRCxJQUFJLEdBQUcsRUFBRTtRQUNMLE9BQU87WUFDSCxZQUFZLEVBQUUsSUFBSTtZQUNsQixVQUFVO1lBQ1YsR0FBRztnQkFDQyxNQUFNLEtBQUssR0FBRyxHQUFHLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO2dCQUU3QixNQUFNLENBQUMsY0FBYyxDQUFDLElBQUksRUFBRSxXQUFXLEVBQUUsRUFBQyxVQUFVLEVBQUUsS0FBSyxFQUFDLENBQUMsQ0FBQztnQkFFOUQsT0FBTyxLQUFLLENBQUM7WUFDakIsQ0FBQztTQUNKLENBQUM7S0FDTDtJQUVELElBQUksT0FBTyxLQUFLLEtBQUssVUFBVSxFQUFFO1FBQzdCLE1BQU0sSUFBSSxnQkFBZ0IsRUFBRSxDQUFDO0tBQ2hDO0lBRUQsTUFBTSxRQUFRLEdBQUcsS0FBSyxDQUFDO0lBRXZCLE9BQU87UUFDSCxZQUFZLEVBQUUsSUFBSTtRQUNsQixVQUFVO1FBQ1YsR0FBRztZQUNDLElBQUksWUFBWSxHQUF1QixFQUFFLENBQUM7WUFDMUMsSUFBSSw4QkFBOEIsR0FBRyxLQUFLLENBQUM7WUFDM0MsSUFBSSxTQUFrQixDQUFDO1lBRXZCLE1BQU0sT0FBTyxHQUFHLENBQUMsR0FBRyxJQUFlLEVBQVcsRUFBRTtnQkFDNUMsTUFBTSxNQUFNLEdBQ1IsOEJBQThCO29CQUM5QixZQUFZLENBQUMsTUFBTSxLQUFLLElBQUksQ0FBQyxNQUFNO29CQUNuQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUMsR0FBRyxFQUFFLEtBQUssRUFBRSxFQUFFLENBQUMsR0FBRyxLQUFLLFlBQVksQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDO2dCQUU1RCxJQUFJLE1BQU0sRUFBRTtvQkFDUixPQUFPLFNBQVMsQ0FBQztpQkFDcEI7Z0JBRUQsWUFBWSxHQUFHLElBQUksQ0FBQztnQkFDcEIsU0FBUyxHQUFHLFFBQVEsQ0FBQyxLQUFLLENBQUMsSUFBSSxFQUFFLElBQUksQ0FBQyxDQUFDO2dCQUN2Qyw4QkFBOEIsR0FBRyxJQUFJLENBQUM7Z0JBRXRDLE9BQU8sU0FBUyxDQUFDO1lBQ3JCLENBQUMsQ0FBQztZQUVGLE1BQU0sQ0FBQyxjQUFjLENBQUMsSUFBSSxFQUFFLFdBQVcsRUFBRTtnQkFDckMsWUFBWSxFQUFFLElBQUk7Z0JBQ2xCLEtBQUssRUFBRSxPQUFPO2FBQ2pCLENBQUMsQ0FBQztZQUVILE9BQU8sT0FBdUIsQ0FBQztRQUNuQyxDQUFDO0tBQ0osQ0FBQztBQUNOLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1R1aVB1cmVFeGNlcHRpb259IGZyb20gJ0B0YWlnYS11aS9jZGsvZXhjZXB0aW9ucyc7XG5cbi8qKlxuICogSW1wbGVtZW50cyBsYXp5IGluaXRpYWxpemF0aW9uIGZvciBnZXR0ZXIgb3IgbWVtb2l6YXRpb24gb2YgYSBmdW5jdGlvbiBjYWxsIHNpbWlsYXIgdG8gcHVyZSB7QGxpbms6IFBpcGV9LlxuICogUmVwbGFjZXMgZ2V0dGVyIHdpdGggaXRzIGNhbGN1bGF0ZWQgdmFsdWUgdXBvbiBmaXJzdCBjYWxsIG9yIGtlZXBzIHRyYWNrIG9mIGxhc3QgY2FsbCBhcmd1bWVudHMgYW5kIHJldHVybmVkXG4gKiB2YWx1ZSBmb3IgZnVuY3Rpb24sIHNraXBwaW5nIGNhbGN1bGF0aW9uIHdoZW4gYXJndW1lbnRzIGFyZSBzdHJpY3RseSB0aGUgc2FtZS5cbiAqXG4gKiBAdGhyb3dzIGVycm9yIGlmIHVzZWQgbm90IG9uIGdldHRlciBvciBmdW5jdGlvblxuICpcbiAqIENBVVRJT046IGB0aGlzYCBpcyBub3QgYXZhaWxhYmxlIGluc2lkZSBzdWNoIGZ1bmN0aW9ucy9nZXR0ZXJzLCB0aGV5IG11c3QgYmUgcHVyZS5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIHR1aVB1cmU8VD4oXG4gICAgX3RhcmdldDogUmVjb3JkPHN0cmluZywgYW55PixcbiAgICBwcm9wZXJ0eUtleTogc3RyaW5nLFxuICAgIHtnZXQsIGVudW1lcmFibGUsIHZhbHVlfTogVHlwZWRQcm9wZXJ0eURlc2NyaXB0b3I8VD4sXG4pOiBUeXBlZFByb3BlcnR5RGVzY3JpcHRvcjxUPiB7XG4gICAgaWYgKGdldCkge1xuICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlLFxuICAgICAgICAgICAgZW51bWVyYWJsZSxcbiAgICAgICAgICAgIGdldCgpOiBUIHtcbiAgICAgICAgICAgICAgICBjb25zdCB2YWx1ZSA9IGdldC5jYWxsKHRoaXMpO1xuXG4gICAgICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KHRoaXMsIHByb3BlcnR5S2V5LCB7ZW51bWVyYWJsZSwgdmFsdWV9KTtcblxuICAgICAgICAgICAgICAgIHJldHVybiB2YWx1ZTtcbiAgICAgICAgICAgIH0sXG4gICAgICAgIH07XG4gICAgfVxuXG4gICAgaWYgKHR5cGVvZiB2YWx1ZSAhPT0gYGZ1bmN0aW9uYCkge1xuICAgICAgICB0aHJvdyBuZXcgVHVpUHVyZUV4Y2VwdGlvbigpO1xuICAgIH1cblxuICAgIGNvbnN0IG9yaWdpbmFsID0gdmFsdWU7XG5cbiAgICByZXR1cm4ge1xuICAgICAgICBjb25maWd1cmFibGU6IHRydWUsXG4gICAgICAgIGVudW1lcmFibGUsXG4gICAgICAgIGdldCgpOiBUIHtcbiAgICAgICAgICAgIGxldCBwcmV2aW91c0FyZ3M6IHJlYWRvbmx5IHVua25vd25bXSA9IFtdO1xuICAgICAgICAgICAgbGV0IG9yaWdpbmFsRm5XYXNDYWxsZWRMZWFzdEF0T25jZSA9IGZhbHNlO1xuICAgICAgICAgICAgbGV0IHB1cmVWYWx1ZTogdW5rbm93bjtcblxuICAgICAgICAgICAgY29uc3QgcGF0Y2hlZCA9ICguLi5hcmdzOiB1bmtub3duW10pOiB1bmtub3duID0+IHtcbiAgICAgICAgICAgICAgICBjb25zdCBpc1B1cmUgPVxuICAgICAgICAgICAgICAgICAgICBvcmlnaW5hbEZuV2FzQ2FsbGVkTGVhc3RBdE9uY2UgJiZcbiAgICAgICAgICAgICAgICAgICAgcHJldmlvdXNBcmdzLmxlbmd0aCA9PT0gYXJncy5sZW5ndGggJiZcbiAgICAgICAgICAgICAgICAgICAgYXJncy5ldmVyeSgoYXJnLCBpbmRleCkgPT4gYXJnID09PSBwcmV2aW91c0FyZ3NbaW5kZXhdKTtcblxuICAgICAgICAgICAgICAgIGlmIChpc1B1cmUpIHtcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHB1cmVWYWx1ZTtcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICBwcmV2aW91c0FyZ3MgPSBhcmdzO1xuICAgICAgICAgICAgICAgIHB1cmVWYWx1ZSA9IG9yaWdpbmFsLmFwcGx5KHRoaXMsIGFyZ3MpO1xuICAgICAgICAgICAgICAgIG9yaWdpbmFsRm5XYXNDYWxsZWRMZWFzdEF0T25jZSA9IHRydWU7XG5cbiAgICAgICAgICAgICAgICByZXR1cm4gcHVyZVZhbHVlO1xuICAgICAgICAgICAgfTtcblxuICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KHRoaXMsIHByb3BlcnR5S2V5LCB7XG4gICAgICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlLFxuICAgICAgICAgICAgICAgIHZhbHVlOiBwYXRjaGVkLFxuICAgICAgICAgICAgfSk7XG5cbiAgICAgICAgICAgIHJldHVybiBwYXRjaGVkIGFzIHVua25vd24gYXMgVDtcbiAgICAgICAgfSxcbiAgICB9O1xufVxuIl19
|
|
@@ -1,15 +1,17 @@
|
|
|
1
|
-
import { Component, ViewEncapsulation } from '@angular/core';
|
|
1
|
+
import { ChangeDetectionStrategy, Component, ViewEncapsulation } from '@angular/core';
|
|
2
2
|
import * as i0 from "@angular/core";
|
|
3
3
|
export class TuiAutofilledStyleComponent {
|
|
4
4
|
}
|
|
5
5
|
TuiAutofilledStyleComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: TuiAutofilledStyleComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
6
|
-
TuiAutofilledStyleComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.16", type: TuiAutofilledStyleComponent, selector: "
|
|
6
|
+
TuiAutofilledStyleComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.16", type: TuiAutofilledStyleComponent, selector: "tui-autofilled-style", ngImport: i0, template: '', isInline: true, styles: [".tui-autofill input,input.tui-autofill{transition:box-shadow .01s}\n"], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
|
|
7
7
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: TuiAutofilledStyleComponent, decorators: [{
|
|
8
8
|
type: Component,
|
|
9
9
|
args: [{
|
|
10
|
+
selector: 'tui-autofilled-style',
|
|
10
11
|
template: '',
|
|
11
12
|
styleUrls: ['./autofilled.style.less'],
|
|
12
13
|
encapsulation: ViewEncapsulation.None,
|
|
14
|
+
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
13
15
|
}]
|
|
14
16
|
}] });
|
|
15
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
17
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXV0b2ZpbGxlZC1zdHlsZS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jZGsvZGlyZWN0aXZlcy9hdXRvZmlsbGVkL2F1dG9maWxsZWQtc3R5bGUuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyx1QkFBdUIsRUFBRSxTQUFTLEVBQUUsaUJBQWlCLEVBQUMsTUFBTSxlQUFlLENBQUM7O0FBU3BGLE1BQU0sT0FBTywyQkFBMkI7O3lIQUEzQiwyQkFBMkI7NkdBQTNCLDJCQUEyQiw0REFMMUIsRUFBRTs0RkFLSCwyQkFBMkI7a0JBUHZDLFNBQVM7bUJBQUM7b0JBQ1AsUUFBUSxFQUFFLHNCQUFzQjtvQkFDaEMsUUFBUSxFQUFFLEVBQUU7b0JBQ1osU0FBUyxFQUFFLENBQUMseUJBQXlCLENBQUM7b0JBQ3RDLGFBQWEsRUFBRSxpQkFBaUIsQ0FBQyxJQUFJO29CQUNyQyxlQUFlLEVBQUUsdUJBQXVCLENBQUMsTUFBTTtpQkFDbEQiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0NoYW5nZURldGVjdGlvblN0cmF0ZWd5LCBDb21wb25lbnQsIFZpZXdFbmNhcHN1bGF0aW9ufSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICd0dWktYXV0b2ZpbGxlZC1zdHlsZScsXG4gICAgdGVtcGxhdGU6ICcnLFxuICAgIHN0eWxlVXJsczogWycuL2F1dG9maWxsZWQuc3R5bGUubGVzcyddLFxuICAgIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmUsXG4gICAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG59KVxuZXhwb3J0IGNsYXNzIFR1aUF1dG9maWxsZWRTdHlsZUNvbXBvbmVudCB7fVxuIl19
|
|
@@ -34,4 +34,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImpo
|
|
|
34
34
|
type: Output,
|
|
35
35
|
args: ['tuiDragEnd']
|
|
36
36
|
}] } });
|
|
37
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
37
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHJhZy5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jZGsvZGlyZWN0aXZlcy9kcmFnL2RyYWcuZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyxTQUFTLEVBQUUsVUFBVSxFQUFFLE1BQU0sRUFBRSxNQUFNLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFDcEUsT0FBTyxFQUFDLGtCQUFrQixFQUFlLE1BQU0sMkJBQTJCLENBQUM7QUFFM0UsT0FBTyxFQUFDLE1BQU0sRUFBRSxHQUFHLEVBQUMsTUFBTSxnQkFBZ0IsQ0FBQzs7QUFFM0M7O0dBRUc7QUFJSCxNQUFNLE9BQU8sZ0JBQWdCO0lBdUJ6QixZQUFpRCxVQUErQjtRQUEvQixlQUFVLEdBQVYsVUFBVSxDQUFxQjtRQXRCL0QscUJBQWdCLEdBQUcsa0JBQWtCLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxhQUFhLENBQUMsQ0FBQztRQUk3RSxVQUFLLEdBQTJCLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxJQUFJLENBQy9ELE1BQU0sQ0FBQyxDQUFDLEVBQUMsS0FBSyxFQUFDLEVBQUUsRUFBRSxDQUFDLEtBQUssa0JBQXVCLENBQUMsRUFDakQsR0FBRyxDQUFDLENBQUMsRUFBQyxLQUFLLEVBQUMsRUFBRSxFQUFFLENBQUMsS0FBSyxDQUFDLENBQzFCLENBQUM7UUFHTyxjQUFTLEdBQTJCLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxJQUFJLENBQ25FLE1BQU0sQ0FBQyxDQUFDLEVBQUMsS0FBSyxFQUFDLEVBQUUsRUFBRSxDQUFDLEtBQUssc0JBQTJCLENBQUMsRUFDckQsR0FBRyxDQUFDLENBQUMsRUFBQyxLQUFLLEVBQUMsRUFBRSxFQUFFLENBQUMsS0FBSyxDQUFDLENBQzFCLENBQUM7UUFJTyxRQUFHLEdBQTJCLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxJQUFJLENBQzdELE1BQU0sQ0FBQyxDQUFDLEVBQUMsS0FBSyxFQUFDLEVBQUUsRUFBRSxDQUFDLEtBQUssZ0JBQXFCLENBQUMsRUFDL0MsR0FBRyxDQUFDLENBQUMsRUFBQyxLQUFLLEVBQUMsRUFBRSxFQUFFLENBQUMsS0FBSyxDQUFDLENBQzFCLENBQUM7SUFFaUYsQ0FBQzs7OEdBdkIzRSxnQkFBZ0Isa0JBdUJMLFVBQVU7a0dBdkJyQixnQkFBZ0I7NEZBQWhCLGdCQUFnQjtrQkFINUIsU0FBUzttQkFBQztvQkFDUCxRQUFRLEVBQUUsa0RBQWtEO2lCQUMvRDs7MEJBd0JnQixNQUFNOzJCQUFDLFVBQVU7NENBbEJyQixLQUFLO3NCQUZiLE1BQU07dUJBQUMsY0FBYztnQkFRYixTQUFTO3NCQURqQixNQUFNO3VCQUFDLGtCQUFrQjtnQkFRakIsR0FBRztzQkFGWCxNQUFNO3VCQUFDLFlBQVkiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0RpcmVjdGl2ZSwgRWxlbWVudFJlZiwgSW5qZWN0LCBPdXRwdXR9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHt0dWlEcmFnQW5kRHJvcEZyb20sIFR1aURyYWdTdGFnZX0gZnJvbSAnQHRhaWdhLXVpL2Nkay9vYnNlcnZhYmxlcyc7XG5pbXBvcnQge09ic2VydmFibGV9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHtmaWx0ZXIsIG1hcH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuXG4vKipcbiAqIEBkZXByZWNhdGVkIG5vdCB1c2VkIGFueXdoZXJlXG4gKi9cbkBEaXJlY3RpdmUoe1xuICAgIHNlbGVjdG9yOiAnW3R1aURyYWdTdGFydF0sIFt0dWlEcmFnQ29udGludWVzXSwgW3R1aURyYWdFbmRdJyxcbn0pXG5leHBvcnQgY2xhc3MgVHVpRHJhZ0RpcmVjdGl2ZSB7XG4gICAgcHJpdmF0ZSByZWFkb25seSBkcmFnQW5kRHJvcEZyb20kID0gdHVpRHJhZ0FuZERyb3BGcm9tKHRoaXMuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50KTtcblxuICAgIEBPdXRwdXQoJ3R1aURyYWdTdGFydCcpXG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEBhbmd1bGFyLWVzbGludC9uby1vdXRwdXQtbmF0aXZlXG4gICAgcmVhZG9ubHkgc3RhcnQ6IE9ic2VydmFibGU8TW91c2VFdmVudD4gPSB0aGlzLmRyYWdBbmREcm9wRnJvbSQucGlwZShcbiAgICAgICAgZmlsdGVyKCh7c3RhZ2V9KSA9PiBzdGFnZSA9PT0gVHVpRHJhZ1N0YWdlLlN0YXJ0KSxcbiAgICAgICAgbWFwKCh7ZXZlbnR9KSA9PiBldmVudCksXG4gICAgKTtcblxuICAgIEBPdXRwdXQoJ3R1aURyYWdDb250aW51ZXMnKVxuICAgIHJlYWRvbmx5IGNvbnRpbnVlczogT2JzZXJ2YWJsZTxNb3VzZUV2ZW50PiA9IHRoaXMuZHJhZ0FuZERyb3BGcm9tJC5waXBlKFxuICAgICAgICBmaWx0ZXIoKHtzdGFnZX0pID0+IHN0YWdlID09PSBUdWlEcmFnU3RhZ2UuQ29udGludWVzKSxcbiAgICAgICAgbWFwKCh7ZXZlbnR9KSA9PiBldmVudCksXG4gICAgKTtcblxuICAgIEBPdXRwdXQoJ3R1aURyYWdFbmQnKVxuICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAYW5ndWxhci1lc2xpbnQvbm8tb3V0cHV0LW5hdGl2ZVxuICAgIHJlYWRvbmx5IGVuZDogT2JzZXJ2YWJsZTxNb3VzZUV2ZW50PiA9IHRoaXMuZHJhZ0FuZERyb3BGcm9tJC5waXBlKFxuICAgICAgICBmaWx0ZXIoKHtzdGFnZX0pID0+IHN0YWdlID09PSBUdWlEcmFnU3RhZ2UuRW5kKSxcbiAgICAgICAgbWFwKCh7ZXZlbnR9KSA9PiBldmVudCksXG4gICAgKTtcblxuICAgIGNvbnN0cnVjdG9yKEBJbmplY3QoRWxlbWVudFJlZikgcHJpdmF0ZSByZWFkb25seSBlbGVtZW50UmVmOiBFbGVtZW50UmVmPEVsZW1lbnQ+KSB7fVxufVxuIl19
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { Directive, ElementRef, Inject, Input, NgZone, Self } from '@angular/core';
|
|
2
2
|
import { tuiPreventDefault, tuiZonefree } from '@taiga-ui/cdk/observables';
|
|
3
3
|
import { TuiDestroyService } from '@taiga-ui/cdk/services';
|
|
4
4
|
import { fromEvent } from 'rxjs';
|
|
@@ -6,18 +6,25 @@ import { takeUntil } from 'rxjs/operators';
|
|
|
6
6
|
import * as i0 from "@angular/core";
|
|
7
7
|
import * as i1 from "rxjs";
|
|
8
8
|
/**
|
|
9
|
+
* @description:
|
|
9
10
|
* Simple prevent default on event directive when you do not need anything
|
|
10
11
|
* else on event and do not want to trigger change detection
|
|
11
12
|
*/
|
|
12
13
|
export class TuiPreventDefaultDirective {
|
|
13
|
-
constructor(
|
|
14
|
-
|
|
15
|
-
|
|
14
|
+
constructor(elementRef, ngZone, destroy$) {
|
|
15
|
+
this.elementRef = elementRef;
|
|
16
|
+
this.ngZone = ngZone;
|
|
17
|
+
this.destroy$ = destroy$;
|
|
18
|
+
this.eventName = '';
|
|
19
|
+
}
|
|
20
|
+
ngOnInit() {
|
|
21
|
+
fromEvent(this.elementRef.nativeElement, this.eventName, { passive: false })
|
|
22
|
+
.pipe(tuiZonefree(this.ngZone), tuiPreventDefault(), takeUntil(this.destroy$))
|
|
16
23
|
.subscribe();
|
|
17
24
|
}
|
|
18
25
|
}
|
|
19
|
-
TuiPreventDefaultDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: TuiPreventDefaultDirective, deps: [{ token: ElementRef }, { token: NgZone }, { token: TuiDestroyService, self: true }
|
|
20
|
-
TuiPreventDefaultDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "12.2.16", type: TuiPreventDefaultDirective, selector: "[tuiPreventDefault]", providers: [TuiDestroyService], ngImport: i0 });
|
|
26
|
+
TuiPreventDefaultDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: TuiPreventDefaultDirective, deps: [{ token: ElementRef }, { token: NgZone }, { token: TuiDestroyService, self: true }], target: i0.ɵɵFactoryTarget.Directive });
|
|
27
|
+
TuiPreventDefaultDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "12.2.16", type: TuiPreventDefaultDirective, selector: "[tuiPreventDefault]", inputs: { eventName: ["tuiPreventDefault", "eventName"] }, providers: [TuiDestroyService], ngImport: i0 });
|
|
21
28
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: TuiPreventDefaultDirective, decorators: [{
|
|
22
29
|
type: Directive,
|
|
23
30
|
args: [{
|
|
@@ -35,8 +42,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImpo
|
|
|
35
42
|
}, {
|
|
36
43
|
type: Inject,
|
|
37
44
|
args: [TuiDestroyService]
|
|
38
|
-
}] },
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
45
|
+
}] }]; }, propDecorators: { eventName: [{
|
|
46
|
+
type: Input,
|
|
47
|
+
args: ['tuiPreventDefault']
|
|
48
|
+
}] } });
|
|
49
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJldmVudC1kZWZhdWx0LmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2Nkay9kaXJlY3RpdmVzL3ByZXZlbnQtZGVmYXVsdC9wcmV2ZW50LWRlZmF1bHQuZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyxTQUFTLEVBQUUsVUFBVSxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFVLElBQUksRUFBQyxNQUFNLGVBQWUsQ0FBQztBQUN6RixPQUFPLEVBQUMsaUJBQWlCLEVBQUUsV0FBVyxFQUFDLE1BQU0sMkJBQTJCLENBQUM7QUFDekUsT0FBTyxFQUFDLGlCQUFpQixFQUFDLE1BQU0sd0JBQXdCLENBQUM7QUFDekQsT0FBTyxFQUFDLFNBQVMsRUFBYSxNQUFNLE1BQU0sQ0FBQztBQUMzQyxPQUFPLEVBQUMsU0FBUyxFQUFDLE1BQU0sZ0JBQWdCLENBQUM7OztBQUV6Qzs7OztHQUlHO0FBS0gsTUFBTSxPQUFPLDBCQUEwQjtJQUluQyxZQUN5QyxVQUFtQyxFQUN2QyxNQUFjLEVBQ0ssUUFBMEI7UUFGekMsZUFBVSxHQUFWLFVBQVUsQ0FBeUI7UUFDdkMsV0FBTSxHQUFOLE1BQU0sQ0FBUTtRQUNLLGFBQVEsR0FBUixRQUFRLENBQWtCO1FBTGxGLGNBQVMsR0FBRyxFQUFFLENBQUM7SUFNWixDQUFDO0lBRUosUUFBUTtRQUNKLFNBQVMsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLGFBQWEsRUFBRSxJQUFJLENBQUMsU0FBUyxFQUFFLEVBQUMsT0FBTyxFQUFFLEtBQUssRUFBQyxDQUFDO2FBQ3JFLElBQUksQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxFQUFFLGlCQUFpQixFQUFFLEVBQUUsU0FBUyxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQzthQUM3RSxTQUFTLEVBQUUsQ0FBQztJQUNyQixDQUFDOzt3SEFkUSwwQkFBMEIsa0JBS3ZCLFVBQVUsYUFDVixNQUFNLGFBQ0UsaUJBQWlCOzRHQVA1QiwwQkFBMEIseUdBRnhCLENBQUMsaUJBQWlCLENBQUM7NEZBRXJCLDBCQUEwQjtrQkFKdEMsU0FBUzttQkFBQztvQkFDUCxRQUFRLEVBQUUscUJBQXFCO29CQUMvQixTQUFTLEVBQUUsQ0FBQyxpQkFBaUIsQ0FBQztpQkFDakM7OzBCQU1RLE1BQU07MkJBQUMsVUFBVTs7MEJBQ2pCLE1BQU07MkJBQUMsTUFBTTs7MEJBQ2IsSUFBSTs7MEJBQUksTUFBTTsyQkFBQyxpQkFBaUI7NENBTHJDLFNBQVM7c0JBRFIsS0FBSzt1QkFBQyxtQkFBbUIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0RpcmVjdGl2ZSwgRWxlbWVudFJlZiwgSW5qZWN0LCBJbnB1dCwgTmdab25lLCBPbkluaXQsIFNlbGZ9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHt0dWlQcmV2ZW50RGVmYXVsdCwgdHVpWm9uZWZyZWV9IGZyb20gJ0B0YWlnYS11aS9jZGsvb2JzZXJ2YWJsZXMnO1xuaW1wb3J0IHtUdWlEZXN0cm95U2VydmljZX0gZnJvbSAnQHRhaWdhLXVpL2Nkay9zZXJ2aWNlcyc7XG5pbXBvcnQge2Zyb21FdmVudCwgT2JzZXJ2YWJsZX0gZnJvbSAncnhqcyc7XG5pbXBvcnQge3Rha2VVbnRpbH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuXG4vKipcbiAqIEBkZXNjcmlwdGlvbjpcbiAqIFNpbXBsZSBwcmV2ZW50IGRlZmF1bHQgb24gZXZlbnQgZGlyZWN0aXZlIHdoZW4geW91IGRvIG5vdCBuZWVkIGFueXRoaW5nXG4gKiBlbHNlIG9uIGV2ZW50IGFuZCBkbyBub3Qgd2FudCB0byB0cmlnZ2VyIGNoYW5nZSBkZXRlY3Rpb25cbiAqL1xuQERpcmVjdGl2ZSh7XG4gICAgc2VsZWN0b3I6ICdbdHVpUHJldmVudERlZmF1bHRdJyxcbiAgICBwcm92aWRlcnM6IFtUdWlEZXN0cm95U2VydmljZV0sXG59KVxuZXhwb3J0IGNsYXNzIFR1aVByZXZlbnREZWZhdWx0RGlyZWN0aXZlIGltcGxlbWVudHMgT25Jbml0IHtcbiAgICBASW5wdXQoJ3R1aVByZXZlbnREZWZhdWx0JylcbiAgICBldmVudE5hbWUgPSAnJztcblxuICAgIGNvbnN0cnVjdG9yKFxuICAgICAgICBASW5qZWN0KEVsZW1lbnRSZWYpIHByaXZhdGUgcmVhZG9ubHkgZWxlbWVudFJlZjogRWxlbWVudFJlZjxIVE1MRWxlbWVudD4sXG4gICAgICAgIEBJbmplY3QoTmdab25lKSBwcml2YXRlIHJlYWRvbmx5IG5nWm9uZTogTmdab25lLFxuICAgICAgICBAU2VsZigpIEBJbmplY3QoVHVpRGVzdHJveVNlcnZpY2UpIHByaXZhdGUgcmVhZG9ubHkgZGVzdHJveSQ6IE9ic2VydmFibGU8dm9pZD4sXG4gICAgKSB7fVxuXG4gICAgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgICAgIGZyb21FdmVudCh0aGlzLmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudCwgdGhpcy5ldmVudE5hbWUsIHtwYXNzaXZlOiBmYWxzZX0pXG4gICAgICAgICAgICAucGlwZSh0dWlab25lZnJlZSh0aGlzLm5nWm9uZSksIHR1aVByZXZlbnREZWZhdWx0KCksIHRha2VVbnRpbCh0aGlzLmRlc3Ryb3kkKSlcbiAgICAgICAgICAgIC5zdWJzY3JpYmUoKTtcbiAgICB9XG59XG4iXX0=
|
|
@@ -12,5 +12,6 @@ export * from './is-present';
|
|
|
12
12
|
export * from './is-string';
|
|
13
13
|
export * from './mark-control-as-touched-and-validate';
|
|
14
14
|
export * from './nullable-same';
|
|
15
|
+
export * from './object-from-entries';
|
|
15
16
|
export * from './uniq-by';
|
|
16
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
17
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jZGsvdXRpbHMvbWlzY2VsbGFuZW91cy9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLGdCQUFnQixDQUFDO0FBQy9CLGNBQWMsd0JBQXdCLENBQUM7QUFDdkMsY0FBYyxnQkFBZ0IsQ0FBQztBQUMvQixjQUFjLDRCQUE0QixDQUFDO0FBQzNDLGNBQWMsb0JBQW9CLENBQUM7QUFDbkMsY0FBYyxlQUFlLENBQUM7QUFDOUIsY0FBYyxzQ0FBc0MsQ0FBQztBQUNyRCxjQUFjLHVCQUF1QixDQUFDO0FBQ3RDLGNBQWMsYUFBYSxDQUFDO0FBQzVCLGNBQWMsYUFBYSxDQUFDO0FBQzVCLGNBQWMsY0FBYyxDQUFDO0FBQzdCLGNBQWMsYUFBYSxDQUFDO0FBQzVCLGNBQWMsd0NBQXdDLENBQUM7QUFDdkQsY0FBYyxpQkFBaUIsQ0FBQztBQUNoQyxjQUFjLHVCQUF1QixDQUFDO0FBQ3RDLGNBQWMsV0FBVyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi9hcnJheS1yZW1vdmUnO1xuZXhwb3J0ICogZnJvbSAnLi9hcnJheS1zaGFsbG93LWVxdWFscyc7XG5leHBvcnQgKiBmcm9tICcuL2FycmF5LXRvZ2dsZSc7XG5leHBvcnQgKiBmcm9tICcuL2Rpc3RhbmNlLWJldHdlZW4tdG91Y2hlcyc7XG5leHBvcnQgKiBmcm9tICcuL2Vhc2UtaW4tb3V0LXF1YWQnO1xuZXhwb3J0ICogZnJvbSAnLi9mbGF0LWxlbmd0aCc7XG5leHBvcnQgKiBmcm9tICcuL2dldC1vcmlnaW5hbC1hcnJheS1mcm9tLXF1ZXJ5LWxpc3QnO1xuZXhwb3J0ICogZnJvbSAnLi9nZXQtc3dpcGUtZGlyZWN0aW9uJztcbmV4cG9ydCAqIGZyb20gJy4vaXMtbnVtYmVyJztcbmV4cG9ydCAqIGZyb20gJy4vaXMtb2JqZWN0JztcbmV4cG9ydCAqIGZyb20gJy4vaXMtcHJlc2VudCc7XG5leHBvcnQgKiBmcm9tICcuL2lzLXN0cmluZyc7XG5leHBvcnQgKiBmcm9tICcuL21hcmstY29udHJvbC1hcy10b3VjaGVkLWFuZC12YWxpZGF0ZSc7XG5leHBvcnQgKiBmcm9tICcuL251bGxhYmxlLXNhbWUnO1xuZXhwb3J0ICogZnJvbSAnLi9vYmplY3QtZnJvbS1lbnRyaWVzJztcbmV4cG9ydCAqIGZyb20gJy4vdW5pcS1ieSc7XG4iXX0=
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @deprecated use `Object.fromEntries` instead
|
|
3
|
+
* (check browser support first https://caniuse.com/mdn-javascript_builtins_object_fromentries)
|
|
4
|
+
* ___
|
|
5
|
+
* TODO: after we bump Firefox to 63+ replace this function with `Object.fromEntries`.
|
|
6
|
+
* TODO: Add `es2019.object` to `tsconfig.json` => `compilerOptions.lib`.
|
|
7
|
+
*
|
|
8
|
+
*/
|
|
9
|
+
export function tuiObjectFromEntries(keyValuePairs) {
|
|
10
|
+
return keyValuePairs.reduce((obj, [key, val]) => (Object.assign(Object.assign({}, obj), { [key]: val })), {});
|
|
11
|
+
}
|
|
12
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib2JqZWN0LWZyb20tZW50cmllcy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2Nkay91dGlscy9taXNjZWxsYW5lb3VzL29iamVjdC1mcm9tLWVudHJpZXMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7Ozs7R0FPRztBQUNILE1BQU0sVUFBVSxvQkFBb0IsQ0FDaEMsYUFBNEI7SUFFNUIsT0FBTyxhQUFhLENBQUMsTUFBTSxDQUN2QixDQUFDLEdBQUcsRUFBRSxDQUFDLEdBQUcsRUFBRSxHQUFHLENBQUMsRUFBRSxFQUFFLENBQUMsaUNBQUssR0FBRyxLQUFFLENBQUMsR0FBRyxDQUFDLEVBQUUsR0FBRyxJQUFFLEVBQzNDLEVBQWtCLENBQ3JCLENBQUM7QUFDTixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBAZGVwcmVjYXRlZCB1c2UgYE9iamVjdC5mcm9tRW50cmllc2AgaW5zdGVhZFxuICogKGNoZWNrIGJyb3dzZXIgc3VwcG9ydCBmaXJzdCBodHRwczovL2Nhbml1c2UuY29tL21kbi1qYXZhc2NyaXB0X2J1aWx0aW5zX29iamVjdF9mcm9tZW50cmllcylcbiAqIF9fX1xuICogVE9ETzogYWZ0ZXIgd2UgYnVtcCBGaXJlZm94IHRvIDYzKyByZXBsYWNlIHRoaXMgZnVuY3Rpb24gd2l0aCBgT2JqZWN0LmZyb21FbnRyaWVzYC5cbiAqIFRPRE86IEFkZCBgZXMyMDE5Lm9iamVjdGAgdG8gYHRzY29uZmlnLmpzb25gID0+IGBjb21waWxlck9wdGlvbnMubGliYC5cbiAqXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiB0dWlPYmplY3RGcm9tRW50cmllczxLIGV4dGVuZHMgbnVtYmVyIHwgc3RyaW5nLCBWPihcbiAgICBrZXlWYWx1ZVBhaXJzOiBBcnJheTxbSywgVl0+LFxuKTogUmVjb3JkPEssIFY+IHtcbiAgICByZXR1cm4ga2V5VmFsdWVQYWlycy5yZWR1Y2UoXG4gICAgICAgIChvYmosIFtrZXksIHZhbF0pID0+ICh7Li4ub2JqLCBba2V5XTogdmFsfSksXG4gICAgICAgIHt9IGFzIFJlY29yZDxLLCBWPixcbiAgICApO1xufVxuIl19
|
|
@@ -32,6 +32,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImpo
|
|
|
32
32
|
templateUrl: './alert-host.template.html',
|
|
33
33
|
styleUrls: ['./alert-host.style.less'],
|
|
34
34
|
// So that we do not force OnPush on custom alerts
|
|
35
|
+
// eslint-disable-next-line @angular-eslint/prefer-on-push-component-change-detection
|
|
35
36
|
changeDetection: ChangeDetectionStrategy.Default,
|
|
36
37
|
animations: [TUI_PARENT_ANIMATION],
|
|
37
38
|
encapsulation: ViewEncapsulation.None,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"taiga-ui-cdk-components-alert-host.js","sources":["../../../projects/cdk/components/alert-host/alert-host.component.ts","../../../projects/cdk/components/alert-host/alert-host.template.html","../../../projects/cdk/components/alert-host/alert-host.module.ts","../../../projects/cdk/components/alert-host/taiga-ui-cdk-components-alert-host.ts"],"sourcesContent":["import {\n ChangeDetectionStrategy,\n Component,\n Inject,\n INJECTOR,\n Injector,\n ViewEncapsulation,\n} from '@angular/core';\nimport {TUI_PARENT_ANIMATION} from '@taiga-ui/cdk/constants';\nimport {TUI_ALERTS} from '@taiga-ui/cdk/tokens';\nimport {TuiDialog, TuiMapper} from '@taiga-ui/cdk/types';\nimport {POLYMORPHEUS_CONTEXT} from '@tinkoff/ng-polymorpheus';\nimport {Observable} from 'rxjs';\n\n@Component({\n selector: 'tui-alert-host',\n templateUrl: './alert-host.template.html',\n styleUrls: ['./alert-host.style.less'],\n // So that we do not force OnPush on custom alerts\n changeDetection: ChangeDetectionStrategy.Default,\n animations: [TUI_PARENT_ANIMATION],\n encapsulation: ViewEncapsulation.None,\n})\nexport class TuiAlertHostComponent<T extends TuiDialog<unknown, unknown>> {\n constructor(\n @Inject(TUI_ALERTS) readonly alerts: Array<Observable<readonly T[]>>,\n @Inject(INJECTOR) private readonly injector: Injector,\n ) {}\n\n readonly mapper: TuiMapper<unknown, Injector> = useValue =>\n Injector.create({\n providers: [\n {\n provide: POLYMORPHEUS_CONTEXT,\n useValue,\n },\n ],\n parent: this.injector,\n });\n}\n","<div\n *ngFor=\"let alert$ of alerts\"\n class=\"t-notifications-wrapper\"\n @tuiParentAnimation\n>\n <ng-container\n *ngFor=\"let item of alert$ | async\"\n [ngComponentOutlet]=\"item.component.component\"\n [ngComponentOutletInjector]=\"item | tuiMapper : mapper\"\n ></ng-container>\n</div>\n","import {CommonModule} from '@angular/common';\nimport {NgModule} from '@angular/core';\nimport {TuiMapperPipeModule} from '@taiga-ui/cdk/pipes';\n\nimport {TuiAlertHostComponent} from './alert-host.component';\n\n@NgModule({\n imports: [CommonModule, TuiMapperPipeModule],\n declarations: [TuiAlertHostComponent],\n exports: [TuiAlertHostComponent],\n})\nexport class TuiAlertHostModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;;;;;;;;;
|
|
1
|
+
{"version":3,"file":"taiga-ui-cdk-components-alert-host.js","sources":["../../../projects/cdk/components/alert-host/alert-host.component.ts","../../../projects/cdk/components/alert-host/alert-host.template.html","../../../projects/cdk/components/alert-host/alert-host.module.ts","../../../projects/cdk/components/alert-host/taiga-ui-cdk-components-alert-host.ts"],"sourcesContent":["import {\n ChangeDetectionStrategy,\n Component,\n Inject,\n INJECTOR,\n Injector,\n ViewEncapsulation,\n} from '@angular/core';\nimport {TUI_PARENT_ANIMATION} from '@taiga-ui/cdk/constants';\nimport {TUI_ALERTS} from '@taiga-ui/cdk/tokens';\nimport {TuiDialog, TuiMapper} from '@taiga-ui/cdk/types';\nimport {POLYMORPHEUS_CONTEXT} from '@tinkoff/ng-polymorpheus';\nimport {Observable} from 'rxjs';\n\n@Component({\n selector: 'tui-alert-host',\n templateUrl: './alert-host.template.html',\n styleUrls: ['./alert-host.style.less'],\n // So that we do not force OnPush on custom alerts\n // eslint-disable-next-line @angular-eslint/prefer-on-push-component-change-detection\n changeDetection: ChangeDetectionStrategy.Default,\n animations: [TUI_PARENT_ANIMATION],\n encapsulation: ViewEncapsulation.None,\n})\nexport class TuiAlertHostComponent<T extends TuiDialog<unknown, unknown>> {\n constructor(\n @Inject(TUI_ALERTS) readonly alerts: Array<Observable<readonly T[]>>,\n @Inject(INJECTOR) private readonly injector: Injector,\n ) {}\n\n readonly mapper: TuiMapper<unknown, Injector> = useValue =>\n Injector.create({\n providers: [\n {\n provide: POLYMORPHEUS_CONTEXT,\n useValue,\n },\n ],\n parent: this.injector,\n });\n}\n","<div\n *ngFor=\"let alert$ of alerts\"\n class=\"t-notifications-wrapper\"\n @tuiParentAnimation\n>\n <ng-container\n *ngFor=\"let item of alert$ | async\"\n [ngComponentOutlet]=\"item.component.component\"\n [ngComponentOutletInjector]=\"item | tuiMapper : mapper\"\n ></ng-container>\n</div>\n","import {CommonModule} from '@angular/common';\nimport {NgModule} from '@angular/core';\nimport {TuiMapperPipeModule} from '@taiga-ui/cdk/pipes';\n\nimport {TuiAlertHostComponent} from './alert-host.component';\n\n@NgModule({\n imports: [CommonModule, TuiMapperPipeModule],\n declarations: [TuiAlertHostComponent],\n exports: [TuiAlertHostComponent],\n})\nexport class TuiAlertHostModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
|
|
@@ -68,6 +68,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImpo
|
|
|
68
68
|
templateUrl: './dialog-host.template.html',
|
|
69
69
|
styleUrls: ['./dialog-host.style.less'],
|
|
70
70
|
// So that we do not force OnPush on custom dialogs
|
|
71
|
+
// eslint-disable-next-line @angular-eslint/prefer-on-push-component-change-detection
|
|
71
72
|
changeDetection: ChangeDetectionStrategy.Default,
|
|
72
73
|
animations: [TUI_PARENT_ANIMATION],
|
|
73
74
|
}]
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"taiga-ui-cdk-components-dialog-host.js","sources":["../../../projects/cdk/components/dialog-host/dialog-host.component.ts","../../../projects/cdk/components/dialog-host/dialog-host.template.html","../../../projects/cdk/components/dialog-host/dialog-host.module.ts","../../../projects/cdk/components/dialog-host/taiga-ui-cdk-components-dialog-host.ts"],"sourcesContent":["import {ChangeDetectionStrategy, Component, Inject, InjectionToken} from '@angular/core';\nimport {Title} from '@angular/platform-browser';\nimport {HISTORY} from '@ng-web-apis/common';\nimport {TUI_PARENT_ANIMATION} from '@taiga-ui/cdk/constants';\nimport {TUI_DIALOGS} from '@taiga-ui/cdk/tokens';\nimport {TuiDialog} from '@taiga-ui/cdk/types';\nimport {combineLatest, Observable, of} from 'rxjs';\nimport {map} from 'rxjs/operators';\n\nexport const TUI_DIALOG_CLOSES_ON_BACK = new InjectionToken<Observable<boolean>>(\n '[TUI_DIALOG_CLOSES_ON_BACK]: Is closing dialog on browser backward navigation enabled',\n {\n factory: () => of(false),\n },\n);\n\nconst FAKE_HISTORY_STATE = {label: 'ignoreMe'} as const;\nconst isFakeHistoryState = (\n historyState: Record<string, unknown>,\n): historyState is typeof FAKE_HISTORY_STATE =>\n historyState?.label === FAKE_HISTORY_STATE.label;\n\n@Component({\n selector: 'tui-dialog-host',\n templateUrl: './dialog-host.template.html',\n styleUrls: ['./dialog-host.style.less'],\n // So that we do not force OnPush on custom dialogs\n changeDetection: ChangeDetectionStrategy.Default,\n animations: [TUI_PARENT_ANIMATION],\n})\nexport class TuiDialogHostComponent<T extends TuiDialog<unknown, unknown>> {\n readonly dialogs$ = combineLatest(this.dialogsByType).pipe(\n map(allTypesDialogs =>\n new Array<T>()\n .concat(...allTypesDialogs)\n .sort((a, b) => a.createdAt - b.createdAt),\n ),\n );\n\n constructor(\n @Inject(TUI_DIALOG_CLOSES_ON_BACK)\n readonly isDialogClosesOnBack$: Observable<boolean>,\n @Inject(TUI_DIALOGS)\n private readonly dialogsByType: Array<Observable<readonly T[]>>,\n @Inject(HISTORY) private readonly historyRef: History,\n @Inject(Title) private readonly titleService: Title,\n ) {}\n\n closeLast(dialogs: readonly T[], isDialogClosesOnBack: boolean): void {\n if (!isDialogClosesOnBack) {\n return;\n }\n\n const [last] = dialogs.slice(-1);\n\n if (!last) {\n return;\n }\n\n if (dialogs.length > 1) {\n this.historyRef.pushState(FAKE_HISTORY_STATE, this.titleService.getTitle());\n }\n\n last.$implicit.complete();\n }\n\n onDialog(\n {propertyName}: TransitionEvent,\n popupOpened: boolean,\n isDialogClosesOnBack: boolean,\n ): void {\n if (!isDialogClosesOnBack || propertyName !== 'letter-spacing') {\n return;\n }\n\n if (popupOpened) {\n this.historyRef.pushState(FAKE_HISTORY_STATE, this.titleService.getTitle());\n } else if (isFakeHistoryState(this.historyRef.state)) {\n this.historyRef.back();\n }\n }\n}\n","<ng-container *ngIf=\"dialogs$ | async as dialogs\">\n <section\n *ngFor=\"let item of dialogs\"\n tuiFocusTrap\n tuiScrollRef\n tuiOverscroll=\"all\"\n role=\"dialog\"\n aria-modal=\"true\"\n class=\"t-dialog\"\n @tuiParentAnimation\n [attr.aria-labelledby]=\"item.id\"\n >\n <ng-container *polymorpheusOutlet=\"item.component; context: item\"></ng-container>\n </section>\n <div\n *tuiLet=\"isDialogClosesOnBack$ | async as isDialogClosesOnBack\"\n class=\"t-overlay\"\n [class.t-overlay_visible]=\"dialogs.length\"\n (window:popstate)=\"closeLast(dialogs, !!isDialogClosesOnBack)\"\n (transitionend)=\"onDialog($event, !!dialogs.length, !!isDialogClosesOnBack)\"\n ></div>\n</ng-container>\n","import {CommonModule} from '@angular/common';\nimport {NgModule} from '@angular/core';\nimport {TuiLetModule} from '@taiga-ui/cdk/directives';\nimport {TuiFocusTrapModule} from '@taiga-ui/cdk/directives/focus-trap';\nimport {TuiOverscrollModule} from '@taiga-ui/cdk/directives/overscroll';\nimport {PolymorpheusModule} from '@tinkoff/ng-polymorpheus';\n\nimport {TuiDialogHostComponent} from './dialog-host.component';\n\n@NgModule({\n imports: [\n CommonModule,\n PolymorpheusModule,\n TuiOverscrollModule,\n TuiFocusTrapModule,\n TuiLetModule,\n ],\n declarations: [TuiDialogHostComponent],\n exports: [TuiDialogHostComponent],\n})\nexport class TuiDialogHostModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;MASa,yBAAyB,GAAG,IAAI,cAAc,CACvD,uFAAuF,EACvF;AACI,IAAA,OAAO,EAAE,MAAM,EAAE,CAAC,KAAK,CAAC;AAC3B,CAAA,EACH;AAEF,MAAM,kBAAkB,GAAG,EAAC,KAAK,EAAE,UAAU,EAAU,CAAC;AACxD,MAAM,kBAAkB,GAAG,CACvB,YAAqC,KAErC,CAAA,YAAY,aAAZ,YAAY,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAZ,YAAY,CAAE,KAAK,MAAK,kBAAkB,CAAC,KAAK,CAAC;
|
|
1
|
+
{"version":3,"file":"taiga-ui-cdk-components-dialog-host.js","sources":["../../../projects/cdk/components/dialog-host/dialog-host.component.ts","../../../projects/cdk/components/dialog-host/dialog-host.template.html","../../../projects/cdk/components/dialog-host/dialog-host.module.ts","../../../projects/cdk/components/dialog-host/taiga-ui-cdk-components-dialog-host.ts"],"sourcesContent":["import {ChangeDetectionStrategy, Component, Inject, InjectionToken} from '@angular/core';\nimport {Title} from '@angular/platform-browser';\nimport {HISTORY} from '@ng-web-apis/common';\nimport {TUI_PARENT_ANIMATION} from '@taiga-ui/cdk/constants';\nimport {TUI_DIALOGS} from '@taiga-ui/cdk/tokens';\nimport {TuiDialog} from '@taiga-ui/cdk/types';\nimport {combineLatest, Observable, of} from 'rxjs';\nimport {map} from 'rxjs/operators';\n\nexport const TUI_DIALOG_CLOSES_ON_BACK = new InjectionToken<Observable<boolean>>(\n '[TUI_DIALOG_CLOSES_ON_BACK]: Is closing dialog on browser backward navigation enabled',\n {\n factory: () => of(false),\n },\n);\n\nconst FAKE_HISTORY_STATE = {label: 'ignoreMe'} as const;\nconst isFakeHistoryState = (\n historyState: Record<string, unknown>,\n): historyState is typeof FAKE_HISTORY_STATE =>\n historyState?.label === FAKE_HISTORY_STATE.label;\n\n@Component({\n selector: 'tui-dialog-host',\n templateUrl: './dialog-host.template.html',\n styleUrls: ['./dialog-host.style.less'],\n // So that we do not force OnPush on custom dialogs\n // eslint-disable-next-line @angular-eslint/prefer-on-push-component-change-detection\n changeDetection: ChangeDetectionStrategy.Default,\n animations: [TUI_PARENT_ANIMATION],\n})\nexport class TuiDialogHostComponent<T extends TuiDialog<unknown, unknown>> {\n readonly dialogs$ = combineLatest(this.dialogsByType).pipe(\n map(allTypesDialogs =>\n new Array<T>()\n .concat(...allTypesDialogs)\n .sort((a, b) => a.createdAt - b.createdAt),\n ),\n );\n\n constructor(\n @Inject(TUI_DIALOG_CLOSES_ON_BACK)\n readonly isDialogClosesOnBack$: Observable<boolean>,\n @Inject(TUI_DIALOGS)\n private readonly dialogsByType: Array<Observable<readonly T[]>>,\n @Inject(HISTORY) private readonly historyRef: History,\n @Inject(Title) private readonly titleService: Title,\n ) {}\n\n closeLast(dialogs: readonly T[], isDialogClosesOnBack: boolean): void {\n if (!isDialogClosesOnBack) {\n return;\n }\n\n const [last] = dialogs.slice(-1);\n\n if (!last) {\n return;\n }\n\n if (dialogs.length > 1) {\n this.historyRef.pushState(FAKE_HISTORY_STATE, this.titleService.getTitle());\n }\n\n last.$implicit.complete();\n }\n\n onDialog(\n {propertyName}: TransitionEvent,\n popupOpened: boolean,\n isDialogClosesOnBack: boolean,\n ): void {\n if (!isDialogClosesOnBack || propertyName !== 'letter-spacing') {\n return;\n }\n\n if (popupOpened) {\n this.historyRef.pushState(FAKE_HISTORY_STATE, this.titleService.getTitle());\n } else if (isFakeHistoryState(this.historyRef.state)) {\n this.historyRef.back();\n }\n }\n}\n","<ng-container *ngIf=\"dialogs$ | async as dialogs\">\n <section\n *ngFor=\"let item of dialogs\"\n tuiFocusTrap\n tuiScrollRef\n tuiOverscroll=\"all\"\n role=\"dialog\"\n aria-modal=\"true\"\n class=\"t-dialog\"\n @tuiParentAnimation\n [attr.aria-labelledby]=\"item.id\"\n >\n <ng-container *polymorpheusOutlet=\"item.component; context: item\"></ng-container>\n </section>\n <div\n *tuiLet=\"isDialogClosesOnBack$ | async as isDialogClosesOnBack\"\n class=\"t-overlay\"\n [class.t-overlay_visible]=\"dialogs.length\"\n (window:popstate)=\"closeLast(dialogs, !!isDialogClosesOnBack)\"\n (transitionend)=\"onDialog($event, !!dialogs.length, !!isDialogClosesOnBack)\"\n ></div>\n</ng-container>\n","import {CommonModule} from '@angular/common';\nimport {NgModule} from '@angular/core';\nimport {TuiLetModule} from '@taiga-ui/cdk/directives';\nimport {TuiFocusTrapModule} from '@taiga-ui/cdk/directives/focus-trap';\nimport {TuiOverscrollModule} from '@taiga-ui/cdk/directives/overscroll';\nimport {PolymorpheusModule} from '@tinkoff/ng-polymorpheus';\n\nimport {TuiDialogHostComponent} from './dialog-host.component';\n\n@NgModule({\n imports: [\n CommonModule,\n PolymorpheusModule,\n TuiOverscrollModule,\n TuiFocusTrapModule,\n TuiLetModule,\n ],\n declarations: [TuiDialogHostComponent],\n exports: [TuiDialogHostComponent],\n})\nexport class TuiDialogHostModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"taiga-ui-cdk-constants.js","sources":["../../../projects/cdk/constants/always-false-handler.ts","../../../projects/cdk/constants/always-true-handler.ts","../../../projects/cdk/constants/browser.ts","../../../projects/cdk/constants/empty.ts","../../../projects/cdk/constants/stringify.ts","../../../projects/cdk/constants/matcher.ts","../../../projects/cdk/constants/parent-animation.ts","../../../projects/cdk/constants/polling-time.ts","../../../projects/cdk/constants/svg-node-filter.ts","../../../projects/cdk/constants/unicode-chars.ts","../../../projects/cdk/constants/version.ts","../../../projects/cdk/constants/taiga-ui-cdk-constants.ts"],"sourcesContent":["/**\n * Handler that always returns `false`.\n */\n// eslint-disable-next-line no-restricted-syntax\nexport const ALWAYS_FALSE_HANDLER = (): false => false;\n","/**\n * Handler that always returns `true`.\n */\n// eslint-disable-next-line no-restricted-syntax\nexport const ALWAYS_TRUE_HANDLER = (): true => true;\n","/**\n * @deprecated\n * TODO: drop support of legacy Edge (EdgeHTML) in v4.x\n */\nexport const CHROMIUM_EDGE_START_VERSION = 79;\n","import {QueryList} from '@angular/core';\n\n/**\n * For type safety when using @ContentChildren and @ViewChildren\n *\n * NOTE: Be careful subscribing to 'changes'\n */\nexport const EMPTY_QUERY = new QueryList<any>();\nexport const EMPTY_ARRAY: [] = [];\nexport const EMPTY_FUNCTION: (...args: any[]) => void = () => {};\n\nconst rect = {\n bottom: 0,\n height: 0,\n left: 0,\n right: 0,\n top: 0,\n width: 0,\n x: 0,\n y: 0,\n} as const;\n\nexport const EMPTY_CLIENT_RECT: DOMRect = {\n ...rect,\n toJSON() {\n return rect;\n },\n};\n","import {TuiStringHandler} from '@taiga-ui/cdk/types';\n\n/**\n * Default method to turn arbitrary object into string\n */\nexport const TUI_DEFAULT_STRINGIFY: TuiStringHandler<unknown> = item => String(item);\n","import {TuiHandler, TuiIdentityMatcher} from '@taiga-ui/cdk/types';\n\nimport {TUI_DEFAULT_STRINGIFY} from './stringify';\n\n/**\n * Default handler for matching stringified version of an item and a search query\n * @param item arbitrary element to match with a string\n * @param search search query\n * @param stringify handler to turn item into a string\n */\nexport const TUI_DEFAULT_MATCHER = <T>(\n item: T,\n search: string,\n stringify: TuiHandler<T, string> = TUI_DEFAULT_STRINGIFY,\n): boolean => stringify(item).toLowerCase().includes(search.toLowerCase());\n\n/**\n * Default handler for strict matching stringified version of an item and a search query\n * @param item arbitrary element to match with a string\n * @param search search query\n * @param stringify handler to turn item into a string\n */\nexport const TUI_STRICT_MATCHER = <T>(\n item: T,\n search: string,\n stringify: TuiHandler<T, string> = TUI_DEFAULT_STRINGIFY,\n): boolean => stringify(item).toLowerCase() === search.toLowerCase();\n\n/**\n * Default handler to match equality of two elements\n * ATTENTION: considers two empty arrays equal\n *\n * @param item1 first element\n * @param item2 second element\n */\nexport const TUI_DEFAULT_IDENTITY_MATCHER: TuiIdentityMatcher<unknown> = (item1, item2) =>\n item1 === item2 || bothEmpty(item1, item2);\n\nfunction bothEmpty(item1: unknown, item2: unknown): boolean {\n return Array.isArray(item1) && Array.isArray(item2) && !item1.length && !item2.length;\n}\n","import {animateChild, query, style, transition, trigger} from '@angular/animations';\n\nexport const TUI_PARENT_ANIMATION = trigger(`tuiParentAnimation`, [\n transition(`* => void`, [\n style({overflow: `hidden`}),\n query(`:scope > *`, [animateChild()], {optional: true}),\n ]),\n]);\n","export const POLLING_TIME = 1000 / 15;\n","// Filtering SVGElements for TreeWalker\n// Filter must be a function in IE, other modern browsers are compliant to this format\nexport const svgNodeFilter: NodeFilter = ((node: Node) =>\n `ownerSVGElement` in node\n ? NodeFilter.FILTER_REJECT\n : NodeFilter.FILTER_ACCEPT) as any;\n","/**\n * {@link https://unicode-table.com/en/00A0/ Non-breaking space}.\n */\nexport const CHAR_NO_BREAK_SPACE = `\\u00A0`;\n\n/**\n * {@link https://unicode-table.com/en/2013/ EN dash}\n * is used to indicate a range of numbers or a span of time.\n * @example 2006–2022\n * ___\n * Don't confuse with {@link CHAR_EM_DASH} or {@link CHAR_HYPHEN}!\n */\nexport const CHAR_EN_DASH = `\\u2013`;\n\n/**\n * {@link https://unicode-table.com/en/2014/ EM dash}\n * is used to mark a break in a sentence.\n * @example Taiga UI — powerful set of open source components for Angular\n * ___\n * Don't confuse with {@link CHAR_EN_DASH} or {@link CHAR_HYPHEN}!\n */\nexport const CHAR_EM_DASH = `\\u2014`;\n\n/**\n * {@link https://unicode-table.com/en/00AB/ Left-Pointing Double Angle Quotation Mark}\n */\nexport const CHAR_LAQUO = `\\u00AB`;\n\n/**\n * {@link https://unicode-table.com/en/00BB/ Right-Pointing Double Angle Quotation Mark}\n */\nexport const CHAR_RAQUO = `\\u00BB`;\n\n/**\n * {@link https://unicode-table.com/en/002D/ Hyphen (minus sign)}\n * is used to combine words.\n * @example well-behaved\n * ___\n * Don't confuse with {@link CHAR_EN_DASH} or {@link CHAR_EM_DASH}!\n */\nexport const CHAR_HYPHEN = `\\u002D`;\n\n/**\n * {@link https://unicode-table.com/en/2212/ Minus}\n * is used as math operator symbol or before negative digits.\n * ---\n * Can be used as `−`. Don't confuse with {@link CHAR_HYPHEN}\n */\nexport const CHAR_MINUS = `\\u2212`;\n\n/**\n * {@link https://unicode-table.com/en/002B/ Plus}\n */\nexport const CHAR_PLUS = `\\u002B`;\n\n/**\n * {@link https://unicode-table.com/en/2022/ Bullet}.\n */\nexport const CHAR_BULLET = `\\u2022`;\n\n/**\n * {@link https://unicode-table.com/en/2026/ Suspension points}.\n */\nexport const CHAR_ELLIPSIS = `\\u2026`;\n\n/**\n * {@link https://unicode-table.com/en/00A4/ Suspension points}.\n */\nexport const CHAR_CURRENCY_SIGN = `\\u00A4`;\n\n/**\n * {@link https://unicode-table.com/en/200b/ Suspension points}.\n */\nexport const CHAR_ZERO_WIDTH_SPACE = `\\u200B`;\n","export const TUI_VERSION = `3.
|
|
1
|
+
{"version":3,"file":"taiga-ui-cdk-constants.js","sources":["../../../projects/cdk/constants/always-false-handler.ts","../../../projects/cdk/constants/always-true-handler.ts","../../../projects/cdk/constants/browser.ts","../../../projects/cdk/constants/empty.ts","../../../projects/cdk/constants/stringify.ts","../../../projects/cdk/constants/matcher.ts","../../../projects/cdk/constants/parent-animation.ts","../../../projects/cdk/constants/polling-time.ts","../../../projects/cdk/constants/svg-node-filter.ts","../../../projects/cdk/constants/unicode-chars.ts","../../../projects/cdk/constants/version.ts","../../../projects/cdk/constants/taiga-ui-cdk-constants.ts"],"sourcesContent":["/**\n * Handler that always returns `false`.\n */\n// eslint-disable-next-line no-restricted-syntax\nexport const ALWAYS_FALSE_HANDLER = (): false => false;\n","/**\n * Handler that always returns `true`.\n */\n// eslint-disable-next-line no-restricted-syntax\nexport const ALWAYS_TRUE_HANDLER = (): true => true;\n","/**\n * @deprecated\n * TODO: drop support of legacy Edge (EdgeHTML) in v4.x\n */\nexport const CHROMIUM_EDGE_START_VERSION = 79;\n","import {QueryList} from '@angular/core';\n\n/**\n * For type safety when using @ContentChildren and @ViewChildren\n *\n * NOTE: Be careful subscribing to 'changes'\n */\nexport const EMPTY_QUERY = new QueryList<any>();\nexport const EMPTY_ARRAY: [] = [];\nexport const EMPTY_FUNCTION: (...args: any[]) => void = () => {};\n\nconst rect = {\n bottom: 0,\n height: 0,\n left: 0,\n right: 0,\n top: 0,\n width: 0,\n x: 0,\n y: 0,\n} as const;\n\nexport const EMPTY_CLIENT_RECT: DOMRect = {\n ...rect,\n toJSON() {\n return rect;\n },\n};\n","import {TuiStringHandler} from '@taiga-ui/cdk/types';\n\n/**\n * Default method to turn arbitrary object into string\n */\nexport const TUI_DEFAULT_STRINGIFY: TuiStringHandler<unknown> = item => String(item);\n","import {TuiHandler, TuiIdentityMatcher} from '@taiga-ui/cdk/types';\n\nimport {TUI_DEFAULT_STRINGIFY} from './stringify';\n\n/**\n * Default handler for matching stringified version of an item and a search query\n * @param item arbitrary element to match with a string\n * @param search search query\n * @param stringify handler to turn item into a string\n */\nexport const TUI_DEFAULT_MATCHER = <T>(\n item: T,\n search: string,\n stringify: TuiHandler<T, string> = TUI_DEFAULT_STRINGIFY,\n): boolean => stringify(item).toLowerCase().includes(search.toLowerCase());\n\n/**\n * Default handler for strict matching stringified version of an item and a search query\n * @param item arbitrary element to match with a string\n * @param search search query\n * @param stringify handler to turn item into a string\n */\nexport const TUI_STRICT_MATCHER = <T>(\n item: T,\n search: string,\n stringify: TuiHandler<T, string> = TUI_DEFAULT_STRINGIFY,\n): boolean => stringify(item).toLowerCase() === search.toLowerCase();\n\n/**\n * Default handler to match equality of two elements\n * ATTENTION: considers two empty arrays equal\n *\n * @param item1 first element\n * @param item2 second element\n */\nexport const TUI_DEFAULT_IDENTITY_MATCHER: TuiIdentityMatcher<unknown> = (item1, item2) =>\n item1 === item2 || bothEmpty(item1, item2);\n\nfunction bothEmpty(item1: unknown, item2: unknown): boolean {\n return Array.isArray(item1) && Array.isArray(item2) && !item1.length && !item2.length;\n}\n","import {animateChild, query, style, transition, trigger} from '@angular/animations';\n\nexport const TUI_PARENT_ANIMATION = trigger(`tuiParentAnimation`, [\n transition(`* => void`, [\n style({overflow: `hidden`}),\n query(`:scope > *`, [animateChild()], {optional: true}),\n ]),\n]);\n","export const POLLING_TIME = 1000 / 15;\n","// Filtering SVGElements for TreeWalker\n// Filter must be a function in IE, other modern browsers are compliant to this format\nexport const svgNodeFilter: NodeFilter = ((node: Node) =>\n `ownerSVGElement` in node\n ? NodeFilter.FILTER_REJECT\n : NodeFilter.FILTER_ACCEPT) as any;\n","/**\n * {@link https://unicode-table.com/en/00A0/ Non-breaking space}.\n */\nexport const CHAR_NO_BREAK_SPACE = `\\u00A0`;\n\n/**\n * {@link https://unicode-table.com/en/2013/ EN dash}\n * is used to indicate a range of numbers or a span of time.\n * @example 2006–2022\n * ___\n * Don't confuse with {@link CHAR_EM_DASH} or {@link CHAR_HYPHEN}!\n */\nexport const CHAR_EN_DASH = `\\u2013`;\n\n/**\n * {@link https://unicode-table.com/en/2014/ EM dash}\n * is used to mark a break in a sentence.\n * @example Taiga UI — powerful set of open source components for Angular\n * ___\n * Don't confuse with {@link CHAR_EN_DASH} or {@link CHAR_HYPHEN}!\n */\nexport const CHAR_EM_DASH = `\\u2014`;\n\n/**\n * {@link https://unicode-table.com/en/00AB/ Left-Pointing Double Angle Quotation Mark}\n */\nexport const CHAR_LAQUO = `\\u00AB`;\n\n/**\n * {@link https://unicode-table.com/en/00BB/ Right-Pointing Double Angle Quotation Mark}\n */\nexport const CHAR_RAQUO = `\\u00BB`;\n\n/**\n * {@link https://unicode-table.com/en/002D/ Hyphen (minus sign)}\n * is used to combine words.\n * @example well-behaved\n * ___\n * Don't confuse with {@link CHAR_EN_DASH} or {@link CHAR_EM_DASH}!\n */\nexport const CHAR_HYPHEN = `\\u002D`;\n\n/**\n * {@link https://unicode-table.com/en/2212/ Minus}\n * is used as math operator symbol or before negative digits.\n * ---\n * Can be used as `−`. Don't confuse with {@link CHAR_HYPHEN}\n */\nexport const CHAR_MINUS = `\\u2212`;\n\n/**\n * {@link https://unicode-table.com/en/002B/ Plus}\n */\nexport const CHAR_PLUS = `\\u002B`;\n\n/**\n * {@link https://unicode-table.com/en/2022/ Bullet}.\n */\nexport const CHAR_BULLET = `\\u2022`;\n\n/**\n * {@link https://unicode-table.com/en/2026/ Suspension points}.\n */\nexport const CHAR_ELLIPSIS = `\\u2026`;\n\n/**\n * {@link https://unicode-table.com/en/00A4/ Suspension points}.\n */\nexport const CHAR_CURRENCY_SIGN = `\\u00A4`;\n\n/**\n * {@link https://unicode-table.com/en/200b/ Suspension points}.\n */\nexport const CHAR_ZERO_WIDTH_SPACE = `\\u200B`;\n","export const TUI_VERSION = `3.17.0`;\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
|
|
@@ -25,6 +25,7 @@ function tuiDefaultProp(assertion, ...args) {
|
|
|
25
25
|
const errorGetDefaultMessage = errorGetDefault(key, name);
|
|
26
26
|
const errorSetDefaultMessage = errorSetDefault(key, name);
|
|
27
27
|
Object.defineProperty(target, key, {
|
|
28
|
+
configurable: true,
|
|
28
29
|
get() {
|
|
29
30
|
tuiAssert.assert(false, errorGetDefaultMessage);
|
|
30
31
|
return undefined;
|
|
@@ -38,6 +39,7 @@ function tuiDefaultProp(assertion, ...args) {
|
|
|
38
39
|
tuiAssert.assert(assertion.call(this, initialValue), `${String(key)} in ${name} received:`, initialValue, ...args);
|
|
39
40
|
}
|
|
40
41
|
Object.defineProperty(this, key, {
|
|
42
|
+
configurable: true,
|
|
41
43
|
get() {
|
|
42
44
|
return currentValue;
|
|
43
45
|
},
|
|
@@ -77,6 +79,7 @@ function errorSetDefaultInitial(key, component) {
|
|
|
77
79
|
function tuiPure(_target, propertyKey, { get, enumerable, value }) {
|
|
78
80
|
if (get) {
|
|
79
81
|
return {
|
|
82
|
+
configurable: true,
|
|
80
83
|
enumerable,
|
|
81
84
|
get() {
|
|
82
85
|
const value = get.call(this);
|
|
@@ -90,6 +93,7 @@ function tuiPure(_target, propertyKey, { get, enumerable, value }) {
|
|
|
90
93
|
}
|
|
91
94
|
const original = value;
|
|
92
95
|
return {
|
|
96
|
+
configurable: true,
|
|
93
97
|
enumerable,
|
|
94
98
|
get() {
|
|
95
99
|
let previousArgs = [];
|
|
@@ -107,7 +111,10 @@ function tuiPure(_target, propertyKey, { get, enumerable, value }) {
|
|
|
107
111
|
originalFnWasCalledLeastAtOnce = true;
|
|
108
112
|
return pureValue;
|
|
109
113
|
};
|
|
110
|
-
Object.defineProperty(this, propertyKey, {
|
|
114
|
+
Object.defineProperty(this, propertyKey, {
|
|
115
|
+
configurable: true,
|
|
116
|
+
value: patched,
|
|
117
|
+
});
|
|
111
118
|
return patched;
|
|
112
119
|
},
|
|
113
120
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"taiga-ui-cdk-decorators.js","sources":["../../../projects/cdk/decorators/debounce.ts","../../../projects/cdk/decorators/default-prop.ts","../../../projects/cdk/decorators/pure.ts","../../../projects/cdk/decorators/required-setter.ts","../../../projects/cdk/decorators/taiga-ui-cdk-decorators.ts"],"sourcesContent":["export function tuiDebounce(timeout: number): MethodDecorator {\n let timeoutRef: ReturnType<typeof setTimeout> | undefined;\n\n return function (_target, _key: string | symbol, descriptor: PropertyDescriptor) {\n const {value} = descriptor;\n\n descriptor.value = function (...args: unknown[]) {\n clearTimeout(timeoutRef);\n timeoutRef = setTimeout(() => value.apply(this, args), timeout);\n };\n\n return descriptor;\n };\n}\n","import {tuiAssert} from '@taiga-ui/cdk/classes';\nimport {TuiBooleanHandler} from '@taiga-ui/cdk/types';\n\n/**\n * Decorator for checking input values for undefined. You can also pass\n * optional assertion to check input against.\n *\n * CAUTION: This decorator overwrites other getters and setters.\n */\nexport function tuiDefaultProp<T extends Record<string, any>, K extends keyof T>(\n assertion?: TuiBooleanHandler<T[K]>,\n ...args: unknown[]\n): PropertyDecorator {\n return (target, key) => {\n const {name} = target.constructor;\n const errorGetDefaultMessage = errorGetDefault(key, name);\n const errorSetDefaultMessage = errorSetDefault(key, name);\n\n Object.defineProperty(target, key, {\n get(): undefined {\n tuiAssert.assert(false, errorGetDefaultMessage);\n\n return undefined;\n },\n set(this: T, initialValue: T[K]) {\n const isValid = initialValue !== undefined;\n const errorMessage = errorSetDefaultInitial(key, name);\n let currentValue = initialValue;\n\n tuiAssert.assert(isValid, errorMessage);\n\n if (isValid && assertion) {\n tuiAssert.assert(\n assertion.call(this, initialValue),\n `${String(key)} in ${name} received:`,\n initialValue,\n ...args,\n );\n }\n\n Object.defineProperty(this, key, {\n get(): T[K] {\n return currentValue;\n },\n set(this: T, value: T[K]) {\n const isValid = value !== undefined;\n const backupValue = initialValue;\n\n tuiAssert.assert(\n isValid,\n errorSetDefaultMessage,\n String(backupValue),\n );\n\n if (isValid && assertion) {\n tuiAssert.assert(\n assertion.call(this, value),\n `${String(key)} in ${name} received:`,\n value,\n ...args,\n );\n }\n\n currentValue = isValid ? value : backupValue;\n },\n });\n },\n });\n };\n}\n\nfunction errorGetDefault(key: string | symbol, component: string): string {\n return `Default value for ${String(\n key,\n )} was not provided in ${component}, error in Taiga UI Angular Kit`;\n}\n\nfunction errorSetDefault(key: string | symbol, component: string): string {\n return `Undefined was passed as ${String(\n key,\n )} to ${component}, which is invalid input, using default value:`;\n}\n\nfunction errorSetDefaultInitial(key: string | symbol, component: string): string {\n return `Undefined was passed as default value for ${String(\n key,\n )} to ${component}, error in Taiga UI Angular Kit`;\n}\n","import {TuiPureException} from '@taiga-ui/cdk/exceptions';\n\n/**\n * Implements lazy initialization for getter or memoization of a function call similar to pure {@link: Pipe}.\n * Replaces getter with its calculated value upon first call or keeps track of last call arguments and returned\n * value for function, skipping calculation when arguments are strictly the same.\n *\n * @throws error if used not on getter or function\n *\n * CAUTION: `this` is not available inside such functions/getters, they must be pure.\n */\nexport function tuiPure<T>(\n _target: Record<string, any>,\n propertyKey: string,\n {get, enumerable, value}: TypedPropertyDescriptor<T>,\n): TypedPropertyDescriptor<T> {\n if (get) {\n return {\n enumerable,\n get(): T {\n const value = get.call(this);\n\n Object.defineProperty(this, propertyKey, {enumerable, value});\n\n return value;\n },\n };\n }\n\n if (typeof value !== `function`) {\n throw new TuiPureException();\n }\n\n const original = value;\n\n return {\n enumerable,\n get(): T {\n let previousArgs: readonly unknown[] = [];\n let originalFnWasCalledLeastAtOnce = false;\n let pureValue: unknown;\n\n const patched = (...args: unknown[]): unknown => {\n const isPure =\n originalFnWasCalledLeastAtOnce &&\n previousArgs.length === args.length &&\n args.every((arg, index) => arg === previousArgs[index]);\n\n if (isPure) {\n return pureValue;\n }\n\n previousArgs = args;\n pureValue = original.apply(this, args);\n originalFnWasCalledLeastAtOnce = true;\n\n return pureValue;\n };\n\n Object.defineProperty(this, propertyKey, {value: patched});\n\n return patched as unknown as T;\n },\n };\n}\n","import {tuiAssert} from '@taiga-ui/cdk/classes';\nimport {TuiBooleanHandler} from '@taiga-ui/cdk/types';\n\n/**\n * Decorator for checking input setter values against a custom assertion which\n * takes value passed to input setter and component instance as arguments.\n * It specifically checks for undefined values and prevents calls to the\n * original setter in this case.\n */\nexport function tuiRequiredSetter<T extends Record<string, any>, K extends keyof T>(\n assertion?: TuiBooleanHandler<T[K]>,\n ...args: any[]\n): MethodDecorator {\n return (\n target: Record<string, any>,\n key,\n {configurable, enumerable, get, set}: PropertyDescriptor,\n ): PropertyDescriptor => {\n const {name} = target.constructor;\n\n return {\n configurable,\n enumerable,\n get,\n set(this: T, value: T[K]) {\n if (value !== undefined && assertion) {\n tuiAssert.assert(\n assertion.call(this, value),\n `${String(key)} in ${name} received:`,\n value,\n ...args,\n );\n }\n\n if (!set || value === undefined) {\n tuiAssert.assert(value !== undefined, errorSet(key, name));\n\n return;\n }\n\n set.call(this, value);\n },\n };\n };\n}\n\nfunction errorSet(key: string | symbol, component: string): string {\n return `Undefined was passed as ${String(\n key,\n )} to ${component}, setter will not be called`;\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"taiga-ui-cdk-decorators.js","sources":["../../../projects/cdk/decorators/debounce.ts","../../../projects/cdk/decorators/default-prop.ts","../../../projects/cdk/decorators/pure.ts","../../../projects/cdk/decorators/required-setter.ts","../../../projects/cdk/decorators/taiga-ui-cdk-decorators.ts"],"sourcesContent":["export function tuiDebounce(timeout: number): MethodDecorator {\n let timeoutRef: ReturnType<typeof setTimeout> | undefined;\n\n return function (_target, _key: string | symbol, descriptor: PropertyDescriptor) {\n const {value} = descriptor;\n\n descriptor.value = function (...args: unknown[]) {\n clearTimeout(timeoutRef);\n timeoutRef = setTimeout(() => value.apply(this, args), timeout);\n };\n\n return descriptor;\n };\n}\n","import {tuiAssert} from '@taiga-ui/cdk/classes';\nimport {TuiBooleanHandler} from '@taiga-ui/cdk/types';\n\n/**\n * Decorator for checking input values for undefined. You can also pass\n * optional assertion to check input against.\n *\n * CAUTION: This decorator overwrites other getters and setters.\n */\nexport function tuiDefaultProp<T extends Record<string, any>, K extends keyof T>(\n assertion?: TuiBooleanHandler<T[K]>,\n ...args: unknown[]\n): PropertyDecorator {\n return (target, key) => {\n const {name} = target.constructor;\n const errorGetDefaultMessage = errorGetDefault(key, name);\n const errorSetDefaultMessage = errorSetDefault(key, name);\n\n Object.defineProperty(target, key, {\n configurable: true,\n get(): undefined {\n tuiAssert.assert(false, errorGetDefaultMessage);\n\n return undefined;\n },\n set(this: T, initialValue: T[K]) {\n const isValid = initialValue !== undefined;\n const errorMessage = errorSetDefaultInitial(key, name);\n let currentValue = initialValue;\n\n tuiAssert.assert(isValid, errorMessage);\n\n if (isValid && assertion) {\n tuiAssert.assert(\n assertion.call(this, initialValue),\n `${String(key)} in ${name} received:`,\n initialValue,\n ...args,\n );\n }\n\n Object.defineProperty(this, key, {\n configurable: true,\n get(): T[K] {\n return currentValue;\n },\n set(this: T, value: T[K]) {\n const isValid = value !== undefined;\n const backupValue = initialValue;\n\n tuiAssert.assert(\n isValid,\n errorSetDefaultMessage,\n String(backupValue),\n );\n\n if (isValid && assertion) {\n tuiAssert.assert(\n assertion.call(this, value),\n `${String(key)} in ${name} received:`,\n value,\n ...args,\n );\n }\n\n currentValue = isValid ? value : backupValue;\n },\n });\n },\n });\n };\n}\n\nfunction errorGetDefault(key: string | symbol, component: string): string {\n return `Default value for ${String(\n key,\n )} was not provided in ${component}, error in Taiga UI Angular Kit`;\n}\n\nfunction errorSetDefault(key: string | symbol, component: string): string {\n return `Undefined was passed as ${String(\n key,\n )} to ${component}, which is invalid input, using default value:`;\n}\n\nfunction errorSetDefaultInitial(key: string | symbol, component: string): string {\n return `Undefined was passed as default value for ${String(\n key,\n )} to ${component}, error in Taiga UI Angular Kit`;\n}\n","import {TuiPureException} from '@taiga-ui/cdk/exceptions';\n\n/**\n * Implements lazy initialization for getter or memoization of a function call similar to pure {@link: Pipe}.\n * Replaces getter with its calculated value upon first call or keeps track of last call arguments and returned\n * value for function, skipping calculation when arguments are strictly the same.\n *\n * @throws error if used not on getter or function\n *\n * CAUTION: `this` is not available inside such functions/getters, they must be pure.\n */\nexport function tuiPure<T>(\n _target: Record<string, any>,\n propertyKey: string,\n {get, enumerable, value}: TypedPropertyDescriptor<T>,\n): TypedPropertyDescriptor<T> {\n if (get) {\n return {\n configurable: true,\n enumerable,\n get(): T {\n const value = get.call(this);\n\n Object.defineProperty(this, propertyKey, {enumerable, value});\n\n return value;\n },\n };\n }\n\n if (typeof value !== `function`) {\n throw new TuiPureException();\n }\n\n const original = value;\n\n return {\n configurable: true,\n enumerable,\n get(): T {\n let previousArgs: readonly unknown[] = [];\n let originalFnWasCalledLeastAtOnce = false;\n let pureValue: unknown;\n\n const patched = (...args: unknown[]): unknown => {\n const isPure =\n originalFnWasCalledLeastAtOnce &&\n previousArgs.length === args.length &&\n args.every((arg, index) => arg === previousArgs[index]);\n\n if (isPure) {\n return pureValue;\n }\n\n previousArgs = args;\n pureValue = original.apply(this, args);\n originalFnWasCalledLeastAtOnce = true;\n\n return pureValue;\n };\n\n Object.defineProperty(this, propertyKey, {\n configurable: true,\n value: patched,\n });\n\n return patched as unknown as T;\n },\n };\n}\n","import {tuiAssert} from '@taiga-ui/cdk/classes';\nimport {TuiBooleanHandler} from '@taiga-ui/cdk/types';\n\n/**\n * Decorator for checking input setter values against a custom assertion which\n * takes value passed to input setter and component instance as arguments.\n * It specifically checks for undefined values and prevents calls to the\n * original setter in this case.\n */\nexport function tuiRequiredSetter<T extends Record<string, any>, K extends keyof T>(\n assertion?: TuiBooleanHandler<T[K]>,\n ...args: any[]\n): MethodDecorator {\n return (\n target: Record<string, any>,\n key,\n {configurable, enumerable, get, set}: PropertyDescriptor,\n ): PropertyDescriptor => {\n const {name} = target.constructor;\n\n return {\n configurable,\n enumerable,\n get,\n set(this: T, value: T[K]) {\n if (value !== undefined && assertion) {\n tuiAssert.assert(\n assertion.call(this, value),\n `${String(key)} in ${name} received:`,\n value,\n ...args,\n );\n }\n\n if (!set || value === undefined) {\n tuiAssert.assert(value !== undefined, errorSet(key, name));\n\n return;\n }\n\n set.call(this, value);\n },\n };\n };\n}\n\nfunction errorSet(key: string | symbol, component: string): string {\n return `Undefined was passed as ${String(\n key,\n )} to ${component}, setter will not be called`;\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
|
|
@@ -1,18 +1,20 @@
|
|
|
1
1
|
import * as i0 from '@angular/core';
|
|
2
|
-
import { Component, ViewEncapsulation, EventEmitter, Directive, Inject, HostBinding, Output, HostListener, NgModule } from '@angular/core';
|
|
2
|
+
import { Component, ViewEncapsulation, ChangeDetectionStrategy, EventEmitter, Directive, Inject, HostBinding, Output, HostListener, NgModule } from '@angular/core';
|
|
3
3
|
import * as i1 from '@taiga-ui/cdk/services';
|
|
4
4
|
import { TuiDirectiveStylesService } from '@taiga-ui/cdk/services';
|
|
5
5
|
|
|
6
6
|
class TuiAutofilledStyleComponent {
|
|
7
7
|
}
|
|
8
8
|
TuiAutofilledStyleComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: TuiAutofilledStyleComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
9
|
-
TuiAutofilledStyleComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.16", type: TuiAutofilledStyleComponent, selector: "
|
|
9
|
+
TuiAutofilledStyleComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.16", type: TuiAutofilledStyleComponent, selector: "tui-autofilled-style", ngImport: i0, template: '', isInline: true, styles: [".tui-autofill input,input.tui-autofill{transition:box-shadow .01s}\n"], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
|
|
10
10
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: TuiAutofilledStyleComponent, decorators: [{
|
|
11
11
|
type: Component,
|
|
12
12
|
args: [{
|
|
13
|
+
selector: 'tui-autofilled-style',
|
|
13
14
|
template: '',
|
|
14
15
|
styleUrls: ['./autofilled.style.less'],
|
|
15
16
|
encapsulation: ViewEncapsulation.None,
|
|
17
|
+
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
16
18
|
}]
|
|
17
19
|
}] });
|
|
18
20
|
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"taiga-ui-cdk-directives-autofilled.js","sources":["../../../projects/cdk/directives/autofilled/autofilled-style.component.ts","../../../projects/cdk/directives/autofilled/autofilled.directive.ts","../../../projects/cdk/directives/autofilled/autofilled.module.ts","../../../projects/cdk/directives/autofilled/taiga-ui-cdk-directives-autofilled.ts"],"sourcesContent":["import {Component, ViewEncapsulation} from '@angular/core';\n\n@Component({\n template: '',\n styleUrls: ['./autofilled.style.less'],\n encapsulation: ViewEncapsulation.None,\n})\nexport class TuiAutofilledStyleComponent {}\n","import {\n Directive,\n EventEmitter,\n HostBinding,\n HostListener,\n Inject,\n Output,\n} from '@angular/core';\nimport {TuiDirectiveStylesService} from '@taiga-ui/cdk/services';\n\nimport {TuiAutofilledStyleComponent} from './autofilled-style.component';\n\n@Directive({\n selector: '[tuiAutofilledChange]',\n host: {class: 'tui-autofill'},\n})\nexport class TuiAutofilledDirective {\n @HostBinding('class._autofilled')\n autofilled = false;\n\n @Output()\n readonly tuiAutofilledChange = new EventEmitter<boolean>();\n\n constructor(\n @Inject(TuiDirectiveStylesService) directiveStyles: TuiDirectiveStylesService,\n ) {\n directiveStyles.addComponent(TuiAutofilledStyleComponent);\n }\n\n @HostListener('transitionstart', ['$event'])\n transitionStartHandler({propertyName, target}: TransitionEvent): void {\n const matchedAutofill =\n propertyName.includes('box-shadow') && (target as Element)?.matches('input');\n\n if (matchedAutofill) {\n this.autofilled = !this.autofilled;\n this.tuiAutofilledChange.emit(this.autofilled);\n }\n }\n}\n","import {NgModule} from '@angular/core';\n\nimport {TuiAutofilledDirective} from './autofilled.directive';\nimport {TuiAutofilledStyleComponent} from './autofilled-style.component';\n\n@NgModule({\n exports: [TuiAutofilledDirective],\n declarations: [TuiAutofilledDirective, TuiAutofilledStyleComponent],\n})\nexport class TuiAutofilledModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;;;;
|
|
1
|
+
{"version":3,"file":"taiga-ui-cdk-directives-autofilled.js","sources":["../../../projects/cdk/directives/autofilled/autofilled-style.component.ts","../../../projects/cdk/directives/autofilled/autofilled.directive.ts","../../../projects/cdk/directives/autofilled/autofilled.module.ts","../../../projects/cdk/directives/autofilled/taiga-ui-cdk-directives-autofilled.ts"],"sourcesContent":["import {ChangeDetectionStrategy, Component, ViewEncapsulation} from '@angular/core';\n\n@Component({\n selector: 'tui-autofilled-style',\n template: '',\n styleUrls: ['./autofilled.style.less'],\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class TuiAutofilledStyleComponent {}\n","import {\n Directive,\n EventEmitter,\n HostBinding,\n HostListener,\n Inject,\n Output,\n} from '@angular/core';\nimport {TuiDirectiveStylesService} from '@taiga-ui/cdk/services';\n\nimport {TuiAutofilledStyleComponent} from './autofilled-style.component';\n\n@Directive({\n selector: '[tuiAutofilledChange]',\n host: {class: 'tui-autofill'},\n})\nexport class TuiAutofilledDirective {\n @HostBinding('class._autofilled')\n autofilled = false;\n\n @Output()\n readonly tuiAutofilledChange = new EventEmitter<boolean>();\n\n constructor(\n @Inject(TuiDirectiveStylesService) directiveStyles: TuiDirectiveStylesService,\n ) {\n directiveStyles.addComponent(TuiAutofilledStyleComponent);\n }\n\n @HostListener('transitionstart', ['$event'])\n transitionStartHandler({propertyName, target}: TransitionEvent): void {\n const matchedAutofill =\n propertyName.includes('box-shadow') && (target as Element)?.matches('input');\n\n if (matchedAutofill) {\n this.autofilled = !this.autofilled;\n this.tuiAutofilledChange.emit(this.autofilled);\n }\n }\n}\n","import {NgModule} from '@angular/core';\n\nimport {TuiAutofilledDirective} from './autofilled.directive';\nimport {TuiAutofilledStyleComponent} from './autofilled-style.component';\n\n@NgModule({\n exports: [TuiAutofilledDirective],\n declarations: [TuiAutofilledDirective, TuiAutofilledStyleComponent],\n})\nexport class TuiAutofilledModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"taiga-ui-cdk-directives-drag.js","sources":["../../../projects/cdk/directives/drag/drag.directive.ts","../../../projects/cdk/directives/drag/drag.module.ts","../../../projects/cdk/directives/drag/taiga-ui-cdk-directives-drag.ts"],"sourcesContent":["import {Directive, ElementRef, Inject, Output} from '@angular/core';\nimport {tuiDragAndDropFrom, TuiDragStage} from '@taiga-ui/cdk/observables';\nimport {Observable} from 'rxjs';\nimport {filter, map} from 'rxjs/operators';\n\n/**\n * @deprecated not used anywhere\n */\n@Directive({\n selector: '[tuiDragStart], [tuiDragContinues], [tuiDragEnd]',\n})\nexport class TuiDragDirective {\n private readonly dragAndDropFrom$ = tuiDragAndDropFrom(this.elementRef.nativeElement);\n\n @Output('tuiDragStart')\n readonly start: Observable<MouseEvent> = this.dragAndDropFrom$.pipe(\n filter(({stage}) => stage === TuiDragStage.Start),\n map(({event}) => event),\n );\n\n @Output('tuiDragContinues')\n readonly continues: Observable<MouseEvent> = this.dragAndDropFrom$.pipe(\n filter(({stage}) => stage === TuiDragStage.Continues),\n map(({event}) => event),\n );\n\n @Output('tuiDragEnd')\n readonly end: Observable<MouseEvent> = this.dragAndDropFrom$.pipe(\n filter(({stage}) => stage === TuiDragStage.End),\n map(({event}) => event),\n );\n\n constructor(
|
|
1
|
+
{"version":3,"file":"taiga-ui-cdk-directives-drag.js","sources":["../../../projects/cdk/directives/drag/drag.directive.ts","../../../projects/cdk/directives/drag/drag.module.ts","../../../projects/cdk/directives/drag/taiga-ui-cdk-directives-drag.ts"],"sourcesContent":["import {Directive, ElementRef, Inject, Output} from '@angular/core';\nimport {tuiDragAndDropFrom, TuiDragStage} from '@taiga-ui/cdk/observables';\nimport {Observable} from 'rxjs';\nimport {filter, map} from 'rxjs/operators';\n\n/**\n * @deprecated not used anywhere\n */\n@Directive({\n selector: '[tuiDragStart], [tuiDragContinues], [tuiDragEnd]',\n})\nexport class TuiDragDirective {\n private readonly dragAndDropFrom$ = tuiDragAndDropFrom(this.elementRef.nativeElement);\n\n @Output('tuiDragStart')\n // eslint-disable-next-line @angular-eslint/no-output-native\n readonly start: Observable<MouseEvent> = this.dragAndDropFrom$.pipe(\n filter(({stage}) => stage === TuiDragStage.Start),\n map(({event}) => event),\n );\n\n @Output('tuiDragContinues')\n readonly continues: Observable<MouseEvent> = this.dragAndDropFrom$.pipe(\n filter(({stage}) => stage === TuiDragStage.Continues),\n map(({event}) => event),\n );\n\n @Output('tuiDragEnd')\n // eslint-disable-next-line @angular-eslint/no-output-native\n readonly end: Observable<MouseEvent> = this.dragAndDropFrom$.pipe(\n filter(({stage}) => stage === TuiDragStage.End),\n map(({event}) => event),\n );\n\n constructor(@Inject(ElementRef) private readonly elementRef: ElementRef<Element>) {}\n}\n","import {NgModule} from '@angular/core';\n\nimport {TuiDragDirective} from './drag.directive';\n\n/**\n * @deprecated not used anywhere\n */\n@NgModule({\n declarations: [TuiDragDirective],\n exports: [TuiDragDirective],\n})\nexport class TuiDragModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;;;;AAKA;;AAEG;MAIU,gBAAgB,CAAA;AAuBzB,IAAA,WAAA,CAAiD,UAA+B,EAAA;QAA/B,IAAU,CAAA,UAAA,GAAV,UAAU,CAAqB;QAtB/D,IAAgB,CAAA,gBAAA,GAAG,kBAAkB,CAAC,IAAI,CAAC,UAAU,CAAC,aAAa,CAAC,CAAC;AAI7E,QAAA,IAAA,CAAA,KAAK,GAA2B,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAC/D,MAAM,CAAC,CAAC,EAAC,KAAK,EAAC,KAAK,KAAK,KAAA,CAAA,aAAwB,EACjD,GAAG,CAAC,CAAC,EAAC,KAAK,EAAC,KAAK,KAAK,CAAC,CAC1B,CAAC;AAGO,QAAA,IAAA,CAAA,SAAS,GAA2B,IAAI,CAAC,gBAAgB,CAAC,IAAI,CACnE,MAAM,CAAC,CAAC,EAAC,KAAK,EAAC,KAAK,KAAK,KAAA,CAAA,iBAA4B,EACrD,GAAG,CAAC,CAAC,EAAC,KAAK,EAAC,KAAK,KAAK,CAAC,CAC1B,CAAC;AAIO,QAAA,IAAA,CAAA,GAAG,GAA2B,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAC7D,MAAM,CAAC,CAAC,EAAC,KAAK,EAAC,KAAK,KAAK,KAAA,CAAA,WAAsB,EAC/C,GAAG,CAAC,CAAC,EAAC,KAAK,EAAC,KAAK,KAAK,CAAC,CAC1B,CAAC;KAEkF;;AAvB3E,gBAAA,CAAA,IAAA,GAAA,EAAA,CAAA,kBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,gBAAgB,kBAuBL,UAAU,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;kGAvBrB,gBAAgB,EAAA,QAAA,EAAA,kDAAA,EAAA,OAAA,EAAA,EAAA,KAAA,EAAA,cAAA,EAAA,SAAA,EAAA,kBAAA,EAAA,GAAA,EAAA,YAAA,EAAA,EAAA,QAAA,EAAA,EAAA,EAAA,CAAA,CAAA;4FAAhB,gBAAgB,EAAA,UAAA,EAAA,CAAA;kBAH5B,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACP,oBAAA,QAAQ,EAAE,kDAAkD;AAC/D,iBAAA,CAAA;;0BAwBgB,MAAM;2BAAC,UAAU,CAAA;4CAlBrB,KAAK,EAAA,CAAA;sBAFb,MAAM;uBAAC,cAAc,CAAA;gBAQb,SAAS,EAAA,CAAA;sBADjB,MAAM;uBAAC,kBAAkB,CAAA;gBAQjB,GAAG,EAAA,CAAA;sBAFX,MAAM;uBAAC,YAAY,CAAA;;;ACvBxB;;AAEG;MAKU,aAAa,CAAA;;2GAAb,aAAa,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,QAAA,EAAA,CAAA,CAAA;4GAAb,aAAa,EAAA,YAAA,EAAA,CAHP,gBAAgB,CAAA,EAAA,OAAA,EAAA,CACrB,gBAAgB,CAAA,EAAA,CAAA,CAAA;4GAEjB,aAAa,EAAA,CAAA,CAAA;4FAAb,aAAa,EAAA,UAAA,EAAA,CAAA;kBAJzB,QAAQ;AAAC,YAAA,IAAA,EAAA,CAAA;oBACN,YAAY,EAAE,CAAC,gBAAgB,CAAC;oBAChC,OAAO,EAAE,CAAC,gBAAgB,CAAC;AAC9B,iBAAA,CAAA;;;ACVD;;AAEG;;;;"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import * as i0 from '@angular/core';
|
|
2
|
-
import { ElementRef, NgZone, Directive, Inject, Self,
|
|
2
|
+
import { ElementRef, NgZone, Directive, Inject, Self, Input, NgModule } from '@angular/core';
|
|
3
3
|
import { tuiZonefree, tuiPreventDefault } from '@taiga-ui/cdk/observables';
|
|
4
4
|
import { TuiDestroyService } from '@taiga-ui/cdk/services';
|
|
5
5
|
import * as i1 from 'rxjs';
|
|
@@ -7,18 +7,25 @@ import { fromEvent } from 'rxjs';
|
|
|
7
7
|
import { takeUntil } from 'rxjs/operators';
|
|
8
8
|
|
|
9
9
|
/**
|
|
10
|
+
* @description:
|
|
10
11
|
* Simple prevent default on event directive when you do not need anything
|
|
11
12
|
* else on event and do not want to trigger change detection
|
|
12
13
|
*/
|
|
13
14
|
class TuiPreventDefaultDirective {
|
|
14
|
-
constructor(
|
|
15
|
-
|
|
16
|
-
|
|
15
|
+
constructor(elementRef, ngZone, destroy$) {
|
|
16
|
+
this.elementRef = elementRef;
|
|
17
|
+
this.ngZone = ngZone;
|
|
18
|
+
this.destroy$ = destroy$;
|
|
19
|
+
this.eventName = '';
|
|
20
|
+
}
|
|
21
|
+
ngOnInit() {
|
|
22
|
+
fromEvent(this.elementRef.nativeElement, this.eventName, { passive: false })
|
|
23
|
+
.pipe(tuiZonefree(this.ngZone), tuiPreventDefault(), takeUntil(this.destroy$))
|
|
17
24
|
.subscribe();
|
|
18
25
|
}
|
|
19
26
|
}
|
|
20
|
-
TuiPreventDefaultDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: TuiPreventDefaultDirective, deps: [{ token: ElementRef }, { token: NgZone }, { token: TuiDestroyService, self: true }
|
|
21
|
-
TuiPreventDefaultDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "12.2.16", type: TuiPreventDefaultDirective, selector: "[tuiPreventDefault]", providers: [TuiDestroyService], ngImport: i0 });
|
|
27
|
+
TuiPreventDefaultDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: TuiPreventDefaultDirective, deps: [{ token: ElementRef }, { token: NgZone }, { token: TuiDestroyService, self: true }], target: i0.ɵɵFactoryTarget.Directive });
|
|
28
|
+
TuiPreventDefaultDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "12.2.16", type: TuiPreventDefaultDirective, selector: "[tuiPreventDefault]", inputs: { eventName: ["tuiPreventDefault", "eventName"] }, providers: [TuiDestroyService], ngImport: i0 });
|
|
22
29
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: TuiPreventDefaultDirective, decorators: [{
|
|
23
30
|
type: Directive,
|
|
24
31
|
args: [{
|
|
@@ -36,10 +43,10 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImpo
|
|
|
36
43
|
}, {
|
|
37
44
|
type: Inject,
|
|
38
45
|
args: [TuiDestroyService]
|
|
39
|
-
}] },
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
46
|
+
}] }]; }, propDecorators: { eventName: [{
|
|
47
|
+
type: Input,
|
|
48
|
+
args: ['tuiPreventDefault']
|
|
49
|
+
}] } });
|
|
43
50
|
|
|
44
51
|
class TuiPreventDefaultModule {
|
|
45
52
|
}
|