@taiga-ui/kit 4.37.0-canary.e7da31c → 4.38.0-canary.30f044e
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/components/action-bar/action-bar.component.d.ts +2 -2
- package/components/badge-notification/badge-notification.component.d.ts +2 -2
- package/components/calendar-range/day-caps-mapper.d.ts +2 -2
- package/components/drawer/drawer.component.d.ts +3 -6
- package/components/line-clamp/line-clamp-box.component.d.ts +2 -1
- package/components/pdf-viewer/pdf-viewer.component.d.ts +2 -2
- package/components/preview/preview-dialog/preview-dialog.component.d.ts +2 -8
- package/components/pulse/pulse.component.d.ts +2 -2
- package/components/push/push-alert.component.d.ts +2 -2
- package/esm2022/components/action-bar/action-bar.component.mjs +8 -12
- package/esm2022/components/badge-notification/badge-notification.component.mjs +6 -9
- package/esm2022/components/calendar-range/calendar-range.component.mjs +4 -4
- package/esm2022/components/calendar-range/day-caps-mapper.mjs +10 -4
- package/esm2022/components/drawer/drawer.component.mjs +13 -16
- package/esm2022/components/line-clamp/line-clamp-box.component.mjs +7 -6
- package/esm2022/components/pdf-viewer/pdf-viewer.component.mjs +8 -11
- package/esm2022/components/preview/preview-dialog/preview-dialog.component.mjs +10 -20
- package/esm2022/components/preview/preview.component.mjs +3 -4
- package/esm2022/components/pulse/pulse.component.mjs +6 -10
- package/esm2022/components/push/push-alert.component.mjs +8 -21
- package/fesm2022/taiga-ui-kit-components-action-bar.mjs +7 -11
- package/fesm2022/taiga-ui-kit-components-action-bar.mjs.map +1 -1
- package/fesm2022/taiga-ui-kit-components-badge-notification.mjs +5 -8
- package/fesm2022/taiga-ui-kit-components-badge-notification.mjs.map +1 -1
- package/fesm2022/taiga-ui-kit-components-calendar-range.mjs +12 -6
- package/fesm2022/taiga-ui-kit-components-calendar-range.mjs.map +1 -1
- package/fesm2022/taiga-ui-kit-components-drawer.mjs +12 -15
- package/fesm2022/taiga-ui-kit-components-drawer.mjs.map +1 -1
- package/fesm2022/taiga-ui-kit-components-line-clamp.mjs +8 -7
- package/fesm2022/taiga-ui-kit-components-line-clamp.mjs.map +1 -1
- package/fesm2022/taiga-ui-kit-components-pdf-viewer.mjs +7 -10
- package/fesm2022/taiga-ui-kit-components-pdf-viewer.mjs.map +1 -1
- package/fesm2022/taiga-ui-kit-components-preview-preview-dialog.mjs +9 -19
- package/fesm2022/taiga-ui-kit-components-preview-preview-dialog.mjs.map +1 -1
- package/fesm2022/taiga-ui-kit-components-preview.mjs +10 -20
- package/fesm2022/taiga-ui-kit-components-preview.mjs.map +1 -1
- package/fesm2022/taiga-ui-kit-components-pulse.mjs +5 -9
- package/fesm2022/taiga-ui-kit-components-pulse.mjs.map +1 -1
- package/fesm2022/taiga-ui-kit-components-push.mjs +6 -18
- package/fesm2022/taiga-ui-kit-components-push.mjs.map +1 -1
- package/package.json +4 -4
|
@@ -1,38 +1,34 @@
|
|
|
1
1
|
import * as i0 from '@angular/core';
|
|
2
|
-
import {
|
|
2
|
+
import { Component, ChangeDetectionStrategy, Input, Directive } from '@angular/core';
|
|
3
|
+
import * as i1 from '@taiga-ui/cdk/directives/animated';
|
|
4
|
+
import { TuiAnimated } from '@taiga-ui/cdk/directives/animated';
|
|
3
5
|
import { tuiProvide } from '@taiga-ui/cdk/utils/miscellaneous';
|
|
4
|
-
import { tuiFadeIn, tuiSlideInTop } from '@taiga-ui/core/animations';
|
|
5
6
|
import { TUI_BUTTON_OPTIONS } from '@taiga-ui/core/components/button';
|
|
6
7
|
import { TuiExpandComponent } from '@taiga-ui/core/components/expand';
|
|
7
8
|
import { tuiLinkOptionsProvider } from '@taiga-ui/core/components/link';
|
|
8
|
-
import { TUI_ANIMATIONS_SPEED } from '@taiga-ui/core/tokens';
|
|
9
|
-
import { tuiToAnimationOptions } from '@taiga-ui/core/utils/miscellaneous';
|
|
10
9
|
import { TuiDropdownPortal } from '@taiga-ui/core/directives/dropdown';
|
|
11
10
|
|
|
12
11
|
class TuiActionBarComponent {
|
|
13
12
|
constructor() {
|
|
14
|
-
this.animation = tuiToAnimationOptions(inject(TUI_ANIMATIONS_SPEED));
|
|
15
13
|
this.expanded = false;
|
|
16
14
|
this.size = 'm';
|
|
17
15
|
this.appearance = 'secondary-grayscale';
|
|
18
16
|
}
|
|
19
17
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: TuiActionBarComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
20
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: TuiActionBarComponent, isStandalone: true, selector: "tui-action-bar", inputs: { expanded: "expanded", size: "size" }, host: { attributes: { "tuiTheme": "dark" }, properties: { "attr.data-size": "size"
|
|
18
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: TuiActionBarComponent, isStandalone: true, selector: "tui-action-bar", inputs: { expanded: "expanded", size: "size" }, host: { attributes: { "tuiTheme": "dark" }, properties: { "attr.data-size": "size" } }, providers: [
|
|
21
19
|
tuiProvide(TUI_BUTTON_OPTIONS, TuiActionBarComponent),
|
|
22
20
|
tuiLinkOptionsProvider({ appearance: 'action-grayscale', pseudo: true }),
|
|
23
|
-
], ngImport: i0, template: "<tui-expand [expanded]=\"expanded\">\n <ng-content select=\"tui-data-list,[tuiMenu]\" />\n</tui-expand>\n\n<div class=\"t-content\">\n <ng-content />\n\n <div class=\"t-actions\">\n <ng-content select=\"a,button,[tuiAction]\" />\n </div>\n</div>\n", styles: [":host{position:fixed;left:max(calc(50% - 37rem),1.5rem);bottom:1rem;display:flex;inline-size:100%;max-inline-size:min(calc(100vw - 3rem),74rem);box-sizing:border-box;border-radius:1rem;background:var(--tui-background-elevation-3);background:color-mix(in hsl,var(--tui-background-elevation-3) 75%,transparent);color:var(--tui-text-primary);-webkit-backdrop-filter:blur(2rem);backdrop-filter:blur(2rem);flex-direction:column;justify-content:center;padding:.75rem;text-indent:.75rem;font:var(--tui-font-text-m);white-space:nowrap}:host[data-size=s]{border-radius:var(--tui-radius-l);font:var(--tui-font-text-s);padding:.5rem}:host-context(tui-root._mobile) :host{padding:1rem;border-radius:1.25rem;text-indent:0}:host ::ng-deep tui-data-list[data-size]{padding:0;margin:-.625rem -.625rem 1rem}:host ::ng-deep tui-items-with-more{text-indent:.5rem}:host-context(tui-root._mobile) :host ::ng-deep tui-items-with-more{display:none}.t-content{display:flex;align-items:center;gap:.7rem 2.5rem}:host-context(tui-root._mobile) .t-content{flex-wrap:wrap}.t-actions{display:flex;justify-content:flex-end;gap:.5rem;margin-inline-start:auto;text-indent:0}:host-context(tui-root._mobile) .t-actions{flex:1}:host-context(tui-root._mobile) .t-actions ::ng-deep [tuiButton]{flex:1}\n"], dependencies: [{ kind: "component", type: TuiExpandComponent, selector: "tui-expand", inputs: ["async", "expanded"] }],
|
|
21
|
+
], hostDirectives: [{ directive: i1.TuiAnimated }], ngImport: i0, template: "<tui-expand [expanded]=\"expanded\">\n <ng-content select=\"tui-data-list,[tuiMenu]\" />\n</tui-expand>\n\n<div class=\"t-content\">\n <ng-content />\n\n <div class=\"t-actions\">\n <ng-content select=\"a,button,[tuiAction]\" />\n </div>\n</div>\n", styles: [":host{position:fixed;left:max(calc(50% - 37rem),1.5rem);bottom:1rem;display:flex;inline-size:100%;max-inline-size:min(calc(100vw - 3rem),74rem);box-sizing:border-box;border-radius:1rem;background:var(--tui-background-elevation-3);background:color-mix(in hsl,var(--tui-background-elevation-3) 75%,transparent);color:var(--tui-text-primary);-webkit-backdrop-filter:blur(2rem);backdrop-filter:blur(2rem);flex-direction:column;justify-content:center;padding:.75rem;text-indent:.75rem;font:var(--tui-font-text-m);white-space:nowrap}:host.tui-enter,:host.tui-leave{animation-name:tuiFade,tuiSlide}:host[data-size=s]{border-radius:var(--tui-radius-l);font:var(--tui-font-text-s);padding:.5rem}:host-context(tui-root._mobile) :host{padding:1rem;border-radius:1.25rem;text-indent:0}:host ::ng-deep tui-data-list[data-size]{padding:0;margin:-.625rem -.625rem 1rem}:host ::ng-deep tui-items-with-more{text-indent:.5rem}:host-context(tui-root._mobile) :host ::ng-deep tui-items-with-more{display:none}.t-content{display:flex;align-items:center;gap:.7rem 2.5rem}:host-context(tui-root._mobile) .t-content{flex-wrap:wrap}.t-actions{display:flex;justify-content:flex-end;gap:.5rem;margin-inline-start:auto;text-indent:0}:host-context(tui-root._mobile) .t-actions{flex:1}:host-context(tui-root._mobile) .t-actions ::ng-deep [tuiButton]{flex:1}\n"], dependencies: [{ kind: "component", type: TuiExpandComponent, selector: "tui-expand", inputs: ["async", "expanded"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
24
22
|
}
|
|
25
23
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: TuiActionBarComponent, decorators: [{
|
|
26
24
|
type: Component,
|
|
27
25
|
args: [{ standalone: true, selector: 'tui-action-bar', imports: [TuiExpandComponent], changeDetection: ChangeDetectionStrategy.OnPush, providers: [
|
|
28
26
|
tuiProvide(TUI_BUTTON_OPTIONS, TuiActionBarComponent),
|
|
29
27
|
tuiLinkOptionsProvider({ appearance: 'action-grayscale', pseudo: true }),
|
|
30
|
-
],
|
|
28
|
+
], hostDirectives: [TuiAnimated], host: {
|
|
31
29
|
tuiTheme: 'dark',
|
|
32
30
|
'[attr.data-size]': 'size',
|
|
33
|
-
|
|
34
|
-
'[@tuiSlideInTop]': 'animation',
|
|
35
|
-
}, template: "<tui-expand [expanded]=\"expanded\">\n <ng-content select=\"tui-data-list,[tuiMenu]\" />\n</tui-expand>\n\n<div class=\"t-content\">\n <ng-content />\n\n <div class=\"t-actions\">\n <ng-content select=\"a,button,[tuiAction]\" />\n </div>\n</div>\n", styles: [":host{position:fixed;left:max(calc(50% - 37rem),1.5rem);bottom:1rem;display:flex;inline-size:100%;max-inline-size:min(calc(100vw - 3rem),74rem);box-sizing:border-box;border-radius:1rem;background:var(--tui-background-elevation-3);background:color-mix(in hsl,var(--tui-background-elevation-3) 75%,transparent);color:var(--tui-text-primary);-webkit-backdrop-filter:blur(2rem);backdrop-filter:blur(2rem);flex-direction:column;justify-content:center;padding:.75rem;text-indent:.75rem;font:var(--tui-font-text-m);white-space:nowrap}:host[data-size=s]{border-radius:var(--tui-radius-l);font:var(--tui-font-text-s);padding:.5rem}:host-context(tui-root._mobile) :host{padding:1rem;border-radius:1.25rem;text-indent:0}:host ::ng-deep tui-data-list[data-size]{padding:0;margin:-.625rem -.625rem 1rem}:host ::ng-deep tui-items-with-more{text-indent:.5rem}:host-context(tui-root._mobile) :host ::ng-deep tui-items-with-more{display:none}.t-content{display:flex;align-items:center;gap:.7rem 2.5rem}:host-context(tui-root._mobile) .t-content{flex-wrap:wrap}.t-actions{display:flex;justify-content:flex-end;gap:.5rem;margin-inline-start:auto;text-indent:0}:host-context(tui-root._mobile) .t-actions{flex:1}:host-context(tui-root._mobile) .t-actions ::ng-deep [tuiButton]{flex:1}\n"] }]
|
|
31
|
+
}, template: "<tui-expand [expanded]=\"expanded\">\n <ng-content select=\"tui-data-list,[tuiMenu]\" />\n</tui-expand>\n\n<div class=\"t-content\">\n <ng-content />\n\n <div class=\"t-actions\">\n <ng-content select=\"a,button,[tuiAction]\" />\n </div>\n</div>\n", styles: [":host{position:fixed;left:max(calc(50% - 37rem),1.5rem);bottom:1rem;display:flex;inline-size:100%;max-inline-size:min(calc(100vw - 3rem),74rem);box-sizing:border-box;border-radius:1rem;background:var(--tui-background-elevation-3);background:color-mix(in hsl,var(--tui-background-elevation-3) 75%,transparent);color:var(--tui-text-primary);-webkit-backdrop-filter:blur(2rem);backdrop-filter:blur(2rem);flex-direction:column;justify-content:center;padding:.75rem;text-indent:.75rem;font:var(--tui-font-text-m);white-space:nowrap}:host.tui-enter,:host.tui-leave{animation-name:tuiFade,tuiSlide}:host[data-size=s]{border-radius:var(--tui-radius-l);font:var(--tui-font-text-s);padding:.5rem}:host-context(tui-root._mobile) :host{padding:1rem;border-radius:1.25rem;text-indent:0}:host ::ng-deep tui-data-list[data-size]{padding:0;margin:-.625rem -.625rem 1rem}:host ::ng-deep tui-items-with-more{text-indent:.5rem}:host-context(tui-root._mobile) :host ::ng-deep tui-items-with-more{display:none}.t-content{display:flex;align-items:center;gap:.7rem 2.5rem}:host-context(tui-root._mobile) .t-content{flex-wrap:wrap}.t-actions{display:flex;justify-content:flex-end;gap:.5rem;margin-inline-start:auto;text-indent:0}:host-context(tui-root._mobile) .t-actions{flex:1}:host-context(tui-root._mobile) .t-actions ::ng-deep [tuiButton]{flex:1}\n"] }]
|
|
36
32
|
}], propDecorators: { expanded: [{
|
|
37
33
|
type: Input
|
|
38
34
|
}], size: [{
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"taiga-ui-kit-components-action-bar.mjs","sources":["../../../projects/kit/components/action-bar/action-bar.component.ts","../../../projects/kit/components/action-bar/action-bar.template.html","../../../projects/kit/components/action-bar/action-bar.directive.ts","../../../projects/kit/components/action-bar/action-bar.ts","../../../projects/kit/components/action-bar/taiga-ui-kit-components-action-bar.ts"],"sourcesContent":["import {ChangeDetectionStrategy, Component,
|
|
1
|
+
{"version":3,"file":"taiga-ui-kit-components-action-bar.mjs","sources":["../../../projects/kit/components/action-bar/action-bar.component.ts","../../../projects/kit/components/action-bar/action-bar.template.html","../../../projects/kit/components/action-bar/action-bar.directive.ts","../../../projects/kit/components/action-bar/action-bar.ts","../../../projects/kit/components/action-bar/taiga-ui-kit-components-action-bar.ts"],"sourcesContent":["import {ChangeDetectionStrategy, Component, Input} from '@angular/core';\nimport {TuiAnimated} from '@taiga-ui/cdk/directives/animated';\nimport {tuiProvide} from '@taiga-ui/cdk/utils/miscellaneous';\nimport type {TuiButtonOptions} from '@taiga-ui/core/components/button';\nimport {TUI_BUTTON_OPTIONS} from '@taiga-ui/core/components/button';\nimport {TuiExpandComponent} from '@taiga-ui/core/components/expand';\nimport {tuiLinkOptionsProvider} from '@taiga-ui/core/components/link';\nimport type {TuiSizeS} from '@taiga-ui/core/types';\n\n@Component({\n standalone: true,\n selector: 'tui-action-bar',\n imports: [TuiExpandComponent],\n templateUrl: './action-bar.template.html',\n styleUrls: ['./action-bar.style.less'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: [\n tuiProvide(TUI_BUTTON_OPTIONS, TuiActionBarComponent),\n tuiLinkOptionsProvider({appearance: 'action-grayscale', pseudo: true}),\n ],\n hostDirectives: [TuiAnimated],\n host: {\n tuiTheme: 'dark',\n '[attr.data-size]': 'size',\n },\n})\nexport class TuiActionBarComponent implements TuiButtonOptions {\n @Input()\n public expanded = false;\n\n @Input()\n public size: TuiSizeS = 'm';\n\n public readonly appearance = 'secondary-grayscale';\n}\n","<tui-expand [expanded]=\"expanded\">\n <ng-content select=\"tui-data-list,[tuiMenu]\" />\n</tui-expand>\n\n<div class=\"t-content\">\n <ng-content />\n\n <div class=\"t-actions\">\n <ng-content select=\"a,button,[tuiAction]\" />\n </div>\n</div>\n","import {Directive} from '@angular/core';\nimport {TuiDropdownPortal} from '@taiga-ui/core/directives/dropdown';\n\n@Directive({\n standalone: true,\n selector: 'ng-template[tuiActionBar]',\n inputs: ['tuiDropdown: tuiActionBar'],\n})\nexport class TuiActionBarDirective extends TuiDropdownPortal {}\n","import {TuiActionBarComponent} from './action-bar.component';\nimport {TuiActionBarDirective} from './action-bar.directive';\n\nexport const TuiActionBar = [TuiActionBarComponent, TuiActionBarDirective] as const;\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
|
|
@@ -1,8 +1,7 @@
|
|
|
1
1
|
import * as i0 from '@angular/core';
|
|
2
2
|
import { inject, Component, ChangeDetectionStrategy, Input } from '@angular/core';
|
|
3
|
-
import
|
|
4
|
-
import {
|
|
5
|
-
import { tuiToAnimationOptions } from '@taiga-ui/core/utils/miscellaneous';
|
|
3
|
+
import * as i1 from '@taiga-ui/cdk/directives/animated';
|
|
4
|
+
import { TuiAnimated } from '@taiga-ui/cdk/directives/animated';
|
|
6
5
|
import { tuiCreateToken, tuiProvideOptions } from '@taiga-ui/cdk/utils/miscellaneous';
|
|
7
6
|
|
|
8
7
|
const TUI_BADGE_NOTIFICATION_DEFAULT_OPTIONS = {
|
|
@@ -15,18 +14,16 @@ function tuiBadgeNotificationOptionsProvider(options) {
|
|
|
15
14
|
|
|
16
15
|
class TuiBadgeNotification {
|
|
17
16
|
constructor() {
|
|
18
|
-
this.options = tuiToAnimationOptions(inject(TUI_ANIMATIONS_SPEED));
|
|
19
17
|
this.size = inject(TUI_BADGE_NOTIFICATION_OPTIONS).size;
|
|
20
18
|
}
|
|
21
19
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: TuiBadgeNotification, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
22
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: TuiBadgeNotification, isStandalone: true, selector: "tui-badge-notification", inputs: { size: "size" }, host: { properties: { "attr.data-size": "size",
|
|
20
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: TuiBadgeNotification, isStandalone: true, selector: "tui-badge-notification", inputs: { size: "size" }, host: { properties: { "attr.data-size": "size" } }, hostDirectives: [{ directive: i1.TuiAnimated }], ngImport: i0, template: '<ng-content />', isInline: true, styles: [":host{--t-size: 1.5rem;position:relative;display:inline-flex;align-items:center;justify-content:center;box-sizing:border-box;color:#fff;border-radius:2rem;white-space:nowrap;overflow:hidden;vertical-align:middle;font:var(--tui-font-text-s);max-inline-size:100%;padding:0 .25rem;background:#f52222;block-size:var(--t-size);min-inline-size:var(--t-size)}:host.tui-enter{animation:tuiScale var(--tui-duration) cubic-bezier(.34,1.56,.64,1)}:host.tui-leave{animation:tuiScale var(--tui-duration) ease-in-out reverse}:host[data-size=m]{--t-size: 1.25rem}:host[data-size=s]{--t-size: 1rem;padding:0 .125rem;font:var(--tui-font-text-xs)}:host[data-size=xs]{--t-size: .375rem;padding:0;font-size:0}:host :host-context([tuiIconButton]){position:absolute;right:25%;top:25%}\n"], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
23
21
|
}
|
|
24
22
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: TuiBadgeNotification, decorators: [{
|
|
25
23
|
type: Component,
|
|
26
|
-
args: [{ standalone: true, selector: 'tui-badge-notification', template: '<ng-content />', changeDetection: ChangeDetectionStrategy.OnPush,
|
|
24
|
+
args: [{ standalone: true, selector: 'tui-badge-notification', template: '<ng-content />', changeDetection: ChangeDetectionStrategy.OnPush, hostDirectives: [TuiAnimated], host: {
|
|
27
25
|
'[attr.data-size]': 'size',
|
|
28
|
-
|
|
29
|
-
}, styles: [":host{--t-size: 1.5rem;position:relative;display:inline-flex;align-items:center;justify-content:center;box-sizing:border-box;color:#fff;border-radius:2rem;white-space:nowrap;overflow:hidden;vertical-align:middle;font:var(--tui-font-text-s);max-inline-size:100%;padding:0 .25rem;background:#f52222;block-size:var(--t-size);min-inline-size:var(--t-size)}:host[data-size=m]{--t-size: 1.25rem}:host[data-size=s]{--t-size: 1rem;padding:0 .125rem;font:var(--tui-font-text-xs)}:host[data-size=xs]{--t-size: .375rem;padding:0;font-size:0}:host :host-context([tuiIconButton]){position:absolute;right:25%;top:25%}\n"] }]
|
|
26
|
+
}, styles: [":host{--t-size: 1.5rem;position:relative;display:inline-flex;align-items:center;justify-content:center;box-sizing:border-box;color:#fff;border-radius:2rem;white-space:nowrap;overflow:hidden;vertical-align:middle;font:var(--tui-font-text-s);max-inline-size:100%;padding:0 .25rem;background:#f52222;block-size:var(--t-size);min-inline-size:var(--t-size)}:host.tui-enter{animation:tuiScale var(--tui-duration) cubic-bezier(.34,1.56,.64,1)}:host.tui-leave{animation:tuiScale var(--tui-duration) ease-in-out reverse}:host[data-size=m]{--t-size: 1.25rem}:host[data-size=s]{--t-size: 1rem;padding:0 .125rem;font:var(--tui-font-text-xs)}:host[data-size=xs]{--t-size: .375rem;padding:0;font-size:0}:host :host-context([tuiIconButton]){position:absolute;right:25%;top:25%}\n"] }]
|
|
30
27
|
}], propDecorators: { size: [{
|
|
31
28
|
type: Input
|
|
32
29
|
}] } });
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"taiga-ui-kit-components-badge-notification.mjs","sources":["../../../projects/kit/components/badge-notification/badge-notification.options.ts","../../../projects/kit/components/badge-notification/badge-notification.component.ts","../../../projects/kit/components/badge-notification/taiga-ui-kit-components-badge-notification.ts"],"sourcesContent":["import type {Provider} from '@angular/core';\nimport {tuiCreateToken, tuiProvideOptions} from '@taiga-ui/cdk/utils/miscellaneous';\nimport type {TuiSizeL, TuiSizeXS} from '@taiga-ui/core/types';\n\nexport interface TuiBadgeNotificationOptions {\n readonly size: TuiSizeL | TuiSizeXS;\n}\n\nexport const TUI_BADGE_NOTIFICATION_DEFAULT_OPTIONS: TuiBadgeNotificationOptions = {\n size: 'm',\n};\n\nexport const TUI_BADGE_NOTIFICATION_OPTIONS = tuiCreateToken(\n TUI_BADGE_NOTIFICATION_DEFAULT_OPTIONS,\n);\n\nexport function tuiBadgeNotificationOptionsProvider(\n options: Partial<TuiBadgeNotificationOptions>,\n): Provider {\n return tuiProvideOptions(\n TUI_BADGE_NOTIFICATION_OPTIONS,\n options,\n TUI_BADGE_NOTIFICATION_DEFAULT_OPTIONS,\n );\n}\n","import {ChangeDetectionStrategy, Component, inject, Input} from '@angular/core';\nimport {
|
|
1
|
+
{"version":3,"file":"taiga-ui-kit-components-badge-notification.mjs","sources":["../../../projects/kit/components/badge-notification/badge-notification.options.ts","../../../projects/kit/components/badge-notification/badge-notification.component.ts","../../../projects/kit/components/badge-notification/taiga-ui-kit-components-badge-notification.ts"],"sourcesContent":["import type {Provider} from '@angular/core';\nimport {tuiCreateToken, tuiProvideOptions} from '@taiga-ui/cdk/utils/miscellaneous';\nimport type {TuiSizeL, TuiSizeXS} from '@taiga-ui/core/types';\n\nexport interface TuiBadgeNotificationOptions {\n readonly size: TuiSizeL | TuiSizeXS;\n}\n\nexport const TUI_BADGE_NOTIFICATION_DEFAULT_OPTIONS: TuiBadgeNotificationOptions = {\n size: 'm',\n};\n\nexport const TUI_BADGE_NOTIFICATION_OPTIONS = tuiCreateToken(\n TUI_BADGE_NOTIFICATION_DEFAULT_OPTIONS,\n);\n\nexport function tuiBadgeNotificationOptionsProvider(\n options: Partial<TuiBadgeNotificationOptions>,\n): Provider {\n return tuiProvideOptions(\n TUI_BADGE_NOTIFICATION_OPTIONS,\n options,\n TUI_BADGE_NOTIFICATION_DEFAULT_OPTIONS,\n );\n}\n","import {ChangeDetectionStrategy, Component, inject, Input} from '@angular/core';\nimport {TuiAnimated} from '@taiga-ui/cdk/directives/animated';\nimport type {TuiSizeL, TuiSizeXS} from '@taiga-ui/core/types';\n\nimport {TUI_BADGE_NOTIFICATION_OPTIONS} from './badge-notification.options';\n\n@Component({\n standalone: true,\n selector: 'tui-badge-notification',\n template: '<ng-content />',\n styleUrls: ['./badge-notification.style.less'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n hostDirectives: [TuiAnimated],\n host: {\n '[attr.data-size]': 'size',\n },\n})\nexport class TuiBadgeNotification {\n @Input()\n public size: TuiSizeL | TuiSizeXS = inject(TUI_BADGE_NOTIFICATION_OPTIONS).size;\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;;;;;AAQa,MAAA,sCAAsC,GAAgC;AAC/E,IAAA,IAAI,EAAE,GAAG;EACX;MAEW,8BAA8B,GAAG,cAAc,CACxD,sCAAsC,EACxC;AAEI,SAAU,mCAAmC,CAC/C,OAA6C,EAAA;IAE7C,OAAO,iBAAiB,CACpB,8BAA8B,EAC9B,OAAO,EACP,sCAAsC,CACzC,CAAC;AACN;;AClBA,MAWa,oBAAoB,CAAA;AAXjC,IAAA,WAAA,GAAA;AAaW,QAAA,IAAA,CAAA,IAAI,GAAyB,MAAM,CAAC,8BAA8B,CAAC,CAAC,IAAI,CAAC;AACnF,KAAA;+GAHY,oBAAoB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA,EAAA;AAApB,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,oBAAoB,iNARnB,gBAAgB,EAAA,QAAA,EAAA,IAAA,EAAA,MAAA,EAAA,CAAA,8vBAAA,CAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,CAAA,CAAA,EAAA;;4FAQjB,oBAAoB,EAAA,UAAA,EAAA,CAAA;kBAXhC,SAAS;AACM,YAAA,IAAA,EAAA,CAAA,EAAA,UAAA,EAAA,IAAI,EACN,QAAA,EAAA,wBAAwB,EACxB,QAAA,EAAA,gBAAgB,EAET,eAAA,EAAA,uBAAuB,CAAC,MAAM,EAC/B,cAAA,EAAA,CAAC,WAAW,CAAC,EACvB,IAAA,EAAA;AACF,wBAAA,kBAAkB,EAAE,MAAM;AAC7B,qBAAA,EAAA,MAAA,EAAA,CAAA,8vBAAA,CAAA,EAAA,CAAA;8BAIM,IAAI,EAAA,CAAA;sBADV,KAAK;;;AClBV;;AAEG;;;;"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { TuiDayRange,
|
|
1
|
+
import { TuiDayRange, TUI_FIRST_DAY, TUI_LAST_DAY, TuiDay, TuiMonth } from '@taiga-ui/cdk/date-time';
|
|
2
2
|
import { __decorate } from 'tslib';
|
|
3
3
|
import { AsyncPipe, NgForOf, NgIf } from '@angular/common';
|
|
4
4
|
import * as i0 from '@angular/core';
|
|
@@ -27,11 +27,17 @@ const calculateDisabledItemHandler = (disabledItemHandler, value, minLength) =>
|
|
|
27
27
|
};
|
|
28
28
|
|
|
29
29
|
const TUI_DAY_CAPS_MAPPER = (current, value, maxLength, backwards) => {
|
|
30
|
-
if (
|
|
30
|
+
if (
|
|
31
|
+
// TODO(v5): replace with `if (!(value instanceof TuiDay) || !maxLength)` (backward compatibility)
|
|
32
|
+
(value instanceof TuiDayRange && !value.isSingleDay) ||
|
|
33
|
+
!value ||
|
|
34
|
+
!maxLength) {
|
|
31
35
|
return backwards ? current || TUI_FIRST_DAY : current || TUI_LAST_DAY;
|
|
32
36
|
}
|
|
33
37
|
const negativeMaxLength = Object.fromEntries(Object.entries(maxLength).map(([key, value]) => [key, -value]));
|
|
34
|
-
|
|
38
|
+
// TODO(v5): `value instanceof TuiDay` always `true`
|
|
39
|
+
const from = value instanceof TuiDay ? value : value.from;
|
|
40
|
+
const dateShift = from
|
|
35
41
|
.append(backwards ? negativeMaxLength : maxLength)
|
|
36
42
|
.append({ day: !backwards ? -1 : 1 });
|
|
37
43
|
if (backwards) {
|
|
@@ -136,13 +142,13 @@ class TuiCalendarRange {
|
|
|
136
142
|
onItemSelect(item) {
|
|
137
143
|
if (!tuiIsString(item)) {
|
|
138
144
|
this.selectedActivePeriod = item;
|
|
139
|
-
this.updateValue(item.range.dayLimit(this.min, this.max));
|
|
140
145
|
this.itemChange.emit(item);
|
|
146
|
+
this.updateValue(item.range.dayLimit(this.min, this.max));
|
|
141
147
|
}
|
|
142
148
|
else if (this.activePeriod !== null) {
|
|
143
149
|
this.selectedActivePeriod = null;
|
|
144
|
-
this.updateValue(null);
|
|
145
150
|
this.itemChange.emit(null);
|
|
151
|
+
this.updateValue(null);
|
|
146
152
|
}
|
|
147
153
|
this.initDefaultViewedMonth();
|
|
148
154
|
}
|
|
@@ -155,8 +161,8 @@ class TuiCalendarRange {
|
|
|
155
161
|
if (this.value instanceof TuiDay) {
|
|
156
162
|
const range = TuiDayRange.sort(this.value, day);
|
|
157
163
|
this.value = range;
|
|
158
|
-
this.updateValue(range);
|
|
159
164
|
this.itemChange.emit(this.findItemByDayRange(range));
|
|
165
|
+
this.updateValue(range);
|
|
160
166
|
}
|
|
161
167
|
else {
|
|
162
168
|
this.value = day;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"taiga-ui-kit-components-calendar-range.mjs","sources":["../../../projects/kit/components/calendar-range/calculate-disabled-item-handler.ts","../../../projects/kit/components/calendar-range/day-caps-mapper.ts","../../../projects/kit/components/calendar-range/calendar-range.component.ts","../../../projects/kit/components/calendar-range/calendar-range.template.html","../../../projects/kit/components/calendar-range/day-range-period.ts","../../../projects/kit/components/calendar-range/taiga-ui-kit-components-calendar-range.ts"],"sourcesContent":["import type {TuiDay, TuiDayLike} from '@taiga-ui/cdk/date-time';\nimport {TuiDayRange} from '@taiga-ui/cdk/date-time';\nimport type {TuiBooleanHandler} from '@taiga-ui/cdk/types';\n\nexport const calculateDisabledItemHandler: (\n disabledItemHandler: TuiBooleanHandler<TuiDay>,\n value: TuiDay | TuiDayRange | null,\n minLength: TuiDayLike | null,\n) => TuiBooleanHandler<TuiDay> = (disabledItemHandler, value, minLength) => (item) => {\n if (!value || value instanceof TuiDayRange || !minLength) {\n return disabledItemHandler(item);\n }\n\n const negativeMinLength = Object.fromEntries(\n Object.entries(minLength).map(([key, value]) => [key, -value]),\n );\n const disabledBefore = value.append(negativeMinLength).append({day: 1});\n const disabledAfter = value.append(minLength).append({day: -1});\n const inDisabledRange =\n disabledBefore.dayBefore(item) && disabledAfter.dayAfter(item);\n\n return inDisabledRange || disabledItemHandler(item);\n};\n","import type {TuiDayLike, TuiDayRange} from '@taiga-ui/cdk/date-time';\nimport {TUI_FIRST_DAY, TUI_LAST_DAY, TuiDay} from '@taiga-ui/cdk/date-time';\nimport type {TuiMapper} from '@taiga-ui/cdk/types';\n\nexport const TUI_DAY_CAPS_MAPPER: TuiMapper<\n [TuiDay | null, TuiDay | TuiDayRange | null, TuiDayLike | null, boolean],\n TuiDay\n> = (current, value, maxLength, backwards) => {\n if (value instanceof TuiDay || !value?.isSingleDay || !maxLength) {\n return backwards ? current || TUI_FIRST_DAY : current || TUI_LAST_DAY;\n }\n\n const negativeMaxLength = Object.fromEntries(\n Object.entries(maxLength).map(([key, value]) => [key, -value]),\n );\n\n const dateShift = value.from\n .append(backwards ? negativeMaxLength : maxLength)\n .append({day: !backwards ? -1 : 1});\n\n if (backwards) {\n return dateShift.dayBefore(current || TUI_FIRST_DAY)\n ? current || TUI_FIRST_DAY\n : dateShift;\n }\n\n if (!current) {\n return dateShift;\n }\n\n return dateShift.dayAfter(current) ? current : dateShift;\n};\n","import {AsyncPipe, NgForOf, NgIf} from '@angular/common';\nimport type {OnChanges, OnInit} from '@angular/core';\nimport {\n ChangeDetectionStrategy,\n Component,\n EventEmitter,\n inject,\n Input,\n Output,\n} from '@angular/core';\nimport {takeUntilDestroyed} from '@angular/core/rxjs-interop';\nimport {TUI_FALSE_HANDLER} from '@taiga-ui/cdk/constants';\nimport type {TuiDayLike} from '@taiga-ui/cdk/date-time';\nimport {\n TUI_FIRST_DAY,\n TUI_LAST_DAY,\n TuiDay,\n TuiDayRange,\n TuiMonth,\n} from '@taiga-ui/cdk/date-time';\nimport {tuiWatch} from '@taiga-ui/cdk/observables';\nimport {TuiMapperPipe} from '@taiga-ui/cdk/pipes/mapper';\nimport type {TuiBooleanHandler, TuiMapper} from '@taiga-ui/cdk/types';\nimport {tuiIsString, tuiNullableSame, tuiPure} from '@taiga-ui/cdk/utils/miscellaneous';\nimport type {TuiMarkerHandler} from '@taiga-ui/core/components/calendar';\nimport {\n TuiCalendar,\n tuiCalendarSheetOptionsProvider,\n} from '@taiga-ui/core/components/calendar';\nimport {TuiDataList} from '@taiga-ui/core/components/data-list';\nimport {TuiIcon} from '@taiga-ui/core/components/icon';\nimport {TUI_COMMON_ICONS} from '@taiga-ui/core/tokens';\nimport {TUI_CALENDAR_DATE_STREAM, TUI_OTHER_DATE_TEXT} from '@taiga-ui/kit/tokens';\nimport type {Observable} from 'rxjs';\n\nimport {calculateDisabledItemHandler} from './calculate-disabled-item-handler';\nimport {TUI_DAY_CAPS_MAPPER} from './day-caps-mapper';\nimport type {TuiDayRangePeriod} from './day-range-period';\n\n@Component({\n standalone: true,\n selector: 'tui-calendar-range',\n imports: [AsyncPipe, NgForOf, NgIf, TuiCalendar, TuiDataList, TuiIcon, TuiMapperPipe],\n templateUrl: './calendar-range.template.html',\n styleUrls: ['./calendar-range.style.less'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: [tuiCalendarSheetOptionsProvider({rangeMode: true})],\n host: {\n '(document:keydown.capture)': 'onEsc($event)',\n },\n})\nexport class TuiCalendarRange implements OnInit, OnChanges {\n /**\n * @deprecated use `item`\n */\n private selectedPeriod: TuiDayRangePeriod | null = null;\n\n protected value: TuiDay | TuiDayRange | null = null;\n protected previousValue: TuiDay | TuiDayRange | null = null;\n protected hoveredItem: TuiDay | null = null;\n protected month: TuiMonth = TuiMonth.currentLocal();\n\n protected readonly otherDateText$ = inject(TUI_OTHER_DATE_TEXT);\n protected readonly icons = inject(TUI_COMMON_ICONS);\n protected readonly capsMapper = TUI_DAY_CAPS_MAPPER;\n\n @Input()\n public disabledItemHandler: TuiBooleanHandler<TuiDay> = TUI_FALSE_HANDLER;\n\n @Input()\n public markerHandler: TuiMarkerHandler | null = null;\n\n @Input()\n public items: readonly TuiDayRangePeriod[] = [];\n\n @Input()\n public min: TuiDay | null = TUI_FIRST_DAY;\n\n @Input()\n public max: TuiDay | null = TUI_LAST_DAY;\n\n @Input()\n public minLength: TuiDayLike | null = null;\n\n @Input()\n public maxLength: TuiDayLike | null = null;\n\n @Input()\n public item: TuiDayRangePeriod | null = null;\n\n @Output()\n public readonly valueChange = new EventEmitter<TuiDayRange | null>();\n\n @Output()\n public readonly itemChange = new EventEmitter<TuiDayRangePeriod | null>();\n\n constructor() {\n inject<Observable<TuiDayRange | null>>(TUI_CALENDAR_DATE_STREAM, {optional: true})\n ?.pipe(tuiWatch(), takeUntilDestroyed())\n .subscribe((value) => {\n this.value = value;\n this.initDefaultViewedMonth();\n });\n }\n\n @Input('value')\n public set valueSetter(value: TuiDayRange | null) {\n this.value = value;\n }\n\n @Input()\n public set defaultViewedMonth(month: TuiMonth) {\n if (!this.value) {\n this.month = month;\n }\n }\n\n public get defaultViewedMonth(): TuiMonth {\n return this.month;\n }\n\n /**\n * @deprecated use `item`\n */\n public get selectedActivePeriod(): TuiDayRangePeriod | null {\n return this.selectedPeriod;\n }\n\n /**\n * @deprecated use `item`\n */\n public set selectedActivePeriod(period: TuiDayRangePeriod | null) {\n this.selectedPeriod = period;\n }\n\n public ngOnChanges(): void {\n if (!this.value) {\n this.initDefaultViewedMonth();\n }\n }\n\n public ngOnInit(): void {\n this.initDefaultViewedMonth();\n }\n\n protected get calculatedDisabledItemHandler(): TuiBooleanHandler<TuiDay> {\n return this.calculateDisabledItemHandler(\n this.disabledItemHandler,\n this.value,\n this.minLength,\n );\n }\n\n protected onEsc(event: KeyboardEvent): void {\n if (event.key !== 'Escape' || !(this.value instanceof TuiDay)) {\n return;\n }\n\n event.stopPropagation();\n this.value = this.previousValue;\n }\n\n protected readonly monthOffset: TuiMapper<[TuiMonth, number], TuiMonth> = (\n value,\n month,\n ) => value.append({month});\n\n protected readonly mapper: TuiMapper<\n [\n readonly TuiDayRangePeriod[],\n TuiDay | null,\n TuiDay | null,\n TuiDayLike | null,\n string | null | undefined,\n ],\n ReadonlyArray<TuiDayRangePeriod | string>\n > = (items, min, max, minLength, otherDateText) => [\n ...items.filter(\n (item) =>\n (minLength === null ||\n item.range.from\n .append(minLength)\n .append({day: -1})\n .daySameOrBefore(item.range.to)) &&\n (min === null || item.range.to.daySameOrAfter(min)) &&\n (max === null || item.range.from.daySameOrBefore(max)),\n ),\n otherDateText || '',\n ];\n\n protected isItemActive(item: TuiDayRangePeriod | string): boolean {\n const {activePeriod} = this;\n\n return (\n (tuiIsString(item) && activePeriod === null) ||\n activePeriod === item ||\n activePeriod?.toString() === item.toString()\n );\n }\n\n protected onItemSelect(item: TuiDayRangePeriod | string): void {\n if (!tuiIsString(item)) {\n this.selectedActivePeriod = item;\n this.updateValue(item.range.dayLimit(this.min, this.max));\n this.itemChange.emit(item);\n } else if (this.activePeriod !== null) {\n this.selectedActivePeriod = null;\n this.updateValue(null);\n this.itemChange.emit(null);\n }\n\n this.initDefaultViewedMonth();\n }\n\n protected onMonthChange(month: TuiMonth): void {\n this.month = month;\n }\n\n protected onDayClick(day: TuiDay): void {\n this.previousValue = this.value;\n this.selectedActivePeriod = null;\n\n if (this.value instanceof TuiDay) {\n const range = TuiDayRange.sort(this.value, day);\n\n this.value = range;\n this.updateValue(range);\n this.itemChange.emit(this.findItemByDayRange(range));\n } else {\n this.value = day;\n }\n }\n\n protected updateValue(value: TuiDayRange | null): void {\n this.value = value;\n this.valueChange.emit(value);\n }\n\n private get activePeriod(): TuiDayRangePeriod | null {\n return (\n this.item ??\n this.selectedActivePeriod ??\n (this.items.find((item) =>\n tuiNullableSame<TuiDayRange>(\n this.value instanceof TuiDay\n ? new TuiDayRange(this.value, this.value)\n : this.value,\n item.range,\n (a, b) =>\n a.from.daySame(b.from.dayLimit(this.min, this.max)) &&\n a.to.daySame(b.to.dayLimit(this.min, this.max)),\n ),\n ) ||\n null)\n );\n }\n\n @tuiPure\n private calculateDisabledItemHandler(\n disabledItemHandler: TuiBooleanHandler<TuiDay>,\n value: TuiDay | TuiDayRange | null,\n minLength: TuiDayLike | null,\n ): TuiBooleanHandler<TuiDay> {\n return calculateDisabledItemHandler(disabledItemHandler, value, minLength);\n }\n\n private initDefaultViewedMonth(): void {\n if (this.value instanceof TuiDay) {\n this.month = this.value;\n } else if (this.value) {\n this.month = this.items.length ? this.value.to : this.value.from;\n } else if (this.max && this.month.monthSameOrAfter(this.max)) {\n this.month = this.items.length ? this.max : this.max.append({month: -1});\n } else if (this.min && this.month.monthSameOrBefore(this.min)) {\n this.month = this.min;\n }\n }\n\n private findItemByDayRange(dayRange: TuiDayRange): TuiDayRangePeriod | null {\n return this.items.find((item) => dayRange.daySame(item.range)) ?? null;\n }\n}\n","<tui-calendar\n automation-id=\"tui-calendar-range__calendar\"\n class=\"t-calendar\"\n [disabledItemHandler]=\"calculatedDisabledItemHandler\"\n [markerHandler]=\"markerHandler\"\n [max]=\"max | tuiMapper: capsMapper : value : maxLength : false\"\n [maxViewedMonth]=\"items.length ? null : (defaultViewedMonth | tuiMapper: monthOffset : -1)\"\n [min]=\"min | tuiMapper: capsMapper : value : maxLength : true\"\n [month]=\"defaultViewedMonth\"\n [showAdjacent]=\"!!items.length\"\n [value]=\"value\"\n [(hoveredItem)]=\"hoveredItem\"\n (dayClick)=\"onDayClick($event)\"\n (monthChange)=\"onMonthChange($event)\"\n (mousedown.prevent.zoneless)=\"(0)\"\n/>\n<tui-calendar\n *ngIf=\"!items.length; else presets\"\n [disabledItemHandler]=\"calculatedDisabledItemHandler\"\n [markerHandler]=\"markerHandler\"\n [max]=\"max | tuiMapper: capsMapper : value : maxLength : false\"\n [min]=\"min | tuiMapper: capsMapper : value : maxLength : true\"\n [minViewedMonth]=\"defaultViewedMonth | tuiMapper: monthOffset : 1\"\n [month]=\"defaultViewedMonth | tuiMapper: monthOffset : 1\"\n [showAdjacent]=\"false\"\n [value]=\"value\"\n [(hoveredItem)]=\"hoveredItem\"\n (dayClick)=\"onDayClick($event)\"\n (monthChange)=\"onMonthChange($event.append({month: -1}))\"\n (mousedown.prevent.zoneless)=\"(0)\"\n/>\n<ng-template #presets>\n <tui-data-list\n automation-id=\"tui-calendar-range__menu\"\n role=\"menu\"\n [style.flex]=\"1\"\n >\n <button\n *ngFor=\"let item of items | tuiMapper: mapper : min : max : minLength : (otherDateText$ | async)\"\n automation-id=\"tui-calendar-range__menu__item\"\n role=\"menuitemradio\"\n tuiOption\n type=\"button\"\n [attr.aria-checked]=\"isItemActive(item)\"\n (click)=\"onItemSelect(item)\"\n (mousedown.prevent.zoneless)=\"(0)\"\n >\n {{ item }}\n <tui-icon\n *ngIf=\"isItemActive(item)\"\n automation-id=\"tui-calendar-range__checkmark\"\n [icon]=\"icons.check\"\n [style.font-size.rem]=\"1\"\n />\n </button>\n </tui-data-list>\n</ng-template>\n","import {TUI_FIRST_DAY, TuiDay, TuiDayRange} from '@taiga-ui/cdk/date-time';\nimport type {TuiContext} from '@taiga-ui/cdk/types';\nimport type {PolymorpheusContent} from '@taiga-ui/polymorpheus';\n\nexport class TuiDayRangePeriod {\n constructor(\n public readonly range: TuiDayRange,\n private readonly name: string,\n public readonly content?: PolymorpheusContent<TuiContext<TuiDayRange>>,\n ) {}\n\n public toString(): string {\n return this.name;\n }\n}\n\nexport function tuiCreateDefaultDayRangePeriods(\n periodTitles: [string, string, string, string, string, string] = [\n 'For all the time',\n 'Today',\n 'Yesterday',\n 'Current week',\n 'Current month',\n 'Previous month',\n ],\n): readonly TuiDayRangePeriod[] {\n const today = TuiDay.currentLocal();\n const yesterday = today.append({day: -1});\n const startOfWeek = today.append({day: -today.dayOfWeek()});\n const endOfWeek = startOfWeek.append({day: 6});\n const startOfMonth = today.append({day: 1 - today.day});\n const endOfMonth = startOfMonth.append({month: 1, day: -1});\n const startOfLastMonth = startOfMonth.append({month: -1});\n\n return [\n new TuiDayRangePeriod(new TuiDayRange(TUI_FIRST_DAY, today), periodTitles[0]),\n new TuiDayRangePeriod(new TuiDayRange(today, today), periodTitles[1]),\n new TuiDayRangePeriod(new TuiDayRange(yesterday, yesterday), periodTitles[2]),\n new TuiDayRangePeriod(new TuiDayRange(startOfWeek, endOfWeek), periodTitles[3]),\n new TuiDayRangePeriod(new TuiDayRange(startOfMonth, endOfMonth), periodTitles[4]),\n new TuiDayRangePeriod(\n new TuiDayRange(startOfLastMonth, startOfMonth.append({day: -1})),\n periodTitles[5],\n ),\n ];\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;;;;;;;;;;;;;;;;AAIa,MAAA,4BAA4B,GAIR,CAAC,mBAAmB,EAAE,KAAK,EAAE,SAAS,KAAK,CAAC,IAAI,KAAI;IACjF,IAAI,CAAC,KAAK,IAAI,KAAK,YAAY,WAAW,IAAI,CAAC,SAAS,EAAE;AACtD,QAAA,OAAO,mBAAmB,CAAC,IAAI,CAAC,CAAC;AACpC,KAAA;AAED,IAAA,MAAM,iBAAiB,GAAG,MAAM,CAAC,WAAW,CACxC,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,EAAE,KAAK,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,KAAK,CAAC,CAAC,CACjE,CAAC;AACF,IAAA,MAAM,cAAc,GAAG,KAAK,CAAC,MAAM,CAAC,iBAAiB,CAAC,CAAC,MAAM,CAAC,EAAC,GAAG,EAAE,CAAC,EAAC,CAAC,CAAC;AACxE,IAAA,MAAM,aAAa,GAAG,KAAK,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,MAAM,CAAC,EAAC,GAAG,EAAE,CAAC,CAAC,EAAC,CAAC,CAAC;AAChE,IAAA,MAAM,eAAe,GACjB,cAAc,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,aAAa,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;AAEnE,IAAA,OAAO,eAAe,IAAI,mBAAmB,CAAC,IAAI,CAAC,CAAC;AACxD;;AClBO,MAAM,mBAAmB,GAG5B,CAAC,OAAO,EAAE,KAAK,EAAE,SAAS,EAAE,SAAS,KAAI;IACzC,IAAI,KAAK,YAAY,MAAM,IAAI,CAAC,KAAK,EAAE,WAAW,IAAI,CAAC,SAAS,EAAE;AAC9D,QAAA,OAAO,SAAS,GAAG,OAAO,IAAI,aAAa,GAAG,OAAO,IAAI,YAAY,CAAC;AACzE,KAAA;AAED,IAAA,MAAM,iBAAiB,GAAG,MAAM,CAAC,WAAW,CACxC,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,EAAE,KAAK,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,KAAK,CAAC,CAAC,CACjE,CAAC;AAEF,IAAA,MAAM,SAAS,GAAG,KAAK,CAAC,IAAI;SACvB,MAAM,CAAC,SAAS,GAAG,iBAAiB,GAAG,SAAS,CAAC;AACjD,SAAA,MAAM,CAAC,EAAC,GAAG,EAAE,CAAC,SAAS,GAAG,CAAC,CAAC,GAAG,CAAC,EAAC,CAAC,CAAC;AAExC,IAAA,IAAI,SAAS,EAAE;AACX,QAAA,OAAO,SAAS,CAAC,SAAS,CAAC,OAAO,IAAI,aAAa,CAAC;cAC9C,OAAO,IAAI,aAAa;cACxB,SAAS,CAAC;AACnB,KAAA;IAED,IAAI,CAAC,OAAO,EAAE;AACV,QAAA,OAAO,SAAS,CAAC;AACpB,KAAA;AAED,IAAA,OAAO,SAAS,CAAC,QAAQ,CAAC,OAAO,CAAC,GAAG,OAAO,GAAG,SAAS,CAAC;AAC7D;;ACQA,MAYa,gBAAgB,CAAA;AA6CzB,IAAA,WAAA,GAAA;AA5CA;;AAEG;QACK,IAAc,CAAA,cAAA,GAA6B,IAAI,CAAC;QAE9C,IAAK,CAAA,KAAA,GAAgC,IAAI,CAAC;QAC1C,IAAa,CAAA,aAAA,GAAgC,IAAI,CAAC;QAClD,IAAW,CAAA,WAAA,GAAkB,IAAI,CAAC;AAClC,QAAA,IAAA,CAAA,KAAK,GAAa,QAAQ,CAAC,YAAY,EAAE,CAAC;AAEjC,QAAA,IAAA,CAAA,cAAc,GAAG,MAAM,CAAC,mBAAmB,CAAC,CAAC;AAC7C,QAAA,IAAA,CAAA,KAAK,GAAG,MAAM,CAAC,gBAAgB,CAAC,CAAC;QACjC,IAAU,CAAA,UAAA,GAAG,mBAAmB,CAAC;QAG7C,IAAmB,CAAA,mBAAA,GAA8B,iBAAiB,CAAC;QAGnE,IAAa,CAAA,aAAA,GAA4B,IAAI,CAAC;QAG9C,IAAK,CAAA,KAAA,GAAiC,EAAE,CAAC;QAGzC,IAAG,CAAA,GAAA,GAAkB,aAAa,CAAC;QAGnC,IAAG,CAAA,GAAA,GAAkB,YAAY,CAAC;QAGlC,IAAS,CAAA,SAAA,GAAsB,IAAI,CAAC;QAGpC,IAAS,CAAA,SAAA,GAAsB,IAAI,CAAC;QAGpC,IAAI,CAAA,IAAA,GAA6B,IAAI,CAAC;AAG7B,QAAA,IAAA,CAAA,WAAW,GAAG,IAAI,YAAY,EAAsB,CAAC;AAGrD,QAAA,IAAA,CAAA,UAAU,GAAG,IAAI,YAAY,EAA4B,CAAC;AAoEvD,QAAA,IAAA,CAAA,WAAW,GAA4C,CACtE,KAAK,EACL,KAAK,KACJ,KAAK,CAAC,MAAM,CAAC,EAAC,KAAK,EAAC,CAAC,CAAC;AAER,QAAA,IAAA,CAAA,MAAM,GASrB,CAAC,KAAK,EAAE,GAAG,EAAE,GAAG,EAAE,SAAS,EAAE,aAAa,KAAK;AAC/C,YAAA,GAAG,KAAK,CAAC,MAAM,CACX,CAAC,IAAI,KACD,CAAC,SAAS,KAAK,IAAI;gBACf,IAAI,CAAC,KAAK,CAAC,IAAI;qBACV,MAAM,CAAC,SAAS,CAAC;AACjB,qBAAA,MAAM,CAAC,EAAC,GAAG,EAAE,CAAC,CAAC,EAAC,CAAC;AACjB,qBAAA,eAAe,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC;AACvC,iBAAC,GAAG,KAAK,IAAI,IAAI,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,cAAc,CAAC,GAAG,CAAC,CAAC;AACnD,iBAAC,GAAG,KAAK,IAAI,IAAI,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,CAAC,CAC7D;AACD,YAAA,aAAa,IAAI,EAAE;SACtB,CAAC;QA3FE,MAAM,CAAiC,wBAAwB,EAAE,EAAC,QAAQ,EAAE,IAAI,EAAC,CAAC;AAC9E,cAAE,IAAI,CAAC,QAAQ,EAAE,EAAE,kBAAkB,EAAE,CAAC;AACvC,aAAA,SAAS,CAAC,CAAC,KAAK,KAAI;AACjB,YAAA,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;YACnB,IAAI,CAAC,sBAAsB,EAAE,CAAC;AAClC,SAAC,CAAC,CAAC;KACV;IAED,IACW,WAAW,CAAC,KAAyB,EAAA;AAC5C,QAAA,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;KACtB;IAED,IACW,kBAAkB,CAAC,KAAe,EAAA;AACzC,QAAA,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE;AACb,YAAA,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;AACtB,SAAA;KACJ;AAED,IAAA,IAAW,kBAAkB,GAAA;QACzB,OAAO,IAAI,CAAC,KAAK,CAAC;KACrB;AAED;;AAEG;AACH,IAAA,IAAW,oBAAoB,GAAA;QAC3B,OAAO,IAAI,CAAC,cAAc,CAAC;KAC9B;AAED;;AAEG;IACH,IAAW,oBAAoB,CAAC,MAAgC,EAAA;AAC5D,QAAA,IAAI,CAAC,cAAc,GAAG,MAAM,CAAC;KAChC;IAEM,WAAW,GAAA;AACd,QAAA,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE;YACb,IAAI,CAAC,sBAAsB,EAAE,CAAC;AACjC,SAAA;KACJ;IAEM,QAAQ,GAAA;QACX,IAAI,CAAC,sBAAsB,EAAE,CAAC;KACjC;AAED,IAAA,IAAc,6BAA6B,GAAA;AACvC,QAAA,OAAO,IAAI,CAAC,4BAA4B,CACpC,IAAI,CAAC,mBAAmB,EACxB,IAAI,CAAC,KAAK,EACV,IAAI,CAAC,SAAS,CACjB,CAAC;KACL;AAES,IAAA,KAAK,CAAC,KAAoB,EAAA;AAChC,QAAA,IAAI,KAAK,CAAC,GAAG,KAAK,QAAQ,IAAI,EAAE,IAAI,CAAC,KAAK,YAAY,MAAM,CAAC,EAAE;YAC3D,OAAO;AACV,SAAA;QAED,KAAK,CAAC,eAAe,EAAE,CAAC;AACxB,QAAA,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,aAAa,CAAC;KACnC;AA8BS,IAAA,YAAY,CAAC,IAAgC,EAAA;AACnD,QAAA,MAAM,EAAC,YAAY,EAAC,GAAG,IAAI,CAAC;QAE5B,QACI,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,YAAY,KAAK,IAAI;AAC3C,YAAA,YAAY,KAAK,IAAI;YACrB,YAAY,EAAE,QAAQ,EAAE,KAAK,IAAI,CAAC,QAAQ,EAAE,EAC9C;KACL;AAES,IAAA,YAAY,CAAC,IAAgC,EAAA;AACnD,QAAA,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,EAAE;AACpB,YAAA,IAAI,CAAC,oBAAoB,GAAG,IAAI,CAAC;AACjC,YAAA,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC,GAAG,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;AAC1D,YAAA,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAC9B,SAAA;AAAM,aAAA,IAAI,IAAI,CAAC,YAAY,KAAK,IAAI,EAAE;AACnC,YAAA,IAAI,CAAC,oBAAoB,GAAG,IAAI,CAAC;AACjC,YAAA,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;AACvB,YAAA,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAC9B,SAAA;QAED,IAAI,CAAC,sBAAsB,EAAE,CAAC;KACjC;AAES,IAAA,aAAa,CAAC,KAAe,EAAA;AACnC,QAAA,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;KACtB;AAES,IAAA,UAAU,CAAC,GAAW,EAAA;AAC5B,QAAA,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC,KAAK,CAAC;AAChC,QAAA,IAAI,CAAC,oBAAoB,GAAG,IAAI,CAAC;AAEjC,QAAA,IAAI,IAAI,CAAC,KAAK,YAAY,MAAM,EAAE;AAC9B,YAAA,MAAM,KAAK,GAAG,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;AAEhD,YAAA,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;AACnB,YAAA,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC;AACxB,YAAA,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,kBAAkB,CAAC,KAAK,CAAC,CAAC,CAAC;AACxD,SAAA;AAAM,aAAA;AACH,YAAA,IAAI,CAAC,KAAK,GAAG,GAAG,CAAC;AACpB,SAAA;KACJ;AAES,IAAA,WAAW,CAAC,KAAyB,EAAA;AAC3C,QAAA,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;AACnB,QAAA,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;KAChC;AAED,IAAA,IAAY,YAAY,GAAA;QACpB,QACI,IAAI,CAAC,IAAI;AACT,YAAA,IAAI,CAAC,oBAAoB;AACzB,aAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,IAAI,KAClB,eAAe,CACX,IAAI,CAAC,KAAK,YAAY,MAAM;kBACtB,IAAI,WAAW,CAAC,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,KAAK,CAAC;AACzC,kBAAE,IAAI,CAAC,KAAK,EAChB,IAAI,CAAC,KAAK,EACV,CAAC,CAAC,EAAE,CAAC,KACD,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,GAAG,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC;gBACnD,CAAC,CAAC,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,QAAQ,CAAC,IAAI,CAAC,GAAG,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,CACtD,CACJ;gBACG,IAAI,CAAC,EACX;KACL;AAGO,IAAA,4BAA4B,CAChC,mBAA8C,EAC9C,KAAkC,EAClC,SAA4B,EAAA;QAE5B,OAAO,4BAA4B,CAAC,mBAAmB,EAAE,KAAK,EAAE,SAAS,CAAC,CAAC;KAC9E;IAEO,sBAAsB,GAAA;AAC1B,QAAA,IAAI,IAAI,CAAC,KAAK,YAAY,MAAM,EAAE;AAC9B,YAAA,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC;AAC3B,SAAA;aAAM,IAAI,IAAI,CAAC,KAAK,EAAE;YACnB,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,EAAE,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC;AACpE,SAAA;AAAM,aAAA,IAAI,IAAI,CAAC,GAAG,IAAI,IAAI,CAAC,KAAK,CAAC,gBAAgB,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE;AAC1D,YAAA,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,GAAG,IAAI,CAAC,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,EAAC,KAAK,EAAE,CAAC,CAAC,EAAC,CAAC,CAAC;AAC5E,SAAA;AAAM,aAAA,IAAI,IAAI,CAAC,GAAG,IAAI,IAAI,CAAC,KAAK,CAAC,iBAAiB,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE;AAC3D,YAAA,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC;AACzB,SAAA;KACJ;AAEO,IAAA,kBAAkB,CAAC,QAAqB,EAAA;QAC5C,OAAO,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,IAAI,KAAK,QAAQ,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,IAAI,IAAI,CAAC;KAC1E;+GArOQ,gBAAgB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA,EAAA;mGAAhB,gBAAgB,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,oBAAA,EAAA,MAAA,EAAA,EAAA,mBAAA,EAAA,qBAAA,EAAA,aAAA,EAAA,eAAA,EAAA,KAAA,EAAA,OAAA,EAAA,GAAA,EAAA,KAAA,EAAA,GAAA,EAAA,KAAA,EAAA,SAAA,EAAA,WAAA,EAAA,SAAA,EAAA,WAAA,EAAA,IAAA,EAAA,MAAA,EAAA,WAAA,EAAA,CAAA,OAAA,EAAA,aAAA,CAAA,EAAA,kBAAA,EAAA,oBAAA,EAAA,EAAA,OAAA,EAAA,EAAA,WAAA,EAAA,aAAA,EAAA,UAAA,EAAA,YAAA,EAAA,EAAA,IAAA,EAAA,EAAA,SAAA,EAAA,EAAA,0BAAA,EAAA,eAAA,EAAA,EAAA,EAAA,SAAA,EALd,CAAC,+BAA+B,CAAC,EAAC,SAAS,EAAE,IAAI,EAAC,CAAC,CAAC,EAAA,aAAA,EAAA,IAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,EC9CnE,ivEAyDA,EDfc,MAAA,EAAA,CAAA,8GAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,MAAA,EAAA,IAAA,EAAA,SAAS,EAAE,IAAA,EAAA,OAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,OAAO,EAAE,QAAA,EAAA,kBAAA,EAAA,MAAA,EAAA,CAAA,SAAA,EAAA,cAAA,EAAA,eAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,IAAI,6FAAE,WAAW,EAAA,QAAA,EAAA,cAAA,EAAA,MAAA,EAAA,CAAA,OAAA,EAAA,qBAAA,EAAA,KAAA,EAAA,KAAA,EAAA,gBAAA,EAAA,gBAAA,EAAA,aAAA,EAAA,cAAA,EAAA,eAAA,EAAA,OAAA,EAAA,aAAA,CAAA,EAAA,OAAA,EAAA,CAAA,UAAA,EAAA,aAAA,EAAA,mBAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,oBAAA,EAAA,QAAA,EAAA,eAAA,EAAA,MAAA,EAAA,CAAA,cAAA,EAAA,MAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,SAAA,EAAA,QAAA,EAAA,oFAAA,EAAA,MAAA,EAAA,CAAA,UAAA,EAAA,OAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAe,OAAO,EAAA,QAAA,EAAA,UAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,YAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,MAAA,EAAA,IAAA,EAAE,aAAa,EAAA,IAAA,EAAA,WAAA,EAAA,CAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,CAAA,CAAA,EAAA;;AAwN5E,UAAA,CAAA;IADP,OAAO;AAOP,CAAA,EAAA,gBAAA,CAAA,SAAA,EAAA,8BAAA,EAAA,IAAA,CAAA,CAAA;4FArNQ,gBAAgB,EAAA,UAAA,EAAA,CAAA;kBAZ5B,SAAS;AACM,YAAA,IAAA,EAAA,CAAA,EAAA,UAAA,EAAA,IAAI,EACN,QAAA,EAAA,oBAAoB,EACrB,OAAA,EAAA,CAAC,SAAS,EAAE,OAAO,EAAE,IAAI,EAAE,WAAW,EAAE,WAAW,EAAE,OAAO,EAAE,aAAa,CAAC,EAGpE,eAAA,EAAA,uBAAuB,CAAC,MAAM,aACpC,CAAC,+BAA+B,CAAC,EAAC,SAAS,EAAE,IAAI,EAAC,CAAC,CAAC,EACzD,IAAA,EAAA;AACF,wBAAA,4BAA4B,EAAE,eAAe;AAChD,qBAAA,EAAA,QAAA,EAAA,ivEAAA,EAAA,MAAA,EAAA,CAAA,8GAAA,CAAA,EAAA,CAAA;0EAkBM,mBAAmB,EAAA,CAAA;sBADzB,KAAK;gBAIC,aAAa,EAAA,CAAA;sBADnB,KAAK;gBAIC,KAAK,EAAA,CAAA;sBADX,KAAK;gBAIC,GAAG,EAAA,CAAA;sBADT,KAAK;gBAIC,GAAG,EAAA,CAAA;sBADT,KAAK;gBAIC,SAAS,EAAA,CAAA;sBADf,KAAK;gBAIC,SAAS,EAAA,CAAA;sBADf,KAAK;gBAIC,IAAI,EAAA,CAAA;sBADV,KAAK;gBAIU,WAAW,EAAA,CAAA;sBAD1B,MAAM;gBAIS,UAAU,EAAA,CAAA;sBADzB,MAAM;gBAaI,WAAW,EAAA,CAAA;sBADrB,KAAK;uBAAC,OAAO,CAAA;gBAMH,kBAAkB,EAAA,CAAA;sBAD5B,KAAK;gBAoJE,4BAA4B,EAAA,EAAA,EAAA,EAAA,CAAA;;ME9P3B,iBAAiB,CAAA;AAC1B,IAAA,WAAA,CACoB,KAAkB,EACjB,IAAY,EACb,OAAsD,EAAA;QAFtD,IAAK,CAAA,KAAA,GAAL,KAAK,CAAa;QACjB,IAAI,CAAA,IAAA,GAAJ,IAAI,CAAQ;QACb,IAAO,CAAA,OAAA,GAAP,OAAO,CAA+C;KACtE;IAEG,QAAQ,GAAA;QACX,OAAO,IAAI,CAAC,IAAI,CAAC;KACpB;AACJ,CAAA;AAEK,SAAU,+BAA+B,CAC3C,YAAiE,GAAA;IAC7D,kBAAkB;IAClB,OAAO;IACP,WAAW;IACX,cAAc;IACd,eAAe;IACf,gBAAgB;AACnB,CAAA,EAAA;AAED,IAAA,MAAM,KAAK,GAAG,MAAM,CAAC,YAAY,EAAE,CAAC;AACpC,IAAA,MAAM,SAAS,GAAG,KAAK,CAAC,MAAM,CAAC,EAAC,GAAG,EAAE,CAAC,CAAC,EAAC,CAAC,CAAC;AAC1C,IAAA,MAAM,WAAW,GAAG,KAAK,CAAC,MAAM,CAAC,EAAC,GAAG,EAAE,CAAC,KAAK,CAAC,SAAS,EAAE,EAAC,CAAC,CAAC;AAC5D,IAAA,MAAM,SAAS,GAAG,WAAW,CAAC,MAAM,CAAC,EAAC,GAAG,EAAE,CAAC,EAAC,CAAC,CAAC;AAC/C,IAAA,MAAM,YAAY,GAAG,KAAK,CAAC,MAAM,CAAC,EAAC,GAAG,EAAE,CAAC,GAAG,KAAK,CAAC,GAAG,EAAC,CAAC,CAAC;AACxD,IAAA,MAAM,UAAU,GAAG,YAAY,CAAC,MAAM,CAAC,EAAC,KAAK,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,CAAC,EAAC,CAAC,CAAC;AAC5D,IAAA,MAAM,gBAAgB,GAAG,YAAY,CAAC,MAAM,CAAC,EAAC,KAAK,EAAE,CAAC,CAAC,EAAC,CAAC,CAAC;IAE1D,OAAO;AACH,QAAA,IAAI,iBAAiB,CAAC,IAAI,WAAW,CAAC,aAAa,EAAE,KAAK,CAAC,EAAE,YAAY,CAAC,CAAC,CAAC,CAAC;AAC7E,QAAA,IAAI,iBAAiB,CAAC,IAAI,WAAW,CAAC,KAAK,EAAE,KAAK,CAAC,EAAE,YAAY,CAAC,CAAC,CAAC,CAAC;AACrE,QAAA,IAAI,iBAAiB,CAAC,IAAI,WAAW,CAAC,SAAS,EAAE,SAAS,CAAC,EAAE,YAAY,CAAC,CAAC,CAAC,CAAC;AAC7E,QAAA,IAAI,iBAAiB,CAAC,IAAI,WAAW,CAAC,WAAW,EAAE,SAAS,CAAC,EAAE,YAAY,CAAC,CAAC,CAAC,CAAC;AAC/E,QAAA,IAAI,iBAAiB,CAAC,IAAI,WAAW,CAAC,YAAY,EAAE,UAAU,CAAC,EAAE,YAAY,CAAC,CAAC,CAAC,CAAC;QACjF,IAAI,iBAAiB,CACjB,IAAI,WAAW,CAAC,gBAAgB,EAAE,YAAY,CAAC,MAAM,CAAC,EAAC,GAAG,EAAE,CAAC,CAAC,EAAC,CAAC,CAAC,EACjE,YAAY,CAAC,CAAC,CAAC,CAClB;KACJ,CAAC;AACN;;AC7CA;;AAEG;;;;"}
|
|
1
|
+
{"version":3,"file":"taiga-ui-kit-components-calendar-range.mjs","sources":["../../../projects/kit/components/calendar-range/calculate-disabled-item-handler.ts","../../../projects/kit/components/calendar-range/day-caps-mapper.ts","../../../projects/kit/components/calendar-range/calendar-range.component.ts","../../../projects/kit/components/calendar-range/calendar-range.template.html","../../../projects/kit/components/calendar-range/day-range-period.ts","../../../projects/kit/components/calendar-range/taiga-ui-kit-components-calendar-range.ts"],"sourcesContent":["import type {TuiDay, TuiDayLike} from '@taiga-ui/cdk/date-time';\nimport {TuiDayRange} from '@taiga-ui/cdk/date-time';\nimport type {TuiBooleanHandler} from '@taiga-ui/cdk/types';\n\nexport const calculateDisabledItemHandler: (\n disabledItemHandler: TuiBooleanHandler<TuiDay>,\n value: TuiDay | TuiDayRange | null,\n minLength: TuiDayLike | null,\n) => TuiBooleanHandler<TuiDay> = (disabledItemHandler, value, minLength) => (item) => {\n if (!value || value instanceof TuiDayRange || !minLength) {\n return disabledItemHandler(item);\n }\n\n const negativeMinLength = Object.fromEntries(\n Object.entries(minLength).map(([key, value]) => [key, -value]),\n );\n const disabledBefore = value.append(negativeMinLength).append({day: 1});\n const disabledAfter = value.append(minLength).append({day: -1});\n const inDisabledRange =\n disabledBefore.dayBefore(item) && disabledAfter.dayAfter(item);\n\n return inDisabledRange || disabledItemHandler(item);\n};\n","import type {TuiDayLike} from '@taiga-ui/cdk/date-time';\nimport {TUI_FIRST_DAY, TUI_LAST_DAY, TuiDay, TuiDayRange} from '@taiga-ui/cdk/date-time';\nimport type {TuiMapper} from '@taiga-ui/cdk/types';\n\nexport const TUI_DAY_CAPS_MAPPER: TuiMapper<\n [TuiDay | null, TuiDay | TuiDayRange | null, TuiDayLike | null, boolean],\n TuiDay\n> = (current, value, maxLength, backwards) => {\n if (\n // TODO(v5): replace with `if (!(value instanceof TuiDay) || !maxLength)` (backward compatibility)\n (value instanceof TuiDayRange && !value.isSingleDay) ||\n !value ||\n !maxLength\n ) {\n return backwards ? current || TUI_FIRST_DAY : current || TUI_LAST_DAY;\n }\n\n const negativeMaxLength = Object.fromEntries(\n Object.entries(maxLength).map(([key, value]) => [key, -value]),\n );\n\n // TODO(v5): `value instanceof TuiDay` always `true`\n const from = value instanceof TuiDay ? value : value.from;\n const dateShift = from\n .append(backwards ? negativeMaxLength : maxLength)\n .append({day: !backwards ? -1 : 1});\n\n if (backwards) {\n return dateShift.dayBefore(current || TUI_FIRST_DAY)\n ? current || TUI_FIRST_DAY\n : dateShift;\n }\n\n if (!current) {\n return dateShift;\n }\n\n return dateShift.dayAfter(current) ? current : dateShift;\n};\n","import {AsyncPipe, NgForOf, NgIf} from '@angular/common';\nimport type {OnChanges, OnInit} from '@angular/core';\nimport {\n ChangeDetectionStrategy,\n Component,\n EventEmitter,\n inject,\n Input,\n Output,\n} from '@angular/core';\nimport {takeUntilDestroyed} from '@angular/core/rxjs-interop';\nimport {TUI_FALSE_HANDLER} from '@taiga-ui/cdk/constants';\nimport type {TuiDayLike} from '@taiga-ui/cdk/date-time';\nimport {\n TUI_FIRST_DAY,\n TUI_LAST_DAY,\n TuiDay,\n TuiDayRange,\n TuiMonth,\n} from '@taiga-ui/cdk/date-time';\nimport {tuiWatch} from '@taiga-ui/cdk/observables';\nimport {TuiMapperPipe} from '@taiga-ui/cdk/pipes/mapper';\nimport type {TuiBooleanHandler, TuiMapper} from '@taiga-ui/cdk/types';\nimport {tuiIsString, tuiNullableSame, tuiPure} from '@taiga-ui/cdk/utils/miscellaneous';\nimport type {TuiMarkerHandler} from '@taiga-ui/core/components/calendar';\nimport {\n TuiCalendar,\n tuiCalendarSheetOptionsProvider,\n} from '@taiga-ui/core/components/calendar';\nimport {TuiDataList} from '@taiga-ui/core/components/data-list';\nimport {TuiIcon} from '@taiga-ui/core/components/icon';\nimport {TUI_COMMON_ICONS} from '@taiga-ui/core/tokens';\nimport {TUI_CALENDAR_DATE_STREAM, TUI_OTHER_DATE_TEXT} from '@taiga-ui/kit/tokens';\nimport type {Observable} from 'rxjs';\n\nimport {calculateDisabledItemHandler} from './calculate-disabled-item-handler';\nimport {TUI_DAY_CAPS_MAPPER} from './day-caps-mapper';\nimport type {TuiDayRangePeriod} from './day-range-period';\n\n@Component({\n standalone: true,\n selector: 'tui-calendar-range',\n imports: [AsyncPipe, NgForOf, NgIf, TuiCalendar, TuiDataList, TuiIcon, TuiMapperPipe],\n templateUrl: './calendar-range.template.html',\n styleUrls: ['./calendar-range.style.less'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: [tuiCalendarSheetOptionsProvider({rangeMode: true})],\n host: {\n '(document:keydown.capture)': 'onEsc($event)',\n },\n})\nexport class TuiCalendarRange implements OnInit, OnChanges {\n /**\n * @deprecated use `item`\n */\n private selectedPeriod: TuiDayRangePeriod | null = null;\n\n protected value: TuiDay | TuiDayRange | null = null;\n protected previousValue: TuiDay | TuiDayRange | null = null;\n protected hoveredItem: TuiDay | null = null;\n protected month: TuiMonth = TuiMonth.currentLocal();\n\n protected readonly otherDateText$ = inject(TUI_OTHER_DATE_TEXT);\n protected readonly icons = inject(TUI_COMMON_ICONS);\n protected readonly capsMapper = TUI_DAY_CAPS_MAPPER;\n\n @Input()\n public disabledItemHandler: TuiBooleanHandler<TuiDay> = TUI_FALSE_HANDLER;\n\n @Input()\n public markerHandler: TuiMarkerHandler | null = null;\n\n @Input()\n public items: readonly TuiDayRangePeriod[] = [];\n\n @Input()\n public min: TuiDay | null = TUI_FIRST_DAY;\n\n @Input()\n public max: TuiDay | null = TUI_LAST_DAY;\n\n @Input()\n public minLength: TuiDayLike | null = null;\n\n @Input()\n public maxLength: TuiDayLike | null = null;\n\n @Input()\n public item: TuiDayRangePeriod | null = null;\n\n @Output()\n public readonly valueChange = new EventEmitter<TuiDayRange | null>();\n\n @Output()\n public readonly itemChange = new EventEmitter<TuiDayRangePeriod | null>();\n\n constructor() {\n inject<Observable<TuiDayRange | null>>(TUI_CALENDAR_DATE_STREAM, {optional: true})\n ?.pipe(tuiWatch(), takeUntilDestroyed())\n .subscribe((value) => {\n this.value = value;\n this.initDefaultViewedMonth();\n });\n }\n\n @Input('value')\n public set valueSetter(value: TuiDayRange | null) {\n this.value = value;\n }\n\n @Input()\n public set defaultViewedMonth(month: TuiMonth) {\n if (!this.value) {\n this.month = month;\n }\n }\n\n public get defaultViewedMonth(): TuiMonth {\n return this.month;\n }\n\n /**\n * @deprecated use `item`\n */\n public get selectedActivePeriod(): TuiDayRangePeriod | null {\n return this.selectedPeriod;\n }\n\n /**\n * @deprecated use `item`\n */\n public set selectedActivePeriod(period: TuiDayRangePeriod | null) {\n this.selectedPeriod = period;\n }\n\n public ngOnChanges(): void {\n if (!this.value) {\n this.initDefaultViewedMonth();\n }\n }\n\n public ngOnInit(): void {\n this.initDefaultViewedMonth();\n }\n\n protected get calculatedDisabledItemHandler(): TuiBooleanHandler<TuiDay> {\n return this.calculateDisabledItemHandler(\n this.disabledItemHandler,\n this.value,\n this.minLength,\n );\n }\n\n protected onEsc(event: KeyboardEvent): void {\n if (event.key !== 'Escape' || !(this.value instanceof TuiDay)) {\n return;\n }\n\n event.stopPropagation();\n this.value = this.previousValue;\n }\n\n protected readonly monthOffset: TuiMapper<[TuiMonth, number], TuiMonth> = (\n value,\n month,\n ) => value.append({month});\n\n protected readonly mapper: TuiMapper<\n [\n readonly TuiDayRangePeriod[],\n TuiDay | null,\n TuiDay | null,\n TuiDayLike | null,\n string | null | undefined,\n ],\n ReadonlyArray<TuiDayRangePeriod | string>\n > = (items, min, max, minLength, otherDateText) => [\n ...items.filter(\n (item) =>\n (minLength === null ||\n item.range.from\n .append(minLength)\n .append({day: -1})\n .daySameOrBefore(item.range.to)) &&\n (min === null || item.range.to.daySameOrAfter(min)) &&\n (max === null || item.range.from.daySameOrBefore(max)),\n ),\n otherDateText || '',\n ];\n\n protected isItemActive(item: TuiDayRangePeriod | string): boolean {\n const {activePeriod} = this;\n\n return (\n (tuiIsString(item) && activePeriod === null) ||\n activePeriod === item ||\n activePeriod?.toString() === item.toString()\n );\n }\n\n protected onItemSelect(item: TuiDayRangePeriod | string): void {\n if (!tuiIsString(item)) {\n this.selectedActivePeriod = item;\n this.itemChange.emit(item);\n this.updateValue(item.range.dayLimit(this.min, this.max));\n } else if (this.activePeriod !== null) {\n this.selectedActivePeriod = null;\n this.itemChange.emit(null);\n this.updateValue(null);\n }\n\n this.initDefaultViewedMonth();\n }\n\n protected onMonthChange(month: TuiMonth): void {\n this.month = month;\n }\n\n protected onDayClick(day: TuiDay): void {\n this.previousValue = this.value;\n this.selectedActivePeriod = null;\n\n if (this.value instanceof TuiDay) {\n const range = TuiDayRange.sort(this.value, day);\n\n this.value = range;\n this.itemChange.emit(this.findItemByDayRange(range));\n this.updateValue(range);\n } else {\n this.value = day;\n }\n }\n\n protected updateValue(value: TuiDayRange | null): void {\n this.value = value;\n this.valueChange.emit(value);\n }\n\n private get activePeriod(): TuiDayRangePeriod | null {\n return (\n this.item ??\n this.selectedActivePeriod ??\n (this.items.find((item) =>\n tuiNullableSame<TuiDayRange>(\n this.value instanceof TuiDay\n ? new TuiDayRange(this.value, this.value)\n : this.value,\n item.range,\n (a, b) =>\n a.from.daySame(b.from.dayLimit(this.min, this.max)) &&\n a.to.daySame(b.to.dayLimit(this.min, this.max)),\n ),\n ) ||\n null)\n );\n }\n\n @tuiPure\n private calculateDisabledItemHandler(\n disabledItemHandler: TuiBooleanHandler<TuiDay>,\n value: TuiDay | TuiDayRange | null,\n minLength: TuiDayLike | null,\n ): TuiBooleanHandler<TuiDay> {\n return calculateDisabledItemHandler(disabledItemHandler, value, minLength);\n }\n\n private initDefaultViewedMonth(): void {\n if (this.value instanceof TuiDay) {\n this.month = this.value;\n } else if (this.value) {\n this.month = this.items.length ? this.value.to : this.value.from;\n } else if (this.max && this.month.monthSameOrAfter(this.max)) {\n this.month = this.items.length ? this.max : this.max.append({month: -1});\n } else if (this.min && this.month.monthSameOrBefore(this.min)) {\n this.month = this.min;\n }\n }\n\n private findItemByDayRange(dayRange: TuiDayRange): TuiDayRangePeriod | null {\n return this.items.find((item) => dayRange.daySame(item.range)) ?? null;\n }\n}\n","<tui-calendar\n automation-id=\"tui-calendar-range__calendar\"\n class=\"t-calendar\"\n [disabledItemHandler]=\"calculatedDisabledItemHandler\"\n [markerHandler]=\"markerHandler\"\n [max]=\"max | tuiMapper: capsMapper : value : maxLength : false\"\n [maxViewedMonth]=\"items.length ? null : (defaultViewedMonth | tuiMapper: monthOffset : -1)\"\n [min]=\"min | tuiMapper: capsMapper : value : maxLength : true\"\n [month]=\"defaultViewedMonth\"\n [showAdjacent]=\"!!items.length\"\n [value]=\"value\"\n [(hoveredItem)]=\"hoveredItem\"\n (dayClick)=\"onDayClick($event)\"\n (monthChange)=\"onMonthChange($event)\"\n (mousedown.prevent.zoneless)=\"(0)\"\n/>\n<tui-calendar\n *ngIf=\"!items.length; else presets\"\n [disabledItemHandler]=\"calculatedDisabledItemHandler\"\n [markerHandler]=\"markerHandler\"\n [max]=\"max | tuiMapper: capsMapper : value : maxLength : false\"\n [min]=\"min | tuiMapper: capsMapper : value : maxLength : true\"\n [minViewedMonth]=\"defaultViewedMonth | tuiMapper: monthOffset : 1\"\n [month]=\"defaultViewedMonth | tuiMapper: monthOffset : 1\"\n [showAdjacent]=\"false\"\n [value]=\"value\"\n [(hoveredItem)]=\"hoveredItem\"\n (dayClick)=\"onDayClick($event)\"\n (monthChange)=\"onMonthChange($event.append({month: -1}))\"\n (mousedown.prevent.zoneless)=\"(0)\"\n/>\n<ng-template #presets>\n <tui-data-list\n automation-id=\"tui-calendar-range__menu\"\n role=\"menu\"\n [style.flex]=\"1\"\n >\n <button\n *ngFor=\"let item of items | tuiMapper: mapper : min : max : minLength : (otherDateText$ | async)\"\n automation-id=\"tui-calendar-range__menu__item\"\n role=\"menuitemradio\"\n tuiOption\n type=\"button\"\n [attr.aria-checked]=\"isItemActive(item)\"\n (click)=\"onItemSelect(item)\"\n (mousedown.prevent.zoneless)=\"(0)\"\n >\n {{ item }}\n <tui-icon\n *ngIf=\"isItemActive(item)\"\n automation-id=\"tui-calendar-range__checkmark\"\n [icon]=\"icons.check\"\n [style.font-size.rem]=\"1\"\n />\n </button>\n </tui-data-list>\n</ng-template>\n","import {TUI_FIRST_DAY, TuiDay, TuiDayRange} from '@taiga-ui/cdk/date-time';\nimport type {TuiContext} from '@taiga-ui/cdk/types';\nimport type {PolymorpheusContent} from '@taiga-ui/polymorpheus';\n\nexport class TuiDayRangePeriod {\n constructor(\n public readonly range: TuiDayRange,\n private readonly name: string,\n public readonly content?: PolymorpheusContent<TuiContext<TuiDayRange>>,\n ) {}\n\n public toString(): string {\n return this.name;\n }\n}\n\nexport function tuiCreateDefaultDayRangePeriods(\n periodTitles: [string, string, string, string, string, string] = [\n 'For all the time',\n 'Today',\n 'Yesterday',\n 'Current week',\n 'Current month',\n 'Previous month',\n ],\n): readonly TuiDayRangePeriod[] {\n const today = TuiDay.currentLocal();\n const yesterday = today.append({day: -1});\n const startOfWeek = today.append({day: -today.dayOfWeek()});\n const endOfWeek = startOfWeek.append({day: 6});\n const startOfMonth = today.append({day: 1 - today.day});\n const endOfMonth = startOfMonth.append({month: 1, day: -1});\n const startOfLastMonth = startOfMonth.append({month: -1});\n\n return [\n new TuiDayRangePeriod(new TuiDayRange(TUI_FIRST_DAY, today), periodTitles[0]),\n new TuiDayRangePeriod(new TuiDayRange(today, today), periodTitles[1]),\n new TuiDayRangePeriod(new TuiDayRange(yesterday, yesterday), periodTitles[2]),\n new TuiDayRangePeriod(new TuiDayRange(startOfWeek, endOfWeek), periodTitles[3]),\n new TuiDayRangePeriod(new TuiDayRange(startOfMonth, endOfMonth), periodTitles[4]),\n new TuiDayRangePeriod(\n new TuiDayRange(startOfLastMonth, startOfMonth.append({day: -1})),\n periodTitles[5],\n ),\n ];\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
|
|
@@ -1,44 +1,41 @@
|
|
|
1
1
|
import * as i0 from '@angular/core';
|
|
2
|
-
import {
|
|
3
|
-
import
|
|
4
|
-
import {
|
|
2
|
+
import { Component, ChangeDetectionStrategy, Input } from '@angular/core';
|
|
3
|
+
import * as i1 from '@taiga-ui/cdk/directives/animated';
|
|
4
|
+
import { TuiAnimated } from '@taiga-ui/cdk/directives/animated';
|
|
5
|
+
import { tuiButtonOptionsProvider } from '@taiga-ui/core/components/button';
|
|
5
6
|
import { TuiScrollbar } from '@taiga-ui/core/components/scrollbar';
|
|
6
|
-
import { TUI_ANIMATIONS_SPEED } from '@taiga-ui/core/tokens';
|
|
7
|
-
import { tuiToAnimationOptions } from '@taiga-ui/core/utils/miscellaneous';
|
|
8
7
|
|
|
9
8
|
class TuiDrawer {
|
|
10
9
|
constructor() {
|
|
11
|
-
this.options = tuiToAnimationOptions(inject(TUI_ANIMATIONS_SPEED));
|
|
12
10
|
this.direction = 'right';
|
|
13
11
|
this.overlay = false;
|
|
14
12
|
}
|
|
15
|
-
get
|
|
16
|
-
return
|
|
13
|
+
get from() {
|
|
14
|
+
return this.direction === 'right' ? 'translateX(100%)' : 'translateX(-100%)';
|
|
17
15
|
}
|
|
18
16
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: TuiDrawer, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
19
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: TuiDrawer, isStandalone: true, selector: "tui-drawer", inputs: { direction: "direction", overlay: "overlay" }, host: { properties: { "
|
|
17
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: TuiDrawer, isStandalone: true, selector: "tui-drawer", inputs: { direction: "direction", overlay: "overlay" }, host: { properties: { "class._overlay": "overlay", "style.border-top-left-radius": "direction === \"left\" ? 0 : null", "style.border-top-right-radius": "direction === \"right\" ? 0 : null", "style.left": "direction === \"left\" ? 0 : null", "style.right": "direction === \"right\" ? 0 : null", "style.--tui-from": "from" } }, providers: [
|
|
20
18
|
tuiButtonOptionsProvider({
|
|
21
19
|
appearance: 'secondary',
|
|
22
20
|
size: 's',
|
|
23
21
|
}),
|
|
24
|
-
], ngImport: i0, template: "<aside class=\"t-aside\">\n <tui-scrollbar class=\"t-scrollbar\">\n <ng-content select=\"header\" />\n <div class=\"t-content\"><ng-content /></div>\n </tui-scrollbar>\n <tui-scrollbar\n class=\"t-footer\"\n [hidden]=\"true\"\n >\n <ng-content select=\"footer\" />\n </tui-scrollbar>\n</aside>\n", styles: [":host{position:fixed;top:3rem;bottom:0;inline-size:36.25rem;max-inline-size:calc(100vw - 3rem);background:var(--tui-background-elevation-1);box-shadow:var(--tui-shadow-medium);border-top-left-radius:1.25rem;border-top-right-radius:1.25rem}:host._overlay:before{transition-property:opacity;transition-duration:var(--tui-duration, .3s);transition-timing-function:ease-in-out;content:\"\";position:fixed;top:-100vh;left:-100vw;right:-100vw;bottom:-100vh;background:var(--tui-service-backdrop);transition-timing-function:ease-out}tui-root:has(tui-dialogs .t-overlay_visible) :host._overlay:before{opacity:0;transition-timing-function:ease-in}.t-aside{position:relative;display:flex;block-size:100%;flex-direction:column;border-radius:inherit;overflow:hidden;background:inherit}.t-scrollbar{flex:1;overscroll-behavior:contain}.t-scrollbar ::ng-deep>.t-content>header{top:0;z-index:1;display:flex;flex-direction:column;gap:.75rem;padding:1.5rem 1.5rem .75rem;box-shadow:inset 0 -1px var(--tui-border-normal);background:var(--tui-background-elevation-1)}.t-scrollbar ::ng-deep>.t-content>header>*{display:flex;gap:.5rem}.t-scrollbar ::ng-deep>.t-content>header>[tuiHeader] [tuiTitle]{font:var(--tui-font-text-xl);font-weight:700}.t-scrollbar ::ng-deep>.t-content>header>[tuiHeader] [tuiSubtitle]{color:var(--tui-text-primary);font:var(--tui-font-text-s)}.t-scrollbar ::ng-deep>.t-content>header>[tuiHeader] [tuiAccessories]{gap:.5rem}.t-scrollbar ::ng-deep>.t-content>header>[tuiHeader] [tuiAccessories] [tuiIconButton][data-appearance=icon]:last-child{margin-inline-start:.25rem}.t-scrollbar ::ng-deep>.t-content>header>[tuiHeader] [tuiAccessories] [tuiIconButton][data-appearance=icon]:last-child:before{font-size:1rem}.t-scrollbar ::ng-deep>.t-content>header>[tuiNavigationNav]{min-block-size:var(--tui-height-m);margin-block-end:-.75rem;padding:0;border-image:none}.t-content{padding:1.25rem 1.5rem}.t-footer ::ng-deep footer{scrollbar-width:none;-ms-overflow-style:none;display:flex;min-inline-size:-webkit-min-content;min-inline-size:min-content;justify-content:flex-end;gap:.75rem;padding:.5rem 1.5rem;box-shadow:inset 0 1px var(--tui-border-normal);background:var(--tui-background-elevation-1)}.t-footer ::ng-deep footer::-webkit-scrollbar,.t-footer ::ng-deep footer::-webkit-scrollbar-thumb{display:none}\n"], dependencies: [{ kind: "component", type: TuiScrollbar, selector: "tui-scrollbar", inputs: ["hidden"] }],
|
|
22
|
+
], hostDirectives: [{ directive: i1.TuiAnimated }], ngImport: i0, template: "<aside class=\"t-aside\">\n <tui-scrollbar class=\"t-scrollbar\">\n <ng-content select=\"header\" />\n <div class=\"t-content\"><ng-content /></div>\n </tui-scrollbar>\n <tui-scrollbar\n class=\"t-footer\"\n [hidden]=\"true\"\n >\n <ng-content select=\"footer\" />\n </tui-scrollbar>\n</aside>\n", styles: [":host{position:fixed;top:3rem;bottom:0;inline-size:36.25rem;max-inline-size:calc(100vw - 3rem);background:var(--tui-background-elevation-1);box-shadow:var(--tui-shadow-medium);border-top-left-radius:1.25rem;border-top-right-radius:1.25rem}:host.tui-enter,:host.tui-leave{animation-name:tuiFade,tuiSlide}:host._overlay:before{transition-property:opacity;transition-duration:var(--tui-duration, .3s);transition-timing-function:ease-in-out;content:\"\";position:fixed;top:-100vh;left:-100vw;right:-100vw;bottom:-100vh;background:var(--tui-service-backdrop);transition-timing-function:ease-out}tui-root:has(tui-dialogs .t-overlay_visible) :host._overlay:before{opacity:0;transition-timing-function:ease-in}.t-aside{position:relative;display:flex;block-size:100%;flex-direction:column;border-radius:inherit;overflow:hidden;background:inherit}.t-scrollbar{flex:1;overscroll-behavior:contain}.t-scrollbar ::ng-deep>.t-content>header{top:0;z-index:1;display:flex;flex-direction:column;gap:.75rem;padding:1.5rem 1.5rem .75rem;box-shadow:inset 0 -1px var(--tui-border-normal);background:var(--tui-background-elevation-1)}.t-scrollbar ::ng-deep>.t-content>header>*{display:flex;gap:.5rem}.t-scrollbar ::ng-deep>.t-content>header>[tuiHeader] [tuiTitle]{font:var(--tui-font-text-xl);font-weight:700}.t-scrollbar ::ng-deep>.t-content>header>[tuiHeader] [tuiSubtitle]{color:var(--tui-text-primary);font:var(--tui-font-text-s)}.t-scrollbar ::ng-deep>.t-content>header>[tuiHeader] [tuiAccessories]{gap:.5rem}.t-scrollbar ::ng-deep>.t-content>header>[tuiHeader] [tuiAccessories] [tuiIconButton][data-appearance=icon]:last-child{margin-inline-start:.25rem}.t-scrollbar ::ng-deep>.t-content>header>[tuiHeader] [tuiAccessories] [tuiIconButton][data-appearance=icon]:last-child:before{font-size:1rem}.t-scrollbar ::ng-deep>.t-content>header>[tuiNavigationNav]{min-block-size:var(--tui-height-m);margin-block-end:-.75rem;padding:0;border-image:none}.t-content{padding:1.25rem 1.5rem}.t-footer ::ng-deep footer{scrollbar-width:none;-ms-overflow-style:none;display:flex;min-inline-size:-webkit-min-content;min-inline-size:min-content;justify-content:flex-end;gap:.75rem;padding:.5rem 1.5rem;box-shadow:inset 0 1px var(--tui-border-normal);background:var(--tui-background-elevation-1)}.t-footer ::ng-deep footer::-webkit-scrollbar,.t-footer ::ng-deep footer::-webkit-scrollbar-thumb{display:none}\n"], dependencies: [{ kind: "component", type: TuiScrollbar, selector: "tui-scrollbar", inputs: ["hidden"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
25
23
|
}
|
|
26
24
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: TuiDrawer, decorators: [{
|
|
27
25
|
type: Component,
|
|
28
|
-
args: [{ standalone: true, selector: 'tui-drawer', imports: [
|
|
26
|
+
args: [{ standalone: true, selector: 'tui-drawer', imports: [TuiScrollbar], changeDetection: ChangeDetectionStrategy.OnPush, providers: [
|
|
29
27
|
tuiButtonOptionsProvider({
|
|
30
28
|
appearance: 'secondary',
|
|
31
29
|
size: 's',
|
|
32
30
|
}),
|
|
33
|
-
],
|
|
34
|
-
'[@tuiFadeIn]': 'options',
|
|
35
|
-
'[@tuiSlideIn]': 'animation',
|
|
31
|
+
], hostDirectives: [TuiAnimated], host: {
|
|
36
32
|
'[class._overlay]': 'overlay',
|
|
37
33
|
'[style.border-top-left-radius]': 'direction === "left" ? 0 : null',
|
|
38
34
|
'[style.border-top-right-radius]': 'direction === "right" ? 0 : null',
|
|
39
35
|
'[style.left]': 'direction === "left" ? 0 : null',
|
|
40
36
|
'[style.right]': 'direction === "right" ? 0 : null',
|
|
41
|
-
|
|
37
|
+
'[style.--tui-from]': 'from',
|
|
38
|
+
}, template: "<aside class=\"t-aside\">\n <tui-scrollbar class=\"t-scrollbar\">\n <ng-content select=\"header\" />\n <div class=\"t-content\"><ng-content /></div>\n </tui-scrollbar>\n <tui-scrollbar\n class=\"t-footer\"\n [hidden]=\"true\"\n >\n <ng-content select=\"footer\" />\n </tui-scrollbar>\n</aside>\n", styles: [":host{position:fixed;top:3rem;bottom:0;inline-size:36.25rem;max-inline-size:calc(100vw - 3rem);background:var(--tui-background-elevation-1);box-shadow:var(--tui-shadow-medium);border-top-left-radius:1.25rem;border-top-right-radius:1.25rem}:host.tui-enter,:host.tui-leave{animation-name:tuiFade,tuiSlide}:host._overlay:before{transition-property:opacity;transition-duration:var(--tui-duration, .3s);transition-timing-function:ease-in-out;content:\"\";position:fixed;top:-100vh;left:-100vw;right:-100vw;bottom:-100vh;background:var(--tui-service-backdrop);transition-timing-function:ease-out}tui-root:has(tui-dialogs .t-overlay_visible) :host._overlay:before{opacity:0;transition-timing-function:ease-in}.t-aside{position:relative;display:flex;block-size:100%;flex-direction:column;border-radius:inherit;overflow:hidden;background:inherit}.t-scrollbar{flex:1;overscroll-behavior:contain}.t-scrollbar ::ng-deep>.t-content>header{top:0;z-index:1;display:flex;flex-direction:column;gap:.75rem;padding:1.5rem 1.5rem .75rem;box-shadow:inset 0 -1px var(--tui-border-normal);background:var(--tui-background-elevation-1)}.t-scrollbar ::ng-deep>.t-content>header>*{display:flex;gap:.5rem}.t-scrollbar ::ng-deep>.t-content>header>[tuiHeader] [tuiTitle]{font:var(--tui-font-text-xl);font-weight:700}.t-scrollbar ::ng-deep>.t-content>header>[tuiHeader] [tuiSubtitle]{color:var(--tui-text-primary);font:var(--tui-font-text-s)}.t-scrollbar ::ng-deep>.t-content>header>[tuiHeader] [tuiAccessories]{gap:.5rem}.t-scrollbar ::ng-deep>.t-content>header>[tuiHeader] [tuiAccessories] [tuiIconButton][data-appearance=icon]:last-child{margin-inline-start:.25rem}.t-scrollbar ::ng-deep>.t-content>header>[tuiHeader] [tuiAccessories] [tuiIconButton][data-appearance=icon]:last-child:before{font-size:1rem}.t-scrollbar ::ng-deep>.t-content>header>[tuiNavigationNav]{min-block-size:var(--tui-height-m);margin-block-end:-.75rem;padding:0;border-image:none}.t-content{padding:1.25rem 1.5rem}.t-footer ::ng-deep footer{scrollbar-width:none;-ms-overflow-style:none;display:flex;min-inline-size:-webkit-min-content;min-inline-size:min-content;justify-content:flex-end;gap:.75rem;padding:.5rem 1.5rem;box-shadow:inset 0 1px var(--tui-border-normal);background:var(--tui-background-elevation-1)}.t-footer ::ng-deep footer::-webkit-scrollbar,.t-footer ::ng-deep footer::-webkit-scrollbar-thumb{display:none}\n"] }]
|
|
42
39
|
}], propDecorators: { direction: [{
|
|
43
40
|
type: Input
|
|
44
41
|
}], overlay: [{
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"taiga-ui-kit-components-drawer.mjs","sources":["../../../projects/kit/components/drawer/drawer.component.ts","../../../projects/kit/components/drawer/drawer.template.html","../../../projects/kit/components/drawer/taiga-ui-kit-components-drawer.ts"],"sourcesContent":["import
|
|
1
|
+
{"version":3,"file":"taiga-ui-kit-components-drawer.mjs","sources":["../../../projects/kit/components/drawer/drawer.component.ts","../../../projects/kit/components/drawer/drawer.template.html","../../../projects/kit/components/drawer/taiga-ui-kit-components-drawer.ts"],"sourcesContent":["import {ChangeDetectionStrategy, Component, Input} from '@angular/core';\nimport {TuiAnimated} from '@taiga-ui/cdk/directives/animated';\nimport {tuiButtonOptionsProvider} from '@taiga-ui/core/components/button';\nimport {TuiScrollbar} from '@taiga-ui/core/components/scrollbar';\nimport type {TuiHorizontalDirection} from '@taiga-ui/core/types';\n\n@Component({\n standalone: true,\n selector: 'tui-drawer',\n imports: [TuiScrollbar],\n templateUrl: './drawer.template.html',\n styleUrls: ['./drawer.style.less'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: [\n tuiButtonOptionsProvider({\n appearance: 'secondary',\n size: 's',\n }),\n ],\n hostDirectives: [TuiAnimated],\n host: {\n '[class._overlay]': 'overlay',\n '[style.border-top-left-radius]': 'direction === \"left\" ? 0 : null',\n '[style.border-top-right-radius]': 'direction === \"right\" ? 0 : null',\n '[style.left]': 'direction === \"left\" ? 0 : null',\n '[style.right]': 'direction === \"right\" ? 0 : null',\n '[style.--tui-from]': 'from',\n },\n})\nexport class TuiDrawer {\n @Input()\n public direction: TuiHorizontalDirection = 'right';\n\n @Input()\n public overlay = false;\n\n public get from(): string {\n return this.direction === 'right' ? 'translateX(100%)' : 'translateX(-100%)';\n }\n}\n","<aside class=\"t-aside\">\n <tui-scrollbar class=\"t-scrollbar\">\n <ng-content select=\"header\" />\n <div class=\"t-content\"><ng-content /></div>\n </tui-scrollbar>\n <tui-scrollbar\n class=\"t-footer\"\n [hidden]=\"true\"\n >\n <ng-content select=\"footer\" />\n </tui-scrollbar>\n</aside>\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;;;;;;AAMA,MAuBa,SAAS,CAAA;AAvBtB,IAAA,WAAA,GAAA;QAyBW,IAAS,CAAA,SAAA,GAA2B,OAAO,CAAC;QAG5C,IAAO,CAAA,OAAA,GAAG,KAAK,CAAC;AAK1B,KAAA;AAHG,IAAA,IAAW,IAAI,GAAA;AACX,QAAA,OAAO,IAAI,CAAC,SAAS,KAAK,OAAO,GAAG,kBAAkB,GAAG,mBAAmB,CAAC;KAChF;+GATQ,SAAS,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA,EAAA;AAAT,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,SAAS,EAhBP,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,YAAA,EAAA,MAAA,EAAA,EAAA,SAAA,EAAA,WAAA,EAAA,OAAA,EAAA,SAAA,EAAA,EAAA,IAAA,EAAA,EAAA,UAAA,EAAA,EAAA,gBAAA,EAAA,SAAA,EAAA,8BAAA,EAAA,mCAAA,EAAA,+BAAA,EAAA,oCAAA,EAAA,YAAA,EAAA,mCAAA,EAAA,aAAA,EAAA,oCAAA,EAAA,kBAAA,EAAA,MAAA,EAAA,EAAA,EAAA,SAAA,EAAA;AACP,YAAA,wBAAwB,CAAC;AACrB,gBAAA,UAAU,EAAE,WAAW;AACvB,gBAAA,IAAI,EAAE,GAAG;aACZ,CAAC;SACL,EClBL,cAAA,EAAA,CAAA,EAAA,SAAA,EAAA,EAAA,CAAA,WAAA,EAAA,CAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,EAAA,2VAYA,83EDHc,YAAY,EAAA,QAAA,EAAA,eAAA,EAAA,MAAA,EAAA,CAAA,QAAA,CAAA,EAAA,CAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,CAAA,CAAA,EAAA;;4FAoBb,SAAS,EAAA,UAAA,EAAA,CAAA;kBAvBrB,SAAS;iCACM,IAAI,EAAA,QAAA,EACN,YAAY,EAAA,OAAA,EACb,CAAC,YAAY,CAAC,EAGN,eAAA,EAAA,uBAAuB,CAAC,MAAM,EACpC,SAAA,EAAA;AACP,wBAAA,wBAAwB,CAAC;AACrB,4BAAA,UAAU,EAAE,WAAW;AACvB,4BAAA,IAAI,EAAE,GAAG;yBACZ,CAAC;qBACL,EACe,cAAA,EAAA,CAAC,WAAW,CAAC,EACvB,IAAA,EAAA;AACF,wBAAA,kBAAkB,EAAE,SAAS;AAC7B,wBAAA,gCAAgC,EAAE,iCAAiC;AACnE,wBAAA,iCAAiC,EAAE,kCAAkC;AACrE,wBAAA,cAAc,EAAE,iCAAiC;AACjD,wBAAA,eAAe,EAAE,kCAAkC;AACnD,wBAAA,oBAAoB,EAAE,MAAM;AAC/B,qBAAA,EAAA,QAAA,EAAA,2VAAA,EAAA,MAAA,EAAA,CAAA,s0EAAA,CAAA,EAAA,CAAA;8BAIM,SAAS,EAAA,CAAA;sBADf,KAAK;gBAIC,OAAO,EAAA,CAAA;sBADb,KAAK;;;AEjCV;;AAEG;;;;"}
|
|
@@ -3,12 +3,13 @@ import { Component, ChangeDetectionStrategy, inject, Directive, ChangeDetectorRe
|
|
|
3
3
|
import { toSignal, takeUntilDestroyed } from '@angular/core/rxjs-interop';
|
|
4
4
|
import { tuiTypedFromEvent } from '@taiga-ui/cdk/observables';
|
|
5
5
|
import { tuiInjectElement, tuiIsCurrentTarget } from '@taiga-ui/cdk/utils/dom';
|
|
6
|
-
import * as i1 from '@taiga-ui/core/directives/hint';
|
|
6
|
+
import * as i1$1 from '@taiga-ui/core/directives/hint';
|
|
7
7
|
import { TuiHintComponent, TUI_HINT_PROVIDERS, TuiHintDirective, TUI_HINT_COMPONENT, TuiHint } from '@taiga-ui/core/directives/hint';
|
|
8
8
|
import { PolymorpheusOutlet } from '@taiga-ui/polymorpheus';
|
|
9
9
|
import { BehaviorSubject, Subject, startWith, pairwise, switchMap, of, filter, map, debounceTime, distinctUntilChanged } from 'rxjs';
|
|
10
10
|
import { tuiCreateToken, tuiProvideOptions } from '@taiga-ui/cdk/utils/miscellaneous';
|
|
11
|
-
import
|
|
11
|
+
import * as i1 from '@taiga-ui/cdk/directives/animated';
|
|
12
|
+
import { TuiAnimated } from '@taiga-ui/cdk/directives/animated';
|
|
12
13
|
import { TuiPositionAccessor, tuiAsPositionAccessor } from '@taiga-ui/core/classes';
|
|
13
14
|
|
|
14
15
|
const TUI_LINE_CLAMP_DEFAULT_OPTIONS = {
|
|
@@ -27,17 +28,17 @@ class TuiLineClampBox extends TuiHintComponent {
|
|
|
27
28
|
return this.accessor.getClientRect().width;
|
|
28
29
|
}
|
|
29
30
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: TuiLineClampBox, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
|
|
30
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: TuiLineClampBox, isStandalone: true, selector: "tui-line-clamp-box", host: { properties: { "style.min-width.px": "width" } }, providers: TUI_HINT_PROVIDERS, usesInheritance: true, ngImport: i0, template: `
|
|
31
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: TuiLineClampBox, isStandalone: true, selector: "tui-line-clamp-box", host: { properties: { "style.min-width.px": "width" } }, providers: TUI_HINT_PROVIDERS, usesInheritance: true, hostDirectives: [{ directive: i1.TuiAnimated }], ngImport: i0, template: `
|
|
31
32
|
<ng-container *polymorpheusOutlet="content() as text">{{ text }}</ng-container>
|
|
32
|
-
`, isInline: true, styles: [":host{position:absolute;box-shadow:var(--tui-shadow-medium);inline-size:-webkit-min-content;inline-size:min-content;padding:.75rem 1rem;margin-left:calc(-1px - 1rem);margin-top:calc(-1px - .75rem);border-radius:var(--tui-radius-l);box-sizing:content-box;border:1px solid var(--tui-border-normal);background:var(--tui-background-base);color:var(--tui-text-primary);overflow-wrap:break-word}\n"], dependencies: [{ kind: "directive", type: PolymorpheusOutlet, selector: "[polymorpheusOutlet]", inputs: ["polymorpheusOutlet", "polymorpheusOutletContext"] }],
|
|
33
|
+
`, isInline: true, styles: [":host{position:absolute;box-shadow:var(--tui-shadow-medium);inline-size:-webkit-min-content;inline-size:min-content;padding:.75rem 1rem;margin-left:calc(-1px - 1rem);margin-top:calc(-1px - .75rem);border-radius:var(--tui-radius-l);box-sizing:content-box;border:1px solid var(--tui-border-normal);background:var(--tui-background-base);color:var(--tui-text-primary);overflow-wrap:break-word}:host.tui-enter,:host.tui-leave{animation-name:tuiFade}\n"], dependencies: [{ kind: "directive", type: PolymorpheusOutlet, selector: "[polymorpheusOutlet]", inputs: ["polymorpheusOutlet", "polymorpheusOutletContext"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
33
34
|
}
|
|
34
35
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: TuiLineClampBox, decorators: [{
|
|
35
36
|
type: Component,
|
|
36
37
|
args: [{ standalone: true, selector: 'tui-line-clamp-box', imports: [PolymorpheusOutlet], template: `
|
|
37
38
|
<ng-container *polymorpheusOutlet="content() as text">{{ text }}</ng-container>
|
|
38
|
-
`, changeDetection: ChangeDetectionStrategy.OnPush, providers: TUI_HINT_PROVIDERS,
|
|
39
|
+
`, changeDetection: ChangeDetectionStrategy.OnPush, providers: TUI_HINT_PROVIDERS, hostDirectives: [TuiAnimated], host: {
|
|
39
40
|
'[style.min-width.px]': 'width',
|
|
40
|
-
}, styles: [":host{position:absolute;box-shadow:var(--tui-shadow-medium);inline-size:-webkit-min-content;inline-size:min-content;padding:.75rem 1rem;margin-left:calc(-1px - 1rem);margin-top:calc(-1px - .75rem);border-radius:var(--tui-radius-l);box-sizing:content-box;border:1px solid var(--tui-border-normal);background:var(--tui-background-base);color:var(--tui-text-primary);overflow-wrap:break-word}\n"] }]
|
|
41
|
+
}, styles: [":host{position:absolute;box-shadow:var(--tui-shadow-medium);inline-size:-webkit-min-content;inline-size:min-content;padding:.75rem 1rem;margin-left:calc(-1px - 1rem);margin-top:calc(-1px - .75rem);border-radius:var(--tui-radius-l);box-sizing:content-box;border:1px solid var(--tui-border-normal);background:var(--tui-background-base);color:var(--tui-text-primary);overflow-wrap:break-word}:host.tui-enter,:host.tui-leave{animation-name:tuiFade}\n"] }]
|
|
41
42
|
}] });
|
|
42
43
|
|
|
43
44
|
class TuiLineClampPositionDirective extends TuiPositionAccessor {
|
|
@@ -114,7 +115,7 @@ class TuiLineClamp {
|
|
|
114
115
|
provide: TUI_HINT_COMPONENT,
|
|
115
116
|
useValue: TuiLineClampBox,
|
|
116
117
|
},
|
|
117
|
-
], viewQueries: [{ propertyName: "outlet", first: true, predicate: TuiHintDirective, descendants: true, read: ElementRef }], ngImport: i0, template: "<div\n tuiLineClampPosition\n class=\"t-wrapper\"\n [style.-webkit-line-clamp]=\"lineClamp()\"\n [style.word-break]=\"lineClamp() > 1 ? 'break-word' : 'break-all'\"\n [tuiHint]=\"computedContent\"\n>\n <ng-container *polymorpheusOutlet=\"content as text\">{{ text }}</ng-container>\n</div>\n", styles: [":host{position:relative;display:block;overflow:hidden}:host._initialized{transition-property:max-height;transition-duration:var(--tui-duration, .3s);transition-timing-function:ease-in-out}.t-wrapper{display:-webkit-box;-webkit-box-orient:vertical;overflow:hidden;overflow-wrap:anywhere}\n"], dependencies: [{ kind: "directive", type: PolymorpheusOutlet, selector: "[polymorpheusOutlet]", inputs: ["polymorpheusOutlet", "polymorpheusOutletContext"] }, { kind: "directive", type: i1.TuiHintDirective, selector: "[tuiHint]:not(ng-container):not(ng-template)", inputs: ["tuiHintContext", "tuiHintAppearance", "tuiHint"] }, { kind: "directive", type: TuiLineClampPositionDirective, selector: "[tuiLineClampPosition]" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
118
|
+
], viewQueries: [{ propertyName: "outlet", first: true, predicate: TuiHintDirective, descendants: true, read: ElementRef }], ngImport: i0, template: "<div\n tuiLineClampPosition\n class=\"t-wrapper\"\n [style.-webkit-line-clamp]=\"lineClamp()\"\n [style.word-break]=\"lineClamp() > 1 ? 'break-word' : 'break-all'\"\n [tuiHint]=\"computedContent\"\n>\n <ng-container *polymorpheusOutlet=\"content as text\">{{ text }}</ng-container>\n</div>\n", styles: [":host{position:relative;display:block;overflow:hidden}:host._initialized{transition-property:max-height;transition-duration:var(--tui-duration, .3s);transition-timing-function:ease-in-out}.t-wrapper{display:-webkit-box;-webkit-box-orient:vertical;overflow:hidden;overflow-wrap:anywhere}\n"], dependencies: [{ kind: "directive", type: PolymorpheusOutlet, selector: "[polymorpheusOutlet]", inputs: ["polymorpheusOutlet", "polymorpheusOutletContext"] }, { kind: "directive", type: i1$1.TuiHintDirective, selector: "[tuiHint]:not(ng-container):not(ng-template)", inputs: ["tuiHintContext", "tuiHintAppearance", "tuiHint"] }, { kind: "directive", type: TuiLineClampPositionDirective, selector: "[tuiLineClampPosition]" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
118
119
|
}
|
|
119
120
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: TuiLineClamp, decorators: [{
|
|
120
121
|
type: Component,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"taiga-ui-kit-components-line-clamp.mjs","sources":["../../../projects/kit/components/line-clamp/line-clamp.options.ts","../../../projects/kit/components/line-clamp/line-clamp-box.component.ts","../../../projects/kit/components/line-clamp/line-clamp-position.directive.ts","../../../projects/kit/components/line-clamp/line-clamp.component.ts","../../../projects/kit/components/line-clamp/line-clamp.template.html","../../../projects/kit/components/line-clamp/taiga-ui-kit-components-line-clamp.ts"],"sourcesContent":["import type {Provider} from '@angular/core';\nimport {tuiCreateToken, tuiProvideOptions} from '@taiga-ui/cdk/utils/miscellaneous';\n\nexport interface TuiLineClampOptions {\n readonly showHint: boolean;\n}\n\nexport const TUI_LINE_CLAMP_DEFAULT_OPTIONS: TuiLineClampOptions = {\n showHint: true,\n};\n\n/**\n * Default parameters for LineClamp component\n */\nexport const TUI_LINE_CLAMP_OPTIONS = tuiCreateToken(TUI_LINE_CLAMP_DEFAULT_OPTIONS);\n\nexport function tuiLineClampOptionsProvider(\n options: Partial<TuiLineClampOptions>,\n): Provider {\n return tuiProvideOptions(\n TUI_LINE_CLAMP_OPTIONS,\n options,\n TUI_LINE_CLAMP_DEFAULT_OPTIONS,\n );\n}\n","import {ChangeDetectionStrategy, Component} from '@angular/core';\nimport {tuiFadeIn} from '@taiga-ui/core/animations';\nimport {TUI_HINT_PROVIDERS, TuiHintComponent} from '@taiga-ui/core/directives/hint';\nimport {PolymorpheusOutlet} from '@taiga-ui/polymorpheus';\n\n@Component({\n standalone: true,\n selector: 'tui-line-clamp-box',\n imports: [PolymorpheusOutlet],\n template: `\n <ng-container *polymorpheusOutlet=\"content() as text\">{{ text }}</ng-container>\n `,\n styleUrls: ['./line-clamp-box.style.less'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: TUI_HINT_PROVIDERS,\n animations: [tuiFadeIn],\n host: {\n '[style.min-width.px]': 'width',\n },\n})\nexport class TuiLineClampBox extends TuiHintComponent {\n protected get width(): number {\n return this.accessor.getClientRect().width;\n }\n}\n","import {Directive, inject} from '@angular/core';\nimport type {TuiRectAccessor} from '@taiga-ui/core/classes';\nimport {tuiAsPositionAccessor, TuiPositionAccessor} from '@taiga-ui/core/classes';\nimport {TuiHintDirective} from '@taiga-ui/core/directives/hint';\nimport type {TuiPoint} from '@taiga-ui/core/types';\n\n@Directive({\n standalone: true,\n selector: '[tuiLineClampPosition]',\n providers: [tuiAsPositionAccessor(TuiLineClampPositionDirective)],\n})\nexport class TuiLineClampPositionDirective extends TuiPositionAccessor {\n private readonly accessor = inject<TuiRectAccessor>(TuiHintDirective);\n public readonly type = 'hint';\n\n public getPosition(): TuiPoint {\n const {top, left} = this.accessor.getClientRect();\n\n return [top, left];\n }\n}\n","import type {AfterViewInit, DoCheck} from '@angular/core';\nimport {\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n ElementRef,\n inject,\n Input,\n Output,\n signal,\n ViewChild,\n} from '@angular/core';\nimport {takeUntilDestroyed, toSignal} from '@angular/core/rxjs-interop';\nimport {tuiTypedFromEvent} from '@taiga-ui/cdk/observables';\nimport {tuiInjectElement, tuiIsCurrentTarget} from '@taiga-ui/cdk/utils/dom';\nimport {\n TUI_HINT_COMPONENT,\n TuiHint,\n TuiHintDirective,\n} from '@taiga-ui/core/directives/hint';\nimport type {PolymorpheusContent} from '@taiga-ui/polymorpheus';\nimport {PolymorpheusOutlet} from '@taiga-ui/polymorpheus';\nimport type {Observable} from 'rxjs';\nimport {\n BehaviorSubject,\n debounceTime,\n distinctUntilChanged,\n filter,\n map,\n of,\n pairwise,\n startWith,\n Subject,\n switchMap,\n} from 'rxjs';\n\nimport {TUI_LINE_CLAMP_OPTIONS} from './line-clamp.options';\nimport {TuiLineClampBox} from './line-clamp-box.component';\nimport {TuiLineClampPositionDirective} from './line-clamp-position.directive';\n\n@Component({\n standalone: true,\n selector: 'tui-line-clamp',\n imports: [PolymorpheusOutlet, TuiHint, TuiLineClampPositionDirective],\n templateUrl: './line-clamp.template.html',\n styleUrls: ['./line-clamp.style.less'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: [\n {\n provide: TUI_HINT_COMPONENT,\n useValue: TuiLineClampBox,\n },\n ],\n host: {\n '[style.height.px]': 'height()',\n '[style.max-height.px]': 'maxHeight()',\n '[class._initialized]': 'initialized()',\n '(transitionend)': 'updateView()',\n '(mouseenter)': 'updateView()',\n '(resize)': 'updateView()',\n },\n})\nexport class TuiLineClamp implements DoCheck, AfterViewInit {\n @ViewChild(TuiHintDirective, {read: ElementRef})\n private readonly outlet?: ElementRef<HTMLElement>;\n\n private readonly options = inject(TUI_LINE_CLAMP_OPTIONS);\n private readonly el = tuiInjectElement();\n private readonly cd = inject(ChangeDetectorRef);\n private readonly linesLimit$ = new BehaviorSubject(1);\n private readonly isOverflown$ = new Subject<boolean>();\n protected initialized = signal(false);\n protected maxHeight = signal(0);\n protected height = signal(0);\n\n protected lineClamp = toSignal(\n this.linesLimit$.pipe(\n startWith(1),\n pairwise(),\n switchMap(([prev, next]) =>\n next >= prev\n ? of(next)\n : tuiTypedFromEvent(this.el, 'transitionend').pipe(\n filter(tuiIsCurrentTarget),\n map(() => next),\n ),\n ),\n takeUntilDestroyed(),\n ),\n {initialValue: 0},\n );\n\n @Input()\n public lineHeight = 24;\n\n @Input()\n public content: PolymorpheusContent;\n\n @Output()\n public readonly overflownChange: Observable<boolean> = this.isOverflown$.pipe(\n debounceTime(0),\n distinctUntilChanged(),\n );\n\n @Input()\n public set linesLimit(linesLimit: number) {\n this.linesLimit$.next(linesLimit);\n }\n\n public ngDoCheck(): void {\n this.update();\n this.isOverflown$.next(this.overflown);\n }\n\n public ngAfterViewInit(): void {\n this.initialized.set(true);\n }\n\n protected get overflown(): boolean {\n if (!this.outlet) {\n return false;\n }\n\n const {scrollHeight, scrollWidth} = this.outlet.nativeElement;\n const {clientWidth} = this.el;\n\n return scrollHeight > this.maxHeight() || scrollWidth > clientWidth;\n }\n\n protected get computedContent(): PolymorpheusContent {\n return this.options.showHint && this.overflown ? this.content : '';\n }\n\n protected updateView(): void {\n this.cd.detectChanges();\n }\n\n private update(): void {\n if (this.outlet) {\n this.height.set(this.outlet.nativeElement.scrollHeight);\n }\n\n this.maxHeight.set(this.lineHeight * this.linesLimit$.value);\n }\n}\n","<div\n tuiLineClampPosition\n class=\"t-wrapper\"\n [style.-webkit-line-clamp]=\"lineClamp()\"\n [style.word-break]=\"lineClamp() > 1 ? 'break-word' : 'break-all'\"\n [tuiHint]=\"computedContent\"\n>\n <ng-container *polymorpheusOutlet=\"content as text\">{{ text }}</ng-container>\n</div>\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-kit-components-line-clamp.mjs","sources":["../../../projects/kit/components/line-clamp/line-clamp.options.ts","../../../projects/kit/components/line-clamp/line-clamp-box.component.ts","../../../projects/kit/components/line-clamp/line-clamp-position.directive.ts","../../../projects/kit/components/line-clamp/line-clamp.component.ts","../../../projects/kit/components/line-clamp/line-clamp.template.html","../../../projects/kit/components/line-clamp/taiga-ui-kit-components-line-clamp.ts"],"sourcesContent":["import type {Provider} from '@angular/core';\nimport {tuiCreateToken, tuiProvideOptions} from '@taiga-ui/cdk/utils/miscellaneous';\n\nexport interface TuiLineClampOptions {\n readonly showHint: boolean;\n}\n\nexport const TUI_LINE_CLAMP_DEFAULT_OPTIONS: TuiLineClampOptions = {\n showHint: true,\n};\n\n/**\n * Default parameters for LineClamp component\n */\nexport const TUI_LINE_CLAMP_OPTIONS = tuiCreateToken(TUI_LINE_CLAMP_DEFAULT_OPTIONS);\n\nexport function tuiLineClampOptionsProvider(\n options: Partial<TuiLineClampOptions>,\n): Provider {\n return tuiProvideOptions(\n TUI_LINE_CLAMP_OPTIONS,\n options,\n TUI_LINE_CLAMP_DEFAULT_OPTIONS,\n );\n}\n","import {ChangeDetectionStrategy, Component} from '@angular/core';\nimport {TuiAnimated} from '@taiga-ui/cdk/directives/animated';\nimport {TUI_HINT_PROVIDERS, TuiHintComponent} from '@taiga-ui/core/directives/hint';\nimport {PolymorpheusOutlet} from '@taiga-ui/polymorpheus';\n\n@Component({\n standalone: true,\n selector: 'tui-line-clamp-box',\n imports: [PolymorpheusOutlet],\n template: `\n <ng-container *polymorpheusOutlet=\"content() as text\">{{ text }}</ng-container>\n `,\n styleUrls: ['./line-clamp-box.style.less'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: TUI_HINT_PROVIDERS,\n hostDirectives: [TuiAnimated],\n host: {\n '[style.min-width.px]': 'width',\n },\n})\nexport class TuiLineClampBox extends TuiHintComponent {\n protected get width(): number {\n return this.accessor.getClientRect().width;\n }\n}\n","import {Directive, inject} from '@angular/core';\nimport type {TuiRectAccessor} from '@taiga-ui/core/classes';\nimport {tuiAsPositionAccessor, TuiPositionAccessor} from '@taiga-ui/core/classes';\nimport {TuiHintDirective} from '@taiga-ui/core/directives/hint';\nimport type {TuiPoint} from '@taiga-ui/core/types';\n\n@Directive({\n standalone: true,\n selector: '[tuiLineClampPosition]',\n providers: [tuiAsPositionAccessor(TuiLineClampPositionDirective)],\n})\nexport class TuiLineClampPositionDirective extends TuiPositionAccessor {\n private readonly accessor = inject<TuiRectAccessor>(TuiHintDirective);\n public readonly type = 'hint';\n\n public getPosition(): TuiPoint {\n const {top, left} = this.accessor.getClientRect();\n\n return [top, left];\n }\n}\n","import type {AfterViewInit, DoCheck} from '@angular/core';\nimport {\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n ElementRef,\n inject,\n Input,\n Output,\n signal,\n ViewChild,\n} from '@angular/core';\nimport {takeUntilDestroyed, toSignal} from '@angular/core/rxjs-interop';\nimport {tuiTypedFromEvent} from '@taiga-ui/cdk/observables';\nimport {tuiInjectElement, tuiIsCurrentTarget} from '@taiga-ui/cdk/utils/dom';\nimport {\n TUI_HINT_COMPONENT,\n TuiHint,\n TuiHintDirective,\n} from '@taiga-ui/core/directives/hint';\nimport type {PolymorpheusContent} from '@taiga-ui/polymorpheus';\nimport {PolymorpheusOutlet} from '@taiga-ui/polymorpheus';\nimport type {Observable} from 'rxjs';\nimport {\n BehaviorSubject,\n debounceTime,\n distinctUntilChanged,\n filter,\n map,\n of,\n pairwise,\n startWith,\n Subject,\n switchMap,\n} from 'rxjs';\n\nimport {TUI_LINE_CLAMP_OPTIONS} from './line-clamp.options';\nimport {TuiLineClampBox} from './line-clamp-box.component';\nimport {TuiLineClampPositionDirective} from './line-clamp-position.directive';\n\n@Component({\n standalone: true,\n selector: 'tui-line-clamp',\n imports: [PolymorpheusOutlet, TuiHint, TuiLineClampPositionDirective],\n templateUrl: './line-clamp.template.html',\n styleUrls: ['./line-clamp.style.less'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: [\n {\n provide: TUI_HINT_COMPONENT,\n useValue: TuiLineClampBox,\n },\n ],\n host: {\n '[style.height.px]': 'height()',\n '[style.max-height.px]': 'maxHeight()',\n '[class._initialized]': 'initialized()',\n '(transitionend)': 'updateView()',\n '(mouseenter)': 'updateView()',\n '(resize)': 'updateView()',\n },\n})\nexport class TuiLineClamp implements DoCheck, AfterViewInit {\n @ViewChild(TuiHintDirective, {read: ElementRef})\n private readonly outlet?: ElementRef<HTMLElement>;\n\n private readonly options = inject(TUI_LINE_CLAMP_OPTIONS);\n private readonly el = tuiInjectElement();\n private readonly cd = inject(ChangeDetectorRef);\n private readonly linesLimit$ = new BehaviorSubject(1);\n private readonly isOverflown$ = new Subject<boolean>();\n protected initialized = signal(false);\n protected maxHeight = signal(0);\n protected height = signal(0);\n\n protected lineClamp = toSignal(\n this.linesLimit$.pipe(\n startWith(1),\n pairwise(),\n switchMap(([prev, next]) =>\n next >= prev\n ? of(next)\n : tuiTypedFromEvent(this.el, 'transitionend').pipe(\n filter(tuiIsCurrentTarget),\n map(() => next),\n ),\n ),\n takeUntilDestroyed(),\n ),\n {initialValue: 0},\n );\n\n @Input()\n public lineHeight = 24;\n\n @Input()\n public content: PolymorpheusContent;\n\n @Output()\n public readonly overflownChange: Observable<boolean> = this.isOverflown$.pipe(\n debounceTime(0),\n distinctUntilChanged(),\n );\n\n @Input()\n public set linesLimit(linesLimit: number) {\n this.linesLimit$.next(linesLimit);\n }\n\n public ngDoCheck(): void {\n this.update();\n this.isOverflown$.next(this.overflown);\n }\n\n public ngAfterViewInit(): void {\n this.initialized.set(true);\n }\n\n protected get overflown(): boolean {\n if (!this.outlet) {\n return false;\n }\n\n const {scrollHeight, scrollWidth} = this.outlet.nativeElement;\n const {clientWidth} = this.el;\n\n return scrollHeight > this.maxHeight() || scrollWidth > clientWidth;\n }\n\n protected get computedContent(): PolymorpheusContent {\n return this.options.showHint && this.overflown ? this.content : '';\n }\n\n protected updateView(): void {\n this.cd.detectChanges();\n }\n\n private update(): void {\n if (this.outlet) {\n this.height.set(this.outlet.nativeElement.scrollHeight);\n }\n\n this.maxHeight.set(this.lineHeight * this.linesLimit$.value);\n }\n}\n","<div\n tuiLineClampPosition\n class=\"t-wrapper\"\n [style.-webkit-line-clamp]=\"lineClamp()\"\n [style.word-break]=\"lineClamp() > 1 ? 'break-word' : 'break-all'\"\n [tuiHint]=\"computedContent\"\n>\n <ng-container *polymorpheusOutlet=\"content as text\">{{ text }}</ng-container>\n</div>\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
|