@egose/shadcn-theme-ng-tw 0.0.26 → 0.0.27
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/LICENSE +201 -0
- package/README.md +107 -2
- package/alert/fesm2022/alert.mjs +19 -19
- package/alert/fesm2022/alert.mjs.map +1 -1
- package/badge/fesm2022/badge.mjs +4 -4
- package/badge/fesm2022/badge.mjs.map +1 -1
- package/basic-alert/fesm2022/basic-alert.mjs +4 -4
- package/basic-alert/fesm2022/basic-alert.mjs.map +1 -1
- package/button/fesm2022/button.mjs +8 -8
- package/button/fesm2022/button.mjs.map +1 -1
- package/calendar/fesm2022/calendar.mjs +16 -16
- package/calendar/fesm2022/calendar.mjs.map +1 -1
- package/date-picker/fesm2022/date-picker.mjs +19 -19
- package/date-picker/fesm2022/date-picker.mjs.map +1 -1
- package/form-date-picker/fesm2022/form-date-picker.mjs +4 -4
- package/form-date-picker/fesm2022/form-date-picker.mjs.map +1 -1
- package/form-field/fesm2022/form-field.mjs +16 -16
- package/form-field/fesm2022/form-field.mjs.map +1 -1
- package/form-field-simple/fesm2022/form-field-simple.mjs +4 -4
- package/form-field-simple/fesm2022/form-field-simple.mjs.map +1 -1
- package/form-select/fesm2022/form-select.mjs +5 -5
- package/form-select/fesm2022/form-select.mjs.map +1 -1
- package/form-text-input/fesm2022/form-text-input.mjs +8 -8
- package/form-text-input/fesm2022/form-text-input.mjs.map +1 -1
- package/form-textarea/fesm2022/form-textarea.mjs +4 -4
- package/form-textarea/fesm2022/form-textarea.mjs.map +1 -1
- package/icon/fesm2022/icon.mjs +8 -8
- package/icon/fesm2022/icon.mjs.map +1 -1
- package/input/fesm2022/input.mjs +8 -8
- package/input/fesm2022/input.mjs.map +1 -1
- package/label/fesm2022/label.mjs +8 -8
- package/label/fesm2022/label.mjs.map +1 -1
- package/package.json +7 -57
- package/popover/fesm2022/popover.mjs +12 -12
- package/popover/fesm2022/popover.mjs.map +1 -1
- package/select/fesm2022/select.mjs +40 -40
- package/select/fesm2022/select.mjs.map +1 -1
- package/separator/fesm2022/separator.mjs +8 -8
- package/separator/fesm2022/separator.mjs.map +1 -1
- package/sheet/fesm2022/sheet.mjs +36 -37
- package/sheet/fesm2022/sheet.mjs.map +1 -1
- package/sonner/fesm2022/sonner.mjs +8 -8
- package/sonner/fesm2022/sonner.mjs.map +1 -1
- package/spinner/fesm2022/spinner.mjs +8 -8
- package/spinner/fesm2022/spinner.mjs.map +1 -1
- package/switch/fesm2022/switch.mjs +12 -12
- package/switch/fesm2022/switch.mjs.map +1 -1
- package/accordion/README.md +0 -64
- package/accordion/fesm2022/accordion.mjs +0 -155
- package/accordion/fesm2022/accordion.mjs.map +0 -1
- package/accordion/index.d.ts +0 -49
- package/autocomplete/README.md +0 -64
- package/autocomplete/fesm2022/autocomplete.mjs +0 -543
- package/autocomplete/fesm2022/autocomplete.mjs.map +0 -1
- package/autocomplete/index.d.ts +0 -162
- package/checkbox/README.md +0 -64
- package/checkbox/fesm2022/checkbox.mjs +0 -146
- package/checkbox/fesm2022/checkbox.mjs.map +0 -1
- package/checkbox/index.d.ts +0 -55
- package/confirmation-dialog/README.md +0 -64
- package/confirmation-dialog/fesm2022/confirmation-dialog.mjs +0 -93
- package/confirmation-dialog/fesm2022/confirmation-dialog.mjs.map +0 -1
- package/confirmation-dialog/index.d.ts +0 -24
- package/dialog/README.md +0 -64
- package/dialog/fesm2022/dialog.mjs +0 -278
- package/dialog/fesm2022/dialog.mjs.map +0 -1
- package/dialog/index.d.ts +0 -89
- package/exports.json +0 -1
- package/form-checkbox/README.md +0 -64
- package/form-checkbox/fesm2022/form-checkbox.mjs +0 -137
- package/form-checkbox/fesm2022/form-checkbox.mjs.map +0 -1
- package/form-checkbox/index.d.ts +0 -27
- package/form-searchable-multiselect/README.md +0 -64
- package/form-searchable-multiselect/fesm2022/form-searchable-multiselect.mjs +0 -139
- package/form-searchable-multiselect/fesm2022/form-searchable-multiselect.mjs.map +0 -1
- package/form-searchable-multiselect/index.d.ts +0 -30
- package/layout-simple/README.md +0 -64
- package/layout-simple/fesm2022/layout-simple.mjs +0 -606
- package/layout-simple/fesm2022/layout-simple.mjs.map +0 -1
- package/layout-simple/index.d.ts +0 -142
- package/menu/README.md +0 -64
- package/menu/fesm2022/menu.mjs +0 -449
- package/menu/fesm2022/menu.mjs.map +0 -1
- package/menu/index.d.ts +0 -137
- package/radio-group/README.md +0 -64
- package/radio-group/fesm2022/radio-group.mjs +0 -170
- package/radio-group/fesm2022/radio-group.mjs.map +0 -1
- package/radio-group/index.d.ts +0 -63
- package/searchable-multiselect/README.md +0 -64
- package/searchable-multiselect/fesm2022/searchable-multiselect.mjs +0 -221
- package/searchable-multiselect/fesm2022/searchable-multiselect.mjs.map +0 -1
- package/searchable-multiselect/index.d.ts +0 -50
- package/tabs/README.md +0 -64
- package/tabs/fesm2022/tabs.mjs +0 -258
- package/tabs/fesm2022/tabs.mjs.map +0 -1
- package/tabs/index.d.ts +0 -71
- package/tooltip/README.md +0 -64
- package/tooltip/fesm2022/tooltip.mjs +0 -93
- package/tooltip/fesm2022/tooltip.mjs.map +0 -1
- package/tooltip/index.d.ts +0 -21
|
@@ -96,8 +96,8 @@ class HlmDatePicker extends BrnFormFieldControl {
|
|
|
96
96
|
close() {
|
|
97
97
|
this._popoverState.set('closed');
|
|
98
98
|
}
|
|
99
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.
|
|
100
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.3.
|
|
99
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.15", ngImport: i0, type: HlmDatePicker, deps: null, target: i0.ɵɵFactoryTarget.Component });
|
|
100
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.3.15", type: HlmDatePicker, isStandalone: true, selector: "hlm-date-picker", inputs: { userClass: { classPropertyName: "userClass", publicName: "class", isSignal: true, isRequired: false, transformFunction: null }, buttonId: { classPropertyName: "buttonId", publicName: "buttonId", isSignal: true, isRequired: false, transformFunction: null }, min: { classPropertyName: "min", publicName: "min", isSignal: true, isRequired: false, transformFunction: null }, max: { classPropertyName: "max", publicName: "max", isSignal: true, isRequired: false, transformFunction: null }, disabled: { classPropertyName: "disabled", publicName: "disabled", isSignal: true, isRequired: false, transformFunction: null }, date: { classPropertyName: "date", publicName: "date", isSignal: true, isRequired: false, transformFunction: null }, autoCloseOnSelect: { classPropertyName: "autoCloseOnSelect", publicName: "autoCloseOnSelect", isSignal: true, isRequired: false, transformFunction: null }, formatDate: { classPropertyName: "formatDate", publicName: "formatDate", isSignal: true, isRequired: false, transformFunction: null }, transformDate: { classPropertyName: "transformDate", publicName: "transformDate", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { dateChange: "dateChange" }, host: { classAttribute: "block" }, providers: [
|
|
101
101
|
HLM_DATE_PICKER_VALUE_ACCESSOR,
|
|
102
102
|
provideIcons({ lucideChevronDown }),
|
|
103
103
|
{
|
|
@@ -135,9 +135,9 @@ class HlmDatePicker extends BrnFormFieldControl {
|
|
|
135
135
|
/>
|
|
136
136
|
</div>
|
|
137
137
|
</brn-popover>
|
|
138
|
-
`, isInline: true, dependencies: [{ kind: "component", type: NgIcon, selector: "ng-icon", inputs: ["name", "svg", "size", "strokeWidth", "color"] }, { kind: "directive", type: HlmIcon, selector: "ng-icon[hlm]", inputs: ["size"] }, { kind: "
|
|
138
|
+
`, isInline: true, dependencies: [{ kind: "component", type: NgIcon, selector: "ng-icon", inputs: ["name", "svg", "size", "strokeWidth", "color"] }, { kind: "directive", type: HlmIcon, selector: "ng-icon[hlm]", inputs: ["size"] }, { kind: "directive", type: BrnPopover, selector: "[brnPopover],brn-popover", inputs: ["align", "sideOffset", "offsetX"], exportAs: ["brnPopover"] }, { kind: "directive", type: BrnPopoverTrigger, selector: "button[brnPopoverTrigger],button[brnPopoverTriggerFor]", inputs: ["brnPopoverTriggerFor"] }, { kind: "directive", type: BrnPopoverContent, selector: "[brnPopoverContent]" }, { kind: "directive", type: HlmPopoverContent, selector: "[hlmPopoverContent],[brnPopoverContent][hlm]", inputs: ["class"] }, { kind: "component", type: HlmCalendar, selector: "hlm-calendar", inputs: ["calendarClass", "min", "max", "disabled", "date", "dateDisabled", "weekStartsOn", "defaultFocusedDate"], outputs: ["dateChange"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
139
139
|
}
|
|
140
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.
|
|
140
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.15", ngImport: i0, type: HlmDatePicker, decorators: [{
|
|
141
141
|
type: Component,
|
|
142
142
|
args: [{
|
|
143
143
|
selector: 'hlm-date-picker',
|
|
@@ -187,7 +187,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.1", ngImpor
|
|
|
187
187
|
},
|
|
188
188
|
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
189
189
|
}]
|
|
190
|
-
}] });
|
|
190
|
+
}], propDecorators: { userClass: [{ type: i0.Input, args: [{ isSignal: true, alias: "class", required: false }] }], buttonId: [{ type: i0.Input, args: [{ isSignal: true, alias: "buttonId", required: false }] }], min: [{ type: i0.Input, args: [{ isSignal: true, alias: "min", required: false }] }], max: [{ type: i0.Input, args: [{ isSignal: true, alias: "max", required: false }] }], disabled: [{ type: i0.Input, args: [{ isSignal: true, alias: "disabled", required: false }] }], date: [{ type: i0.Input, args: [{ isSignal: true, alias: "date", required: false }] }], autoCloseOnSelect: [{ type: i0.Input, args: [{ isSignal: true, alias: "autoCloseOnSelect", required: false }] }], formatDate: [{ type: i0.Input, args: [{ isSignal: true, alias: "formatDate", required: false }] }], transformDate: [{ type: i0.Input, args: [{ isSignal: true, alias: "transformDate", required: false }] }], dateChange: [{ type: i0.Output, args: ["dateChange"] }] } });
|
|
191
191
|
|
|
192
192
|
function getDefaultConfig$1() {
|
|
193
193
|
return {
|
|
@@ -285,8 +285,8 @@ class HlmDatePickerMulti {
|
|
|
285
285
|
close() {
|
|
286
286
|
this._popoverState.set('closed');
|
|
287
287
|
}
|
|
288
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.
|
|
289
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.3.
|
|
288
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.15", ngImport: i0, type: HlmDatePickerMulti, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
289
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.3.15", type: HlmDatePickerMulti, isStandalone: true, selector: "hlm-date-picker-multi", inputs: { userClass: { classPropertyName: "userClass", publicName: "class", isSignal: true, isRequired: false, transformFunction: null }, buttonId: { classPropertyName: "buttonId", publicName: "buttonId", isSignal: true, isRequired: false, transformFunction: null }, min: { classPropertyName: "min", publicName: "min", isSignal: true, isRequired: false, transformFunction: null }, max: { classPropertyName: "max", publicName: "max", isSignal: true, isRequired: false, transformFunction: null }, minSelection: { classPropertyName: "minSelection", publicName: "minSelection", isSignal: true, isRequired: false, transformFunction: null }, maxSelection: { classPropertyName: "maxSelection", publicName: "maxSelection", isSignal: true, isRequired: false, transformFunction: null }, disabled: { classPropertyName: "disabled", publicName: "disabled", isSignal: true, isRequired: false, transformFunction: null }, date: { classPropertyName: "date", publicName: "date", isSignal: true, isRequired: false, transformFunction: null }, autoCloseOnMaxSelection: { classPropertyName: "autoCloseOnMaxSelection", publicName: "autoCloseOnMaxSelection", isSignal: true, isRequired: false, transformFunction: null }, formatDates: { classPropertyName: "formatDates", publicName: "formatDates", isSignal: true, isRequired: false, transformFunction: null }, transformDates: { classPropertyName: "transformDates", publicName: "transformDates", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { dateChange: "dateChange" }, host: { classAttribute: "block" }, providers: [HLM_DATE_PICKER_MUTLI_VALUE_ACCESSOR, provideIcons({ lucideChevronDown })], ngImport: i0, template: `
|
|
290
290
|
<brn-popover sideOffset="5" [state]="_popoverState()" (stateChanged)="_popoverState.set($event)">
|
|
291
291
|
<button
|
|
292
292
|
[id]="buttonId()"
|
|
@@ -319,9 +319,9 @@ class HlmDatePickerMulti {
|
|
|
319
319
|
/>
|
|
320
320
|
</div>
|
|
321
321
|
</brn-popover>
|
|
322
|
-
`, isInline: true, dependencies: [{ kind: "component", type: NgIcon, selector: "ng-icon", inputs: ["name", "svg", "size", "strokeWidth", "color"] }, { kind: "directive", type: HlmIcon, selector: "ng-icon[hlm]", inputs: ["size"] }, { kind: "
|
|
322
|
+
`, isInline: true, dependencies: [{ kind: "component", type: NgIcon, selector: "ng-icon", inputs: ["name", "svg", "size", "strokeWidth", "color"] }, { kind: "directive", type: HlmIcon, selector: "ng-icon[hlm]", inputs: ["size"] }, { kind: "directive", type: BrnPopover, selector: "[brnPopover],brn-popover", inputs: ["align", "sideOffset", "offsetX"], exportAs: ["brnPopover"] }, { kind: "directive", type: BrnPopoverTrigger, selector: "button[brnPopoverTrigger],button[brnPopoverTriggerFor]", inputs: ["brnPopoverTriggerFor"] }, { kind: "directive", type: BrnPopoverContent, selector: "[brnPopoverContent]" }, { kind: "directive", type: HlmPopoverContent, selector: "[hlmPopoverContent],[brnPopoverContent][hlm]", inputs: ["class"] }, { kind: "component", type: HlmCalendarMulti, selector: "hlm-calendar-multi", inputs: ["calendarClass", "min", "max", "minSelection", "maxSelection", "disabled", "date", "dateDisabled", "weekStartsOn", "defaultFocusedDate"], outputs: ["dateChange"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
323
323
|
}
|
|
324
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.
|
|
324
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.15", ngImport: i0, type: HlmDatePickerMulti, decorators: [{
|
|
325
325
|
type: Component,
|
|
326
326
|
args: [{
|
|
327
327
|
selector: 'hlm-date-picker-multi',
|
|
@@ -366,7 +366,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.1", ngImpor
|
|
|
366
366
|
},
|
|
367
367
|
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
368
368
|
}]
|
|
369
|
-
}] });
|
|
369
|
+
}], propDecorators: { userClass: [{ type: i0.Input, args: [{ isSignal: true, alias: "class", required: false }] }], buttonId: [{ type: i0.Input, args: [{ isSignal: true, alias: "buttonId", required: false }] }], min: [{ type: i0.Input, args: [{ isSignal: true, alias: "min", required: false }] }], max: [{ type: i0.Input, args: [{ isSignal: true, alias: "max", required: false }] }], minSelection: [{ type: i0.Input, args: [{ isSignal: true, alias: "minSelection", required: false }] }], maxSelection: [{ type: i0.Input, args: [{ isSignal: true, alias: "maxSelection", required: false }] }], disabled: [{ type: i0.Input, args: [{ isSignal: true, alias: "disabled", required: false }] }], date: [{ type: i0.Input, args: [{ isSignal: true, alias: "date", required: false }] }], autoCloseOnMaxSelection: [{ type: i0.Input, args: [{ isSignal: true, alias: "autoCloseOnMaxSelection", required: false }] }], formatDates: [{ type: i0.Input, args: [{ isSignal: true, alias: "formatDates", required: false }] }], transformDates: [{ type: i0.Input, args: [{ isSignal: true, alias: "transformDates", required: false }] }], dateChange: [{ type: i0.Output, args: ["dateChange"] }] } });
|
|
370
370
|
|
|
371
371
|
function getDefaultConfig() {
|
|
372
372
|
return {
|
|
@@ -481,8 +481,8 @@ class HlmDateRangePicker {
|
|
|
481
481
|
this._end.set(dates[1]);
|
|
482
482
|
}
|
|
483
483
|
}
|
|
484
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.
|
|
485
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.3.
|
|
484
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.15", ngImport: i0, type: HlmDateRangePicker, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
485
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.3.15", type: HlmDateRangePicker, isStandalone: true, selector: "hlm-date-range-picker", inputs: { userClass: { classPropertyName: "userClass", publicName: "class", isSignal: true, isRequired: false, transformFunction: null }, buttonId: { classPropertyName: "buttonId", publicName: "buttonId", isSignal: true, isRequired: false, transformFunction: null }, min: { classPropertyName: "min", publicName: "min", isSignal: true, isRequired: false, transformFunction: null }, max: { classPropertyName: "max", publicName: "max", isSignal: true, isRequired: false, transformFunction: null }, disabled: { classPropertyName: "disabled", publicName: "disabled", isSignal: true, isRequired: false, transformFunction: null }, date: { classPropertyName: "date", publicName: "date", isSignal: true, isRequired: false, transformFunction: null }, autoCloseOnEndSelection: { classPropertyName: "autoCloseOnEndSelection", publicName: "autoCloseOnEndSelection", isSignal: true, isRequired: false, transformFunction: null }, formatDates: { classPropertyName: "formatDates", publicName: "formatDates", isSignal: true, isRequired: false, transformFunction: null }, transformDates: { classPropertyName: "transformDates", publicName: "transformDates", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { dateChange: "dateChange" }, host: { classAttribute: "block" }, providers: [HLM_DATE_RANGE_PICKER_VALUE_ACCESSOR, provideIcons({ lucideChevronDown })], ngImport: i0, template: `
|
|
486
486
|
<brn-popover
|
|
487
487
|
sideOffset="5"
|
|
488
488
|
[state]="_popoverState()"
|
|
@@ -520,9 +520,9 @@ class HlmDateRangePicker {
|
|
|
520
520
|
/>
|
|
521
521
|
</div>
|
|
522
522
|
</brn-popover>
|
|
523
|
-
`, isInline: true, dependencies: [{ kind: "component", type: NgIcon, selector: "ng-icon", inputs: ["name", "svg", "size", "strokeWidth", "color"] }, { kind: "directive", type: HlmIcon, selector: "ng-icon[hlm]", inputs: ["size"] }, { kind: "
|
|
523
|
+
`, isInline: true, dependencies: [{ kind: "component", type: NgIcon, selector: "ng-icon", inputs: ["name", "svg", "size", "strokeWidth", "color"] }, { kind: "directive", type: HlmIcon, selector: "ng-icon[hlm]", inputs: ["size"] }, { kind: "directive", type: BrnPopover, selector: "[brnPopover],brn-popover", inputs: ["align", "sideOffset", "offsetX"], exportAs: ["brnPopover"] }, { kind: "directive", type: BrnPopoverTrigger, selector: "button[brnPopoverTrigger],button[brnPopoverTriggerFor]", inputs: ["brnPopoverTriggerFor"] }, { kind: "directive", type: BrnPopoverContent, selector: "[brnPopoverContent]" }, { kind: "directive", type: HlmPopoverContent, selector: "[hlmPopoverContent],[brnPopoverContent][hlm]", inputs: ["class"] }, { kind: "component", type: HlmCalendarRange, selector: "hlm-calendar-range", inputs: ["calendarClass", "min", "max", "disabled", "startDate", "endDate", "dateDisabled", "weekStartsOn", "defaultFocusedDate"], outputs: ["startDateChange", "endDateChange"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
524
524
|
}
|
|
525
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.
|
|
525
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.15", ngImport: i0, type: HlmDateRangePicker, decorators: [{
|
|
526
526
|
type: Component,
|
|
527
527
|
args: [{
|
|
528
528
|
selector: 'hlm-date-range-picker',
|
|
@@ -572,18 +572,18 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.1", ngImpor
|
|
|
572
572
|
},
|
|
573
573
|
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
574
574
|
}]
|
|
575
|
-
}] });
|
|
575
|
+
}], propDecorators: { userClass: [{ type: i0.Input, args: [{ isSignal: true, alias: "class", required: false }] }], buttonId: [{ type: i0.Input, args: [{ isSignal: true, alias: "buttonId", required: false }] }], min: [{ type: i0.Input, args: [{ isSignal: true, alias: "min", required: false }] }], max: [{ type: i0.Input, args: [{ isSignal: true, alias: "max", required: false }] }], disabled: [{ type: i0.Input, args: [{ isSignal: true, alias: "disabled", required: false }] }], date: [{ type: i0.Input, args: [{ isSignal: true, alias: "date", required: false }] }], autoCloseOnEndSelection: [{ type: i0.Input, args: [{ isSignal: true, alias: "autoCloseOnEndSelection", required: false }] }], formatDates: [{ type: i0.Input, args: [{ isSignal: true, alias: "formatDates", required: false }] }], transformDates: [{ type: i0.Input, args: [{ isSignal: true, alias: "transformDates", required: false }] }], dateChange: [{ type: i0.Output, args: ["dateChange"] }] } });
|
|
576
576
|
|
|
577
577
|
/*
|
|
578
578
|
* Public API Surface of date-picker
|
|
579
579
|
*/
|
|
580
580
|
const HlmDatePickerImports = [HlmDatePicker, HlmDatePickerMulti, HlmDateRangePicker];
|
|
581
581
|
class HlmDatePickerModule {
|
|
582
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.
|
|
583
|
-
static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "20.3.
|
|
584
|
-
static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "20.3.
|
|
582
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.15", ngImport: i0, type: HlmDatePickerModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
583
|
+
static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "20.3.15", ngImport: i0, type: HlmDatePickerModule, imports: [HlmDatePicker, HlmDatePickerMulti, HlmDateRangePicker], exports: [HlmDatePicker, HlmDatePickerMulti, HlmDateRangePicker] });
|
|
584
|
+
static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "20.3.15", ngImport: i0, type: HlmDatePickerModule, imports: [HlmDatePickerImports] });
|
|
585
585
|
}
|
|
586
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.
|
|
586
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.15", ngImport: i0, type: HlmDatePickerModule, decorators: [{
|
|
587
587
|
type: NgModule,
|
|
588
588
|
args: [{
|
|
589
589
|
imports: [...HlmDatePickerImports],
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"date-picker.mjs","sources":["../../../projects/date-picker/src/lib/date-picker.token.ts","../../../projects/date-picker/src/lib/date-picker.ts","../../../projects/date-picker/src/lib/date-picker-multi.token.ts","../../../projects/date-picker/src/lib/date-picker-multi.ts","../../../projects/date-picker/src/lib/date-range-picker.token.ts","../../../projects/date-picker/src/lib/date-range-picker.ts","../../../projects/date-picker/src/public-api.ts","../../../projects/date-picker/src/date-picker.ts"],"sourcesContent":["import { inject, InjectionToken, ValueProvider } from '@angular/core';\n\nexport interface HlmDatePickerConfig<T> {\n /**\n * If true, the date picker will close when a date is selected.\n */\n autoCloseOnSelect: boolean;\n\n /**\n * Defines how the date should be displayed in the UI.\n *\n * @param date\n * @returns formatted date\n */\n formatDate: (date: T) => string;\n\n /**\n * Defines how the date should be transformed before saving to model/form.\n *\n * @param date\n * @returns transformed date\n */\n transformDate: (date: T) => T;\n}\n\nfunction getDefaultConfig<T>(): HlmDatePickerConfig<T> {\n return {\n formatDate: (date) => (date instanceof Date ? date.toDateString() : `${date}`),\n transformDate: (date) => date,\n autoCloseOnSelect: false,\n };\n}\n\nconst HlmDatePickerConfigToken = new InjectionToken<HlmDatePickerConfig<unknown>>('HlmDatePickerConfig');\n\nexport function provideHlmDatePickerConfig<T>(config: Partial<HlmDatePickerConfig<T>>): ValueProvider {\n return { provide: HlmDatePickerConfigToken, useValue: { ...getDefaultConfig(), ...config } };\n}\n\nexport function injectHlmDatePickerConfig<T>(): HlmDatePickerConfig<T> {\n const injectedConfig = inject(HlmDatePickerConfigToken, { optional: true });\n return injectedConfig ? (injectedConfig as HlmDatePickerConfig<T>) : getDefaultConfig();\n}\n","import { BooleanInput } from '@angular/cdk/coercion';\nimport {\n booleanAttribute,\n ChangeDetectionStrategy,\n Component,\n computed,\n forwardRef,\n input,\n linkedSignal,\n output,\n signal,\n} from '@angular/core';\nimport { ControlValueAccessor, NG_VALUE_ACCESSOR } from '@angular/forms';\nimport { NgIcon, provideIcons } from '@ng-icons/core';\nimport { lucideChevronDown } from '@ng-icons/lucide';\nimport { BrnDialogState } from '@spartan-ng/brain/dialog';\nimport { type ChangeFn, type TouchFn } from '@spartan-ng/brain/forms';\nimport { BrnPopover, BrnPopoverContent, BrnPopoverTrigger } from '@spartan-ng/brain/popover';\nimport { BrnFormFieldControl } from '@spartan-ng/brain/form-field';\nimport { HlmCalendar } from '@egose/shadcn-theme-ng/calendar';\nimport { HlmIcon } from '@egose/shadcn-theme-ng/icon';\nimport { HlmPopoverContent } from '@egose/shadcn-theme-ng/popover';\nimport { hlm } from '@egose/shadcn-theme-ng/utils';\nimport type { ClassValue } from 'clsx';\nimport { injectHlmDatePickerConfig } from './date-picker.token';\n\nexport const HLM_DATE_PICKER_VALUE_ACCESSOR = {\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => HlmDatePicker),\n multi: true,\n};\n\nlet nextId = 0;\n\n@Component({\n selector: 'hlm-date-picker',\n imports: [NgIcon, HlmIcon, BrnPopover, BrnPopoverTrigger, BrnPopoverContent, HlmPopoverContent, HlmCalendar],\n providers: [\n HLM_DATE_PICKER_VALUE_ACCESSOR,\n provideIcons({ lucideChevronDown }),\n {\n provide: BrnFormFieldControl,\n useExisting: forwardRef(() => HlmDatePicker),\n },\n ],\n template: `\n <brn-popover sideOffset=\"5\" [state]=\"_popoverState()\" (stateChanged)=\"_popoverState.set($event)\">\n <button\n [id]=\"buttonId()\"\n type=\"button\"\n [class]=\"_computedClass()\"\n [disabled]=\"_mutableDisabled()\"\n brnPopoverTrigger\n >\n <span class=\"truncate\">\n @if (_formattedDate(); as formattedDate) {\n {{ formattedDate }}\n } @else {\n <ng-content />\n }\n </span>\n\n <ng-icon hlm size=\"sm\" name=\"lucideChevronDown\" />\n </button>\n\n <div hlmPopoverContent class=\"tw:w-auto tw:p-0\" *brnPopoverContent=\"let ctx\">\n <hlm-calendar\n calendarClass=\"tw:border-0 tw:rounded-none\"\n [date]=\"_mutableDate()\"\n [min]=\"min()\"\n [max]=\"max()\"\n [disabled]=\"_mutableDisabled()\"\n (dateChange)=\"_handleChange($event)\"\n />\n </div>\n </brn-popover>\n `,\n host: {\n class: 'block',\n },\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class HlmDatePicker<T> extends BrnFormFieldControl implements ControlValueAccessor {\n private readonly _config = injectHlmDatePickerConfig<T>();\n\n public readonly userClass = input<ClassValue>('', { alias: 'class' });\n protected readonly _computedClass = computed(() =>\n hlm(\n 'tw:ring-offset-background tw:border-input tw:bg-background tw:hover:bg-input/50 tw:dark:bg-input/10 tw:dark:hover:bg-input/50 tw:inline-flex tw:h-9 tw:w-full tw:cursor-default tw:items-center tw:justify-between tw:gap-2 tw:whitespace-nowrap tw:rounded-md tw:border tw:px-3 tw:py-2 tw:text-left tw:text-sm tw:font-normal tw:transition-all tw:disabled:pointer-events-none tw:disabled:opacity-50',\n 'tw:focus-visible:ring-ring tw:focus-visible:outline-none tw:focus-visible:ring-2 tw:focus-visible:ring-offset-2',\n 'tw:disabled:pointer-events-none tw:disabled:opacity-50',\n 'tw:[&_ng-icon]:pointer-events-none tw:[&_ng-icon]:shrink-0',\n this.userClass(),\n ),\n );\n\n /** The id of the button that opens the date picker. */\n public readonly buttonId = input<string>(`hlm-date-picker-${nextId++}`);\n\n /** The minimum date that can be selected.*/\n public readonly min = input<T>();\n\n /** The maximum date that can be selected. */\n public readonly max = input<T>();\n\n /** Determine if the date picker is disabled. */\n public readonly disabled = input<boolean, BooleanInput>(false, {\n transform: booleanAttribute,\n });\n\n /** The selected value. */\n public readonly date = input<T>();\n\n protected readonly _mutableDate = linkedSignal(this.date);\n\n /** If true, the date picker will close when a date is selected. */\n public readonly autoCloseOnSelect = input<boolean, BooleanInput>(this._config.autoCloseOnSelect, {\n transform: booleanAttribute,\n });\n\n /** Defines how the date should be displayed in the UI. */\n public readonly formatDate = input<(date: T) => string>(this._config.formatDate);\n\n /** Defines how the date should be transformed before saving to model/form. */\n public readonly transformDate = input<(date: T) => T>(this._config.transformDate);\n\n protected readonly _popoverState = signal<BrnDialogState | null>(null);\n\n protected readonly _mutableDisabled = linkedSignal(this.disabled);\n\n protected readonly _formattedDate = computed(() => {\n const date = this._mutableDate();\n return date ? this.formatDate()(date) : undefined;\n });\n\n public readonly dateChange = output<T>();\n\n protected _onChange?: ChangeFn<T>;\n protected _onTouched?: TouchFn;\n\n protected _handleChange(value: T) {\n if (this._mutableDisabled()) return;\n const transformedDate = this.transformDate()(value);\n\n this._mutableDate.set(transformedDate);\n this._onChange?.(transformedDate);\n this.dateChange.emit(transformedDate);\n\n if (this.autoCloseOnSelect()) {\n this._popoverState.set('closed');\n }\n }\n\n /** CONTROL VALUE ACCESSOR */\n public writeValue(value: T | null): void {\n this._mutableDate.set(value ? this.transformDate()(value) : undefined);\n }\n\n public registerOnChange(fn: ChangeFn<T>): void {\n this._onChange = fn;\n }\n\n public registerOnTouched(fn: TouchFn): void {\n this._onTouched = fn;\n }\n\n public setDisabledState(isDisabled: boolean): void {\n this._mutableDisabled.set(isDisabled);\n }\n\n public open() {\n this._popoverState.set('open');\n }\n\n public close() {\n this._popoverState.set('closed');\n }\n}\n","import { inject, InjectionToken, ValueProvider } from '@angular/core';\n\nexport interface HlmDatePickerMultiConfig<T> {\n /**\n * If true, the date picker will close when the max selection of dates is reached.\n */\n autoCloseOnMaxSelection: boolean;\n\n /**\n * Defines how the date should be displayed in the UI.\n *\n * @param dates\n * @returns formatted date\n */\n formatDates: (dates: T[]) => string;\n\n /**\n * Defines how the date should be transformed before saving to model/form.\n *\n * @param dates\n * @returns transformed date\n */\n transformDates: (dates: T[]) => T[];\n}\n\nfunction getDefaultConfig<T>(): HlmDatePickerMultiConfig<T> {\n return {\n formatDates: (dates) => dates.map((date) => (date instanceof Date ? date.toDateString() : `${date}`)).join(', '),\n transformDates: (dates) => dates,\n autoCloseOnMaxSelection: false,\n };\n}\n\nconst HlmDatePickerMultiConfigToken = new InjectionToken<HlmDatePickerMultiConfig<unknown>>('HlmDatePickerMultiConfig');\n\nexport function provideHlmDatePickerMultiConfig<T>(config: Partial<HlmDatePickerMultiConfig<T>>): ValueProvider {\n return { provide: HlmDatePickerMultiConfigToken, useValue: { ...getDefaultConfig(), ...config } };\n}\n\nexport function injectHlmDatePickerMultiConfig<T>(): HlmDatePickerMultiConfig<T> {\n const injectedConfig = inject(HlmDatePickerMultiConfigToken, { optional: true });\n return injectedConfig ? (injectedConfig as HlmDatePickerMultiConfig<T>) : getDefaultConfig();\n}\n","import { BooleanInput, NumberInput } from '@angular/cdk/coercion';\nimport {\n booleanAttribute,\n ChangeDetectionStrategy,\n Component,\n computed,\n forwardRef,\n input,\n linkedSignal,\n numberAttribute,\n output,\n signal,\n} from '@angular/core';\nimport { ControlValueAccessor, NG_VALUE_ACCESSOR } from '@angular/forms';\nimport { NgIcon, provideIcons } from '@ng-icons/core';\nimport { lucideChevronDown } from '@ng-icons/lucide';\nimport { BrnDialogState } from '@spartan-ng/brain/dialog';\nimport { type ChangeFn, type TouchFn } from '@spartan-ng/brain/forms';\nimport { BrnPopover, BrnPopoverContent, BrnPopoverTrigger } from '@spartan-ng/brain/popover';\nimport { HlmCalendarMulti } from '@egose/shadcn-theme-ng/calendar';\nimport { HlmIcon } from '@egose/shadcn-theme-ng/icon';\nimport { HlmPopoverContent } from '@egose/shadcn-theme-ng/popover';\nimport { hlm } from '@egose/shadcn-theme-ng/utils';\nimport type { ClassValue } from 'clsx';\nimport { injectHlmDatePickerMultiConfig } from './date-picker-multi.token';\n\nexport const HLM_DATE_PICKER_MUTLI_VALUE_ACCESSOR = {\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => HlmDatePickerMulti),\n multi: true,\n};\n\nlet nextId = 0;\n\n@Component({\n selector: 'hlm-date-picker-multi',\n imports: [NgIcon, HlmIcon, BrnPopover, BrnPopoverTrigger, BrnPopoverContent, HlmPopoverContent, HlmCalendarMulti],\n providers: [HLM_DATE_PICKER_MUTLI_VALUE_ACCESSOR, provideIcons({ lucideChevronDown })],\n template: `\n <brn-popover sideOffset=\"5\" [state]=\"_popoverState()\" (stateChanged)=\"_popoverState.set($event)\">\n <button\n [id]=\"buttonId()\"\n type=\"button\"\n [class]=\"_computedClass()\"\n [disabled]=\"_mutableDisabled()\"\n brnPopoverTrigger\n >\n <span class=\"truncate\">\n @if (_formattedDate(); as formattedDate) {\n {{ formattedDate }}\n } @else {\n <ng-content />\n }\n </span>\n\n <ng-icon hlm size=\"sm\" name=\"lucideChevronDown\" />\n </button>\n\n <div hlmPopoverContent class=\"w-auto p-0\" *brnPopoverContent=\"let ctx\">\n <hlm-calendar-multi\n calendarClass=\"border-0 rounded-none\"\n [date]=\"_mutableDate()\"\n [min]=\"min()\"\n [max]=\"max()\"\n [minSelection]=\"minSelection()\"\n [maxSelection]=\"maxSelection()\"\n [disabled]=\"_mutableDisabled()\"\n (dateChange)=\"_handleChange($event)\"\n />\n </div>\n </brn-popover>\n `,\n host: {\n class: 'block',\n },\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class HlmDatePickerMulti<T> implements ControlValueAccessor {\n private readonly _config = injectHlmDatePickerMultiConfig<T>();\n\n public readonly userClass = input<ClassValue>('', { alias: 'class' });\n protected readonly _computedClass = computed(() =>\n hlm(\n 'tw:ring-offset-background tw:border-input tw:bg-background tw:hover:bg-accent tw:dark:bg-input/30 tw:dark:hover:bg-input/50 tw:inline-flex tw:h-9 tw:w-[280px] tw:cursor-default tw:items-center tw:justify-between tw:gap-2 tw:whitespace-nowrap tw:rounded-md tw:border tw:px-3 tw:py-2 tw:text-left tw:text-sm tw:font-normal tw:transition-all tw:disabled:pointer-events-none tw:disabled:opacity-50',\n 'tw:focus-visible:ring-ring tw:focus-visible:outline-none tw:focus-visible:ring-2 tw:focus-visible:ring-offset-2',\n 'tw:disabled:pointer-events-none tw:disabled:opacity-50',\n 'tw:[&_ng-icon]:pointer-events-none tw:[&_ng-icon]:shrink-0',\n this.userClass(),\n ),\n );\n\n /** The id of the button that opens the date picker. */\n public readonly buttonId = input<string>(`hlm-date-picker-multi-${nextId++}`);\n\n /** The minimum date that can be selected.*/\n public readonly min = input<T>();\n\n /** The maximum date that can be selected. */\n public readonly max = input<T>();\n\n /** The minimum selectable dates. */\n public readonly minSelection = input<number, NumberInput>(undefined, {\n transform: numberAttribute,\n });\n\n /** The maximum selectable dates. */\n public readonly maxSelection = input<number, NumberInput>(undefined, {\n transform: numberAttribute,\n });\n\n /** Determine if the date picker is disabled. */\n public readonly disabled = input<boolean, BooleanInput>(false, {\n transform: booleanAttribute,\n });\n\n /** The selected value. */\n public readonly date = input<T[]>();\n\n protected readonly _mutableDate = linkedSignal(this.date);\n\n /** If true, the date picker will close when the max selection of dates is reached. */\n public readonly autoCloseOnMaxSelection = input<boolean, BooleanInput>(this._config.autoCloseOnMaxSelection, {\n transform: booleanAttribute,\n });\n\n /** Defines how the date should be displayed in the UI. */\n public readonly formatDates = input<(date: T[]) => string>(this._config.formatDates);\n\n /** Defines how the date should be transformed before saving to model/form. */\n public readonly transformDates = input<(date: T[]) => T[]>(this._config.transformDates);\n\n protected readonly _popoverState = signal<BrnDialogState | null>(null);\n\n protected readonly _mutableDisabled = linkedSignal(this.disabled);\n\n protected readonly _formattedDate = computed(() => {\n const dates = this._mutableDate();\n return dates ? this.formatDates()(dates) : undefined;\n });\n\n public readonly dateChange = output<T[]>();\n\n protected _onChange?: ChangeFn<T[]>;\n protected _onTouched?: TouchFn;\n\n protected _handleChange(value: T[] | undefined) {\n if (value === undefined) return;\n\n if (this._mutableDisabled()) return;\n const transformedDate = this.transformDates()(value);\n\n this._mutableDate.set(transformedDate);\n this._onChange?.(transformedDate);\n this.dateChange.emit(transformedDate);\n\n if (this.autoCloseOnMaxSelection() && this._mutableDate()?.length === this.maxSelection()) {\n this._popoverState.set('closed');\n }\n }\n\n /** CONTROL VALUE ACCESSOR */\n public writeValue(value: T[] | null): void {\n this._mutableDate.set(value ? this.transformDates()(value) : undefined);\n }\n\n public registerOnChange(fn: ChangeFn<T[]>): void {\n this._onChange = fn;\n }\n\n public registerOnTouched(fn: TouchFn): void {\n this._onTouched = fn;\n }\n\n public setDisabledState(isDisabled: boolean): void {\n this._mutableDisabled.set(isDisabled);\n }\n\n public open() {\n this._popoverState.set('open');\n }\n\n public close() {\n this._popoverState.set('closed');\n }\n}\n","import { inject, InjectionToken, ValueProvider } from '@angular/core';\n\nexport interface HlmDateRangePickerConfig<T> {\n /**\n * If true, the date picker will close when the max selection of dates is reached.\n */\n autoCloseOnEndSelection: boolean;\n\n /**\n * Defines how the date should be displayed in the UI.\n *\n * @param dates\n * @returns formatted date\n */\n formatDates: (dates: [T | undefined, T | undefined]) => string;\n\n /**\n * Defines how the date should be transformed before saving to model/form.\n *\n * @param dates\n * @returns transformed date\n */\n transformDates: (dates: [T, T]) => [T, T];\n}\n\nfunction getDefaultConfig<T>(): HlmDateRangePickerConfig<T> {\n return {\n formatDates: (dates) =>\n dates\n .filter(Boolean)\n .map((date) => (date instanceof Date ? date.toDateString() : `${date}`))\n .join(' - '),\n transformDates: (dates) => dates,\n autoCloseOnEndSelection: false,\n };\n}\n\nconst HlmDateRangePickerConfigToken = new InjectionToken<HlmDateRangePickerConfig<unknown>>('HlmDateRangePickerConfig');\n\nexport function provideHlmDateRangePickerConfig<T>(config: Partial<HlmDateRangePickerConfig<T>>): ValueProvider {\n return { provide: HlmDateRangePickerConfigToken, useValue: { ...getDefaultConfig(), ...config } };\n}\n\nexport function injectHlmDateRangePickerConfig<T>(): HlmDateRangePickerConfig<T> {\n const injectedConfig = inject(HlmDateRangePickerConfigToken, { optional: true });\n return injectedConfig ? (injectedConfig as HlmDateRangePickerConfig<T>) : getDefaultConfig();\n}\n","import { BooleanInput } from '@angular/cdk/coercion';\nimport {\n booleanAttribute,\n ChangeDetectionStrategy,\n Component,\n computed,\n forwardRef,\n input,\n linkedSignal,\n output,\n signal,\n untracked,\n} from '@angular/core';\nimport { ControlValueAccessor, NG_VALUE_ACCESSOR } from '@angular/forms';\nimport { NgIcon, provideIcons } from '@ng-icons/core';\nimport { lucideChevronDown } from '@ng-icons/lucide';\nimport { BrnDialogState } from '@spartan-ng/brain/dialog';\nimport { type ChangeFn, type TouchFn } from '@spartan-ng/brain/forms';\nimport { BrnPopover, BrnPopoverContent, BrnPopoverTrigger } from '@spartan-ng/brain/popover';\nimport { HlmCalendarRange } from '@egose/shadcn-theme-ng/calendar';\nimport { HlmIcon } from '@egose/shadcn-theme-ng/icon';\nimport { HlmPopoverContent } from '@egose/shadcn-theme-ng/popover';\nimport { hlm } from '@egose/shadcn-theme-ng/utils';\nimport type { ClassValue } from 'clsx';\nimport { injectHlmDateRangePickerConfig } from './date-range-picker.token';\n\nexport const HLM_DATE_RANGE_PICKER_VALUE_ACCESSOR = {\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => HlmDateRangePicker),\n multi: true,\n};\n\nlet nextId = 0;\n\n@Component({\n selector: 'hlm-date-range-picker',\n imports: [NgIcon, HlmIcon, BrnPopover, BrnPopoverTrigger, BrnPopoverContent, HlmPopoverContent, HlmCalendarRange],\n providers: [HLM_DATE_RANGE_PICKER_VALUE_ACCESSOR, provideIcons({ lucideChevronDown })],\n template: `\n <brn-popover\n sideOffset=\"5\"\n [state]=\"_popoverState()\"\n (stateChanged)=\"_popoverState.set($event)\"\n (closed)=\"_onClose()\"\n >\n <button\n [id]=\"buttonId()\"\n type=\"button\"\n [class]=\"_computedClass()\"\n [disabled]=\"_mutableDisabled()\"\n brnPopoverTrigger\n >\n <span class=\"truncate\">\n @if (_formattedDate(); as formattedDate) {\n {{ formattedDate }}\n } @else {\n <ng-content />\n }\n </span>\n\n <ng-icon hlm size=\"sm\" name=\"lucideChevronDown\" />\n </button>\n\n <div hlmPopoverContent class=\"tw:w-auto tw:p-0\" *brnPopoverContent=\"let ctx\">\n <hlm-calendar-range\n calendarClass=\"tw:border-0 tw:rounded-none\"\n [startDate]=\"_start()\"\n [endDate]=\"_end()\"\n [min]=\"min()\"\n [max]=\"max()\"\n [disabled]=\"_mutableDisabled()\"\n (startDateChange)=\"_handleStartDayChange($event)\"\n (endDateChange)=\"_handleEndDateChange($event)\"\n />\n </div>\n </brn-popover>\n `,\n host: {\n class: 'block',\n },\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class HlmDateRangePicker<T> implements ControlValueAccessor {\n private readonly _config = injectHlmDateRangePickerConfig<T>();\n\n public readonly userClass = input<ClassValue>('', { alias: 'class' });\n protected readonly _computedClass = computed(() =>\n hlm(\n 'tw:ring-offset-background tw:border-input tw:bg-background tw:hover:bg-accent tw:dark:bg-input/30 tw:dark:hover:bg-input/50 tw:inline-flex tw:h-9 tw:w-[280px] tw:cursor-default tw:items-center tw:justify-between tw:gap-2 tw:whitespace-nowrap tw:rounded-md tw:border tw:px-3 tw:py-2 tw:text-left tw:text-sm tw:font-normal tw:transition-all tw:disabled:pointer-events-none tw:disabled:opacity-50',\n 'tw:focus-visible:ring-ring tw:focus-visible:outline-none tw:focus-visible:ring-2 tw:focus-visible:ring-offset-2',\n 'tw:disabled:pointer-events-none tw:disabled:opacity-50',\n 'tw:[&_ng-icon]:pointer-events-none tw:[&_ng-icon]:shrink-0',\n this.userClass(),\n ),\n );\n\n /** The id of the button that opens the date picker. */\n public readonly buttonId = input<string>(`hlm-date-picker-range-${nextId++}`);\n\n /** The minimum date that can be selected.*/\n public readonly min = input<T>();\n\n /** The maximum date that can be selected. */\n public readonly max = input<T>();\n\n /** Determine if the date picker is disabled. */\n public readonly disabled = input<boolean, BooleanInput>(false, {\n transform: booleanAttribute,\n });\n\n /** The selected value. */\n public readonly date = input<[T, T]>();\n\n protected readonly _mutableDate = linkedSignal(this.date);\n\n protected readonly _start = linkedSignal(() => this._mutableDate()?.[0]);\n protected readonly _end = linkedSignal(() => this._mutableDate()?.[1]);\n\n /** If true, the date picker will close when the end date is selected */\n public readonly autoCloseOnEndSelection = input<boolean, BooleanInput>(this._config.autoCloseOnEndSelection, {\n transform: booleanAttribute,\n });\n\n /** Defines how the date should be displayed in the UI. */\n public readonly formatDates = input<(dates: [T | undefined, T | undefined]) => string>(this._config.formatDates);\n\n /** Defines how the date should be transformed before saving to model/form. */\n public readonly transformDates = input<(date: [T, T]) => [T, T]>(this._config.transformDates);\n\n protected readonly _popoverState = signal<BrnDialogState | null>(null);\n\n protected readonly _mutableDisabled = linkedSignal(this.disabled);\n\n protected readonly _formattedDate = computed(() => {\n const start = this._start();\n const end = this._end();\n return start || end ? this.formatDates()([start, end]) : undefined;\n });\n\n public readonly dateChange = output<[T, T] | null>();\n\n protected _onChange?: ChangeFn<[T, T] | null>;\n protected _onTouched?: TouchFn;\n\n protected _handleStartDayChange(value: T) {\n this._start.set(value);\n }\n\n protected _handleEndDateChange(value: T): void {\n this._end.set(value);\n if (this._mutableDisabled()) return;\n\n const start = this._start();\n if (start && value) {\n const transformedDates = this.transformDates()([start, value]);\n this._mutableDate.set(transformedDates);\n this.dateChange.emit(transformedDates);\n this._onChange?.(transformedDates);\n\n if (this.autoCloseOnEndSelection()) {\n this._popoverState.set('closed');\n }\n }\n }\n\n /** CONTROL VALUE ACCESSOR */\n public writeValue(value: [T, T] | null): void {\n untracked(() => {\n if (!value) {\n this._mutableDate.set(undefined);\n } else {\n this._mutableDate.set(this.transformDates()(value));\n }\n });\n }\n\n public registerOnChange(fn: ChangeFn<[T, T] | null>): void {\n this._onChange = fn;\n }\n\n public registerOnTouched(fn: TouchFn): void {\n this._onTouched = fn;\n }\n\n public setDisabledState(isDisabled: boolean): void {\n this._mutableDisabled.set(isDisabled);\n }\n\n public open() {\n this._popoverState.set('open');\n }\n\n public close() {\n this._popoverState.set('closed');\n }\n\n protected _onClose(): void {\n const dates = this._mutableDate();\n if (this._start() && !this._end() && dates) {\n this._start.set(dates[0]);\n this._end.set(dates[1]);\n }\n }\n}\n","/*\n * Public API Surface of date-picker\n */\n\nimport { NgModule } from '@angular/core';\nimport { HlmDatePicker } from './lib/date-picker';\nimport { HlmDatePickerMulti } from './lib/date-picker-multi';\nimport { HlmDateRangePicker } from './lib/date-range-picker';\n\nexport * from './lib/date-picker-multi.token';\nexport * from './lib/date-picker.token';\n\nexport * from './lib/date-picker';\nexport * from './lib/date-picker-multi';\nexport * from './lib/date-range-picker';\nexport * from './lib/date-range-picker.token';\n\nexport const HlmDatePickerImports = [HlmDatePicker, HlmDatePickerMulti, HlmDateRangePicker] as const;\n\n@NgModule({\n imports: [...HlmDatePickerImports],\n exports: [...HlmDatePickerImports],\n})\nexport class HlmDatePickerModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["getDefaultConfig","nextId"],"mappings":";;;;;;;;;;;;AAyBA,SAASA,kBAAgB,GAAA;IACvB,OAAO;QACL,UAAU,EAAE,CAAC,IAAI,MAAM,IAAI,YAAY,IAAI,GAAG,IAAI,CAAC,YAAY,EAAE,GAAG,CAAA,EAAG,IAAI,CAAA,CAAE,CAAC;AAC9E,QAAA,aAAa,EAAE,CAAC,IAAI,KAAK,IAAI;AAC7B,QAAA,iBAAiB,EAAE,KAAK;KACzB;AACH;AAEA,MAAM,wBAAwB,GAAG,IAAI,cAAc,CAA+B,qBAAqB,CAAC;AAElG,SAAU,0BAA0B,CAAI,MAAuC,EAAA;AACnF,IAAA,OAAO,EAAE,OAAO,EAAE,wBAAwB,EAAE,QAAQ,EAAE,EAAE,GAAGA,kBAAgB,EAAE,EAAE,GAAG,MAAM,EAAE,EAAE;AAC9F;SAEgB,yBAAyB,GAAA;AACvC,IAAA,MAAM,cAAc,GAAG,MAAM,CAAC,wBAAwB,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;IAC3E,OAAO,cAAc,GAAI,cAAyC,GAAGA,kBAAgB,EAAE;AACzF;;AChBO,MAAM,8BAA8B,GAAG;AAC5C,IAAA,OAAO,EAAE,iBAAiB;AAC1B,IAAA,WAAW,EAAE,UAAU,CAAC,MAAM,aAAa,CAAC;AAC5C,IAAA,KAAK,EAAE,IAAI;;AAGb,IAAIC,QAAM,GAAG,CAAC;AAkDR,MAAO,aAAiB,SAAQ,mBAAmB,CAAA;IACtC,OAAO,GAAG,yBAAyB,EAAK;AAEzC,IAAA,SAAS,GAAG,KAAK,CAAa,EAAE,6CAAI,KAAK,EAAE,OAAO,EAAA,CAAA,GAAA,CAAhB,EAAE,KAAK,EAAE,OAAO,EAAE,GAAC;IAClD,cAAc,GAAG,QAAQ,CAAC,MAC3C,GAAG,CACD,0YAA0Y,EAC1Y,iHAAiH,EACjH,wDAAwD,EACxD,4DAA4D,EAC5D,IAAI,CAAC,SAAS,EAAE,CACjB,EAAA,IAAA,SAAA,GAAA,CAAA,EAAA,SAAA,EAAA,gBAAA,EAAA,CAAA,GAAA,EAAA,CAAA,CACF;;IAGe,QAAQ,GAAG,KAAK,CAAS,CAAA,gBAAA,EAAmBA,QAAM,EAAE,CAAA,CAAE,oDAAC;;IAGvD,GAAG,GAAG,KAAK,CAAA,IAAA,SAAA,GAAA,CAAA,SAAA,EAAA,EAAA,SAAA,EAAA,KAAA,EAAA,CAAA,GAAA,EAAA,CAAA,CAAK;;IAGhB,GAAG,GAAG,KAAK,CAAA,IAAA,SAAA,GAAA,CAAA,SAAA,EAAA,EAAA,SAAA,EAAA,KAAA,EAAA,CAAA,GAAA,EAAA,CAAA,CAAK;;IAGhB,QAAQ,GAAG,KAAK,CAAwB,KAAK,4CAC3D,SAAS,EAAE,gBAAgB,EAAA,CAAA,GAAA,CADkC;AAC7D,YAAA,SAAS,EAAE,gBAAgB;AAC5B,SAAA,CAAA,CAAA,CAAC;;IAGc,IAAI,GAAG,KAAK,CAAA,IAAA,SAAA,GAAA,CAAA,SAAA,EAAA,EAAA,SAAA,EAAA,MAAA,EAAA,CAAA,GAAA,EAAA,CAAA,CAAK;AAEd,IAAA,YAAY,GAAG,YAAY,CAAC,IAAI,CAAC,IAAI,wDAAC;;AAGzC,IAAA,iBAAiB,GAAG,KAAK,CAAwB,IAAI,CAAC,OAAO,CAAC,iBAAiB,EAAA,IAAA,SAAA,GAAA,CAAA,EAAA,SAAA,EAAA,mBAAA,EAC7F,SAAS,EAAE,gBAAgB,EAAA,CAAA,GAAA,CADoE;AAC/F,YAAA,SAAS,EAAE,gBAAgB;AAC5B,SAAA,CAAA,CAAA,CAAC;;IAGc,UAAU,GAAG,KAAK,CAAsB,IAAI,CAAC,OAAO,CAAC,UAAU,EAAA,IAAA,SAAA,GAAA,CAAA,EAAA,SAAA,EAAA,YAAA,EAAA,CAAA,GAAA,EAAA,CAAA,CAAC;;IAGhE,aAAa,GAAG,KAAK,CAAiB,IAAI,CAAC,OAAO,CAAC,aAAa,EAAA,IAAA,SAAA,GAAA,CAAA,EAAA,SAAA,EAAA,eAAA,EAAA,CAAA,GAAA,EAAA,CAAA,CAAC;AAE9D,IAAA,aAAa,GAAG,MAAM,CAAwB,IAAI,yDAAC;AAEnD,IAAA,gBAAgB,GAAG,YAAY,CAAC,IAAI,CAAC,QAAQ,4DAAC;AAE9C,IAAA,cAAc,GAAG,QAAQ,CAAC,MAAK;AAChD,QAAA,MAAM,IAAI,GAAG,IAAI,CAAC,YAAY,EAAE;AAChC,QAAA,OAAO,IAAI,GAAG,IAAI,CAAC,UAAU,EAAE,CAAC,IAAI,CAAC,GAAG,SAAS;AACnD,IAAA,CAAC,0DAAC;IAEc,UAAU,GAAG,MAAM,EAAK;AAE9B,IAAA,SAAS;AACT,IAAA,UAAU;AAEV,IAAA,aAAa,CAAC,KAAQ,EAAA;QAC9B,IAAI,IAAI,CAAC,gBAAgB,EAAE;YAAE;QAC7B,MAAM,eAAe,GAAG,IAAI,CAAC,aAAa,EAAE,CAAC,KAAK,CAAC;AAEnD,QAAA,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,eAAe,CAAC;AACtC,QAAA,IAAI,CAAC,SAAS,GAAG,eAAe,CAAC;AACjC,QAAA,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,eAAe,CAAC;AAErC,QAAA,IAAI,IAAI,CAAC,iBAAiB,EAAE,EAAE;AAC5B,YAAA,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,QAAQ,CAAC;QAClC;IACF;;AAGO,IAAA,UAAU,CAAC,KAAe,EAAA;QAC/B,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,KAAK,GAAG,IAAI,CAAC,aAAa,EAAE,CAAC,KAAK,CAAC,GAAG,SAAS,CAAC;IACxE;AAEO,IAAA,gBAAgB,CAAC,EAAe,EAAA;AACrC,QAAA,IAAI,CAAC,SAAS,GAAG,EAAE;IACrB;AAEO,IAAA,iBAAiB,CAAC,EAAW,EAAA;AAClC,QAAA,IAAI,CAAC,UAAU,GAAG,EAAE;IACtB;AAEO,IAAA,gBAAgB,CAAC,UAAmB,EAAA;AACzC,QAAA,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,UAAU,CAAC;IACvC;IAEO,IAAI,GAAA;AACT,QAAA,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,MAAM,CAAC;IAChC;IAEO,KAAK,GAAA;AACV,QAAA,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,QAAQ,CAAC;IAClC;uGA9FW,aAAa,EAAA,IAAA,EAAA,IAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA;AAAb,IAAA,OAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,aAAa,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,iBAAA,EAAA,MAAA,EAAA,EAAA,SAAA,EAAA,EAAA,iBAAA,EAAA,WAAA,EAAA,UAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,QAAA,EAAA,EAAA,iBAAA,EAAA,UAAA,EAAA,UAAA,EAAA,UAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,GAAA,EAAA,EAAA,iBAAA,EAAA,KAAA,EAAA,UAAA,EAAA,KAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,GAAA,EAAA,EAAA,iBAAA,EAAA,KAAA,EAAA,UAAA,EAAA,KAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,QAAA,EAAA,EAAA,iBAAA,EAAA,UAAA,EAAA,UAAA,EAAA,UAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,IAAA,EAAA,EAAA,iBAAA,EAAA,MAAA,EAAA,UAAA,EAAA,MAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,iBAAA,EAAA,EAAA,iBAAA,EAAA,mBAAA,EAAA,UAAA,EAAA,mBAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,UAAA,EAAA,EAAA,iBAAA,EAAA,YAAA,EAAA,UAAA,EAAA,YAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,aAAA,EAAA,EAAA,iBAAA,EAAA,eAAA,EAAA,UAAA,EAAA,eAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,EAAA,OAAA,EAAA,EAAA,UAAA,EAAA,YAAA,EAAA,EAAA,IAAA,EAAA,EAAA,cAAA,EAAA,OAAA,EAAA,EAAA,SAAA,EA7Cb;YACT,8BAA8B;AAC9B,YAAA,YAAY,CAAC,EAAE,iBAAiB,EAAE,CAAC;AACnC,YAAA;AACE,gBAAA,OAAO,EAAE,mBAAmB;AAC5B,gBAAA,WAAW,EAAE,UAAU,CAAC,MAAM,aAAa,CAAC;AAC7C,aAAA;SACF,EAAA,eAAA,EAAA,IAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,EACS;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AA+BT,EAAA,CAAA,EAAA,QAAA,EAAA,IAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAxCS,MAAM,EAAA,QAAA,EAAA,SAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,KAAA,EAAA,MAAA,EAAA,aAAA,EAAA,OAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAE,OAAO,EAAA,QAAA,EAAA,cAAA,EAAA,MAAA,EAAA,CAAA,MAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAE,UAAU,EAAA,QAAA,EAAA,aAAA,EAAA,MAAA,EAAA,CAAA,OAAA,EAAA,YAAA,CAAA,EAAA,QAAA,EAAA,CAAA,YAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAE,iBAAiB,EAAA,QAAA,EAAA,wDAAA,EAAA,MAAA,EAAA,CAAA,sBAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAE,iBAAiB,EAAA,QAAA,EAAA,qBAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAE,iBAAiB,EAAA,QAAA,EAAA,8CAAA,EAAA,MAAA,EAAA,CAAA,OAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAE,WAAW,EAAA,QAAA,EAAA,cAAA,EAAA,MAAA,EAAA,CAAA,eAAA,EAAA,KAAA,EAAA,KAAA,EAAA,UAAA,EAAA,MAAA,EAAA,cAAA,EAAA,cAAA,EAAA,oBAAA,CAAA,EAAA,OAAA,EAAA,CAAA,YAAA,CAAA,EAAA,CAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,CAAA;;2FA8ChG,aAAa,EAAA,UAAA,EAAA,CAAA;kBAhDzB,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACT,oBAAA,QAAQ,EAAE,iBAAiB;AAC3B,oBAAA,OAAO,EAAE,CAAC,MAAM,EAAE,OAAO,EAAE,UAAU,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,WAAW,CAAC;AAC5G,oBAAA,SAAS,EAAE;wBACT,8BAA8B;AAC9B,wBAAA,YAAY,CAAC,EAAE,iBAAiB,EAAE,CAAC;AACnC,wBAAA;AACE,4BAAA,OAAO,EAAE,mBAAmB;AAC5B,4BAAA,WAAW,EAAE,UAAU,CAAC,mBAAmB,CAAC;AAC7C,yBAAA;AACF,qBAAA;AACD,oBAAA,QAAQ,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AA+BT,EAAA,CAAA;AACD,oBAAA,IAAI,EAAE;AACJ,wBAAA,KAAK,EAAE,OAAO;AACf,qBAAA;oBACD,eAAe,EAAE,uBAAuB,CAAC,MAAM;AAChD,iBAAA;;;ACxDD,SAASD,kBAAgB,GAAA;IACvB,OAAO;AACL,QAAA,WAAW,EAAE,CAAC,KAAK,KAAK,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,MAAM,IAAI,YAAY,IAAI,GAAG,IAAI,CAAC,YAAY,EAAE,GAAG,CAAA,EAAG,IAAI,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC;AAChH,QAAA,cAAc,EAAE,CAAC,KAAK,KAAK,KAAK;AAChC,QAAA,uBAAuB,EAAE,KAAK;KAC/B;AACH;AAEA,MAAM,6BAA6B,GAAG,IAAI,cAAc,CAAoC,0BAA0B,CAAC;AAEjH,SAAU,+BAA+B,CAAI,MAA4C,EAAA;AAC7F,IAAA,OAAO,EAAE,OAAO,EAAE,6BAA6B,EAAE,QAAQ,EAAE,EAAE,GAAGA,kBAAgB,EAAE,EAAE,GAAG,MAAM,EAAE,EAAE;AACnG;SAEgB,8BAA8B,GAAA;AAC5C,IAAA,MAAM,cAAc,GAAG,MAAM,CAAC,6BAA6B,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;IAChF,OAAO,cAAc,GAAI,cAA8C,GAAGA,kBAAgB,EAAE;AAC9F;;AChBO,MAAM,oCAAoC,GAAG;AAClD,IAAA,OAAO,EAAE,iBAAiB;AAC1B,IAAA,WAAW,EAAE,UAAU,CAAC,MAAM,kBAAkB,CAAC;AACjD,IAAA,KAAK,EAAE,IAAI;;AAGb,IAAIC,QAAM,GAAG,CAAC;MA6CD,kBAAkB,CAAA;IACZ,OAAO,GAAG,8BAA8B,EAAK;AAE9C,IAAA,SAAS,GAAG,KAAK,CAAa,EAAE,6CAAI,KAAK,EAAE,OAAO,EAAA,CAAA,GAAA,CAAhB,EAAE,KAAK,EAAE,OAAO,EAAE,GAAC;IAClD,cAAc,GAAG,QAAQ,CAAC,MAC3C,GAAG,CACD,2YAA2Y,EAC3Y,iHAAiH,EACjH,wDAAwD,EACxD,4DAA4D,EAC5D,IAAI,CAAC,SAAS,EAAE,CACjB,EAAA,IAAA,SAAA,GAAA,CAAA,EAAA,SAAA,EAAA,gBAAA,EAAA,CAAA,GAAA,EAAA,CAAA,CACF;;IAGe,QAAQ,GAAG,KAAK,CAAS,CAAA,sBAAA,EAAyBA,QAAM,EAAE,CAAA,CAAE,oDAAC;;IAG7D,GAAG,GAAG,KAAK,CAAA,IAAA,SAAA,GAAA,CAAA,SAAA,EAAA,EAAA,SAAA,EAAA,KAAA,EAAA,CAAA,GAAA,EAAA,CAAA,CAAK;;IAGhB,GAAG,GAAG,KAAK,CAAA,IAAA,SAAA,GAAA,CAAA,SAAA,EAAA,EAAA,SAAA,EAAA,KAAA,EAAA,CAAA,GAAA,EAAA,CAAA,CAAK;;IAGhB,YAAY,GAAG,KAAK,CAAsB,SAAS,gDACjE,SAAS,EAAE,eAAe,EAAA,CAAA,GAAA,CADyC;AACnE,YAAA,SAAS,EAAE,eAAe;AAC3B,SAAA,CAAA,CAAA,CAAC;;IAGc,YAAY,GAAG,KAAK,CAAsB,SAAS,gDACjE,SAAS,EAAE,eAAe,EAAA,CAAA,GAAA,CADyC;AACnE,YAAA,SAAS,EAAE,eAAe;AAC3B,SAAA,CAAA,CAAA,CAAC;;IAGc,QAAQ,GAAG,KAAK,CAAwB,KAAK,4CAC3D,SAAS,EAAE,gBAAgB,EAAA,CAAA,GAAA,CADkC;AAC7D,YAAA,SAAS,EAAE,gBAAgB;AAC5B,SAAA,CAAA,CAAA,CAAC;;IAGc,IAAI,GAAG,KAAK,CAAA,IAAA,SAAA,GAAA,CAAA,SAAA,EAAA,EAAA,SAAA,EAAA,MAAA,EAAA,CAAA,GAAA,EAAA,CAAA,CAAO;AAEhB,IAAA,YAAY,GAAG,YAAY,CAAC,IAAI,CAAC,IAAI,wDAAC;;AAGzC,IAAA,uBAAuB,GAAG,KAAK,CAAwB,IAAI,CAAC,OAAO,CAAC,uBAAuB,EAAA,IAAA,SAAA,GAAA,CAAA,EAAA,SAAA,EAAA,yBAAA,EACzG,SAAS,EAAE,gBAAgB,EAAA,CAAA,GAAA,CADgF;AAC3G,YAAA,SAAS,EAAE,gBAAgB;AAC5B,SAAA,CAAA,CAAA,CAAC;;IAGc,WAAW,GAAG,KAAK,CAAwB,IAAI,CAAC,OAAO,CAAC,WAAW,EAAA,IAAA,SAAA,GAAA,CAAA,EAAA,SAAA,EAAA,aAAA,EAAA,CAAA,GAAA,EAAA,CAAA,CAAC;;IAGpE,cAAc,GAAG,KAAK,CAAqB,IAAI,CAAC,OAAO,CAAC,cAAc,EAAA,IAAA,SAAA,GAAA,CAAA,EAAA,SAAA,EAAA,gBAAA,EAAA,CAAA,GAAA,EAAA,CAAA,CAAC;AAEpE,IAAA,aAAa,GAAG,MAAM,CAAwB,IAAI,yDAAC;AAEnD,IAAA,gBAAgB,GAAG,YAAY,CAAC,IAAI,CAAC,QAAQ,4DAAC;AAE9C,IAAA,cAAc,GAAG,QAAQ,CAAC,MAAK;AAChD,QAAA,MAAM,KAAK,GAAG,IAAI,CAAC,YAAY,EAAE;AACjC,QAAA,OAAO,KAAK,GAAG,IAAI,CAAC,WAAW,EAAE,CAAC,KAAK,CAAC,GAAG,SAAS;AACtD,IAAA,CAAC,0DAAC;IAEc,UAAU,GAAG,MAAM,EAAO;AAEhC,IAAA,SAAS;AACT,IAAA,UAAU;AAEV,IAAA,aAAa,CAAC,KAAsB,EAAA;QAC5C,IAAI,KAAK,KAAK,SAAS;YAAE;QAEzB,IAAI,IAAI,CAAC,gBAAgB,EAAE;YAAE;QAC7B,MAAM,eAAe,GAAG,IAAI,CAAC,cAAc,EAAE,CAAC,KAAK,CAAC;AAEpD,QAAA,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,eAAe,CAAC;AACtC,QAAA,IAAI,CAAC,SAAS,GAAG,eAAe,CAAC;AACjC,QAAA,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,eAAe,CAAC;AAErC,QAAA,IAAI,IAAI,CAAC,uBAAuB,EAAE,IAAI,IAAI,CAAC,YAAY,EAAE,EAAE,MAAM,KAAK,IAAI,CAAC,YAAY,EAAE,EAAE;AACzF,YAAA,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,QAAQ,CAAC;QAClC;IACF;;AAGO,IAAA,UAAU,CAAC,KAAiB,EAAA;QACjC,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,KAAK,GAAG,IAAI,CAAC,cAAc,EAAE,CAAC,KAAK,CAAC,GAAG,SAAS,CAAC;IACzE;AAEO,IAAA,gBAAgB,CAAC,EAAiB,EAAA;AACvC,QAAA,IAAI,CAAC,SAAS,GAAG,EAAE;IACrB;AAEO,IAAA,iBAAiB,CAAC,EAAW,EAAA;AAClC,QAAA,IAAI,CAAC,UAAU,GAAG,EAAE;IACtB;AAEO,IAAA,gBAAgB,CAAC,UAAmB,EAAA;AACzC,QAAA,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,UAAU,CAAC;IACvC;IAEO,IAAI,GAAA;AACT,QAAA,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,MAAM,CAAC;IAChC;IAEO,KAAK,GAAA;AACV,QAAA,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,QAAQ,CAAC;IAClC;uGA1GW,kBAAkB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA;2FAAlB,kBAAkB,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,uBAAA,EAAA,MAAA,EAAA,EAAA,SAAA,EAAA,EAAA,iBAAA,EAAA,WAAA,EAAA,UAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,QAAA,EAAA,EAAA,iBAAA,EAAA,UAAA,EAAA,UAAA,EAAA,UAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,GAAA,EAAA,EAAA,iBAAA,EAAA,KAAA,EAAA,UAAA,EAAA,KAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,GAAA,EAAA,EAAA,iBAAA,EAAA,KAAA,EAAA,UAAA,EAAA,KAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,YAAA,EAAA,EAAA,iBAAA,EAAA,cAAA,EAAA,UAAA,EAAA,cAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,YAAA,EAAA,EAAA,iBAAA,EAAA,cAAA,EAAA,UAAA,EAAA,cAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,QAAA,EAAA,EAAA,iBAAA,EAAA,UAAA,EAAA,UAAA,EAAA,UAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,IAAA,EAAA,EAAA,iBAAA,EAAA,MAAA,EAAA,UAAA,EAAA,MAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,uBAAA,EAAA,EAAA,iBAAA,EAAA,yBAAA,EAAA,UAAA,EAAA,yBAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,WAAA,EAAA,EAAA,iBAAA,EAAA,aAAA,EAAA,UAAA,EAAA,aAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,cAAA,EAAA,EAAA,iBAAA,EAAA,gBAAA,EAAA,UAAA,EAAA,gBAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,EAAA,OAAA,EAAA,EAAA,UAAA,EAAA,YAAA,EAAA,EAAA,IAAA,EAAA,EAAA,cAAA,EAAA,OAAA,EAAA,EAAA,SAAA,EAxClB,CAAC,oCAAoC,EAAE,YAAY,CAAC,EAAE,iBAAiB,EAAE,CAAC,CAAC,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,EAC5E;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAiCT,EAAA,CAAA,EAAA,QAAA,EAAA,IAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAnCS,MAAM,EAAA,QAAA,EAAA,SAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,KAAA,EAAA,MAAA,EAAA,aAAA,EAAA,OAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAE,OAAO,EAAA,QAAA,EAAA,cAAA,EAAA,MAAA,EAAA,CAAA,MAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAE,UAAU,EAAA,QAAA,EAAA,aAAA,EAAA,MAAA,EAAA,CAAA,OAAA,EAAA,YAAA,CAAA,EAAA,QAAA,EAAA,CAAA,YAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAE,iBAAiB,EAAA,QAAA,EAAA,wDAAA,EAAA,MAAA,EAAA,CAAA,sBAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAE,iBAAiB,EAAA,QAAA,EAAA,qBAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAE,iBAAiB,EAAA,QAAA,EAAA,8CAAA,EAAA,MAAA,EAAA,CAAA,OAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAE,gBAAgB,EAAA,QAAA,EAAA,oBAAA,EAAA,MAAA,EAAA,CAAA,eAAA,EAAA,KAAA,EAAA,KAAA,EAAA,cAAA,EAAA,cAAA,EAAA,UAAA,EAAA,MAAA,EAAA,cAAA,EAAA,cAAA,EAAA,oBAAA,CAAA,EAAA,OAAA,EAAA,CAAA,YAAA,CAAA,EAAA,CAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,CAAA;;2FAyCrG,kBAAkB,EAAA,UAAA,EAAA,CAAA;kBA3C9B,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACT,oBAAA,QAAQ,EAAE,uBAAuB;AACjC,oBAAA,OAAO,EAAE,CAAC,MAAM,EAAE,OAAO,EAAE,UAAU,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,gBAAgB,CAAC;oBACjH,SAAS,EAAE,CAAC,oCAAoC,EAAE,YAAY,CAAC,EAAE,iBAAiB,EAAE,CAAC,CAAC;AACtF,oBAAA,QAAQ,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAiCT,EAAA,CAAA;AACD,oBAAA,IAAI,EAAE;AACJ,wBAAA,KAAK,EAAE,OAAO;AACf,qBAAA;oBACD,eAAe,EAAE,uBAAuB,CAAC,MAAM;AAChD,iBAAA;;;ACnDD,SAAS,gBAAgB,GAAA;IACvB,OAAO;AACL,QAAA,WAAW,EAAE,CAAC,KAAK,KACjB;aACG,MAAM,CAAC,OAAO;aACd,GAAG,CAAC,CAAC,IAAI,MAAM,IAAI,YAAY,IAAI,GAAG,IAAI,CAAC,YAAY,EAAE,GAAG,CAAA,EAAG,IAAI,CAAA,CAAE,CAAC;aACtE,IAAI,CAAC,KAAK,CAAC;AAChB,QAAA,cAAc,EAAE,CAAC,KAAK,KAAK,KAAK;AAChC,QAAA,uBAAuB,EAAE,KAAK;KAC/B;AACH;AAEA,MAAM,6BAA6B,GAAG,IAAI,cAAc,CAAoC,0BAA0B,CAAC;AAEjH,SAAU,+BAA+B,CAAI,MAA4C,EAAA;AAC7F,IAAA,OAAO,EAAE,OAAO,EAAE,6BAA6B,EAAE,QAAQ,EAAE,EAAE,GAAG,gBAAgB,EAAE,EAAE,GAAG,MAAM,EAAE,EAAE;AACnG;SAEgB,8BAA8B,GAAA;AAC5C,IAAA,MAAM,cAAc,GAAG,MAAM,CAAC,6BAA6B,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;IAChF,OAAO,cAAc,GAAI,cAA8C,GAAG,gBAAgB,EAAE;AAC9F;;ACpBO,MAAM,oCAAoC,GAAG;AAClD,IAAA,OAAO,EAAE,iBAAiB;AAC1B,IAAA,WAAW,EAAE,UAAU,CAAC,MAAM,kBAAkB,CAAC;AACjD,IAAA,KAAK,EAAE,IAAI;;AAGb,IAAI,MAAM,GAAG,CAAC;MAkDD,kBAAkB,CAAA;IACZ,OAAO,GAAG,8BAA8B,EAAK;AAE9C,IAAA,SAAS,GAAG,KAAK,CAAa,EAAE,6CAAI,KAAK,EAAE,OAAO,EAAA,CAAA,GAAA,CAAhB,EAAE,KAAK,EAAE,OAAO,EAAE,GAAC;IAClD,cAAc,GAAG,QAAQ,CAAC,MAC3C,GAAG,CACD,2YAA2Y,EAC3Y,iHAAiH,EACjH,wDAAwD,EACxD,4DAA4D,EAC5D,IAAI,CAAC,SAAS,EAAE,CACjB,EAAA,IAAA,SAAA,GAAA,CAAA,EAAA,SAAA,EAAA,gBAAA,EAAA,CAAA,GAAA,EAAA,CAAA,CACF;;IAGe,QAAQ,GAAG,KAAK,CAAS,CAAA,sBAAA,EAAyB,MAAM,EAAE,CAAA,CAAE,oDAAC;;IAG7D,GAAG,GAAG,KAAK,CAAA,IAAA,SAAA,GAAA,CAAA,SAAA,EAAA,EAAA,SAAA,EAAA,KAAA,EAAA,CAAA,GAAA,EAAA,CAAA,CAAK;;IAGhB,GAAG,GAAG,KAAK,CAAA,IAAA,SAAA,GAAA,CAAA,SAAA,EAAA,EAAA,SAAA,EAAA,KAAA,EAAA,CAAA,GAAA,EAAA,CAAA,CAAK;;IAGhB,QAAQ,GAAG,KAAK,CAAwB,KAAK,4CAC3D,SAAS,EAAE,gBAAgB,EAAA,CAAA,GAAA,CADkC;AAC7D,YAAA,SAAS,EAAE,gBAAgB;AAC5B,SAAA,CAAA,CAAA,CAAC;;IAGc,IAAI,GAAG,KAAK,CAAA,IAAA,SAAA,GAAA,CAAA,SAAA,EAAA,EAAA,SAAA,EAAA,MAAA,EAAA,CAAA,GAAA,EAAA,CAAA,CAAU;AAEnB,IAAA,YAAY,GAAG,YAAY,CAAC,IAAI,CAAC,IAAI,wDAAC;AAEtC,IAAA,MAAM,GAAG,YAAY,CAAC,MAAM,IAAI,CAAC,YAAY,EAAE,GAAG,CAAC,CAAC,kDAAC;AACrD,IAAA,IAAI,GAAG,YAAY,CAAC,MAAM,IAAI,CAAC,YAAY,EAAE,GAAG,CAAC,CAAC,gDAAC;;AAGtD,IAAA,uBAAuB,GAAG,KAAK,CAAwB,IAAI,CAAC,OAAO,CAAC,uBAAuB,EAAA,IAAA,SAAA,GAAA,CAAA,EAAA,SAAA,EAAA,yBAAA,EACzG,SAAS,EAAE,gBAAgB,EAAA,CAAA,GAAA,CADgF;AAC3G,YAAA,SAAS,EAAE,gBAAgB;AAC5B,SAAA,CAAA,CAAA,CAAC;;IAGc,WAAW,GAAG,KAAK,CAAoD,IAAI,CAAC,OAAO,CAAC,WAAW,EAAA,IAAA,SAAA,GAAA,CAAA,EAAA,SAAA,EAAA,aAAA,EAAA,CAAA,GAAA,EAAA,CAAA,CAAC;;IAGhG,cAAc,GAAG,KAAK,CAA2B,IAAI,CAAC,OAAO,CAAC,cAAc,EAAA,IAAA,SAAA,GAAA,CAAA,EAAA,SAAA,EAAA,gBAAA,EAAA,CAAA,GAAA,EAAA,CAAA,CAAC;AAE1E,IAAA,aAAa,GAAG,MAAM,CAAwB,IAAI,yDAAC;AAEnD,IAAA,gBAAgB,GAAG,YAAY,CAAC,IAAI,CAAC,QAAQ,4DAAC;AAE9C,IAAA,cAAc,GAAG,QAAQ,CAAC,MAAK;AAChD,QAAA,MAAM,KAAK,GAAG,IAAI,CAAC,MAAM,EAAE;AAC3B,QAAA,MAAM,GAAG,GAAG,IAAI,CAAC,IAAI,EAAE;QACvB,OAAO,KAAK,IAAI,GAAG,GAAG,IAAI,CAAC,WAAW,EAAE,CAAC,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC,GAAG,SAAS;AACpE,IAAA,CAAC,0DAAC;IAEc,UAAU,GAAG,MAAM,EAAiB;AAE1C,IAAA,SAAS;AACT,IAAA,UAAU;AAEV,IAAA,qBAAqB,CAAC,KAAQ,EAAA;AACtC,QAAA,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC;IACxB;AAEU,IAAA,oBAAoB,CAAC,KAAQ,EAAA;AACrC,QAAA,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC;QACpB,IAAI,IAAI,CAAC,gBAAgB,EAAE;YAAE;AAE7B,QAAA,MAAM,KAAK,GAAG,IAAI,CAAC,MAAM,EAAE;AAC3B,QAAA,IAAI,KAAK,IAAI,KAAK,EAAE;AAClB,YAAA,MAAM,gBAAgB,GAAG,IAAI,CAAC,cAAc,EAAE,CAAC,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;AAC9D,YAAA,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,gBAAgB,CAAC;AACvC,YAAA,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,gBAAgB,CAAC;AACtC,YAAA,IAAI,CAAC,SAAS,GAAG,gBAAgB,CAAC;AAElC,YAAA,IAAI,IAAI,CAAC,uBAAuB,EAAE,EAAE;AAClC,gBAAA,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,QAAQ,CAAC;YAClC;QACF;IACF;;AAGO,IAAA,UAAU,CAAC,KAAoB,EAAA;QACpC,SAAS,CAAC,MAAK;YACb,IAAI,CAAC,KAAK,EAAE;AACV,gBAAA,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,SAAS,CAAC;YAClC;iBAAO;AACL,gBAAA,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,IAAI,CAAC,cAAc,EAAE,CAAC,KAAK,CAAC,CAAC;YACrD;AACF,QAAA,CAAC,CAAC;IACJ;AAEO,IAAA,gBAAgB,CAAC,EAA2B,EAAA;AACjD,QAAA,IAAI,CAAC,SAAS,GAAG,EAAE;IACrB;AAEO,IAAA,iBAAiB,CAAC,EAAW,EAAA;AAClC,QAAA,IAAI,CAAC,UAAU,GAAG,EAAE;IACtB;AAEO,IAAA,gBAAgB,CAAC,UAAmB,EAAA;AACzC,QAAA,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,UAAU,CAAC;IACvC;IAEO,IAAI,GAAA;AACT,QAAA,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,MAAM,CAAC;IAChC;IAEO,KAAK,GAAA;AACV,QAAA,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,QAAQ,CAAC;IAClC;IAEU,QAAQ,GAAA;AAChB,QAAA,MAAM,KAAK,GAAG,IAAI,CAAC,YAAY,EAAE;AACjC,QAAA,IAAI,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,KAAK,EAAE;YAC1C,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;YACzB,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;QACzB;IACF;uGAxHW,kBAAkB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA;2FAAlB,kBAAkB,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,uBAAA,EAAA,MAAA,EAAA,EAAA,SAAA,EAAA,EAAA,iBAAA,EAAA,WAAA,EAAA,UAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,QAAA,EAAA,EAAA,iBAAA,EAAA,UAAA,EAAA,UAAA,EAAA,UAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,GAAA,EAAA,EAAA,iBAAA,EAAA,KAAA,EAAA,UAAA,EAAA,KAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,GAAA,EAAA,EAAA,iBAAA,EAAA,KAAA,EAAA,UAAA,EAAA,KAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,QAAA,EAAA,EAAA,iBAAA,EAAA,UAAA,EAAA,UAAA,EAAA,UAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,IAAA,EAAA,EAAA,iBAAA,EAAA,MAAA,EAAA,UAAA,EAAA,MAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,uBAAA,EAAA,EAAA,iBAAA,EAAA,yBAAA,EAAA,UAAA,EAAA,yBAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,WAAA,EAAA,EAAA,iBAAA,EAAA,aAAA,EAAA,UAAA,EAAA,aAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,cAAA,EAAA,EAAA,iBAAA,EAAA,gBAAA,EAAA,UAAA,EAAA,gBAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,EAAA,OAAA,EAAA,EAAA,UAAA,EAAA,YAAA,EAAA,EAAA,IAAA,EAAA,EAAA,cAAA,EAAA,OAAA,EAAA,EAAA,SAAA,EA7ClB,CAAC,oCAAoC,EAAE,YAAY,CAAC,EAAE,iBAAiB,EAAE,CAAC,CAAC,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,EAC5E;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAsCT,EAAA,CAAA,EAAA,QAAA,EAAA,IAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAxCS,MAAM,EAAA,QAAA,EAAA,SAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,KAAA,EAAA,MAAA,EAAA,aAAA,EAAA,OAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAE,OAAO,EAAA,QAAA,EAAA,cAAA,EAAA,MAAA,EAAA,CAAA,MAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAE,UAAU,EAAA,QAAA,EAAA,aAAA,EAAA,MAAA,EAAA,CAAA,OAAA,EAAA,YAAA,CAAA,EAAA,QAAA,EAAA,CAAA,YAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAE,iBAAiB,EAAA,QAAA,EAAA,wDAAA,EAAA,MAAA,EAAA,CAAA,sBAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAE,iBAAiB,EAAA,QAAA,EAAA,qBAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAE,iBAAiB,EAAA,QAAA,EAAA,8CAAA,EAAA,MAAA,EAAA,CAAA,OAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAE,gBAAgB,EAAA,QAAA,EAAA,oBAAA,EAAA,MAAA,EAAA,CAAA,eAAA,EAAA,KAAA,EAAA,KAAA,EAAA,UAAA,EAAA,WAAA,EAAA,SAAA,EAAA,cAAA,EAAA,cAAA,EAAA,oBAAA,CAAA,EAAA,OAAA,EAAA,CAAA,iBAAA,EAAA,eAAA,CAAA,EAAA,CAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,CAAA;;2FA8CrG,kBAAkB,EAAA,UAAA,EAAA,CAAA;kBAhD9B,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACT,oBAAA,QAAQ,EAAE,uBAAuB;AACjC,oBAAA,OAAO,EAAE,CAAC,MAAM,EAAE,OAAO,EAAE,UAAU,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,gBAAgB,CAAC;oBACjH,SAAS,EAAE,CAAC,oCAAoC,EAAE,YAAY,CAAC,EAAE,iBAAiB,EAAE,CAAC,CAAC;AACtF,oBAAA,QAAQ,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAsCT,EAAA,CAAA;AACD,oBAAA,IAAI,EAAE;AACJ,wBAAA,KAAK,EAAE,OAAO;AACf,qBAAA;oBACD,eAAe,EAAE,uBAAuB,CAAC,MAAM;AAChD,iBAAA;;;ACjFD;;AAEG;AAeI,MAAM,oBAAoB,GAAG,CAAC,aAAa,EAAE,kBAAkB,EAAE,kBAAkB;MAM7E,mBAAmB,CAAA;uGAAnB,mBAAmB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,QAAA,EAAA,CAAA;wGAAnB,mBAAmB,EAAA,OAAA,EAAA,CANK,aAAa,EAAE,kBAAkB,EAAE,kBAAkB,CAAA,EAAA,OAAA,EAAA,CAArD,aAAa,EAAE,kBAAkB,EAAE,kBAAkB,CAAA,EAAA,CAAA;AAM7E,IAAA,OAAA,IAAA,GAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,mBAAmB,YAHjB,oBAAoB,CAAA,EAAA,CAAA;;2FAGtB,mBAAmB,EAAA,UAAA,EAAA,CAAA;kBAJ/B,QAAQ;AAAC,YAAA,IAAA,EAAA,CAAA;AACR,oBAAA,OAAO,EAAE,CAAC,GAAG,oBAAoB,CAAC;AAClC,oBAAA,OAAO,EAAE,CAAC,GAAG,oBAAoB,CAAC;AACnC,iBAAA;;;ACtBD;;AAEG;;;;"}
|
|
1
|
+
{"version":3,"file":"date-picker.mjs","sources":["../../../projects/date-picker/src/lib/date-picker.token.ts","../../../projects/date-picker/src/lib/date-picker.ts","../../../projects/date-picker/src/lib/date-picker-multi.token.ts","../../../projects/date-picker/src/lib/date-picker-multi.ts","../../../projects/date-picker/src/lib/date-range-picker.token.ts","../../../projects/date-picker/src/lib/date-range-picker.ts","../../../projects/date-picker/src/public-api.ts","../../../projects/date-picker/src/date-picker.ts"],"sourcesContent":["import { inject, InjectionToken, ValueProvider } from '@angular/core';\n\nexport interface HlmDatePickerConfig<T> {\n /**\n * If true, the date picker will close when a date is selected.\n */\n autoCloseOnSelect: boolean;\n\n /**\n * Defines how the date should be displayed in the UI.\n *\n * @param date\n * @returns formatted date\n */\n formatDate: (date: T) => string;\n\n /**\n * Defines how the date should be transformed before saving to model/form.\n *\n * @param date\n * @returns transformed date\n */\n transformDate: (date: T) => T;\n}\n\nfunction getDefaultConfig<T>(): HlmDatePickerConfig<T> {\n return {\n formatDate: (date) => (date instanceof Date ? date.toDateString() : `${date}`),\n transformDate: (date) => date,\n autoCloseOnSelect: false,\n };\n}\n\nconst HlmDatePickerConfigToken = new InjectionToken<HlmDatePickerConfig<unknown>>('HlmDatePickerConfig');\n\nexport function provideHlmDatePickerConfig<T>(config: Partial<HlmDatePickerConfig<T>>): ValueProvider {\n return { provide: HlmDatePickerConfigToken, useValue: { ...getDefaultConfig(), ...config } };\n}\n\nexport function injectHlmDatePickerConfig<T>(): HlmDatePickerConfig<T> {\n const injectedConfig = inject(HlmDatePickerConfigToken, { optional: true });\n return injectedConfig ? (injectedConfig as HlmDatePickerConfig<T>) : getDefaultConfig();\n}\n","import { BooleanInput } from '@angular/cdk/coercion';\nimport {\n booleanAttribute,\n ChangeDetectionStrategy,\n Component,\n computed,\n forwardRef,\n input,\n linkedSignal,\n output,\n signal,\n} from '@angular/core';\nimport { ControlValueAccessor, NG_VALUE_ACCESSOR } from '@angular/forms';\nimport { NgIcon, provideIcons } from '@ng-icons/core';\nimport { lucideChevronDown } from '@ng-icons/lucide';\nimport { BrnDialogState } from '@spartan-ng/brain/dialog';\nimport { type ChangeFn, type TouchFn } from '@spartan-ng/brain/forms';\nimport { BrnPopover, BrnPopoverContent, BrnPopoverTrigger } from '@spartan-ng/brain/popover';\nimport { BrnFormFieldControl } from '@spartan-ng/brain/form-field';\nimport { HlmCalendar } from '@egose/shadcn-theme-ng/calendar';\nimport { HlmIcon } from '@egose/shadcn-theme-ng/icon';\nimport { HlmPopoverContent } from '@egose/shadcn-theme-ng/popover';\nimport { hlm } from '@egose/shadcn-theme-ng/utils';\nimport type { ClassValue } from 'clsx';\nimport { injectHlmDatePickerConfig } from './date-picker.token';\n\nexport const HLM_DATE_PICKER_VALUE_ACCESSOR = {\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => HlmDatePicker),\n multi: true,\n};\n\nlet nextId = 0;\n\n@Component({\n selector: 'hlm-date-picker',\n imports: [NgIcon, HlmIcon, BrnPopover, BrnPopoverTrigger, BrnPopoverContent, HlmPopoverContent, HlmCalendar],\n providers: [\n HLM_DATE_PICKER_VALUE_ACCESSOR,\n provideIcons({ lucideChevronDown }),\n {\n provide: BrnFormFieldControl,\n useExisting: forwardRef(() => HlmDatePicker),\n },\n ],\n template: `\n <brn-popover sideOffset=\"5\" [state]=\"_popoverState()\" (stateChanged)=\"_popoverState.set($event)\">\n <button\n [id]=\"buttonId()\"\n type=\"button\"\n [class]=\"_computedClass()\"\n [disabled]=\"_mutableDisabled()\"\n brnPopoverTrigger\n >\n <span class=\"truncate\">\n @if (_formattedDate(); as formattedDate) {\n {{ formattedDate }}\n } @else {\n <ng-content />\n }\n </span>\n\n <ng-icon hlm size=\"sm\" name=\"lucideChevronDown\" />\n </button>\n\n <div hlmPopoverContent class=\"tw:w-auto tw:p-0\" *brnPopoverContent=\"let ctx\">\n <hlm-calendar\n calendarClass=\"tw:border-0 tw:rounded-none\"\n [date]=\"_mutableDate()\"\n [min]=\"min()\"\n [max]=\"max()\"\n [disabled]=\"_mutableDisabled()\"\n (dateChange)=\"_handleChange($event)\"\n />\n </div>\n </brn-popover>\n `,\n host: {\n class: 'block',\n },\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class HlmDatePicker<T> extends BrnFormFieldControl implements ControlValueAccessor {\n private readonly _config = injectHlmDatePickerConfig<T>();\n\n public readonly userClass = input<ClassValue>('', { alias: 'class' });\n protected readonly _computedClass = computed(() =>\n hlm(\n 'tw:ring-offset-background tw:border-input tw:bg-background tw:hover:bg-input/50 tw:dark:bg-input/10 tw:dark:hover:bg-input/50 tw:inline-flex tw:h-9 tw:w-full tw:cursor-default tw:items-center tw:justify-between tw:gap-2 tw:whitespace-nowrap tw:rounded-md tw:border tw:px-3 tw:py-2 tw:text-left tw:text-sm tw:font-normal tw:transition-all tw:disabled:pointer-events-none tw:disabled:opacity-50',\n 'tw:focus-visible:ring-ring tw:focus-visible:outline-none tw:focus-visible:ring-2 tw:focus-visible:ring-offset-2',\n 'tw:disabled:pointer-events-none tw:disabled:opacity-50',\n 'tw:[&_ng-icon]:pointer-events-none tw:[&_ng-icon]:shrink-0',\n this.userClass(),\n ),\n );\n\n /** The id of the button that opens the date picker. */\n public readonly buttonId = input<string>(`hlm-date-picker-${nextId++}`);\n\n /** The minimum date that can be selected.*/\n public readonly min = input<T>();\n\n /** The maximum date that can be selected. */\n public readonly max = input<T>();\n\n /** Determine if the date picker is disabled. */\n public readonly disabled = input<boolean, BooleanInput>(false, {\n transform: booleanAttribute,\n });\n\n /** The selected value. */\n public readonly date = input<T>();\n\n protected readonly _mutableDate = linkedSignal(this.date);\n\n /** If true, the date picker will close when a date is selected. */\n public readonly autoCloseOnSelect = input<boolean, BooleanInput>(this._config.autoCloseOnSelect, {\n transform: booleanAttribute,\n });\n\n /** Defines how the date should be displayed in the UI. */\n public readonly formatDate = input<(date: T) => string>(this._config.formatDate);\n\n /** Defines how the date should be transformed before saving to model/form. */\n public readonly transformDate = input<(date: T) => T>(this._config.transformDate);\n\n protected readonly _popoverState = signal<BrnDialogState | null>(null);\n\n protected readonly _mutableDisabled = linkedSignal(this.disabled);\n\n protected readonly _formattedDate = computed(() => {\n const date = this._mutableDate();\n return date ? this.formatDate()(date) : undefined;\n });\n\n public readonly dateChange = output<T>();\n\n protected _onChange?: ChangeFn<T>;\n protected _onTouched?: TouchFn;\n\n protected _handleChange(value: T) {\n if (this._mutableDisabled()) return;\n const transformedDate = this.transformDate()(value);\n\n this._mutableDate.set(transformedDate);\n this._onChange?.(transformedDate);\n this.dateChange.emit(transformedDate);\n\n if (this.autoCloseOnSelect()) {\n this._popoverState.set('closed');\n }\n }\n\n /** CONTROL VALUE ACCESSOR */\n public writeValue(value: T | null): void {\n this._mutableDate.set(value ? this.transformDate()(value) : undefined);\n }\n\n public registerOnChange(fn: ChangeFn<T>): void {\n this._onChange = fn;\n }\n\n public registerOnTouched(fn: TouchFn): void {\n this._onTouched = fn;\n }\n\n public setDisabledState(isDisabled: boolean): void {\n this._mutableDisabled.set(isDisabled);\n }\n\n public open() {\n this._popoverState.set('open');\n }\n\n public close() {\n this._popoverState.set('closed');\n }\n}\n","import { inject, InjectionToken, ValueProvider } from '@angular/core';\n\nexport interface HlmDatePickerMultiConfig<T> {\n /**\n * If true, the date picker will close when the max selection of dates is reached.\n */\n autoCloseOnMaxSelection: boolean;\n\n /**\n * Defines how the date should be displayed in the UI.\n *\n * @param dates\n * @returns formatted date\n */\n formatDates: (dates: T[]) => string;\n\n /**\n * Defines how the date should be transformed before saving to model/form.\n *\n * @param dates\n * @returns transformed date\n */\n transformDates: (dates: T[]) => T[];\n}\n\nfunction getDefaultConfig<T>(): HlmDatePickerMultiConfig<T> {\n return {\n formatDates: (dates) => dates.map((date) => (date instanceof Date ? date.toDateString() : `${date}`)).join(', '),\n transformDates: (dates) => dates,\n autoCloseOnMaxSelection: false,\n };\n}\n\nconst HlmDatePickerMultiConfigToken = new InjectionToken<HlmDatePickerMultiConfig<unknown>>('HlmDatePickerMultiConfig');\n\nexport function provideHlmDatePickerMultiConfig<T>(config: Partial<HlmDatePickerMultiConfig<T>>): ValueProvider {\n return { provide: HlmDatePickerMultiConfigToken, useValue: { ...getDefaultConfig(), ...config } };\n}\n\nexport function injectHlmDatePickerMultiConfig<T>(): HlmDatePickerMultiConfig<T> {\n const injectedConfig = inject(HlmDatePickerMultiConfigToken, { optional: true });\n return injectedConfig ? (injectedConfig as HlmDatePickerMultiConfig<T>) : getDefaultConfig();\n}\n","import { BooleanInput, NumberInput } from '@angular/cdk/coercion';\nimport {\n booleanAttribute,\n ChangeDetectionStrategy,\n Component,\n computed,\n forwardRef,\n input,\n linkedSignal,\n numberAttribute,\n output,\n signal,\n} from '@angular/core';\nimport { ControlValueAccessor, NG_VALUE_ACCESSOR } from '@angular/forms';\nimport { NgIcon, provideIcons } from '@ng-icons/core';\nimport { lucideChevronDown } from '@ng-icons/lucide';\nimport { BrnDialogState } from '@spartan-ng/brain/dialog';\nimport { type ChangeFn, type TouchFn } from '@spartan-ng/brain/forms';\nimport { BrnPopover, BrnPopoverContent, BrnPopoverTrigger } from '@spartan-ng/brain/popover';\nimport { HlmCalendarMulti } from '@egose/shadcn-theme-ng/calendar';\nimport { HlmIcon } from '@egose/shadcn-theme-ng/icon';\nimport { HlmPopoverContent } from '@egose/shadcn-theme-ng/popover';\nimport { hlm } from '@egose/shadcn-theme-ng/utils';\nimport type { ClassValue } from 'clsx';\nimport { injectHlmDatePickerMultiConfig } from './date-picker-multi.token';\n\nexport const HLM_DATE_PICKER_MUTLI_VALUE_ACCESSOR = {\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => HlmDatePickerMulti),\n multi: true,\n};\n\nlet nextId = 0;\n\n@Component({\n selector: 'hlm-date-picker-multi',\n imports: [NgIcon, HlmIcon, BrnPopover, BrnPopoverTrigger, BrnPopoverContent, HlmPopoverContent, HlmCalendarMulti],\n providers: [HLM_DATE_PICKER_MUTLI_VALUE_ACCESSOR, provideIcons({ lucideChevronDown })],\n template: `\n <brn-popover sideOffset=\"5\" [state]=\"_popoverState()\" (stateChanged)=\"_popoverState.set($event)\">\n <button\n [id]=\"buttonId()\"\n type=\"button\"\n [class]=\"_computedClass()\"\n [disabled]=\"_mutableDisabled()\"\n brnPopoverTrigger\n >\n <span class=\"truncate\">\n @if (_formattedDate(); as formattedDate) {\n {{ formattedDate }}\n } @else {\n <ng-content />\n }\n </span>\n\n <ng-icon hlm size=\"sm\" name=\"lucideChevronDown\" />\n </button>\n\n <div hlmPopoverContent class=\"w-auto p-0\" *brnPopoverContent=\"let ctx\">\n <hlm-calendar-multi\n calendarClass=\"border-0 rounded-none\"\n [date]=\"_mutableDate()\"\n [min]=\"min()\"\n [max]=\"max()\"\n [minSelection]=\"minSelection()\"\n [maxSelection]=\"maxSelection()\"\n [disabled]=\"_mutableDisabled()\"\n (dateChange)=\"_handleChange($event)\"\n />\n </div>\n </brn-popover>\n `,\n host: {\n class: 'block',\n },\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class HlmDatePickerMulti<T> implements ControlValueAccessor {\n private readonly _config = injectHlmDatePickerMultiConfig<T>();\n\n public readonly userClass = input<ClassValue>('', { alias: 'class' });\n protected readonly _computedClass = computed(() =>\n hlm(\n 'tw:ring-offset-background tw:border-input tw:bg-background tw:hover:bg-accent tw:dark:bg-input/30 tw:dark:hover:bg-input/50 tw:inline-flex tw:h-9 tw:w-[280px] tw:cursor-default tw:items-center tw:justify-between tw:gap-2 tw:whitespace-nowrap tw:rounded-md tw:border tw:px-3 tw:py-2 tw:text-left tw:text-sm tw:font-normal tw:transition-all tw:disabled:pointer-events-none tw:disabled:opacity-50',\n 'tw:focus-visible:ring-ring tw:focus-visible:outline-none tw:focus-visible:ring-2 tw:focus-visible:ring-offset-2',\n 'tw:disabled:pointer-events-none tw:disabled:opacity-50',\n 'tw:[&_ng-icon]:pointer-events-none tw:[&_ng-icon]:shrink-0',\n this.userClass(),\n ),\n );\n\n /** The id of the button that opens the date picker. */\n public readonly buttonId = input<string>(`hlm-date-picker-multi-${nextId++}`);\n\n /** The minimum date that can be selected.*/\n public readonly min = input<T>();\n\n /** The maximum date that can be selected. */\n public readonly max = input<T>();\n\n /** The minimum selectable dates. */\n public readonly minSelection = input<number, NumberInput>(undefined, {\n transform: numberAttribute,\n });\n\n /** The maximum selectable dates. */\n public readonly maxSelection = input<number, NumberInput>(undefined, {\n transform: numberAttribute,\n });\n\n /** Determine if the date picker is disabled. */\n public readonly disabled = input<boolean, BooleanInput>(false, {\n transform: booleanAttribute,\n });\n\n /** The selected value. */\n public readonly date = input<T[]>();\n\n protected readonly _mutableDate = linkedSignal(this.date);\n\n /** If true, the date picker will close when the max selection of dates is reached. */\n public readonly autoCloseOnMaxSelection = input<boolean, BooleanInput>(this._config.autoCloseOnMaxSelection, {\n transform: booleanAttribute,\n });\n\n /** Defines how the date should be displayed in the UI. */\n public readonly formatDates = input<(date: T[]) => string>(this._config.formatDates);\n\n /** Defines how the date should be transformed before saving to model/form. */\n public readonly transformDates = input<(date: T[]) => T[]>(this._config.transformDates);\n\n protected readonly _popoverState = signal<BrnDialogState | null>(null);\n\n protected readonly _mutableDisabled = linkedSignal(this.disabled);\n\n protected readonly _formattedDate = computed(() => {\n const dates = this._mutableDate();\n return dates ? this.formatDates()(dates) : undefined;\n });\n\n public readonly dateChange = output<T[]>();\n\n protected _onChange?: ChangeFn<T[]>;\n protected _onTouched?: TouchFn;\n\n protected _handleChange(value: T[] | undefined) {\n if (value === undefined) return;\n\n if (this._mutableDisabled()) return;\n const transformedDate = this.transformDates()(value);\n\n this._mutableDate.set(transformedDate);\n this._onChange?.(transformedDate);\n this.dateChange.emit(transformedDate);\n\n if (this.autoCloseOnMaxSelection() && this._mutableDate()?.length === this.maxSelection()) {\n this._popoverState.set('closed');\n }\n }\n\n /** CONTROL VALUE ACCESSOR */\n public writeValue(value: T[] | null): void {\n this._mutableDate.set(value ? this.transformDates()(value) : undefined);\n }\n\n public registerOnChange(fn: ChangeFn<T[]>): void {\n this._onChange = fn;\n }\n\n public registerOnTouched(fn: TouchFn): void {\n this._onTouched = fn;\n }\n\n public setDisabledState(isDisabled: boolean): void {\n this._mutableDisabled.set(isDisabled);\n }\n\n public open() {\n this._popoverState.set('open');\n }\n\n public close() {\n this._popoverState.set('closed');\n }\n}\n","import { inject, InjectionToken, ValueProvider } from '@angular/core';\n\nexport interface HlmDateRangePickerConfig<T> {\n /**\n * If true, the date picker will close when the max selection of dates is reached.\n */\n autoCloseOnEndSelection: boolean;\n\n /**\n * Defines how the date should be displayed in the UI.\n *\n * @param dates\n * @returns formatted date\n */\n formatDates: (dates: [T | undefined, T | undefined]) => string;\n\n /**\n * Defines how the date should be transformed before saving to model/form.\n *\n * @param dates\n * @returns transformed date\n */\n transformDates: (dates: [T, T]) => [T, T];\n}\n\nfunction getDefaultConfig<T>(): HlmDateRangePickerConfig<T> {\n return {\n formatDates: (dates) =>\n dates\n .filter(Boolean)\n .map((date) => (date instanceof Date ? date.toDateString() : `${date}`))\n .join(' - '),\n transformDates: (dates) => dates,\n autoCloseOnEndSelection: false,\n };\n}\n\nconst HlmDateRangePickerConfigToken = new InjectionToken<HlmDateRangePickerConfig<unknown>>('HlmDateRangePickerConfig');\n\nexport function provideHlmDateRangePickerConfig<T>(config: Partial<HlmDateRangePickerConfig<T>>): ValueProvider {\n return { provide: HlmDateRangePickerConfigToken, useValue: { ...getDefaultConfig(), ...config } };\n}\n\nexport function injectHlmDateRangePickerConfig<T>(): HlmDateRangePickerConfig<T> {\n const injectedConfig = inject(HlmDateRangePickerConfigToken, { optional: true });\n return injectedConfig ? (injectedConfig as HlmDateRangePickerConfig<T>) : getDefaultConfig();\n}\n","import { BooleanInput } from '@angular/cdk/coercion';\nimport {\n booleanAttribute,\n ChangeDetectionStrategy,\n Component,\n computed,\n forwardRef,\n input,\n linkedSignal,\n output,\n signal,\n untracked,\n} from '@angular/core';\nimport { ControlValueAccessor, NG_VALUE_ACCESSOR } from '@angular/forms';\nimport { NgIcon, provideIcons } from '@ng-icons/core';\nimport { lucideChevronDown } from '@ng-icons/lucide';\nimport { BrnDialogState } from '@spartan-ng/brain/dialog';\nimport { type ChangeFn, type TouchFn } from '@spartan-ng/brain/forms';\nimport { BrnPopover, BrnPopoverContent, BrnPopoverTrigger } from '@spartan-ng/brain/popover';\nimport { HlmCalendarRange } from '@egose/shadcn-theme-ng/calendar';\nimport { HlmIcon } from '@egose/shadcn-theme-ng/icon';\nimport { HlmPopoverContent } from '@egose/shadcn-theme-ng/popover';\nimport { hlm } from '@egose/shadcn-theme-ng/utils';\nimport type { ClassValue } from 'clsx';\nimport { injectHlmDateRangePickerConfig } from './date-range-picker.token';\n\nexport const HLM_DATE_RANGE_PICKER_VALUE_ACCESSOR = {\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => HlmDateRangePicker),\n multi: true,\n};\n\nlet nextId = 0;\n\n@Component({\n selector: 'hlm-date-range-picker',\n imports: [NgIcon, HlmIcon, BrnPopover, BrnPopoverTrigger, BrnPopoverContent, HlmPopoverContent, HlmCalendarRange],\n providers: [HLM_DATE_RANGE_PICKER_VALUE_ACCESSOR, provideIcons({ lucideChevronDown })],\n template: `\n <brn-popover\n sideOffset=\"5\"\n [state]=\"_popoverState()\"\n (stateChanged)=\"_popoverState.set($event)\"\n (closed)=\"_onClose()\"\n >\n <button\n [id]=\"buttonId()\"\n type=\"button\"\n [class]=\"_computedClass()\"\n [disabled]=\"_mutableDisabled()\"\n brnPopoverTrigger\n >\n <span class=\"truncate\">\n @if (_formattedDate(); as formattedDate) {\n {{ formattedDate }}\n } @else {\n <ng-content />\n }\n </span>\n\n <ng-icon hlm size=\"sm\" name=\"lucideChevronDown\" />\n </button>\n\n <div hlmPopoverContent class=\"tw:w-auto tw:p-0\" *brnPopoverContent=\"let ctx\">\n <hlm-calendar-range\n calendarClass=\"tw:border-0 tw:rounded-none\"\n [startDate]=\"_start()\"\n [endDate]=\"_end()\"\n [min]=\"min()\"\n [max]=\"max()\"\n [disabled]=\"_mutableDisabled()\"\n (startDateChange)=\"_handleStartDayChange($event)\"\n (endDateChange)=\"_handleEndDateChange($event)\"\n />\n </div>\n </brn-popover>\n `,\n host: {\n class: 'block',\n },\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class HlmDateRangePicker<T> implements ControlValueAccessor {\n private readonly _config = injectHlmDateRangePickerConfig<T>();\n\n public readonly userClass = input<ClassValue>('', { alias: 'class' });\n protected readonly _computedClass = computed(() =>\n hlm(\n 'tw:ring-offset-background tw:border-input tw:bg-background tw:hover:bg-accent tw:dark:bg-input/30 tw:dark:hover:bg-input/50 tw:inline-flex tw:h-9 tw:w-[280px] tw:cursor-default tw:items-center tw:justify-between tw:gap-2 tw:whitespace-nowrap tw:rounded-md tw:border tw:px-3 tw:py-2 tw:text-left tw:text-sm tw:font-normal tw:transition-all tw:disabled:pointer-events-none tw:disabled:opacity-50',\n 'tw:focus-visible:ring-ring tw:focus-visible:outline-none tw:focus-visible:ring-2 tw:focus-visible:ring-offset-2',\n 'tw:disabled:pointer-events-none tw:disabled:opacity-50',\n 'tw:[&_ng-icon]:pointer-events-none tw:[&_ng-icon]:shrink-0',\n this.userClass(),\n ),\n );\n\n /** The id of the button that opens the date picker. */\n public readonly buttonId = input<string>(`hlm-date-picker-range-${nextId++}`);\n\n /** The minimum date that can be selected.*/\n public readonly min = input<T>();\n\n /** The maximum date that can be selected. */\n public readonly max = input<T>();\n\n /** Determine if the date picker is disabled. */\n public readonly disabled = input<boolean, BooleanInput>(false, {\n transform: booleanAttribute,\n });\n\n /** The selected value. */\n public readonly date = input<[T, T]>();\n\n protected readonly _mutableDate = linkedSignal(this.date);\n\n protected readonly _start = linkedSignal(() => this._mutableDate()?.[0]);\n protected readonly _end = linkedSignal(() => this._mutableDate()?.[1]);\n\n /** If true, the date picker will close when the end date is selected */\n public readonly autoCloseOnEndSelection = input<boolean, BooleanInput>(this._config.autoCloseOnEndSelection, {\n transform: booleanAttribute,\n });\n\n /** Defines how the date should be displayed in the UI. */\n public readonly formatDates = input<(dates: [T | undefined, T | undefined]) => string>(this._config.formatDates);\n\n /** Defines how the date should be transformed before saving to model/form. */\n public readonly transformDates = input<(date: [T, T]) => [T, T]>(this._config.transformDates);\n\n protected readonly _popoverState = signal<BrnDialogState | null>(null);\n\n protected readonly _mutableDisabled = linkedSignal(this.disabled);\n\n protected readonly _formattedDate = computed(() => {\n const start = this._start();\n const end = this._end();\n return start || end ? this.formatDates()([start, end]) : undefined;\n });\n\n public readonly dateChange = output<[T, T] | null>();\n\n protected _onChange?: ChangeFn<[T, T] | null>;\n protected _onTouched?: TouchFn;\n\n protected _handleStartDayChange(value: T) {\n this._start.set(value);\n }\n\n protected _handleEndDateChange(value: T): void {\n this._end.set(value);\n if (this._mutableDisabled()) return;\n\n const start = this._start();\n if (start && value) {\n const transformedDates = this.transformDates()([start, value]);\n this._mutableDate.set(transformedDates);\n this.dateChange.emit(transformedDates);\n this._onChange?.(transformedDates);\n\n if (this.autoCloseOnEndSelection()) {\n this._popoverState.set('closed');\n }\n }\n }\n\n /** CONTROL VALUE ACCESSOR */\n public writeValue(value: [T, T] | null): void {\n untracked(() => {\n if (!value) {\n this._mutableDate.set(undefined);\n } else {\n this._mutableDate.set(this.transformDates()(value));\n }\n });\n }\n\n public registerOnChange(fn: ChangeFn<[T, T] | null>): void {\n this._onChange = fn;\n }\n\n public registerOnTouched(fn: TouchFn): void {\n this._onTouched = fn;\n }\n\n public setDisabledState(isDisabled: boolean): void {\n this._mutableDisabled.set(isDisabled);\n }\n\n public open() {\n this._popoverState.set('open');\n }\n\n public close() {\n this._popoverState.set('closed');\n }\n\n protected _onClose(): void {\n const dates = this._mutableDate();\n if (this._start() && !this._end() && dates) {\n this._start.set(dates[0]);\n this._end.set(dates[1]);\n }\n }\n}\n","/*\n * Public API Surface of date-picker\n */\n\nimport { NgModule } from '@angular/core';\nimport { HlmDatePicker } from './lib/date-picker';\nimport { HlmDatePickerMulti } from './lib/date-picker-multi';\nimport { HlmDateRangePicker } from './lib/date-range-picker';\n\nexport * from './lib/date-picker-multi.token';\nexport * from './lib/date-picker.token';\n\nexport * from './lib/date-picker';\nexport * from './lib/date-picker-multi';\nexport * from './lib/date-range-picker';\nexport * from './lib/date-range-picker.token';\n\nexport const HlmDatePickerImports = [HlmDatePicker, HlmDatePickerMulti, HlmDateRangePicker] as const;\n\n@NgModule({\n imports: [...HlmDatePickerImports],\n exports: [...HlmDatePickerImports],\n})\nexport class HlmDatePickerModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["getDefaultConfig","nextId"],"mappings":"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"}
|
|
@@ -37,8 +37,8 @@ class EgFormDatePicker {
|
|
|
37
37
|
$pickerClass = computed(() => hlm('tw:mb-1', this.pickerClass()), ...(ngDevMode ? [{ debugName: "$pickerClass" }] : []));
|
|
38
38
|
$errorClass = computed(() => hlm('tw:mt-0', this.errorClass()), ...(ngDevMode ? [{ debugName: "$errorClass" }] : []));
|
|
39
39
|
$hintClass = computed(() => hlm('tw:mt-0', this.hintClass()), ...(ngDevMode ? [{ debugName: "$hintClass" }] : []));
|
|
40
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.
|
|
41
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.3.
|
|
40
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.15", ngImport: i0, type: EgFormDatePicker, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
41
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.3.15", type: EgFormDatePicker, isStandalone: true, selector: "eg-form-date-picker", inputs: { label: { classPropertyName: "label", publicName: "label", isSignal: true, isRequired: false, transformFunction: null }, controlId: { classPropertyName: "controlId", publicName: "controlId", isSignal: true, isRequired: false, transformFunction: null }, controlName: { classPropertyName: "controlName", publicName: "controlName", isSignal: true, isRequired: false, transformFunction: null }, error: { classPropertyName: "error", publicName: "error", isSignal: true, isRequired: false, transformFunction: null }, hint: { classPropertyName: "hint", publicName: "hint", isSignal: true, isRequired: false, transformFunction: null }, id: { classPropertyName: "id", publicName: "id", isSignal: true, isRequired: false, transformFunction: null }, name: { classPropertyName: "name", publicName: "name", isSignal: true, isRequired: false, transformFunction: null }, placeholder: { classPropertyName: "placeholder", publicName: "placeholder", isSignal: true, isRequired: false, transformFunction: null }, readonly: { classPropertyName: "readonly", publicName: "readonly", isSignal: true, isRequired: false, transformFunction: null }, disabled: { classPropertyName: "disabled", publicName: "disabled", isSignal: true, isRequired: false, transformFunction: null }, required: { classPropertyName: "required", publicName: "required", isSignal: true, isRequired: false, transformFunction: null }, min: { classPropertyName: "min", publicName: "min", isSignal: true, isRequired: false, transformFunction: null }, max: { classPropertyName: "max", publicName: "max", isSignal: true, isRequired: false, transformFunction: null }, autoCloseOnSelect: { classPropertyName: "autoCloseOnSelect", publicName: "autoCloseOnSelect", isSignal: true, isRequired: false, transformFunction: null }, userClass: { classPropertyName: "userClass", publicName: "class", isSignal: true, isRequired: false, transformFunction: null }, labelClass: { classPropertyName: "labelClass", publicName: "labelClass", isSignal: true, isRequired: false, transformFunction: null }, pickerClass: { classPropertyName: "pickerClass", publicName: "pickerClass", isSignal: true, isRequired: false, transformFunction: null }, errorClass: { classPropertyName: "errorClass", publicName: "errorClass", isSignal: true, isRequired: false, transformFunction: null }, hintClass: { classPropertyName: "hintClass", publicName: "hintClass", isSignal: true, isRequired: false, transformFunction: null } }, host: { classAttribute: "tw:w-full" }, providers: [{ provide: ControlContainer, useExisting: FormGroupDirective }], ngImport: i0, template: `
|
|
42
42
|
@let lbl = label();
|
|
43
43
|
@let cid = controlId();
|
|
44
44
|
@let cnm = controlName();
|
|
@@ -82,7 +82,7 @@ class EgFormDatePicker {
|
|
|
82
82
|
</hlm-form-field>
|
|
83
83
|
`, isInline: true, dependencies: [{ kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.RequiredValidator, selector: ":not([type=checkbox])[required][formControlName],:not([type=checkbox])[required][formControl],:not([type=checkbox])[required][ngModel]", inputs: ["required"] }, { kind: "directive", type: i1.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "component", type: HlmFormField, selector: "hlm-form-field", inputs: ["class"] }, { kind: "directive", type: HlmError, selector: "hlm-error", inputs: ["class"] }, { kind: "directive", type: HlmHint, selector: "hlm-hint", inputs: ["class"] }, { kind: "directive", type: HlmLabel, selector: "[hlmLabel]", inputs: ["class"] }, { kind: "component", type: HlmDatePicker, selector: "hlm-date-picker", inputs: ["class", "buttonId", "min", "max", "disabled", "date", "autoCloseOnSelect", "formatDate", "transformDate"], outputs: ["dateChange"] }] });
|
|
84
84
|
}
|
|
85
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.
|
|
85
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.15", ngImport: i0, type: EgFormDatePicker, decorators: [{
|
|
86
86
|
type: Component,
|
|
87
87
|
args: [{
|
|
88
88
|
selector: 'eg-form-date-picker',
|
|
@@ -136,7 +136,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.1", ngImpor
|
|
|
136
136
|
</hlm-form-field>
|
|
137
137
|
`,
|
|
138
138
|
}]
|
|
139
|
-
}] });
|
|
139
|
+
}], propDecorators: { label: [{ type: i0.Input, args: [{ isSignal: true, alias: "label", required: false }] }], controlId: [{ type: i0.Input, args: [{ isSignal: true, alias: "controlId", required: false }] }], controlName: [{ type: i0.Input, args: [{ isSignal: true, alias: "controlName", required: false }] }], error: [{ type: i0.Input, args: [{ isSignal: true, alias: "error", required: false }] }], hint: [{ type: i0.Input, args: [{ isSignal: true, alias: "hint", required: false }] }], id: [{ type: i0.Input, args: [{ isSignal: true, alias: "id", required: false }] }], name: [{ type: i0.Input, args: [{ isSignal: true, alias: "name", required: false }] }], placeholder: [{ type: i0.Input, args: [{ isSignal: true, alias: "placeholder", required: false }] }], readonly: [{ type: i0.Input, args: [{ isSignal: true, alias: "readonly", required: false }] }], disabled: [{ type: i0.Input, args: [{ isSignal: true, alias: "disabled", required: false }] }], required: [{ type: i0.Input, args: [{ isSignal: true, alias: "required", required: false }] }], min: [{ type: i0.Input, args: [{ isSignal: true, alias: "min", required: false }] }], max: [{ type: i0.Input, args: [{ isSignal: true, alias: "max", required: false }] }], autoCloseOnSelect: [{ type: i0.Input, args: [{ isSignal: true, alias: "autoCloseOnSelect", required: false }] }], userClass: [{ type: i0.Input, args: [{ isSignal: true, alias: "class", required: false }] }], labelClass: [{ type: i0.Input, args: [{ isSignal: true, alias: "labelClass", required: false }] }], pickerClass: [{ type: i0.Input, args: [{ isSignal: true, alias: "pickerClass", required: false }] }], errorClass: [{ type: i0.Input, args: [{ isSignal: true, alias: "errorClass", required: false }] }], hintClass: [{ type: i0.Input, args: [{ isSignal: true, alias: "hintClass", required: false }] }] } });
|
|
140
140
|
|
|
141
141
|
/*
|
|
142
142
|
* Public API Surface of form-date-picker
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"form-date-picker.mjs","sources":["../../../projects/form-date-picker/src/lib/form-date-picker.ts","../../../projects/form-date-picker/src/public-api.ts","../../../projects/form-date-picker/src/form-date-picker.ts"],"sourcesContent":["import { Component, computed, input } from '@angular/core';\nimport { ControlContainer, FormGroupDirective, ReactiveFormsModule } from '@angular/forms';\nimport { HlmFormField, HlmError, HlmHint } from '@egose/shadcn-theme-ng/form-field';\nimport { HlmLabel } from '@egose/shadcn-theme-ng/label';\nimport { HlmDatePicker } from '@egose/shadcn-theme-ng/date-picker';\nimport { hlm } from '@egose/shadcn-theme-ng/utils';\nimport { ClassValue } from 'clsx';\n\nlet nextId = 0;\n\n@Component({\n selector: 'eg-form-date-picker',\n standalone: true,\n host: {\n class: 'tw:w-full',\n },\n imports: [ReactiveFormsModule, HlmFormField, HlmError, HlmHint, HlmLabel, HlmDatePicker],\n providers: [{ provide: ControlContainer, useExisting: FormGroupDirective }],\n template: `\n @let lbl = label();\n @let cid = controlId();\n @let cnm = controlName();\n @let err = error();\n @let hnt = hint();\n @let rqrd = required();\n\n <hlm-form-field>\n @if (lbl) {\n <span hlmLabel [class]=\"$labelClass()\"\n >{{ lbl }}\n @if (rqrd) {\n <span class=\"tw:text-red-500\">*</span>\n }\n </span>\n }\n\n <hlm-date-picker\n [buttonId]=\"cid || id()\"\n [min]=\"min()\"\n [max]=\"max()\"\n [formControlName]=\"cnm\"\n [autoCloseOnSelect]=\"autoCloseOnSelect()\"\n [required]=\"rqrd\"\n [class]=\"$pickerClass()\"\n >\n <span>{{ placeholder() }}</span>\n </hlm-date-picker>\n\n @if (err) {\n <hlm-error [class]=\"$errorClass()\">\n {{ err }}\n </hlm-error>\n }\n\n @if (hnt) {\n <hlm-hint [class]=\"$hintClass()\">\n {{ hnt }}\n </hlm-hint>\n }\n </hlm-form-field>\n `,\n})\nexport class EgFormDatePicker {\n // Inputs\n label = input<string | undefined>(undefined);\n controlId = input<string | undefined>(undefined);\n controlName = input<string>('');\n error = input<string | undefined>(undefined);\n hint = input<string | undefined>(undefined);\n\n // HTML attributes\n id = input<string>(crypto.randomUUID());\n name = input<string | undefined>(undefined);\n placeholder = input<string>('Pick a date');\n readonly = input<boolean>(false);\n disabled = input<boolean>(false);\n required = input<boolean>(false);\n min = input<Date | string | null>(null);\n max = input<Date | string | null>(null);\n autoCloseOnSelect = input<boolean>(true);\n\n // Styling\n userClass = input<ClassValue>('', { alias: 'class' });\n labelClass = input<string>('');\n pickerClass = input<string>('');\n errorClass = input<string>('');\n hintClass = input<string>('');\n\n // Computed classes\n $userClass = computed(() => hlm('tw:flex tw:flex-col', this.userClass()));\n $labelClass = computed(() => hlm('tw:mb-1', this.labelClass()));\n $pickerClass = computed(() => hlm('tw:mb-1', this.pickerClass()));\n $errorClass = computed(() => hlm('tw:mt-0', this.errorClass()));\n $hintClass = computed(() => hlm('tw:mt-0', this.hintClass()));\n}\n","/*\n * Public API Surface of form-date-picker\n */\n\nexport * from './lib/form-date-picker';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":";;;;;;;;;AAQA,IAAI,MAAM,GAAG,CAAC;MAsDD,gBAAgB,CAAA;;AAE3B,IAAA,KAAK,GAAG,KAAK,CAAqB,SAAS,iDAAC;AAC5C,IAAA,SAAS,GAAG,KAAK,CAAqB,SAAS,qDAAC;AAChD,IAAA,WAAW,GAAG,KAAK,CAAS,EAAE,uDAAC;AAC/B,IAAA,KAAK,GAAG,KAAK,CAAqB,SAAS,iDAAC;AAC5C,IAAA,IAAI,GAAG,KAAK,CAAqB,SAAS,gDAAC;;IAG3C,EAAE,GAAG,KAAK,CAAS,MAAM,CAAC,UAAU,EAAE,8CAAC;AACvC,IAAA,IAAI,GAAG,KAAK,CAAqB,SAAS,gDAAC;AAC3C,IAAA,WAAW,GAAG,KAAK,CAAS,aAAa,uDAAC;AAC1C,IAAA,QAAQ,GAAG,KAAK,CAAU,KAAK,oDAAC;AAChC,IAAA,QAAQ,GAAG,KAAK,CAAU,KAAK,oDAAC;AAChC,IAAA,QAAQ,GAAG,KAAK,CAAU,KAAK,oDAAC;AAChC,IAAA,GAAG,GAAG,KAAK,CAAuB,IAAI,+CAAC;AACvC,IAAA,GAAG,GAAG,KAAK,CAAuB,IAAI,+CAAC;AACvC,IAAA,iBAAiB,GAAG,KAAK,CAAU,IAAI,6DAAC;;AAGxC,IAAA,SAAS,GAAG,KAAK,CAAa,EAAE,6CAAI,KAAK,EAAE,OAAO,EAAA,CAAA,GAAA,CAAhB,EAAE,KAAK,EAAE,OAAO,EAAE,GAAC;AACrD,IAAA,UAAU,GAAG,KAAK,CAAS,EAAE,sDAAC;AAC9B,IAAA,WAAW,GAAG,KAAK,CAAS,EAAE,uDAAC;AAC/B,IAAA,UAAU,GAAG,KAAK,CAAS,EAAE,sDAAC;AAC9B,IAAA,SAAS,GAAG,KAAK,CAAS,EAAE,qDAAC;;AAG7B,IAAA,UAAU,GAAG,QAAQ,CAAC,MAAM,GAAG,CAAC,qBAAqB,EAAE,IAAI,CAAC,SAAS,EAAE,CAAC,sDAAC;AACzE,IAAA,WAAW,GAAG,QAAQ,CAAC,MAAM,GAAG,CAAC,SAAS,EAAE,IAAI,CAAC,UAAU,EAAE,CAAC,uDAAC;AAC/D,IAAA,YAAY,GAAG,QAAQ,CAAC,MAAM,GAAG,CAAC,SAAS,EAAE,IAAI,CAAC,WAAW,EAAE,CAAC,wDAAC;AACjE,IAAA,WAAW,GAAG,QAAQ,CAAC,MAAM,GAAG,CAAC,SAAS,EAAE,IAAI,CAAC,UAAU,EAAE,CAAC,uDAAC;AAC/D,IAAA,UAAU,GAAG,QAAQ,CAAC,MAAM,GAAG,CAAC,SAAS,EAAE,IAAI,CAAC,SAAS,EAAE,CAAC,sDAAC;
|
|
1
|
+
{"version":3,"file":"form-date-picker.mjs","sources":["../../../projects/form-date-picker/src/lib/form-date-picker.ts","../../../projects/form-date-picker/src/public-api.ts","../../../projects/form-date-picker/src/form-date-picker.ts"],"sourcesContent":["import { Component, computed, input } from '@angular/core';\nimport { ControlContainer, FormGroupDirective, ReactiveFormsModule } from '@angular/forms';\nimport { HlmFormField, HlmError, HlmHint } from '@egose/shadcn-theme-ng/form-field';\nimport { HlmLabel } from '@egose/shadcn-theme-ng/label';\nimport { HlmDatePicker } from '@egose/shadcn-theme-ng/date-picker';\nimport { hlm } from '@egose/shadcn-theme-ng/utils';\nimport { ClassValue } from 'clsx';\n\nlet nextId = 0;\n\n@Component({\n selector: 'eg-form-date-picker',\n standalone: true,\n host: {\n class: 'tw:w-full',\n },\n imports: [ReactiveFormsModule, HlmFormField, HlmError, HlmHint, HlmLabel, HlmDatePicker],\n providers: [{ provide: ControlContainer, useExisting: FormGroupDirective }],\n template: `\n @let lbl = label();\n @let cid = controlId();\n @let cnm = controlName();\n @let err = error();\n @let hnt = hint();\n @let rqrd = required();\n\n <hlm-form-field>\n @if (lbl) {\n <span hlmLabel [class]=\"$labelClass()\"\n >{{ lbl }}\n @if (rqrd) {\n <span class=\"tw:text-red-500\">*</span>\n }\n </span>\n }\n\n <hlm-date-picker\n [buttonId]=\"cid || id()\"\n [min]=\"min()\"\n [max]=\"max()\"\n [formControlName]=\"cnm\"\n [autoCloseOnSelect]=\"autoCloseOnSelect()\"\n [required]=\"rqrd\"\n [class]=\"$pickerClass()\"\n >\n <span>{{ placeholder() }}</span>\n </hlm-date-picker>\n\n @if (err) {\n <hlm-error [class]=\"$errorClass()\">\n {{ err }}\n </hlm-error>\n }\n\n @if (hnt) {\n <hlm-hint [class]=\"$hintClass()\">\n {{ hnt }}\n </hlm-hint>\n }\n </hlm-form-field>\n `,\n})\nexport class EgFormDatePicker {\n // Inputs\n label = input<string | undefined>(undefined);\n controlId = input<string | undefined>(undefined);\n controlName = input<string>('');\n error = input<string | undefined>(undefined);\n hint = input<string | undefined>(undefined);\n\n // HTML attributes\n id = input<string>(crypto.randomUUID());\n name = input<string | undefined>(undefined);\n placeholder = input<string>('Pick a date');\n readonly = input<boolean>(false);\n disabled = input<boolean>(false);\n required = input<boolean>(false);\n min = input<Date | string | null>(null);\n max = input<Date | string | null>(null);\n autoCloseOnSelect = input<boolean>(true);\n\n // Styling\n userClass = input<ClassValue>('', { alias: 'class' });\n labelClass = input<string>('');\n pickerClass = input<string>('');\n errorClass = input<string>('');\n hintClass = input<string>('');\n\n // Computed classes\n $userClass = computed(() => hlm('tw:flex tw:flex-col', this.userClass()));\n $labelClass = computed(() => hlm('tw:mb-1', this.labelClass()));\n $pickerClass = computed(() => hlm('tw:mb-1', this.pickerClass()));\n $errorClass = computed(() => hlm('tw:mt-0', this.errorClass()));\n $hintClass = computed(() => hlm('tw:mt-0', this.hintClass()));\n}\n","/*\n * Public API Surface of form-date-picker\n */\n\nexport * from './lib/form-date-picker';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}
|
|
@@ -7,10 +7,10 @@ import { BrnFormFieldControl } from '@spartan-ng/brain/form-field';
|
|
|
7
7
|
class HlmError {
|
|
8
8
|
userClass = input('', ...(ngDevMode ? [{ debugName: "userClass", alias: 'class' }] : [{ alias: 'class' }]));
|
|
9
9
|
_computedClass = computed(() => hlm('tw:text-destructive tw:block tw:text-sm tw:font-medium', this.userClass()), ...(ngDevMode ? [{ debugName: "_computedClass" }] : []));
|
|
10
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.
|
|
11
|
-
static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "20.3.
|
|
10
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.15", ngImport: i0, type: HlmError, deps: [], target: i0.ɵɵFactoryTarget.Directive });
|
|
11
|
+
static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "20.3.15", type: HlmError, isStandalone: true, selector: "hlm-error", inputs: { userClass: { classPropertyName: "userClass", publicName: "class", isSignal: true, isRequired: false, transformFunction: null } }, host: { properties: { "class": "_computedClass()" } }, ngImport: i0 });
|
|
12
12
|
}
|
|
13
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.
|
|
13
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.15", ngImport: i0, type: HlmError, decorators: [{
|
|
14
14
|
type: Directive,
|
|
15
15
|
args: [{
|
|
16
16
|
selector: 'hlm-error',
|
|
@@ -18,7 +18,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.1", ngImpor
|
|
|
18
18
|
'[class]': '_computedClass()',
|
|
19
19
|
},
|
|
20
20
|
}]
|
|
21
|
-
}] });
|
|
21
|
+
}], propDecorators: { userClass: [{ type: i0.Input, args: [{ isSignal: true, alias: "class", required: false }] }] } });
|
|
22
22
|
|
|
23
23
|
class HlmFormField {
|
|
24
24
|
userClass = input('', ...(ngDevMode ? [{ debugName: "userClass", alias: 'class' }] : [{ alias: 'class' }]));
|
|
@@ -33,8 +33,8 @@ class HlmFormField {
|
|
|
33
33
|
}
|
|
34
34
|
});
|
|
35
35
|
}
|
|
36
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.
|
|
37
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.3.
|
|
36
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.15", ngImport: i0, type: HlmFormField, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
37
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.3.15", type: HlmFormField, isStandalone: true, selector: "hlm-form-field", inputs: { userClass: { classPropertyName: "userClass", publicName: "class", isSignal: true, isRequired: false, transformFunction: null } }, host: { properties: { "class": "_computedClass()" } }, providers: [{ provide: ControlContainer, useExisting: FormGroupDirective }], queries: [{ propertyName: "control", first: true, predicate: BrnFormFieldControl, descendants: true, isSignal: true }, { propertyName: "errorChildren", predicate: HlmError, isSignal: true }], ngImport: i0, template: `
|
|
38
38
|
<ng-content />
|
|
39
39
|
|
|
40
40
|
@switch (_hasDisplayedMessage()) {
|
|
@@ -47,7 +47,7 @@ class HlmFormField {
|
|
|
47
47
|
}
|
|
48
48
|
`, isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
49
49
|
}
|
|
50
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.
|
|
50
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.15", ngImport: i0, type: HlmFormField, decorators: [{
|
|
51
51
|
type: Component,
|
|
52
52
|
args: [{
|
|
53
53
|
selector: 'hlm-form-field',
|
|
@@ -69,15 +69,15 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.1", ngImpor
|
|
|
69
69
|
},
|
|
70
70
|
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
71
71
|
}]
|
|
72
|
-
}], ctorParameters: () => [] });
|
|
72
|
+
}], ctorParameters: () => [], propDecorators: { userClass: [{ type: i0.Input, args: [{ isSignal: true, alias: "class", required: false }] }], control: [{ type: i0.ContentChild, args: [i0.forwardRef(() => BrnFormFieldControl), { isSignal: true }] }], errorChildren: [{ type: i0.ContentChildren, args: [i0.forwardRef(() => HlmError), { isSignal: true }] }] } });
|
|
73
73
|
|
|
74
74
|
class HlmHint {
|
|
75
75
|
userClass = input('', ...(ngDevMode ? [{ debugName: "userClass", alias: 'class' }] : [{ alias: 'class' }]));
|
|
76
76
|
_computedClass = computed(() => hlm('tw:text-muted-foreground tw:block tw:text-sm', this.userClass()), ...(ngDevMode ? [{ debugName: "_computedClass" }] : []));
|
|
77
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.
|
|
78
|
-
static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "20.3.
|
|
77
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.15", ngImport: i0, type: HlmHint, deps: [], target: i0.ɵɵFactoryTarget.Directive });
|
|
78
|
+
static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "20.3.15", type: HlmHint, isStandalone: true, selector: "hlm-hint", inputs: { userClass: { classPropertyName: "userClass", publicName: "class", isSignal: true, isRequired: false, transformFunction: null } }, host: { properties: { "class": "_computedClass()" } }, ngImport: i0 });
|
|
79
79
|
}
|
|
80
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.
|
|
80
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.15", ngImport: i0, type: HlmHint, decorators: [{
|
|
81
81
|
type: Directive,
|
|
82
82
|
args: [{
|
|
83
83
|
selector: 'hlm-hint',
|
|
@@ -85,18 +85,18 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.1", ngImpor
|
|
|
85
85
|
'[class]': '_computedClass()',
|
|
86
86
|
},
|
|
87
87
|
}]
|
|
88
|
-
}] });
|
|
88
|
+
}], propDecorators: { userClass: [{ type: i0.Input, args: [{ isSignal: true, alias: "class", required: false }] }] } });
|
|
89
89
|
|
|
90
90
|
/*
|
|
91
91
|
* Public API Surface of form-field
|
|
92
92
|
*/
|
|
93
93
|
const HlmFormFieldImports = [HlmFormField, HlmError, HlmHint];
|
|
94
94
|
class HlmFormFieldModule {
|
|
95
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.
|
|
96
|
-
static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "20.3.
|
|
97
|
-
static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "20.3.
|
|
95
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.15", ngImport: i0, type: HlmFormFieldModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
96
|
+
static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "20.3.15", ngImport: i0, type: HlmFormFieldModule, imports: [HlmFormField, HlmError, HlmHint], exports: [HlmFormField, HlmError, HlmHint] });
|
|
97
|
+
static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "20.3.15", ngImport: i0, type: HlmFormFieldModule });
|
|
98
98
|
}
|
|
99
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.
|
|
99
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.15", ngImport: i0, type: HlmFormFieldModule, decorators: [{
|
|
100
100
|
type: NgModule,
|
|
101
101
|
args: [{
|
|
102
102
|
imports: [...HlmFormFieldImports],
|