@taiga-ui/core 3.0.0-rc.2 → 3.0.0-rc.5
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-core-components-button.umd.js +56 -37
- package/bundles/taiga-ui-core-components-button.umd.js.map +1 -1
- package/bundles/taiga-ui-core-components-notification.umd.js +1 -1
- package/bundles/taiga-ui-core-components-notification.umd.js.map +1 -1
- package/bundles/taiga-ui-core-components-root.umd.js +1 -1
- package/bundles/taiga-ui-core-constants.umd.js +0 -7
- package/bundles/taiga-ui-core-constants.umd.js.map +1 -1
- package/bundles/taiga-ui-core-pipes-format-date.umd.js +77 -0
- package/bundles/taiga-ui-core-pipes-format-date.umd.js.map +1 -0
- package/bundles/taiga-ui-core-pipes.umd.js +10 -4
- package/bundles/taiga-ui-core-pipes.umd.js.map +1 -1
- package/bundles/taiga-ui-core-services.umd.js +31 -4
- package/bundles/taiga-ui-core-services.umd.js.map +1 -1
- package/components/button/button-options.d.ts +1 -1
- package/components/button/button.component.d.ts +9 -3
- package/constants/index.d.ts +0 -1
- package/esm2015/components/button/button-options.js +1 -1
- package/esm2015/components/button/button.component.js +32 -15
- package/esm2015/components/notification/notification.component.js +3 -3
- package/esm2015/components/root/root.component.js +1 -1
- package/esm2015/constants/index.js +1 -2
- package/esm2015/pipes/format-date/format-date.module.js +16 -0
- package/esm2015/pipes/format-date/format-date.pipe.js +24 -0
- package/esm2015/pipes/format-date/index.js +3 -0
- package/esm2015/pipes/format-date/taiga-ui-core-pipes-format-date.js +5 -0
- package/esm2015/pipes/index.js +2 -1
- package/esm2015/services/format-date.service.js +26 -0
- package/esm2015/services/index.js +2 -1
- package/fesm2015/taiga-ui-core-components-button.js +32 -15
- package/fesm2015/taiga-ui-core-components-button.js.map +1 -1
- package/fesm2015/taiga-ui-core-components-notification.js +2 -2
- package/fesm2015/taiga-ui-core-components-notification.js.map +1 -1
- package/fesm2015/taiga-ui-core-components-root.js +1 -1
- package/fesm2015/taiga-ui-core-constants.js +2 -8
- package/fesm2015/taiga-ui-core-constants.js.map +1 -1
- package/fesm2015/taiga-ui-core-pipes-format-date.js +44 -0
- package/fesm2015/taiga-ui-core-pipes-format-date.js.map +1 -0
- package/fesm2015/taiga-ui-core-pipes.js +1 -0
- package/fesm2015/taiga-ui-core-pipes.js.map +1 -1
- package/fesm2015/taiga-ui-core-services.js +27 -4
- package/fesm2015/taiga-ui-core-services.js.map +1 -1
- package/package.json +4 -4
- package/pipes/format-date/format-date.module.d.ts +7 -0
- package/pipes/format-date/format-date.pipe.d.ts +11 -0
- package/pipes/format-date/index.d.ts +2 -0
- package/pipes/format-date/package.json +10 -0
- package/pipes/format-date/taiga-ui-core-pipes-format-date.d.ts +5 -0
- package/pipes/index.d.ts +1 -0
- package/services/format-date.service.d.ts +9 -0
- package/services/index.d.ts +1 -0
- package/constants/version.d.ts +0 -1
- package/esm2015/constants/version.js +0 -7
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
export * from './format-date.module';
|
|
2
|
+
export * from './format-date.pipe';
|
|
3
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jb3JlL3BpcGVzL2Zvcm1hdC1kYXRlL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGNBQWMsc0JBQXNCLENBQUM7QUFDckMsY0FBYyxvQkFBb0IsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gJy4vZm9ybWF0LWRhdGUubW9kdWxlJztcbmV4cG9ydCAqIGZyb20gJy4vZm9ybWF0LWRhdGUucGlwZSc7XG4iXX0=
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Generated bundle index. Do not edit.
|
|
3
|
+
*/
|
|
4
|
+
export * from './index';
|
|
5
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFpZ2EtdWktY29yZS1waXBlcy1mb3JtYXQtZGF0ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NvcmUvcGlwZXMvZm9ybWF0LWRhdGUvdGFpZ2EtdWktY29yZS1waXBlcy1mb3JtYXQtZGF0ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7R0FFRztBQUVILGNBQWMsU0FBUyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBHZW5lcmF0ZWQgYnVuZGxlIGluZGV4LiBEbyBub3QgZWRpdC5cbiAqL1xuXG5leHBvcnQgKiBmcm9tICcuL2luZGV4JztcbiJdfQ==
|
package/esm2015/pipes/index.js
CHANGED
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
export * from '@taiga-ui/core/pipes/calendar-sheet';
|
|
2
|
+
export * from '@taiga-ui/core/pipes/format-date';
|
|
2
3
|
export * from '@taiga-ui/core/pipes/format-number';
|
|
3
4
|
export * from '@taiga-ui/core/pipes/format-phone';
|
|
4
5
|
export * from '@taiga-ui/core/pipes/month';
|
|
5
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
6
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy9jb3JlL3BpcGVzL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGNBQWMscUNBQXFDLENBQUM7QUFDcEQsY0FBYyxrQ0FBa0MsQ0FBQztBQUNqRCxjQUFjLG9DQUFvQyxDQUFDO0FBQ25ELGNBQWMsbUNBQW1DLENBQUM7QUFDbEQsY0FBYyw0QkFBNEIsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gJ0B0YWlnYS11aS9jb3JlL3BpcGVzL2NhbGVuZGFyLXNoZWV0JztcbmV4cG9ydCAqIGZyb20gJ0B0YWlnYS11aS9jb3JlL3BpcGVzL2Zvcm1hdC1kYXRlJztcbmV4cG9ydCAqIGZyb20gJ0B0YWlnYS11aS9jb3JlL3BpcGVzL2Zvcm1hdC1udW1iZXInO1xuZXhwb3J0ICogZnJvbSAnQHRhaWdhLXVpL2NvcmUvcGlwZXMvZm9ybWF0LXBob25lJztcbmV4cG9ydCAqIGZyb20gJ0B0YWlnYS11aS9jb3JlL3BpcGVzL21vbnRoJztcbiJdfQ==
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
import { Inject, Injectable, LOCALE_ID } from '@angular/core';
|
|
2
|
+
import { of } from 'rxjs';
|
|
3
|
+
import * as i0 from "@angular/core";
|
|
4
|
+
export class TuiFormatDateService {
|
|
5
|
+
constructor(locale) {
|
|
6
|
+
this.locale = locale;
|
|
7
|
+
}
|
|
8
|
+
format(timestamp) {
|
|
9
|
+
return of(new Date(timestamp).toLocaleTimeString(this.locale, {
|
|
10
|
+
hour: `numeric`,
|
|
11
|
+
minute: `2-digit`,
|
|
12
|
+
}));
|
|
13
|
+
}
|
|
14
|
+
}
|
|
15
|
+
TuiFormatDateService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: TuiFormatDateService, deps: [{ token: LOCALE_ID }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
16
|
+
TuiFormatDateService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: TuiFormatDateService, providedIn: `root` });
|
|
17
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: TuiFormatDateService, decorators: [{
|
|
18
|
+
type: Injectable,
|
|
19
|
+
args: [{
|
|
20
|
+
providedIn: `root`,
|
|
21
|
+
}]
|
|
22
|
+
}], ctorParameters: function () { return [{ type: undefined, decorators: [{
|
|
23
|
+
type: Inject,
|
|
24
|
+
args: [LOCALE_ID]
|
|
25
|
+
}] }]; } });
|
|
26
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9ybWF0LWRhdGUuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL2NvcmUvc2VydmljZXMvZm9ybWF0LWRhdGUuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUMsTUFBTSxFQUFFLFVBQVUsRUFBRSxTQUFTLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFDNUQsT0FBTyxFQUFhLEVBQUUsRUFBQyxNQUFNLE1BQU0sQ0FBQzs7QUFLcEMsTUFBTSxPQUFPLG9CQUFvQjtJQUM3QixZQUFrRCxNQUFjO1FBQWQsV0FBTSxHQUFOLE1BQU0sQ0FBUTtJQUFHLENBQUM7SUFFcEUsTUFBTSxDQUFDLFNBQWlCO1FBQ3BCLE9BQU8sRUFBRSxDQUNMLElBQUksSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDLGtCQUFrQixDQUFDLElBQUksQ0FBQyxNQUFNLEVBQUU7WUFDaEQsSUFBSSxFQUFFLFNBQVM7WUFDZixNQUFNLEVBQUUsU0FBUztTQUNwQixDQUFDLENBQ0wsQ0FBQztJQUNOLENBQUM7O2tIQVZRLG9CQUFvQixrQkFDVCxTQUFTO3NIQURwQixvQkFBb0IsY0FGakIsTUFBTTs0RkFFVCxvQkFBb0I7a0JBSGhDLFVBQVU7bUJBQUM7b0JBQ1IsVUFBVSxFQUFFLE1BQU07aUJBQ3JCOzswQkFFZ0IsTUFBTTsyQkFBQyxTQUFTIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtJbmplY3QsIEluamVjdGFibGUsIExPQ0FMRV9JRH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge09ic2VydmFibGUsIG9mfSBmcm9tICdyeGpzJztcblxuQEluamVjdGFibGUoe1xuICAgIHByb3ZpZGVkSW46IGByb290YCxcbn0pXG5leHBvcnQgY2xhc3MgVHVpRm9ybWF0RGF0ZVNlcnZpY2Uge1xuICAgIGNvbnN0cnVjdG9yKEBJbmplY3QoTE9DQUxFX0lEKSBwcm90ZWN0ZWQgcmVhZG9ubHkgbG9jYWxlOiBzdHJpbmcpIHt9XG5cbiAgICBmb3JtYXQodGltZXN0YW1wOiBudW1iZXIpOiBPYnNlcnZhYmxlPHN0cmluZz4ge1xuICAgICAgICByZXR1cm4gb2YoXG4gICAgICAgICAgICBuZXcgRGF0ZSh0aW1lc3RhbXApLnRvTG9jYWxlVGltZVN0cmluZyh0aGlzLmxvY2FsZSwge1xuICAgICAgICAgICAgICAgIGhvdXI6IGBudW1lcmljYCxcbiAgICAgICAgICAgICAgICBtaW51dGU6IGAyLWRpZ2l0YCxcbiAgICAgICAgICAgIH0pLFxuICAgICAgICApO1xuICAgIH1cbn1cbiJdfQ==
|
|
@@ -1,6 +1,7 @@
|
|
|
1
|
+
export * from './format-date.service';
|
|
1
2
|
export * from './hint.service';
|
|
2
3
|
export * from './night-theme.service';
|
|
3
4
|
export * from './position.service';
|
|
4
5
|
export * from './router-link-active.service';
|
|
5
6
|
export * from './svg.service';
|
|
6
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
7
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy9jb3JlL3NlcnZpY2VzL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGNBQWMsdUJBQXVCLENBQUM7QUFDdEMsY0FBYyxnQkFBZ0IsQ0FBQztBQUMvQixjQUFjLHVCQUF1QixDQUFDO0FBQ3RDLGNBQWMsb0JBQW9CLENBQUM7QUFDbkMsY0FBYyw4QkFBOEIsQ0FBQztBQUM3QyxjQUFjLGVBQWUsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gJy4vZm9ybWF0LWRhdGUuc2VydmljZSc7XG5leHBvcnQgKiBmcm9tICcuL2hpbnQuc2VydmljZSc7XG5leHBvcnQgKiBmcm9tICcuL25pZ2h0LXRoZW1lLnNlcnZpY2UnO1xuZXhwb3J0ICogZnJvbSAnLi9wb3NpdGlvbi5zZXJ2aWNlJztcbmV4cG9ydCAqIGZyb20gJy4vcm91dGVyLWxpbmstYWN0aXZlLnNlcnZpY2UnO1xuZXhwb3J0ICogZnJvbSAnLi9zdmcuc2VydmljZSc7XG4iXX0=
|
|
@@ -1,16 +1,20 @@
|
|
|
1
1
|
import { __decorate } from 'tslib';
|
|
2
2
|
import * as i0 from '@angular/core';
|
|
3
|
-
import { InjectionToken, ElementRef, Component, ChangeDetectionStrategy, Inject, Input, HostBinding, HostListener, NgModule } from '@angular/core';
|
|
4
|
-
import * as
|
|
3
|
+
import { InjectionToken, ElementRef, Component, ChangeDetectionStrategy, Optional, Inject, Input, HostBinding, HostListener, NgModule } from '@angular/core';
|
|
4
|
+
import * as i7 from '@taiga-ui/cdk';
|
|
5
5
|
import { AbstractTuiInteractive, tuiIsNativeFocused, TuiFocusVisibleService, tuiAsFocusableItemAccessor, TuiDestroyService, tuiDefaultProp } from '@taiga-ui/cdk';
|
|
6
|
+
import * as i6 from '@taiga-ui/core/directives';
|
|
7
|
+
import { TuiModeDirective } from '@taiga-ui/core/directives';
|
|
8
|
+
import { EMPTY } from 'rxjs';
|
|
9
|
+
import { startWith, map, distinctUntilChanged } from 'rxjs/operators';
|
|
6
10
|
import * as i1 from '@taiga-ui/core/components/svg';
|
|
7
11
|
import { TuiSvgModule } from '@taiga-ui/core/components/svg';
|
|
8
12
|
import * as i2 from '@taiga-ui/core/components/loader';
|
|
9
13
|
import { TuiLoaderModule } from '@taiga-ui/core/components/loader';
|
|
10
|
-
import * as i3 from '@
|
|
11
|
-
import { TuiWrapperModule } from '@taiga-ui/core/directives/wrapper';
|
|
12
|
-
import * as i4 from '@angular/common';
|
|
14
|
+
import * as i3 from '@angular/common';
|
|
13
15
|
import { CommonModule } from '@angular/common';
|
|
16
|
+
import * as i4 from '@taiga-ui/core/directives/wrapper';
|
|
17
|
+
import { TuiWrapperModule } from '@taiga-ui/core/directives/wrapper';
|
|
14
18
|
import * as i5 from '@tinkoff/ng-polymorpheus';
|
|
15
19
|
import { PolymorpheusModule } from '@tinkoff/ng-polymorpheus';
|
|
16
20
|
|
|
@@ -28,17 +32,21 @@ const tuiButtonOptionsProvider = (options) => ({
|
|
|
28
32
|
});
|
|
29
33
|
|
|
30
34
|
class TuiButtonComponent extends AbstractTuiInteractive {
|
|
31
|
-
constructor(elementRef, focusVisible$, options) {
|
|
35
|
+
constructor(mode, elementRef, focusVisible$, options) {
|
|
36
|
+
var _a;
|
|
32
37
|
super();
|
|
38
|
+
this.mode = mode;
|
|
33
39
|
this.elementRef = elementRef;
|
|
34
40
|
this.options = options;
|
|
35
|
-
this.
|
|
41
|
+
this.mode$ = ((_a = this.mode) === null || _a === void 0 ? void 0 : _a.change$) || EMPTY;
|
|
42
|
+
this.appearance = null;
|
|
36
43
|
this.disabled = false;
|
|
37
44
|
this.icon = ``;
|
|
38
45
|
this.iconRight = ``;
|
|
39
46
|
this.shape = this.options.shape;
|
|
40
47
|
this.showLoader = false;
|
|
41
48
|
this.size = this.options.size;
|
|
49
|
+
this.appearance$ = this.mode$.pipe(startWith(null), map(() => this.computedAppearance), distinctUntilChanged());
|
|
42
50
|
focusVisible$.subscribe(focusVisible => {
|
|
43
51
|
this.updateFocusVisible(focusVisible);
|
|
44
52
|
});
|
|
@@ -52,6 +60,10 @@ class TuiButtonComponent extends AbstractTuiInteractive {
|
|
|
52
60
|
get loaderSize() {
|
|
53
61
|
return this.size === `l` || this.size === `xl` ? `m` : `s`;
|
|
54
62
|
}
|
|
63
|
+
get computedAppearance() {
|
|
64
|
+
var _a;
|
|
65
|
+
return (_a = this.appearance) !== null && _a !== void 0 ? _a : (this.options.appearance || ``);
|
|
66
|
+
}
|
|
55
67
|
get nativeDisabled() {
|
|
56
68
|
return this.computedDisabled || this.showLoader ? `` : null;
|
|
57
69
|
}
|
|
@@ -62,12 +74,12 @@ class TuiButtonComponent extends AbstractTuiInteractive {
|
|
|
62
74
|
this.updateFocused(focused);
|
|
63
75
|
}
|
|
64
76
|
}
|
|
65
|
-
TuiButtonComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: TuiButtonComponent, deps: [{ token: ElementRef }, { token: TuiFocusVisibleService }, { token: TUI_BUTTON_OPTIONS }], target: i0.ɵɵFactoryTarget.Component });
|
|
66
|
-
TuiButtonComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.16", type: TuiButtonComponent, selector: "button[tuiButton], button[tuiIconButton], a[tuiButton], a[tuiIconButton]", inputs: { appearance: "appearance", disabled: "disabled", icon: "icon", iconRight: "iconRight", shape: "shape", showLoader: "showLoader", size: "size" }, host: { listeners: { "focusin": "onFocused(true)", "focusout": "onFocused(false)" }, properties: { "attr.data-
|
|
77
|
+
TuiButtonComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: TuiButtonComponent, deps: [{ token: TuiModeDirective, optional: true }, { token: ElementRef }, { token: TuiFocusVisibleService }, { token: TUI_BUTTON_OPTIONS }], target: i0.ɵɵFactoryTarget.Component });
|
|
78
|
+
TuiButtonComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.16", type: TuiButtonComponent, selector: "button[tuiButton], button[tuiIconButton], a[tuiButton], a[tuiIconButton]", inputs: { appearance: "appearance", disabled: "disabled", icon: "icon", iconRight: "iconRight", shape: "shape", showLoader: "showLoader", size: "size" }, host: { listeners: { "focusin": "onFocused(true)", "focusout": "onFocused(false)" }, properties: { "attr.data-shape": "this.shape", "class._loading": "this.showLoader", "attr.data-size": "this.size", "attr.data-appearance": "this.computedAppearance", "attr.disabled": "this.nativeDisabled", "tabIndex": "this.tabIndex" } }, providers: [
|
|
67
79
|
tuiAsFocusableItemAccessor(TuiButtonComponent),
|
|
68
80
|
TuiDestroyService,
|
|
69
81
|
TuiFocusVisibleService,
|
|
70
|
-
], usesInheritance: true, ngImport: i0, template: "<div\n tuiWrapper\n class=\"t-wrapper\"\n [appearance]=\"
|
|
82
|
+
], usesInheritance: true, ngImport: i0, template: "<ng-container *ngIf=\"appearance$ | async\"></ng-container>\n<div\n tuiWrapper\n class=\"t-wrapper\"\n [appearance]=\"computedAppearance\"\n [hover]=\"pseudoHover\"\n [active]=\"pseudoActive\"\n [disabled]=\"computedDisabled\"\n [focus]=\"computedFocusVisible\"\n>\n <span class=\"t-content\">\n <span\n *ngIf=\"icon\"\n class=\"t-left\"\n >\n <tui-svg\n *polymorpheusOutlet=\"icon as text\"\n class=\"t-icon\"\n [src]=\"text\"\n ></tui-svg>\n </span>\n <ng-content></ng-content>\n <span\n *ngIf=\"iconRight\"\n class=\"t-right\"\n >\n <tui-svg\n *polymorpheusOutlet=\"iconRight as text\"\n class=\"t-icon\"\n [src]=\"text\"\n ></tui-svg>\n </span>\n </span>\n <tui-loader\n *ngIf=\"showLoader\"\n class=\"t-loader\"\n [size]=\"loaderSize\"\n [inheritColor]=\"true\"\n ></tui-loader>\n</div>\n", styles: [":host{-webkit-appearance:none;-moz-appearance:none;appearance:none;padding:0;border:0;background:none;font-size:inherit;line-height:inherit;font:var(--tui-font-text-s);color:var(--tui-text-01);position:relative;display:inline-block;flex-shrink:0;vertical-align:top;border-radius:var(--tui-radius-m);-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;text-decoration:none;outline:none}:host[disabled]{pointer-events:none}:host[tuiIconButton] .t-left,:host[tuiIconButton] .t-right{margin:0}:host[data-shape=rounded]{border-radius:6.25rem}:host[data-size=xs]{height:var(--tui-height-xs);font-weight:normal}:host[data-size=xs][data-shape=square],:host[data-size=xs][tuiIconButton]{height:var(--tui-height-xs);width:var(--tui-height-xs)}:host[data-size=s]{height:var(--tui-height-s);font-weight:normal}:host[data-size=s][data-shape=square],:host[data-size=s][tuiIconButton]{height:var(--tui-height-s);width:var(--tui-height-s)}:host[data-size=m]{height:var(--tui-height-m);font:var(--tui-font-text-m);font-weight:bold}:host[data-size=m][data-shape=square],:host[data-size=m][tuiIconButton]{height:var(--tui-height-m);width:var(--tui-height-m)}:host[data-size=l]{height:var(--tui-height-l);font:var(--tui-font-text-m);font-weight:bold}:host[data-size=l][data-shape=square],:host[data-size=l][tuiIconButton]{height:var(--tui-height-l);width:var(--tui-height-l)}:host[data-size=xl]{height:3.75rem;font:var(--tui-font-text-m);font-weight:bold}:host[data-size=xl][data-shape=square],:host[data-size=xl][tuiIconButton]{height:3.75rem;width:3.75rem}.t-loader{position:absolute;top:0;left:0;width:100%;height:100%;cursor:default}.t-left{margin:0 .5rem 0 -.25rem}.t-right{margin:0 -.5rem 0 .25rem}.t-icon{display:block}:host[data-size=s] .t-icon,:host[data-size=xs] .t-icon{width:1rem;height:1rem}:host[tuiIconButton] .t-left,:host[tuiIconButton] .t-right,:host[tuiIconButton] .t-icon{display:flex;width:100%;height:100%;align-items:center;justify-content:center}.t-wrapper{position:relative;z-index:0;box-sizing:border-box;cursor:pointer}:host[data-size=xs] .t-wrapper{padding:0 .5rem}:host[data-size=s] .t-wrapper{padding:0 .75rem}:host[data-size=m] .t-wrapper{padding:0 1.5rem}:host[data-size=l] .t-wrapper{padding:0 2.25rem}:host[data-size=xl] .t-wrapper{padding:0 2.5rem}:host[data-shape=square] .t-wrapper,:host[tuiIconButton] .t-wrapper{padding:0}.t-content{display:flex;height:100%;align-items:center;justify-content:center;text-align:center}:host._loading .t-content{opacity:0}\n"], components: [{ type: i1.TuiSvgComponent, selector: "tui-svg", inputs: ["src"] }, { type: i2.TuiLoaderComponent, selector: "tui-loader", inputs: ["size", "inheritColor", "overlay", "textContent", "showLoader"] }], directives: [{ type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i4.TuiWrapperDirective, selector: "[tuiWrapper]", inputs: ["disabled", "readOnly", "hover", "active", "focus", "invalid", "appearance"] }, { type: i5.PolymorpheusOutletDirective, selector: "[polymorpheusOutlet]", inputs: ["polymorpheusOutlet", "polymorpheusOutletContext"] }], pipes: { "async": i3.AsyncPipe }, changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
71
83
|
__decorate([
|
|
72
84
|
tuiDefaultProp()
|
|
73
85
|
], TuiButtonComponent.prototype, "appearance", void 0);
|
|
@@ -102,10 +114,15 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImpo
|
|
|
102
114
|
TuiFocusVisibleService,
|
|
103
115
|
],
|
|
104
116
|
}]
|
|
105
|
-
}], ctorParameters: function () { return [{ type:
|
|
117
|
+
}], ctorParameters: function () { return [{ type: i6.TuiModeDirective, decorators: [{
|
|
118
|
+
type: Optional
|
|
119
|
+
}, {
|
|
120
|
+
type: Inject,
|
|
121
|
+
args: [TuiModeDirective]
|
|
122
|
+
}] }, { type: i0.ElementRef, decorators: [{
|
|
106
123
|
type: Inject,
|
|
107
124
|
args: [ElementRef]
|
|
108
|
-
}] }, { type:
|
|
125
|
+
}] }, { type: i7.TuiFocusVisibleService, decorators: [{
|
|
109
126
|
type: Inject,
|
|
110
127
|
args: [TuiFocusVisibleService]
|
|
111
128
|
}] }, { type: undefined, decorators: [{
|
|
@@ -113,9 +130,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImpo
|
|
|
113
130
|
args: [TUI_BUTTON_OPTIONS]
|
|
114
131
|
}] }]; }, propDecorators: { appearance: [{
|
|
115
132
|
type: Input
|
|
116
|
-
}, {
|
|
117
|
-
type: HostBinding,
|
|
118
|
-
args: [`attr.data-appearance`]
|
|
119
133
|
}], disabled: [{
|
|
120
134
|
type: Input
|
|
121
135
|
}], icon: [{
|
|
@@ -137,6 +151,9 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImpo
|
|
|
137
151
|
}, {
|
|
138
152
|
type: HostBinding,
|
|
139
153
|
args: [`attr.data-size`]
|
|
154
|
+
}], computedAppearance: [{
|
|
155
|
+
type: HostBinding,
|
|
156
|
+
args: [`attr.data-appearance`]
|
|
140
157
|
}], nativeDisabled: [{
|
|
141
158
|
type: HostBinding,
|
|
142
159
|
args: [`attr.disabled`]
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"taiga-ui-core-components-button.js","sources":["../../../projects/core/components/button/button-options.ts","../../../projects/core/components/button/button.component.ts","../../../projects/core/components/button/button.template.html","../../../projects/core/components/button/button.module.ts","../../../projects/core/components/button/taiga-ui-core-components-button.ts"],"sourcesContent":["import {InjectionToken, ValueProvider} from '@angular/core';\nimport {TuiAppearance} from '@taiga-ui/core/enums';\nimport {TuiSizeXL, TuiSizeXS} from '@taiga-ui/core/types';\n\nexport interface TuiButtonOptions {\n readonly size: TuiSizeXS | TuiSizeXL;\n readonly appearance: keyof Record<TuiAppearance, string> | TuiAppearance | string;\n readonly shape: 'square' | 'rounded' | null;\n}\n\nexport const TUI_BUTTON_DEFAULT_OPTIONS: TuiButtonOptions = {\n size: `l`,\n shape: null,\n appearance: TuiAppearance.Primary,\n};\n\nexport const TUI_BUTTON_OPTIONS = new InjectionToken<TuiButtonOptions>(\n `Default parameters for button component`,\n {\n factory: () => TUI_BUTTON_DEFAULT_OPTIONS,\n },\n);\n\nexport const tuiButtonOptionsProvider: (\n options: Partial<TuiButtonOptions>,\n) => ValueProvider = (options: Partial<TuiButtonOptions>) => ({\n provide: TUI_BUTTON_OPTIONS,\n useValue: {...TUI_BUTTON_DEFAULT_OPTIONS, ...options},\n});\n","import {\n ChangeDetectionStrategy,\n Component,\n ElementRef,\n HostBinding,\n HostListener,\n Inject,\n Input,\n} from '@angular/core';\nimport {\n AbstractTuiInteractive,\n tuiAsFocusableItemAccessor,\n tuiDefaultProp,\n TuiDestroyService,\n TuiFocusableElementAccessor,\n TuiFocusVisibleService,\n tuiIsNativeFocused,\n} from '@taiga-ui/cdk';\nimport {TuiSizeS} from '@taiga-ui/core/types';\nimport {PolymorpheusContent} from '@tinkoff/ng-polymorpheus';\n\nimport {TUI_BUTTON_OPTIONS, TuiButtonOptions} from './button-options';\n\n@Component({\n selector: `button[tuiButton], button[tuiIconButton], a[tuiButton], a[tuiIconButton]`,\n templateUrl: `./button.template.html`,\n styleUrls: [`./button.style.less`],\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: [\n tuiAsFocusableItemAccessor(TuiButtonComponent),\n TuiDestroyService,\n TuiFocusVisibleService,\n ],\n})\nexport class TuiButtonComponent\n extends AbstractTuiInteractive\n implements TuiFocusableElementAccessor, TuiButtonOptions\n{\n @Input()\n @HostBinding(`attr.data-appearance`)\n @tuiDefaultProp()\n appearance = this.options.appearance;\n\n @Input()\n @tuiDefaultProp()\n disabled = false;\n\n @Input()\n @tuiDefaultProp()\n icon: PolymorpheusContent = ``;\n\n @Input()\n @tuiDefaultProp()\n iconRight: PolymorpheusContent = ``;\n\n @Input()\n @HostBinding(`attr.data-shape`)\n @tuiDefaultProp()\n shape = this.options.shape;\n\n @Input()\n @HostBinding(`class._loading`)\n @tuiDefaultProp()\n showLoader = false;\n\n @Input()\n @HostBinding(`attr.data-size`)\n @tuiDefaultProp()\n size = this.options.size;\n\n constructor(\n @Inject(ElementRef) private readonly elementRef: ElementRef<HTMLElement>,\n @Inject(TuiFocusVisibleService) focusVisible$: TuiFocusVisibleService,\n @Inject(TUI_BUTTON_OPTIONS) private readonly options: TuiButtonOptions,\n ) {\n super();\n focusVisible$.subscribe(focusVisible => {\n this.updateFocusVisible(focusVisible);\n });\n }\n\n get nativeFocusableElement(): HTMLElement | null {\n return this.nativeDisabled ? null : this.elementRef.nativeElement;\n }\n\n get focused(): boolean {\n return !this.showLoader && tuiIsNativeFocused(this.elementRef.nativeElement);\n }\n\n get loaderSize(): TuiSizeS {\n return this.size === `l` || this.size === `xl` ? `m` : `s`;\n }\n\n @HostBinding(`attr.disabled`)\n get nativeDisabled(): '' | null {\n return this.computedDisabled || this.showLoader ? `` : null;\n }\n\n @HostBinding(`tabIndex`)\n get tabIndex(): number {\n return this.focusable ? 0 : -1;\n }\n\n @HostListener(`focusin`, [`true`])\n @HostListener(`focusout`, [`false`])\n onFocused(focused: boolean): void {\n this.updateFocused(focused);\n }\n}\n","<div\n tuiWrapper\n class=\"t-wrapper\"\n [appearance]=\"appearance\"\n [hover]=\"pseudoHover\"\n [active]=\"pseudoActive\"\n [disabled]=\"computedDisabled\"\n [focus]=\"computedFocusVisible\"\n>\n <span class=\"t-content\">\n <span\n *ngIf=\"icon\"\n class=\"t-left\"\n >\n <tui-svg\n *polymorpheusOutlet=\"icon as text\"\n class=\"t-icon\"\n [src]=\"text\"\n ></tui-svg>\n </span>\n <ng-content></ng-content>\n <span\n *ngIf=\"iconRight\"\n class=\"t-right\"\n >\n <tui-svg\n *polymorpheusOutlet=\"iconRight as text\"\n class=\"t-icon\"\n [src]=\"text\"\n ></tui-svg>\n </span>\n </span>\n <tui-loader\n *ngIf=\"showLoader\"\n class=\"t-loader\"\n [size]=\"loaderSize\"\n [inheritColor]=\"true\"\n ></tui-loader>\n</div>\n","import {CommonModule} from '@angular/common';\nimport {NgModule} from '@angular/core';\nimport {TuiLoaderModule} from '@taiga-ui/core/components/loader';\nimport {TuiSvgModule} from '@taiga-ui/core/components/svg';\nimport {TuiWrapperModule} from '@taiga-ui/core/directives/wrapper';\nimport {PolymorpheusModule} from '@tinkoff/ng-polymorpheus';\n\nimport {TuiButtonComponent} from './button.component';\n\n@NgModule({\n imports: [\n CommonModule,\n PolymorpheusModule,\n TuiWrapperModule,\n TuiSvgModule,\n TuiLoaderModule,\n ],\n declarations: [TuiButtonComponent],\n exports: [TuiButtonComponent],\n})\nexport class TuiButtonModule {}\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-core-components-button.js","sources":["../../../projects/core/components/button/button-options.ts","../../../projects/core/components/button/button.component.ts","../../../projects/core/components/button/button.template.html","../../../projects/core/components/button/button.module.ts","../../../projects/core/components/button/taiga-ui-core-components-button.ts"],"sourcesContent":["import {InjectionToken, ValueProvider} from '@angular/core';\nimport {TuiAppearance} from '@taiga-ui/core/enums';\nimport {TuiSizeXL, TuiSizeXS} from '@taiga-ui/core/types';\n\nexport interface TuiButtonOptions {\n readonly size: TuiSizeXS | TuiSizeXL;\n readonly appearance:\n | keyof Record<TuiAppearance, string>\n | TuiAppearance\n | string\n | null;\n readonly shape: 'square' | 'rounded' | null;\n}\n\nexport const TUI_BUTTON_DEFAULT_OPTIONS: TuiButtonOptions = {\n size: `l`,\n shape: null,\n appearance: TuiAppearance.Primary,\n};\n\nexport const TUI_BUTTON_OPTIONS = new InjectionToken<TuiButtonOptions>(\n `Default parameters for button component`,\n {\n factory: () => TUI_BUTTON_DEFAULT_OPTIONS,\n },\n);\n\nexport const tuiButtonOptionsProvider: (\n options: Partial<TuiButtonOptions>,\n) => ValueProvider = (options: Partial<TuiButtonOptions>) => ({\n provide: TUI_BUTTON_OPTIONS,\n useValue: {...TUI_BUTTON_DEFAULT_OPTIONS, ...options},\n});\n","import {\n ChangeDetectionStrategy,\n Component,\n ElementRef,\n HostBinding,\n HostListener,\n Inject,\n Input,\n Optional,\n} from '@angular/core';\nimport {\n AbstractTuiInteractive,\n tuiAsFocusableItemAccessor,\n tuiDefaultProp,\n TuiDestroyService,\n TuiFocusableElementAccessor,\n TuiFocusVisibleService,\n tuiIsNativeFocused,\n} from '@taiga-ui/cdk';\nimport {TuiModeDirective} from '@taiga-ui/core/directives';\nimport {TuiSizeS} from '@taiga-ui/core/types';\nimport {PolymorpheusContent} from '@tinkoff/ng-polymorpheus';\nimport {EMPTY, Observable} from 'rxjs';\nimport {distinctUntilChanged, map, startWith} from 'rxjs/operators';\n\nimport {TUI_BUTTON_OPTIONS, TuiButtonOptions} from './button-options';\n\n@Component({\n selector: `button[tuiButton], button[tuiIconButton], a[tuiButton], a[tuiIconButton]`,\n templateUrl: `./button.template.html`,\n styleUrls: [`./button.style.less`],\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: [\n tuiAsFocusableItemAccessor(TuiButtonComponent),\n TuiDestroyService,\n TuiFocusVisibleService,\n ],\n})\nexport class TuiButtonComponent\n extends AbstractTuiInteractive\n implements TuiFocusableElementAccessor, TuiButtonOptions\n{\n private readonly mode$: Observable<unknown> = this.mode?.change$ || EMPTY;\n\n @Input()\n @tuiDefaultProp()\n appearance: TuiButtonOptions['appearance'] = null;\n\n @Input()\n @tuiDefaultProp()\n disabled = false;\n\n @Input()\n @tuiDefaultProp()\n icon: PolymorpheusContent = ``;\n\n @Input()\n @tuiDefaultProp()\n iconRight: PolymorpheusContent = ``;\n\n @Input()\n @HostBinding(`attr.data-shape`)\n @tuiDefaultProp()\n shape = this.options.shape;\n\n @Input()\n @HostBinding(`class._loading`)\n @tuiDefaultProp()\n showLoader = false;\n\n @Input()\n @HostBinding(`attr.data-size`)\n @tuiDefaultProp()\n size = this.options.size;\n\n readonly appearance$ = this.mode$.pipe(\n startWith(null),\n map(() => this.computedAppearance),\n distinctUntilChanged(),\n );\n\n constructor(\n @Optional()\n @Inject(TuiModeDirective)\n private readonly mode: TuiModeDirective | null,\n @Inject(ElementRef) private readonly elementRef: ElementRef<HTMLElement>,\n @Inject(TuiFocusVisibleService) focusVisible$: TuiFocusVisibleService,\n @Inject(TUI_BUTTON_OPTIONS) private readonly options: TuiButtonOptions,\n ) {\n super();\n focusVisible$.subscribe(focusVisible => {\n this.updateFocusVisible(focusVisible);\n });\n }\n\n get nativeFocusableElement(): HTMLElement | null {\n return this.nativeDisabled ? null : this.elementRef.nativeElement;\n }\n\n get focused(): boolean {\n return !this.showLoader && tuiIsNativeFocused(this.elementRef.nativeElement);\n }\n\n get loaderSize(): TuiSizeS {\n return this.size === `l` || this.size === `xl` ? `m` : `s`;\n }\n\n @HostBinding(`attr.data-appearance`)\n get computedAppearance(): string {\n return this.appearance ?? (this.options.appearance || ``);\n }\n\n @HostBinding(`attr.disabled`)\n get nativeDisabled(): '' | null {\n return this.computedDisabled || this.showLoader ? `` : null;\n }\n\n @HostBinding(`tabIndex`)\n get tabIndex(): number {\n return this.focusable ? 0 : -1;\n }\n\n @HostListener(`focusin`, [`true`])\n @HostListener(`focusout`, [`false`])\n onFocused(focused: boolean): void {\n this.updateFocused(focused);\n }\n}\n","<ng-container *ngIf=\"appearance$ | async\"></ng-container>\n<div\n tuiWrapper\n class=\"t-wrapper\"\n [appearance]=\"computedAppearance\"\n [hover]=\"pseudoHover\"\n [active]=\"pseudoActive\"\n [disabled]=\"computedDisabled\"\n [focus]=\"computedFocusVisible\"\n>\n <span class=\"t-content\">\n <span\n *ngIf=\"icon\"\n class=\"t-left\"\n >\n <tui-svg\n *polymorpheusOutlet=\"icon as text\"\n class=\"t-icon\"\n [src]=\"text\"\n ></tui-svg>\n </span>\n <ng-content></ng-content>\n <span\n *ngIf=\"iconRight\"\n class=\"t-right\"\n >\n <tui-svg\n *polymorpheusOutlet=\"iconRight as text\"\n class=\"t-icon\"\n [src]=\"text\"\n ></tui-svg>\n </span>\n </span>\n <tui-loader\n *ngIf=\"showLoader\"\n class=\"t-loader\"\n [size]=\"loaderSize\"\n [inheritColor]=\"true\"\n ></tui-loader>\n</div>\n","import {CommonModule} from '@angular/common';\nimport {NgModule} from '@angular/core';\nimport {TuiLoaderModule} from '@taiga-ui/core/components/loader';\nimport {TuiSvgModule} from '@taiga-ui/core/components/svg';\nimport {TuiWrapperModule} from '@taiga-ui/core/directives/wrapper';\nimport {PolymorpheusModule} from '@tinkoff/ng-polymorpheus';\n\nimport {TuiButtonComponent} from './button.component';\n\n@NgModule({\n imports: [\n CommonModule,\n PolymorpheusModule,\n TuiWrapperModule,\n TuiSvgModule,\n TuiLoaderModule,\n ],\n declarations: [TuiButtonComponent],\n exports: [TuiButtonComponent],\n})\nexport class TuiButtonModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { __decorate } from 'tslib';
|
|
2
2
|
import * as i0 from '@angular/core';
|
|
3
3
|
import { EventEmitter, Component, ChangeDetectionStrategy, Inject, Input, HostBinding, Output, NgModule } from '@angular/core';
|
|
4
|
-
import { tuiDefaultProp } from '@taiga-ui/cdk';
|
|
4
|
+
import { tuiIsObserved, tuiDefaultProp } from '@taiga-ui/cdk';
|
|
5
5
|
import { TUI_CLOSE_WORD, TUI_NOTIFICATION_OPTIONS } from '@taiga-ui/core/tokens';
|
|
6
6
|
import * as i1 from '@taiga-ui/core/components/svg';
|
|
7
7
|
import { TuiSvgModule } from '@taiga-ui/core/components/svg';
|
|
@@ -30,7 +30,7 @@ class TuiNotificationComponent {
|
|
|
30
30
|
return STATUS_ICON[this.status];
|
|
31
31
|
}
|
|
32
32
|
get hasClose() {
|
|
33
|
-
return
|
|
33
|
+
return tuiIsObserved(this.close);
|
|
34
34
|
}
|
|
35
35
|
}
|
|
36
36
|
TuiNotificationComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: TuiNotificationComponent, deps: [{ token: TUI_CLOSE_WORD }, { token: TUI_NOTIFICATION_OPTIONS }], target: i0.ɵɵFactoryTarget.Component });
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"taiga-ui-core-components-notification.js","sources":["../../../projects/core/components/notification/notification.component.ts","../../../projects/core/components/notification/notification.template.html","../../../projects/core/components/notification/notification.module.ts","../../../projects/core/components/notification/taiga-ui-core-components-notification.ts"],"sourcesContent":["import {\n ChangeDetectionStrategy,\n Component,\n EventEmitter,\n HostBinding,\n Inject,\n Input,\n Output,\n} from '@angular/core';\nimport {tuiDefaultProp} from '@taiga-ui/cdk';\nimport {\n TUI_CLOSE_WORD,\n TUI_NOTIFICATION_OPTIONS,\n TuiNotificationDefaultOptions,\n} from '@taiga-ui/core/tokens';\nimport {Observable} from 'rxjs';\n\nexport const STATUS_ICON = {\n info: `tuiIconInfo`,\n success: `tuiIconCheckCircle`,\n error: `tuiIconCancel`,\n warning: `tuiIconAttention`,\n} as const;\n\n// @bad TODO: Think about moving to kit\n@Component({\n selector: `tui-notification`,\n templateUrl: `./notification.template.html`,\n styleUrls: [`./notification.style.less`],\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class TuiNotificationComponent {\n @Input()\n @HostBinding(`class._has-icon`)\n @tuiDefaultProp()\n hasIcon = this.options.hasIcon;\n\n @Input()\n @HostBinding(`attr.data-tui-host-status`)\n @tuiDefaultProp()\n status: 'info' | 'error' | 'warning' | 'success' = this.options.status;\n\n @Output()\n readonly close = new EventEmitter<void>();\n\n constructor(\n @Inject(TUI_CLOSE_WORD) readonly closeWord$: Observable<string>,\n @Inject(TUI_NOTIFICATION_OPTIONS)\n readonly options: TuiNotificationDefaultOptions,\n ) {}\n\n get icon(): string {\n return STATUS_ICON[this.status];\n }\n\n @HostBinding(`class._has-close-button`)\n get hasClose(): boolean {\n return
|
|
1
|
+
{"version":3,"file":"taiga-ui-core-components-notification.js","sources":["../../../projects/core/components/notification/notification.component.ts","../../../projects/core/components/notification/notification.template.html","../../../projects/core/components/notification/notification.module.ts","../../../projects/core/components/notification/taiga-ui-core-components-notification.ts"],"sourcesContent":["import {\n ChangeDetectionStrategy,\n Component,\n EventEmitter,\n HostBinding,\n Inject,\n Input,\n Output,\n} from '@angular/core';\nimport {tuiDefaultProp, tuiIsObserved} from '@taiga-ui/cdk';\nimport {\n TUI_CLOSE_WORD,\n TUI_NOTIFICATION_OPTIONS,\n TuiNotificationDefaultOptions,\n} from '@taiga-ui/core/tokens';\nimport {Observable} from 'rxjs';\n\nexport const STATUS_ICON = {\n info: `tuiIconInfo`,\n success: `tuiIconCheckCircle`,\n error: `tuiIconCancel`,\n warning: `tuiIconAttention`,\n} as const;\n\n// @bad TODO: Think about moving to kit\n@Component({\n selector: `tui-notification`,\n templateUrl: `./notification.template.html`,\n styleUrls: [`./notification.style.less`],\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class TuiNotificationComponent {\n @Input()\n @HostBinding(`class._has-icon`)\n @tuiDefaultProp()\n hasIcon = this.options.hasIcon;\n\n @Input()\n @HostBinding(`attr.data-tui-host-status`)\n @tuiDefaultProp()\n status: 'info' | 'error' | 'warning' | 'success' = this.options.status;\n\n @Output()\n readonly close = new EventEmitter<void>();\n\n constructor(\n @Inject(TUI_CLOSE_WORD) readonly closeWord$: Observable<string>,\n @Inject(TUI_NOTIFICATION_OPTIONS)\n readonly options: TuiNotificationDefaultOptions,\n ) {}\n\n get icon(): string {\n return STATUS_ICON[this.status];\n }\n\n @HostBinding(`class._has-close-button`)\n get hasClose(): boolean {\n return tuiIsObserved(this.close);\n }\n}\n","<tui-svg\n *ngIf=\"hasIcon\"\n automation-id=\"tui-notification__icon\"\n class=\"t-icon\"\n [src]=\"icon\"\n></tui-svg>\n<div class=\"t-content\">\n <ng-content></ng-content>\n</div>\n<button\n *ngIf=\"hasClose\"\n tuiIconButton\n type=\"button\"\n automation-id=\"tui-notification__close\"\n size=\"xs\"\n icon=\"tuiIconCloseLarge\"\n appearance=\"icon\"\n class=\"t-close\"\n [title]=\"closeWord$ | async\"\n (click)=\"close.emit()\"\n></button>\n","import {CommonModule} from '@angular/common';\nimport {NgModule} from '@angular/core';\nimport {TuiButtonModule} from '@taiga-ui/core/components/button';\nimport {TuiSvgModule} from '@taiga-ui/core/components/svg';\n\nimport {TuiNotificationComponent} from './notification.component';\n\n@NgModule({\n imports: [CommonModule, TuiSvgModule, TuiButtonModule],\n declarations: [TuiNotificationComponent],\n exports: [TuiNotificationComponent],\n})\nexport class TuiNotificationModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
|
|
@@ -32,7 +32,7 @@ class TuiRootComponent {
|
|
|
32
32
|
}
|
|
33
33
|
}
|
|
34
34
|
TuiRootComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: TuiRootComponent, deps: [{ token: TUI_ANIMATIONS_DURATION }, { token: ElementRef }, { token: TUI_DIALOGS }, { token: TUI_IS_MOBILE }, { token: TUI_ASSERT_ENABLED }, { token: TUI_IS_MOBILE_RES }, { token: DOCUMENT }, { token: TUI_THEME }], target: i0.ɵɵFactoryTarget.Component });
|
|
35
|
-
TuiRootComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.16", type: TuiRootComponent, selector: "tui-root", host: { attributes: { "data-tui-version": "3.0.0-rc.
|
|
35
|
+
TuiRootComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.16", type: TuiRootComponent, selector: "tui-root", host: { attributes: { "data-tui-version": "3.0.0-rc.5" }, listeners: { "$.class._mobile": "isMobileRes$" }, properties: { "style.--tui-duration": "duration + \"ms\"" } }, providers: [TUI_IS_MOBILE_RES_PROVIDER], ngImport: i0, template: "<tui-scroll-controls\n *ngIf=\"scrollbars$ | async\"\n class=\"t-scrollbar\"\n></tui-scroll-controls>\n<tui-svg-defs-host></tui-svg-defs-host>\n<tui-dropdown-host>\n <div class=\"t-content\">\n <ng-content></ng-content>\n </div>\n <ng-content select=\"tuiOverContent\"></ng-content>\n <tui-dialog-host></tui-dialog-host>\n <ng-content select=\"tuiOverDialogs\"></ng-content>\n <tui-alert-host></tui-alert-host>\n <ng-content select=\"tuiOverAlerts\"></ng-content>\n</tui-dropdown-host>\n<ng-content select=\"tuiOverPortals\"></ng-content>\n<tui-hints-host></tui-hints-host>\n<ng-content select=\"tuiOverHints\"></ng-content>\n", styles: ["@-webkit-keyframes tuiPresent{to{content:\"1\"}}@keyframes tuiPresent{to{content:\"1\"}}:host{position:relative;display:block;flex:1;-webkit-tap-highlight-color:transparent}.t-scrollbar{position:fixed;top:0;left:0;bottom:0;right:0;margin:0}.t-content{position:relative;z-index:0;height:100%}\n"], components: [{ type: i1.TuiScrollControlsComponent, selector: "tui-scroll-controls" }, { type: i2.TuiSvgDefsHostComponent, selector: "tui-svg-defs-host" }, { type: i3.TuiDropdownHostComponent, selector: "tui-dropdown-host" }, { type: i3.TuiDialogHostComponent, selector: "tui-dialog-host" }, { type: i3.TuiAlertHostComponent, selector: "tui-alert-host" }, { type: i4.TuiHintsHostComponent, selector: "tui-hints-host" }], directives: [{ type: i5.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }], pipes: { "async": i5.AsyncPipe }, changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
36
36
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: TuiRootComponent, decorators: [{
|
|
37
37
|
type: Component,
|
|
38
38
|
args: [{
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { EMPTY_ARRAY, CHAR_NO_BREAK_SPACE
|
|
1
|
+
import { EMPTY_ARRAY, CHAR_NO_BREAK_SPACE } from '@taiga-ui/cdk';
|
|
2
2
|
|
|
3
3
|
const TUI_DECIMAL_SYMBOLS = [`,`, `.`];
|
|
4
4
|
|
|
@@ -72,15 +72,9 @@ const TUI_LAST_PUNCTUATION_MARK_REGEXP = /[.,\\/#!$%\\^&\\*;:{}=\\-_`~()]$/;
|
|
|
72
72
|
const TUI_LATIN_REGEXP = /[A-z]/;
|
|
73
73
|
const TUI_LATIN_AND_NUMBERS_REGEXP = /[A-z|0-9]/;
|
|
74
74
|
|
|
75
|
-
/**
|
|
76
|
-
* @deprecated: use {@link TUI_VERSION}
|
|
77
|
-
* TODO: remove in v3.0
|
|
78
|
-
*/
|
|
79
|
-
const VERSION = TUI_VERSION;
|
|
80
|
-
|
|
81
75
|
/**
|
|
82
76
|
* Generated bundle index. Do not edit.
|
|
83
77
|
*/
|
|
84
78
|
|
|
85
|
-
export { DEFAULT_ICONS_PATH, DESCRIBED_BY, MASK_CARET_TRAP, TUI_DECIMAL_SYMBOLS, TUI_DEFAULT_MARKER_HANDLER, TUI_DEFAULT_NUMBER_FORMAT, TUI_DIGIT_REGEXP, TUI_EXPAND_LOADED, TUI_HINT_DIRECTIONS, TUI_ICON_ERROR, TUI_LAST_PUNCTUATION_MARK_REGEXP, TUI_LATIN_AND_NUMBERS_REGEXP, TUI_LATIN_REGEXP, TUI_LEADING_ZEROES_REGEXP, TUI_MASK_SYMBOLS_REGEXP, TUI_NON_DIGITS_REGEXP, TUI_NON_DIGIT_REGEXP, TUI_SCROLLABLE, TUI_SCROLL_INTO_VIEW,
|
|
79
|
+
export { DEFAULT_ICONS_PATH, DESCRIBED_BY, MASK_CARET_TRAP, TUI_DECIMAL_SYMBOLS, TUI_DEFAULT_MARKER_HANDLER, TUI_DEFAULT_NUMBER_FORMAT, TUI_DIGIT_REGEXP, TUI_EXPAND_LOADED, TUI_HINT_DIRECTIONS, TUI_ICON_ERROR, TUI_LAST_PUNCTUATION_MARK_REGEXP, TUI_LATIN_AND_NUMBERS_REGEXP, TUI_LATIN_REGEXP, TUI_LEADING_ZEROES_REGEXP, TUI_MASK_SYMBOLS_REGEXP, TUI_NON_DIGITS_REGEXP, TUI_NON_DIGIT_REGEXP, TUI_SCROLLABLE, TUI_SCROLL_INTO_VIEW, tuiEditingKeys };
|
|
86
80
|
//# sourceMappingURL=taiga-ui-core-constants.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"taiga-ui-core-constants.js","sources":["../../../projects/core/constants/decimal-symbols.ts","../../../projects/core/constants/default-icons-path.ts","../../../projects/core/constants/default-marker-handler.ts","../../../projects/core/constants/default-number-format.ts","../../../projects/core/constants/described-by.ts","../../../projects/core/constants/editing-keys.ts","../../../projects/core/constants/events.ts","../../../projects/core/constants/hint-directions.ts","../../../projects/core/constants/mask-caret-trap.ts","../../../projects/core/constants/regexp.ts","../../../projects/core/constants/
|
|
1
|
+
{"version":3,"file":"taiga-ui-core-constants.js","sources":["../../../projects/core/constants/decimal-symbols.ts","../../../projects/core/constants/default-icons-path.ts","../../../projects/core/constants/default-marker-handler.ts","../../../projects/core/constants/default-number-format.ts","../../../projects/core/constants/described-by.ts","../../../projects/core/constants/editing-keys.ts","../../../projects/core/constants/events.ts","../../../projects/core/constants/hint-directions.ts","../../../projects/core/constants/mask-caret-trap.ts","../../../projects/core/constants/regexp.ts","../../../projects/core/constants/taiga-ui-core-constants.ts"],"sourcesContent":["export const TUI_DECIMAL_SYMBOLS: readonly string[] = [`,`, `.`];\n","import {TuiStringHandler} from '@taiga-ui/cdk';\n\nexport const DEFAULT_ICONS_PATH: TuiStringHandler<string> = name =>\n name.includes(`.svg#`) ? name : `#${name}`;\n","import {EMPTY_ARRAY} from '@taiga-ui/cdk';\nimport {TuiMarkerHandler} from '@taiga-ui/core/types';\n\nexport const TUI_DEFAULT_MARKER_HANDLER: TuiMarkerHandler = () => EMPTY_ARRAY;\n","import {CHAR_NO_BREAK_SPACE} from '@taiga-ui/cdk';\nimport {TuiNumberFormatSettings} from '@taiga-ui/core/interfaces';\n\nexport const TUI_DEFAULT_NUMBER_FORMAT: TuiNumberFormatSettings = {\n decimalLimit: Infinity,\n decimalSeparator: `,`,\n thousandSeparator: CHAR_NO_BREAK_SPACE,\n zeroPadding: true,\n};\n","export const DESCRIBED_BY = `_described-by`;\n","export const tuiEditingKeys: readonly string[] = [\n `Spacebar`,\n `Backspace`,\n `Delete`,\n `ArrowLeft`,\n `ArrowRight`,\n `Left`,\n `Right`,\n `End`,\n `Home`,\n];\n","/**\n * An event indicating that async data for expand has finished loading.\n * Dispatch to finish loading states for {@link TuiExpandComponent}.\n */\nexport const TUI_EXPAND_LOADED = `tui-expand-loaded`;\n\n/**\n * An event for scrolling an element into view within {@link TuiScrollbarComponent}.\n */\nexport const TUI_SCROLL_INTO_VIEW = `tui-scroll-into-view`;\n\n/**\n * An event to notify {@link TuiScrollbarComponent} that\n * it should control a nested element.\n */\nexport const TUI_SCROLLABLE = `tui-scrollable`;\n\n/**\n * An event indicating and error during icon loading in {@link TuiSvgComponent}.\n */\nexport const TUI_ICON_ERROR = `tui-icon-error`;\n","import {TuiHintDirection} from '@taiga-ui/core/types';\n\nexport const TUI_HINT_DIRECTIONS: readonly TuiHintDirection[] = [\n `bottom-left`,\n `bottom`,\n `bottom-right`,\n `top-left`,\n `top`,\n `top-right`,\n `left-top`,\n `left`,\n `left-bottom`,\n `right-top`,\n `right`,\n `right-bottom`,\n];\n","export const MASK_CARET_TRAP = `[]`;\n","export const TUI_DIGIT_REGEXP = /\\d/;\nexport const TUI_NON_DIGIT_REGEXP = /\\D/;\nexport const TUI_NON_DIGITS_REGEXP = /\\D+/g;\nexport const TUI_LEADING_ZEROES_REGEXP = /^0+/;\nexport const TUI_MASK_SYMBOLS_REGEXP = /[ \\-_()]/g;\nexport const TUI_LAST_PUNCTUATION_MARK_REGEXP = /[.,\\\\/#!$%\\\\^&\\\\*;:{}=\\\\-_`~()]$/;\nexport const TUI_LATIN_REGEXP = /[A-z]/;\nexport const TUI_LATIN_AND_NUMBERS_REGEXP = /[A-z|0-9]/;\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;MAAa,mBAAmB,GAAsB,CAAC,CAAG,CAAA,CAAA,EAAE,CAAG,CAAA,CAAA;;ACElD,MAAA,kBAAkB,GAA6B,IAAI,IAC5D,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,GAAG,IAAI,GAAG,CAAA,CAAA,EAAI,IAAI,CAAA;;MCA/B,0BAA0B,GAAqB,MAAM;;ACArD,MAAA,yBAAyB,GAA4B;AAC9D,IAAA,YAAY,EAAE,QAAQ;AACtB,IAAA,gBAAgB,EAAE,CAAG,CAAA,CAAA;AACrB,IAAA,iBAAiB,EAAE,mBAAmB;AACtC,IAAA,WAAW,EAAE,IAAI;;;ACPd,MAAM,YAAY,GAAG;;ACAf,MAAA,cAAc,GAAsB;IAC7C,CAAU,QAAA,CAAA;IACV,CAAW,SAAA,CAAA;IACX,CAAQ,MAAA,CAAA;IACR,CAAW,SAAA,CAAA;IACX,CAAY,UAAA,CAAA;IACZ,CAAM,IAAA,CAAA;IACN,CAAO,KAAA,CAAA;IACP,CAAK,GAAA,CAAA;IACL,CAAM,IAAA,CAAA;;;ACTV;;;AAGG;AACI,MAAM,iBAAiB,GAAG,oBAAoB;AAErD;;AAEG;AACI,MAAM,oBAAoB,GAAG,uBAAuB;AAE3D;;;AAGG;AACI,MAAM,cAAc,GAAG,iBAAiB;AAE/C;;AAEG;AACI,MAAM,cAAc,GAAG;;AClBjB,MAAA,mBAAmB,GAAgC;IAC5D,CAAa,WAAA,CAAA;IACb,CAAQ,MAAA,CAAA;IACR,CAAc,YAAA,CAAA;IACd,CAAU,QAAA,CAAA;IACV,CAAK,GAAA,CAAA;IACL,CAAW,SAAA,CAAA;IACX,CAAU,QAAA,CAAA;IACV,CAAM,IAAA,CAAA;IACN,CAAa,WAAA,CAAA;IACb,CAAW,SAAA,CAAA;IACX,CAAO,KAAA,CAAA;IACP,CAAc,YAAA,CAAA;;;ACdX,MAAM,eAAe,GAAG;;ACAxB,MAAM,gBAAgB,GAAG,KAAK;AAC9B,MAAM,oBAAoB,GAAG,KAAK;AAClC,MAAM,qBAAqB,GAAG,OAAO;AACrC,MAAM,yBAAyB,GAAG,MAAM;AACxC,MAAM,uBAAuB,GAAG,YAAY;AAC5C,MAAM,gCAAgC,GAAG,mCAAmC;AAC5E,MAAM,gBAAgB,GAAG,QAAQ;AACjC,MAAM,4BAA4B,GAAG;;ACP5C;;AAEG;;;;"}
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
import * as i0 from '@angular/core';
|
|
2
|
+
import { Pipe, Inject, NgModule } from '@angular/core';
|
|
3
|
+
import * as i1 from '@taiga-ui/core/services';
|
|
4
|
+
import { TuiFormatDateService } from '@taiga-ui/core/services';
|
|
5
|
+
|
|
6
|
+
class TuiFormatDatePipe {
|
|
7
|
+
constructor(service) {
|
|
8
|
+
this.service = service;
|
|
9
|
+
}
|
|
10
|
+
transform(timestampOrDate) {
|
|
11
|
+
return this.service.format(timestampOrDate.valueOf());
|
|
12
|
+
}
|
|
13
|
+
}
|
|
14
|
+
TuiFormatDatePipe.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: TuiFormatDatePipe, deps: [{ token: TuiFormatDateService }], target: i0.ɵɵFactoryTarget.Pipe });
|
|
15
|
+
TuiFormatDatePipe.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: TuiFormatDatePipe, name: "tuiFormatDate" });
|
|
16
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: TuiFormatDatePipe, decorators: [{
|
|
17
|
+
type: Pipe,
|
|
18
|
+
args: [{
|
|
19
|
+
name: `tuiFormatDate`,
|
|
20
|
+
}]
|
|
21
|
+
}], ctorParameters: function () { return [{ type: i1.TuiFormatDateService, decorators: [{
|
|
22
|
+
type: Inject,
|
|
23
|
+
args: [TuiFormatDateService]
|
|
24
|
+
}] }]; } });
|
|
25
|
+
|
|
26
|
+
class TuiFormatDatePipeModule {
|
|
27
|
+
}
|
|
28
|
+
TuiFormatDatePipeModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: TuiFormatDatePipeModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
29
|
+
TuiFormatDatePipeModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: TuiFormatDatePipeModule, declarations: [TuiFormatDatePipe], exports: [TuiFormatDatePipe] });
|
|
30
|
+
TuiFormatDatePipeModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: TuiFormatDatePipeModule });
|
|
31
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: TuiFormatDatePipeModule, decorators: [{
|
|
32
|
+
type: NgModule,
|
|
33
|
+
args: [{
|
|
34
|
+
declarations: [TuiFormatDatePipe],
|
|
35
|
+
exports: [TuiFormatDatePipe],
|
|
36
|
+
}]
|
|
37
|
+
}] });
|
|
38
|
+
|
|
39
|
+
/**
|
|
40
|
+
* Generated bundle index. Do not edit.
|
|
41
|
+
*/
|
|
42
|
+
|
|
43
|
+
export { TuiFormatDatePipe, TuiFormatDatePipeModule };
|
|
44
|
+
//# sourceMappingURL=taiga-ui-core-pipes-format-date.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"taiga-ui-core-pipes-format-date.js","sources":["../../../projects/core/pipes/format-date/format-date.pipe.ts","../../../projects/core/pipes/format-date/format-date.module.ts","../../../projects/core/pipes/format-date/taiga-ui-core-pipes-format-date.ts"],"sourcesContent":["import {Inject, Pipe, PipeTransform} from '@angular/core';\nimport {TuiFormatDateService} from '@taiga-ui/core/services';\nimport {Observable} from 'rxjs';\n\n@Pipe({\n name: `tuiFormatDate`,\n})\nexport class TuiFormatDatePipe implements PipeTransform {\n constructor(\n @Inject(TuiFormatDateService) private readonly service: TuiFormatDateService,\n ) {}\n\n transform(timestampOrDate: number | Date): Observable<string> {\n return this.service.format(timestampOrDate.valueOf());\n }\n}\n","import {NgModule} from '@angular/core';\n\nimport {TuiFormatDatePipe} from './format-date.pipe';\n\n@NgModule({\n declarations: [TuiFormatDatePipe],\n exports: [TuiFormatDatePipe],\n})\nexport class TuiFormatDatePipeModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;;;;MAOa,iBAAiB,CAAA;AAC1B,IAAA,WAAA,CACmD,OAA6B,EAAA;QAA7B,IAAO,CAAA,OAAA,GAAP,OAAO,CAAsB;KAC5E;AAEJ,IAAA,SAAS,CAAC,eAA8B,EAAA;QACpC,OAAO,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,eAAe,CAAC,OAAO,EAAE,CAAC,CAAC;KACzD;;AAPQ,iBAAA,CAAA,IAAA,GAAA,EAAA,CAAA,kBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,iBAAiB,kBAEd,oBAAoB,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,IAAA,EAAA,CAAA,CAAA;6GAFvB,iBAAiB,EAAA,IAAA,EAAA,eAAA,EAAA,CAAA,CAAA;4FAAjB,iBAAiB,EAAA,UAAA,EAAA,CAAA;kBAH7B,IAAI;AAAC,YAAA,IAAA,EAAA,CAAA;AACF,oBAAA,IAAI,EAAE,CAAe,aAAA,CAAA;AACxB,iBAAA,CAAA;;0BAGQ,MAAM;2BAAC,oBAAoB,CAAA;;;MCDvB,uBAAuB,CAAA;;qHAAvB,uBAAuB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,QAAA,EAAA,CAAA,CAAA;sHAAvB,uBAAuB,EAAA,YAAA,EAAA,CAHjB,iBAAiB,CAAA,EAAA,OAAA,EAAA,CACtB,iBAAiB,CAAA,EAAA,CAAA,CAAA;sHAElB,uBAAuB,EAAA,CAAA,CAAA;4FAAvB,uBAAuB,EAAA,UAAA,EAAA,CAAA;kBAJnC,QAAQ;AAAC,YAAA,IAAA,EAAA,CAAA;oBACN,YAAY,EAAE,CAAC,iBAAiB,CAAC;oBACjC,OAAO,EAAE,CAAC,iBAAiB,CAAC;AAC/B,iBAAA,CAAA;;;ACPD;;AAEG;;;;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"taiga-ui-core-pipes.js","sources":["../../../projects/core/pipes/taiga-ui-core-pipes.ts"],"sourcesContent":["/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"taiga-ui-core-pipes.js","sources":["../../../projects/core/pipes/taiga-ui-core-pipes.ts"],"sourcesContent":["/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;;;;;AAAA;;AAEG"}
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import * as i0 from '@angular/core';
|
|
2
|
-
import { Injectable, Inject, ElementRef, NgZone, Optional, SecurityContext } from '@angular/core';
|
|
3
|
-
import { DESCRIBED_BY } from '@taiga-ui/core/constants';
|
|
2
|
+
import { LOCALE_ID, Injectable, Inject, ElementRef, NgZone, Optional, SecurityContext } from '@angular/core';
|
|
4
3
|
import * as i1 from 'rxjs';
|
|
5
|
-
import { BehaviorSubject, Observable, fromEvent, EMPTY } from 'rxjs';
|
|
4
|
+
import { of, BehaviorSubject, Observable, fromEvent, EMPTY } from 'rxjs';
|
|
5
|
+
import { DESCRIBED_BY } from '@taiga-ui/core/constants';
|
|
6
6
|
import { WINDOW, ANIMATION_FRAME } from '@ng-web-apis/common';
|
|
7
7
|
import { startWith, map, share, distinctUntilChanged, takeUntil } from 'rxjs/operators';
|
|
8
8
|
import * as i3 from '@taiga-ui/cdk';
|
|
@@ -16,6 +16,29 @@ import { DomSanitizer } from '@angular/platform-browser';
|
|
|
16
16
|
import { TUI_SANITIZER, TUI_ICONS } from '@taiga-ui/core/tokens';
|
|
17
17
|
import { tuiProcessIcon } from '@taiga-ui/core/utils/dom';
|
|
18
18
|
|
|
19
|
+
class TuiFormatDateService {
|
|
20
|
+
constructor(locale) {
|
|
21
|
+
this.locale = locale;
|
|
22
|
+
}
|
|
23
|
+
format(timestamp) {
|
|
24
|
+
return of(new Date(timestamp).toLocaleTimeString(this.locale, {
|
|
25
|
+
hour: `numeric`,
|
|
26
|
+
minute: `2-digit`,
|
|
27
|
+
}));
|
|
28
|
+
}
|
|
29
|
+
}
|
|
30
|
+
TuiFormatDateService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: TuiFormatDateService, deps: [{ token: LOCALE_ID }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
31
|
+
TuiFormatDateService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: TuiFormatDateService, providedIn: `root` });
|
|
32
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: TuiFormatDateService, decorators: [{
|
|
33
|
+
type: Injectable,
|
|
34
|
+
args: [{
|
|
35
|
+
providedIn: `root`,
|
|
36
|
+
}]
|
|
37
|
+
}], ctorParameters: function () { return [{ type: undefined, decorators: [{
|
|
38
|
+
type: Inject,
|
|
39
|
+
args: [LOCALE_ID]
|
|
40
|
+
}] }]; } });
|
|
41
|
+
|
|
19
42
|
/**
|
|
20
43
|
* Service for displaying hints/tooltips
|
|
21
44
|
*/
|
|
@@ -208,5 +231,5 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImpo
|
|
|
208
231
|
* Generated bundle index. Do not edit.
|
|
209
232
|
*/
|
|
210
233
|
|
|
211
|
-
export { TuiHintService, TuiNightThemeService, TuiPositionService, TuiRouterLinkActiveService, TuiSvgService };
|
|
234
|
+
export { TuiFormatDateService, TuiHintService, TuiNightThemeService, TuiPositionService, TuiRouterLinkActiveService, TuiSvgService };
|
|
212
235
|
//# sourceMappingURL=taiga-ui-core-services.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"taiga-ui-core-services.js","sources":["../../../projects/core/services/hint.service.ts","../../../projects/core/services/night-theme.service.ts","../../../projects/core/services/position.service.ts","../../../projects/core/services/router-link-active.service.ts","../../../projects/core/services/svg.service.ts","../../../projects/core/services/taiga-ui-core-services.ts"],"sourcesContent":["import {Injectable} from '@angular/core';\nimport {DESCRIBED_BY} from '@taiga-ui/core/constants';\nimport {TuiPortalItem} from '@taiga-ui/core/interfaces';\nimport {BehaviorSubject} from 'rxjs';\n\n/**\n * Service for displaying hints/tooltips\n */\n@Injectable({\n providedIn: `root`,\n})\nexport class TuiHintService extends BehaviorSubject<readonly TuiPortalItem[]> {\n /**\n * TODO:\n * We need the following logic for desribedBy\n * move it into another service that can register hints and\n * manage it using TuiHintService inside\n */\n private directives: readonly TuiPortalItem[] = [];\n\n constructor() {\n super([]);\n }\n\n add(directive: TuiPortalItem): void {\n this.next(this.value.concat(directive));\n }\n\n remove(directive: TuiPortalItem): void {\n if (this.value.includes(directive)) {\n this.next(this.value.filter(hint => hint !== directive));\n }\n }\n\n register(directive: TuiPortalItem): void {\n this.directives = [...this.directives, directive];\n }\n\n unregister(directive: TuiPortalItem): void {\n this.remove(directive);\n this.directives = this.directives.filter(dir => dir !== directive);\n }\n\n showHintForId(id: string): void {\n const directive = this.findDirectiveWithHintId(id);\n\n if (directive) {\n this.add(directive);\n }\n }\n\n hideHintForId(id: string): void {\n const directive = this.findDirectiveWithHintId(id);\n\n if (directive) {\n this.remove(directive);\n }\n }\n\n private findDirectiveWithHintId(id: string): TuiPortalItem | undefined {\n return this.directives.find(directive => directive.id === id + DESCRIBED_BY);\n }\n}\n","import {Inject, Injectable} from '@angular/core';\nimport {WINDOW} from '@ng-web-apis/common';\nimport {fromEvent, Observable} from 'rxjs';\nimport {map, share, startWith} from 'rxjs/operators';\n\n@Injectable({\n providedIn: `root`,\n})\nexport class TuiNightThemeService extends Observable<boolean> {\n constructor(@Inject(WINDOW) windowRef: Window) {\n const media = windowRef.matchMedia(`(prefers-color-scheme: dark)`);\n const media$ = fromEvent(media, `change`).pipe(\n startWith(null),\n map(() => media.matches),\n share(),\n );\n\n super(subscriber => media$.subscribe(subscriber));\n }\n}\n","import {ElementRef, Inject, Injectable, NgZone} from '@angular/core';\nimport {ANIMATION_FRAME} from '@ng-web-apis/common';\nimport {tuiZonefree} from '@taiga-ui/cdk';\nimport {TuiPositionAccessor} from '@taiga-ui/core/abstract';\nimport {TuiPoint} from '@taiga-ui/core/types';\nimport {Observable} from 'rxjs';\nimport {map} from 'rxjs/operators';\n\n@Injectable()\nexport class TuiPositionService extends Observable<TuiPoint> {\n constructor(\n @Inject(ElementRef) {nativeElement}: ElementRef<HTMLElement>,\n @Inject(ANIMATION_FRAME) animationFrame: Observable<unknown>,\n @Inject(NgZone) ngZone: NgZone,\n @Inject(TuiPositionAccessor) accessor: TuiPositionAccessor,\n ) {\n super(subscriber =>\n animationFrame\n .pipe(\n map(() => nativeElement.getBoundingClientRect()),\n map(rect => accessor.getPosition(rect)),\n tuiZonefree(ngZone),\n )\n .subscribe(subscriber),\n );\n }\n}\n","import {Inject, Injectable, NgZone, Optional} from '@angular/core';\nimport {RouterLinkActive} from '@angular/router';\nimport {ANIMATION_FRAME} from '@ng-web-apis/common';\nimport {TuiDestroyService, tuiZoneOptimized} from '@taiga-ui/cdk';\nimport {EMPTY, Observable} from 'rxjs';\nimport {distinctUntilChanged, map, takeUntil} from 'rxjs/operators';\n\n@Injectable()\nexport class TuiRouterLinkActiveService extends Observable<boolean> {\n constructor(\n @Optional()\n @Inject(RouterLinkActive)\n routerLinkActive: RouterLinkActive | null,\n @Inject(NgZone) ngZone: NgZone,\n @Inject(ANIMATION_FRAME) animationFrame$: Observable<number>,\n @Inject(TuiDestroyService) destroy$: TuiDestroyService,\n ) {\n const stream$ = routerLinkActive\n ? animationFrame$.pipe(\n map(() => routerLinkActive.isActive),\n distinctUntilChanged(),\n tuiZoneOptimized(ngZone),\n takeUntil(destroy$),\n )\n : EMPTY;\n\n super(subscriber => stream$.subscribe(subscriber));\n }\n}\n","import {Inject, Injectable, Optional, Sanitizer, SecurityContext} from '@angular/core';\nimport {DomSanitizer, SafeHtml} from '@angular/platform-browser';\nimport {tuiAssert} from '@taiga-ui/cdk';\nimport {TUI_ICONS, TUI_SANITIZER} from '@taiga-ui/core/tokens';\nimport {tuiProcessIcon} from '@taiga-ui/core/utils/dom';\nimport {BehaviorSubject} from 'rxjs';\n\n/**\n * Service for reusing SVGs without inlining each instance\n */\n@Injectable({\n providedIn: `root`,\n})\nexport class TuiSvgService {\n private originals: Record<string, string> = {};\n\n readonly items$ = new BehaviorSubject<Map<string, SafeHtml>>(new Map());\n\n constructor(\n @Optional()\n @Inject(TUI_SANITIZER)\n private readonly tuiSanitizer: Sanitizer | null,\n @Inject(DomSanitizer) private readonly sanitizer: DomSanitizer,\n @Inject(TUI_ICONS) icons: Record<string, string>,\n ) {\n this.define(icons);\n }\n\n define(icons: Record<string, string>): void {\n const {value} = this.items$;\n\n Object.keys(icons).forEach(key => {\n this.defineIcon(key, icons[key], value);\n });\n\n this.items$.next(value);\n }\n\n getOriginal(name: string): string | null {\n return this.originals[name] || null;\n }\n\n private defineIcon(name: string, src: string, map: Map<string, SafeHtml>): void {\n if (map.has(name)) {\n return;\n }\n\n const parsed = this.parseSrc(name, src);\n\n if (!parsed) {\n tuiAssert.assert(false, `Unable to parse given SVG src`);\n\n return;\n }\n\n map.set(name, parsed);\n this.originals = {\n ...this.originals,\n [name]: src,\n };\n }\n\n private parseSrc(name: string, src: string): SafeHtml {\n return this.sanitize(tuiProcessIcon(src, name));\n }\n\n private sanitize(src: string): SafeHtml {\n return this.sanitizer.bypassSecurityTrustHtml(\n (this.tuiSanitizer\n ? this.tuiSanitizer.sanitize(SecurityContext.HTML, src)\n : this.sanitizer.sanitize(SecurityContext.HTML, src)) || ``,\n );\n }\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-core-services.js","sources":["../../../projects/core/services/format-date.service.ts","../../../projects/core/services/hint.service.ts","../../../projects/core/services/night-theme.service.ts","../../../projects/core/services/position.service.ts","../../../projects/core/services/router-link-active.service.ts","../../../projects/core/services/svg.service.ts","../../../projects/core/services/taiga-ui-core-services.ts"],"sourcesContent":["import {Inject, Injectable, LOCALE_ID} from '@angular/core';\nimport {Observable, of} from 'rxjs';\n\n@Injectable({\n providedIn: `root`,\n})\nexport class TuiFormatDateService {\n constructor(@Inject(LOCALE_ID) protected readonly locale: string) {}\n\n format(timestamp: number): Observable<string> {\n return of(\n new Date(timestamp).toLocaleTimeString(this.locale, {\n hour: `numeric`,\n minute: `2-digit`,\n }),\n );\n }\n}\n","import {Injectable} from '@angular/core';\nimport {DESCRIBED_BY} from '@taiga-ui/core/constants';\nimport {TuiPortalItem} from '@taiga-ui/core/interfaces';\nimport {BehaviorSubject} from 'rxjs';\n\n/**\n * Service for displaying hints/tooltips\n */\n@Injectable({\n providedIn: `root`,\n})\nexport class TuiHintService extends BehaviorSubject<readonly TuiPortalItem[]> {\n /**\n * TODO:\n * We need the following logic for desribedBy\n * move it into another service that can register hints and\n * manage it using TuiHintService inside\n */\n private directives: readonly TuiPortalItem[] = [];\n\n constructor() {\n super([]);\n }\n\n add(directive: TuiPortalItem): void {\n this.next(this.value.concat(directive));\n }\n\n remove(directive: TuiPortalItem): void {\n if (this.value.includes(directive)) {\n this.next(this.value.filter(hint => hint !== directive));\n }\n }\n\n register(directive: TuiPortalItem): void {\n this.directives = [...this.directives, directive];\n }\n\n unregister(directive: TuiPortalItem): void {\n this.remove(directive);\n this.directives = this.directives.filter(dir => dir !== directive);\n }\n\n showHintForId(id: string): void {\n const directive = this.findDirectiveWithHintId(id);\n\n if (directive) {\n this.add(directive);\n }\n }\n\n hideHintForId(id: string): void {\n const directive = this.findDirectiveWithHintId(id);\n\n if (directive) {\n this.remove(directive);\n }\n }\n\n private findDirectiveWithHintId(id: string): TuiPortalItem | undefined {\n return this.directives.find(directive => directive.id === id + DESCRIBED_BY);\n }\n}\n","import {Inject, Injectable} from '@angular/core';\nimport {WINDOW} from '@ng-web-apis/common';\nimport {fromEvent, Observable} from 'rxjs';\nimport {map, share, startWith} from 'rxjs/operators';\n\n@Injectable({\n providedIn: `root`,\n})\nexport class TuiNightThemeService extends Observable<boolean> {\n constructor(@Inject(WINDOW) windowRef: Window) {\n const media = windowRef.matchMedia(`(prefers-color-scheme: dark)`);\n const media$ = fromEvent(media, `change`).pipe(\n startWith(null),\n map(() => media.matches),\n share(),\n );\n\n super(subscriber => media$.subscribe(subscriber));\n }\n}\n","import {ElementRef, Inject, Injectable, NgZone} from '@angular/core';\nimport {ANIMATION_FRAME} from '@ng-web-apis/common';\nimport {tuiZonefree} from '@taiga-ui/cdk';\nimport {TuiPositionAccessor} from '@taiga-ui/core/abstract';\nimport {TuiPoint} from '@taiga-ui/core/types';\nimport {Observable} from 'rxjs';\nimport {map} from 'rxjs/operators';\n\n@Injectable()\nexport class TuiPositionService extends Observable<TuiPoint> {\n constructor(\n @Inject(ElementRef) {nativeElement}: ElementRef<HTMLElement>,\n @Inject(ANIMATION_FRAME) animationFrame: Observable<unknown>,\n @Inject(NgZone) ngZone: NgZone,\n @Inject(TuiPositionAccessor) accessor: TuiPositionAccessor,\n ) {\n super(subscriber =>\n animationFrame\n .pipe(\n map(() => nativeElement.getBoundingClientRect()),\n map(rect => accessor.getPosition(rect)),\n tuiZonefree(ngZone),\n )\n .subscribe(subscriber),\n );\n }\n}\n","import {Inject, Injectable, NgZone, Optional} from '@angular/core';\nimport {RouterLinkActive} from '@angular/router';\nimport {ANIMATION_FRAME} from '@ng-web-apis/common';\nimport {TuiDestroyService, tuiZoneOptimized} from '@taiga-ui/cdk';\nimport {EMPTY, Observable} from 'rxjs';\nimport {distinctUntilChanged, map, takeUntil} from 'rxjs/operators';\n\n@Injectable()\nexport class TuiRouterLinkActiveService extends Observable<boolean> {\n constructor(\n @Optional()\n @Inject(RouterLinkActive)\n routerLinkActive: RouterLinkActive | null,\n @Inject(NgZone) ngZone: NgZone,\n @Inject(ANIMATION_FRAME) animationFrame$: Observable<number>,\n @Inject(TuiDestroyService) destroy$: TuiDestroyService,\n ) {\n const stream$ = routerLinkActive\n ? animationFrame$.pipe(\n map(() => routerLinkActive.isActive),\n distinctUntilChanged(),\n tuiZoneOptimized(ngZone),\n takeUntil(destroy$),\n )\n : EMPTY;\n\n super(subscriber => stream$.subscribe(subscriber));\n }\n}\n","import {Inject, Injectable, Optional, Sanitizer, SecurityContext} from '@angular/core';\nimport {DomSanitizer, SafeHtml} from '@angular/platform-browser';\nimport {tuiAssert} from '@taiga-ui/cdk';\nimport {TUI_ICONS, TUI_SANITIZER} from '@taiga-ui/core/tokens';\nimport {tuiProcessIcon} from '@taiga-ui/core/utils/dom';\nimport {BehaviorSubject} from 'rxjs';\n\n/**\n * Service for reusing SVGs without inlining each instance\n */\n@Injectable({\n providedIn: `root`,\n})\nexport class TuiSvgService {\n private originals: Record<string, string> = {};\n\n readonly items$ = new BehaviorSubject<Map<string, SafeHtml>>(new Map());\n\n constructor(\n @Optional()\n @Inject(TUI_SANITIZER)\n private readonly tuiSanitizer: Sanitizer | null,\n @Inject(DomSanitizer) private readonly sanitizer: DomSanitizer,\n @Inject(TUI_ICONS) icons: Record<string, string>,\n ) {\n this.define(icons);\n }\n\n define(icons: Record<string, string>): void {\n const {value} = this.items$;\n\n Object.keys(icons).forEach(key => {\n this.defineIcon(key, icons[key], value);\n });\n\n this.items$.next(value);\n }\n\n getOriginal(name: string): string | null {\n return this.originals[name] || null;\n }\n\n private defineIcon(name: string, src: string, map: Map<string, SafeHtml>): void {\n if (map.has(name)) {\n return;\n }\n\n const parsed = this.parseSrc(name, src);\n\n if (!parsed) {\n tuiAssert.assert(false, `Unable to parse given SVG src`);\n\n return;\n }\n\n map.set(name, parsed);\n this.originals = {\n ...this.originals,\n [name]: src,\n };\n }\n\n private parseSrc(name: string, src: string): SafeHtml {\n return this.sanitize(tuiProcessIcon(src, name));\n }\n\n private sanitize(src: string): SafeHtml {\n return this.sanitizer.bypassSecurityTrustHtml(\n (this.tuiSanitizer\n ? this.tuiSanitizer.sanitize(SecurityContext.HTML, src)\n : this.sanitizer.sanitize(SecurityContext.HTML, src)) || ``,\n );\n }\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
|