@agorapulse/ui-components 22.0.18-beta.1 → 22.0.20
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/agorapulse-ui-components-22.0.20.tgz +0 -0
- package/fesm2022/agorapulse-ui-components-date-range-picker.mjs +156 -0
- package/fesm2022/agorapulse-ui-components-date-range-picker.mjs.map +1 -0
- package/fesm2022/agorapulse-ui-components-datepicker.mjs +21 -9
- package/fesm2022/agorapulse-ui-components-datepicker.mjs.map +1 -1
- package/fesm2022/agorapulse-ui-components.mjs +1 -0
- package/fesm2022/agorapulse-ui-components.mjs.map +1 -1
- package/package.json +5 -1
- package/types/agorapulse-ui-components-date-range-picker.d.ts +74 -0
- package/types/agorapulse-ui-components-datepicker.d.ts +12 -2
- package/types/agorapulse-ui-components.d.ts +1 -0
- package/agorapulse-ui-components-22.0.18-beta.1.tgz +0 -0
|
Binary file
|
|
@@ -0,0 +1,156 @@
|
|
|
1
|
+
import { LOCALE_CONFIG, LocaleService } from '@agorapulse/ngx-daterangepicker-material';
|
|
2
|
+
import { DatepickerMode, DatepickerDropdownComponent } from '@agorapulse/ui-components/datepicker';
|
|
3
|
+
import { DropdownTriggerDirective } from '@agorapulse/ui-components/dropdown-base';
|
|
4
|
+
import { TooltipDirective } from '@agorapulse/ui-components/tooltip';
|
|
5
|
+
import { SymbolComponent, withSymbols, apCalendar, apChevronDown, apChevronUp, apClock, apInfo } from '@agorapulse/ui-symbol';
|
|
6
|
+
import * as i0 from '@angular/core';
|
|
7
|
+
import { model, input, output, computed, ViewEncapsulation, ChangeDetectionStrategy, Component } from '@angular/core';
|
|
8
|
+
import dayjs from 'dayjs';
|
|
9
|
+
import advancedFormat from 'dayjs/plugin/advancedFormat';
|
|
10
|
+
import timezone from 'dayjs/plugin/timezone';
|
|
11
|
+
import utc from 'dayjs/plugin/utc';
|
|
12
|
+
|
|
13
|
+
dayjs.extend(utc);
|
|
14
|
+
dayjs.extend(timezone);
|
|
15
|
+
dayjs.extend(advancedFormat);
|
|
16
|
+
/** The default preset list (English labels), computed relative to `today` so ranges stay fresh. */
|
|
17
|
+
function defaultDateRangePickerPresets(today = dayjs()) {
|
|
18
|
+
const yesterday = today.subtract(1, 'day');
|
|
19
|
+
return [
|
|
20
|
+
{ key: 'yesterday', label: 'Yesterday', range: [yesterday, yesterday] },
|
|
21
|
+
{ key: 'lastWeek', label: 'Last week', range: [today.subtract(7, 'day'), yesterday] },
|
|
22
|
+
{ key: 'last30Days', label: 'Last 30 days', range: [today.subtract(30, 'day'), yesterday] },
|
|
23
|
+
{
|
|
24
|
+
key: 'lastMonth',
|
|
25
|
+
label: 'Previous month',
|
|
26
|
+
range: [today.subtract(1, 'month').startOf('month'), today.subtract(1, 'month').endOf('month')],
|
|
27
|
+
},
|
|
28
|
+
{ key: 'last90Days', label: 'Last 90 days', range: [today.subtract(90, 'day'), yesterday] },
|
|
29
|
+
{ key: 'last12Months', label: 'Last 12 months', range: [today.subtract(1, 'year'), yesterday] },
|
|
30
|
+
{ key: 'thisMonth', label: 'This month', range: [yesterday.startOf('month'), yesterday] },
|
|
31
|
+
{
|
|
32
|
+
key: 'lastYear',
|
|
33
|
+
label: 'Previous year',
|
|
34
|
+
range: [today.subtract(1, 'year').startOf('year'), today.subtract(1, 'year').endOf('year')],
|
|
35
|
+
},
|
|
36
|
+
];
|
|
37
|
+
}
|
|
38
|
+
/**
|
|
39
|
+
* A compact date-range selector for toolbars: a trigger chip showing the selected
|
|
40
|
+
* period that opens a dropdown with preset ranges and a dual-month calendar.
|
|
41
|
+
*
|
|
42
|
+
* @example
|
|
43
|
+
* ```html
|
|
44
|
+
* <ap-date-range-picker
|
|
45
|
+
* [(value)]="period"
|
|
46
|
+
* [maxDate]="yesterday"
|
|
47
|
+
* timeZone="Europe/Paris"
|
|
48
|
+
* (presetSelected)="onPreset($event)" />
|
|
49
|
+
* ```
|
|
50
|
+
*/
|
|
51
|
+
class DateRangePickerComponent {
|
|
52
|
+
/** The selected period. Supports two-way binding via `[(value)]`. */
|
|
53
|
+
value = model({ startDate: undefined, endDate: undefined }, /* @ts-ignore */
|
|
54
|
+
...(ngDevMode ? [{ debugName: "value" }] : /* istanbul ignore next */ []));
|
|
55
|
+
/** The preset ranges listed in the dropdown. Defaults to `defaultDateRangePickerPresets()`. */
|
|
56
|
+
presets = input(defaultDateRangePickerPresets(), /* @ts-ignore */
|
|
57
|
+
...(ngDevMode ? [{ debugName: "presets" }] : /* istanbul ignore next */ []));
|
|
58
|
+
/** Earliest selectable date. */
|
|
59
|
+
minDate = input(undefined, /* @ts-ignore */
|
|
60
|
+
...(ngDevMode ? [{ debugName: "minDate" }] : /* istanbul ignore next */ []));
|
|
61
|
+
/** Latest selectable date. */
|
|
62
|
+
maxDate = input(undefined, /* @ts-ignore */
|
|
63
|
+
...(ngDevMode ? [{ debugName: "maxDate" }] : /* istanbul ignore next */ []));
|
|
64
|
+
/** Maximum number of days between the start and the end date. Undefined means no limit. */
|
|
65
|
+
maxRangeDays = input(undefined, /* @ts-ignore */
|
|
66
|
+
...(ngDevMode ? [{ debugName: "maxRangeDays" }] : /* istanbul ignore next */ []));
|
|
67
|
+
/** Caption shown in the panel when `maxRangeDays` is set. Defaults to an English sentence — pass a translated one. */
|
|
68
|
+
maxRangeDaysHint = input(undefined, /* @ts-ignore */
|
|
69
|
+
...(ngDevMode ? [{ debugName: "maxRangeDaysHint" }] : /* istanbul ignore next */ []));
|
|
70
|
+
/** Locale used for the calendar and the trigger label. */
|
|
71
|
+
locale = input('en', /* @ts-ignore */
|
|
72
|
+
...(ngDevMode ? [{ debugName: "locale" }] : /* istanbul ignore next */ []));
|
|
73
|
+
firstDayOfWeek = input('monday', /* @ts-ignore */
|
|
74
|
+
...(ngDevMode ? [{ debugName: "firstDayOfWeek" }] : /* istanbul ignore next */ []));
|
|
75
|
+
/** dayjs format of the trigger label. */
|
|
76
|
+
dateFormat = input('ll', /* @ts-ignore */
|
|
77
|
+
...(ngDevMode ? [{ debugName: "dateFormat" }] : /* istanbul ignore next */ []));
|
|
78
|
+
/** Text shown on the trigger while no period is selected. */
|
|
79
|
+
placeholder = input('Select period', /* @ts-ignore */
|
|
80
|
+
...(ngDevMode ? [{ debugName: "placeholder" }] : /* istanbul ignore next */ []));
|
|
81
|
+
/** Side the dropdown opens to when space allows. */
|
|
82
|
+
defaultPosition = input('right', /* @ts-ignore */
|
|
83
|
+
...(ngDevMode ? [{ debugName: "defaultPosition" }] : /* istanbul ignore next */ []));
|
|
84
|
+
/** Label of the "Custom" entry in the preset list. */
|
|
85
|
+
customRangeLabel = input('Custom', /* @ts-ignore */
|
|
86
|
+
...(ngDevMode ? [{ debugName: "customRangeLabel" }] : /* istanbul ignore next */ []));
|
|
87
|
+
/** IANA time zone name. When set, a chip with the zone's offset is shown next to the trigger. */
|
|
88
|
+
timeZone = input(undefined, /* @ts-ignore */
|
|
89
|
+
...(ngDevMode ? [{ debugName: "timeZone" }] : /* istanbul ignore next */ []));
|
|
90
|
+
/** Tooltip text of the info icon shown next to the time-zone chip. */
|
|
91
|
+
timeZoneTooltip = input(undefined, /* @ts-ignore */
|
|
92
|
+
...(ngDevMode ? [{ debugName: "timeZoneTooltip" }] : /* istanbul ignore next */ []));
|
|
93
|
+
disabled = input(false, /* @ts-ignore */
|
|
94
|
+
...(ngDevMode ? [{ debugName: "disabled" }] : /* istanbul ignore next */ []));
|
|
95
|
+
/** Close the dropdown once a full period is selected. When false it stays open until backdrop click or Escape. */
|
|
96
|
+
closeOnSelect = input(true, /* @ts-ignore */
|
|
97
|
+
...(ngDevMode ? [{ debugName: "closeOnSelect" }] : /* istanbul ignore next */ []));
|
|
98
|
+
/** Emits the `key` of the preset matching the picked period, or 'custom'. */
|
|
99
|
+
presetSelected = output();
|
|
100
|
+
DatepickerMode = DatepickerMode;
|
|
101
|
+
rangesConfig = computed(() => Object.fromEntries(this.presets().map(({ label, range }) => [label, range])), /* @ts-ignore */
|
|
102
|
+
...(ngDevMode ? [{ debugName: "rangesConfig" }] : /* istanbul ignore next */ []));
|
|
103
|
+
i18n = computed(() => ({
|
|
104
|
+
ranges: {
|
|
105
|
+
yesterday: 'Yesterday',
|
|
106
|
+
lastWeek: 'Last Week',
|
|
107
|
+
last30Days: 'Last 30 days',
|
|
108
|
+
lastMonth: 'Previous month',
|
|
109
|
+
thisMonth: 'This month',
|
|
110
|
+
},
|
|
111
|
+
customRangeLabel: this.customRangeLabel(),
|
|
112
|
+
}), /* @ts-ignore */
|
|
113
|
+
...(ngDevMode ? [{ debugName: "i18n" }] : /* istanbul ignore next */ []));
|
|
114
|
+
formattedValue = computed(() => {
|
|
115
|
+
const { startDate, endDate } = this.value();
|
|
116
|
+
if (!startDate || !endDate) {
|
|
117
|
+
return '';
|
|
118
|
+
}
|
|
119
|
+
const format = (date) => date.locale(this.locale()).format(this.dateFormat());
|
|
120
|
+
return `${format(startDate)} - ${format(endDate)}`;
|
|
121
|
+
}, /* @ts-ignore */
|
|
122
|
+
...(ngDevMode ? [{ debugName: "formattedValue" }] : /* istanbul ignore next */ []));
|
|
123
|
+
rangeHint = computed(() => {
|
|
124
|
+
const days = this.maxRangeDays();
|
|
125
|
+
return days ? (this.maxRangeDaysHint() ?? `Maximum period: ${days} days`) : undefined;
|
|
126
|
+
}, /* @ts-ignore */
|
|
127
|
+
...(ngDevMode ? [{ debugName: "rangeHint" }] : /* istanbul ignore next */ []));
|
|
128
|
+
timeZoneOffset = computed(() => {
|
|
129
|
+
const timeZone = this.timeZone();
|
|
130
|
+
return timeZone ? dayjs().tz(timeZone).format('z') : '';
|
|
131
|
+
}, /* @ts-ignore */
|
|
132
|
+
...(ngDevMode ? [{ debugName: "timeZoneOffset" }] : /* istanbul ignore next */ []));
|
|
133
|
+
onPeriodSelected(period) {
|
|
134
|
+
this.value.set(period);
|
|
135
|
+
this.presetSelected.emit(this.matchPresetKey(period));
|
|
136
|
+
}
|
|
137
|
+
matchPresetKey({ startDate, endDate }) {
|
|
138
|
+
const match = this.presets().find(({ range: [start, end] }) => startDate?.isSame(start, 'day') && endDate?.isSame(end, 'day'));
|
|
139
|
+
return match?.key ?? 'custom';
|
|
140
|
+
}
|
|
141
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.5", ngImport: i0, type: DateRangePickerComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
142
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "22.0.5", type: DateRangePickerComponent, isStandalone: true, selector: "ap-date-range-picker", inputs: { value: { classPropertyName: "value", publicName: "value", isSignal: true, isRequired: false, transformFunction: null }, presets: { classPropertyName: "presets", publicName: "presets", isSignal: true, isRequired: false, transformFunction: null }, minDate: { classPropertyName: "minDate", publicName: "minDate", isSignal: true, isRequired: false, transformFunction: null }, maxDate: { classPropertyName: "maxDate", publicName: "maxDate", isSignal: true, isRequired: false, transformFunction: null }, maxRangeDays: { classPropertyName: "maxRangeDays", publicName: "maxRangeDays", isSignal: true, isRequired: false, transformFunction: null }, maxRangeDaysHint: { classPropertyName: "maxRangeDaysHint", publicName: "maxRangeDaysHint", isSignal: true, isRequired: false, transformFunction: null }, locale: { classPropertyName: "locale", publicName: "locale", isSignal: true, isRequired: false, transformFunction: null }, firstDayOfWeek: { classPropertyName: "firstDayOfWeek", publicName: "firstDayOfWeek", isSignal: true, isRequired: false, transformFunction: null }, dateFormat: { classPropertyName: "dateFormat", publicName: "dateFormat", isSignal: true, isRequired: false, transformFunction: null }, placeholder: { classPropertyName: "placeholder", publicName: "placeholder", isSignal: true, isRequired: false, transformFunction: null }, defaultPosition: { classPropertyName: "defaultPosition", publicName: "defaultPosition", isSignal: true, isRequired: false, transformFunction: null }, customRangeLabel: { classPropertyName: "customRangeLabel", publicName: "customRangeLabel", isSignal: true, isRequired: false, transformFunction: null }, timeZone: { classPropertyName: "timeZone", publicName: "timeZone", isSignal: true, isRequired: false, transformFunction: null }, timeZoneTooltip: { classPropertyName: "timeZoneTooltip", publicName: "timeZoneTooltip", isSignal: true, isRequired: false, transformFunction: null }, disabled: { classPropertyName: "disabled", publicName: "disabled", isSignal: true, isRequired: false, transformFunction: null }, closeOnSelect: { classPropertyName: "closeOnSelect", publicName: "closeOnSelect", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { value: "valueChange", presetSelected: "presetSelected" }, host: { classAttribute: "ap-date-range-picker" }, providers: [withSymbols(apCalendar, apChevronDown, apChevronUp, apClock, apInfo), { provide: LOCALE_CONFIG, useValue: {} }, LocaleService], ngImport: i0, template: "<button\n type=\"button\"\n class=\"ap-date-range-picker__trigger\"\n aria-haspopup=\"dialog\"\n [attr.aria-expanded]=\"dropdown.isOpen()\"\n [class.ap-date-range-picker__trigger--open]=\"dropdown.isOpen()\"\n [disabled]=\"disabled()\"\n [apDropdownTrigger]=\"dropdown\">\n <ap-symbol\n size=\"sm\"\n symbolId=\"calendar\" />\n @if (formattedValue()) {\n <span class=\"ap-date-range-picker__value\">{{ formattedValue() }}</span>\n } @else {\n <span class=\"ap-date-range-picker__placeholder\">{{ placeholder() }}</span>\n }\n <ap-symbol\n class=\"ap-date-range-picker__chevron\"\n size=\"sm\"\n [symbolId]=\"dropdown.isOpen() ? 'chevron-up' : 'chevron-down'\" />\n</button>\n\n@if (timeZone()) {\n <div\n class=\"ap-date-range-picker__timezone\"\n apTooltipPosition=\"bottom\"\n [apTooltip]=\"timeZone()\">\n <ap-symbol\n size=\"sm\"\n symbolId=\"clock\"\n color=\"grey\" />\n <span class=\"ap-date-range-picker__timezone-offset\">{{ timeZoneOffset() }}</span>\n </div>\n @if (timeZoneTooltip()) {\n <ap-symbol\n class=\"ap-date-range-picker__timezone-info\"\n size=\"sm\"\n symbolId=\"info\"\n color=\"grey-blue\"\n apTooltipPosition=\"bottom\"\n [apTooltip]=\"timeZoneTooltip()\" />\n }\n}\n\n<ap-datepicker-dropdown\n #dropdown\n [mode]=\"DatepickerMode.Range\"\n [closeOnSelect]=\"closeOnSelect()\"\n [dateLimit]=\"maxRangeDays()\"\n [defaultPosition]=\"defaultPosition()\"\n [hint]=\"rangeHint()\"\n [disabled]=\"disabled()\"\n [firstDayOfWeek]=\"firstDayOfWeek()\"\n [i18n]=\"i18n()\"\n [locale]=\"locale()\"\n [maxDate]=\"maxDate()\"\n [minDate]=\"minDate()\"\n [rangesConfig]=\"rangesConfig()\"\n [selectedPeriod]=\"value()\"\n [showCustomRangeLabel]=\"true\"\n [showRanges]=\"true\"\n (periodSelected)=\"onPeriodSelected($event)\" />\n", styles: [".ap-date-range-picker{display:inline-flex;align-items:center;gap:var(--ref-spacing-sm)}.ap-date-range-picker__trigger{display:inline-flex;align-items:center;gap:var(--ref-spacing-xxs);height:var(--sys-button-height);padding:0 var(--ref-spacing-sm);border:1px solid var(--ref-color-grey-20);border-radius:var(--sys-border-radius-sm);background-color:var(--ref-color-white);color:var(--ref-color-grey-100);font-family:var(--sys-text-style-body-font-family);font-size:var(--sys-text-style-body-size);cursor:pointer}.ap-date-range-picker__trigger .ap-symbol{color:var(--ref-color-grey-150)}.ap-date-range-picker__trigger:hover:not(:disabled){border-color:var(--ref-color-grey-40)}.ap-date-range-picker__trigger:disabled{cursor:default;color:var(--ref-color-grey-40)}.ap-date-range-picker__trigger:disabled .ap-symbol{color:inherit}.ap-date-range-picker__trigger--open{border-color:var(--ref-color-electric-blue-100)}.ap-date-range-picker__trigger--open .ap-symbol{color:var(--ref-color-electric-blue-100)}.ap-date-range-picker__placeholder{color:var(--sys-text-color-light)}.ap-date-range-picker__chevron{padding-left:var(--ref-spacing-xxs)}.ap-date-range-picker__timezone{display:inline-flex;align-items:center;gap:var(--ref-spacing-xxs)}.ap-date-range-picker__timezone-info{display:inline-flex;align-items:center}\n"], dependencies: [{ kind: "component", type: DatepickerDropdownComponent, selector: "ap-datepicker-dropdown", inputs: ["mode", "selectedDate", "selectedDates", "selectedPeriod", "minDate", "maxDate", "dateLimit", "hint", "firstDayOfWeek", "locale", "i18n", "showRanges", "showCustomRangeLabel", "rangesConfig", "showBackdrop", "closeOnSelect", "disabled", "defaultPosition"], outputs: ["opened", "closed", "dateSelected", "periodSelected"] }, { kind: "directive", type: DropdownTriggerDirective, selector: "[apDropdownTrigger]", inputs: ["apDropdownTrigger"] }, { kind: "component", type: SymbolComponent, selector: "ap-symbol", inputs: ["symbolId", "color", "size"], outputs: ["sizeChange"] }, { kind: "directive", type: TooltipDirective, selector: "[apTooltip]", inputs: ["apTooltip", "apTooltipPosition", "apTooltipShowDelay", "apTooltipHideDelay", "apTooltipDuration", "apTooltipDisabled", "apTooltipTruncatedTextOnly", "apTooltipTemplateContext", "apTooltipVirtualScrollElement", "apTooltipTrigger", "apTooltipType", "apTooltipPresentationContext", "apTooltipListItems", "apTooltipShowAvatarCaption"], exportAs: ["apTooltip"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
|
|
143
|
+
}
|
|
144
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.5", ngImport: i0, type: DateRangePickerComponent, decorators: [{
|
|
145
|
+
type: Component,
|
|
146
|
+
args: [{ changeDetection: ChangeDetectionStrategy.OnPush, selector: 'ap-date-range-picker', imports: [DatepickerDropdownComponent, DropdownTriggerDirective, SymbolComponent, TooltipDirective], providers: [withSymbols(apCalendar, apChevronDown, apChevronUp, apClock, apInfo), { provide: LOCALE_CONFIG, useValue: {} }, LocaleService], host: {
|
|
147
|
+
class: 'ap-date-range-picker',
|
|
148
|
+
}, encapsulation: ViewEncapsulation.None, template: "<button\n type=\"button\"\n class=\"ap-date-range-picker__trigger\"\n aria-haspopup=\"dialog\"\n [attr.aria-expanded]=\"dropdown.isOpen()\"\n [class.ap-date-range-picker__trigger--open]=\"dropdown.isOpen()\"\n [disabled]=\"disabled()\"\n [apDropdownTrigger]=\"dropdown\">\n <ap-symbol\n size=\"sm\"\n symbolId=\"calendar\" />\n @if (formattedValue()) {\n <span class=\"ap-date-range-picker__value\">{{ formattedValue() }}</span>\n } @else {\n <span class=\"ap-date-range-picker__placeholder\">{{ placeholder() }}</span>\n }\n <ap-symbol\n class=\"ap-date-range-picker__chevron\"\n size=\"sm\"\n [symbolId]=\"dropdown.isOpen() ? 'chevron-up' : 'chevron-down'\" />\n</button>\n\n@if (timeZone()) {\n <div\n class=\"ap-date-range-picker__timezone\"\n apTooltipPosition=\"bottom\"\n [apTooltip]=\"timeZone()\">\n <ap-symbol\n size=\"sm\"\n symbolId=\"clock\"\n color=\"grey\" />\n <span class=\"ap-date-range-picker__timezone-offset\">{{ timeZoneOffset() }}</span>\n </div>\n @if (timeZoneTooltip()) {\n <ap-symbol\n class=\"ap-date-range-picker__timezone-info\"\n size=\"sm\"\n symbolId=\"info\"\n color=\"grey-blue\"\n apTooltipPosition=\"bottom\"\n [apTooltip]=\"timeZoneTooltip()\" />\n }\n}\n\n<ap-datepicker-dropdown\n #dropdown\n [mode]=\"DatepickerMode.Range\"\n [closeOnSelect]=\"closeOnSelect()\"\n [dateLimit]=\"maxRangeDays()\"\n [defaultPosition]=\"defaultPosition()\"\n [hint]=\"rangeHint()\"\n [disabled]=\"disabled()\"\n [firstDayOfWeek]=\"firstDayOfWeek()\"\n [i18n]=\"i18n()\"\n [locale]=\"locale()\"\n [maxDate]=\"maxDate()\"\n [minDate]=\"minDate()\"\n [rangesConfig]=\"rangesConfig()\"\n [selectedPeriod]=\"value()\"\n [showCustomRangeLabel]=\"true\"\n [showRanges]=\"true\"\n (periodSelected)=\"onPeriodSelected($event)\" />\n", styles: [".ap-date-range-picker{display:inline-flex;align-items:center;gap:var(--ref-spacing-sm)}.ap-date-range-picker__trigger{display:inline-flex;align-items:center;gap:var(--ref-spacing-xxs);height:var(--sys-button-height);padding:0 var(--ref-spacing-sm);border:1px solid var(--ref-color-grey-20);border-radius:var(--sys-border-radius-sm);background-color:var(--ref-color-white);color:var(--ref-color-grey-100);font-family:var(--sys-text-style-body-font-family);font-size:var(--sys-text-style-body-size);cursor:pointer}.ap-date-range-picker__trigger .ap-symbol{color:var(--ref-color-grey-150)}.ap-date-range-picker__trigger:hover:not(:disabled){border-color:var(--ref-color-grey-40)}.ap-date-range-picker__trigger:disabled{cursor:default;color:var(--ref-color-grey-40)}.ap-date-range-picker__trigger:disabled .ap-symbol{color:inherit}.ap-date-range-picker__trigger--open{border-color:var(--ref-color-electric-blue-100)}.ap-date-range-picker__trigger--open .ap-symbol{color:var(--ref-color-electric-blue-100)}.ap-date-range-picker__placeholder{color:var(--sys-text-color-light)}.ap-date-range-picker__chevron{padding-left:var(--ref-spacing-xxs)}.ap-date-range-picker__timezone{display:inline-flex;align-items:center;gap:var(--ref-spacing-xxs)}.ap-date-range-picker__timezone-info{display:inline-flex;align-items:center}\n"] }]
|
|
149
|
+
}], propDecorators: { value: [{ type: i0.Input, args: [{ isSignal: true, alias: "value", required: false }] }, { type: i0.Output, args: ["valueChange"] }], presets: [{ type: i0.Input, args: [{ isSignal: true, alias: "presets", required: false }] }], minDate: [{ type: i0.Input, args: [{ isSignal: true, alias: "minDate", required: false }] }], maxDate: [{ type: i0.Input, args: [{ isSignal: true, alias: "maxDate", required: false }] }], maxRangeDays: [{ type: i0.Input, args: [{ isSignal: true, alias: "maxRangeDays", required: false }] }], maxRangeDaysHint: [{ type: i0.Input, args: [{ isSignal: true, alias: "maxRangeDaysHint", required: false }] }], locale: [{ type: i0.Input, args: [{ isSignal: true, alias: "locale", required: false }] }], firstDayOfWeek: [{ type: i0.Input, args: [{ isSignal: true, alias: "firstDayOfWeek", required: false }] }], dateFormat: [{ type: i0.Input, args: [{ isSignal: true, alias: "dateFormat", required: false }] }], placeholder: [{ type: i0.Input, args: [{ isSignal: true, alias: "placeholder", required: false }] }], defaultPosition: [{ type: i0.Input, args: [{ isSignal: true, alias: "defaultPosition", required: false }] }], customRangeLabel: [{ type: i0.Input, args: [{ isSignal: true, alias: "customRangeLabel", required: false }] }], timeZone: [{ type: i0.Input, args: [{ isSignal: true, alias: "timeZone", required: false }] }], timeZoneTooltip: [{ type: i0.Input, args: [{ isSignal: true, alias: "timeZoneTooltip", required: false }] }], disabled: [{ type: i0.Input, args: [{ isSignal: true, alias: "disabled", required: false }] }], closeOnSelect: [{ type: i0.Input, args: [{ isSignal: true, alias: "closeOnSelect", required: false }] }], presetSelected: [{ type: i0.Output, args: ["presetSelected"] }] } });
|
|
150
|
+
|
|
151
|
+
/**
|
|
152
|
+
* Generated bundle index. Do not edit.
|
|
153
|
+
*/
|
|
154
|
+
|
|
155
|
+
export { DateRangePickerComponent, defaultDateRangePickerPresets };
|
|
156
|
+
//# sourceMappingURL=agorapulse-ui-components-date-range-picker.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"agorapulse-ui-components-date-range-picker.mjs","sources":["../../../libs/ui-components/date-range-picker/src/date-range-picker.component.ts","../../../libs/ui-components/date-range-picker/src/date-range-picker.component.html","../../../libs/ui-components/date-range-picker/src/agorapulse-ui-components-date-range-picker.ts"],"sourcesContent":["import { LOCALE_CONFIG, LocaleService } from '@agorapulse/ngx-daterangepicker-material';\nimport {\n DatepickerDropdownComponent,\n DatepickerMode,\n FirstDayOfWeek,\n I18nDatePicker,\n Period,\n RangesConfigPresetType,\n} from '@agorapulse/ui-components/datepicker';\nimport { DropdownTriggerDirective } from '@agorapulse/ui-components/dropdown-base';\nimport { TooltipDirective } from '@agorapulse/ui-components/tooltip';\nimport { apCalendar, apChevronDown, apChevronUp, apClock, apInfo, SymbolComponent, withSymbols } from '@agorapulse/ui-symbol';\nimport { ChangeDetectionStrategy, Component, computed, input, model, output, ViewEncapsulation } from '@angular/core';\nimport dayjs from 'dayjs';\nimport advancedFormat from 'dayjs/plugin/advancedFormat';\nimport timezone from 'dayjs/plugin/timezone';\nimport utc from 'dayjs/plugin/utc';\n\ndayjs.extend(utc);\ndayjs.extend(timezone);\ndayjs.extend(advancedFormat);\n\nexport interface DateRangePickerPreset {\n /** Stable identifier emitted by `presetSelected`, independent of the displayed label. */\n key: string;\n /** The text shown in the preset list. */\n label: string;\n /** The date range this preset selects. */\n range: [dayjs.Dayjs, dayjs.Dayjs];\n}\n\n/** The default preset list (English labels), computed relative to `today` so ranges stay fresh. */\nexport function defaultDateRangePickerPresets(today: dayjs.Dayjs = dayjs()): DateRangePickerPreset[] {\n const yesterday = today.subtract(1, 'day');\n return [\n { key: 'yesterday', label: 'Yesterday', range: [yesterday, yesterday] },\n { key: 'lastWeek', label: 'Last week', range: [today.subtract(7, 'day'), yesterday] },\n { key: 'last30Days', label: 'Last 30 days', range: [today.subtract(30, 'day'), yesterday] },\n {\n key: 'lastMonth',\n label: 'Previous month',\n range: [today.subtract(1, 'month').startOf('month'), today.subtract(1, 'month').endOf('month')],\n },\n { key: 'last90Days', label: 'Last 90 days', range: [today.subtract(90, 'day'), yesterday] },\n { key: 'last12Months', label: 'Last 12 months', range: [today.subtract(1, 'year'), yesterday] },\n { key: 'thisMonth', label: 'This month', range: [yesterday.startOf('month'), yesterday] },\n {\n key: 'lastYear',\n label: 'Previous year',\n range: [today.subtract(1, 'year').startOf('year'), today.subtract(1, 'year').endOf('year')],\n },\n ];\n}\n\n/**\n * A compact date-range selector for toolbars: a trigger chip showing the selected\n * period that opens a dropdown with preset ranges and a dual-month calendar.\n *\n * @example\n * ```html\n * <ap-date-range-picker\n * [(value)]=\"period\"\n * [maxDate]=\"yesterday\"\n * timeZone=\"Europe/Paris\"\n * (presetSelected)=\"onPreset($event)\" />\n * ```\n */\n@Component({\n changeDetection: ChangeDetectionStrategy.OnPush,\n selector: 'ap-date-range-picker',\n templateUrl: './date-range-picker.component.html',\n styleUrls: ['./date-range-picker.component.scss'],\n imports: [DatepickerDropdownComponent, DropdownTriggerDirective, SymbolComponent, TooltipDirective],\n providers: [withSymbols(apCalendar, apChevronDown, apChevronUp, apClock, apInfo), { provide: LOCALE_CONFIG, useValue: {} }, LocaleService],\n host: {\n class: 'ap-date-range-picker',\n },\n // Emit plain, global `.ap-date-range-picker*` classes (no Angular scoping) so the\n // styling stays framework-agnostic and readable/reusable outside Angular.\n encapsulation: ViewEncapsulation.None,\n})\nexport class DateRangePickerComponent {\n /** The selected period. Supports two-way binding via `[(value)]`. */\n readonly value = model<Period>({ startDate: undefined, endDate: undefined });\n /** The preset ranges listed in the dropdown. Defaults to `defaultDateRangePickerPresets()`. */\n readonly presets = input<DateRangePickerPreset[]>(defaultDateRangePickerPresets());\n /** Earliest selectable date. */\n readonly minDate = input<dayjs.Dayjs | undefined>(undefined);\n /** Latest selectable date. */\n readonly maxDate = input<dayjs.Dayjs | undefined>(undefined);\n /** Maximum number of days between the start and the end date. Undefined means no limit. */\n readonly maxRangeDays = input<number | undefined>(undefined);\n /** Caption shown in the panel when `maxRangeDays` is set. Defaults to an English sentence — pass a translated one. */\n readonly maxRangeDaysHint = input<string | undefined>(undefined);\n /** Locale used for the calendar and the trigger label. */\n readonly locale = input('en');\n readonly firstDayOfWeek = input<FirstDayOfWeek>('monday');\n /** dayjs format of the trigger label. */\n readonly dateFormat = input('ll');\n /** Text shown on the trigger while no period is selected. */\n readonly placeholder = input('Select period');\n /** Side the dropdown opens to when space allows. */\n readonly defaultPosition = input<'right' | 'left'>('right');\n /** Label of the \"Custom\" entry in the preset list. */\n readonly customRangeLabel = input('Custom');\n /** IANA time zone name. When set, a chip with the zone's offset is shown next to the trigger. */\n readonly timeZone = input<string | undefined>(undefined);\n /** Tooltip text of the info icon shown next to the time-zone chip. */\n readonly timeZoneTooltip = input<string | undefined>(undefined);\n readonly disabled = input(false);\n /** Close the dropdown once a full period is selected. When false it stays open until backdrop click or Escape. */\n readonly closeOnSelect = input(true);\n /** Emits the `key` of the preset matching the picked period, or 'custom'. */\n readonly presetSelected = output<string>();\n\n protected readonly DatepickerMode = DatepickerMode;\n\n protected readonly rangesConfig = computed<RangesConfigPresetType>(() =>\n Object.fromEntries(this.presets().map(({ label, range }) => [label, range]))\n );\n\n protected readonly i18n = computed<I18nDatePicker>(() => ({\n ranges: {\n yesterday: 'Yesterday',\n lastWeek: 'Last Week',\n last30Days: 'Last 30 days',\n lastMonth: 'Previous month',\n thisMonth: 'This month',\n },\n customRangeLabel: this.customRangeLabel(),\n }));\n\n protected readonly formattedValue = computed(() => {\n const { startDate, endDate } = this.value();\n if (!startDate || !endDate) {\n return '';\n }\n const format = (date: dayjs.Dayjs) => date.locale(this.locale()).format(this.dateFormat());\n return `${format(startDate)} - ${format(endDate)}`;\n });\n\n protected readonly rangeHint = computed(() => {\n const days = this.maxRangeDays();\n return days ? (this.maxRangeDaysHint() ?? `Maximum period: ${days} days`) : undefined;\n });\n\n protected readonly timeZoneOffset = computed(() => {\n const timeZone = this.timeZone();\n return timeZone ? dayjs().tz(timeZone).format('z') : '';\n });\n\n protected onPeriodSelected(period: Period): void {\n this.value.set(period);\n this.presetSelected.emit(this.matchPresetKey(period));\n }\n\n private matchPresetKey({ startDate, endDate }: Period): string {\n const match = this.presets().find(\n ({ range: [start, end] }) => startDate?.isSame(start, 'day') && endDate?.isSame(end, 'day')\n );\n return match?.key ?? 'custom';\n }\n}\n","<button\n type=\"button\"\n class=\"ap-date-range-picker__trigger\"\n aria-haspopup=\"dialog\"\n [attr.aria-expanded]=\"dropdown.isOpen()\"\n [class.ap-date-range-picker__trigger--open]=\"dropdown.isOpen()\"\n [disabled]=\"disabled()\"\n [apDropdownTrigger]=\"dropdown\">\n <ap-symbol\n size=\"sm\"\n symbolId=\"calendar\" />\n @if (formattedValue()) {\n <span class=\"ap-date-range-picker__value\">{{ formattedValue() }}</span>\n } @else {\n <span class=\"ap-date-range-picker__placeholder\">{{ placeholder() }}</span>\n }\n <ap-symbol\n class=\"ap-date-range-picker__chevron\"\n size=\"sm\"\n [symbolId]=\"dropdown.isOpen() ? 'chevron-up' : 'chevron-down'\" />\n</button>\n\n@if (timeZone()) {\n <div\n class=\"ap-date-range-picker__timezone\"\n apTooltipPosition=\"bottom\"\n [apTooltip]=\"timeZone()\">\n <ap-symbol\n size=\"sm\"\n symbolId=\"clock\"\n color=\"grey\" />\n <span class=\"ap-date-range-picker__timezone-offset\">{{ timeZoneOffset() }}</span>\n </div>\n @if (timeZoneTooltip()) {\n <ap-symbol\n class=\"ap-date-range-picker__timezone-info\"\n size=\"sm\"\n symbolId=\"info\"\n color=\"grey-blue\"\n apTooltipPosition=\"bottom\"\n [apTooltip]=\"timeZoneTooltip()\" />\n }\n}\n\n<ap-datepicker-dropdown\n #dropdown\n [mode]=\"DatepickerMode.Range\"\n [closeOnSelect]=\"closeOnSelect()\"\n [dateLimit]=\"maxRangeDays()\"\n [defaultPosition]=\"defaultPosition()\"\n [hint]=\"rangeHint()\"\n [disabled]=\"disabled()\"\n [firstDayOfWeek]=\"firstDayOfWeek()\"\n [i18n]=\"i18n()\"\n [locale]=\"locale()\"\n [maxDate]=\"maxDate()\"\n [minDate]=\"minDate()\"\n [rangesConfig]=\"rangesConfig()\"\n [selectedPeriod]=\"value()\"\n [showCustomRangeLabel]=\"true\"\n [showRanges]=\"true\"\n (periodSelected)=\"onPeriodSelected($event)\" />\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public_api';\n"],"names":[],"mappings":"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"}
|
|
@@ -76,6 +76,9 @@ class DatepickerComponent {
|
|
|
76
76
|
selectedDate = undefined;
|
|
77
77
|
selectedDates = [];
|
|
78
78
|
selectedPeriod = { startDate: undefined, endDate: undefined };
|
|
79
|
+
/** Maximum number of days between the start and the end date in Range mode. Undefined means no limit. */
|
|
80
|
+
dateLimit = input(undefined, /* @ts-ignore */
|
|
81
|
+
...(ngDevMode ? [{ debugName: "dateLimit" }] : /* istanbul ignore next */ []));
|
|
79
82
|
showRanges = false;
|
|
80
83
|
showCustomRangeLabel = input(false, /* @ts-ignore */
|
|
81
84
|
...(ngDevMode ? [{ debugName: "showCustomRangeLabel" }] : /* istanbul ignore next */ []));
|
|
@@ -157,7 +160,7 @@ class DatepickerComponent {
|
|
|
157
160
|
firstDayOfWeekIndex = dayjs.localeData().firstDayOfWeek();
|
|
158
161
|
}
|
|
159
162
|
this.localeConfig = {
|
|
160
|
-
customRangeLabel: 'Custom',
|
|
163
|
+
customRangeLabel: this.i18n.customRangeLabel ?? 'Custom',
|
|
161
164
|
daysOfWeek: dayjs.weekdaysMin(),
|
|
162
165
|
monthNames: dayjs.months(),
|
|
163
166
|
firstDay: firstDayOfWeekIndex,
|
|
@@ -255,11 +258,11 @@ class DatepickerComponent {
|
|
|
255
258
|
: this.doubleCalendarWidth;
|
|
256
259
|
}
|
|
257
260
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.5", ngImport: i0, type: DatepickerComponent, deps: [{ token: i0.ChangeDetectorRef }, { token: i1.SymbolRegistry }], target: i0.ɵɵFactoryTarget.Component });
|
|
258
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "22.0.5", type: DatepickerComponent, isStandalone: true, selector: "ap-datepicker", inputs: { firstDayOfWeek: { classPropertyName: "firstDayOfWeek", publicName: "firstDayOfWeek", isSignal: false, isRequired: false, transformFunction: null }, i18n: { classPropertyName: "i18n", publicName: "i18n", isSignal: false, isRequired: false, transformFunction: null }, locale: { classPropertyName: "locale", publicName: "locale", isSignal: false, isRequired: false, transformFunction: null }, maxDate: { classPropertyName: "maxDate", publicName: "maxDate", isSignal: false, isRequired: false, transformFunction: null }, minDate: { classPropertyName: "minDate", publicName: "minDate", isSignal: false, isRequired: false, transformFunction: null }, mode: { classPropertyName: "mode", publicName: "mode", isSignal: false, isRequired: true, transformFunction: null }, selectedDate: { classPropertyName: "selectedDate", publicName: "selectedDate", isSignal: false, isRequired: false, transformFunction: null }, selectedDates: { classPropertyName: "selectedDates", publicName: "selectedDates", isSignal: false, isRequired: false, transformFunction: null }, selectedPeriod: { classPropertyName: "selectedPeriod", publicName: "selectedPeriod", isSignal: false, isRequired: false, transformFunction: null }, showRanges: { classPropertyName: "showRanges", publicName: "showRanges", isSignal: false, isRequired: false, transformFunction: null }, showCustomRangeLabel: { classPropertyName: "showCustomRangeLabel", publicName: "showCustomRangeLabel", isSignal: true, isRequired: false, transformFunction: null }, rangesConfig: { classPropertyName: "rangesConfig", publicName: "rangesConfig", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { dateSelected: "dateSelected", periodSelected: "periodSelected" }, viewQueries: [{ propertyName: "datepickerRef", first: true, predicate: ["datepickerRef"], descendants: true }], usesOnChanges: true, ngImport: i0, template: "<div\n class=\"custom-calendar\"\n [style.width]=\"width + 'px'\">\n <div class=\"custom-header\">\n @if (datepickerRef.leftCalendar.month) {\n <div class=\"month-header\">\n <div\n class=\"month-arrow-button\"\n aria-label=\"Previous month\"\n tabindex=\"0\"\n (click)=\"onPreviousMonth()\">\n <ap-symbol\n symbolId=\"arrow-left\"\n [color]=\"'#858FA1'\"\n [size]=\"14\" />\n </div>\n <div class=\"month-label\">\n {{ datepickerRef.leftCalendar.month.locale(locale).format('MMMM YYYY') }}\n </div>\n </div>\n }\n @if (datepickerRef.rightCalendar.month) {\n <div class=\"month-header\">\n <div class=\"month-label\">\n {{ datepickerRef.rightCalendar.month.locale(locale).format('MMMM YYYY') }}\n </div>\n <div\n class=\"month-arrow-button\"\n aria-label=\"Next month\"\n tabindex=\"-1\"\n (click)=\"onNextMonth()\">\n <ap-symbol\n symbolId=\"arrow-right\"\n [color]=\"'#858FA1'\"\n [size]=\"14\" />\n </div>\n </div>\n }\n @if (showRanges && mode === DatepickerMode.Range) {\n <div class=\"header-filler\"></div>\n }\n </div>\n <ngx-daterangepicker-material\n #datepickerRef\n [class.hide-ranges]=\"!showRanges\"\n [alwaysShowCalendars]=\"true\"\n [autoApply]=\"true\"\n [customRangeDirection]=\"true\"\n [linkedCalendars]=\"true\"\n [isCustomDate]=\"$any(isCustomDate)\"\n [locale]=\"localeConfig\"\n [maxDate]=\"maxDateStr\"\n [minDate]=\"minDateStr\"\n [ranges]=\"showRanges && mode === DatepickerMode.Range ? ranges : $any(null)\"\n [showCustomRangeLabel]=\"showCustomRangeLabel()\"\n (datesUpdated)=\"onDatesUpdated($event)\"\n (startDateChanged)=\"onStartDateChanged($event)\" />\n</div>\n", styles: ["[color=facebook]{color:#0866ff}[bgcolor=facebook],[hcolor=facebook]:hover{background-color:#0866ff}[border=facebook]{border:1px solid #0866ff}[color=google]{color:#4e85e8}[bgcolor=google],[hcolor=google]:hover{background-color:#4e85e8}[border=google]{border:1px solid #4e85e8}[color=instagram]{color:#e1306c}[bgcolor=instagram],[hcolor=instagram]:hover{background-color:#e1306c}[border=instagram]{border:1px solid #e1306c}[color=instagrammagenta]{color:#c13584}[bgcolor=instagrammagenta],[hcolor=instagrammagenta]:hover{background-color:#c13584}[border=instagrammagenta]{border:1px solid #c13584}[color=instagramblue]{color:#5851db}[bgcolor=instagramblue],[hcolor=instagramblue]:hover{background-color:#5851db}[border=instagramblue]{border:1px solid #5851db}[color=instagrampurple]{color:#833ab4}[bgcolor=instagrampurple],[hcolor=instagrampurple]:hover{background-color:#833ab4}[border=instagrampurple]{border:1px solid #833ab4}[color=instagramorange]{color:#f56040}[bgcolor=instagramorange],[hcolor=instagramorange]:hover{background-color:#f56040}[border=instagramorange]{border:1px solid #f56040}[color=instagramyellow]{color:#ffdc80}[bgcolor=instagramyellow],[hcolor=instagramyellow]:hover{background-color:#ffdc80}[border=instagramyellow]{border:1px solid #ffdc80}[color=linkedin]{color:#2c67bc}[bgcolor=linkedin],[hcolor=linkedin]:hover{background-color:#2c67bc}[border=linkedin]{border:1px solid #2c67bc}[color=twitter]{color:#55acee}[bgcolor=twitter],[hcolor=twitter]:hover{background-color:#55acee}[border=twitter]{border:1px solid #55acee}[color=youtube]{color:red}[bgcolor=youtube],[hcolor=youtube]:hover{background-color:red}[border=youtube]{border:1px solid #ff0000}[color=reddit]{color:#ff4500}[bgcolor=reddit],[hcolor=reddit]:hover{background-color:#ff4500}[border=reddit]{border:1px solid #ff4500}[color=blood-orange]{color:#ff4d00}[bgcolor=blood-orange],[hcolor=blood-orange]:hover{background-color:#ff4d00}[border=blood-orange]{border:1px solid #ff4d00}[color=pinkish-orange]{color:#ff7b49}[bgcolor=pinkish-orange],[hcolor=pinkish-orange]:hover{background-color:#ff7b49}[border=pinkish-orange]{border:1px solid #ff7b49}[color=charcoal-grey]{color:#2a2f34}[bgcolor=charcoal-grey],[hcolor=charcoal-grey]:hover{background-color:#2a2f34}[border=charcoal-grey]{border:1px solid #2a2f34}[color=azure]{color:#00aeef}[bgcolor=azure],[hcolor=azure]:hover{background-color:#00aeef}[border=azure]{border:1px solid #00aeef}[color=light-azure]{color:#eaf5fd}[bgcolor=light-azure],[hcolor=light-azure]:hover{background-color:#eaf5fd}[border=light-azure]{border:1px solid #eaf5fd}[color=blue-grey]{color:#8d98a9}[bgcolor=blue-grey],[hcolor=blue-grey]:hover{background-color:#8d98a9}[border=blue-grey]{border:1px solid #8d98a9}[color=silver]{color:#ced0da}[bgcolor=silver],[hcolor=silver]:hover{background-color:#ced0da}[border=silver]{border:1px solid #ced0da}[color=pale-grey]{color:#dfe3e9}[bgcolor=pale-grey],[hcolor=pale-grey]:hover{background-color:#dfe3e9}[border=pale-grey]{border:1px solid #dfe3e9}[color=grey-white]{color:#f5f7f8}[bgcolor=grey-white],[hcolor=grey-white]:hover{background-color:#f5f7f8}[border=grey-white]{border:1px solid #f5f7f8}[color=cool-grey]{color:#b4bbc6}[bgcolor=cool-grey],[hcolor=cool-grey]:hover{background-color:#b4bbc6}[border=cool-grey]{border:1px solid #b4bbc6}[color=black]{color:#344563}[bgcolor=black],[hcolor=black]:hover{background-color:#344563}[border=black]{border:1px solid #344563}[color=grey-blue]{color:#68768c}[bgcolor=grey-blue],[hcolor=grey-blue]:hover{background-color:#68768c}[border=grey-blue]{border:1px solid #68768c}[color=strawberry]{color:#f4282d}[bgcolor=strawberry],[hcolor=strawberry]:hover{background-color:#f4282d}[border=strawberry]{border:1px solid #f4282d}[color=light-strawberry]{color:#f8eded}[bgcolor=light-strawberry],[hcolor=light-strawberry]:hover{background-color:#f8eded}[border=light-strawberry]{border:1px solid #f8eded}[color=white]{color:#fff}[bgcolor=white],[hcolor=white]:hover{background-color:#fff}[border=white]{border:1px solid #ffffff}[color=cool-green]{color:#33c15d}[bgcolor=cool-green],[hcolor=cool-green]:hover{background-color:#33c15d}[border=cool-green]{border:1px solid #33c15d}[color=light-green]{color:#ebfaef}[bgcolor=light-green],[hcolor=light-green]:hover{background-color:#ebfaef}[border=light-green]{border:1px solid #ebfaef}[color=transparent]{color:transparent}[bgcolor=transparent],[hcolor=transparent]:hover{background-color:transparent}[border=transparent]{border:1px solid transparent}[color=c0]{color:#a566a5}[bgcolor=c0],[hcolor=c0]:hover{background-color:#a566a5}[border=c0]{border:1px solid #a566a5}[color=c1]{color:#c7ab82}[bgcolor=c1],[hcolor=c1]:hover{background-color:#c7ab82}[border=c1]{border:1px solid #c7ab82}[color=c2]{color:#f2713c}[bgcolor=c2],[hcolor=c2]:hover{background-color:#f2713c}[border=c2]{border:1px solid #f2713c}[color=c3]{color:#ffd006}[bgcolor=c3],[hcolor=c3]:hover{background-color:#ffd006}[border=c3]{border:1px solid #ffd006}[color=c4]{color:#94c5aa}[bgcolor=c4],[hcolor=c4]:hover{background-color:#94c5aa}[border=c4]{border:1px solid #94c5aa}[color=c5]{color:#2a9d8f}[bgcolor=c5],[hcolor=c5]:hover{background-color:#2a9d8f}[border=c5]{border:1px solid #2a9d8f}[color=c6]{color:#78acd8}[bgcolor=c6],[hcolor=c6]:hover{background-color:#78acd8}[border=c6]{border:1px solid #78acd8}[color=c7]{color:#525a9e}[bgcolor=c7],[hcolor=c7]:hover{background-color:#525a9e}[border=c7]{border:1px solid #525a9e}[color=c8]{color:#6a2459}[bgcolor=c8],[hcolor=c8]:hover{background-color:#6a2459}[border=c8]{border:1px solid #6a2459}[color=c9]{color:#74729e}[bgcolor=c9],[hcolor=c9]:hover{background-color:#74729e}[border=c9]{border:1px solid #74729e}::ng-deep .custom-calendar{background-color:#fff;display:flex;flex-direction:column;justify-content:center;border-radius:4px;height:fit-content}::ng-deep .custom-calendar .custom-header{display:flex;align-items:center;justify-content:center;color:#344563;font-size:12px;font-weight:700;height:55px;text-transform:capitalize}::ng-deep .custom-calendar .custom-header .month-header{height:30px;width:255px;display:flex;align-items:center}::ng-deep .custom-calendar .custom-header .month-header .month-arrow-button{padding:10px;border-radius:2em;cursor:pointer}::ng-deep .custom-calendar .custom-header .month-header .month-arrow-button:hover{background-color:#eaecef}::ng-deep .custom-calendar .custom-header .month-header .month-label{flex:1;text-align:center}::ng-deep .custom-calendar .custom-header .header-filler{width:150px}::ng-deep .custom-calendar .md-drppicker{font-family:Averta;width:unset;height:219px;padding:0;margin:0 0 16px;box-shadow:none!important;z-index:0!important}::ng-deep .custom-calendar .md-drppicker .ranges{border-left:1px solid #eaecef;float:right!important;max-width:150px;height:100%}::ng-deep .custom-calendar .md-drppicker .ranges ul li{margin-left:12px}::ng-deep .custom-calendar .md-drppicker .ranges ul li:hover{background:unset}::ng-deep .custom-calendar .md-drppicker .ranges ul li button{font-family:Averta;font-size:14px;border-radius:4px;color:#5d6a82}::ng-deep .custom-calendar .md-drppicker .ranges ul li button:hover:not(.active):not(:disabled){color:#178dfe;background:#e8f4ff}::ng-deep .custom-calendar .md-drppicker .ranges ul li button.active{color:#fff;background:#178dfe}::ng-deep .custom-calendar .md-drppicker .ranges ul li button.active:hover{background:#3a9efe}::ng-deep .custom-calendar .md-drppicker .ranges ul li button:disabled{color:#d6dae0;background:none;cursor:default}::ng-deep .custom-calendar .md-drppicker .month{cursor:auto}::ng-deep .custom-calendar .md-drppicker .calendar{margin:0!important;padding:0 16px}::ng-deep .custom-calendar .md-drppicker .calendar.left{border-right:1px solid #eaecef}::ng-deep .custom-calendar .md-drppicker .calendar-table{width:231px;padding:0!important;border:none!important}::ng-deep .custom-calendar .md-drppicker .calendar-table table{border-spacing:0 5px!important;height:184px}::ng-deep .custom-calendar .md-drppicker .calendar-table table td,::ng-deep .custom-calendar .md-drppicker .calendar-table table th{height:unset;border:none}::ng-deep .custom-calendar .md-drppicker .calendar-table table thead{line-height:10px}::ng-deep .custom-calendar .md-drppicker .calendar-table table thead tr:first-child{display:none}::ng-deep .custom-calendar .md-drppicker .calendar-table table thead tr th{color:#aeb5c1;font-weight:700;font-size:12px;text-transform:capitalize;padding-bottom:10px}::ng-deep .custom-calendar .md-drppicker .calendar-table table thead tr th.month,::ng-deep .custom-calendar .md-drppicker .calendar-table table thead tr th.prev,::ng-deep .custom-calendar .md-drppicker .calendar-table table thead tr th.next{color:#344563}::ng-deep .custom-calendar .md-drppicker .calendar-table table thead tr th.prev,::ng-deep .custom-calendar .md-drppicker .calendar-table table thead tr th.next{font-size:16px}::ng-deep .custom-calendar .md-drppicker .calendar-table table tbody tr td:last-child.in-range{border-radius:0 2em 2em 0}::ng-deep .custom-calendar .md-drppicker .calendar-table table tbody tr td:first-child.in-range{border-radius:2em 0 0 2em}::ng-deep .custom-calendar .md-drppicker .calendar-table table tbody td{opacity:1!important;border-spacing:0;height:27px}::ng-deep .custom-calendar .md-drppicker .calendar-table table tbody td span{width:27px!important;height:27px!important;border-radius:50%;display:flex;align-items:center;justify-content:center;margin-left:3px}::ng-deep .custom-calendar .md-drppicker .calendar-table table tbody td.in-range:not(.off):not(.force-inactive){background-color:#e8f4ff!important;color:#344563!important}::ng-deep .custom-calendar .md-drppicker .calendar-table table tbody td.active.start-date:not(.end-date).range-picker-mode:not(.off){border-radius:2em 0 0 2em;background-color:#178dfe!important;color:#fff!important}::ng-deep .custom-calendar .md-drppicker .calendar-table table tbody td.active.end-date:not(.start-date).range-picker-mode:not(.off){border-radius:0 2em 2em 0;background-color:#178dfe!important;color:#fff!important}::ng-deep .custom-calendar .md-drppicker .calendar-table table tbody td.active:not(.force-inactive).start-date.end-date.range-picker-mode:not(.off){background-color:unset!important}::ng-deep .custom-calendar .md-drppicker .calendar-table table tbody td.active:not(.force-inactive).start-date.end-date.range-picker-mode:not(.off) span{border-radius:2em;background-color:#178dfe!important;color:#fff!important}::ng-deep .custom-calendar .md-drppicker .calendar-table table tbody td.available:not(.start-date):not(.end-date):hover span,::ng-deep .custom-calendar .md-drppicker .calendar-table table tbody td.available.today.force-inactive:hover span{background-color:#d1e8ff!important}::ng-deep .custom-calendar .md-drppicker .calendar-table table tbody td.available:not(.start-date):not(.end-date):hover:not(.in-range),::ng-deep .custom-calendar .md-drppicker .calendar-table table tbody td.available.today.force-inactive:hover:not(.in-range){background-color:unset!important}::ng-deep .custom-calendar .md-drppicker .calendar-table table tbody td.available.in-range:not(.start-date):not(.end-date):hover{border-radius:unset!important}::ng-deep .custom-calendar .md-drppicker .calendar-table table tbody td.off{background-color:unset!important;color:#d6dae0!important}::ng-deep .custom-calendar .md-drppicker .calendar-table table tbody td.active:not(.off):not(.range-picker-mode):not(.force-inactive),::ng-deep .custom-calendar .md-drppicker .calendar-table table tbody td.active:hover:not(.off):not(.range-picker-mode){background-color:unset!important}::ng-deep .custom-calendar .md-drppicker .calendar-table table tbody td.active:not(.off):not(.range-picker-mode):not(.force-inactive) span,::ng-deep .custom-calendar .md-drppicker .calendar-table table tbody td.active:hover:not(.off):not(.range-picker-mode) span{background-color:#178dfe!important;color:#fff!important}::ng-deep .custom-calendar .md-drppicker .calendar-table table tbody td.force-inactive{background-color:unset!important;color:#5d6a82}::ng-deep .custom-calendar .md-drppicker .calendar-table table tbody td.today:not(.off) span{border:1px solid #178dfe;color:#5d6a82;height:25px!important;width:25px!important}::ng-deep .custom-calendar .md-drppicker .calendar-table table tbody td.today:not(.off).start-date:not(.force-inactive) span,::ng-deep .custom-calendar .md-drppicker .calendar-table table tbody td.today:not(.off).end-date:not(.force-inactive) span{color:#fff}.hide-ranges ::ng-deep .ranges{display:none}\n"], dependencies: [{ kind: "component", type: SymbolComponent, selector: "ap-symbol", inputs: ["symbolId", "color", "size"], outputs: ["sizeChange"] }, { kind: "ngmodule", type: NgxDaterangepickerMd }, { kind: "component", type: i2.DaterangepickerComponent, selector: "ngx-daterangepicker-material", inputs: ["startDate", "endDate", "dateLimit", "autoApply", "singleDatePicker", "showDropdowns", "showWeekNumbers", "showISOWeekNumbers", "linkedCalendars", "autoUpdateInput", "alwaysShowCalendars", "maxSpan", "lockStartDate", "timePicker", "timePicker24Hour", "timePickerIncrement", "timePickerSeconds", "showClearButton", "firstMonthDayClass", "lastMonthDayClass", "emptyWeekRowClass", "emptyWeekColumnClass", "firstDayOfNextMonthClass", "lastDayOfPreviousMonthClass", "showCustomRangeLabel", "showCancel", "keepCalendarOpeningWithRange", "showRangeLabelOnInput", "customRangeDirection", "drops", "opens", "closeOnAutoApply", "minDate", "locale", "ranges", "maxDate", "isInvalidDate", "isCustomDate", "isTooltipDate"], outputs: ["choosedDate", "rangeClicked", "datesUpdated", "startDateChanged", "endDateChanged", "cancelClicked", "clearClicked"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
261
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "22.0.5", type: DatepickerComponent, isStandalone: true, selector: "ap-datepicker", inputs: { firstDayOfWeek: { classPropertyName: "firstDayOfWeek", publicName: "firstDayOfWeek", isSignal: false, isRequired: false, transformFunction: null }, i18n: { classPropertyName: "i18n", publicName: "i18n", isSignal: false, isRequired: false, transformFunction: null }, locale: { classPropertyName: "locale", publicName: "locale", isSignal: false, isRequired: false, transformFunction: null }, maxDate: { classPropertyName: "maxDate", publicName: "maxDate", isSignal: false, isRequired: false, transformFunction: null }, minDate: { classPropertyName: "minDate", publicName: "minDate", isSignal: false, isRequired: false, transformFunction: null }, mode: { classPropertyName: "mode", publicName: "mode", isSignal: false, isRequired: true, transformFunction: null }, selectedDate: { classPropertyName: "selectedDate", publicName: "selectedDate", isSignal: false, isRequired: false, transformFunction: null }, selectedDates: { classPropertyName: "selectedDates", publicName: "selectedDates", isSignal: false, isRequired: false, transformFunction: null }, selectedPeriod: { classPropertyName: "selectedPeriod", publicName: "selectedPeriod", isSignal: false, isRequired: false, transformFunction: null }, dateLimit: { classPropertyName: "dateLimit", publicName: "dateLimit", isSignal: true, isRequired: false, transformFunction: null }, showRanges: { classPropertyName: "showRanges", publicName: "showRanges", isSignal: false, isRequired: false, transformFunction: null }, showCustomRangeLabel: { classPropertyName: "showCustomRangeLabel", publicName: "showCustomRangeLabel", isSignal: true, isRequired: false, transformFunction: null }, rangesConfig: { classPropertyName: "rangesConfig", publicName: "rangesConfig", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { dateSelected: "dateSelected", periodSelected: "periodSelected" }, viewQueries: [{ propertyName: "datepickerRef", first: true, predicate: ["datepickerRef"], descendants: true }], usesOnChanges: true, ngImport: i0, template: "<div\n class=\"custom-calendar\"\n [style.width]=\"width + 'px'\">\n <div class=\"custom-header\">\n @if (datepickerRef.leftCalendar.month) {\n <div class=\"month-header\">\n <div\n class=\"month-arrow-button\"\n aria-label=\"Previous month\"\n tabindex=\"0\"\n (click)=\"onPreviousMonth()\">\n <ap-symbol\n symbolId=\"arrow-left\"\n [color]=\"'#858FA1'\"\n [size]=\"14\" />\n </div>\n <div class=\"month-label\">\n {{ datepickerRef.leftCalendar.month.locale(locale).format('MMMM YYYY') }}\n </div>\n </div>\n }\n @if (datepickerRef.rightCalendar.month) {\n <div class=\"month-header\">\n <div class=\"month-label\">\n {{ datepickerRef.rightCalendar.month.locale(locale).format('MMMM YYYY') }}\n </div>\n <div\n class=\"month-arrow-button\"\n aria-label=\"Next month\"\n tabindex=\"-1\"\n (click)=\"onNextMonth()\">\n <ap-symbol\n symbolId=\"arrow-right\"\n [color]=\"'#858FA1'\"\n [size]=\"14\" />\n </div>\n </div>\n }\n @if (showRanges && mode === DatepickerMode.Range) {\n <div class=\"header-filler\"></div>\n }\n </div>\n <ngx-daterangepicker-material\n #datepickerRef\n [class.hide-ranges]=\"!showRanges\"\n [alwaysShowCalendars]=\"true\"\n [autoApply]=\"true\"\n [customRangeDirection]=\"true\"\n [dateLimit]=\"dateLimit() ?? 0\"\n [linkedCalendars]=\"true\"\n [isCustomDate]=\"$any(isCustomDate)\"\n [locale]=\"localeConfig\"\n [maxDate]=\"maxDateStr\"\n [minDate]=\"minDateStr\"\n [ranges]=\"showRanges && mode === DatepickerMode.Range ? ranges : $any(null)\"\n [showCustomRangeLabel]=\"showCustomRangeLabel()\"\n (datesUpdated)=\"onDatesUpdated($event)\"\n (startDateChanged)=\"onStartDateChanged($event)\" />\n</div>\n", styles: ["[color=facebook]{color:#0866ff}[bgcolor=facebook],[hcolor=facebook]:hover{background-color:#0866ff}[border=facebook]{border:1px solid #0866ff}[color=google]{color:#4e85e8}[bgcolor=google],[hcolor=google]:hover{background-color:#4e85e8}[border=google]{border:1px solid #4e85e8}[color=instagram]{color:#e1306c}[bgcolor=instagram],[hcolor=instagram]:hover{background-color:#e1306c}[border=instagram]{border:1px solid #e1306c}[color=instagrammagenta]{color:#c13584}[bgcolor=instagrammagenta],[hcolor=instagrammagenta]:hover{background-color:#c13584}[border=instagrammagenta]{border:1px solid #c13584}[color=instagramblue]{color:#5851db}[bgcolor=instagramblue],[hcolor=instagramblue]:hover{background-color:#5851db}[border=instagramblue]{border:1px solid #5851db}[color=instagrampurple]{color:#833ab4}[bgcolor=instagrampurple],[hcolor=instagrampurple]:hover{background-color:#833ab4}[border=instagrampurple]{border:1px solid #833ab4}[color=instagramorange]{color:#f56040}[bgcolor=instagramorange],[hcolor=instagramorange]:hover{background-color:#f56040}[border=instagramorange]{border:1px solid #f56040}[color=instagramyellow]{color:#ffdc80}[bgcolor=instagramyellow],[hcolor=instagramyellow]:hover{background-color:#ffdc80}[border=instagramyellow]{border:1px solid #ffdc80}[color=linkedin]{color:#2c67bc}[bgcolor=linkedin],[hcolor=linkedin]:hover{background-color:#2c67bc}[border=linkedin]{border:1px solid #2c67bc}[color=twitter]{color:#55acee}[bgcolor=twitter],[hcolor=twitter]:hover{background-color:#55acee}[border=twitter]{border:1px solid #55acee}[color=youtube]{color:red}[bgcolor=youtube],[hcolor=youtube]:hover{background-color:red}[border=youtube]{border:1px solid #ff0000}[color=reddit]{color:#ff4500}[bgcolor=reddit],[hcolor=reddit]:hover{background-color:#ff4500}[border=reddit]{border:1px solid #ff4500}[color=blood-orange]{color:#ff4d00}[bgcolor=blood-orange],[hcolor=blood-orange]:hover{background-color:#ff4d00}[border=blood-orange]{border:1px solid #ff4d00}[color=pinkish-orange]{color:#ff7b49}[bgcolor=pinkish-orange],[hcolor=pinkish-orange]:hover{background-color:#ff7b49}[border=pinkish-orange]{border:1px solid #ff7b49}[color=charcoal-grey]{color:#2a2f34}[bgcolor=charcoal-grey],[hcolor=charcoal-grey]:hover{background-color:#2a2f34}[border=charcoal-grey]{border:1px solid #2a2f34}[color=azure]{color:#00aeef}[bgcolor=azure],[hcolor=azure]:hover{background-color:#00aeef}[border=azure]{border:1px solid #00aeef}[color=light-azure]{color:#eaf5fd}[bgcolor=light-azure],[hcolor=light-azure]:hover{background-color:#eaf5fd}[border=light-azure]{border:1px solid #eaf5fd}[color=blue-grey]{color:#8d98a9}[bgcolor=blue-grey],[hcolor=blue-grey]:hover{background-color:#8d98a9}[border=blue-grey]{border:1px solid #8d98a9}[color=silver]{color:#ced0da}[bgcolor=silver],[hcolor=silver]:hover{background-color:#ced0da}[border=silver]{border:1px solid #ced0da}[color=pale-grey]{color:#dfe3e9}[bgcolor=pale-grey],[hcolor=pale-grey]:hover{background-color:#dfe3e9}[border=pale-grey]{border:1px solid #dfe3e9}[color=grey-white]{color:#f5f7f8}[bgcolor=grey-white],[hcolor=grey-white]:hover{background-color:#f5f7f8}[border=grey-white]{border:1px solid #f5f7f8}[color=cool-grey]{color:#b4bbc6}[bgcolor=cool-grey],[hcolor=cool-grey]:hover{background-color:#b4bbc6}[border=cool-grey]{border:1px solid #b4bbc6}[color=black]{color:#344563}[bgcolor=black],[hcolor=black]:hover{background-color:#344563}[border=black]{border:1px solid #344563}[color=grey-blue]{color:#68768c}[bgcolor=grey-blue],[hcolor=grey-blue]:hover{background-color:#68768c}[border=grey-blue]{border:1px solid #68768c}[color=strawberry]{color:#f4282d}[bgcolor=strawberry],[hcolor=strawberry]:hover{background-color:#f4282d}[border=strawberry]{border:1px solid #f4282d}[color=light-strawberry]{color:#f8eded}[bgcolor=light-strawberry],[hcolor=light-strawberry]:hover{background-color:#f8eded}[border=light-strawberry]{border:1px solid #f8eded}[color=white]{color:#fff}[bgcolor=white],[hcolor=white]:hover{background-color:#fff}[border=white]{border:1px solid #ffffff}[color=cool-green]{color:#33c15d}[bgcolor=cool-green],[hcolor=cool-green]:hover{background-color:#33c15d}[border=cool-green]{border:1px solid #33c15d}[color=light-green]{color:#ebfaef}[bgcolor=light-green],[hcolor=light-green]:hover{background-color:#ebfaef}[border=light-green]{border:1px solid #ebfaef}[color=transparent]{color:transparent}[bgcolor=transparent],[hcolor=transparent]:hover{background-color:transparent}[border=transparent]{border:1px solid transparent}[color=c0]{color:#a566a5}[bgcolor=c0],[hcolor=c0]:hover{background-color:#a566a5}[border=c0]{border:1px solid #a566a5}[color=c1]{color:#c7ab82}[bgcolor=c1],[hcolor=c1]:hover{background-color:#c7ab82}[border=c1]{border:1px solid #c7ab82}[color=c2]{color:#f2713c}[bgcolor=c2],[hcolor=c2]:hover{background-color:#f2713c}[border=c2]{border:1px solid #f2713c}[color=c3]{color:#ffd006}[bgcolor=c3],[hcolor=c3]:hover{background-color:#ffd006}[border=c3]{border:1px solid #ffd006}[color=c4]{color:#94c5aa}[bgcolor=c4],[hcolor=c4]:hover{background-color:#94c5aa}[border=c4]{border:1px solid #94c5aa}[color=c5]{color:#2a9d8f}[bgcolor=c5],[hcolor=c5]:hover{background-color:#2a9d8f}[border=c5]{border:1px solid #2a9d8f}[color=c6]{color:#78acd8}[bgcolor=c6],[hcolor=c6]:hover{background-color:#78acd8}[border=c6]{border:1px solid #78acd8}[color=c7]{color:#525a9e}[bgcolor=c7],[hcolor=c7]:hover{background-color:#525a9e}[border=c7]{border:1px solid #525a9e}[color=c8]{color:#6a2459}[bgcolor=c8],[hcolor=c8]:hover{background-color:#6a2459}[border=c8]{border:1px solid #6a2459}[color=c9]{color:#74729e}[bgcolor=c9],[hcolor=c9]:hover{background-color:#74729e}[border=c9]{border:1px solid #74729e}::ng-deep .custom-calendar{background-color:#fff;display:flex;flex-direction:column;justify-content:center;border-radius:4px;height:fit-content}::ng-deep .custom-calendar .custom-header{display:flex;align-items:center;justify-content:center;color:#344563;font-size:12px;font-weight:700;height:55px;text-transform:capitalize}::ng-deep .custom-calendar .custom-header .month-header{height:30px;width:255px;display:flex;align-items:center}::ng-deep .custom-calendar .custom-header .month-header .month-arrow-button{padding:10px;border-radius:2em;cursor:pointer}::ng-deep .custom-calendar .custom-header .month-header .month-arrow-button:hover{background-color:#eaecef}::ng-deep .custom-calendar .custom-header .month-header .month-label{flex:1;text-align:center}::ng-deep .custom-calendar .custom-header .header-filler{width:150px}::ng-deep .custom-calendar .md-drppicker{font-family:Averta;width:unset;height:219px;padding:0;margin:0 0 16px;box-shadow:none!important;z-index:0!important}::ng-deep .custom-calendar .md-drppicker .ranges{border-left:1px solid #eaecef;float:right!important;max-width:150px;height:100%;overflow-y:auto}::ng-deep .custom-calendar .md-drppicker .ranges ul li{margin-left:12px}::ng-deep .custom-calendar .md-drppicker .ranges ul li:hover{background:unset}::ng-deep .custom-calendar .md-drppicker .ranges ul li button{font-family:Averta;font-size:14px;border-radius:4px;color:#5d6a82}::ng-deep .custom-calendar .md-drppicker .ranges ul li button:hover:not(.active):not(:disabled){color:#178dfe;background:#e8f4ff}::ng-deep .custom-calendar .md-drppicker .ranges ul li button.active{color:#fff;background:#178dfe}::ng-deep .custom-calendar .md-drppicker .ranges ul li button.active:hover{background:#3a9efe}::ng-deep .custom-calendar .md-drppicker .ranges ul li button:disabled{color:#d6dae0;background:none;cursor:default}::ng-deep .custom-calendar .md-drppicker .month{cursor:auto}::ng-deep .custom-calendar .md-drppicker .calendar{margin:0!important;padding:0 16px}::ng-deep .custom-calendar .md-drppicker .calendar.left{border-right:1px solid #eaecef}::ng-deep .custom-calendar .md-drppicker .calendar-table{width:231px;padding:0!important;border:none!important}::ng-deep .custom-calendar .md-drppicker .calendar-table table{border-spacing:0 5px!important;height:184px}::ng-deep .custom-calendar .md-drppicker .calendar-table table td,::ng-deep .custom-calendar .md-drppicker .calendar-table table th{height:unset;border:none}::ng-deep .custom-calendar .md-drppicker .calendar-table table thead{line-height:10px}::ng-deep .custom-calendar .md-drppicker .calendar-table table thead tr:first-child{display:none}::ng-deep .custom-calendar .md-drppicker .calendar-table table thead tr th{color:#aeb5c1;font-weight:700;font-size:12px;text-transform:capitalize;padding-bottom:10px}::ng-deep .custom-calendar .md-drppicker .calendar-table table thead tr th.month,::ng-deep .custom-calendar .md-drppicker .calendar-table table thead tr th.prev,::ng-deep .custom-calendar .md-drppicker .calendar-table table thead tr th.next{color:#344563}::ng-deep .custom-calendar .md-drppicker .calendar-table table thead tr th.prev,::ng-deep .custom-calendar .md-drppicker .calendar-table table thead tr th.next{font-size:16px}::ng-deep .custom-calendar .md-drppicker .calendar-table table tbody tr td:last-child.in-range{border-radius:0 2em 2em 0}::ng-deep .custom-calendar .md-drppicker .calendar-table table tbody tr td:first-child.in-range{border-radius:2em 0 0 2em}::ng-deep .custom-calendar .md-drppicker .calendar-table table tbody td{opacity:1!important;border-spacing:0;height:27px}::ng-deep .custom-calendar .md-drppicker .calendar-table table tbody td span{width:27px!important;height:27px!important;border-radius:50%;display:flex;align-items:center;justify-content:center;margin-left:3px}::ng-deep .custom-calendar .md-drppicker .calendar-table table tbody td.in-range:not(.off):not(.force-inactive){background-color:#e8f4ff!important;color:#344563!important}::ng-deep .custom-calendar .md-drppicker .calendar-table table tbody td.active.start-date:not(.end-date).range-picker-mode:not(.off){border-radius:2em 0 0 2em;background-color:#178dfe!important;color:#fff!important}::ng-deep .custom-calendar .md-drppicker .calendar-table table tbody td.active.end-date:not(.start-date).range-picker-mode:not(.off){border-radius:0 2em 2em 0;background-color:#178dfe!important;color:#fff!important}::ng-deep .custom-calendar .md-drppicker .calendar-table table tbody td.active:not(.force-inactive).start-date.end-date.range-picker-mode:not(.off){background-color:unset!important}::ng-deep .custom-calendar .md-drppicker .calendar-table table tbody td.active:not(.force-inactive).start-date.end-date.range-picker-mode:not(.off) span{border-radius:2em;background-color:#178dfe!important;color:#fff!important}::ng-deep .custom-calendar .md-drppicker .calendar-table table tbody td.available:not(.start-date):not(.end-date):hover span,::ng-deep .custom-calendar .md-drppicker .calendar-table table tbody td.available.today.force-inactive:hover span{background-color:#d1e8ff!important}::ng-deep .custom-calendar .md-drppicker .calendar-table table tbody td.available:not(.start-date):not(.end-date):hover:not(.in-range),::ng-deep .custom-calendar .md-drppicker .calendar-table table tbody td.available.today.force-inactive:hover:not(.in-range){background-color:unset!important}::ng-deep .custom-calendar .md-drppicker .calendar-table table tbody td.available.in-range:not(.start-date):not(.end-date):hover{border-radius:unset!important}::ng-deep .custom-calendar .md-drppicker .calendar-table table tbody td.off{background-color:unset!important;color:#d6dae0!important}::ng-deep .custom-calendar .md-drppicker .calendar-table table tbody td.active:not(.off):not(.range-picker-mode):not(.force-inactive),::ng-deep .custom-calendar .md-drppicker .calendar-table table tbody td.active:hover:not(.off):not(.range-picker-mode){background-color:unset!important}::ng-deep .custom-calendar .md-drppicker .calendar-table table tbody td.active:not(.off):not(.range-picker-mode):not(.force-inactive) span,::ng-deep .custom-calendar .md-drppicker .calendar-table table tbody td.active:hover:not(.off):not(.range-picker-mode) span{background-color:#178dfe!important;color:#fff!important}::ng-deep .custom-calendar .md-drppicker .calendar-table table tbody td.force-inactive{background-color:unset!important;color:#5d6a82}::ng-deep .custom-calendar .md-drppicker .calendar-table table tbody td.today:not(.off) span{border:1px solid #178dfe;color:#5d6a82;height:25px!important;width:25px!important}::ng-deep .custom-calendar .md-drppicker .calendar-table table tbody td.today:not(.off).start-date:not(.force-inactive) span,::ng-deep .custom-calendar .md-drppicker .calendar-table table tbody td.today:not(.off).end-date:not(.force-inactive) span{color:#fff}.hide-ranges ::ng-deep .ranges{display:none}\n"], dependencies: [{ kind: "component", type: SymbolComponent, selector: "ap-symbol", inputs: ["symbolId", "color", "size"], outputs: ["sizeChange"] }, { kind: "ngmodule", type: NgxDaterangepickerMd }, { kind: "component", type: i2.DaterangepickerComponent, selector: "ngx-daterangepicker-material", inputs: ["startDate", "endDate", "dateLimit", "autoApply", "singleDatePicker", "showDropdowns", "showWeekNumbers", "showISOWeekNumbers", "linkedCalendars", "autoUpdateInput", "alwaysShowCalendars", "maxSpan", "lockStartDate", "timePicker", "timePicker24Hour", "timePickerIncrement", "timePickerSeconds", "showClearButton", "firstMonthDayClass", "lastMonthDayClass", "emptyWeekRowClass", "emptyWeekColumnClass", "firstDayOfNextMonthClass", "lastDayOfPreviousMonthClass", "showCustomRangeLabel", "showCancel", "keepCalendarOpeningWithRange", "showRangeLabelOnInput", "customRangeDirection", "drops", "opens", "closeOnAutoApply", "minDate", "locale", "ranges", "maxDate", "isInvalidDate", "isCustomDate", "isTooltipDate"], outputs: ["choosedDate", "rangeClicked", "datesUpdated", "startDateChanged", "endDateChanged", "cancelClicked", "clearClicked"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
259
262
|
}
|
|
260
263
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.5", ngImport: i0, type: DatepickerComponent, decorators: [{
|
|
261
264
|
type: Component,
|
|
262
|
-
args: [{ changeDetection: ChangeDetectionStrategy.OnPush, selector: 'ap-datepicker', imports: [SymbolComponent, NgxDaterangepickerMd], template: "<div\n class=\"custom-calendar\"\n [style.width]=\"width + 'px'\">\n <div class=\"custom-header\">\n @if (datepickerRef.leftCalendar.month) {\n <div class=\"month-header\">\n <div\n class=\"month-arrow-button\"\n aria-label=\"Previous month\"\n tabindex=\"0\"\n (click)=\"onPreviousMonth()\">\n <ap-symbol\n symbolId=\"arrow-left\"\n [color]=\"'#858FA1'\"\n [size]=\"14\" />\n </div>\n <div class=\"month-label\">\n {{ datepickerRef.leftCalendar.month.locale(locale).format('MMMM YYYY') }}\n </div>\n </div>\n }\n @if (datepickerRef.rightCalendar.month) {\n <div class=\"month-header\">\n <div class=\"month-label\">\n {{ datepickerRef.rightCalendar.month.locale(locale).format('MMMM YYYY') }}\n </div>\n <div\n class=\"month-arrow-button\"\n aria-label=\"Next month\"\n tabindex=\"-1\"\n (click)=\"onNextMonth()\">\n <ap-symbol\n symbolId=\"arrow-right\"\n [color]=\"'#858FA1'\"\n [size]=\"14\" />\n </div>\n </div>\n }\n @if (showRanges && mode === DatepickerMode.Range) {\n <div class=\"header-filler\"></div>\n }\n </div>\n <ngx-daterangepicker-material\n #datepickerRef\n [class.hide-ranges]=\"!showRanges\"\n [alwaysShowCalendars]=\"true\"\n [autoApply]=\"true\"\n [customRangeDirection]=\"true\"\n [linkedCalendars]=\"true\"\n [isCustomDate]=\"$any(isCustomDate)\"\n [locale]=\"localeConfig\"\n [maxDate]=\"maxDateStr\"\n [minDate]=\"minDateStr\"\n [ranges]=\"showRanges && mode === DatepickerMode.Range ? ranges : $any(null)\"\n [showCustomRangeLabel]=\"showCustomRangeLabel()\"\n (datesUpdated)=\"onDatesUpdated($event)\"\n (startDateChanged)=\"onStartDateChanged($event)\" />\n</div>\n", styles: ["[color=facebook]{color:#0866ff}[bgcolor=facebook],[hcolor=facebook]:hover{background-color:#0866ff}[border=facebook]{border:1px solid #0866ff}[color=google]{color:#4e85e8}[bgcolor=google],[hcolor=google]:hover{background-color:#4e85e8}[border=google]{border:1px solid #4e85e8}[color=instagram]{color:#e1306c}[bgcolor=instagram],[hcolor=instagram]:hover{background-color:#e1306c}[border=instagram]{border:1px solid #e1306c}[color=instagrammagenta]{color:#c13584}[bgcolor=instagrammagenta],[hcolor=instagrammagenta]:hover{background-color:#c13584}[border=instagrammagenta]{border:1px solid #c13584}[color=instagramblue]{color:#5851db}[bgcolor=instagramblue],[hcolor=instagramblue]:hover{background-color:#5851db}[border=instagramblue]{border:1px solid #5851db}[color=instagrampurple]{color:#833ab4}[bgcolor=instagrampurple],[hcolor=instagrampurple]:hover{background-color:#833ab4}[border=instagrampurple]{border:1px solid #833ab4}[color=instagramorange]{color:#f56040}[bgcolor=instagramorange],[hcolor=instagramorange]:hover{background-color:#f56040}[border=instagramorange]{border:1px solid #f56040}[color=instagramyellow]{color:#ffdc80}[bgcolor=instagramyellow],[hcolor=instagramyellow]:hover{background-color:#ffdc80}[border=instagramyellow]{border:1px solid #ffdc80}[color=linkedin]{color:#2c67bc}[bgcolor=linkedin],[hcolor=linkedin]:hover{background-color:#2c67bc}[border=linkedin]{border:1px solid #2c67bc}[color=twitter]{color:#55acee}[bgcolor=twitter],[hcolor=twitter]:hover{background-color:#55acee}[border=twitter]{border:1px solid #55acee}[color=youtube]{color:red}[bgcolor=youtube],[hcolor=youtube]:hover{background-color:red}[border=youtube]{border:1px solid #ff0000}[color=reddit]{color:#ff4500}[bgcolor=reddit],[hcolor=reddit]:hover{background-color:#ff4500}[border=reddit]{border:1px solid #ff4500}[color=blood-orange]{color:#ff4d00}[bgcolor=blood-orange],[hcolor=blood-orange]:hover{background-color:#ff4d00}[border=blood-orange]{border:1px solid #ff4d00}[color=pinkish-orange]{color:#ff7b49}[bgcolor=pinkish-orange],[hcolor=pinkish-orange]:hover{background-color:#ff7b49}[border=pinkish-orange]{border:1px solid #ff7b49}[color=charcoal-grey]{color:#2a2f34}[bgcolor=charcoal-grey],[hcolor=charcoal-grey]:hover{background-color:#2a2f34}[border=charcoal-grey]{border:1px solid #2a2f34}[color=azure]{color:#00aeef}[bgcolor=azure],[hcolor=azure]:hover{background-color:#00aeef}[border=azure]{border:1px solid #00aeef}[color=light-azure]{color:#eaf5fd}[bgcolor=light-azure],[hcolor=light-azure]:hover{background-color:#eaf5fd}[border=light-azure]{border:1px solid #eaf5fd}[color=blue-grey]{color:#8d98a9}[bgcolor=blue-grey],[hcolor=blue-grey]:hover{background-color:#8d98a9}[border=blue-grey]{border:1px solid #8d98a9}[color=silver]{color:#ced0da}[bgcolor=silver],[hcolor=silver]:hover{background-color:#ced0da}[border=silver]{border:1px solid #ced0da}[color=pale-grey]{color:#dfe3e9}[bgcolor=pale-grey],[hcolor=pale-grey]:hover{background-color:#dfe3e9}[border=pale-grey]{border:1px solid #dfe3e9}[color=grey-white]{color:#f5f7f8}[bgcolor=grey-white],[hcolor=grey-white]:hover{background-color:#f5f7f8}[border=grey-white]{border:1px solid #f5f7f8}[color=cool-grey]{color:#b4bbc6}[bgcolor=cool-grey],[hcolor=cool-grey]:hover{background-color:#b4bbc6}[border=cool-grey]{border:1px solid #b4bbc6}[color=black]{color:#344563}[bgcolor=black],[hcolor=black]:hover{background-color:#344563}[border=black]{border:1px solid #344563}[color=grey-blue]{color:#68768c}[bgcolor=grey-blue],[hcolor=grey-blue]:hover{background-color:#68768c}[border=grey-blue]{border:1px solid #68768c}[color=strawberry]{color:#f4282d}[bgcolor=strawberry],[hcolor=strawberry]:hover{background-color:#f4282d}[border=strawberry]{border:1px solid #f4282d}[color=light-strawberry]{color:#f8eded}[bgcolor=light-strawberry],[hcolor=light-strawberry]:hover{background-color:#f8eded}[border=light-strawberry]{border:1px solid #f8eded}[color=white]{color:#fff}[bgcolor=white],[hcolor=white]:hover{background-color:#fff}[border=white]{border:1px solid #ffffff}[color=cool-green]{color:#33c15d}[bgcolor=cool-green],[hcolor=cool-green]:hover{background-color:#33c15d}[border=cool-green]{border:1px solid #33c15d}[color=light-green]{color:#ebfaef}[bgcolor=light-green],[hcolor=light-green]:hover{background-color:#ebfaef}[border=light-green]{border:1px solid #ebfaef}[color=transparent]{color:transparent}[bgcolor=transparent],[hcolor=transparent]:hover{background-color:transparent}[border=transparent]{border:1px solid transparent}[color=c0]{color:#a566a5}[bgcolor=c0],[hcolor=c0]:hover{background-color:#a566a5}[border=c0]{border:1px solid #a566a5}[color=c1]{color:#c7ab82}[bgcolor=c1],[hcolor=c1]:hover{background-color:#c7ab82}[border=c1]{border:1px solid #c7ab82}[color=c2]{color:#f2713c}[bgcolor=c2],[hcolor=c2]:hover{background-color:#f2713c}[border=c2]{border:1px solid #f2713c}[color=c3]{color:#ffd006}[bgcolor=c3],[hcolor=c3]:hover{background-color:#ffd006}[border=c3]{border:1px solid #ffd006}[color=c4]{color:#94c5aa}[bgcolor=c4],[hcolor=c4]:hover{background-color:#94c5aa}[border=c4]{border:1px solid #94c5aa}[color=c5]{color:#2a9d8f}[bgcolor=c5],[hcolor=c5]:hover{background-color:#2a9d8f}[border=c5]{border:1px solid #2a9d8f}[color=c6]{color:#78acd8}[bgcolor=c6],[hcolor=c6]:hover{background-color:#78acd8}[border=c6]{border:1px solid #78acd8}[color=c7]{color:#525a9e}[bgcolor=c7],[hcolor=c7]:hover{background-color:#525a9e}[border=c7]{border:1px solid #525a9e}[color=c8]{color:#6a2459}[bgcolor=c8],[hcolor=c8]:hover{background-color:#6a2459}[border=c8]{border:1px solid #6a2459}[color=c9]{color:#74729e}[bgcolor=c9],[hcolor=c9]:hover{background-color:#74729e}[border=c9]{border:1px solid #74729e}::ng-deep .custom-calendar{background-color:#fff;display:flex;flex-direction:column;justify-content:center;border-radius:4px;height:fit-content}::ng-deep .custom-calendar .custom-header{display:flex;align-items:center;justify-content:center;color:#344563;font-size:12px;font-weight:700;height:55px;text-transform:capitalize}::ng-deep .custom-calendar .custom-header .month-header{height:30px;width:255px;display:flex;align-items:center}::ng-deep .custom-calendar .custom-header .month-header .month-arrow-button{padding:10px;border-radius:2em;cursor:pointer}::ng-deep .custom-calendar .custom-header .month-header .month-arrow-button:hover{background-color:#eaecef}::ng-deep .custom-calendar .custom-header .month-header .month-label{flex:1;text-align:center}::ng-deep .custom-calendar .custom-header .header-filler{width:150px}::ng-deep .custom-calendar .md-drppicker{font-family:Averta;width:unset;height:219px;padding:0;margin:0 0 16px;box-shadow:none!important;z-index:0!important}::ng-deep .custom-calendar .md-drppicker .ranges{border-left:1px solid #eaecef;float:right!important;max-width:150px;height:100%}::ng-deep .custom-calendar .md-drppicker .ranges ul li{margin-left:12px}::ng-deep .custom-calendar .md-drppicker .ranges ul li:hover{background:unset}::ng-deep .custom-calendar .md-drppicker .ranges ul li button{font-family:Averta;font-size:14px;border-radius:4px;color:#5d6a82}::ng-deep .custom-calendar .md-drppicker .ranges ul li button:hover:not(.active):not(:disabled){color:#178dfe;background:#e8f4ff}::ng-deep .custom-calendar .md-drppicker .ranges ul li button.active{color:#fff;background:#178dfe}::ng-deep .custom-calendar .md-drppicker .ranges ul li button.active:hover{background:#3a9efe}::ng-deep .custom-calendar .md-drppicker .ranges ul li button:disabled{color:#d6dae0;background:none;cursor:default}::ng-deep .custom-calendar .md-drppicker .month{cursor:auto}::ng-deep .custom-calendar .md-drppicker .calendar{margin:0!important;padding:0 16px}::ng-deep .custom-calendar .md-drppicker .calendar.left{border-right:1px solid #eaecef}::ng-deep .custom-calendar .md-drppicker .calendar-table{width:231px;padding:0!important;border:none!important}::ng-deep .custom-calendar .md-drppicker .calendar-table table{border-spacing:0 5px!important;height:184px}::ng-deep .custom-calendar .md-drppicker .calendar-table table td,::ng-deep .custom-calendar .md-drppicker .calendar-table table th{height:unset;border:none}::ng-deep .custom-calendar .md-drppicker .calendar-table table thead{line-height:10px}::ng-deep .custom-calendar .md-drppicker .calendar-table table thead tr:first-child{display:none}::ng-deep .custom-calendar .md-drppicker .calendar-table table thead tr th{color:#aeb5c1;font-weight:700;font-size:12px;text-transform:capitalize;padding-bottom:10px}::ng-deep .custom-calendar .md-drppicker .calendar-table table thead tr th.month,::ng-deep .custom-calendar .md-drppicker .calendar-table table thead tr th.prev,::ng-deep .custom-calendar .md-drppicker .calendar-table table thead tr th.next{color:#344563}::ng-deep .custom-calendar .md-drppicker .calendar-table table thead tr th.prev,::ng-deep .custom-calendar .md-drppicker .calendar-table table thead tr th.next{font-size:16px}::ng-deep .custom-calendar .md-drppicker .calendar-table table tbody tr td:last-child.in-range{border-radius:0 2em 2em 0}::ng-deep .custom-calendar .md-drppicker .calendar-table table tbody tr td:first-child.in-range{border-radius:2em 0 0 2em}::ng-deep .custom-calendar .md-drppicker .calendar-table table tbody td{opacity:1!important;border-spacing:0;height:27px}::ng-deep .custom-calendar .md-drppicker .calendar-table table tbody td span{width:27px!important;height:27px!important;border-radius:50%;display:flex;align-items:center;justify-content:center;margin-left:3px}::ng-deep .custom-calendar .md-drppicker .calendar-table table tbody td.in-range:not(.off):not(.force-inactive){background-color:#e8f4ff!important;color:#344563!important}::ng-deep .custom-calendar .md-drppicker .calendar-table table tbody td.active.start-date:not(.end-date).range-picker-mode:not(.off){border-radius:2em 0 0 2em;background-color:#178dfe!important;color:#fff!important}::ng-deep .custom-calendar .md-drppicker .calendar-table table tbody td.active.end-date:not(.start-date).range-picker-mode:not(.off){border-radius:0 2em 2em 0;background-color:#178dfe!important;color:#fff!important}::ng-deep .custom-calendar .md-drppicker .calendar-table table tbody td.active:not(.force-inactive).start-date.end-date.range-picker-mode:not(.off){background-color:unset!important}::ng-deep .custom-calendar .md-drppicker .calendar-table table tbody td.active:not(.force-inactive).start-date.end-date.range-picker-mode:not(.off) span{border-radius:2em;background-color:#178dfe!important;color:#fff!important}::ng-deep .custom-calendar .md-drppicker .calendar-table table tbody td.available:not(.start-date):not(.end-date):hover span,::ng-deep .custom-calendar .md-drppicker .calendar-table table tbody td.available.today.force-inactive:hover span{background-color:#d1e8ff!important}::ng-deep .custom-calendar .md-drppicker .calendar-table table tbody td.available:not(.start-date):not(.end-date):hover:not(.in-range),::ng-deep .custom-calendar .md-drppicker .calendar-table table tbody td.available.today.force-inactive:hover:not(.in-range){background-color:unset!important}::ng-deep .custom-calendar .md-drppicker .calendar-table table tbody td.available.in-range:not(.start-date):not(.end-date):hover{border-radius:unset!important}::ng-deep .custom-calendar .md-drppicker .calendar-table table tbody td.off{background-color:unset!important;color:#d6dae0!important}::ng-deep .custom-calendar .md-drppicker .calendar-table table tbody td.active:not(.off):not(.range-picker-mode):not(.force-inactive),::ng-deep .custom-calendar .md-drppicker .calendar-table table tbody td.active:hover:not(.off):not(.range-picker-mode){background-color:unset!important}::ng-deep .custom-calendar .md-drppicker .calendar-table table tbody td.active:not(.off):not(.range-picker-mode):not(.force-inactive) span,::ng-deep .custom-calendar .md-drppicker .calendar-table table tbody td.active:hover:not(.off):not(.range-picker-mode) span{background-color:#178dfe!important;color:#fff!important}::ng-deep .custom-calendar .md-drppicker .calendar-table table tbody td.force-inactive{background-color:unset!important;color:#5d6a82}::ng-deep .custom-calendar .md-drppicker .calendar-table table tbody td.today:not(.off) span{border:1px solid #178dfe;color:#5d6a82;height:25px!important;width:25px!important}::ng-deep .custom-calendar .md-drppicker .calendar-table table tbody td.today:not(.off).start-date:not(.force-inactive) span,::ng-deep .custom-calendar .md-drppicker .calendar-table table tbody td.today:not(.off).end-date:not(.force-inactive) span{color:#fff}.hide-ranges ::ng-deep .ranges{display:none}\n"] }]
|
|
265
|
+
args: [{ changeDetection: ChangeDetectionStrategy.OnPush, selector: 'ap-datepicker', imports: [SymbolComponent, NgxDaterangepickerMd], template: "<div\n class=\"custom-calendar\"\n [style.width]=\"width + 'px'\">\n <div class=\"custom-header\">\n @if (datepickerRef.leftCalendar.month) {\n <div class=\"month-header\">\n <div\n class=\"month-arrow-button\"\n aria-label=\"Previous month\"\n tabindex=\"0\"\n (click)=\"onPreviousMonth()\">\n <ap-symbol\n symbolId=\"arrow-left\"\n [color]=\"'#858FA1'\"\n [size]=\"14\" />\n </div>\n <div class=\"month-label\">\n {{ datepickerRef.leftCalendar.month.locale(locale).format('MMMM YYYY') }}\n </div>\n </div>\n }\n @if (datepickerRef.rightCalendar.month) {\n <div class=\"month-header\">\n <div class=\"month-label\">\n {{ datepickerRef.rightCalendar.month.locale(locale).format('MMMM YYYY') }}\n </div>\n <div\n class=\"month-arrow-button\"\n aria-label=\"Next month\"\n tabindex=\"-1\"\n (click)=\"onNextMonth()\">\n <ap-symbol\n symbolId=\"arrow-right\"\n [color]=\"'#858FA1'\"\n [size]=\"14\" />\n </div>\n </div>\n }\n @if (showRanges && mode === DatepickerMode.Range) {\n <div class=\"header-filler\"></div>\n }\n </div>\n <ngx-daterangepicker-material\n #datepickerRef\n [class.hide-ranges]=\"!showRanges\"\n [alwaysShowCalendars]=\"true\"\n [autoApply]=\"true\"\n [customRangeDirection]=\"true\"\n [dateLimit]=\"dateLimit() ?? 0\"\n [linkedCalendars]=\"true\"\n [isCustomDate]=\"$any(isCustomDate)\"\n [locale]=\"localeConfig\"\n [maxDate]=\"maxDateStr\"\n [minDate]=\"minDateStr\"\n [ranges]=\"showRanges && mode === DatepickerMode.Range ? ranges : $any(null)\"\n [showCustomRangeLabel]=\"showCustomRangeLabel()\"\n (datesUpdated)=\"onDatesUpdated($event)\"\n (startDateChanged)=\"onStartDateChanged($event)\" />\n</div>\n", styles: ["[color=facebook]{color:#0866ff}[bgcolor=facebook],[hcolor=facebook]:hover{background-color:#0866ff}[border=facebook]{border:1px solid #0866ff}[color=google]{color:#4e85e8}[bgcolor=google],[hcolor=google]:hover{background-color:#4e85e8}[border=google]{border:1px solid #4e85e8}[color=instagram]{color:#e1306c}[bgcolor=instagram],[hcolor=instagram]:hover{background-color:#e1306c}[border=instagram]{border:1px solid #e1306c}[color=instagrammagenta]{color:#c13584}[bgcolor=instagrammagenta],[hcolor=instagrammagenta]:hover{background-color:#c13584}[border=instagrammagenta]{border:1px solid #c13584}[color=instagramblue]{color:#5851db}[bgcolor=instagramblue],[hcolor=instagramblue]:hover{background-color:#5851db}[border=instagramblue]{border:1px solid #5851db}[color=instagrampurple]{color:#833ab4}[bgcolor=instagrampurple],[hcolor=instagrampurple]:hover{background-color:#833ab4}[border=instagrampurple]{border:1px solid #833ab4}[color=instagramorange]{color:#f56040}[bgcolor=instagramorange],[hcolor=instagramorange]:hover{background-color:#f56040}[border=instagramorange]{border:1px solid #f56040}[color=instagramyellow]{color:#ffdc80}[bgcolor=instagramyellow],[hcolor=instagramyellow]:hover{background-color:#ffdc80}[border=instagramyellow]{border:1px solid #ffdc80}[color=linkedin]{color:#2c67bc}[bgcolor=linkedin],[hcolor=linkedin]:hover{background-color:#2c67bc}[border=linkedin]{border:1px solid #2c67bc}[color=twitter]{color:#55acee}[bgcolor=twitter],[hcolor=twitter]:hover{background-color:#55acee}[border=twitter]{border:1px solid #55acee}[color=youtube]{color:red}[bgcolor=youtube],[hcolor=youtube]:hover{background-color:red}[border=youtube]{border:1px solid #ff0000}[color=reddit]{color:#ff4500}[bgcolor=reddit],[hcolor=reddit]:hover{background-color:#ff4500}[border=reddit]{border:1px solid #ff4500}[color=blood-orange]{color:#ff4d00}[bgcolor=blood-orange],[hcolor=blood-orange]:hover{background-color:#ff4d00}[border=blood-orange]{border:1px solid #ff4d00}[color=pinkish-orange]{color:#ff7b49}[bgcolor=pinkish-orange],[hcolor=pinkish-orange]:hover{background-color:#ff7b49}[border=pinkish-orange]{border:1px solid #ff7b49}[color=charcoal-grey]{color:#2a2f34}[bgcolor=charcoal-grey],[hcolor=charcoal-grey]:hover{background-color:#2a2f34}[border=charcoal-grey]{border:1px solid #2a2f34}[color=azure]{color:#00aeef}[bgcolor=azure],[hcolor=azure]:hover{background-color:#00aeef}[border=azure]{border:1px solid #00aeef}[color=light-azure]{color:#eaf5fd}[bgcolor=light-azure],[hcolor=light-azure]:hover{background-color:#eaf5fd}[border=light-azure]{border:1px solid #eaf5fd}[color=blue-grey]{color:#8d98a9}[bgcolor=blue-grey],[hcolor=blue-grey]:hover{background-color:#8d98a9}[border=blue-grey]{border:1px solid #8d98a9}[color=silver]{color:#ced0da}[bgcolor=silver],[hcolor=silver]:hover{background-color:#ced0da}[border=silver]{border:1px solid #ced0da}[color=pale-grey]{color:#dfe3e9}[bgcolor=pale-grey],[hcolor=pale-grey]:hover{background-color:#dfe3e9}[border=pale-grey]{border:1px solid #dfe3e9}[color=grey-white]{color:#f5f7f8}[bgcolor=grey-white],[hcolor=grey-white]:hover{background-color:#f5f7f8}[border=grey-white]{border:1px solid #f5f7f8}[color=cool-grey]{color:#b4bbc6}[bgcolor=cool-grey],[hcolor=cool-grey]:hover{background-color:#b4bbc6}[border=cool-grey]{border:1px solid #b4bbc6}[color=black]{color:#344563}[bgcolor=black],[hcolor=black]:hover{background-color:#344563}[border=black]{border:1px solid #344563}[color=grey-blue]{color:#68768c}[bgcolor=grey-blue],[hcolor=grey-blue]:hover{background-color:#68768c}[border=grey-blue]{border:1px solid #68768c}[color=strawberry]{color:#f4282d}[bgcolor=strawberry],[hcolor=strawberry]:hover{background-color:#f4282d}[border=strawberry]{border:1px solid #f4282d}[color=light-strawberry]{color:#f8eded}[bgcolor=light-strawberry],[hcolor=light-strawberry]:hover{background-color:#f8eded}[border=light-strawberry]{border:1px solid #f8eded}[color=white]{color:#fff}[bgcolor=white],[hcolor=white]:hover{background-color:#fff}[border=white]{border:1px solid #ffffff}[color=cool-green]{color:#33c15d}[bgcolor=cool-green],[hcolor=cool-green]:hover{background-color:#33c15d}[border=cool-green]{border:1px solid #33c15d}[color=light-green]{color:#ebfaef}[bgcolor=light-green],[hcolor=light-green]:hover{background-color:#ebfaef}[border=light-green]{border:1px solid #ebfaef}[color=transparent]{color:transparent}[bgcolor=transparent],[hcolor=transparent]:hover{background-color:transparent}[border=transparent]{border:1px solid transparent}[color=c0]{color:#a566a5}[bgcolor=c0],[hcolor=c0]:hover{background-color:#a566a5}[border=c0]{border:1px solid #a566a5}[color=c1]{color:#c7ab82}[bgcolor=c1],[hcolor=c1]:hover{background-color:#c7ab82}[border=c1]{border:1px solid #c7ab82}[color=c2]{color:#f2713c}[bgcolor=c2],[hcolor=c2]:hover{background-color:#f2713c}[border=c2]{border:1px solid #f2713c}[color=c3]{color:#ffd006}[bgcolor=c3],[hcolor=c3]:hover{background-color:#ffd006}[border=c3]{border:1px solid #ffd006}[color=c4]{color:#94c5aa}[bgcolor=c4],[hcolor=c4]:hover{background-color:#94c5aa}[border=c4]{border:1px solid #94c5aa}[color=c5]{color:#2a9d8f}[bgcolor=c5],[hcolor=c5]:hover{background-color:#2a9d8f}[border=c5]{border:1px solid #2a9d8f}[color=c6]{color:#78acd8}[bgcolor=c6],[hcolor=c6]:hover{background-color:#78acd8}[border=c6]{border:1px solid #78acd8}[color=c7]{color:#525a9e}[bgcolor=c7],[hcolor=c7]:hover{background-color:#525a9e}[border=c7]{border:1px solid #525a9e}[color=c8]{color:#6a2459}[bgcolor=c8],[hcolor=c8]:hover{background-color:#6a2459}[border=c8]{border:1px solid #6a2459}[color=c9]{color:#74729e}[bgcolor=c9],[hcolor=c9]:hover{background-color:#74729e}[border=c9]{border:1px solid #74729e}::ng-deep .custom-calendar{background-color:#fff;display:flex;flex-direction:column;justify-content:center;border-radius:4px;height:fit-content}::ng-deep .custom-calendar .custom-header{display:flex;align-items:center;justify-content:center;color:#344563;font-size:12px;font-weight:700;height:55px;text-transform:capitalize}::ng-deep .custom-calendar .custom-header .month-header{height:30px;width:255px;display:flex;align-items:center}::ng-deep .custom-calendar .custom-header .month-header .month-arrow-button{padding:10px;border-radius:2em;cursor:pointer}::ng-deep .custom-calendar .custom-header .month-header .month-arrow-button:hover{background-color:#eaecef}::ng-deep .custom-calendar .custom-header .month-header .month-label{flex:1;text-align:center}::ng-deep .custom-calendar .custom-header .header-filler{width:150px}::ng-deep .custom-calendar .md-drppicker{font-family:Averta;width:unset;height:219px;padding:0;margin:0 0 16px;box-shadow:none!important;z-index:0!important}::ng-deep .custom-calendar .md-drppicker .ranges{border-left:1px solid #eaecef;float:right!important;max-width:150px;height:100%;overflow-y:auto}::ng-deep .custom-calendar .md-drppicker .ranges ul li{margin-left:12px}::ng-deep .custom-calendar .md-drppicker .ranges ul li:hover{background:unset}::ng-deep .custom-calendar .md-drppicker .ranges ul li button{font-family:Averta;font-size:14px;border-radius:4px;color:#5d6a82}::ng-deep .custom-calendar .md-drppicker .ranges ul li button:hover:not(.active):not(:disabled){color:#178dfe;background:#e8f4ff}::ng-deep .custom-calendar .md-drppicker .ranges ul li button.active{color:#fff;background:#178dfe}::ng-deep .custom-calendar .md-drppicker .ranges ul li button.active:hover{background:#3a9efe}::ng-deep .custom-calendar .md-drppicker .ranges ul li button:disabled{color:#d6dae0;background:none;cursor:default}::ng-deep .custom-calendar .md-drppicker .month{cursor:auto}::ng-deep .custom-calendar .md-drppicker .calendar{margin:0!important;padding:0 16px}::ng-deep .custom-calendar .md-drppicker .calendar.left{border-right:1px solid #eaecef}::ng-deep .custom-calendar .md-drppicker .calendar-table{width:231px;padding:0!important;border:none!important}::ng-deep .custom-calendar .md-drppicker .calendar-table table{border-spacing:0 5px!important;height:184px}::ng-deep .custom-calendar .md-drppicker .calendar-table table td,::ng-deep .custom-calendar .md-drppicker .calendar-table table th{height:unset;border:none}::ng-deep .custom-calendar .md-drppicker .calendar-table table thead{line-height:10px}::ng-deep .custom-calendar .md-drppicker .calendar-table table thead tr:first-child{display:none}::ng-deep .custom-calendar .md-drppicker .calendar-table table thead tr th{color:#aeb5c1;font-weight:700;font-size:12px;text-transform:capitalize;padding-bottom:10px}::ng-deep .custom-calendar .md-drppicker .calendar-table table thead tr th.month,::ng-deep .custom-calendar .md-drppicker .calendar-table table thead tr th.prev,::ng-deep .custom-calendar .md-drppicker .calendar-table table thead tr th.next{color:#344563}::ng-deep .custom-calendar .md-drppicker .calendar-table table thead tr th.prev,::ng-deep .custom-calendar .md-drppicker .calendar-table table thead tr th.next{font-size:16px}::ng-deep .custom-calendar .md-drppicker .calendar-table table tbody tr td:last-child.in-range{border-radius:0 2em 2em 0}::ng-deep .custom-calendar .md-drppicker .calendar-table table tbody tr td:first-child.in-range{border-radius:2em 0 0 2em}::ng-deep .custom-calendar .md-drppicker .calendar-table table tbody td{opacity:1!important;border-spacing:0;height:27px}::ng-deep .custom-calendar .md-drppicker .calendar-table table tbody td span{width:27px!important;height:27px!important;border-radius:50%;display:flex;align-items:center;justify-content:center;margin-left:3px}::ng-deep .custom-calendar .md-drppicker .calendar-table table tbody td.in-range:not(.off):not(.force-inactive){background-color:#e8f4ff!important;color:#344563!important}::ng-deep .custom-calendar .md-drppicker .calendar-table table tbody td.active.start-date:not(.end-date).range-picker-mode:not(.off){border-radius:2em 0 0 2em;background-color:#178dfe!important;color:#fff!important}::ng-deep .custom-calendar .md-drppicker .calendar-table table tbody td.active.end-date:not(.start-date).range-picker-mode:not(.off){border-radius:0 2em 2em 0;background-color:#178dfe!important;color:#fff!important}::ng-deep .custom-calendar .md-drppicker .calendar-table table tbody td.active:not(.force-inactive).start-date.end-date.range-picker-mode:not(.off){background-color:unset!important}::ng-deep .custom-calendar .md-drppicker .calendar-table table tbody td.active:not(.force-inactive).start-date.end-date.range-picker-mode:not(.off) span{border-radius:2em;background-color:#178dfe!important;color:#fff!important}::ng-deep .custom-calendar .md-drppicker .calendar-table table tbody td.available:not(.start-date):not(.end-date):hover span,::ng-deep .custom-calendar .md-drppicker .calendar-table table tbody td.available.today.force-inactive:hover span{background-color:#d1e8ff!important}::ng-deep .custom-calendar .md-drppicker .calendar-table table tbody td.available:not(.start-date):not(.end-date):hover:not(.in-range),::ng-deep .custom-calendar .md-drppicker .calendar-table table tbody td.available.today.force-inactive:hover:not(.in-range){background-color:unset!important}::ng-deep .custom-calendar .md-drppicker .calendar-table table tbody td.available.in-range:not(.start-date):not(.end-date):hover{border-radius:unset!important}::ng-deep .custom-calendar .md-drppicker .calendar-table table tbody td.off{background-color:unset!important;color:#d6dae0!important}::ng-deep .custom-calendar .md-drppicker .calendar-table table tbody td.active:not(.off):not(.range-picker-mode):not(.force-inactive),::ng-deep .custom-calendar .md-drppicker .calendar-table table tbody td.active:hover:not(.off):not(.range-picker-mode){background-color:unset!important}::ng-deep .custom-calendar .md-drppicker .calendar-table table tbody td.active:not(.off):not(.range-picker-mode):not(.force-inactive) span,::ng-deep .custom-calendar .md-drppicker .calendar-table table tbody td.active:hover:not(.off):not(.range-picker-mode) span{background-color:#178dfe!important;color:#fff!important}::ng-deep .custom-calendar .md-drppicker .calendar-table table tbody td.force-inactive{background-color:unset!important;color:#5d6a82}::ng-deep .custom-calendar .md-drppicker .calendar-table table tbody td.today:not(.off) span{border:1px solid #178dfe;color:#5d6a82;height:25px!important;width:25px!important}::ng-deep .custom-calendar .md-drppicker .calendar-table table tbody td.today:not(.off).start-date:not(.force-inactive) span,::ng-deep .custom-calendar .md-drppicker .calendar-table table tbody td.today:not(.off).end-date:not(.force-inactive) span{color:#fff}.hide-ranges ::ng-deep .ranges{display:none}\n"] }]
|
|
263
266
|
}], ctorParameters: () => [{ type: i0.ChangeDetectorRef }, { type: i1.SymbolRegistry }], propDecorators: { datepickerRef: [{
|
|
264
267
|
type: ViewChild,
|
|
265
268
|
args: ['datepickerRef']
|
|
@@ -284,7 +287,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.5", ngImpor
|
|
|
284
287
|
type: Input
|
|
285
288
|
}], selectedPeriod: [{
|
|
286
289
|
type: Input
|
|
287
|
-
}], showRanges: [{
|
|
290
|
+
}], dateLimit: [{ type: i0.Input, args: [{ isSignal: true, alias: "dateLimit", required: false }] }], showRanges: [{
|
|
288
291
|
type: Input
|
|
289
292
|
}], showCustomRangeLabel: [{ type: i0.Input, args: [{ isSignal: true, alias: "showCustomRangeLabel", required: false }] }], dateSelected: [{
|
|
290
293
|
type: Output
|
|
@@ -320,6 +323,12 @@ class DatepickerDropdownComponent {
|
|
|
320
323
|
...(ngDevMode ? [{ debugName: "minDate" }] : /* istanbul ignore next */ []));
|
|
321
324
|
maxDate = input(undefined, /* @ts-ignore */
|
|
322
325
|
...(ngDevMode ? [{ debugName: "maxDate" }] : /* istanbul ignore next */ []));
|
|
326
|
+
/** Maximum number of days between the start and the end date in Range mode. Undefined means no limit. */
|
|
327
|
+
dateLimit = input(undefined, /* @ts-ignore */
|
|
328
|
+
...(ngDevMode ? [{ debugName: "dateLimit" }] : /* istanbul ignore next */ []));
|
|
329
|
+
/** Caption shown at the bottom of the panel, e.g. to explain a selection constraint. */
|
|
330
|
+
hint = input(undefined, /* @ts-ignore */
|
|
331
|
+
...(ngDevMode ? [{ debugName: "hint" }] : /* istanbul ignore next */ []));
|
|
323
332
|
firstDayOfWeek = input('monday', /* @ts-ignore */
|
|
324
333
|
...(ngDevMode ? [{ debugName: "firstDayOfWeek" }] : /* istanbul ignore next */ []));
|
|
325
334
|
locale = input('en', /* @ts-ignore */
|
|
@@ -336,6 +345,9 @@ class DatepickerDropdownComponent {
|
|
|
336
345
|
...(ngDevMode ? [{ debugName: "rangesConfig" }] : /* istanbul ignore next */ []));
|
|
337
346
|
showBackdrop = input(true, /* @ts-ignore */
|
|
338
347
|
...(ngDevMode ? [{ debugName: "showBackdrop" }] : /* istanbul ignore next */ []));
|
|
348
|
+
/** Close the overlay once a full period is selected. When false it stays open until backdrop click or Escape. */
|
|
349
|
+
closeOnSelect = input(true, /* @ts-ignore */
|
|
350
|
+
...(ngDevMode ? [{ debugName: "closeOnSelect" }] : /* istanbul ignore next */ []));
|
|
339
351
|
disabled = input(false, /* @ts-ignore */
|
|
340
352
|
...(ngDevMode ? [{ debugName: "disabled" }] : /* istanbul ignore next */ []));
|
|
341
353
|
defaultPosition = input('right', /* @ts-ignore */
|
|
@@ -379,17 +391,17 @@ class DatepickerDropdownComponent {
|
|
|
379
391
|
}
|
|
380
392
|
onPeriodSelected(period) {
|
|
381
393
|
this.periodSelected.emit(period);
|
|
382
|
-
if (period.startDate && period.endDate) {
|
|
394
|
+
if (this.closeOnSelect() && period.startDate && period.endDate) {
|
|
383
395
|
this.close();
|
|
384
396
|
}
|
|
385
397
|
}
|
|
386
398
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.5", ngImport: i0, type: DatepickerDropdownComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
387
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.
|
|
399
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "22.0.5", type: DatepickerDropdownComponent, isStandalone: true, selector: "ap-datepicker-dropdown", inputs: { mode: { classPropertyName: "mode", publicName: "mode", isSignal: true, isRequired: true, transformFunction: null }, selectedDate: { classPropertyName: "selectedDate", publicName: "selectedDate", isSignal: true, isRequired: false, transformFunction: null }, selectedDates: { classPropertyName: "selectedDates", publicName: "selectedDates", isSignal: true, isRequired: false, transformFunction: null }, selectedPeriod: { classPropertyName: "selectedPeriod", publicName: "selectedPeriod", isSignal: true, isRequired: false, transformFunction: null }, minDate: { classPropertyName: "minDate", publicName: "minDate", isSignal: true, isRequired: false, transformFunction: null }, maxDate: { classPropertyName: "maxDate", publicName: "maxDate", isSignal: true, isRequired: false, transformFunction: null }, dateLimit: { classPropertyName: "dateLimit", publicName: "dateLimit", isSignal: true, isRequired: false, transformFunction: null }, hint: { classPropertyName: "hint", publicName: "hint", isSignal: true, isRequired: false, transformFunction: null }, firstDayOfWeek: { classPropertyName: "firstDayOfWeek", publicName: "firstDayOfWeek", isSignal: true, isRequired: false, transformFunction: null }, locale: { classPropertyName: "locale", publicName: "locale", isSignal: true, isRequired: false, transformFunction: null }, i18n: { classPropertyName: "i18n", publicName: "i18n", isSignal: true, isRequired: false, transformFunction: null }, showRanges: { classPropertyName: "showRanges", publicName: "showRanges", isSignal: true, isRequired: false, transformFunction: null }, showCustomRangeLabel: { classPropertyName: "showCustomRangeLabel", publicName: "showCustomRangeLabel", isSignal: true, isRequired: false, transformFunction: null }, rangesConfig: { classPropertyName: "rangesConfig", publicName: "rangesConfig", isSignal: true, isRequired: false, transformFunction: null }, showBackdrop: { classPropertyName: "showBackdrop", publicName: "showBackdrop", isSignal: true, isRequired: false, transformFunction: null }, closeOnSelect: { classPropertyName: "closeOnSelect", publicName: "closeOnSelect", isSignal: true, isRequired: false, transformFunction: null }, disabled: { classPropertyName: "disabled", publicName: "disabled", isSignal: true, isRequired: false, transformFunction: null }, defaultPosition: { classPropertyName: "defaultPosition", publicName: "defaultPosition", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { opened: "opened", closed: "closed", dateSelected: "dateSelected", periodSelected: "periodSelected" }, viewQueries: [{ propertyName: "datepickerDropdownTemplate", first: true, predicate: ["datepickerDropdownTemplate"], descendants: true, isSignal: true }], ngImport: i0, template: "<ng-template #datepickerDropdownTemplate>\n <div\n class=\"ap-datepicker-dropdown__content\"\n role=\"dialog\"\n aria-label=\"Datepicker\"\n tabindex=\"-1\">\n <ap-datepicker\n [dateLimit]=\"dateLimit()\"\n [firstDayOfWeek]=\"firstDayOfWeek()\"\n [i18n]=\"effectiveI18n()\"\n [locale]=\"locale()\"\n [maxDate]=\"maxDate()\"\n [minDate]=\"minDate()\"\n [mode]=\"mode()\"\n [rangesConfig]=\"rangesConfig()\"\n [selectedDate]=\"selectedDate()\"\n [selectedDates]=\"selectedDates()\"\n [selectedPeriod]=\"selectedPeriod()\"\n [showCustomRangeLabel]=\"showCustomRangeLabel()\"\n (click)=\"$event.stopPropagation()\"\n (dateSelected)=\"onDateSelected($event)\"\n (periodSelected)=\"onPeriodSelected($event)\"\n [showRanges]=\"showRanges()\" />\n @if (hint()) {\n <div class=\"ap-datepicker-dropdown__hint\">{{ hint() }}</div>\n }\n </div>\n</ng-template>\n", styles: [":host{display:none}.ap-datepicker-dropdown__content{background-color:var(--comp-action-dropdown-background-color);border-radius:var(--comp-action-dropdown-border-radius);box-shadow:var(--comp-action-dropdown-box-shadow);padding:var(--comp-action-dropdown-padding);outline:none;overflow:hidden;z-index:1000}.ap-datepicker-dropdown__content:focus{outline:2px solid var(--comp-action-dropdown-item-background-color-focused);outline-offset:2px}.ap-datepicker-dropdown__hint{border-top:1px solid var(--ref-color-grey-10);color:var(--sys-text-color-light);font-size:var(--sys-text-style-caption-size);margin-top:var(--ref-spacing-xxs);padding-top:var(--ref-spacing-xxs);text-align:center}\n"], dependencies: [{ kind: "component", type: DatepickerComponent, selector: "ap-datepicker", inputs: ["firstDayOfWeek", "i18n", "locale", "maxDate", "minDate", "mode", "selectedDate", "selectedDates", "selectedPeriod", "dateLimit", "showRanges", "showCustomRangeLabel", "rangesConfig"], outputs: ["dateSelected", "periodSelected"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
388
400
|
}
|
|
389
401
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.5", ngImport: i0, type: DatepickerDropdownComponent, decorators: [{
|
|
390
402
|
type: Component,
|
|
391
|
-
args: [{ changeDetection: ChangeDetectionStrategy.OnPush, selector: 'ap-datepicker-dropdown', imports: [DatepickerComponent], template: "<ng-template #datepickerDropdownTemplate>\n <div\n class=\"ap-datepicker-dropdown__content\"\n role=\"dialog\"\n aria-label=\"Datepicker\"\n tabindex=\"-1\">\n <ap-datepicker\n [firstDayOfWeek]=\"firstDayOfWeek()\"\n [i18n]=\"effectiveI18n()\"\n [locale]=\"locale()\"\n [maxDate]=\"maxDate()\"\n [minDate]=\"minDate()\"\n [mode]=\"mode()\"\n [rangesConfig]=\"rangesConfig()\"\n [selectedDate]=\"selectedDate()\"\n [selectedDates]=\"selectedDates()\"\n [selectedPeriod]=\"selectedPeriod()\"\n [showCustomRangeLabel]=\"showCustomRangeLabel()\"\n (click)=\"$event.stopPropagation()\"\n (dateSelected)=\"onDateSelected($event)\"\n (periodSelected)=\"onPeriodSelected($event)\"\n [showRanges]=\"showRanges()\" />\n </div>\n</ng-template>\n", styles: [":host{display:none}.ap-datepicker-dropdown__content{background-color:var(--comp-action-dropdown-background-color);border-radius:var(--comp-action-dropdown-border-radius);box-shadow:var(--comp-action-dropdown-box-shadow);padding:var(--comp-action-dropdown-padding);outline:none;overflow:hidden;z-index:1000}.ap-datepicker-dropdown__content:focus{outline:2px solid var(--comp-action-dropdown-item-background-color-focused);outline-offset:2px}\n"] }]
|
|
392
|
-
}], propDecorators: { datepickerDropdownTemplate: [{ type: i0.ViewChild, args: ['datepickerDropdownTemplate', { isSignal: true }] }], mode: [{ type: i0.Input, args: [{ isSignal: true, alias: "mode", required: true }] }], selectedDate: [{ type: i0.Input, args: [{ isSignal: true, alias: "selectedDate", required: false }] }], selectedDates: [{ type: i0.Input, args: [{ isSignal: true, alias: "selectedDates", required: false }] }], selectedPeriod: [{ type: i0.Input, args: [{ isSignal: true, alias: "selectedPeriod", required: false }] }], minDate: [{ type: i0.Input, args: [{ isSignal: true, alias: "minDate", required: false }] }], maxDate: [{ type: i0.Input, args: [{ isSignal: true, alias: "maxDate", required: false }] }], firstDayOfWeek: [{ type: i0.Input, args: [{ isSignal: true, alias: "firstDayOfWeek", required: false }] }], locale: [{ type: i0.Input, args: [{ isSignal: true, alias: "locale", required: false }] }], i18n: [{ type: i0.Input, args: [{ isSignal: true, alias: "i18n", required: false }] }], showRanges: [{ type: i0.Input, args: [{ isSignal: true, alias: "showRanges", required: false }] }], showCustomRangeLabel: [{ type: i0.Input, args: [{ isSignal: true, alias: "showCustomRangeLabel", required: false }] }], rangesConfig: [{ type: i0.Input, args: [{ isSignal: true, alias: "rangesConfig", required: false }] }], showBackdrop: [{ type: i0.Input, args: [{ isSignal: true, alias: "showBackdrop", required: false }] }], disabled: [{ type: i0.Input, args: [{ isSignal: true, alias: "disabled", required: false }] }], defaultPosition: [{ type: i0.Input, args: [{ isSignal: true, alias: "defaultPosition", required: false }] }], opened: [{ type: i0.Output, args: ["opened"] }], closed: [{ type: i0.Output, args: ["closed"] }], dateSelected: [{ type: i0.Output, args: ["dateSelected"] }], periodSelected: [{ type: i0.Output, args: ["periodSelected"] }] } });
|
|
403
|
+
args: [{ changeDetection: ChangeDetectionStrategy.OnPush, selector: 'ap-datepicker-dropdown', imports: [DatepickerComponent], template: "<ng-template #datepickerDropdownTemplate>\n <div\n class=\"ap-datepicker-dropdown__content\"\n role=\"dialog\"\n aria-label=\"Datepicker\"\n tabindex=\"-1\">\n <ap-datepicker\n [dateLimit]=\"dateLimit()\"\n [firstDayOfWeek]=\"firstDayOfWeek()\"\n [i18n]=\"effectiveI18n()\"\n [locale]=\"locale()\"\n [maxDate]=\"maxDate()\"\n [minDate]=\"minDate()\"\n [mode]=\"mode()\"\n [rangesConfig]=\"rangesConfig()\"\n [selectedDate]=\"selectedDate()\"\n [selectedDates]=\"selectedDates()\"\n [selectedPeriod]=\"selectedPeriod()\"\n [showCustomRangeLabel]=\"showCustomRangeLabel()\"\n (click)=\"$event.stopPropagation()\"\n (dateSelected)=\"onDateSelected($event)\"\n (periodSelected)=\"onPeriodSelected($event)\"\n [showRanges]=\"showRanges()\" />\n @if (hint()) {\n <div class=\"ap-datepicker-dropdown__hint\">{{ hint() }}</div>\n }\n </div>\n</ng-template>\n", styles: [":host{display:none}.ap-datepicker-dropdown__content{background-color:var(--comp-action-dropdown-background-color);border-radius:var(--comp-action-dropdown-border-radius);box-shadow:var(--comp-action-dropdown-box-shadow);padding:var(--comp-action-dropdown-padding);outline:none;overflow:hidden;z-index:1000}.ap-datepicker-dropdown__content:focus{outline:2px solid var(--comp-action-dropdown-item-background-color-focused);outline-offset:2px}.ap-datepicker-dropdown__hint{border-top:1px solid var(--ref-color-grey-10);color:var(--sys-text-color-light);font-size:var(--sys-text-style-caption-size);margin-top:var(--ref-spacing-xxs);padding-top:var(--ref-spacing-xxs);text-align:center}\n"] }]
|
|
404
|
+
}], propDecorators: { datepickerDropdownTemplate: [{ type: i0.ViewChild, args: ['datepickerDropdownTemplate', { isSignal: true }] }], mode: [{ type: i0.Input, args: [{ isSignal: true, alias: "mode", required: true }] }], selectedDate: [{ type: i0.Input, args: [{ isSignal: true, alias: "selectedDate", required: false }] }], selectedDates: [{ type: i0.Input, args: [{ isSignal: true, alias: "selectedDates", required: false }] }], selectedPeriod: [{ type: i0.Input, args: [{ isSignal: true, alias: "selectedPeriod", required: false }] }], minDate: [{ type: i0.Input, args: [{ isSignal: true, alias: "minDate", required: false }] }], maxDate: [{ type: i0.Input, args: [{ isSignal: true, alias: "maxDate", required: false }] }], dateLimit: [{ type: i0.Input, args: [{ isSignal: true, alias: "dateLimit", required: false }] }], hint: [{ type: i0.Input, args: [{ isSignal: true, alias: "hint", required: false }] }], firstDayOfWeek: [{ type: i0.Input, args: [{ isSignal: true, alias: "firstDayOfWeek", required: false }] }], locale: [{ type: i0.Input, args: [{ isSignal: true, alias: "locale", required: false }] }], i18n: [{ type: i0.Input, args: [{ isSignal: true, alias: "i18n", required: false }] }], showRanges: [{ type: i0.Input, args: [{ isSignal: true, alias: "showRanges", required: false }] }], showCustomRangeLabel: [{ type: i0.Input, args: [{ isSignal: true, alias: "showCustomRangeLabel", required: false }] }], rangesConfig: [{ type: i0.Input, args: [{ isSignal: true, alias: "rangesConfig", required: false }] }], showBackdrop: [{ type: i0.Input, args: [{ isSignal: true, alias: "showBackdrop", required: false }] }], closeOnSelect: [{ type: i0.Input, args: [{ isSignal: true, alias: "closeOnSelect", required: false }] }], disabled: [{ type: i0.Input, args: [{ isSignal: true, alias: "disabled", required: false }] }], defaultPosition: [{ type: i0.Input, args: [{ isSignal: true, alias: "defaultPosition", required: false }] }], opened: [{ type: i0.Output, args: ["opened"] }], closed: [{ type: i0.Output, args: ["closed"] }], dateSelected: [{ type: i0.Output, args: ["dateSelected"] }], periodSelected: [{ type: i0.Output, args: ["periodSelected"] }] } });
|
|
393
405
|
|
|
394
406
|
const defaultPeriodSelected = { startDate: undefined, endDate: undefined };
|
|
395
407
|
class InputDatepickerComponent {
|
|
@@ -502,7 +514,7 @@ class InputDatepickerComponent {
|
|
|
502
514
|
this.isDisabled.set(isDisabled);
|
|
503
515
|
}
|
|
504
516
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.5", ngImport: i0, type: InputDatepickerComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
505
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "22.0.5", type: InputDatepickerComponent, isStandalone: true, selector: "ap-input-datepicker", inputs: { mode: { classPropertyName: "mode", publicName: "mode", isSignal: true, isRequired: true, transformFunction: null }, label: { classPropertyName: "label", publicName: "label", isSignal: true, isRequired: false, transformFunction: null }, placeholder: { classPropertyName: "placeholder", publicName: "placeholder", isSignal: true, isRequired: false, transformFunction: null }, firstDayOfWeek: { classPropertyName: "firstDayOfWeek", publicName: "firstDayOfWeek", isSignal: true, isRequired: false, transformFunction: null }, locale: { classPropertyName: "locale", publicName: "locale", isSignal: true, isRequired: false, transformFunction: null }, dateFormat: { classPropertyName: "dateFormat", publicName: "dateFormat", isSignal: true, isRequired: false, transformFunction: null }, disabled: { classPropertyName: "disabled", publicName: "disabled", isSignal: true, isRequired: false, transformFunction: null }, minDate: { classPropertyName: "minDate", publicName: "minDate", isSignal: true, isRequired: false, transformFunction: null }, maxDate: { classPropertyName: "maxDate", publicName: "maxDate", isSignal: true, isRequired: false, transformFunction: null }, selectedDate: { classPropertyName: "selectedDate", publicName: "selectedDate", isSignal: true, isRequired: false, transformFunction: null }, selectedDates: { classPropertyName: "selectedDates", publicName: "selectedDates", isSignal: true, isRequired: false, transformFunction: null }, selectedPeriod: { classPropertyName: "selectedPeriod", publicName: "selectedPeriod", isSignal: true, isRequired: false, transformFunction: null }, i18n: { classPropertyName: "i18n", publicName: "i18n", isSignal: true, isRequired: false, transformFunction: null }, showRanges: { classPropertyName: "showRanges", publicName: "showRanges", isSignal: true, isRequired: false, transformFunction: null }, showCustomRangeLabel: { classPropertyName: "showCustomRangeLabel", publicName: "showCustomRangeLabel", isSignal: true, isRequired: false, transformFunction: null }, rangesConfig: { classPropertyName: "rangesConfig", publicName: "rangesConfig", isSignal: true, isRequired: false, transformFunction: null }, showBackdrop: { classPropertyName: "showBackdrop", publicName: "showBackdrop", isSignal: true, isRequired: false, transformFunction: null }, defaultPosition: { classPropertyName: "defaultPosition", publicName: "defaultPosition", isSignal: true, isRequired: false, transformFunction: null }, clearable: { classPropertyName: "clearable", publicName: "clearable", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { periodChanged: "periodChanged", dateSelected: "dateSelected" }, providers: [withSymbols(apCalendar, apChevronDown, apClose)], ngImport: i0, template: "<ap-form-field>\n @let vLabel = label();\n @if (vLabel) {\n <label for=\"datepicker\">\n {{ vLabel }}\n </label>\n }\n <ap-input-group\n [apDropdownTrigger]=\"datepickerDropdown\"\n symbolPosition=\"left\">\n <ap-symbol\n size=\"sm\"\n symbolId=\"calendar\" />\n <input\n apInput\n id=\"datepicker\"\n readonly\n (blur)=\"onTouched()\"\n [disabled]=\"disabled() || isDisabled()\"\n [placeholder]=\"placeholder()\"\n [value]=\"displayedDate()\"\n type=\"text\" />\n @if (clearable() && displayedDate() && !disabled() && !isDisabled()) {\n <ap-icon-button\n class=\"ap-input-datepicker__clear\"\n type=\"flat\"\n name=\"datepicker-clear\"\n symbolId=\"close\"\n ariaLabel=\"Clear date range\"\n (click)=\"onClear($event)\" />\n }\n </ap-input-group>\n</ap-form-field>\n\n<ap-datepicker-dropdown\n #datepickerDropdown\n [defaultPosition]=\"defaultPosition()\"\n [disabled]=\"disabled() || isDisabled()\"\n [firstDayOfWeek]=\"firstDayOfWeek()\"\n [i18n]=\"i18n()\"\n [locale]=\"locale()\"\n [maxDate]=\"maxDate()\"\n [minDate]=\"minDate()\"\n [mode]=\"mode()\"\n [rangesConfig]=\"rangesConfig()\"\n [selectedDate]=\"selectedDate()\"\n [selectedDates]=\"selectedDates()\"\n [selectedPeriod]=\"periodRange()\"\n [showBackdrop]=\"showBackdrop()\"\n [showCustomRangeLabel]=\"showCustomRangeLabel()\"\n (dateSelected)=\"dateSelected.emit($event)\"\n (periodSelected)=\"onPeriodSelected($event)\"\n [showRanges]=\"showRanges()\" />\n", styles: [".ap-input-datepicker__clear ::ng-deep .icon-button:hover:not(.stroked):not(.locked),.ap-input-datepicker__clear ::ng-deep .icon-button:active:not(.stroked):not(.locked){background:transparent}.ap-input-datepicker__clear ::ng-deep .icon-button ap-symbol{width:var(--sys-icon-css-xs);min-width:var(--sys-icon-css-xs);height:var(--sys-icon-css-xs);min-height:var(--sys-icon-css-xs)}.ap-input-datepicker__clear:hover ::ng-deep .icon-button ap-symbol{color:var(--sys-color-error-text)}:host ::ng-deep .ap-input-group:has(.ap-input-datepicker__clear){padding-right:0}\n"], dependencies: [{ kind: "component", type: DatepickerDropdownComponent, selector: "ap-datepicker-dropdown", inputs: ["mode", "selectedDate", "selectedDates", "selectedPeriod", "minDate", "maxDate", "firstDayOfWeek", "locale", "i18n", "showRanges", "showCustomRangeLabel", "rangesConfig", "showBackdrop", "disabled", "defaultPosition"], outputs: ["opened", "closed", "dateSelected", "periodSelected"] }, { kind: "directive", type: DropdownTriggerDirective, selector: "[apDropdownTrigger]", inputs: ["apDropdownTrigger"] }, { kind: "component", type: IconButtonComponent, selector: "ap-icon-button", inputs: ["ariaLabel", "name", "color", "disabled", "menuTrigger", "symbolId", "locked", "loading", "type"], outputs: ["onClick", "onFocus", "onBlur", "menuOpened", "menuClosed"] }, { kind: "directive", type: InputDirective, selector: "[apInput]" }, { kind: "component", type: InputGroupComponent, selector: "ap-input-group", inputs: ["symbolPosition"] }, { kind: "component", type: SymbolComponent, selector: "ap-symbol", inputs: ["symbolId", "color", "size"], outputs: ["sizeChange"] }, { kind: "component", type: FormFieldComponent, selector: "ap-form-field" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
517
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "22.0.5", type: InputDatepickerComponent, isStandalone: true, selector: "ap-input-datepicker", inputs: { mode: { classPropertyName: "mode", publicName: "mode", isSignal: true, isRequired: true, transformFunction: null }, label: { classPropertyName: "label", publicName: "label", isSignal: true, isRequired: false, transformFunction: null }, placeholder: { classPropertyName: "placeholder", publicName: "placeholder", isSignal: true, isRequired: false, transformFunction: null }, firstDayOfWeek: { classPropertyName: "firstDayOfWeek", publicName: "firstDayOfWeek", isSignal: true, isRequired: false, transformFunction: null }, locale: { classPropertyName: "locale", publicName: "locale", isSignal: true, isRequired: false, transformFunction: null }, dateFormat: { classPropertyName: "dateFormat", publicName: "dateFormat", isSignal: true, isRequired: false, transformFunction: null }, disabled: { classPropertyName: "disabled", publicName: "disabled", isSignal: true, isRequired: false, transformFunction: null }, minDate: { classPropertyName: "minDate", publicName: "minDate", isSignal: true, isRequired: false, transformFunction: null }, maxDate: { classPropertyName: "maxDate", publicName: "maxDate", isSignal: true, isRequired: false, transformFunction: null }, selectedDate: { classPropertyName: "selectedDate", publicName: "selectedDate", isSignal: true, isRequired: false, transformFunction: null }, selectedDates: { classPropertyName: "selectedDates", publicName: "selectedDates", isSignal: true, isRequired: false, transformFunction: null }, selectedPeriod: { classPropertyName: "selectedPeriod", publicName: "selectedPeriod", isSignal: true, isRequired: false, transformFunction: null }, i18n: { classPropertyName: "i18n", publicName: "i18n", isSignal: true, isRequired: false, transformFunction: null }, showRanges: { classPropertyName: "showRanges", publicName: "showRanges", isSignal: true, isRequired: false, transformFunction: null }, showCustomRangeLabel: { classPropertyName: "showCustomRangeLabel", publicName: "showCustomRangeLabel", isSignal: true, isRequired: false, transformFunction: null }, rangesConfig: { classPropertyName: "rangesConfig", publicName: "rangesConfig", isSignal: true, isRequired: false, transformFunction: null }, showBackdrop: { classPropertyName: "showBackdrop", publicName: "showBackdrop", isSignal: true, isRequired: false, transformFunction: null }, defaultPosition: { classPropertyName: "defaultPosition", publicName: "defaultPosition", isSignal: true, isRequired: false, transformFunction: null }, clearable: { classPropertyName: "clearable", publicName: "clearable", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { periodChanged: "periodChanged", dateSelected: "dateSelected" }, providers: [withSymbols(apCalendar, apChevronDown, apClose)], ngImport: i0, template: "<ap-form-field>\n @let vLabel = label();\n @if (vLabel) {\n <label for=\"datepicker\">\n {{ vLabel }}\n </label>\n }\n <ap-input-group\n [apDropdownTrigger]=\"datepickerDropdown\"\n symbolPosition=\"left\">\n <ap-symbol\n size=\"sm\"\n symbolId=\"calendar\" />\n <input\n apInput\n id=\"datepicker\"\n readonly\n (blur)=\"onTouched()\"\n [disabled]=\"disabled() || isDisabled()\"\n [placeholder]=\"placeholder()\"\n [value]=\"displayedDate()\"\n type=\"text\" />\n @if (clearable() && displayedDate() && !disabled() && !isDisabled()) {\n <ap-icon-button\n class=\"ap-input-datepicker__clear\"\n type=\"flat\"\n name=\"datepicker-clear\"\n symbolId=\"close\"\n ariaLabel=\"Clear date range\"\n (click)=\"onClear($event)\" />\n }\n </ap-input-group>\n</ap-form-field>\n\n<ap-datepicker-dropdown\n #datepickerDropdown\n [defaultPosition]=\"defaultPosition()\"\n [disabled]=\"disabled() || isDisabled()\"\n [firstDayOfWeek]=\"firstDayOfWeek()\"\n [i18n]=\"i18n()\"\n [locale]=\"locale()\"\n [maxDate]=\"maxDate()\"\n [minDate]=\"minDate()\"\n [mode]=\"mode()\"\n [rangesConfig]=\"rangesConfig()\"\n [selectedDate]=\"selectedDate()\"\n [selectedDates]=\"selectedDates()\"\n [selectedPeriod]=\"periodRange()\"\n [showBackdrop]=\"showBackdrop()\"\n [showCustomRangeLabel]=\"showCustomRangeLabel()\"\n (dateSelected)=\"dateSelected.emit($event)\"\n (periodSelected)=\"onPeriodSelected($event)\"\n [showRanges]=\"showRanges()\" />\n", styles: [".ap-input-datepicker__clear ::ng-deep .icon-button:hover:not(.stroked):not(.locked),.ap-input-datepicker__clear ::ng-deep .icon-button:active:not(.stroked):not(.locked){background:transparent}.ap-input-datepicker__clear ::ng-deep .icon-button ap-symbol{width:var(--sys-icon-css-xs);min-width:var(--sys-icon-css-xs);height:var(--sys-icon-css-xs);min-height:var(--sys-icon-css-xs)}.ap-input-datepicker__clear:hover ::ng-deep .icon-button ap-symbol{color:var(--sys-color-error-text)}:host ::ng-deep .ap-input-group:has(.ap-input-datepicker__clear){padding-right:0}\n"], dependencies: [{ kind: "component", type: DatepickerDropdownComponent, selector: "ap-datepicker-dropdown", inputs: ["mode", "selectedDate", "selectedDates", "selectedPeriod", "minDate", "maxDate", "dateLimit", "hint", "firstDayOfWeek", "locale", "i18n", "showRanges", "showCustomRangeLabel", "rangesConfig", "showBackdrop", "closeOnSelect", "disabled", "defaultPosition"], outputs: ["opened", "closed", "dateSelected", "periodSelected"] }, { kind: "directive", type: DropdownTriggerDirective, selector: "[apDropdownTrigger]", inputs: ["apDropdownTrigger"] }, { kind: "component", type: IconButtonComponent, selector: "ap-icon-button", inputs: ["ariaLabel", "name", "color", "disabled", "menuTrigger", "symbolId", "locked", "loading", "type"], outputs: ["onClick", "onFocus", "onBlur", "menuOpened", "menuClosed"] }, { kind: "directive", type: InputDirective, selector: "[apInput]" }, { kind: "component", type: InputGroupComponent, selector: "ap-input-group", inputs: ["symbolPosition"] }, { kind: "component", type: SymbolComponent, selector: "ap-symbol", inputs: ["symbolId", "color", "size"], outputs: ["sizeChange"] }, { kind: "component", type: FormFieldComponent, selector: "ap-form-field" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
506
518
|
}
|
|
507
519
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.5", ngImport: i0, type: InputDatepickerComponent, decorators: [{
|
|
508
520
|
type: Component,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"agorapulse-ui-components-datepicker.mjs","sources":["../../../libs/ui-components/datepicker/src/datepicker/datepicker.component.ts","../../../libs/ui-components/datepicker/src/datepicker/datepicker.component.html","../../../libs/ui-components/datepicker/src/datepicker-dropdown/datepicker-dropdown.component.ts","../../../libs/ui-components/datepicker/src/datepicker-dropdown/datepicker-dropdown.component.html","../../../libs/ui-components/datepicker/src/input-datepicker/input-datepicker.component.ts","../../../libs/ui-components/datepicker/src/input-datepicker/input-datepicker.component.html","../../../libs/ui-components/datepicker/src/agorapulse-ui-components-datepicker.ts"],"sourcesContent":["import { SymbolComponent, SymbolRegistry, apArrowLeft, apArrowRight } from '@agorapulse/ui-symbol';\n\nimport { DaterangepickerComponent, NgxDaterangepickerMd } from '@agorapulse/ngx-daterangepicker-material';\nimport {\n AfterViewInit,\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n EventEmitter,\n Input,\n OnChanges,\n OnInit,\n Output,\n SimpleChanges,\n ViewChild,\n input,\n} from '@angular/core';\nimport dayjs from 'dayjs';\nimport 'dayjs/locale/de';\nimport 'dayjs/locale/en';\nimport 'dayjs/locale/es';\nimport 'dayjs/locale/fr';\nimport 'dayjs/locale/pt';\nimport localeData from 'dayjs/plugin/localeData';\n\nexport enum DatepickerMode {\n Single = 'Single',\n Multiple = 'Multiple',\n Range = 'Range',\n}\n\nexport interface Period {\n startDate?: dayjs.Dayjs;\n endDate?: dayjs.Dayjs;\n}\n\nexport interface StartDate {\n startDate: dayjs.Dayjs;\n}\n\nexport interface I18nDatePicker {\n ranges: {\n yesterday: string;\n lastWeek: string;\n last30Days: string;\n lastMonth: string;\n thisMonth: string;\n [other: string]: string;\n };\n}\n\nenum SideEnum {\n left = 'left',\n right = 'right',\n}\n\nexport type FirstDayOfWeek = 'sunday' | 'monday';\n\nexport type Locale = 'en' | 'fr' | 'es' | 'de';\n\nexport type RangesConfigPresetType = { [periodText: string]: [dayjs.Dayjs, dayjs.Dayjs] };\nexport const RangesConfigPreset = {\n yesterday: [dayjs().subtract(1, 'days'), dayjs().subtract(1, 'days')],\n lastWeek: [dayjs().subtract(7, 'days'), dayjs().subtract(1, 'days')],\n last30Days: [dayjs().subtract(30, 'days'), dayjs().subtract(1, 'days')],\n lastMonth: [dayjs().subtract(1, 'month').startOf('month'), dayjs().subtract(1, 'month').endOf('month')],\n thisMonth: [dayjs().startOf('month'), dayjs().endOf('month')],\n\n lastWeekFromToday: [dayjs().subtract(6, 'days'), dayjs()],\n lastMonthFromToday: [dayjs().subtract(1, 'month').add(1, 'days'), dayjs()],\n last3MonthsFromToday: [dayjs().subtract(3, 'month').add(1, 'days'), dayjs()],\n last6MonthsFromToday: [dayjs().subtract(6, 'month').add(1, 'days'), dayjs()],\n lastYearFromToday: [dayjs().subtract(1, 'year').add(1, 'days'), dayjs()],\n} satisfies RangesConfigPresetType;\n\n// TODO fix css for range mode (more lateral padding)\n@Component({\n changeDetection: ChangeDetectionStrategy.OnPush,\n selector: 'ap-datepicker',\n templateUrl: './datepicker.component.html',\n imports: [SymbolComponent, NgxDaterangepickerMd],\n styleUrls: ['./datepicker.component.scss'],\n})\nexport class DatepickerComponent implements OnInit, OnChanges, AfterViewInit {\n @ViewChild('datepickerRef') datepickerRef!: DaterangepickerComponent;\n\n @Input() firstDayOfWeek = 'monday';\n @Input() i18n: I18nDatePicker = {\n ranges: {\n yesterday: 'Yesterday',\n lastWeek: 'Last Week',\n last30Days: 'Last 30 days',\n lastMonth: 'Previous month',\n thisMonth: 'This month',\n },\n };\n @Input() locale = 'en';\n @Input() set maxDate(maxDate: dayjs.Dayjs | undefined) {\n if (maxDate) {\n this.maxDateStr = maxDate.toISOString();\n } else {\n this.maxDateStr = '';\n }\n }\n @Input() set minDate(minDate: dayjs.Dayjs | undefined) {\n if (minDate) {\n this.minDateStr = minDate.toISOString();\n } else {\n this.minDateStr = '';\n }\n }\n @Input({\n required: true,\n })\n mode!: DatepickerMode;\n @Input() selectedDate: dayjs.Dayjs | undefined = undefined;\n @Input() selectedDates: dayjs.Dayjs[] = [];\n @Input() selectedPeriod: Period = { startDate: undefined, endDate: undefined };\n @Input() showRanges = false;\n showCustomRangeLabel = input<boolean>(false);\n\n @Output() dateSelected = new EventEmitter<any>();\n @Output() periodSelected = new EventEmitter<Period>();\n\n DatepickerMode = DatepickerMode;\n doubleCalendarWidth = 528; // 231px calendar table * 2 = 462 (+ 16px x-padding * 4 = 64)\n localeConfig!: {\n customRangeLabel: string;\n daysOfWeek: string[];\n monthNames: string[];\n firstDay: number;\n };\n rangesConfig = input<RangesConfigPresetType | null>(null);\n ranges: RangesConfigPresetType = {};\n rangePickerWidth = 150;\n width = 0;\n pageSet = false;\n maxDateStr: string = '';\n minDateStr: string = '';\n constructor(\n public changeDetectorRef: ChangeDetectorRef,\n public symbolRegistry: SymbolRegistry\n ) {\n this.symbolRegistry.registerSymbols([apArrowLeft, apArrowRight]);\n }\n\n ngOnInit() {\n dayjs.extend(localeData);\n const rangesConfig = this.rangesConfig();\n if (rangesConfig) {\n this.ranges = rangesConfig;\n } else {\n // if config not defined - init default ranges\n this.initRanges();\n }\n this.initDatePickerLocale();\n }\n\n ngOnChanges(changes: SimpleChanges) {\n this.setWidth();\n if (this.datepickerRef) {\n setTimeout(() => {\n this.datepickerRef.updateCalendars();\n this.changeDetectorRef.detectChanges();\n }, 100);\n }\n if (changes.selectedPeriod?.currentValue && this.datepickerRef) {\n if (this.selectedPeriod.startDate === null && this.selectedPeriod.endDate === null) {\n this.datepickerRef.clear();\n } else {\n this.datepickerRef.setStartDate(this.selectedPeriod?.startDate ?? dayjs(undefined));\n this.datepickerRef.setEndDate(this.selectedPeriod.endDate ?? dayjs(undefined));\n }\n }\n if (changes.mode?.currentValue === DatepickerMode.Single && this.datepickerRef) {\n this.setCalendarCurrentPage();\n }\n }\n ngAfterViewInit(): void {\n if (this.datepickerRef) {\n setTimeout(() => {\n if (this.mode === DatepickerMode.Range && this.selectedPeriod?.startDate) {\n this.datepickerRef.setStartDate(this.selectedPeriod.startDate);\n this.datepickerRef.setEndDate(this.selectedPeriod.endDate ?? this.selectedPeriod.startDate);\n }\n this.datepickerRef.updateCalendars();\n this.setCalendarCurrentPage();\n }, 100);\n }\n }\n\n initDatePickerLocale() {\n if (this.locale) {\n dayjs.locale(this.locale);\n }\n let firstDayOfWeekIndex: number;\n if (this.firstDayOfWeek === 'sunday') {\n firstDayOfWeekIndex = 0;\n } else if (this.firstDayOfWeek === 'monday') {\n firstDayOfWeekIndex = 1;\n } else {\n firstDayOfWeekIndex = dayjs.localeData().firstDayOfWeek();\n }\n this.localeConfig = {\n customRangeLabel: 'Custom',\n daysOfWeek: dayjs.weekdaysMin(),\n monthNames: dayjs.months(),\n firstDay: firstDayOfWeekIndex,\n };\n }\n\n private initRanges(): void {\n this.ranges[this.i18n.ranges.yesterday] = RangesConfigPreset.yesterday;\n this.ranges[this.i18n.ranges.lastWeek] = RangesConfigPreset.lastWeek;\n this.ranges[this.i18n.ranges.last30Days] = RangesConfigPreset.last30Days;\n this.ranges[this.i18n.ranges.lastMonth] = RangesConfigPreset.lastMonth;\n this.ranges[this.i18n.ranges.thisMonth] = RangesConfigPreset.thisMonth;\n }\n\n isCustomDate = (date: any) => {\n const classes: string[] = [];\n if (this.mode === DatepickerMode.Multiple) {\n classes.push(this.isSelected(date) ? 'active' : 'force-inactive');\n } else if (this.mode === DatepickerMode.Single) {\n classes.push(this.selectedDate && this.selectedDate.isSame(date, 'day') ? 'active' : 'force-inactive');\n } else if (this.mode === DatepickerMode.Range) {\n classes.push('range-picker-mode');\n // Workaround to fix the auto-active today date when no date is selected\n if (dayjs().isSame(date, 'day') && !this.selectedPeriod?.startDate && !this.selectedPeriod?.endDate) {\n classes.push('force-inactive');\n }\n }\n return classes;\n };\n\n private isSelected(date: any) {\n return this.selectedDates && this.selectedDates.some(selectedDate => selectedDate.isSame(date, 'day'));\n }\n\n onStartDateChanged(event: StartDate) {\n const date = event.startDate.toDate();\n const dateLocalTime = new Date(date.getTime());\n const dayJsDate = dayjs(dateLocalTime);\n if (this.mode !== DatepickerMode.Range) {\n this.selectedDate = dayJsDate;\n this.datepickerRef.setEndDate(dayJsDate);\n if (this.pageSet) {\n this.pageSet = false;\n } else {\n this.dateSelected.emit(dayJsDate.clone());\n if (this.mode === DatepickerMode.Multiple) {\n this.selectedDates.push(dayJsDate);\n }\n }\n if (this.datepickerRef) {\n this.datepickerRef.updateCalendars();\n }\n }\n }\n\n onDatesUpdated(event: Period) {\n if (this.mode === DatepickerMode.Range) {\n const startDate = event.startDate?.toDate();\n const startDateLocalTime = startDate ? new Date(startDate.getTime()) : new Date();\n const endDate = event.endDate?.toDate();\n const endDateLocalTime = endDate ? new Date(endDate.getTime()) : new Date();\n this.periodSelected.emit({\n startDate: dayjs(startDateLocalTime).startOf('day'),\n endDate: dayjs(endDateLocalTime).endOf('day'),\n });\n }\n if (this.datepickerRef) {\n this.datepickerRef.updateCalendars();\n }\n }\n\n onNextMonth() {\n this.datepickerRef.clickNext(SideEnum.right);\n }\n\n onPreviousMonth() {\n this.datepickerRef.clickPrev(SideEnum.left);\n }\n\n /**\n * Ugly hack used here to open the calendar on the right day if they are selected dates\n * * https://github.com/fetrarij/ngx-daterangepicker-material/issues/139\n */\n setCalendarCurrentPage(): void {\n const selectedFirstDate = this.selectedDates.length > 0 ? this.selectedDates[0] : this.selectedDate;\n if (selectedFirstDate && selectedFirstDate.isValid() && this.mode !== DatepickerMode.Range) {\n const endDate = selectedFirstDate.clone();\n endDate.add(1, 'month');\n this.pageSet = true;\n this.datepickerRef.setStartDate(selectedFirstDate);\n this.datepickerRef.setEndDate(endDate);\n this.datepickerRef.updateView();\n }\n this.changeDetectorRef.detectChanges();\n }\n\n setWidth() {\n this.width =\n this.showRanges && this.mode === DatepickerMode.Range\n ? this.doubleCalendarWidth + this.rangePickerWidth\n : this.doubleCalendarWidth;\n }\n}\n","<div\n class=\"custom-calendar\"\n [style.width]=\"width + 'px'\">\n <div class=\"custom-header\">\n @if (datepickerRef.leftCalendar.month) {\n <div class=\"month-header\">\n <div\n class=\"month-arrow-button\"\n aria-label=\"Previous month\"\n tabindex=\"0\"\n (click)=\"onPreviousMonth()\">\n <ap-symbol\n symbolId=\"arrow-left\"\n [color]=\"'#858FA1'\"\n [size]=\"14\" />\n </div>\n <div class=\"month-label\">\n {{ datepickerRef.leftCalendar.month.locale(locale).format('MMMM YYYY') }}\n </div>\n </div>\n }\n @if (datepickerRef.rightCalendar.month) {\n <div class=\"month-header\">\n <div class=\"month-label\">\n {{ datepickerRef.rightCalendar.month.locale(locale).format('MMMM YYYY') }}\n </div>\n <div\n class=\"month-arrow-button\"\n aria-label=\"Next month\"\n tabindex=\"-1\"\n (click)=\"onNextMonth()\">\n <ap-symbol\n symbolId=\"arrow-right\"\n [color]=\"'#858FA1'\"\n [size]=\"14\" />\n </div>\n </div>\n }\n @if (showRanges && mode === DatepickerMode.Range) {\n <div class=\"header-filler\"></div>\n }\n </div>\n <ngx-daterangepicker-material\n #datepickerRef\n [class.hide-ranges]=\"!showRanges\"\n [alwaysShowCalendars]=\"true\"\n [autoApply]=\"true\"\n [customRangeDirection]=\"true\"\n [linkedCalendars]=\"true\"\n [isCustomDate]=\"$any(isCustomDate)\"\n [locale]=\"localeConfig\"\n [maxDate]=\"maxDateStr\"\n [minDate]=\"minDateStr\"\n [ranges]=\"showRanges && mode === DatepickerMode.Range ? ranges : $any(null)\"\n [showCustomRangeLabel]=\"showCustomRangeLabel()\"\n (datesUpdated)=\"onDatesUpdated($event)\"\n (startDateChanged)=\"onStartDateChanged($event)\" />\n</div>\n","import { createDropdownOverlay, DropdownOverlay } from '@agorapulse/ui-components/dropdown-base';\nimport { ChangeDetectionStrategy, Component, computed, input, output, TemplateRef, viewChild } from '@angular/core';\nimport dayjs from 'dayjs';\nimport { DatepickerComponent, DatepickerMode, I18nDatePicker, Period, RangesConfigPresetType } from '../datepicker/datepicker.component';\n\nconst DEFAULT_I18N: I18nDatePicker = {\n ranges: {\n yesterday: 'Yesterday',\n lastWeek: 'Last Week',\n last30Days: 'Last 30 days',\n lastMonth: 'Previous month',\n thisMonth: 'This month',\n },\n};\n\n/**\n * A dropdown component that displays a datepicker (single, multiple, or range mode)\n * in an overlay. Exposes open/close/toggle so it can be driven by apDropdownTrigger.\n */\n@Component({\n changeDetection: ChangeDetectionStrategy.OnPush,\n selector: 'ap-datepicker-dropdown',\n templateUrl: './datepicker-dropdown.component.html',\n styleUrls: ['./datepicker-dropdown.component.scss'],\n imports: [DatepickerComponent],\n})\nexport class DatepickerDropdownComponent implements DropdownOverlay {\n datepickerDropdownTemplate = viewChild<TemplateRef<unknown>>('datepickerDropdownTemplate');\n mode = input.required<DatepickerMode>();\n selectedDate = input<dayjs.Dayjs | undefined>(undefined);\n selectedDates = input<dayjs.Dayjs[]>([]);\n selectedPeriod = input<Period>({ startDate: undefined, endDate: undefined });\n minDate = input<dayjs.Dayjs | undefined>(undefined);\n maxDate = input<dayjs.Dayjs | undefined>(undefined);\n firstDayOfWeek = input<'monday' | 'sunday'>('monday');\n locale = input('en');\n i18n = input<I18nDatePicker | undefined>(undefined);\n protected readonly effectiveI18n = computed(() => this.i18n() ?? DEFAULT_I18N);\n showRanges = input(false);\n showCustomRangeLabel = input(false);\n rangesConfig = input<RangesConfigPresetType | null>(null);\n showBackdrop = input(true);\n disabled = input(false);\n defaultPosition = input<'right' | 'left'>('right');\n opened = output<void>();\n closed = output<void>();\n dateSelected = output<dayjs.Dayjs>();\n periodSelected = output<Period>();\n private readonly overlay = createDropdownOverlay();\n readonly isOpen = this.overlay.isOpen;\n\n open(triggerElement?: HTMLElement): void {\n const template = this.datepickerDropdownTemplate();\n if (this.disabled() || this.isOpen() || !template) return;\n\n this.overlay.open(template, triggerElement, {\n showBackdrop: this.showBackdrop(),\n defaultPosition: this.defaultPosition(),\n onClose: () => this.close(),\n });\n this.opened.emit();\n }\n\n close(): void {\n if (!this.isOpen()) return;\n this.overlay.close();\n this.closed.emit();\n }\n\n toggle(triggerElement?: HTMLElement): void {\n if (this.isOpen()) {\n this.close();\n } else {\n this.open(triggerElement);\n }\n }\n\n onDateSelected(date: dayjs.Dayjs): void {\n this.dateSelected.emit(date);\n if (this.mode() !== DatepickerMode.Multiple) {\n this.close();\n }\n }\n\n onPeriodSelected(period: Period): void {\n this.periodSelected.emit(period);\n if (period.startDate && period.endDate) {\n this.close();\n }\n }\n}\n","<ng-template #datepickerDropdownTemplate>\n <div\n class=\"ap-datepicker-dropdown__content\"\n role=\"dialog\"\n aria-label=\"Datepicker\"\n tabindex=\"-1\">\n <ap-datepicker\n [firstDayOfWeek]=\"firstDayOfWeek()\"\n [i18n]=\"effectiveI18n()\"\n [locale]=\"locale()\"\n [maxDate]=\"maxDate()\"\n [minDate]=\"minDate()\"\n [mode]=\"mode()\"\n [rangesConfig]=\"rangesConfig()\"\n [selectedDate]=\"selectedDate()\"\n [selectedDates]=\"selectedDates()\"\n [selectedPeriod]=\"selectedPeriod()\"\n [showCustomRangeLabel]=\"showCustomRangeLabel()\"\n (click)=\"$event.stopPropagation()\"\n (dateSelected)=\"onDateSelected($event)\"\n (periodSelected)=\"onPeriodSelected($event)\"\n [showRanges]=\"showRanges()\" />\n </div>\n</ng-template>\n","import { DropdownTriggerDirective } from '@agorapulse/ui-components/dropdown-base';\nimport { FormFieldComponent } from '@agorapulse/ui-components/form-field';\nimport { IconButtonComponent } from '@agorapulse/ui-components/icon-button';\nimport { InputDirective } from '@agorapulse/ui-components/input';\nimport { InputGroupComponent } from '@agorapulse/ui-components/input-group';\nimport { apCalendar, apChevronDown, apClose, SymbolComponent, withSymbols } from '@agorapulse/ui-symbol';\nimport { ChangeDetectionStrategy, Component, computed, effect, input, output, signal } from '@angular/core';\nimport { ControlValueAccessor } from '@angular/forms';\nimport dayjs from 'dayjs';\nimport { DatepickerDropdownComponent } from '../datepicker-dropdown/datepicker-dropdown.component';\nimport { DatepickerMode, FirstDayOfWeek, I18nDatePicker, Locale, Period, RangesConfigPresetType } from '../datepicker/datepicker.component';\n\nexport const defaultPeriodSelected: Period = { startDate: undefined, endDate: undefined };\n\n@Component({\n changeDetection: ChangeDetectionStrategy.OnPush,\n selector: 'ap-input-datepicker',\n templateUrl: './input-datepicker.component.html',\n styleUrl: './input-datepicker.component.scss',\n imports: [\n DatepickerDropdownComponent,\n DropdownTriggerDirective,\n IconButtonComponent,\n InputDirective,\n InputGroupComponent,\n SymbolComponent,\n FormFieldComponent,\n SymbolComponent,\n ],\n providers: [withSymbols(apCalendar, apChevronDown, apClose)],\n})\nexport class InputDatepickerComponent implements ControlValueAccessor {\n mode = input.required<DatepickerMode>();\n label = input<string | undefined>('Select date');\n placeholder = input('Select date');\n firstDayOfWeek = input<FirstDayOfWeek>('monday');\n locale = input<Locale>('en');\n dateFormat = input('MM/DD/YYYY');\n disabled = input(false);\n minDate = input<dayjs.Dayjs | undefined>(undefined);\n maxDate = input<dayjs.Dayjs | undefined>(undefined);\n selectedDate = input<dayjs.Dayjs | undefined>(undefined);\n selectedDates = input<dayjs.Dayjs[]>([]);\n selectedPeriod = input<Period | undefined>(undefined);\n i18n = input<I18nDatePicker | undefined>(undefined);\n showRanges = input(false);\n showCustomRangeLabel = input(false);\n rangesConfig = input<RangesConfigPresetType | null>(null);\n showBackdrop = input(true);\n defaultPosition = input<'right' | 'left'>('right');\n /** Show a clear (X) inside the input when a value is selected. Off by default. */\n clearable = input(false);\n periodRange = signal<Period>(defaultPeriodSelected);\n isDisabled = signal(false);\n periodChanged = output<Period>();\n dateSelected = output<dayjs.Dayjs>();\n displayedDate = computed(() => {\n const { startDate, endDate } = this.periodRange();\n const dateFormat = this.dateFormat() ?? 'MM/DD/YYYY';\n const locale = this.locale();\n if (startDate && endDate) {\n return `${dayjs(startDate).locale(locale).format(dateFormat)} - ${dayjs(endDate).locale(locale).format(dateFormat)}`;\n }\n return '';\n });\n initPeriodRange = effect(() => {\n const selected = this.selectedPeriod();\n if (selected && selected.startDate && selected.endDate) {\n this.periodRange.set({\n startDate: dayjs(selected.startDate),\n endDate: dayjs(selected.endDate),\n });\n } else {\n this.periodRange.set(defaultPeriodSelected);\n }\n });\n\n onTouched: () => void = () => {};\n onChange: (value: Period) => void = () => {};\n\n onPeriodSelected(period: Period): void {\n if (period.startDate && period.endDate) {\n this.periodRange.set(period);\n this.onChange(period);\n this.periodChanged.emit(period);\n } else {\n this.periodRange.set(defaultPeriodSelected);\n this.onChange(defaultPeriodSelected);\n }\n }\n\n /** Clear the selected period. Stops propagation so it doesn't reopen the calendar. */\n onClear(event: Event): void {\n event.stopPropagation();\n this.periodRange.set(defaultPeriodSelected);\n this.onChange(defaultPeriodSelected);\n this.periodChanged.emit(defaultPeriodSelected);\n }\n\n writeValue(value: Period): void {\n if (value && value.startDate && value.endDate) {\n this.periodRange.set({\n startDate: dayjs(value.startDate),\n endDate: dayjs(value.endDate),\n });\n } else {\n this.periodRange.set(defaultPeriodSelected);\n }\n }\n\n registerOnChange(fn: (value: Period) => void): void {\n this.onChange = fn;\n }\n\n registerOnTouched(fn: () => void): void {\n this.onTouched = fn;\n }\n\n setDisabledState(isDisabled: boolean): void {\n this.isDisabled.set(isDisabled);\n }\n}\n","<ap-form-field>\n @let vLabel = label();\n @if (vLabel) {\n <label for=\"datepicker\">\n {{ vLabel }}\n </label>\n }\n <ap-input-group\n [apDropdownTrigger]=\"datepickerDropdown\"\n symbolPosition=\"left\">\n <ap-symbol\n size=\"sm\"\n symbolId=\"calendar\" />\n <input\n apInput\n id=\"datepicker\"\n readonly\n (blur)=\"onTouched()\"\n [disabled]=\"disabled() || isDisabled()\"\n [placeholder]=\"placeholder()\"\n [value]=\"displayedDate()\"\n type=\"text\" />\n @if (clearable() && displayedDate() && !disabled() && !isDisabled()) {\n <ap-icon-button\n class=\"ap-input-datepicker__clear\"\n type=\"flat\"\n name=\"datepicker-clear\"\n symbolId=\"close\"\n ariaLabel=\"Clear date range\"\n (click)=\"onClear($event)\" />\n }\n </ap-input-group>\n</ap-form-field>\n\n<ap-datepicker-dropdown\n #datepickerDropdown\n [defaultPosition]=\"defaultPosition()\"\n [disabled]=\"disabled() || isDisabled()\"\n [firstDayOfWeek]=\"firstDayOfWeek()\"\n [i18n]=\"i18n()\"\n [locale]=\"locale()\"\n [maxDate]=\"maxDate()\"\n [minDate]=\"minDate()\"\n [mode]=\"mode()\"\n [rangesConfig]=\"rangesConfig()\"\n [selectedDate]=\"selectedDate()\"\n [selectedDates]=\"selectedDates()\"\n [selectedPeriod]=\"periodRange()\"\n [showBackdrop]=\"showBackdrop()\"\n [showCustomRangeLabel]=\"showCustomRangeLabel()\"\n (dateSelected)=\"dateSelected.emit($event)\"\n (periodSelected)=\"onPeriodSelected($event)\"\n [showRanges]=\"showRanges()\" />\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public_api';\n"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"agorapulse-ui-components-datepicker.mjs","sources":["../../../libs/ui-components/datepicker/src/datepicker/datepicker.component.ts","../../../libs/ui-components/datepicker/src/datepicker/datepicker.component.html","../../../libs/ui-components/datepicker/src/datepicker-dropdown/datepicker-dropdown.component.ts","../../../libs/ui-components/datepicker/src/datepicker-dropdown/datepicker-dropdown.component.html","../../../libs/ui-components/datepicker/src/input-datepicker/input-datepicker.component.ts","../../../libs/ui-components/datepicker/src/input-datepicker/input-datepicker.component.html","../../../libs/ui-components/datepicker/src/agorapulse-ui-components-datepicker.ts"],"sourcesContent":["import { SymbolComponent, SymbolRegistry, apArrowLeft, apArrowRight } from '@agorapulse/ui-symbol';\n\nimport { DaterangepickerComponent, NgxDaterangepickerMd } from '@agorapulse/ngx-daterangepicker-material';\nimport {\n AfterViewInit,\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n EventEmitter,\n Input,\n OnChanges,\n OnInit,\n Output,\n SimpleChanges,\n ViewChild,\n input,\n} from '@angular/core';\nimport dayjs from 'dayjs';\nimport 'dayjs/locale/de';\nimport 'dayjs/locale/en';\nimport 'dayjs/locale/es';\nimport 'dayjs/locale/fr';\nimport 'dayjs/locale/pt';\nimport localeData from 'dayjs/plugin/localeData';\n\nexport enum DatepickerMode {\n Single = 'Single',\n Multiple = 'Multiple',\n Range = 'Range',\n}\n\nexport interface Period {\n startDate?: dayjs.Dayjs;\n endDate?: dayjs.Dayjs;\n}\n\nexport interface StartDate {\n startDate: dayjs.Dayjs;\n}\n\nexport interface I18nDatePicker {\n ranges: {\n yesterday: string;\n lastWeek: string;\n last30Days: string;\n lastMonth: string;\n thisMonth: string;\n [other: string]: string;\n };\n /** Label of the \"Custom\" range entry shown when `showCustomRangeLabel` is enabled. Defaults to 'Custom'. */\n customRangeLabel?: string;\n}\n\nenum SideEnum {\n left = 'left',\n right = 'right',\n}\n\nexport type FirstDayOfWeek = 'sunday' | 'monday';\n\nexport type Locale = 'en' | 'fr' | 'es' | 'de';\n\nexport type RangesConfigPresetType = { [periodText: string]: [dayjs.Dayjs, dayjs.Dayjs] };\nexport const RangesConfigPreset = {\n yesterday: [dayjs().subtract(1, 'days'), dayjs().subtract(1, 'days')],\n lastWeek: [dayjs().subtract(7, 'days'), dayjs().subtract(1, 'days')],\n last30Days: [dayjs().subtract(30, 'days'), dayjs().subtract(1, 'days')],\n lastMonth: [dayjs().subtract(1, 'month').startOf('month'), dayjs().subtract(1, 'month').endOf('month')],\n thisMonth: [dayjs().startOf('month'), dayjs().endOf('month')],\n\n lastWeekFromToday: [dayjs().subtract(6, 'days'), dayjs()],\n lastMonthFromToday: [dayjs().subtract(1, 'month').add(1, 'days'), dayjs()],\n last3MonthsFromToday: [dayjs().subtract(3, 'month').add(1, 'days'), dayjs()],\n last6MonthsFromToday: [dayjs().subtract(6, 'month').add(1, 'days'), dayjs()],\n lastYearFromToday: [dayjs().subtract(1, 'year').add(1, 'days'), dayjs()],\n} satisfies RangesConfigPresetType;\n\n// TODO fix css for range mode (more lateral padding)\n@Component({\n changeDetection: ChangeDetectionStrategy.OnPush,\n selector: 'ap-datepicker',\n templateUrl: './datepicker.component.html',\n imports: [SymbolComponent, NgxDaterangepickerMd],\n styleUrls: ['./datepicker.component.scss'],\n})\nexport class DatepickerComponent implements OnInit, OnChanges, AfterViewInit {\n @ViewChild('datepickerRef') datepickerRef!: DaterangepickerComponent;\n\n @Input() firstDayOfWeek = 'monday';\n @Input() i18n: I18nDatePicker = {\n ranges: {\n yesterday: 'Yesterday',\n lastWeek: 'Last Week',\n last30Days: 'Last 30 days',\n lastMonth: 'Previous month',\n thisMonth: 'This month',\n },\n };\n @Input() locale = 'en';\n @Input() set maxDate(maxDate: dayjs.Dayjs | undefined) {\n if (maxDate) {\n this.maxDateStr = maxDate.toISOString();\n } else {\n this.maxDateStr = '';\n }\n }\n @Input() set minDate(minDate: dayjs.Dayjs | undefined) {\n if (minDate) {\n this.minDateStr = minDate.toISOString();\n } else {\n this.minDateStr = '';\n }\n }\n @Input({\n required: true,\n })\n mode!: DatepickerMode;\n @Input() selectedDate: dayjs.Dayjs | undefined = undefined;\n @Input() selectedDates: dayjs.Dayjs[] = [];\n @Input() selectedPeriod: Period = { startDate: undefined, endDate: undefined };\n /** Maximum number of days between the start and the end date in Range mode. Undefined means no limit. */\n dateLimit = input<number | undefined>(undefined);\n @Input() showRanges = false;\n showCustomRangeLabel = input<boolean>(false);\n\n @Output() dateSelected = new EventEmitter<any>();\n @Output() periodSelected = new EventEmitter<Period>();\n\n DatepickerMode = DatepickerMode;\n doubleCalendarWidth = 528; // 231px calendar table * 2 = 462 (+ 16px x-padding * 4 = 64)\n localeConfig!: {\n customRangeLabel: string;\n daysOfWeek: string[];\n monthNames: string[];\n firstDay: number;\n };\n rangesConfig = input<RangesConfigPresetType | null>(null);\n ranges: RangesConfigPresetType = {};\n rangePickerWidth = 150;\n width = 0;\n pageSet = false;\n maxDateStr: string = '';\n minDateStr: string = '';\n constructor(\n public changeDetectorRef: ChangeDetectorRef,\n public symbolRegistry: SymbolRegistry\n ) {\n this.symbolRegistry.registerSymbols([apArrowLeft, apArrowRight]);\n }\n\n ngOnInit() {\n dayjs.extend(localeData);\n const rangesConfig = this.rangesConfig();\n if (rangesConfig) {\n this.ranges = rangesConfig;\n } else {\n // if config not defined - init default ranges\n this.initRanges();\n }\n this.initDatePickerLocale();\n }\n\n ngOnChanges(changes: SimpleChanges) {\n this.setWidth();\n if (this.datepickerRef) {\n setTimeout(() => {\n this.datepickerRef.updateCalendars();\n this.changeDetectorRef.detectChanges();\n }, 100);\n }\n if (changes.selectedPeriod?.currentValue && this.datepickerRef) {\n if (this.selectedPeriod.startDate === null && this.selectedPeriod.endDate === null) {\n this.datepickerRef.clear();\n } else {\n this.datepickerRef.setStartDate(this.selectedPeriod?.startDate ?? dayjs(undefined));\n this.datepickerRef.setEndDate(this.selectedPeriod.endDate ?? dayjs(undefined));\n }\n }\n if (changes.mode?.currentValue === DatepickerMode.Single && this.datepickerRef) {\n this.setCalendarCurrentPage();\n }\n }\n ngAfterViewInit(): void {\n if (this.datepickerRef) {\n setTimeout(() => {\n if (this.mode === DatepickerMode.Range && this.selectedPeriod?.startDate) {\n this.datepickerRef.setStartDate(this.selectedPeriod.startDate);\n this.datepickerRef.setEndDate(this.selectedPeriod.endDate ?? this.selectedPeriod.startDate);\n }\n this.datepickerRef.updateCalendars();\n this.setCalendarCurrentPage();\n }, 100);\n }\n }\n\n initDatePickerLocale() {\n if (this.locale) {\n dayjs.locale(this.locale);\n }\n let firstDayOfWeekIndex: number;\n if (this.firstDayOfWeek === 'sunday') {\n firstDayOfWeekIndex = 0;\n } else if (this.firstDayOfWeek === 'monday') {\n firstDayOfWeekIndex = 1;\n } else {\n firstDayOfWeekIndex = dayjs.localeData().firstDayOfWeek();\n }\n this.localeConfig = {\n customRangeLabel: this.i18n.customRangeLabel ?? 'Custom',\n daysOfWeek: dayjs.weekdaysMin(),\n monthNames: dayjs.months(),\n firstDay: firstDayOfWeekIndex,\n };\n }\n\n private initRanges(): void {\n this.ranges[this.i18n.ranges.yesterday] = RangesConfigPreset.yesterday;\n this.ranges[this.i18n.ranges.lastWeek] = RangesConfigPreset.lastWeek;\n this.ranges[this.i18n.ranges.last30Days] = RangesConfigPreset.last30Days;\n this.ranges[this.i18n.ranges.lastMonth] = RangesConfigPreset.lastMonth;\n this.ranges[this.i18n.ranges.thisMonth] = RangesConfigPreset.thisMonth;\n }\n\n isCustomDate = (date: any) => {\n const classes: string[] = [];\n if (this.mode === DatepickerMode.Multiple) {\n classes.push(this.isSelected(date) ? 'active' : 'force-inactive');\n } else if (this.mode === DatepickerMode.Single) {\n classes.push(this.selectedDate && this.selectedDate.isSame(date, 'day') ? 'active' : 'force-inactive');\n } else if (this.mode === DatepickerMode.Range) {\n classes.push('range-picker-mode');\n // Workaround to fix the auto-active today date when no date is selected\n if (dayjs().isSame(date, 'day') && !this.selectedPeriod?.startDate && !this.selectedPeriod?.endDate) {\n classes.push('force-inactive');\n }\n }\n return classes;\n };\n\n private isSelected(date: any) {\n return this.selectedDates && this.selectedDates.some(selectedDate => selectedDate.isSame(date, 'day'));\n }\n\n onStartDateChanged(event: StartDate) {\n const date = event.startDate.toDate();\n const dateLocalTime = new Date(date.getTime());\n const dayJsDate = dayjs(dateLocalTime);\n if (this.mode !== DatepickerMode.Range) {\n this.selectedDate = dayJsDate;\n this.datepickerRef.setEndDate(dayJsDate);\n if (this.pageSet) {\n this.pageSet = false;\n } else {\n this.dateSelected.emit(dayJsDate.clone());\n if (this.mode === DatepickerMode.Multiple) {\n this.selectedDates.push(dayJsDate);\n }\n }\n if (this.datepickerRef) {\n this.datepickerRef.updateCalendars();\n }\n }\n }\n\n onDatesUpdated(event: Period) {\n if (this.mode === DatepickerMode.Range) {\n const startDate = event.startDate?.toDate();\n const startDateLocalTime = startDate ? new Date(startDate.getTime()) : new Date();\n const endDate = event.endDate?.toDate();\n const endDateLocalTime = endDate ? new Date(endDate.getTime()) : new Date();\n this.periodSelected.emit({\n startDate: dayjs(startDateLocalTime).startOf('day'),\n endDate: dayjs(endDateLocalTime).endOf('day'),\n });\n }\n if (this.datepickerRef) {\n this.datepickerRef.updateCalendars();\n }\n }\n\n onNextMonth() {\n this.datepickerRef.clickNext(SideEnum.right);\n }\n\n onPreviousMonth() {\n this.datepickerRef.clickPrev(SideEnum.left);\n }\n\n /**\n * Ugly hack used here to open the calendar on the right day if they are selected dates\n * * https://github.com/fetrarij/ngx-daterangepicker-material/issues/139\n */\n setCalendarCurrentPage(): void {\n const selectedFirstDate = this.selectedDates.length > 0 ? this.selectedDates[0] : this.selectedDate;\n if (selectedFirstDate && selectedFirstDate.isValid() && this.mode !== DatepickerMode.Range) {\n const endDate = selectedFirstDate.clone();\n endDate.add(1, 'month');\n this.pageSet = true;\n this.datepickerRef.setStartDate(selectedFirstDate);\n this.datepickerRef.setEndDate(endDate);\n this.datepickerRef.updateView();\n }\n this.changeDetectorRef.detectChanges();\n }\n\n setWidth() {\n this.width =\n this.showRanges && this.mode === DatepickerMode.Range\n ? this.doubleCalendarWidth + this.rangePickerWidth\n : this.doubleCalendarWidth;\n }\n}\n","<div\n class=\"custom-calendar\"\n [style.width]=\"width + 'px'\">\n <div class=\"custom-header\">\n @if (datepickerRef.leftCalendar.month) {\n <div class=\"month-header\">\n <div\n class=\"month-arrow-button\"\n aria-label=\"Previous month\"\n tabindex=\"0\"\n (click)=\"onPreviousMonth()\">\n <ap-symbol\n symbolId=\"arrow-left\"\n [color]=\"'#858FA1'\"\n [size]=\"14\" />\n </div>\n <div class=\"month-label\">\n {{ datepickerRef.leftCalendar.month.locale(locale).format('MMMM YYYY') }}\n </div>\n </div>\n }\n @if (datepickerRef.rightCalendar.month) {\n <div class=\"month-header\">\n <div class=\"month-label\">\n {{ datepickerRef.rightCalendar.month.locale(locale).format('MMMM YYYY') }}\n </div>\n <div\n class=\"month-arrow-button\"\n aria-label=\"Next month\"\n tabindex=\"-1\"\n (click)=\"onNextMonth()\">\n <ap-symbol\n symbolId=\"arrow-right\"\n [color]=\"'#858FA1'\"\n [size]=\"14\" />\n </div>\n </div>\n }\n @if (showRanges && mode === DatepickerMode.Range) {\n <div class=\"header-filler\"></div>\n }\n </div>\n <ngx-daterangepicker-material\n #datepickerRef\n [class.hide-ranges]=\"!showRanges\"\n [alwaysShowCalendars]=\"true\"\n [autoApply]=\"true\"\n [customRangeDirection]=\"true\"\n [dateLimit]=\"dateLimit() ?? 0\"\n [linkedCalendars]=\"true\"\n [isCustomDate]=\"$any(isCustomDate)\"\n [locale]=\"localeConfig\"\n [maxDate]=\"maxDateStr\"\n [minDate]=\"minDateStr\"\n [ranges]=\"showRanges && mode === DatepickerMode.Range ? ranges : $any(null)\"\n [showCustomRangeLabel]=\"showCustomRangeLabel()\"\n (datesUpdated)=\"onDatesUpdated($event)\"\n (startDateChanged)=\"onStartDateChanged($event)\" />\n</div>\n","import { createDropdownOverlay, DropdownOverlay } from '@agorapulse/ui-components/dropdown-base';\nimport { ChangeDetectionStrategy, Component, computed, input, output, TemplateRef, viewChild } from '@angular/core';\nimport dayjs from 'dayjs';\nimport { DatepickerComponent, DatepickerMode, I18nDatePicker, Period, RangesConfigPresetType } from '../datepicker/datepicker.component';\n\nconst DEFAULT_I18N: I18nDatePicker = {\n ranges: {\n yesterday: 'Yesterday',\n lastWeek: 'Last Week',\n last30Days: 'Last 30 days',\n lastMonth: 'Previous month',\n thisMonth: 'This month',\n },\n};\n\n/**\n * A dropdown component that displays a datepicker (single, multiple, or range mode)\n * in an overlay. Exposes open/close/toggle so it can be driven by apDropdownTrigger.\n */\n@Component({\n changeDetection: ChangeDetectionStrategy.OnPush,\n selector: 'ap-datepicker-dropdown',\n templateUrl: './datepicker-dropdown.component.html',\n styleUrls: ['./datepicker-dropdown.component.scss'],\n imports: [DatepickerComponent],\n})\nexport class DatepickerDropdownComponent implements DropdownOverlay {\n datepickerDropdownTemplate = viewChild<TemplateRef<unknown>>('datepickerDropdownTemplate');\n mode = input.required<DatepickerMode>();\n selectedDate = input<dayjs.Dayjs | undefined>(undefined);\n selectedDates = input<dayjs.Dayjs[]>([]);\n selectedPeriod = input<Period>({ startDate: undefined, endDate: undefined });\n minDate = input<dayjs.Dayjs | undefined>(undefined);\n maxDate = input<dayjs.Dayjs | undefined>(undefined);\n /** Maximum number of days between the start and the end date in Range mode. Undefined means no limit. */\n dateLimit = input<number | undefined>(undefined);\n /** Caption shown at the bottom of the panel, e.g. to explain a selection constraint. */\n hint = input<string | undefined>(undefined);\n firstDayOfWeek = input<'monday' | 'sunday'>('monday');\n locale = input('en');\n i18n = input<I18nDatePicker | undefined>(undefined);\n protected readonly effectiveI18n = computed(() => this.i18n() ?? DEFAULT_I18N);\n showRanges = input(false);\n showCustomRangeLabel = input(false);\n rangesConfig = input<RangesConfigPresetType | null>(null);\n showBackdrop = input(true);\n /** Close the overlay once a full period is selected. When false it stays open until backdrop click or Escape. */\n closeOnSelect = input(true);\n disabled = input(false);\n defaultPosition = input<'right' | 'left'>('right');\n opened = output<void>();\n closed = output<void>();\n dateSelected = output<dayjs.Dayjs>();\n periodSelected = output<Period>();\n private readonly overlay = createDropdownOverlay();\n readonly isOpen = this.overlay.isOpen;\n\n open(triggerElement?: HTMLElement): void {\n const template = this.datepickerDropdownTemplate();\n if (this.disabled() || this.isOpen() || !template) return;\n\n this.overlay.open(template, triggerElement, {\n showBackdrop: this.showBackdrop(),\n defaultPosition: this.defaultPosition(),\n onClose: () => this.close(),\n });\n this.opened.emit();\n }\n\n close(): void {\n if (!this.isOpen()) return;\n this.overlay.close();\n this.closed.emit();\n }\n\n toggle(triggerElement?: HTMLElement): void {\n if (this.isOpen()) {\n this.close();\n } else {\n this.open(triggerElement);\n }\n }\n\n onDateSelected(date: dayjs.Dayjs): void {\n this.dateSelected.emit(date);\n if (this.mode() !== DatepickerMode.Multiple) {\n this.close();\n }\n }\n\n onPeriodSelected(period: Period): void {\n this.periodSelected.emit(period);\n if (this.closeOnSelect() && period.startDate && period.endDate) {\n this.close();\n }\n }\n}\n","<ng-template #datepickerDropdownTemplate>\n <div\n class=\"ap-datepicker-dropdown__content\"\n role=\"dialog\"\n aria-label=\"Datepicker\"\n tabindex=\"-1\">\n <ap-datepicker\n [dateLimit]=\"dateLimit()\"\n [firstDayOfWeek]=\"firstDayOfWeek()\"\n [i18n]=\"effectiveI18n()\"\n [locale]=\"locale()\"\n [maxDate]=\"maxDate()\"\n [minDate]=\"minDate()\"\n [mode]=\"mode()\"\n [rangesConfig]=\"rangesConfig()\"\n [selectedDate]=\"selectedDate()\"\n [selectedDates]=\"selectedDates()\"\n [selectedPeriod]=\"selectedPeriod()\"\n [showCustomRangeLabel]=\"showCustomRangeLabel()\"\n (click)=\"$event.stopPropagation()\"\n (dateSelected)=\"onDateSelected($event)\"\n (periodSelected)=\"onPeriodSelected($event)\"\n [showRanges]=\"showRanges()\" />\n @if (hint()) {\n <div class=\"ap-datepicker-dropdown__hint\">{{ hint() }}</div>\n }\n </div>\n</ng-template>\n","import { DropdownTriggerDirective } from '@agorapulse/ui-components/dropdown-base';\nimport { FormFieldComponent } from '@agorapulse/ui-components/form-field';\nimport { IconButtonComponent } from '@agorapulse/ui-components/icon-button';\nimport { InputDirective } from '@agorapulse/ui-components/input';\nimport { InputGroupComponent } from '@agorapulse/ui-components/input-group';\nimport { apCalendar, apChevronDown, apClose, SymbolComponent, withSymbols } from '@agorapulse/ui-symbol';\nimport { ChangeDetectionStrategy, Component, computed, effect, input, output, signal } from '@angular/core';\nimport { ControlValueAccessor } from '@angular/forms';\nimport dayjs from 'dayjs';\nimport { DatepickerDropdownComponent } from '../datepicker-dropdown/datepicker-dropdown.component';\nimport { DatepickerMode, FirstDayOfWeek, I18nDatePicker, Locale, Period, RangesConfigPresetType } from '../datepicker/datepicker.component';\n\nexport const defaultPeriodSelected: Period = { startDate: undefined, endDate: undefined };\n\n@Component({\n changeDetection: ChangeDetectionStrategy.OnPush,\n selector: 'ap-input-datepicker',\n templateUrl: './input-datepicker.component.html',\n styleUrl: './input-datepicker.component.scss',\n imports: [\n DatepickerDropdownComponent,\n DropdownTriggerDirective,\n IconButtonComponent,\n InputDirective,\n InputGroupComponent,\n SymbolComponent,\n FormFieldComponent,\n SymbolComponent,\n ],\n providers: [withSymbols(apCalendar, apChevronDown, apClose)],\n})\nexport class InputDatepickerComponent implements ControlValueAccessor {\n mode = input.required<DatepickerMode>();\n label = input<string | undefined>('Select date');\n placeholder = input('Select date');\n firstDayOfWeek = input<FirstDayOfWeek>('monday');\n locale = input<Locale>('en');\n dateFormat = input('MM/DD/YYYY');\n disabled = input(false);\n minDate = input<dayjs.Dayjs | undefined>(undefined);\n maxDate = input<dayjs.Dayjs | undefined>(undefined);\n selectedDate = input<dayjs.Dayjs | undefined>(undefined);\n selectedDates = input<dayjs.Dayjs[]>([]);\n selectedPeriod = input<Period | undefined>(undefined);\n i18n = input<I18nDatePicker | undefined>(undefined);\n showRanges = input(false);\n showCustomRangeLabel = input(false);\n rangesConfig = input<RangesConfigPresetType | null>(null);\n showBackdrop = input(true);\n defaultPosition = input<'right' | 'left'>('right');\n /** Show a clear (X) inside the input when a value is selected. Off by default. */\n clearable = input(false);\n periodRange = signal<Period>(defaultPeriodSelected);\n isDisabled = signal(false);\n periodChanged = output<Period>();\n dateSelected = output<dayjs.Dayjs>();\n displayedDate = computed(() => {\n const { startDate, endDate } = this.periodRange();\n const dateFormat = this.dateFormat() ?? 'MM/DD/YYYY';\n const locale = this.locale();\n if (startDate && endDate) {\n return `${dayjs(startDate).locale(locale).format(dateFormat)} - ${dayjs(endDate).locale(locale).format(dateFormat)}`;\n }\n return '';\n });\n initPeriodRange = effect(() => {\n const selected = this.selectedPeriod();\n if (selected && selected.startDate && selected.endDate) {\n this.periodRange.set({\n startDate: dayjs(selected.startDate),\n endDate: dayjs(selected.endDate),\n });\n } else {\n this.periodRange.set(defaultPeriodSelected);\n }\n });\n\n onTouched: () => void = () => {};\n onChange: (value: Period) => void = () => {};\n\n onPeriodSelected(period: Period): void {\n if (period.startDate && period.endDate) {\n this.periodRange.set(period);\n this.onChange(period);\n this.periodChanged.emit(period);\n } else {\n this.periodRange.set(defaultPeriodSelected);\n this.onChange(defaultPeriodSelected);\n }\n }\n\n /** Clear the selected period. Stops propagation so it doesn't reopen the calendar. */\n onClear(event: Event): void {\n event.stopPropagation();\n this.periodRange.set(defaultPeriodSelected);\n this.onChange(defaultPeriodSelected);\n this.periodChanged.emit(defaultPeriodSelected);\n }\n\n writeValue(value: Period): void {\n if (value && value.startDate && value.endDate) {\n this.periodRange.set({\n startDate: dayjs(value.startDate),\n endDate: dayjs(value.endDate),\n });\n } else {\n this.periodRange.set(defaultPeriodSelected);\n }\n }\n\n registerOnChange(fn: (value: Period) => void): void {\n this.onChange = fn;\n }\n\n registerOnTouched(fn: () => void): void {\n this.onTouched = fn;\n }\n\n setDisabledState(isDisabled: boolean): void {\n this.isDisabled.set(isDisabled);\n }\n}\n","<ap-form-field>\n @let vLabel = label();\n @if (vLabel) {\n <label for=\"datepicker\">\n {{ vLabel }}\n </label>\n }\n <ap-input-group\n [apDropdownTrigger]=\"datepickerDropdown\"\n symbolPosition=\"left\">\n <ap-symbol\n size=\"sm\"\n symbolId=\"calendar\" />\n <input\n apInput\n id=\"datepicker\"\n readonly\n (blur)=\"onTouched()\"\n [disabled]=\"disabled() || isDisabled()\"\n [placeholder]=\"placeholder()\"\n [value]=\"displayedDate()\"\n type=\"text\" />\n @if (clearable() && displayedDate() && !disabled() && !isDisabled()) {\n <ap-icon-button\n class=\"ap-input-datepicker__clear\"\n type=\"flat\"\n name=\"datepicker-clear\"\n symbolId=\"close\"\n ariaLabel=\"Clear date range\"\n (click)=\"onClear($event)\" />\n }\n </ap-input-group>\n</ap-form-field>\n\n<ap-datepicker-dropdown\n #datepickerDropdown\n [defaultPosition]=\"defaultPosition()\"\n [disabled]=\"disabled() || isDisabled()\"\n [firstDayOfWeek]=\"firstDayOfWeek()\"\n [i18n]=\"i18n()\"\n [locale]=\"locale()\"\n [maxDate]=\"maxDate()\"\n [minDate]=\"minDate()\"\n [mode]=\"mode()\"\n [rangesConfig]=\"rangesConfig()\"\n [selectedDate]=\"selectedDate()\"\n [selectedDates]=\"selectedDates()\"\n [selectedPeriod]=\"periodRange()\"\n [showBackdrop]=\"showBackdrop()\"\n [showCustomRangeLabel]=\"showCustomRangeLabel()\"\n (dateSelected)=\"dateSelected.emit($event)\"\n (periodSelected)=\"onPeriodSelected($event)\"\n [showRanges]=\"showRanges()\" />\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public_api';\n"],"names":[],"mappings":"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"}
|
|
@@ -48,6 +48,7 @@ export { BadgeComponent } from '@agorapulse/ui-components/badge';
|
|
|
48
48
|
export { ButtonComponent } from '@agorapulse/ui-components/button';
|
|
49
49
|
export { CheckboxComponent } from '@agorapulse/ui-components/checkbox';
|
|
50
50
|
export { CounterComponent } from '@agorapulse/ui-components/counter';
|
|
51
|
+
export { DateRangePickerComponent, defaultDateRangePickerPresets } from '@agorapulse/ui-components/date-range-picker';
|
|
51
52
|
export { IconButtonComponent } from '@agorapulse/ui-components/icon-button';
|
|
52
53
|
export { InputComponent } from '@agorapulse/ui-components/legacy/input';
|
|
53
54
|
export { SelectComponent } from '@agorapulse/ui-components/legacy/select';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"agorapulse-ui-components.mjs","sources":["../../../libs/ui-components/src/lib/agorapulse-ui-components.module.ts","../../../libs/ui-components/index.ts","../../../libs/ui-components/agorapulse-ui-components.ts"],"sourcesContent":["// Modules\nimport { AddCommentComponent } from '@agorapulse/ui-components/add-comment';\nimport { AvatarComponent } from '@agorapulse/ui-components/avatar';\nimport { ConfirmModalComponent } from '@agorapulse/ui-components/confirm-modal';\nimport { DatepickerComponent } from '@agorapulse/ui-components/datepicker';\nimport {\n AutosizeTextareaDirective,\n DefaultImageDirective,\n EllipsisDirective,\n EqualValidatorDirective,\n FrozenGifDirective,\n MultiStyleTextDirective,\n} from '@agorapulse/ui-components/directives';\nimport { DotStepperComponent } from '@agorapulse/ui-components/dot-stepper';\nimport { InfoboxComponent } from '@agorapulse/ui-components/infobox';\nimport { LabelComponent, LabelListComponent } from '@agorapulse/ui-components/labels';\nimport { LabelsSelectorComponent } from '@agorapulse/ui-components/labels-selector';\nimport { MediaDisplayOverlayDialogComponent } from '@agorapulse/ui-components/media-display-overlay';\nimport { ModalComponent } from '@agorapulse/ui-components/modal';\nimport { DayDisabledPipe, NeoDatepickerComponent } from '@agorapulse/ui-components/neo-datepicker';\nimport { NotificationComponent } from '@agorapulse/ui-components/notification';\nimport { PaginatorButtonComponent, PaginatorComponent } from '@agorapulse/ui-components/paginator';\nimport { PasswordInputComponent } from '@agorapulse/ui-components/password-input';\nimport { PopmenuModule } from '@agorapulse/ui-components/popmenu';\nimport { SlideToggleComponent } from '@agorapulse/ui-components/slide-toggle';\nimport { SnackbarsThreadComponent } from '@agorapulse/ui-components/snackbars-thread';\nimport { StepperComponent } from '@agorapulse/ui-components/stepper';\nimport { TooltipDirective } from '@agorapulse/ui-components/tooltip';\nimport { NgModule } from '@angular/core';\nimport { MAT_TABS_CONFIG } from '@angular/material/tabs';\n\n/**\n * @deprecated for better tree-shaking, use standalone component import instead\n */\n@NgModule({\n declarations: [],\n imports: [\n // Components\n AvatarComponent,\n StepperComponent,\n ConfirmModalComponent,\n DatepickerComponent,\n DotStepperComponent,\n EllipsisDirective,\n InfoboxComponent,\n LabelListComponent,\n LabelsSelectorComponent,\n NeoDatepickerComponent,\n MediaDisplayOverlayDialogComponent,\n ModalComponent,\n PasswordInputComponent,\n LabelComponent,\n NotificationComponent,\n PaginatorComponent,\n PaginatorButtonComponent,\n SlideToggleComponent,\n SnackbarsThreadComponent,\n // Directives\n DefaultImageDirective,\n FrozenGifDirective,\n EqualValidatorDirective,\n MultiStyleTextDirective,\n TooltipDirective,\n AddCommentComponent,\n AutosizeTextareaDirective,\n // Pipes\n DayDisabledPipe,\n ],\n exports: [\n // Components\n AddCommentComponent,\n AvatarComponent,\n StepperComponent,\n ConfirmModalComponent,\n DatepickerComponent,\n NeoDatepickerComponent,\n DotStepperComponent,\n EllipsisDirective,\n InfoboxComponent,\n LabelComponent,\n LabelListComponent,\n MediaDisplayOverlayDialogComponent,\n ModalComponent,\n PasswordInputComponent,\n LabelsSelectorComponent,\n NotificationComponent,\n PaginatorComponent,\n PaginatorButtonComponent,\n SlideToggleComponent,\n SnackbarsThreadComponent,\n // Pipes\n DayDisabledPipe,\n // Directives\n AutosizeTextareaDirective,\n DefaultImageDirective,\n FrozenGifDirective,\n EqualValidatorDirective,\n MultiStyleTextDirective,\n TooltipDirective,\n // Modules\n PopmenuModule,\n ],\n providers: [\n // Disable ripple effect\n // {provide: MAT_RIPPLE_GLOBAL_OPTIONS, useValue: {disabled: true}},\n // Disable tabs animation\n { provide: MAT_TABS_CONFIG, useValue: { animationDuration: '0ms' } },\n ],\n})\nexport class AgorapulseUiComponentsModule {}\n","/*\n * Public API Surface of ui\n */\n\n// Module\nexport { PopmenuModule } from '@agorapulse/ui-components/popmenu';\nexport { AgorapulseUiComponentsModule } from './src/lib/agorapulse-ui-components.module';\n\n// Directive\nexport {\n AutosizeTextareaDirective,\n CheckboxDirective,\n DefaultImageDirective,\n EllipsisDirective,\n EqualValidatorDirective,\n FrozenGifDirective,\n MultiStyleTextDirective,\n} from '@agorapulse/ui-components/directives';\nexport { PopmenuDirective } from '@agorapulse/ui-components/popmenu';\nexport { TooltipDirective, TooltipExternalTriggerDirective } from '@agorapulse/ui-components/tooltip';\n\n// Dropdown base\nexport { DropdownOverlay, DropdownTriggerDirective, createDropdownOverlay } from '@agorapulse/ui-components/dropdown-base';\n\n// Component\nexport { ActionDropdownComponent, ActionDropdownItem, ActionDropdownTriggerDirective } from '@agorapulse/ui-components/action-dropdown';\nexport { AddCommentComponent } from '@agorapulse/ui-components/add-comment';\nexport { AutocompleteComponent } from '@agorapulse/ui-components/autocomplete';\nexport { AvatarComponent, AvatarItem } from '@agorapulse/ui-components/avatar';\nexport { BadgeComponent } from '@agorapulse/ui-components/badge';\nexport { ButtonComponent } from '@agorapulse/ui-components/button';\nexport { CheckboxComponent } from '@agorapulse/ui-components/checkbox';\nexport { ConfirmModalComponent } from '@agorapulse/ui-components/confirm-modal';\nexport { CounterComponent } from '@agorapulse/ui-components/counter';\nexport { DatepickerComponent, DatepickerMode, I18nDatePicker, Period } from '@agorapulse/ui-components/datepicker';\nexport { DotStepperComponent } from '@agorapulse/ui-components/dot-stepper';\nexport { IconButtonComponent } from '@agorapulse/ui-components/icon-button';\nexport { InfoboxComponent } from '@agorapulse/ui-components/infobox';\nexport { LabelComponent, LabelListComponent } from '@agorapulse/ui-components/labels';\nexport { LabelsSelectorComponent } from '@agorapulse/ui-components/labels-selector';\nexport { InputComponent } from '@agorapulse/ui-components/legacy/input';\nexport { SelectComponent } from '@agorapulse/ui-components/legacy/select';\nexport { TextareaComponent } from '@agorapulse/ui-components/legacy/textarea';\nexport { MediaDisplayOverlayDialogComponent } from '@agorapulse/ui-components/media-display-overlay';\nexport { ModalComponent, ModalConfig } from '@agorapulse/ui-components/modal';\nexport { NavSelectorComponent } from '@agorapulse/ui-components/nav-selector';\nexport {\n DayDisabledPipe,\n NeoDatePickerLocale,\n NeoDatePickerMode,\n NeoDatePickerStartsOn,\n NeoDatepickerComponent,\n} from '@agorapulse/ui-components/neo-datepicker';\nexport { NotificationComponent } from '@agorapulse/ui-components/notification';\nexport { PaginatorButtonComponent, PaginatorComponent } from '@agorapulse/ui-components/paginator';\nexport { PasswordInputComponent } from '@agorapulse/ui-components/password-input';\nexport { PopmenuComponent } from '@agorapulse/ui-components/popmenu';\nexport { RadioComponent } from '@agorapulse/ui-components/radio';\nexport { RadioButtonCardComponent } from '@agorapulse/ui-components/radio-button-card';\nexport { SegmentedControlComponent, SegmentedControlOption } from '@agorapulse/ui-components/segmented-control';\nexport {\n SelectionDropdownComponent,\n SelectionDropdownItem,\n SelectionDropdownTriggerDirective,\n} from '@agorapulse/ui-components/selection-dropdown';\nexport { SlideToggleComponent } from '@agorapulse/ui-components/slide-toggle';\nexport { SnackbarsThreadComponent } from '@agorapulse/ui-components/snackbars-thread';\nexport { SocialButtonComponent } from '@agorapulse/ui-components/social-button';\nexport { StatusComponent } from '@agorapulse/ui-components/status';\nexport { StatusCardActor, StatusCardComponent } from '@agorapulse/ui-components/status-card';\nexport { StepperComponent } from '@agorapulse/ui-components/stepper';\nexport { TagComponent } from '@agorapulse/ui-components/tag';\nexport { ToggleComponent } from '@agorapulse/ui-components/toggle';\n\n// Service\nexport { SnackbarsThreadService } from '@agorapulse/ui-components/snackbars-thread';\n\n// Model\nexport { ConfirmModalTexts } from '@agorapulse/ui-components/confirm-modal';\nexport * from '@agorapulse/ui-components/filter-dropdown';\nexport {\n CodeStatus,\n SnackbarTypeValues,\n SnackbarsThreadBase,\n externalSnackbarTypeAllowed,\n generateCodeStatus,\n} from '@agorapulse/ui-components/snackbars-thread';\nexport { Step } from '@agorapulse/ui-components/stepper';\nexport { CustomTooltipAvatarItem, CustomTooltipPresentationItem, CustomTooltipType } from '@agorapulse/ui-components/tooltip';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"agorapulse-ui-components.mjs","sources":["../../../libs/ui-components/src/lib/agorapulse-ui-components.module.ts","../../../libs/ui-components/index.ts","../../../libs/ui-components/agorapulse-ui-components.ts"],"sourcesContent":["// Modules\nimport { AddCommentComponent } from '@agorapulse/ui-components/add-comment';\nimport { AvatarComponent } from '@agorapulse/ui-components/avatar';\nimport { ConfirmModalComponent } from '@agorapulse/ui-components/confirm-modal';\nimport { DatepickerComponent } from '@agorapulse/ui-components/datepicker';\nimport {\n AutosizeTextareaDirective,\n DefaultImageDirective,\n EllipsisDirective,\n EqualValidatorDirective,\n FrozenGifDirective,\n MultiStyleTextDirective,\n} from '@agorapulse/ui-components/directives';\nimport { DotStepperComponent } from '@agorapulse/ui-components/dot-stepper';\nimport { InfoboxComponent } from '@agorapulse/ui-components/infobox';\nimport { LabelComponent, LabelListComponent } from '@agorapulse/ui-components/labels';\nimport { LabelsSelectorComponent } from '@agorapulse/ui-components/labels-selector';\nimport { MediaDisplayOverlayDialogComponent } from '@agorapulse/ui-components/media-display-overlay';\nimport { ModalComponent } from '@agorapulse/ui-components/modal';\nimport { DayDisabledPipe, NeoDatepickerComponent } from '@agorapulse/ui-components/neo-datepicker';\nimport { NotificationComponent } from '@agorapulse/ui-components/notification';\nimport { PaginatorButtonComponent, PaginatorComponent } from '@agorapulse/ui-components/paginator';\nimport { PasswordInputComponent } from '@agorapulse/ui-components/password-input';\nimport { PopmenuModule } from '@agorapulse/ui-components/popmenu';\nimport { SlideToggleComponent } from '@agorapulse/ui-components/slide-toggle';\nimport { SnackbarsThreadComponent } from '@agorapulse/ui-components/snackbars-thread';\nimport { StepperComponent } from '@agorapulse/ui-components/stepper';\nimport { TooltipDirective } from '@agorapulse/ui-components/tooltip';\nimport { NgModule } from '@angular/core';\nimport { MAT_TABS_CONFIG } from '@angular/material/tabs';\n\n/**\n * @deprecated for better tree-shaking, use standalone component import instead\n */\n@NgModule({\n declarations: [],\n imports: [\n // Components\n AvatarComponent,\n StepperComponent,\n ConfirmModalComponent,\n DatepickerComponent,\n DotStepperComponent,\n EllipsisDirective,\n InfoboxComponent,\n LabelListComponent,\n LabelsSelectorComponent,\n NeoDatepickerComponent,\n MediaDisplayOverlayDialogComponent,\n ModalComponent,\n PasswordInputComponent,\n LabelComponent,\n NotificationComponent,\n PaginatorComponent,\n PaginatorButtonComponent,\n SlideToggleComponent,\n SnackbarsThreadComponent,\n // Directives\n DefaultImageDirective,\n FrozenGifDirective,\n EqualValidatorDirective,\n MultiStyleTextDirective,\n TooltipDirective,\n AddCommentComponent,\n AutosizeTextareaDirective,\n // Pipes\n DayDisabledPipe,\n ],\n exports: [\n // Components\n AddCommentComponent,\n AvatarComponent,\n StepperComponent,\n ConfirmModalComponent,\n DatepickerComponent,\n NeoDatepickerComponent,\n DotStepperComponent,\n EllipsisDirective,\n InfoboxComponent,\n LabelComponent,\n LabelListComponent,\n MediaDisplayOverlayDialogComponent,\n ModalComponent,\n PasswordInputComponent,\n LabelsSelectorComponent,\n NotificationComponent,\n PaginatorComponent,\n PaginatorButtonComponent,\n SlideToggleComponent,\n SnackbarsThreadComponent,\n // Pipes\n DayDisabledPipe,\n // Directives\n AutosizeTextareaDirective,\n DefaultImageDirective,\n FrozenGifDirective,\n EqualValidatorDirective,\n MultiStyleTextDirective,\n TooltipDirective,\n // Modules\n PopmenuModule,\n ],\n providers: [\n // Disable ripple effect\n // {provide: MAT_RIPPLE_GLOBAL_OPTIONS, useValue: {disabled: true}},\n // Disable tabs animation\n { provide: MAT_TABS_CONFIG, useValue: { animationDuration: '0ms' } },\n ],\n})\nexport class AgorapulseUiComponentsModule {}\n","/*\n * Public API Surface of ui\n */\n\n// Module\nexport { PopmenuModule } from '@agorapulse/ui-components/popmenu';\nexport { AgorapulseUiComponentsModule } from './src/lib/agorapulse-ui-components.module';\n\n// Directive\nexport {\n AutosizeTextareaDirective,\n CheckboxDirective,\n DefaultImageDirective,\n EllipsisDirective,\n EqualValidatorDirective,\n FrozenGifDirective,\n MultiStyleTextDirective,\n} from '@agorapulse/ui-components/directives';\nexport { PopmenuDirective } from '@agorapulse/ui-components/popmenu';\nexport { TooltipDirective, TooltipExternalTriggerDirective } from '@agorapulse/ui-components/tooltip';\n\n// Dropdown base\nexport { DropdownOverlay, DropdownTriggerDirective, createDropdownOverlay } from '@agorapulse/ui-components/dropdown-base';\n\n// Component\nexport { ActionDropdownComponent, ActionDropdownItem, ActionDropdownTriggerDirective } from '@agorapulse/ui-components/action-dropdown';\nexport { AddCommentComponent } from '@agorapulse/ui-components/add-comment';\nexport { AutocompleteComponent } from '@agorapulse/ui-components/autocomplete';\nexport { AvatarComponent, AvatarItem } from '@agorapulse/ui-components/avatar';\nexport { BadgeComponent } from '@agorapulse/ui-components/badge';\nexport { ButtonComponent } from '@agorapulse/ui-components/button';\nexport { CheckboxComponent } from '@agorapulse/ui-components/checkbox';\nexport { ConfirmModalComponent } from '@agorapulse/ui-components/confirm-modal';\nexport { CounterComponent } from '@agorapulse/ui-components/counter';\nexport { DatepickerComponent, DatepickerMode, I18nDatePicker, Period } from '@agorapulse/ui-components/datepicker';\nexport { DateRangePickerComponent, DateRangePickerPreset, defaultDateRangePickerPresets } from '@agorapulse/ui-components/date-range-picker';\nexport { DotStepperComponent } from '@agorapulse/ui-components/dot-stepper';\nexport { IconButtonComponent } from '@agorapulse/ui-components/icon-button';\nexport { InfoboxComponent } from '@agorapulse/ui-components/infobox';\nexport { LabelComponent, LabelListComponent } from '@agorapulse/ui-components/labels';\nexport { LabelsSelectorComponent } from '@agorapulse/ui-components/labels-selector';\nexport { InputComponent } from '@agorapulse/ui-components/legacy/input';\nexport { SelectComponent } from '@agorapulse/ui-components/legacy/select';\nexport { TextareaComponent } from '@agorapulse/ui-components/legacy/textarea';\nexport { MediaDisplayOverlayDialogComponent } from '@agorapulse/ui-components/media-display-overlay';\nexport { ModalComponent, ModalConfig } from '@agorapulse/ui-components/modal';\nexport { NavSelectorComponent } from '@agorapulse/ui-components/nav-selector';\nexport {\n DayDisabledPipe,\n NeoDatePickerLocale,\n NeoDatePickerMode,\n NeoDatePickerStartsOn,\n NeoDatepickerComponent,\n} from '@agorapulse/ui-components/neo-datepicker';\nexport { NotificationComponent } from '@agorapulse/ui-components/notification';\nexport { PaginatorButtonComponent, PaginatorComponent } from '@agorapulse/ui-components/paginator';\nexport { PasswordInputComponent } from '@agorapulse/ui-components/password-input';\nexport { PopmenuComponent } from '@agorapulse/ui-components/popmenu';\nexport { RadioComponent } from '@agorapulse/ui-components/radio';\nexport { RadioButtonCardComponent } from '@agorapulse/ui-components/radio-button-card';\nexport { SegmentedControlComponent, SegmentedControlOption } from '@agorapulse/ui-components/segmented-control';\nexport {\n SelectionDropdownComponent,\n SelectionDropdownItem,\n SelectionDropdownTriggerDirective,\n} from '@agorapulse/ui-components/selection-dropdown';\nexport { SlideToggleComponent } from '@agorapulse/ui-components/slide-toggle';\nexport { SnackbarsThreadComponent } from '@agorapulse/ui-components/snackbars-thread';\nexport { SocialButtonComponent } from '@agorapulse/ui-components/social-button';\nexport { StatusComponent } from '@agorapulse/ui-components/status';\nexport { StatusCardActor, StatusCardComponent } from '@agorapulse/ui-components/status-card';\nexport { StepperComponent } from '@agorapulse/ui-components/stepper';\nexport { TagComponent } from '@agorapulse/ui-components/tag';\nexport { ToggleComponent } from '@agorapulse/ui-components/toggle';\n\n// Service\nexport { SnackbarsThreadService } from '@agorapulse/ui-components/snackbars-thread';\n\n// Model\nexport { ConfirmModalTexts } from '@agorapulse/ui-components/confirm-modal';\nexport * from '@agorapulse/ui-components/filter-dropdown';\nexport {\n CodeStatus,\n SnackbarTypeValues,\n SnackbarsThreadBase,\n externalSnackbarTypeAllowed,\n generateCodeStatus,\n} from '@agorapulse/ui-components/snackbars-thread';\nexport { Step } from '@agorapulse/ui-components/stepper';\nexport { CustomTooltipAvatarItem, CustomTooltipPresentationItem, CustomTooltipType } from '@agorapulse/ui-components/tooltip';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@agorapulse/ui-components",
|
|
3
3
|
"description": "Agorapulse UI Components Library",
|
|
4
|
-
"version": "22.0.
|
|
4
|
+
"version": "22.0.20",
|
|
5
5
|
"author": "Benoit Hediard",
|
|
6
6
|
"repository": {
|
|
7
7
|
"type": "git",
|
|
@@ -80,6 +80,10 @@
|
|
|
80
80
|
"types": "./types/agorapulse-ui-components-counter.d.ts",
|
|
81
81
|
"default": "./fesm2022/agorapulse-ui-components-counter.mjs"
|
|
82
82
|
},
|
|
83
|
+
"./date-range-picker": {
|
|
84
|
+
"types": "./types/agorapulse-ui-components-date-range-picker.d.ts",
|
|
85
|
+
"default": "./fesm2022/agorapulse-ui-components-date-range-picker.mjs"
|
|
86
|
+
},
|
|
83
87
|
"./datepicker": {
|
|
84
88
|
"types": "./types/agorapulse-ui-components-datepicker.d.ts",
|
|
85
89
|
"default": "./fesm2022/agorapulse-ui-components-datepicker.mjs"
|
|
@@ -0,0 +1,74 @@
|
|
|
1
|
+
import * as _angular_core from '@angular/core';
|
|
2
|
+
import { Period, FirstDayOfWeek, DatepickerMode, RangesConfigPresetType, I18nDatePicker } from '@agorapulse/ui-components/datepicker';
|
|
3
|
+
import dayjs from 'dayjs';
|
|
4
|
+
|
|
5
|
+
interface DateRangePickerPreset {
|
|
6
|
+
/** Stable identifier emitted by `presetSelected`, independent of the displayed label. */
|
|
7
|
+
key: string;
|
|
8
|
+
/** The text shown in the preset list. */
|
|
9
|
+
label: string;
|
|
10
|
+
/** The date range this preset selects. */
|
|
11
|
+
range: [dayjs.Dayjs, dayjs.Dayjs];
|
|
12
|
+
}
|
|
13
|
+
/** The default preset list (English labels), computed relative to `today` so ranges stay fresh. */
|
|
14
|
+
declare function defaultDateRangePickerPresets(today?: dayjs.Dayjs): DateRangePickerPreset[];
|
|
15
|
+
/**
|
|
16
|
+
* A compact date-range selector for toolbars: a trigger chip showing the selected
|
|
17
|
+
* period that opens a dropdown with preset ranges and a dual-month calendar.
|
|
18
|
+
*
|
|
19
|
+
* @example
|
|
20
|
+
* ```html
|
|
21
|
+
* <ap-date-range-picker
|
|
22
|
+
* [(value)]="period"
|
|
23
|
+
* [maxDate]="yesterday"
|
|
24
|
+
* timeZone="Europe/Paris"
|
|
25
|
+
* (presetSelected)="onPreset($event)" />
|
|
26
|
+
* ```
|
|
27
|
+
*/
|
|
28
|
+
declare class DateRangePickerComponent {
|
|
29
|
+
/** The selected period. Supports two-way binding via `[(value)]`. */
|
|
30
|
+
readonly value: _angular_core.ModelSignal<Period>;
|
|
31
|
+
/** The preset ranges listed in the dropdown. Defaults to `defaultDateRangePickerPresets()`. */
|
|
32
|
+
readonly presets: _angular_core.InputSignal<DateRangePickerPreset[]>;
|
|
33
|
+
/** Earliest selectable date. */
|
|
34
|
+
readonly minDate: _angular_core.InputSignal<dayjs.Dayjs | undefined>;
|
|
35
|
+
/** Latest selectable date. */
|
|
36
|
+
readonly maxDate: _angular_core.InputSignal<dayjs.Dayjs | undefined>;
|
|
37
|
+
/** Maximum number of days between the start and the end date. Undefined means no limit. */
|
|
38
|
+
readonly maxRangeDays: _angular_core.InputSignal<number | undefined>;
|
|
39
|
+
/** Caption shown in the panel when `maxRangeDays` is set. Defaults to an English sentence — pass a translated one. */
|
|
40
|
+
readonly maxRangeDaysHint: _angular_core.InputSignal<string | undefined>;
|
|
41
|
+
/** Locale used for the calendar and the trigger label. */
|
|
42
|
+
readonly locale: _angular_core.InputSignal<string>;
|
|
43
|
+
readonly firstDayOfWeek: _angular_core.InputSignal<FirstDayOfWeek>;
|
|
44
|
+
/** dayjs format of the trigger label. */
|
|
45
|
+
readonly dateFormat: _angular_core.InputSignal<string>;
|
|
46
|
+
/** Text shown on the trigger while no period is selected. */
|
|
47
|
+
readonly placeholder: _angular_core.InputSignal<string>;
|
|
48
|
+
/** Side the dropdown opens to when space allows. */
|
|
49
|
+
readonly defaultPosition: _angular_core.InputSignal<"left" | "right">;
|
|
50
|
+
/** Label of the "Custom" entry in the preset list. */
|
|
51
|
+
readonly customRangeLabel: _angular_core.InputSignal<string>;
|
|
52
|
+
/** IANA time zone name. When set, a chip with the zone's offset is shown next to the trigger. */
|
|
53
|
+
readonly timeZone: _angular_core.InputSignal<string | undefined>;
|
|
54
|
+
/** Tooltip text of the info icon shown next to the time-zone chip. */
|
|
55
|
+
readonly timeZoneTooltip: _angular_core.InputSignal<string | undefined>;
|
|
56
|
+
readonly disabled: _angular_core.InputSignal<boolean>;
|
|
57
|
+
/** Close the dropdown once a full period is selected. When false it stays open until backdrop click or Escape. */
|
|
58
|
+
readonly closeOnSelect: _angular_core.InputSignal<boolean>;
|
|
59
|
+
/** Emits the `key` of the preset matching the picked period, or 'custom'. */
|
|
60
|
+
readonly presetSelected: _angular_core.OutputEmitterRef<string>;
|
|
61
|
+
protected readonly DatepickerMode: typeof DatepickerMode;
|
|
62
|
+
protected readonly rangesConfig: _angular_core.Signal<RangesConfigPresetType>;
|
|
63
|
+
protected readonly i18n: _angular_core.Signal<I18nDatePicker>;
|
|
64
|
+
protected readonly formattedValue: _angular_core.Signal<string>;
|
|
65
|
+
protected readonly rangeHint: _angular_core.Signal<string | undefined>;
|
|
66
|
+
protected readonly timeZoneOffset: _angular_core.Signal<string>;
|
|
67
|
+
protected onPeriodSelected(period: Period): void;
|
|
68
|
+
private matchPresetKey;
|
|
69
|
+
static ɵfac: _angular_core.ɵɵFactoryDeclaration<DateRangePickerComponent, never>;
|
|
70
|
+
static ɵcmp: _angular_core.ɵɵComponentDeclaration<DateRangePickerComponent, "ap-date-range-picker", never, { "value": { "alias": "value"; "required": false; "isSignal": true; }; "presets": { "alias": "presets"; "required": false; "isSignal": true; }; "minDate": { "alias": "minDate"; "required": false; "isSignal": true; }; "maxDate": { "alias": "maxDate"; "required": false; "isSignal": true; }; "maxRangeDays": { "alias": "maxRangeDays"; "required": false; "isSignal": true; }; "maxRangeDaysHint": { "alias": "maxRangeDaysHint"; "required": false; "isSignal": true; }; "locale": { "alias": "locale"; "required": false; "isSignal": true; }; "firstDayOfWeek": { "alias": "firstDayOfWeek"; "required": false; "isSignal": true; }; "dateFormat": { "alias": "dateFormat"; "required": false; "isSignal": true; }; "placeholder": { "alias": "placeholder"; "required": false; "isSignal": true; }; "defaultPosition": { "alias": "defaultPosition"; "required": false; "isSignal": true; }; "customRangeLabel": { "alias": "customRangeLabel"; "required": false; "isSignal": true; }; "timeZone": { "alias": "timeZone"; "required": false; "isSignal": true; }; "timeZoneTooltip": { "alias": "timeZoneTooltip"; "required": false; "isSignal": true; }; "disabled": { "alias": "disabled"; "required": false; "isSignal": true; }; "closeOnSelect": { "alias": "closeOnSelect"; "required": false; "isSignal": true; }; }, { "value": "valueChange"; "presetSelected": "presetSelected"; }, never, never, true, never>;
|
|
71
|
+
}
|
|
72
|
+
|
|
73
|
+
export { DateRangePickerComponent, defaultDateRangePickerPresets };
|
|
74
|
+
export type { DateRangePickerPreset };
|
|
@@ -27,6 +27,8 @@ interface I18nDatePicker {
|
|
|
27
27
|
thisMonth: string;
|
|
28
28
|
[other: string]: string;
|
|
29
29
|
};
|
|
30
|
+
/** Label of the "Custom" range entry shown when `showCustomRangeLabel` is enabled. Defaults to 'Custom'. */
|
|
31
|
+
customRangeLabel?: string;
|
|
30
32
|
}
|
|
31
33
|
type FirstDayOfWeek = 'sunday' | 'monday';
|
|
32
34
|
type Locale = 'en' | 'fr' | 'es' | 'de';
|
|
@@ -58,6 +60,8 @@ declare class DatepickerComponent implements OnInit, OnChanges, AfterViewInit {
|
|
|
58
60
|
selectedDate: dayjs.Dayjs | undefined;
|
|
59
61
|
selectedDates: dayjs.Dayjs[];
|
|
60
62
|
selectedPeriod: Period;
|
|
63
|
+
/** Maximum number of days between the start and the end date in Range mode. Undefined means no limit. */
|
|
64
|
+
dateLimit: _angular_core.InputSignal<number | undefined>;
|
|
61
65
|
showRanges: boolean;
|
|
62
66
|
showCustomRangeLabel: _angular_core.InputSignal<boolean>;
|
|
63
67
|
dateSelected: EventEmitter<any>;
|
|
@@ -96,7 +100,7 @@ declare class DatepickerComponent implements OnInit, OnChanges, AfterViewInit {
|
|
|
96
100
|
setCalendarCurrentPage(): void;
|
|
97
101
|
setWidth(): void;
|
|
98
102
|
static ɵfac: _angular_core.ɵɵFactoryDeclaration<DatepickerComponent, never>;
|
|
99
|
-
static ɵcmp: _angular_core.ɵɵComponentDeclaration<DatepickerComponent, "ap-datepicker", never, { "firstDayOfWeek": { "alias": "firstDayOfWeek"; "required": false; }; "i18n": { "alias": "i18n"; "required": false; }; "locale": { "alias": "locale"; "required": false; }; "maxDate": { "alias": "maxDate"; "required": false; }; "minDate": { "alias": "minDate"; "required": false; }; "mode": { "alias": "mode"; "required": true; }; "selectedDate": { "alias": "selectedDate"; "required": false; }; "selectedDates": { "alias": "selectedDates"; "required": false; }; "selectedPeriod": { "alias": "selectedPeriod"; "required": false; }; "showRanges": { "alias": "showRanges"; "required": false; }; "showCustomRangeLabel": { "alias": "showCustomRangeLabel"; "required": false; "isSignal": true; }; "rangesConfig": { "alias": "rangesConfig"; "required": false; "isSignal": true; }; }, { "dateSelected": "dateSelected"; "periodSelected": "periodSelected"; }, never, never, true, never>;
|
|
103
|
+
static ɵcmp: _angular_core.ɵɵComponentDeclaration<DatepickerComponent, "ap-datepicker", never, { "firstDayOfWeek": { "alias": "firstDayOfWeek"; "required": false; }; "i18n": { "alias": "i18n"; "required": false; }; "locale": { "alias": "locale"; "required": false; }; "maxDate": { "alias": "maxDate"; "required": false; }; "minDate": { "alias": "minDate"; "required": false; }; "mode": { "alias": "mode"; "required": true; }; "selectedDate": { "alias": "selectedDate"; "required": false; }; "selectedDates": { "alias": "selectedDates"; "required": false; }; "selectedPeriod": { "alias": "selectedPeriod"; "required": false; }; "dateLimit": { "alias": "dateLimit"; "required": false; "isSignal": true; }; "showRanges": { "alias": "showRanges"; "required": false; }; "showCustomRangeLabel": { "alias": "showCustomRangeLabel"; "required": false; "isSignal": true; }; "rangesConfig": { "alias": "rangesConfig"; "required": false; "isSignal": true; }; }, { "dateSelected": "dateSelected"; "periodSelected": "periodSelected"; }, never, never, true, never>;
|
|
100
104
|
}
|
|
101
105
|
|
|
102
106
|
/**
|
|
@@ -111,6 +115,10 @@ declare class DatepickerDropdownComponent implements DropdownOverlay {
|
|
|
111
115
|
selectedPeriod: _angular_core.InputSignal<Period>;
|
|
112
116
|
minDate: _angular_core.InputSignal<dayjs.Dayjs | undefined>;
|
|
113
117
|
maxDate: _angular_core.InputSignal<dayjs.Dayjs | undefined>;
|
|
118
|
+
/** Maximum number of days between the start and the end date in Range mode. Undefined means no limit. */
|
|
119
|
+
dateLimit: _angular_core.InputSignal<number | undefined>;
|
|
120
|
+
/** Caption shown at the bottom of the panel, e.g. to explain a selection constraint. */
|
|
121
|
+
hint: _angular_core.InputSignal<string | undefined>;
|
|
114
122
|
firstDayOfWeek: _angular_core.InputSignal<"sunday" | "monday">;
|
|
115
123
|
locale: _angular_core.InputSignal<string>;
|
|
116
124
|
i18n: _angular_core.InputSignal<I18nDatePicker | undefined>;
|
|
@@ -119,6 +127,8 @@ declare class DatepickerDropdownComponent implements DropdownOverlay {
|
|
|
119
127
|
showCustomRangeLabel: _angular_core.InputSignal<boolean>;
|
|
120
128
|
rangesConfig: _angular_core.InputSignal<RangesConfigPresetType | null>;
|
|
121
129
|
showBackdrop: _angular_core.InputSignal<boolean>;
|
|
130
|
+
/** Close the overlay once a full period is selected. When false it stays open until backdrop click or Escape. */
|
|
131
|
+
closeOnSelect: _angular_core.InputSignal<boolean>;
|
|
122
132
|
disabled: _angular_core.InputSignal<boolean>;
|
|
123
133
|
defaultPosition: _angular_core.InputSignal<"left" | "right">;
|
|
124
134
|
opened: _angular_core.OutputEmitterRef<void>;
|
|
@@ -133,7 +143,7 @@ declare class DatepickerDropdownComponent implements DropdownOverlay {
|
|
|
133
143
|
onDateSelected(date: dayjs.Dayjs): void;
|
|
134
144
|
onPeriodSelected(period: Period): void;
|
|
135
145
|
static ɵfac: _angular_core.ɵɵFactoryDeclaration<DatepickerDropdownComponent, never>;
|
|
136
|
-
static ɵcmp: _angular_core.ɵɵComponentDeclaration<DatepickerDropdownComponent, "ap-datepicker-dropdown", never, { "mode": { "alias": "mode"; "required": true; "isSignal": true; }; "selectedDate": { "alias": "selectedDate"; "required": false; "isSignal": true; }; "selectedDates": { "alias": "selectedDates"; "required": false; "isSignal": true; }; "selectedPeriod": { "alias": "selectedPeriod"; "required": false; "isSignal": true; }; "minDate": { "alias": "minDate"; "required": false; "isSignal": true; }; "maxDate": { "alias": "maxDate"; "required": false; "isSignal": true; }; "firstDayOfWeek": { "alias": "firstDayOfWeek"; "required": false; "isSignal": true; }; "locale": { "alias": "locale"; "required": false; "isSignal": true; }; "i18n": { "alias": "i18n"; "required": false; "isSignal": true; }; "showRanges": { "alias": "showRanges"; "required": false; "isSignal": true; }; "showCustomRangeLabel": { "alias": "showCustomRangeLabel"; "required": false; "isSignal": true; }; "rangesConfig": { "alias": "rangesConfig"; "required": false; "isSignal": true; }; "showBackdrop": { "alias": "showBackdrop"; "required": false; "isSignal": true; }; "disabled": { "alias": "disabled"; "required": false; "isSignal": true; }; "defaultPosition": { "alias": "defaultPosition"; "required": false; "isSignal": true; }; }, { "opened": "opened"; "closed": "closed"; "dateSelected": "dateSelected"; "periodSelected": "periodSelected"; }, never, never, true, never>;
|
|
146
|
+
static ɵcmp: _angular_core.ɵɵComponentDeclaration<DatepickerDropdownComponent, "ap-datepicker-dropdown", never, { "mode": { "alias": "mode"; "required": true; "isSignal": true; }; "selectedDate": { "alias": "selectedDate"; "required": false; "isSignal": true; }; "selectedDates": { "alias": "selectedDates"; "required": false; "isSignal": true; }; "selectedPeriod": { "alias": "selectedPeriod"; "required": false; "isSignal": true; }; "minDate": { "alias": "minDate"; "required": false; "isSignal": true; }; "maxDate": { "alias": "maxDate"; "required": false; "isSignal": true; }; "dateLimit": { "alias": "dateLimit"; "required": false; "isSignal": true; }; "hint": { "alias": "hint"; "required": false; "isSignal": true; }; "firstDayOfWeek": { "alias": "firstDayOfWeek"; "required": false; "isSignal": true; }; "locale": { "alias": "locale"; "required": false; "isSignal": true; }; "i18n": { "alias": "i18n"; "required": false; "isSignal": true; }; "showRanges": { "alias": "showRanges"; "required": false; "isSignal": true; }; "showCustomRangeLabel": { "alias": "showCustomRangeLabel"; "required": false; "isSignal": true; }; "rangesConfig": { "alias": "rangesConfig"; "required": false; "isSignal": true; }; "showBackdrop": { "alias": "showBackdrop"; "required": false; "isSignal": true; }; "closeOnSelect": { "alias": "closeOnSelect"; "required": false; "isSignal": true; }; "disabled": { "alias": "disabled"; "required": false; "isSignal": true; }; "defaultPosition": { "alias": "defaultPosition"; "required": false; "isSignal": true; }; }, { "opened": "opened"; "closed": "closed"; "dateSelected": "dateSelected"; "periodSelected": "periodSelected"; }, never, never, true, never>;
|
|
137
147
|
}
|
|
138
148
|
|
|
139
149
|
declare const defaultPeriodSelected: Period;
|
|
@@ -46,6 +46,7 @@ export { BadgeComponent } from '@agorapulse/ui-components/badge';
|
|
|
46
46
|
export { ButtonComponent } from '@agorapulse/ui-components/button';
|
|
47
47
|
export { CheckboxComponent } from '@agorapulse/ui-components/checkbox';
|
|
48
48
|
export { CounterComponent } from '@agorapulse/ui-components/counter';
|
|
49
|
+
export { DateRangePickerComponent, DateRangePickerPreset, defaultDateRangePickerPresets } from '@agorapulse/ui-components/date-range-picker';
|
|
49
50
|
export { IconButtonComponent } from '@agorapulse/ui-components/icon-button';
|
|
50
51
|
export { InputComponent } from '@agorapulse/ui-components/legacy/input';
|
|
51
52
|
export { SelectComponent } from '@agorapulse/ui-components/legacy/select';
|
|
Binary file
|