@wlcm/angular 17.4.1 → 17.5.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/core/esm2022/index.mjs +7 -8
- package/core/esm2022/lib/constants/_index.mjs +3 -0
- package/core/esm2022/lib/directives/_index.mjs +2 -0
- package/core/esm2022/lib/directives/icon.directive.mjs +8 -3
- package/core/esm2022/lib/models/_index.mjs +5 -0
- package/core/fesm2022/wlcm-angular-core.mjs +42 -37
- package/core/fesm2022/wlcm-angular-core.mjs.map +1 -1
- package/core/index.d.ts +3 -7
- package/core/lib/constants/_index.d.ts +2 -0
- package/core/lib/directives/_index.d.ts +1 -0
- package/core/lib/directives/icon.directive.d.ts +2 -1
- package/core/lib/models/_index.d.ts +4 -0
- package/{date-range-picker → datepicker}/README.md +2 -2
- package/datepicker/esm2022/index.mjs +10 -0
- package/datepicker/esm2022/lib/components/range/date-range-calendar-header/date-range-calendar-header.component.mjs +54 -0
- package/datepicker/esm2022/lib/components/range/date-range-picker/date-range-picker.component.mjs +170 -0
- package/{date-range-picker/esm2022/lib/components → datepicker/esm2022/lib/components/range}/date-range-picker-bottom-panel/date-range-picker-bottom-panel.component.mjs +1 -1
- package/datepicker/esm2022/lib/components/range/date-range-picker-input/date-range-picker-input.component.mjs +122 -0
- package/datepicker/esm2022/lib/components/single/datepicker-input-container/datepicker-input-container.component.mjs +88 -0
- package/datepicker/esm2022/lib/components/single/datepicker-panel/datepicker-panel.component.mjs +27 -0
- package/datepicker/esm2022/lib/constants/datepicker.constants.mjs +20 -0
- package/datepicker/esm2022/lib/constants/range/date-range-picker.constants.mjs +3 -0
- package/datepicker/esm2022/lib/constants/range/date-range-selection-model.constants.mjs +10 -0
- package/datepicker/esm2022/lib/constants/range/date-range-trigger-selection-model.constants.mjs +10 -0
- package/datepicker/esm2022/lib/datepicker.module.mjs +33 -0
- package/datepicker/esm2022/lib/directives/datepicker-input.base.mjs +80 -0
- package/datepicker/esm2022/lib/directives/datepicker-trigger.base.mjs +80 -0
- package/datepicker/esm2022/lib/directives/ragne/date-range-picker-input-end.directive.mjs +77 -0
- package/datepicker/esm2022/lib/directives/ragne/date-range-picker-input-start.directive.mjs +77 -0
- package/datepicker/esm2022/lib/directives/ragne/date-range-picker-input.base.mjs +49 -0
- package/datepicker/esm2022/lib/directives/ragne/left-calendar.directive.mjs +46 -0
- package/datepicker/esm2022/lib/directives/ragne/right-calendar.directive.mjs +59 -0
- package/datepicker/esm2022/lib/directives/single/datepicker-input.directive.mjs +67 -0
- package/datepicker/esm2022/lib/models/date-picker.models.mjs +27 -0
- package/datepicker/esm2022/lib/models/range/data-range-calendar.models.mjs +43 -0
- package/datepicker/esm2022/lib/models/range/date-range-picker.models.mjs +2 -0
- package/datepicker/esm2022/lib/models/range/date-range-validation.models.mjs +5 -0
- package/datepicker/esm2022/lib/utils/range/date-range-input.validators.mjs +16 -0
- package/datepicker/esm2022/lib/utils/range/date-range-picker-errors.mjs +9 -0
- package/datepicker/esm2022/wlcm-angular-datepicker.mjs +5 -0
- package/{date-range-picker/fesm2022/wlcm-angular-date-range-picker.mjs → datepicker/fesm2022/wlcm-angular-datepicker.mjs} +761 -572
- package/datepicker/fesm2022/wlcm-angular-datepicker.mjs.map +1 -0
- package/datepicker/index.d.ts +9 -0
- package/datepicker/lib/components/range/date-range-calendar-header/date-range-calendar-header.component.d.ts +18 -0
- package/{date-range-picker/lib/components → datepicker/lib/components/range}/date-range-picker/date-range-picker.component.d.ts +8 -7
- package/{date-range-picker/lib/components → datepicker/lib/components/range}/date-range-picker-input/date-range-picker-input.component.d.ts +4 -3
- package/datepicker/lib/components/single/datepicker-input-container/datepicker-input-container.component.d.ts +30 -0
- package/datepicker/lib/components/single/datepicker-panel/datepicker-panel.component.d.ts +13 -0
- package/datepicker/lib/constants/datepicker.constants.d.ts +4 -0
- package/datepicker/lib/constants/range/date-range-picker.constants.d.ts +3 -0
- package/datepicker/lib/datepicker.module.d.ts +12 -0
- package/{date-range-picker/lib/directives/date-range-picker-input-base.directive.d.ts → datepicker/lib/directives/datepicker-input.base.d.ts} +12 -15
- package/datepicker/lib/directives/datepicker-trigger.base.d.ts +26 -0
- package/{date-range-picker/lib/directives → datepicker/lib/directives/ragne}/date-range-picker-input-end.directive.d.ts +5 -3
- package/{date-range-picker/lib/directives → datepicker/lib/directives/ragne}/date-range-picker-input-start.directive.d.ts +5 -3
- package/datepicker/lib/directives/ragne/date-range-picker-input.base.d.ts +20 -0
- package/{date-range-picker/lib/directives → datepicker/lib/directives/ragne}/left-calendar.directive.d.ts +1 -1
- package/{date-range-picker/lib/directives → datepicker/lib/directives/ragne}/right-calendar.directive.d.ts +1 -1
- package/datepicker/lib/directives/single/datepicker-input.directive.d.ts +21 -0
- package/datepicker/lib/models/date-picker.models.d.ts +10 -0
- package/datepicker/lib/models/range/date-range-picker.models.d.ts +4 -0
- package/datepicker/lib/models/range/date-range-validation.models.d.ts +3 -0
- package/forms/esm2022/lib/forms/components/select/select.component.mjs +3 -3
- package/forms/fesm2022/wlcm-angular-forms.mjs +2 -2
- package/forms/fesm2022/wlcm-angular-forms.mjs.map +1 -1
- package/package.json +6 -6
- package/shared/calendar/esm2022/index.mjs +4 -0
- package/shared/calendar/esm2022/lib/calendar.module.mjs +21 -0
- package/shared/calendar/esm2022/lib/components/calendar-header/calendar-header.component.mjs +107 -0
- package/shared/calendar/esm2022/lib/directives/calendar.directive.mjs +15 -0
- package/shared/calendar/esm2022/wlcm-angular-calendar.mjs +5 -0
- package/shared/calendar/index.d.ts +3 -0
- package/shared/calendar/lib/calendar.module.d.ts +9 -0
- package/shared/calendar/lib/components/calendar-header/calendar-header.component.d.ts +22 -0
- package/shared/calendar/lib/directives/calendar.directive.d.ts +5 -0
- package/styles/components/calendar/_calendar.scss +110 -0
- package/styles/components/calendar/index.scss +7 -0
- package/styles/components/date-range-picker/_date-range-picker-body.scss +0 -104
- package/styles/components/date-range-picker/index.scss +0 -2
- package/styles/components/datepicker/_datepicker-input-container.scss +11 -0
- package/styles/components/datepicker/_datepicker-panel.scss +15 -0
- package/styles/components/datepicker/index.scss +7 -0
- package/styles/core/_all-theme.scss +7 -3
- package/date-range-picker/esm2022/index.mjs +0 -7
- package/date-range-picker/esm2022/lib/components/calendar-header/calendar-header.component.mjs +0 -62
- package/date-range-picker/esm2022/lib/components/date-range-picker/date-range-picker.component.mjs +0 -157
- package/date-range-picker/esm2022/lib/components/date-range-picker-input/date-range-picker-input.component.mjs +0 -122
- package/date-range-picker/esm2022/lib/constants/date-range-selection-model.constants.mjs +0 -10
- package/date-range-picker/esm2022/lib/constants/date-range-trigger-selection-model.constants.mjs +0 -10
- package/date-range-picker/esm2022/lib/date-range-picker.module.mjs +0 -67
- package/date-range-picker/esm2022/lib/directives/date-range-picker-input-base.directive.mjs +0 -93
- package/date-range-picker/esm2022/lib/directives/date-range-picker-input-end.directive.mjs +0 -65
- package/date-range-picker/esm2022/lib/directives/date-range-picker-input-start.directive.mjs +0 -65
- package/date-range-picker/esm2022/lib/directives/date-range-picker-trigger.directive.mjs +0 -80
- package/date-range-picker/esm2022/lib/directives/left-calendar.directive.mjs +0 -46
- package/date-range-picker/esm2022/lib/directives/right-calendar.directive.mjs +0 -59
- package/date-range-picker/esm2022/lib/models/data-range-calendar.models.mjs +0 -43
- package/date-range-picker/esm2022/lib/models/date-range-validation.models.mjs +0 -5
- package/date-range-picker/esm2022/lib/services/date-adapter.service.mjs +0 -23
- package/date-range-picker/esm2022/lib/utils/date-range-input.validators.mjs +0 -16
- package/date-range-picker/esm2022/lib/utils/date-range-picker-errors.mjs +0 -9
- package/date-range-picker/esm2022/wlcm-angular-date-range-picker.mjs +0 -5
- package/date-range-picker/fesm2022/wlcm-angular-date-range-picker.mjs.map +0 -1
- package/date-range-picker/index.d.ts +0 -6
- package/date-range-picker/lib/components/calendar-header/calendar-header.component.d.ts +0 -19
- package/date-range-picker/lib/date-range-picker.module.d.ts +0 -12
- package/date-range-picker/lib/directives/date-range-picker-trigger.directive.d.ts +0 -26
- package/date-range-picker/lib/models/date-range-validation.models.d.ts +0 -3
- package/date-range-picker/lib/services/date-adapter.service.d.ts +0 -7
- /package/{date-range-picker/lib/components → datepicker/lib/components/range}/date-range-picker-bottom-panel/date-range-picker-bottom-panel.component.d.ts +0 -0
- /package/{date-range-picker/lib/constants → datepicker/lib/constants/range}/date-range-selection-model.constants.d.ts +0 -0
- /package/{date-range-picker/lib/constants → datepicker/lib/constants/range}/date-range-trigger-selection-model.constants.d.ts +0 -0
- /package/{date-range-picker/lib/models → datepicker/lib/models/range}/data-range-calendar.models.d.ts +0 -0
- /package/{date-range-picker/lib/utils → datepicker/lib/utils/range}/date-range-input.validators.d.ts +0 -0
- /package/{date-range-picker/lib/utils → datepicker/lib/utils/range}/date-range-picker-errors.d.ts +0 -0
- /package/styles/components/{date-range-picker/_date-range-picker-header.scss → calendar/_calendar-header.scss} +0 -0
- /package/styles/components/phone-input/{indes.scss → index.scss} +0 -0
- /package/styles/components/stepper/{indes.scss → index.scss} +0 -0
@@ -0,0 +1,107 @@
|
|
1
|
+
import { Component, Inject, Optional, forwardRef, input } from '@angular/core';
|
2
|
+
import { DateAdapter, MAT_DATE_FORMATS } from '@angular/material/core';
|
3
|
+
import { WlcmIconDirective, WlcmIconName } from '@wlcm/angular/core';
|
4
|
+
import { MatCalendar, yearsPerPage } from '@angular/material/datepicker';
|
5
|
+
import { CommonModule } from '@angular/common';
|
6
|
+
import * as i0 from "@angular/core";
|
7
|
+
import * as i1 from "@angular/material/core";
|
8
|
+
import * as i2 from "@angular/material/datepicker";
|
9
|
+
function WlcmCalendarHeaderComponent_Conditional_1_Template(rf, ctx) { if (rf & 1) {
|
10
|
+
const _r1 = i0.ɵɵgetCurrentView();
|
11
|
+
i0.ɵɵelementStart(0, "button", 6);
|
12
|
+
i0.ɵɵlistener("click", function WlcmCalendarHeaderComponent_Conditional_1_Template_button_click_0_listener() { i0.ɵɵrestoreView(_r1); const ctx_r1 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r1.previousClicked()); });
|
13
|
+
i0.ɵɵelementContainer(1, 4);
|
14
|
+
i0.ɵɵelementEnd();
|
15
|
+
} if (rf & 2) {
|
16
|
+
const ctx_r1 = i0.ɵɵnextContext();
|
17
|
+
i0.ɵɵadvance();
|
18
|
+
i0.ɵɵproperty("wlcmIcon", ctx_r1.WlcmIconName.CHEVRON_DOWN);
|
19
|
+
} }
|
20
|
+
function WlcmCalendarHeaderComponent_Conditional_7_Template(rf, ctx) { if (rf & 1) {
|
21
|
+
const _r3 = i0.ɵɵgetCurrentView();
|
22
|
+
i0.ɵɵelementStart(0, "button", 7);
|
23
|
+
i0.ɵɵlistener("click", function WlcmCalendarHeaderComponent_Conditional_7_Template_button_click_0_listener() { i0.ɵɵrestoreView(_r3); const ctx_r1 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r1.nextClicked()); });
|
24
|
+
i0.ɵɵelementContainer(1, 4);
|
25
|
+
i0.ɵɵelementEnd();
|
26
|
+
} if (rf & 2) {
|
27
|
+
const ctx_r1 = i0.ɵɵnextContext();
|
28
|
+
i0.ɵɵadvance();
|
29
|
+
i0.ɵɵproperty("wlcmIcon", ctx_r1.WlcmIconName.CHEVRON_DOWN);
|
30
|
+
} }
|
31
|
+
export class WlcmCalendarHeaderComponent {
|
32
|
+
constructor(dateAdapter, dateFormats, calendar) {
|
33
|
+
this.dateAdapter = dateAdapter;
|
34
|
+
this.dateFormats = dateFormats;
|
35
|
+
this.calendar = calendar;
|
36
|
+
this.WlcmIconName = WlcmIconName;
|
37
|
+
this.next = input();
|
38
|
+
this.previous = input();
|
39
|
+
this.displayLeftArrow = input(true);
|
40
|
+
this.displayRightArrow = input(true);
|
41
|
+
}
|
42
|
+
previousClicked() {
|
43
|
+
if (this.previous())
|
44
|
+
return this.previous()();
|
45
|
+
this.calendar.activeDate =
|
46
|
+
this.calendar.currentView == 'month'
|
47
|
+
? this.dateAdapter.addCalendarMonths(this.calendar.activeDate, -1)
|
48
|
+
: this.dateAdapter.addCalendarYears(this.calendar.activeDate, this.calendar.currentView == 'year' ? -1 : -yearsPerPage);
|
49
|
+
}
|
50
|
+
nextClicked() {
|
51
|
+
if (this.next())
|
52
|
+
return this.next()();
|
53
|
+
this.calendar.activeDate =
|
54
|
+
this.calendar.currentView == 'month'
|
55
|
+
? this.dateAdapter.addCalendarMonths(this.calendar.activeDate, -1)
|
56
|
+
: this.dateAdapter.addCalendarYears(this.calendar.activeDate, this.calendar.currentView == 'year' ? -1 : -yearsPerPage);
|
57
|
+
}
|
58
|
+
changeCalendarView() {
|
59
|
+
if (this.calendar.currentView === 'multi-year') {
|
60
|
+
this.calendar.currentView = 'month';
|
61
|
+
return;
|
62
|
+
}
|
63
|
+
this.calendar.currentView = 'multi-year';
|
64
|
+
}
|
65
|
+
get periodLabel() {
|
66
|
+
return this.dateAdapter.format(this.calendar.activeDate, this.dateFormats.display.monthYearLabel);
|
67
|
+
}
|
68
|
+
static { this.ɵfac = function WlcmCalendarHeaderComponent_Factory(t) { return new (t || WlcmCalendarHeaderComponent)(i0.ɵɵdirectiveInject(i1.DateAdapter), i0.ɵɵdirectiveInject(MAT_DATE_FORMATS, 8), i0.ɵɵdirectiveInject(forwardRef(() => MatCalendar))); }; }
|
69
|
+
static { this.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: WlcmCalendarHeaderComponent, selectors: [["wlcm-calendar-header"]], hostAttrs: [1, "wlcm-calendar-header"], inputs: { next: [i0.ɵɵInputFlags.SignalBased, "next"], previous: [i0.ɵɵInputFlags.SignalBased, "previous"], displayLeftArrow: [i0.ɵɵInputFlags.SignalBased, "displayLeftArrow"], displayRightArrow: [i0.ɵɵInputFlags.SignalBased, "displayRightArrow"] }, standalone: true, features: [i0.ɵɵStandaloneFeature], decls: 8, vars: 4, consts: [[1, "wlcm-calendar-header-button-container"], [1, "wlcm-calendar-header-button", "wlcm-calendar-header-button-left"], [1, "wlcm-calendar-header-change-view-button", 3, "click"], [1, "wlcm-calendar-header-period-label"], [3, "wlcmIcon"], [1, "wlcm-calendar-header-button", "wlcm-calendar-header-button-right"], [1, "wlcm-calendar-header-button", "wlcm-calendar-header-button-left", 3, "click"], [1, "wlcm-calendar-header-button", "wlcm-calendar-header-button-right", 3, "click"]], template: function WlcmCalendarHeaderComponent_Template(rf, ctx) { if (rf & 1) {
|
70
|
+
i0.ɵɵelementStart(0, "div", 0);
|
71
|
+
i0.ɵɵtemplate(1, WlcmCalendarHeaderComponent_Conditional_1_Template, 2, 1, "button", 1);
|
72
|
+
i0.ɵɵelementEnd();
|
73
|
+
i0.ɵɵelementStart(2, "button", 2);
|
74
|
+
i0.ɵɵlistener("click", function WlcmCalendarHeaderComponent_Template_button_click_2_listener() { return ctx.changeCalendarView(); });
|
75
|
+
i0.ɵɵelementStart(3, "div", 3);
|
76
|
+
i0.ɵɵtext(4);
|
77
|
+
i0.ɵɵelementEnd();
|
78
|
+
i0.ɵɵelementContainer(5, 4);
|
79
|
+
i0.ɵɵelementEnd();
|
80
|
+
i0.ɵɵelementStart(6, "div", 0);
|
81
|
+
i0.ɵɵtemplate(7, WlcmCalendarHeaderComponent_Conditional_7_Template, 2, 1, "button", 5);
|
82
|
+
i0.ɵɵelementEnd();
|
83
|
+
} if (rf & 2) {
|
84
|
+
i0.ɵɵadvance();
|
85
|
+
i0.ɵɵconditional(1, ctx.displayLeftArrow() ? 1 : -1);
|
86
|
+
i0.ɵɵadvance(3);
|
87
|
+
i0.ɵɵtextInterpolate1(" ", ctx.periodLabel, " ");
|
88
|
+
i0.ɵɵadvance();
|
89
|
+
i0.ɵɵproperty("wlcmIcon", ctx.WlcmIconName.CHEVRON_DOWN);
|
90
|
+
i0.ɵɵadvance(2);
|
91
|
+
i0.ɵɵconditional(7, ctx.displayRightArrow() ? 7 : -1);
|
92
|
+
} }, dependencies: [CommonModule, WlcmIconDirective] }); }
|
93
|
+
}
|
94
|
+
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(WlcmCalendarHeaderComponent, [{
|
95
|
+
type: Component,
|
96
|
+
args: [{ selector: 'wlcm-calendar-header', host: { class: 'wlcm-calendar-header' }, standalone: true, imports: [CommonModule, WlcmIconDirective], template: "<div class=\"wlcm-calendar-header-button-container\">\n @if(displayLeftArrow()) {\n <button\n class=\"wlcm-calendar-header-button wlcm-calendar-header-button-left\"\n (click)=\"previousClicked()\"\n >\n <ng-container [wlcmIcon]=\"WlcmIconName.CHEVRON_DOWN\"></ng-container>\n </button>\n }\n</div>\n\n<button\n class=\"wlcm-calendar-header-change-view-button\"\n (click)=\"changeCalendarView()\"\n>\n <div class=\"wlcm-calendar-header-period-label\">\n {{ periodLabel }}\n </div>\n\n <ng-container [wlcmIcon]=\"WlcmIconName.CHEVRON_DOWN\"></ng-container>\n</button>\n\n<div class=\"wlcm-calendar-header-button-container\">\n @if(displayRightArrow()) {\n <button\n class=\"wlcm-calendar-header-button wlcm-calendar-header-button-right\"\n (click)=\"nextClicked()\"\n >\n <ng-container [wlcmIcon]=\"WlcmIconName.CHEVRON_DOWN\"></ng-container>\n </button>\n }\n</div>\n" }]
|
97
|
+
}], () => [{ type: i1.DateAdapter }, { type: undefined, decorators: [{
|
98
|
+
type: Optional
|
99
|
+
}, {
|
100
|
+
type: Inject,
|
101
|
+
args: [MAT_DATE_FORMATS]
|
102
|
+
}] }, { type: i2.MatCalendar, decorators: [{
|
103
|
+
type: Inject,
|
104
|
+
args: [forwardRef(() => MatCalendar)]
|
105
|
+
}] }], null); })();
|
106
|
+
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(WlcmCalendarHeaderComponent, { className: "WlcmCalendarHeaderComponent" }); })();
|
107
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2FsZW5kYXItaGVhZGVyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3NoYXJlZC9jYWxlbmRhci9zcmMvbGliL2NvbXBvbmVudHMvY2FsZW5kYXItaGVhZGVyL2NhbGVuZGFyLWhlYWRlci5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi9zaGFyZWQvY2FsZW5kYXIvc3JjL2xpYi9jb21wb25lbnRzL2NhbGVuZGFyLWhlYWRlci9jYWxlbmRhci1oZWFkZXIuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLEVBQWUsUUFBUSxFQUFFLFVBQVUsRUFBRSxLQUFLLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDNUYsT0FBTyxFQUFFLFdBQVcsRUFBRSxnQkFBZ0IsRUFBa0IsTUFBTSx3QkFBd0IsQ0FBQztBQUN2RixPQUFPLEVBQUUsaUJBQWlCLEVBQUUsWUFBWSxFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFDckUsT0FBTyxFQUFFLFdBQVcsRUFBRSxZQUFZLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQztBQUN6RSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7Ozs7OztJQ0Y3QyxpQ0FHQztJQURDLCtMQUFTLHdCQUFpQixLQUFDO0lBRTNCLDJCQUFvRTtJQUN0RSxpQkFBUzs7O0lBRE8sY0FBc0M7SUFBdEMsMkRBQXNDOzs7O0lBa0J0RCxpQ0FHQztJQURDLCtMQUFTLG9CQUFhLEtBQUM7SUFFdkIsMkJBQW9FO0lBQ3RFLGlCQUFTOzs7SUFETyxjQUFzQztJQUF0QywyREFBc0M7O0FEZHhELE1BQU0sT0FBTywyQkFBMkI7SUFXdEMsWUFDVSxXQUE4QixFQUNVLFdBQTJCLEVBQzdCLFFBQTJCO1FBRmpFLGdCQUFXLEdBQVgsV0FBVyxDQUFtQjtRQUNVLGdCQUFXLEdBQVgsV0FBVyxDQUFnQjtRQUM3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QVM7MkJBQ0Usc0JBQXNCLFFBQzFCLEVBQUUsS0FBSyxFQUFFLHNCQUFzQixFQUFFLGNBQzNCLElBQUksV0FDUCxDQUFDLFlBQVksRUFBRSxpQkFBaUIsQ0FBQzs7c0JBaUJ2QyxRQUFROztzQkFBSSxNQUFNO3VCQUFDLGdCQUFnQjs7c0JBQ25DLE1BQU07dUJBQUMsVUFBVSxDQUFDLEdBQUcsRUFBRSxDQUFDLFdBQVcsQ0FBQzs7a0ZBZDVCLDJCQUEyQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgSW5qZWN0LCBJbnB1dFNpZ25hbCwgT3B0aW9uYWwsIGZvcndhcmRSZWYsIGlucHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBEYXRlQWRhcHRlciwgTUFUX0RBVEVfRk9STUFUUywgTWF0RGF0ZUZvcm1hdHMgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9jb3JlJztcbmltcG9ydCB7IFdsY21JY29uRGlyZWN0aXZlLCBXbGNtSWNvbk5hbWUgfSBmcm9tICdAd2xjbS9hbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgTWF0Q2FsZW5kYXIsIHllYXJzUGVyUGFnZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2RhdGVwaWNrZXInO1xuaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnd2xjbS1jYWxlbmRhci1oZWFkZXInLFxuICBob3N0OiB7IGNsYXNzOiAnd2xjbS1jYWxlbmRhci1oZWFkZXInIH0sXG4gIHN0YW5kYWxvbmU6IHRydWUsXG4gIGltcG9ydHM6IFtDb21tb25Nb2R1bGUsIFdsY21JY29uRGlyZWN0aXZlXSxcbiAgdGVtcGxhdGVVcmw6ICcuL2NhbGVuZGFyLWhlYWRlci5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsOiAnLi9jYWxlbmRhci1oZWFkZXIuY29tcG9uZW50LnNjc3MnLFxufSlcbmV4cG9ydCBjbGFzcyBXbGNtQ2FsZW5kYXJIZWFkZXJDb21wb25lbnQge1xuICByZWFkb25seSBXbGNtSWNvbk5hbWUgPSBXbGNtSWNvbk5hbWU7XG5cbiAgbmV4dDogSW5wdXRTaWduYWw8KCgpID0+IHZvaWQpIHwgdW5kZWZpbmVkPiA9IGlucHV0KCk7XG5cbiAgcHJldmlvdXM6IElucHV0U2lnbmFsPCgoKSA9PiB2b2lkKSB8IHVuZGVmaW5lZD4gPSBpbnB1dCgpO1xuXG4gIGRpc3BsYXlMZWZ0QXJyb3c6IElucHV0U2lnbmFsPGJvb2xlYW4+ID0gaW5wdXQodHJ1ZSk7XG5cbiAgZGlzcGxheVJpZ2h0QXJyb3c6IElucHV0U2lnbmFsPGJvb2xlYW4+ID0gaW5wdXQodHJ1ZSk7XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSBkYXRlQWRhcHRlcjogRGF0ZUFkYXB0ZXI8RGF0ZT4sXG4gICAgQE9wdGlvbmFsKCkgQEluamVjdChNQVRfREFURV9GT1JNQVRTKSBwcm90ZWN0ZWQgZGF0ZUZvcm1hdHM6IE1hdERhdGVGb3JtYXRzLFxuICAgIEBJbmplY3QoZm9yd2FyZFJlZigoKSA9PiBNYXRDYWxlbmRhcikpIHB1YmxpYyBjYWxlbmRhcjogTWF0Q2FsZW5kYXI8RGF0ZT5cbiAgKSB7fVxuXG4gIHByZXZpb3VzQ2xpY2tlZCgpOiB2b2lkIHtcbiAgICBpZiAodGhpcy5wcmV2aW91cygpKSByZXR1cm4gdGhpcy5wcmV2aW91cygpISgpO1xuXG4gICAgdGhpcy5jYWxlbmRhci5hY3RpdmVEYXRlID1cbiAgICAgIHRoaXMuY2FsZW5kYXIuY3VycmVudFZpZXcgPT0gJ21vbnRoJ1xuICAgICAgICA/IHRoaXMuZGF0ZUFkYXB0ZXIuYWRkQ2FsZW5kYXJNb250aHModGhpcy5jYWxlbmRhci5hY3RpdmVEYXRlLCAtMSlcbiAgICAgICAgOiB0aGlzLmRhdGVBZGFwdGVyLmFkZENhbGVuZGFyWWVhcnMoXG4gICAgICAgICAgICB0aGlzLmNhbGVuZGFyLmFjdGl2ZURhdGUsXG4gICAgICAgICAgICB0aGlzLmNhbGVuZGFyLmN1cnJlbnRWaWV3ID09ICd5ZWFyJyA/IC0xIDogLXllYXJzUGVyUGFnZVxuICAgICAgICAgICk7XG4gIH1cblxuICBuZXh0Q2xpY2tlZCgpOiB2b2lkIHtcbiAgICBpZiAodGhpcy5uZXh0KCkpIHJldHVybiB0aGlzLm5leHQoKSEoKTtcblxuICAgIHRoaXMuY2FsZW5kYXIuYWN0aXZlRGF0ZSA9XG4gICAgICB0aGlzLmNhbGVuZGFyLmN1cnJlbnRWaWV3ID09ICdtb250aCdcbiAgICAgICAgPyB0aGlzLmRhdGVBZGFwdGVyLmFkZENhbGVuZGFyTW9udGhzKHRoaXMuY2FsZW5kYXIuYWN0aXZlRGF0ZSwgLTEpXG4gICAgICAgIDogdGhpcy5kYXRlQWRhcHRlci5hZGRDYWxlbmRhclllYXJzKFxuICAgICAgICAgICAgdGhpcy5jYWxlbmRhci5hY3RpdmVEYXRlLFxuICAgICAgICAgICAgdGhpcy5jYWxlbmRhci5jdXJyZW50VmlldyA9PSAneWVhcicgPyAtMSA6IC15ZWFyc1BlclBhZ2VcbiAgICAgICAgICApO1xuICB9XG5cbiAgY2hhbmdlQ2FsZW5kYXJWaWV3KCk6IHZvaWQge1xuICAgIGlmICh0aGlzLmNhbGVuZGFyLmN1cnJlbnRWaWV3ID09PSAnbXVsdGkteWVhcicpIHtcbiAgICAgIHRoaXMuY2FsZW5kYXIuY3VycmVudFZpZXcgPSAnbW9udGgnO1xuXG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgdGhpcy5jYWxlbmRhci5jdXJyZW50VmlldyA9ICdtdWx0aS15ZWFyJztcbiAgfVxuXG4gIGdldCBwZXJpb2RMYWJlbCgpOiBzdHJpbmcge1xuICAgIHJldHVybiB0aGlzLmRhdGVBZGFwdGVyLmZvcm1hdCh0aGlzLmNhbGVuZGFyLmFjdGl2ZURhdGUsIHRoaXMuZGF0ZUZvcm1hdHMuZGlzcGxheS5tb250aFllYXJMYWJlbCk7XG4gIH1cbn1cbiIsIjxkaXYgY2xhc3M9XCJ3bGNtLWNhbGVuZGFyLWhlYWRlci1idXR0b24tY29udGFpbmVyXCI+XG4gIEBpZihkaXNwbGF5TGVmdEFycm93KCkpIHtcbiAgPGJ1dHRvblxuICAgIGNsYXNzPVwid2xjbS1jYWxlbmRhci1oZWFkZXItYnV0dG9uIHdsY20tY2FsZW5kYXItaGVhZGVyLWJ1dHRvbi1sZWZ0XCJcbiAgICAoY2xpY2spPVwicHJldmlvdXNDbGlja2VkKClcIlxuICA+XG4gICAgPG5nLWNvbnRhaW5lciBbd2xjbUljb25dPVwiV2xjbUljb25OYW1lLkNIRVZST05fRE9XTlwiPjwvbmctY29udGFpbmVyPlxuICA8L2J1dHRvbj5cbiAgfVxuPC9kaXY+XG5cbjxidXR0b25cbiAgY2xhc3M9XCJ3bGNtLWNhbGVuZGFyLWhlYWRlci1jaGFuZ2Utdmlldy1idXR0b25cIlxuICAoY2xpY2spPVwiY2hhbmdlQ2FsZW5kYXJWaWV3KClcIlxuPlxuICA8ZGl2IGNsYXNzPVwid2xjbS1jYWxlbmRhci1oZWFkZXItcGVyaW9kLWxhYmVsXCI+XG4gICAge3sgcGVyaW9kTGFiZWwgfX1cbiAgPC9kaXY+XG5cbiAgPG5nLWNvbnRhaW5lciBbd2xjbUljb25dPVwiV2xjbUljb25OYW1lLkNIRVZST05fRE9XTlwiPjwvbmctY29udGFpbmVyPlxuPC9idXR0b24+XG5cbjxkaXYgY2xhc3M9XCJ3bGNtLWNhbGVuZGFyLWhlYWRlci1idXR0b24tY29udGFpbmVyXCI+XG4gIEBpZihkaXNwbGF5UmlnaHRBcnJvdygpKSB7XG4gIDxidXR0b25cbiAgICBjbGFzcz1cIndsY20tY2FsZW5kYXItaGVhZGVyLWJ1dHRvbiB3bGNtLWNhbGVuZGFyLWhlYWRlci1idXR0b24tcmlnaHRcIlxuICAgIChjbGljayk9XCJuZXh0Q2xpY2tlZCgpXCJcbiAgPlxuICAgIDxuZy1jb250YWluZXIgW3dsY21JY29uXT1cIldsY21JY29uTmFtZS5DSEVWUk9OX0RPV05cIj48L25nLWNvbnRhaW5lcj5cbiAgPC9idXR0b24+XG4gIH1cbjwvZGl2PlxuIl19
|
@@ -0,0 +1,15 @@
|
|
1
|
+
import { Directive } from '@angular/core';
|
2
|
+
import * as i0 from "@angular/core";
|
3
|
+
export class WlcmCalendarDirective {
|
4
|
+
static { this.ɵfac = function WlcmCalendarDirective_Factory(t) { return new (t || WlcmCalendarDirective)(); }; }
|
5
|
+
static { this.ɵdir = /*@__PURE__*/ i0.ɵɵdefineDirective({ type: WlcmCalendarDirective, selectors: [["", "wlcmCalendar", ""]], hostAttrs: [1, "wlcm-calendar"], standalone: true }); }
|
6
|
+
}
|
7
|
+
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(WlcmCalendarDirective, [{
|
8
|
+
type: Directive,
|
9
|
+
args: [{
|
10
|
+
selector: '[wlcmCalendar]',
|
11
|
+
host: { class: 'wlcm-calendar' },
|
12
|
+
standalone: true,
|
13
|
+
}]
|
14
|
+
}], null, null); })();
|
15
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2FsZW5kYXIuZGlyZWN0aXZlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vc2hhcmVkL2NhbGVuZGFyL3NyYy9saWIvZGlyZWN0aXZlcy9jYWxlbmRhci5kaXJlY3RpdmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGVBQWUsQ0FBQzs7QUFPMUMsTUFBTSxPQUFPLHFCQUFxQjtzRkFBckIscUJBQXFCO29FQUFyQixxQkFBcUI7O2lGQUFyQixxQkFBcUI7Y0FMakMsU0FBUztlQUFDO2dCQUNULFFBQVEsRUFBRSxnQkFBZ0I7Z0JBQzFCLElBQUksRUFBRSxFQUFFLEtBQUssRUFBRSxlQUFlLEVBQUU7Z0JBQ2hDLFVBQVUsRUFBRSxJQUFJO2FBQ2pCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRGlyZWN0aXZlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbkBEaXJlY3RpdmUoe1xuICBzZWxlY3RvcjogJ1t3bGNtQ2FsZW5kYXJdJyxcbiAgaG9zdDogeyBjbGFzczogJ3dsY20tY2FsZW5kYXInIH0sXG4gIHN0YW5kYWxvbmU6IHRydWUsXG59KVxuZXhwb3J0IGNsYXNzIFdsY21DYWxlbmRhckRpcmVjdGl2ZSB7fVxuIl19
|
@@ -0,0 +1,5 @@
|
|
1
|
+
/**
|
2
|
+
* Generated bundle index. Do not edit.
|
3
|
+
*/
|
4
|
+
export * from './index';
|
5
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid2xjbS1hbmd1bGFyLWNhbGVuZGFyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc2hhcmVkL2NhbGVuZGFyL3NyYy93bGNtLWFuZ3VsYXItY2FsZW5kYXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7O0dBRUc7QUFFSCxjQUFjLFNBQVMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogR2VuZXJhdGVkIGJ1bmRsZSBpbmRleC4gRG8gbm90IGVkaXQuXG4gKi9cblxuZXhwb3J0ICogZnJvbSAnLi9pbmRleCc7XG4iXX0=
|
@@ -0,0 +1,9 @@
|
|
1
|
+
import * as i0 from "@angular/core";
|
2
|
+
import * as i1 from "@angular/common";
|
3
|
+
import * as i2 from "./components/calendar-header/calendar-header.component";
|
4
|
+
import * as i3 from "./directives/calendar.directive";
|
5
|
+
export declare class WlcmCalendarModule {
|
6
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<WlcmCalendarModule, never>;
|
7
|
+
static ɵmod: i0.ɵɵNgModuleDeclaration<WlcmCalendarModule, never, [typeof i1.CommonModule, typeof i2.WlcmCalendarHeaderComponent, typeof i3.WlcmCalendarDirective], [typeof i2.WlcmCalendarHeaderComponent, typeof i3.WlcmCalendarDirective]>;
|
8
|
+
static ɵinj: i0.ɵɵInjectorDeclaration<WlcmCalendarModule>;
|
9
|
+
}
|
@@ -0,0 +1,22 @@
|
|
1
|
+
import { InputSignal } from '@angular/core';
|
2
|
+
import { DateAdapter, MatDateFormats } from '@angular/material/core';
|
3
|
+
import { WlcmIconName } from '@wlcm/angular/core';
|
4
|
+
import { MatCalendar } from '@angular/material/datepicker';
|
5
|
+
import * as i0 from "@angular/core";
|
6
|
+
export declare class WlcmCalendarHeaderComponent {
|
7
|
+
private dateAdapter;
|
8
|
+
protected dateFormats: MatDateFormats;
|
9
|
+
calendar: MatCalendar<Date>;
|
10
|
+
readonly WlcmIconName: typeof WlcmIconName;
|
11
|
+
next: InputSignal<(() => void) | undefined>;
|
12
|
+
previous: InputSignal<(() => void) | undefined>;
|
13
|
+
displayLeftArrow: InputSignal<boolean>;
|
14
|
+
displayRightArrow: InputSignal<boolean>;
|
15
|
+
constructor(dateAdapter: DateAdapter<Date>, dateFormats: MatDateFormats, calendar: MatCalendar<Date>);
|
16
|
+
previousClicked(): void;
|
17
|
+
nextClicked(): void;
|
18
|
+
changeCalendarView(): void;
|
19
|
+
get periodLabel(): string;
|
20
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<WlcmCalendarHeaderComponent, [null, { optional: true; }, null]>;
|
21
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<WlcmCalendarHeaderComponent, "wlcm-calendar-header", never, { "next": { "alias": "next"; "required": false; "isSignal": true; }; "previous": { "alias": "previous"; "required": false; "isSignal": true; }; "displayLeftArrow": { "alias": "displayLeftArrow"; "required": false; "isSignal": true; }; "displayRightArrow": { "alias": "displayRightArrow"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
|
22
|
+
}
|
@@ -0,0 +1,5 @@
|
|
1
|
+
import * as i0 from "@angular/core";
|
2
|
+
export declare class WlcmCalendarDirective {
|
3
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<WlcmCalendarDirective, never>;
|
4
|
+
static ɵdir: i0.ɵɵDirectiveDeclaration<WlcmCalendarDirective, "[wlcmCalendar]", never, {}, {}, never, never, true, never>;
|
5
|
+
}
|
@@ -0,0 +1,110 @@
|
|
1
|
+
@use 'sass:map';
|
2
|
+
@use '../../core/utils' as utils;
|
3
|
+
|
4
|
+
@mixin theme($theme-config) {
|
5
|
+
$theme: utils.using-theme($theme_config);
|
6
|
+
|
7
|
+
.wlcm-calendar {
|
8
|
+
&.mat-calendar {
|
9
|
+
width: 224px;
|
10
|
+
font-size: 16px;
|
11
|
+
|
12
|
+
&.wlcm-calendar-disabled {
|
13
|
+
opacity: 0.5;
|
14
|
+
position: relative;
|
15
|
+
pointer-events: none;
|
16
|
+
|
17
|
+
&::before {
|
18
|
+
content: '';
|
19
|
+
display: block;
|
20
|
+
position: absolute;
|
21
|
+
top: 0;
|
22
|
+
left: 0;
|
23
|
+
right: 0;
|
24
|
+
bottom: 0;
|
25
|
+
}
|
26
|
+
}
|
27
|
+
}
|
28
|
+
|
29
|
+
mat-year-view {
|
30
|
+
.mat-calendar-body-label {
|
31
|
+
display: none;
|
32
|
+
}
|
33
|
+
}
|
34
|
+
|
35
|
+
.mat-calendar-body-label {
|
36
|
+
opacity: 0;
|
37
|
+
|
38
|
+
&[colspan='7'] {
|
39
|
+
display: none;
|
40
|
+
}
|
41
|
+
}
|
42
|
+
|
43
|
+
.mat-calendar-content {
|
44
|
+
padding: 0 !important;
|
45
|
+
min-height: 220px;
|
46
|
+
}
|
47
|
+
|
48
|
+
.mat-calendar-table-header-divider {
|
49
|
+
display: none;
|
50
|
+
}
|
51
|
+
|
52
|
+
.mat-calendar-table-header th {
|
53
|
+
color: #a4a3a3;
|
54
|
+
font-size: 16px;
|
55
|
+
}
|
56
|
+
|
57
|
+
.mat-calendar-body-cell-content {
|
58
|
+
font-size: 16px;
|
59
|
+
border-radius: 8px;
|
60
|
+
color: map-get($theme, text-black-color);
|
61
|
+
}
|
62
|
+
|
63
|
+
.mat-calendar-body-selected {
|
64
|
+
background-color: map-get($theme, selected-option-color);
|
65
|
+
}
|
66
|
+
|
67
|
+
.mat-calendar-body-today {
|
68
|
+
border: none;
|
69
|
+
color: map-get($theme, primary-color);
|
70
|
+
font-family: map-get($theme, bold-font-family);
|
71
|
+
}
|
72
|
+
|
73
|
+
.mat-calendar-body-in-range {
|
74
|
+
&::before {
|
75
|
+
background: map-get($theme, selected-option-color);
|
76
|
+
}
|
77
|
+
|
78
|
+
.mat-calendar-body-cell-content {
|
79
|
+
color: map-get($theme, primary-color);
|
80
|
+
}
|
81
|
+
}
|
82
|
+
|
83
|
+
.mat-calendar-body-cell:not(.mat-calendar-body-disabled):hover
|
84
|
+
> .mat-calendar-body-cell-content:not(.mat-calendar-body-selected):not(
|
85
|
+
.mat-calendar-body-comparison-identical
|
86
|
+
) {
|
87
|
+
background: map-get($theme, selected-option-color);
|
88
|
+
}
|
89
|
+
|
90
|
+
.mat-calendar-body-in-preview {
|
91
|
+
.mat-calendar-body-cell-preview {
|
92
|
+
border: none;
|
93
|
+
background: map-get($theme, selected-option-color);
|
94
|
+
}
|
95
|
+
}
|
96
|
+
|
97
|
+
.mat-calendar-body-selected.mat-calendar-body-today {
|
98
|
+
box-shadow: none;
|
99
|
+
}
|
100
|
+
|
101
|
+
.cdk-program-focused
|
102
|
+
.mat-calendar-body-active
|
103
|
+
> .mat-calendar-body-cell-content:not(.mat-calendar-body-selected):not(
|
104
|
+
.mat-calendar-body-comparison-identical
|
105
|
+
) {
|
106
|
+
background-color: transparent;
|
107
|
+
border: 1px solid map-get($theme, primary-color);
|
108
|
+
}
|
109
|
+
}
|
110
|
+
}
|
@@ -9,109 +9,5 @@
|
|
9
9
|
align-items: flex-start;
|
10
10
|
grid-auto-flow: column;
|
11
11
|
grid-gap: 32px;
|
12
|
-
|
13
|
-
.mat-calendar {
|
14
|
-
width: 224px;
|
15
|
-
font-size: 16px;
|
16
|
-
|
17
|
-
&.wlcm-calendar-disabled {
|
18
|
-
opacity: 0.5;
|
19
|
-
position: relative;
|
20
|
-
pointer-events: none;
|
21
|
-
|
22
|
-
&::before {
|
23
|
-
content: '';
|
24
|
-
display: block;
|
25
|
-
position: absolute;
|
26
|
-
top: 0;
|
27
|
-
left: 0;
|
28
|
-
right: 0;
|
29
|
-
bottom: 0;
|
30
|
-
}
|
31
|
-
}
|
32
|
-
}
|
33
|
-
|
34
|
-
mat-year-view {
|
35
|
-
.mat-calendar-body-label {
|
36
|
-
display: none;
|
37
|
-
}
|
38
|
-
}
|
39
|
-
|
40
|
-
.mat-calendar-body-label {
|
41
|
-
opacity: 0;
|
42
|
-
|
43
|
-
&[colspan='7'] {
|
44
|
-
display: none;
|
45
|
-
}
|
46
|
-
}
|
47
|
-
|
48
|
-
.mat-calendar-content {
|
49
|
-
padding: 0 !important;
|
50
|
-
min-height: 220px;
|
51
|
-
}
|
52
|
-
|
53
|
-
.mat-calendar-table-header-divider {
|
54
|
-
display: none;
|
55
|
-
}
|
56
|
-
|
57
|
-
.mat-calendar-table-header th {
|
58
|
-
color: #a4a3a3;
|
59
|
-
font-size: 16px;
|
60
|
-
}
|
61
|
-
|
62
|
-
.mat-calendar-body-cell-content {
|
63
|
-
font-size: 16px;
|
64
|
-
border-radius: 8px;
|
65
|
-
color: map-get($theme, text-black-color);
|
66
|
-
}
|
67
|
-
|
68
|
-
.mat-calendar-body-selected {
|
69
|
-
background-color: map-get($theme, selected-option-color);
|
70
|
-
}
|
71
|
-
|
72
|
-
.mat-calendar-body-today {
|
73
|
-
border: none;
|
74
|
-
color: map-get($theme, primary-color);
|
75
|
-
font-family: map-get($theme, bold-font-family);
|
76
|
-
}
|
77
|
-
|
78
|
-
.mat-calendar-body-in-range {
|
79
|
-
&::before {
|
80
|
-
background: map-get($theme, selected-option-color);
|
81
|
-
}
|
82
|
-
|
83
|
-
.mat-calendar-body-cell-content {
|
84
|
-
color: map-get($theme, primary-color);
|
85
|
-
}
|
86
|
-
}
|
87
|
-
|
88
|
-
.mat-calendar-body-cell:not(.mat-calendar-body-disabled):hover
|
89
|
-
> .mat-calendar-body-cell-content:not(.mat-calendar-body-selected):not(
|
90
|
-
.mat-calendar-body-comparison-identical
|
91
|
-
) {
|
92
|
-
background: map-get($theme, selected-option-color);
|
93
|
-
}
|
94
|
-
|
95
|
-
.mat-calendar-body-in-preview {
|
96
|
-
.mat-calendar-body-cell-preview {
|
97
|
-
border: none;
|
98
|
-
background: map-get($theme, selected-option-color);
|
99
|
-
}
|
100
|
-
}
|
101
|
-
|
102
|
-
.mat-calendar-body-selected.mat-calendar-body-today {
|
103
|
-
box-shadow: none;
|
104
|
-
}
|
105
|
-
}
|
106
|
-
|
107
|
-
.wlcm-date-range-picker-body {
|
108
|
-
.cdk-program-focused
|
109
|
-
.mat-calendar-body-active
|
110
|
-
> .mat-calendar-body-cell-content:not(.mat-calendar-body-selected):not(
|
111
|
-
.mat-calendar-body-comparison-identical
|
112
|
-
) {
|
113
|
-
background-color: transparent;
|
114
|
-
border: 1px solid map-get($theme, primary-color);
|
115
|
-
}
|
116
12
|
}
|
117
13
|
}
|
@@ -1,11 +1,9 @@
|
|
1
1
|
@use 'date-range-picker-input' as input;
|
2
2
|
@use 'date-range-picker-panel' as panel;
|
3
|
-
@use 'date-range-picker-header' as header;
|
4
3
|
@use 'date-range-picker-body' as body;
|
5
4
|
|
6
5
|
@mixin theme($theme-config) {
|
7
6
|
@include input.theme($theme-config);
|
8
7
|
@include panel.theme($theme-config);
|
9
|
-
@include header.theme($theme-config);
|
10
8
|
@include body.theme($theme-config);
|
11
9
|
}
|
@@ -0,0 +1,15 @@
|
|
1
|
+
@use 'sass:map';
|
2
|
+
@use '../../core/utils' as utils;
|
3
|
+
|
4
|
+
@mixin theme($theme-config) {
|
5
|
+
$theme: utils.using-theme($theme_config);
|
6
|
+
|
7
|
+
.wlcm-datepicker-panel {
|
8
|
+
width: 100%;
|
9
|
+
display: block;
|
10
|
+
background: #ffffff;
|
11
|
+
box-shadow: 0 4px 32px 0 rgba(0, 0, 0, 0.16);
|
12
|
+
border-radius: 12px;
|
13
|
+
padding: 16px;
|
14
|
+
}
|
15
|
+
}
|
@@ -6,9 +6,11 @@
|
|
6
6
|
@use '../components/button/index' as button;
|
7
7
|
@use '../components/search-field/index' as searchField;
|
8
8
|
@use '../components/date-range-picker/index' as dateRangePicker;
|
9
|
-
@use '../components/phone-input/
|
10
|
-
@use '../components/
|
11
|
-
@use '../components/
|
9
|
+
@use '../components/phone-input/index' as phoneInput;
|
10
|
+
@use '../components/datepicker/index' as datepicker;
|
11
|
+
@use '../components/calendar/index' as calendar;
|
12
|
+
@use '../components/stepper/index' as stepper;
|
13
|
+
@use '../components/table/index' as table;
|
12
14
|
|
13
15
|
@mixin all-component-themes($theme-config) {
|
14
16
|
@include common.theme($theme-config);
|
@@ -17,7 +19,9 @@
|
|
17
19
|
@include button.theme($theme-config);
|
18
20
|
@include searchField.theme($theme-config);
|
19
21
|
@include dateRangePicker.theme($theme-config);
|
22
|
+
@include datepicker.theme($theme-config);
|
20
23
|
@include phoneInput.theme($theme-config);
|
24
|
+
@include calendar.theme($theme-config);
|
21
25
|
@include stepper.theme($theme-config);
|
22
26
|
@include table.theme($theme-config);
|
23
27
|
}
|
@@ -1,7 +0,0 @@
|
|
1
|
-
export { WlcmDateRangePickerModule } from './lib/date-range-picker.module';
|
2
|
-
export { WlcmDateRangeInputValidator } from './lib/utils/date-range-input.validators';
|
3
|
-
export { WlcmDateRangeValidation } from './lib/models/date-range-validation.models';
|
4
|
-
export { WlcmDateRangePickerInputComponent } from './lib/components/date-range-picker-input/date-range-picker-input.component';
|
5
|
-
export { DateRangePickerInputEndDirective } from './lib/directives/date-range-picker-input-end.directive';
|
6
|
-
export { DateRangePickerInputStartDirective } from './lib/directives/date-range-picker-input-start.directive';
|
7
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9tb2R1bGVzL2RhdGUtcmFuZ2UtcGlja2VyL3NyYy9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUseUJBQXlCLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQztBQUMzRSxPQUFPLEVBQUUsMkJBQTJCLEVBQUUsTUFBTSx5Q0FBeUMsQ0FBQztBQUN0RixPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSwyQ0FBMkMsQ0FBQztBQUVwRixPQUFPLEVBQUUsaUNBQWlDLEVBQUUsTUFBTSw0RUFBNEUsQ0FBQztBQUMvSCxPQUFPLEVBQUUsZ0NBQWdDLEVBQUUsTUFBTSx3REFBd0QsQ0FBQztBQUMxRyxPQUFPLEVBQUUsa0NBQWtDLEVBQUUsTUFBTSwwREFBMEQsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCB7IFdsY21EYXRlUmFuZ2VQaWNrZXJNb2R1bGUgfSBmcm9tICcuL2xpYi9kYXRlLXJhbmdlLXBpY2tlci5tb2R1bGUnO1xuZXhwb3J0IHsgV2xjbURhdGVSYW5nZUlucHV0VmFsaWRhdG9yIH0gZnJvbSAnLi9saWIvdXRpbHMvZGF0ZS1yYW5nZS1pbnB1dC52YWxpZGF0b3JzJztcbmV4cG9ydCB7IFdsY21EYXRlUmFuZ2VWYWxpZGF0aW9uIH0gZnJvbSAnLi9saWIvbW9kZWxzL2RhdGUtcmFuZ2UtdmFsaWRhdGlvbi5tb2RlbHMnO1xuXG5leHBvcnQgeyBXbGNtRGF0ZVJhbmdlUGlja2VySW5wdXRDb21wb25lbnQgfSBmcm9tICcuL2xpYi9jb21wb25lbnRzL2RhdGUtcmFuZ2UtcGlja2VyLWlucHV0L2RhdGUtcmFuZ2UtcGlja2VyLWlucHV0LmNvbXBvbmVudCc7XG5leHBvcnQgeyBEYXRlUmFuZ2VQaWNrZXJJbnB1dEVuZERpcmVjdGl2ZSB9IGZyb20gJy4vbGliL2RpcmVjdGl2ZXMvZGF0ZS1yYW5nZS1waWNrZXItaW5wdXQtZW5kLmRpcmVjdGl2ZSc7XG5leHBvcnQgeyBEYXRlUmFuZ2VQaWNrZXJJbnB1dFN0YXJ0RGlyZWN0aXZlIH0gZnJvbSAnLi9saWIvZGlyZWN0aXZlcy9kYXRlLXJhbmdlLXBpY2tlci1pbnB1dC1zdGFydC5kaXJlY3RpdmUnO1xuIl19
|
package/date-range-picker/esm2022/lib/components/calendar-header/calendar-header.component.mjs
DELETED
@@ -1,62 +0,0 @@
|
|
1
|
-
import { Component, Inject, Optional, forwardRef } from '@angular/core';
|
2
|
-
import { DateAdapter, MAT_DATE_FORMATS } from '@angular/material/core';
|
3
|
-
import { WlcmDataRangeCalendar } from '../../models/data-range-calendar.models';
|
4
|
-
import { WlcmIconDirective, WlcmIconName } from '@wlcm/angular/core';
|
5
|
-
import { MatCalendar } from '@angular/material/datepicker';
|
6
|
-
import { CommonModule } from '@angular/common';
|
7
|
-
import * as i0 from "@angular/core";
|
8
|
-
import * as i1 from "@angular/material/core";
|
9
|
-
import * as i2 from "../../models/data-range-calendar.models";
|
10
|
-
import * as i3 from "@angular/material/datepicker";
|
11
|
-
export class WlcmCalendarHeaderComponent {
|
12
|
-
constructor(dateAdapter, rangeCalendar, dateFormats, calendar) {
|
13
|
-
this.dateAdapter = dateAdapter;
|
14
|
-
this.rangeCalendar = rangeCalendar;
|
15
|
-
this.dateFormats = dateFormats;
|
16
|
-
this.calendar = calendar;
|
17
|
-
this.WlcmIconName = WlcmIconName;
|
18
|
-
}
|
19
|
-
prev() {
|
20
|
-
if (this.rangeCalendar) {
|
21
|
-
if (this.calendar.currentView !== 'month') {
|
22
|
-
return this.rangeCalendar.prevYear();
|
23
|
-
}
|
24
|
-
return this.rangeCalendar.prevMonth();
|
25
|
-
}
|
26
|
-
}
|
27
|
-
next() {
|
28
|
-
if (this.rangeCalendar) {
|
29
|
-
if (this.calendar.currentView !== 'month') {
|
30
|
-
return this.rangeCalendar.nextYear();
|
31
|
-
}
|
32
|
-
return this.rangeCalendar.nextMonth();
|
33
|
-
}
|
34
|
-
}
|
35
|
-
changeCalendarView() {
|
36
|
-
if (this.calendar.currentView === 'multi-year') {
|
37
|
-
this.calendar.currentView = 'month';
|
38
|
-
return;
|
39
|
-
}
|
40
|
-
this.calendar.currentView = 'multi-year';
|
41
|
-
}
|
42
|
-
get periodLabel() {
|
43
|
-
return this.dateAdapter.format(this.calendar.activeDate, this.dateFormats.display.monthYearLabel);
|
44
|
-
}
|
45
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.5", ngImport: i0, type: WlcmCalendarHeaderComponent, deps: [{ token: i1.DateAdapter }, { token: i2.WlcmDataRangeCalendar, optional: true }, { token: MAT_DATE_FORMATS, optional: true }, { token: forwardRef(() => MatCalendar) }], target: i0.ɵɵFactoryTarget.Component }); }
|
46
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.3.5", type: WlcmCalendarHeaderComponent, isStandalone: true, selector: "wlcm-calendar-header", ngImport: i0, template: "<div class=\"wlcm-calendar-header\">\n <div class=\"wlcm-calendar-header-button-container\">\n @if(((!rangeCalendar || rangeCalendar.location === 'left') ||\n calendar.currentView !== 'month') && !rangeCalendar.disabled()) {\n <button\n class=\"wlcm-calendar-header-button wlcm-calendar-header-button-left\"\n (click)=\"prev()\"\n >\n <ng-container [wlcmIcon]=\"WlcmIconName.CHEVRON_DOWN\"></ng-container>\n </button>\n }\n </div>\n\n <button\n class=\"wlcm-calendar-header-change-view-button\"\n (click)=\"changeCalendarView()\"\n >\n <div class=\"wlcm-calendar-header-period-label\">\n {{ periodLabel }}\n </div>\n\n <ng-container [wlcmIcon]=\"WlcmIconName.CHEVRON_DOWN\"></ng-container>\n </button>\n\n <div class=\"wlcm-calendar-header-button-container\">\n @if(((!rangeCalendar || rangeCalendar.location === 'right') ||\n calendar.currentView !== 'month') && !rangeCalendar.disabled()) {\n <button\n class=\"wlcm-calendar-header-button wlcm-calendar-header-button-right\"\n (click)=\"next()\"\n >\n <ng-container [wlcmIcon]=\"WlcmIconName.CHEVRON_DOWN\"></ng-container>\n </button>\n }\n </div>\n</div>\n", styles: [""], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: WlcmIconDirective, selector: "[wlcmIcon]", inputs: ["wlcmIcon"], outputs: ["wlcmIconClicked"] }] }); }
|
47
|
-
}
|
48
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.5", ngImport: i0, type: WlcmCalendarHeaderComponent, decorators: [{
|
49
|
-
type: Component,
|
50
|
-
args: [{ selector: 'wlcm-calendar-header', standalone: true, imports: [CommonModule, WlcmIconDirective], template: "<div class=\"wlcm-calendar-header\">\n <div class=\"wlcm-calendar-header-button-container\">\n @if(((!rangeCalendar || rangeCalendar.location === 'left') ||\n calendar.currentView !== 'month') && !rangeCalendar.disabled()) {\n <button\n class=\"wlcm-calendar-header-button wlcm-calendar-header-button-left\"\n (click)=\"prev()\"\n >\n <ng-container [wlcmIcon]=\"WlcmIconName.CHEVRON_DOWN\"></ng-container>\n </button>\n }\n </div>\n\n <button\n class=\"wlcm-calendar-header-change-view-button\"\n (click)=\"changeCalendarView()\"\n >\n <div class=\"wlcm-calendar-header-period-label\">\n {{ periodLabel }}\n </div>\n\n <ng-container [wlcmIcon]=\"WlcmIconName.CHEVRON_DOWN\"></ng-container>\n </button>\n\n <div class=\"wlcm-calendar-header-button-container\">\n @if(((!rangeCalendar || rangeCalendar.location === 'right') ||\n calendar.currentView !== 'month') && !rangeCalendar.disabled()) {\n <button\n class=\"wlcm-calendar-header-button wlcm-calendar-header-button-right\"\n (click)=\"next()\"\n >\n <ng-container [wlcmIcon]=\"WlcmIconName.CHEVRON_DOWN\"></ng-container>\n </button>\n }\n </div>\n</div>\n" }]
|
51
|
-
}], ctorParameters: () => [{ type: i1.DateAdapter }, { type: i2.WlcmDataRangeCalendar, decorators: [{
|
52
|
-
type: Optional
|
53
|
-
}] }, { type: undefined, decorators: [{
|
54
|
-
type: Optional
|
55
|
-
}, {
|
56
|
-
type: Inject,
|
57
|
-
args: [MAT_DATE_FORMATS]
|
58
|
-
}] }, { type: i3.MatCalendar, decorators: [{
|
59
|
-
type: Inject,
|
60
|
-
args: [forwardRef(() => MatCalendar)]
|
61
|
-
}] }] });
|
62
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2FsZW5kYXItaGVhZGVyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL21vZHVsZXMvZGF0ZS1yYW5nZS1waWNrZXIvc3JjL2xpYi9jb21wb25lbnRzL2NhbGVuZGFyLWhlYWRlci9jYWxlbmRhci1oZWFkZXIuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vbW9kdWxlcy9kYXRlLXJhbmdlLXBpY2tlci9zcmMvbGliL2NvbXBvbmVudHMvY2FsZW5kYXItaGVhZGVyL2NhbGVuZGFyLWhlYWRlci5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sRUFBRSxRQUFRLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3hFLE9BQU8sRUFBRSxXQUFXLEVBQUUsZ0JBQWdCLEVBQWtCLE1BQU0sd0JBQXdCLENBQUM7QUFDdkYsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0seUNBQXlDLENBQUM7QUFDaEYsT0FBTyxFQUFFLGlCQUFpQixFQUFFLFlBQVksRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBQ3JFLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQztBQUMzRCxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7Ozs7O0FBUy9DLE1BQU0sT0FBTywyQkFBMkI7SUFHdEMsWUFDVSxXQUE4QixFQUNoQixhQUFvQyxFQUNWLFdBQTJCLEVBQzdCLFFBQTJCO1FBSGpFLGdCQUFXLEdBQVgsV0FBVyxDQUFtQjtRQUNoQixrQkFBYSxHQUFiLGFBQWEsQ0FBdUI7UUFDVixnQkFBVyxHQUFYLFdBQVcsQ0FBZ0I7UUFDN0IsYUFBUSxHQUFSLFFBQVEsQ0FBbUI7UUFObEUsaUJBQVksR0FBRyxZQUFZLENBQUM7SUFPbEMsQ0FBQztJQUVKLElBQUk7UUFDRixJQUFJLElBQUksQ0FBQyxhQUFhLEVBQUUsQ0FBQztZQUN2QixJQUFJLElBQUksQ0FBQyxRQUFRLENBQUMsV0FBVyxLQUFLLE9BQU8sRUFBRSxDQUFDO2dCQUMxQyxPQUFPLElBQUksQ0FBQyxhQUFhLENBQUMsUUFBUSxFQUFFLENBQUM7WUFDdkMsQ0FBQztZQUVELE9BQU8sSUFBSSxDQUFDLGFBQWEsQ0FBQyxTQUFTLEVBQUUsQ0FBQztRQUN4QyxDQUFDO0lBQ0gsQ0FBQztJQUVELElBQUk7UUFDRixJQUFJLElBQUksQ0FBQyxhQUFhLEVBQUUsQ0FBQztZQUN2QixJQUFJLElBQUksQ0FBQyxRQUFRLENBQUMsV0FBVyxLQUFLLE9BQU8sRUFBRSxDQUFDO2dCQUMxQyxPQUFPLElBQUksQ0FBQyxhQUFhLENBQUMsUUFBUSxFQUFFLENBQUM7WUFDdkMsQ0FBQztZQUVELE9BQU8sSUFBSSxDQUFDLGFBQWEsQ0FBQyxTQUFTLEVBQUUsQ0FBQztRQUN4QyxDQUFDO0lBQ0gsQ0FBQztJQUVELGtCQUFrQjtRQUNoQixJQUFJLElBQUksQ0FBQyxRQUFRLENBQUMsV0FBVyxLQUFLLFlBQVksRUFBRSxDQUFDO1lBQy9DLElBQUksQ0FBQyxRQUFRLENBQUMsV0FBVyxHQUFHLE9BQU8sQ0FBQztZQUVwQyxPQUFPO1FBQ1QsQ0FBQztRQUVELElBQUksQ0FBQyxRQUFRLENBQUMsV0FBVyxHQUFHLFlBQVksQ0FBQztJQUMzQyxDQUFDO0lBRUQsSUFBSSxXQUFXO1FBQ2IsT0FBTyxJQUFJLENBQUMsV0FBVyxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLFVBQVUsRUFBRSxJQUFJLENBQUMsV0FBVyxDQUFDLE9BQU8sQ0FBQyxjQUFjLENBQUMsQ0FBQztJQUNwRyxDQUFDOzhHQTFDVSwyQkFBMkIsa0dBTWhCLGdCQUFnQiw2QkFDNUIsVUFBVSxDQUFDLEdBQUcsRUFBRSxDQUFDLFdBQVcsQ0FBQztrR0FQNUIsMkJBQTJCLGdGQ2R4QyxvckNBb0NBLHlERDFCWSxZQUFZLCtCQUFFLGlCQUFpQjs7MkZBSTlCLDJCQUEyQjtrQkFQdkMsU0FBUzsrQkFDRSxzQkFBc0IsY0FDcEIsSUFBSSxXQUNQLENBQUMsWUFBWSxFQUFFLGlCQUFpQixDQUFDOzswQkFTdkMsUUFBUTs7MEJBQ1IsUUFBUTs7MEJBQUksTUFBTTsyQkFBQyxnQkFBZ0I7OzBCQUNuQyxNQUFNOzJCQUFDLFVBQVUsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxXQUFXLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIEluamVjdCwgT3B0aW9uYWwsIGZvcndhcmRSZWYgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IERhdGVBZGFwdGVyLCBNQVRfREFURV9GT1JNQVRTLCBNYXREYXRlRm9ybWF0cyB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2NvcmUnO1xuaW1wb3J0IHsgV2xjbURhdGFSYW5nZUNhbGVuZGFyIH0gZnJvbSAnLi4vLi4vbW9kZWxzL2RhdGEtcmFuZ2UtY2FsZW5kYXIubW9kZWxzJztcbmltcG9ydCB7IFdsY21JY29uRGlyZWN0aXZlLCBXbGNtSWNvbk5hbWUgfSBmcm9tICdAd2xjbS9hbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgTWF0Q2FsZW5kYXIgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9kYXRlcGlja2VyJztcbmltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3dsY20tY2FsZW5kYXItaGVhZGVyJyxcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgaW1wb3J0czogW0NvbW1vbk1vZHVsZSwgV2xjbUljb25EaXJlY3RpdmVdLFxuICB0ZW1wbGF0ZVVybDogJy4vY2FsZW5kYXItaGVhZGVyLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmw6ICcuL2NhbGVuZGFyLWhlYWRlci5jb21wb25lbnQuc2NzcycsXG59KVxuZXhwb3J0IGNsYXNzIFdsY21DYWxlbmRhckhlYWRlckNvbXBvbmVudCB7XG4gIHJlYWRvbmx5IFdsY21JY29uTmFtZSA9IFdsY21JY29uTmFtZTtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIGRhdGVBZGFwdGVyOiBEYXRlQWRhcHRlcjxEYXRlPixcbiAgICBAT3B0aW9uYWwoKSBwcm90ZWN0ZWQgcmFuZ2VDYWxlbmRhcjogV2xjbURhdGFSYW5nZUNhbGVuZGFyLFxuICAgIEBPcHRpb25hbCgpIEBJbmplY3QoTUFUX0RBVEVfRk9STUFUUykgcHJvdGVjdGVkIGRhdGVGb3JtYXRzOiBNYXREYXRlRm9ybWF0cyxcbiAgICBASW5qZWN0KGZvcndhcmRSZWYoKCkgPT4gTWF0Q2FsZW5kYXIpKSBwdWJsaWMgY2FsZW5kYXI6IE1hdENhbGVuZGFyPERhdGU+XG4gICkge31cblxuICBwcmV2KCk6IHZvaWQge1xuICAgIGlmICh0aGlzLnJhbmdlQ2FsZW5kYXIpIHtcbiAgICAgIGlmICh0aGlzLmNhbGVuZGFyLmN1cnJlbnRWaWV3ICE9PSAnbW9udGgnKSB7XG4gICAgICAgIHJldHVybiB0aGlzLnJhbmdlQ2FsZW5kYXIucHJldlllYXIoKTtcbiAgICAgIH1cblxuICAgICAgcmV0dXJuIHRoaXMucmFuZ2VDYWxlbmRhci5wcmV2TW9udGgoKTtcbiAgICB9XG4gIH1cblxuICBuZXh0KCk6IHZvaWQge1xuICAgIGlmICh0aGlzLnJhbmdlQ2FsZW5kYXIpIHtcbiAgICAgIGlmICh0aGlzLmNhbGVuZGFyLmN1cnJlbnRWaWV3ICE9PSAnbW9udGgnKSB7XG4gICAgICAgIHJldHVybiB0aGlzLnJhbmdlQ2FsZW5kYXIubmV4dFllYXIoKTtcbiAgICAgIH1cblxuICAgICAgcmV0dXJuIHRoaXMucmFuZ2VDYWxlbmRhci5uZXh0TW9udGgoKTtcbiAgICB9XG4gIH1cblxuICBjaGFuZ2VDYWxlbmRhclZpZXcoKTogdm9pZCB7XG4gICAgaWYgKHRoaXMuY2FsZW5kYXIuY3VycmVudFZpZXcgPT09ICdtdWx0aS15ZWFyJykge1xuICAgICAgdGhpcy5jYWxlbmRhci5jdXJyZW50VmlldyA9ICdtb250aCc7XG5cbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICB0aGlzLmNhbGVuZGFyLmN1cnJlbnRWaWV3ID0gJ211bHRpLXllYXInO1xuICB9XG5cbiAgZ2V0IHBlcmlvZExhYmVsKCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIHRoaXMuZGF0ZUFkYXB0ZXIuZm9ybWF0KHRoaXMuY2FsZW5kYXIuYWN0aXZlRGF0ZSwgdGhpcy5kYXRlRm9ybWF0cy5kaXNwbGF5Lm1vbnRoWWVhckxhYmVsKTtcbiAgfVxufVxuIiwiPGRpdiBjbGFzcz1cIndsY20tY2FsZW5kYXItaGVhZGVyXCI+XG4gIDxkaXYgY2xhc3M9XCJ3bGNtLWNhbGVuZGFyLWhlYWRlci1idXR0b24tY29udGFpbmVyXCI+XG4gICAgQGlmKCgoIXJhbmdlQ2FsZW5kYXIgfHwgcmFuZ2VDYWxlbmRhci5sb2NhdGlvbiA9PT0gJ2xlZnQnKSB8fFxuICAgIGNhbGVuZGFyLmN1cnJlbnRWaWV3ICE9PSAnbW9udGgnKSAmJiAhcmFuZ2VDYWxlbmRhci5kaXNhYmxlZCgpKSB7XG4gICAgPGJ1dHRvblxuICAgICAgY2xhc3M9XCJ3bGNtLWNhbGVuZGFyLWhlYWRlci1idXR0b24gd2xjbS1jYWxlbmRhci1oZWFkZXItYnV0dG9uLWxlZnRcIlxuICAgICAgKGNsaWNrKT1cInByZXYoKVwiXG4gICAgPlxuICAgICAgPG5nLWNvbnRhaW5lciBbd2xjbUljb25dPVwiV2xjbUljb25OYW1lLkNIRVZST05fRE9XTlwiPjwvbmctY29udGFpbmVyPlxuICAgIDwvYnV0dG9uPlxuICAgIH1cbiAgPC9kaXY+XG5cbiAgPGJ1dHRvblxuICAgIGNsYXNzPVwid2xjbS1jYWxlbmRhci1oZWFkZXItY2hhbmdlLXZpZXctYnV0dG9uXCJcbiAgICAoY2xpY2spPVwiY2hhbmdlQ2FsZW5kYXJWaWV3KClcIlxuICA+XG4gICAgPGRpdiBjbGFzcz1cIndsY20tY2FsZW5kYXItaGVhZGVyLXBlcmlvZC1sYWJlbFwiPlxuICAgICAge3sgcGVyaW9kTGFiZWwgfX1cbiAgICA8L2Rpdj5cblxuICAgIDxuZy1jb250YWluZXIgW3dsY21JY29uXT1cIldsY21JY29uTmFtZS5DSEVWUk9OX0RPV05cIj48L25nLWNvbnRhaW5lcj5cbiAgPC9idXR0b24+XG5cbiAgPGRpdiBjbGFzcz1cIndsY20tY2FsZW5kYXItaGVhZGVyLWJ1dHRvbi1jb250YWluZXJcIj5cbiAgICBAaWYoKCghcmFuZ2VDYWxlbmRhciB8fCByYW5nZUNhbGVuZGFyLmxvY2F0aW9uID09PSAncmlnaHQnKSB8fFxuICAgIGNhbGVuZGFyLmN1cnJlbnRWaWV3ICE9PSAnbW9udGgnKSAmJiAhcmFuZ2VDYWxlbmRhci5kaXNhYmxlZCgpKSB7XG4gICAgPGJ1dHRvblxuICAgICAgY2xhc3M9XCJ3bGNtLWNhbGVuZGFyLWhlYWRlci1idXR0b24gd2xjbS1jYWxlbmRhci1oZWFkZXItYnV0dG9uLXJpZ2h0XCJcbiAgICAgIChjbGljayk9XCJuZXh0KClcIlxuICAgID5cbiAgICAgIDxuZy1jb250YWluZXIgW3dsY21JY29uXT1cIldsY21JY29uTmFtZS5DSEVWUk9OX0RPV05cIj48L25nLWNvbnRhaW5lcj5cbiAgICA8L2J1dHRvbj5cbiAgICB9XG4gIDwvZGl2PlxuPC9kaXY+XG4iXX0=
|