@luoxiao123/angular-material-date-time-range-picker 21.0.0 → 21.0.1
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.
|
@@ -21,110 +21,6 @@ import { MatButtonModule } from '@angular/material/button';
|
|
|
21
21
|
import * as i1$2 from '@angular/cdk/bidi';
|
|
22
22
|
import { MatBottomSheet } from '@angular/material/bottom-sheet';
|
|
23
23
|
|
|
24
|
-
const _c0$1 = ["*"];
|
|
25
|
-
function Container_Conditional_1_Conditional_3_Template(rf, ctx) { if (rf & 1) {
|
|
26
|
-
i0.ɵɵelementStart(0, "h2", 6);
|
|
27
|
-
i0.ɵɵtext(1);
|
|
28
|
-
i0.ɵɵelementEnd();
|
|
29
|
-
} if (rf & 2) {
|
|
30
|
-
const ctx_r1 = i0.ɵɵnextContext(2);
|
|
31
|
-
i0.ɵɵadvance();
|
|
32
|
-
i0.ɵɵtextInterpolate(ctx_r1.headerTitle());
|
|
33
|
-
} }
|
|
34
|
-
function Container_Conditional_1_Conditional_4_ng_container_1_Template(rf, ctx) { if (rf & 1) {
|
|
35
|
-
i0.ɵɵelementContainer(0);
|
|
36
|
-
} }
|
|
37
|
-
function Container_Conditional_1_Conditional_4_Template(rf, ctx) { if (rf & 1) {
|
|
38
|
-
i0.ɵɵelementStart(0, "div", 7);
|
|
39
|
-
i0.ɵɵtemplate(1, Container_Conditional_1_Conditional_4_ng_container_1_Template, 1, 0, "ng-container", 10);
|
|
40
|
-
i0.ɵɵelementEnd();
|
|
41
|
-
} if (rf & 2) {
|
|
42
|
-
const ctx_r1 = i0.ɵɵnextContext(2);
|
|
43
|
-
i0.ɵɵadvance();
|
|
44
|
-
i0.ɵɵproperty("ngTemplateOutlet", ctx_r1.headerExtraContent() ?? null);
|
|
45
|
-
} }
|
|
46
|
-
function Container_Conditional_1_Template(rf, ctx) { if (rf & 1) {
|
|
47
|
-
const _r1 = i0.ɵɵgetCurrentView();
|
|
48
|
-
i0.ɵɵelementStart(0, "header", 1)(1, "div", 4);
|
|
49
|
-
i0.ɵɵelement(2, "i-tabler", 5);
|
|
50
|
-
i0.ɵɵconditionalCreate(3, Container_Conditional_1_Conditional_3_Template, 2, 1, "h2", 6);
|
|
51
|
-
i0.ɵɵelementEnd();
|
|
52
|
-
i0.ɵɵconditionalCreate(4, Container_Conditional_1_Conditional_4_Template, 2, 1, "div", 7);
|
|
53
|
-
i0.ɵɵelementStart(5, "button", 8);
|
|
54
|
-
i0.ɵɵlistener("click", function Container_Conditional_1_Template_button_click_5_listener() { i0.ɵɵrestoreView(_r1); const ctx_r1 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r1.dismiss.emit()); });
|
|
55
|
-
i0.ɵɵelement(6, "i-tabler", 9);
|
|
56
|
-
i0.ɵɵelementEnd()();
|
|
57
|
-
} if (rf & 2) {
|
|
58
|
-
const ctx_r1 = i0.ɵɵnextContext();
|
|
59
|
-
i0.ɵɵadvance(3);
|
|
60
|
-
i0.ɵɵconditional(ctx_r1.headerTitle() ? 3 : -1);
|
|
61
|
-
i0.ɵɵadvance();
|
|
62
|
-
i0.ɵɵconditional(ctx_r1.headerExtraContent() ? 4 : -1);
|
|
63
|
-
i0.ɵɵadvance();
|
|
64
|
-
i0.ɵɵattribute("aria-label", "\u5173\u95ED");
|
|
65
|
-
} }
|
|
66
|
-
function Container_Conditional_4_Conditional_1_ng_container_1_Template(rf, ctx) { if (rf & 1) {
|
|
67
|
-
i0.ɵɵelementContainer(0);
|
|
68
|
-
} }
|
|
69
|
-
function Container_Conditional_4_Conditional_1_Template(rf, ctx) { if (rf & 1) {
|
|
70
|
-
i0.ɵɵelementStart(0, "div", 11);
|
|
71
|
-
i0.ɵɵtemplate(1, Container_Conditional_4_Conditional_1_ng_container_1_Template, 1, 0, "ng-container", 10);
|
|
72
|
-
i0.ɵɵelementEnd();
|
|
73
|
-
} if (rf & 2) {
|
|
74
|
-
const ctx_r1 = i0.ɵɵnextContext(2);
|
|
75
|
-
i0.ɵɵadvance();
|
|
76
|
-
i0.ɵɵproperty("ngTemplateOutlet", ctx_r1.footerExtraContent() ?? null);
|
|
77
|
-
} }
|
|
78
|
-
function Container_Conditional_4_Conditional_3_Template(rf, ctx) { if (rf & 1) {
|
|
79
|
-
const _r3 = i0.ɵɵgetCurrentView();
|
|
80
|
-
i0.ɵɵelementStart(0, "button", 16);
|
|
81
|
-
i0.ɵɵlistener("click", function Container_Conditional_4_Conditional_3_Template_button_click_0_listener() { i0.ɵɵrestoreView(_r3); const ctx_r1 = i0.ɵɵnextContext(2); return i0.ɵɵresetView(ctx_r1.dismiss.emit()); });
|
|
82
|
-
i0.ɵɵtext(1, " \u53D6\u6D88 ");
|
|
83
|
-
i0.ɵɵelementEnd();
|
|
84
|
-
} }
|
|
85
|
-
function Container_Conditional_4_Conditional_4_Template(rf, ctx) { if (rf & 1) {
|
|
86
|
-
const _r4 = i0.ɵɵgetCurrentView();
|
|
87
|
-
i0.ɵɵelementStart(0, "button", 17);
|
|
88
|
-
i0.ɵɵlistener("click", function Container_Conditional_4_Conditional_4_Template_button_click_0_listener() { i0.ɵɵrestoreView(_r4); const ctx_r1 = i0.ɵɵnextContext(2); return i0.ɵɵresetView(ctx_r1.secondaryButton.emit()); });
|
|
89
|
-
i0.ɵɵtext(1);
|
|
90
|
-
i0.ɵɵelementEnd();
|
|
91
|
-
} if (rf & 2) {
|
|
92
|
-
const ctx_r1 = i0.ɵɵnextContext(2);
|
|
93
|
-
i0.ɵɵproperty("disabled", ctx_r1.disabledSecondaryButton());
|
|
94
|
-
i0.ɵɵadvance();
|
|
95
|
-
i0.ɵɵtextInterpolate1(" ", ctx_r1.secondaryButtonTitle(), " ");
|
|
96
|
-
} }
|
|
97
|
-
function Container_Conditional_4_Conditional_5_Template(rf, ctx) { if (rf & 1) {
|
|
98
|
-
const _r5 = i0.ɵɵgetCurrentView();
|
|
99
|
-
i0.ɵɵelementStart(0, "button", 18);
|
|
100
|
-
i0.ɵɵlistener("click", function Container_Conditional_4_Conditional_5_Template_button_click_0_listener() { i0.ɵɵrestoreView(_r5); const ctx_r1 = i0.ɵɵnextContext(2); return i0.ɵɵresetView(ctx_r1.submit.emit()); });
|
|
101
|
-
i0.ɵɵtext(1);
|
|
102
|
-
i0.ɵɵelementEnd();
|
|
103
|
-
} if (rf & 2) {
|
|
104
|
-
const ctx_r1 = i0.ɵɵnextContext(2);
|
|
105
|
-
i0.ɵɵproperty("disabled", ctx_r1.disabledSubmit());
|
|
106
|
-
i0.ɵɵadvance();
|
|
107
|
-
i0.ɵɵtextInterpolate1(" ", ctx_r1.submitTitle(), " ");
|
|
108
|
-
} }
|
|
109
|
-
function Container_Conditional_4_Template(rf, ctx) { if (rf & 1) {
|
|
110
|
-
i0.ɵɵelementStart(0, "footer", 3);
|
|
111
|
-
i0.ɵɵconditionalCreate(1, Container_Conditional_4_Conditional_1_Template, 2, 1, "div", 11);
|
|
112
|
-
i0.ɵɵelementStart(2, "div", 12);
|
|
113
|
-
i0.ɵɵconditionalCreate(3, Container_Conditional_4_Conditional_3_Template, 2, 0, "button", 13);
|
|
114
|
-
i0.ɵɵconditionalCreate(4, Container_Conditional_4_Conditional_4_Template, 2, 2, "button", 14);
|
|
115
|
-
i0.ɵɵconditionalCreate(5, Container_Conditional_4_Conditional_5_Template, 2, 2, "button", 15);
|
|
116
|
-
i0.ɵɵelementEnd()();
|
|
117
|
-
} if (rf & 2) {
|
|
118
|
-
const ctx_r1 = i0.ɵɵnextContext();
|
|
119
|
-
i0.ɵɵadvance();
|
|
120
|
-
i0.ɵɵconditional(ctx_r1.footerExtraContent() ? 1 : -1);
|
|
121
|
-
i0.ɵɵadvance(2);
|
|
122
|
-
i0.ɵɵconditional(ctx_r1.hasDismiss() ? 3 : -1);
|
|
123
|
-
i0.ɵɵadvance();
|
|
124
|
-
i0.ɵɵconditional(ctx_r1.hasSecondaryButton() ? 4 : -1);
|
|
125
|
-
i0.ɵɵadvance();
|
|
126
|
-
i0.ɵɵconditional(ctx_r1.hasSubmit() ? 5 : -1);
|
|
127
|
-
} }
|
|
128
24
|
class Container {
|
|
129
25
|
constructor() {
|
|
130
26
|
this.#breakpoints = inject(BreakpointObserver);
|
|
@@ -152,51 +48,14 @@ class Container {
|
|
|
152
48
|
this.secondaryButton = output();
|
|
153
49
|
}
|
|
154
50
|
#breakpoints;
|
|
155
|
-
static { this.ɵfac =
|
|
156
|
-
static { this.ɵcmp =
|
|
157
|
-
i0.ɵɵprojectionDef();
|
|
158
|
-
i0.ɵɵelementStart(0, "aside", 0);
|
|
159
|
-
i0.ɵɵconditionalCreate(1, Container_Conditional_1_Template, 7, 3, "header", 1);
|
|
160
|
-
i0.ɵɵelementStart(2, "main", 2);
|
|
161
|
-
i0.ɵɵprojection(3);
|
|
162
|
-
i0.ɵɵelementEnd();
|
|
163
|
-
i0.ɵɵconditionalCreate(4, Container_Conditional_4_Template, 6, 4, "footer", 3);
|
|
164
|
-
i0.ɵɵelementEnd();
|
|
165
|
-
} if (rf & 2) {
|
|
166
|
-
i0.ɵɵadvance();
|
|
167
|
-
i0.ɵɵconditional(ctx.hasHeader() ? 1 : -1);
|
|
168
|
-
i0.ɵɵadvance(3);
|
|
169
|
-
i0.ɵɵconditional(ctx.hasFooter() ? 4 : -1);
|
|
170
|
-
} }, dependencies: [TablerIconComponent, NgTemplateOutlet, MatButtonModule, i1.MatButton], styles: ["@charset \"UTF-8\";[_nghost-%COMP%]{display:flex;height:100%}.container-wrapper[_ngcontent-%COMP%]{width:100%;height:100%;display:flex;flex-direction:column;justify-content:space-between;overflow:hidden}.container-header[_ngcontent-%COMP%]{width:100%;padding:12px 16px;display:flex;gap:12px;justify-content:space-between;align-items:center;background-color:var(--mat-sys-surface-container-low, #fafafa);border-bottom:1px solid var(--mat-divider-color, rgba(0, 0, 0, .12));-webkit-user-select:none;user-select:none;flex-shrink:0;box-sizing:border-box}.container-header-start[_ngcontent-%COMP%]{display:flex;align-items:center;gap:8px;flex:1;min-width:0}.container-header-icon[_ngcontent-%COMP%]{color:var(--mat-sys-primary, #1976d2);flex-shrink:0}.container-header-title[_ngcontent-%COMP%]{font-size:.9375rem;font-weight:500;line-height:1.35;color:var(--mat-sys-on-surface, rgba(0, 0, 0, .87));margin:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.container-header-extra[_ngcontent-%COMP%]{display:flex;align-items:center;gap:8px;flex:1;padding:0 4px;font-size:.75rem}.container-header-close[_ngcontent-%COMP%]{width:32px;height:32px;padding:0;display:flex;align-items:center;justify-content:center;background:transparent;border:none;border-radius:4px;cursor:pointer;color:var(--mat-sys-on-surface-variant, rgba(0, 0, 0, .6));transition:background-color .2s ease;flex-shrink:0}.container-header-close[_ngcontent-%COMP%]:hover{background-color:var(--mat-sys-surface-container-highest, rgba(0, 0, 0, .08))}.container-header-close[_ngcontent-%COMP%]:focus-visible{outline:2px solid var(--mat-sys-primary, #1976d2);outline-offset:2px}.container-header-close-icon[_ngcontent-%COMP%]{display:flex;align-items:center;justify-content:center}.container-main[_ngcontent-%COMP%]{flex:1;width:100%;display:flex;overflow-y:auto;overflow-x:hidden;border-bottom:1px solid var(--mat-divider-color, rgba(0, 0, 0, .12))}.container-footer[_ngcontent-%COMP%]{width:100%;padding:12px 16px;display:flex;gap:12px;justify-content:flex-end;align-items:center;background-color:var(--mat-sys-surface-container-low, #fafafa);border-top:1px solid var(--mat-divider-color, rgba(0, 0, 0, .12));-webkit-user-select:none;user-select:none;flex-shrink:0;box-sizing:border-box}.container-footer-extra[_ngcontent-%COMP%]{display:flex;align-items:center;gap:8px;margin-right:auto;font-size:.75rem;padding:0 4px}.container-footer-actions[_ngcontent-%COMP%]{display:flex;gap:8px;align-items:center;flex-shrink:0}", "[_nghost-%COMP%]{height:100%}"], changeDetection: 0 }); }
|
|
51
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.1.0", ngImport: i0, type: Container, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
52
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.1.0", type: Container, isStandalone: true, selector: "date-time-picker-container", inputs: { hasHeader: { classPropertyName: "hasHeader", publicName: "hasHeader", isSignal: true, isRequired: false, transformFunction: null }, hasFooter: { classPropertyName: "hasFooter", publicName: "hasFooter", isSignal: true, isRequired: false, transformFunction: null }, headerTitle: { classPropertyName: "headerTitle", publicName: "headerTitle", isSignal: true, isRequired: false, transformFunction: null }, headerExtraContent: { classPropertyName: "headerExtraContent", publicName: "headerExtraContent", isSignal: true, isRequired: false, transformFunction: null }, footerExtraContent: { classPropertyName: "footerExtraContent", publicName: "footerExtraContent", isSignal: true, isRequired: false, transformFunction: null }, hasDismiss: { classPropertyName: "hasDismiss", publicName: "hasDismiss", isSignal: true, isRequired: false, transformFunction: null }, hasSubmit: { classPropertyName: "hasSubmit", publicName: "hasSubmit", isSignal: true, isRequired: false, transformFunction: null }, submitTitle: { classPropertyName: "submitTitle", publicName: "submitTitle", isSignal: true, isRequired: false, transformFunction: null }, submitBg: { classPropertyName: "submitBg", publicName: "submitBg", isSignal: true, isRequired: false, transformFunction: null }, submitColor: { classPropertyName: "submitColor", publicName: "submitColor", isSignal: true, isRequired: false, transformFunction: null }, submitTitleColor: { classPropertyName: "submitTitleColor", publicName: "submitTitleColor", isSignal: true, isRequired: false, transformFunction: null }, disabledSubmit: { classPropertyName: "disabledSubmit", publicName: "disabledSubmit", isSignal: true, isRequired: false, transformFunction: null }, hasSecondaryButton: { classPropertyName: "hasSecondaryButton", publicName: "hasSecondaryButton", isSignal: true, isRequired: false, transformFunction: null }, secondaryButtonTitle: { classPropertyName: "secondaryButtonTitle", publicName: "secondaryButtonTitle", isSignal: true, isRequired: false, transformFunction: null }, secondaryButtonBg: { classPropertyName: "secondaryButtonBg", publicName: "secondaryButtonBg", isSignal: true, isRequired: false, transformFunction: null }, secondaryButtonColor: { classPropertyName: "secondaryButtonColor", publicName: "secondaryButtonColor", isSignal: true, isRequired: false, transformFunction: null }, secondaryButtonTitleColor: { classPropertyName: "secondaryButtonTitleColor", publicName: "secondaryButtonTitleColor", isSignal: true, isRequired: false, transformFunction: null }, disabledSecondaryButton: { classPropertyName: "disabledSecondaryButton", publicName: "disabledSecondaryButton", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { hasHeader: "hasHeaderChange", hasFooter: "hasFooterChange", headerTitle: "headerTitleChange", headerExtraContent: "headerExtraContentChange", footerExtraContent: "footerExtraContentChange", hasDismiss: "hasDismissChange", hasSubmit: "hasSubmitChange", submitTitle: "submitTitleChange", submitBg: "submitBgChange", submitColor: "submitColorChange", submitTitleColor: "submitTitleColorChange", disabledSubmit: "disabledSubmitChange", hasSecondaryButton: "hasSecondaryButtonChange", secondaryButtonTitle: "secondaryButtonTitleChange", secondaryButtonBg: "secondaryButtonBgChange", secondaryButtonColor: "secondaryButtonColorChange", secondaryButtonTitleColor: "secondaryButtonTitleColorChange", disabledSecondaryButton: "disabledSecondaryButtonChange", dismiss: "dismiss", submit: "submit", secondaryButton: "secondaryButton" }, providers: [provideTablerIcons({ IconInfoCircle, IconCalendarDue, IconX, IconClock })], ngImport: i0, template: "<aside class=\"container-wrapper\">\r\n @if (hasHeader()) {\r\n <header class=\"container-header\">\r\n <div class=\"container-header-start\">\r\n <i-tabler name=\"clock\" strokeWidth=\"2px\" size=\"18px\" class=\"container-header-icon\" />\r\n\r\n @if (headerTitle()) {\r\n <h2 class=\"container-header-title\">{{ headerTitle() }}</h2>\r\n }\r\n </div>\r\n\r\n @if (headerExtraContent()) {\r\n <div class=\"container-header-extra\">\r\n <ng-container *ngTemplateOutlet=\"headerExtraContent() ?? null\"></ng-container>\r\n </div>\r\n }\r\n\r\n <button (click)=\"dismiss.emit()\" type=\"button\" class=\"container-header-close\" [attr.aria-label]=\"'\u5173\u95ED'\" tabindex=\"0\">\r\n <i-tabler name=\"x\" strokeWidth=\"2.5px\" size=\"18px\" class=\"container-header-close-icon\" />\r\n </button>\r\n </header>\r\n }\r\n\r\n <main class=\"container-main\">\r\n <ng-content />\r\n </main>\r\n\r\n @if (hasFooter()) {\r\n <footer class=\"container-footer\">\r\n @if (footerExtraContent()) {\r\n <div class=\"container-footer-extra\">\r\n <ng-container *ngTemplateOutlet=\"footerExtraContent() ?? null\"></ng-container>\r\n </div>\r\n }\r\n\r\n <div class=\"container-footer-actions\">\r\n @if (hasDismiss()) {\r\n <button mat-stroked-button color=\"primary\" (click)=\"dismiss.emit()\" type=\"button\"> \u53D6\u6D88 </button>\r\n }\r\n\r\n @if (hasSecondaryButton()) {\r\n <button mat-stroked-button color=\"primary\" (click)=\"secondaryButton.emit()\" type=\"button\" [disabled]=\"disabledSecondaryButton()\">\r\n {{ secondaryButtonTitle() }}\r\n </button>\r\n }\r\n\r\n @if (hasSubmit()) {\r\n <button mat-raised-button color=\"primary\" (click)=\"submit.emit()\" type=\"button\" [disabled]=\"disabledSubmit()\">\r\n {{ submitTitle() }}\r\n </button>\r\n }\r\n </div>\r\n </footer>\r\n }\r\n</aside>\r\n", styles: ["@charset \"UTF-8\";:host{display:flex;height:100%}.container-wrapper{width:100%;height:100%;display:flex;flex-direction:column;justify-content:space-between;overflow:hidden}.container-header{width:100%;padding:12px 16px;display:flex;gap:12px;justify-content:space-between;align-items:center;background-color:var(--mat-sys-surface-container-low, #fafafa);border-bottom:1px solid var(--mat-divider-color, rgba(0, 0, 0, .12));-webkit-user-select:none;user-select:none;flex-shrink:0;box-sizing:border-box}.container-header-start{display:flex;align-items:center;gap:8px;flex:1;min-width:0}.container-header-icon{color:var(--mat-sys-primary, #1976d2);flex-shrink:0}.container-header-title{font-size:.9375rem;font-weight:500;line-height:1.35;color:var(--mat-sys-on-surface, rgba(0, 0, 0, .87));margin:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.container-header-extra{display:flex;align-items:center;gap:8px;flex:1;padding:0 4px;font-size:.75rem}.container-header-close{width:32px;height:32px;padding:0;display:flex;align-items:center;justify-content:center;background:transparent;border:none;border-radius:4px;cursor:pointer;color:var(--mat-sys-on-surface-variant, rgba(0, 0, 0, .6));transition:background-color .2s ease;flex-shrink:0}.container-header-close:hover{background-color:var(--mat-sys-surface-container-highest, rgba(0, 0, 0, .08))}.container-header-close:focus-visible{outline:2px solid var(--mat-sys-primary, #1976d2);outline-offset:2px}.container-header-close-icon{display:flex;align-items:center;justify-content:center}.container-main{flex:1;width:100%;display:flex;overflow-y:auto;overflow-x:hidden;border-bottom:1px solid var(--mat-divider-color, rgba(0, 0, 0, .12))}.container-footer{width:100%;padding:12px 16px;display:flex;gap:12px;justify-content:flex-end;align-items:center;background-color:var(--mat-sys-surface-container-low, #fafafa);border-top:1px solid var(--mat-divider-color, rgba(0, 0, 0, .12));-webkit-user-select:none;user-select:none;flex-shrink:0;box-sizing:border-box}.container-footer-extra{display:flex;align-items:center;gap:8px;margin-right:auto;font-size:.75rem;padding:0 4px}.container-footer-actions{display:flex;gap:8px;align-items:center;flex-shrink:0}\n", ":host{height:100%}\n"], dependencies: [{ kind: "component", type: TablerIconComponent, selector: "i-tabler, tabler-icon", inputs: ["name"] }, { kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "ngmodule", type: MatButtonModule }, { kind: "component", type: i1.MatButton, selector: " button[matButton], a[matButton], button[mat-button], button[mat-raised-button], button[mat-flat-button], button[mat-stroked-button], a[mat-button], a[mat-raised-button], a[mat-flat-button], a[mat-stroked-button] ", inputs: ["matButton"], exportAs: ["matButton", "matAnchor"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
171
53
|
}
|
|
172
|
-
(
|
|
173
|
-
|
|
174
|
-
|
|
175
|
-
|
|
176
|
-
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(Container, { className: "Container", filePath: "lib/date-picker/components/container/container.component.ts", lineNumber: 21 }); })();
|
|
54
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.0", ngImport: i0, type: Container, decorators: [{
|
|
55
|
+
type: Component,
|
|
56
|
+
args: [{ selector: 'date-time-picker-container', changeDetection: ChangeDetectionStrategy.OnPush, imports: [TablerIconComponent, NgTemplateOutlet, MatButtonModule], providers: [provideTablerIcons({ IconInfoCircle, IconCalendarDue, IconX, IconClock })], template: "<aside class=\"container-wrapper\">\r\n @if (hasHeader()) {\r\n <header class=\"container-header\">\r\n <div class=\"container-header-start\">\r\n <i-tabler name=\"clock\" strokeWidth=\"2px\" size=\"18px\" class=\"container-header-icon\" />\r\n\r\n @if (headerTitle()) {\r\n <h2 class=\"container-header-title\">{{ headerTitle() }}</h2>\r\n }\r\n </div>\r\n\r\n @if (headerExtraContent()) {\r\n <div class=\"container-header-extra\">\r\n <ng-container *ngTemplateOutlet=\"headerExtraContent() ?? null\"></ng-container>\r\n </div>\r\n }\r\n\r\n <button (click)=\"dismiss.emit()\" type=\"button\" class=\"container-header-close\" [attr.aria-label]=\"'\u5173\u95ED'\" tabindex=\"0\">\r\n <i-tabler name=\"x\" strokeWidth=\"2.5px\" size=\"18px\" class=\"container-header-close-icon\" />\r\n </button>\r\n </header>\r\n }\r\n\r\n <main class=\"container-main\">\r\n <ng-content />\r\n </main>\r\n\r\n @if (hasFooter()) {\r\n <footer class=\"container-footer\">\r\n @if (footerExtraContent()) {\r\n <div class=\"container-footer-extra\">\r\n <ng-container *ngTemplateOutlet=\"footerExtraContent() ?? null\"></ng-container>\r\n </div>\r\n }\r\n\r\n <div class=\"container-footer-actions\">\r\n @if (hasDismiss()) {\r\n <button mat-stroked-button color=\"primary\" (click)=\"dismiss.emit()\" type=\"button\"> \u53D6\u6D88 </button>\r\n }\r\n\r\n @if (hasSecondaryButton()) {\r\n <button mat-stroked-button color=\"primary\" (click)=\"secondaryButton.emit()\" type=\"button\" [disabled]=\"disabledSecondaryButton()\">\r\n {{ secondaryButtonTitle() }}\r\n </button>\r\n }\r\n\r\n @if (hasSubmit()) {\r\n <button mat-raised-button color=\"primary\" (click)=\"submit.emit()\" type=\"button\" [disabled]=\"disabledSubmit()\">\r\n {{ submitTitle() }}\r\n </button>\r\n }\r\n </div>\r\n </footer>\r\n }\r\n</aside>\r\n", styles: ["@charset \"UTF-8\";:host{display:flex;height:100%}.container-wrapper{width:100%;height:100%;display:flex;flex-direction:column;justify-content:space-between;overflow:hidden}.container-header{width:100%;padding:12px 16px;display:flex;gap:12px;justify-content:space-between;align-items:center;background-color:var(--mat-sys-surface-container-low, #fafafa);border-bottom:1px solid var(--mat-divider-color, rgba(0, 0, 0, .12));-webkit-user-select:none;user-select:none;flex-shrink:0;box-sizing:border-box}.container-header-start{display:flex;align-items:center;gap:8px;flex:1;min-width:0}.container-header-icon{color:var(--mat-sys-primary, #1976d2);flex-shrink:0}.container-header-title{font-size:.9375rem;font-weight:500;line-height:1.35;color:var(--mat-sys-on-surface, rgba(0, 0, 0, .87));margin:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.container-header-extra{display:flex;align-items:center;gap:8px;flex:1;padding:0 4px;font-size:.75rem}.container-header-close{width:32px;height:32px;padding:0;display:flex;align-items:center;justify-content:center;background:transparent;border:none;border-radius:4px;cursor:pointer;color:var(--mat-sys-on-surface-variant, rgba(0, 0, 0, .6));transition:background-color .2s ease;flex-shrink:0}.container-header-close:hover{background-color:var(--mat-sys-surface-container-highest, rgba(0, 0, 0, .08))}.container-header-close:focus-visible{outline:2px solid var(--mat-sys-primary, #1976d2);outline-offset:2px}.container-header-close-icon{display:flex;align-items:center;justify-content:center}.container-main{flex:1;width:100%;display:flex;overflow-y:auto;overflow-x:hidden;border-bottom:1px solid var(--mat-divider-color, rgba(0, 0, 0, .12))}.container-footer{width:100%;padding:12px 16px;display:flex;gap:12px;justify-content:flex-end;align-items:center;background-color:var(--mat-sys-surface-container-low, #fafafa);border-top:1px solid var(--mat-divider-color, rgba(0, 0, 0, .12));-webkit-user-select:none;user-select:none;flex-shrink:0;box-sizing:border-box}.container-footer-extra{display:flex;align-items:center;gap:8px;margin-right:auto;font-size:.75rem;padding:0 4px}.container-footer-actions{display:flex;gap:8px;align-items:center;flex-shrink:0}\n", ":host{height:100%}\n"] }]
|
|
57
|
+
}], propDecorators: { hasHeader: [{ type: i0.Input, args: [{ isSignal: true, alias: "hasHeader", required: false }] }, { type: i0.Output, args: ["hasHeaderChange"] }], hasFooter: [{ type: i0.Input, args: [{ isSignal: true, alias: "hasFooter", required: false }] }, { type: i0.Output, args: ["hasFooterChange"] }], headerTitle: [{ type: i0.Input, args: [{ isSignal: true, alias: "headerTitle", required: false }] }, { type: i0.Output, args: ["headerTitleChange"] }], headerExtraContent: [{ type: i0.Input, args: [{ isSignal: true, alias: "headerExtraContent", required: false }] }, { type: i0.Output, args: ["headerExtraContentChange"] }], footerExtraContent: [{ type: i0.Input, args: [{ isSignal: true, alias: "footerExtraContent", required: false }] }, { type: i0.Output, args: ["footerExtraContentChange"] }], hasDismiss: [{ type: i0.Input, args: [{ isSignal: true, alias: "hasDismiss", required: false }] }, { type: i0.Output, args: ["hasDismissChange"] }], hasSubmit: [{ type: i0.Input, args: [{ isSignal: true, alias: "hasSubmit", required: false }] }, { type: i0.Output, args: ["hasSubmitChange"] }], submitTitle: [{ type: i0.Input, args: [{ isSignal: true, alias: "submitTitle", required: false }] }, { type: i0.Output, args: ["submitTitleChange"] }], submitBg: [{ type: i0.Input, args: [{ isSignal: true, alias: "submitBg", required: false }] }, { type: i0.Output, args: ["submitBgChange"] }], submitColor: [{ type: i0.Input, args: [{ isSignal: true, alias: "submitColor", required: false }] }, { type: i0.Output, args: ["submitColorChange"] }], submitTitleColor: [{ type: i0.Input, args: [{ isSignal: true, alias: "submitTitleColor", required: false }] }, { type: i0.Output, args: ["submitTitleColorChange"] }], disabledSubmit: [{ type: i0.Input, args: [{ isSignal: true, alias: "disabledSubmit", required: false }] }, { type: i0.Output, args: ["disabledSubmitChange"] }], hasSecondaryButton: [{ type: i0.Input, args: [{ isSignal: true, alias: "hasSecondaryButton", required: false }] }, { type: i0.Output, args: ["hasSecondaryButtonChange"] }], secondaryButtonTitle: [{ type: i0.Input, args: [{ isSignal: true, alias: "secondaryButtonTitle", required: false }] }, { type: i0.Output, args: ["secondaryButtonTitleChange"] }], secondaryButtonBg: [{ type: i0.Input, args: [{ isSignal: true, alias: "secondaryButtonBg", required: false }] }, { type: i0.Output, args: ["secondaryButtonBgChange"] }], secondaryButtonColor: [{ type: i0.Input, args: [{ isSignal: true, alias: "secondaryButtonColor", required: false }] }, { type: i0.Output, args: ["secondaryButtonColorChange"] }], secondaryButtonTitleColor: [{ type: i0.Input, args: [{ isSignal: true, alias: "secondaryButtonTitleColor", required: false }] }, { type: i0.Output, args: ["secondaryButtonTitleColorChange"] }], disabledSecondaryButton: [{ type: i0.Input, args: [{ isSignal: true, alias: "disabledSecondaryButton", required: false }] }, { type: i0.Output, args: ["disabledSecondaryButtonChange"] }], dismiss: [{ type: i0.Output, args: ["dismiss"] }], submit: [{ type: i0.Output, args: ["submit"] }], secondaryButton: [{ type: i0.Output, args: ["secondaryButton"] }] } });
|
|
177
58
|
|
|
178
|
-
function DateTimeInputComponent_For_16_Template(rf, ctx) { if (rf & 1) {
|
|
179
|
-
i0.ɵɵelementStart(0, "option", 12);
|
|
180
|
-
i0.ɵɵtext(1);
|
|
181
|
-
i0.ɵɵpipe(2, "number");
|
|
182
|
-
i0.ɵɵelementEnd();
|
|
183
|
-
} if (rf & 2) {
|
|
184
|
-
const hour_r3 = ctx.$implicit;
|
|
185
|
-
i0.ɵɵproperty("value", hour_r3);
|
|
186
|
-
i0.ɵɵadvance();
|
|
187
|
-
i0.ɵɵtextInterpolate(i0.ɵɵpipeBind2(2, 2, hour_r3, "2.0-0"));
|
|
188
|
-
} }
|
|
189
|
-
function DateTimeInputComponent_For_23_Template(rf, ctx) { if (rf & 1) {
|
|
190
|
-
i0.ɵɵelementStart(0, "option", 12);
|
|
191
|
-
i0.ɵɵtext(1);
|
|
192
|
-
i0.ɵɵpipe(2, "number");
|
|
193
|
-
i0.ɵɵelementEnd();
|
|
194
|
-
} if (rf & 2) {
|
|
195
|
-
const minute_r4 = ctx.$implicit;
|
|
196
|
-
i0.ɵɵproperty("value", minute_r4);
|
|
197
|
-
i0.ɵɵadvance();
|
|
198
|
-
i0.ɵɵtextInterpolate(i0.ɵɵpipeBind2(2, 2, minute_r4, "2.0-0"));
|
|
199
|
-
} }
|
|
200
59
|
class DateTimeInputComponent {
|
|
201
60
|
constructor() {
|
|
202
61
|
this.label = input('', ...(ngDevMode ? [{ debugName: "label" }] : []));
|
|
@@ -221,177 +80,14 @@ class DateTimeInputComponent {
|
|
|
221
80
|
this.minuteChange.emit(value);
|
|
222
81
|
this.timeChange.emit();
|
|
223
82
|
}
|
|
224
|
-
static { this.ɵfac =
|
|
225
|
-
static { this.ɵcmp =
|
|
226
|
-
const _r1 = i0.ɵɵgetCurrentView();
|
|
227
|
-
i0.ɵɵelementStart(0, "div", 1)(1, "label", 2);
|
|
228
|
-
i0.ɵɵtext(2);
|
|
229
|
-
i0.ɵɵelementEnd();
|
|
230
|
-
i0.ɵɵelementStart(3, "div", 3)(4, "div", 4)(5, "input", 5);
|
|
231
|
-
i0.ɵɵlistener("ngModelChange", function DateTimeInputComponent_Template_input_ngModelChange_5_listener($event) { i0.ɵɵrestoreView(_r1); return i0.ɵɵresetView(ctx.onDateChange($event)); })("click", function DateTimeInputComponent_Template_input_click_5_listener() { i0.ɵɵrestoreView(_r1); const datePicker_r2 = i0.ɵɵreference(7); return i0.ɵɵresetView(datePicker_r2.open()); })("focus", function DateTimeInputComponent_Template_input_focus_5_listener() { i0.ɵɵrestoreView(_r1); const datePicker_r2 = i0.ɵɵreference(7); return i0.ɵɵresetView(datePicker_r2.open()); });
|
|
232
|
-
i0.ɵɵelementEnd();
|
|
233
|
-
i0.ɵɵelement(6, "mat-datepicker", null, 0);
|
|
234
|
-
i0.ɵɵelementStart(8, "button", 6);
|
|
235
|
-
i0.ɵɵelement(9, "i-tabler", 7);
|
|
236
|
-
i0.ɵɵelementEnd()();
|
|
237
|
-
i0.ɵɵelement(10, "div", 8);
|
|
238
|
-
i0.ɵɵelementStart(11, "div", 9)(12, "select", 10);
|
|
239
|
-
i0.ɵɵlistener("ngModelChange", function DateTimeInputComponent_Template_select_ngModelChange_12_listener($event) { i0.ɵɵrestoreView(_r1); return i0.ɵɵresetView(ctx.onHourChange($event)); });
|
|
240
|
-
i0.ɵɵelementStart(13, "option", 11);
|
|
241
|
-
i0.ɵɵtext(14, "--");
|
|
242
|
-
i0.ɵɵelementEnd();
|
|
243
|
-
i0.ɵɵrepeaterCreate(15, DateTimeInputComponent_For_16_Template, 3, 5, "option", 12, i0.ɵɵrepeaterTrackByIdentity);
|
|
244
|
-
i0.ɵɵelementEnd();
|
|
245
|
-
i0.ɵɵelementStart(17, "span", 13);
|
|
246
|
-
i0.ɵɵtext(18, ":");
|
|
247
|
-
i0.ɵɵelementEnd();
|
|
248
|
-
i0.ɵɵelementStart(19, "select", 14);
|
|
249
|
-
i0.ɵɵlistener("ngModelChange", function DateTimeInputComponent_Template_select_ngModelChange_19_listener($event) { i0.ɵɵrestoreView(_r1); return i0.ɵɵresetView(ctx.onMinuteChange($event)); });
|
|
250
|
-
i0.ɵɵelementStart(20, "option", 11);
|
|
251
|
-
i0.ɵɵtext(21, "--");
|
|
252
|
-
i0.ɵɵelementEnd();
|
|
253
|
-
i0.ɵɵrepeaterCreate(22, DateTimeInputComponent_For_23_Template, 3, 5, "option", 12, i0.ɵɵrepeaterTrackByIdentity);
|
|
254
|
-
i0.ɵɵelementEnd()()()();
|
|
255
|
-
} if (rf & 2) {
|
|
256
|
-
const datePicker_r2 = i0.ɵɵreference(7);
|
|
257
|
-
i0.ɵɵadvance(2);
|
|
258
|
-
i0.ɵɵtextInterpolate(ctx.label());
|
|
259
|
-
i0.ɵɵadvance(3);
|
|
260
|
-
i0.ɵɵproperty("ngModel", ctx.dateValue())("matDatepicker", datePicker_r2);
|
|
261
|
-
i0.ɵɵadvance(7);
|
|
262
|
-
i0.ɵɵproperty("ngModel", ctx.hourValue());
|
|
263
|
-
i0.ɵɵattribute("aria-label", "\u5C0F\u65F6");
|
|
264
|
-
i0.ɵɵadvance();
|
|
265
|
-
i0.ɵɵproperty("value", null);
|
|
266
|
-
i0.ɵɵadvance(2);
|
|
267
|
-
i0.ɵɵrepeater(ctx.hours());
|
|
268
|
-
i0.ɵɵadvance(4);
|
|
269
|
-
i0.ɵɵproperty("ngModel", ctx.minuteValue());
|
|
270
|
-
i0.ɵɵattribute("aria-label", "\u5206\u949F");
|
|
271
|
-
i0.ɵɵadvance();
|
|
272
|
-
i0.ɵɵproperty("value", null);
|
|
273
|
-
i0.ɵɵadvance(2);
|
|
274
|
-
i0.ɵɵrepeater(ctx.minutes());
|
|
275
|
-
} }, dependencies: [MatDatepickerModule, i1$1.MatDatepicker, i1$1.MatDatepickerInput, FormsModule, i2.NgSelectOption, i2.ɵNgSelectMultipleOption, i2.DefaultValueAccessor, i2.SelectControlValueAccessor, i2.NgControlStatus, i2.NgModel, TablerIconComponent, DecimalPipe], styles: ["[_nghost-%COMP%]{display:block}[_nghost-%COMP%] .date-time-input-wrapper[_ngcontent-%COMP%]{display:flex;flex-direction:column;gap:8px;padding:12px 16px}[_nghost-%COMP%] .date-time-input-label[_ngcontent-%COMP%]{font-size:.75rem;font-weight:500;text-transform:uppercase;letter-spacing:.5px;color:#0009}[_nghost-%COMP%] .date-time-input-container[_ngcontent-%COMP%]{display:flex;align-items:center;width:100%;max-width:100%;border:1px solid rgba(0,0,0,.12);border-radius:4px;overflow:hidden;background-color:#00000005;transition:border-color .2s ease;box-sizing:border-box}[_nghost-%COMP%] .date-time-input-container[_ngcontent-%COMP%]:hover{border-color:#0000003d}[_nghost-%COMP%] .date-time-input-container[_ngcontent-%COMP%]:focus-within{border-color:#1976d2;background-color:#fff}[_nghost-%COMP%] .date-time-input-date[_ngcontent-%COMP%]{flex:1;display:flex;align-items:center;position:relative;padding:0 8px;min-width:0;overflow:hidden}[_nghost-%COMP%] .date-time-input-field[_ngcontent-%COMP%]{flex:1;height:36px;padding:0;border:none;background:transparent;color:#000000de;font-size:.875rem;min-width:0;overflow:hidden;text-overflow:ellipsis}[_nghost-%COMP%] .date-time-input-field[_ngcontent-%COMP%]::placeholder{color:#0006}[_nghost-%COMP%] .date-time-input-field[_ngcontent-%COMP%]:focus{outline:none}[_nghost-%COMP%] .date-time-input-icon-btn[_ngcontent-%COMP%]{position:absolute;right:0;width:24px;height:24px;padding:0;display:flex;align-items:center;justify-content:center;background:transparent;border:none;color:#0009;pointer-events:none}[_nghost-%COMP%] .date-time-input-divider[_ngcontent-%COMP%]{width:1px;height:20px;background-color:#0000001f}[_nghost-%COMP%] .date-time-input-time[_ngcontent-%COMP%]{flex:1;display:flex;min-width:0;align-items:center;gap:2px;padding:0 8px}[_nghost-%COMP%] .date-time-input-select[_ngcontent-%COMP%]{flex:1;height:36px;border:none;background:transparent;color:#000000de;font-size:.875rem;font-weight:500;padding:0 2px;cursor:pointer;text-align:center}[_nghost-%COMP%] .date-time-input-select[_ngcontent-%COMP%]:focus{outline:none}[_nghost-%COMP%] .date-time-input-separator[_ngcontent-%COMP%]{color:#0009;font-weight:500;padding:0 2px;-webkit-user-select:none;user-select:none}"], changeDetection: 0 }); }
|
|
83
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.1.0", ngImport: i0, type: DateTimeInputComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
84
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.1.0", type: DateTimeInputComponent, isStandalone: true, selector: "date-time-input", inputs: { label: { classPropertyName: "label", publicName: "label", isSignal: true, isRequired: false, transformFunction: null }, dateValue: { classPropertyName: "dateValue", publicName: "dateValue", isSignal: true, isRequired: false, transformFunction: null }, hourValue: { classPropertyName: "hourValue", publicName: "hourValue", isSignal: true, isRequired: false, transformFunction: null }, minuteValue: { classPropertyName: "minuteValue", publicName: "minuteValue", isSignal: true, isRequired: false, transformFunction: null }, hours: { classPropertyName: "hours", publicName: "hours", isSignal: true, isRequired: false, transformFunction: null }, minutes: { classPropertyName: "minutes", publicName: "minutes", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { dateChange: "dateChange", hourChange: "hourChange", minuteChange: "minuteChange", timeChange: "timeChange" }, ngImport: i0, template: "<div class=\"date-time-input-wrapper\">\r\n <label class=\"date-time-input-label\">{{ label() }}</label>\r\n\r\n <div class=\"date-time-input-container\">\r\n <!-- \u65E5\u671F\u90E8\u5206 -->\r\n <div class=\"date-time-input-date\">\r\n <input\r\n type=\"text\"\r\n matInput\r\n [ngModel]=\"dateValue()\"\r\n (ngModelChange)=\"onDateChange($event)\"\r\n [matDatepicker]=\"datePicker\"\r\n (click)=\"datePicker.open()\"\r\n (focus)=\"datePicker.open()\"\r\n placeholder=\"\u9009\u62E9\u65E5\u671F\"\r\n class=\"date-time-input-field\"\r\n />\r\n <mat-datepicker #datePicker></mat-datepicker>\r\n\r\n <button type=\"button\" class=\"date-time-input-icon-btn\" tabindex=\"-1\" aria-hidden=\"true\">\r\n <i-tabler name=\"calendar-due\" strokeWidth=\"2px\" size=\"16px\" />\r\n </button>\r\n </div>\r\n\r\n <!-- \u5206\u9694\u7B26 -->\r\n <div class=\"date-time-input-divider\"></div>\r\n\r\n <!-- \u65F6\u95F4\u90E8\u5206 -->\r\n <div class=\"date-time-input-time\">\r\n <!-- \u5C0F\u65F6 -->\r\n <select class=\"date-time-input-select date-time-input-select-hour\" [ngModel]=\"hourValue()\" (ngModelChange)=\"onHourChange($event)\" [attr.aria-label]=\"'\u5C0F\u65F6'\">\r\n <option [value]=\"null\" disabled>--</option>\r\n @for (hour of hours(); track hour) {\r\n <option [value]=\"hour\">{{ hour | number: '2.0-0' }}</option>\r\n }\r\n </select>\r\n\r\n <!-- \u5206\u9694\u7B26 -->\r\n <span class=\"date-time-input-separator\">:</span>\r\n\r\n <!-- \u5206\u949F -->\r\n <select class=\"date-time-input-select date-time-input-select-minute\" [ngModel]=\"minuteValue()\" (ngModelChange)=\"onMinuteChange($event)\" [attr.aria-label]=\"'\u5206\u949F'\">\r\n <option [value]=\"null\" disabled>--</option>\r\n @for (minute of minutes(); track minute) {\r\n <option [value]=\"minute\">{{ minute | number: '2.0-0' }}</option>\r\n }\r\n </select>\r\n </div>\r\n </div>\r\n</div>\r\n", styles: [":host{display:block}:host .date-time-input-wrapper{display:flex;flex-direction:column;gap:8px;padding:12px 16px}:host .date-time-input-label{font-size:.75rem;font-weight:500;text-transform:uppercase;letter-spacing:.5px;color:var(--mat-sys-on-surface-variant, rgba(0, 0, 0, .6))}:host .date-time-input-container{display:flex;align-items:center;width:100%;max-width:100%;border:1px solid var(--mat-divider-color, rgba(0, 0, 0, .12));border-radius:4px;overflow:hidden;background-color:var(--mat-sys-surface-container-low, rgba(0, 0, 0, .02));transition:border-color .2s ease;box-sizing:border-box}:host .date-time-input-container:hover{border-color:var(--mat-divider-color, rgba(0, 0, 0, .24))}:host .date-time-input-container:focus-within{border-color:var(--mat-sys-primary, #1976d2);background-color:var(--mat-sys-surface, #fff)}:host .date-time-input-date{flex:1;display:flex;align-items:center;position:relative;padding:0 8px;min-width:0;overflow:hidden}:host .date-time-input-field{flex:1;height:36px;padding:0;border:none;background:transparent;color:var(--mat-sys-on-surface, rgba(0, 0, 0, .87));font-size:.875rem;min-width:0;overflow:hidden;text-overflow:ellipsis}:host .date-time-input-field::placeholder{color:var(--mat-sys-on-surface-variant, rgba(0, 0, 0, .4))}:host .date-time-input-field:focus{outline:none}:host .date-time-input-icon-btn{position:absolute;right:0;width:24px;height:24px;padding:0;display:flex;align-items:center;justify-content:center;background:transparent;border:none;color:var(--mat-sys-on-surface-variant, rgba(0, 0, 0, .6));pointer-events:none}:host .date-time-input-divider{width:1px;height:20px;background-color:var(--mat-divider-color, rgba(0, 0, 0, .12))}:host .date-time-input-time{flex:1;display:flex;min-width:0;align-items:center;gap:2px;padding:0 8px}:host .date-time-input-select{flex:1;height:36px;border:none;background:transparent;color:var(--mat-sys-on-surface, rgba(0, 0, 0, .87));font-size:.875rem;font-weight:500;padding:0 2px;cursor:pointer;text-align:center}:host .date-time-input-select:focus{outline:none}:host .date-time-input-separator{color:var(--mat-sys-on-surface-variant, rgba(0, 0, 0, .6));font-weight:500;padding:0 2px;-webkit-user-select:none;user-select:none}\n"], dependencies: [{ kind: "ngmodule", type: MatDatepickerModule }, { kind: "component", type: i1$1.MatDatepicker, selector: "mat-datepicker", exportAs: ["matDatepicker"] }, { kind: "directive", type: i1$1.MatDatepickerInput, selector: "input[matDatepicker]", inputs: ["matDatepicker", "min", "max", "matDatepickerFilter"], exportAs: ["matDatepickerInput"] }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i2.NgSelectOption, selector: "option", inputs: ["ngValue", "value"] }, { kind: "directive", type: i2.ɵNgSelectMultipleOption, selector: "option", inputs: ["ngValue", "value"] }, { kind: "directive", type: i2.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i2.SelectControlValueAccessor, selector: "select:not([multiple])[formControlName],select:not([multiple])[formControl],select:not([multiple])[ngModel]", inputs: ["compareWith"] }, { kind: "directive", type: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: TablerIconComponent, selector: "i-tabler, tabler-icon", inputs: ["name"] }, { kind: "pipe", type: DecimalPipe, name: "number" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
276
85
|
}
|
|
277
|
-
(
|
|
278
|
-
|
|
279
|
-
|
|
280
|
-
|
|
281
|
-
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(DateTimeInputComponent, { className: "DateTimeInputComponent", filePath: "lib/date-picker/components/date-time-input/date-time-input.component.ts", lineNumber: 15 }); })();
|
|
86
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.0", ngImport: i0, type: DateTimeInputComponent, decorators: [{
|
|
87
|
+
type: Component,
|
|
88
|
+
args: [{ selector: 'date-time-input', standalone: true, changeDetection: ChangeDetectionStrategy.OnPush, imports: [MatDatepickerModule, FormsModule, TablerIconComponent, DecimalPipe], template: "<div class=\"date-time-input-wrapper\">\r\n <label class=\"date-time-input-label\">{{ label() }}</label>\r\n\r\n <div class=\"date-time-input-container\">\r\n <!-- \u65E5\u671F\u90E8\u5206 -->\r\n <div class=\"date-time-input-date\">\r\n <input\r\n type=\"text\"\r\n matInput\r\n [ngModel]=\"dateValue()\"\r\n (ngModelChange)=\"onDateChange($event)\"\r\n [matDatepicker]=\"datePicker\"\r\n (click)=\"datePicker.open()\"\r\n (focus)=\"datePicker.open()\"\r\n placeholder=\"\u9009\u62E9\u65E5\u671F\"\r\n class=\"date-time-input-field\"\r\n />\r\n <mat-datepicker #datePicker></mat-datepicker>\r\n\r\n <button type=\"button\" class=\"date-time-input-icon-btn\" tabindex=\"-1\" aria-hidden=\"true\">\r\n <i-tabler name=\"calendar-due\" strokeWidth=\"2px\" size=\"16px\" />\r\n </button>\r\n </div>\r\n\r\n <!-- \u5206\u9694\u7B26 -->\r\n <div class=\"date-time-input-divider\"></div>\r\n\r\n <!-- \u65F6\u95F4\u90E8\u5206 -->\r\n <div class=\"date-time-input-time\">\r\n <!-- \u5C0F\u65F6 -->\r\n <select class=\"date-time-input-select date-time-input-select-hour\" [ngModel]=\"hourValue()\" (ngModelChange)=\"onHourChange($event)\" [attr.aria-label]=\"'\u5C0F\u65F6'\">\r\n <option [value]=\"null\" disabled>--</option>\r\n @for (hour of hours(); track hour) {\r\n <option [value]=\"hour\">{{ hour | number: '2.0-0' }}</option>\r\n }\r\n </select>\r\n\r\n <!-- \u5206\u9694\u7B26 -->\r\n <span class=\"date-time-input-separator\">:</span>\r\n\r\n <!-- \u5206\u949F -->\r\n <select class=\"date-time-input-select date-time-input-select-minute\" [ngModel]=\"minuteValue()\" (ngModelChange)=\"onMinuteChange($event)\" [attr.aria-label]=\"'\u5206\u949F'\">\r\n <option [value]=\"null\" disabled>--</option>\r\n @for (minute of minutes(); track minute) {\r\n <option [value]=\"minute\">{{ minute | number: '2.0-0' }}</option>\r\n }\r\n </select>\r\n </div>\r\n </div>\r\n</div>\r\n", styles: [":host{display:block}:host .date-time-input-wrapper{display:flex;flex-direction:column;gap:8px;padding:12px 16px}:host .date-time-input-label{font-size:.75rem;font-weight:500;text-transform:uppercase;letter-spacing:.5px;color:var(--mat-sys-on-surface-variant, rgba(0, 0, 0, .6))}:host .date-time-input-container{display:flex;align-items:center;width:100%;max-width:100%;border:1px solid var(--mat-divider-color, rgba(0, 0, 0, .12));border-radius:4px;overflow:hidden;background-color:var(--mat-sys-surface-container-low, rgba(0, 0, 0, .02));transition:border-color .2s ease;box-sizing:border-box}:host .date-time-input-container:hover{border-color:var(--mat-divider-color, rgba(0, 0, 0, .24))}:host .date-time-input-container:focus-within{border-color:var(--mat-sys-primary, #1976d2);background-color:var(--mat-sys-surface, #fff)}:host .date-time-input-date{flex:1;display:flex;align-items:center;position:relative;padding:0 8px;min-width:0;overflow:hidden}:host .date-time-input-field{flex:1;height:36px;padding:0;border:none;background:transparent;color:var(--mat-sys-on-surface, rgba(0, 0, 0, .87));font-size:.875rem;min-width:0;overflow:hidden;text-overflow:ellipsis}:host .date-time-input-field::placeholder{color:var(--mat-sys-on-surface-variant, rgba(0, 0, 0, .4))}:host .date-time-input-field:focus{outline:none}:host .date-time-input-icon-btn{position:absolute;right:0;width:24px;height:24px;padding:0;display:flex;align-items:center;justify-content:center;background:transparent;border:none;color:var(--mat-sys-on-surface-variant, rgba(0, 0, 0, .6));pointer-events:none}:host .date-time-input-divider{width:1px;height:20px;background-color:var(--mat-divider-color, rgba(0, 0, 0, .12))}:host .date-time-input-time{flex:1;display:flex;min-width:0;align-items:center;gap:2px;padding:0 8px}:host .date-time-input-select{flex:1;height:36px;border:none;background:transparent;color:var(--mat-sys-on-surface, rgba(0, 0, 0, .87));font-size:.875rem;font-weight:500;padding:0 2px;cursor:pointer;text-align:center}:host .date-time-input-select:focus{outline:none}:host .date-time-input-separator{color:var(--mat-sys-on-surface-variant, rgba(0, 0, 0, .6));font-weight:500;padding:0 2px;-webkit-user-select:none;user-select:none}\n"] }]
|
|
89
|
+
}], propDecorators: { label: [{ type: i0.Input, args: [{ isSignal: true, alias: "label", required: false }] }], dateValue: [{ type: i0.Input, args: [{ isSignal: true, alias: "dateValue", required: false }] }], hourValue: [{ type: i0.Input, args: [{ isSignal: true, alias: "hourValue", required: false }] }], minuteValue: [{ type: i0.Input, args: [{ isSignal: true, alias: "minuteValue", required: false }] }], hours: [{ type: i0.Input, args: [{ isSignal: true, alias: "hours", required: false }] }], minutes: [{ type: i0.Input, args: [{ isSignal: true, alias: "minutes", required: false }] }], dateChange: [{ type: i0.Output, args: ["dateChange"] }], hourChange: [{ type: i0.Output, args: ["hourChange"] }], minuteChange: [{ type: i0.Output, args: ["minuteChange"] }], timeChange: [{ type: i0.Output, args: ["timeChange"] }] } });
|
|
282
90
|
|
|
283
|
-
const _forTrack0 = ($index, $item) => $item.value;
|
|
284
|
-
function DateSelector_For_8_Template(rf, ctx) { if (rf & 1) {
|
|
285
|
-
const _r2 = i0.ɵɵgetCurrentView();
|
|
286
|
-
i0.ɵɵelementStart(0, "li", 7)(1, "button", 21);
|
|
287
|
-
i0.ɵɵlistener("click", function DateSelector_For_8_Template_button_click_1_listener() { const timeRangeItem_r3 = i0.ɵɵrestoreView(_r2).$implicit; const ctx_r3 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r3.selectTimeRange(timeRangeItem_r3)); });
|
|
288
|
-
i0.ɵɵelementStart(2, "span", 22);
|
|
289
|
-
i0.ɵɵtext(3);
|
|
290
|
-
i0.ɵɵelementEnd()()();
|
|
291
|
-
} if (rf & 2) {
|
|
292
|
-
let tmp_11_0;
|
|
293
|
-
const timeRangeItem_r3 = ctx.$implicit;
|
|
294
|
-
const ctx_r3 = i0.ɵɵnextContext();
|
|
295
|
-
i0.ɵɵadvance();
|
|
296
|
-
i0.ɵɵclassProp("selected", ctx_r3.selectedTimeRange() && ((tmp_11_0 = ctx_r3.selectedTimeRange()) == null ? null : tmp_11_0.start) === timeRangeItem_r3.start && ((tmp_11_0 = ctx_r3.selectedTimeRange()) == null ? null : tmp_11_0.end) === timeRangeItem_r3.end);
|
|
297
|
-
i0.ɵɵadvance(2);
|
|
298
|
-
i0.ɵɵtextInterpolate(timeRangeItem_r3.label);
|
|
299
|
-
} }
|
|
300
|
-
function DateSelector_Conditional_22_Conditional_5_For_2_Template(rf, ctx) { if (rf & 1) {
|
|
301
|
-
const _r6 = i0.ɵɵgetCurrentView();
|
|
302
|
-
i0.ɵɵelementStart(0, "button", 28);
|
|
303
|
-
i0.ɵɵlistener("click", function DateSelector_Conditional_22_Conditional_5_For_2_Template_button_click_0_listener() { const day_r7 = i0.ɵɵrestoreView(_r6).$implicit; return i0.ɵɵresetView(day_r7.selected = !day_r7.selected); });
|
|
304
|
-
i0.ɵɵtext(1);
|
|
305
|
-
i0.ɵɵelementEnd();
|
|
306
|
-
} if (rf & 2) {
|
|
307
|
-
const day_r7 = ctx.$implicit;
|
|
308
|
-
i0.ɵɵclassProp("selected", day_r7.selected);
|
|
309
|
-
i0.ɵɵadvance();
|
|
310
|
-
i0.ɵɵtextInterpolate1(" ", day_r7.label, " ");
|
|
311
|
-
} }
|
|
312
|
-
function DateSelector_Conditional_22_Conditional_5_Template(rf, ctx) { if (rf & 1) {
|
|
313
|
-
i0.ɵɵelementStart(0, "div", 26);
|
|
314
|
-
i0.ɵɵrepeaterCreate(1, DateSelector_Conditional_22_Conditional_5_For_2_Template, 2, 3, "button", 27, _forTrack0);
|
|
315
|
-
i0.ɵɵelementEnd();
|
|
316
|
-
} if (rf & 2) {
|
|
317
|
-
const ctx_r3 = i0.ɵɵnextContext(2);
|
|
318
|
-
i0.ɵɵadvance();
|
|
319
|
-
i0.ɵɵrepeater(ctx_r3.weekdays());
|
|
320
|
-
} }
|
|
321
|
-
function DateSelector_Conditional_22_Template(rf, ctx) { if (rf & 1) {
|
|
322
|
-
const _r5 = i0.ɵɵgetCurrentView();
|
|
323
|
-
i0.ɵɵelementStart(0, "div", 20)(1, "div", 23)(2, "mat-checkbox", 24);
|
|
324
|
-
i0.ɵɵtwoWayListener("ngModelChange", function DateSelector_Conditional_22_Template_mat_checkbox_ngModelChange_2_listener($event) { i0.ɵɵrestoreView(_r5); const ctx_r3 = i0.ɵɵnextContext(); i0.ɵɵtwoWayBindingSet(ctx_r3.allDays, $event) || (ctx_r3.allDays = $event); return i0.ɵɵresetView($event); });
|
|
325
|
-
i0.ɵɵelementStart(3, "span", 25);
|
|
326
|
-
i0.ɵɵtext(4, "\u6240\u6709\u5929");
|
|
327
|
-
i0.ɵɵelementEnd()();
|
|
328
|
-
i0.ɵɵconditionalCreate(5, DateSelector_Conditional_22_Conditional_5_Template, 3, 0, "div", 26);
|
|
329
|
-
i0.ɵɵelementEnd();
|
|
330
|
-
i0.ɵɵelementStart(6, "div", 23)(7, "mat-checkbox", 24);
|
|
331
|
-
i0.ɵɵtwoWayListener("ngModelChange", function DateSelector_Conditional_22_Template_mat_checkbox_ngModelChange_7_listener($event) { i0.ɵɵrestoreView(_r5); const ctx_r3 = i0.ɵɵnextContext(); i0.ɵɵtwoWayBindingSet(ctx_r3.allHours, $event) || (ctx_r3.allHours = $event); return i0.ɵɵresetView($event); });
|
|
332
|
-
i0.ɵɵelementStart(8, "span", 25);
|
|
333
|
-
i0.ɵɵtext(9, "\u6240\u6709\u5C0F\u65F6");
|
|
334
|
-
i0.ɵɵelementEnd()()()();
|
|
335
|
-
} if (rf & 2) {
|
|
336
|
-
const ctx_r3 = i0.ɵɵnextContext();
|
|
337
|
-
i0.ɵɵadvance(2);
|
|
338
|
-
i0.ɵɵtwoWayProperty("ngModel", ctx_r3.allDays);
|
|
339
|
-
i0.ɵɵadvance(3);
|
|
340
|
-
i0.ɵɵconditional(!ctx_r3.allDays() ? 5 : -1);
|
|
341
|
-
i0.ɵɵadvance(2);
|
|
342
|
-
i0.ɵɵtwoWayProperty("ngModel", ctx_r3.allHours);
|
|
343
|
-
} }
|
|
344
|
-
function DateSelector_ng_template_23_Conditional_3_Conditional_1_Template(rf, ctx) { if (rf & 1) {
|
|
345
|
-
i0.ɵɵelementStart(0, "span", 32);
|
|
346
|
-
i0.ɵɵtext(1);
|
|
347
|
-
i0.ɵɵpipe(2, "date");
|
|
348
|
-
i0.ɵɵelementEnd();
|
|
349
|
-
} if (rf & 2) {
|
|
350
|
-
const ctx_r3 = i0.ɵɵnextContext(3);
|
|
351
|
-
i0.ɵɵadvance();
|
|
352
|
-
i0.ɵɵtextInterpolate(i0.ɵɵpipeBind2(2, 1, ctx_r3.selectedDateRange.start, ctx_r3.dateFormat));
|
|
353
|
-
} }
|
|
354
|
-
function DateSelector_ng_template_23_Conditional_3_Conditional_2_Template(rf, ctx) { if (rf & 1) {
|
|
355
|
-
i0.ɵɵelementStart(0, "span", 33);
|
|
356
|
-
i0.ɵɵtext(1, "-");
|
|
357
|
-
i0.ɵɵelementEnd();
|
|
358
|
-
} }
|
|
359
|
-
function DateSelector_ng_template_23_Conditional_3_Conditional_3_Template(rf, ctx) { if (rf & 1) {
|
|
360
|
-
i0.ɵɵelementStart(0, "span", 32);
|
|
361
|
-
i0.ɵɵtext(1);
|
|
362
|
-
i0.ɵɵpipe(2, "date");
|
|
363
|
-
i0.ɵɵelementEnd();
|
|
364
|
-
} if (rf & 2) {
|
|
365
|
-
const ctx_r3 = i0.ɵɵnextContext(3);
|
|
366
|
-
i0.ɵɵadvance();
|
|
367
|
-
i0.ɵɵtextInterpolate(i0.ɵɵpipeBind2(2, 1, ctx_r3.selectedDateRange.end, ctx_r3.dateFormat));
|
|
368
|
-
} }
|
|
369
|
-
function DateSelector_ng_template_23_Conditional_3_Template(rf, ctx) { if (rf & 1) {
|
|
370
|
-
i0.ɵɵelementStart(0, "div", 31);
|
|
371
|
-
i0.ɵɵconditionalCreate(1, DateSelector_ng_template_23_Conditional_3_Conditional_1_Template, 3, 4, "span", 32);
|
|
372
|
-
i0.ɵɵconditionalCreate(2, DateSelector_ng_template_23_Conditional_3_Conditional_2_Template, 2, 0, "span", 33);
|
|
373
|
-
i0.ɵɵconditionalCreate(3, DateSelector_ng_template_23_Conditional_3_Conditional_3_Template, 3, 4, "span", 32);
|
|
374
|
-
i0.ɵɵelementEnd();
|
|
375
|
-
} if (rf & 2) {
|
|
376
|
-
const ctx_r3 = i0.ɵɵnextContext(2);
|
|
377
|
-
i0.ɵɵadvance();
|
|
378
|
-
i0.ɵɵconditional(ctx_r3.selectedDateRange.start ? 1 : -1);
|
|
379
|
-
i0.ɵɵadvance();
|
|
380
|
-
i0.ɵɵconditional(ctx_r3.selectedDateRange.start && ctx_r3.selectedDateRange.end ? 2 : -1);
|
|
381
|
-
i0.ɵɵadvance();
|
|
382
|
-
i0.ɵɵconditional(ctx_r3.selectedDateRange.end ? 3 : -1);
|
|
383
|
-
} }
|
|
384
|
-
function DateSelector_ng_template_23_Template(rf, ctx) { if (rf & 1) {
|
|
385
|
-
i0.ɵɵelementStart(0, "div", 29)(1, "span", 30);
|
|
386
|
-
i0.ɵɵtext(2, "\u8303\u56F4\uFF1A");
|
|
387
|
-
i0.ɵɵelementEnd();
|
|
388
|
-
i0.ɵɵconditionalCreate(3, DateSelector_ng_template_23_Conditional_3_Template, 4, 3, "div", 31);
|
|
389
|
-
i0.ɵɵelementEnd();
|
|
390
|
-
} if (rf & 2) {
|
|
391
|
-
const ctx_r3 = i0.ɵɵnextContext();
|
|
392
|
-
i0.ɵɵadvance(3);
|
|
393
|
-
i0.ɵɵconditional(ctx_r3.selectedDateRange ? 3 : -1);
|
|
394
|
-
} }
|
|
395
91
|
class DateSelector {
|
|
396
92
|
constructor() {
|
|
397
93
|
this.#cdr = inject(ChangeDetectorRef);
|
|
@@ -719,116 +415,26 @@ class DateSelector {
|
|
|
719
415
|
this.endDate.set(endDate.toISOString());
|
|
720
416
|
}
|
|
721
417
|
}
|
|
722
|
-
static { this.ɵfac =
|
|
723
|
-
static { this.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: DateSelector, selectors: [["date-time-picker-selector"]], inputs: { startDate: [1, "startDate"], endDate: [1, "endDate"], startHour: [1, "startHour"], startMinute: [1, "startMinute"], endHour: [1, "endHour"], endMinute: [1, "endMinute"], future: [1, "future"], optionalFeatures: [1, "optionalFeatures"], selectedTimeRange: [1, "selectedTimeRange"], allDays: [1, "allDays"], weekdays: [1, "weekdays"], allHours: [1, "allHours"] }, outputs: { startDate: "startDateChange", endDate: "endDateChange", startHour: "startHourChange", startMinute: "startMinuteChange", endHour: "endHourChange", endMinute: "endMinuteChange", future: "futureChange", optionalFeatures: "optionalFeaturesChange", selectedTimeRange: "selectedTimeRangeChange", allDays: "allDaysChange", weekdays: "weekdaysChange", allHours: "allHoursChange" }, features: [i0.ɵɵProvidersFeature([provideNativeDateAdapter(), DefaultMatCalendarRangeStrategy, MatRangeDateSelectionModel])], decls: 25, vars: 15, consts: [["footerExtraContent", ""], ["headerTitle", "\u65E5\u671F\u65F6\u95F4\u9009\u62E9\u5668", "submitTitle", "\u5E94\u7528", 3, "submit", "dismiss", "disabledSubmit", "footerExtraContent"], ["dir", "rtl", 1, "date-selector-sidebar"], ["dir", "ltr", 1, "date-selector-sidebar-inner"], [1, "date-selector-sidebar-header"], [1, "date-selector-sidebar-title"], [1, "date-selector-sidebar-list"], [1, "date-selector-sidebar-item"], [1, "date-selector-main"], [1, "date-selector-content"], [1, "date-selector-calendar-section"], [1, "date-selector-calendar-wrapper"], [1, "date-selector-calendar", 3, "selectedChange", "maxDate", "selected"], [1, "date-selector-hint"], ["name", "info-circle", "strokeWidth", "2px", 1, "date-selector-hint-icon"], [1, "date-selector-hint-text"], [1, "date-selector-time-section"], [1, "date-selector-inputs"], ["label", "\u5F00\u59CB\u65E5\u671F", 3, "dateChange", "timeChange", "dateValue", "hourValue", "minuteValue", "hours", "minutes"], ["label", "\u7ED3\u675F\u65E5\u671F", 3, "dateChange", "timeChange", "dateValue", "hourValue", "minuteValue", "hours", "minutes"], [1, "date-selector-options"], ["type", "button", 1, "date-selector-sidebar-btn", 3, "click"], [1, "date-selector-sidebar-text"], [1, "date-selector-option-group"], [1, "date-selector-option-checkbox", 3, "ngModelChange", "ngModel"], [1, "date-selector-option-label"], [1, "date-selector-weekdays"], ["type", "button", 1, "date-selector-weekday-btn", 3, "selected"], ["type", "button", 1, "date-selector-weekday-btn", 3, "click"], [1, "date-selector-footer-range"], [1, "date-selector-footer-label"], [1, "date-selector-footer-value"], [1, "date-selector-footer-date"], [1, "date-selector-footer-separator"]], template: function DateSelector_Template(rf, ctx) { if (rf & 1) {
|
|
724
|
-
const _r1 = i0.ɵɵgetCurrentView();
|
|
725
|
-
i0.ɵɵelementStart(0, "date-time-picker-container", 1);
|
|
726
|
-
i0.ɵɵlistener("submit", function DateSelector_Template_date_time_picker_container_submit_0_listener() { i0.ɵɵrestoreView(_r1); return i0.ɵɵresetView(ctx.submit()); })("dismiss", function DateSelector_Template_date_time_picker_container_dismiss_0_listener() { i0.ɵɵrestoreView(_r1); return i0.ɵɵresetView(ctx.dismiss()); });
|
|
727
|
-
i0.ɵɵelementStart(1, "aside", 2)(2, "div", 3)(3, "div", 4)(4, "span", 5);
|
|
728
|
-
i0.ɵɵtext(5, "\u5FEB\u6377\u9009\u62E9");
|
|
729
|
-
i0.ɵɵelementEnd()();
|
|
730
|
-
i0.ɵɵelementStart(6, "ul", 6);
|
|
731
|
-
i0.ɵɵrepeaterCreate(7, DateSelector_For_8_Template, 4, 3, "li", 7, i0.ɵɵrepeaterTrackByIdentity);
|
|
732
|
-
i0.ɵɵelementEnd()()();
|
|
733
|
-
i0.ɵɵelementStart(9, "div", 8)(10, "div", 9)(11, "section", 10)(12, "div", 11)(13, "mat-calendar", 12);
|
|
734
|
-
i0.ɵɵtwoWayListener("selectedChange", function DateSelector_Template_mat_calendar_selectedChange_13_listener($event) { i0.ɵɵrestoreView(_r1); i0.ɵɵtwoWayBindingSet(ctx.selectedDateRange, $event) || (ctx.selectedDateRange = $event); return i0.ɵɵresetView($event); });
|
|
735
|
-
i0.ɵɵlistener("selectedChange", function DateSelector_Template_mat_calendar_selectedChange_13_listener($event) { i0.ɵɵrestoreView(_r1); return i0.ɵɵresetView(ctx.rangeChanged($event)); });
|
|
736
|
-
i0.ɵɵelementEnd();
|
|
737
|
-
i0.ɵɵelementStart(14, "div", 13);
|
|
738
|
-
i0.ɵɵelement(15, "i-tabler", 14);
|
|
739
|
-
i0.ɵɵelementStart(16, "span", 15);
|
|
740
|
-
i0.ɵɵtext(17, "\u5982\u679C\u8981\u9009\u62E9\u4E00\u5929\uFF0C\u8BF7\u53CC\u51FB\u8BE5\u5929\u3002");
|
|
741
|
-
i0.ɵɵelementEnd()()()();
|
|
742
|
-
i0.ɵɵelementStart(18, "section", 16)(19, "div", 17)(20, "date-time-input", 18);
|
|
743
|
-
i0.ɵɵlistener("dateChange", function DateSelector_Template_date_time_input_dateChange_20_listener($event) { i0.ɵɵrestoreView(_r1); return i0.ɵɵresetView(ctx.changeDatePart("start", $event)); })("timeChange", function DateSelector_Template_date_time_input_timeChange_20_listener() { i0.ɵɵrestoreView(_r1); return i0.ɵɵresetView(ctx.updateStartTime()); });
|
|
744
|
-
i0.ɵɵelementEnd();
|
|
745
|
-
i0.ɵɵelementStart(21, "date-time-input", 19);
|
|
746
|
-
i0.ɵɵlistener("dateChange", function DateSelector_Template_date_time_input_dateChange_21_listener($event) { i0.ɵɵrestoreView(_r1); return i0.ɵɵresetView(ctx.changeDatePart("end", $event)); })("timeChange", function DateSelector_Template_date_time_input_timeChange_21_listener() { i0.ɵɵrestoreView(_r1); return i0.ɵɵresetView(ctx.updateEndTime()); });
|
|
747
|
-
i0.ɵɵelementEnd()();
|
|
748
|
-
i0.ɵɵconditionalCreate(22, DateSelector_Conditional_22_Template, 10, 3, "div", 20);
|
|
749
|
-
i0.ɵɵelementEnd()()()();
|
|
750
|
-
i0.ɵɵtemplate(23, DateSelector_ng_template_23_Template, 4, 1, "ng-template", null, 0, i0.ɵɵtemplateRefExtractor);
|
|
751
|
-
} if (rf & 2) {
|
|
752
|
-
const footerExtraContent_r8 = i0.ɵɵreference(24);
|
|
753
|
-
i0.ɵɵproperty("disabledSubmit", !ctx.selectedDateRange)("footerExtraContent", footerExtraContent_r8);
|
|
754
|
-
i0.ɵɵadvance(7);
|
|
755
|
-
i0.ɵɵrepeater(ctx.timeRanges());
|
|
756
|
-
i0.ɵɵadvance(6);
|
|
757
|
-
i0.ɵɵproperty("maxDate", !ctx.future() ? ctx.now : undefined);
|
|
758
|
-
i0.ɵɵtwoWayProperty("selected", ctx.selectedDateRange);
|
|
759
|
-
i0.ɵɵadvance(7);
|
|
760
|
-
i0.ɵɵproperty("dateValue", ctx.startDate())("hourValue", ctx.startHour())("minuteValue", ctx.startMinute())("hours", ctx.getHours())("minutes", ctx.getMinutes());
|
|
761
|
-
i0.ɵɵadvance();
|
|
762
|
-
i0.ɵɵproperty("dateValue", ctx.endDate())("hourValue", ctx.endHour())("minuteValue", ctx.endMinute())("hours", ctx.getHours())("minutes", ctx.getMinutes());
|
|
763
|
-
i0.ɵɵadvance();
|
|
764
|
-
i0.ɵɵconditional(ctx.optionalFeatures() ? 22 : -1);
|
|
765
|
-
} }, dependencies: [MatCalendar,
|
|
766
|
-
TablerIconComponent,
|
|
767
|
-
MatDatepickerModule, i1$2.Dir, MatNativeDateModule,
|
|
768
|
-
ReactiveFormsModule, i2.NgControlStatus, FormsModule, i2.NgModel, MatCheckbox,
|
|
769
|
-
MatTimepickerModule,
|
|
770
|
-
Container,
|
|
771
|
-
DateTimeInputComponent,
|
|
772
|
-
DatePipe], styles: ["@charset \"UTF-8\";[_nghost-%COMP%]{display:block;height:100%}.date-selector-sidebar[_ngcontent-%COMP%]{width:12rem;height:100%;display:none;background-color:var(--mat-sys-surface-container, #fafafa);border-right:1px solid var(--mat-divider-color, rgba(0, 0, 0, .12));display:flex;flex-direction:column}@media(min-width:1024px){.date-selector-sidebar[_ngcontent-%COMP%]{display:flex}}.date-selector-sidebar-inner[_ngcontent-%COMP%]{width:100%;height:100%;display:flex;flex-direction:column;padding:0}.date-selector-sidebar-header[_ngcontent-%COMP%]{padding:12px 16px;border-bottom:1px solid var(--mat-divider-color, rgba(0, 0, 0, .12));background-color:var(--mat-sys-surface, #fff);position:sticky;top:0;z-index:1}.date-selector-sidebar-title[_ngcontent-%COMP%]{font-size:.75rem;font-weight:500;text-transform:uppercase;letter-spacing:.5px;color:var(--mat-sys-on-surface-variant, rgba(0, 0, 0, .6))}.date-selector-sidebar-list[_ngcontent-%COMP%]{list-style:none;margin:0;padding:4px 0;flex:1;overflow-y:auto;overflow-x:hidden}.date-selector-sidebar-item[_ngcontent-%COMP%]{margin:0;padding:0}.date-selector-sidebar-btn[_ngcontent-%COMP%]{width:100%;padding:8px 12px;background:transparent;border:none;cursor:pointer;font-size:.8125rem;font-weight:500;color:var(--mat-sys-on-surface-variant, rgba(0, 0, 0, .6));text-align:left;transition:all .2s ease;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.date-selector-sidebar-btn[_ngcontent-%COMP%]:hover{background-color:var(--mat-sys-primary-container, rgba(25, 118, 210, .08));color:var(--mat-sys-primary, #1976d2);padding-left:16px}.date-selector-sidebar-btn.selected[_ngcontent-%COMP%]{background-color:var(--mat-sys-primary-container, rgba(25, 118, 210, .16));color:var(--mat-sys-primary, #1976d2);font-weight:600;padding-left:16px}.date-selector-sidebar-btn[_ngcontent-%COMP%]:focus-visible{outline:2px solid var(--mat-sys-primary, #1976d2);outline-offset:-2px}.date-selector-sidebar-text[_ngcontent-%COMP%]{display:block}.date-selector-main[_ngcontent-%COMP%]{flex:1;width:100%;height:100%;display:flex;background-color:var(--mat-sys-surface, #fff)}@media(min-width:1024px){.date-selector-main[_ngcontent-%COMP%]{width:calc(100% - 12rem)}}.date-selector-content[_ngcontent-%COMP%]{width:100%;height:100%;display:flex;flex-direction:column}@media(min-width:768px){.date-selector-content[_ngcontent-%COMP%]{flex-direction:row}}.date-selector-calendar-section[_ngcontent-%COMP%]{width:100%;min-height:100%;display:flex;align-items:center;justify-content:center;padding:16px;border-right:1px solid var(--mat-divider-color, rgba(0, 0, 0, .12));box-sizing:border-box}@media(min-width:768px){.date-selector-calendar-section[_ngcontent-%COMP%]{width:50%}}@media(max-width:767px){.date-selector-calendar-section[_ngcontent-%COMP%]{border-right:none;border-bottom:1px solid var(--mat-divider-color, rgba(0, 0, 0, .12))}}.date-selector-calendar-wrapper[_ngcontent-%COMP%]{width:100%;display:flex;flex-direction:column;gap:16px}.date-selector-calendar[_ngcontent-%COMP%]{width:100%}.date-selector-hint[_ngcontent-%COMP%]{display:flex;align-items:flex-start;gap:8px;padding:12px 16px;background-color:var(--mat-sys-primary-container, rgba(25, 118, 210, .08));border:1px solid var(--mat-outline-variant, rgba(25, 118, 210, .16));border-radius:4px;align-items:center}.date-selector-hint-icon[_ngcontent-%COMP%]{flex-shrink:0;color:var(--mat-sys-primary, #1976d2);margin-top:2px}.date-selector-hint-text[_ngcontent-%COMP%]{font-size:.75rem;line-height:1.25;color:var(--mat-sys-on-surface-variant, rgba(0, 0, 0, .6))}.date-selector-time-section[_ngcontent-%COMP%]{width:100%;display:flex;flex-direction:column;overflow-y:auto;overflow-x:hidden}@media(min-width:768px){.date-selector-time-section[_ngcontent-%COMP%]{width:50%}}.date-selector-inputs[_ngcontent-%COMP%]{display:flex;flex-direction:column;padding:0}.date-selector-options[_ngcontent-%COMP%]{display:flex;flex-direction:column;gap:0;padding:12px 16px;border-top:1px solid var(--mat-divider-color, rgba(0, 0, 0, .12));background-color:var(--mat-sys-surface-container, #fafafa)}.date-selector-option-group[_ngcontent-%COMP%]{display:flex;flex-direction:column;gap:8px}.date-selector-option-label[_ngcontent-%COMP%]{font-size:.75rem;font-weight:500;text-transform:uppercase;letter-spacing:.5px;color:var(--mat-sys-on-surface-variant, rgba(0, 0, 0, .6));margin-left:4px}.date-selector-weekdays[_ngcontent-%COMP%]{display:grid;grid-template-columns:repeat(7,1fr);gap:4px;margin-top:4px}.date-selector-weekday-btn[_ngcontent-%COMP%]{padding:8px 4px;background-color:var(--mat-sys-surface, #fff);border:1px solid var(--mat-divider-color, rgba(0, 0, 0, .12));border-radius:4px;cursor:pointer;font-size:.75rem;font-weight:500;line-height:1.25;color:var(--mat-sys-on-surface-variant, rgba(0, 0, 0, .6));text-align:center;white-space:nowrap;transition:all .2s ease}.date-selector-weekday-btn[_ngcontent-%COMP%]:hover{border-color:var(--mat-sys-primary, #1976d2);background-color:var(--mat-sys-primary-container, rgba(25, 118, 210, .08))}.date-selector-weekday-btn.selected[_ngcontent-%COMP%]{background-color:var(--mat-sys-primary, #1976d2);border-color:var(--mat-sys-primary, #1976d2);color:var(--mat-sys-on-primary, white);font-weight:600}.date-selector-weekday-btn[_ngcontent-%COMP%]:focus-visible{outline:2px solid var(--mat-sys-primary, #1976d2);outline-offset:2px}.date-selector-footer-range[_ngcontent-%COMP%]{display:flex;align-items:center;gap:8px;font-size:.75rem;margin-right:auto;padding:0 8px}.date-selector-footer-label[_ngcontent-%COMP%]{font-weight:600;text-transform:uppercase;letter-spacing:.5px;color:var(--mat-sys-on-surface-variant, rgba(0, 0, 0, .6));display:none}@media(min-width:768px){.date-selector-footer-label[_ngcontent-%COMP%]{display:block}}.date-selector-footer-value[_ngcontent-%COMP%]{display:flex;flex-direction:column;gap:0;font-weight:600}@media(min-width:768px){.date-selector-footer-value[_ngcontent-%COMP%]{flex-direction:row;gap:8px;align-items:center}}.date-selector-footer-date[_ngcontent-%COMP%]{color:var(--mat-sys-on-surface, rgba(0, 0, 0, .87));white-space:nowrap}.date-selector-footer-separator[_ngcontent-%COMP%]{color:var(--mat-sys-on-surface-variant, rgba(0, 0, 0, .6));display:none}@media(min-width:768px){.date-selector-footer-separator[_ngcontent-%COMP%]{display:block}}", "[_nghost-%COMP%]{display:block;height:100%}"], changeDetection: 0 }); }
|
|
418
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.1.0", ngImport: i0, type: DateSelector, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
419
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.1.0", type: DateSelector, isStandalone: true, selector: "date-time-picker-selector", inputs: { startDate: { classPropertyName: "startDate", publicName: "startDate", isSignal: true, isRequired: false, transformFunction: null }, endDate: { classPropertyName: "endDate", publicName: "endDate", isSignal: true, isRequired: false, transformFunction: null }, startHour: { classPropertyName: "startHour", publicName: "startHour", isSignal: true, isRequired: false, transformFunction: null }, startMinute: { classPropertyName: "startMinute", publicName: "startMinute", isSignal: true, isRequired: false, transformFunction: null }, endHour: { classPropertyName: "endHour", publicName: "endHour", isSignal: true, isRequired: false, transformFunction: null }, endMinute: { classPropertyName: "endMinute", publicName: "endMinute", isSignal: true, isRequired: false, transformFunction: null }, future: { classPropertyName: "future", publicName: "future", isSignal: true, isRequired: false, transformFunction: null }, optionalFeatures: { classPropertyName: "optionalFeatures", publicName: "optionalFeatures", isSignal: true, isRequired: false, transformFunction: null }, selectedTimeRange: { classPropertyName: "selectedTimeRange", publicName: "selectedTimeRange", isSignal: true, isRequired: false, transformFunction: null }, allDays: { classPropertyName: "allDays", publicName: "allDays", isSignal: true, isRequired: false, transformFunction: null }, weekdays: { classPropertyName: "weekdays", publicName: "weekdays", isSignal: true, isRequired: false, transformFunction: null }, allHours: { classPropertyName: "allHours", publicName: "allHours", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { startDate: "startDateChange", endDate: "endDateChange", startHour: "startHourChange", startMinute: "startMinuteChange", endHour: "endHourChange", endMinute: "endMinuteChange", future: "futureChange", optionalFeatures: "optionalFeaturesChange", selectedTimeRange: "selectedTimeRangeChange", allDays: "allDaysChange", weekdays: "weekdaysChange", allHours: "allHoursChange" }, providers: [provideNativeDateAdapter(), DefaultMatCalendarRangeStrategy, MatRangeDateSelectionModel], ngImport: i0, template: "<date-time-picker-container\r\n headerTitle=\"\u65E5\u671F\u65F6\u95F4\u9009\u62E9\u5668\"\r\n submitTitle=\"\u5E94\u7528\"\r\n [disabledSubmit]=\"!selectedDateRange\"\r\n [footerExtraContent]=\"footerExtraContent\"\r\n (submit)=\"submit()\"\r\n (dismiss)=\"dismiss()\"\r\n>\r\n <!-- \u5DE6\u4FA7\u5FEB\u6377\u9009\u62E9\u9762\u677F -->\r\n <aside class=\"date-selector-sidebar\" dir=\"rtl\">\r\n <div class=\"date-selector-sidebar-inner\" dir=\"ltr\">\r\n <div class=\"date-selector-sidebar-header\">\r\n <span class=\"date-selector-sidebar-title\">\u5FEB\u6377\u9009\u62E9</span>\r\n </div>\r\n <ul class=\"date-selector-sidebar-list\">\r\n @for (timeRangeItem of timeRanges(); track timeRangeItem) {\r\n <li class=\"date-selector-sidebar-item\">\r\n <button\r\n type=\"button\"\r\n (click)=\"selectTimeRange(timeRangeItem)\"\r\n [class.selected]=\"selectedTimeRange() && selectedTimeRange()?.start === timeRangeItem.start && selectedTimeRange()?.end === timeRangeItem.end\"\r\n class=\"date-selector-sidebar-btn\"\r\n >\r\n <span class=\"date-selector-sidebar-text\">{{ timeRangeItem.label }}</span>\r\n </button>\r\n </li>\r\n }\r\n </ul>\r\n </div>\r\n </aside>\r\n <!-- \u5DE6\u4FA7\u5FEB\u6377\u9009\u62E9\u9762\u677F\u7ED3\u675F -->\r\n\r\n <!-- \u4E3B\u8981\u5185\u5BB9\u533A\u57DF -->\r\n <div class=\"date-selector-main\">\r\n <div class=\"date-selector-content\">\r\n <!-- \u65E5\u5386\u5BB9\u5668 -->\r\n <section class=\"date-selector-calendar-section\">\r\n <div class=\"date-selector-calendar-wrapper\">\r\n <mat-calendar [maxDate]=\"!future() ? now : undefined\" [(selected)]=\"selectedDateRange\" (selectedChange)=\"rangeChanged($event)\" class=\"date-selector-calendar\" />\r\n\r\n <div class=\"date-selector-hint\">\r\n <i-tabler name=\"info-circle\" strokeWidth=\"2px\" class=\"date-selector-hint-icon\"></i-tabler>\r\n <span class=\"date-selector-hint-text\">\u5982\u679C\u8981\u9009\u62E9\u4E00\u5929\uFF0C\u8BF7\u53CC\u51FB\u8BE5\u5929\u3002</span>\r\n </div>\r\n </div>\r\n </section>\r\n <!-- \u65E5\u5386\u5BB9\u5668\u7ED3\u675F -->\r\n\r\n <!-- \u65F6\u95F4\u8BBE\u7F6E\u5BB9\u5668 -->\r\n <section class=\"date-selector-time-section\">\r\n <!-- \u5F00\u59CB\u548C\u7ED3\u675F\u8F93\u5165\u65E5\u671F -->\r\n <div class=\"date-selector-inputs\">\r\n <!-- \u4ECE\u65E5\u671F -->\r\n <date-time-input\r\n label=\"\u5F00\u59CB\u65E5\u671F\"\r\n [dateValue]=\"startDate()\"\r\n [hourValue]=\"startHour()\"\r\n [minuteValue]=\"startMinute()\"\r\n [hours]=\"getHours()\"\r\n [minutes]=\"getMinutes()\"\r\n (dateChange)=\"changeDatePart('start', $event)\"\r\n (timeChange)=\"updateStartTime()\"\r\n />\r\n\r\n <!-- \u7ED3\u675F\u65E5\u671F -->\r\n <date-time-input\r\n label=\"\u7ED3\u675F\u65E5\u671F\"\r\n [dateValue]=\"endDate()\"\r\n [hourValue]=\"endHour()\"\r\n [minuteValue]=\"endMinute()\"\r\n [hours]=\"getHours()\"\r\n [minutes]=\"getMinutes()\"\r\n (dateChange)=\"changeDatePart('end', $event)\"\r\n (timeChange)=\"updateEndTime()\"\r\n />\r\n </div>\r\n\r\n @if (optionalFeatures()) {\r\n <!-- \u81EA\u5B9A\u4E49\u9009\u9879 -->\r\n <div class=\"date-selector-options\">\r\n <!-- \u81EA\u5B9A\u4E49\u5929\u6570 -->\r\n <div class=\"date-selector-option-group\">\r\n <mat-checkbox [(ngModel)]=\"allDays\" class=\"date-selector-option-checkbox\">\r\n <span class=\"date-selector-option-label\">\u6240\u6709\u5929</span>\r\n </mat-checkbox>\r\n\r\n @if (!allDays()) {\r\n <div class=\"date-selector-weekdays\">\r\n @for (day of weekdays(); track day.value) {\r\n <button type=\"button\" (click)=\"day.selected = !day.selected\" [class.selected]=\"day.selected\" class=\"date-selector-weekday-btn\">\r\n {{ day.label }}\r\n </button>\r\n }\r\n </div>\r\n }\r\n </div>\r\n\r\n <!-- \u81EA\u5B9A\u4E49\u5C0F\u65F6 -->\r\n <div class=\"date-selector-option-group\">\r\n <mat-checkbox [(ngModel)]=\"allHours\" class=\"date-selector-option-checkbox\">\r\n <span class=\"date-selector-option-label\">\u6240\u6709\u5C0F\u65F6</span>\r\n </mat-checkbox>\r\n </div>\r\n </div>\r\n }\r\n </section>\r\n </div>\r\n </div>\r\n</date-time-picker-container>\r\n\r\n<ng-template #footerExtraContent>\r\n <div class=\"date-selector-footer-range\">\r\n <span class=\"date-selector-footer-label\">\u8303\u56F4\uFF1A</span>\r\n\r\n @if (selectedDateRange) {\r\n <div class=\"date-selector-footer-value\">\r\n @if (selectedDateRange.start) {\r\n <span class=\"date-selector-footer-date\">{{ selectedDateRange.start | date: dateFormat }}</span>\r\n }\r\n\r\n @if (selectedDateRange.start && selectedDateRange.end) {\r\n <span class=\"date-selector-footer-separator\">-</span>\r\n }\r\n\r\n @if (selectedDateRange.end) {\r\n <span class=\"date-selector-footer-date\">{{ selectedDateRange.end | date: dateFormat }}</span>\r\n }\r\n </div>\r\n }\r\n </div>\r\n</ng-template>\r\n", styles: ["@charset \"UTF-8\";:host{display:block;height:100%}.date-selector-sidebar{width:12rem;height:100%;display:none;background-color:var(--mat-sys-surface-container, #fafafa);border-right:1px solid var(--mat-divider-color, rgba(0, 0, 0, .12));display:flex;flex-direction:column}@media(min-width:1024px){.date-selector-sidebar{display:flex}}.date-selector-sidebar-inner{width:100%;height:100%;display:flex;flex-direction:column;padding:0}.date-selector-sidebar-header{padding:12px 16px;border-bottom:1px solid var(--mat-divider-color, rgba(0, 0, 0, .12));background-color:var(--mat-sys-surface, #fff);position:sticky;top:0;z-index:1}.date-selector-sidebar-title{font-size:.75rem;font-weight:500;text-transform:uppercase;letter-spacing:.5px;color:var(--mat-sys-on-surface-variant, rgba(0, 0, 0, .6))}.date-selector-sidebar-list{list-style:none;margin:0;padding:4px 0;flex:1;overflow-y:auto;overflow-x:hidden}.date-selector-sidebar-item{margin:0;padding:0}.date-selector-sidebar-btn{width:100%;padding:8px 12px;background:transparent;border:none;cursor:pointer;font-size:.8125rem;font-weight:500;color:var(--mat-sys-on-surface-variant, rgba(0, 0, 0, .6));text-align:left;transition:all .2s ease;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.date-selector-sidebar-btn:hover{background-color:var(--mat-sys-primary-container, rgba(25, 118, 210, .08));color:var(--mat-sys-primary, #1976d2);padding-left:16px}.date-selector-sidebar-btn.selected{background-color:var(--mat-sys-primary-container, rgba(25, 118, 210, .16));color:var(--mat-sys-primary, #1976d2);font-weight:600;padding-left:16px}.date-selector-sidebar-btn:focus-visible{outline:2px solid var(--mat-sys-primary, #1976d2);outline-offset:-2px}.date-selector-sidebar-text{display:block}.date-selector-main{flex:1;width:100%;height:100%;display:flex;background-color:var(--mat-sys-surface, #fff)}@media(min-width:1024px){.date-selector-main{width:calc(100% - 12rem)}}.date-selector-content{width:100%;height:100%;display:flex;flex-direction:column}@media(min-width:768px){.date-selector-content{flex-direction:row}}.date-selector-calendar-section{width:100%;min-height:100%;display:flex;align-items:center;justify-content:center;padding:16px;border-right:1px solid var(--mat-divider-color, rgba(0, 0, 0, .12));box-sizing:border-box}@media(min-width:768px){.date-selector-calendar-section{width:50%}}@media(max-width:767px){.date-selector-calendar-section{border-right:none;border-bottom:1px solid var(--mat-divider-color, rgba(0, 0, 0, .12))}}.date-selector-calendar-wrapper{width:100%;display:flex;flex-direction:column;gap:16px}.date-selector-calendar{width:100%}.date-selector-hint{display:flex;align-items:flex-start;gap:8px;padding:12px 16px;background-color:var(--mat-sys-primary-container, rgba(25, 118, 210, .08));border:1px solid var(--mat-outline-variant, rgba(25, 118, 210, .16));border-radius:4px;align-items:center}.date-selector-hint-icon{flex-shrink:0;color:var(--mat-sys-primary, #1976d2);margin-top:2px}.date-selector-hint-text{font-size:.75rem;line-height:1.25;color:var(--mat-sys-on-surface-variant, rgba(0, 0, 0, .6))}.date-selector-time-section{width:100%;display:flex;flex-direction:column;overflow-y:auto;overflow-x:hidden}@media(min-width:768px){.date-selector-time-section{width:50%}}.date-selector-inputs{display:flex;flex-direction:column;padding:0}.date-selector-options{display:flex;flex-direction:column;gap:0;padding:12px 16px;border-top:1px solid var(--mat-divider-color, rgba(0, 0, 0, .12));background-color:var(--mat-sys-surface-container, #fafafa)}.date-selector-option-group{display:flex;flex-direction:column;gap:8px}.date-selector-option-label{font-size:.75rem;font-weight:500;text-transform:uppercase;letter-spacing:.5px;color:var(--mat-sys-on-surface-variant, rgba(0, 0, 0, .6));margin-left:4px}.date-selector-weekdays{display:grid;grid-template-columns:repeat(7,1fr);gap:4px;margin-top:4px}.date-selector-weekday-btn{padding:8px 4px;background-color:var(--mat-sys-surface, #fff);border:1px solid var(--mat-divider-color, rgba(0, 0, 0, .12));border-radius:4px;cursor:pointer;font-size:.75rem;font-weight:500;line-height:1.25;color:var(--mat-sys-on-surface-variant, rgba(0, 0, 0, .6));text-align:center;white-space:nowrap;transition:all .2s ease}.date-selector-weekday-btn:hover{border-color:var(--mat-sys-primary, #1976d2);background-color:var(--mat-sys-primary-container, rgba(25, 118, 210, .08))}.date-selector-weekday-btn.selected{background-color:var(--mat-sys-primary, #1976d2);border-color:var(--mat-sys-primary, #1976d2);color:var(--mat-sys-on-primary, white);font-weight:600}.date-selector-weekday-btn:focus-visible{outline:2px solid var(--mat-sys-primary, #1976d2);outline-offset:2px}.date-selector-footer-range{display:flex;align-items:center;gap:8px;font-size:.75rem;margin-right:auto;padding:0 8px}.date-selector-footer-label{font-weight:600;text-transform:uppercase;letter-spacing:.5px;color:var(--mat-sys-on-surface-variant, rgba(0, 0, 0, .6));display:none}@media(min-width:768px){.date-selector-footer-label{display:block}}.date-selector-footer-value{display:flex;flex-direction:column;gap:0;font-weight:600}@media(min-width:768px){.date-selector-footer-value{flex-direction:row;gap:8px;align-items:center}}.date-selector-footer-date{color:var(--mat-sys-on-surface, rgba(0, 0, 0, .87));white-space:nowrap}.date-selector-footer-separator{color:var(--mat-sys-on-surface-variant, rgba(0, 0, 0, .6));display:none}@media(min-width:768px){.date-selector-footer-separator{display:block}}\n", ":host{display:block;height:100%}\n"], dependencies: [{ kind: "component", type: MatCalendar, selector: "mat-calendar", inputs: ["headerComponent", "startAt", "startView", "selected", "minDate", "maxDate", "dateFilter", "dateClass", "comparisonStart", "comparisonEnd", "startDateAccessibleName", "endDateAccessibleName"], outputs: ["selectedChange", "yearSelected", "monthSelected", "viewChanged", "_userSelection", "_userDragDrop"], exportAs: ["matCalendar"] }, { kind: "component", type: TablerIconComponent, selector: "i-tabler, tabler-icon", inputs: ["name"] }, { kind: "ngmodule", type: MatDatepickerModule }, { kind: "directive", type: i1$2.Dir, selector: "[dir]", inputs: ["dir"], outputs: ["dirChange"], exportAs: ["dir"] }, { kind: "ngmodule", type: MatNativeDateModule }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i2.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: MatCheckbox, selector: "mat-checkbox", inputs: ["aria-label", "aria-labelledby", "aria-describedby", "aria-expanded", "aria-controls", "aria-owns", "id", "required", "labelPosition", "name", "value", "disableRipple", "tabIndex", "color", "disabledInteractive", "checked", "disabled", "indeterminate"], outputs: ["change", "indeterminateChange"], exportAs: ["matCheckbox"] }, { kind: "ngmodule", type: MatTimepickerModule }, { kind: "component", type: Container, selector: "date-time-picker-container", inputs: ["hasHeader", "hasFooter", "headerTitle", "headerExtraContent", "footerExtraContent", "hasDismiss", "hasSubmit", "submitTitle", "submitBg", "submitColor", "submitTitleColor", "disabledSubmit", "hasSecondaryButton", "secondaryButtonTitle", "secondaryButtonBg", "secondaryButtonColor", "secondaryButtonTitleColor", "disabledSecondaryButton"], outputs: ["hasHeaderChange", "hasFooterChange", "headerTitleChange", "headerExtraContentChange", "footerExtraContentChange", "hasDismissChange", "hasSubmitChange", "submitTitleChange", "submitBgChange", "submitColorChange", "submitTitleColorChange", "disabledSubmitChange", "hasSecondaryButtonChange", "secondaryButtonTitleChange", "secondaryButtonBgChange", "secondaryButtonColorChange", "secondaryButtonTitleColorChange", "disabledSecondaryButtonChange", "dismiss", "submit", "secondaryButton"] }, { kind: "component", type: DateTimeInputComponent, selector: "date-time-input", inputs: ["label", "dateValue", "hourValue", "minuteValue", "hours", "minutes"], outputs: ["dateChange", "hourChange", "minuteChange", "timeChange"] }, { kind: "pipe", type: DatePipe, name: "date" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
773
420
|
}
|
|
774
|
-
(
|
|
775
|
-
|
|
776
|
-
|
|
777
|
-
|
|
778
|
-
|
|
779
|
-
|
|
780
|
-
|
|
781
|
-
|
|
782
|
-
|
|
783
|
-
|
|
784
|
-
|
|
785
|
-
|
|
786
|
-
|
|
787
|
-
|
|
788
|
-
], template: "<date-time-picker-container\r\n headerTitle=\"\u65E5\u671F\u65F6\u95F4\u9009\u62E9\u5668\"\r\n submitTitle=\"\u5E94\u7528\"\r\n [disabledSubmit]=\"!selectedDateRange\"\r\n [footerExtraContent]=\"footerExtraContent\"\r\n (submit)=\"submit()\"\r\n (dismiss)=\"dismiss()\"\r\n>\r\n <!-- \u5DE6\u4FA7\u5FEB\u6377\u9009\u62E9\u9762\u677F -->\r\n <aside class=\"date-selector-sidebar\" dir=\"rtl\">\r\n <div class=\"date-selector-sidebar-inner\" dir=\"ltr\">\r\n <div class=\"date-selector-sidebar-header\">\r\n <span class=\"date-selector-sidebar-title\">\u5FEB\u6377\u9009\u62E9</span>\r\n </div>\r\n <ul class=\"date-selector-sidebar-list\">\r\n @for (timeRangeItem of timeRanges(); track timeRangeItem) {\r\n <li class=\"date-selector-sidebar-item\">\r\n <button\r\n type=\"button\"\r\n (click)=\"selectTimeRange(timeRangeItem)\"\r\n [class.selected]=\"selectedTimeRange() && selectedTimeRange()?.start === timeRangeItem.start && selectedTimeRange()?.end === timeRangeItem.end\"\r\n class=\"date-selector-sidebar-btn\"\r\n >\r\n <span class=\"date-selector-sidebar-text\">{{ timeRangeItem.label }}</span>\r\n </button>\r\n </li>\r\n }\r\n </ul>\r\n </div>\r\n </aside>\r\n <!-- \u5DE6\u4FA7\u5FEB\u6377\u9009\u62E9\u9762\u677F\u7ED3\u675F -->\r\n\r\n <!-- \u4E3B\u8981\u5185\u5BB9\u533A\u57DF -->\r\n <div class=\"date-selector-main\">\r\n <div class=\"date-selector-content\">\r\n <!-- \u65E5\u5386\u5BB9\u5668 -->\r\n <section class=\"date-selector-calendar-section\">\r\n <div class=\"date-selector-calendar-wrapper\">\r\n <mat-calendar [maxDate]=\"!future() ? now : undefined\" [(selected)]=\"selectedDateRange\" (selectedChange)=\"rangeChanged($event)\" class=\"date-selector-calendar\" />\r\n\r\n <div class=\"date-selector-hint\">\r\n <i-tabler name=\"info-circle\" strokeWidth=\"2px\" class=\"date-selector-hint-icon\"></i-tabler>\r\n <span class=\"date-selector-hint-text\">\u5982\u679C\u8981\u9009\u62E9\u4E00\u5929\uFF0C\u8BF7\u53CC\u51FB\u8BE5\u5929\u3002</span>\r\n </div>\r\n </div>\r\n </section>\r\n <!-- \u65E5\u5386\u5BB9\u5668\u7ED3\u675F -->\r\n\r\n <!-- \u65F6\u95F4\u8BBE\u7F6E\u5BB9\u5668 -->\r\n <section class=\"date-selector-time-section\">\r\n <!-- \u5F00\u59CB\u548C\u7ED3\u675F\u8F93\u5165\u65E5\u671F -->\r\n <div class=\"date-selector-inputs\">\r\n <!-- \u4ECE\u65E5\u671F -->\r\n <date-time-input\r\n label=\"\u5F00\u59CB\u65E5\u671F\"\r\n [dateValue]=\"startDate()\"\r\n [hourValue]=\"startHour()\"\r\n [minuteValue]=\"startMinute()\"\r\n [hours]=\"getHours()\"\r\n [minutes]=\"getMinutes()\"\r\n (dateChange)=\"changeDatePart('start', $event)\"\r\n (timeChange)=\"updateStartTime()\"\r\n />\r\n\r\n <!-- \u7ED3\u675F\u65E5\u671F -->\r\n <date-time-input\r\n label=\"\u7ED3\u675F\u65E5\u671F\"\r\n [dateValue]=\"endDate()\"\r\n [hourValue]=\"endHour()\"\r\n [minuteValue]=\"endMinute()\"\r\n [hours]=\"getHours()\"\r\n [minutes]=\"getMinutes()\"\r\n (dateChange)=\"changeDatePart('end', $event)\"\r\n (timeChange)=\"updateEndTime()\"\r\n />\r\n </div>\r\n\r\n @if (optionalFeatures()) {\r\n <!-- \u81EA\u5B9A\u4E49\u9009\u9879 -->\r\n <div class=\"date-selector-options\">\r\n <!-- \u81EA\u5B9A\u4E49\u5929\u6570 -->\r\n <div class=\"date-selector-option-group\">\r\n <mat-checkbox [(ngModel)]=\"allDays\" class=\"date-selector-option-checkbox\">\r\n <span class=\"date-selector-option-label\">\u6240\u6709\u5929</span>\r\n </mat-checkbox>\r\n\r\n @if (!allDays()) {\r\n <div class=\"date-selector-weekdays\">\r\n @for (day of weekdays(); track day.value) {\r\n <button type=\"button\" (click)=\"day.selected = !day.selected\" [class.selected]=\"day.selected\" class=\"date-selector-weekday-btn\">\r\n {{ day.label }}\r\n </button>\r\n }\r\n </div>\r\n }\r\n </div>\r\n\r\n <!-- \u81EA\u5B9A\u4E49\u5C0F\u65F6 -->\r\n <div class=\"date-selector-option-group\">\r\n <mat-checkbox [(ngModel)]=\"allHours\" class=\"date-selector-option-checkbox\">\r\n <span class=\"date-selector-option-label\">\u6240\u6709\u5C0F\u65F6</span>\r\n </mat-checkbox>\r\n </div>\r\n </div>\r\n }\r\n </section>\r\n </div>\r\n </div>\r\n</date-time-picker-container>\r\n\r\n<ng-template #footerExtraContent>\r\n <div class=\"date-selector-footer-range\">\r\n <span class=\"date-selector-footer-label\">\u8303\u56F4\uFF1A</span>\r\n\r\n @if (selectedDateRange) {\r\n <div class=\"date-selector-footer-value\">\r\n @if (selectedDateRange.start) {\r\n <span class=\"date-selector-footer-date\">{{ selectedDateRange.start | date: dateFormat }}</span>\r\n }\r\n\r\n @if (selectedDateRange.start && selectedDateRange.end) {\r\n <span class=\"date-selector-footer-separator\">-</span>\r\n }\r\n\r\n @if (selectedDateRange.end) {\r\n <span class=\"date-selector-footer-date\">{{ selectedDateRange.end | date: dateFormat }}</span>\r\n }\r\n </div>\r\n }\r\n </div>\r\n</ng-template>\r\n", styles: ["@charset \"UTF-8\";:host{display:block;height:100%}.date-selector-sidebar{width:12rem;height:100%;display:none;background-color:var(--mat-sys-surface-container, #fafafa);border-right:1px solid var(--mat-divider-color, rgba(0, 0, 0, .12));display:flex;flex-direction:column}@media(min-width:1024px){.date-selector-sidebar{display:flex}}.date-selector-sidebar-inner{width:100%;height:100%;display:flex;flex-direction:column;padding:0}.date-selector-sidebar-header{padding:12px 16px;border-bottom:1px solid var(--mat-divider-color, rgba(0, 0, 0, .12));background-color:var(--mat-sys-surface, #fff);position:sticky;top:0;z-index:1}.date-selector-sidebar-title{font-size:.75rem;font-weight:500;text-transform:uppercase;letter-spacing:.5px;color:var(--mat-sys-on-surface-variant, rgba(0, 0, 0, .6))}.date-selector-sidebar-list{list-style:none;margin:0;padding:4px 0;flex:1;overflow-y:auto;overflow-x:hidden}.date-selector-sidebar-item{margin:0;padding:0}.date-selector-sidebar-btn{width:100%;padding:8px 12px;background:transparent;border:none;cursor:pointer;font-size:.8125rem;font-weight:500;color:var(--mat-sys-on-surface-variant, rgba(0, 0, 0, .6));text-align:left;transition:all .2s ease;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.date-selector-sidebar-btn:hover{background-color:var(--mat-sys-primary-container, rgba(25, 118, 210, .08));color:var(--mat-sys-primary, #1976d2);padding-left:16px}.date-selector-sidebar-btn.selected{background-color:var(--mat-sys-primary-container, rgba(25, 118, 210, .16));color:var(--mat-sys-primary, #1976d2);font-weight:600;padding-left:16px}.date-selector-sidebar-btn:focus-visible{outline:2px solid var(--mat-sys-primary, #1976d2);outline-offset:-2px}.date-selector-sidebar-text{display:block}.date-selector-main{flex:1;width:100%;height:100%;display:flex;background-color:var(--mat-sys-surface, #fff)}@media(min-width:1024px){.date-selector-main{width:calc(100% - 12rem)}}.date-selector-content{width:100%;height:100%;display:flex;flex-direction:column}@media(min-width:768px){.date-selector-content{flex-direction:row}}.date-selector-calendar-section{width:100%;min-height:100%;display:flex;align-items:center;justify-content:center;padding:16px;border-right:1px solid var(--mat-divider-color, rgba(0, 0, 0, .12));box-sizing:border-box}@media(min-width:768px){.date-selector-calendar-section{width:50%}}@media(max-width:767px){.date-selector-calendar-section{border-right:none;border-bottom:1px solid var(--mat-divider-color, rgba(0, 0, 0, .12))}}.date-selector-calendar-wrapper{width:100%;display:flex;flex-direction:column;gap:16px}.date-selector-calendar{width:100%}.date-selector-hint{display:flex;align-items:flex-start;gap:8px;padding:12px 16px;background-color:var(--mat-sys-primary-container, rgba(25, 118, 210, .08));border:1px solid var(--mat-outline-variant, rgba(25, 118, 210, .16));border-radius:4px;align-items:center}.date-selector-hint-icon{flex-shrink:0;color:var(--mat-sys-primary, #1976d2);margin-top:2px}.date-selector-hint-text{font-size:.75rem;line-height:1.25;color:var(--mat-sys-on-surface-variant, rgba(0, 0, 0, .6))}.date-selector-time-section{width:100%;display:flex;flex-direction:column;overflow-y:auto;overflow-x:hidden}@media(min-width:768px){.date-selector-time-section{width:50%}}.date-selector-inputs{display:flex;flex-direction:column;padding:0}.date-selector-options{display:flex;flex-direction:column;gap:0;padding:12px 16px;border-top:1px solid var(--mat-divider-color, rgba(0, 0, 0, .12));background-color:var(--mat-sys-surface-container, #fafafa)}.date-selector-option-group{display:flex;flex-direction:column;gap:8px}.date-selector-option-label{font-size:.75rem;font-weight:500;text-transform:uppercase;letter-spacing:.5px;color:var(--mat-sys-on-surface-variant, rgba(0, 0, 0, .6));margin-left:4px}.date-selector-weekdays{display:grid;grid-template-columns:repeat(7,1fr);gap:4px;margin-top:4px}.date-selector-weekday-btn{padding:8px 4px;background-color:var(--mat-sys-surface, #fff);border:1px solid var(--mat-divider-color, rgba(0, 0, 0, .12));border-radius:4px;cursor:pointer;font-size:.75rem;font-weight:500;line-height:1.25;color:var(--mat-sys-on-surface-variant, rgba(0, 0, 0, .6));text-align:center;white-space:nowrap;transition:all .2s ease}.date-selector-weekday-btn:hover{border-color:var(--mat-sys-primary, #1976d2);background-color:var(--mat-sys-primary-container, rgba(25, 118, 210, .08))}.date-selector-weekday-btn.selected{background-color:var(--mat-sys-primary, #1976d2);border-color:var(--mat-sys-primary, #1976d2);color:var(--mat-sys-on-primary, white);font-weight:600}.date-selector-weekday-btn:focus-visible{outline:2px solid var(--mat-sys-primary, #1976d2);outline-offset:2px}.date-selector-footer-range{display:flex;align-items:center;gap:8px;font-size:.75rem;margin-right:auto;padding:0 8px}.date-selector-footer-label{font-weight:600;text-transform:uppercase;letter-spacing:.5px;color:var(--mat-sys-on-surface-variant, rgba(0, 0, 0, .6));display:none}@media(min-width:768px){.date-selector-footer-label{display:block}}.date-selector-footer-value{display:flex;flex-direction:column;gap:0;font-weight:600}@media(min-width:768px){.date-selector-footer-value{flex-direction:row;gap:8px;align-items:center}}.date-selector-footer-date{color:var(--mat-sys-on-surface, rgba(0, 0, 0, .87));white-space:nowrap}.date-selector-footer-separator{color:var(--mat-sys-on-surface-variant, rgba(0, 0, 0, .6));display:none}@media(min-width:768px){.date-selector-footer-separator{display:block}}\n", ":host{display:block;height:100%}\n"] }]
|
|
789
|
-
|
|
790
|
-
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(DateSelector, { className: "DateSelector", filePath: "lib/date-picker/date-selector/date-selector.component.ts", lineNumber: 41 }); })();
|
|
421
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.0", ngImport: i0, type: DateSelector, decorators: [{
|
|
422
|
+
type: Component,
|
|
423
|
+
args: [{ selector: 'date-time-picker-selector', standalone: true, changeDetection: ChangeDetectionStrategy.OnPush, providers: [provideNativeDateAdapter(), DefaultMatCalendarRangeStrategy, MatRangeDateSelectionModel], imports: [
|
|
424
|
+
MatCalendar,
|
|
425
|
+
TablerIconComponent,
|
|
426
|
+
MatDatepickerModule,
|
|
427
|
+
MatNativeDateModule,
|
|
428
|
+
ReactiveFormsModule,
|
|
429
|
+
FormsModule,
|
|
430
|
+
MatCheckbox,
|
|
431
|
+
DatePipe,
|
|
432
|
+
MatTimepickerModule,
|
|
433
|
+
Container,
|
|
434
|
+
DateTimeInputComponent
|
|
435
|
+
], template: "<date-time-picker-container\r\n headerTitle=\"\u65E5\u671F\u65F6\u95F4\u9009\u62E9\u5668\"\r\n submitTitle=\"\u5E94\u7528\"\r\n [disabledSubmit]=\"!selectedDateRange\"\r\n [footerExtraContent]=\"footerExtraContent\"\r\n (submit)=\"submit()\"\r\n (dismiss)=\"dismiss()\"\r\n>\r\n <!-- \u5DE6\u4FA7\u5FEB\u6377\u9009\u62E9\u9762\u677F -->\r\n <aside class=\"date-selector-sidebar\" dir=\"rtl\">\r\n <div class=\"date-selector-sidebar-inner\" dir=\"ltr\">\r\n <div class=\"date-selector-sidebar-header\">\r\n <span class=\"date-selector-sidebar-title\">\u5FEB\u6377\u9009\u62E9</span>\r\n </div>\r\n <ul class=\"date-selector-sidebar-list\">\r\n @for (timeRangeItem of timeRanges(); track timeRangeItem) {\r\n <li class=\"date-selector-sidebar-item\">\r\n <button\r\n type=\"button\"\r\n (click)=\"selectTimeRange(timeRangeItem)\"\r\n [class.selected]=\"selectedTimeRange() && selectedTimeRange()?.start === timeRangeItem.start && selectedTimeRange()?.end === timeRangeItem.end\"\r\n class=\"date-selector-sidebar-btn\"\r\n >\r\n <span class=\"date-selector-sidebar-text\">{{ timeRangeItem.label }}</span>\r\n </button>\r\n </li>\r\n }\r\n </ul>\r\n </div>\r\n </aside>\r\n <!-- \u5DE6\u4FA7\u5FEB\u6377\u9009\u62E9\u9762\u677F\u7ED3\u675F -->\r\n\r\n <!-- \u4E3B\u8981\u5185\u5BB9\u533A\u57DF -->\r\n <div class=\"date-selector-main\">\r\n <div class=\"date-selector-content\">\r\n <!-- \u65E5\u5386\u5BB9\u5668 -->\r\n <section class=\"date-selector-calendar-section\">\r\n <div class=\"date-selector-calendar-wrapper\">\r\n <mat-calendar [maxDate]=\"!future() ? now : undefined\" [(selected)]=\"selectedDateRange\" (selectedChange)=\"rangeChanged($event)\" class=\"date-selector-calendar\" />\r\n\r\n <div class=\"date-selector-hint\">\r\n <i-tabler name=\"info-circle\" strokeWidth=\"2px\" class=\"date-selector-hint-icon\"></i-tabler>\r\n <span class=\"date-selector-hint-text\">\u5982\u679C\u8981\u9009\u62E9\u4E00\u5929\uFF0C\u8BF7\u53CC\u51FB\u8BE5\u5929\u3002</span>\r\n </div>\r\n </div>\r\n </section>\r\n <!-- \u65E5\u5386\u5BB9\u5668\u7ED3\u675F -->\r\n\r\n <!-- \u65F6\u95F4\u8BBE\u7F6E\u5BB9\u5668 -->\r\n <section class=\"date-selector-time-section\">\r\n <!-- \u5F00\u59CB\u548C\u7ED3\u675F\u8F93\u5165\u65E5\u671F -->\r\n <div class=\"date-selector-inputs\">\r\n <!-- \u4ECE\u65E5\u671F -->\r\n <date-time-input\r\n label=\"\u5F00\u59CB\u65E5\u671F\"\r\n [dateValue]=\"startDate()\"\r\n [hourValue]=\"startHour()\"\r\n [minuteValue]=\"startMinute()\"\r\n [hours]=\"getHours()\"\r\n [minutes]=\"getMinutes()\"\r\n (dateChange)=\"changeDatePart('start', $event)\"\r\n (timeChange)=\"updateStartTime()\"\r\n />\r\n\r\n <!-- \u7ED3\u675F\u65E5\u671F -->\r\n <date-time-input\r\n label=\"\u7ED3\u675F\u65E5\u671F\"\r\n [dateValue]=\"endDate()\"\r\n [hourValue]=\"endHour()\"\r\n [minuteValue]=\"endMinute()\"\r\n [hours]=\"getHours()\"\r\n [minutes]=\"getMinutes()\"\r\n (dateChange)=\"changeDatePart('end', $event)\"\r\n (timeChange)=\"updateEndTime()\"\r\n />\r\n </div>\r\n\r\n @if (optionalFeatures()) {\r\n <!-- \u81EA\u5B9A\u4E49\u9009\u9879 -->\r\n <div class=\"date-selector-options\">\r\n <!-- \u81EA\u5B9A\u4E49\u5929\u6570 -->\r\n <div class=\"date-selector-option-group\">\r\n <mat-checkbox [(ngModel)]=\"allDays\" class=\"date-selector-option-checkbox\">\r\n <span class=\"date-selector-option-label\">\u6240\u6709\u5929</span>\r\n </mat-checkbox>\r\n\r\n @if (!allDays()) {\r\n <div class=\"date-selector-weekdays\">\r\n @for (day of weekdays(); track day.value) {\r\n <button type=\"button\" (click)=\"day.selected = !day.selected\" [class.selected]=\"day.selected\" class=\"date-selector-weekday-btn\">\r\n {{ day.label }}\r\n </button>\r\n }\r\n </div>\r\n }\r\n </div>\r\n\r\n <!-- \u81EA\u5B9A\u4E49\u5C0F\u65F6 -->\r\n <div class=\"date-selector-option-group\">\r\n <mat-checkbox [(ngModel)]=\"allHours\" class=\"date-selector-option-checkbox\">\r\n <span class=\"date-selector-option-label\">\u6240\u6709\u5C0F\u65F6</span>\r\n </mat-checkbox>\r\n </div>\r\n </div>\r\n }\r\n </section>\r\n </div>\r\n </div>\r\n</date-time-picker-container>\r\n\r\n<ng-template #footerExtraContent>\r\n <div class=\"date-selector-footer-range\">\r\n <span class=\"date-selector-footer-label\">\u8303\u56F4\uFF1A</span>\r\n\r\n @if (selectedDateRange) {\r\n <div class=\"date-selector-footer-value\">\r\n @if (selectedDateRange.start) {\r\n <span class=\"date-selector-footer-date\">{{ selectedDateRange.start | date: dateFormat }}</span>\r\n }\r\n\r\n @if (selectedDateRange.start && selectedDateRange.end) {\r\n <span class=\"date-selector-footer-separator\">-</span>\r\n }\r\n\r\n @if (selectedDateRange.end) {\r\n <span class=\"date-selector-footer-date\">{{ selectedDateRange.end | date: dateFormat }}</span>\r\n }\r\n </div>\r\n }\r\n </div>\r\n</ng-template>\r\n", styles: ["@charset \"UTF-8\";:host{display:block;height:100%}.date-selector-sidebar{width:12rem;height:100%;display:none;background-color:var(--mat-sys-surface-container, #fafafa);border-right:1px solid var(--mat-divider-color, rgba(0, 0, 0, .12));display:flex;flex-direction:column}@media(min-width:1024px){.date-selector-sidebar{display:flex}}.date-selector-sidebar-inner{width:100%;height:100%;display:flex;flex-direction:column;padding:0}.date-selector-sidebar-header{padding:12px 16px;border-bottom:1px solid var(--mat-divider-color, rgba(0, 0, 0, .12));background-color:var(--mat-sys-surface, #fff);position:sticky;top:0;z-index:1}.date-selector-sidebar-title{font-size:.75rem;font-weight:500;text-transform:uppercase;letter-spacing:.5px;color:var(--mat-sys-on-surface-variant, rgba(0, 0, 0, .6))}.date-selector-sidebar-list{list-style:none;margin:0;padding:4px 0;flex:1;overflow-y:auto;overflow-x:hidden}.date-selector-sidebar-item{margin:0;padding:0}.date-selector-sidebar-btn{width:100%;padding:8px 12px;background:transparent;border:none;cursor:pointer;font-size:.8125rem;font-weight:500;color:var(--mat-sys-on-surface-variant, rgba(0, 0, 0, .6));text-align:left;transition:all .2s ease;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.date-selector-sidebar-btn:hover{background-color:var(--mat-sys-primary-container, rgba(25, 118, 210, .08));color:var(--mat-sys-primary, #1976d2);padding-left:16px}.date-selector-sidebar-btn.selected{background-color:var(--mat-sys-primary-container, rgba(25, 118, 210, .16));color:var(--mat-sys-primary, #1976d2);font-weight:600;padding-left:16px}.date-selector-sidebar-btn:focus-visible{outline:2px solid var(--mat-sys-primary, #1976d2);outline-offset:-2px}.date-selector-sidebar-text{display:block}.date-selector-main{flex:1;width:100%;height:100%;display:flex;background-color:var(--mat-sys-surface, #fff)}@media(min-width:1024px){.date-selector-main{width:calc(100% - 12rem)}}.date-selector-content{width:100%;height:100%;display:flex;flex-direction:column}@media(min-width:768px){.date-selector-content{flex-direction:row}}.date-selector-calendar-section{width:100%;min-height:100%;display:flex;align-items:center;justify-content:center;padding:16px;border-right:1px solid var(--mat-divider-color, rgba(0, 0, 0, .12));box-sizing:border-box}@media(min-width:768px){.date-selector-calendar-section{width:50%}}@media(max-width:767px){.date-selector-calendar-section{border-right:none;border-bottom:1px solid var(--mat-divider-color, rgba(0, 0, 0, .12))}}.date-selector-calendar-wrapper{width:100%;display:flex;flex-direction:column;gap:16px}.date-selector-calendar{width:100%}.date-selector-hint{display:flex;align-items:flex-start;gap:8px;padding:12px 16px;background-color:var(--mat-sys-primary-container, rgba(25, 118, 210, .08));border:1px solid var(--mat-outline-variant, rgba(25, 118, 210, .16));border-radius:4px;align-items:center}.date-selector-hint-icon{flex-shrink:0;color:var(--mat-sys-primary, #1976d2);margin-top:2px}.date-selector-hint-text{font-size:.75rem;line-height:1.25;color:var(--mat-sys-on-surface-variant, rgba(0, 0, 0, .6))}.date-selector-time-section{width:100%;display:flex;flex-direction:column;overflow-y:auto;overflow-x:hidden}@media(min-width:768px){.date-selector-time-section{width:50%}}.date-selector-inputs{display:flex;flex-direction:column;padding:0}.date-selector-options{display:flex;flex-direction:column;gap:0;padding:12px 16px;border-top:1px solid var(--mat-divider-color, rgba(0, 0, 0, .12));background-color:var(--mat-sys-surface-container, #fafafa)}.date-selector-option-group{display:flex;flex-direction:column;gap:8px}.date-selector-option-label{font-size:.75rem;font-weight:500;text-transform:uppercase;letter-spacing:.5px;color:var(--mat-sys-on-surface-variant, rgba(0, 0, 0, .6));margin-left:4px}.date-selector-weekdays{display:grid;grid-template-columns:repeat(7,1fr);gap:4px;margin-top:4px}.date-selector-weekday-btn{padding:8px 4px;background-color:var(--mat-sys-surface, #fff);border:1px solid var(--mat-divider-color, rgba(0, 0, 0, .12));border-radius:4px;cursor:pointer;font-size:.75rem;font-weight:500;line-height:1.25;color:var(--mat-sys-on-surface-variant, rgba(0, 0, 0, .6));text-align:center;white-space:nowrap;transition:all .2s ease}.date-selector-weekday-btn:hover{border-color:var(--mat-sys-primary, #1976d2);background-color:var(--mat-sys-primary-container, rgba(25, 118, 210, .08))}.date-selector-weekday-btn.selected{background-color:var(--mat-sys-primary, #1976d2);border-color:var(--mat-sys-primary, #1976d2);color:var(--mat-sys-on-primary, white);font-weight:600}.date-selector-weekday-btn:focus-visible{outline:2px solid var(--mat-sys-primary, #1976d2);outline-offset:2px}.date-selector-footer-range{display:flex;align-items:center;gap:8px;font-size:.75rem;margin-right:auto;padding:0 8px}.date-selector-footer-label{font-weight:600;text-transform:uppercase;letter-spacing:.5px;color:var(--mat-sys-on-surface-variant, rgba(0, 0, 0, .6));display:none}@media(min-width:768px){.date-selector-footer-label{display:block}}.date-selector-footer-value{display:flex;flex-direction:column;gap:0;font-weight:600}@media(min-width:768px){.date-selector-footer-value{flex-direction:row;gap:8px;align-items:center}}.date-selector-footer-date{color:var(--mat-sys-on-surface, rgba(0, 0, 0, .87));white-space:nowrap}.date-selector-footer-separator{color:var(--mat-sys-on-surface-variant, rgba(0, 0, 0, .6));display:none}@media(min-width:768px){.date-selector-footer-separator{display:block}}\n", ":host{display:block;height:100%}\n"] }]
|
|
436
|
+
}], propDecorators: { startDate: [{ type: i0.Input, args: [{ isSignal: true, alias: "startDate", required: false }] }, { type: i0.Output, args: ["startDateChange"] }], endDate: [{ type: i0.Input, args: [{ isSignal: true, alias: "endDate", required: false }] }, { type: i0.Output, args: ["endDateChange"] }], startHour: [{ type: i0.Input, args: [{ isSignal: true, alias: "startHour", required: false }] }, { type: i0.Output, args: ["startHourChange"] }], startMinute: [{ type: i0.Input, args: [{ isSignal: true, alias: "startMinute", required: false }] }, { type: i0.Output, args: ["startMinuteChange"] }], endHour: [{ type: i0.Input, args: [{ isSignal: true, alias: "endHour", required: false }] }, { type: i0.Output, args: ["endHourChange"] }], endMinute: [{ type: i0.Input, args: [{ isSignal: true, alias: "endMinute", required: false }] }, { type: i0.Output, args: ["endMinuteChange"] }], future: [{ type: i0.Input, args: [{ isSignal: true, alias: "future", required: false }] }, { type: i0.Output, args: ["futureChange"] }], optionalFeatures: [{ type: i0.Input, args: [{ isSignal: true, alias: "optionalFeatures", required: false }] }, { type: i0.Output, args: ["optionalFeaturesChange"] }], selectedTimeRange: [{ type: i0.Input, args: [{ isSignal: true, alias: "selectedTimeRange", required: false }] }, { type: i0.Output, args: ["selectedTimeRangeChange"] }], allDays: [{ type: i0.Input, args: [{ isSignal: true, alias: "allDays", required: false }] }, { type: i0.Output, args: ["allDaysChange"] }], weekdays: [{ type: i0.Input, args: [{ isSignal: true, alias: "weekdays", required: false }] }, { type: i0.Output, args: ["weekdaysChange"] }], allHours: [{ type: i0.Input, args: [{ isSignal: true, alias: "allHours", required: false }] }, { type: i0.Output, args: ["allHoursChange"] }] } });
|
|
791
437
|
|
|
792
|
-
const _c0 = ["dateRangeButton"];
|
|
793
|
-
function DatePickerComponent_Conditional_2_Template(rf, ctx) { if (rf & 1) {
|
|
794
|
-
i0.ɵɵelementStart(0, "div", 2)(1, "div", 7);
|
|
795
|
-
i0.ɵɵtext(2);
|
|
796
|
-
i0.ɵɵpipe(3, "date");
|
|
797
|
-
i0.ɵɵelementEnd();
|
|
798
|
-
i0.ɵɵelementStart(4, "div", 8);
|
|
799
|
-
i0.ɵɵtext(5);
|
|
800
|
-
i0.ɵɵpipe(6, "date");
|
|
801
|
-
i0.ɵɵelementEnd()();
|
|
802
|
-
} if (rf & 2) {
|
|
803
|
-
let tmp_2_0;
|
|
804
|
-
let tmp_3_0;
|
|
805
|
-
const ctx_r1 = i0.ɵɵnextContext();
|
|
806
|
-
i0.ɵɵadvance(2);
|
|
807
|
-
i0.ɵɵtextInterpolate1(" ", i0.ɵɵpipeBind2(3, 2, (tmp_2_0 = ctx_r1.selectedDateRange()) == null ? null : tmp_2_0.start, ctx_r1.dateFormat), " ");
|
|
808
|
-
i0.ɵɵadvance(3);
|
|
809
|
-
i0.ɵɵtextInterpolate1(" ", i0.ɵɵpipeBind2(6, 5, (tmp_3_0 = ctx_r1.selectedDateRange()) == null ? null : tmp_3_0.end, ctx_r1.dateFormat), " ");
|
|
810
|
-
} }
|
|
811
|
-
function DatePickerComponent_Conditional_3_Template(rf, ctx) { if (rf & 1) {
|
|
812
|
-
i0.ɵɵelementStart(0, "span", 3);
|
|
813
|
-
i0.ɵɵtext(1);
|
|
814
|
-
i0.ɵɵelementEnd();
|
|
815
|
-
} if (rf & 2) {
|
|
816
|
-
const ctx_r1 = i0.ɵɵnextContext();
|
|
817
|
-
i0.ɵɵadvance();
|
|
818
|
-
i0.ɵɵtextInterpolate(ctx_r1.placeholder);
|
|
819
|
-
} }
|
|
820
|
-
function DatePickerComponent_Conditional_4_Template(rf, ctx) { if (rf & 1) {
|
|
821
|
-
i0.ɵɵelement(0, "div", 2);
|
|
822
|
-
} }
|
|
823
|
-
function DatePickerComponent_Conditional_7_Template(rf, ctx) { if (rf & 1) {
|
|
824
|
-
const _r3 = i0.ɵɵgetCurrentView();
|
|
825
|
-
i0.ɵɵelementStart(0, "button", 9);
|
|
826
|
-
i0.ɵɵlistener("click", function DatePickerComponent_Conditional_7_Template_button_click_0_listener($event) { i0.ɵɵrestoreView(_r3); const ctx_r1 = i0.ɵɵnextContext(); ctx_r1.selectedDateRange.set(undefined); return i0.ɵɵresetView($event.stopPropagation()); })("keydown.enter", function DatePickerComponent_Conditional_7_Template_button_keydown_enter_0_listener($event) { i0.ɵɵrestoreView(_r3); const ctx_r1 = i0.ɵɵnextContext(); ctx_r1.selectedDateRange.set(undefined); return i0.ɵɵresetView($event.stopPropagation()); })("keydown.space", function DatePickerComponent_Conditional_7_Template_button_keydown_space_0_listener($event) { i0.ɵɵrestoreView(_r3); const ctx_r1 = i0.ɵɵnextContext(); ctx_r1.selectedDateRange.set(undefined); return i0.ɵɵresetView($event.stopPropagation()); });
|
|
827
|
-
i0.ɵɵelement(1, "i-tabler", 10);
|
|
828
|
-
i0.ɵɵelementEnd();
|
|
829
|
-
} if (rf & 2) {
|
|
830
|
-
i0.ɵɵattribute("aria-label", "\u6E05\u9664\u65E5\u671F\u9009\u62E9")("role", "button");
|
|
831
|
-
} }
|
|
832
438
|
class DatePickerComponent {
|
|
833
439
|
#breakpoints;
|
|
834
440
|
#dialog;
|
|
@@ -1010,71 +616,50 @@ class DatePickerComponent {
|
|
|
1010
616
|
this.dateRangeButton?.nativeElement.focus();
|
|
1011
617
|
}
|
|
1012
618
|
}
|
|
1013
|
-
static { this.ɵfac =
|
|
1014
|
-
static { this.ɵcmp =
|
|
1015
|
-
|
|
1016
|
-
|
|
1017
|
-
|
|
1018
|
-
|
|
1019
|
-
|
|
1020
|
-
|
|
1021
|
-
|
|
1022
|
-
|
|
1023
|
-
|
|
1024
|
-
|
|
1025
|
-
|
|
1026
|
-
{
|
|
1027
|
-
provide: MatFormFieldControl,
|
|
1028
|
-
useExisting: forwardRef(() => DatePickerComponent)
|
|
1029
|
-
}
|
|
1030
|
-
])], decls: 8, vars: 6, consts: [["dateRangeButton", ""], ["tabindex", "0", 1, "date-range-container", 3, "click", "keydown.enter", "keydown.space"], [1, "date-range-content"], [1, "date-range-placeholder"], [1, "date-range-actions"], ["name", "calendar-due", "strokeWidth", "2px", "size", "18px", 1, "date-range-icon"], ["type", "button", "tabindex", "0", 1, "date-range-clear-btn"], [1, "date-range-primary"], [1, "date-range-secondary"], ["type", "button", "tabindex", "0", 1, "date-range-clear-btn", 3, "click", "keydown.enter", "keydown.space"], ["name", "x", "strokeWidth", "2.5px", "size", "18px", 1, "date-range-icon"]], template: function DatePickerComponent_Template(rf, ctx) { if (rf & 1) {
|
|
1031
|
-
const _r1 = i0.ɵɵgetCurrentView();
|
|
1032
|
-
i0.ɵɵelementStart(0, "div", 1, 0);
|
|
1033
|
-
i0.ɵɵlistener("click", function DatePickerComponent_Template_div_click_0_listener() { i0.ɵɵrestoreView(_r1); return i0.ɵɵresetView(!ctx.disabled && ctx.openDateDialogSelector()); })("keydown.enter", function DatePickerComponent_Template_div_keydown_enter_0_listener() { i0.ɵɵrestoreView(_r1); return i0.ɵɵresetView(!ctx.disabled && ctx.openDateDialogSelector()); })("keydown.space", function DatePickerComponent_Template_div_keydown_space_0_listener() { i0.ɵɵrestoreView(_r1); return i0.ɵɵresetView(!ctx.disabled && ctx.openDateDialogSelector()); });
|
|
1034
|
-
i0.ɵɵconditionalCreate(2, DatePickerComponent_Conditional_2_Template, 7, 8, "div", 2)(3, DatePickerComponent_Conditional_3_Template, 2, 1, "span", 3)(4, DatePickerComponent_Conditional_4_Template, 1, 0, "div", 2);
|
|
1035
|
-
i0.ɵɵelementStart(5, "div", 4);
|
|
1036
|
-
i0.ɵɵelement(6, "i-tabler", 5);
|
|
1037
|
-
i0.ɵɵconditionalCreate(7, DatePickerComponent_Conditional_7_Template, 2, 2, "button", 6);
|
|
1038
|
-
i0.ɵɵelementEnd()();
|
|
1039
|
-
} if (rf & 2) {
|
|
1040
|
-
i0.ɵɵattribute("id", ctx.id)("aria-label", "\u9009\u62E9\u65E5\u671F\u65F6\u95F4\u8303\u56F4")("aria-disabled", ctx.disabled)("role", "button");
|
|
1041
|
-
i0.ɵɵadvance(2);
|
|
1042
|
-
i0.ɵɵconditional(ctx.selectedDateRange() ? 2 : ctx.placeholder ? 3 : 4);
|
|
1043
|
-
i0.ɵɵadvance(5);
|
|
1044
|
-
i0.ɵɵconditional(ctx.selectedDateRange() ? 7 : -1);
|
|
1045
|
-
} }, dependencies: [TablerIconComponent, MatDatepickerModule, MatDialogModule, DatePipe], styles: ["[_nghost-%COMP%]{display:block}[_nghost-%COMP%] .date-range-container[_ngcontent-%COMP%]{display:flex;align-items:center;gap:12px;padding:8px 12px;border:1px solid rgba(0,0,0,.12);border-radius:4px;background-color:var(--mat-sys-surface-container-lowest);cursor:pointer;transition:border-color .2s ease}[_nghost-%COMP%] .date-range-container[_ngcontent-%COMP%]:hover{border-color:#0000003d}[_nghost-%COMP%] .date-range-container[_ngcontent-%COMP%]:focus-within{border-color:#1976d2;box-shadow:0 0 0 3px #1976d21a}[_nghost-%COMP%] .date-range-container[aria-disabled=true][_ngcontent-%COMP%]{cursor:not-allowed;opacity:.6;pointer-events:none}[_nghost-%COMP%] .date-range-content[_ngcontent-%COMP%]{flex:1;min-width:0}[_nghost-%COMP%] .date-range-primary[_ngcontent-%COMP%]{font-size:.875rem;font-weight:500;line-height:1.5;color:#000000de;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}[_nghost-%COMP%] .date-range-secondary[_ngcontent-%COMP%]{font-size:.75rem;line-height:1.5;color:#0009;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}[_nghost-%COMP%] .date-range-text[_ngcontent-%COMP%], [_nghost-%COMP%] .date-range-text-muted[_ngcontent-%COMP%]{display:block}[_nghost-%COMP%] .date-range-placeholder[_ngcontent-%COMP%]{flex:1;font-size:.875rem;color:#0006}[_nghost-%COMP%] .date-range-actions[_ngcontent-%COMP%]{display:flex;align-items:center;gap:4px;flex-shrink:0}[_nghost-%COMP%] .date-range-icon[_ngcontent-%COMP%]{color:#0009;display:flex;align-items:center;justify-content:center}[_nghost-%COMP%] .date-range-clear-btn[_ngcontent-%COMP%]{display:flex;align-items:center;justify-content:center;width:24px;height:24px;padding:0;background:transparent;border:none;border-radius:4px;cursor:pointer;transition:background-color .2s ease;color:#0009}[_nghost-%COMP%] .date-range-clear-btn[_ngcontent-%COMP%]:hover{background-color:#00000014}[_nghost-%COMP%] .date-range-clear-btn[_ngcontent-%COMP%]:focus-visible{outline:2px solid #1976d2;outline-offset:2px}.mat-mdc-form-field[_nghost-%COMP%] .date-range-container[_ngcontent-%COMP%]{border:none;border-radius:0;padding:0;box-shadow:none}.mat-mdc-form-field[_nghost-%COMP%] .date-range-container[_ngcontent-%COMP%]:hover, .mat-mdc-form-field[_nghost-%COMP%] .date-range-container[_ngcontent-%COMP%]:focus-within{border-color:transparent;box-shadow:none}.mat-mdc-form-field[_nghost-%COMP%] .date-range-container[_ngcontent-%COMP%], .mat-mdc-form-field [_nghost-%COMP%] .date-range-container[_ngcontent-%COMP%], [hide-default-styles][_nghost-%COMP%] .date-range-container[_ngcontent-%COMP%]{border:none!important;border-radius:0!important;padding:0!important;box-shadow:none!important}.mat-mdc-form-field[_nghost-%COMP%] .date-range-container[_ngcontent-%COMP%]:hover, .mat-mdc-form-field [_nghost-%COMP%] .date-range-container[_ngcontent-%COMP%]:hover, .mat-mdc-form-field[_nghost-%COMP%] .date-range-container[_ngcontent-%COMP%]:focus-within, .mat-mdc-form-field [_nghost-%COMP%] .date-range-container[_ngcontent-%COMP%]:focus-within, [hide-default-styles][_nghost-%COMP%] .date-range-container[_ngcontent-%COMP%]:hover, [hide-default-styles][_nghost-%COMP%] .date-range-container[_ngcontent-%COMP%]:focus-within{border-color:transparent!important;box-shadow:none!important}"], changeDetection: 0 }); }
|
|
619
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.1.0", ngImport: i0, type: DatePickerComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
620
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.1.0", type: DatePickerComponent, isStandalone: true, selector: "date-time-picker", inputs: { required: { classPropertyName: "required", publicName: "required", isSignal: false, isRequired: false, transformFunction: null }, disabled: { classPropertyName: "disabled", publicName: "disabled", isSignal: false, isRequired: false, transformFunction: null }, dateFormat: { classPropertyName: "dateFormat", publicName: "dateFormat", isSignal: false, isRequired: false, transformFunction: null }, valueFormat: { classPropertyName: "valueFormat", publicName: "valueFormat", isSignal: false, isRequired: false, transformFunction: null }, dateTimePicker: { classPropertyName: "dateTimePicker", publicName: "dateTimePicker", isSignal: false, isRequired: false, transformFunction: null }, placeholder: { classPropertyName: "placeholder", publicName: "placeholder", isSignal: false, isRequired: false, transformFunction: null }, optionalFeatures: { classPropertyName: "optionalFeatures", publicName: "optionalFeatures", isSignal: true, isRequired: false, transformFunction: null }, future: { classPropertyName: "future", publicName: "future", isSignal: true, isRequired: false, transformFunction: null }, selectedDateRange: { classPropertyName: "selectedDateRange", publicName: "selectedDateRange", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { selectedDateRange: "selectedDateRangeChange", selectionChange: "selectionChange" }, providers: [
|
|
621
|
+
provideTablerIcons({ IconCalendarDue, IconX }),
|
|
622
|
+
{
|
|
623
|
+
provide: NG_VALUE_ACCESSOR,
|
|
624
|
+
useExisting: forwardRef(() => DatePickerComponent),
|
|
625
|
+
multi: true
|
|
626
|
+
},
|
|
627
|
+
{
|
|
628
|
+
provide: MatFormFieldControl,
|
|
629
|
+
useExisting: forwardRef(() => DatePickerComponent)
|
|
630
|
+
}
|
|
631
|
+
], viewQueries: [{ propertyName: "dateRangeButton", first: true, predicate: ["dateRangeButton"], descendants: true }], ngImport: i0, template: "<div\r\n #dateRangeButton\r\n [attr.id]=\"id\"\r\n [attr.aria-label]=\"'\u9009\u62E9\u65E5\u671F\u65F6\u95F4\u8303\u56F4'\"\r\n [attr.aria-disabled]=\"disabled\"\r\n (click)=\"!disabled && openDateDialogSelector()\"\r\n (keydown.enter)=\"!disabled && openDateDialogSelector()\"\r\n (keydown.space)=\"!disabled && openDateDialogSelector()\"\r\n tabindex=\"0\"\r\n [attr.role]=\"'button'\"\r\n class=\"date-range-container\"\r\n>\r\n @if (selectedDateRange()) {\r\n <div class=\"date-range-content\">\r\n <div class=\"date-range-primary\">\r\n {{ selectedDateRange()?.start | date: dateFormat }}\r\n </div>\r\n <div class=\"date-range-secondary\">\r\n {{ selectedDateRange()?.end | date: dateFormat }}\r\n </div>\r\n </div>\r\n } @else if (placeholder) {\r\n <span class=\"date-range-placeholder\">{{ placeholder }}</span>\r\n } @else {\r\n <div class=\"date-range-content\"></div>\r\n }\r\n\r\n <div class=\"date-range-actions\">\r\n <i-tabler name=\"calendar-due\" strokeWidth=\"2px\" size=\"18px\" class=\"date-range-icon\" />\r\n\r\n @if (selectedDateRange()) {\r\n <button\r\n (click)=\"selectedDateRange.set(undefined); $event.stopPropagation()\"\r\n type=\"button\"\r\n class=\"date-range-clear-btn\"\r\n [attr.aria-label]=\"'\u6E05\u9664\u65E5\u671F\u9009\u62E9'\"\r\n tabindex=\"0\"\r\n (keydown.enter)=\"selectedDateRange.set(undefined); $event.stopPropagation()\"\r\n (keydown.space)=\"selectedDateRange.set(undefined); $event.stopPropagation()\"\r\n [attr.role]=\"'button'\"\r\n >\r\n <i-tabler name=\"x\" strokeWidth=\"2.5px\" size=\"18px\" class=\"date-range-icon\" />\r\n </button>\r\n }\r\n </div>\r\n</div>\r\n", styles: [":host{display:block}:host .date-range-container{display:flex;align-items:center;gap:12px;padding:8px 12px;border:1px solid var(--mat-divider-color, rgba(0, 0, 0, .12));border-radius:4px;background-color:var(--mat-sys-surface-container-lowest);cursor:pointer;transition:border-color .2s ease}:host .date-range-container:hover{border-color:var(--mat-divider-color, rgba(0, 0, 0, .24))}:host .date-range-container:focus-within{border-color:var(--mat-sys-primary, #1976d2);box-shadow:0 0 0 3px var(--mat-sys-primary-container, rgba(25, 118, 210, .1))}:host .date-range-container[aria-disabled=true]{cursor:not-allowed;opacity:.6;pointer-events:none}:host .date-range-content{flex:1;min-width:0}:host .date-range-primary{font-size:.875rem;font-weight:500;line-height:1.5;color:var(--mat-sys-on-surface, rgba(0, 0, 0, .87));overflow:hidden;text-overflow:ellipsis;white-space:nowrap}:host .date-range-secondary{font-size:.75rem;line-height:1.5;color:var(--mat-sys-on-surface-variant, rgba(0, 0, 0, .6));overflow:hidden;text-overflow:ellipsis;white-space:nowrap}:host .date-range-text,:host .date-range-text-muted{display:block}:host .date-range-placeholder{flex:1;font-size:.875rem;color:var(--mat-sys-on-surface-variant, rgba(0, 0, 0, .4))}:host .date-range-actions{display:flex;align-items:center;gap:4px;flex-shrink:0}:host .date-range-icon{color:var(--mat-sys-on-surface-variant, rgba(0, 0, 0, .6));display:flex;align-items:center;justify-content:center}:host .date-range-clear-btn{display:flex;align-items:center;justify-content:center;width:24px;height:24px;padding:0;background:transparent;border:none;border-radius:4px;cursor:pointer;transition:background-color .2s ease;color:var(--mat-sys-on-surface-variant, rgba(0, 0, 0, .6))}:host .date-range-clear-btn:hover{background-color:var(--mat-sys-surface-variant, rgba(0, 0, 0, .08))}:host .date-range-clear-btn:focus-visible{outline:2px solid var(--mat-sys-primary, #1976d2);outline-offset:2px}:host(.mat-mdc-form-field) .date-range-container{border:none;border-radius:0;padding:0;box-shadow:none}:host(.mat-mdc-form-field) .date-range-container:hover,:host(.mat-mdc-form-field) .date-range-container:focus-within{border-color:transparent;box-shadow:none}:host-context(.mat-mdc-form-field) .date-range-container,:host([hide-default-styles]) .date-range-container{border:none!important;border-radius:0!important;padding:0!important;box-shadow:none!important;background-color:var(--mat-sys-surface, rgba(0, 0, 0, 0))}:host-context(.mat-mdc-form-field) .date-range-container:hover,:host-context(.mat-mdc-form-field) .date-range-container:focus-within,:host([hide-default-styles]) .date-range-container:hover,:host([hide-default-styles]) .date-range-container:focus-within{border-color:transparent!important;box-shadow:none!important}\n"], dependencies: [{ kind: "component", type: TablerIconComponent, selector: "i-tabler, tabler-icon", inputs: ["name"] }, { kind: "ngmodule", type: MatDatepickerModule }, { kind: "ngmodule", type: MatDialogModule }, { kind: "pipe", type: DatePipe, name: "date" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
1046
632
|
}
|
|
1047
|
-
(
|
|
1048
|
-
|
|
1049
|
-
|
|
1050
|
-
|
|
1051
|
-
|
|
1052
|
-
|
|
1053
|
-
|
|
1054
|
-
|
|
1055
|
-
|
|
1056
|
-
|
|
1057
|
-
|
|
1058
|
-
|
|
1059
|
-
|
|
1060
|
-
|
|
1061
|
-
|
|
1062
|
-
|
|
1063
|
-
|
|
1064
|
-
|
|
1065
|
-
|
|
1066
|
-
|
|
1067
|
-
|
|
1068
|
-
|
|
1069
|
-
|
|
1070
|
-
|
|
1071
|
-
|
|
1072
|
-
|
|
1073
|
-
|
|
1074
|
-
|
|
1075
|
-
|
|
1076
|
-
|
|
1077
|
-
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(DatePickerComponent, { className: "DatePickerComponent", filePath: "lib/date-picker/date-picker.component.ts", lineNumber: 37 }); })();
|
|
633
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.0", ngImport: i0, type: DatePickerComponent, decorators: [{
|
|
634
|
+
type: Component,
|
|
635
|
+
args: [{ selector: 'date-time-picker', standalone: true, changeDetection: ChangeDetectionStrategy.OnPush, imports: [TablerIconComponent, MatDatepickerModule, DatePipe, MatDialogModule], providers: [
|
|
636
|
+
provideTablerIcons({ IconCalendarDue, IconX }),
|
|
637
|
+
{
|
|
638
|
+
provide: NG_VALUE_ACCESSOR,
|
|
639
|
+
useExisting: forwardRef(() => DatePickerComponent),
|
|
640
|
+
multi: true
|
|
641
|
+
},
|
|
642
|
+
{
|
|
643
|
+
provide: MatFormFieldControl,
|
|
644
|
+
useExisting: forwardRef(() => DatePickerComponent)
|
|
645
|
+
}
|
|
646
|
+
], template: "<div\r\n #dateRangeButton\r\n [attr.id]=\"id\"\r\n [attr.aria-label]=\"'\u9009\u62E9\u65E5\u671F\u65F6\u95F4\u8303\u56F4'\"\r\n [attr.aria-disabled]=\"disabled\"\r\n (click)=\"!disabled && openDateDialogSelector()\"\r\n (keydown.enter)=\"!disabled && openDateDialogSelector()\"\r\n (keydown.space)=\"!disabled && openDateDialogSelector()\"\r\n tabindex=\"0\"\r\n [attr.role]=\"'button'\"\r\n class=\"date-range-container\"\r\n>\r\n @if (selectedDateRange()) {\r\n <div class=\"date-range-content\">\r\n <div class=\"date-range-primary\">\r\n {{ selectedDateRange()?.start | date: dateFormat }}\r\n </div>\r\n <div class=\"date-range-secondary\">\r\n {{ selectedDateRange()?.end | date: dateFormat }}\r\n </div>\r\n </div>\r\n } @else if (placeholder) {\r\n <span class=\"date-range-placeholder\">{{ placeholder }}</span>\r\n } @else {\r\n <div class=\"date-range-content\"></div>\r\n }\r\n\r\n <div class=\"date-range-actions\">\r\n <i-tabler name=\"calendar-due\" strokeWidth=\"2px\" size=\"18px\" class=\"date-range-icon\" />\r\n\r\n @if (selectedDateRange()) {\r\n <button\r\n (click)=\"selectedDateRange.set(undefined); $event.stopPropagation()\"\r\n type=\"button\"\r\n class=\"date-range-clear-btn\"\r\n [attr.aria-label]=\"'\u6E05\u9664\u65E5\u671F\u9009\u62E9'\"\r\n tabindex=\"0\"\r\n (keydown.enter)=\"selectedDateRange.set(undefined); $event.stopPropagation()\"\r\n (keydown.space)=\"selectedDateRange.set(undefined); $event.stopPropagation()\"\r\n [attr.role]=\"'button'\"\r\n >\r\n <i-tabler name=\"x\" strokeWidth=\"2.5px\" size=\"18px\" class=\"date-range-icon\" />\r\n </button>\r\n }\r\n </div>\r\n</div>\r\n", styles: [":host{display:block}:host .date-range-container{display:flex;align-items:center;gap:12px;padding:8px 12px;border:1px solid var(--mat-divider-color, rgba(0, 0, 0, .12));border-radius:4px;background-color:var(--mat-sys-surface-container-lowest);cursor:pointer;transition:border-color .2s ease}:host .date-range-container:hover{border-color:var(--mat-divider-color, rgba(0, 0, 0, .24))}:host .date-range-container:focus-within{border-color:var(--mat-sys-primary, #1976d2);box-shadow:0 0 0 3px var(--mat-sys-primary-container, rgba(25, 118, 210, .1))}:host .date-range-container[aria-disabled=true]{cursor:not-allowed;opacity:.6;pointer-events:none}:host .date-range-content{flex:1;min-width:0}:host .date-range-primary{font-size:.875rem;font-weight:500;line-height:1.5;color:var(--mat-sys-on-surface, rgba(0, 0, 0, .87));overflow:hidden;text-overflow:ellipsis;white-space:nowrap}:host .date-range-secondary{font-size:.75rem;line-height:1.5;color:var(--mat-sys-on-surface-variant, rgba(0, 0, 0, .6));overflow:hidden;text-overflow:ellipsis;white-space:nowrap}:host .date-range-text,:host .date-range-text-muted{display:block}:host .date-range-placeholder{flex:1;font-size:.875rem;color:var(--mat-sys-on-surface-variant, rgba(0, 0, 0, .4))}:host .date-range-actions{display:flex;align-items:center;gap:4px;flex-shrink:0}:host .date-range-icon{color:var(--mat-sys-on-surface-variant, rgba(0, 0, 0, .6));display:flex;align-items:center;justify-content:center}:host .date-range-clear-btn{display:flex;align-items:center;justify-content:center;width:24px;height:24px;padding:0;background:transparent;border:none;border-radius:4px;cursor:pointer;transition:background-color .2s ease;color:var(--mat-sys-on-surface-variant, rgba(0, 0, 0, .6))}:host .date-range-clear-btn:hover{background-color:var(--mat-sys-surface-variant, rgba(0, 0, 0, .08))}:host .date-range-clear-btn:focus-visible{outline:2px solid var(--mat-sys-primary, #1976d2);outline-offset:2px}:host(.mat-mdc-form-field) .date-range-container{border:none;border-radius:0;padding:0;box-shadow:none}:host(.mat-mdc-form-field) .date-range-container:hover,:host(.mat-mdc-form-field) .date-range-container:focus-within{border-color:transparent;box-shadow:none}:host-context(.mat-mdc-form-field) .date-range-container,:host([hide-default-styles]) .date-range-container{border:none!important;border-radius:0!important;padding:0!important;box-shadow:none!important;background-color:var(--mat-sys-surface, rgba(0, 0, 0, 0))}:host-context(.mat-mdc-form-field) .date-range-container:hover,:host-context(.mat-mdc-form-field) .date-range-container:focus-within,:host([hide-default-styles]) .date-range-container:hover,:host([hide-default-styles]) .date-range-container:focus-within{border-color:transparent!important;box-shadow:none!important}\n"] }]
|
|
647
|
+
}], ctorParameters: () => [], propDecorators: { dateRangeButton: [{
|
|
648
|
+
type: ViewChild,
|
|
649
|
+
args: ['dateRangeButton']
|
|
650
|
+
}], required: [{
|
|
651
|
+
type: Input
|
|
652
|
+
}], disabled: [{
|
|
653
|
+
type: Input
|
|
654
|
+
}], dateFormat: [{
|
|
655
|
+
type: Input
|
|
656
|
+
}], valueFormat: [{
|
|
657
|
+
type: Input
|
|
658
|
+
}], dateTimePicker: [{
|
|
659
|
+
type: Input
|
|
660
|
+
}], placeholder: [{
|
|
661
|
+
type: Input
|
|
662
|
+
}], optionalFeatures: [{ type: i0.Input, args: [{ isSignal: true, alias: "optionalFeatures", required: false }] }], future: [{ type: i0.Input, args: [{ isSignal: true, alias: "future", required: false }] }], selectedDateRange: [{ type: i0.Input, args: [{ isSignal: true, alias: "selectedDateRange", required: false }] }, { type: i0.Output, args: ["selectedDateRangeChange"] }], selectionChange: [{ type: i0.Output, args: ["selectionChange"] }] } });
|
|
1078
663
|
|
|
1079
664
|
class SmartDialogService {
|
|
1080
665
|
constructor() {
|
|
@@ -1179,13 +764,13 @@ class SmartDialogService {
|
|
|
1179
764
|
this.ref = null;
|
|
1180
765
|
this.data = null;
|
|
1181
766
|
}
|
|
1182
|
-
static { this.ɵfac =
|
|
1183
|
-
static { this.ɵprov =
|
|
767
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.1.0", ngImport: i0, type: SmartDialogService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
768
|
+
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "21.1.0", ngImport: i0, type: SmartDialogService, providedIn: 'root' }); }
|
|
1184
769
|
}
|
|
1185
|
-
(
|
|
1186
|
-
|
|
1187
|
-
|
|
1188
|
-
|
|
770
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.0", ngImport: i0, type: SmartDialogService, decorators: [{
|
|
771
|
+
type: Injectable,
|
|
772
|
+
args: [{ providedIn: 'root' }]
|
|
773
|
+
}] });
|
|
1189
774
|
class SmartDialogRef {
|
|
1190
775
|
constructor(ref) {
|
|
1191
776
|
this.ref = ref;
|