@spartan-ng/brain 0.0.1-alpha.501 → 0.0.1-alpha.503
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/button/README.md +3 -0
- package/button/index.d.ts +8 -0
- package/button/lib/brn-button.d.ts +14 -0
- package/calendar/index.d.ts +5 -2
- package/calendar/lib/brn-calendar-cell-button.d.ts +3 -0
- package/calendar/lib/brn-calendar.d.ts +21 -0
- package/calendar/lib/brn-calendar.token.d.ts +3 -0
- package/calendar/lib/mode/brn-calendar-multiple.d.ts +21 -0
- package/calendar/lib/mode/brn-calendar-range.d.ts +84 -0
- package/date-time/index.d.ts +1 -0
- package/date-time/lib/date-adapter.d.ts +8 -0
- package/date-time/lib/utc-date-adapter.d.ts +28 -0
- package/fesm2022/spartan-ng-brain-button.mjs +59 -0
- package/fesm2022/spartan-ng-brain-button.mjs.map +1 -0
- package/fesm2022/spartan-ng-brain-calendar.mjs +286 -5
- package/fesm2022/spartan-ng-brain-calendar.mjs.map +1 -1
- package/fesm2022/spartan-ng-brain-date-time.mjs +95 -1
- package/fesm2022/spartan-ng-brain-date-time.mjs.map +1 -1
- package/fesm2022/spartan-ng-brain-switch.mjs +2 -2
- package/fesm2022/spartan-ng-brain-switch.mjs.map +1 -1
- package/package.json +5 -1
- package/switch/lib/brn-switch.d.ts +1 -1
|
@@ -24,6 +24,9 @@ class BrnCalendarCellButton {
|
|
|
24
24
|
date = input.required();
|
|
25
25
|
/** Whether this date is currently selected */
|
|
26
26
|
selected = computed(() => this._calendar.isSelected(this.date()));
|
|
27
|
+
start = computed(() => this._calendar.isStartOfRange(this.date()));
|
|
28
|
+
end = computed(() => this._calendar.isEndOfRange(this.date()));
|
|
29
|
+
betweenRange = computed(() => this._calendar.isBetweenRange(this.date()));
|
|
27
30
|
/** Whether this date is focusable */
|
|
28
31
|
focusable = computed(() => this._dateAdapter.isSameDay(this._calendar.focusedDate(), this.date()));
|
|
29
32
|
outside = computed(() => {
|
|
@@ -135,7 +138,7 @@ class BrnCalendarCellButton {
|
|
|
135
138
|
this._elementRef.nativeElement.focus();
|
|
136
139
|
}
|
|
137
140
|
/** @nocollapse */ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.8", ngImport: i0, type: BrnCalendarCellButton, deps: [], target: i0.ɵɵFactoryTarget.Directive });
|
|
138
|
-
/** @nocollapse */ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "19.2.8", type: BrnCalendarCellButton, isStandalone: true, selector: "button[brnCalendarCellButton]", inputs: { date: { classPropertyName: "date", publicName: "date", isSignal: true, isRequired: true, transformFunction: null } }, host: { attributes: { "role": "gridcell", "type": "button" }, listeners: { "click": "_calendar.selectDate(date())", "keydown.arrowLeft": "focusPrevious($event)", "keydown.arrowRight": "focusNext($event)", "keydown.arrowUp": "focusAbove($event)", "keydown.arrowDown": "focusBelow($event)", "keydown.home": "focusFirst($event)", "keydown.end": "focusLast($event)", "keydown.pageUp": "focusPreviousMonth($event)", "keydown.pageDown": "focusNextMonth($event)" }, properties: { "tabindex": "focusable() ? 0 : -1", "attr.data-outside": "outside() ? '' : null", "attr.data-today": "today() && !selected() ? '' : null", "attr.data-selected": "selected() ? '' : null", "attr.data-disabled": "disabled() ? '' : null", "attr.aria-selected": "selected() ? 'true' : null", "attr.aria-disabled": "disabled() ? 'true' : null", "disabled": "disabled()" } }, ngImport: i0 });
|
|
141
|
+
/** @nocollapse */ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "19.2.8", type: BrnCalendarCellButton, isStandalone: true, selector: "button[brnCalendarCellButton]", inputs: { date: { classPropertyName: "date", publicName: "date", isSignal: true, isRequired: true, transformFunction: null } }, host: { attributes: { "role": "gridcell", "type": "button" }, listeners: { "click": "_calendar.selectDate(date())", "keydown.arrowLeft": "focusPrevious($event)", "keydown.arrowRight": "focusNext($event)", "keydown.arrowUp": "focusAbove($event)", "keydown.arrowDown": "focusBelow($event)", "keydown.home": "focusFirst($event)", "keydown.end": "focusLast($event)", "keydown.pageUp": "focusPreviousMonth($event)", "keydown.pageDown": "focusNextMonth($event)" }, properties: { "tabindex": "focusable() ? 0 : -1", "attr.data-outside": "outside() && (!end() && !start())? '' : null", "attr.data-today": "today() && !selected() ? '' : null", "attr.data-selected": "selected() ? '' : null", "attr.data-disabled": "disabled() ? '' : null", "attr.aria-selected": "selected() ? 'true' : null", "attr.aria-disabled": "disabled() ? 'true' : null", "attr.data-range-start": "start() ? \"\" : null", "attr.data-range-end": "end() ? \"\" : null", "attr.data-range-between": "betweenRange() ? \"\" : null", "disabled": "disabled()" } }, ngImport: i0 });
|
|
139
142
|
}
|
|
140
143
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.8", ngImport: i0, type: BrnCalendarCellButton, decorators: [{
|
|
141
144
|
type: Directive,
|
|
@@ -145,12 +148,15 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.8", ngImpor
|
|
|
145
148
|
role: 'gridcell',
|
|
146
149
|
'[tabindex]': 'focusable() ? 0 : -1',
|
|
147
150
|
type: 'button',
|
|
148
|
-
'[attr.data-outside]': "outside() ? '' : null",
|
|
151
|
+
'[attr.data-outside]': "outside() && (!end() && !start())? '' : null",
|
|
149
152
|
'[attr.data-today]': "today() && !selected() ? '' : null",
|
|
150
153
|
'[attr.data-selected]': "selected() ? '' : null",
|
|
151
154
|
'[attr.data-disabled]': "disabled() ? '' : null",
|
|
152
155
|
'[attr.aria-selected]': "selected() ? 'true' : null",
|
|
153
156
|
'[attr.aria-disabled]': "disabled() ? 'true' : null",
|
|
157
|
+
'[attr.data-range-start]': 'start() ? "" : null',
|
|
158
|
+
'[attr.data-range-end]': 'end() ? "" : null',
|
|
159
|
+
'[attr.data-range-between]': 'betweenRange() ? "" : null',
|
|
154
160
|
'[disabled]': 'disabled()',
|
|
155
161
|
'(click)': '_calendar.selectDate(date())',
|
|
156
162
|
'(keydown.arrowLeft)': 'focusPrevious($event)',
|
|
@@ -329,6 +335,33 @@ class BrnCalendar {
|
|
|
329
335
|
// we must update the view to ensure the focused cell is visible.
|
|
330
336
|
this._changeDetector.detectChanges();
|
|
331
337
|
}
|
|
338
|
+
/**
|
|
339
|
+
* Determine if a date is the start of a range. In a date picker, this is always false.
|
|
340
|
+
* @param date The date to check.
|
|
341
|
+
* @returns Always false.
|
|
342
|
+
* @internal
|
|
343
|
+
*/
|
|
344
|
+
isStartOfRange(_) {
|
|
345
|
+
return false;
|
|
346
|
+
}
|
|
347
|
+
/**
|
|
348
|
+
* Determine if a date is the end of a range. In a date picker, this is always false.
|
|
349
|
+
* @param date The date to check.
|
|
350
|
+
* @returns Always false.
|
|
351
|
+
* @internal
|
|
352
|
+
*/
|
|
353
|
+
isEndOfRange(_) {
|
|
354
|
+
return false;
|
|
355
|
+
}
|
|
356
|
+
/**
|
|
357
|
+
* Determine if a date is between the start and end dates. In a date picker, this is always false.
|
|
358
|
+
* @param date The date to check.
|
|
359
|
+
* @returns True if the date is between the start and end dates, false otherwise.
|
|
360
|
+
* @internal
|
|
361
|
+
*/
|
|
362
|
+
isBetweenRange(_) {
|
|
363
|
+
return false;
|
|
364
|
+
}
|
|
332
365
|
/** @nocollapse */ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.8", ngImport: i0, type: BrnCalendar, deps: [], target: i0.ɵɵFactoryTarget.Directive });
|
|
333
366
|
/** @nocollapse */ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.2.0", version: "19.2.8", type: BrnCalendar, isStandalone: true, selector: "[brnCalendar]", inputs: { 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 }, dateDisabled: { classPropertyName: "dateDisabled", publicName: "dateDisabled", isSignal: true, isRequired: false, transformFunction: null }, weekStartsOn: { classPropertyName: "weekStartsOn", publicName: "weekStartsOn", isSignal: true, isRequired: false, transformFunction: null }, defaultFocusedDate: { classPropertyName: "defaultFocusedDate", publicName: "defaultFocusedDate", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { date: "dateChange" }, providers: [provideBrnCalendar(BrnCalendar)], queries: [{ propertyName: "header", first: true, predicate: BrnCalendarHeader, descendants: true, isSignal: true }, { propertyName: "_cells", predicate: BrnCalendarCellButton, descendants: true, isSignal: true }], ngImport: i0 });
|
|
334
367
|
}
|
|
@@ -599,6 +632,33 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.8", ngImpor
|
|
|
599
632
|
}], ctorParameters: () => [] });
|
|
600
633
|
|
|
601
634
|
class BrnCalendarMulti {
|
|
635
|
+
/**
|
|
636
|
+
* Determine if a date is the start of a range. In a date picker, this is always false.
|
|
637
|
+
* @param date The date to check.
|
|
638
|
+
* @returns Always false.
|
|
639
|
+
* @internal
|
|
640
|
+
*/
|
|
641
|
+
isStartOfRange(_) {
|
|
642
|
+
return false;
|
|
643
|
+
}
|
|
644
|
+
/**
|
|
645
|
+
* Determine if a date is the end of a range. In a date picker, this is always false.
|
|
646
|
+
* @param date The date to check.
|
|
647
|
+
* @returns Always false.
|
|
648
|
+
* @internal
|
|
649
|
+
*/
|
|
650
|
+
isEndOfRange(_) {
|
|
651
|
+
return false;
|
|
652
|
+
}
|
|
653
|
+
/**
|
|
654
|
+
* Determine if a date is between the start and end dates. In a date picker, this is always false.
|
|
655
|
+
* @param date The date to check.
|
|
656
|
+
* @returns True if the date is between the start and end dates, false otherwise.
|
|
657
|
+
* @internal
|
|
658
|
+
*/
|
|
659
|
+
isBetweenRange(_) {
|
|
660
|
+
return false;
|
|
661
|
+
}
|
|
602
662
|
// /** Access the date adapter */
|
|
603
663
|
_dateAdapter = injectDateAdapter();
|
|
604
664
|
/** Access the change detector */
|
|
@@ -775,6 +835,224 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.8", ngImpor
|
|
|
775
835
|
}]
|
|
776
836
|
}] });
|
|
777
837
|
|
|
838
|
+
class BrnCalendarRange {
|
|
839
|
+
// /** Access the date adapter */
|
|
840
|
+
_dateAdapter = injectDateAdapter();
|
|
841
|
+
/** Access the change detector */
|
|
842
|
+
_changeDetector = inject(ChangeDetectorRef);
|
|
843
|
+
/** Access the injector */
|
|
844
|
+
_injector = inject(Injector);
|
|
845
|
+
/** The minimum date that can be selected.*/
|
|
846
|
+
min = input();
|
|
847
|
+
/** The maximum date that can be selected. */
|
|
848
|
+
max = input();
|
|
849
|
+
/** Determine if the date picker is disabled. */
|
|
850
|
+
disabled = input(false, {
|
|
851
|
+
transform: booleanAttribute,
|
|
852
|
+
});
|
|
853
|
+
/** Whether a specific date is disabled. */
|
|
854
|
+
dateDisabled = input(() => false);
|
|
855
|
+
/** The day the week starts on */
|
|
856
|
+
weekStartsOn = input(0, {
|
|
857
|
+
transform: (v) => numberAttribute(v),
|
|
858
|
+
});
|
|
859
|
+
/** The default focused date. */
|
|
860
|
+
defaultFocusedDate = input();
|
|
861
|
+
/** @internal Access the header */
|
|
862
|
+
header = contentChild(BrnCalendarHeader);
|
|
863
|
+
/** Store the cells */
|
|
864
|
+
_cells = contentChildren(BrnCalendarCellButton, {
|
|
865
|
+
descendants: true,
|
|
866
|
+
});
|
|
867
|
+
/**
|
|
868
|
+
* @internal
|
|
869
|
+
* The internal state of the component.
|
|
870
|
+
*/
|
|
871
|
+
state = computed(() => ({
|
|
872
|
+
focusedDate: signal(this.constrainDate(this.defaultFocusedDate() ?? this.startDate() ?? this._dateAdapter.now())),
|
|
873
|
+
}));
|
|
874
|
+
/**
|
|
875
|
+
* The focused date.
|
|
876
|
+
*/
|
|
877
|
+
focusedDate = computed(() => this.state().focusedDate());
|
|
878
|
+
/**
|
|
879
|
+
* The selected start date
|
|
880
|
+
*/
|
|
881
|
+
startDate = model();
|
|
882
|
+
/**
|
|
883
|
+
* The selected end date
|
|
884
|
+
*/
|
|
885
|
+
endDate = model();
|
|
886
|
+
/**
|
|
887
|
+
* Get all the days to display, this is the days of the current month
|
|
888
|
+
* and the days of the previous and next month to fill the grid.
|
|
889
|
+
*/
|
|
890
|
+
days = computed(() => {
|
|
891
|
+
const weekStartsOn = this.weekStartsOn();
|
|
892
|
+
const month = this.state().focusedDate();
|
|
893
|
+
const days = [];
|
|
894
|
+
// Get the first and last day of the month.
|
|
895
|
+
let firstDay = this._dateAdapter.startOfMonth(month);
|
|
896
|
+
let lastDay = this._dateAdapter.endOfMonth(month);
|
|
897
|
+
// we need to subtract until we get the to starting day before or on the start of the month.
|
|
898
|
+
while (this._dateAdapter.getDay(firstDay) !== weekStartsOn) {
|
|
899
|
+
firstDay = this._dateAdapter.subtract(firstDay, { days: 1 });
|
|
900
|
+
}
|
|
901
|
+
const weekEndsOn = (weekStartsOn + 6) % 7;
|
|
902
|
+
// we need to add until we get to the ending day after or on the end of the month.
|
|
903
|
+
while (this._dateAdapter.getDay(lastDay) !== weekEndsOn) {
|
|
904
|
+
lastDay = this._dateAdapter.add(lastDay, { days: 1 });
|
|
905
|
+
}
|
|
906
|
+
// collect all the days to display.
|
|
907
|
+
while (firstDay <= lastDay) {
|
|
908
|
+
days.push(firstDay);
|
|
909
|
+
firstDay = this._dateAdapter.add(firstDay, { days: 1 });
|
|
910
|
+
}
|
|
911
|
+
return days;
|
|
912
|
+
});
|
|
913
|
+
isSelected(date) {
|
|
914
|
+
const start = this.startDate();
|
|
915
|
+
const end = this.endDate();
|
|
916
|
+
if (!start && !end) {
|
|
917
|
+
return false;
|
|
918
|
+
}
|
|
919
|
+
const isStartSelected = start ? this._dateAdapter.isSameDay(date, start) : false;
|
|
920
|
+
const isEndSelected = end ? this._dateAdapter.isSameDay(date, end) : false;
|
|
921
|
+
return isStartSelected || isEndSelected;
|
|
922
|
+
}
|
|
923
|
+
selectDate(date) {
|
|
924
|
+
const start = this.startDate();
|
|
925
|
+
const end = this.endDate();
|
|
926
|
+
if (!start && !end) {
|
|
927
|
+
this.startDate.set(date);
|
|
928
|
+
return;
|
|
929
|
+
}
|
|
930
|
+
if (start && !end) {
|
|
931
|
+
if (this._dateAdapter.isAfter(date, start)) {
|
|
932
|
+
this.endDate.set(date);
|
|
933
|
+
}
|
|
934
|
+
else if (this._dateAdapter.isBefore(date, start)) {
|
|
935
|
+
this.startDate.set(date);
|
|
936
|
+
this.endDate.set(start);
|
|
937
|
+
}
|
|
938
|
+
else if (this._dateAdapter.isSameDay(date, start)) {
|
|
939
|
+
this.endDate.set(date);
|
|
940
|
+
}
|
|
941
|
+
return;
|
|
942
|
+
}
|
|
943
|
+
// If both start and end are selected, reset selection
|
|
944
|
+
this.startDate.set(date);
|
|
945
|
+
this.endDate.set(undefined);
|
|
946
|
+
}
|
|
947
|
+
// same as in brn-calendar.directive.ts
|
|
948
|
+
/** @internal Constrain a date to the min and max boundaries */
|
|
949
|
+
constrainDate(date) {
|
|
950
|
+
const min = this.min();
|
|
951
|
+
const max = this.max();
|
|
952
|
+
// If there is no min or max, return the date.
|
|
953
|
+
if (!min && !max) {
|
|
954
|
+
return date;
|
|
955
|
+
}
|
|
956
|
+
// If there is a min and the date is before the min, return the min.
|
|
957
|
+
if (min && this._dateAdapter.isBefore(date, this._dateAdapter.startOfDay(min))) {
|
|
958
|
+
return min;
|
|
959
|
+
}
|
|
960
|
+
// If there is a max and the date is after the max, return the max.
|
|
961
|
+
if (max && this._dateAdapter.isAfter(date, this._dateAdapter.endOfDay(max))) {
|
|
962
|
+
return max;
|
|
963
|
+
}
|
|
964
|
+
// Return the date.
|
|
965
|
+
return date;
|
|
966
|
+
}
|
|
967
|
+
/** @internal Determine if a date is disabled */
|
|
968
|
+
isDateDisabled(date) {
|
|
969
|
+
// if the calendar is disabled we can't select this date
|
|
970
|
+
if (this.disabled()) {
|
|
971
|
+
return true;
|
|
972
|
+
}
|
|
973
|
+
// if the date is outside the min and max range
|
|
974
|
+
const min = this.min();
|
|
975
|
+
const max = this.max();
|
|
976
|
+
if (min && this._dateAdapter.isBefore(date, this._dateAdapter.startOfDay(min))) {
|
|
977
|
+
return true;
|
|
978
|
+
}
|
|
979
|
+
if (max && this._dateAdapter.isAfter(date, this._dateAdapter.endOfDay(max))) {
|
|
980
|
+
return true;
|
|
981
|
+
}
|
|
982
|
+
// if this specific date is disabled
|
|
983
|
+
const disabledFn = this.dateDisabled();
|
|
984
|
+
if (disabledFn(date)) {
|
|
985
|
+
return true;
|
|
986
|
+
}
|
|
987
|
+
return false;
|
|
988
|
+
}
|
|
989
|
+
/** @internal Set the focused date */
|
|
990
|
+
setFocusedDate(date) {
|
|
991
|
+
// check if the date is disabled.
|
|
992
|
+
if (this.isDateDisabled(date)) {
|
|
993
|
+
return;
|
|
994
|
+
}
|
|
995
|
+
this.state().focusedDate.set(date);
|
|
996
|
+
// wait until the cells have all updated
|
|
997
|
+
afterNextRender({
|
|
998
|
+
write: () => {
|
|
999
|
+
// focus the cell with the target date.
|
|
1000
|
+
const cell = this._cells().find((c) => this._dateAdapter.isSameDay(c.date(), date));
|
|
1001
|
+
if (cell) {
|
|
1002
|
+
cell.focus();
|
|
1003
|
+
}
|
|
1004
|
+
},
|
|
1005
|
+
}, {
|
|
1006
|
+
injector: this._injector,
|
|
1007
|
+
});
|
|
1008
|
+
// we must update the view to ensure the focused cell is visible.
|
|
1009
|
+
this._changeDetector.detectChanges();
|
|
1010
|
+
}
|
|
1011
|
+
/**
|
|
1012
|
+
* Determine if a date is the start of a range.
|
|
1013
|
+
* @param date The date to check.
|
|
1014
|
+
* @returns Always false.
|
|
1015
|
+
* @internal
|
|
1016
|
+
*/
|
|
1017
|
+
isStartOfRange(date) {
|
|
1018
|
+
const start = this.startDate();
|
|
1019
|
+
return start ? this._dateAdapter.isSameDay(date, start) : false;
|
|
1020
|
+
}
|
|
1021
|
+
/**
|
|
1022
|
+
* Determine if a date is the end of a range.
|
|
1023
|
+
* @param date The date to check.
|
|
1024
|
+
* @returns Always false.
|
|
1025
|
+
* @internal
|
|
1026
|
+
*/
|
|
1027
|
+
isEndOfRange(date) {
|
|
1028
|
+
const end = this.endDate();
|
|
1029
|
+
return end ? this._dateAdapter.isSameDay(date, end) : false;
|
|
1030
|
+
}
|
|
1031
|
+
/**
|
|
1032
|
+
* Determine if a date is between the start and end dates.
|
|
1033
|
+
* @param date The date to check.
|
|
1034
|
+
* @returns True if the date is between the start and end dates, false otherwise.
|
|
1035
|
+
* @internal
|
|
1036
|
+
*/
|
|
1037
|
+
isBetweenRange(date) {
|
|
1038
|
+
const start = this.startDate();
|
|
1039
|
+
const end = this.endDate();
|
|
1040
|
+
if (!start || !end) {
|
|
1041
|
+
return false;
|
|
1042
|
+
}
|
|
1043
|
+
return this._dateAdapter.isAfter(date, start) && this._dateAdapter.isBefore(date, end);
|
|
1044
|
+
}
|
|
1045
|
+
/** @nocollapse */ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.8", ngImport: i0, type: BrnCalendarRange, deps: [], target: i0.ɵɵFactoryTarget.Directive });
|
|
1046
|
+
/** @nocollapse */ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.2.0", version: "19.2.8", type: BrnCalendarRange, isStandalone: true, selector: "[brnCalendarRange]", inputs: { 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 }, dateDisabled: { classPropertyName: "dateDisabled", publicName: "dateDisabled", isSignal: true, isRequired: false, transformFunction: null }, weekStartsOn: { classPropertyName: "weekStartsOn", publicName: "weekStartsOn", isSignal: true, isRequired: false, transformFunction: null }, defaultFocusedDate: { classPropertyName: "defaultFocusedDate", publicName: "defaultFocusedDate", isSignal: true, isRequired: false, transformFunction: null }, startDate: { classPropertyName: "startDate", publicName: "startDate", isSignal: true, isRequired: false, transformFunction: null }, endDate: { classPropertyName: "endDate", publicName: "endDate", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { startDate: "startDateChange", endDate: "endDateChange" }, providers: [provideBrnCalendar(BrnCalendarRange)], queries: [{ propertyName: "header", first: true, predicate: BrnCalendarHeader, descendants: true, isSignal: true }, { propertyName: "_cells", predicate: BrnCalendarCellButton, descendants: true, isSignal: true }], ngImport: i0 });
|
|
1047
|
+
}
|
|
1048
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.8", ngImport: i0, type: BrnCalendarRange, decorators: [{
|
|
1049
|
+
type: Directive,
|
|
1050
|
+
args: [{
|
|
1051
|
+
selector: '[brnCalendarRange]',
|
|
1052
|
+
providers: [provideBrnCalendar(BrnCalendarRange)],
|
|
1053
|
+
}]
|
|
1054
|
+
}] });
|
|
1055
|
+
|
|
778
1056
|
const BrnCalendarImports = [
|
|
779
1057
|
BrnCalendarCellButton,
|
|
780
1058
|
BrnCalendarGrid,
|
|
@@ -786,6 +1064,7 @@ const BrnCalendarImports = [
|
|
|
786
1064
|
BrnCalendar,
|
|
787
1065
|
BrnCalendarCell,
|
|
788
1066
|
BrnCalendarMulti,
|
|
1067
|
+
BrnCalendarRange,
|
|
789
1068
|
];
|
|
790
1069
|
class BrnCalendarModule {
|
|
791
1070
|
/** @nocollapse */ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.8", ngImport: i0, type: BrnCalendarModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
@@ -798,7 +1077,8 @@ class BrnCalendarModule {
|
|
|
798
1077
|
BrnCalendarWeekday,
|
|
799
1078
|
BrnCalendar,
|
|
800
1079
|
BrnCalendarCell,
|
|
801
|
-
BrnCalendarMulti
|
|
1080
|
+
BrnCalendarMulti,
|
|
1081
|
+
BrnCalendarRange], exports: [BrnCalendarCellButton,
|
|
802
1082
|
BrnCalendarGrid,
|
|
803
1083
|
BrnCalendarHeader,
|
|
804
1084
|
BrnCalendarNextButton,
|
|
@@ -807,7 +1087,8 @@ class BrnCalendarModule {
|
|
|
807
1087
|
BrnCalendarWeekday,
|
|
808
1088
|
BrnCalendar,
|
|
809
1089
|
BrnCalendarCell,
|
|
810
|
-
BrnCalendarMulti
|
|
1090
|
+
BrnCalendarMulti,
|
|
1091
|
+
BrnCalendarRange] });
|
|
811
1092
|
/** @nocollapse */ static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "19.2.8", ngImport: i0, type: BrnCalendarModule });
|
|
812
1093
|
}
|
|
813
1094
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.8", ngImport: i0, type: BrnCalendarModule, decorators: [{
|
|
@@ -822,5 +1103,5 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.8", ngImpor
|
|
|
822
1103
|
* Generated bundle index. Do not edit.
|
|
823
1104
|
*/
|
|
824
1105
|
|
|
825
|
-
export { BrnCalendar, BrnCalendarCell, BrnCalendarCellButton, BrnCalendarGrid, BrnCalendarHeader, BrnCalendarI18nToken, BrnCalendarImports, BrnCalendarModule, BrnCalendarMulti, BrnCalendarNextButton, BrnCalendarPreviousButton, BrnCalendarToken, BrnCalendarWeek, BrnCalendarWeekday, injectBrnCalendar, injectBrnCalendarI18n, provideBrnCalendar, provideBrnCalendarI18n };
|
|
1106
|
+
export { BrnCalendar, BrnCalendarCell, BrnCalendarCellButton, BrnCalendarGrid, BrnCalendarHeader, BrnCalendarI18nToken, BrnCalendarImports, BrnCalendarModule, BrnCalendarMulti, BrnCalendarNextButton, BrnCalendarPreviousButton, BrnCalendarRange, BrnCalendarToken, BrnCalendarWeek, BrnCalendarWeekday, injectBrnCalendar, injectBrnCalendarI18n, provideBrnCalendar, provideBrnCalendarI18n };
|
|
826
1107
|
//# sourceMappingURL=spartan-ng-brain-calendar.mjs.map
|