@agorapulse/ui-components 22.0.0 → 22.0.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/agorapulse-ui-components-22.0.2.tgz +0 -0
- package/fesm2022/agorapulse-ui-components-datepicker.mjs +16 -4
- package/fesm2022/agorapulse-ui-components-datepicker.mjs.map +1 -1
- package/fesm2022/agorapulse-ui-components-filter-dropdown.mjs +8 -5
- package/fesm2022/agorapulse-ui-components-filter-dropdown.mjs.map +1 -1
- package/fesm2022/agorapulse-ui-components-select.mjs +21 -8
- package/fesm2022/agorapulse-ui-components-select.mjs.map +1 -1
- package/package.json +1 -1
- package/types/agorapulse-ui-components-datepicker.d.ts +5 -1
- package/types/agorapulse-ui-components-select.d.ts +6 -3
- package/agorapulse-ui-components-22.0.0.tgz +0 -0
|
Binary file
|
|
@@ -2,7 +2,7 @@ import { createDropdownOverlay, DropdownTriggerDirective } from '@agorapulse/ui-
|
|
|
2
2
|
import * as i0 from '@angular/core';
|
|
3
3
|
import { input, EventEmitter, Output, Input, ViewChild, ChangeDetectionStrategy, Component, viewChild, computed, output, signal, effect } from '@angular/core';
|
|
4
4
|
import * as i1 from '@agorapulse/ui-symbol';
|
|
5
|
-
import { apArrowLeft, apArrowRight, SymbolComponent, withSymbols, apCalendar, apChevronDown } from '@agorapulse/ui-symbol';
|
|
5
|
+
import { apArrowLeft, apArrowRight, SymbolComponent, withSymbols, apCalendar, apChevronDown, apClose } from '@agorapulse/ui-symbol';
|
|
6
6
|
import * as i2 from '@agorapulse/ngx-daterangepicker-material';
|
|
7
7
|
import { NgxDaterangepickerMd } from '@agorapulse/ngx-daterangepicker-material';
|
|
8
8
|
import dayjs from 'dayjs';
|
|
@@ -13,6 +13,7 @@ import 'dayjs/locale/fr';
|
|
|
13
13
|
import 'dayjs/locale/pt';
|
|
14
14
|
import localeData from 'dayjs/plugin/localeData';
|
|
15
15
|
import { FormFieldComponent } from '@agorapulse/ui-components/form-field';
|
|
16
|
+
import { IconButtonComponent } from '@agorapulse/ui-components/icon-button';
|
|
16
17
|
import { InputDirective } from '@agorapulse/ui-components/input';
|
|
17
18
|
import { InputGroupComponent } from '@agorapulse/ui-components/input-group';
|
|
18
19
|
|
|
@@ -428,6 +429,9 @@ class InputDatepickerComponent {
|
|
|
428
429
|
...(ngDevMode ? [{ debugName: "showBackdrop" }] : /* istanbul ignore next */ []));
|
|
429
430
|
defaultPosition = input('right', /* @ts-ignore */
|
|
430
431
|
...(ngDevMode ? [{ debugName: "defaultPosition" }] : /* istanbul ignore next */ []));
|
|
432
|
+
/** Show a clear (X) inside the input when a value is selected. Off by default. */
|
|
433
|
+
clearable = input(false, /* @ts-ignore */
|
|
434
|
+
...(ngDevMode ? [{ debugName: "clearable" }] : /* istanbul ignore next */ []));
|
|
431
435
|
periodRange = signal(defaultPeriodSelected, /* @ts-ignore */
|
|
432
436
|
...(ngDevMode ? [{ debugName: "periodRange" }] : /* istanbul ignore next */ []));
|
|
433
437
|
isDisabled = signal(false, /* @ts-ignore */
|
|
@@ -469,6 +473,13 @@ class InputDatepickerComponent {
|
|
|
469
473
|
this.onChange(defaultPeriodSelected);
|
|
470
474
|
}
|
|
471
475
|
}
|
|
476
|
+
/** Clear the selected period. Stops propagation so it doesn't reopen the calendar. */
|
|
477
|
+
onClear(event) {
|
|
478
|
+
event.stopPropagation();
|
|
479
|
+
this.periodRange.set(defaultPeriodSelected);
|
|
480
|
+
this.onChange(defaultPeriodSelected);
|
|
481
|
+
this.periodChanged.emit(defaultPeriodSelected);
|
|
482
|
+
}
|
|
472
483
|
writeValue(value) {
|
|
473
484
|
if (value && value.startDate && value.endDate) {
|
|
474
485
|
this.periodRange.set({
|
|
@@ -490,20 +501,21 @@ class InputDatepickerComponent {
|
|
|
490
501
|
this.isDisabled.set(isDisabled);
|
|
491
502
|
}
|
|
492
503
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.5", ngImport: i0, type: InputDatepickerComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
493
|
-
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 } }, outputs: { periodChanged: "periodChanged", dateSelected: "dateSelected" }, providers: [withSymbols(apCalendar, apChevronDown)], 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
|
|
504
|
+
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 });
|
|
494
505
|
}
|
|
495
506
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.5", ngImport: i0, type: InputDatepickerComponent, decorators: [{
|
|
496
507
|
type: Component,
|
|
497
508
|
args: [{ changeDetection: ChangeDetectionStrategy.OnPush, selector: 'ap-input-datepicker', imports: [
|
|
498
509
|
DatepickerDropdownComponent,
|
|
499
510
|
DropdownTriggerDirective,
|
|
511
|
+
IconButtonComponent,
|
|
500
512
|
InputDirective,
|
|
501
513
|
InputGroupComponent,
|
|
502
514
|
SymbolComponent,
|
|
503
515
|
FormFieldComponent,
|
|
504
516
|
SymbolComponent,
|
|
505
|
-
], providers: [withSymbols(apCalendar, apChevronDown)], template: "<ap-form-field>\n @let vLabel = label();\n @if (vLabel) {\n <label for=\"datepicker\">\n {{ vLabel }}\n </label>\n }\n <ap-input-group
|
|
506
|
-
}], propDecorators: { mode: [{ type: i0.Input, args: [{ isSignal: true, alias: "mode", required: true }] }], label: [{ type: i0.Input, args: [{ isSignal: true, alias: "label", required: false }] }], placeholder: [{ type: i0.Input, args: [{ isSignal: true, alias: "placeholder", required: false }] }], firstDayOfWeek: [{ type: i0.Input, args: [{ isSignal: true, alias: "firstDayOfWeek", required: false }] }], locale: [{ type: i0.Input, args: [{ isSignal: true, alias: "locale", required: false }] }], dateFormat: [{ type: i0.Input, args: [{ isSignal: true, alias: "dateFormat", required: false }] }], disabled: [{ type: i0.Input, args: [{ isSignal: true, alias: "disabled", required: false }] }], minDate: [{ type: i0.Input, args: [{ isSignal: true, alias: "minDate", required: false }] }], maxDate: [{ type: i0.Input, args: [{ isSignal: true, alias: "maxDate", required: false }] }], 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 }] }], 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 }] }], defaultPosition: [{ type: i0.Input, args: [{ isSignal: true, alias: "defaultPosition", required: false }] }], periodChanged: [{ type: i0.Output, args: ["periodChanged"] }], dateSelected: [{ type: i0.Output, args: ["dateSelected"] }] } });
|
|
517
|
+
], providers: [withSymbols(apCalendar, apChevronDown, apClose)], 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"] }]
|
|
518
|
+
}], propDecorators: { mode: [{ type: i0.Input, args: [{ isSignal: true, alias: "mode", required: true }] }], label: [{ type: i0.Input, args: [{ isSignal: true, alias: "label", required: false }] }], placeholder: [{ type: i0.Input, args: [{ isSignal: true, alias: "placeholder", required: false }] }], firstDayOfWeek: [{ type: i0.Input, args: [{ isSignal: true, alias: "firstDayOfWeek", required: false }] }], locale: [{ type: i0.Input, args: [{ isSignal: true, alias: "locale", required: false }] }], dateFormat: [{ type: i0.Input, args: [{ isSignal: true, alias: "dateFormat", required: false }] }], disabled: [{ type: i0.Input, args: [{ isSignal: true, alias: "disabled", required: false }] }], minDate: [{ type: i0.Input, args: [{ isSignal: true, alias: "minDate", required: false }] }], maxDate: [{ type: i0.Input, args: [{ isSignal: true, alias: "maxDate", required: false }] }], 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 }] }], 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 }] }], defaultPosition: [{ type: i0.Input, args: [{ isSignal: true, alias: "defaultPosition", required: false }] }], clearable: [{ type: i0.Input, args: [{ isSignal: true, alias: "clearable", required: false }] }], periodChanged: [{ type: i0.Output, args: ["periodChanged"] }], dateSelected: [{ type: i0.Output, args: ["dateSelected"] }] } });
|
|
507
519
|
|
|
508
520
|
/**
|
|
509
521
|
* Generated bundle index. Do not edit.
|
|
@@ -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 { InputDirective } from '@agorapulse/ui-components/input';\nimport { InputGroupComponent } from '@agorapulse/ui-components/input-group';\nimport { apCalendar, apChevronDown, 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 imports: [\n DatepickerDropdownComponent,\n DropdownTriggerDirective,\n InputDirective,\n InputGroupComponent,\n SymbolComponent,\n FormFieldComponent,\n SymbolComponent,\n ],\n providers: [withSymbols(apCalendar, apChevronDown)],\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 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 if (startDate && endDate) {\n return `${dayjs(startDate).format(dateFormat)} - ${dayjs(endDate).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 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 [apDropdownTrigger]=\"datepickerDropdown\" symbolPosition=\"left\">\n <ap-symbol size=\"sm\" 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 </ap-input-group>\n\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}\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 if (startDate && endDate) {\n return `${dayjs(startDate).format(dateFormat)} - ${dayjs(endDate).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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"}
|