@taiga-ui/kit 4.27.1 → 4.28.0-canary.68de1f3
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/calendar-month/calendar-month.component.d.ts +11 -9
- package/components/data-list-wrapper/data-list-group-wrapper.component.d.ts +1 -1
- package/components/index.d.ts +1 -0
- package/components/input-month/index.d.ts +4 -0
- package/components/input-month/input-month.d.ts +4 -0
- package/components/input-month/input-month.directive.d.ts +23 -0
- package/components/input-month/input-month.options.d.ts +7 -0
- package/components/input-month/native-month-picker/native-month-picker.component.d.ts +15 -0
- package/components/push/push.component.d.ts +2 -1
- package/esm2022/components/calendar-month/calendar-month.component.mjs +37 -36
- package/esm2022/components/chip/chip.directive.mjs +2 -2
- package/esm2022/components/data-list-wrapper/data-list-group-wrapper.component.mjs +1 -1
- package/esm2022/components/index.mjs +2 -1
- package/esm2022/components/input-month/index.mjs +5 -0
- package/esm2022/components/input-month/input-month.directive.mjs +81 -0
- package/esm2022/components/input-month/input-month.mjs +9 -0
- package/esm2022/components/input-month/input-month.options.mjs +6 -0
- package/esm2022/components/input-month/native-month-picker/native-month-picker.component.mjs +54 -0
- package/esm2022/components/input-month/taiga-ui-kit-components-input-month.mjs +5 -0
- package/esm2022/components/push/push-alert.component.mjs +2 -2
- package/esm2022/components/push/push.component.mjs +8 -3
- package/esm2022/tokens/index.mjs +2 -1
- package/esm2022/tokens/month-formatter.mjs +11 -0
- package/fesm2022/taiga-ui-kit-components-calendar-month.mjs +37 -36
- package/fesm2022/taiga-ui-kit-components-calendar-month.mjs.map +1 -1
- package/fesm2022/taiga-ui-kit-components-chip.mjs +2 -2
- package/fesm2022/taiga-ui-kit-components-chip.mjs.map +1 -1
- package/fesm2022/taiga-ui-kit-components-data-list-wrapper.mjs.map +1 -1
- package/fesm2022/taiga-ui-kit-components-input-month.mjs +145 -0
- package/fesm2022/taiga-ui-kit-components-input-month.mjs.map +1 -0
- package/fesm2022/taiga-ui-kit-components-push.mjs +8 -3
- package/fesm2022/taiga-ui-kit-components-push.mjs.map +1 -1
- package/fesm2022/taiga-ui-kit-components.mjs +1 -0
- package/fesm2022/taiga-ui-kit-components.mjs.map +1 -1
- package/fesm2022/taiga-ui-kit-tokens.mjs +9 -1
- package/fesm2022/taiga-ui-kit-tokens.mjs.map +1 -1
- package/package.json +62 -56
- package/styles/components/chip.less +5 -1
- package/tokens/index.d.ts +1 -0
- package/tokens/month-formatter.d.ts +4 -0
|
@@ -0,0 +1,81 @@
|
|
|
1
|
+
import { computed, Directive, effect, inject } from '@angular/core';
|
|
2
|
+
import { toSignal } from '@angular/core/rxjs-interop';
|
|
3
|
+
import { tuiAsControl, TuiControl } from '@taiga-ui/cdk/classes';
|
|
4
|
+
import { TUI_ALLOW_SIGNAL_WRITES } from '@taiga-ui/cdk/constants';
|
|
5
|
+
import { TUI_IS_MOBILE } from '@taiga-ui/cdk/tokens';
|
|
6
|
+
import { tuiInjectElement, tuiValueBinding } from '@taiga-ui/cdk/utils/dom';
|
|
7
|
+
import { tuiDirectiveBinding } from '@taiga-ui/cdk/utils/miscellaneous';
|
|
8
|
+
import { TUI_TEXTFIELD_OPTIONS, tuiInjectAuxiliary, TuiWithTextfield, } from '@taiga-ui/core/components/textfield';
|
|
9
|
+
import { TUI_DROPDOWN_OPTIONS, tuiDropdownOpen } from '@taiga-ui/core/directives/dropdown';
|
|
10
|
+
import { TuiIcons } from '@taiga-ui/core/directives/icons';
|
|
11
|
+
import { TuiCalendarMonth } from '@taiga-ui/kit/components/calendar-month';
|
|
12
|
+
import { TUI_MONTH_FORMATTER } from '@taiga-ui/kit/tokens';
|
|
13
|
+
import { TUI_INPUT_MONTH_OPTIONS } from './input-month.options';
|
|
14
|
+
import * as i0 from "@angular/core";
|
|
15
|
+
import * as i1 from "@taiga-ui/core/components/textfield";
|
|
16
|
+
class TuiInputMonthDirective extends TuiControl {
|
|
17
|
+
constructor() {
|
|
18
|
+
super();
|
|
19
|
+
this.options = inject(TUI_INPUT_MONTH_OPTIONS);
|
|
20
|
+
this.textfieldOptions = inject(TUI_TEXTFIELD_OPTIONS);
|
|
21
|
+
this.open = tuiDropdownOpen();
|
|
22
|
+
this.formatter = toSignal(inject(TUI_MONTH_FORMATTER), {
|
|
23
|
+
initialValue: () => '',
|
|
24
|
+
});
|
|
25
|
+
this.textfieldValue = tuiValueBinding(computed(() => this.formatter()(this.value())));
|
|
26
|
+
this.icon = tuiDirectiveBinding(TuiIcons, 'iconEnd', computed(() => this.options.icon(this.textfieldOptions.size())), {});
|
|
27
|
+
this.calendarSync = effect(() => {
|
|
28
|
+
this.calendar()?.value.set(this.value());
|
|
29
|
+
}, TUI_ALLOW_SIGNAL_WRITES);
|
|
30
|
+
this.onMonthClickEffect = effect((onCleanup) => {
|
|
31
|
+
const subscription = this.calendar()?.monthClick.subscribe((month) => {
|
|
32
|
+
this.onChange(month);
|
|
33
|
+
this.open.set(false);
|
|
34
|
+
});
|
|
35
|
+
onCleanup(() => subscription?.unsubscribe());
|
|
36
|
+
});
|
|
37
|
+
this.calendar = tuiInjectAuxiliary((x) => x instanceof TuiCalendarMonth);
|
|
38
|
+
this.nativePickerEnabled = tuiInjectElement().type === 'month' && inject(TUI_IS_MOBILE);
|
|
39
|
+
/**
|
|
40
|
+
* Update directive props with new defaults before inputs are processed
|
|
41
|
+
* TODO: find better way to override TuiDropdownFixed host directive from TuiTextfieldComponent
|
|
42
|
+
*/
|
|
43
|
+
inject(TUI_DROPDOWN_OPTIONS).limitWidth = 'auto';
|
|
44
|
+
}
|
|
45
|
+
setDisabledState() {
|
|
46
|
+
super.setDisabledState();
|
|
47
|
+
this.open.set(false);
|
|
48
|
+
}
|
|
49
|
+
toggleDropdown() {
|
|
50
|
+
if (this.interactive() && !this.nativePickerEnabled) {
|
|
51
|
+
this.open.update((x) => !x);
|
|
52
|
+
}
|
|
53
|
+
}
|
|
54
|
+
clear() {
|
|
55
|
+
this.onChange(null);
|
|
56
|
+
if (!this.nativePickerEnabled) {
|
|
57
|
+
this.open.set(true);
|
|
58
|
+
}
|
|
59
|
+
}
|
|
60
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: TuiInputMonthDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
|
|
61
|
+
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.2.12", type: TuiInputMonthDirective, isStandalone: true, selector: "input[tuiInputMonth]", host: { attributes: { "inputmode": "none" }, listeners: { "click": "toggleDropdown()", "blur": "onTouched()", "beforeinput": "$event.inputType.includes(\"delete\") || $event.preventDefault()", "input": "$event.inputType?.includes(\"delete\") && clear()" }, properties: { "disabled": "disabled()" } }, providers: [tuiAsControl(TuiInputMonthDirective)], usesInheritance: true, hostDirectives: [{ directive: i1.TuiWithTextfield }], ngImport: i0 }); }
|
|
62
|
+
}
|
|
63
|
+
export { TuiInputMonthDirective };
|
|
64
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: TuiInputMonthDirective, decorators: [{
|
|
65
|
+
type: Directive,
|
|
66
|
+
args: [{
|
|
67
|
+
standalone: true,
|
|
68
|
+
selector: 'input[tuiInputMonth]',
|
|
69
|
+
providers: [tuiAsControl(TuiInputMonthDirective)],
|
|
70
|
+
hostDirectives: [TuiWithTextfield],
|
|
71
|
+
host: {
|
|
72
|
+
inputmode: 'none',
|
|
73
|
+
'[disabled]': 'disabled()',
|
|
74
|
+
'(click)': 'toggleDropdown()',
|
|
75
|
+
'(blur)': 'onTouched()',
|
|
76
|
+
'(beforeinput)': '$event.inputType.includes("delete") || $event.preventDefault()',
|
|
77
|
+
'(input)': '$event.inputType?.includes("delete") && clear()',
|
|
78
|
+
},
|
|
79
|
+
}]
|
|
80
|
+
}], ctorParameters: function () { return []; } });
|
|
81
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5wdXQtbW9udGguZGlyZWN0aXZlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMva2l0L2NvbXBvbmVudHMvaW5wdXQtbW9udGgvaW5wdXQtbW9udGguZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyxRQUFRLEVBQUUsU0FBUyxFQUFFLE1BQU0sRUFBRSxNQUFNLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFDbEUsT0FBTyxFQUFDLFFBQVEsRUFBQyxNQUFNLDRCQUE0QixDQUFDO0FBQ3BELE9BQU8sRUFBQyxZQUFZLEVBQUUsVUFBVSxFQUFDLE1BQU0sdUJBQXVCLENBQUM7QUFDL0QsT0FBTyxFQUFDLHVCQUF1QixFQUFDLE1BQU0seUJBQXlCLENBQUM7QUFFaEUsT0FBTyxFQUFDLGFBQWEsRUFBQyxNQUFNLHNCQUFzQixDQUFDO0FBQ25ELE9BQU8sRUFBQyxnQkFBZ0IsRUFBRSxlQUFlLEVBQUMsTUFBTSx5QkFBeUIsQ0FBQztBQUMxRSxPQUFPLEVBQUMsbUJBQW1CLEVBQUMsTUFBTSxtQ0FBbUMsQ0FBQztBQUN0RSxPQUFPLEVBQ0gscUJBQXFCLEVBQ3JCLGtCQUFrQixFQUNsQixnQkFBZ0IsR0FDbkIsTUFBTSxxQ0FBcUMsQ0FBQztBQUM3QyxPQUFPLEVBQUMsb0JBQW9CLEVBQUUsZUFBZSxFQUFDLE1BQU0sb0NBQW9DLENBQUM7QUFDekYsT0FBTyxFQUFDLFFBQVEsRUFBQyxNQUFNLGlDQUFpQyxDQUFDO0FBQ3pELE9BQU8sRUFBQyxnQkFBZ0IsRUFBQyxNQUFNLHlDQUF5QyxDQUFDO0FBQ3pFLE9BQU8sRUFBQyxtQkFBbUIsRUFBQyxNQUFNLHNCQUFzQixDQUFDO0FBRXpELE9BQU8sRUFBQyx1QkFBdUIsRUFBQyxNQUFNLHVCQUF1QixDQUFDOzs7QUFFOUQsTUFjYSxzQkFBdUIsU0FBUSxVQUEyQjtJQXlDbkU7UUFDSSxLQUFLLEVBQUUsQ0FBQztRQXpDSyxZQUFPLEdBQUcsTUFBTSxDQUFDLHVCQUF1QixDQUFDLENBQUM7UUFDMUMscUJBQWdCLEdBQUcsTUFBTSxDQUFDLHFCQUFxQixDQUFDLENBQUM7UUFFakQsU0FBSSxHQUFHLGVBQWUsRUFBRSxDQUFDO1FBRXpCLGNBQVMsR0FBRyxRQUFRLENBQUMsTUFBTSxDQUFDLG1CQUFtQixDQUFDLEVBQUU7WUFDL0QsWUFBWSxFQUFFLEdBQUcsRUFBRSxDQUFDLEVBQUU7U0FDekIsQ0FBQyxDQUFDO1FBRWdCLG1CQUFjLEdBQUcsZUFBZSxDQUMvQyxRQUFRLENBQUMsR0FBRyxFQUFFLENBQUMsSUFBSSxDQUFDLFNBQVMsRUFBRSxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsQ0FBQyxDQUFDLENBQ2pELENBQUM7UUFFaUIsU0FBSSxHQUFHLG1CQUFtQixDQUN6QyxRQUFRLEVBQ1IsU0FBUyxFQUNULFFBQVEsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsSUFBSSxFQUFFLENBQUMsQ0FBQyxFQUMvRCxFQUFFLENBQ0wsQ0FBQztRQUVpQixpQkFBWSxHQUFHLE1BQU0sQ0FBQyxHQUFHLEVBQUU7WUFDMUMsSUFBSSxDQUFDLFFBQVEsRUFBRSxFQUFFLEtBQUssQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLEtBQUssRUFBRSxDQUFDLENBQUM7UUFDN0MsQ0FBQyxFQUFFLHVCQUF1QixDQUFDLENBQUM7UUFFbEIsdUJBQWtCLEdBQUcsTUFBTSxDQUFDLENBQUMsU0FBUyxFQUFFLEVBQUU7WUFDaEQsTUFBTSxZQUFZLEdBQUcsSUFBSSxDQUFDLFFBQVEsRUFBRSxFQUFFLFVBQVUsQ0FBQyxTQUFTLENBQUMsQ0FBQyxLQUFLLEVBQUUsRUFBRTtnQkFDakUsSUFBSSxDQUFDLFFBQVEsQ0FBQyxLQUFLLENBQUMsQ0FBQztnQkFDckIsSUFBSSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUFDLENBQUM7WUFDekIsQ0FBQyxDQUFDLENBQUM7WUFFSCxTQUFTLENBQUMsR0FBRyxFQUFFLENBQUMsWUFBWSxFQUFFLFdBQVcsRUFBRSxDQUFDLENBQUM7UUFDakQsQ0FBQyxDQUFDLENBQUM7UUFFYSxhQUFRLEdBQUcsa0JBQWtCLENBQ3pDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLFlBQVksZ0JBQWdCLENBQ3ZDLENBQUM7UUFFYyx3QkFBbUIsR0FDL0IsZ0JBQWdCLEVBQW9CLENBQUMsSUFBSSxLQUFLLE9BQU8sSUFBSSxNQUFNLENBQUMsYUFBYSxDQUFDLENBQUM7UUFLL0U7OztXQUdHO1FBQ0YsTUFBTSxDQUFDLG9CQUFvQixDQUFTLENBQUMsVUFBVSxHQUFHLE1BQU0sQ0FBQztJQUM5RCxDQUFDO0lBRWUsZ0JBQWdCO1FBQzVCLEtBQUssQ0FBQyxnQkFBZ0IsRUFBRSxDQUFDO1FBQ3pCLElBQUksQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQ3pCLENBQUM7SUFFUyxjQUFjO1FBQ3BCLElBQUksSUFBSSxDQUFDLFdBQVcsRUFBRSxJQUFJLENBQUMsSUFBSSxDQUFDLG1CQUFtQixFQUFFO1lBQ2pELElBQUksQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO1NBQy9CO0lBQ0wsQ0FBQztJQUVTLEtBQUs7UUFDWCxJQUFJLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxDQUFDO1FBRXBCLElBQUksQ0FBQyxJQUFJLENBQUMsbUJBQW1CLEVBQUU7WUFDM0IsSUFBSSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLENBQUM7U0FDdkI7SUFDTCxDQUFDOytHQXBFUSxzQkFBc0I7bUdBQXRCLHNCQUFzQixnWEFYcEIsQ0FBQyxZQUFZLENBQUMsc0JBQXNCLENBQUMsQ0FBQzs7U0FXeEMsc0JBQXNCOzRGQUF0QixzQkFBc0I7a0JBZGxDLFNBQVM7bUJBQUM7b0JBQ1AsVUFBVSxFQUFFLElBQUk7b0JBQ2hCLFFBQVEsRUFBRSxzQkFBc0I7b0JBQ2hDLFNBQVMsRUFBRSxDQUFDLFlBQVksd0JBQXdCLENBQUM7b0JBQ2pELGNBQWMsRUFBRSxDQUFDLGdCQUFnQixDQUFDO29CQUNsQyxJQUFJLEVBQUU7d0JBQ0YsU0FBUyxFQUFFLE1BQU07d0JBQ2pCLFlBQVksRUFBRSxZQUFZO3dCQUMxQixTQUFTLEVBQUUsa0JBQWtCO3dCQUM3QixRQUFRLEVBQUUsYUFBYTt3QkFDdkIsZUFBZSxFQUFFLGdFQUFnRTt3QkFDakYsU0FBUyxFQUFFLGlEQUFpRDtxQkFDL0Q7aUJBQ0oiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge2NvbXB1dGVkLCBEaXJlY3RpdmUsIGVmZmVjdCwgaW5qZWN0fSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7dG9TaWduYWx9IGZyb20gJ0Bhbmd1bGFyL2NvcmUvcnhqcy1pbnRlcm9wJztcbmltcG9ydCB7dHVpQXNDb250cm9sLCBUdWlDb250cm9sfSBmcm9tICdAdGFpZ2EtdWkvY2RrL2NsYXNzZXMnO1xuaW1wb3J0IHtUVUlfQUxMT1dfU0lHTkFMX1dSSVRFU30gZnJvbSAnQHRhaWdhLXVpL2Nkay9jb25zdGFudHMnO1xuaW1wb3J0IHR5cGUge1R1aU1vbnRofSBmcm9tICdAdGFpZ2EtdWkvY2RrL2RhdGUtdGltZSc7XG5pbXBvcnQge1RVSV9JU19NT0JJTEV9IGZyb20gJ0B0YWlnYS11aS9jZGsvdG9rZW5zJztcbmltcG9ydCB7dHVpSW5qZWN0RWxlbWVudCwgdHVpVmFsdWVCaW5kaW5nfSBmcm9tICdAdGFpZ2EtdWkvY2RrL3V0aWxzL2RvbSc7XG5pbXBvcnQge3R1aURpcmVjdGl2ZUJpbmRpbmd9IGZyb20gJ0B0YWlnYS11aS9jZGsvdXRpbHMvbWlzY2VsbGFuZW91cyc7XG5pbXBvcnQge1xuICAgIFRVSV9URVhURklFTERfT1BUSU9OUyxcbiAgICB0dWlJbmplY3RBdXhpbGlhcnksXG4gICAgVHVpV2l0aFRleHRmaWVsZCxcbn0gZnJvbSAnQHRhaWdhLXVpL2NvcmUvY29tcG9uZW50cy90ZXh0ZmllbGQnO1xuaW1wb3J0IHtUVUlfRFJPUERPV05fT1BUSU9OUywgdHVpRHJvcGRvd25PcGVufSBmcm9tICdAdGFpZ2EtdWkvY29yZS9kaXJlY3RpdmVzL2Ryb3Bkb3duJztcbmltcG9ydCB7VHVpSWNvbnN9IGZyb20gJ0B0YWlnYS11aS9jb3JlL2RpcmVjdGl2ZXMvaWNvbnMnO1xuaW1wb3J0IHtUdWlDYWxlbmRhck1vbnRofSBmcm9tICdAdGFpZ2EtdWkva2l0L2NvbXBvbmVudHMvY2FsZW5kYXItbW9udGgnO1xuaW1wb3J0IHtUVUlfTU9OVEhfRk9STUFUVEVSfSBmcm9tICdAdGFpZ2EtdWkva2l0L3Rva2Vucyc7XG5cbmltcG9ydCB7VFVJX0lOUFVUX01PTlRIX09QVElPTlN9IGZyb20gJy4vaW5wdXQtbW9udGgub3B0aW9ucyc7XG5cbkBEaXJlY3RpdmUoe1xuICAgIHN0YW5kYWxvbmU6IHRydWUsXG4gICAgc2VsZWN0b3I6ICdpbnB1dFt0dWlJbnB1dE1vbnRoXScsXG4gICAgcHJvdmlkZXJzOiBbdHVpQXNDb250cm9sKFR1aUlucHV0TW9udGhEaXJlY3RpdmUpXSxcbiAgICBob3N0RGlyZWN0aXZlczogW1R1aVdpdGhUZXh0ZmllbGRdLFxuICAgIGhvc3Q6IHtcbiAgICAgICAgaW5wdXRtb2RlOiAnbm9uZScsXG4gICAgICAgICdbZGlzYWJsZWRdJzogJ2Rpc2FibGVkKCknLFxuICAgICAgICAnKGNsaWNrKSc6ICd0b2dnbGVEcm9wZG93bigpJyxcbiAgICAgICAgJyhibHVyKSc6ICdvblRvdWNoZWQoKScsXG4gICAgICAgICcoYmVmb3JlaW5wdXQpJzogJyRldmVudC5pbnB1dFR5cGUuaW5jbHVkZXMoXCJkZWxldGVcIikgfHwgJGV2ZW50LnByZXZlbnREZWZhdWx0KCknLFxuICAgICAgICAnKGlucHV0KSc6ICckZXZlbnQuaW5wdXRUeXBlPy5pbmNsdWRlcyhcImRlbGV0ZVwiKSAmJiBjbGVhcigpJyxcbiAgICB9LFxufSlcbmV4cG9ydCBjbGFzcyBUdWlJbnB1dE1vbnRoRGlyZWN0aXZlIGV4dGVuZHMgVHVpQ29udHJvbDxUdWlNb250aCB8IG51bGw+IHtcbiAgICBwcml2YXRlIHJlYWRvbmx5IG9wdGlvbnMgPSBpbmplY3QoVFVJX0lOUFVUX01PTlRIX09QVElPTlMpO1xuICAgIHByaXZhdGUgcmVhZG9ubHkgdGV4dGZpZWxkT3B0aW9ucyA9IGluamVjdChUVUlfVEVYVEZJRUxEX09QVElPTlMpO1xuXG4gICAgcHJpdmF0ZSByZWFkb25seSBvcGVuID0gdHVpRHJvcGRvd25PcGVuKCk7XG5cbiAgICBwcml2YXRlIHJlYWRvbmx5IGZvcm1hdHRlciA9IHRvU2lnbmFsKGluamVjdChUVUlfTU9OVEhfRk9STUFUVEVSKSwge1xuICAgICAgICBpbml0aWFsVmFsdWU6ICgpID0+ICcnLFxuICAgIH0pO1xuXG4gICAgcHJvdGVjdGVkIHJlYWRvbmx5IHRleHRmaWVsZFZhbHVlID0gdHVpVmFsdWVCaW5kaW5nKFxuICAgICAgICBjb21wdXRlZCgoKSA9PiB0aGlzLmZvcm1hdHRlcigpKHRoaXMudmFsdWUoKSkpLFxuICAgICk7XG5cbiAgICBwcm90ZWN0ZWQgcmVhZG9ubHkgaWNvbiA9IHR1aURpcmVjdGl2ZUJpbmRpbmcoXG4gICAgICAgIFR1aUljb25zLFxuICAgICAgICAnaWNvbkVuZCcsXG4gICAgICAgIGNvbXB1dGVkKCgpID0+IHRoaXMub3B0aW9ucy5pY29uKHRoaXMudGV4dGZpZWxkT3B0aW9ucy5zaXplKCkpKSxcbiAgICAgICAge30sXG4gICAgKTtcblxuICAgIHByb3RlY3RlZCByZWFkb25seSBjYWxlbmRhclN5bmMgPSBlZmZlY3QoKCkgPT4ge1xuICAgICAgICB0aGlzLmNhbGVuZGFyKCk/LnZhbHVlLnNldCh0aGlzLnZhbHVlKCkpO1xuICAgIH0sIFRVSV9BTExPV19TSUdOQUxfV1JJVEVTKTtcblxuICAgIHByb3RlY3RlZCBvbk1vbnRoQ2xpY2tFZmZlY3QgPSBlZmZlY3QoKG9uQ2xlYW51cCkgPT4ge1xuICAgICAgICBjb25zdCBzdWJzY3JpcHRpb24gPSB0aGlzLmNhbGVuZGFyKCk/Lm1vbnRoQ2xpY2suc3Vic2NyaWJlKChtb250aCkgPT4ge1xuICAgICAgICAgICAgdGhpcy5vbkNoYW5nZShtb250aCk7XG4gICAgICAgICAgICB0aGlzLm9wZW4uc2V0KGZhbHNlKTtcbiAgICAgICAgfSk7XG5cbiAgICAgICAgb25DbGVhbnVwKCgpID0+IHN1YnNjcmlwdGlvbj8udW5zdWJzY3JpYmUoKSk7XG4gICAgfSk7XG5cbiAgICBwdWJsaWMgcmVhZG9ubHkgY2FsZW5kYXIgPSB0dWlJbmplY3RBdXhpbGlhcnk8VHVpQ2FsZW5kYXJNb250aD4oXG4gICAgICAgICh4KSA9PiB4IGluc3RhbmNlb2YgVHVpQ2FsZW5kYXJNb250aCxcbiAgICApO1xuXG4gICAgcHVibGljIHJlYWRvbmx5IG5hdGl2ZVBpY2tlckVuYWJsZWQgPVxuICAgICAgICB0dWlJbmplY3RFbGVtZW50PEhUTUxJbnB1dEVsZW1lbnQ+KCkudHlwZSA9PT0gJ21vbnRoJyAmJiBpbmplY3QoVFVJX0lTX01PQklMRSk7XG5cbiAgICBjb25zdHJ1Y3RvcigpIHtcbiAgICAgICAgc3VwZXIoKTtcblxuICAgICAgICAvKipcbiAgICAgICAgICogVXBkYXRlIGRpcmVjdGl2ZSBwcm9wcyB3aXRoIG5ldyBkZWZhdWx0cyBiZWZvcmUgaW5wdXRzIGFyZSBwcm9jZXNzZWRcbiAgICAgICAgICogVE9ETzogZmluZCBiZXR0ZXIgd2F5IHRvIG92ZXJyaWRlIFR1aURyb3Bkb3duRml4ZWQgaG9zdCBkaXJlY3RpdmUgZnJvbSBUdWlUZXh0ZmllbGRDb21wb25lbnRcbiAgICAgICAgICovXG4gICAgICAgIChpbmplY3QoVFVJX0RST1BET1dOX09QVElPTlMpIGFzIGFueSkubGltaXRXaWR0aCA9ICdhdXRvJztcbiAgICB9XG5cbiAgICBwdWJsaWMgb3ZlcnJpZGUgc2V0RGlzYWJsZWRTdGF0ZSgpOiB2b2lkIHtcbiAgICAgICAgc3VwZXIuc2V0RGlzYWJsZWRTdGF0ZSgpO1xuICAgICAgICB0aGlzLm9wZW4uc2V0KGZhbHNlKTtcbiAgICB9XG5cbiAgICBwcm90ZWN0ZWQgdG9nZ2xlRHJvcGRvd24oKTogdm9pZCB7XG4gICAgICAgIGlmICh0aGlzLmludGVyYWN0aXZlKCkgJiYgIXRoaXMubmF0aXZlUGlja2VyRW5hYmxlZCkge1xuICAgICAgICAgICAgdGhpcy5vcGVuLnVwZGF0ZSgoeCkgPT4gIXgpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgcHJvdGVjdGVkIGNsZWFyKCk6IHZvaWQge1xuICAgICAgICB0aGlzLm9uQ2hhbmdlKG51bGwpO1xuXG4gICAgICAgIGlmICghdGhpcy5uYXRpdmVQaWNrZXJFbmFibGVkKSB7XG4gICAgICAgICAgICB0aGlzLm9wZW4uc2V0KHRydWUpO1xuICAgICAgICB9XG4gICAgfVxufVxuIl19
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { TuiCalendarMonth } from '@taiga-ui/kit/components/calendar-month';
|
|
2
|
+
import { TuiInputMonthDirective } from './input-month.directive';
|
|
3
|
+
import { TuiNativeMonthPicker } from './native-month-picker/native-month-picker.component';
|
|
4
|
+
export const TuiInputMonth = [
|
|
5
|
+
TuiInputMonthDirective,
|
|
6
|
+
TuiCalendarMonth,
|
|
7
|
+
TuiNativeMonthPicker,
|
|
8
|
+
];
|
|
9
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5wdXQtbW9udGguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9raXQvY29tcG9uZW50cy9pbnB1dC1tb250aC9pbnB1dC1tb250aC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUMsZ0JBQWdCLEVBQUMsTUFBTSx5Q0FBeUMsQ0FBQztBQUV6RSxPQUFPLEVBQUMsc0JBQXNCLEVBQUMsTUFBTSx5QkFBeUIsQ0FBQztBQUMvRCxPQUFPLEVBQUMsb0JBQW9CLEVBQUMsTUFBTSxxREFBcUQsQ0FBQztBQUV6RixNQUFNLENBQUMsTUFBTSxhQUFhLEdBQUc7SUFDekIsc0JBQXNCO0lBQ3RCLGdCQUFnQjtJQUNoQixvQkFBb0I7Q0FDZCxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtUdWlDYWxlbmRhck1vbnRofSBmcm9tICdAdGFpZ2EtdWkva2l0L2NvbXBvbmVudHMvY2FsZW5kYXItbW9udGgnO1xuXG5pbXBvcnQge1R1aUlucHV0TW9udGhEaXJlY3RpdmV9IGZyb20gJy4vaW5wdXQtbW9udGguZGlyZWN0aXZlJztcbmltcG9ydCB7VHVpTmF0aXZlTW9udGhQaWNrZXJ9IGZyb20gJy4vbmF0aXZlLW1vbnRoLXBpY2tlci9uYXRpdmUtbW9udGgtcGlja2VyLmNvbXBvbmVudCc7XG5cbmV4cG9ydCBjb25zdCBUdWlJbnB1dE1vbnRoID0gW1xuICAgIFR1aUlucHV0TW9udGhEaXJlY3RpdmUsXG4gICAgVHVpQ2FsZW5kYXJNb250aCxcbiAgICBUdWlOYXRpdmVNb250aFBpY2tlcixcbl0gYXMgY29uc3Q7XG4iXX0=
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import { tuiCreateOptions } from '@taiga-ui/cdk/utils/di';
|
|
2
|
+
export const TUI_INPUT_MONTH_DEFAULT_OPTIONS = {
|
|
3
|
+
icon: () => '@tui.calendar',
|
|
4
|
+
};
|
|
5
|
+
export const [TUI_INPUT_MONTH_OPTIONS, tuiInputMonthOptionsProvider] = tuiCreateOptions(TUI_INPUT_MONTH_DEFAULT_OPTIONS);
|
|
6
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5wdXQtbW9udGgub3B0aW9ucy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2tpdC9jb21wb25lbnRzL2lucHV0LW1vbnRoL2lucHV0LW1vbnRoLm9wdGlvbnMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxFQUFDLGdCQUFnQixFQUFDLE1BQU0sd0JBQXdCLENBQUM7QUFPeEQsTUFBTSxDQUFDLE1BQU0sK0JBQStCLEdBQXlCO0lBQ2pFLElBQUksRUFBRSxHQUFHLEVBQUUsQ0FBQyxlQUFlO0NBQzlCLENBQUM7QUFFRixNQUFNLENBQUMsTUFBTSxDQUFDLHVCQUF1QixFQUFFLDRCQUE0QixDQUFDLEdBQUcsZ0JBQWdCLENBQ25GLCtCQUErQixDQUNsQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHR5cGUge1R1aUhhbmRsZXJ9IGZyb20gJ0B0YWlnYS11aS9jZGsvdHlwZXMnO1xuaW1wb3J0IHt0dWlDcmVhdGVPcHRpb25zfSBmcm9tICdAdGFpZ2EtdWkvY2RrL3V0aWxzL2RpJztcbmltcG9ydCB0eXBlIHtUdWlTaXplTCwgVHVpU2l6ZVN9IGZyb20gJ0B0YWlnYS11aS9jb3JlL3R5cGVzJztcblxuZXhwb3J0IGludGVyZmFjZSBUdWlJbnB1dE1vbnRoT3B0aW9ucyB7XG4gICAgcmVhZG9ubHkgaWNvbjogVHVpSGFuZGxlcjxUdWlTaXplTCB8IFR1aVNpemVTLCBzdHJpbmc+O1xufVxuXG5leHBvcnQgY29uc3QgVFVJX0lOUFVUX01PTlRIX0RFRkFVTFRfT1BUSU9OUzogVHVpSW5wdXRNb250aE9wdGlvbnMgPSB7XG4gICAgaWNvbjogKCkgPT4gJ0B0dWkuY2FsZW5kYXInLFxufTtcblxuZXhwb3J0IGNvbnN0IFtUVUlfSU5QVVRfTU9OVEhfT1BUSU9OUywgdHVpSW5wdXRNb250aE9wdGlvbnNQcm92aWRlcl0gPSB0dWlDcmVhdGVPcHRpb25zKFxuICAgIFRVSV9JTlBVVF9NT05USF9ERUZBVUxUX09QVElPTlMsXG4pO1xuIl19
|
|
@@ -0,0 +1,54 @@
|
|
|
1
|
+
import { NgIf } from '@angular/common';
|
|
2
|
+
import { ChangeDetectionStrategy, Component, effect, inject, Input, signal, ViewEncapsulation, } from '@angular/core';
|
|
3
|
+
import { TuiControl } from '@taiga-ui/cdk/classes';
|
|
4
|
+
import { TUI_ALLOW_SIGNAL_WRITES } from '@taiga-ui/cdk/constants';
|
|
5
|
+
import { TUI_FIRST_DAY, TUI_LAST_DAY, TuiMonth } from '@taiga-ui/cdk/date-time';
|
|
6
|
+
import { TuiTextfieldContent } from '@taiga-ui/core/components/textfield';
|
|
7
|
+
import { TuiInputMonthDirective } from '../input-month.directive';
|
|
8
|
+
import * as i0 from "@angular/core";
|
|
9
|
+
class TuiNativeMonthPicker {
|
|
10
|
+
constructor() {
|
|
11
|
+
this.control = inject(TuiControl);
|
|
12
|
+
this.host = inject(TuiInputMonthDirective);
|
|
13
|
+
this.min = signal(null);
|
|
14
|
+
this.max = signal(null);
|
|
15
|
+
this.calendarSync = effect(() => {
|
|
16
|
+
const calendar = this.host.calendar();
|
|
17
|
+
if (calendar) {
|
|
18
|
+
calendar.min.set(this.min() ?? TUI_FIRST_DAY); // TODO(v5): remove TUI_FIRST_DAY fallback
|
|
19
|
+
calendar.max.set(this.max() ?? TUI_LAST_DAY); // TODO(v5): remove TUI_LAST_DAY fallback
|
|
20
|
+
}
|
|
21
|
+
}, TUI_ALLOW_SIGNAL_WRITES);
|
|
22
|
+
}
|
|
23
|
+
// TODO(v5): use signal inputs
|
|
24
|
+
set minSetter(x) {
|
|
25
|
+
this.min.set(x);
|
|
26
|
+
}
|
|
27
|
+
// TODO(v5): use signal inputs
|
|
28
|
+
set maxSetter(x) {
|
|
29
|
+
this.max.set(x);
|
|
30
|
+
}
|
|
31
|
+
onInput(value) {
|
|
32
|
+
if (!value) {
|
|
33
|
+
return this.control.onChange(null);
|
|
34
|
+
}
|
|
35
|
+
const [year = 0, month = 0] = value.split('-').map(Number);
|
|
36
|
+
this.control.onChange(new TuiMonth(year, month - 1));
|
|
37
|
+
}
|
|
38
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: TuiNativeMonthPicker, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
39
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: TuiNativeMonthPicker, isStandalone: true, selector: "input[tuiInputMonth][type=\"month\"]", inputs: { minSetter: ["min", "minSetter"], maxSetter: ["max", "maxSetter"] }, host: { properties: { "type": "\"text\"" } }, ngImport: i0, template: "<ng-container *ngIf=\"host.nativePickerEnabled\">\n <input\n *tuiTextfieldContent\n type=\"month\"\n [max]=\"max()?.toJSON()\"\n [min]=\"min()?.toJSON()\"\n [value]=\"host.value()?.toJSON()\"\n (click.stop.zoneless)=\"(0)\"\n (input)=\"onInput($any($event.target).value)\"\n (mousedown.stop.zoneless)=\"(0)\"\n />\n</ng-container>\n", styles: ["tui-textfield input[tuiInputMonth]+.t-content input[type=month]{position:absolute;top:0;left:0;inline-size:100%;block-size:100%;opacity:0;border:0}tui-textfield input[tuiInputMonth]+.t-content input[type=month]::-webkit-calendar-picker-indicator{position:absolute;top:0;left:0;inline-size:100%;block-size:100%}\n"], dependencies: [{ kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: TuiTextfieldContent, selector: "ng-template[tuiTextfieldContent]" }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
|
|
40
|
+
}
|
|
41
|
+
export { TuiNativeMonthPicker };
|
|
42
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: TuiNativeMonthPicker, decorators: [{
|
|
43
|
+
type: Component,
|
|
44
|
+
args: [{ standalone: true, selector: 'input[tuiInputMonth][type="month"]', imports: [NgIf, TuiTextfieldContent], encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, host: {
|
|
45
|
+
'[type]': '"text"',
|
|
46
|
+
}, template: "<ng-container *ngIf=\"host.nativePickerEnabled\">\n <input\n *tuiTextfieldContent\n type=\"month\"\n [max]=\"max()?.toJSON()\"\n [min]=\"min()?.toJSON()\"\n [value]=\"host.value()?.toJSON()\"\n (click.stop.zoneless)=\"(0)\"\n (input)=\"onInput($any($event.target).value)\"\n (mousedown.stop.zoneless)=\"(0)\"\n />\n</ng-container>\n", styles: ["tui-textfield input[tuiInputMonth]+.t-content input[type=month]{position:absolute;top:0;left:0;inline-size:100%;block-size:100%;opacity:0;border:0}tui-textfield input[tuiInputMonth]+.t-content input[type=month]::-webkit-calendar-picker-indicator{position:absolute;top:0;left:0;inline-size:100%;block-size:100%}\n"] }]
|
|
47
|
+
}], propDecorators: { minSetter: [{
|
|
48
|
+
type: Input,
|
|
49
|
+
args: ['min']
|
|
50
|
+
}], maxSetter: [{
|
|
51
|
+
type: Input,
|
|
52
|
+
args: ['max']
|
|
53
|
+
}] } });
|
|
54
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmF0aXZlLW1vbnRoLXBpY2tlci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9raXQvY29tcG9uZW50cy9pbnB1dC1tb250aC9uYXRpdmUtbW9udGgtcGlja2VyL25hdGl2ZS1tb250aC1waWNrZXIuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMva2l0L2NvbXBvbmVudHMvaW5wdXQtbW9udGgvbmF0aXZlLW1vbnRoLXBpY2tlci9uYXRpdmUtbW9udGgtcGlja2VyLnRlbXBsYXRlLmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFDLElBQUksRUFBQyxNQUFNLGlCQUFpQixDQUFDO0FBQ3JDLE9BQU8sRUFDSCx1QkFBdUIsRUFDdkIsU0FBUyxFQUNULE1BQU0sRUFDTixNQUFNLEVBQ04sS0FBSyxFQUNMLE1BQU0sRUFDTixpQkFBaUIsR0FDcEIsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFDLFVBQVUsRUFBQyxNQUFNLHVCQUF1QixDQUFDO0FBQ2pELE9BQU8sRUFBQyx1QkFBdUIsRUFBQyxNQUFNLHlCQUF5QixDQUFDO0FBQ2hFLE9BQU8sRUFBQyxhQUFhLEVBQUUsWUFBWSxFQUFFLFFBQVEsRUFBQyxNQUFNLHlCQUF5QixDQUFDO0FBQzlFLE9BQU8sRUFBQyxtQkFBbUIsRUFBQyxNQUFNLHFDQUFxQyxDQUFDO0FBRXhFLE9BQU8sRUFBQyxzQkFBc0IsRUFBQyxNQUFNLDBCQUEwQixDQUFDOztBQUVoRSxNQVlhLG9CQUFvQjtJQVpqQztRQWFxQixZQUFPLEdBQUcsTUFBTSxDQUFDLFVBQVUsQ0FBQyxDQUFDO1FBRTNCLFNBQUksR0FBRyxNQUFNLENBQUMsc0JBQXNCLENBQUMsQ0FBQztRQUN0QyxRQUFHLEdBQUcsTUFBTSxDQUFrQixJQUFJLENBQUMsQ0FBQztRQUNwQyxRQUFHLEdBQUcsTUFBTSxDQUFrQixJQUFJLENBQUMsQ0FBQztRQUNwQyxpQkFBWSxHQUFHLE1BQU0sQ0FBQyxHQUFHLEVBQUU7WUFDMUMsTUFBTSxRQUFRLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQyxRQUFRLEVBQUUsQ0FBQztZQUV0QyxJQUFJLFFBQVEsRUFBRTtnQkFDVixRQUFRLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsR0FBRyxFQUFFLElBQUksYUFBYSxDQUFDLENBQUMsQ0FBQywwQ0FBMEM7Z0JBQ3pGLFFBQVEsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxHQUFHLEVBQUUsSUFBSSxZQUFZLENBQUMsQ0FBQyxDQUFDLHlDQUF5QzthQUMxRjtRQUNMLENBQUMsRUFBRSx1QkFBdUIsQ0FBQyxDQUFDO0tBdUIvQjtJQXJCRyw4QkFBOEI7SUFDOUIsSUFDVyxTQUFTLENBQUMsQ0FBa0I7UUFDbkMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFDcEIsQ0FBQztJQUVELDhCQUE4QjtJQUM5QixJQUNXLFNBQVMsQ0FBQyxDQUFrQjtRQUNuQyxJQUFJLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUNwQixDQUFDO0lBRVMsT0FBTyxDQUFDLEtBQWE7UUFDM0IsSUFBSSxDQUFDLEtBQUssRUFBRTtZQUNSLE9BQU8sSUFBSSxDQUFDLE9BQU8sQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLENBQUM7U0FDdEM7UUFFRCxNQUFNLENBQUMsSUFBSSxHQUFHLENBQUMsRUFBRSxLQUFLLEdBQUcsQ0FBQyxDQUFDLEdBQUcsS0FBSyxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQyxHQUFHLENBQUMsTUFBTSxDQUFDLENBQUM7UUFFM0QsSUFBSSxDQUFDLE9BQU8sQ0FBQyxRQUFRLENBQUMsSUFBSSxRQUFRLENBQUMsSUFBSSxFQUFFLEtBQUssR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDO0lBQ3pELENBQUM7K0dBbkNRLG9CQUFvQjttR0FBcEIsb0JBQW9CLDROQzdCakMsNFlBWUEsa1hEUWMsSUFBSSw2RkFBRSxtQkFBbUI7O1NBUzFCLG9CQUFvQjs0RkFBcEIsb0JBQW9CO2tCQVpoQyxTQUFTO2lDQUNNLElBQUksWUFDTixvQ0FBb0MsV0FDckMsQ0FBQyxJQUFJLEVBQUUsbUJBQW1CLENBQUMsaUJBR3JCLGlCQUFpQixDQUFDLElBQUksbUJBQ3BCLHVCQUF1QixDQUFDLE1BQU0sUUFDekM7d0JBQ0YsUUFBUSxFQUFFLFFBQVE7cUJBQ3JCOzhCQW1CVSxTQUFTO3NCQURuQixLQUFLO3VCQUFDLEtBQUs7Z0JBT0QsU0FBUztzQkFEbkIsS0FBSzt1QkFBQyxLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtOZ0lmfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHtcbiAgICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgICBDb21wb25lbnQsXG4gICAgZWZmZWN0LFxuICAgIGluamVjdCxcbiAgICBJbnB1dCxcbiAgICBzaWduYWwsXG4gICAgVmlld0VuY2Fwc3VsYXRpb24sXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtUdWlDb250cm9sfSBmcm9tICdAdGFpZ2EtdWkvY2RrL2NsYXNzZXMnO1xuaW1wb3J0IHtUVUlfQUxMT1dfU0lHTkFMX1dSSVRFU30gZnJvbSAnQHRhaWdhLXVpL2Nkay9jb25zdGFudHMnO1xuaW1wb3J0IHtUVUlfRklSU1RfREFZLCBUVUlfTEFTVF9EQVksIFR1aU1vbnRofSBmcm9tICdAdGFpZ2EtdWkvY2RrL2RhdGUtdGltZSc7XG5pbXBvcnQge1R1aVRleHRmaWVsZENvbnRlbnR9IGZyb20gJ0B0YWlnYS11aS9jb3JlL2NvbXBvbmVudHMvdGV4dGZpZWxkJztcblxuaW1wb3J0IHtUdWlJbnB1dE1vbnRoRGlyZWN0aXZlfSBmcm9tICcuLi9pbnB1dC1tb250aC5kaXJlY3RpdmUnO1xuXG5AQ29tcG9uZW50KHtcbiAgICBzdGFuZGFsb25lOiB0cnVlLFxuICAgIHNlbGVjdG9yOiAnaW5wdXRbdHVpSW5wdXRNb250aF1bdHlwZT1cIm1vbnRoXCJdJyxcbiAgICBpbXBvcnRzOiBbTmdJZiwgVHVpVGV4dGZpZWxkQ29udGVudF0sXG4gICAgdGVtcGxhdGVVcmw6ICcuL25hdGl2ZS1tb250aC1waWNrZXIudGVtcGxhdGUuaHRtbCcsXG4gICAgc3R5bGVVcmxzOiBbJy4vbmF0aXZlLW1vbnRoLXBpY2tlci5zdHlsZS5sZXNzJ10sXG4gICAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZSxcbiAgICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgICBob3N0OiB7XG4gICAgICAgICdbdHlwZV0nOiAnXCJ0ZXh0XCInLFxuICAgIH0sXG59KVxuZXhwb3J0IGNsYXNzIFR1aU5hdGl2ZU1vbnRoUGlja2VyIHtcbiAgICBwcml2YXRlIHJlYWRvbmx5IGNvbnRyb2wgPSBpbmplY3QoVHVpQ29udHJvbCk7XG5cbiAgICBwcm90ZWN0ZWQgcmVhZG9ubHkgaG9zdCA9IGluamVjdChUdWlJbnB1dE1vbnRoRGlyZWN0aXZlKTtcbiAgICBwcm90ZWN0ZWQgcmVhZG9ubHkgbWluID0gc2lnbmFsPFR1aU1vbnRoIHwgbnVsbD4obnVsbCk7XG4gICAgcHJvdGVjdGVkIHJlYWRvbmx5IG1heCA9IHNpZ25hbDxUdWlNb250aCB8IG51bGw+KG51bGwpO1xuICAgIHByb3RlY3RlZCByZWFkb25seSBjYWxlbmRhclN5bmMgPSBlZmZlY3QoKCkgPT4ge1xuICAgICAgICBjb25zdCBjYWxlbmRhciA9IHRoaXMuaG9zdC5jYWxlbmRhcigpO1xuXG4gICAgICAgIGlmIChjYWxlbmRhcikge1xuICAgICAgICAgICAgY2FsZW5kYXIubWluLnNldCh0aGlzLm1pbigpID8/IFRVSV9GSVJTVF9EQVkpOyAvLyBUT0RPKHY1KTogcmVtb3ZlIFRVSV9GSVJTVF9EQVkgZmFsbGJhY2tcbiAgICAgICAgICAgIGNhbGVuZGFyLm1heC5zZXQodGhpcy5tYXgoKSA/PyBUVUlfTEFTVF9EQVkpOyAvLyBUT0RPKHY1KTogcmVtb3ZlIFRVSV9MQVNUX0RBWSBmYWxsYmFja1xuICAgICAgICB9XG4gICAgfSwgVFVJX0FMTE9XX1NJR05BTF9XUklURVMpO1xuXG4gICAgLy8gVE9ETyh2NSk6IHVzZSBzaWduYWwgaW5wdXRzXG4gICAgQElucHV0KCdtaW4nKVxuICAgIHB1YmxpYyBzZXQgbWluU2V0dGVyKHg6IFR1aU1vbnRoIHwgbnVsbCkge1xuICAgICAgICB0aGlzLm1pbi5zZXQoeCk7XG4gICAgfVxuXG4gICAgLy8gVE9ETyh2NSk6IHVzZSBzaWduYWwgaW5wdXRzXG4gICAgQElucHV0KCdtYXgnKVxuICAgIHB1YmxpYyBzZXQgbWF4U2V0dGVyKHg6IFR1aU1vbnRoIHwgbnVsbCkge1xuICAgICAgICB0aGlzLm1heC5zZXQoeCk7XG4gICAgfVxuXG4gICAgcHJvdGVjdGVkIG9uSW5wdXQodmFsdWU6IHN0cmluZyk6IHZvaWQge1xuICAgICAgICBpZiAoIXZhbHVlKSB7XG4gICAgICAgICAgICByZXR1cm4gdGhpcy5jb250cm9sLm9uQ2hhbmdlKG51bGwpO1xuICAgICAgICB9XG5cbiAgICAgICAgY29uc3QgW3llYXIgPSAwLCBtb250aCA9IDBdID0gdmFsdWUuc3BsaXQoJy0nKS5tYXAoTnVtYmVyKTtcblxuICAgICAgICB0aGlzLmNvbnRyb2wub25DaGFuZ2UobmV3IFR1aU1vbnRoKHllYXIsIG1vbnRoIC0gMSkpO1xuICAgIH1cbn1cbiIsIjxuZy1jb250YWluZXIgKm5nSWY9XCJob3N0Lm5hdGl2ZVBpY2tlckVuYWJsZWRcIj5cbiAgICA8aW5wdXRcbiAgICAgICAgKnR1aVRleHRmaWVsZENvbnRlbnRcbiAgICAgICAgdHlwZT1cIm1vbnRoXCJcbiAgICAgICAgW21heF09XCJtYXgoKT8udG9KU09OKClcIlxuICAgICAgICBbbWluXT1cIm1pbigpPy50b0pTT04oKVwiXG4gICAgICAgIFt2YWx1ZV09XCJob3N0LnZhbHVlKCk/LnRvSlNPTigpXCJcbiAgICAgICAgKGNsaWNrLnN0b3Auem9uZWxlc3MpPVwiKDApXCJcbiAgICAgICAgKGlucHV0KT1cIm9uSW5wdXQoJGFueSgkZXZlbnQudGFyZ2V0KS52YWx1ZSlcIlxuICAgICAgICAobW91c2Vkb3duLnN0b3Auem9uZWxlc3MpPVwiKDApXCJcbiAgICAvPlxuPC9uZy1jb250YWluZXI+XG4iXX0=
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Generated bundle index. Do not edit.
|
|
3
|
+
*/
|
|
4
|
+
export * from './index';
|
|
5
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFpZ2EtdWkta2l0LWNvbXBvbmVudHMtaW5wdXQtbW9udGguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9raXQvY29tcG9uZW50cy9pbnB1dC1tb250aC90YWlnYS11aS1raXQtY29tcG9uZW50cy1pbnB1dC1tb250aC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7R0FFRztBQUVILGNBQWMsU0FBUyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBHZW5lcmF0ZWQgYnVuZGxlIGluZGV4LiBEbyBub3QgZWRpdC5cbiAqL1xuXG5leHBvcnQgKiBmcm9tICcuL2luZGV4JztcbiJdfQ==
|
|
@@ -19,7 +19,7 @@ class TuiPushAlert {
|
|
|
19
19
|
return this.context.content instanceof TuiPushDirective;
|
|
20
20
|
}
|
|
21
21
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: TuiPushAlert, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
22
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: TuiPushAlert, isStandalone: true, selector: "ng-component", host: { attributes: { "role": "alert" }, properties: { "@tuiFadeIn": "options", "@tuiSlideInRight": "options", "@tuiHeightCollapse": "options" } }, ngImport: i0, template: "<tui-push\n *ngIf=\"!isDirective; else directive\"\n [heading]=\"context.heading\"\n [timestamp]=\"context.timestamp\"\n [type]=\"context.type\"\n (close)=\"context.$implicit.complete()\"\n>\n <img\n *ngIf=\"context.image\"\n alt=\"\"\n [src]=\"context.image\"\n />\n <tui-icon\n *ngIf=\"context.icon\"\n [icon]=\"context.icon\"\n [style.color]=\"context.iconColor\"\n />\n <div\n *polymorpheusOutlet=\"context.content as text; context: context\"\n [innerHTML]=\"text\"\n ></div>\n <button\n *ngIf=\"context.buttons.length > 1\"\n tuiButton\n type=\"button\"\n (click)=\"context.$implicit.next(context.buttons[0] || '')\"\n >\n {{ context.buttons[0] }}\n </button>\n <button\n *ngIf=\"context.buttons.length\"\n tuiLink\n type=\"button\"\n (click)=\"context.$implicit.next(context.buttons[context.buttons.length - 1] || '')\"\n >\n {{ context.buttons[context.buttons.length - 1] }}\n </button>\n</tui-push>\n<ng-template #directive>\n <ng-container *polymorpheusOutlet=\"context.content\" />\n</ng-template>\n", styles: [":host{max-inline-size:calc(100% - 2rem);margin:0 1rem 1rem auto}:host:first-child{margin-top:auto}\n"], dependencies: [{ kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: PolymorpheusOutlet, selector: "[polymorpheusOutlet]", inputs: ["polymorpheusOutlet", "polymorpheusOutletContext"] }, { kind: "directive", type: TuiButton, selector: "a[tuiButton],button[tuiButton],a[tuiIconButton],button[tuiIconButton]", inputs: ["size"] }, { kind: "component", type: TuiIcon, selector: "tui-icon", inputs: ["icon", "background"] }, { kind: "directive", type: TuiLink, selector: "a[tuiLink], button[tuiLink]", inputs: ["pseudo"] }, { kind: "component", type: TuiPushComponent, selector: "tui-push", inputs: ["heading", "type", "timestamp"], outputs: ["close"] }], animations: [tuiFadeIn, tuiSlideInRight, tuiHeightCollapse], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
22
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: TuiPushAlert, isStandalone: true, selector: "ng-component", host: { attributes: { "role": "alert" }, properties: { "@tuiFadeIn": "options", "@tuiSlideInRight": "options", "@tuiHeightCollapse": "options" } }, ngImport: i0, template: "<tui-push\n *ngIf=\"!isDirective; else directive\"\n [heading]=\"context.heading\"\n [timestamp]=\"context.timestamp\"\n [type]=\"context.type\"\n (close)=\"context.$implicit.complete()\"\n>\n <img\n *ngIf=\"context.image\"\n alt=\"\"\n [src]=\"context.image\"\n />\n <tui-icon\n *ngIf=\"context.icon\"\n [icon]=\"context.icon\"\n [style.color]=\"context.iconColor\"\n />\n <div\n *polymorpheusOutlet=\"context.content as text; context: context\"\n [innerHTML]=\"text\"\n ></div>\n <button\n *ngIf=\"context.buttons.length > 1\"\n tuiButton\n type=\"button\"\n (click)=\"context.$implicit.next(context.buttons[0] || '')\"\n >\n {{ context.buttons[0] }}\n </button>\n <button\n *ngIf=\"context.buttons.length\"\n tuiLink\n type=\"button\"\n (click)=\"context.$implicit.next(context.buttons[context.buttons.length - 1] || '')\"\n >\n {{ context.buttons[context.buttons.length - 1] }}\n </button>\n</tui-push>\n<ng-template #directive>\n <ng-container *polymorpheusOutlet=\"context.content\" />\n</ng-template>\n", styles: [":host{max-inline-size:calc(100% - 2rem);margin:0 1rem 1rem auto}:host:first-child{margin-top:auto}\n"], dependencies: [{ kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: PolymorpheusOutlet, selector: "[polymorpheusOutlet]", inputs: ["polymorpheusOutlet", "polymorpheusOutletContext"] }, { kind: "directive", type: TuiButton, selector: "a[tuiButton],button[tuiButton],a[tuiIconButton],button[tuiIconButton]", inputs: ["size"] }, { kind: "component", type: TuiIcon, selector: "tui-icon", inputs: ["icon", "background"] }, { kind: "directive", type: TuiLink, selector: "a[tuiLink], button[tuiLink]", inputs: ["pseudo"] }, { kind: "component", type: TuiPushComponent, selector: "tui-push", inputs: ["heading", "type", "lines", "timestamp"], outputs: ["close"] }], animations: [tuiFadeIn, tuiSlideInRight, tuiHeightCollapse], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
23
23
|
}
|
|
24
24
|
export { TuiPushAlert };
|
|
25
25
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: TuiPushAlert, decorators: [{
|
|
@@ -39,4 +39,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
|
|
|
39
39
|
'[@tuiHeightCollapse]': 'options',
|
|
40
40
|
}, template: "<tui-push\n *ngIf=\"!isDirective; else directive\"\n [heading]=\"context.heading\"\n [timestamp]=\"context.timestamp\"\n [type]=\"context.type\"\n (close)=\"context.$implicit.complete()\"\n>\n <img\n *ngIf=\"context.image\"\n alt=\"\"\n [src]=\"context.image\"\n />\n <tui-icon\n *ngIf=\"context.icon\"\n [icon]=\"context.icon\"\n [style.color]=\"context.iconColor\"\n />\n <div\n *polymorpheusOutlet=\"context.content as text; context: context\"\n [innerHTML]=\"text\"\n ></div>\n <button\n *ngIf=\"context.buttons.length > 1\"\n tuiButton\n type=\"button\"\n (click)=\"context.$implicit.next(context.buttons[0] || '')\"\n >\n {{ context.buttons[0] }}\n </button>\n <button\n *ngIf=\"context.buttons.length\"\n tuiLink\n type=\"button\"\n (click)=\"context.$implicit.next(context.buttons[context.buttons.length - 1] || '')\"\n >\n {{ context.buttons[context.buttons.length - 1] }}\n </button>\n</tui-push>\n<ng-template #directive>\n <ng-container *polymorpheusOutlet=\"context.content\" />\n</ng-template>\n", styles: [":host{max-inline-size:calc(100% - 2rem);margin:0 1rem 1rem auto}:host:first-child{margin-top:auto}\n"] }]
|
|
41
41
|
}] });
|
|
42
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
42
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVzaC1hbGVydC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9raXQvY29tcG9uZW50cy9wdXNoL3B1c2gtYWxlcnQuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMva2l0L2NvbXBvbmVudHMvcHVzaC9wdXNoLWFsZXJ0LnRlbXBsYXRlLmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFDLElBQUksRUFBQyxNQUFNLGlCQUFpQixDQUFDO0FBQ3JDLE9BQU8sRUFBQyx1QkFBdUIsRUFBRSxTQUFTLEVBQUUsTUFBTSxFQUFDLE1BQU0sZUFBZSxDQUFDO0FBRXpFLE9BQU8sRUFBQyxTQUFTLEVBQUUsaUJBQWlCLEVBQUUsZUFBZSxFQUFDLE1BQU0sMkJBQTJCLENBQUM7QUFDeEYsT0FBTyxFQUFDLFNBQVMsRUFBQyxNQUFNLGtDQUFrQyxDQUFDO0FBQzNELE9BQU8sRUFBQyxPQUFPLEVBQUMsTUFBTSxnQ0FBZ0MsQ0FBQztBQUN2RCxPQUFPLEVBQUMsT0FBTyxFQUFDLE1BQU0sZ0NBQWdDLENBQUM7QUFDdkQsT0FBTyxFQUFDLG9CQUFvQixFQUFDLE1BQU0sdUJBQXVCLENBQUM7QUFDM0QsT0FBTyxFQUFDLHFCQUFxQixFQUFDLE1BQU0sb0NBQW9DLENBQUM7QUFDekUsT0FBTyxFQUNILGFBQWEsRUFDYixrQkFBa0IsRUFDbEIsb0JBQW9CLEdBQ3ZCLE1BQU0sd0JBQXdCLENBQUM7QUFFaEMsT0FBTyxFQUFDLGdCQUFnQixFQUFDLE1BQU0sa0JBQWtCLENBQUM7QUFDbEQsT0FBTyxFQUFDLGdCQUFnQixFQUFDLE1BQU0sa0JBQWtCLENBQUM7O0FBR2xELE1Bc0JhLFlBQVk7SUF0QnpCO1FBdUJ1QixZQUFPLEdBQUcscUJBQXFCLENBQUMsTUFBTSxDQUFDLG9CQUFvQixDQUFDLENBQUMsQ0FBQztRQUM5RCxZQUFPLEdBQUcsYUFBYSxFQUFzQyxDQUFDO0tBS3BGO0lBSEcsSUFBYyxXQUFXO1FBQ3JCLE9BQU8sSUFBSSxDQUFDLE9BQU8sQ0FBQyxPQUFPLFlBQVksZ0JBQWdCLENBQUM7SUFDNUQsQ0FBQzsrR0FOUSxZQUFZO21HQUFaLFlBQVksNE5DekN6Qix1cUNBeUNBLDhKRG5CUSxJQUFJLDZGQUNKLGtCQUFrQiw4SEFFbEIsU0FBUyxvSUFDVCxPQUFPLHFGQUNQLE9BQU8sNEZBQ1AsZ0JBQWdCLDhHQUtSLENBQUMsU0FBUyxFQUFFLGVBQWUsRUFBRSxpQkFBaUIsQ0FBQzs7U0FRbEQsWUFBWTs0RkFBWixZQUFZO2tCQXRCeEIsU0FBUztpQ0FDTSxJQUFJLFdBQ1A7d0JBQ0wsSUFBSTt3QkFDSixrQkFBa0I7d0JBQ2xCLG9CQUFvQjt3QkFDcEIsU0FBUzt3QkFDVCxPQUFPO3dCQUNQLE9BQU87d0JBQ1AsZ0JBQWdCO3FCQUNuQixtQkFHZ0IsdUJBQXVCLENBQUMsTUFBTSxjQUNuQyxDQUFDLFNBQVMsRUFBRSxlQUFlLEVBQUUsaUJBQWlCLENBQUMsUUFDckQ7d0JBQ0YsSUFBSSxFQUFFLE9BQU87d0JBQ2IsY0FBYyxFQUFFLFNBQVM7d0JBQ3pCLG9CQUFvQixFQUFFLFNBQVM7d0JBQy9CLHNCQUFzQixFQUFFLFNBQVM7cUJBQ3BDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtOZ0lmfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHtDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSwgQ29tcG9uZW50LCBpbmplY3R9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHR5cGUge1R1aVBvcG92ZXJ9IGZyb20gJ0B0YWlnYS11aS9jZGsvc2VydmljZXMnO1xuaW1wb3J0IHt0dWlGYWRlSW4sIHR1aUhlaWdodENvbGxhcHNlLCB0dWlTbGlkZUluUmlnaHR9IGZyb20gJ0B0YWlnYS11aS9jb3JlL2FuaW1hdGlvbnMnO1xuaW1wb3J0IHtUdWlCdXR0b259IGZyb20gJ0B0YWlnYS11aS9jb3JlL2NvbXBvbmVudHMvYnV0dG9uJztcbmltcG9ydCB7VHVpSWNvbn0gZnJvbSAnQHRhaWdhLXVpL2NvcmUvY29tcG9uZW50cy9pY29uJztcbmltcG9ydCB7VHVpTGlua30gZnJvbSAnQHRhaWdhLXVpL2NvcmUvY29tcG9uZW50cy9saW5rJztcbmltcG9ydCB7VFVJX0FOSU1BVElPTlNfU1BFRUR9IGZyb20gJ0B0YWlnYS11aS9jb3JlL3Rva2Vucyc7XG5pbXBvcnQge3R1aVRvQW5pbWF0aW9uT3B0aW9uc30gZnJvbSAnQHRhaWdhLXVpL2NvcmUvdXRpbHMvbWlzY2VsbGFuZW91cyc7XG5pbXBvcnQge1xuICAgIGluamVjdENvbnRleHQsXG4gICAgUG9seW1vcnBoZXVzT3V0bGV0LFxuICAgIFBvbHltb3JwaGV1c1RlbXBsYXRlLFxufSBmcm9tICdAdGFpZ2EtdWkvcG9seW1vcnBoZXVzJztcblxuaW1wb3J0IHtUdWlQdXNoQ29tcG9uZW50fSBmcm9tICcuL3B1c2guY29tcG9uZW50JztcbmltcG9ydCB7VHVpUHVzaERpcmVjdGl2ZX0gZnJvbSAnLi9wdXNoLmRpcmVjdGl2ZSc7XG5pbXBvcnQgdHlwZSB7VHVpUHVzaE9wdGlvbnN9IGZyb20gJy4vcHVzaC5vcHRpb25zJztcblxuQENvbXBvbmVudCh7XG4gICAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgICBpbXBvcnRzOiBbXG4gICAgICAgIE5nSWYsXG4gICAgICAgIFBvbHltb3JwaGV1c091dGxldCxcbiAgICAgICAgUG9seW1vcnBoZXVzVGVtcGxhdGUsXG4gICAgICAgIFR1aUJ1dHRvbixcbiAgICAgICAgVHVpSWNvbixcbiAgICAgICAgVHVpTGluayxcbiAgICAgICAgVHVpUHVzaENvbXBvbmVudCxcbiAgICBdLFxuICAgIHRlbXBsYXRlVXJsOiAnLi9wdXNoLWFsZXJ0LnRlbXBsYXRlLmh0bWwnLFxuICAgIHN0eWxlVXJsczogWycuL3B1c2gtYWxlcnQuc3R5bGUubGVzcyddLFxuICAgIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICAgIGFuaW1hdGlvbnM6IFt0dWlGYWRlSW4sIHR1aVNsaWRlSW5SaWdodCwgdHVpSGVpZ2h0Q29sbGFwc2VdLFxuICAgIGhvc3Q6IHtcbiAgICAgICAgcm9sZTogJ2FsZXJ0JyxcbiAgICAgICAgJ1tAdHVpRmFkZUluXSc6ICdvcHRpb25zJyxcbiAgICAgICAgJ1tAdHVpU2xpZGVJblJpZ2h0XSc6ICdvcHRpb25zJyxcbiAgICAgICAgJ1tAdHVpSGVpZ2h0Q29sbGFwc2VdJzogJ29wdGlvbnMnLFxuICAgIH0sXG59KVxuZXhwb3J0IGNsYXNzIFR1aVB1c2hBbGVydCB7XG4gICAgcHJvdGVjdGVkIHJlYWRvbmx5IG9wdGlvbnMgPSB0dWlUb0FuaW1hdGlvbk9wdGlvbnMoaW5qZWN0KFRVSV9BTklNQVRJT05TX1NQRUVEKSk7XG4gICAgcHJvdGVjdGVkIHJlYWRvbmx5IGNvbnRleHQgPSBpbmplY3RDb250ZXh0PFR1aVBvcG92ZXI8VHVpUHVzaE9wdGlvbnMsIHN0cmluZz4+KCk7XG5cbiAgICBwcm90ZWN0ZWQgZ2V0IGlzRGlyZWN0aXZlKCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gdGhpcy5jb250ZXh0LmNvbnRlbnQgaW5zdGFuY2VvZiBUdWlQdXNoRGlyZWN0aXZlO1xuICAgIH1cbn1cbiIsIjx0dWktcHVzaFxuICAgICpuZ0lmPVwiIWlzRGlyZWN0aXZlOyBlbHNlIGRpcmVjdGl2ZVwiXG4gICAgW2hlYWRpbmddPVwiY29udGV4dC5oZWFkaW5nXCJcbiAgICBbdGltZXN0YW1wXT1cImNvbnRleHQudGltZXN0YW1wXCJcbiAgICBbdHlwZV09XCJjb250ZXh0LnR5cGVcIlxuICAgIChjbG9zZSk9XCJjb250ZXh0LiRpbXBsaWNpdC5jb21wbGV0ZSgpXCJcbj5cbiAgICA8aW1nXG4gICAgICAgICpuZ0lmPVwiY29udGV4dC5pbWFnZVwiXG4gICAgICAgIGFsdD1cIlwiXG4gICAgICAgIFtzcmNdPVwiY29udGV4dC5pbWFnZVwiXG4gICAgLz5cbiAgICA8dHVpLWljb25cbiAgICAgICAgKm5nSWY9XCJjb250ZXh0Lmljb25cIlxuICAgICAgICBbaWNvbl09XCJjb250ZXh0Lmljb25cIlxuICAgICAgICBbc3R5bGUuY29sb3JdPVwiY29udGV4dC5pY29uQ29sb3JcIlxuICAgIC8+XG4gICAgPGRpdlxuICAgICAgICAqcG9seW1vcnBoZXVzT3V0bGV0PVwiY29udGV4dC5jb250ZW50IGFzIHRleHQ7IGNvbnRleHQ6IGNvbnRleHRcIlxuICAgICAgICBbaW5uZXJIVE1MXT1cInRleHRcIlxuICAgID48L2Rpdj5cbiAgICA8YnV0dG9uXG4gICAgICAgICpuZ0lmPVwiY29udGV4dC5idXR0b25zLmxlbmd0aCA+IDFcIlxuICAgICAgICB0dWlCdXR0b25cbiAgICAgICAgdHlwZT1cImJ1dHRvblwiXG4gICAgICAgIChjbGljayk9XCJjb250ZXh0LiRpbXBsaWNpdC5uZXh0KGNvbnRleHQuYnV0dG9uc1swXSB8fCAnJylcIlxuICAgID5cbiAgICAgICAge3sgY29udGV4dC5idXR0b25zWzBdIH19XG4gICAgPC9idXR0b24+XG4gICAgPGJ1dHRvblxuICAgICAgICAqbmdJZj1cImNvbnRleHQuYnV0dG9ucy5sZW5ndGhcIlxuICAgICAgICB0dWlMaW5rXG4gICAgICAgIHR5cGU9XCJidXR0b25cIlxuICAgICAgICAoY2xpY2spPVwiY29udGV4dC4kaW1wbGljaXQubmV4dChjb250ZXh0LmJ1dHRvbnNbY29udGV4dC5idXR0b25zLmxlbmd0aCAtIDFdIHx8ICcnKVwiXG4gICAgPlxuICAgICAgICB7eyBjb250ZXh0LmJ1dHRvbnNbY29udGV4dC5idXR0b25zLmxlbmd0aCAtIDFdIH19XG4gICAgPC9idXR0b24+XG48L3R1aS1wdXNoPlxuPG5nLXRlbXBsYXRlICNkaXJlY3RpdmU+XG4gICAgPG5nLWNvbnRhaW5lciAqcG9seW1vcnBoZXVzT3V0bGV0PVwiY29udGV4dC5jb250ZW50XCIgLz5cbjwvbmctdGVtcGxhdGU+XG4iXX0=
|
|
@@ -12,23 +12,28 @@ class TuiPushComponent {
|
|
|
12
12
|
this.icons = inject(TUI_COMMON_ICONS);
|
|
13
13
|
this.heading = '';
|
|
14
14
|
this.type = '';
|
|
15
|
+
this.lines = 2;
|
|
15
16
|
this.timestamp = '';
|
|
16
17
|
this.close = new EventEmitter();
|
|
17
18
|
}
|
|
18
19
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: TuiPushComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
19
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: TuiPushComponent, isStandalone: true, selector: "tui-push", inputs: { heading: "heading", type: "type", timestamp: "timestamp" }, outputs: { close: "close" }, providers: [tuiButtonOptionsProvider({ size: 's', appearance: 'secondary' })], ngImport: i0, template: "<div class=\"t-image\">\n <ng-content select=\"img\" />\n</div>\n<button\n *ngIf=\"close.observed\"\n appearance=\"\"\n size=\"xs\"\n tuiIconButton\n type=\"button\"\n class=\"t-close\"\n [iconStart]=\"icons.close\"\n [style.border-radius.%]=\"100\"\n (click)=\"close.emit()\"\n>\n {{ closeWord$ | async }}\n</button>\n<div class=\"t-top\">\n <span class=\"t-icon\">\n <ng-content select=\"tui-svg,tui-icon\" />\n </span>\n {{ type }}\n <span\n *ngIf=\"timestamp\"\n class=\"t-time\"\n [textContent]=\"isString(timestamp) ? timestamp : (timestamp | tuiFormatDate | async)\"\n ></span>\n</div>\n<h3\n automation-id=\"tui-push__heading\"\n class=\"t-heading\"\n>\n {{ heading }}\n</h3>\n<div class=\"t-content\">\n <ng-content />\n</div>\n<div class=\"t-actions\">\n <span class=\"t-button\">\n <ng-content select=\"[tuiButton]\" />\n </span>\n <span class=\"t-link\">\n <ng-content select=\"[tuiLink]\" />\n </span>\n</div>\n", styles: [":host{position:relative;display:block;inline-size:22.5rem;max-inline-size:100%;box-sizing:border-box;padding:1.25rem 1.25rem .25rem;overflow:hidden;font:var(--tui-font-text-m);border-radius:var(--tui-radius-xl);background:var(--tui-background-elevation-3);box-shadow:var(--tui-shadow-small)}.t-image{display:flex;flex-direction:column;max-block-size:10.625rem;overflow:hidden;margin:-1.25rem -1.25rem 1.25rem}.t-close{position:absolute;top:.75rem;right:.75rem;color:#0000008a;background:#f2f2f252;-webkit-backdrop-filter:blur(1rem);backdrop-filter:blur(1rem)}.t-top{display:flex;align-items:center;font:var(--tui-font-text-s);color:var(--tui-text-secondary)}.t-icon{block-size:1.25rem;margin-right:.5rem;transform:scale(.833);transform-origin:top left;color:var(--tui-text-action)}.t-time:before{content:\"\\2022\";display:inline-block;inline-size:1rem;text-align:center}.t-heading{line-height:1.25rem;font-weight:700;margin:.75rem 0 .25rem}.t-heading,.t-content{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:
|
|
20
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: TuiPushComponent, isStandalone: true, selector: "tui-push", inputs: { heading: "heading", type: "type", lines: "lines", timestamp: "timestamp" }, outputs: { close: "close" }, host: { properties: { "style.--t-lines": "lines" } }, providers: [tuiButtonOptionsProvider({ size: 's', appearance: 'secondary' })], ngImport: i0, template: "<div class=\"t-image\">\n <ng-content select=\"img\" />\n</div>\n<button\n *ngIf=\"close.observed\"\n appearance=\"\"\n size=\"xs\"\n tuiIconButton\n type=\"button\"\n class=\"t-close\"\n [iconStart]=\"icons.close\"\n [style.border-radius.%]=\"100\"\n (click)=\"close.emit()\"\n>\n {{ closeWord$ | async }}\n</button>\n<div class=\"t-top\">\n <span class=\"t-icon\">\n <ng-content select=\"tui-svg,tui-icon\" />\n </span>\n {{ type }}\n <span\n *ngIf=\"timestamp\"\n class=\"t-time\"\n [textContent]=\"isString(timestamp) ? timestamp : (timestamp | tuiFormatDate | async)\"\n ></span>\n</div>\n<h3\n automation-id=\"tui-push__heading\"\n class=\"t-heading\"\n>\n {{ heading }}\n</h3>\n<div class=\"t-content\">\n <ng-content />\n</div>\n<div class=\"t-actions\">\n <span class=\"t-button\">\n <ng-content select=\"[tuiButton]\" />\n </span>\n <span class=\"t-link\">\n <ng-content select=\"[tuiLink]\" />\n </span>\n</div>\n", styles: [":host{position:relative;display:block;inline-size:22.5rem;max-inline-size:100%;box-sizing:border-box;padding:1.25rem 1.25rem .25rem;overflow:hidden;font:var(--tui-font-text-m);border-radius:var(--tui-radius-xl);background:var(--tui-background-elevation-3);box-shadow:var(--tui-shadow-small)}.t-image{display:flex;flex-direction:column;max-block-size:10.625rem;overflow:hidden;margin:-1.25rem -1.25rem 1.25rem}.t-close{position:absolute;top:.75rem;right:.75rem;color:#0000008a;background:#f2f2f252;-webkit-backdrop-filter:blur(1rem);backdrop-filter:blur(1rem)}.t-top{display:flex;align-items:center;font:var(--tui-font-text-s);color:var(--tui-text-secondary)}.t-icon{block-size:1.25rem;margin-right:.5rem;transform:scale(.833);transform-origin:top left;color:var(--tui-text-action)}.t-time:before{content:\"\\2022\";display:inline-block;inline-size:1rem;text-align:center}.t-heading{line-height:1.25rem;font-weight:700;margin:.75rem 0 .25rem}.t-heading,.t-content{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:var(--t-lines);word-break:break-word;overflow:hidden}.t-actions{display:flex;align-items:center;font:var(--tui-font-text-s)}.t-button:not(:empty){margin:.75rem .75rem .75rem 0}.t-link{margin:.75rem 0}.t-link:empty{margin:.5rem}\n"], dependencies: [{ kind: "pipe", type: AsyncPipe, name: "async" }, { kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: TuiButton, selector: "a[tuiButton],button[tuiButton],a[tuiIconButton],button[tuiIconButton]", inputs: ["size"] }, { kind: "pipe", type: TuiFormatDatePipe, name: "tuiFormatDate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
20
21
|
}
|
|
21
22
|
export { TuiPushComponent };
|
|
22
23
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: TuiPushComponent, decorators: [{
|
|
23
24
|
type: Component,
|
|
24
|
-
args: [{ standalone: true, selector: 'tui-push', imports: [AsyncPipe, NgIf, TuiButton, TuiFormatDatePipe], changeDetection: ChangeDetectionStrategy.OnPush, providers: [tuiButtonOptionsProvider({ size: 's', appearance: 'secondary' })],
|
|
25
|
+
args: [{ standalone: true, selector: 'tui-push', imports: [AsyncPipe, NgIf, TuiButton, TuiFormatDatePipe], changeDetection: ChangeDetectionStrategy.OnPush, providers: [tuiButtonOptionsProvider({ size: 's', appearance: 'secondary' })], host: {
|
|
26
|
+
'[style.--t-lines]': 'lines',
|
|
27
|
+
}, template: "<div class=\"t-image\">\n <ng-content select=\"img\" />\n</div>\n<button\n *ngIf=\"close.observed\"\n appearance=\"\"\n size=\"xs\"\n tuiIconButton\n type=\"button\"\n class=\"t-close\"\n [iconStart]=\"icons.close\"\n [style.border-radius.%]=\"100\"\n (click)=\"close.emit()\"\n>\n {{ closeWord$ | async }}\n</button>\n<div class=\"t-top\">\n <span class=\"t-icon\">\n <ng-content select=\"tui-svg,tui-icon\" />\n </span>\n {{ type }}\n <span\n *ngIf=\"timestamp\"\n class=\"t-time\"\n [textContent]=\"isString(timestamp) ? timestamp : (timestamp | tuiFormatDate | async)\"\n ></span>\n</div>\n<h3\n automation-id=\"tui-push__heading\"\n class=\"t-heading\"\n>\n {{ heading }}\n</h3>\n<div class=\"t-content\">\n <ng-content />\n</div>\n<div class=\"t-actions\">\n <span class=\"t-button\">\n <ng-content select=\"[tuiButton]\" />\n </span>\n <span class=\"t-link\">\n <ng-content select=\"[tuiLink]\" />\n </span>\n</div>\n", styles: [":host{position:relative;display:block;inline-size:22.5rem;max-inline-size:100%;box-sizing:border-box;padding:1.25rem 1.25rem .25rem;overflow:hidden;font:var(--tui-font-text-m);border-radius:var(--tui-radius-xl);background:var(--tui-background-elevation-3);box-shadow:var(--tui-shadow-small)}.t-image{display:flex;flex-direction:column;max-block-size:10.625rem;overflow:hidden;margin:-1.25rem -1.25rem 1.25rem}.t-close{position:absolute;top:.75rem;right:.75rem;color:#0000008a;background:#f2f2f252;-webkit-backdrop-filter:blur(1rem);backdrop-filter:blur(1rem)}.t-top{display:flex;align-items:center;font:var(--tui-font-text-s);color:var(--tui-text-secondary)}.t-icon{block-size:1.25rem;margin-right:.5rem;transform:scale(.833);transform-origin:top left;color:var(--tui-text-action)}.t-time:before{content:\"\\2022\";display:inline-block;inline-size:1rem;text-align:center}.t-heading{line-height:1.25rem;font-weight:700;margin:.75rem 0 .25rem}.t-heading,.t-content{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:var(--t-lines);word-break:break-word;overflow:hidden}.t-actions{display:flex;align-items:center;font:var(--tui-font-text-s)}.t-button:not(:empty){margin:.75rem .75rem .75rem 0}.t-link{margin:.75rem 0}.t-link:empty{margin:.5rem}\n"] }]
|
|
25
28
|
}], propDecorators: { heading: [{
|
|
26
29
|
type: Input
|
|
27
30
|
}], type: [{
|
|
28
31
|
type: Input
|
|
32
|
+
}], lines: [{
|
|
33
|
+
type: Input
|
|
29
34
|
}], timestamp: [{
|
|
30
35
|
type: Input
|
|
31
36
|
}], close: [{
|
|
32
37
|
type: Output
|
|
33
38
|
}] } });
|
|
34
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
39
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVzaC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9raXQvY29tcG9uZW50cy9wdXNoL3B1c2guY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMva2l0L2NvbXBvbmVudHMvcHVzaC9wdXNoLnRlbXBsYXRlLmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFDLFNBQVMsRUFBRSxJQUFJLEVBQUMsTUFBTSxpQkFBaUIsQ0FBQztBQUNoRCxPQUFPLEVBQ0gsdUJBQXVCLEVBQ3ZCLFNBQVMsRUFDVCxZQUFZLEVBQ1osTUFBTSxFQUNOLEtBQUssRUFDTCxNQUFNLEdBQ1QsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFDLFdBQVcsRUFBQyxNQUFNLG1DQUFtQyxDQUFDO0FBQzlELE9BQU8sRUFBQyxTQUFTLEVBQUUsd0JBQXdCLEVBQUMsTUFBTSxrQ0FBa0MsQ0FBQztBQUNyRixPQUFPLEVBQUMsaUJBQWlCLEVBQUMsTUFBTSxrQ0FBa0MsQ0FBQztBQUNuRSxPQUFPLEVBQUMsY0FBYyxFQUFFLGdCQUFnQixFQUFDLE1BQU0sdUJBQXVCLENBQUM7O0FBRXZFLE1BWWEsZ0JBQWdCO0lBWjdCO1FBYXVCLGFBQVEsR0FBRyxXQUFXLENBQUM7UUFDdkIsZUFBVSxHQUFHLE1BQU0sQ0FBQyxjQUFjLENBQUMsQ0FBQztRQUNwQyxVQUFLLEdBQUcsTUFBTSxDQUFDLGdCQUFnQixDQUFDLENBQUM7UUFHN0MsWUFBTyxHQUFHLEVBQUUsQ0FBQztRQUdiLFNBQUksR0FBRyxFQUFFLENBQUM7UUFHVixVQUFLLEdBQUcsQ0FBQyxDQUFDO1FBR1YsY0FBUyxHQUFvQixFQUFFLENBQUM7UUFHdkIsVUFBSyxHQUFHLElBQUksWUFBWSxFQUFRLENBQUM7S0FDcEQ7K0dBbkJZLGdCQUFnQjttR0FBaEIsZ0JBQWdCLGdPQUxkLENBQUMsd0JBQXdCLENBQUMsRUFBQyxJQUFJLEVBQUUsR0FBRyxFQUFFLFVBQVUsRUFBRSxXQUFXLEVBQUMsQ0FBQyxDQUFDLDBCQ3JCL0UsZ2hDQTRDQSxneUNEM0JjLFNBQVMsOENBQUUsSUFBSSw2RkFBRSxTQUFTLCtIQUFFLGlCQUFpQjs7U0FTOUMsZ0JBQWdCOzRGQUFoQixnQkFBZ0I7a0JBWjVCLFNBQVM7aUNBQ00sSUFBSSxZQUNOLFVBQVUsV0FDWCxDQUFDLFNBQVMsRUFBRSxJQUFJLEVBQUUsU0FBUyxFQUFFLGlCQUFpQixDQUFDLG1CQUd2Qyx1QkFBdUIsQ0FBQyxNQUFNLGFBQ3BDLENBQUMsd0JBQXdCLENBQUMsRUFBQyxJQUFJLEVBQUUsR0FBRyxFQUFFLFVBQVUsRUFBRSxXQUFXLEVBQUMsQ0FBQyxDQUFDLFFBQ3JFO3dCQUNGLG1CQUFtQixFQUFFLE9BQU87cUJBQy9COzhCQVFNLE9BQU87c0JBRGIsS0FBSztnQkFJQyxJQUFJO3NCQURWLEtBQUs7Z0JBSUMsS0FBSztzQkFEWCxLQUFLO2dCQUlDLFNBQVM7c0JBRGYsS0FBSztnQkFJVSxLQUFLO3NCQURwQixNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtBc3luY1BpcGUsIE5nSWZ9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQge1xuICAgIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxuICAgIENvbXBvbmVudCxcbiAgICBFdmVudEVtaXR0ZXIsXG4gICAgaW5qZWN0LFxuICAgIElucHV0LFxuICAgIE91dHB1dCxcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge3R1aUlzU3RyaW5nfSBmcm9tICdAdGFpZ2EtdWkvY2RrL3V0aWxzL21pc2NlbGxhbmVvdXMnO1xuaW1wb3J0IHtUdWlCdXR0b24sIHR1aUJ1dHRvbk9wdGlvbnNQcm92aWRlcn0gZnJvbSAnQHRhaWdhLXVpL2NvcmUvY29tcG9uZW50cy9idXR0b24nO1xuaW1wb3J0IHtUdWlGb3JtYXREYXRlUGlwZX0gZnJvbSAnQHRhaWdhLXVpL2NvcmUvcGlwZXMvZm9ybWF0LWRhdGUnO1xuaW1wb3J0IHtUVUlfQ0xPU0VfV09SRCwgVFVJX0NPTU1PTl9JQ09OU30gZnJvbSAnQHRhaWdhLXVpL2NvcmUvdG9rZW5zJztcblxuQENvbXBvbmVudCh7XG4gICAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgICBzZWxlY3RvcjogJ3R1aS1wdXNoJyxcbiAgICBpbXBvcnRzOiBbQXN5bmNQaXBlLCBOZ0lmLCBUdWlCdXR0b24sIFR1aUZvcm1hdERhdGVQaXBlXSxcbiAgICB0ZW1wbGF0ZVVybDogJy4vcHVzaC50ZW1wbGF0ZS5odG1sJyxcbiAgICBzdHlsZVVybHM6IFsnLi9wdXNoLnN0eWxlLmxlc3MnXSxcbiAgICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgICBwcm92aWRlcnM6IFt0dWlCdXR0b25PcHRpb25zUHJvdmlkZXIoe3NpemU6ICdzJywgYXBwZWFyYW5jZTogJ3NlY29uZGFyeSd9KV0sXG4gICAgaG9zdDoge1xuICAgICAgICAnW3N0eWxlLi0tdC1saW5lc10nOiAnbGluZXMnLFxuICAgIH0sXG59KVxuZXhwb3J0IGNsYXNzIFR1aVB1c2hDb21wb25lbnQge1xuICAgIHByb3RlY3RlZCByZWFkb25seSBpc1N0cmluZyA9IHR1aUlzU3RyaW5nO1xuICAgIHByb3RlY3RlZCByZWFkb25seSBjbG9zZVdvcmQkID0gaW5qZWN0KFRVSV9DTE9TRV9XT1JEKTtcbiAgICBwcm90ZWN0ZWQgcmVhZG9ubHkgaWNvbnMgPSBpbmplY3QoVFVJX0NPTU1PTl9JQ09OUyk7XG5cbiAgICBASW5wdXQoKVxuICAgIHB1YmxpYyBoZWFkaW5nID0gJyc7XG5cbiAgICBASW5wdXQoKVxuICAgIHB1YmxpYyB0eXBlID0gJyc7XG5cbiAgICBASW5wdXQoKVxuICAgIHB1YmxpYyBsaW5lcyA9IDI7XG5cbiAgICBASW5wdXQoKVxuICAgIHB1YmxpYyB0aW1lc3RhbXA6IG51bWJlciB8IHN0cmluZyA9ICcnO1xuXG4gICAgQE91dHB1dCgpXG4gICAgcHVibGljIHJlYWRvbmx5IGNsb3NlID0gbmV3IEV2ZW50RW1pdHRlcjx2b2lkPigpO1xufVxuIiwiPGRpdiBjbGFzcz1cInQtaW1hZ2VcIj5cbiAgICA8bmctY29udGVudCBzZWxlY3Q9XCJpbWdcIiAvPlxuPC9kaXY+XG48YnV0dG9uXG4gICAgKm5nSWY9XCJjbG9zZS5vYnNlcnZlZFwiXG4gICAgYXBwZWFyYW5jZT1cIlwiXG4gICAgc2l6ZT1cInhzXCJcbiAgICB0dWlJY29uQnV0dG9uXG4gICAgdHlwZT1cImJ1dHRvblwiXG4gICAgY2xhc3M9XCJ0LWNsb3NlXCJcbiAgICBbaWNvblN0YXJ0XT1cImljb25zLmNsb3NlXCJcbiAgICBbc3R5bGUuYm9yZGVyLXJhZGl1cy4lXT1cIjEwMFwiXG4gICAgKGNsaWNrKT1cImNsb3NlLmVtaXQoKVwiXG4+XG4gICAge3sgY2xvc2VXb3JkJCB8IGFzeW5jIH19XG48L2J1dHRvbj5cbjxkaXYgY2xhc3M9XCJ0LXRvcFwiPlxuICAgIDxzcGFuIGNsYXNzPVwidC1pY29uXCI+XG4gICAgICAgIDxuZy1jb250ZW50IHNlbGVjdD1cInR1aS1zdmcsdHVpLWljb25cIiAvPlxuICAgIDwvc3Bhbj5cbiAgICB7eyB0eXBlIH19XG4gICAgPHNwYW5cbiAgICAgICAgKm5nSWY9XCJ0aW1lc3RhbXBcIlxuICAgICAgICBjbGFzcz1cInQtdGltZVwiXG4gICAgICAgIFt0ZXh0Q29udGVudF09XCJpc1N0cmluZyh0aW1lc3RhbXApID8gdGltZXN0YW1wIDogKHRpbWVzdGFtcCB8IHR1aUZvcm1hdERhdGUgfCBhc3luYylcIlxuICAgID48L3NwYW4+XG48L2Rpdj5cbjxoM1xuICAgIGF1dG9tYXRpb24taWQ9XCJ0dWktcHVzaF9faGVhZGluZ1wiXG4gICAgY2xhc3M9XCJ0LWhlYWRpbmdcIlxuPlxuICAgIHt7IGhlYWRpbmcgfX1cbjwvaDM+XG48ZGl2IGNsYXNzPVwidC1jb250ZW50XCI+XG4gICAgPG5nLWNvbnRlbnQgLz5cbjwvZGl2PlxuPGRpdiBjbGFzcz1cInQtYWN0aW9uc1wiPlxuICAgIDxzcGFuIGNsYXNzPVwidC1idXR0b25cIj5cbiAgICAgICAgPG5nLWNvbnRlbnQgc2VsZWN0PVwiW3R1aUJ1dHRvbl1cIiAvPlxuICAgIDwvc3Bhbj5cbiAgICA8c3BhbiBjbGFzcz1cInQtbGlua1wiPlxuICAgICAgICA8bmctY29udGVudCBzZWxlY3Q9XCJbdHVpTGlua11cIiAvPlxuICAgIDwvc3Bhbj5cbjwvZGl2PlxuIl19
|
package/esm2022/tokens/index.mjs
CHANGED
|
@@ -4,6 +4,7 @@ export * from './i18n';
|
|
|
4
4
|
export * from './input-date-options';
|
|
5
5
|
export * from './items-handlers';
|
|
6
6
|
export * from './mobile-calendar';
|
|
7
|
+
export * from './month-formatter';
|
|
7
8
|
export * from './preview-icons';
|
|
8
9
|
export * from './validation-errors';
|
|
9
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
10
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy9raXQvdG9rZW5zL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGNBQWMsd0JBQXdCLENBQUM7QUFDdkMsY0FBYyxrQ0FBa0MsQ0FBQztBQUNqRCxjQUFjLFFBQVEsQ0FBQztBQUN2QixjQUFjLHNCQUFzQixDQUFDO0FBQ3JDLGNBQWMsa0JBQWtCLENBQUM7QUFDakMsY0FBYyxtQkFBbUIsQ0FBQztBQUNsQyxjQUFjLG1CQUFtQixDQUFDO0FBQ2xDLGNBQWMsaUJBQWlCLENBQUM7QUFDaEMsY0FBYyxxQkFBcUIsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gJy4vY2FsZW5kYXItZGF0ZS1zdHJlYW0nO1xuZXhwb3J0ICogZnJvbSAnLi9kYXRlLWlucHV0cy12YWx1ZS10cmFuc2Zvcm1lcnMnO1xuZXhwb3J0ICogZnJvbSAnLi9pMThuJztcbmV4cG9ydCAqIGZyb20gJy4vaW5wdXQtZGF0ZS1vcHRpb25zJztcbmV4cG9ydCAqIGZyb20gJy4vaXRlbXMtaGFuZGxlcnMnO1xuZXhwb3J0ICogZnJvbSAnLi9tb2JpbGUtY2FsZW5kYXInO1xuZXhwb3J0ICogZnJvbSAnLi9tb250aC1mb3JtYXR0ZXInO1xuZXhwb3J0ICogZnJvbSAnLi9wcmV2aWV3LWljb25zJztcbmV4cG9ydCAqIGZyb20gJy4vdmFsaWRhdGlvbi1lcnJvcnMnO1xuIl19
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import { inject } from '@angular/core';
|
|
2
|
+
import { tuiCreateTokenFromFactory } from '@taiga-ui/cdk/utils/miscellaneous';
|
|
3
|
+
import { TUI_MONTHS } from '@taiga-ui/core/tokens';
|
|
4
|
+
import { map } from 'rxjs';
|
|
5
|
+
export const TUI_MONTH_FORMATTER = tuiCreateTokenFromFactory(() => inject(TUI_MONTHS).pipe(map((months) => (date) => {
|
|
6
|
+
if (!date) {
|
|
7
|
+
return '';
|
|
8
|
+
}
|
|
9
|
+
return `${months[date.month] ?? ''} ${date.formattedYear}`;
|
|
10
|
+
})));
|
|
11
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9udGgtZm9ybWF0dGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcHJvamVjdHMva2l0L3Rva2Vucy9tb250aC1mb3JtYXR0ZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFDLE1BQU0sRUFBQyxNQUFNLGVBQWUsQ0FBQztBQUdyQyxPQUFPLEVBQUMseUJBQXlCLEVBQUMsTUFBTSxtQ0FBbUMsQ0FBQztBQUM1RSxPQUFPLEVBQUMsVUFBVSxFQUFDLE1BQU0sdUJBQXVCLENBQUM7QUFFakQsT0FBTyxFQUFDLEdBQUcsRUFBQyxNQUFNLE1BQU0sQ0FBQztBQUV6QixNQUFNLENBQUMsTUFBTSxtQkFBbUIsR0FBRyx5QkFBeUIsQ0FFMUQsR0FBRyxFQUFFLENBQ0gsTUFBTSxDQUFDLFVBQVUsQ0FBQyxDQUFDLElBQUksQ0FDbkIsR0FBRyxDQUFDLENBQUMsTUFBTSxFQUFFLEVBQUUsQ0FBQyxDQUFDLElBQUksRUFBRSxFQUFFO0lBQ3JCLElBQUksQ0FBQyxJQUFJLEVBQUU7UUFDUCxPQUFPLEVBQUUsQ0FBQztLQUNiO0lBRUQsT0FBTyxHQUFHLE1BQU0sQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksRUFBRSxJQUFJLElBQUksQ0FBQyxhQUFhLEVBQUUsQ0FBQztBQUMvRCxDQUFDLENBQUMsQ0FDTCxDQUNKLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge2luamVjdH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgdHlwZSB7VHVpTW9udGh9IGZyb20gJ0B0YWlnYS11aS9jZGsvZGF0ZS10aW1lJztcbmltcG9ydCB0eXBlIHtUdWlIYW5kbGVyfSBmcm9tICdAdGFpZ2EtdWkvY2RrL3R5cGVzJztcbmltcG9ydCB7dHVpQ3JlYXRlVG9rZW5Gcm9tRmFjdG9yeX0gZnJvbSAnQHRhaWdhLXVpL2Nkay91dGlscy9taXNjZWxsYW5lb3VzJztcbmltcG9ydCB7VFVJX01PTlRIU30gZnJvbSAnQHRhaWdhLXVpL2NvcmUvdG9rZW5zJztcbmltcG9ydCB0eXBlIHtPYnNlcnZhYmxlfSBmcm9tICdyeGpzJztcbmltcG9ydCB7bWFwfSBmcm9tICdyeGpzJztcblxuZXhwb3J0IGNvbnN0IFRVSV9NT05USF9GT1JNQVRURVIgPSB0dWlDcmVhdGVUb2tlbkZyb21GYWN0b3J5PFxuICAgIE9ic2VydmFibGU8VHVpSGFuZGxlcjxUdWlNb250aCB8IG51bGwsIHN0cmluZz4+XG4+KCgpID0+XG4gICAgaW5qZWN0KFRVSV9NT05USFMpLnBpcGUoXG4gICAgICAgIG1hcCgobW9udGhzKSA9PiAoZGF0ZSkgPT4ge1xuICAgICAgICAgICAgaWYgKCFkYXRlKSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuICcnO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICByZXR1cm4gYCR7bW9udGhzW2RhdGUubW9udGhdID8/ICcnfSAke2RhdGUuZm9ybWF0dGVkWWVhcn1gO1xuICAgICAgICB9KSxcbiAgICApLFxuKTtcbiJdfQ==
|
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
import { __decorate } from 'tslib';
|
|
2
|
-
import { NgIf
|
|
2
|
+
import { NgIf } from '@angular/common';
|
|
3
3
|
import * as i0 from '@angular/core';
|
|
4
|
-
import { inject, EventEmitter, Component, ChangeDetectionStrategy, Input, Output } from '@angular/core';
|
|
4
|
+
import { inject, computed, EventEmitter, signal, Component, ChangeDetectionStrategy, Input, Output } from '@angular/core';
|
|
5
5
|
import { toSignal } from '@angular/core/rxjs-interop';
|
|
6
6
|
import { TUI_FALSE_HANDLER } from '@taiga-ui/cdk/constants';
|
|
7
|
-
import { TuiDay, TUI_FIRST_DAY, TUI_LAST_DAY,
|
|
7
|
+
import { TuiDay, TuiMonthRange, TUI_FIRST_DAY, TUI_LAST_DAY, TuiMonth, TuiYear } from '@taiga-ui/cdk/date-time';
|
|
8
8
|
import { TuiHovered } from '@taiga-ui/cdk/directives/hovered';
|
|
9
9
|
import { TuiLet } from '@taiga-ui/cdk/directives/let';
|
|
10
10
|
import { TuiRepeatTimes } from '@taiga-ui/cdk/directives/repeat-times';
|
|
@@ -13,6 +13,7 @@ import { TuiCalendarYear } from '@taiga-ui/core/components/calendar';
|
|
|
13
13
|
import { TuiLink } from '@taiga-ui/core/components/link';
|
|
14
14
|
import { TuiScrollbar } from '@taiga-ui/core/components/scrollbar';
|
|
15
15
|
import { TuiSpinButton } from '@taiga-ui/core/components/spin-button';
|
|
16
|
+
import { tuiAsAuxiliary } from '@taiga-ui/core/components/textfield';
|
|
16
17
|
import { TUI_CALENDAR_MONTHS } from '@taiga-ui/kit/tokens';
|
|
17
18
|
|
|
18
19
|
const TODAY = TuiDay.currentLocal();
|
|
@@ -20,20 +21,30 @@ class TuiCalendarMonth {
|
|
|
20
21
|
constructor() {
|
|
21
22
|
this.isYearPickerShown = false;
|
|
22
23
|
this.months = toSignal(inject(TUI_CALENDAR_MONTHS));
|
|
23
|
-
this.
|
|
24
|
+
this.isSingle = computed((x = this.value()) => x instanceof TuiMonthRange && x.isSingleMonth);
|
|
24
25
|
this.year = TODAY;
|
|
25
26
|
this.disabledItemHandler = TUI_FALSE_HANDLER;
|
|
26
27
|
this.minLength = null;
|
|
27
28
|
this.maxLength = null;
|
|
28
|
-
this.min = TUI_FIRST_DAY;
|
|
29
|
-
this.max = TUI_LAST_DAY;
|
|
30
29
|
this.monthClick = new EventEmitter();
|
|
31
30
|
this.hoveredItemChange = new EventEmitter();
|
|
32
31
|
this.yearChange = new EventEmitter();
|
|
32
|
+
this.min = signal(TUI_FIRST_DAY);
|
|
33
|
+
this.max = signal(TUI_LAST_DAY);
|
|
34
|
+
this.value = signal(null);
|
|
33
35
|
this.hoveredItem = null;
|
|
34
36
|
}
|
|
35
|
-
|
|
36
|
-
|
|
37
|
+
// TODO(v5): use signal inputs
|
|
38
|
+
set minSetter(x) {
|
|
39
|
+
this.min.set(x);
|
|
40
|
+
}
|
|
41
|
+
// TODO(v5): use signal inputs
|
|
42
|
+
set maxSetter(x) {
|
|
43
|
+
this.max.set(x);
|
|
44
|
+
}
|
|
45
|
+
// TODO(v5): use signal inputs
|
|
46
|
+
set valueSetter(x) {
|
|
47
|
+
this.value.set(x);
|
|
37
48
|
}
|
|
38
49
|
onNextYear() {
|
|
39
50
|
this.updateActiveYear(this.year.append({ year: 1 }));
|
|
@@ -42,7 +53,8 @@ class TuiCalendarMonth {
|
|
|
42
53
|
this.updateActiveYear(this.year.append({ year: -1 }));
|
|
43
54
|
}
|
|
44
55
|
getItemRange(item) {
|
|
45
|
-
const
|
|
56
|
+
const value = this.value();
|
|
57
|
+
const { hoveredItem } = this;
|
|
46
58
|
if (!(value instanceof TuiMonthRange)) {
|
|
47
59
|
return value?.monthSame(item) ? 'active' : null;
|
|
48
60
|
}
|
|
@@ -50,7 +62,7 @@ class TuiCalendarMonth {
|
|
|
50
62
|
const hovered = hoveredItem ? hoveredItem.month + hoveredItem.year * 12 : null;
|
|
51
63
|
const from = value.from.month + value.from.year * 12;
|
|
52
64
|
const to = value.to.month + value.to.year * 12;
|
|
53
|
-
const picking = this.isSingle ? hovered : null;
|
|
65
|
+
const picking = this.isSingle() ? hovered : null;
|
|
54
66
|
const min = Math.min(from, to, picking ?? from);
|
|
55
67
|
const max = Math.max(from, to, picking ?? from);
|
|
56
68
|
if (min === max && min === months) {
|
|
@@ -64,20 +76,8 @@ class TuiCalendarMonth {
|
|
|
64
76
|
}
|
|
65
77
|
return min < months && months < max ? 'middle' : null;
|
|
66
78
|
}
|
|
67
|
-
get computedMin() {
|
|
68
|
-
return this.min ?? TUI_FIRST_DAY;
|
|
69
|
-
}
|
|
70
|
-
get computedMax() {
|
|
71
|
-
return this.max ?? TUI_LAST_DAY;
|
|
72
|
-
}
|
|
73
|
-
get previousYearDisabled() {
|
|
74
|
-
return this.year.yearSameOrBefore(this.computedMin);
|
|
75
|
-
}
|
|
76
|
-
get nextYearDisabled() {
|
|
77
|
-
return this.year.yearSameOrAfter(this.computedMax);
|
|
78
|
-
}
|
|
79
79
|
get disabledItemHandlerWithMinMax() {
|
|
80
|
-
return this.calculateDisabledItemHandlerWithMinMax(this.disabledItemHandler, this.value, this.
|
|
80
|
+
return this.calculateDisabledItemHandlerWithMinMax(this.disabledItemHandler, this.value(), this.min(), this.max(), this.minLength, this.maxLength);
|
|
81
81
|
}
|
|
82
82
|
getTuiMonth(monthNumber, yearNumber) {
|
|
83
83
|
return new TuiMonth(yearNumber, monthNumber);
|
|
@@ -132,7 +132,7 @@ class TuiCalendarMonth {
|
|
|
132
132
|
this.yearChange.emit(year);
|
|
133
133
|
}
|
|
134
134
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: TuiCalendarMonth, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
135
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "
|
|
135
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "16.1.0", version: "16.2.12", type: TuiCalendarMonth, isStandalone: true, selector: "tui-calendar-month", inputs: { year: "year", disabledItemHandler: "disabledItemHandler", minLength: "minLength", maxLength: "maxLength", minSetter: ["min", "minSetter", (x) => x ?? TUI_FIRST_DAY], maxSetter: ["max", "maxSetter", (x) => x ?? TUI_LAST_DAY], valueSetter: ["value", "valueSetter"] }, outputs: { monthClick: "monthClick", hoveredItemChange: "hoveredItemChange", yearChange: "yearChange" }, host: { properties: { "class._picking": "isSingle()" } }, providers: [tuiAsAuxiliary(TuiCalendarMonth)], ngImport: i0, template: "<tui-scrollbar\n *ngIf=\"isYearPickerShown; else monthSelect\"\n class=\"t-scrollbar\"\n>\n <tui-calendar-year\n [initialItem]=\"year.year\"\n [max]=\"max().year\"\n [min]=\"min().year\"\n [value]=\"value()\"\n (yearClick)=\"onPickerYearClick($event)\"\n />\n</tui-scrollbar>\n<ng-template #monthSelect>\n <tui-spin-button\n class=\"t-spin\"\n [focusable]=\"false\"\n [leftDisabled]=\"year.yearSameOrBefore(min())\"\n [rightDisabled]=\"year.yearSameOrAfter(max())\"\n (leftClick)=\"onPreviousYear()\"\n (rightClick)=\"onNextYear()\"\n >\n <button\n automation-id=\"tui-calendar-month__active-year\"\n tabIndex=\"-1\"\n tuiLink\n type=\"button\"\n (click)=\"onYearClick()\"\n >\n {{ year.formattedYear }}\n </button>\n </tui-spin-button>\n <div\n *tuiRepeatTimes=\"let row of 3\"\n class=\"t-row\"\n >\n <ng-container *tuiRepeatTimes=\"let column of 4\">\n <div\n *tuiLet=\"getTuiMonth(row * 4 + column, year.year) as item\"\n class=\"t-cell\"\n [attr.data-range]=\"getItemRange(item)\"\n [class.t-cell_disabled]=\"disabledItemHandlerWithMinMax(item)\"\n [class.t-cell_today]=\"isItemToday(item)\"\n (click)=\"onItemClick(item)\"\n (tuiHoveredChange)=\"onItemHovered($event, item)\"\n >\n {{ months()?.[row * 4 + column] }}\n </div>\n </ng-container>\n </div>\n</ng-template>\n", styles: [".t-row{display:flex;justify-content:flex-start;font:var(--tui-font-text-m)}.t-row:first-child{justify-content:flex-end}.t-row:last-child{justify-content:flex-start}.t-cell{position:relative;display:flex;align-items:center;justify-content:center;line-height:2rem;isolation:isolate;cursor:pointer;overflow:hidden;border:.125rem solid transparent;box-sizing:border-box;-webkit-mask:linear-gradient(transparent calc(50% - 1rem),#000 calc(50% - 1rem),#000 calc(50% + 1rem),transparent calc(50% + 1rem));mask:linear-gradient(transparent calc(50% - 1rem),#000 calc(50% - 1rem),#000 calc(50% + 1rem),transparent calc(50% + 1rem))}.t-cell:first-child{border-inline-start-color:transparent!important}.t-cell:last-child{border-inline-end-color:transparent!important}.t-cell:before,.t-cell:after{position:absolute;top:0;left:0;bottom:0;right:0;content:\"\";z-index:-1;border-radius:var(--tui-radius-m)}.t-cell:after{-webkit-mask:url('data:image/svg+xml,<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 12 32\"><path d=\"M0.2856 0L0.6763 0C2.9265 0 4.9876 1.259 6.0147 3.2611L10.2442 11.5048C11.5301 14.0113 11.5683 16.9754 10.3472 19.5141L5.9766 28.6007C4.9772 30.6786 2.8754 32 0.5696 32H0.285645V0Z\"></path></svg>') right / .75rem 100% no-repeat,linear-gradient(#000,#000) left / calc(100% - .7rem) 100% no-repeat;mask:url('data:image/svg+xml,<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 12 32\"><path d=\"M0.2856 0L0.6763 0C2.9265 0 4.9876 1.259 6.0147 3.2611L10.2442 11.5048C11.5301 14.0113 11.5683 16.9754 10.3472 19.5141L5.9766 28.6007C4.9772 30.6786 2.8754 32 0.5696 32H0.285645V0Z\"></path></svg>') right / .75rem 100% no-repeat,linear-gradient(#000,#000) left / calc(100% - .7rem) 100% no-repeat}.t-cell[data-range]:before{background:var(--tui-background-neutral-1)}:host._picking .t-cell[data-range]:before{background:var(--tui-background-neutral-1-hover)}.t-cell[data-range=middle]{border-color:var(--tui-background-neutral-1)}:host._picking .t-cell[data-range=middle]{border-color:var(--tui-background-neutral-1-hover)}.t-cell[data-range=middle]:not(:first-child):before{border-top-left-radius:0;border-bottom-left-radius:0}.t-cell[data-range=middle]:not(:last-child):before{border-top-right-radius:0;border-bottom-right-radius:0}.t-cell[data-range=start]{border-inline-end-color:var(--tui-background-neutral-1);color:var(--tui-text-primary-on-accent-1)}:host._picking .t-cell[data-range=start]{border-inline-end-color:var(--tui-background-neutral-1-hover)}.t-cell[data-range=start]:not(:last-child):before{right:-1rem}.t-cell[data-range=start]:after{background:var(--tui-background-accent-1)}.t-cell[data-range=end]{border-inline-start-color:var(--tui-background-neutral-1);color:var(--tui-text-primary-on-accent-1)}:host._picking .t-cell[data-range=end]{border-inline-start-color:var(--tui-background-neutral-1-hover)}.t-cell[data-range=end]:not(:first-child):before{left:-1rem}.t-cell[data-range=end]:after{background:var(--tui-background-accent-1);transform:scaleX(-1)}.t-cell[data-range=active]{color:var(--tui-text-primary-on-accent-1)}.t-cell[data-range=active]:after{background:var(--tui-background-accent-1);-webkit-mask:none;mask:none}.t-cell_disabled{opacity:var(--tui-disabled-opacity);pointer-events:none}.t-cell_today{text-decoration:underline;text-underline-offset:.25rem}@media (hover: hover) and (pointer: fine){.t-cell:hover:not([data-range=start]):not([data-range=end]):before{background:var(--tui-background-neutral-1-hover)}.t-cell[data-range=start]:hover:after,.t-cell[data-range=end]:hover:after,.t-cell[data-range=active]:hover:after{background:var(--tui-background-accent-1-hover)}}:host{display:block;block-size:12rem;inline-size:16rem;padding:1.125rem;box-sizing:content-box}.t-spin{margin-block-end:1rem}.t-cell{inline-size:4rem;border-block-start-width:.75rem;border-block-end-width:.75rem}.t-scrollbar{block-size:inherit;inline-size:inherit}\n"], dependencies: [{ kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: TuiCalendarYear, selector: "tui-calendar-year", inputs: ["value", "initialItem", "min", "max", "disabledItemHandler"], outputs: ["yearClick"] }, { kind: "directive", type: TuiHovered, selector: "[tuiHoveredChange]", outputs: ["tuiHoveredChange"] }, { kind: "directive", type: TuiLet, selector: "[tuiLet]", inputs: ["tuiLet"] }, { kind: "directive", type: TuiLink, selector: "a[tuiLink], button[tuiLink]", inputs: ["pseudo"] }, { kind: "directive", type: TuiRepeatTimes, selector: "[tuiRepeatTimes][tuiRepeatTimesOf]", inputs: ["tuiRepeatTimesOf"] }, { kind: "component", type: TuiScrollbar, selector: "tui-scrollbar", inputs: ["hidden"] }, { kind: "component", type: TuiSpinButton, selector: "tui-spin-button", inputs: ["focusable", "disabled", "leftDisabled", "rightDisabled"], outputs: ["leftClick", "rightClick"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
136
136
|
}
|
|
137
137
|
__decorate([
|
|
138
138
|
tuiPure
|
|
@@ -140,8 +140,6 @@ __decorate([
|
|
|
140
140
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: TuiCalendarMonth, decorators: [{
|
|
141
141
|
type: Component,
|
|
142
142
|
args: [{ standalone: true, selector: 'tui-calendar-month', imports: [
|
|
143
|
-
AsyncPipe,
|
|
144
|
-
NgForOf,
|
|
145
143
|
NgIf,
|
|
146
144
|
TuiCalendarYear,
|
|
147
145
|
TuiHovered,
|
|
@@ -150,12 +148,10 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
|
|
|
150
148
|
TuiRepeatTimes,
|
|
151
149
|
TuiScrollbar,
|
|
152
150
|
TuiSpinButton,
|
|
153
|
-
], changeDetection: ChangeDetectionStrategy.OnPush, host: {
|
|
154
|
-
'[class._picking]': 'isSingle',
|
|
155
|
-
}, template: "<tui-scrollbar\n *ngIf=\"isYearPickerShown; else monthSelect\"\n class=\"t-scrollbar\"\n>\n <tui-calendar-year\n [initialItem]=\"year.year\"\n [max]=\"
|
|
156
|
-
}], propDecorators: {
|
|
157
|
-
type: Input
|
|
158
|
-
}], year: [{
|
|
151
|
+
], changeDetection: ChangeDetectionStrategy.OnPush, providers: [tuiAsAuxiliary(TuiCalendarMonth)], host: {
|
|
152
|
+
'[class._picking]': 'isSingle()',
|
|
153
|
+
}, template: "<tui-scrollbar\n *ngIf=\"isYearPickerShown; else monthSelect\"\n class=\"t-scrollbar\"\n>\n <tui-calendar-year\n [initialItem]=\"year.year\"\n [max]=\"max().year\"\n [min]=\"min().year\"\n [value]=\"value()\"\n (yearClick)=\"onPickerYearClick($event)\"\n />\n</tui-scrollbar>\n<ng-template #monthSelect>\n <tui-spin-button\n class=\"t-spin\"\n [focusable]=\"false\"\n [leftDisabled]=\"year.yearSameOrBefore(min())\"\n [rightDisabled]=\"year.yearSameOrAfter(max())\"\n (leftClick)=\"onPreviousYear()\"\n (rightClick)=\"onNextYear()\"\n >\n <button\n automation-id=\"tui-calendar-month__active-year\"\n tabIndex=\"-1\"\n tuiLink\n type=\"button\"\n (click)=\"onYearClick()\"\n >\n {{ year.formattedYear }}\n </button>\n </tui-spin-button>\n <div\n *tuiRepeatTimes=\"let row of 3\"\n class=\"t-row\"\n >\n <ng-container *tuiRepeatTimes=\"let column of 4\">\n <div\n *tuiLet=\"getTuiMonth(row * 4 + column, year.year) as item\"\n class=\"t-cell\"\n [attr.data-range]=\"getItemRange(item)\"\n [class.t-cell_disabled]=\"disabledItemHandlerWithMinMax(item)\"\n [class.t-cell_today]=\"isItemToday(item)\"\n (click)=\"onItemClick(item)\"\n (tuiHoveredChange)=\"onItemHovered($event, item)\"\n >\n {{ months()?.[row * 4 + column] }}\n </div>\n </ng-container>\n </div>\n</ng-template>\n", styles: [".t-row{display:flex;justify-content:flex-start;font:var(--tui-font-text-m)}.t-row:first-child{justify-content:flex-end}.t-row:last-child{justify-content:flex-start}.t-cell{position:relative;display:flex;align-items:center;justify-content:center;line-height:2rem;isolation:isolate;cursor:pointer;overflow:hidden;border:.125rem solid transparent;box-sizing:border-box;-webkit-mask:linear-gradient(transparent calc(50% - 1rem),#000 calc(50% - 1rem),#000 calc(50% + 1rem),transparent calc(50% + 1rem));mask:linear-gradient(transparent calc(50% - 1rem),#000 calc(50% - 1rem),#000 calc(50% + 1rem),transparent calc(50% + 1rem))}.t-cell:first-child{border-inline-start-color:transparent!important}.t-cell:last-child{border-inline-end-color:transparent!important}.t-cell:before,.t-cell:after{position:absolute;top:0;left:0;bottom:0;right:0;content:\"\";z-index:-1;border-radius:var(--tui-radius-m)}.t-cell:after{-webkit-mask:url('data:image/svg+xml,<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 12 32\"><path d=\"M0.2856 0L0.6763 0C2.9265 0 4.9876 1.259 6.0147 3.2611L10.2442 11.5048C11.5301 14.0113 11.5683 16.9754 10.3472 19.5141L5.9766 28.6007C4.9772 30.6786 2.8754 32 0.5696 32H0.285645V0Z\"></path></svg>') right / .75rem 100% no-repeat,linear-gradient(#000,#000) left / calc(100% - .7rem) 100% no-repeat;mask:url('data:image/svg+xml,<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 12 32\"><path d=\"M0.2856 0L0.6763 0C2.9265 0 4.9876 1.259 6.0147 3.2611L10.2442 11.5048C11.5301 14.0113 11.5683 16.9754 10.3472 19.5141L5.9766 28.6007C4.9772 30.6786 2.8754 32 0.5696 32H0.285645V0Z\"></path></svg>') right / .75rem 100% no-repeat,linear-gradient(#000,#000) left / calc(100% - .7rem) 100% no-repeat}.t-cell[data-range]:before{background:var(--tui-background-neutral-1)}:host._picking .t-cell[data-range]:before{background:var(--tui-background-neutral-1-hover)}.t-cell[data-range=middle]{border-color:var(--tui-background-neutral-1)}:host._picking .t-cell[data-range=middle]{border-color:var(--tui-background-neutral-1-hover)}.t-cell[data-range=middle]:not(:first-child):before{border-top-left-radius:0;border-bottom-left-radius:0}.t-cell[data-range=middle]:not(:last-child):before{border-top-right-radius:0;border-bottom-right-radius:0}.t-cell[data-range=start]{border-inline-end-color:var(--tui-background-neutral-1);color:var(--tui-text-primary-on-accent-1)}:host._picking .t-cell[data-range=start]{border-inline-end-color:var(--tui-background-neutral-1-hover)}.t-cell[data-range=start]:not(:last-child):before{right:-1rem}.t-cell[data-range=start]:after{background:var(--tui-background-accent-1)}.t-cell[data-range=end]{border-inline-start-color:var(--tui-background-neutral-1);color:var(--tui-text-primary-on-accent-1)}:host._picking .t-cell[data-range=end]{border-inline-start-color:var(--tui-background-neutral-1-hover)}.t-cell[data-range=end]:not(:first-child):before{left:-1rem}.t-cell[data-range=end]:after{background:var(--tui-background-accent-1);transform:scaleX(-1)}.t-cell[data-range=active]{color:var(--tui-text-primary-on-accent-1)}.t-cell[data-range=active]:after{background:var(--tui-background-accent-1);-webkit-mask:none;mask:none}.t-cell_disabled{opacity:var(--tui-disabled-opacity);pointer-events:none}.t-cell_today{text-decoration:underline;text-underline-offset:.25rem}@media (hover: hover) and (pointer: fine){.t-cell:hover:not([data-range=start]):not([data-range=end]):before{background:var(--tui-background-neutral-1-hover)}.t-cell[data-range=start]:hover:after,.t-cell[data-range=end]:hover:after,.t-cell[data-range=active]:hover:after{background:var(--tui-background-accent-1-hover)}}:host{display:block;block-size:12rem;inline-size:16rem;padding:1.125rem;box-sizing:content-box}.t-spin{margin-block-end:1rem}.t-cell{inline-size:4rem;border-block-start-width:.75rem;border-block-end-width:.75rem}.t-scrollbar{block-size:inherit;inline-size:inherit}\n"] }]
|
|
154
|
+
}], propDecorators: { year: [{
|
|
159
155
|
type: Input
|
|
160
156
|
}], disabledItemHandler: [{
|
|
161
157
|
type: Input
|
|
@@ -163,16 +159,21 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
|
|
|
163
159
|
type: Input
|
|
164
160
|
}], maxLength: [{
|
|
165
161
|
type: Input
|
|
166
|
-
}], min: [{
|
|
167
|
-
type: Input
|
|
168
|
-
}], max: [{
|
|
169
|
-
type: Input
|
|
170
162
|
}], monthClick: [{
|
|
171
163
|
type: Output
|
|
172
164
|
}], hoveredItemChange: [{
|
|
173
165
|
type: Output
|
|
174
166
|
}], yearChange: [{
|
|
175
167
|
type: Output
|
|
168
|
+
}], minSetter: [{
|
|
169
|
+
type: Input,
|
|
170
|
+
args: [{ alias: 'min', transform: (x) => x ?? TUI_FIRST_DAY }]
|
|
171
|
+
}], maxSetter: [{
|
|
172
|
+
type: Input,
|
|
173
|
+
args: [{ alias: 'max', transform: (x) => x ?? TUI_LAST_DAY }]
|
|
174
|
+
}], valueSetter: [{
|
|
175
|
+
type: Input,
|
|
176
|
+
args: ['value']
|
|
176
177
|
}], calculateDisabledItemHandlerWithMinMax: [] } });
|
|
177
178
|
|
|
178
179
|
/**
|